/* The horizon footer's BASE LAYOUT, lifted from pages-assets/common.css.
 *
 * GENERATED — do not hand-edit. Regenerate with the script recorded in this file's
 * commit; it copies the rules verbatim so the two cannot drift.
 *
 * The micro-sites do not load common.css (it would fight the campaign design for
 * .wrap, .btn and body), but the footer they now render is styled by TWO files:
 * common.css lays it out — .footer-grid's tracks, .f-col's columns, .copy, .brand —
 * and footer-horizon.css only re-skins that layout for the night close. Without the
 * base the brand and the links stacked into one narrow column.
 *
 * EVERY SELECTOR IS SCOPED WITH footer:where(.site-footer) — one element, no class.
 * The ELEMENT is required: the campaign CSS has `footer .wrap{display:flex;gap:15px}`
 * at (0,1,1), and .footer-grid is also a .wrap, so at common.css's own (0,1,0) the
 * base grid lost to it — display fell back to flex and the gap vanished. No CLASS is
 * added, deliberately: that would out-rank the footer-horizon.css overrides meant to
 * sit on top of this layer. Scoping to .site-footer keeps it all off the campaign
 * design above.
 *
 * 91 rules and 16 custom properties.
 */

/* The tokens those rules consume, taken from common.css's :root and re-declared on the
 * footer itself. Without them var(--gutter) resolves to nothing, the declaration is
 * dropped as invalid, and the footer loses its gutters and its palette. Declared HERE
 * rather than on :root so the campaign design above, which has its own tokens, is
 * untouched. */
.site-footer {
  --brand: rgb(var(--brand-rgb));
  --brand-deep: #c8941e;
  --brand-rgb: 255, 204, 0;
  --dur-fast: .18s;
  --faint: #8a8a92;
  --fg: #16171a;
  --gutter: clamp(20px, 4vw, 48px);
  --line: #ececef;
  --muted: #6b6b6b;
  --radius-pill: 999px;
  --surface: #f5f5f6;
  --text-2xs: .74rem;
  --text-md: .92rem;
  --tracking-label: .12em;
  --weight-bold: 700;
  --weight-semibold: 600;
}

