/* Shared v28 usability refinements. Kept separate from the legacy inline CSS
   so these changes can be tested and removed independently. */
body{
  font-optical-sizing:auto;
  font-synthesis:none;
}
button,input,select,textarea{font:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--mustard-deep,#765800);
  outline-offset:2px;
}
.field-error{
  display:block;
  grid-column:1/-1;
  margin-top:6px;
  color:#8A1C12;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
  letter-spacing:0;
  text-transform:none;
}
[aria-invalid="true"]{border-color:#C64438!important;box-shadow:0 0 0 1px #C64438}
.consent + .field-error{margin-top:-5px;margin-bottom:6px}
.ev,.jcard,.space-row,.prod{content-visibility:auto;contain-intrinsic-size:auto 340px}

/* Visit conversion helpers */
.visit-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:-26px 0 48px;
  padding:0 14px;
}
.visit-actions a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 15px;
  border:1px solid var(--ink,#000);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.visit-actions a:first-child{background:var(--ink,#000);color:#fff}
.visit-actions a:hover{background:var(--mustard,#E9BD33);border-color:var(--mustard,#E9BD33);color:#000}
.visit-note{
  width:100%;
  color:var(--grey,#595959);
  font-size:13px;
  line-height:1.65;
}

/* Event utilities */
.event-primary-meta{margin-bottom:0}
.event-primary-action{display:flex;max-width:640px;margin:14px 0 22px}
.event-primary-action [data-primary-cta],
.ev .cta [data-primary-cta]{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 15px;
  border:1px solid var(--ink,#000);
  background:var(--ink,#000);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
  word-break:keep-all;
}
.event-primary-action [data-primary-cta]:hover,
.ev .cta [data-primary-cta]:hover{background:var(--mustard,#E9BD33);border-color:var(--mustard,#E9BD33);color:#000}
.event-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.event-tools .btn{min-height:44px}
.event-feedback{width:100%;min-height:1.5em;font-size:13px;color:var(--grey,#595959)}
.cms-empty{
  margin:18px 14px 42px;
  padding:22px 0;
  border-top:1px solid var(--ink,#000);
  border-bottom:1px solid var(--hair,#DCDCDC);
  color:var(--grey,#595959);
  font-size:15px;
  line-height:1.7;
}
.store-image-pending{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:#F4F4F2;
  color:var(--grey,#595959);
  font-size:13px;
  font-weight:650;
}
body:has([data-page="home"].on) footer [data-footer-newsletter],
body[data-route-page="home"] footer [data-footer-newsletter]{display:none!important}

@media (max-width:700px){
  [data-page="brands"] .page-index{
    position:sticky;
    top:69px;
    z-index:40;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    margin:-12px -20px 34px;
    padding:8px 20px;
    background:rgba(255,255,255,.96);
    border-top:1px solid var(--hair,#DCDCDC);
    border-bottom:1px solid var(--hair,#DCDCDC);
    backdrop-filter:blur(8px);
  }
  [data-page="brands"] .page-index a{flex:0 0 auto;min-height:44px;font-size:13px}
  [data-page="brands"] #brand-options + .grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(265px,82vw);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    margin-right:-20px;
    padding-right:20px;
    padding-bottom:12px;
  }
  [data-page="brands"] #brand-options + .grid .brand-option{scroll-snap-align:start;min-height:230px}
  [data-page="brands"] .brand-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-page="brands"] #brand-rental{overflow-x:auto;overscroll-behavior-inline:contain}
  [data-page="brands"] #brand-rental table{min-width:560px}
}

@media (max-width:560px){
  .strip form,
  footer form[name="newsletter"],
  form[name="membership-waitlist"]{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .strip input,
  footer form[name="newsletter"] input,
  form[name="membership-waitlist"] input{border-right:1px solid var(--ink,#000)!important}
  .btn,.btn.sm,.sec-label,.readlink,.brand-option .brand-cta{font-size:13px}
  .event-primary-action{width:100%;margin:12px 0 20px}
  .event-primary-action [data-primary-cta],
  .ev .cta,
  .ev .cta [data-primary-cta]{width:100%}
  .event-primary-action [data-primary-cta],
  .ev .cta [data-primary-cta]{min-height:48px}
  .visit-actions{margin:-26px 0 38px;padding:0}
  .visit-actions a{flex:1 1 calc(50% - 5px)}
  [data-page="brands"] .brand-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-card{min-height:0}
}

@media (max-width:350px){
  [data-page="brands"] .brand-journey{grid-template-columns:1fr}
  .visit-actions a{flex-basis:100%}
}

@media (prefers-reduced-motion:reduce){
  [data-page="brands"] #brand-options + .grid{scroll-snap-type:none}
}

/* Sprint 1: bright render hero */
.home-hero{
  position:relative;
  display:grid;
  min-height:70vh;
  overflow:hidden;
  isolation:isolate;
  background:#F4F4F2;
}
.home-hero-media,.home-hero-media picture{position:absolute;inset:0;display:block}
.home-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:55% center;
  background:#F4F4F2;
}
.home-hero-copy{
  position:relative;
  z-index:1;
  align-self:center;
  width:min(640px,calc(100% - 48px));
  margin-left:max(24px,calc((100vw - 1392px)/2 + 24px));
  padding:clamp(24px,3vw,44px);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.14);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.home-hero-copy .h{
  font-size:clamp(46px,6.5vw,86px);
  font-weight:750;
  line-height:1.02;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.home-hero-copy .ko-display{font-family:inherit;font-style:normal;font-weight:500;letter-spacing:-.035em}
.home-hero-copy>p{max-width:510px;margin-top:20px;color:#343434;font-size:17px;font-weight:500;line-height:1.7;letter-spacing:-.012em}
.home-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.home-hero-strip{
  display:grid;
  grid-template-columns:auto repeat(3,minmax(0,1fr));
  gap:14px 28px;
  align-items:center;
  min-height:48px;
  padding:10px max(24px,calc((100vw - 1392px)/2 + 24px));
  border-top:1px solid var(--ink,#000);
  border-bottom:1px solid var(--ink,#000);
  color:var(--grey,#595959);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.02em;
}
.home-hero-strip b{color:var(--ink,#000);font-weight:700}
.home-hero-render-label{
  color:var(--mustard-deep,#765800);
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.home-hero-strip+.wrap .about-block{margin-top:52px}

/* Sprint 1: desktop For Brands mega panel */
body.brand-mega-open{overflow:hidden}
.brand-mega[hidden]{display:none}
.brand-mega{
  position:absolute;
  z-index:70;
  top:100%;
  right:0;
  left:0;
  max-height:calc(100vh - 70px);
  overflow:auto;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--ink,#000);
  box-shadow:0 18px 45px rgba(0,0,0,.12);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.brand-mega-inner{max-width:1440px;margin:0 auto;padding:28px 24px 32px}
.brand-mega-head,.brand-mega-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-mega-head{padding-bottom:20px;border-bottom:1px solid var(--hair,#DCDCDC)}
.brand-mega-head p{margin-top:3px;color:var(--grey,#595959);font-size:15px}
.brand-mega-eyebrow{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--mustard-deep,#765800)}
.brand-mega-close{
  min-height:44px;
  padding:0 2px;
  border:0;
  border-bottom:1px solid var(--ink,#000);
  background:transparent;
  color:var(--ink,#000);
  cursor:pointer;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.brand-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:20px 0;background:var(--hair,#DCDCDC);border:1px solid var(--hair,#DCDCDC)}
.brand-mega-card{display:grid;grid-template-columns:30px 1fr;gap:5px 14px;min-height:138px;padding:22px;background:rgba(255,255,255,.9)}
.brand-mega-card svg{grid-row:1/3;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--mustard-deep,#765800)}
.brand-mega-card strong{font-size:15px;font-weight:750;line-height:1.45}
.brand-mega-card span{color:#424242;font-size:14px;line-height:1.58}
.brand-mega-card:hover,.brand-mega-card:focus-visible{position:relative;background:var(--mustard-pale,#FAF3C8);outline:2px solid var(--ink,#000);outline-offset:-2px}
.brand-mega-foot{justify-content:flex-end;padding-top:2px}
.brand-mega-foot>a{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid var(--ink,#000);font-size:13px;font-weight:700}
.brand-mega-foot>a:hover{background:var(--mustard-pale,#FAF3C8)}
.brand-mega-foot .brand-mega-primary{background:var(--ink,#000);color:#fff}
.brand-mega-foot .brand-mega-primary:hover{background:var(--mustard,#E9BD33);border-color:var(--mustard,#E9BD33);color:#000}
.brand-mega-trigger[aria-expanded="true"]{text-decoration:underline;text-decoration-color:var(--mustard-deep,#765800);text-underline-offset:3px}

@media (max-width:920px){
  .brand-mega{display:none!important}
  .mnav-sub .mnav-brand-link{
    align-items:flex-start;
    padding:18px;
    border:1px solid var(--mustard-deep,#765800);
    background:var(--mustard-pale,#FAF3C8);
  }
  .mnav-brand-link b{display:flex;flex-direction:column;gap:5px}
  .mnav-brand-link b span{font-size:11px;font-weight:650;letter-spacing:.01em;text-transform:none}
  .mnav-brand-link small{max-width:48%}
}

@media (max-width:700px){
  .home-hero{min-height:68vh}
  .home-hero-media img{object-position:58% center}
  .home-hero-copy{
    align-self:end;
    width:calc(100% - 32px);
    margin:0 16px 20px;
    padding:22px 18px;
    background:rgba(255,255,255,.84);
  }
  .home-hero-copy .h{font-size:clamp(38px,10.5vw,54px);line-height:1.04}
  .home-hero-copy>p{margin-top:15px;font-size:15px;line-height:1.62}
  .home-hero-actions{gap:14px;margin-top:20px}
  .home-hero-actions .biglink.primary{padding:0 18px}
  .home-hero-actions .biglink.editorial{font-size:17px}
  .home-hero-strip{grid-template-columns:1fr 1fr;padding:12px 20px;gap:9px 16px}
  .home-hero-render-label{grid-column:1/-1}
  .home-hero-strip span:last-child{grid-column:1/-1}
  .home-hero-strip+.wrap .about-block{margin-top:38px}
}

@media (prefers-reduced-motion:reduce){
  .brand-mega,.brand-mega-card,.home-hero-media img{animation:none!important;transition:none!important}
}
