/* Prototype critical brand CSS. */
.brand{position:relative;display:block;width:66px;height:66px;justify-self:start;font-size:0;line-height:0}
    .brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
    .brand-logo-dark{opacity:0}
    .footer-brand img{display:block;width:104px;height:104px;object-fit:contain}
    @media(max-width:900px){.brand{width:52px;height:52px}.footer-brand img{width:92px;height:92px}}

:root{--ink:#0c0c0c;--paper:#f2efe9;--paper2:#e9e3d9;--cream:#faf8f4;--gold:#b49a72;--rose:#a1847b;--line:rgba(12,12,12,.18);--serif:"Bodoni 72","Didot","Iowan Old Style","Times New Roman",serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,video{display:block;width:100%}button,a{font:inherit}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.14;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}.site-header{position:fixed;top:0;left:0;width:100%;height:88px;z-index:90;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.2vw;border-bottom:1px solid rgba(255,255,255,.2);transition:background .35s,color .35s,height .35s,border-color .35s;mix-blend-mode:normal}.site-header.scrolled{height:72px;background:rgba(242,239,233,.94);backdrop-filter:blur(14px);color:var(--ink);border-color:var(--line)}.brand,.footer-brand{font-size:18px;letter-spacing:.18em;font-weight:600}.brand i,.footer-brand i{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:.05em;margin-left:2px}.desktop-nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover:after{right:0}.header-cta{justify-self:end;text-transform:uppercase;letter-spacing:.15em;font-size:10px;border:1px solid currentColor;padding:13px 18px}.menu-button{display:none;background:none;border:0;color:inherit;width:42px;height:42px;padding:10px}.menu-button span{display:block;height:1px;background:currentColor;margin:7px 0;transition:transform .25s}.mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:80;padding:120px 26px 30px;display:none;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-family:var(--serif);font-size:48px;line-height:1.08;padding:10px 0;border-bottom:1px solid var(--line)}.mobile-menu-foot{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.hero{height:100svh;min-height:700px;position:relative;background:#111;color:#fff;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.05) 38%,rgba(0,0,0,.58) 100%)}.hero-topline{position:absolute;top:115px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.22em}.hero-copy{position:absolute;left:8vw;bottom:12vh;max-width:900px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.24em;margin:0 0 24px}.eyebrow.dark{color:#665f58}.hero h1,.manifesto h2,.section-heading h2,.films h2,.dress-head h2,.location-copy h2,.gallery-head h2,.reviews-title h2,.final-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;margin:0;line-height:.87}.hero h1{font-size:clamp(72px,9.2vw,150px)}em{font-weight:400;font-style:italic}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;text-transform:uppercase;letter-spacing:.16em;font-size:9px;border:1px solid currentColor}.button.light{color:#fff;background:rgba(255,255,255,.02)}.button:hover{background:#fff;color:#111}.sound-button{background:transparent;color:#fff;border:0;padding:12px 0;font-size:10px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}.sound-icon{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid rgba(255,255,255,.5);border-radius:50%;margin-right:8px}.hero-scroll{position:absolute;right:3.2vw;bottom:36px;display:flex;align-items:center;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;writing-mode:vertical-rl}.hero-scroll i{display:block;height:54px;width:1px;background:rgba(255,255,255,.6);margin-top:8px}.section-pad{padding:130px 6vw}.manifesto{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:4vw;background:var(--paper);align-items:start}.manifesto-index{font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding-top:9px}.manifesto h2{font-size:clamp(58px,6.8vw,110px)}.manifesto-note{padding-top:56px;max-width:420px}.manifesto-note>p{font-family:var(--serif);font-size:20px;line-height:1.45}.micro-facts{margin-top:42px;border-top:1px solid var(--line)}.micro-facts span{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.micro-facts b{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.03em}.editorial-split{padding-top:40px;display:grid;grid-template-columns:1.35fr .85fr .66fr;gap:4vw;align-items:end;background:var(--paper)}.feature-image{margin:0;aspect-ratio:4/5;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.1,1)}.feature-image:hover img{transform:scale(1.025)}.feature-image.secondary{aspect-ratio:3/4;align-self:start;margin-top:16vh}.feature-copy{padding:0 0 8vh}.feature-copy h3{font:400 clamp(44px,4.6vw,78px)/.95 var(--serif);letter-spacing:-.035em;margin:0 0 40px}.feature-copy>p:not(.eyebrow){max-width:390px;font-size:14px;color:#514b46;line-height:1.7}.text-link{display:flex;justify-content:space-between;gap:30px;margin-top:40px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.marquee{overflow:hidden;background:var(--ink);color:#fff;border-top:1px solid #292929;border-bottom:1px solid #292929}.marquee div{display:flex;align-items:center;width:max-content;gap:38px;padding:19px 0;animation:marquee 24s linear infinite}.marquee span{font:italic 26px var(--serif);letter-spacing:.01em}.marquee i{color:var(--gold);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}.lookbook{background:var(--cream)}.section-heading,.gallery-head{display:grid;grid-template-columns:1.8fr 1fr;gap:8vw;align-items:end;margin-bottom:80px}.section-heading h2,.gallery-head h2,.dress-head h2,.reviews-title h2{font-size:clamp(62px,7vw,112px)}.section-heading>p,.gallery-head>p,.dress-head>p{max-width:390px;color:#5d5650;font-size:13px;line-height:1.7}.lookbook-grid{display:grid;grid-template-columns:1fr 1.2fr .78fr;gap:2.2vw;align-items:start}.lookbook-grid figure{margin:0}.lookbook-grid img{width:100%;height:100%;object-fit:cover}.look-1{margin-top:13vh!important}.look-1 img{aspect-ratio:4/5}.look-2 img{aspect-ratio:3/4}.look-3{margin-top:24vh!important}.look-3 img{aspect-ratio:4/5}.lookbook-grid figcaption,.film-card figcaption{display:flex;gap:14px;padding-top:12px;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.lookbook-grid figcaption span{color:#81766d}.films{background:#111;color:#f5f1e9;display:grid;grid-template-columns:.78fr 1.7fr;gap:6vw;align-items:center}.films-copy h2{font-size:clamp(52px,5.8vw,94px);margin-bottom:34px}.films-copy>p:last-child{color:#aaa29a;max-width:410px;font-size:13px;line-height:1.7}.film-strip-wrap{position:relative;min-width:0}.film-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.film-card{margin:0}.film-card video{aspect-ratio:9/16;object-fit:cover;background:#222}.film-card:nth-child(2){transform:translateY(45px)}.film-card figcaption{color:#aaa}.packages{background:#151412;color:#efeae2}.section-heading.inverse>p{color:#958f87}.package-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #393631;border-left:1px solid #393631}.package-card{padding:48px;border-right:1px solid #393631;border-bottom:1px solid #393631;min-height:650px;display:flex;flex-direction:column;position:relative}.package-card.featured{background:#e8e0d5;color:#12110f}.package-number{position:absolute;right:34px;top:32px;font:italic 42px var(--serif);opacity:.35}.package-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#9c958b;margin:0 0 55px}.featured .package-kicker{color:#6d645a}.package-card h3{font:400 clamp(50px,5vw,82px)/.9 var(--serif);letter-spacing:-.04em;margin:0 0 45px}.package-price{font:400 82px/.9 var(--serif);letter-spacing:-.05em;display:flex;align-items:flex-start;flex-wrap:wrap}.package-price>span{font:400 25px var(--sans);margin:5px 5px 0 0}.package-price small{width:100%;font:9px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:10px 0 34px;color:#9a9289}.featured .package-price small{color:#655d55}.package-card ul{list-style:none;margin:0 0 40px;padding:0;border-top:1px solid currentColor}.package-card li{padding:13px 0;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.03em;display:flex;align-items:center;opacity:.82}.package-card li:before{content:"+";margin-right:14px}.package-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.package-foot span{max-width:220px;font:italic 16px var(--serif);opacity:.62}.package-foot a{font-size:9px;text-transform:uppercase;letter-spacing:.15em;padding-bottom:7px;border-bottom:1px solid currentColor}.addons{margin-top:55px;display:grid;grid-template-columns:1.2fr repeat(4,1fr);border-top:1px solid #393631;border-bottom:1px solid #393631}.addons>p,.addons>div{margin:0;padding:21px 18px;border-right:1px solid #393631}.addons>p{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.addons>div{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#aaa49b}.addons b{color:#eee;font-weight:400}.dresses{background:var(--paper)}.dress-head{display:grid;grid-template-columns:1.6fr .7fr;gap:10vw;align-items:end;margin-bottom:65px}.dress-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 14px}.dress-card{min-width:0}.dress-card img{aspect-ratio:1/1;object-fit:cover;filter:saturate(.9);transition:filter .35s,transform .6s}.dress-card:hover img{filter:saturate(1.08);transform:translateY(-3px)}.dress-card>div{padding:13px 3px 0}.dress-card h3{font:400 18px var(--serif);margin:0 0 3px}.dress-card p{margin:0;font-size:10px;letter-spacing:.08em}.dress-card p span{color:#7f756b;text-transform:uppercase;font-size:8px;margin-left:4px}.mobile-swipe{display:none}.location-band{position:relative;background:#1a1816;color:#f3eee6;min-height:830px;display:grid;grid-template-columns:1fr 1fr;padding:100px 6vw;overflow:hidden}.location-band figure{position:absolute;right:0;top:0;width:48%;height:100%;margin:0}.location-band figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1a1816 0%,transparent 35%)}.location-band figure img{height:100%;object-fit:cover;filter:saturate(.78) brightness(.8)}.location-copy,.location-list{position:relative;z-index:2;width:46vw}.location-copy h2{font-size:clamp(62px,6vw,98px)}.location-list{align-self:end;max-width:530px;border-top:1px solid #45413c}.location-list div{padding:17px 5px;border-bottom:1px solid #45413c;font:400 24px var(--serif);display:flex;gap:18px}.location-list span{font:9px var(--sans);letter-spacing:.12em;color:#998e82;padding-top:7px}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:22vw;gap:8px}.gallery-item{border:0;padding:0;background:#ddd;overflow:hidden;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}.gallery-item:hover img{transform:scale(1.025)}.g-tall{grid-row:span 2}.g-wide{grid-column:span 2}.archive-wrap{margin-top:44px}.archive-button{width:100%;display:flex;justify-content:space-between;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer}.archive-button span{color:#7a7067}.archive-grid{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:28px}.archive-grid.open{display:grid}.archive-grid button{border:0;background:#ddd;padding:0;aspect-ratio:4/5;overflow:hidden;cursor:zoom-in}.archive-grid img{width:100%;height:100%;object-fit:cover}.reviews{background:var(--paper);display:grid;grid-template-columns:1fr 1.25fr;gap:8vw}.reviews-title{position:sticky;top:110px;align-self:start}.review-stack blockquote{margin:0;padding:52px 0;border-top:1px solid var(--line)}.review-stack blockquote:last-child{border-bottom:1px solid var(--line)}.review-stack blockquote p{font:400 clamp(27px,2.8vw,46px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 35px}.review-stack footer{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.review-stack footer b{font-weight:500}.review-stack footer span{color:#81786f}.final-cta{height:90svh;min-height:700px;position:relative;color:white;display:grid;place-items:center;overflow:hidden}.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final-shade{position:absolute;inset:0;background:rgba(0,0,0,.38)}.final-copy{position:relative;text-align:center;z-index:2}.final-copy h2{font-size:clamp(72px,8.5vw,140px);margin-bottom:45px}.site-footer{background:#0c0c0c;color:#bbb4ab;padding:70px 4vw 32px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.footer-brand{font-size:25px;color:white}.site-footer>div:nth-child(3){justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.site-footer small{grid-column:1/-1;border-top:1px solid #2b2926;padding-top:20px;color:#595550}.mobile-book{display:none}.lightbox{border:0;padding:0;background:rgba(8,8,8,.96);width:100vw;max-width:none;height:100vh;max-height:none}.lightbox::backdrop{background:rgba(0,0,0,.94)}.lightbox img{width:100%;height:100%;object-fit:contain;padding:4vh 4vw}.lightbox button{position:fixed;right:22px;top:15px;border:0;background:transparent;color:white;font-size:38px;z-index:4;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.18,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:70px;padding:0 20px;grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-button{display:block;justify-self:end}.site-header.menu-open{color:var(--ink);background:var(--paper);border-color:var(--line)}.site-header.menu-open .menu-button span:first-child{transform:translateY(4px) rotate(45deg)}.site-header.menu-open .menu-button span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu.open{display:flex}.hero{min-height:620px}.hero-topline{top:91px;left:20px;right:20px}.hero-topline .edition{display:none}.hero-copy{left:20px;right:20px;bottom:14vh}.hero h1{font-size:clamp(60px,18vw,92px);line-height:.86}.hero-actions{margin-top:32px;display:block}.sound-button{display:none}.hero-scroll{right:17px}.section-pad{padding:88px 20px}.manifesto{grid-template-columns:1fr}.manifesto-index{margin-bottom:32px}.manifesto h2{font-size:clamp(54px,15vw,78px)}.manifesto-note{padding-top:10px;max-width:none}.manifesto-note>p{font-size:19px}.editorial-split{grid-template-columns:1fr;padding-top:0;gap:50px}.feature-image{aspect-ratio:4/5}.feature-copy{padding:0}.feature-copy h3{font-size:52px}.feature-image.secondary{width:67%;margin:0 0 0 auto;aspect-ratio:3/4}.marquee span{font-size:21px}.lookbook .section-heading,.section-heading,.gallery-head{grid-template-columns:1fr;gap:25px;margin-bottom:48px}.section-heading h2,.gallery-head h2,.dress-head h2,.reviews-title h2{font-size:62px}.lookbook-grid{grid-template-columns:1fr 1fr;gap:12px}.look-1{margin-top:80px!important}.look-3{grid-column:2;margin-top:0!important}.films{grid-template-columns:1fr;padding-bottom:110px}.films-copy h2{font-size:56px}.film-strip-wrap{margin:0 -20px}.film-strip{margin:0;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 35px;gap:8px;scrollbar-width:none;touch-action:pan-y}.film-strip::-webkit-scrollbar{display:none}.film-card{min-width:72vw;scroll-snap-align:center}.film-card:nth-child(2){transform:none}.package-grid{grid-template-columns:1fr}.package-card{padding:35px 25px;min-height:620px}.package-price{font-size:72px}.addons{grid-template-columns:1fr 1fr}.addons>p{grid-column:1/-1}.addons>div{border-top:1px solid #393631}.dress-head{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.dress-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 24px;gap:10px;scrollbar-width:none}.dress-grid::-webkit-scrollbar{display:none}.dress-card{min-width:72vw;scroll-snap-align:center}.dress-card h3{font-size:21px}.mobile-swipe{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-top:4px}.location-band{min-height:820px;padding:80px 20px;grid-template-columns:1fr;align-content:space-between}.location-band figure{width:100%;height:100%}.location-band figure:after{background:linear-gradient(180deg,rgba(26,24,22,.78) 0%,rgba(26,24,22,.18) 45%,rgba(26,24,22,.72) 100%)}.location-copy,.location-list{width:100%}.location-copy h2{font-size:58px}.location-list{align-self:end}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:62vw;gap:4px}.g-wide{grid-column:span 2}.gallery-head{margin-bottom:40px}.archive-grid.open{grid-template-columns:repeat(3,1fr)}.reviews{grid-template-columns:1fr}.reviews-title{position:static}.review-stack blockquote p{font-size:31px}.final-cta{height:80svh;min-height:620px}.final-copy{padding:0 20px}.final-copy h2{font-size:72px}.site-footer{padding:60px 20px 100px;grid-template-columns:1fr}.site-footer>div:nth-child(3){justify-self:start;align-items:flex-start}.mobile-book{position:fixed;z-index:75;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;height:54px;background:#e8dfd2;color:#111;display:flex;align-items:center;justify-content:space-between;padding:0 20px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;box-shadow:0 9px 30px rgba(0,0,0,.22)}.lightbox img{padding:60px 8px 20px}}
@media(max-width:520px){.hero h1{font-size:19vw}.hero-copy .button{width:100%}.manifesto h2,.section-heading h2,.gallery-head h2,.dress-head h2,.reviews-title h2{font-size:14vw}.feature-copy h3{font-size:13vw}.lookbook-grid{display:block}.lookbook-grid figure{margin:0 0 34px!important}.look-1{width:84%}.look-2{width:92%;margin-left:auto!important}.look-3{width:76%;margin-left:8%!important}.package-card h3{font-size:14vw}.package-foot{display:block}.package-foot a{display:inline-block;margin-top:25px}.addons{grid-template-columns:1fr}.addons>p{grid-column:auto}.location-copy h2{font-size:14vw}.gallery-grid{grid-auto-rows:64vw}.reviews-title h2{font-size:15vw}.final-copy h2{font-size:17vw}.archive-grid.open{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div{animation:none}.feature-image img,.gallery-item img{transition:none}}

/* Cinematic chapter: the former horizontal hero film now has room to breathe lower in the story. */
.cinema-chapter{position:relative;height:78svh;min-height:650px;background:#0e0e0e;color:#fff;overflow:hidden}.cinema-chapter>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.cinema-chapter-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.08) 100%)}.cinema-chapter-copy{position:absolute;left:6vw;bottom:9vh;z-index:2;max-width:690px}.cinema-chapter-copy h2{font:400 clamp(62px,7.2vw,116px)/.88 var(--serif);letter-spacing:-.045em;margin:0 0 28px}.cinema-chapter-copy>p:last-child{max-width:420px;font-size:14px;line-height:1.65;color:rgba(255,255,255,.78)}

/* Mobile readability pass: luxury microtype should still be readable on a phone. */
@media(max-width:900px){
  .hero>video{object-position:50% 42%}
  .hero-topline{font-size:11px;line-height:1.4;letter-spacing:.17em}
  .eyebrow{font-size:12px;line-height:1.45;letter-spacing:.18em;margin-bottom:20px}
  .button{font-size:11px;line-height:1.35;min-height:52px;letter-spacing:.13em}
  .hero-scroll{font-size:10px;letter-spacing:.16em}
  .manifesto-index{font-size:11px;line-height:1.45;letter-spacing:.15em}
  .feature-copy>p:not(.eyebrow),.section-heading>p,.gallery-head>p,.dress-head>p,.films-copy>p:last-child{font-size:15px;line-height:1.65}
  .text-link{font-size:11px;line-height:1.45;letter-spacing:.1em}
  .lookbook-grid figcaption,.film-card figcaption{font-size:11px;line-height:1.45;letter-spacing:.12em}
  .package-kicker{font-size:11px;line-height:1.45;letter-spacing:.14em}
  .package-price small{font-size:11px;line-height:1.45;letter-spacing:.1em}
  .package-card li{font-size:13px;line-height:1.5;letter-spacing:.015em;padding:15px 0}
  .package-foot a{font-size:11px;line-height:1.45;letter-spacing:.12em}
  .addons>p{font-size:11px;line-height:1.45}.addons>div{font-size:12px;line-height:1.45}
  .dress-card p{font-size:13px;line-height:1.45}.dress-card p span{font-size:10px;line-height:1.4;display:inline-block;margin-top:2px}
  .mobile-swipe{font-size:11px;line-height:1.4;letter-spacing:.13em}
  .location-list span{font-size:11px;line-height:1.4}.location-list div{font-size:25px}
  .archive-button{font-size:11px;line-height:1.45;letter-spacing:.12em}
  .review-stack footer{font-size:11px;line-height:1.5;gap:18px}
  .site-footer{font-size:11px;line-height:1.6}.site-footer small{font-size:10px;line-height:1.55}
  .mobile-book{font-size:12px;line-height:1.35;letter-spacing:.12em}
  .mobile-menu-foot{font-size:12px;line-height:1.45}
  .cinema-chapter{height:64svh;min-height:560px}.cinema-chapter>video{object-position:center center}.cinema-chapter-shade{background:linear-gradient(180deg,rgba(0,0,0,.08) 10%,rgba(0,0,0,.65) 100%)}.cinema-chapter-copy{left:20px;right:20px;bottom:58px}.cinema-chapter-copy h2{font-size:15vw}.cinema-chapter-copy>p:last-child{font-size:15px;line-height:1.6;max-width:340px}
}

/* Second mobile type pass after Playwright audit: no 9–10px marketing copy on phones. */
@media(max-width:900px){
  .hero-topline,.eyebrow,.manifesto-index{font-size:12px}
  .button{font-size:12px}
  .hero-scroll{font-size:11px}
  .text-link,.lookbook-grid figcaption,.film-card figcaption,.package-kicker,.package-price small,.package-foot a,.mobile-swipe,.location-list span,.archive-button,.review-stack footer,.mobile-menu-foot{font-size:12px}
  .package-card li{font-size:14px}
  .addons>p{font-size:12px}.addons>div{font-size:13px}
  .dress-card p{font-size:14px}.dress-card p span{font-size:12px}
  .site-footer,.site-footer small{font-size:12px}
  .mobile-book{font-size:13px}
}
@media(max-width:900px){.hero-scroll{font-size:12px}}

/* Original DiaFoto mark, extracted from the source site's logo asset. */
.brand{position:relative;display:block;width:66px;height:66px;justify-self:start;font-size:0;line-height:0}
.brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .28s ease;filter:drop-shadow(0 1px 6px rgba(0,0,0,.24))}
.brand-logo-color{opacity:1}.brand-logo-dark{opacity:0;filter:none}
.site-header.scrolled .brand-logo-color,.site-header.menu-open .brand-logo-color{opacity:0}
.site-header.scrolled .brand-logo-dark,.site-header.menu-open .brand-logo-dark{opacity:1}
.footer-brand{font-size:0;line-height:0}.footer-brand img{display:block;width:104px;height:104px;object-fit:contain}
@media(max-width:900px){.brand{width:52px;height:52px}.footer-brand img{width:92px;height:92px}}

/* Refinement round: navigation marks stay typographic/vector-like, never emoji. */
.link-arrow{position:relative;display:inline-block;flex:0 0 14px;width:14px;height:14px;margin-left:10px;vertical-align:-2px;color:currentColor}
.link-arrow::before{content:"";position:absolute;left:1px;top:6px;width:12px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:center}
.link-arrow::after{content:"";position:absolute;right:1px;top:1px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.link-arrow.is-down::before{transform:rotate(45deg)}
.link-arrow.is-down::after{top:auto;bottom:1px;border-top:0;border-bottom:1px solid currentColor}
.mobile-menu-foot a,.package-foot a,.site-footer a,.final-copy .button{display:inline-flex;align-items:center}
.mobile-book .link-arrow{margin-left:auto}
.swipe-line{display:block;width:38px;height:1px;background:currentColor;opacity:.45;align-self:center}

@media(max-width:900px){
  /* The secondary Barcelona portrait should read as a photograph, not a small floated insert. */
  .feature-image.secondary{width:100%;margin:0;aspect-ratio:4/5}

  /* Mobile lookbook: one clean editorial axis, equal picture geometry, no arbitrary offsets. */
  .lookbook-grid{display:grid;grid-template-columns:1fr;gap:34px}
  .lookbook-grid .look-1,.lookbook-grid .look-2,.lookbook-grid .look-3{width:100%;margin:0!important;grid-column:auto}
  .lookbook-grid .look-1 img,.lookbook-grid .look-2 img,.lookbook-grid .look-3 img{width:100%;aspect-ratio:4/5;object-fit:cover}

  /* Match DiaFoto's original mobile treatment of the horizontal film: full-width 16:9 banner, centered, uncropped. */
  .cinema-chapter{height:auto;min-height:0;overflow:hidden;background:#0e0e0e}
  .cinema-chapter>video{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 50%}
  .cinema-chapter-shade{display:none}
  .cinema-chapter-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;padding:38px 20px 64px}
  .cinema-chapter-copy h2{font-size:15vw;margin-bottom:22px}
  .cinema-chapter-copy>p:last-child{max-width:355px;font-size:15px;line-height:1.6}
}
@media(max-width:520px){
  .reviews-title,.review-stack,.review-stack blockquote,.review-stack blockquote p,.review-stack footer{min-width:0;max-width:100%}
  .reviews-title h2{font-size:13.8vw;max-width:100%}
}

/* === Dark art direction / 2026-08-18 === */
:root{
  --night:#0b0b0a;
  --night-2:#11100f;
  --night-3:#171513;
  --ivory:#f3eee6;
  --ivory-muted:#b9b0a4;
  --champagne:#d8b997;
  --line:rgba(243,238,230,.16);
}
body{background:var(--night);color:var(--ivory)}
.site-header.scrolled,.site-header.menu-open{background:rgba(11,11,10,.93);color:var(--ivory);border-color:rgba(243,238,230,.14);backdrop-filter:blur(18px)}
.site-header.scrolled .brand-logo-color,.site-header.menu-open .brand-logo-color{opacity:1}
.site-header.scrolled .brand-logo-dark,.site-header.menu-open .brand-logo-dark{opacity:0}
.mobile-menu{background:var(--night);color:var(--ivory)}
.mobile-menu nav a{border-color:rgba(243,238,230,.15)}
.mobile-menu-foot{color:var(--ivory-muted)}
.eyebrow.dark{color:var(--champagne)}

.manifesto{background:var(--night)}
.manifesto-note>p{color:var(--ivory)}
.manifesto-index,.micro-facts span{color:var(--ivory-muted)}
.micro-facts,.micro-facts span{border-color:rgba(243,238,230,.15)}
.micro-facts b{color:var(--champagne)}

.editorial-split{background:var(--night-2)}
.feature-copy>p:not(.eyebrow){color:var(--ivory-muted)}
.text-link{border-color:rgba(243,238,230,.17);color:var(--ivory)}
.feature-image{background:#201e1b}

.lookbook{background:var(--night)}
.section-heading>p,.gallery-head>p,.dress-head>p{color:var(--ivory-muted)}
.lookbook-grid figcaption{color:var(--ivory-muted)}
.lookbook-grid figcaption span{color:var(--champagne)}

.marquee{background:#050505;border-color:#2c2925}
.marquee i{color:var(--champagne)}
.films{background:var(--night-2)}
.films-copy>p:last-child{color:var(--ivory-muted)}
.film-card figcaption{color:#aaa198}

.packages{background:#090908;color:var(--ivory)}
.package-grid{border-color:#34312d}
.package-card{border-color:#34312d}
.package-card.featured{background:#dfd3c4;color:#12110f}
.addons{border-color:#34312d}
.addons>p,.addons>div{border-color:#34312d}

.dresses{background:var(--night-2)}
.dress-card img{background:#211f1c}
.dress-card h3{color:var(--ivory)}
.dress-card p{color:var(--champagne)}
.dress-card p span{color:#9f9589}
.mobile-swipe{color:var(--ivory-muted)}

.location-band{background:#0b0a09}
.location-band figure:after{background:linear-gradient(90deg,#0b0a09 0%,transparent 35%)}
.location-list{border-color:#3a3732}
.location-list div{border-color:#3a3732}

.gallery{background:var(--night)}
.gallery-item,.archive-grid button{background:#201e1b}
.archive-button{border-color:rgba(243,238,230,.16);color:var(--ivory)}
.archive-button span{color:var(--ivory-muted)}

.reviews{background:var(--night-2)}
.review-stack blockquote{border-color:rgba(243,238,230,.16)}
.review-stack blockquote:last-child{border-color:rgba(243,238,230,.16)}
.review-stack footer span{color:var(--ivory-muted)}

.site-footer{background:#050505}
.mobile-book{background:rgba(10,10,9,.95);color:var(--ivory);border:1px solid rgba(216,185,151,.38);box-shadow:0 14px 42px rgba(0,0,0,.42);backdrop-filter:blur(12px)}
.mobile-book .link-arrow{color:var(--champagne)}

@media(max-width:900px){
  .site-header.menu-open .menu-button span{background:var(--ivory)}
  .location-band figure:after{background:linear-gradient(180deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.18) 44%,rgba(11,10,9,.78) 100%)}
}

/* === Dress deck / roller === */
.dresses{overflow:hidden}
.dress-roller{max-width:1120px;margin:0 auto;position:relative}
.dress-deck{position:relative;width:min(620px,56vw);aspect-ratio:4/5;margin:0 auto;perspective:1600px;touch-action:pan-y;cursor:pointer;user-select:none;-webkit-user-select:none}
.dress-slide{position:absolute;inset:0;overflow:hidden;background:#1a1816;color:#fff;opacity:0;pointer-events:none;transform:translate3d(15%,2%,0) scale(.93) rotate(1.4deg);transform-origin:50% 90%;transition:transform .72s cubic-bezier(.16,.76,.18,1),opacity .58s ease,filter .58s ease;filter:brightness(.62) saturate(.82);will-change:transform,opacity}
.dress-slide.is-active{z-index:4;opacity:1;pointer-events:auto;transform:translate3d(0,0,0) scale(1) rotate(0deg);filter:none}
.dress-slide.is-next{z-index:3;opacity:.42;transform:translate3d(8.5%,2.7%,0) scale(.965) rotate(1.1deg);filter:brightness(.7) saturate(.82)}
.dress-slide.is-prev{z-index:2;opacity:0;transform:translate3d(-13%,1%,0) scale(.95) rotate(-1.2deg)}
.dress-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.dress-slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.78) 100%);pointer-events:none}
.dress-slide-top{position:absolute;left:24px;right:24px;top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.82);z-index:2}
.dress-slide-copy{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 20px}
.dress-slide-copy h3{font:400 clamp(34px,4.2vw,62px)/.92 var(--serif);letter-spacing:-.04em;margin:0;max-width:390px}
.dress-slide-price{grid-row:1/3;grid-column:2;font:400 clamp(58px,6vw,90px)/.8 var(--serif);letter-spacing:-.06em;color:#f6efe5;display:flex;align-items:flex-start}
.dress-slide-price span{font:400 16px/1 var(--sans);letter-spacing:0;margin:4px 5px 0 0;color:var(--champagne)}
.dress-slide-copy p{margin:5px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.68)}
.dress-roller-controls{width:min(760px,70vw);margin:34px auto 0;display:grid;grid-template-columns:44px 1fr auto 44px;align-items:center;gap:18px}
.dress-nav,.dress-toggle{appearance:none;border:0;background:transparent;color:var(--ivory);cursor:pointer}
.dress-nav{width:44px;height:44px;border:1px solid rgba(243,238,230,.25);position:relative;transition:border-color .25s,background .25s}
.dress-nav:hover,.dress-nav:focus-visible{border-color:var(--champagne);background:rgba(216,185,151,.07)}
.dress-nav span::before{content:"";position:absolute;left:14px;top:21px;width:14px;height:1px;background:currentColor}
.dress-nav span::after{content:"";position:absolute;width:7px;height:7px;border-top:1px solid currentColor;border-left:1px solid currentColor;left:14px;top:17px;transform:rotate(-45deg)}
.dress-next span::after{border-left:0;border-right:1px solid currentColor;left:20px;transform:rotate(45deg)}
.dress-next span::before{left:15px}
.dress-roller-status{display:flex;align-items:center;gap:18px;min-width:0;color:var(--ivory-muted);font-size:10px;letter-spacing:.15em}
.dress-progress{display:flex;align-items:center;gap:5px;flex:1;min-width:0}
.dress-dot{appearance:none;border:0;padding:0;width:15px;height:1px;background:rgba(243,238,230,.25);cursor:pointer;transition:width .35s,background .35s}
.dress-dot.is-active{width:34px;background:var(--champagne)}
.dress-toggle{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;font-size:10px;letter-spacing:.15em;padding:10px 0;white-space:nowrap}
.dress-toggle-icon{position:relative;display:inline-block;width:10px;height:12px}
.dress-toggle-icon::before,.dress-toggle-icon::after{content:"";position:absolute;top:1px;bottom:1px;width:1px;background:currentColor}
.dress-toggle-icon::before{left:2px}.dress-toggle-icon::after{right:2px}
.dress-roller.is-paused .dress-toggle-icon::before{left:2px;top:1px;bottom:auto;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;background:transparent}
.dress-roller.is-paused .dress-toggle-icon::after{display:none}
.dress-gesture-note{text-align:center;margin:18px 0 0;color:#8f867d;font-size:10px;text-transform:uppercase;letter-spacing:.13em}

@media(max-width:900px){
  .dress-head{margin-bottom:48px}
  .dress-deck{width:calc(100vw - 58px);max-width:520px}
  .dress-slide.is-next{opacity:.34;transform:translate3d(7%,2.2%,0) scale(.97) rotate(.8deg)}
  .dress-slide-top{left:18px;right:18px;top:17px;font-size:11px}
  .dress-slide-copy{left:19px;right:19px;bottom:19px;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}
  .dress-slide-copy h3{font-size:clamp(34px,10vw,46px)}
  .dress-slide-price{font-size:clamp(58px,18vw,78px)}
  .dress-slide-copy p{font-size:12px}
  .dress-roller-controls{width:100%;grid-template-columns:42px minmax(0,1fr) auto 42px;gap:10px;margin-top:26px}
  .dress-nav{width:42px;height:42px}
  .dress-roller-status{gap:10px;font-size:12px}
  .dress-progress{gap:3px}
  .dress-dot{width:7px}.dress-dot.is-active{width:22px}
  .dress-toggle{font-size:12px;letter-spacing:.11em}
  .dress-gesture-note{font-size:12px;line-height:1.45;margin-top:14px}
}
@media(max-width:520px){
  .dress-deck{width:calc(100vw - 54px)}
  .dress-slide-top span:last-child{display:none}
  .dress-roller-controls{grid-template-columns:40px 1fr 40px;gap:9px}
  .dress-toggle{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:0}
  .dress-roller-status{grid-column:2;grid-row:1}
  .dress-prev{grid-column:1;grid-row:1}.dress-next{grid-column:3;grid-row:1}
}
@media(prefers-reduced-motion:reduce){.dress-slide{transition:none}}

/* === Video typography cleanup === */
.hero-shade{
  background:
    radial-gradient(ellipse 72% 52% at 20% 82%,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,0) 72%),
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.04) 34%,rgba(0,0,0,.16) 57%,rgba(0,0,0,.78) 100%);
}
.hero-copy{max-width:760px;bottom:11vh}
.hero h1{font-size:clamp(64px,7.6vw,124px);line-height:.9;letter-spacing:-.04em}
.hero-actions{margin-top:34px}

@media(min-width:901px){
  .cinema-chapter-shade{
    background:
      linear-gradient(0deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.08) 52%,rgba(0,0,0,0) 72%),
      linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.28) 42%,rgba(0,0,0,.06) 72%,rgba(0,0,0,0) 100%);
  }
  .cinema-chapter-copy{left:6vw;bottom:7vh;max-width:560px}
  .cinema-chapter-copy h2{font-size:clamp(50px,5.5vw,88px);line-height:.92;margin-bottom:22px}
}

@media(max-width:900px){
  .hero-shade{
    background:
      radial-gradient(ellipse 94% 54% at 22% 79%,rgba(0,0,0,.52) 0%,rgba(0,0,0,.28) 44%,rgba(0,0,0,0) 72%),
      linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.03) 32%,rgba(0,0,0,.2) 56%,rgba(0,0,0,.84) 100%);
  }
  .hero-copy{left:20px;right:20px;bottom:15vh;max-width:590px}
  .hero h1{font-size:clamp(54px,15.5vw,74px);line-height:.9;letter-spacing:-.035em}
  .hero-actions{margin-top:27px}
}
@media(max-width:520px){.hero h1{font-size:15.5vw}}
@media(max-width:900px){.dress-slide-top{font-size:12px}}
/* Gallery placeholders remain intentional while custom near-viewport loading resolves each photograph. */
.archive-grid img{background:#201e1b;transition:opacity .25s ease}
.archive-grid img:not([src]){opacity:.18}
/* WebKit-safe managed photos fade in after decode/load instead of relying on native lazy scheduling. */
.gallery-item img[data-managed-src],.final-cta>img[data-managed-src]{opacity:0}
.gallery-item img.is-loaded,.final-cta>img.is-loaded{opacity:1}

/* === Warm editorial pauses: reuse the exact €470 featured-package material === */
.lookbook,.reviews{background:#dfd3c4;color:#12110f}
.lookbook .eyebrow.dark,.reviews .eyebrow.dark{color:#6c6258}
.lookbook .section-heading>p{color:#5f564d}
.lookbook-grid figcaption{color:#62584f}
.lookbook-grid figcaption span{color:#866f59}
.reviews .review-stack blockquote,
.reviews .review-stack blockquote:last-child{border-color:rgba(18,17,15,.2)}
.reviews .review-stack footer{color:#2a2723}
.reviews .review-stack footer span{color:#70665c}
/* Gallery opening sequence: preserve the original DiaFoto source order as a clean contact sheet. */
.gallery-grid.source-opening{grid-template-columns:repeat(4,1fr);grid-auto-rows:auto}
.gallery-grid.source-opening .gallery-item{aspect-ratio:4/5}
@media(max-width:900px){
  .gallery-grid.source-opening{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:4px}
  .gallery-grid.source-opening .gallery-item{aspect-ratio:4/5}
}

/* Original DiaFoto YouTube Shorts restored as video links, not photo-gallery items. */
.shorts{background:var(--night);color:var(--ivory)}
.shorts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:980px;margin:62px auto 0}
.short-card{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:#181614;color:#fff;text-decoration:none}
.short-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,.76,.18,1),filter .45s ease}
.short-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,0) 48%,rgba(0,0,0,.62) 100%)}
.short-card:hover img{transform:scale(1.025);filter:brightness(.82)}
.short-play{position:absolute;z-index:3;left:50%;top:50%;width:54px;height:54px;border:1px solid rgba(255,255,255,.72);border-radius:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.2);backdrop-filter:blur(4px)}
.short-play::after{content:"";position:absolute;left:22px;top:17px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #fff}
.short-index,.short-label{position:absolute;z-index:3;bottom:18px;font-size:10px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
.short-index{left:18px;color:rgba(255,255,255,.68)}
.short-label{right:18px;color:#fff}
@media(max-width:900px){
  .shorts-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:44px -20px 0;padding:0 20px 12px;scrollbar-width:none}
  .shorts-grid::-webkit-scrollbar{display:none}
  .short-card{flex:0 0 74vw;max-width:330px;scroll-snap-align:center}
  .short-index,.short-label{font-size:12px}
}
/* Final city CTA: exact source portrait requested from the gallery (img-012, Sagrada Família). */
.final-cta>img{object-position:50% 43%}
@media(max-width:900px){.final-cta>img{object-position:50% 40%}}

/* Inline YouTube Shorts: posters stay light until the visitor explicitly taps play. */
.short-card{border:0;padding:0}
.short-poster{appearance:none;border:0;padding:0;margin:0;position:absolute;inset:0;width:100%;height:100%;display:block;background:#181614;color:#fff;cursor:pointer;text-align:inherit;font:inherit}
.short-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,0) 48%,rgba(0,0,0,.62) 100%)}
.short-poster:focus-visible{outline:1px solid var(--champagne);outline-offset:-3px}
.short-card:hover .short-poster img{transform:scale(1.025);filter:brightness(.82)}
.short-card.is-playing .short-poster{opacity:0;pointer-events:none}
.short-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:4}
.short-stop{position:absolute;z-index:6;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.48);color:#fff;cursor:pointer;font-size:0;backdrop-filter:blur(5px)}
.short-stop::before,.short-stop::after{content:"";position:absolute;left:9px;top:16px;width:15px;height:1px;background:currentColor}
.short-stop::before{transform:rotate(45deg)}.short-stop::after{transform:rotate(-45deg)}
.short-stop:focus-visible{outline:1px solid var(--champagne);outline-offset:2px}
.short-card::after{display:none}

/* === Mobile descriptive copy scale test: ~1.3x, UI microcopy intentionally unchanged. === */
@media(max-width:900px){
  .manifesto-note>p{font-size:24px;line-height:1.48}
  .feature-copy>p:not(.eyebrow),
  .section-heading>p,
  .gallery-head>p,
  .dress-head>p,
  .films-copy>p:last-child,
  .cinema-chapter-copy>p:last-child{font-size:19.5px;line-height:1.62}
  .package-foot span{font-size:20px;line-height:1.42;max-width:290px}
  .shorts .section-heading>p{font-size:19.5px;line-height:1.58}
}

/* === Mobile affordance for the horizontal Shorts rail === */
.shorts-scroll-nav{display:none}
@media(max-width:900px){
  .shorts-scroll-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:14px;margin:14px 0 0}
  .shorts-chevron{appearance:none;width:48px;height:48px;border:1px solid rgba(243,238,230,.32);background:rgba(255,255,255,.025);color:var(--ivory);position:relative;cursor:pointer;transition:opacity .2s,border-color .2s,background .2s}
  .shorts-chevron:active{background:rgba(216,185,151,.11);border-color:var(--champagne)}
  .shorts-chevron:disabled{opacity:.28;cursor:default}
  .shorts-chevron span::before{content:"";position:absolute;left:16px;top:23px;width:15px;height:1px;background:currentColor}
  .shorts-chevron span::after{content:"";position:absolute;top:18px;width:9px;height:9px;border-top:1px solid currentColor;border-left:1px solid currentColor}
  .shorts-chevron.is-left span::after{left:15px;transform:rotate(-45deg)}
  .shorts-chevron.is-right span::after{right:15px;transform:rotate(135deg)}
  .shorts-chevron.is-right span::before{left:16px}
  .shorts-scroll-hint{text-align:center;color:#9a9188;font-size:12px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase}
}
.short-card>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:4}
/* === Hero mobile scroll lane: keep the vertical cue clear of both CTAs. === */
@media(max-width:520px){
  .hero-copy .button{width:calc(100% - 54px)}
  .hero-scroll{right:17px;bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* === Direct-on-content carousel affordances === */
.dress-deck-shell{position:relative;width:min(620px,56vw);margin:0 auto}
.dress-deck-shell .dress-deck{width:100%;margin:0}
.dress-overlay-nav{display:none}
.film-chevron{display:none}
.shorts-rail-wrap{position:relative;max-width:980px;margin:62px auto 0}
.shorts-rail-wrap .shorts-grid{margin:0}
.shorts-scroll-hint{display:none}

@media(max-width:900px){
  .dress-deck-shell{width:calc(100vw - 58px);max-width:520px}
  .dress-overlay-nav{
    display:block;position:absolute;z-index:9;top:50%;transform:translateY(-50%);
    width:58px;height:78px;border:0;border-radius:0;background:transparent;color:#fff;
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;cursor:pointer;opacity:.96;
    filter:drop-shadow(0 2px 3px rgba(0,0,0,.95)) drop-shadow(0 0 9px rgba(0,0,0,.55));
    transition:opacity .18s ease,transform .18s ease;
  }
  .dress-overlay-prev{left:0}.dress-overlay-next{right:0}
  .dress-overlay-nav span::before{display:none}
  .dress-overlay-nav span::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-top:2px solid currentColor;border-right:2px solid currentColor}
  .dress-overlay-prev span::after{transform:translate(-36%,-50%) rotate(-135deg)}
  .dress-overlay-next span::after{transform:translate(-64%,-50%) rotate(45deg)}
  .dress-overlay-nav:not(:disabled):active{opacity:.6}
  .dress-overlay-nav:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:-8px}

  .film-chevron{
    display:block;position:absolute;z-index:9;top:46%;transform:translateY(-50%);
    width:58px;height:82px;border:0;border-radius:0;background:transparent;color:#fff;
    cursor:pointer;opacity:.96;filter:drop-shadow(0 2px 3px rgba(0,0,0,.95)) drop-shadow(0 0 9px rgba(0,0,0,.55));
    transition:opacity .18s ease;
  }
  .film-chevron.is-left{left:0}.film-chevron.is-right{right:0}
  .film-chevron span::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-top:2px solid currentColor;border-right:2px solid currentColor}
  .film-chevron.is-left span::after{transform:translate(-36%,-50%) rotate(-135deg)}
  .film-chevron.is-right span::after{transform:translate(-64%,-50%) rotate(45deg)}
  .film-chevron:disabled{opacity:.18;cursor:default}
  .film-chevron:not(:disabled):active{opacity:.6}
  .film-chevron:focus-visible{outline:1px solid rgba(255,255,255,.72);outline-offset:-8px}

  .shorts-rail-wrap{max-width:none;margin:44px -20px 0;position:relative}
  .shorts-rail-wrap .shorts-grid{margin:0;padding:0 20px 12px}
  .shorts-chevron{
    display:block;position:absolute;z-index:8;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.62);
    background:rgba(8,8,8,.54);color:#fff;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    box-shadow:0 8px 24px rgba(0,0,0,.22);cursor:pointer;transition:opacity .2s,border-color .2s,background .2s;
  }
  .shorts-chevron.is-left{left:28px}.shorts-chevron.is-right{right:28px}
  .shorts-chevron:disabled{opacity:.24;cursor:default}
  .shorts-chevron:not(:disabled):active{background:rgba(216,185,151,.22);border-color:var(--champagne)}
  .shorts-chevron span::before{content:"";position:absolute;top:23px;width:17px;height:1px;background:currentColor}
  .shorts-chevron span::after{content:"";position:absolute;top:18px;width:10px;height:10px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor}
  .shorts-chevron.is-left span::before{left:15px}.shorts-chevron.is-left span::after{left:14px;transform:rotate(-45deg)}
  .shorts-chevron.is-right span::before{right:15px}.shorts-chevron.is-right span::after{right:14px;transform:rotate(135deg)}
  .shorts-scroll-hint{display:block;text-align:center;margin:14px 0 0;color:#9a9188;font-size:12px;line-height:1.35;letter-spacing:.13em;text-transform:uppercase}
}
@media(max-width:520px){.dress-deck-shell{width:calc(100vw - 54px)}}
@media(max-width:900px){
  .dress-roller-controls{grid-template-columns:minmax(0,1fr) auto;gap:14px;width:min(100%,520px)}
  .dress-roller-controls>.dress-nav{display:none}
  .dress-roller-status{grid-column:1;grid-row:1}
  .dress-toggle{grid-column:2;grid-row:1;justify-self:end;margin:0}
}

/* === Mobile typography floor: remove the remaining 10–13px microtype. === */
@media(max-width:900px){
  /* Editorial navigation / section labels */
  .eyebrow{font-size:15px;line-height:1.35;letter-spacing:.16em}
  .hero-topline{font-size:14px;line-height:1.35;letter-spacing:.16em}
  .hero-scroll{font-size:14px;line-height:1.3;letter-spacing:.14em}

  /* Primary interactive labels */
  .button,
  .hero-copy .button,
  .final-copy .button,
  .mobile-book{font-size:15px;line-height:1.25;letter-spacing:.13em}
  .text-link,
  .archive-button,
  .package-foot a{font-size:15px;line-height:1.4;letter-spacing:.1em}

  /* Small editorial facts / captions */
  .micro-facts span{font-size:14px;line-height:1.45;letter-spacing:.1em}
  .lookbook-grid figcaption,
  .film-card figcaption{font-size:14px;line-height:1.4;letter-spacing:.1em}
  .location-list span{font-size:14px;line-height:1.4;letter-spacing:.1em}

  /* Pricing/package readability */
  .package-kicker{font-size:14px;line-height:1.45;letter-spacing:.12em}
  .package-price small{font-size:14px;line-height:1.45;letter-spacing:.1em}
  .package-card li{font-size:16px;line-height:1.5}
  .addons>p,
  .addons>div{font-size:15px;line-height:1.45}
  .addons b{font-size:15px}

  /* Reviews */
  .review-stack footer{font-size:14px;line-height:1.5;letter-spacing:.09em;gap:16px}
  .review-stack footer b,
  .review-stack footer span{font-size:14px}

  /* Dress roller */
  .dress-slide-top{font-size:14px;line-height:1.35;letter-spacing:.12em}
  .dress-slide-copy p{font-size:14px;line-height:1.4}
  .dress-roller-status{font-size:14px;line-height:1.35;letter-spacing:.1em}
  .dress-gesture-note{font-size:14px;line-height:1.45;letter-spacing:.09em}

  /* Shorts */
  .short-index,
  .short-label,
  .shorts-scroll-hint{font-size:14px;line-height:1.35;letter-spacing:.1em}

  /* Footer / mobile menu */
  .site-footer,
  .site-footer small,
  .site-footer a,
  .mobile-menu-foot{font-size:14px;line-height:1.55;letter-spacing:.09em}
}
@media(max-width:900px){.dress-toggle{font-size:14px;line-height:1.35;letter-spacing:.1em}}

/* === Desktop refinement round: distinct cinema still + readable type scale. === */
.cinema-chapter>.cinema-chapter-still{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;
}
.review-google{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.review-google:hover,.review-google:focus-visible{opacity:.62}
.reviews .review-stack footer .review-google{color:#70665c}
.location-band figure img{object-position:center 34%}

@media(min-width:901px){
  .cinema-chapter>.cinema-chapter-mobile-video{display:none}

  /* 13px floor for secondary / interface typography on desktop. */
  .desktop-nav,
  .header-cta,
  .hero-topline,
  .eyebrow,
  .button,
  .sound-button,
  .hero-scroll,
  .manifesto-index,
  .micro-facts span,
  .text-link,
  .lookbook-grid figcaption,
  .film-card figcaption,
  .package-kicker,
  .package-price small,
  .package-foot a,
  .addons>p,
  .addons>div,
  .location-list span,
  .archive-button,
  .review-stack footer,
  .review-stack footer b,
  .review-stack footer .review-google,
  .dress-slide-top,
  .dress-slide-copy p,
  .dress-roller-status,
  .dress-toggle,
  .dress-gesture-note,
  .short-index,
  .short-label,
  .site-footer,
  .site-footer small,
  .site-footer a{font-size:13px;line-height:1.45}

  /* Descriptive copy should read as body text, not metadata. */
  .feature-copy>p:not(.eyebrow),
  .section-heading>p,
  .gallery-head>p,
  .dress-head>p,
  .films-copy>p:last-child,
  .cinema-chapter-copy>p:last-child,
  .shorts .section-heading>p{font-size:16px;line-height:1.65}

  .package-card li{font-size:14px;line-height:1.5}
  .package-foot span{font-size:18px;line-height:1.42;max-width:260px}
}

@media(max-width:900px){
  .cinema-chapter>.cinema-chapter-still{display:none}
  .cinema-chapter>.cinema-chapter-mobile-video{display:block}
  .reviews .review-stack footer .review-google{font-size:14px}
}
@media(max-width:900px){.manifesto-index{font-size:14px;line-height:1.4;letter-spacing:.12em}}

/* === Final city CTA: keep more of the subject in the desktop crop. === */
@media(min-width:901px){
  .final-cta{height:100svh;min-height:760px}
  .final-cta>img{object-position:50% 62%}
}

/* === Review metadata polish: airier uppercase, no decorative arrow glyphs. === */
.review-stack footer b{
  letter-spacing:.16em;
}
.review-stack footer .review-google{
  letter-spacing:.14em;
}
@media(max-width:900px){
  .review-stack footer{gap:24px}
  .review-stack footer b{letter-spacing:.15em}
  .review-stack footer .review-google{letter-spacing:.13em}
}

/* === Final CTA composition: protect the human focal point from display copy. === */
@media(min-width:901px){
  .final-cta{
    place-items:center start;
  }
  .final-shade{
    background:
      linear-gradient(90deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.40) 34%,rgba(0,0,0,.12) 66%,rgba(0,0,0,.08) 100%),
      linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.12));
  }
  .final-copy{
    width:min(46vw,680px);
    margin-left:6vw;
    text-align:left;
  }
  .final-copy h2{
    max-width:680px;
    font-size:clamp(68px,6.4vw,108px);
    line-height:.90;
    margin-bottom:40px;
  }
  .final-copy .button{justify-content:flex-start}
}

@media(max-width:900px){
  .final-cta{
    display:block;
    position:relative;
  }
  .final-cta>img{
    object-position:46% 40%;
  }
  .final-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.26) 34%,rgba(0,0,0,.10) 58%,rgba(0,0,0,.38) 100%),
      linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.04) 76%);
  }
  .final-copy{
    position:absolute;
    z-index:2;
    top:13%;
    left:20px;
    right:20px;
    max-width:350px;
    padding:0;
    text-align:left;
  }
  .final-copy .eyebrow{margin-bottom:16px}
  .final-copy h2{
    max-width:350px;
    font-size:clamp(50px,13.4vw,66px);
    line-height:.90;
    margin-bottom:28px;
  }
  .final-copy .button{justify-content:flex-start}
}
@media(min-width:901px){
  .final-copy{width:min(43vw,620px)}
  .final-copy h2{max-width:620px;font-size:clamp(66px,6.1vw,104px)}
}


/* WordPress parity bridge: neutralize block-theme wrappers around the imported prototype. */
html body .wp-site-blocks,
html body .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
html body .wp-site-blocks > *,
html body .wp-block-post-content > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
.hero > video {
  object-position: var(--diafoto-hero-desktop-x, 50%) var(--diafoto-hero-desktop-y, 48%);
}
@media (max-width: 900px) {
  .hero > video {
    object-position: var(--diafoto-hero-mobile-x, 50%) var(--diafoto-hero-mobile-y, 42%);
  }
}

/* === Shared WordPress Interactivity API mobile carousel contract === */
.df-carousel-chevron{display:none}
@media(max-width:900px){
  [data-df-carousel-rail]{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  [data-df-carousel-rail]::-webkit-scrollbar{display:none}

  /* Dresses: preserve the same card size, but let Safari own horizontal touch physics. */
  .dress-deck-shell{width:auto;max-width:none;margin:0 -20px;position:relative}
  .dress-deck-shell .dress-deck{
    position:relative;width:auto;max-width:none;height:auto;aspect-ratio:auto;margin:0;perspective:none;
    display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
    padding:0 29px 14px;touch-action:auto;cursor:auto;user-select:auto;-webkit-user-select:auto;
  }
  .dress-deck .dress-slide,
  .dress-deck .dress-slide.is-active,
  .dress-deck .dress-slide.is-next,
  .dress-deck .dress-slide.is-prev{
    position:relative;inset:auto;flex:0 0 calc(100vw - 58px);max-width:520px;aspect-ratio:4/5;
    opacity:1;pointer-events:auto;transform:none;filter:none;transition:none;will-change:auto;
    scroll-snap-align:center;scroll-snap-stop:always;
  }

  .film-strip,.shorts-grid{
    scroll-snap-type:x mandatory;touch-action:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  }
  .film-card,.short-card{scroll-snap-stop:always}

  /* One visual language for every media rail: glyph only, large invisible hit area. */
  .dress-overlay-nav.df-carousel-chevron,
  .film-chevron.df-carousel-chevron,
  .shorts-chevron.df-carousel-chevron{
    display:block;position:absolute;z-index:12;top:50%;transform:translateY(-50%);
    width:58px;height:82px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;
    color:#fff;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    cursor:pointer;opacity:.96;filter:drop-shadow(0 2px 3px rgba(0,0,0,.95)) drop-shadow(0 0 9px rgba(0,0,0,.55));
    transition:opacity .18s ease;
  }
  .dress-overlay-nav.df-carousel-chevron.is-left,.film-chevron.df-carousel-chevron.is-left{left:0}
  .dress-overlay-nav.df-carousel-chevron.is-right,.film-chevron.df-carousel-chevron.is-right{right:0}
  .shorts-chevron.df-carousel-chevron.is-left{left:18px}
  .shorts-chevron.df-carousel-chevron.is-right{right:18px}
  .df-carousel-chevron span::before{display:none!important}
  .df-carousel-chevron span::after{
    content:""!important;position:absolute!important;left:50%!important;top:50%!important;
    width:18px!important;height:18px!important;border:0!important;border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
  }
  .df-carousel-chevron.is-left span::after{transform:translate(-36%,-50%) rotate(-135deg)!important}
  .df-carousel-chevron.is-right span::after{transform:translate(-64%,-50%) rotate(45deg)!important}
  .df-carousel-chevron:disabled{opacity:.18!important;cursor:default}
  .df-carousel-chevron:not(:disabled):active{opacity:.58}
  .df-carousel-chevron:focus-visible{outline:1px solid rgba(255,255,255,.78);outline-offset:-8px}
}
@media(max-width:520px){
  .dress-deck-shell .dress-deck{padding-left:27px;padding-right:27px}
  .dress-deck .dress-slide,.dress-deck .dress-slide.is-active,.dress-deck .dress-slide.is-next,.dress-deck .dress-slide.is-prev{flex-basis:calc(100vw - 54px)}
}

/* === Gallery fullscreen viewer: tile grid stays a grid; only the opened dialog is a shared carousel. === */
body.lightbox-open{overflow:hidden}
.lightbox{overflow:hidden;color:#fff;background:rgba(8,8,8,.985)}
.lightbox-rail{width:100%;height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto}
.lightbox-rail::-webkit-scrollbar{display:none}
.lightbox-slide{flex:0 0 100%;width:100%;height:100%;margin:0;padding:4vh 5vw;display:grid;place-items:center;scroll-snap-align:center;scroll-snap-stop:always}
.lightbox-slide img{width:100%;height:100%;object-fit:contain;padding:0}
.lightbox .lightbox-close{position:fixed;z-index:20;right:max(14px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));width:50px;height:50px;padding:0;border:0;background:transparent;color:#fff;font:300 38px/1 var(--sans);cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.9))}
.lightbox-counter{position:fixed;z-index:18;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);font-size:14px;line-height:1.3;letter-spacing:.14em;color:rgba(255,255,255,.78);text-transform:uppercase;pointer-events:none}
.lightbox .lightbox-chevron.df-carousel-chevron{display:block;position:fixed;z-index:18;top:50%;transform:translateY(-50%);width:62px;height:92px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:#fff;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.95)) drop-shadow(0 0 9px rgba(0,0,0,.55));cursor:pointer}
.lightbox .lightbox-chevron.is-left{left:0}.lightbox .lightbox-chevron.is-right{right:0}
.lightbox .lightbox-chevron span::before{display:none!important}
.lightbox .lightbox-chevron span::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:20px!important;height:20px!important;border:0!important;border-top:2px solid currentColor!important;border-right:2px solid currentColor!important}
.lightbox .lightbox-chevron.is-left span::after{transform:translate(-36%,-50%) rotate(-135deg)!important}
.lightbox .lightbox-chevron.is-right span::after{transform:translate(-64%,-50%) rotate(45deg)!important}
.lightbox .lightbox-chevron:disabled{opacity:.18!important;cursor:default}
@media(max-width:900px){
  .lightbox-slide{padding:max(58px,env(safe-area-inset-top)) 8px max(46px,env(safe-area-inset-bottom))}
  .lightbox .lightbox-chevron.df-carousel-chevron{width:56px;height:86px}
  .lightbox-counter{font-size:13px}
}