footer:where(.site-footer) .brand { display:inline-flex; align-items:center; flex-shrink:0 }
footer:where(.site-footer) .brand:hover { text-decoration:none }
footer:where(.site-footer) .brand-mark { display:block; height:40px; width:auto }
footer:where(.site-footer) .brand--sm .brand-mark { height:30px }
footer:where(.site-footer) .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:46px; padding:0 22px; border-radius:15px; white-space:nowrap; font-size:14px; font-weight:600; line-height:1; cursor:pointer; border:1px solid transparent; box-shadow:inset 0 0 10px #0000000d; transition:background .2s,color .2s,border-color .2s,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s; will-change:transform }
footer:where(.site-footer) .btn:hover { text-decoration:none; transform:translateY(-2px) }
footer:where(.site-footer) .btn:active { transform:translateY(0) scale(.97) }
.site-footer { flex-shrink:0; border-top:1px solid var(--line); background:#fafafa }
.site-footer .wrap { width:100%; max-width:none; margin:0; padding-inline:var(--gutter) }
footer:where(.site-footer) .footer-grid { display:grid; grid-template-columns:minmax(240px,1.1fr) minmax(0,3fr) minmax(140px,1fr); gap:clamp(32px,4vw,72px); padding-top:52px; padding-bottom:46px }
footer:where(.site-footer) .f-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2.4vw,44px) }
@media(max-width:1148px) {
  footer:where(.site-footer) .f-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px }
}
@media(max-width:540px) {
  footer:where(.site-footer) .f-links { grid-template-columns:1fr; gap:26px }
}
footer:where(.site-footer) .f-brand .brand { margin-bottom:16px; transition:transform .3s cubic-bezier(.34,1.56,.64,1) }
footer:where(.site-footer) .f-brand .brand:hover { transform:scale(1.05) }
footer:where(.site-footer) .f-tagline { color:var(--fg); font-size:1.02rem; font-weight:600; line-height:1.5; margin:0 0 8px; max-width:34ch }
footer:where(.site-footer) .f-tagline-sub { color:var(--muted); font-size:.9rem; line-height:1.65; margin:0 0 22px; max-width:38ch }
footer:where(.site-footer) .f-cta { height:42px; padding:0 20px; font-size:13px; transition:background .2s,transform .25s ease,box-shadow .25s ease }
footer:where(.site-footer) .f-cta:hover { transform:translateY(-2px); box-shadow:0 8px 20px #ffcc004d,inset 0 0 10px #0000000d }
footer:where(.site-footer) .f-col h4 { position:relative; display:inline-block; margin:4px 0 16px; padding-bottom:7px; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint) }
footer:where(.site-footer) .f-col h4:after { content:""; position:absolute; left:0; bottom:0; width:22px; height:2px; border-radius:2px; background:var(--brand); transition:width .35s cubic-bezier(.25,1,.5,1) }
footer:where(.site-footer) .f-col:hover h4:after { width:100% }
footer:where(.site-footer) [dir=rtl] .f-col h4:after { left:auto; right:0 }
footer:where(.site-footer) .f-col ul { list-style:none; margin:0; padding:0 }
footer:where(.site-footer) .f-col li { margin:0 }
footer:where(.site-footer) .f-col a { position:relative; display:inline-block; padding:6px 0; color:var(--muted); font-size:.93rem; transition:color .18s,transform .25s ease,opacity .25s ease }
footer:where(.site-footer) .f-col a:before { content:""; position:absolute; left:-12px; top:50%; margin-top:-2px; width:4px; height:4px; border-radius:50%; background:var(--brand); opacity:0; transform:scale(.4); transition:opacity .2s,transform .25s ease }
footer:where(.site-footer) .f-col a:hover { color:var(--fg); transform:translate(6px); text-decoration:none }
footer:where(.site-footer) .f-col a:hover:before { opacity:1; transform:scale(1) }
footer:where(.site-footer) [dir=rtl] .f-col a:hover { transform:translate(-6px) }
footer:where(.site-footer) [dir=rtl] .f-col a:before { left:auto; right:-12px }
footer:where(.site-footer) .footer-bottom { border-top:1px solid var(--line) }
footer:where(.site-footer) .footer-bottom .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:16px; padding-bottom:18px }
footer:where(.site-footer) .copy { color:var(--faint); font-size:.85rem; margin:0 }
footer:where(.site-footer) .copy a { position:relative; color:var(--muted); font-weight:600; text-decoration:none; transition:color .18s ease }
footer:where(.site-footer) .copy a:after { content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--brand); border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .25s ease }
footer:where(.site-footer) .copy a:hover { color:var(--brand-deep) }
footer:where(.site-footer) .copy a:hover:after { transform:scaleX(1) }
footer:where(.site-footer) [dir=rtl] .copy a:after { transform-origin:right }
footer:where(.site-footer) .copy-sep { color:var(--line); margin:0 6px; user-select:none }
@media(max-width:760px) {
  footer:where(.site-footer) .footer-grid { grid-template-columns:1fr; gap:32px; padding-top:36px; padding-bottom:30px }
}
@media(min-width:1240px) {
  .site-footer .wrap { max-width:1640px; margin-inline:auto }
  footer:where(.site-footer) .footer-grid { grid-template-columns:minmax(240px,300px) minmax(0,880px) minmax(200px,260px); gap:clamp(28px,3.5vw,56px); justify-content:center }
  footer:where(.site-footer) .footer-bottom .wrap { display:grid; grid-template-columns:minmax(240px,320px) minmax(0,760px) minmax(280px,340px); gap:clamp(28px,3.5vw,60px); justify-content:center; align-items:center }
  footer:where(.site-footer) .footer-bottom .copy { grid-column:1 / span 3; justify-self:start }
}
@media(max-width:720px) {
  footer:where(.site-footer) .btn { padding:0 14px }
}
footer:where(.site-footer) .landing .brand { display: inline-flex; align-items: center; color: var(--fg); text-decoration: none; flex: none }
footer:where(.site-footer) .landing .brand-mark { display: block; height: 25px; width: auto }
footer:where(.site-footer) .btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; padding: 9px 17px; border-radius: var(--radius-pill); font-weight: var(--weight-semibold); font-size: var(--text-md); transition: transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease }
.site-footer { margin-top: auto; border-top: 1px solid var(--line); background: var(--surface) }
footer:where(.site-footer) .wrap { max-width: 1120px; margin: 0 auto; padding: 0 var(--gutter) }
footer:where(.site-footer) .footer-grid { display: grid; gap: 36px; padding-top: 48px; padding-bottom: 40px }
@media(min-width: 860px) {
  footer:where(.site-footer) .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) }
}
footer:where(.site-footer) .f-tagline { margin: 14px 0 4px; font-weight: 600 }
footer:where(.site-footer) .f-cta { margin-top: 16px }
footer:where(.site-footer) .f-links { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) }
footer:where(.site-footer) .f-col h4 { margin: 0 0 12px; font-size: var(--text-2xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--muted) }
footer:where(.site-footer) .f-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px }
footer:where(.site-footer) .f-col a { font-size: .9rem; color: var(--muted); text-decoration: none }
footer:where(.site-footer) .f-col a:hover { color: var(--fg) }
footer:where(.site-footer) .footer-bottom { border-top: 1px solid var(--line) }
footer:where(.site-footer) .footer-bottom .copy { margin: 0; padding: 16px 0; font-size: .82rem; color: var(--faint) }
.site-footer--hz { --hz-or1: #F6D27A; --hz-or2: #D9A83F; --hz-grad: linear-gradient(180deg, #F6D27A, #D9A83F 52%, #8F6612); --hz-blanc: 245, 242, 234; position: relative; background: #040404; border-top: 0; overflow: hidden; color: rgb(var(--hz-blanc)); font-family: 'Figtree', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif }
.site-footer--hz .f-sky { position: relative; padding: 12vh 0 }
.site-footer--hz .f-close { position: relative; text-align: center }
.site-footer--hz .f-stars { position: absolute; inset: 0; pointer-events: none; opacity: .5 }
.site-footer--hz .f-stars i { position: absolute; width: 1.5px; height: 1.5px; border-radius: 50%; background: #F5F2EA }
.site-footer--hz .f-ground { position: relative; width: 150%; margin-left: -25%; background: #000; border-top: 1px solid rgba(246, 210, 122, .34); border-radius: 50% 50% 0 0 / 120px 120px 0 0; box-shadow: 0 -26px 90px rgba(217, 168, 63, .16), 0 -2px 0 rgba(246, 210, 122, .06); padding: 96px 0 0 }
.site-footer--hz .f-ground-in { width: 66.66%; margin: 0 auto }
.site-footer--hz .footer-grid { padding-top: 0; padding-bottom: 52px }
.site-footer--hz .brand-mark { content: url(/pages-assets/logo-mark-white.svg); height: 40px }
.site-footer--hz .f-brand-line { margin: 16px 0 6px; font-size: 1.02rem; font-weight: 600; line-height: 1.5; color: rgb(var(--hz-blanc)) }
.site-footer--hz .f-brand-line-sub { margin: 0; max-width: 34ch; font-size: .9rem; line-height: 1.65; color: rgba(var(--hz-blanc), .5) }
.site-footer--hz .f-tagline { position: relative; max-width: none; margin: 0 0 18px; font-family: 'Sora', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; font-weight: 800; font-size: clamp(30px, 4.4vw, 56px); line-height: 1.06; letter-spacing: -.028em; color: #fff }
.site-footer--hz .f-tagline-sub { position: relative; margin: 0 auto 40px; max-width: 560px; font-size: 17px; line-height: 1.65; font-weight: 400; color: rgba(var(--hz-blanc), .55) }
.site-footer--hz .f-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 45px; padding: 0 18px; box-sizing: border-box; border: 1px solid transparent; border-radius: 15px; background: #f8d86d; color: #000; font-family: Outfit, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif; font-size: .92rem; font-weight: 600; line-height: 1; white-space: nowrap; box-shadow: 0 6px 16px #f8d86d73, inset 0 0 10px #0000000a }
.site-footer--hz .f-cta:hover { background: #FFD700; color: #000 }
.site-footer--hz .f-col h4 { display: block; margin: 0 0 14px; padding-bottom: 0; font-family: 'Sora', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--hz-or2) }
.site-footer--hz .f-col h4::after { display: none }
.site-footer--hz .f-col a { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 14.5px; color: rgba(var(--hz-blanc), .5); transition: color .2s }
.site-footer--hz .f-col a:hover { color: var(--hz-or1); transform: none }
.site-footer--hz .f-col ul:has(a:hover) a:not(:hover) { opacity: 1 }
.site-footer--hz .f-col a::before, .site-footer--hz .f-col a:hover::before { content: ""; display: block; flex: none; position: static; left: auto; top: auto; width: 5px; height: 5px; margin: -1px 0 0; border: 0; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; border-radius: 0; background: none; opacity: 1; transform: rotate(45deg) }
.site-footer--hz .footer-bottom { border-top: 1px solid rgba(255, 255, 255, .06) }
.site-footer--hz .footer-bottom .wrap { padding-top: 18px; padding-bottom: 18px }
.site-footer--hz .copy { font-size: 12.5px; color: rgba(var(--hz-blanc), .3) }
.site-footer--hz .copy a { color: rgba(var(--hz-blanc), .45); font-weight: 400 }
.site-footer--hz .copy a:hover { color: var(--hz-or1) }
.site-footer--hz .copy a::after { display: none }
.site-footer--hz .copy-sep { color: rgba(var(--hz-blanc), .18) }
@media(max-width: 900px) {
  .site-footer--hz .f-ground { border-radius: 50% 50% 0 0 / 56px 56px 0 0; padding-top: 62px }
}
