/* SPARK footer v4 — extracted from v3 site.css + spark-brand.css */
@font-face{font-family: 'Söhne';
  src: url('../v3/fonts/Sohne-Buch.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;}
@font-face{font-family: 'Söhne';
  src: url('../v3/fonts/Sohne-Kraftig.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;}
@font-face{font-family: 'Söhne';
  src: url('../v3/fonts/Sohne-Kraftig.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;}
@font-face{font-family: 'Söhne';
  src: url('../v3/fonts/Sohne-Kraftig.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;}
spark-footer{display:block;/* core palette */
  --ink:          #0B0B0C;
  --paper:        #F6F3EE;
  --concrete:     #E8E4DC;
  --card:         #FCFAF5; /* warm near-white for lifted card surfaces — never pure #fff */
  --oak:          #C6A87A;
  --oak-deep:     #A88B5C;
  --oak-soft:     #E8D8B8;

  --ink-900: #0A0A0A;
  --ink-800: #171717;
  --ink-700: #2A2926;
  --ink-600: #44423D;
  --ink-500: #6E6B63;
  --ink-400: #9A968B;
  --ink-300: #C3BFB3;
  --ink-200: #DFDCD1;
  --ink-100: #EFEDE4;
  --ink-050: #F7F5EE;

  --font-display: 'Söhne', 'General Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-body:    'Söhne', 'General Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;
  /* Optional serif accent used only in subtitles / editorial pull-quotes.
     Free Google Fonts serif with similar ductus to GT Super Display. */
  --font-serif:   'Instrument Serif', Georgia, serif;

  --grid-max: 1440px;

  --accent: var(--oak);
  --hero-tone: light;
/* The one sans. Söhne first, robust system fallbacks after. */
  --spark-sans: 'Söhne', 'General Sans', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  /* The ONLY serif — display accent word only. */
  --spark-accent-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;

  /* Emil Kowalski easing curves — stronger than the CSS built-ins. */
  --spark-ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --spark-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --spark-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);

  /* Unified geometry */
  --spark-nav-h:    66px;   /* one nav height for every site */
  --spark-logo-h:   22px;   /* one logo height for every site */
  --spark-radius-pill: 999px;
  --spark-btn-h:    48px;
  --spark-btn-pad-x: 26px;

  /* ONE brand gold — no orange/peach anywhere. */
  --spark-gold:   #B0894A;   /* antique gold — every accent */
  --spark-gold-2: #C7A463;   /* lighter gold — hover / on-dark emphasis */


  --font-display: var(--spark-sans) !important;
  --font-body:    var(--spark-sans) !important;
  --stg-sans:     var(--spark-sans) !important;
  --f-body:       var(--spark-sans) !important;
  --stg-mono:     var(--spark-sans) !important;
  --f-mono:       var(--spark-sans) !important;
  --font-mono:    var(--spark-sans) !important;


  --dr-bg: #F4F0E8;
  --dr-ink: #181714;
  --dr-ink-2: #77736B;
  --dr-bronze: #A77D3E;
  --dr-bronze-deep: #725222;
  --dr-foot: #171612;
  --dr-foot-2: #96938D;
  --dr-line: rgba(24, 23, 20, 0.08);
  --dr-pad-x: clamp(20px, 7%, 56px);}
.footer{display: block;
  background: #0B0B0C;
  color: #fff;
  padding: 80px 0 40px;}
.footer .wrap{display: flex; flex-direction: column; gap: 48px;}
.footer-location{display: grid;
  grid-template-columns: minmax(280px, 1fr) 2.6fr;
  gap: 56px;
  align-items: start;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.12);}
.footer-location__card{display: flex; gap: 16px; align-items: center;}
.footer-location__thumb{width: 64px; height: 64px; border-radius: 4px; overflow: hidden; flex: 0 0 auto;
  background: rgba(255,255,255,0.08);}
.footer-location__thumb img{width: 100%; height: 100%; object-fit: cover; display: block;}
.footer-location__name{display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;}
.footer-location__name strong{display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.2;}
.footer-location__name span{display: block;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  line-height: 1.3;}
.footer-location__cols{display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 48px;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.85);}
.footer-location__cols a{color: rgba(255,255,255,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding-bottom: 1px;
  transition: border-color .2s ease;}
.footer-location__cols a:hover{border-bottom-color: #fff;}
.footer-label{display: block;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 8px;
  font-weight: 500;}
.footer-maplink{display: inline-block;
  margin-top: 8px;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7) !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;}
.footer-newsletter{padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.12);}
.footer-newsletter h3{font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 0 0 24px;
  color: #fff;
  max-width: 640px;}
.footer-newsletter__form{display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  max-width: 560px;}
.footer-newsletter__form input[type="email"]{flex: 1; min-width: 240px;
  padding: 13px 22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.04);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s ease, background .2s ease;}
.footer-newsletter__form input[type="email"]::placeholder{color: rgba(255,255,255,0.45);}
.footer-newsletter__form input[type="email"]:focus{outline: none;
  border-color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.08);}
.footer-newsletter__form button{padding: 13px 28px;
  border-radius: 999px;
  background: transparent;
  color: rgba(255,255,255,0.75);
  border: 1px solid rgba(255,255,255,0.22);
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: background .2s ease, color .2s ease, border-color .2s ease;}
.footer-newsletter__form button:hover{background: #fff; color: var(--ink); border-color: #fff;}
.footer-cols{display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.12);}
.footer-cols h5{font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0;
  color: #fff;
  margin: 0 0 18px;
  text-transform: none;
  display: flex; align-items: center; gap: 8px;}
.footer-club__badge{display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #fff; color: var(--ink);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  line-height: 1;}
.footer-cols ul{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px;}
.footer-cols li a{color: rgba(255,255,255,0.68);
  font-size: 13px;
  line-height: 1.4;
  transition: color .2s ease;}
.footer-cols li a:hover{color: #fff;}
.footer-bottom{display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0;
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  gap: 12px;
  flex-wrap: wrap;}
.footer-bottom a{color: rgba(255,255,255,0.65); margin-right: 20px; font-size: 12px;}
.footer-bottom a:hover{color: #fff;}
@media (max-width: 1060px){
.footer-cols{grid-template-columns: repeat(3, 1fr); gap: 32px 24px;}
.footer-location{grid-template-columns: 1fr; gap: 32px;}
.footer-location__cols{grid-template-columns: repeat(3, 1fr); gap: 24px;}
}
@media (max-width: 640px){
.footer-cols{grid-template-columns: repeat(2, 1fr);}
.footer-location__cols{grid-template-columns: 1fr; gap: 20px;}
.footer-bottom{flex-direction: column; align-items: flex-start; gap: 8px;}
}
.footer{display: block;
  background: #0B0B0C;
  color: #fff;
  padding: 48px 0 20px;
  margin-top: 0;}
.footer .wrap{max-width: var(--grid-max);
  margin: 0 auto;
  padding: 0 24px;}
.footer-location{display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,0.10);}
.footer-location__card{display: flex; gap: 14px; align-items: center;}
.footer-location__thumb{width: 72px; height: 72px; flex: none;
  border-radius: 6px; overflow: hidden;
  background: rgba(255,255,255,0.05);}
.footer-location__thumb img{width: 100%; height: 100%; object-fit: cover;}
.footer-location__name strong{display: block;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;}
.footer-location__name span{display: block;
  margin-top: 4px;
  font-size: 13px;
  color: rgba(255,255,255,0.6);}
.footer-location__cols{display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 32px;
  align-items: start;}
.footer-label{display: block;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  font-weight: 500;
  margin-bottom: 8px;}
.footer-location__cols a,
.footer-location__cols div{font-size: 14px;
  line-height: 1.45;
  color: #fff;}
.footer-maplink{display: inline-block;
  margin-top: 6px;
  color: var(--oak-soft) !important;
  font-size: 13px !important;}
.footer-newsletter{display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.10);}
.footer-newsletter h3{font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: -0.015em;
  line-height: 1.22;
  font-weight: 500;
  margin: 0;
  max-width: 480px;
  color: #fff;}
.footer-newsletter__form{display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;}
.footer-newsletter__form input{flex: 1;
  min-width: 220px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
  padding: 10px 2px;
  font-family: var(--font-body);
  font-size: 15px;
  color: #fff;
  transition: border-color .2s ease;}
.footer-newsletter__form input::placeholder{color: rgba(255,255,255,0.45);}
.footer-newsletter__form input:focus{outline: none; border-bottom-color: var(--oak);}
.footer-newsletter__form button{background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
  padding: 10px 22px;
  border-radius: 999px;
  transition: background .2s ease;}
.footer-newsletter__form button:hover{background: var(--oak-soft);}
.footer-cols{display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  padding: 28px 0 20px;}
.footer-cols h5{font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  color: #fff;
  margin: 0 0 10px;
  display: flex; align-items: center; gap: 8px;}
.footer-cols ul{list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;          /* tighter per request */}
.footer-cols li{line-height: 1.15; font-size: 13px;}
.footer-cols li a{color: rgba(255,255,255,0.72);
  font-size: 13px;
  line-height: 1.15;
  text-decoration: none;
  transition: color .15s ease;
  display: inline-block;
  padding: 0;}
.footer-cols li a:hover{color: #fff;}
.footer-club__badge{display: inline-flex;
  align-items: center; justify-content: center;
  width: 20px; height: 20px;
  border-radius: 999px;
  background: var(--oak);
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;}
.footer-bottom{display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.10);
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  flex-wrap: wrap;
  gap: 12px;}
.footer-bottom a{color: rgba(255,255,255,0.6);
  margin-left: 24px;
  text-decoration: none;
  transition: color .15s ease;}
.footer-bottom a:hover{color: #fff;}
@media (max-width: 1040px){
.footer-cols{grid-template-columns: repeat(3, 1fr); gap: 36px 32px;}
}
@media (max-width: 860px){
.footer-location{grid-template-columns: 1fr; gap: 32px;}
.footer-location__cols{grid-template-columns: 1fr 1fr;}
.footer-newsletter{grid-template-columns: 1fr; gap: 24px; padding: 32px 0;}
.footer-cols{grid-template-columns: repeat(2, 1fr);}
.footer-bottom{flex-direction: column; align-items: flex-start;}
.footer-bottom a{margin-left: 0; margin-right: 20px;}
}
.footer-bottom{align-items: flex-start;}
.footer-legal__links{display: flex;
  flex-wrap: wrap;
  gap: 22px;}
.footer-legal__links a{margin: 0 !important;
  color: rgba(255,255,255,0.62);
  font-size: 12px;
  letter-spacing: 0.01em;}
.footer-legal__links a:hover{color: #fff;}
.footer-legal__links .js-cookie-settings{cursor: pointer;}
.footer-legal__meta{display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: right;
  color: rgba(255,255,255,0.45);
  font-size: 12px;
  line-height: 1.5;}
@media (max-width: 860px){
.footer-legal__meta{text-align: left;}
}

.hv2__brand-img,
.ssr-mini-header__mark img,
.ssr-mini-footer__mark img{height: var(--spark-logo-h) !important;
  width: auto !important;}
.footer-locpick{position: relative;}
.footer-locpick__trigger{display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  color: inherit;
  text-align: left;
  font: inherit;}
.footer-locpick__caret{flex: 0 0 auto;
  opacity: 0.45;
  transition: transform .2s var(--spark-ease-out), opacity .2s var(--spark-ease-out);}
.footer-locpick:hover .footer-locpick__caret{opacity: 0.85;}
.footer-locpick[data-open="true"] .footer-locpick__caret{transform: rotate(180deg); opacity: 1;}
.footer-locpick__list{position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 20;
  min-width: 262px;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #17171a;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  box-shadow: 0 22px 48px -22px rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .18s var(--spark-ease-out), transform .18s var(--spark-ease-out), visibility .18s;}
.footer-locpick[data-open="true"] .footer-locpick__list{opacity: 1;
  visibility: visible;
  transform: translateY(0);}
.footer-locpick__list button{display: flex;
  flex-direction: column;
  gap: 1px;
  width: 100%;
  padding: 9px 12px;
  background: none;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: rgba(255, 255, 255, 0.82);
  transition: background .15s var(--spark-ease-out), color .15s var(--spark-ease-out);}
.footer-locpick__list button:hover{background: rgba(255, 255, 255, 0.07); color: #fff;}
.footer-locpick__list strong{font-size: 13.5px; font-weight: 500; letter-spacing: -0.01em;}
.footer-locpick__list span{font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.6;}
@media (prefers-reduced-motion: reduce){
.footer-locpick__list,
  .footer-locpick__caret{transition-duration: 0.01ms;}
}
.footer-locpick__name em,
[data-lp="name"] em{font-family: var(--spark-accent-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 1.1em;
  letter-spacing: 0;
  color: var(--spark-gold-2, #C7A463);
  margin-left: 0.12em;}
.footer{--f-ink: 244, 240, 232;
  color: rgb(var(--f-ink));}
.footer h3,
.footer h5,
.footer strong,
.footer-location__name strong,
.footer [data-lp="email"],
.footer [data-lp="phone"],
.footer [data-lp="address"]{color: rgb(var(--f-ink));}
.footer-location__cols a{color: rgba(var(--f-ink), 0.92);}
.footer-location__cols a:hover{border-bottom-color: rgb(var(--f-ink));}
.footer-label{color: rgba(var(--f-ink), 0.5);}
.footer-cols li a{color: rgba(var(--f-ink), 0.72);}
.footer-cols li a:hover{color: rgb(var(--f-ink));}
.footer-newsletter__form input[type="email"]{color: rgb(var(--f-ink));}
.footer-newsletter__form input[type="email"]::placeholder{color: rgba(var(--f-ink), 0.45);}
.footer-newsletter__form button{background: rgb(var(--f-ink));}
.footer .wrap{gap: 30px;}
.footer-newsletter{padding: 10px 0;}
@media (max-width: 720px){
.hv2__mega-it-tag,
  .uc-card__tag,
  .moment__meta,
  .fb__stat-l,
  .fb__kicker,
  .dest-tile__city,
  .tech__kicker,
  .tech__specs-ey,
  .lp-prog__card-soon,
  .footer-label,
  .scene__num,
  .eyebrow,
  .offer-card__season,
  .spark-cookie__eyebrow,
  [class*="__kicker"],
  [class*="__eyebrow"],
  [class*="__tag"],
  [class*="__meta"],
  [class*="__label"]{font-size: 11px !important;}
.hv2__mega-it-tag,
  .uc-card__tag,
  .moment__meta,
  .fb__stat-l,
  .fb__kicker,
  .dest-tile__city,
  .tech__kicker,
  .tech__specs-ey,
  .lp-prog__card-soon,
  .footer-label,
  .scene__num,
  .eyebrow,
  .offer-card__season,
  .ctr,
  .spark-cookie__eyebrow,
  .spark-cookie__btn,
  [class*="__kicker"],
  [class*="__eyebrow"],
  [class*="__tag"],
  [class*="__meta"],
  [class*="__label"]{letter-spacing: 0.1em !important;}
}

spark-footer .wrap { max-width: var(--grid-max); margin: 0 auto; padding: 0 24px; }

.footer-v4 .footer-cols{grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
@media (max-width:1100px){.footer-v4 .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.footer-v4 .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

@font-face{font-family:'GT Super Display';src:url('fonts/GT-Super-Display-Bold.woff2') format('woff2'),url('fonts/GT-Super-Display-Bold.woff') format('woff');font-weight:700;font-display:swap}
.footer-v4 .fv4-gold{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;color:#C7A463;font-size:1.12em;letter-spacing:0}

.footer-v4 .footer-cols,.footer-v4 .footer-cols a,.footer-v4 .footer-cols h5{font-family:'Söhne',system-ui,sans-serif}
.footer-v4 .fv4-loc{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;color:#C7A463;font-size:1.14em;letter-spacing:0}
.footer-v4 .fv4-all a{opacity:.62}
.footer-v4 .footer-cols a:hover,.footer-v4 .footer-cols a:hover .fv4-loc{color:#C7A463}

.footer-v4 .fv4-h{color:#fff;text-decoration:none}.footer-v4 .fv4-h:hover{color:#C7A463}

.footer-bottom{position:relative}
.fv4-soc{display:flex;gap:0 24px;align-items:center;justify-content:flex-end;margin-left:auto}
.fv4-soc a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;position:relative;color:#F4EEE3;background:none;transition:color .18s ease,transform .18s ease}
.fv4-soc a::before{content:"";position:absolute;inset:-11px}
.fv4-soc a:hover,.fv4-soc a:focus-visible{color:#C7A463;transform:translateY(-1px)}
.fv4-soc a:focus-visible{outline:1px solid #C7A463;outline-offset:6px;border-radius:2px}
.fv4-soc svg{width:21px;height:21px}
@media (max-width:720px){.footer-bottom{flex-wrap:wrap}.fv4-soc{order:-1;flex:0 0 100%;justify-content:center;margin:0 0 8px;gap:0 8px}.fv4-soc a{width:44px;height:44px}.fv4-soc a::before{inset:0}}

html body .footer-bottom nav.fv4-soc a{margin:0!important;padding:0!important;color:#F4EEE3!important;font-size:0!important;opacity:1!important;text-decoration:none!important;transition:color .18s ease,transform .18s ease!important}
html body .footer-bottom nav.fv4-soc a:hover,html body .footer-bottom nav.fv4-soc a:focus-visible{color:#C7A463!important}
