/* Fashion on Screen — V32 / bug fixes, text backgrounds, navigation & motion polish */
:root{
  --fos32-forest:#043f39;
  --fos32-forest-2:#075b52;
  --fos32-green:#0b7467;
  --fos32-mint:#e8f1ed;
  --fos32-paper:#fbf8f4;
  --fos32-ivory:#f5f1eb;
  --fos32-white:#fff;
  --fos32-ink:#16352f;
  --fos32-copy:#45615a;
  --fos32-muted:#71847f;
  --fos32-line:rgba(22,53,47,.13);
  --fos32-shadow:0 22px 70px rgba(2,47,43,.08);
  --fos32-radius:20px;
  --fos32-ease:cubic-bezier(.16,1,.3,1);
}

html{scroll-behavior:smooth;scroll-padding-top:104px}
body.v32-page{background:var(--fos32-paper)!important;color:var(--fos32-ink)!important}
body.v32-page main{background:var(--fos32-paper)!important}
body.v32-page :where(h1,h2,h3,h4,p,li){margin-top:0}
body.v32-page :where(p,li){color:var(--fos32-copy)}
body.v32-page :where(a,button,input,textarea,select){-webkit-tap-highlight-color:transparent}

/* Navigation: fixed contrast + reliable professional dropdown. */
body.v32-page .site-header{
  background:rgba(4,63,57,.97)!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
  box-shadow:none!important;
}
body.v32-page .site-header.scrolled{background:rgba(3,54,49,.985)!important;box-shadow:0 10px 30px rgba(1,31,28,.10)!important}
body.v32-page .desktop-nav>a,
body.v32-page .nav-dropdown-toggle{color:rgba(255,255,255,.78)!important}
body.v32-page .desktop-nav>a:hover,
body.v32-page .desktop-nav>a[aria-current="page"],
body.v32-page .nav-dropdown-toggle:hover,
body.v32-page .nav-dropdown-toggle[aria-current="page"]{color:#fff!important}
body.v32-page .nav-dropdown-menu{
  background:rgba(251,248,244,.99)!important;
  border:1px solid rgba(22,53,47,.12)!important;
  box-shadow:0 28px 80px rgba(1,36,32,.18)!important;
}
body.v32-page .nav-dropdown.is-open .nav-dropdown-menu,
body.v32-page .nav-dropdown:focus-within .nav-dropdown-menu,
body.v32-page .nav-dropdown:hover .nav-dropdown-menu{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important;
}
body.v32-page .nav-dropdown.is-open .nav-dropdown-toggle span,
body.v32-page .nav-dropdown:focus-within .nav-dropdown-toggle span,
body.v32-page .nav-dropdown:hover .nav-dropdown-toggle span{transform:translateY(-1px) rotate(180deg)!important}
body.v32-page .nav-dropdown-menu a{color:var(--fos32-ink)!important}
body.v32-page .nav-dropdown-menu a:hover,
body.v32-page .nav-dropdown-menu a:focus-visible,
body.v32-page .nav-dropdown-menu a[aria-current="page"]{background:var(--fos32-mint)!important;color:var(--fos32-ink)!important}

/* Mobile menu: readable, scrollable and less visually crowded. */
body.v32-page .mobile-menu{background:linear-gradient(155deg,#075a51 0%,#033d37 62%,#022e2a 100%)!important;color:#fff!important;overflow-y:auto!important;overscroll-behavior:contain}
body.v32-page .mobile-menu-inner{min-height:100svh!important;height:auto!important;justify-content:flex-start!important}
body.v32-page .mobile-menu-section{padding:14px 0 18px;border-bottom:1px solid rgba(255,255,255,.10)}
body.v32-page .mobile-menu nav a{color:#fff!important;width:100%!important}
body.v32-page .mobile-menu nav a[aria-current="page"]{opacity:.58}
body.v32-page .mobile-menu-bottom{color:rgba(255,255,255,.65)!important}
body.v32-page .menu-group-label{color:rgba(255,255,255,.54)!important}

/* Page heroes: one consistent text treatment, no accidental text boxes. */
body.v32-page:not(.page-index) .v9-page-hero{
  background:linear-gradient(145deg,#043f39 0%,#07584f 56%,#033832 100%)!important;
  color:#fff!important;
}
body.v32-page:not(.page-index) .v9-page-hero .v6-page-copy{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.v32-page:not(.page-index) .v9-page-hero :where(.v6-title,.v6-title span,.v6-lead,.v6-kicker){color:#fff!important}
body.v32-page:not(.page-index) .v9-page-hero .v6-lead{color:rgba(255,255,255,.82)!important}
body.v32-page:not(.page-index) .v9-page-hero .v6-kicker{color:rgba(255,255,255,.62)!important}
body.v32-page.no-photo-page .v9-page-hero .v6-page-copy{max-width:960px!important}
body.v32-page.no-photo-page .v9-page-hero .v6-title{max-width:14ch!important}
body.v32-page.no-photo-page .v9-page-hero .v6-lead{max-width:58ch!important}
body.v32-page .v9-page-hero .v6-page-hero-foot{color:rgba(255,255,255,.66)!important}
body.v32-page .v9-page-hero .v6-page-hero-foot strong{color:#fff!important}

/* Light content areas: eliminate dark-text/dark-background and pale-text/pale-background collisions. */
body.v32-page .v6-section,
body.v32-page .section,
body.v32-page .v5-public,
body.v32-page .brand-directory,
body.v32-page .ticket-section{background:var(--fos32-paper)!important;color:var(--fos32-ink)!important}
body.v32-page .v6-section.alt,
body.v32-page .section.alt{background:#fff!important;color:var(--fos32-ink)!important}
body.v32-page .v6-section.soft,
body.v32-page .soft{background:var(--fos32-mint)!important;color:var(--fos32-ink)!important}
body.v32-page .form-section-wrap{background:var(--fos32-ivory)!important;color:var(--fos32-ink)!important}
body.v32-page :where(.v6-section,.section,.v5-public,.brand-directory,.ticket-section,.form-section-wrap) :where(h1,h2,h3,h4,strong){color:var(--fos32-ink)!important}
body.v32-page :where(.v6-section,.section,.v5-public,.brand-directory,.ticket-section,.form-section-wrap) :where(p,li,.body-copy,.small-copy){color:var(--fos32-copy)!important}
body.v32-page .v6-section-head p,
body.v32-page .v5-public-head p{max-width:54ch!important}
body.v32-page .v6-section-head,
body.v32-page .v5-public-head{align-items:start!important}
body.v32-page .v6-eyebrow,
body.v32-page .v5-eyebrow,
body.v32-page .eyebrow{color:var(--fos32-green)!important}

/* Text cards: restrained backgrounds and consistent radius. */
body.v32-page :where(.v6-hub-card,.v7-pro-card,.info-card,.price-card,.v6-intro-card,.chapter,.brand-card,.ticket-summary,.ticket-card,.ticket-callout-box,.form-card,.legal-note){
  background:#fff!important;
  color:var(--fos32-ink)!important;
  border:1px solid var(--fos32-line)!important;
  border-radius:var(--fos32-radius)!important;
  box-shadow:none!important;
}
body.v32-page :where(.v6-hub-card,.v7-pro-card,.info-card,.price-card,.v6-intro-card,.chapter,.brand-card,.ticket-summary,.ticket-card,.ticket-callout-box,.form-card) :where(p,li,small){color:var(--fos32-copy)!important}
body.v32-page :where(.v6-hub-card,.v7-pro-card,.info-card,.price-card,.v6-intro-card,.chapter,.brand-card):hover{
  transform:translateY(-3px)!important;
  border-color:rgba(11,116,103,.32)!important;
  box-shadow:0 18px 45px rgba(2,47,43,.07)!important;
}

/* Image-caption backgrounds only where needed for readability. */
body.v32-page .v9-photo-card figcaption{
  background:linear-gradient(to top,rgba(2,38,34,.90) 0%,rgba(2,38,34,.52) 48%,transparent 100%)!important;
  padding:72px 22px 22px!important;
}
body.v32-page .v9-photo-card figcaption :where(strong,small){color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.18)}
body.v32-page .v5-photo span,
body.v32-page .v6-media small,
body.v32-page .v9-photo-zone>span{
  background:rgba(2,47,43,.76)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

/* Forms: remove low-contrast translucent fields and keep validation legible. */
body.v32-page .form-card{background:#fff!important}
body.v32-page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select){
  background:#fff!important;
  color:var(--fos32-ink)!important;
  border:1px solid rgba(22,53,47,.21)!important;
  border-radius:11px!important;
  min-height:48px;
}
body.v32-page textarea{min-height:130px!important}
body.v32-page :where(input:not([type="checkbox"]):not([type="radio"]),textarea)::placeholder{color:#7f908b!important;opacity:1}
body.v32-page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select):focus{border-color:var(--fos32-green)!important;box-shadow:0 0 0 4px rgba(11,116,103,.09)!important}
body.v32-page .form-tab{border-radius:999px!important;background:transparent!important;color:var(--fos32-ink)!important}
body.v32-page .form-tab.active{background:var(--fos32-forest)!important;color:#fff!important;border-color:var(--fos32-forest)!important}
body.v32-page .radio-pill span{border-radius:999px!important;background:#fff!important;color:var(--fos32-ink)!important}
body.v32-page .radio-pill input:checked+span{background:var(--fos32-forest)!important;color:#fff!important;border-color:var(--fos32-forest)!important}

/* FAQ / legal / contact. */
body.v32-page .v6-faq details{border-color:var(--fos32-line)!important}
body.v32-page .v6-faq summary{color:var(--fos32-ink)!important}
body.v32-page .v6-faq .answer{color:var(--fos32-copy)!important}
body.v32-page .legal{color:var(--fos32-ink)!important}
body.v32-page .legal :where(p,li){color:var(--fos32-copy)!important}
body.v32-page .contact-block{border-color:var(--fos32-line)!important}
body.v32-page .contact-email{color:var(--fos32-ink)!important}

/* CTAs remain dark with guaranteed white text. */
body.v32-page .v6-cta,
body.v32-page .cta-section{background:var(--fos32-forest)!important;color:#fff!important}
body.v32-page .v6-cta :where(h2,h3,p,strong),
body.v32-page .cta-section :where(h2,h3,p,strong){color:#fff!important}
body.v32-page .v6-cta p,
body.v32-page .cta-section p{color:rgba(255,255,255,.77)!important}

/* Buttons: steady hit areas and no text disappearance on hover. */
body.v32-page .btn{transition:color .25s ease,background .25s ease,border-color .25s ease,transform .28s var(--fos32-ease)!important}
body.v32-page .btn:focus-visible,
body.v32-page .micro-btn:focus-visible,
body.v32-page .menu-btn:focus-visible,
body.v32-page a:focus-visible{outline:2px solid currentColor!important;outline-offset:4px!important}
body.v32-page .btn.green{background:var(--fos32-forest)!important;color:#fff!important;border-color:var(--fos32-forest)!important}
body.v32-page .btn.green:hover{background:#022f2b!important;color:#fff!important;border-color:#022f2b!important}
body.v32-page .v9-page-hero .btn.light,
body.v32-page .v6-cta .btn.light,
body.v32-page .cta-section .btn.light,
body.v32-page .v5-story .btn.light{color:#fff!important;border-color:rgba(255,255,255,.48)!important}
body.v32-page .v9-page-hero .btn.light:hover,
body.v32-page .v6-cta .btn.light:hover,
body.v32-page .cta-section .btn.light:hover,
body.v32-page .v5-story .btn.light:hover{background:#fff!important;color:var(--fos32-forest)!important}

/* Footer. */
body.v32-page .site-footer{background:#022f2b!important;color:#fff!important}
body.v32-page .site-footer :where(h2,h3,p,a,strong,span){color:inherit}
body.v32-page .footer-statement{color:#fff!important}
body.v32-page .footer-col h3{color:rgba(255,255,255,.52)!important}
body.v32-page .footer-col a{color:rgba(255,255,255,.80)!important}
body.v32-page .footer-col a:hover{color:#fff!important}
body.v32-page .footer-bottom{color:rgba(255,255,255,.54)!important}
body.v32-page .footer-bottom a{color:rgba(255,255,255,.76)!important}

/* Motion safety: content is visible if JS fails. JS only opts into entrance motion. */
body.v32-page [data-v6-reveal],
body.v32-page [data-v6-stagger]>*{opacity:1!important;transform:none!important}
body.v32-page .v9-photo-card{clip-path:none!important}
body.v32-page.v32-motion-ready [data-v6-reveal]:not(.is-in){opacity:0!important;transform:translateY(18px)!important}
body.v32-page.v32-motion-ready [data-v6-stagger]:not(.is-in)>*{opacity:0!important;transform:translateY(16px)!important}
body.v32-page.v32-motion-ready .v9-photo-card[data-v9-photo-reveal]:not(.is-in){clip-path:inset(0 0 7% 0)!important;opacity:.45!important;transform:translateY(14px)!important}
body.v32-page .v9-photo-card[data-v9-photo-reveal].is-in{clip-path:inset(0)!important;opacity:1!important;transform:none!important}
body.v32-page [data-v6-reveal],
body.v32-page [data-v6-stagger]>*{transition:opacity .62s var(--fos32-ease),transform .62s var(--fos32-ease)!important}
body.v32-page .v9-photo-card{transition:clip-path .72s var(--fos32-ease),opacity .58s ease,transform .58s var(--fos32-ease)!important}

/* Tone down competing perpetual movement. */
body.v32-page .v9-home-photo{animation-duration:14s!important;animation-timing-function:ease-in-out!important}
body.v32-page .v9-photo-zone .v9-photo-surface:before,
body.v32-page .v6-media:before{animation-duration:12s!important;opacity:.55}
body.v32-page .v6-hero-orbit{animation-duration:18s!important;opacity:.10!important}
body.v32-page .fos-page-transition{transition:transform .48s var(--fos32-ease),opacity .34s ease,visibility .5s!important}
body.v32-page .fos-page-transition::before{animation-duration:16s!important;opacity:.55}
body.v32-page .fos-page-transition img{width:min(150px,34vw)!important}
body.v32-page .v9-startup-sweep{animation-duration:2.35s!important}
body.v32-page .v9-startup .fos-startup-logo{animation-duration:2.1s!important}
body.v32-page img.media-missing{display:none!important}

/* Home: text zones are deliberately separated from imagery. */
body.v32-page.page-index .v8-hero-intro{background:#fff!important;border:1px solid var(--fos32-line)!important;box-shadow:none!important}
body.v32-page.page-index .v8-hero-lead{color:var(--fos32-ink)!important}
body.v32-page.page-index .v8-ticket-card{background:var(--fos32-forest)!important;color:#fff!important}
body.v32-page.page-index .v8-ticket-card :where(p,strong,.v5-ticket-price){color:#fff!important}
body.v32-page.page-index .v5-story{background:var(--fos32-forest)!important;color:#fff!important}
body.v32-page.page-index .v5-story :where(h2,p,.v5-story-kicker){color:#fff!important}
body.v32-page.page-index .v5-story .v5-story-sub{color:rgba(255,255,255,.78)!important}

/* Desktop spacing. */
@media(min-width:1181px){
  body.v32-page .v6-section,
  body.v32-page .section,
  body.v32-page .v5-public,
  body.v32-page .form-section-wrap,
  body.v32-page .brand-directory,
  body.v32-page .ticket-section{padding-top:96px!important;padding-bottom:96px!important}
  body.v32-page .v6-section-head,
  body.v32-page .v5-public-head{margin-bottom:48px!important}
}

/* Tablet. */
@media(max-width:1180px){
  body.v32-page .mobile-menu-inner{padding-bottom:40px!important}
  body.v32-page .v6-section-head,
  body.v32-page .v5-public-head{grid-template-columns:1fr!important;gap:18px!important}
  body.v32-page .v6-section-head p,
  body.v32-page .v5-public-head p{margin-left:0!important}
}

/* Mobile: readable line lengths and no horizontal overflow. */
@media(max-width:820px){
  html{scroll-padding-top:88px}
  body.v32-page{overflow-x:hidden!important}
  body.v32-page .mobile-menu-inner{padding:calc(var(--header) + 16px) 0 30px!important}
  body.v32-page .mobile-menu nav a{font-size:clamp(24px,7vw,32px)!important;line-height:1.08!important;padding:7px 0!important}
  body.v32-page .mobile-menu-section{padding:10px 0 13px}
  body.v32-page:not(.page-index) .v9-page-hero .v6-title{font-size:clamp(42px,12vw,58px)!important;line-height:.98!important;max-width:11ch!important}
  body.v32-page.no-photo-page .v9-page-hero .v6-title{max-width:12ch!important}
  body.v32-page:not(.page-index) .v9-page-hero .v6-lead{font-size:16px!important;line-height:1.62!important}
  body.v32-page .v6-page-hero-foot>div{min-width:0!important}
  body.v32-page .v6-page-hero-foot strong{font-size:25px!important;overflow-wrap:anywhere!important}
  body.v32-page .v6-section,
  body.v32-page .section,
  body.v32-page .v5-public,
  body.v32-page .form-section-wrap,
  body.v32-page .brand-directory,
  body.v32-page .ticket-section{padding-top:64px!important;padding-bottom:64px!important}
  body.v32-page .v6-section-title,
  body.v32-page .v5-public-head h2,
  body.v32-page .display,
  body.v32-page .subhero-title{font-size:clamp(37px,10vw,50px)!important;line-height:1.02!important;max-width:13ch!important}
  body.v32-page .v6-section-head,
  body.v32-page .v5-public-head{margin-bottom:30px!important}
  body.v32-page .v9-photo-card figcaption{padding:58px 16px 16px!important}
  body.v32-page .form-card{padding:24px 18px!important}
  body.v32-page .footer-col a{min-height:38px;display:flex!important;align-items:center}
}

@media(max-width:520px){
  body.v32-page .v6-hero-actions .btn,
  body.v32-page .form-actions .btn{width:100%!important}
  body.v32-page .v6-hero-actions,
  body.v32-page .form-actions{display:grid!important;grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.v32-page *,body.v32-page *::before,body.v32-page *::after{animation:none!important;transition:none!important}
  body.v32-page [data-v6-reveal],
  body.v32-page [data-v6-stagger]>*,
  body.v32-page .v9-photo-card{opacity:1!important;transform:none!important;clip-path:none!important}
  body.v32-page .fos-page-transition,.v9-startup{display:none!important}
}
