@font-face{font-family:Heebo;src:url('assets/heebo-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Heebo;src:url('assets/heebo-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Heebo;src:url('assets/heebo-900.woff') format('woff');font-weight:900;font-display:swap}
:root{--pink:#efa5b8;--light-pink:#f9dbe3;--ink:#6b1f3d;--white:#fff;--line:#6b1f3d30;--gutter:5.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--white);color:var(--ink);font-family:Heebo,Arial,sans-serif;font-size:1.125rem;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible,.gallery:focus-visible{outline:3px solid #a62050;outline-offset:5px}p,h1,h2,h3,figure{margin:0}h1,h2{font-weight:900;letter-spacing:-.045em;line-height:1.14}h2{font-size:clamp(2.5rem,4.6vw,4.5rem)}.skip{position:fixed;top:-100px;right:20px;padding:12px;background:#fff;z-index:99}.skip:focus{top:15px}.header{position:relative;z-index:20;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px var(--gutter);min-height:88px}.brand{display:block;width:200px;flex-shrink:0}.brand img{filter:brightness(0) saturate(100%) invert(15%) sepia(39%) saturate(1585%) hue-rotate(298deg) brightness(94%) contrast(98%)}nav{display:flex;gap:38px;font-size:0.9375rem;font-weight:600}nav a{position:relative}nav a:after{content:'';position:absolute;height:1px;bottom:-4px;right:0;width:0;background:currentColor;transition:width .2s}nav a:hover:after{width:100%}.header-cta{display:flex;gap:35px;align-items:center;border-bottom:1px solid;padding:6px 0;font-weight:600;font-size:1rem}.header-cta span{font-size:1.438rem}
.hero{height:min(740px,calc(100svh - 88px));min-height:520px;position:relative;color:#fff;isolation:isolate;overflow:hidden}.hero picture,.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center 42%;animation:hero-in 1.2s ease-out both}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.55) 65%,rgba(0,0,0,.62));z-index:1}.hero-content{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px var(--gutter) 95px;text-align:center}.hero-kicker{font-family:Arial,sans-serif;font-size:0.875rem;letter-spacing:.22em;font-weight:600;margin-bottom:28px}.hero-logo{width:min(960px,83vw);height:auto;filter:drop-shadow(0 1px 10px #6b1f3d10)}h1{font-size:clamp(1.55rem,2.4vw,2.5rem);font-weight:400;letter-spacing:-.025em;margin-top:24px}.hero-bottom{position:absolute;bottom:32px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:3;font-size:0.8125rem;letter-spacing:.05em;direction:ltr}.hero-bottom a{direction:rtl;font-size:0.9375rem;display:flex;align-items:center;gap:25px;letter-spacing:0}.hero-bottom a span{font-size:1.625rem}
.event-bar{background:var(--pink);display:grid;grid-template-columns:1.05fr 1fr .85fr;gap:40px;align-items:center;padding:42px var(--gutter);border-bottom:1px solid var(--line)}.small-label,.section-index{font-size:0.75rem;letter-spacing:.1em;font-weight:600}.event-action{display:flex;flex-direction:column;gap:11px}.button{display:flex;justify-content:space-between;align-items:center;gap:35px;background:#fff;color:var(--ink);min-height:59px;padding:17px 25px;font-size:1.062rem;font-weight:600;border:1px solid var(--ink);transition:background .25s,color .25s}.button:hover{background:var(--light-pink);color:var(--ink)}.button span{font-family:Arial,sans-serif;font-size:1.5rem}.event-action p{font-size:0.875rem;text-align:center}.section{padding:85px var(--gutter)}.about{display:grid;grid-template-columns:.55fr 1.8fr .65fr;gap:35px;align-items:center}.about h2{font-size:clamp(2.1rem,3.7vw,3.6rem);margin-bottom:17px}.about p{font-size:1.062rem;line-height:1.8}.section-index{text-align:right;font-family:Arial,sans-serif}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-top .section-index{margin-bottom:16px}.side-note{font-size:1rem;padding-bottom:5px;border-bottom:1px solid var(--ink)}.discover{padding-top:25px}.looks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;align-items:start}.looks figure:nth-child(2){margin-top:70px}.photo-frame{overflow:hidden;background:var(--light-pink);aspect-ratio:3/4}.photo-frame img{height:100%;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.looks figure:first-child img{object-position:center 38%}.looks figure:nth-child(2) img{object-position:63% center}.looks figure:nth-child(3) img{object-position:42% center}@media(hover:hover){.looks figure:hover img{transform:scale(1.045)}}figcaption{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:14px}figcaption span{font-size:1.188rem;font-weight:600}figcaption small{font-size:0.8125rem}
.moments{overflow:hidden}.moments h2{font-size:clamp(2rem,3.7vw,3.7rem)}:is(.gallery-nav,.brands-nav){display:flex;gap:8px}:is(.gallery-nav,.brands-nav)[hidden]{display:none}:is(.gallery-nav,.brands-nav) button{width:47px;height:47px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-family:Arial,sans-serif;font-size:1.375rem;transition:background .2s}:is(.gallery-nav,.brands-nav) button:hover{background:var(--light-pink)}.gallery{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;overscroll-behavior-x:contain}.gallery::-webkit-scrollbar{display:none}.gallery figure{flex:0 0 26%;min-width:230px;aspect-ratio:3/4;scroll-snap-align:start;background:var(--light-pink)}.gallery img,.gallery video{width:100%;height:100%;object-fit:cover}.gallery video{object-fit:contain;background:var(--light-pink)}.gallery-caption{font-size:0.8125rem;display:flex;gap:12px;align-items:center;margin-top:20px;color:#7a3e54}.gallery-caption a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.vendors{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:8%;padding:65px var(--gutter);background:var(--pink)}.vendors h2{font-size:clamp(2rem,4vw,4rem);margin-top:22px}.vendor-action{max-width:400px;width:100%}.vendor-action p{font-size:1.062rem;margin-bottom:22px}.next{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:44px var(--gutter);border-bottom:1px solid var(--line)}.next h2{font-size:1.688rem}.next p{font-size:1rem}footer{background:var(--pink);padding:48px var(--gutter) 22px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{width:290px}.socials{display:flex;gap:30px;direction:ltr;font-family:Arial,sans-serif;font-size:0.8125rem;font-weight:600;letter-spacing:.05em}.socials a:hover{text-decoration:underline}.footer-bottom{font-size:0.75rem;border-top:1px solid var(--line);padding-top:20px;margin-top:45px}.mobile-cta{display:none}
@keyframes hero-in{from{transform:scale(1.04);opacity:.6}to{transform:scale(1);opacity:1}}
@media(min-width:1700px){:root{--gutter:max(5.2vw,calc((100vw - 1550px)/2))}}@media(max-width:1000px){nav{gap:20px}.brand{width:170px}.event-bar{gap:22px}.button{gap:15px;padding:17px 20px}.about{grid-template-columns:.5fr 2fr}.looks{gap:18px}figcaption{flex-direction:column;gap:3px}.gallery figure{flex-basis:32%}.vendors{gap:5%}}
@media(max-width:650px){:root{--gutter:22px}html{scroll-padding-top:24px}body{font-size:1rem}.header{min-height:74px;padding:18px var(--gutter);gap:15px;flex-wrap:wrap}.brand{width:160px}.header-cta{font-size:0.875rem;gap:20px;padding:0}.header-cta span{font-size:1.312rem}nav{order:3;width:100%;justify-content:space-between;font-size:0.875rem;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.hero{height:530px;height:min(610px,72svh);min-height:410px}.hero-photo{object-position:center 40%}.hero-content{padding:25px 16px 75px}.hero-kicker{font-size:0.75rem;letter-spacing:.16em;margin-bottom:23px}.hero-logo{width:94%;max-width:500px}h1{font-size:1.5rem;margin-top:23px}.hero-bottom{bottom:20px;font-size:0.625rem;letter-spacing:.02em}.hero-bottom a{font-size:0.875rem;gap:14px}.hero-bottom a span{font-size:1.375rem}.event-bar{grid-template-columns:1.05fr 1fr;gap:23px 20px;padding:30px var(--gutter)}.small-label{font-size:0.75rem;letter-spacing:0}.event-action{grid-column:1/-1;gap:8px}.button{font-size:1rem;min-height:54px;padding:14px 20px}.event-action p{font-size:0.8125rem}.section{padding:55px var(--gutter)}.about{grid-template-columns:1fr;gap:21px}.about h2{font-size:2.25rem;margin-bottom:13px}.about p{font-size:1rem;line-height:1.8}.desktop-break{display:none}.section-index{font-size:0.75rem}.section-top{display:block;margin-bottom:26px}.section-top h2{font-size:2.25rem}.side-note{font-size:0.875rem;display:inline-block;margin-top:18px;padding-bottom:3px}.discover{padding-top:5px;padding-bottom:55px}.looks{display:flex;overflow-x:auto;gap:17px;scroll-snap-type:x mandatory;padding-bottom:5px;scrollbar-width:none;margin-left:calc(-1*var(--gutter));padding-left:var(--gutter)}.looks::-webkit-scrollbar{display:none}.looks figure{flex:0 0 80%;scroll-snap-align:start}.looks figure:nth-child(2){margin-top:0}.photo-frame{aspect-ratio:3/4}figcaption{flex-direction:row;align-items:baseline;gap:8px;margin-top:13px;padding-bottom:12px}figcaption span{font-size:1.125rem}figcaption small{font-size:0.75rem}.moments .section-top{display:flex;gap:10px;align-items:flex-end}.moments h2{font-size:1.875rem;max-width:250px}:is(.gallery-nav,.brands-nav){gap:6px}:is(.gallery-nav,.brands-nav) button{width:37px;height:37px;font-size:1.188rem}.gallery{gap:15px;margin-left:calc(-1*var(--gutter));padding-left:var(--gutter)}.gallery figure{flex:0 0 73%;min-width:0;aspect-ratio:3/4}.gallery-caption{font-size:0.75rem;gap:9px;margin-top:16px}.vendors{grid-template-columns:1fr;gap:30px;padding:45px var(--gutter)}.vendors h2{font-size:2.188rem;margin-top:20px}.vendor-action{max-width:100%}.vendor-action p{font-size:1rem;margin-bottom:17px}.next{display:block;padding:32px var(--gutter)}.next h2{font-size:1.562rem;margin-bottom:10px}.next p{font-size:0.9375rem}footer{padding:38px var(--gutter) 95px}.footer-top{align-items:flex-start;flex-direction:column;gap:30px}.footer-brand{width:220px}.socials{gap:27px;font-size:0.75rem}.footer-bottom{margin-top:30px;font-size:0.75rem}.mobile-cta{display:flex;align-items:center;position:fixed;bottom:0;left:0;right:0;z-index:30;gap:0;background:#fff;padding:10px 16px max(10px,env(safe-area-inset-bottom));box-shadow:0 -3px 20px #6b1f3d0a;border-top:1px solid var(--line);transform:translateY(120%);transition:transform .3s}.mobile-cta.visible{transform:translateY(0)}.mobile-cta a:first-child{background:var(--pink);color:var(--ink);flex:1;min-height:45px;display:flex;justify-content:space-between;align-items:center;padding:10px 17px;font-weight:600;font-size:0.875rem}.mobile-cta a:last-child{padding:12px 15px 12px 0;font-size:0.875rem}.mobile-cta span{font-family:Arial,sans-serif;font-size:1.25rem}}
@media(max-width:360px){:is(.gallery-nav,.brands-nav){display:none}.socials{gap:20px}.mobile-cta a:last-child{font-size:0.75rem}.mobile-cta a:first-child{font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Comfortable touch targets and visible, predictable keyboard navigation. */
.looks:focus-visible{outline:3px solid #a62050;outline-offset:5px}
.gallery:focus-visible{outline-offset:-3px}
:is(.gallery-nav,.brands-nav) button:disabled{color:#b28494;border-color:#edd5dd;cursor:default;background:#fff}
:is(.gallery-nav,.brands-nav) button:not(:disabled):active,.button:active{transform:translateY(1px)}
nav a,.header-cta,.hero-bottom a,.socials a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
:is(.gallery-nav,.brands-nav){flex-shrink:0}
.mobile-cta{visibility:hidden}
.mobile-cta.visible{visibility:visible}
@media(max-width:650px){
  html{scroll-padding-bottom:100px}
  .header{padding-top:12px;padding-bottom:12px;row-gap:8px}
  nav{padding-top:4px}
  :is(.gallery-nav,.brands-nav) button{width:44px;height:44px}
  .gallery-caption{flex-wrap:wrap}
  .gallery-caption a{min-height:44px;display:inline-flex;align-items:center}
  figcaption{flex-wrap:wrap}
  .looks:focus-visible{outline-offset:-3px}
  .mobile-cta a:last-child{min-height:44px;display:flex;align-items:center}
}

/* Reflow at the tablet/mobile boundary without squeezing registration controls. */
.event-bar{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.85fr)}
.event-bar>*,.section-top>*,.about>*,.vendors>*{min-width:0}
.button span{flex-shrink:0}
.footer-top,.footer-bottom,.socials{flex-wrap:wrap}
@media(min-width:651px) and (max-width:850px){
  .header{flex-wrap:wrap;row-gap:8px}
  .header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:4px}
  .event-bar{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .event-action{grid-column:1/-1}
}
@media(max-width:650px){
  .event-bar{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}


  .hero-bottom{font-size:.75rem;gap:16px}

  .moments .section-top{flex-wrap:wrap}

}

/* Campaign update: the fair, sale and authentic film lead; music closes the page. */
.event-bar{grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr);gap:50px;padding-block:46px}
.event-details .section-index{margin-bottom:18px}
.campaign-details{font-family:Arial,sans-serif;font-size:clamp(1.6rem,3.8vw,3.9rem);font-weight:400;letter-spacing:-.035em;line-height:1.3;text-align:left;display:table}
.campaign-details>span{display:block;white-space:normal}
.campaign-details time,.campaign-details strong{font-weight:900;white-space:nowrap}
.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:.9375rem}
.event-action{max-width:380px;width:100%;justify-self:end}
.about{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:8%;align-items:center;padding-block:90px}
.about-copy>.section-index{margin-bottom:25px}
.about h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.18;max-width:690px;margin-bottom:25px}
.about-copy>p:not(.section-index){font-size:1.0625rem;line-height:1.85;max-width:610px;margin-bottom:18px}
.about-facts{display:flex;gap:40px;border-top:1px solid var(--line);padding-top:25px;margin:30px 0 0}
.about-facts>div{display:flex;flex-direction:column-reverse;gap:3px}
.about-facts dt{font-size:.875rem}
.about-facts dd{margin:0;font-family:Arial,sans-serif;font-weight:600;font-size:2.4rem;line-height:1.1;letter-spacing:-.05em}
.aftermovie{width:100%;max-width:340px;justify-self:center}
.video-wrap{position:relative;background:var(--light-pink);aspect-ratio:512/910;isolation:isolate;overflow:hidden}
.aftermovie video{display:block;width:100%;height:100%;object-fit:contain}
.aftermovie figcaption{display:block;text-align:center;margin-top:12px;padding:0;border:0;font-size:.875rem;color:#7a3e54}
.discover .side-note{border:0;line-height:1.7;max-width:390px;font-size:1rem}
.sale{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:9%;background:var(--light-pink);padding-block:75px}
.sale-copy{max-width:520px}
.sale h2{font-family:Arial,sans-serif;font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-.06em;text-align:left;margin:26px 0 32px}
.sale h2>span{display:block;font-size:.23em;letter-spacing:.13em;line-height:1.4;margin-bottom:15px;font-weight:600}
.sale-lead{font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:600;line-height:1.35;margin-bottom:20px}
.sale-copy>p:last-child{max-width:390px;line-height:1.85;font-size:1.0625rem}
.sale-art{max-width:470px;width:100%;justify-self:center}
.sale-art img{width:100%;height:auto}
.hype{border-top:1px solid var(--line);background:#fff;padding-block:65px}
.hype-heading{text-align:center;margin-bottom:30px}
.hype-heading .section-index{text-align:center;margin-bottom:16px}
.hype-heading h2{font-family:Arial,sans-serif;letter-spacing:-.035em;font-size:clamp(1.5rem,3vw,3rem);line-height:1.2}
.hype-heading h2 span{font-weight:400;margin:0 .1em}
.hype-heading>p:last-child{margin-top:12px;font-size:1rem}
.hype-main{width:min(100%,300px);margin:0 auto 28px}
.hype-main img,.lineup img{width:100%;height:auto}
.lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:850px;margin:auto;direction:ltr}
.lineup:focus-visible{outline:3px solid #a62050;outline-offset:5px}
footer{background:var(--pink);color:var(--ink);padding-top:55px}
.footer-brand img{filter:none}
.footer-top{align-items:center;gap:35px}
.socials{gap:12px;font-size:.875rem;letter-spacing:.055em}
.socials a{min-height:76px;display:flex;gap:14px;padding:16px 21px;background:#fff;border:1px solid #fff;transition:background .2s,color .2s,border-color .2s;flex:1}
.socials svg{width:25px;height:25px;flex-shrink:0}
.socials a span{display:flex;flex-direction:column;gap:4px;white-space:nowrap}
.socials small{font-family:Arial,sans-serif;letter-spacing:0;font-size:.75rem;font-weight:400;color:#7a3e54}
 .socials a:hover,.socials a:active{background:var(--light-pink);color:var(--ink);border-color:var(--ink);text-decoration:none}
.socials a:hover small,.socials a:active small{color:var(--ink)}
footer a:focus-visible{outline-color:var(--ink)}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:.9375rem}
.contact>span{color:var(--ink)}
.contact a{min-height:44px;display:inline-flex;align-items:center;font-size:1.0625rem;text-decoration:underline;text-underline-offset:5px;word-break:break-word}
.contact a:hover{color:var(--ink);text-decoration-thickness:2px}
.footer-bottom{border-top:1px solid var(--line);margin-top:24px;color:var(--ink)}
@media(max-width:850px){
  .event-bar{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:25px}
  .event-action{grid-column:auto}
  .campaign-details{font-size:clamp(1.6rem,4vw,2.25rem)}
  .about{gap:6%;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr)}
  .about-facts{gap:22px}
  .about-facts dd{font-size:2rem}
  .sale{gap:6%}
  .sale h2{font-size:clamp(3rem,7.5vw,5rem)}
  .footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .event-bar{grid-template-columns:1fr;padding-block:32px;gap:24px}
  .event-details .section-index{margin-bottom:15px}
  .campaign-details{font-size:clamp(1.4rem,6.4vw,2.55rem);margin:0 auto;text-align:center;letter-spacing:-.025em}
  .event-meta{justify-content:center;font-size:.875rem;gap:8px;margin-top:15px}
  .event-action{grid-column:auto;max-width:none}
  .about{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-block:50px}
  .about-copy>.section-index{margin-bottom:20px}
  .about h2{font-size:clamp(1.75rem,7vw,2.6rem);line-height:1.22;margin-bottom:20px}
  .about-copy>p:not(.section-index){font-size:1rem;margin-bottom:15px}
  .about-facts{justify-content:space-between;gap:18px;padding-top:21px;margin-top:23px}
  .about-facts dt{font-size:.8125rem}
  .about-facts dd{font-size:2.1rem}
  .aftermovie{align-self:center;width:min(100%,320px)}
  .discover .side-note{margin-top:15px;padding:0;font-size:1rem}
  .sale{grid-template-columns:1fr;gap:30px;padding-block:45px}
  .sale-copy{max-width:100%}
  .sale h2{font-size:clamp(3rem,18vw,6rem);margin:22px 0 25px}
  .sale-lead{font-size:1.6rem;margin-bottom:15px}
  .sale-copy>p:last-child{font-size:1rem;max-width:100%}
  .sale-art{max-width:400px}
  .hype{padding-block:45px}
  .hype-heading{margin-bottom:25px}
  .hype-heading h2{font-size:clamp(1.25rem,5.3vw,2rem)}
  .hype-heading>p:last-child{font-size:.9375rem}
  .hype-main{width:min(80%,270px);margin-bottom:20px}
  .lineup{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:12px;padding:0 var(--gutter) 12px;margin-inline:calc(-1*var(--gutter));scrollbar-width:thin;scrollbar-color:#ae4666 #f8e4eb}
  .lineup figure{flex:0 0 43%;scroll-snap-align:start}
  .lineup:focus-visible{outline-offset:-3px}
  .socials{width:100%;gap:12px}
  .socials a{min-width:0;padding:15px 12px;gap:10px;font-size:.8125rem}
  .socials svg{width:22px;height:22px}
  .socials small{font-size:.75rem}
  .contact{display:block;margin-top:30px;padding-top:22px}
  .contact>span{display:block;font-size:.875rem;margin-bottom:4px}
  .contact a{font-size:1rem}
}
@media(max-width:360px){.socials{flex-direction:column}.socials a{padding:15px 20px}.about-facts{gap:12px}}

/* Full photographs, including group shots and the original photographer credits. */
.gallery figure{flex:0 0 auto;min-width:0;height:clamp(240px,28vw,420px);aspect-ratio:var(--photo-ratio,3/4)}
.gallery img{object-fit:contain}
@media(max-width:650px){.gallery figure{height:clamp(180px,54vw,300px)}}

/* Original brand campaign cards: full artwork, native swipe and shared RTL controls. */
.meet-brands{padding-top:15px;overflow:hidden}
.meet-brands h2{font-family:Arial,sans-serif;font-size:clamp(2.75rem,6.6vw,6.5rem);line-height:.92;letter-spacing:-.055em;text-align:left}
.meet-brands .section-top{align-items:flex-end}
.meet-brands .section-index{font-family:Heebo,Arial,sans-serif;letter-spacing:.04em;font-size:.875rem;margin-bottom:20px}
.brand-gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ae4666 #f9dbe3;padding:5px 5px 20px;margin-inline:-5px}
.brand-gallery figure{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start;background:var(--light-pink)}
.brand-gallery a{display:block;position:relative;transition:opacity .2s}
.brand-gallery img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.brand-gallery a:hover{opacity:.88}
.brand-gallery a:focus-visible{outline-offset:-4px}
.brand-post-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--white);color:var(--ink);font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.brand-gallery:focus-visible{outline:3px solid #a62050;outline-offset:-3px}
@media(max-width:850px){.brand-gallery figure{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:650px){
 .meet-brands{padding-top:0;padding-bottom:50px}
 .meet-brands .section-top{display:flex;flex-wrap:wrap;gap:22px}
 .meet-brands h2{font-size:clamp(2.7rem,12vw,4.5rem)}
 .brand-gallery{gap:15px}
 .brand-gallery figure{flex-basis:82%}
 .meet-brands .brands-nav{display:flex}
 .meet-brands .brands-nav[hidden]{display:none}
}

.brand-gallery video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:var(--pink)}
.brand-gallery video:focus-visible{outline-offset:-4px}

/* Accessibility review 2026-10-05: stable text contrast and narrow-screen controls. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* White text over a continuous photo shade, without colored text banners. */
.hero-kicker,.hero h1,.hero-bottom>span,.hero-bottom>a{background:transparent;padding:6px 12px;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.hero-bottom a:focus-visible{outline-color:white}
:where(a,button,video,[tabindex]){scroll-margin-block:24px 110px}
@media(max-width:360px){.gallery-nav{display:flex}.gallery-nav[hidden]{display:none}}
.accessibility-page{max-width:900px;margin:auto;padding:40px 24px 70px;overflow-wrap:anywhere}
.accessibility-page h1{font-size:2.2rem;font-weight:900;margin:25px 0}
.accessibility-page h2{font-size:1.4rem;margin:28px 0 12px}
.accessibility-page p{margin:12px 0;line-height:1.8}
.accessibility-page a{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:44px}

.motion-control{display:block;margin:0 0 20px;padding:10px 16px;min-height:44px;border:1px solid var(--ink);background:white;color:var(--ink);font-size:.875rem;cursor:pointer}
.motion-control[hidden]{display:none}
.motion-control[aria-disabled="true"]{cursor:default}
.motion-control:hover{background:var(--light-pink)}
@media(forced-colors:active){a:focus-visible,button:focus-visible,video:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight}.hero-kicker,.hero h1,.hero-bottom>span,.hero-bottom>a{background:Canvas;color:CanvasText;text-shadow:none}.socials a,.button{border:1px solid ButtonText}}

/* Upcoming fair lineup: static burgundy editorial typography. */
.participant-section{background:var(--light-pink);text-align:center;padding-block:62px;border-bottom:1px solid var(--line)}
.participant-heading{max-width:850px;margin:0 auto 32px}
.participant-kicker{font-family:Georgia,serif;font-style:italic;font-size:clamp(2.5rem,6vw,5.3rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:20px}
.participant-heading h2{font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.5;font-weight:600;letter-spacing:0}
.participant-list{list-style:none;padding:0;margin:0 auto;max-width:1120px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 0}
.participant-list li{max-width:100%;display:flex;align-items:center;font-family:Arial,sans-serif;font-size:clamp(.95rem,1.65vw,1.35rem);line-height:1.55;font-weight:600;letter-spacing:.025em}
.participant-list li:not(:last-child)::after{content:'•';color:#a62050;margin:0 7px}
.participant-list span{padding:5px 7px;overflow-wrap:anywhere;color:var(--ink)}
@media(max-width:650px){.participant-section{padding:40px 18px}.participant-list{gap:5px 0}.participant-list li{font-size:.875rem;letter-spacing:.01em}.participant-list li:not(:last-child)::after{margin:0 2px}.participant-list span{padding:5px}.participant-heading{margin-bottom:24px}}

/* Soft, scroll-linked photo depth; unsupported browsers keep the original hero. */
@supports (animation-timeline: view()) and (animation-range: exit 0% exit 100%) {
  @media (prefers-reduced-motion: no-preference) {
    .hero>picture{animation:hero-depth 1s linear both;animation-timeline:view(block);animation-range:exit 0% exit 100%}
  }
}
@keyframes hero-depth{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.1) translateY(4%)}}

/* Rounded registration controls with the existing pink, white and burgundy palette. */
.header-cta{min-height:48px;justify-content:center;padding:11px 26px;gap:0;border:0;border-radius:999px;background:var(--pink);line-height:1.4;transition:background .25s,color .25s,transform .25s}
.button{border-radius:999px;justify-content:center;border-color:var(--line);font-weight:600;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.mobile-cta a:first-child{border-radius:999px;justify-content:center;min-height:48px;background:var(--pink)}
@media(hover:hover){
  .header-cta:hover{background:var(--light-pink);transform:translateY(-2px)}
  .button:hover{background:white;transform:translateY(-2px);box-shadow:0 6px 18px #6b1f3d12}
}
.header-cta:active{transform:translateY(1px)}
@media(max-width:650px){.header-cta{padding:10px 22px;min-height:44px}.mobile-cta a:last-child{padding-inline:14px 0}}
@media(forced-colors:active){.header-cta{border:1px solid ButtonText}}
@media(prefers-reduced-motion:reduce){.hero>picture{animation:none;transform:none}.header-cta:hover,.button:hover,.header-cta:active,.button:active{transform:none}}

/* Fashion headings: a restrained small label and expressive serif lettering. */
.meet-brands h2,.sale h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.03}
.meet-brands h2{font-size:clamp(3.5rem,7.6vw,8rem)}
.sale h2{font-size:clamp(3.1rem,6.4vw,6.4rem);margin-block:28px 34px}
.meet-brands h2>span,.sale h2>span{display:block;font-family:Arial,sans-serif;font-style:normal;font-weight:600;font-size:clamp(.875rem,1.25vw,1.125rem);letter-spacing:.18em;line-height:1.6;margin-bottom:12px}
.meet-brands h2 em,.sale h2 em{font-weight:400;font-style:italic;display:block}

/* A white invitation frame keeps the event and registration in one clear composition. */
.event-bar{display:block;padding:34px var(--gutter)}
.event-invitation{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.7fr);gap:40px;align-items:center;border:1px solid white;padding:44px clamp(22px,3.8vw,58px);max-width:1380px;margin-inline:auto}
.event-invitation>*{min-width:0}
.event-invitation .event-action{grid-column:auto}
.event-invitation .button{min-height:60px}

/* One generous photo per step, with a preview of the next; all images stay uncropped. */
.gallery{margin-inline:0;padding-inline:0;gap:24px;align-items:center}
.gallery figure{flex:0 0 82%;height:clamp(340px,43vw,620px);aspect-ratio:auto;background:var(--light-pink)}
.gallery img{width:100%;height:100%;object-fit:contain}
.gallery-nav{align-items:center;gap:10px}
.gallery-count{font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.1em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-end:12px}
@media(max-width:850px){
 .event-invitation{grid-template-columns:1fr;gap:28px;padding:34px 26px}
 .event-invitation .event-action{justify-self:start;max-width:360px}
}
@media(max-width:650px){
 .meet-brands h2{font-size:clamp(2.6rem,13.8vw,5.6rem)}
 .sale h2{font-size:clamp(2.6rem,13.8vw,5.6rem);margin-block:24px 28px}
 .event-bar{padding:22px 16px}
 .event-invitation{padding:28px 16px;gap:25px}
 .event-invitation .event-action{justify-self:stretch;max-width:none}
 .event-invitation .button{min-height:54px}
 .moments .section-top{align-items:flex-start;gap:22px}
 .moments .section-top>div:first-child{flex:1 1 100%}
 .gallery{gap:14px}
 .gallery figure{flex-basis:88%;height:clamp(250px,77vw,440px)}
 .gallery-count{margin-inline-end:8px}
}

/* Between events: understated announcement, static without JavaScript. */
.hero-thanks{max-width:540px;margin:20px auto 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;color:white;text-wrap:balance}
.updates-banner{display:flex;align-items:center;gap:12px;background:#f9dbe3;color:#6b1f3d;padding:16px var(--gutter);border-block:1px solid #6b1f3d26}
.updates-link{direction:ltr;min-width:0;flex:1;overflow:hidden;text-decoration:none;color:inherit}
.updates-track{display:flex;width:max-content;direction:ltr;animation:updates-drift 36s linear infinite;animation-play-state:paused}
.updates-group{display:flex;flex-shrink:0;align-items:center}
.updates-group>span{direction:rtl;padding-inline:28px;white-space:nowrap;font-size:clamp(1rem,2vw,1.35rem);font-weight:500}
.updates-group bdi{letter-spacing:.12em;margin-inline-start:16px;font-size:.8em}
.updates-banner.is-running .updates-track{animation-play-state:running}
.updates-banner:hover .updates-track,.updates-banner:focus-within .updates-track{animation-play-state:paused}
.updates-pause{flex-shrink:0;border:1px solid #6b1f3d66;border-radius:99px;background:transparent;color:inherit;padding:10px 14px;min-height:44px;font:inherit;font-size:.8rem;cursor:pointer}
.updates-pause[hidden]{display:none}
@keyframes updates-drift{to{transform:translateX(-50%)}}
.event-thanks{font-size:clamp(1.4rem,3vw,2rem);font-weight:500}
.next .button{margin-top:24px}
@media(prefers-reduced-motion:reduce){.updates-track{animation:none;transform:none;width:auto}.updates-group{display:block}.updates-group>span{white-space:normal;display:block;padding:0;text-align:center}.updates-group>span+span,.updates-group+.updates-group{display:none}}
@media(max-width:650px){.hero-thanks{max-width:310px}.updates-banner{padding:12px 16px;gap:8px}.updates-pause{padding:8px 10px;font-size:.75rem}.header-cta{font-size:.85rem}.vendor-action .button{white-space:normal;text-align:center}}

/* Keep a complete, readable announcement if the motion script cannot load. */
.updates-banner:not(.is-enhanced) .updates-track{animation:none;transform:none;width:auto}
.updates-banner:not(.is-enhanced) .updates-group{display:block}
.updates-banner:not(.is-enhanced) .updates-group>span{white-space:normal;display:block;padding:0;text-align:center}
.updates-banner:not(.is-enhanced) .updates-group>span+span,.updates-banner:not(.is-enhanced) .updates-group+.updates-group{display:none}

/* Direct content navigation, with natural RTL wrapping on narrow screens. */
.header nav{flex-wrap:wrap;min-width:0;column-gap:24px;row-gap:4px}
.header nav a{max-width:100%;overflow-wrap:anywhere}
@media(max-width:1100px){
 .header{flex-wrap:wrap;row-gap:8px}
 .header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:4px;column-gap:20px}
}
.brand-join{margin-top:22px;padding-inline:5px;font-size:1rem}
.brand-join a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.brand-join a:hover{text-decoration-thickness:2px}

/* Last-event editorial spread: one page grid, native photo rails, no scroll interception. */
.latest-event{background:linear-gradient(180deg,#fff 0%,#fff8fa 100%);border-bottom:1px solid var(--line)}
.latest-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.latest-heading .section-index{margin-bottom:18px}
.latest-heading h2{font-size:clamp(2.5rem,4.6vw,4.5rem)}
.memory-links{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:.9375rem;justify-content:flex-start;width:auto;border:0;padding:0;font-weight:400}
.memory-links a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line)}
.memory-links a:first-child{border-color:var(--ink);font-weight:600}
.memory-links a::after{display:none}
.latest-spread{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.65fr);align-items:start;gap:clamp(22px,4vw,64px)}
.latest-spread>*{min-width:0}
.latest-film{width:100%;max-width:340px;justify-self:start;margin:0}
.latest-film .video-wrap{border-radius:2px}
.media-eyebrow{display:block;margin-bottom:14px;font-family:Arial,sans-serif;font-size:.6875rem;letter-spacing:.16em}
.latest-film figcaption{display:block;font-size:.8125rem;line-height:1.7;margin-top:14px;padding:0;border:0}
.latest-film .motion-control{display:block;margin-top:6px;font-size:.8125rem}
.latest-film .motion-control[hidden]{display:none}
.film-recovery{margin-top:14px;padding:14px;border:1px solid var(--line);background:white;font-size:.875rem;line-height:1.6}
.film-recovery[hidden]{display:none}
.film-recovery>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px}
.film-recovery button,.film-recovery a{min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;color:var(--ink)}
.film-recovery button{border:1px solid var(--line);border-radius:24px;background:var(--light-pink);font:inherit;cursor:pointer}
.film-recovery a{text-decoration:underline;text-underline-offset:4px}
.latest-photos .gallery{gap:18px;align-items:stretch}
.latest-photos{container-type:inline-size}
.latest-photos .gallery figure{flex:0 0 auto;width:auto;height:clamp(165px,25vw,400px);aspect-ratio:var(--photo-ratio);background:transparent}
.latest-photos .gallery img{object-fit:cover}
@supports(height:1cqi){.latest-photos .gallery figure{height:min(430px,60cqi)}}
.latest-photo-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.latest-photo-bottom .gallery-nav{display:flex}
.latest-photo-bottom .gallery-nav[hidden]{display:none}
.photo-hint{font-size:.8125rem;color:#7a3e54}
.latest-credit{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.8125rem;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}
.latest-credit a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:6px}
.about{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr)}
.about>.about-facts{display:grid;gap:24px;grid-template-columns:1fr;border-top:0;border-inline-start:1px solid var(--line);padding:20px 10%;margin:0}
.about>.about-facts>div{gap:7px}
.about>.about-facts dd{font-size:clamp(2.4rem,4vw,4rem);font-weight:400}
.gallery a[data-photo]{display:block;width:100%;height:100%;position:relative;cursor:zoom-in}
.gallery a[data-photo]>picture{display:block;width:100%;height:100%}
.gallery a[data-photo]:focus-visible{outline-offset:-4px;outline-width:4px}
.photo-zoom{position:absolute;bottom:12px;inset-inline-end:12px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:6px 12px;font-size:.75rem;line-height:1.5;border-radius:30px;transition:background .2s}
@media(hover:hover){.gallery a[data-photo]:hover .photo-zoom{background:var(--light-pink)}}
.viewer-open{overflow:hidden}
.photo-viewer{width:min(1280px,94vw);height:92dvh;max-width:100vw;max-height:100dvh;padding:0;border:1px solid var(--line);color:var(--ink);background:#fff8fa}
.photo-viewer::backdrop{background:rgba(49,19,32,.78);backdrop-filter:blur(5px)}
.photo-viewer-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 28px;gap:14px;overflow-y:auto;overscroll-behavior:contain}
.photo-viewer-top,.photo-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.photo-viewer-top h2{font-size:.8125rem;letter-spacing:0;font-family:inherit;font-weight:400;min-width:0;overflow-wrap:anywhere}
.photo-viewer-top button{padding:8px 18px;min-height:44px;background:white;border:1px solid var(--line);border-radius:30px;cursor:pointer}
.photo-viewer img{width:100%;height:100%;object-fit:contain;min-height:0}
.photo-stage{position:relative;min-height:0;overflow:hidden}
.photo-stage:not([data-state="ready"]) img{visibility:hidden}
.photo-feedback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;text-align:center;overflow:auto}
.photo-stage[data-state="ready"] .photo-feedback{display:none}
.photo-feedback p{max-width:32ch;font-size:1rem}
.photo-feedback a{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px;text-underline-offset:5px}
.photo-feedback a[hidden]{display:none}
.photo-viewer-bottom p{font-size:.875rem;max-width:70ch}
.photo-viewer .gallery-nav{display:flex!important}
#photo-position{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem}
@media(max-width:900px){
 .latest-spread{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:24px}

 .latest-heading{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(max-width:650px){
 .latest-heading{margin-bottom:30px}
 .latest-heading h2{font-size:2.5rem}
 .latest-spread{display:flex;flex-direction:column;gap:38px}
 .latest-film{width:min(100%,320px);max-width:none;align-self:center}
 .latest-photos{width:100%}

 .latest-photo-bottom{gap:12px;margin-top:14px}
 .latest-credit{margin-top:20px;gap:4px 20px}
 .about>.about-facts{display:flex;justify-content:space-between;border-inline-start:0;border-top:1px solid var(--line);padding:25px 0 0;gap:12px;flex-wrap:wrap}
 .about>.about-facts dd{font-size:2.4rem}
 .photo-viewer{width:100vw;height:100dvh;border:0}
 .photo-viewer-inner{padding:16px;gap:12px}
 .photo-viewer-bottom{flex-direction:column;align-items:stretch}
 .photo-viewer-bottom .gallery-nav{justify-content:center}
 .photo-viewer-bottom p{font-size:.8125rem;text-align:center}
}

/* Original image proportions remove all letterboxing; the frame fits each photograph. */
.full-album-link{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:96px;padding:22px 26px;margin-top:22px;background:var(--pink);border:1px solid #d788a0;border-radius:3px;transition:background .2s}
.full-album-link>span:first-child{display:flex;flex-direction:column;gap:7px}
.full-album-link small{font:400 .6875rem/1.4 Arial,sans-serif;letter-spacing:.16em}
.full-album-link strong{font-size:clamp(1.05rem,1.5vw,1.375rem);font-weight:600;line-height:1.5}
.full-album-link .album-arrow{font-family:Arial,sans-serif;font-size:1.75rem;flex-shrink:0}
.full-album-link:hover{background:var(--light-pink)}
.hero-photo{object-position:center 52%}
@media(max-width:650px){.full-album-link{padding:20px;min-height:92px}.hero-photo{object-position:52% center}}

/* Keep the brand position aligned with the existing accessible arrow controls. */
.brands-nav{align-items:center;flex-shrink:0}

/* A quiet contact route beside the primary vendor registration action. */
.vendor-action .vendor-help{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:12px 0 0;font-size:.9375rem;line-height:1.6;color:var(--ink)}
.vendor-help a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.vendor-help a:hover{text-decoration-thickness:2px}

/* Premium motion pass: tactile links without changing the approved layout or image crop. */
.full-album-link{transition:background .28s ease,border-color .28s ease,box-shadow .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}
.full-album-link .album-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){
 .full-album-link:hover{border-color:#bd647f;box-shadow:0 16px 38px rgba(107,31,61,.13);transform:translateY(-3px)}
 .full-album-link:hover .album-arrow{transform:translate(4px,-4px)}
 .brand-gallery a:hover{opacity:1;box-shadow:0 14px 32px rgba(107,31,61,.12);transform:translateY(-4px)}
}
.brand-gallery a{transition:opacity .25s ease,box-shadow .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}
.full-album-link:active,.brand-gallery a:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.full-album-link,.full-album-link .album-arrow,.brand-gallery a{transition:none}.full-album-link:hover,.full-album-link:hover .album-arrow,.brand-gallery a:hover,.full-album-link:active,.brand-gallery a:active{transform:none}}

/* Touch and keyboard micro-feedback: the same premium depth without hover. */
:is(.gallery-nav,.brands-nav) button{transition:background .2s,transform .18s cubic-bezier(.22,1,.36,1),box-shadow .2s}
.header-cta:active,.button:active{transform:translateY(1px) scale(.985)}
:is(.gallery-nav,.brands-nav) button:active:not(:disabled){transform:scale(.92);box-shadow:0 3px 10px rgba(107,31,61,.12)}
.full-album-link:focus-visible,.brand-gallery a:focus-visible{box-shadow:0 12px 30px rgba(107,31,61,.13);transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){
 :is(.gallery-nav,.brands-nav) button{transition:none}
 .header-cta:active,.button:active,:is(.gallery-nav,.brands-nav) button:active:not(:disabled),.full-album-link:focus-visible,.brand-gallery a:focus-visible{transform:none}
}

/* Calm end-of-page hierarchy: keep the future-event message together, then offer one clear action. */
.next{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end;gap:40px;padding-block:58px}
.next-copy{max-width:680px}
.next-copy .section-index{margin-bottom:12px}
.next h2{font-size:clamp(2.5rem,5vw,4.75rem);line-height:1;margin-bottom:18px}
.next-copy p:not(.section-index){max-width:46ch}
.next-lead{font-size:1.125rem!important;font-weight:600;margin-bottom:4px}
.next .button{margin-top:0}
@media(max-width:650px){
 .next{display:grid;grid-template-columns:1fr;gap:24px;padding:40px var(--gutter)}
 .next h2{font-size:clamp(2.5rem,15vw,4rem);margin-bottom:16px}
 .next .button{width:100%}
}

/* Preserve the approved mobile hero height, but let enlarged text create room
   instead of being clipped by the fixed photographic frame. */
@media(max-width:650px){
 .hero{height:auto;min-height:clamp(410px,72svh,610px)}
 .hero-content{position:relative;min-height:clamp(410px,72svh,610px)}
 :is(.gallery-nav,.brands-nav) button{width:44px;height:44px}
}

/* Keep the archive counter and explicit controls available at the narrowest
   supported width. The heading already wraps, so the controls get their own
   row instead of disappearing and leaving swipe as the only visible route. */
@media(max-width:360px){
 .moments .archive-nav:not([hidden]){display:flex;width:100%;justify-content:flex-end}
}
