*,*::before,*::after{box-sizing:border-box}
:root{--ink:#160e08;--cream:#f7e7ca;--gold:#d7af72;--muted:#c2ac8e;--hairline:rgba(222,183,119,.34);--app-height:100vh;--card-height:340px;--card-width:255px;color-scheme:dark}
@supports(height:100dvh){:root{--app-height:100dvh}}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
body{color:var(--cream);background:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #f4dbad;outline-offset:5px}
a{color:inherit;text-decoration:none}
p,h1,h2{margin:0}
.backdrop{position:fixed;inset:0;background:#211306 url('./gold-texture.webp') center/cover no-repeat;pointer-events:none}
.backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,8,3,.08),rgba(15,8,3,.18) 30%,rgba(15,8,3,.18) 70%,rgba(15,8,3,.08)),linear-gradient(0deg,rgba(11,6,3,.54),transparent 24%,transparent 75%,rgba(11,6,3,.08))}
.page-frame{position:fixed;z-index:1;inset:10px;border:1px solid rgba(220,180,113,.21);pointer-events:none}
.experience{position:relative;z-index:2;width:100%;max-width:1600px;height:var(--app-height);margin:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;padding:calc(17px + env(safe-area-inset-top)) 18px calc(17px + env(safe-area-inset-bottom));gap:0;isolation:isolate}
.masthead{text-align:center;padding:0 0 13px}
.event-name{font-size:10px;font-weight:500;line-height:1.6;letter-spacing:.26em;text-transform:uppercase;color:#e9d5b5}
.wordmark{position:relative;display:inline-block;font-family:'Bodoni Moda','Times New Roman',serif;font-optical-sizing:auto;font-size:clamp(60px,18.6vw,86px);font-weight:500;line-height:1.1;letter-spacing:-.055em;padding-right:.055em;margin:0;background:linear-gradient(172deg,#fff2cd 5%,#d9a75c 28%,#9e622b 39%,#f4d69b 47%,#fff2d2 51%,#c18c44 64%,#f0c783 83%,#a8672b 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(0,0,0,.8));text-shadow:none}
.wordmark span{letter-spacing:-.075em}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;height:17px;margin:2px 0 10px}
.ornament i{width:51px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.ornament i:last-child{transform:rotate(180deg)}
.ornament svg{width:12px;height:17px;fill:#e9bd79;filter:drop-shadow(0 0 5px #be8a4266)}
.eyebrow{font-size:9px;letter-spacing:.28em;text-transform:uppercase;line-height:1.6;color:#d6b98d;font-weight:500;margin-bottom:3px}
.dress-title{font-family:'Bodoni Moda','Times New Roman',serif;font-size:clamp(22px,6.05vw,28px);font-weight:500;line-height:1.18;letter-spacing:-.015em;color:#f7e9cf}
.collection-picker{display:flex;justify-content:center;padding:0 0 12px}
.tabs{display:grid;grid-template-columns:1fr 1fr;position:relative;width:min(100%,330px);border-top:1px solid rgba(222,183,119,.16);border-bottom:1px solid var(--hairline)}
.tab{position:relative;min-height:43px;padding:7px 13px 9px;font-size:12px;font-weight:500;letter-spacing:.015em;color:#c1ab8b;transition:color .22s,background .22s;white-space:nowrap}
.tab::after{content:'';height:2px;position:absolute;bottom:-1px;left:8%;right:8%;background:#eccd95;transform:scaleX(0);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.tab.is-active{color:#fff0d8;background:linear-gradient(0deg,rgba(210,167,99,.08),transparent)}
.tab.is-active::after{transform:scaleX(1)}
.tab:hover{color:#fff0d8}
.gallery{position:relative;min-height:0;min-width:0;outline-offset:-3px!important}
.gallery-stage{position:relative;height:100%;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;perspective:1300px}
.photo-card{position:relative;z-index:3;flex:0 0 auto;width:var(--card-width);height:var(--card-height);overflow:hidden;border:1px solid #caa66b99;border-radius:1px;box-shadow:0 15px 44px #0008,0 0 0 4px #1d10084d;background:#110d09;will-change:transform,opacity}
.look-image,.photo-ambience{display:block;width:100%;height:100%;position:absolute;inset:0;user-select:none;-webkit-user-drag:none}
.look-image{object-fit:contain;position:relative;z-index:1}
.photo-ambience{object-fit:cover;filter:blur(20px) brightness(.27);transform:scale(1.12);opacity:.75}
.side-card{position:absolute;z-index:1;top:50%;left:50%;width:var(--card-width);height:var(--card-height);overflow:hidden;border:1px solid #caa66b60;opacity:.5;filter:brightness(.7) saturate(.8);background:#1b120b;box-shadow:0 12px 32px #0006;transition:opacity .3s,filter .3s}
.side-card img{height:100%;width:100%;object-fit:cover;display:block}
.side-card--previous{transform:translate(-113%,-50%) scale(.86) rotateY(9deg)}
.side-card--next{transform:translate(13%,-50%) scale(.86) rotateY(-9deg)}
.side-card:hover{filter:brightness(.85);opacity:.72}
.expand-mark{position:absolute;z-index:4;bottom:10px;right:10px;display:grid;place-items:center;width:29px;height:29px;background:#130e08a6;border:1px solid #f7e7ca66;backdrop-filter:blur(8px);border-radius:50%;transition:background .2s}
.expand-mark svg{width:15px;height:15px;fill:none;stroke:#fff2db;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.photo-card:hover .expand-mark{background:#31200bbf}
.photo-error{position:absolute;inset:30% 12%;z-index:5;font-size:13px;line-height:1.8;text-align:center}
.photo-card.is-entering{animation:look-reveal .4s cubic-bezier(.2,.65,.3,1) both}
@keyframes look-reveal{from{opacity:.35;transform:translateX(var(--slide-offset,12px)) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
.gallery-bottom{text-align:center;min-width:0}
.gallery-navigation{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:6px}
.arrow{height:44px;width:48px;display:grid;place-items:center;color:#e8cda5;transition:transform .18s,color .18s}
.arrow svg{height:19px;width:29px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.arrow:hover{color:#fff1ce;transform:scale(1.08)}
.arrow:active{transform:scale(.92)}
.pagination{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:#bca486;min-width:110px}
#current-number{color:#ffe9c4}
.progress-track{width:55px;height:1px;background:#ceb17c44;overflow:hidden;display:block}
#progress-fill{display:block;width:6%;height:100%;background:#f4d4a1;transition:width .35s ease}
.collection-note{padding:0 0 11px;min-height:51px}
#collection-note{font-size:11px;line-height:1.6;letter-spacing:.005em;color:#eddbc2}
.swipe-hint{font-size:9px;line-height:1.5;letter-spacing:.06em;color:#ae987b;margin-top:5px}
.swipe-hint span{font-size:13px;margin-left:5px;color:#cbb088}
.event-footer{padding-top:10px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px}
.event-footer::before{position:absolute;content:'';top:0;left:50%;width:min(300px,80%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#ddbe864f 20%,#ddbe864f 80%,transparent)}
.event-details{display:flex;gap:9px;align-items:center;justify-content:center;font-size:9px;font-weight:500;letter-spacing:.04em;line-height:1.7;color:#d7bf9e}
.event-details time span{padding:0 3px;color:#b99c72}
.detail-separator{color:#9b7b50;font-size:9px}



.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lightbox{padding:0;border:0;width:100vw;max-width:none;height:var(--app-height);max-height:none;inset:0;margin:0;color:var(--cream);background:rgba(12,9,6,.98);overflow:hidden}
.lightbox::backdrop{background:#0c0906f5;backdrop-filter:blur(12px)}
.lightbox-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(10px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));max-width:1400px;margin:auto;gap:8px}
.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding-left:12px;font-size:11px;letter-spacing:.08em;color:#d1bb98}
.close-button{width:44px;height:44px;display:grid;place-items:center}
.close-button svg{height:24px;width:24px;fill:none;stroke:var(--cream);stroke-width:1}
.lightbox-image-wrap{min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.lightbox-image-wrap img{height:100%;width:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:34px;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.noscript-message{position:fixed;z-index:10;inset:45% 12% auto;text-align:center;padding:20px;background:#201509;border:1px solid var(--gold);font-size:14px;line-height:1.8}
.noscript-message a{display:block;text-decoration:underline}
@media(min-height:820px) and (max-width:799px){.experience{padding-top:calc(22px + env(safe-area-inset-top))}.masthead{padding-bottom:18px}.ornament{margin-bottom:13px}.collection-picker{padding-bottom:17px}.gallery-navigation{margin-top:9px}.collection-note{padding-bottom:15px}.event-footer{padding-top:13px}.event-details{font-size:10px}}
@media(max-height:700px) and (max-width:799px){.experience{padding-top:calc(11px + env(safe-area-inset-top));padding-bottom:calc(11px + env(safe-area-inset-bottom))}.event-name{font-size:9px}.wordmark{font-size:61px;line-height:1.05}.ornament{height:12px;margin:0 0 6px}.ornament svg{height:13px}.eyebrow{font-size:8px;margin-bottom:2px}.dress-title{font-size:22px}.masthead{padding-bottom:8px}.collection-picker{padding-bottom:8px}.tab{min-height:40px;font-size:11px}.gallery-navigation{margin-top:0}.collection-note{min-height:41px;padding-bottom:5px}.swipe-hint{margin-top:2px}.event-footer{padding-top:7px;gap:1px}}
@media(max-width:350px){.experience{padding-left:12px;padding-right:12px}.event-details{gap:6px;font-size:8px}#collection-note{font-size:10px}.tabs{width:282px}.tab{font-size:10px}.gallery-navigation{gap:20px}}
@media(min-width:800px) and (min-height:601px){
  .backdrop{background-size:100% 100%}.backdrop::after{background:linear-gradient(90deg,#170e0740 20%,#170e0766 50%,#170e0733 85%)}
  .page-frame{inset:20px}.experience{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);grid-template-rows:1fr auto auto 1fr auto;padding:55px 65px 30px;column-gap:30px;max-width:1440px}
  .masthead{grid-column:1;grid-row:1;align-self:end;padding:0 0 38px}.event-name{font-size:12px;letter-spacing:.31em}.wordmark{font-size:clamp(80px,8.2vw,125px);line-height:1.14}.ornament{margin:10px 0 25px;height:23px;gap:18px}.ornament i{width:76px}.ornament svg{width:15px;height:23px}.eyebrow{font-size:10px;letter-spacing:.3em;margin-bottom:10px}.dress-title{font-size:clamp(26px,2.9vw,39px)}
  .collection-picker{grid-column:1;grid-row:2;padding-bottom:15px}.tabs{width:340px}.tab{font-size:12px;min-height:48px}
  .gallery{grid-column:2;grid-row:1 / 5;margin-bottom:12px}.gallery-stage{min-height:0}
  .gallery-bottom{grid-column:1;grid-row:3;align-self:start}.gallery-navigation{gap:32px;margin:0}.pagination{font-size:12px}.progress-track{width:75px}.collection-note{padding:18px 0 25px;min-height:70px}#collection-note{font-size:12px}.swipe-hint{font-size:10px;margin-top:10px}
  .event-footer{grid-column:1 / 3;grid-row:5;flex-direction:row;justify-content:center;padding-top:15px}.event-footer::before{width:100%;background:linear-gradient(90deg,transparent,#ddbe864f 10%,#ddbe864f 90%,transparent)}.event-details{font-size:11px;gap:16px}
}
@media(orientation:landscape) and (max-height:600px){
  .page-frame{inset:8px}.experience{grid-template-columns:minmax(230px,.95fr) minmax(0,1.05fr);grid-template-rows:1fr auto auto auto;padding:calc(14px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left));column-gap:20px}.masthead{grid-column:1;grid-row:1;align-self:end;padding-bottom:10px}.event-name{font-size:8px}.wordmark{font-size:59px;line-height:1.02}.ornament{height:10px;margin:1px 0 5px}.ornament svg{height:12px}.eyebrow{font-size:8px}.dress-title{font-size:22px}.collection-picker{grid-column:1;grid-row:2;padding-bottom:0}.tab{min-height:38px;font-size:10px;padding-left:8px;padding-right:8px}.gallery{grid-column:2;grid-row:1 / 5}.gallery-bottom{grid-column:1;grid-row:3}.gallery-navigation{margin:0;gap:20px}.collection-note{min-height:30px;padding:0}#collection-note{font-size:9px}.swipe-hint{display:none}.event-footer{grid-column:1;grid-row:4;padding-top:8px;margin-top:6px;gap:0}.event-details{font-size:8px;gap:5px}.arrow{height:36px}.lightbox-header{font-size:10px}
}
@media(orientation:landscape) and (max-height:340px){.experience{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}.wordmark{font-size:46px}.ornament{display:none}.masthead{padding-bottom:6px}.eyebrow{font-size:7px;margin-top:4px}.dress-title{font-size:18px}.tab{min-height:34px}.arrow{height:34px}.collection-note{min-height:23px}.event-footer{padding-top:5px;margin-top:3px}.event-name{font-size:7px}}
@media(max-height:600px) and (orientation:portrait){.wordmark{font-size:54px}.ornament{margin-bottom:4px;height:10px}.dress-title{font-size:20px}.masthead{padding-bottom:6px}.collection-picker{padding-bottom:6px}.collection-note{min-height:35px}.swipe-hint{font-size:8px;margin-top:0}.event-footer{padding-top:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
