:root{--ink:#292723;--muted:#817d75;--cream:#f7f5f0;--paper:#fffefa;--sage:#dfe4d8;--rose:#ead6cd;--line:#dedbd3;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.gate{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.gate-photo{position:relative;min-height:100vh;background:#80776b url('https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=1800&q=90') center 48%/cover}.photo-tint{position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,27,24,.52),transparent 60%),linear-gradient(90deg,rgba(32,31,29,.1),transparent)}.photo-caption{position:absolute;bottom:11%;left:11%;color:white}.photo-caption>span,.photo-caption small,.photo-credit{font-size:9px;letter-spacing:.2em}.photo-caption p{font:500 clamp(46px,7vw,90px)/.98 var(--serif);margin:20px 0 24px}.photo-caption em{font-weight:500}.photo-credit{position:absolute;bottom:30px;left:11%;color:#fff;opacity:.8}.gate-panel{display:flex;align-items:center;justify-content:center;padding:60px 7vw}.gate-inner{width:min(400px,100%)}.monogram,.footer-mark{font:500 23px var(--serif);letter-spacing:.07em}.monogram i,.footer-mark i{font-size:14px;color:#a77e6c}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:700;color:#81756a;margin:34px 0 17px}.gate h1,.hero h1{font:500 clamp(52px,5vw,70px)/.98 var(--serif);letter-spacing:-.04em;margin:0}.gate h1 em,.hero h1 em,.section-head h2 em,.welcome h2 em{font-weight:500}.gate-copy{color:var(--muted);line-height:1.8;margin:24px 0 36px;font-size:14px}.gate form label{display:block;font-size:9px;letter-spacing:.16em;font-weight:700;margin:0 0 12px}.gate input{width:100%;border:0;border-bottom:1px solid #c9c4ba;background:transparent;padding:14px 2px;outline:none;border-radius:0;color:var(--ink);margin-bottom:22px}.gate input:focus{border-color:#65574c}.button{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 19px;font-size:11px;letter-spacing:.04em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{width:100%;background:var(--ink);color:#fff}.button-dark:hover{background:#53483e}.button span{font-size:16px}.text-button{display:block;border:0;background:none;padding:15px 0;color:var(--muted);font-size:11px}.gate-message{font-size:12px;line-height:1.6;color:#6d7862;min-height:36px;margin-top:16px}.gate-foot{margin-top:55px;border-top:1px solid var(--line);padding-top:18px;font-size:8px;letter-spacing:.17em;color:#8f897e}.gate-foot span{color:#9a806e;font-size:13px;margin-right:8px}.topbar{height:82px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid rgba(50,46,39,.07)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}.brand-mark{font:500 21px var(--serif)}.brand-mark span{font-size:12px;color:#a77e6c}.brand-label{font-size:8px;letter-spacing:.14em;line-height:1.7}.brand-label small{font-size:7px;color:var(--muted)}.nav-links{display:flex;gap:36px}.nav-links a{font-size:11px;text-decoration:none;color:#5f5a52}.nav-links a:hover{color:#a77e6c}.upload-button{background:none;border:1px solid var(--line);padding:11px 15px;font-size:15px}.upload-button span{font-size:10px;margin-left:6px}.hero{min-height:590px;background:#dce0d7;display:grid;grid-template-columns:44% 56%;position:relative;overflow:hidden;padding:74px 7vw 77px}.hero-copy{align-self:center;z-index:2;max-width:460px}.hero-copy .eyebrow{margin:0 0 24px}.hero h1{font-size:clamp(44px,5vw,69px)}.hero h1 em{font-size:.73em;letter-spacing:-.025em}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#625f57;max-width:350px;margin:24px 0 28px}.button-light{background:#fffefa;color:var(--ink);min-width:220px}.hero-images{position:relative;min-height:430px}.hero-main{position:absolute;width:67%;height:90%;object-fit:cover;right:7%;top:0;box-shadow:0 20px 50px #3c413424}.hero-small{position:absolute;width:36%;height:43%;object-fit:cover;left:0;bottom:2%;border:9px solid #dce0d7}.hero-note{position:absolute;right:0;bottom:4%;font:italic 12px/1.6 var(--serif);letter-spacing:.08em;color:#726b5d}.hero-note span{font-size:18px}.hero-index{position:absolute;bottom:27px;left:7vw;font-size:8px;letter-spacing:.17em;color:#74736a}.welcome{text-align:center;padding:105px 20px 110px;background:var(--paper)}.welcome-flower{font-size:19px;color:#a27f6a;margin-bottom:3px}.welcome .eyebrow{margin:13px 0 19px}.welcome h2,.section-head h2{font:500 clamp(37px,4.4vw,54px)/1.14 var(--serif);letter-spacing:-.035em;margin:0}.welcome>p:not(.eyebrow){max-width:470px;margin:22px auto;color:var(--muted);font-size:13px;line-height:1.9}.signature{display:inline-block;margin-top:17px;font:italic 19px var(--serif);color:#8b6f5e}.photos-section{padding:94px 7vw 100px;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head .eyebrow{margin:0 0 17px}.photo-count{font-size:8px;letter-spacing:.16em;color:var(--muted);padding-bottom:9px}.filter-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:38px}.filter-tabs{display:flex;gap:25px;overflow-x:auto}.filter{white-space:nowrap;border:0;border-bottom:1px solid transparent;background:transparent;padding:0 0 15px;color:#878178;font-size:10px}.filter span{font-size:8px;color:#a49d92;margin-left:4px}.filter.active{color:var(--ink);border-color:#797062}.sort-control{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.13em;color:var(--muted);padding-bottom:12px}.sort-control button{border:0;background:transparent;color:var(--ink);font-size:17px}.people-row{display:flex;align-items:center;gap:20px;padding:19px 0 27px;overflow-x:auto}.people-label{font-size:8px;letter-spacing:.14em;color:#877f74;white-space:nowrap;margin-right:3px}.person{border:0;background:none;display:flex;align-items:center;gap:8px;font-size:10px;color:#79746b;white-space:nowrap;padding:0}.person.active{color:var(--ink)}.avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e6ded4;color:#85796c}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-all{background:#dedfd4}.avatar-family{background:#eadbd3}.people-hint{margin-left:auto;font-size:9px;color:#a29b91;white-space:nowrap}.photo-grid{columns:4 210px;column-gap:14px}.photo-card{display:inline-block;width:100%;margin:0 0 14px;position:relative;break-inside:avoid;cursor:pointer;overflow:hidden;background:#e8e3dc}.photo-card img{display:block;width:100%;height:auto;transition:transform .5s;min-height:150px;object-fit:cover}.photo-card:hover img{transform:scale(1.025)}.photo-overlay{position:absolute;inset:auto 0 0;padding:34px 13px 13px;background:linear-gradient(transparent,rgba(24,22,20,.58));color:white;opacity:0;transition:opacity .25s;display:flex;justify-content:space-between;align-items:end}.photo-card:hover .photo-overlay{opacity:1}.photo-overlay span{font-size:9px;letter-spacing:.08em}.photo-overlay button{border:1px solid #ffffffa8;color:white;background:#ffffff22;width:30px;height:30px;border-radius:50%;font-size:15px}.photo-card .tag-pill{position:absolute;top:12px;left:12px;background:#f7f5f0de;padding:7px 9px;font-size:8px;letter-spacing:.09em}.photo-grid.compact{columns:6 155px;column-gap:9px}.photo-grid.compact .photo-card{margin-bottom:9px}.load-more{display:block;margin:30px auto 0;background:none;border:0;color:#877d72;font:italic 14px var(--serif)}.load-more span{color:#a77e6c}footer{background:#e6e3dc;min-height:125px;padding:30px 7vw;display:flex;align-items:center;justify-content:space-between}footer p{font-size:8px;letter-spacing:.16em;color:#857f74}footer button{border:0;background:none;color:#70675e;font-size:10px}.lightbox{position:fixed;z-index:10;inset:0;background:#181715f2;display:flex;align-items:center;justify-content:center;padding:7vh 9vw}.lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:none;color:white;font-size:35px}.lightbox-close{top:25px;right:35px}.lightbox-prev{left:30px}.lightbox-next{right:30px}.lightbox-caption{position:absolute;bottom:24px;color:white;font-size:10px;letter-spacing:.1em}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#292723;color:white;padding:13px 20px;font-size:11px;z-index:20;box-shadow:0 5px 20px #0002}
@media(max-width:850px){.gate{grid-template-columns:1fr}.gate-photo{min-height:38vh}.gate-panel{padding:54px 9vw 45px}.gate-inner{max-width:440px}.gate-foot{margin-top:30px}.hero{grid-template-columns:1fr;padding:55px 8vw 65px}.hero-copy{max-width:570px}.hero-images{min-height:370px;margin-top:34px}.hero-main{width:70%;right:10%}.hero-small{left:3%;width:36%}.hero-index{left:8vw}.nav-links{gap:17px}.photos-section{padding-left:6vw;padding-right:6vw}}
@media(max-width:560px){.gate-photo{min-height:31vh}.photo-caption{left:8%;bottom:12%}.photo-caption p{font-size:48px;margin:12px 0}.photo-credit{left:8%;bottom:14px;font-size:7px}.gate-panel{padding-top:36px}.gate .eyebrow{margin-top:22px}.gate h1{font-size:54px}.gate-copy{margin:15px 0 24px}.topbar{height:70px;padding:0 5vw}.brand-label{display:none}.nav-links{gap:13px}.nav-links a{font-size:10px}.upload-button{padding:9px 10px}.upload-button span{font-size:9px}.hero{padding:46px 7vw 62px}.hero h1{font-size:49px}.hero-images{min-height:295px}.hero-main{height:86%;width:72%;right:6%}.hero-small{height:40%;width:39%;border-width:6px}.welcome{padding:76px 22px 79px}.photos-section{padding:72px 5vw}.section-head{align-items:start}.section-head h2{font-size:42px}.photo-count{font-size:7px;padding-top:34px}.filter-tabs{gap:20px}.filter{font-size:9px}.sort-control{display:none}.people-row{gap:14px}.people-label{font-size:7px}.people-hint{display:none}.photo-grid{columns:2 145px;column-gap:8px}.photo-card{margin-bottom:8px}.photo-grid.compact{columns:3 95px}.photo-card .tag-pill{font-size:7px;top:7px;left:7px;padding:5px 6px}.photo-overlay{opacity:1;padding:26px 8px 8px}.photo-overlay span{font-size:8px}.photo-overlay button{width:25px;height:25px;font-size:12px}footer{padding:25px 6vw;gap:12px}footer p{font-size:6px;text-align:center}footer button{font-size:8px}.lightbox{padding:8vh 5vw}.lightbox-prev{left:5px}.lightbox-next{right:5px}}

/* Indian Muslim wedding palette and jaali-inspired detailing */
:root{--ink:#263a30;--muted:#77776d;--cream:#f7f5ef;--paper:#fffdf8;--sage:#e4e9de;--rose:#ead9d0;--line:#ddd9cc;--gold:#aa8b50;--green:#233e32}
.gate-photo{background:#263a30 url('https://images.unsplash.com/photo-1644337111604-aa1816b542a1?auto=format&fit=crop&w=1800&q=90') center 48%/cover}
.photo-tint{background:linear-gradient(0deg,rgba(24,42,33,.67),rgba(24,42,33,.06) 64%),linear-gradient(90deg,rgba(24,42,33,.16),transparent)}
.monogram i,.footer-mark i,.brand-mark span{color:var(--gold)}
.eyebrow{color:#8d7443}
.gate h1 i{font:italic 500 .55em var(--serif);color:var(--gold)}
.button-dark{background:var(--green)}
.button-dark:hover{background:#355543}
.gate-message{color:#586f59}
.hero{background-color:#e7eadf;background-image:radial-gradient(circle at 0 0,transparent 0 23px,rgba(139,117,69,.09) 23.5px 24.5px,transparent 25px),radial-gradient(circle at 24px 24px,transparent 0 23px,rgba(139,117,69,.09) 23.5px 24.5px,transparent 25px);background-size:48px 48px}
.hero-copy>p:not(.eyebrow){color:#5f685f}
.hero-main{border-radius:48% 48% 2px 2px;box-shadow:0 20px 50px #263a3024}
.hero-small{border-color:#e7eadf}
.hero-note,.signature{color:#8b7142}
.welcome{border-top:1px solid #c9b98f;border-bottom:1px solid #c9b98f}
.welcome-flower{color:var(--gold)}
.filter.active{border-color:var(--gold)}
.avatar-all{background:#e7e9dc;color:#8b7142}
.avatar-family{background:#eee2d5}
.photo-card .tag-pill{background:#fffdf0e8;color:#405444}
footer{background:#e5e8de;border-top:1px solid #d1d4c7}
.avatar-moiz{background:#d9e2d5;color:#294b38;font:600 10px var(--sans)}
.avatar-deeheem{background:#efe0d4;color:#81684e;font:600 10px var(--sans)}

.photo-manager{border:1px solid var(--line);padding:36px;background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 32px)}.photo-manager::backdrop{background:#15251ee0}.photo-manager h2{font:500 33px var(--serif);margin:0 0 24px}.photo-manager .eyebrow{margin-top:0}.photo-manager label{display:block;font-size:11px;margin:15px 0 9px}.photo-manager select{width:100%;padding:12px;background:var(--cream);border:1px solid var(--line);color:var(--ink);margin-bottom:16px}.manager-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:26px;color:var(--ink)}.manager-divider{font-size:8px;letter-spacing:.13em;text-align:center;margin:28px 0 20px;color:var(--muted)}.manager-note{font-size:12px;line-height:1.7;color:var(--muted)}button:disabled{opacity:.5;cursor:wait}
