:root {
--navy: #14213D;
--navy-2: #1E2D52;
--navy-3: #0D1730;
--navy-4: #0A1226;
--ink: #1B2440;
--slate: #5E6478;
--soft: #7B8197;
--soft-dark: #9AA6C4;
--gold: #C9A24B;
--gold-2: #A9843A;
--gold-ink: #8A6A2C;
--gold-soft: #EAD9B0;
--champagne: #F4E6C6;
--amber: #D9973A;
--ok: #2F8A68;
--paper: #FFFDF9;
--tint: #FAF5EC;
--tint-2: #F4ECDD;
--white: #FFFFFF;
--line: rgba(20, 33, 61, .10);
--line-2: rgba(20, 33, 61, .16);
--line-light: rgba(255, 255, 255, .12);
--serif: 'Source Serif 4', 'Literata', 'Fraunces', Georgia, 'Times New Roman', serif;
--sans: 'Work Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
--nav-h: 76px;
--frame: 1264px;
--inset: 16px;
--gut: clamp(12px, 3vw, 32px);
--pad: 96px;
--radius: 10px;
--radius-lg: 16px;
--ease: cubic-bezier(.22, 1, .36, 1);
--ease-in-out: cubic-bezier(.65, 0, .35, 1);
--shadow-card: 0 1px 2px rgba(13, 23, 48, .06), 0 14px 32px -14px rgba(13, 23, 48, .20);
--shadow-float: 0 50px 100px -20px rgba(13, 23, 48, .25), 0 30px 60px -30px rgba(13, 23, 48, .30);
--grad-gold: linear-gradient(100deg, #9C7631 0%, #C9A24B 32%, #E6C77F 58%, #B3832F 100%);
--grad-gold-ink: linear-gradient(100deg, #8A6A2C 0%, #9C7631 32%, #A8823A 58%, #8F6C28 100%);
--grad-ribbon: linear-gradient(120deg, #0D1730 0%, #1E2D52 30%, #C9A24B 62%, #F4E6C6 82%, #D9973A 100%);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
[id] { scroll-margin-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }
p, h1, h2, h3, h4, figure, blockquote { margin: 0; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 350; letter-spacing: -.015em; color: var(--navy); line-height: 1.12; }
:root { --focus: var(--navy); }
.band--dark { --focus: var(--gold); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 300; padding: 10px 16px; border-radius: 8px; background: var(--navy); color: #fff; }
.skip:focus { left: 8px; }
.nowrap { white-space: nowrap; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.frame { position: relative; width: min(100% - 2 * var(--gut), var(--frame)); margin-inline: auto; padding-inline: var(--inset); }
@media (min-width: 900px) {
.frame::before, .frame::after { content: ''; position: absolute; top: 0; bottom: 0; width: 1px; background: var(--line); pointer-events: none; }
.frame::before { left: 0; }
.frame::after { right: 0; }
.band--dark .frame::before, .band--dark .frame::after { background: var(--line-light); }
}
.band { position: relative; }
.band > .frame { padding-block: var(--pad); }
.band--paper { background: var(--paper); }
.band--tint { background: var(--tint); }
.band--dark { background: var(--navy-3); color: #fff; }
.band--rule > .frame { border-top: 1px solid var(--line); }
.band--dark.band--rule > .frame { border-top-color: var(--line-light); }
.band--flush > .frame { padding-block: 0; }
.eyebrow { display: flex; align-items: flex-start; gap: 14px; font: 600 clamp(19px, 1.75vw, 26px)/1.25 var(--sans); color: var(--gold-ink); letter-spacing: -.005em; text-wrap: balance; }
.eyebrow::before { content: ''; flex: none; width: clamp(24px, 2.4vw, 36px); height: 2px; margin-top: calc(.625em - 1px); border-radius: 2px; background: currentColor; opacity: .8; }
.band--dark .eyebrow { color: var(--gold); }
.statement { max-width: 900px; font: 330 clamp(28px, 3vw, 42px)/1.12 var(--serif); letter-spacing: -.018em; color: var(--navy);
text-wrap: balance; }
.statement .soft { display: block; max-width: 760px; margin-top: .55em; font-size: max(16px, .56em); line-height: 1.45; letter-spacing: -.005em; color: #666C84; text-wrap: balance; }
.band--dark .statement { color: #fff; }
.band--dark .statement .soft { color: var(--soft-dark); }
.grad { background-image: var(--grad-gold-ink); -webkit-background-clip: text; background-clip: text; color: transparent; }
.band--dark .grad { background-image: var(--grad-gold); }
.lede { max-width: 620px; font-size: 18px; line-height: 1.6; color: var(--slate); }
.band--dark .lede { color: rgba(255, 255, 255, .72); }
.kicker-row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 24px 48px; }
@media (max-width: 640px) {
:root { --inset: 4px; --pad: 56px; }
.lede { font-size: 16.5px; }
}
.btns { display: flex; flex-wrap: wrap; gap: 12px; }
.btn {
display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border: 1px solid transparent; border-radius: 6px;
font: 500 16px/1 var(--sans); letter-spacing: 0; white-space: nowrap;
transition: background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease);
}
.btn--primary { background: var(--navy); color: #fff; }
.btn--primary:hover { background: var(--navy-2); box-shadow: 0 8px 20px -8px rgba(13, 23, 48, .45); }
.btn--gold { background: var(--gold); color: var(--navy); }
.btn--gold:hover { background: #D6B160; box-shadow: 0 8px 20px -8px rgba(169, 132, 58, .55); }
.btn--secondary { background: #fff; border-color: var(--line-2); color: var(--navy); }
.btn--secondary:hover { border-color: var(--navy); }
.btn--ghost-dark { border-color: rgba(255, 255, 255, .35); color: #fff; }
.btn--ghost-dark:hover { border-color: #fff; background: rgba(255, 255, 255, .06); }
.arrow { flex: 0 0 auto; width: 10px; height: 10px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.arrow__line { opacity: 0; transition: opacity .3s cubic-bezier(.25, 1, .5, 1); }
.arrow__tip { transition: transform .3s cubic-bezier(.25, 1, .5, 1); }
.btn:hover .arrow__line, .link-arrow:hover .arrow__line { opacity: 1; }
.btn:hover .arrow__tip, .link-arrow:hover .arrow__tip { transform: translateX(3px); }
.link-arrow { display: inline-flex; align-items: center; gap: 7px; font: 600 15px/1.4 var(--sans); color: var(--gold-ink); }
.link-arrow:hover { color: var(--navy); }
.band--dark .link-arrow { color: var(--gold); }
.band--dark .link-arrow:hover { color: #fff; }
.nav { position: relative; z-index: 60; }
body::after { content: ''; position: fixed; inset: 0; z-index: 59; pointer-events: none; opacity: 0; transition: opacity .3s var(--ease);
background: linear-gradient(rgba(250, 245, 236, 0), rgba(250, 245, 236, .8)); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.mega-open body::after { opacity: 1; }
.nav__bar { display: flex; align-items: center; gap: 28px; width: min(100% - 2 * var(--gut), var(--frame)); height: var(--nav-h); margin-inline: auto; padding-inline: var(--inset); }
.nav__logo img { width: 128px; height: auto; }
.nav__menu { display: flex; align-items: center; gap: 2px; }
.nav__item { position: relative; }
.nav__link { display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 12px; border: 0; border-radius: 8px; background: none; font: 500 15px/1 var(--sans); color: var(--navy); transition: background-color .2s var(--ease), color .2s var(--ease); }
.nav__link:hover, .nav__item.is-open > .nav__link { background: rgba(20, 33, 61, .05); }
.nav__link[aria-current="page"] { color: var(--gold-2); }
.nav__chev { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.nav__item.is-open .nav__chev { transform: rotate(180deg); }
.nav__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.nav__plain { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font: 500 15px/1 var(--sans); color: var(--navy); transition: border-color .2s var(--ease); }
.nav__plain:hover { border-color: var(--navy); }
.nav__actions .btn { height: 40px; padding: 0 16px; font-size: 15px; }
.mega {
position: absolute; top: calc(100% + 10px); left: -12px; z-index: 5; display: flex; min-width: 260px; overflow: hidden;
border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-float);
opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98); transform-origin: 20% 0;
transition: opacity .2s var(--ease), transform .25s var(--ease), visibility 0s .25s;
}
.mega::before { content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.nav__item.is-open > .mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mega--wide { min-width: 640px; }
.mega__col { flex: 1; padding: 18px; }
.mega__col--tint { background: var(--tint); border-left: 1px solid var(--line); }
.mega__label { margin: 4px 10px 10px; font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.mega__item { display: flex; gap: 14px; padding: 10px; border-radius: 10px; transition: background-color .2s var(--ease); }
.mega__item:hover { background: var(--tint); }
.mega__item svg { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; color: var(--gold-2); }
.mega__item b { display: block; font: 600 15px/1.3 var(--sans); color: var(--navy); }
.mega__item small { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.45; color: var(--slate); }
.mega__item--compact { align-items: center; }
.mega__item--compact svg { margin-top: 0; }
.mega__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 14px; }
.mega__grid a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; font: 500 14.5px/1.2 var(--sans); color: var(--navy); }
.mega__grid a:hover { background: #fff; }
.mega__grid svg { flex: none; width: 17px; height: 17px; color: var(--gold-2); }
.mega__col--tint .link-arrow { margin: 0 10px; }
.nav__burger { display: none; position: relative; width: 44px; height: 44px; margin-left: auto; border: 0; background: none; }
.nav__burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: var(--navy); transition: transform .35s var(--ease), top .35s var(--ease); }
.nav__burger span:first-child { top: 17px; }
.nav__burger span:last-child { top: 26px; }
.menu-open .nav__burger span:first-child { top: 21.5px; transform: rotate(45deg); }
.menu-open .nav__burger span:last-child { top: 21.5px; transform: rotate(-45deg); }
.mnav { position: fixed; inset: 76px 0 0; z-index: 55; display: flex; flex-direction: column; gap: 2px; padding: 20px var(--gut) 40px; overflow-y: auto;
background: var(--paper); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s var(--ease), transform .3s var(--ease), visibility 0s .3s; }
.menu-open .mnav { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mnav a:not(.btn) { padding: 13px 4px; border-bottom: 1px solid var(--line); font: 400 22px/1.2 var(--serif); color: var(--navy); }
.mnav > * { flex-shrink: 0; }
.mnav .btn { align-self: flex-start; margin-top: 24px; }
@media (max-width: 1040px) {
.nav__main, .nav__actions { display: none; }
.nav__burger { display: block; }
}
.foot { background: var(--tint); border-top: 1px solid var(--line); }
.foot .frame { padding-block: 72px 28px; }
.foot__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 40px 32px; }
.foot__brand img { width: 200px; height: auto; margin-bottom: 18px; }
.foot__brand p { max-width: 340px; font-size: 15px; color: var(--slate); text-wrap: balance; }
.foot address { margin-top: 16px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--slate); }
.foot address a:hover { color: var(--gold-2); }
.foot__social { display: flex; gap: 10px; margin-top: 18px; }
.foot__social a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line-2); border-radius: 50%; color: var(--navy); transition: border-color .2s, color .2s, background-color .2s; }
.foot__social a:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.foot__social svg { width: 17px; height: 17px; }
.foot h4 { margin-bottom: 14px; font: 600 14px/1.3 var(--sans); color: var(--navy); }
.foot li + li { margin-top: 9px; }
.foot li a { font-size: 14.5px; color: var(--slate); transition: color .2s; }
.foot li a:hover { color: var(--gold-2); }
.foot__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--slate); }
.foot__iata { display: inline-flex; align-items: center; gap: 10px; }
.foot__iata img { height: 28px; width: auto; }
@media (max-width: 1000px) { .foot__grid { grid-template-columns: repeat(2, 1fr); } .foot__brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .foot__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; } }
.loader { display: none; }
.js .loader {
position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
background: rgba(255, 249, 243, .28);
-webkit-backdrop-filter: blur(16px) saturate(115%);
backdrop-filter: blur(16px) saturate(115%);
opacity: 0; visibility: hidden;
transition: opacity .35s var(--ease), visibility 0s .35s;
}
.is-loading .loader, .js .loader.is-leaving { opacity: 1; visibility: visible; transition: opacity .15s var(--ease), visibility 0s; }
.loader__ring { width: 92px; height: 92px; animation: ringSpin 1.5s cubic-bezier(.55, .1, .45, .9) infinite; filter: drop-shadow(0 2px 10px rgba(13, 23, 48, .35)); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .js .loader { background: rgba(255, 249, 243, .94); } }
@keyframes ringSpin { to { transform: rotate(360deg); } }
.is-loading :not(.loader__ring) { animation-play-state: paused !important; }
.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ease), transform 1s var(--ease); transition-delay: var(--d, 0ms); }
.js [data-reveal="fade"] { transform: none; }
.js [data-reveal="scale"] { transform: scale(.96); }
.js [data-reveal="left"] { transform: translateX(-28px); }
.js [data-reveal="right"] { transform: translateX(28px); }
.js [data-reveal].is-in { opacity: 1; transform: none; }
@media print { .js [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; } }
.no-motion [data-reveal] { opacity: 1 !important; transform: none !important; }
.no-motion *, .no-motion *::before, .no-motion *::after { transition: none !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
.js [data-reveal] { opacity: 1; transform: none; }
}
.ui { font-family: var(--sans); color: var(--ink); font-size: 13px; line-height: 1.4; }
.ui-card { position: relative; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-card); }
.ui-pad { padding: 14px 16px; }
.ui-window { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-float); }
.ui-window__bar { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-bottom: 1px solid var(--line); background: #FBF8F2; }
.ui-window__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(20, 33, 61, .18); }
.ui-window__url { flex: 1; max-width: 260px; margin: 0 auto; padding: 4px 10px; border-radius: 6px; background: rgba(20, 33, 61, .05); font-size: 11px; color: var(--slate); text-align: center; }
.ui-phone { position: relative; padding: 10px; border-radius: 32px; background: var(--navy-3); box-shadow: var(--shadow-float); }
.ui-phone__screen { overflow: hidden; border-radius: 24px; background: #fff; }
.ui-label { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); }
.ui-title { font-size: 14px; font-weight: 600; color: var(--navy); }
.ui-big { font: 400 26px/1.1 var(--serif); color: var(--navy); }
.ui-muted { color: var(--slate); }
.ui-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; }
.ui-row + .ui-row { border-top: 1px solid var(--line); }
.ui-chip { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.ui-chip--ok { background: rgba(47, 138, 104, .12); color: #23715A; }
.ui-chip--gold { background: rgba(201, 162, 75, .16); color: var(--gold-ink); }
.ui-chip--navy { background: rgba(20, 33, 61, .08); color: var(--navy); }
.ui-chip svg { width: 12px; height: 12px; }
.ui-bar { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(20, 33, 61, .07); }
.ui-bar > span { display: block; height: 100%; width: var(--v, 50%); border-radius: inherit; background: var(--grad-gold); transform-origin: left; }
.ui-avatar { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--navy); color: var(--gold-soft); font: 600 10.5px/1 var(--sans); }
.ui-icon { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--tint); color: var(--gold-2); }
.ui-icon svg { width: 16px; height: 16px; }
.band--dark .ui-card, .band--dark .ui-window { border-color: var(--line-light); }
.totop { position: fixed; right: clamp(16px, 2.4vw, 32px); bottom: clamp(16px, 2.4vw, 32px); z-index: 50; width: 48px; height: 48px;
display: grid; place-items: center; padding: 0; border: 1px solid rgba(201, 162, 75, .45); border-radius: 50%;
background: var(--navy); color: var(--gold); box-shadow: 0 10px 24px -8px rgba(13, 23, 48, .45); cursor: pointer;
opacity: 0; visibility: hidden; transform: translateY(12px) scale(.92);
transition: opacity .35s var(--ease), transform .45s var(--ease), visibility 0s .45s, background-color .25s; }
.totop svg { width: 20px; height: 20px; }
.totop.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .35s var(--ease), transform .45s var(--ease), background-color .25s; }
.totop:hover { background: var(--navy-2); }
.totop:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media print { .totop { display: none; } }
.hero { position: relative; overflow: hidden; margin-top: -76px; padding-top: 76px; background: var(--paper); }
.hero__ribbon { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
.hero__frame { z-index: 1; padding-top: clamp(64px, min(8.5vw, 9vh), 120px); }
.hero__copy { position: relative; max-width: 780px; padding-bottom: clamp(56px, min(7vw, 7vh), 96px); }
.hero__tick { display: flex; align-items: center; gap: 8px; margin-bottom: 26px; font-size: 15px; color: var(--navy); }
.hero__tick svg { width: 16px; height: 16px; color: var(--gold); }
.hero__tick b { font-weight: 600; }
.hero__ticker { position: relative; display: inline-grid; height: 1.6em; overflow: hidden; color: var(--slate); }
.hero__ticker span { grid-area: 1 / 1; transform: translateY(110%); opacity: 0; transition: transform .6s var(--ease), opacity .6s var(--ease); white-space: nowrap; }
.hero__ticker span.is-on { transform: none; opacity: 1; }
.hero__ticker span.is-off { transform: translateY(-110%); opacity: 0; }
.no-motion .hero__ticker span:first-child, .hero__ticker:not(.is-live) span:first-child { transform: none; opacity: 1; }
.no-motion .hero__ticker { display: block; flex: 1 1 auto; min-width: 0; height: auto; overflow: visible; }
.no-motion .hero__ticker span { display: inline-block; transform: none; opacity: 1; }
.no-motion .hero__ticker span + span { margin-left: .45em; }
.no-motion .hero__ticker span + span::before { content: "\00B7"; margin-right: .45em; color: var(--gold); }
.no-motion .hero__tick { align-items: baseline; }
.no-motion .hero__tick b { flex: none; white-space: nowrap; }
.hero__title { font: 330 clamp(32px, 3.5vw, 50px)/1.1 var(--serif); letter-spacing: -.02em; color: var(--navy); }
.hero__title .soft { display: block; max-width: 640px; margin-top: .5em; font-size: .64em; line-height: 1.3; letter-spacing: -.01em; color: var(--soft); text-wrap: pretty; }
.hero .btns { margin-top: 38px; }
.logos { position: relative; margin-inline: calc(var(--inset) * -1); border-top: 1px solid var(--line); background: var(--paper); }
@media (min-width: 900px) { .logos { box-shadow: inset 1px 0 var(--line); } }
.logos__mask { overflow: hidden;
-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.logos__cap { padding: 18px clamp(20px, 2.5vw, 36px) 0; font: 500 clamp(14px, 1.1vw, 16px)/1.4 var(--sans); letter-spacing: .01em; color: var(--slate); }
.logos__track { display: flex; width: max-content; animation: logos 46s linear infinite; }
.logos:hover .logos__track { animation-play-state: paused; }
.logos ul { display: flex; align-items: center; gap: clamp(40px, 5vw, 72px); padding: 18px clamp(20px, 2.5vw, 36px) 28px; }
.logos li { flex: 0 0 auto; }
.logos img { width: auto; max-height: 44px; filter: saturate(.9); opacity: .9; transition: opacity .3s, filter .3s; }
.logos:hover img { opacity: .55; filter: grayscale(1); }
.logos li:hover img { opacity: 1; filter: none; }
@keyframes logos { to { transform: translateX(-50%); } }
.no-motion .logos__track { animation: none; }
@media (max-width: 640px) { .hero__title .soft { display: none; } }
@media (max-width: 760px) {
.hero__ribbon { opacity: .55; }
.hero__copy { padding-bottom: 56px; }
.hero__tick { flex-wrap: wrap; font-size: 14px; }
.logos img { max-height: 34px; }
}
@media (max-width: 1040px) {
.hero__ribbon { -webkit-mask-image: linear-gradient(180deg, transparent 20px, #000 104px); mask-image: linear-gradient(180deg, transparent 20px, #000 104px); }
}
.intro__head .eyebrow { margin-bottom: 22px; }
.intro__row { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start;
column-gap: 16px; margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); }
.intro__body { grid-column: span 2; }
.intro__rule { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--line); transform-origin: left; }
.intro__rule::before { content: ''; position: absolute; top: 0; left: 0; width: 56px; height: 1px; background: var(--gold-2); }
.js .intro__rule[data-reveal] { opacity: 1; transform: scaleX(0); transition: transform 1.2s var(--ease-in-out); }
.js .intro__rule[data-reveal].is-in { transform: none; }
.intro__years { display: flex; align-items: flex-end; gap: clamp(16px, 2vw, 24px); }
.intro__num { flex: 0 0 auto; padding-right: .04em; font: 300 clamp(80px, 8.4vw, 120px)/.78 var(--serif); font-variant-numeric: lining-nums; letter-spacing: -.055em; }
.intro__cap { max-width: 150px; padding-bottom: .2em; font: 500 15px/1.4 var(--sans); color: var(--navy); }
.intro__cap::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 12px; background: var(--gold-2); }
.intro__text { max-width: 640px; font: 300 clamp(18px, 1.5vw, 21px)/1.55 var(--sans); color: var(--ink); }
.intro__body .btns { align-items: center; gap: 12px 28px; margin-top: 28px; }
@media (max-width: 1149px) {
.intro__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.intro__body { grid-column: auto; }
}
@media (max-width: 899px) {
.intro__row { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
}
.sol .statement { margin-bottom: clamp(40px, 5vw, 64px); }
.sol-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sol-cell { display: flex; min-width: 0; }
.sol-cell--travel { grid-column: span 2; }
.sol-cell--cover { grid-column: 1 / -1; }
.sol-card {
position: relative; isolation: isolate; container-type: inline-size; display: flex; flex-direction: column; width: 100%; min-height: 572px;
overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff;
box-shadow: 0 1px 1px rgba(13, 23, 48, .03);
transition: transform .6s var(--ease), box-shadow .6s var(--ease), border-color .4s var(--ease);
}
.sol-card:hover { transform: translateY(-4px); border-color: var(--line-2); box-shadow: 0 2px 4px rgba(13, 23, 48, .04), 0 28px 56px -28px rgba(13, 23, 48, .28); }
.sol-card::after {
content: ''; position: absolute; inset: 0; z-index: 4; padding: 1px; border-radius: inherit; pointer-events: none; opacity: 0;
background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(201, 162, 75, .95), rgba(201, 162, 75, 0) 70%);
-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
transition: opacity .35s var(--ease);
}
.sol-card:hover::after { opacity: 1; }
.sol-card:has(.sol-go:focus-visible) { border-color: var(--gold); }
.sol-card__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 20px; padding: 26px 26px 0 28px; }
.sol-copy { max-width: 520px; font: 400 21px/1.32 var(--serif); letter-spacing: -.01em; text-wrap: pretty; }
.sol-copy h3, .sol-copy p { display: block; font: inherit; letter-spacing: inherit; }
.sol-copy p { margin-top: .2em; }
.sol-copy h3 { color: var(--navy); }
.sol-copy p { color: var(--slate); }
.sol-go { display: grid; place-items: center; width: 38px; height: 38px; margin: -4px -4px 0 0; border-radius: 10px; background: var(--tint); color: var(--gold-2);
transition: background-color .3s var(--ease), color .3s var(--ease); }
.sol-go::before { content: ''; position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.sol-go__arrow { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.sol-go__stem, .sol-go__tip { transition: transform .5s var(--ease); }
.sol-card:hover .sol-go { background: var(--gold-soft); color: var(--navy); }
.sol-card:hover .sol-go__tip { transform: translate(1.5px, -1.5px); }
.sol-card:hover .sol-go__stem { transform: translate(.75px, -.75px); }
.sol-go__hint { position: absolute; top: 68px; right: 22px; z-index: 5; padding: 6px 10px; border-radius: 8px; background: var(--navy);
font: 500 12.5px/1.2 var(--sans); color: #fff; white-space: nowrap; pointer-events: none; box-shadow: 0 10px 24px -10px rgba(13, 23, 48, .5);
opacity: 0; transform: translateY(-4px); transition: opacity .25s var(--ease), transform .35s var(--ease); }
.sol-card:hover .sol-go__hint, .sol-go:focus-visible .sol-go__hint { opacity: 1; transform: none; }
@media (hover: none) { .sol-go__hint { display: none; } }
@container (max-width: 780px) { .sol-go__hint { display: none; } }
.sol-vis { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px 26px 26px; }
.sol-vis .ui-card { box-shadow: 0 1px 2px rgba(13, 23, 48, .05), 0 18px 40px -18px rgba(13, 23, 48, .26); }
.sol-wash { position: absolute; z-index: -1; inset: 24% -14% -12%; pointer-events: none; will-change: transform;
-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 42%); mask-image: linear-gradient(180deg, transparent 0%, #000 42%);
animation: solDrift 14s var(--ease-in-out) infinite alternate; animation-play-state: paused; }
.sol-card.is-live .sol-wash, .sol-card.is-live .sol-swoosh { animation-play-state: running; }
@keyframes solDrift { from { transform: translate3d(-4%, 2%, 0) scale(1); } to { transform: translate3d(4%, -3%, 0) scale(1.08); } }
.sol-roll { display: inline-grid; overflow: hidden; vertical-align: top; justify-items: end; }
.sol-roll > * { grid-area: 1 / 1; transform: translateY(105%); opacity: 0; transition: transform .6s var(--ease), opacity .45s var(--ease); }
.sol-roll > .is-past { transform: translateY(-105%); }
.sol-roll > .is-on { transform: none; opacity: 1; }
.sol-chk { flex: none; width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sol-to { display: inline-block; width: 15px; height: 8px; margin: 0 .25em; vertical-align: .18em; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; opacity: .55; }
.sol-vis .ui-bar > span { width: 100%; transform: scaleX(var(--f, 1)); transition: transform 1.1s var(--ease); }
.sol-vis b { font-weight: 600; }
.sol-vis [data-num] { font-variant-numeric: tabular-nums; }
.sol-trip { height: 468px; flex: none; margin-top: auto; padding: 0; }
.sol-swoosh { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; transform-origin: 100% 0; animation: solSwoosh 12s var(--ease-in-out) infinite alternate; animation-play-state: paused; }
.sol-swoosh__b { mix-blend-mode: screen; }
@keyframes solSwoosh { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-2%, 3%, 0) scale(1.04, 1.08); } }
.sol-wash--trip { inset: 10% 40% -14% -14%; background:
radial-gradient(60% 55% at 30% 100%, rgba(217, 151, 58, .8), rgba(217, 151, 58, 0) 72%),
radial-gradient(70% 70% at 0% 90%, rgba(201, 162, 75, .75), rgba(201, 162, 75, 0) 72%),
radial-gradient(110% 80% at 30% 100%, #F2DDAF, rgba(244, 230, 198, 0) 82%); }
.sol-desk { position: absolute; z-index: 1; top: 58px; right: -1px; bottom: -24px; left: 244px; border-radius: 12px 0 0 0; display: flex; flex-direction: column; box-shadow: 0 30px 60px -28px rgba(13, 23, 48, .35), 0 2px 6px rgba(13, 23, 48, .05); }
.sol-desk .ui-window__url { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.sol-desk .ui-window__url svg { width: 10px; height: 10px; }
.sol-desk__body { flex: 1; padding: 16px 20px 20px; }
.sol-desk__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sol-desk__top .ui-muted { font-size: 12px; }
.sol-desk__route { margin: 3px 0 2px; font: 400 22px/1.15 var(--serif); color: var(--navy); letter-spacing: -.01em; white-space: nowrap; }
.sol-desk__state .sol-roll { height: 22px; }
.sol-desk__state .ui-chip svg { width: 11px; height: 11px; }
.sol-steps { position: relative; display: flex; justify-content: space-between; margin: 16px 0 12px; padding-top: 14px; font-size: 11px; color: var(--slate); }
.sol-steps::before, .sol-steps::after { content: ''; position: absolute; top: 3px; left: 4px; right: 4px; height: 2px; border-radius: 2px; background: var(--line); }
.sol-steps::after { background: var(--grad-gold); transform-origin: left; transform: scaleX(var(--p, 0)); transition: transform .9s var(--ease); }
.sol-steps li { position: relative; }
.sol-steps li::before { content: ''; position: absolute; top: -14px; left: 0; z-index: 1; width: 8px; height: 8px; border: 2px solid #D9D4C8; border-radius: 50%; background: #fff; transition: border-color .4s var(--ease), background-color .4s var(--ease); }
.sol-steps li:nth-child(2) { text-align: center; }
.sol-steps li:nth-child(2)::before { left: calc(50% - 4px); }
.sol-steps li:last-child::before { left: auto; right: 0; }
.sol-steps li.is-on { color: var(--navy); }
.sol-steps li.is-on::before { border-color: var(--gold); background: var(--gold); }
.sol-legs { display: grid; gap: 8px; }
.sol-leg { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.sol-leg > :not(.sol-skel) { opacity: 0; transform: translateY(6px); transition: opacity .5s var(--ease), transform .6s var(--ease); }
.sol-leg.is-filled > :not(.sol-skel) { opacity: 1; transform: none; }
.sol-leg__ic { display: grid; place-items: center; width: 34px; height: 34px; overflow: hidden; border-radius: 9px; background: var(--tint); color: var(--gold-2); }
.sol-leg__ic svg { width: 16px; height: 16px; }
.sol-leg__ic--img img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 62%; }
.sol-leg__t { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink); white-space: nowrap; }
.sol-leg__t b { color: var(--navy); }
.sol-leg__s { margin-top: 2px; font-size: 11.5px; color: var(--slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sol-leg__line { position: relative; flex: 0 1 46px; min-width: 18px; height: 0; border-top: 1px dashed rgba(20, 33, 61, .3); }
.sol-leg__line i { position: absolute; top: -3.5px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.sol-card.is-live .sol-leg.is-filled .sol-leg__line i { animation: solFly 2.6s var(--ease-in-out) infinite; }
@keyframes solFly { 0% { transform: translateX(0); opacity: 0; } 15%, 85% { opacity: 1; } 100% { transform: translateX(var(--fly, 40px)); opacity: 0; } }
.sol-leg__state .sol-roll { height: 22px; }
.sol-leg__state .ui-chip svg { width: 11px; height: 11px; }
.sol-skel { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 0 12px 0 58px; opacity: 0; transition: opacity .4s var(--ease); pointer-events: none; }
.sol-skel i { display: block; width: 52%; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #F1ECE2 0%, #F8F4EC 50%, #F1ECE2 100%) 0 0 / 200% 100%; }
.sol-skel i + i { width: 34%; }
.sol-skel::before { content: ''; position: absolute; left: 12px; top: 50%; width: 34px; height: 34px; margin-top: -17px; border-radius: 9px; background: #F4EFE6; }
.sol-leg:not(.is-filled) .sol-skel { opacity: 1; }
.sol-card.is-live .sol-leg:not(.is-filled) .sol-skel i { animation: solShimmer 1.4s linear infinite; }
@keyframes solShimmer { to { background-position: -200% 0; } }
.sol-phone { position: absolute; z-index: 2; left: 28px; bottom: 26px; width: 196px; padding: 8px; border-radius: 30px; }
.sol-phone .ui-phone__screen { position: relative; height: 372px; border-radius: 23px; background: #FBF8F2; }
.sol-phone__bar { display: flex; align-items: center; justify-content: space-between; height: 26px; padding: 0 16px; font-size: 10px; font-weight: 600; color: var(--navy); }
.sol-phone__sig { display: flex; align-items: flex-end; gap: 1.5px; height: 8px; }
.sol-phone__sig i { width: 2.5px; border-radius: 1px; background: var(--navy); }
.sol-phone__sig i:nth-child(1) { height: 3px; } .sol-phone__sig i:nth-child(2) { height: 4.5px; } .sol-phone__sig i:nth-child(3) { height: 6px; } .sol-phone__sig i:nth-child(4) { height: 8px; opacity: .35; }
.sol-phone__app { display: flex; align-items: center; gap: 7px; padding: 6px 14px 10px; font-size: 13px; color: var(--navy); }
.sol-phone__trip { margin: 0 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.sol-phone__img { width: 100%; height: 86px; object-fit: cover; object-position: 50% 60%; }
.sol-phone__pad { padding: 10px 12px 12px; }
.sol-phone__date { font-size: 10.5px; color: var(--slate); }
.sol-phone__route { margin: 2px 0 6px; font: 400 21px/1.1 var(--serif); color: var(--navy); }
.sol-phone__route .sol-to { width: 17px; }
.sol-phone__state { font-size: 11px; font-weight: 600; color: var(--gold-2); }
.sol-phone__state .sol-roll { justify-items: start; height: 16px; }
.sol-phone__legs { display: grid; gap: 6px; margin: 10px 10px 0; }
.sol-phone__legs li { display: flex; align-items: center; gap: 8px; height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: 11px; color: var(--slate); transition: color .4s var(--ease); }
.sol-phone__legs svg { width: 13px; height: 13px; color: var(--gold-2); }
.sol-phone__legs i { width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: #DDD6C8; transition: background-color .4s var(--ease), transform .4s var(--ease); }
.sol-phone__legs li.is-filled { color: var(--navy); }
.sol-phone__legs li.is-filled i { background: var(--gold); }
.sol-phone__legs li.is-ok i { background: var(--ok); transform: scale(1.15); }
.sol-phone__ok { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 16px; background: var(--navy); color: #fff;
box-shadow: 0 14px 30px -12px rgba(13, 23, 48, .6); transform: translateY(120%); opacity: 0; transition: transform .7s var(--ease), opacity .4s var(--ease); }
.sol-phone__ok.is-on { transform: none; opacity: 1; }
.sol-phone__ok p { display: grid; gap: 2px; font-size: 10.5px; line-height: 1.35; color: rgba(255, 255, 255, .72); }
.sol-phone__ok b { font-size: 12.5px; color: #fff; }
.sol-okmark { flex: 0 0 auto; width: 28px; height: 28px; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sol-okmark circle { stroke: var(--gold); stroke-width: 1.6; stroke-dasharray: 80; stroke-dashoffset: 80; transition: stroke-dashoffset .8s var(--ease) .15s; }
.sol-okmark path { stroke: var(--gold-soft); stroke-width: 2; stroke-dasharray: 20; stroke-dashoffset: 20; transition: stroke-dashoffset .5s var(--ease) .6s; }
.sol-phone__ok.is-on .sol-okmark circle, .sol-phone__ok.is-on .sol-okmark path { stroke-dashoffset: 0; }
.sol-wash--expo { background:
radial-gradient(48% 55% at 84% 98%, rgba(217, 151, 58, .95), rgba(217, 151, 58, 0) 72%),
radial-gradient(52% 60% at 12% 100%, rgba(201, 162, 75, .9), rgba(201, 162, 75, 0) 72%),
radial-gradient(34% 32% at 50% 108%, rgba(156, 118, 49, .65), rgba(156, 118, 49, 0) 72%),
radial-gradient(110% 78% at 50% 100%, #F2DDAF, rgba(244, 230, 198, 0) 82%); }
.sol-stack { display: grid; gap: 12px; }
.sol-block { padding: 14px 16px 14px; }
.sol-block__ev { display: flex; align-items: center; gap: 10px; }
.sol-block__ev .ui-muted { font-size: 11.5px; }
.sol-block__nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 14px 0 12px; }
.sol-block__nums p { display: grid; gap: 3px; }
.sol-block__nums .ui-label { font-size: 10px; }
.sol-block__nums b { font: 400 22px/1 var(--serif); color: var(--navy); }
.sol-block__foot { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11px; color: var(--slate); }
.sol-block__foot b { color: var(--navy); }
.sol-chart { padding: 14px 16px 12px; }
.sol-chart__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.sol-chart__lbl { font-size: 11.5px; color: var(--slate); }
.sol-chart__big { margin-top: 3px; font: 400 26px/1 var(--serif); color: var(--navy); }
.sol-chart__key { display: flex; align-items: center; gap: 5px; padding-top: 2px; font-size: 10px; color: var(--slate); white-space: nowrap; }
.sol-chart__key i { width: 7px; height: 7px; border-radius: 2px; }
.sol-chart__key i + i, .sol-chart__key i:last-of-type { margin-left: 4px; }
.sol-key--held { background: rgba(201, 162, 75, .28); }
.sol-key--conf { background: var(--gold); }
.sol-bars { position: relative; display: flex; align-items: stretch; gap: 7px; height: 104px; margin-top: 16px; padding-top: 4px; border-bottom: 1px solid var(--line); }
.sol-bar { position: relative; flex: 1; }
.sol-bar::before, .sol-bar::after { content: ''; position: absolute; inset: 0; border-radius: 3px 3px 1px 1px; transform-origin: bottom; transition: transform .9s var(--ease), background-color .3s var(--ease); transition-delay: calc(var(--i, 0) * 55ms); }
.sol-bar::before { background: rgba(201, 162, 75, .24); transform: scaleY(var(--held)); }
.sol-bar::after { background: linear-gradient(180deg, #D7B466, #B98E3C); transform: scaleY(var(--conf)); transition-delay: calc(var(--i, 0) * 55ms + 120ms); }
.sol-bars.is-down .sol-bar::before, .sol-bars.is-down .sol-bar::after { transform: scaleY(0); transition-duration: .45s; transition-delay: 0s; }
.sol-bar.is-on::after { background: var(--navy); }
.sol-bar em { position: absolute; left: 50%; bottom: calc(var(--held) * 100% + 6px); z-index: 1; padding: 3px 6px; border-radius: 5px; background: var(--navy); color: #fff;
font-size: 10px; font-style: normal; font-weight: 600; white-space: nowrap; transform: translate(-50%, 4px); opacity: 0; transition: opacity .25s var(--ease), transform .35s var(--ease); pointer-events: none; }
.sol-bar.is-on em { opacity: 1; transform: translate(-50%, 0); }
.sol-bar:first-child em { left: 0; transform: translate(0, 4px); }
.sol-bar:first-child.is-on em { transform: none; }
.sol-bar:nth-last-child(2) em { left: auto; right: 0; transform: translate(0, 4px); }
.sol-bar:nth-last-child(2).is-on em { transform: none; }
.sol-sweep { position: absolute; top: 0; bottom: 0; left: 0; width: 40%; pointer-events: none; opacity: 0;
background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 0)); transform: translateX(-100%); }
.sol-sweep.is-on { animation: solSweep 1.6s var(--ease-in-out); }
@keyframes solSweep { 0% { transform: translateX(-100%); opacity: 0; } 15%, 85% { opacity: 1; } 100% { transform: translateX(250%); opacity: 0; } }
.sol-bars__x { display: flex; gap: 7px; margin-top: 6px; }
.sol-bars__x span { flex: 1; font-size: 9.5px; text-align: center; color: var(--slate); }
.sol-wash--event { background:
radial-gradient(60% 62% at 0% 100%, rgba(201, 162, 75, .95), rgba(201, 162, 75, 0) 72%),
radial-gradient(46% 50% at 72% 104%, rgba(217, 151, 58, .8), rgba(217, 151, 58, 0) 72%),
radial-gradient(36% 40% at 100% 100%, rgba(169, 132, 58, .7), rgba(169, 132, 58, 0) 72%),
radial-gradient(110% 78% at 50% 100%, #F2DDAF, rgba(244, 230, 198, 0) 82%); }
.sol-checkin { align-self: flex-end; display: flex; align-items: center; gap: 10px; margin: 0 -6px 10px 0; padding: 10px 14px 10px 10px; }
.sol-checkin p { display: grid; gap: 1px; font-size: 10.5px; line-height: 1.3; color: var(--slate); }
.sol-checkin b { font: 400 18px/1.1 var(--serif); color: var(--navy); }
.sol-checkin b span { font-variant-numeric: tabular-nums; }
.sol-run { padding: 14px 14px 10px; }
.sol-run__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 0 2px; }
.sol-run__live { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 999px; background: rgba(47, 138, 104, .1); font-size: 11px; font-weight: 600; color: var(--ok); }
.sol-run__live i { position: relative; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); }
.sol-run__live i::after { content: ''; position: absolute; inset: -3px; border-radius: 50%; border: 1.5px solid var(--ok); opacity: 0; }
.sol-card.is-live .sol-run__live i::after { animation: solPulse 1.8s var(--ease) infinite; }
@keyframes solPulse { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(1.9); opacity: 0; } }
.sol-run__prog { display: flex; align-items: center; gap: 10px; margin: 12px 2px 8px; font-size: 11px; color: var(--slate); white-space: nowrap; }
.sol-run__prog .ui-bar { flex: 1; height: 6px; }
.sol-run__prog b { color: var(--navy); }
.sol-run__list li { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 8px; border-radius: 9px; transition: background-color .4s var(--ease); }
.sol-run__list li + li { margin-top: 1px; }
.sol-run__list li::before { content: ''; position: absolute; left: 0; top: 9px; bottom: 9px; width: 2px; border-radius: 2px; background: var(--gold); transform: scaleY(0); transition: transform .4s var(--ease); }
.sol-run__list li.is-now { background: var(--tint); }
.sol-run__list li.is-now::before { transform: none; }
.sol-run__list p { display: grid; min-width: 0; }
.sol-run__list p b { font-size: 12.5px; color: var(--navy); }
.sol-run__list small { overflow: hidden; font-size: 11px; color: var(--slate); white-space: nowrap; text-overflow: ellipsis; }
.sol-run__list time { font-size: 11px; color: var(--slate); font-variant-numeric: tabular-nums; }
.sol-tick { position: relative; display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid #D9D4C8; border-radius: 50%; color: #fff; transition: border-color .35s var(--ease), background-color .35s var(--ease); }
.sol-tick .sol-chk { width: 11px; height: 11px; stroke-width: 2; stroke-dasharray: 12; stroke-dashoffset: 12; transition: stroke-dashoffset .4s var(--ease) .1s; }
.is-done > .sol-tick { border-color: var(--ok); background: var(--ok); }
.is-done > .sol-tick .sol-chk { stroke-dashoffset: 0; }
.sol-run__list li.is-done p b { color: var(--ink); }
.sol-wash--car { background:
radial-gradient(52% 56% at 100% 100%, rgba(217, 151, 58, .95), rgba(217, 151, 58, 0) 72%),
radial-gradient(52% 58% at 6% 100%, rgba(201, 162, 75, .85), rgba(201, 162, 75, 0) 72%),
radial-gradient(110% 78% at 50% 100%, #F2DDAF, rgba(244, 230, 198, 0) 82%); }
.sol-cars .sol-map { flex: 1 1 auto; min-height: 270px; }
.sol-map { position: relative; height: 288px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #F4EFE5; box-shadow: 0 1px 2px rgba(13, 23, 48, .05), 0 18px 40px -18px rgba(13, 23, 48, .26); }
.sol-map__svg { width: 100%; height: 100%; }
.sol-map__land { fill: #F4EFE5; }
.sol-map__water { fill: #DCE2EA; }
.sol-map__park { fill: #EADFC3; }
.sol-map__trees circle { fill: #DFD0A8; }
.sol-map__blocks rect { fill: #ECE5D6; }
.sol-map__minor path { fill: none; stroke: #fff; stroke-width: 4; }
.sol-map__road path { fill: none; stroke: #fff; stroke-width: 10; stroke-linecap: round; filter: drop-shadow(0 0 .6px rgba(120, 100, 60, .45)); }
.sol-map__route, .sol-map__done { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sol-map__route { stroke: var(--gold); stroke-width: 4; stroke-dasharray: .012 .014; opacity: .9; }
.sol-map__done { stroke: var(--navy); stroke-width: 4.5; stroke-dasharray: 1 1; }
.sol-map__pin circle:first-child { fill: #fff; stroke: var(--navy); stroke-width: 3; }
.sol-map__pin--a .sol-map__dot { fill: var(--navy); }
.sol-map__pin--b > path { fill: var(--gold); stroke: #fff; stroke-width: 1.5; }
.sol-map__pin--b .sol-map__dot { fill: #fff; }
.sol-map__tag rect { fill: #fff; stroke: rgba(20, 33, 61, .12); }
.sol-map__tag text { font: 600 11px var(--sans); fill: var(--navy); }
.sol-car { transition: opacity .5s var(--ease); }
.sol-car.is-gone { opacity: 0; }
.sol-car__halo { fill: rgba(201, 162, 75, .22); transform-box: fill-box; transform-origin: center; }
.sol-card.is-live .sol-car__halo { animation: solHalo 1.8s var(--ease) infinite; }
@keyframes solHalo { 0% { transform: scale(.55); opacity: 1; } 100% { transform: scale(1.25); opacity: 0; } }
.sol-car__body { fill: var(--navy); }
.sol-car__glass { fill: #8C9AB8; }
.sol-car__lamp { fill: var(--gold-soft); }
.sol-eta { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px 0 9px; border-radius: 999px; background: #fff;
box-shadow: 0 1px 2px rgba(13, 23, 48, .08), 0 8px 18px -8px rgba(13, 23, 48, .3); font-size: 11.5px; color: var(--slate); }
.sol-eta svg { width: 13px; height: 13px; color: var(--gold-2); }
.sol-eta b { color: var(--navy); }
.sol-eta__done { display: none; color: var(--navy); }
.sol-eta.is-done .sol-eta__live { display: none; }
.sol-eta.is-done .sol-eta__done { display: inline; }
.sol-ride { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: -34px 12px 0; padding: 11px 12px; }
.sol-ride .ui-title { font-size: 13px; }
.sol-ride .ui-muted { overflow: hidden; font-size: 11.5px; white-space: nowrap; text-overflow: ellipsis; }
.sol-ride .sol-roll { height: 22px; }
.sol-wash--gst { background:
radial-gradient(56% 62% at 98% 100%, rgba(201, 162, 75, .95), rgba(201, 162, 75, 0) 72%),
radial-gradient(46% 52% at 22% 104%, rgba(217, 151, 58, .85), rgba(217, 151, 58, 0) 72%),
radial-gradient(110% 78% at 50% 100%, #F2DDAF, rgba(244, 230, 198, 0) 82%); }
.sol-inv { padding: 14px 16px 14px; }
.sol-inv__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.sol-inv__top .sol-roll { height: 22px; }
.sol-inv__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 6px; padding: 9px 0; border-block: 1px dashed var(--line-2); font-size: 11px; color: var(--ink); }
.sol-inv__meta span { display: block; margin-bottom: 1px; font-size: 10px; color: var(--slate); }
.sol-inv__row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 12.5px; color: var(--ink);
transition: opacity .5s var(--ease), transform .6s var(--ease); }
.sol-inv__row small { display: block; margin-top: 1px; font-size: 10.5px; color: var(--slate); }
.sol-inv__row b { font-weight: 500; color: var(--navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sol-inv__row--sub { margin-top: 4px; border-top: 1px solid var(--line); }
.sol-inv__row--tax { padding: 2px 0; font-size: 11.5px; color: var(--slate); }
.sol-inv__row--tax b { color: var(--slate); }
.sol-inv__total { display: flex; align-items: baseline; justify-content: space-between; margin-top: 8px; padding-top: 10px; border-top: 1.5px solid var(--navy);
font-size: 12px; font-weight: 600; color: var(--navy); transition: opacity .5s var(--ease); }
.sol-inv__total b { font: 400 23px/1 var(--serif); font-variant-numeric: tabular-nums; }
.sol-inv.is-rewound .sol-inv__row:not(.is-in) { opacity: 0; transform: translateY(6px); }
.sol-inv.is-rewound .sol-inv__total:not(.is-in) { opacity: .25; }
.sol-card--cover { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: 440px; }
.sol-cover__text { display: flex; flex-direction: column; padding-bottom: 28px; }
.sol-cover__text .sol-card__head { grid-template-columns: minmax(0, 1fr); padding-right: 12px; }
.sol-cover__chips { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding: 32px 12px 0 28px; }
.sol-cover__chip { position: relative; display: flex; width: 100%; text-align: left; background: none; align-items: center; gap: 10px; height: 48px; padding: 0 12px 0 9px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px;
font: 500 14.5px/1.2 var(--sans); color: var(--navy); background: #fff; transition: border-color .3s var(--ease), background-color .3s var(--ease); }
.sol-cover__chips li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.sol-cover__chip:hover, .sol-cover__chip.is-on { border-color: rgba(201, 162, 75, .55); background: #FFFCF6; }
.sol-cover__ic { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px; background: var(--tint); color: var(--gold-2); transition: background-color .3s var(--ease), color .3s var(--ease); }
.sol-cover__ic svg { width: 16px; height: 16px; }
.sol-cover__chip.is-on .sol-cover__ic { background: var(--navy); color: var(--gold-soft); }
.sol-cover__prog { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--grad-gold); transform-origin: left; transform: scaleX(0); }
.sol-cover__chips.is-cycling .sol-cover__chip.is-on .sol-cover__prog { animation: solProg var(--cycle, 3400ms) linear forwards; }
@keyframes solProg { to { transform: scaleX(1); } }
.sol-cover__media { position: relative; margin: 14px 14px 14px 0; min-height: 300px; overflow: hidden; border-radius: 12px; background: var(--tint-2); }
.sol-cover__pics { position: absolute; inset: 0; transition: transform 1.6s var(--ease); }
.sol-card--cover:hover .sol-cover__pics { transform: scale(1.03); }
.sol-cover__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.1);
transition: opacity .7s var(--ease), transform 1.6s var(--ease); }
.sol-cover__img.is-on { z-index: 1; opacity: 1; transform: scale(1.04); }
.sol-cover__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 23, 48, 0) 50%, rgba(13, 23, 48, .45)); pointer-events: none; }
.sol-card--cover.is-note-top .sol-cover__note { bottom: auto; top: 18px; }
.sol-cover__note { position: absolute; z-index: 1; left: 18px; bottom: 18px; width: min(340px, calc(100% - 36px)); padding: 12px 14px; }
.sol-roll--note { display: grid; justify-items: stretch; }
.sol-roll--note > span { display: flex; align-items: flex-start; gap: 11px; }
.sol-roll--note b { display: block; margin-bottom: 2px; font-size: 13px; color: var(--navy); }
.sol-roll--note > span > span:last-child { font-size: 12px; line-height: 1.45; color: var(--slate); }
.sol-roll--note .ui-icon { flex: 0 0 auto; }
.sol-go--corner { position: absolute; top: 28px; right: 28px; z-index: 5; margin: 0; background: #fff; box-shadow: 0 6px 16px -6px rgba(13, 23, 48, .35); }
.sol-go--corner::before { content: none; }
.sol-go--corner:hover { background: var(--gold-soft); color: var(--navy); }
.sol-go--corner:hover .sol-go__tip { transform: translate(1.5px, -1.5px); }
.sol-card--cover:hover { transform: none; }
@container (max-width: 700px) {
.sol-phone { display: none; }
.sol-desk { top: 44px; left: 22px; }
.sol-trip { height: 430px; }
.sol-wash--trip { inset: 10% -10% -14% -14%; }
}
@container (max-width: 420px) {
.sol-card__head { padding: 22px 20px 0 22px; gap: 14px; }
.sol-copy { font-size: 19.5px; }
.sol-copy p { text-wrap: balance; }
.sol-vis { padding: 20px 18px 20px; }
.sol-trip { height: 420px; padding: 0; }
.sol-desk { left: 14px; top: 34px; }
.sol-desk__body { padding: 14px 14px 18px; }
.sol-desk__route { font-size: 19px; }
.sol-desk__top .ui-muted { font-size: 11px; }
.sol-leg { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 9px; padding: 9px 10px; }
.sol-leg__ic { width: 30px; height: 30px; }
.sol-leg__t { font-size: 12px; gap: 4px; }
.sol-leg__s { font-size: 10.5px; }
.sol-leg__line { flex-basis: 20px; min-width: 12px; }
.sol-skel { padding-left: 50px; }
.sol-skel::before { width: 30px; height: 30px; margin-top: -15px; }
.sol-leg__state .ui-chip { padding: 0 7px; font-size: 10.5px; }
.sol-cars .sol-map { min-height: 250px; }
.sol-checkin { margin-right: -4px; }
}
@container (max-width: 340px) {
.sol-desk__route { font-size: 17.5px; }
.sol-leg__state .ui-chip { width: 22px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
.sol-leg__state .ui-chip svg { width: 12px; height: 12px; }
}
@media (max-width: 1149px) {
.sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sol-card { min-height: 540px; }
.sol-card--cover { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 760px) {
.sol-card--cover { grid-template-columns: minmax(0, 1fr); }
.sol-cover__media { order: -1; margin: 12px 12px 0; min-height: 230px; }
.sol-cover__chips { padding: 24px 20px 0 22px; }
.sol-cover__text { padding-bottom: 22px; }
.sol-go--corner { top: 24px; right: 24px; }
}
@media (max-width: 699px) {
.sol-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.js .sol-grid > [data-reveal] { transition-delay: 0ms; }
.sol-cell--travel, .sol-cell--cover { grid-column: auto; }
.sol-card { min-height: 0; }
.sol-vis { min-height: 0; }
}
@media (max-width: 480px) {
.sol-cover__chips { gap: 6px; padding-inline: 16px; }
.sol-cover__chip { gap: 8px; height: 50px; padding: 0 8px 0 7px; font-size: 13px; line-height: 1.15; }
.sol-cover__ic { width: 28px; height: 28px; }
.sol-cover__ic svg { width: 15px; height: 15px; }
}
@media (min-width: 1150px) { @container (max-width: 420px) { .sol-card__head { padding-top: 26px; } } }
.no-motion .sol-wash, .no-motion .sol-swoosh { animation: none; }
.no-motion .sol-card:hover { transform: none; }
@media (max-width: 760px) { .sol-card--cover.is-note-top-phone .sol-cover__note { bottom: auto; top: 12px; } }
.sol-cover__img { object-position: var(--p, 50% 50%); }
@media (max-width: 760px) { .sol-cover__img { object-position: var(--pm, var(--p, 50% 50%)); } }
.imp { overflow: hidden; }
@supports (overflow: clip) { .imp { overflow: clip; } }
.imp > .frame { padding-bottom: 0; }
.imp__title { max-width: 820px; margin-inline: auto; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.1; letter-spacing: -.02em; text-align: center; text-wrap: balance; }
.imp__title .soft { display: block; margin-top: .08em; }
.imp__board { position: relative; z-index: 1; margin: clamp(52px, 6vw, 84px) calc(var(--inset) * -1) 0; }
.imp__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.imp__stat { position: relative; display: flex; text-align: center; }
.imp__btn {
flex: 1 1 auto; display: block; min-width: 0; margin: 0; padding: clamp(34px, 3.6vw, 50px) 16px clamp(32px, 3.4vw, 46px);
border: 0; border-radius: 12px; background: none; text-align: inherit; -webkit-tap-highlight-color: transparent;
}
.imp__btn:focus-visible { outline-offset: -8px; }
.imp__stat + .imp__stat::before {
content: ''; position: absolute; left: 0; top: 24%; bottom: 24%; width: 1px;
background: linear-gradient(180deg, rgba(20, 33, 61, 0), var(--line-2) 30%, var(--line-2) 70%, rgba(20, 33, 61, 0));
}
.imp__num { display: block; font: 300 clamp(46px, 4.7vw, 68px)/1 var(--serif); font-variant-numeric: lining-nums; letter-spacing: -.035em; color: var(--navy); white-space: nowrap; transition: color .6s var(--ease); }
.imp__suf { display: inline-block; margin-left: .03em; transition: opacity .7s var(--ease), transform .9s var(--ease); transition-delay: var(--sd, 0ms); }
.imp__label { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font: 500 15px/1.35 var(--sans); color: var(--ink); transition: color .6s var(--ease); }
.imp__label svg { flex: 0 0 auto; width: 16px; height: 16px; color: var(--gold-2); transition: color .6s var(--ease); }
.imp.is-live .imp__num { color: var(--soft); }
.imp.is-live .imp__label { color: var(--slate); }
.imp.is-live .imp__label svg { color: var(--soft); }
.imp.is-live .imp__stat.is-on .imp__num { color: var(--navy); }
.imp.is-live .imp__stat.is-on .imp__label { color: var(--ink); }
.imp.is-live .imp__stat.is-on .imp__label svg { color: var(--gold-2); }
.imp.is-live:not(.is-counted) .imp__suf { opacity: 0; transform: translateY(.22em); }
.imp__accent {
position: absolute; left: 0; top: 0; display: none; width: 25%; height: 1px; pointer-events: none;
background: linear-gradient(90deg, rgba(201, 162, 75, 0), #B98F3C 22%, #E6C77F 50%, #B3832F 78%, rgba(201, 162, 75, 0));
transform: translate3d(0, -1px, 0); transition: transform 1.15s var(--ease-in-out), opacity .28s var(--ease);
}
.imp__accent::after {
content: ''; position: absolute; left: 22%; right: 22%; top: -1px; height: 3px; border-radius: 50%;
background: rgba(214, 170, 82, .45); filter: blur(2px);
}
.imp__accent.is-hop { opacity: 0; }
.js .imp__accent { display: block; }
.js .imp__accent:not(.is-placed) { opacity: 0; }
.imp__viz { position: relative; height: clamp(230px, 31vw, 440px); margin-inline: calc(var(--inset) * -1); }
.imp__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.imp__glow { position: absolute; left: 50%; bottom: 0; width: 100vw; height: 150%; transform: translateX(-50%); pointer-events: none; }
.imp__glow::before, .imp__glow::after { content: ''; position: absolute; inset: 0; transform-origin: 50% 100%; }
.imp__glow::before {
background: radial-gradient(ellipse min(54vw, 780px) 100% at 50% 100%, rgba(224, 174, 86, .56), rgba(232, 194, 124, .38) 30%, rgba(241, 219, 176, .20) 58%, rgba(250, 245, 236, 0) 86%);
animation: impGlow 9s var(--ease-in-out) infinite alternate paused;
}
.imp__glow::after {
background: radial-gradient(ellipse min(17vw, 240px) 36% at 50% 100%, rgba(255, 251, 238, .95), rgba(255, 244, 216, .5) 45%, rgba(255, 244, 216, 0) 100%);
animation: impHub 6s var(--ease-in-out) infinite alternate paused;
}
.imp.is-running .imp__glow::before, .imp.is-running .imp__glow::after { animation-play-state: running; }
@keyframes impGlow { from { transform: scale(1, .96); opacity: .88; } to { transform: scale(1.05, 1.04); opacity: 1; } }
@keyframes impHub { from { transform: scale(.94); opacity: .85; } to { transform: scale(1.06); opacity: 1; } }
.no-motion .imp__glow::before, .no-motion .imp__glow::after { animation: none; }
@media (min-width: 761px) and (max-width: 900px) {
.imp__label { font-size: 14px; }
.imp__label svg { display: none; }
}
@media (max-width: 760px) {
.imp__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.imp__btn { padding: 30px 10px 28px; }
.imp__stat:nth-child(n+3) { border-top: 1px solid var(--line); }
.imp__stat + .imp__stat::before { display: none; }
.imp__stat:nth-child(even)::before { display: block; top: 20%; bottom: 20%; }
.imp__num { font-size: clamp(38px, 11vw, 48px); }
.imp__label { margin-top: 12px; font-size: 14px; text-wrap: balance; }
.imp__label svg { display: none; }
.imp__title { font-size: clamp(27px, 7.4vw, 32px); }
.imp__viz { height: clamp(220px, 62vw, 300px); }
.imp__glow { height: 135%; }
}
.net { overflow: clip; }
.net__grid {
display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-areas: "head head" "facts globe";
column-gap: clamp(32px, 5vw, 80px); align-items: center;
}
.net__head { grid-area: head; margin-bottom: clamp(28px, 3.5vw, 48px); }
.net__facts { grid-area: facts; display: flex; flex-direction: column; gap: 40px; min-width: 0; }
.net__globe { grid-area: globe; position: relative; width: 100%; max-width: 640px; aspect-ratio: 1; justify-self: end; }
.net__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.net__tags { position: absolute; inset: 0; pointer-events: none; }
.net__tag { position: absolute; left: 0; top: 0; will-change: transform; }
.net__tag span {
display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px 0 8px; border: 1px solid rgba(255, 255, 255, .14);
border-radius: 999px; background: rgba(10, 18, 38, .82); box-shadow: 0 6px 18px -6px rgba(0, 0, 0, .5);
font: 500 11.5px/1 var(--sans); letter-spacing: .01em; color: #fff; white-space: nowrap;
opacity: 0; transform: translateY(4px) scale(.94); transition: opacity .35s var(--ease), transform .45s var(--ease);
}
.net__tag span::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-soft); }
.net__tag.is-on span { opacity: 1; transform: none; }
.net__tag--hq span { height: 26px; border-color: rgba(201, 162, 75, .55); font-size: 12px; font-weight: 600; }
.net__tag--hq span::before { background: var(--gold); box-shadow: 0 0 0 3px rgba(201, 162, 75, .25); }
.net__tag--hq small { font: 500 11px/1 var(--sans); color: var(--gold); }
.net__toggle {
position: absolute; right: 4px; bottom: 4px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0;
border: 1px solid var(--line-light); border-radius: 50%; background: rgba(255, 255, 255, .04); color: rgba(255, 255, 255, .78);
transition: border-color .2s var(--ease), color .2s var(--ease), background-color .2s var(--ease);
}
.net__toggle:hover { border-color: rgba(201, 162, 75, .7); color: var(--gold); background: rgba(201, 162, 75, .08); }
.net__toggle:focus-visible { border-radius: 50%; }
.net__toggle svg { width: 14px; height: 14px; }
.net__toggle .net__ico-play, .net__toggle.is-paused .net__ico-pause { display: none; }
.net__toggle.is-paused .net__ico-play { display: block; }
.no-motion .net__toggle { display: none; }
.net__stats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--line-light); }
.net__stat { position: relative; padding: 24px 16px 0; }
.net__stat:first-child { padding-left: 0; }
.net__stat + .net__stat { border-left: 1px solid var(--line-light); }
.net__stat::before { content: ''; position: absolute; top: -1px; left: 0; width: 36px; height: 1px; background: var(--gold); }
.net__stat + .net__stat::before { left: 16px; }
.net__num.net__num--text { white-space: normal; line-height: 1.04; font-size: clamp(30px, 2.8vw, 40px); text-wrap: balance; }
.net__num { display: block; font: 300 clamp(34px, 3.3vw, 46px)/1 var(--serif); letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: lining-nums; }
.net__cap { display: block; margin-top: 12px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .68); }
.net__cap, .net__city small { text-wrap: pretty; }
.net__bhead { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.net__h3 { font: 600 15px/1.3 var(--sans); letter-spacing: .005em; color: #fff; }
.net__hint { display: none; font-size: 13px; color: rgba(255, 255, 255, .5); }
@media (hover: hover) and (pointer: fine) { .net__hint { display: block; } }
.net__sub { font-size: 13px; color: rgba(255, 255, 255, .5); }
.net__cities { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.net__city {
display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 13px 0 11px; border: 1px solid var(--line-light);
border-radius: 999px; background: rgba(255, 255, 255, .03); font: 500 13.5px/1 var(--sans); color: rgba(255, 255, 255, .84);
cursor: default; user-select: none;
transition: border-color .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease);
}
.net__city i { width: 6px; height: 6px; border-radius: 50%; background: rgba(234, 217, 176, .5); transition: background-color .35s var(--ease), box-shadow .35s var(--ease); }
.net__city small { margin-left: 2px; padding-left: 8px; border-left: 1px solid rgba(201, 162, 75, .4); font: 500 12px/1 var(--sans); color: var(--gold); }
.net__city--hq { border-color: rgba(201, 162, 75, .5); background: rgba(201, 162, 75, .12); color: #fff; }
.net__city--hq i { background: var(--gold); box-shadow: 0 0 0 3px rgba(201, 162, 75, .22); }
.net__cities--venues { gap: 10px; }
.net__group { margin-top: 18px; font: 600 11.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.net__group + .net__cities { margin-top: 10px; }
.net__cities--dests { flex-direction: column; align-items: stretch; }
.net__city--dest small { color: rgba(255, 255, 255, .72); font-size: 13px; line-height: 1.35; }
.net__city--venue {
display: inline-grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 3px;
height: auto; padding: 9px 16px 9px 12px; border-radius: 12px; line-height: 1.25;
}
.net__city--venue i { grid-row: span 2; background: rgba(201, 162, 75, .7); }
.net__city--venue b { font-weight: 500; color: #fff; }
.net__city--venue small { margin: 0; padding: 0; border: 0; font-size: 12.5px; line-height: 1.2; }
.net__city:hover, .net__city.is-live { border-color: rgba(201, 162, 75, .75); background: rgba(201, 162, 75, .14); color: #fff; }
.net__city:hover i, .net__city.is-live i { background: var(--gold); box-shadow: 0 0 0 4px rgba(201, 162, 75, .22); }
.net__hq { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; padding-top: 28px; border-top: 1px solid var(--line-light); }
.net__hq-icon { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(201, 162, 75, .4); border-radius: 10px; background: rgba(201, 162, 75, .1); color: var(--gold); }
.net__hq-icon svg { width: 19px; height: 19px; }
.net__hq address { margin-top: 6px; font-style: normal; font-size: 14.5px; line-height: 1.65; color: rgba(255, 255, 255, .68); }
.net__hq address a { color: #fff; transition: color .2s var(--ease); }
.net__hq address a:hover { color: var(--gold); }
.net__links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 16px; }
@media (max-width: 1080px) {
.net__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "globe" "facts"; }
.net__globe { justify-self: center; max-width: 560px; margin: -16px 0 16px; }
}
@media (max-width: 560px) {
.net__globe { margin-bottom: 20px; }
.net__stats { grid-template-columns: minmax(0, 1fr); border-top: 0; }
.net__stat, .net__stat:first-child { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line-light); }
.net__stat:has(.net__num--text) { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.net__stat + .net__stat { border-left: 0; }
.net__stat + .net__stat::before { left: 0; }
.net__num { font-size: 34px; }
.net__cap { margin-top: 0; }
.net__city { height: 30px; padding: 0 11px 0 10px; font-size: 13px; }
.net__city--venue { height: auto; padding: 8px 14px 8px 11px; }
}
.net__more-li { display: flex; }
.net__more { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 8px 16px 8px 12px; border: 1px dashed rgba(201, 162, 75, .55);
border-radius: 12px; font: 500 13.5px/1.2 var(--sans); color: var(--gold); white-space: nowrap; cursor: default; user-select: none; }
.net__more svg { flex: 0 0 auto; width: 14px; height: 14px; }
.net__cities--venues:not(.net__cities--dests) .net__more { align-self: stretch; }
.net__cities--dests .net__more-li { align-self: flex-start; }
.net__globe { cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.net__globe.is-dragging { cursor: grabbing; }
.net__globe:focus-visible { outline-offset: -6px; border-radius: 50%; }
.net__drag { position: absolute; left: 50%; bottom: 4%; z-index: 2; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px;
height: 28px; padding: 0 12px; border: 1px solid rgba(201, 162, 75, .35); border-radius: 999px; background: rgba(10, 18, 38, .6);
font: 500 12px/1 var(--sans); letter-spacing: .02em; color: rgba(255, 255, 255, .78); white-space: nowrap; pointer-events: none;
transition: opacity .6s var(--ease); }
.net__drag::before { content: ''; width: 14px; height: 1px; background: var(--gold); box-shadow: 0 -3px 0 -0.5px transparent; }
.net__drag-touch { display: none; }
@media (hover: none) { .net__drag-mouse { display: none; } .net__drag-touch { display: inline; } }
.net__drag.is-used { opacity: 0; }
.exh__head { max-width: 900px; }
.exh__head .eyebrow { margin-bottom: 22px; }
.exh__cta { margin-top: 28px; }
.exh__show { position: relative; margin-top: clamp(44px, 5vw, 64px); }
.exh__tab {
position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 12px; width: 100%;
padding: 22px 6px 6px 0; border: 0; border-radius: 0; background: none; text-align: left; color: var(--slate);
}
.exh__tab:focus-visible { outline-offset: 2px; }
.exh__bar { position: absolute; top: 0; left: 0; right: 0; height: 2px; overflow: hidden; border-radius: 2px; background: var(--line); }
.exh__bar i { display: block; height: 100%; background: var(--grad-gold); transform: scaleX(0); transform-origin: left; }
.exh__tab.is-active .exh__bar i { transform: none; }
.exh--tour .exh__tab.is-active .exh__bar i { animation: exhFill var(--exh-dur, 7s) linear both; animation-play-state: paused; }
.exh--tour.exh--run .exh__tab.is-active .exh__bar i { animation-play-state: running; }
@keyframes exhFill { from { transform: scaleX(0); } to { transform: none; } }
.exh__ico {
display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: #fff;
color: var(--gold-2); transition: background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.exh__ico svg { width: 16px; height: 16px; }
.exh__tab-txt { padding-top: 1px; }
.exh__tab-txt b { display: block; font: 600 15px/1.3 var(--sans); color: var(--slate); transition: color .3s var(--ease); }
.exh__tab-txt small { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.4; color: var(--slate); }
.exh__tab:hover .exh__tab-txt b, .exh__tab.is-active .exh__tab-txt b { color: var(--navy); }
.exh__tab:hover .exh__ico { border-color: var(--line-2); }
.exh__tab.is-active .exh__ico { border-color: var(--navy); background: var(--navy); color: var(--gold-soft); }
.exh__plus { display: none; }
.exh__toggle {
display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--line-2); border-radius: 50%;
background: #fff; color: var(--navy); transition: border-color .2s var(--ease), background-color .2s var(--ease);
}
.exh__toggle:hover { border-color: var(--navy); }
.exh__toggle svg { width: 14px; height: 14px; }
.exh__toggle > span { display: grid; }
.exh__toggle-play, .exh--paused .exh__toggle-pause { display: none !important; }
.exh--paused .exh__toggle-play { display: grid !important; }
.no-motion .exh__toggle { display: none !important; }
.exh__panel { position: relative; border-radius: var(--radius-lg); }
.exh__panel:focus-visible { outline-offset: 8px; }
.exh__title { max-width: 860px; font: 400 clamp(21px, 2vw, 27px)/1.3 var(--serif); letter-spacing: -.012em; color: var(--navy); }
.exh__title .soft { color: var(--soft); }
.exh__title, .exh__facts li { text-wrap: pretty; }
@media (max-width: 1199px) { .exh__title .soft { color: #6B7189; } }
.exh__media { position: relative; margin-top: 26px; }
.exh__frame {
position: relative; overflow: hidden; isolation: isolate; aspect-ratio: 2.35; max-width: 100%; min-height: 380px; border-radius: 14px;
background: radial-gradient(70% 90% at 15% 110%, rgba(201, 162, 75, .30), transparent 60%), var(--navy-3);
box-shadow: 0 1px 2px rgba(13, 23, 48, .08), 0 40px 70px -40px rgba(13, 23, 48, .45);
}
.exh__frame img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--pos, 50% 50%); }
.js [data-exh-lazy] .exh__frame img { display: none; }
.exh__bg { opacity: .4; filter: saturate(.55); }
.exh__win { position: absolute; inset: 0; filter: drop-shadow(0 24px 30px rgba(5, 10, 25, .45)); }
.exh__edge { position: absolute; inset: 0; background: linear-gradient(140deg, #FFFBF2 0%, #EAD9B0 38%, #FBF4E4 62%, #D7BE86 100%); clip-path: var(--edge); }
.exh__pic { position: absolute; inset: 0; overflow: hidden; clip-path: var(--win); }
.exh__pic img { transform-origin: 60% 50%; }
.js .exh__bg { opacity: 0; transition: opacity .9s var(--ease); }
.js .exh__edge { clip-path: var(--edge0); transition: clip-path 1.05s var(--ease-in-out); }
.js .exh__pic { clip-path: var(--win0); transition: clip-path 1.05s var(--ease-in-out) .04s; }
.js .exh__pic img { transform: scale(1.08); transition: transform 1.8s var(--ease); }
.js .exh__title, .js .exh__card, .js .exh__facts li { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease), transform .8s var(--ease); }
.exh--in .exh__panel.is-active .exh__bg, .no-motion .exh__panel.is-active .exh__bg { opacity: .4; }
.exh--in .exh__panel.is-active .exh__edge, .no-motion .exh__panel.is-active .exh__edge { clip-path: var(--edge); }
.exh--in .exh__panel.is-active .exh__pic, .no-motion .exh__panel.is-active .exh__pic { clip-path: var(--win); }
.exh--in .exh__panel.is-active .exh__pic img, .no-motion .exh__panel.is-active .exh__pic img { transform: none; }
.exh--in .exh__panel.is-active :is(.exh__title, .exh__card, .exh__facts li),
.no-motion .exh__panel.is-active :is(.exh__title, .exh__card, .exh__facts li) { opacity: 1; transform: none; }
.exh--in .exh__panel.is-active .exh__card { transition-delay: .45s; }
.exh--in .exh__panel.is-active .exh__facts li:nth-child(1) { transition-delay: .55s; }
.exh--in .exh__panel.is-active .exh__facts li:nth-child(2) { transition-delay: .65s; }
.exh--in .exh__panel.is-active .exh__facts li:nth-child(3) { transition-delay: .75s; }
.no-motion .exh__panel * { transition: none !important; }
.exh__facts {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 40px; margin-top: 26px; padding-top: 20px;
border-top: 1px dashed var(--line-2); font-size: 15px; line-height: 1.55; color: var(--slate);
}
.exh__facts b { font-weight: 600; color: var(--navy); }
.exh__card { position: absolute; z-index: 2; isolation: isolate; bottom: 26px; width: 300px; padding: 14px 16px 12px; font-size: 12.5px; box-shadow: var(--shadow-float); }
.exh__panel--left .exh__card { left: 26px; }
.exh__panel--right .exh__card { right: 26px; }
.exh__card--rooming { width: 326px; }
.exh__card-head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.exh__card-name { display: grid; flex: 1; min-width: 0; }
.exh__card-name .ui-title { font-size: 13.5px; line-height: 1.3; }
.exh__card-sub { font-size: 11.5px; color: var(--slate); }
.exh__card-head .ui-chip svg { width: 11px; height: 11px; }
.exh__card-stat { display: flex; align-items: baseline; justify-content: space-between; margin: 12px 0 8px; }
.exh__card-num { font: 400 26px/1 var(--serif); color: var(--navy); font-variant-numeric: tabular-nums; }
.exh__card-num .ui-muted { font-size: 15px; }
.exh__card-num b { font-weight: 400; }
.exh__card-bar > span { width: 100%; transform: scaleX(var(--s, .5)); transition: transform .9s var(--ease); }
.exh__card-rows { margin-top: 6px; }
.exh__card-rows .ui-row { padding: 6px 0; font-size: 12px; }
.exh__card-rows b { font-weight: 600; color: var(--navy); white-space: nowrap; }
.exh__gst { font-size: 11px; font-weight: 500; }
.exh__toast {
position: absolute; left: 16px; bottom: calc(100% + 10px); display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px 0 9px;
border-radius: 999px; background: var(--navy); color: #fff; font-size: 11.5px; font-weight: 500; white-space: nowrap;
box-shadow: 0 12px 24px -10px rgba(5, 10, 25, .6); opacity: 0; transform: translateY(8px) scale(.96); transition: opacity .35s var(--ease), transform .5s var(--ease);
}
.exh__toast svg { width: 13px; height: 13px; color: var(--gold); }
.exh__toast.is-on { opacity: 1; transform: none; }
.exh__guests { margin-top: 4px; }
.exh__guest { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 0; }
.exh__guest + .exh__guest { border-top: 1px solid var(--line); }
.exh__guest::before { content: ''; position: absolute; inset: 1px -16px; z-index: -1; background: linear-gradient(90deg, rgba(201, 162, 75, .14), rgba(201, 162, 75, 0) 80%); opacity: 0; transition: opacity .4s var(--ease); }
.exh__guest[data-s="1"]::before { opacity: 1; }
.exh__guest .ui-avatar { width: 28px; height: 28px; font-size: 10px; letter-spacing: .02em; }
.exh__guest-who { display: grid; min-width: 0; }
.exh__guest-who b { font-size: 12.5px; font-weight: 600; color: var(--navy); }
.exh__guest-who .ui-muted { font-size: 11.5px; }
.exh__status { display: grid; justify-items: end; }
.exh__status .ui-chip { grid-area: 1 / 1; opacity: 0; transform: translateY(5px); transition: opacity .35s var(--ease), transform .45s var(--ease); }
.exh__status .ui-chip svg { width: 11px; height: 11px; }
.exh__guest[data-s="0"] .exh__s0, .exh__guest[data-s="1"] .exh__s1, .exh__guest[data-s="2"] .exh__s2 { opacity: 1; transform: none; }
.exh__card-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--line); }
.exh__card-foot .ui-label { margin-right: 4px; font-size: 10px; }
.exh__tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; background: var(--tint); font-size: 11px; color: var(--ink); }
.exh__route { position: relative; height: 62px; margin: 12px 2px 2px; }
.exh__route-svg { width: 100%; height: 100%; overflow: visible; }
.exh__route-base, .exh__route-done { fill: none; stroke-linecap: round; }
.exh__route-base { stroke: rgba(20, 33, 61, .2); stroke-width: 1.6; stroke-dasharray: 2 5; }
.exh__route-done { stroke: var(--gold); stroke-width: 2.4; stroke-dasharray: 1 1; }
.exh__route-end { fill: #fff; stroke: var(--navy); stroke-width: 1.6; }
.exh__car {
position: absolute; display: grid; place-items: center; width: 24px; height: 24px; margin: -12px 0 0 -12px; border-radius: 50%;
background: var(--navy); color: var(--gold); box-shadow: 0 0 0 4px rgba(201, 162, 75, .22), 0 6px 12px -4px rgba(5, 10, 25, .5);
}
.exh__car svg { width: 12px; height: 12px; transform: rotate(var(--a, 45deg)); fill: currentColor; }
.exh__route-ends { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 11.5px; color: var(--slate); }
.exh__route-ends b { font-weight: 600; color: var(--navy); }
.exh__live { position: relative; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: rgba(47, 138, 104, .1); }
.exh__live i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--ok); }
.exh__live i::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--ok); opacity: 0; }
.exh--live .exh__live i::after { animation: exhPing 1.8s var(--ease) infinite; }
@keyframes exhPing { from { transform: scale(1); opacity: .55; } to { transform: scale(3.2); opacity: 0; } }
.exh__feed-wrap { height: 96px; margin-top: 10px; overflow: hidden; }
.exh__feed li { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 8px; height: 32px; border-top: 1px solid var(--line); font-size: 12px; }
.exh__feed-t { color: var(--slate); font-variant-numeric: tabular-nums; }
.exh__feed-x { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.exh__feed li svg { width: 14px; height: 14px; color: var(--ok); }
.exh__feed.is-shift { transform: translateY(-32px); }
.exh__feed.is-go { transform: none; transition: transform .6s var(--ease); }
.exh__feed li.is-new { animation: exhNew .6s var(--ease) both; }
@keyframes exhNew { from { opacity: 0; } to { opacity: 1; } }
.exh__shows { margin-top: clamp(72px, 8vw, 104px); }
.exh__shows-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 22px; }
.exh__shows-label { display: flex; align-items: flex-start; gap: 14px; font: 600 clamp(19px, 1.75vw, 26px)/1.25 var(--sans); color: var(--gold-ink); letter-spacing: -.005em; text-wrap: balance; }
.exh__shows-label::before { content: ''; flex: none; width: clamp(24px, 2.4vw, 36px); height: 2px; margin-top: calc(.625em - 1px); border-radius: 2px; background: currentColor; opacity: .8; }
.exh__shows-act { display: flex; align-items: center; gap: 16px; }
.exh__marquee {
display: grid; gap: 12px; margin-inline: calc(var(--inset) * -1); padding-block: 2px;
-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.exh__row { overflow: hidden; }
.exh__track { display: flex; width: max-content; animation: exhMarquee 64s linear infinite; }
.exh__row--2 .exh__track { animation-duration: 72s; animation-direction: reverse; }
.exh__marquee:hover .exh__track, .exh--paused .exh__track { animation-play-state: paused; }
.exh__list, .exh__copy { display: flex; gap: 12px; padding-right: 12px; }
@keyframes exhMarquee { to { transform: translateX(-50%); } }
.exh__logo {
display: flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 80px; padding: 0 30px; border: 1px solid var(--line); border-radius: 14px;
background: #fff; box-shadow: 0 1px 2px rgba(13, 23, 48, .04); transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.exh__logo:hover { border-color: var(--gold); box-shadow: 0 10px 24px -14px rgba(13, 23, 48, .3); }
.exh__logo img { width: auto; height: calc(var(--h) * 1px); max-width: none; }
.no-motion .exh__marquee { display: flex; flex-wrap: wrap; gap: 10px; margin-inline: 0; -webkit-mask-image: none; mask-image: none; }
.no-motion :is(.exh__row, .exh__track, .exh__list) { display: contents; }
.no-motion .exh__copy { display: none; }
.no-motion .exh__track { animation: none; }
@media (min-width: 900px) {
.exh__show { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; }
.exh__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 20px; grid-column: 1; grid-row: 1; }
.exh__toggle--wide { grid-column: 2; grid-row: 1; align-self: center; margin-top: 16px; }
.no-motion .exh__show { column-gap: 0; }
.exh__toggle--phone { display: none; }
.exh__stage { display: grid; grid-template-columns: minmax(0, 1fr); grid-column: 1 / -1; grid-row: 2; margin-top: 40px; }
.js .exh__panel { grid-area: 1 / 1; }
.js .exh__panel:not(.is-active) { visibility: hidden; opacity: 0; transition: opacity .4s var(--ease), visibility 0s .5s; }
.js .exh__panel.is-active { z-index: 1; transition: opacity .4s var(--ease); }
}
@media (min-width: 900px) and (max-width: 1239px) {
.exh__tab { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-right: 0; }
.exh__tab-txt small { font-size: 13px; }
}
@media (min-width: 900px) and (max-width: 1100px) {
.exh__frame { min-height: 360px; }
.exh__card { bottom: 20px; }
.exh__panel--left .exh__card { left: 20px; }
.exh__panel--right .exh__card { right: 20px; }
}
@media (max-width: 899px) {
.exh__show { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(8, auto); border-bottom: 1px solid var(--line); }
.exh__tabs, .exh__stage { display: grid; grid-template-rows: subgrid; grid-column: 1; grid-row: 1 / -1; }
.exh__stage { pointer-events: none; }
.exh__panel { pointer-events: auto; }
.exh__tab:nth-child(1) { grid-row: 1; } .exh__tab:nth-child(2) { grid-row: 3; } .exh__tab:nth-child(3) { grid-row: 5; } .exh__tab:nth-child(4) { grid-row: 7; }
.exh__panel:nth-child(1) { grid-row: 2; } .exh__panel:nth-child(2) { grid-row: 4; } .exh__panel:nth-child(3) { grid-row: 6; } .exh__panel:nth-child(4) { grid-row: 8; }
.exh__toggle--wide { display: none; }
.exh--tour .exh__tab.is-active .exh__bar i, .exh__tab.is-active .exh__bar i { animation: none; transform: none; }
.exh__tab { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line); }
.exh__bar { top: -1px; height: 2px; background: none; }
.exh__plus { position: relative; display: block; width: 30px; height: 30px; border: 1px solid var(--line-2); border-radius: 50%; transition: background-color .3s var(--ease), border-color .3s var(--ease); }
.exh__plus::before, .exh__plus::after { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 1.6px; margin: -.8px 0 0 -5.5px; border-radius: 1px; background: var(--navy); transition: transform .4s var(--ease), background-color .3s; }
.exh__plus::after { transform: rotate(90deg); }
.exh__tab.is-active .exh__plus { border-color: var(--navy); background: var(--navy); }
.exh__tab.is-active .exh__plus::before, .exh__tab.is-active .exh__plus::after { background: #fff; }
.exh__tab.is-active .exh__plus::after { transform: rotate(0deg); }
.exh__panel { border-radius: 0; }
.js .exh__panel { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .6s var(--ease-in-out), visibility 0s .6s; }
.js .exh__panel.is-active { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .6s var(--ease-in-out); }
.exh__panel-in { min-height: 0; overflow: hidden; }
.exh__title { font-size: 20px; }
.exh__media { margin-top: 18px; }
.exh__frame { aspect-ratio: 4 / 3; min-height: 0; border-radius: 12px; }
.exh__edge { clip-path: var(--edge-m); }
.exh__pic { clip-path: var(--win-m); }
.js .exh__edge { clip-path: var(--edge0-m); }
.js .exh__pic { clip-path: var(--win0-m); }
.exh--in .exh__panel.is-active .exh__edge, .no-motion .exh__panel.is-active .exh__edge { clip-path: var(--edge-m); }
.exh--in .exh__panel.is-active .exh__pic, .no-motion .exh__panel.is-active .exh__pic { clip-path: var(--win-m); }
.exh__card, .exh__card--rooming { position: relative; bottom: auto; left: auto !important; right: auto !important; width: auto; max-width: 360px; margin: -64px 12px 0; }
.exh__media:last-child { margin-bottom: 26px; }
.exh__facts { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 22px 0 26px; padding-top: 0; border-top: 0; font-size: 14.5px; }
.exh__facts li { padding: 10px 0; border-top: 1px dashed var(--line-2); }
.exh__shows-label { flex: 1 1 100%; }
.exh__shows-act { flex: 1 1 100%; justify-content: space-between; }
.exh__shows-act .link-arrow { order: -1; }
}
@supports not (grid-template-rows: subgrid) {
@media (max-width: 899px) {
.exh__show { grid-template-rows: auto auto; }
.exh__tabs { display: block; grid-row: 1; }
.exh__stage { display: block; grid-row: 2; pointer-events: auto; }
}
}
@media (min-width: 600px) and (max-width: 899px) {
.exh__frame { aspect-ratio: 16 / 10; }
.exh__card, .exh__card--rooming { position: absolute; bottom: 18px; width: 286px; max-width: none; margin: 0; }
.exh__panel--left .exh__card { left: 18px !important; }
.exh__panel--right .exh__card { right: 18px !important; }
.exh__card--rooming { width: 300px; }
.exh__edge, .js .exh--in .exh__panel.is-active .exh__edge, .no-motion .exh__panel.is-active .exh__edge { clip-path: var(--edge-t); }
.exh__pic, .js .exh--in .exh__panel.is-active .exh__pic, .no-motion .exh__panel.is-active .exh__pic { clip-path: var(--win-t); }
.js .exh__edge { clip-path: var(--edge0-t); }
.js .exh__pic { clip-path: var(--win0-t); }
}
@media (max-width: 599px) {
.exh__panel--zoom .exh__frame img { scale: var(--zm); transform-origin: var(--zo); }
}
@media (max-width: 640px) {
.exh__logo { height: 64px; padding: 0 22px; border-radius: 12px; }
.exh__logo img { height: calc(var(--h) * .8px); }
.exh__list, .exh__copy { gap: 10px; padding-right: 10px; }
.exh__marquee { gap: 10px; }
.exh__card { margin-inline: 8px; }
}
.exh__panel--fit .exh__pic img { inset: auto; left: var(--bx); top: var(--by); width: var(--bw); height: var(--bh); object-position: var(--wp); }
.exh__panel--fit .exh__bg { filter: saturate(.55) blur(7px); scale: 1.06; }
@media (max-width: 599px) {
.exh__panel--fit .exh__pic img { left: var(--bx-m); top: var(--by-m); width: var(--bw-m); height: var(--bh-m); object-position: var(--wp-m); }
}
@media (min-width: 600px) and (max-width: 899px) {
.exh__panel--fit .exh__pic img { left: var(--bx-t); top: var(--by-t); width: var(--bw-t); height: var(--bh-t); object-position: var(--wp-t); }
}
.proc {
--proc-box: #111B37;
--proc-node: #17234A;
--proc-lit: #22345E;
--proc-edge: rgba(154, 166, 196, .16);
--proc-dash: rgba(154, 166, 196, .32);
--proc-mint: #6FD3A8;
overflow: hidden;
}
.proc__btns .btns { margin-top: 32px; }
.proc__flow { margin: clamp(48px, 6vw, 80px) calc(var(--inset) * -1) 0; padding: clamp(56px, 6.5vw, 88px) var(--inset) 0; border-top: 1px solid var(--line-light); }
.statement.proc__sub { max-width: 760px; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.2; }
.statement.proc__sub .soft { font-size: max(17px, .58em); }
.proc__map {
position: relative; display: grid; margin-top: clamp(36px, 4vw, 56px); padding: 44px 0;
grid-template-columns: minmax(0, 1fr) minmax(auto, 156px) auto minmax(auto, 156px) minmax(0, 1fr);
grid-template-areas:
"ticket team   team   team   .   "
"ticket .      brief  .      .   "
"ground exec   hub    opt    part"
".      .      conf   .      live"
".      docs   docs   docs   live";
align-items: center; justify-items: center; column-gap: clamp(18px, 2.6vw, 40px); row-gap: 26px;
font-family: var(--sans); color: #fff; line-height: 1.3; user-select: none; -webkit-user-select: none;
}
.proc__map::before {
content: ''; position: absolute; inset: 0 calc(var(--inset) * -1); pointer-events: none;
background: radial-gradient(circle, rgba(154, 166, 196, .2) 1px, transparent 1.5px) center / 14px 14px;
-webkit-mask-image: radial-gradient(ellipse 72% 68% at 50% 50%, #000 30%, transparent 78%);
mask-image: radial-gradient(ellipse 72% 68% at 50% 50%, #000 30%, transparent 78%);
}
.proc__wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.proc__map > :not(svg) { position: relative; z-index: 1; }
.proc__wire { fill: none; stroke: rgba(154, 166, 196, .5); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 0 4.5; }
.proc__wire--hot { stroke: var(--gold); opacity: 0; transition: opacity .7s var(--ease); }
.proc__wire--hot.is-hot { opacity: .9; }
.proc__trail { fill: none; stroke: #EBD196; stroke-width: 2; stroke-linecap: round; }
.proc__trail--soft { stroke: var(--gold); stroke-width: 1.4; opacity: .4; }
.proc__glow { fill: rgba(201, 162, 75, .1); }
.proc__halo { fill: rgba(233, 207, 142, .3); }
.proc__core { fill: #FFF6DE; }
.proc__box { display: flex; gap: 6px; padding: 10px; border: 1px solid var(--proc-edge); border-radius: 12px; background: var(--proc-box);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 18px 40px -24px rgba(0, 0, 0, .7); }
.proc__legend { position: absolute; left: 12px; top: 0; transform: translateY(-50%); padding: 0 6px; background: var(--navy-3);
font: 600 10.5px/1.3 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--soft-dark); white-space: nowrap; }
.proc__docs .proc__legend, .proc__partners .proc__legend, .proc__ground .proc__legend { top: auto; bottom: 0; transform: translateY(50%); }
.proc__team { grid-area: team; }
.proc__team .proc__node { flex: 1 1 0; justify-content: center; }
.proc__ground { grid-area: ground; }
.proc__node {
display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border: 1px dashed var(--proc-dash); border-radius: 8px;
font: 500 12.5px/1 var(--sans); color: var(--soft-dark); white-space: nowrap;
transition: background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
}
.proc__node svg { width: 14px; height: 14px; flex: 0 0 auto; transition: color .5s var(--ease); }
.proc__node.is-lit { border-style: solid; border-color: rgba(201, 162, 75, .6); background: var(--proc-lit); color: #fff;
box-shadow: 0 0 0 3px rgba(201, 162, 75, .08), 0 10px 22px -10px rgba(201, 162, 75, .55); }
.proc__node.is-lit svg { color: var(--gold); }
.proc__chip {
display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 100px; height: 28px; padding: 0 11px 0 9px; border: 1px solid rgba(201, 162, 75, .4); border-radius: 7px;
background: #18264A; font: 600 12.5px/1 var(--sans); color: var(--gold-soft); white-space: nowrap;
transition: background-color .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}
.proc__chip b { font-size: 10.5px; font-weight: 600; letter-spacing: .04em; color: var(--gold); font-variant-numeric: tabular-nums; transition: color .45s var(--ease); }
.proc__chip.is-on { border-color: var(--gold); background: var(--gold); color: var(--navy-3);
box-shadow: 0 0 0 4px rgba(201, 162, 75, .16), 0 10px 26px -6px rgba(201, 162, 75, .6); }
.proc__chip.is-on b { color: var(--navy-2); }
.proc__chip--brief { grid-area: brief; }
.proc__chip--options { grid-area: opt; }
.proc__chip--confirm { grid-area: conf; }
.proc__chip--execute { grid-area: exec; }
.proc__hub {
grid-area: hub; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 104px; height: 104px;
border: 1px solid rgba(201, 162, 75, .45); border-radius: 18px;
background: radial-gradient(120% 120% at 30% 12%, #2E4373 0%, #1A2A52 46%, #111C3B 100%);
box-shadow: 0 0 0 7px rgba(201, 162, 75, .05), inset 0 1px 0 rgba(255, 255, 255, .08), 0 26px 50px -18px rgba(0, 0, 0, .8), 0 0 80px -16px rgba(201, 162, 75, .45);
}
.proc__hub img { width: 46px; height: 46px; animation: procSpin 40s linear infinite; animation-play-state: paused; }
.proc.is-live .proc__hub img { animation-play-state: running; }
.proc__hub span { font: 500 12px/1 var(--serif); letter-spacing: .2em; padding-left: .2em; color: #fff; }
.proc__hub::before, .proc__hub::after { content: ''; position: absolute; inset: -1px; border: 1px solid var(--gold); border-radius: inherit; opacity: 0; pointer-events: none; }
.proc__hub.is-hit::before { animation: procRipple 1.1s var(--ease); }
.proc__hub.is-hit::after { animation: procRipple 1.1s var(--ease) .18s; }
@keyframes procRipple { 0% { opacity: .85; transform: scale(1); } 100% { opacity: 0; transform: scale(1.42); } }
@keyframes procSpin { to { transform: rotate(360deg); } }
.proc__docs { grid-area: docs; flex-direction: column; gap: 2px; padding: 8px; }
.proc__doc { display: flex; align-items: center; gap: 9px; padding: 6px; border-radius: 8px; font: 500 12.5px/1.2 var(--sans); color: rgba(255, 255, 255, .88); white-space: nowrap; }
.proc__doc + .proc__doc { box-shadow: 0 -1px 0 rgba(255, 255, 255, .05); border-radius: 0 0 8px 8px; }
.proc__doc-icon { display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 auto; border-radius: 7px; background: rgba(255, 255, 255, .05); color: var(--soft-dark); transition: background-color .5s var(--ease), color .5s var(--ease); }
.proc__doc-icon svg { width: 14px; height: 14px; }
.proc__doc.is-ok .proc__doc-icon { background: rgba(201, 162, 75, .16); color: var(--gold); }
.proc__doc-name { margin-right: 12px; }
.proc__state { display: grid; margin-left: auto; }
.proc__state > span { grid-area: 1 / 1; display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; height: 22px; transition: opacity .4s var(--ease), transform .5s var(--ease); }
.proc__state em { font: 600 11px/1 var(--sans); font-style: normal; }
.proc__state svg { width: 12px; height: 12px; }
.proc__state-wait { padding-right: 2px; color: rgba(154, 166, 196, .85); }
.proc__state-ok { padding: 0 9px 0 7px; border-radius: 999px; background: rgba(111, 211, 168, .14); color: var(--proc-mint); opacity: 0; transform: scale(.85); }
.proc__doc.is-ok .proc__state-wait { opacity: 0; transform: translateY(-4px); }
.proc__doc.is-ok .proc__state-ok { opacity: 1; transform: none; }
.proc__partners { grid-area: part; justify-self: start; padding: 10px 10px 14px; }
.proc__tiles { display: grid; grid-template-columns: repeat(4, 54px); gap: 6px; }
.proc__tile {
display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 9px 0 8px; border: 1px dashed var(--proc-dash); border-radius: 9px;
font: 500 10.5px/1 var(--sans); color: var(--soft-dark);
transition: background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease);
}
.proc__tile svg { width: 18px; height: 18px; transition: color .5s var(--ease); }
.proc__tile.is-lit { border-style: solid; border-color: rgba(201, 162, 75, .6); background: linear-gradient(160deg, #2A3E6E, #1D2D55); color: #fff;
box-shadow: 0 0 0 3px rgba(201, 162, 75, .08), 0 12px 24px -12px rgba(201, 162, 75, .6); transform: translateY(-2px); }
.proc__tile.is-lit svg { color: var(--gold); }
.proc__card {
width: 214px; padding: 12px 14px 13px; border: 1px solid rgba(154, 166, 196, .2); border-radius: 12px;
background: linear-gradient(180deg, #213159, #17244A); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 60px -26px rgba(0, 0, 0, .85);
font-size: 12px; opacity: 0; transform: translateY(10px) scale(.98); transition: opacity .6s var(--ease), transform .7s var(--ease);
}
.proc__card.is-on { opacity: 1; transform: none; }
.proc__ticket { grid-area: ticket; justify-self: end; align-self: start; }
.proc__live { grid-area: live; justify-self: start; align-self: end; }
.proc__card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px;
font: 600 10.5px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--soft-dark); }
.proc__pill { display: inline-flex; align-items: center; gap: 5px; height: 20px; padding: 0 8px; border-radius: 999px; background: rgba(201, 162, 75, .16);
font: 600 11px/1 var(--sans); letter-spacing: 0; text-transform: none; color: var(--gold-soft); }
.proc__pill--live { background: rgba(111, 211, 168, .14); color: var(--proc-mint); }
.proc__pill--live i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 0 rgba(111, 211, 168, .5); }
.proc.is-live .proc__pill--live i { animation: procBeat 1.6s ease-out infinite; }
@keyframes procBeat { 0% { box-shadow: 0 0 0 0 rgba(111, 211, 168, .55); } 100% { box-shadow: 0 0 0 7px rgba(111, 211, 168, 0); } }
.proc__card dl { margin: 0; }
.proc__row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .07);
transition: opacity .45s var(--ease), transform .5s var(--ease); }
.proc__row dt, .proc__row > span { font-size: 11.5px; color: var(--soft-dark); }
.proc__row dd { margin: 0; font-weight: 500; color: #fff; text-align: right; white-space: nowrap; }
.proc__ticket .proc__row { opacity: 0; transform: translateX(-6px); }
.proc__ticket .proc__row.is-in { opacity: 1; transform: none; }
.proc__row--big b { font: 400 20px/1 var(--serif); color: #fff; font-variant-numeric: tabular-nums; }
.proc__meter { display: block; height: 4px; margin: 2px 0 8px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.proc__meter i { display: block; height: 100%; border-radius: inherit; background: var(--grad-gold); transform-origin: left; transform: scaleX(var(--m, 0)); }
.proc__row--late { opacity: 0; transform: translateY(4px); }
.proc__row--late.is-in { opacity: 1; transform: none; }
.proc__ok { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: var(--proc-mint); }
.proc__ok svg { width: 12px; height: 12px; }
@media (min-width: 1000px) {
.proc__map { --reach: 18px; }
.proc__ground { flex-direction: column; justify-self: end; margin-block: calc(var(--reach) * -1); }
.proc__ticket { margin-bottom: var(--reach); }
.proc__chip--confirm { margin-bottom: var(--reach); }
.proc__ground .proc__node { justify-content: flex-start; }
.proc__docs { flex-direction: row; gap: 0; }
.proc__doc { flex: 1 1 0; display: grid; grid-template-columns: auto auto; justify-content: start; gap: 4px 9px; padding: 6px 14px 6px 8px; }
.proc__doc + .proc__doc { box-shadow: -1px 0 0 rgba(255, 255, 255, .05); border-radius: 0; }
.proc__doc-icon { grid-row: span 2; }
.proc__doc-name { margin-right: 0; }
.proc__state { margin-left: 0; }
.proc__state > span { justify-content: flex-start; }
}
.proc__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px clamp(20px, 2.6vw, 40px); margin-top: clamp(40px, 5vw, 64px); }
.proc__step { position: relative; padding-top: 24px; }
.proc__bar { position: absolute; top: 0; left: 0; right: 0; height: 2px; overflow: hidden; border-radius: 2px; background: rgba(255, 255, 255, .1); }
.proc__bar i { display: block; height: 100%; background: var(--grad-gold); transform-origin: left; transform: scaleX(var(--p, 0)); transition: opacity .5s var(--ease); }
.proc__step.is-done .proc__bar i { opacity: .5; }
.proc.is-closing .proc__bar i { opacity: 0; }
.proc__num { display: flex; align-items: center; gap: 9px; font: 600 12.5px/1 var(--sans); letter-spacing: .08em; color: var(--gold); font-variant-numeric: tabular-nums; }
.proc__num svg { width: 16px; height: 16px; }
.proc__step h3 { margin-top: 14px; font: 400 clamp(21px, 1.8vw, 24px)/1.2 var(--serif); color: var(--soft-dark); transition: color .5s var(--ease); }
.proc__step p { margin-top: 8px; max-width: 300px; font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .62); text-wrap: pretty; transition: color .5s var(--ease); }
.proc__step.is-active h3, .proc__step.is-done h3, .proc__step:hover h3 { color: #fff; }
.proc__step.is-active p { color: rgba(255, 255, 255, .84); }
.proc__hit { position: absolute; inset: -12px -10px; z-index: 1; padding: 0; border: 0; border-radius: 10px; background: none; cursor: pointer; }
.proc__hit:focus-visible { outline: 2px solid var(--focus); outline-offset: 0; }
.no-motion .proc *, .no-motion .proc *::before, .no-motion .proc *::after { transition: none !important; animation: none !important; }
@media (min-width: 1000px) and (max-width: 1199.98px) {
.proc__map { grid-template-columns: minmax(0, 1fr) auto auto auto minmax(0, 1fr); grid-template-areas:
"team   team   team   team   team"
".      .      brief  .      .   "
"ground exec   hub    opt    part"
".      .      conf   .      .   "
"docs   docs   docs   docs   docs"; }
.proc__chip--brief { margin-top: var(--reach); }
.proc__card { display: none; }
}
@media (max-width: 999.98px) {
.proc__map {
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
grid-template-areas: "team team" "brief brief" "hub hub" "opt conf" "part docs" "exec exec" "ground ground";
column-gap: 28px; row-gap: 24px; padding: 36px 0 40px;
}
.proc__card { display: none; }
.proc__docs, .proc__partners { justify-self: stretch; align-self: stretch; }
.proc__docs { justify-content: center; }
.proc__partners { display: flex; align-items: center; justify-content: center; }
.proc__tiles { grid-template-columns: repeat(4, minmax(0, 60px)); }
.proc__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599.98px) {
.proc__btns .btns { margin-top: 28px; }
.proc__map { column-gap: 22px; row-gap: 22px; }
.proc__team { flex-wrap: wrap; justify-content: center; }
.proc__node { height: 30px; gap: 6px; padding: 0 9px; font-size: 11.5px; }
.proc__node svg { width: 13px; height: 13px; }
.proc__chip { height: 26px; font-size: 11.5px; }
.proc__hub { width: 84px; height: 84px; border-radius: 16px; gap: 5px; }
.proc__hub img { width: 36px; height: 36px; }
.proc__hub span { font-size: 10.5px; }
.proc__docs { padding: 6px 6px 12px; }
.proc__doc { gap: 7px; padding: 6px 4px; font-size: 11.5px; }
.proc__doc-icon { width: 22px; height: 22px; }
.proc__doc-name { margin-right: 4px; overflow: hidden; text-overflow: ellipsis; }
.proc__state em { display: none; }
.proc__state-ok { width: 22px; padding: 0; justify-content: center; }
.proc__partners { padding: 8px 8px 14px; }
.proc__tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; width: 100%; }
.proc__tile { padding: 8px 0; }
.proc__tile span { display: none; }
.proc__tile svg { width: 16px; height: 16px; }
.proc__ground { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; padding: 8px 8px 14px; gap: 5px; }
.proc__node--ground { flex-direction: column; justify-content: flex-start; gap: 6px; height: auto; min-height: 62px; padding: 9px 3px 8px;
font-size: 10.5px; line-height: 1.2; text-align: center; white-space: normal; }
.proc__legend { font-size: 10px; letter-spacing: .09em; }
.proc__steps { grid-template-columns: minmax(0, 1fr); gap: 30px; }
.proc__step p { max-width: none; }
}
@media (max-width: 399.98px) {
.proc__team { padding: 8px; }
.proc__team .proc__node { gap: 5px; padding: 0 6px; }
.proc__docs { padding: 5px 5px 12px; }
.proc__doc { gap: 6px; padding: 6px 3px; }
.proc__doc-icon { width: 20px; height: 20px; }
.proc__doc-name { margin-right: 0; }
}
.aud { --aud-ink-gold: #8A6A2C;
--aud-cut: 40px; --aud-step: 3200ms; }
.aud .eyebrow { color: var(--aud-ink-gold); margin-bottom: 22px; }
.aud .link-arrow { color: var(--aud-ink-gold); }
.aud .link-arrow:hover { color: var(--navy); }
.aud__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "lead lede" "cta lede"; gap: 0 clamp(32px, 6vw, 96px); align-items: start; }
.aud__lead { grid-area: lead; }
.aud__lede { grid-area: lede; max-width: 470px; padding-top: 34px; font-size: 17px; }
.aud__cta { grid-area: cta; margin-top: 30px; }
.aud__track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(48px, 5.5vw, 72px); }
.aud__card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff;
box-shadow: 0 1px 2px rgba(13, 23, 48, .04); transition: box-shadow .5s var(--ease), border-color .5s var(--ease); }
.js .aud__card { transition: opacity .9s var(--ease) var(--d, 0ms), transform 1s var(--ease) var(--d, 0ms), box-shadow .5s var(--ease), border-color .5s var(--ease); }
.aud__card:hover { border-color: var(--line-2); box-shadow: var(--shadow-card); }
.aud__media { position: relative; aspect-ratio: 400 / 332; overflow: hidden; background: var(--navy-2);
-webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--aud-cut)), 0 100%); clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--aud-cut)), 0 100%); }
.aud__media::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(13, 23, 48, .34), rgba(13, 23, 48, 0) 46%); }
.aud__img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 50%); transform: scale(1.001); transition: transform .9s var(--ease); }
.js .aud__card .aud__img { transform: scale(1.12); }
.js .aud__card.is-in .aud__img { transform: scale(1.001); transition: transform 1.8s var(--ease); }
.js .aud__card.is-in:hover .aud__img, .aud__card:hover .aud__img { transform: scale(1.06); transition: transform .9s var(--ease); }
.aud__edge { position: absolute; top: 0; left: 0; right: 0; z-index: 1; aspect-ratio: 400 / 332; pointer-events: none; }
.aud__edge svg { position: absolute; left: 0; bottom: 0; width: 100%; height: var(--aud-cut); overflow: visible; }
.aud__edge path { fill: none; stroke: var(--gold); stroke-width: .4; stroke-linecap: round; stroke-dasharray: 1 1; stroke-dashoffset: 0; }
.js .aud__edge path { stroke-dashoffset: 1; }
.js .aud__card.is-in .aud__edge path { stroke-dashoffset: 0; transition: stroke-dashoffset 1.2s var(--ease-in-out) calc(var(--d, 0ms) + 350ms); }
.aud__toast { position: absolute; left: 16px; bottom: calc(var(--aud-cut) + 14px); z-index: 1; max-width: calc(100% - 32px); padding: 10px 12px 10px 10px;
border: 1px solid rgba(255, 255, 255, .7); border-radius: 10px; background: rgba(255, 255, 255, .94);
-webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%);
box-shadow: 0 1px 2px rgba(13, 23, 48, .12), 0 14px 30px -12px rgba(13, 23, 48, .5); }
.js .aud__toast { opacity: 0; transform: translateY(12px) scale(.97); transform-origin: 0 100%; transition: opacity .7s var(--ease), transform .8s var(--ease); }
.js .aud__card.is-in .aud__toast { opacity: 1; transform: none; transition-delay: calc(var(--d, 0ms) + 500ms); }
.aud__toast-row { display: flex; align-items: center; gap: 9px; }
.aud__toast-ok { flex: 0 0 auto; display: grid; place-items: center; width: 18px; height: 18px; margin-top: 0; border-radius: 50%; background: var(--ok); color: #fff; }
.aud__toast-ok svg { width: 11px; height: 11px; stroke-width: 3; }
.aud__toast-list { display: grid; font: 500 12.5px/1.45 var(--sans); color: var(--navy); }
.aud__toast-list span { grid-area: 1 / 1; align-self: center; opacity: 0; transform: translateY(9px); transition: opacity .5s var(--ease), transform .6s var(--ease); }
.aud__toast-list span.is-on { opacity: 1; transform: none; transition-delay: .12s; }
.aud__toast-list span.is-off { opacity: 0; transform: translateY(-9px); }
.aud__toast:not(.is-live) .aud__toast-list span:first-child { opacity: 1; transform: none; }
.aud__toast.is-fit .aud__toast-list { height: var(--aud-h); transition: height .45s var(--ease); }
.aud__toast.is-fit .aud__toast-list span { align-self: start; }
.aud__toast-prog { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin: 9px 0 0 27px; }
.aud__toast-prog i { position: relative; height: 3px; overflow: hidden; border-radius: 2px; background: rgba(20, 33, 61, .1); }
.aud__toast-prog i::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.aud__toast-prog i.is-done::before, .aud__toast:not(.is-live) .aud__toast-prog i:first-child::before { transform: scaleX(1); }
.aud__toast-prog i.is-run::before { animation: audFill var(--aud-step) linear forwards; }
@keyframes audFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.aud__body { display: flex; flex: 1; flex-direction: column; padding: 14px 24px 24px; }
.aud__title { display: flex; align-items: center; gap: 12px; font: 400 23px/1.2 var(--serif); letter-spacing: -.01em; color: var(--navy); }
.aud__ic { flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--tint); color: var(--gold-2); transition: background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease); }
.aud__ic svg { width: 16px; height: 16px; }
.aud__card:hover .aud__ic { border-color: var(--navy); background: var(--navy); color: var(--gold); }
.aud__text { margin-top: 12px; font-size: 15px; line-height: 1.6; color: var(--slate); text-wrap: balance; }
.aud__more { margin-top: auto; padding-top: 18px; }
.aud__more a::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.aud__card:hover .link-arrow { color: var(--navy); }
.aud__card:hover .arrow__line { opacity: 1; }
.aud__card:hover .arrow__tip { transform: translateX(3px); }
@supports selector(:has(a)) {
.aud__more a:focus-visible { outline: none; }
.aud__card:has(a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
}
.aud__dots { display: none; }
.aud__diff { margin: clamp(60px, 7vw, 92px) calc(var(--inset) * -1) 0; padding: clamp(48px, 5.5vw, 72px) var(--inset) 0; border-top: 1px solid var(--line); }
.aud__diff-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 40px; }
.aud__subhead { max-width: 900px; font: 400 clamp(24px, 2.1vw, 29px)/1.25 var(--serif); text-wrap: balance; letter-spacing: -.012em; color: var(--navy); }
.aud__subhead .soft { display: block; margin-top: .2em; color: var(--soft); }
.aud__diff-head .link-arrow { margin-bottom: 4px; }
.aud__feats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin-top: clamp(36px, 4vw, 52px); }
.aud__feat { --tilt: 28deg; display: flex; perspective: 640px; }
.aud__fcard { --band: 64px; position: relative; display: flex; flex-direction: column; width: 100%; padding-top: var(--band); border: 3px solid #fff; border-radius: 14px;
background: linear-gradient(180deg, #FDF9F1 0%, var(--tint-2) 100%);
box-shadow: 0 30px 30px -10px rgba(13, 23, 48, .16); transform-style: preserve-3d;
transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.aud__fsun { position: absolute; top: 0; left: 0; right: 0; height: var(--band); overflow: hidden; border-radius: 11px 11px 0 0; pointer-events: none; }
.aud__fsun-turn { position: absolute; left: 16px; top: calc(var(--band) - 68px); width: 136px; height: 136px; transition: transform 1.4s var(--ease); }
.aud__fsun img { display: block; width: 100%; height: 100%; opacity: .4; animation: audSun 60s linear infinite; animation-play-state: paused; }
.aud__feats.is-live .aud__fsun img { animation-play-state: running; }
@keyframes audSun { to { transform: rotate(360deg); } }
.aud__feat.is-tilt .aud__fsun-turn { transform: rotate(120deg); }
.aud__fbox { flex: 1; padding: 62px 22px 24px; border-radius: 10px; background: linear-gradient(160deg, var(--navy-2) 0%, var(--navy) 55%, var(--navy-3) 100%);
transform-style: preserve-3d; }
.aud__ftitle { font: 400 21px/1.2 var(--serif); letter-spacing: -.01em; text-wrap: balance;
background: linear-gradient(100deg, #C9A24B 0%, #E6C77F 55%, #D4AE5E 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
transform: translateZ(50px); transition: transform .6s var(--ease); }
.aud__ftext { margin-top: 10px; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .78); text-wrap: pretty; transform: translateZ(30px); transition: transform .6s var(--ease); }
.aud__ftag { position: absolute; top: 24px; right: 20px; display: grid; justify-items: center; align-content: center; gap: 5px; width: 62px; height: 62px;
border: 1px solid var(--gold); border-radius: 10px; background: #fff; box-shadow: 0 17px 10px -10px rgba(13, 23, 48, .22); transform: translateZ(80px); }
.aud__fic { display: block; color: var(--gold-2); }
.aud__fic svg { display: block; width: 18px; height: 18px; }
.aud__fnum { font: 400 19px/1 var(--serif); font-variant-numeric: lining-nums; color: var(--navy); }
.aud__feat.is-tilt .aud__fcard { transform: rotate3d(.5, 1, 0, var(--tilt)); box-shadow: 0 40px 40px -16px rgba(13, 23, 48, .24); }
.aud__feat.is-tilt .aud__ftitle { transform: translateZ(60px); }
.aud__feat.is-tilt .aud__ftext { transform: translateZ(45px); }
@media (hover: hover) {
.aud__feat:hover .aud__fcard { transform: rotate3d(.5, 1, 0, var(--tilt)); box-shadow: 0 40px 40px -16px rgba(13, 23, 48, .24); }
.aud__feat:hover .aud__fsun-turn { transform: rotate(120deg); }
.aud__feat:hover .aud__ftitle { transform: translateZ(60px); }
.aud__feat:hover .aud__ftext { transform: translateZ(45px); }
}
.js .aud__feats [data-reveal="tilt"]:not(.is-in) { transform: perspective(1000px) rotateX(28deg) translateY(30px); transform-origin: 50% 100%; }
.no-motion .aud__img, .no-motion .aud__toast { transform: none !important; opacity: 1 !important; transition: none !important; }
.no-motion .aud__edge path { stroke-dashoffset: 0 !important; transition: none !important; }
.no-motion .aud__fcard, .no-motion .aud__ftitle, .no-motion .aud__ftext, .no-motion .aud__fsun-turn { transform: none !important; transition: none !important; }
.no-motion .aud__fsun img { animation: none !important; }
@media (max-width: 1180px) {
.aud__feats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.aud__feat { grid-column: span 2; }
.aud__feat:nth-child(n + 4) { grid-column: span 3; }
.aud__feat { perspective: 1000px; }
.aud__body { padding: 12px 20px 22px; }
.aud__title { font-size: 21px; }
}
@media (max-width: 859px) {
.aud__head { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lead" "lede" "cta"; }
.aud__lede { max-width: 620px; padding-top: 18px; font-size: 16.5px; }
.aud__cta { margin-top: 26px; }
.aud__track { --aud-edge: calc(var(--gut) + var(--inset)); display: flex; gap: 12px; margin-inline: calc(var(--aud-edge) * -1); padding: 6px var(--aud-edge) 6px;
overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--aud-edge); scrollbar-width: none; }
.aud__track::-webkit-scrollbar { display: none; }
.aud__card { flex: 0 0 min(84%, 380px); scroll-snap-align: start; }
.aud__dots { display: flex; justify-content: center; gap: 6px; margin-top: 18px; }
.aud__dots i { width: 6px; height: 6px; border-radius: 3px; background: rgba(20, 33, 61, .18); transition: width .35s var(--ease), background-color .35s var(--ease); }
.aud__dots i.is-on { width: 20px; background: var(--navy); }
}
@media (min-width: 600px) and (max-width: 859px) {
.aud__card { flex-basis: calc((100% - 24px) / 2.2); }
}
@media (max-width: 640px) {
.aud { --aud-cut: 30px; }
.aud__feats { grid-template-columns: minmax(0, 1fr); gap: 22px; }
.aud__feat, .aud__feat:nth-child(n + 4) { --tilt: 18deg; grid-column: auto; perspective: 1100px; }
.aud__fcard { --band: 56px; }
.aud__fbox { padding: 56px 20px 22px; }
.aud__ftag { top: 18px; }
.aud__title { font-size: 21px; }
.aud__body { padding: 12px 18px 20px; }
}
.voc-wrap {
container: voc / inline-size;
--voc-t: 900ms;
--voc-r: 16px;
--g: 16px;
--s1: clamp(110px, 15cqw, 196px);
--s2: calc(var(--s1) / 2);
--s3: calc(var(--s1) / 4);
--wa: calc(100cqw - var(--s1) - var(--s2) - var(--s3) - 3 * var(--g) - 32px);
}
.voc-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head ctrls" "stage stage" "bar bar"; align-items: end; column-gap: 40px; }
.voc-head { grid-area: head; }
.voc-head .eyebrow { margin-bottom: 22px; }
.voc-ctrls { grid-area: ctrls; display: flex; align-items: center; gap: 10px; }
.voc-btn { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line-2); border-radius: 50%; background: #fff; color: var(--navy);
transition: background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease); }
.voc-btn svg { width: 17px; height: 17px; }
.voc-btn:hover { border-color: var(--navy); background: var(--navy); color: #fff; box-shadow: 0 8px 20px -10px rgba(13, 23, 48, .5); }
.voc-btn:active { transform: scale(.96); }
.voc-btn--play svg { width: 15px; height: 15px; }
.voc-ico-pause { display: none; }
.voc.is-auto .voc-ico-pause { display: block; }
.voc.is-auto .voc-ico-play { display: none; }
.voc-stage { grid-area: stage; margin-top: clamp(36px, 4.2vw, 60px); }
.voc-deck { position: relative; display: grid; overflow: hidden; border-radius: var(--voc-r); touch-action: pan-y pinch-zoom; -webkit-tap-highlight-color: transparent; }
.voc-card {
--x: 0px; --vis: var(--wa); --p: clamp(22px, calc(var(--wa) * .058), 50px);
grid-area: 1 / 1; position: relative; z-index: 1; display: flex; width: var(--wa); min-height: clamp(380px, calc(var(--wa) * .56), 470px);
overflow: hidden; border-radius: var(--voc-r);
transform: translate3d(calc(var(--x) + var(--drag, 0px)), 0, 0);
clip-path: inset(0 calc(var(--wa) - var(--vis)) 0 0 round var(--voc-r));
transition: transform var(--voc-t) var(--ease-in-out), clip-path var(--voc-t) var(--ease-in-out), opacity .55s var(--ease), filter .3s var(--ease);
}
.voc-card[data-k="0"] { z-index: 2; }
.voc-card[data-k="1"] { --x: calc(var(--wa) + var(--g)); --vis: var(--s1); }
.voc-card[data-k="2"] { --x: calc(var(--wa) + 2 * var(--g) + var(--s1)); --vis: var(--s2); }
.voc-card[data-k="3"] { --x: calc(var(--wa) + 3 * var(--g) + var(--s1) + var(--s2)); --vis: var(--s3); }
.voc-card[data-k="4"] { --x: calc(var(--wa) + 3 * var(--g) + 8px + var(--s1) + var(--s2) + var(--s3)); --vis: 8px; }
.voc-card[data-k="5"] { --x: calc(var(--wa) + 3 * var(--g) + 24px + var(--s1) + var(--s2) + var(--s3)); --vis: 8px; }
.voc-card[data-k^="-"] { --x: calc(var(--k) * (var(--wa) + var(--g))); opacity: 0; }
.voc-card:not([data-k="0"]) { cursor: pointer; }
.voc-card:not([data-k="0"]):hover { filter: brightness(1.06) saturate(1.05); }
.voc-card.is-snap, .voc-deck.is-drag .voc-card { transition: none; }
.voc-card.is-ghost, .voc-card.is-fading { opacity: 0; }
.voc-card.is-fading { transition-duration: var(--voc-t), var(--voc-t), .3s, .3s; }
.voc-deck.is-drag { cursor: grabbing; user-select: none; }
.voc.is-undealt .voc-card:not([data-k="0"]) { opacity: 0; translate: 72px 0; transition: none; }
.voc.is-dealing .voc-card { transition: translate 1.05s var(--ease) calc(var(--k) * 90ms + 200ms), opacity .8s var(--ease) calc(var(--k) * 90ms + 200ms); }
.voc .voc-deck.is-resizing .voc-card { transition: none; }
.voc-card__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.voc-card__bg > * { position: absolute; }
.voc-card__in { position: relative; z-index: 1; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr auto;
grid-template-areas: "top top" "quote quote" "cite extra"; align-items: end; gap: 0 28px; width: var(--wa); padding: var(--p); }
.voc-card__top { grid-area: top; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 16px; align-self: start; }
.voc-mark { display: block; height: .36em; margin: -.06em 0 0 -.05em; font: 400 clamp(104px, calc(var(--wa) * .18), 150px)/.86 var(--serif);
background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.voc-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 13px; border-radius: 999px; font: 600 12.5px/1 var(--sans); letter-spacing: .01em; white-space: nowrap; }
.voc-quote { grid-area: quote; align-self: start; margin-top: clamp(14px, calc(var(--wa) * .028), 26px); }
.voc-quote p { max-width: 33em; font: italic 300 calc(clamp(18px, calc(var(--wa) * .0345), 29px) * var(--qs, 1))/1.36 var(--serif); letter-spacing: -.012em; text-wrap: pretty; }
.voc-w { display: inline-block; }
.voc-cite { grid-area: cite; display: flex; align-items: center; gap: 14px; margin-top: 30px; font: 600 15px/1.3 var(--sans); letter-spacing: .005em; }
.voc-logo { --ls: 1; display: inline-grid; flex: 0 0 auto; place-items: center; height: calc(60px * var(--ls)); padding: 0 calc(16px * var(--ls)); border-radius: 12px; background: #fff;
box-shadow: 0 0 0 1px var(--line), 0 8px 20px -12px rgba(13, 23, 48, .4); }
.voc-card--dark .voc-logo { box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 10px 26px -12px rgba(0, 0, 0, .55); }
.voc-logo img { width: auto; height: calc(var(--lh, 28px) * var(--ls)); }
.voc-spine { position: absolute; z-index: 1; left: 17px; bottom: var(--p); writing-mode: vertical-rl; transform: rotate(180deg);
font: 600 11.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; transition: opacity .5s var(--ease) .25s; }
.voc-card[data-k="0"] .voc-spine { opacity: 0; transition-delay: 0s; transition-duration: .2s; }
.voc-mark { transition: opacity .4s var(--ease); }
.voc-card[data-k="3"] .voc-mark, .voc-card[data-k="4"] .voc-mark, .voc-card[data-k="5"] .voc-mark { opacity: 0; }
.voc-turn { grid-area: extra; width: 256px; padding: 12px 14px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-card); font-size: 12px; }
.voc-turn__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.voc-turn__head .ui-chip { height: 20px; padding: 0 8px; font-size: 10.5px; }
.voc-turn__row { display: grid; grid-template-columns: 80px 1fr 32px; white-space: nowrap; align-items: center; gap: 10px; padding: 4px 0; color: var(--slate); }
.voc-turn__row b { font: 600 13px/1 var(--sans); font-variant-numeric: tabular-nums; color: var(--navy); text-align: right; }
.voc-turn__bar { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(20, 33, 61, .07); }
.voc-turn__bar i { display: block; height: 100%; border-radius: inherit; background: rgba(20, 33, 61, .32); transform-origin: left; transform: scaleX(var(--v)); }
.voc-turn__bar--gold i { background: var(--grad-gold); }
.voc-chip, .voc-cite, .voc-turn, .voc-w { transition: opacity .55s var(--ease), transform .8s var(--ease); }
.voc-card:not([data-k="0"]) :is(.voc-chip, .voc-cite, .voc-turn, .voc-w),
.voc.is-armed .voc-card:not(.is-on) :is(.voc-chip, .voc-cite, .voc-turn, .voc-w) { opacity: 0; transition-duration: .22s; transition-delay: 0s; }
.voc.is-armed .voc-card:not(.is-on) .voc-w { transform: translateY(.42em); }
.voc.is-armed .voc-card:not(.is-on) :is(.voc-cite, .voc-turn) { transform: translateY(10px); }
.voc.is-armed .voc-card:not(.is-on) .voc-turn__bar i { transform: scaleX(0); transition: none; }
.voc-card.is-on .voc-w { transition-delay: calc(var(--i) * 22ms); }
.voc-card.is-on .voc-chip { transition-delay: .15s; }
.voc-card.is-on .voc-cite { transition-delay: .5s; }
.voc-card.is-on .voc-turn { transition-delay: .35s; }
.voc-card.is-on .voc-turn__bar i { transition: transform 1.3s var(--ease) .6s; }
.voc-card.is-on .voc-turn__bar--gold i { transition-delay: .75s; }
.voc-card--dark { color: #fff; }
.voc-card--light { color: var(--navy); }
.voc-card--dark .voc-chip { background: rgba(255, 255, 255, .09); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: var(--gold-soft); }
.voc-card--light .voc-chip { background: rgba(20, 33, 61, .06); box-shadow: inset 0 0 0 1px rgba(20, 33, 61, .08); color: var(--navy); }
.voc-card--dark .voc-spine { color: rgba(255, 255, 255, .78); }
.voc-card--light .voc-spine { color: rgba(20, 33, 61, .72); }
.voc-card--navy { background: radial-gradient(60% 70% at 92% 92%, rgba(56, 82, 140, .45), transparent 70%), radial-gradient(70% 60% at 0% 0%, rgba(255, 255, 255, .05), transparent 70%),
linear-gradient(160deg, #182A52 0%, var(--navy-3) 60%); }
.voc-silk { inset: 0; width: 100%; height: 100%; opacity: .9; }
.voc-card--champagne { background: radial-gradient(70% 70% at 0% 0%, rgba(255, 255, 255, .7), transparent 60%), linear-gradient(155deg, #FBF4E6 0%, #F4E6C6 58%, #EBD5A6 100%); }
.voc-contours { inset: 0; width: 100%; height: 100%; opacity: .32; }
.voc-card--hall, .voc-card--colonnade { background: var(--navy-3); }
.voc-photo { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.voc-film { inset: 0; background: linear-gradient(100deg, rgba(10, 18, 38, .95) 0%, rgba(10, 18, 38, .86) 46%, rgba(10, 18, 38, .62) 100%); transition: opacity .9s var(--ease); }
.voc-card--hall:not([data-k="0"]) .voc-film, .voc-card--colonnade:not([data-k="0"]) .voc-film { opacity: .6; }
.voc-card--colonnade .voc-photo { object-position: 50% 50%; }
.voc-card--colonnade .voc-film { background: linear-gradient(100deg, rgba(10, 18, 38, .95) 0%, rgba(13, 23, 48, .86) 48%, rgba(20, 33, 61, .58) 100%); }
.voc-card--paper { background: #fff; box-shadow: inset 0 0 0 1px var(--line-2); }
.voc-card--paper .voc-card__bg { background-image: radial-gradient(rgba(20, 33, 61, .14) 1px, transparent 1.3px); background-size: 18px 18px;
-webkit-mask-image: radial-gradient(80% 90% at 100% 100%, #000, transparent 70%); mask-image: radial-gradient(80% 90% at 100% 100%, #000, transparent 70%); }
.voc-card--gold { background: radial-gradient(70% 80% at 10% 0%, rgba(255, 248, 228, .6), transparent 60%), linear-gradient(150deg, #F1E1B8 0%, #E3C37D 55%, #D3AE5C 100%); }
.voc-card--gold .voc-mark { background: none; color: var(--navy); }
.voc-card--gold .voc-chip { background: rgba(20, 33, 61, .08); box-shadow: inset 0 0 0 1px rgba(20, 33, 61, .12); }
.voc-dial { right: -110px; bottom: -150px; width: min(62%, 430px); height: auto; opacity: .15; }
.voc-card.is-on .voc-silk { animation: voc-drift 18s var(--ease-in-out) infinite alternate; }
.voc-card.is-on .voc-photo { animation: voc-zoom 20s var(--ease-in-out) infinite alternate; }
.voc-card.is-on .voc-dial { animation: voc-turn 140s linear infinite reverse; }
.voc-card.is-on .voc-contours { animation: voc-breathe 12s var(--ease-in-out) infinite alternate; }
.voc.is-off .voc-card__bg > * { animation-play-state: paused; }
@keyframes voc-drift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-4%, 3%, 0) scale(1.06); } }
@keyframes voc-zoom { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes voc-turn { to { transform: rotate(360deg); } }
@keyframes voc-breathe { from { transform: scale(1); } to { transform: scale(1.05); } }
.voc-contours { transform-origin: 90% 98%; }
.voc-bar { grid-area: bar; justify-self: start; position: relative; width: clamp(96px, 12cqw, 152px); height: 2px; margin-top: 22px; overflow: hidden; border-radius: 2px; background: var(--line-2); }
.voc-bar__fill { position: absolute; inset: 0; border-radius: inherit; background: var(--grad-gold); transform-origin: left; }
.voc.is-armed .voc-bar__fill { animation: voc-fill var(--dur, 8s) linear both; }
.voc.is-armed.is-hold .voc-bar__fill, .voc.is-armed:not(.is-auto) .voc-bar__fill { animation-play-state: paused; }
@keyframes voc-fill { from { transform: scaleX(0); } to { transform: none; } }
@container voc (max-width: 979px) {
.voc-card__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "quote" "extra" "cite"; }
.voc-turn { justify-self: start; margin-top: 22px; }
}
@container voc (max-width: 759px) {
.voc-grid { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head head" "stage stage" "bar ctrls"; }
.voc-stage { margin-top: 32px; }
.voc-card { --wa: calc(100cqw - 22px); --p: 22px; min-height: 0; }
.voc-card:not([data-k="0"]) { --x: calc(var(--wa) + 8px); --vis: var(--wa); }
.voc-card[data-k="2"], .voc-card[data-k="3"], .voc-card[data-k="4"] { opacity: 0; transition: none; }
.voc-card[data-k="5"], .voc-card[data-k^="-"] { --x: calc(-1 * (var(--wa) + 8px)); --vis: var(--wa); opacity: 1; }
.voc-card__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "quote" "extra" "cite"; }
.voc-mark { font-size: 104px; }
.voc-chip { height: 28px; font-size: 12px; }
.voc-quote p { font-size: calc(18.5px * min(var(--qs, 1), 1.06)); line-height: 1.42; }
.voc-turn { justify-self: start; margin-top: 22px; }
.voc-cite { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 24px; font-size: 14.5px; }
.voc-logo { --ls: .88; border-radius: 11px; }
.voc-ctrls { margin-top: 18px; }
.voc-bar { align-self: center; width: min(112px, 30cqw); margin-top: 18px; }
}
@container voc (max-width: 380px) {
.voc-quote p { font-size: calc(17.5px * min(var(--qs, 1), 1.06)); }
}
.no-motion .voc-card, .no-motion .voc-card *, .no-motion .voc-bar__fill { transition: none !important; animation: none !important; }
.no-motion .voc-btn--play { display: none; }
.start { isolation: isolate; overflow: hidden; overflow: clip; }
.start__head { max-width: 900px; margin-bottom: clamp(36px, 4.4vw, 60px); }
.start__head .eyebrow { margin-bottom: 22px; }
.start__title { max-width: 820px; text-wrap: balance; }
.start__body { position: relative; }
.start__glow { position: absolute; inset: -16% -12% -22%; z-index: -1; pointer-events: none; }
.start__blob { position: absolute; border-radius: 50%; will-change: transform;
animation: startDriftA 22s var(--ease-in-out) infinite alternate; animation-play-state: paused; }
.start__blob--gold { left: 0; top: 14%; width: 64%; height: 82%; background: radial-gradient(closest-side, rgba(230, 199, 127, .85), rgba(230, 199, 127, .34) 55%, rgba(230, 199, 127, 0)); }
.start__blob--navy { right: -4%; top: 6%; width: 50%; height: 70%; background: radial-gradient(closest-side, rgba(70, 102, 170, .32), rgba(70, 102, 170, .12) 55%, rgba(70, 102, 170, 0));
animation-name: startDriftB; animation-duration: 27s; }
.start__blob--champ { right: 6%; bottom: -2%; width: 60%; height: 76%; background: radial-gradient(closest-side, rgba(244, 230, 198, .95), rgba(244, 230, 198, 0));
animation-name: startDriftC; animation-duration: 19s; }
.start__blob--amber { left: 26%; bottom: 0; width: 40%; height: 48%; background: radial-gradient(closest-side, rgba(217, 151, 58, .34), rgba(217, 151, 58, 0));
animation-name: startDriftD; animation-duration: 16s; }
.start.is-live .start__blob { animation-play-state: running; }
.no-motion .start__blob { animation: none; }
@keyframes startDriftA { 50% { transform: translate3d(9%, -7%, 0) scale(1.08); } 100% { transform: translate3d(16%, 5%, 0) scale(.95); } }
@keyframes startDriftB { 50% { transform: translate3d(-12%, 10%, 0) scale(1.1); } 100% { transform: translate3d(-4%, 18%, 0) scale(.92); } }
@keyframes startDriftC { 50% { transform: translate3d(-10%, -9%, 0) scale(.94); } 100% { transform: translate3d(-18%, 2%, 0) scale(1.08); } }
@keyframes startDriftD { 50% { transform: translate3d(22%, -14%, 0) scale(1.15); } 100% { transform: translate3d(-10%, -6%, 0) scale(.9); } }
.start__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-auto-rows: auto; gap: 16px; }
.start__card { --cp: clamp(22px, 2.4vw, 32px); position: relative; display: flex; flex-direction: column; min-width: 0; padding: var(--cp); overflow: hidden;
border: 1px solid rgba(20, 33, 61, .09); border-radius: var(--radius-lg); background: rgba(255, 255, 255, .74);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), var(--shadow-card); }
.start__card--quote { grid-row: span 2; }
.start__card h3 { font: 400 clamp(22px, 1.9vw, 26px)/1.2 var(--serif); letter-spacing: -.012em; color: var(--navy); }
.start__card p { margin-top: 8px; font-size: 15.5px; line-height: 1.6; color: var(--slate); text-wrap: pretty; }
.start__sq { display: inline-grid; place-items: center; width: 36px; height: 36px; margin-bottom: 18px; border: 1px solid var(--line-2); border-radius: 9px; background: #fff; color: var(--gold-2); }
.start__sq svg { width: 18px; height: 18px; }
.start__qhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; }
.start__qtext { flex: 1 1 320px; max-width: 440px; }
.start__qhead .btn { flex: 0 0 auto; }
.start__stage { position: relative; flex: 1; display: flex; align-items: center; margin: 28px calc(var(--cp) * -1) calc(var(--cp) * -1); padding: 76px var(--cp) 36px;
border-top: 1px solid var(--line);
background: linear-gradient(180deg, rgba(250, 245, 236, .55), rgba(244, 236, 221, .85)); }
.start__stage::before { content: ''; position: absolute; inset: 0; pointer-events: none;
background: repeating-linear-gradient(135deg, rgba(169, 132, 58, .16) 0 1px, transparent 1px 9px);
-webkit-mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 55%); mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 55%); }
.start__winwrap { position: relative; width: 100%; max-width: 640px; margin-inline: auto; }
.start__win { position: relative; overflow: visible; container-type: inline-size; box-shadow: 0 30px 60px -28px rgba(13, 23, 48, .32), 0 12px 24px -16px rgba(13, 23, 48, .18); }
.start__win .ui-window__bar { border-radius: 11px 11px 0 0; }
.start .ui-window__url { display: flex; align-items: center; justify-content: center; gap: 5px; }
.start .ui-window__url svg { width: 10px; height: 10px; color: var(--ok); }
.start__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 11px 10px; padding: 14px 16px 16px; }
.start__need { display: block; grid-column: 1 / -1; font-size: 10.5px; line-height: 1.3; color: var(--slate); }
.start__f { display: grid; align-content: end; gap: 5px; min-width: 0; }
.start__f--full, .start__f--details { grid-column: 1 / -1; }
.start__fl { font-size: 11.5px; font-weight: 500; line-height: 1.3; color: var(--navy); }
.start__star { color: var(--gold-ink); }
.start__in { position: relative; display: flex; align-items: center; min-width: 0; height: 32px; padding: 0 10px; border: 1px solid rgba(20, 33, 61, .28); border-radius: 5px; background: #fff;
font-size: 12.5px; color: var(--ink); white-space: nowrap; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.start__in.is-focus { border-color: var(--gold-2); box-shadow: 0 0 0 3px rgba(201, 162, 75, .30); }
.start__v { overflow: hidden; text-overflow: clip; transition: opacity .35s var(--ease); }
.start__v:empty::before { content: attr(data-ph); color: var(--soft); }
.start__in.is-focus .start__v:empty::before { content: ''; }
.start__caret { display: none; flex: 0 0 auto; width: 1.5px; height: 15px; margin-left: 1px; background: var(--navy); animation: startBlink 1s steps(1) infinite; }
.start__in.is-focus .start__caret { display: block; }
@keyframes startBlink { 50% { opacity: 0; } }
.start__f--details .start__in { align-items: flex-start; height: 74px; padding-block: 8px; white-space: normal; line-height: 1.45; }
.start__f--details .start__in.is-focus .start__v::after { content: ''; display: inline-block; width: 1.5px; height: 14px; margin-left: 1px; vertical-align: -2px; background: var(--navy); animation: startBlink 1s steps(1) infinite; }
.start__multi { position: relative; }
.start__in--sel { justify-content: space-between; gap: 8px; }
.start__in--sel .start__v { text-overflow: ellipsis; }
.start__chev { flex: 0 0 auto; width: 15px; height: 15px; color: var(--navy); transition: transform .25s var(--ease); }
.start__multi.is-open .start__chev { transform: rotate(180deg); }
.start__list { position: absolute; left: 0; right: 0; top: calc(100% + 5px); z-index: 3; padding: 9px 8px 8px; border: 1px solid var(--line-2); border-radius: 7px; background: #fff;
box-shadow: 0 18px 40px -16px rgba(13, 23, 48, .35); opacity: 0; visibility: hidden; transform: translateY(-4px);
transition: opacity .25s var(--ease), transform .3s var(--ease), visibility 0s .3s; }
.start__multi.is-open .start__list { opacity: 1; visibility: visible; transform: none; transition: opacity .25s var(--ease), transform .3s var(--ease); }
.start__legend { display: block; margin: 0 8px 5px; font-size: 10.5px; font-weight: 500; color: var(--slate); }
.start__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px 6px; }
.start__opt { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 5px 8px; border-radius: 5px; font-size: 11.5px; line-height: 1.3; color: var(--ink); }
.start__otext { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.start__box { display: grid; place-items: center; flex: 0 0 auto; width: 13px; height: 13px; border: 1.5px solid rgba(20, 33, 61, .38); border-radius: 3px; background: #fff;
transition: background-color .2s var(--ease), border-color .2s var(--ease); }
.start__box svg { width: 10px; height: 10px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 12; stroke-dashoffset: 12; transition: stroke-dashoffset .35s var(--ease) .08s; }
.start__opt.is-on .start__box { border-color: var(--navy); background: var(--navy); }
.start__opt.is-on .start__box svg { stroke-dashoffset: 0; }
.start__done { display: block; margin-top: 6px; padding: 7px; border-radius: 5px; background: var(--navy); font-size: 11.5px; font-weight: 500; line-height: 1; color: #fff; text-align: center;
transition: transform .2s var(--ease), background-color .2s var(--ease); }
.start__done.is-press { transform: scale(.97); background: var(--navy-2); }
.start__ffoot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; margin-top: 3px; }
.start__submit { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; height: 32px; padding: 0 14px; overflow: hidden; border-radius: 5px; background: var(--navy);
font-size: 12px; font-weight: 600; color: #fff; transition: transform .2s var(--ease), background-color .2s var(--ease); }
.start__submit .arrow { width: 8px; height: 8px; }
.start__submit::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--grad-gold); transform: scaleX(0); transform-origin: left; }
.start__submit.is-press { transform: scale(.95); background: var(--navy-2); }
.start__submit.is-sending::after { transform: scaleX(1); transition: transform .85s var(--ease-in-out); }
.start__toast { position: absolute; right: -16px; top: -48px; z-index: 4; display: flex; align-items: center; gap: 11px; width: min(330px, 86%); padding: 11px 14px 11px 11px;
border: 1px solid var(--line); border-radius: 12px; background: #fff;
box-shadow: 0 18px 36px -18px rgba(13, 23, 48, .34), 0 3px 8px -3px rgba(13, 23, 48, .10);
opacity: 0; transform: translateY(-12px) scale(.97); transform-origin: 80% 0; transition: opacity .45s var(--ease), transform .6s var(--ease); }
.start__toast.is-on { opacity: 1; transform: none; }
.start__toast-ico { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: rgba(47, 138, 104, .12); color: var(--ok); }
.start__toast-ico svg { width: 17px; height: 17px; }
.start__toast-txt { display: grid; gap: 1px; min-width: 0; font-size: 11.5px; line-height: 1.35; color: var(--slate); }
.start__toast-txt b { font-size: 13px; font-weight: 600; color: var(--navy); }
.start__toast-time { align-self: flex-start; margin-left: auto; font-size: 10.5px; color: #A3A8B8; white-space: nowrap; }
.start__win.is-out .start__v { opacity: 0; transition: opacity .4s var(--ease); }
@container (max-width: 460px) {
.start__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 340px) {
.start__form { padding: 12px 12px 14px; gap: 10px 8px; }
.start__fl { font-size: 10.5px; }
.start__in { padding: 0 7px; font-size: 11px; }
.start__opt { padding: 4px 6px; font-size: 10.5px; }
.start__otext { white-space: normal; }
}
.start__thead { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.start__live { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 11px 0 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff;
font-size: 12.5px; font-weight: 600; color: var(--navy); white-space: nowrap; }
.start__live i { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); }
.start__live i::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1.5px solid var(--ok); opacity: 0; animation: startPing 2.4s var(--ease) infinite; animation-play-state: paused; }
.start.is-live .start__live i::after { animation-play-state: running; }
@keyframes startPing { 0% { opacity: .55; transform: scale(.5); } 80%, 100% { opacity: 0; transform: scale(1.8); } }
.start__lines { margin: 22px 0 26px; border-top: 1px solid var(--line); }
.start__line { display: grid; grid-template-columns: 34px minmax(0, 1fr) 12px; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.start__line--text { grid-template-columns: 34px minmax(0, 1fr); align-items: start; }
.start__lico { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--tint); color: var(--gold-2); }
.start__lico svg { position: relative; width: 16px; height: 16px; }
.start__ltxt { display: grid; gap: 2px; min-width: 0; }
.start__ltxt small { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--slate); }
.start__ltxt span { font-size: 15px; font-weight: 500; line-height: 1.45; color: var(--navy); overflow-wrap: anywhere; transition: color .2s var(--ease); }
.start__line--text .start__ltxt span { font-size: 14px; font-weight: 400; color: var(--ink); text-wrap: pretty; }
.start__line .arrow { color: var(--gold-2); }
a.start__line:hover .start__ltxt span { color: var(--gold-2); }
a.start__line:hover .arrow__line { opacity: 1; }
a.start__line:hover .arrow__tip { transform: translateX(3px); }
.start__line--call .start__lico::before, .start__line--call .start__lico::after { content: ''; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(201, 162, 75, .55);
opacity: 0; animation: startRing 3.2s var(--ease) infinite; animation-play-state: paused; }
.start__line--call .start__lico::after { animation-delay: .5s; }
.start.is-live .start__line--call .start__lico::before, .start.is-live .start__line--call .start__lico::after { animation-play-state: running; }
@keyframes startRing { 0% { opacity: .9; transform: scale(1); } 45%, 100% { opacity: 0; transform: scale(1.55); } }
.no-motion .start__live i::after, .no-motion .start__line--call .start__lico::before, .no-motion .start__line--call .start__lico::after { animation: none; }
.start__card--talk .btn { align-self: flex-start; margin-top: auto; }
.start__card--trust { align-items: center; justify-content: center; text-align: center; }
.start__iata-logo { width: 190px; height: auto; }
.start__card--trust h3 { margin-top: 20px; }
@media (max-width: 1000px) {
.start__grid { grid-template-columns: 1fr 1fr; }
.start__card--quote { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 700px) {
.start__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.start__qhead .btn { width: 100%; justify-content: center; }
.start__stage { margin-top: 24px; padding-top: 70px; padding-bottom: 28px; }
.start__toast { right: -6px; top: -50px; width: calc(100% - 8px); }
.start__glow { inset: -6% -30% -10%; }
}
@media (max-width: 400px) {
.start__iata-logo { width: 150px; }
}
.start__stage { cursor: pointer; }
.start__stage::after { content: 'Open the enquiry form \2192'; position: absolute; left: 50%; bottom: 14px; z-index: 6; padding: 7px 12px;
border-radius: 999px; background: var(--navy); font: 500 12.5px/1 var(--sans); color: #fff; white-space: nowrap; pointer-events: none;
opacity: 0; transform: translate(-50%, 6px); transition: opacity .25s var(--ease), transform .35s var(--ease); }
.start__stage:hover::after { opacity: 1; transform: translate(-50%, 0); }
@media (hover: none) { .start__stage::after { display: none; } }
.ct { --st-h: 64px; --st-drop: 4.8vw; }
.ct [hidden] { display: none !important; }
.ct__bg { position: absolute; top: 0; left: 0; right: 0; height: 640px; overflow: hidden; pointer-events: none; }
.ct__stripe { position: absolute; left: 0; right: 0; top: -400px; height: calc(400px + var(--st-h)); transform: skewY(5deg); transform-origin: 0 0;
background: linear-gradient(90deg, var(--champagne) 0%, var(--gold-soft) 12%, var(--gold) 30%, var(--gold-2) 40%, var(--navy-2) 60%, var(--navy-3) 100%);
background: linear-gradient(in oklab 90deg, var(--champagne) 0%, var(--gold-soft) 12%, var(--gold) 30%, var(--gold-2) 40%, var(--navy-2) 60%, var(--navy-3) 100%); }
.ct__stripe::before { content: ''; position: absolute; inset: 0;
background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 11px);
-webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 75%); mask-image: linear-gradient(90deg, transparent 30%, #000 75%); }
.ct__stripe::after { content: ''; position: absolute; left: 0; right: 0; top: calc(100% + 10px); height: 6px;
background: linear-gradient(90deg, rgba(201, 162, 75, 0) 4%, rgba(201, 162, 75, .55) 30%, rgba(234, 217, 176, .35) 62%, rgba(234, 217, 176, 0) 92%); }
.ct > .frame { padding-top: calc(var(--st-h) + var(--st-drop) + 48px); }
.ct__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 556px); grid-template-rows: auto 1fr;
grid-template-areas: "intro card" "checks card"; column-gap: clamp(40px, 6vw, 104px); align-items: start; }
.ct__intro { grid-area: intro; max-width: 560px; }
.ct__title { margin-top: 16px; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.ct__sub { margin-top: 22px; font: 500 17px/1.45 var(--sans); color: var(--navy); }
.ct__lede { margin-top: 10px; }
.ct__sub, .ct__lede { text-wrap: pretty; }
.ct__checks { grid-area: checks; display: grid; gap: 14px; max-width: 460px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--line); }
.ct__checks li { display: flex; align-items: center; gap: 12px; font: 500 16px/1.4 var(--sans); color: var(--navy); }
.ct__tick { display: inline-grid; flex: 0 0 auto; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(201, 162, 75, .18); color: var(--gold-ink); }
.ct__tick svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ct__card { grid-area: card; position: relative; z-index: 1; margin-top: calc(-1 * (var(--st-h) + var(--st-drop) + 8px)); padding: clamp(24px, 2.8vw, 40px);
border: 1px solid var(--line); border-radius: 8px; background: #fff;
box-shadow: 0 50px 100px -24px rgba(13, 23, 48, .22), 0 30px 60px -30px rgba(13, 23, 48, .28), 0 1px 2px rgba(13, 23, 48, .05); }
.ct__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 16px; }
.ct__need { grid-column: 1 / -1; margin-bottom: -2px; font-size: 13.5px; color: var(--slate); }
.ct__field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.ct__field--full, .ct__actions { grid-column: 1 / -1; }
.ct__field label { font: 500 14.5px/1.3 var(--sans); color: var(--navy); text-wrap: balance; }
@media (min-width: 900px) and (max-width: 1069px) {
.ct__field:has(#f-phone), .ct__field:has(#f-company) { grid-template-rows: minmax(calc(14.5px * 1.3 * 2), auto); }
.ct__field:has(#f-phone) label, .ct__field:has(#f-company) label { align-self: end; }
}
.ct__star { color: var(--gold-ink); }
.ct__input { display: block; width: 100%; height: 46px; margin: 0; padding: 0 14px; border: 1px solid rgba(20, 33, 61, .28); border-radius: 6px; background: #fff;
font: 400 16px/1.4 var(--sans); color: var(--ink); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.ct__input::placeholder { color: var(--soft); opacity: 1; }
.ct__input:hover { border-color: rgba(20, 33, 61, .48); }
.ct__input:focus { outline: none; }
.ct__input:focus-visible, .ct__input:focus { border-color: var(--gold-2); box-shadow: 0 0 0 3px rgba(201, 162, 75, .30); }
.ct__input[aria-invalid="true"] { border-color: var(--amber); box-shadow: 0 0 0 3px rgba(217, 151, 58, .14); }
.ct__input[aria-invalid="true"]:focus { border-color: var(--amber); box-shadow: 0 0 0 3px rgba(217, 151, 58, .32); }
textarea.ct__input { height: auto; min-height: 124px; padding: 11px 14px; resize: vertical; }
.ct__select { position: relative; }
.ct__select select { padding-right: 42px; -webkit-appearance: none; appearance: none; cursor: pointer; }
.ct__select select:invalid { color: var(--soft); }
.ct__select option { color: var(--ink); }
.ct__select svg { position: absolute; top: 50%; right: 14px; width: 18px; height: 18px; margin-top: -9px; color: var(--navy); pointer-events: none; }
.ct__err { display: flex; align-items: flex-start; gap: 6px; font: 500 13.5px/1.4 var(--sans); color: var(--gold-ink); }
.ct__err:empty { display: none; }
.ct__err svg { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 1px; fill: none; stroke: var(--amber); stroke-width: 1.6; stroke-linecap: round; }
.ct__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 6px; }
.ct__actions .btn { border: 0; }
.ct__done p a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(201, 162, 75, .7); text-underline-offset: 3px; }
.ct__done p a:hover { color: var(--gold-ink); }
.ct__done { display: grid; justify-items: start; gap: 14px; padding-block: 8px; }
.ct__done:focus { outline: none; }
.ct__done-ico { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--tint); color: var(--gold-2); }
.ct__done-ico svg { width: 22px; height: 22px; }
.ct__done-title { font: 330 clamp(28px, 2.6vw, 36px)/1.1 var(--serif); letter-spacing: -.015em; color: var(--navy); }
.ct__done p { max-width: 440px; font-size: 16.5px; line-height: 1.6; color: var(--slate); }
.ct__done-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; }
.ct__done-acts .btn svg:not(.arrow) { width: 17px; height: 17px; }
.ct__edit { display: inline-flex; align-items: center; gap: 7px; height: 46px; padding: 0 8px; border: 0; border-radius: 6px; background: none;
font: 500 15px/1 var(--sans); color: var(--navy); text-decoration: underline; text-decoration-color: rgba(20, 33, 61, .25); text-underline-offset: 4px; }
.ct__edit:hover { text-decoration-color: currentColor; }
.ct__edit svg { width: 16px; height: 16px; color: var(--gold-2); }
.ct__copied { font-size: 14px; color: var(--ok); }
.ct__copied:empty { display: none; }
.ct__head { margin-bottom: clamp(40px, 4.4vw, 64px); }
.ct__dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 1px; margin: 0 calc(var(--inset) * -1);
border-block: 1px solid var(--line); background: var(--line); }
.ct__di { min-width: 0; padding: 30px calc(var(--inset) + 16px) 34px; background: var(--tint); }
.ct__di--wide { grid-column: span 2; }
.ct__di dt { display: flex; align-items: center; gap: 12px; font: 500 15px/1.3 var(--sans); color: var(--navy); }
.ct__dico { display: inline-grid; flex: 0 0 auto; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line-2); border-radius: 6px; background: #fff; color: var(--gold-2); }
.ct__dico svg { width: 18px; height: 18px; }
.ct__di dd { margin: 20px 0 0; }
.ct__sub { display: flex; align-items: center; gap: 12px; margin: 24px 0 16px; padding-top: 24px; border-top: 1px solid var(--line); font: 500 15px/1.3 var(--sans); color: var(--navy); }
.ct__val { font: 330 clamp(21px, 1.9vw, 26px)/1.25 var(--serif); letter-spacing: -.01em; color: var(--navy); overflow-wrap: anywhere;
text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color .2s var(--ease), text-decoration-color .2s var(--ease); }
.ct__val:hover { color: var(--gold-ink); text-decoration-color: currentColor; }
.ct__addr { font: 400 16.5px/1.6 var(--sans); font-style: normal; color: var(--ink); }
.ct__dir { margin-top: 14px; }
.ct__social { display: flex; flex-wrap: wrap; gap: 10px; }
.ct__social a { display: inline-flex; align-items: center; gap: 9px; height: 42px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 6px; background: #fff;
font: 500 15px/1 var(--sans); color: var(--navy); transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.ct__social a:hover { border-color: var(--navy); }
.ct__social svg { width: 18px; height: 18px; color: var(--gold-2); }
.ct__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px clamp(24px, 4vw, 64px); }
.ct__group h3 { padding-bottom: 12px; border-bottom: 1px solid var(--line-2); font: 600 14px/1.3 var(--sans); letter-spacing: .01em; color: var(--slate); }
.ct__group a { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 10px 2px; border-bottom: 1px solid var(--line);
font: 500 16px/1.3 var(--sans); color: var(--navy); transition: color .2s var(--ease); }
.ct__group a > svg:first-child { flex: 0 0 auto; width: 18px; height: 18px; color: var(--gold-2); }
.ct__group a span { flex: 1; min-width: 0; }
.ct__group a:hover { color: var(--gold-ink); }
.ct__group a:hover .arrow__line, .ct__pointer:hover .arrow__line { opacity: 1; }
.ct__group a:hover .arrow__tip, .ct__pointer:hover .arrow__tip { transform: translateX(3px); }
.ct__pointer { display: flex; align-items: center; gap: 16px; margin-top: 44px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 8px; background: var(--tint);
transition: border-color .2s var(--ease); }
.ct__pointer:hover { border-color: var(--gold); }
.ct__ptext { flex: 1; min-width: 0; font: 330 clamp(18px, 1.6vw, 21px)/1.35 var(--serif); color: var(--navy); text-wrap: balance; }
.ct__pmore { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; font: 600 15px/1.4 var(--sans); color: var(--gold-ink); }
@media (max-width: 1180px) {
.ct__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); column-gap: 48px; }
}
@media (max-width: 1100px) {
.ct__dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
.ct { --st-h: 44px; --st-drop: 8.75vw; }
.ct__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "intro" "card" "checks"; }
.ct__card { margin-top: 36px; }
.ct__checks { margin-top: 40px; }
}
@media (max-width: 640px) {
.ct { --st-h: 32px; }
.ct > .frame { padding-top: calc(var(--st-h) + var(--st-drop) + 36px); }
.ct__card { margin-inline: -4px; padding: 22px 18px 24px; }
.ct__form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.ct__dl { grid-template-columns: minmax(0, 1fr); }
.ct__di--wide { grid-column: auto; }
.ct__di { padding: 26px calc(var(--inset) + 12px) 28px; }
.ct__groups { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.ct__pointer { flex-wrap: wrap; padding: 18px; }
.ct__pmore { flex-basis: 100%; padding-left: 52px; }
}
.ct__multi-box { position: relative; }
.ct__multi-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-right: 14px; text-align: left; cursor: pointer; }
.ct__multi-btn svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--navy); transition: transform .25s var(--ease); }
.ct__multi.is-open .ct__multi-btn svg { transform: rotate(180deg); }
.ct__multi-val { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.ct__multi-val.is-empty { color: var(--soft); }
.ct__multi-list { margin: 0; padding: 0; border: 0; min-width: 0; }
.ct__multi-legend { float: left; width: 100%; padding: 0; margin-bottom: 8px; font: 500 13px/1.3 var(--sans); color: var(--slate); }
.ct__opts { clear: both; }
.ct__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 8px; }
.ct__opt { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 6px; font: 400 15px/1.3 var(--sans); color: var(--ink); cursor: pointer; }
.ct__opt:hover { background: var(--tint); }
.ct__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ct__box { display: grid; place-items: center; flex: 0 0 auto; width: 18px; height: 18px; border: 1.5px solid rgba(20, 33, 61, .38); border-radius: 4px; background: #fff;
transition: background-color .15s var(--ease), border-color .15s var(--ease); }
.ct__box svg { width: 12px; height: 12px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.ct__opt input:checked + .ct__box { border-color: var(--navy); background: var(--navy); }
.ct__opt input:checked + .ct__box svg { opacity: 1; }
.ct__opt input:focus-visible + .ct__box { outline: 2px solid var(--navy); outline-offset: 2px; }
.ct__multi-done { display: none; }
html:not(.js) .ct__multi-btn { display: none; }
.js .ct__multi-list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 20; display: none; padding: 12px 10px 10px;
border: 1px solid var(--line-2); border-radius: 8px; background: #fff; box-shadow: 0 18px 40px -16px rgba(13, 23, 48, .35); }
.js .ct__multi.is-open .ct__multi-list { display: block; }
.js .ct__multi-legend { padding: 0 10px; }
.js .ct__multi-done { display: block; width: 100%; margin-top: 8px; padding: 10px; border: 0; border-radius: 6px; background: var(--navy);
font: 500 14.5px/1 var(--sans); color: #fff; cursor: pointer; }
.js .ct__multi-done:hover { background: var(--navy-2, #1E2D52); }
.ct__multi-btn[aria-invalid="true"] { border-color: var(--amber); box-shadow: 0 0 0 3px rgba(217, 151, 58, .14); }
@media (max-width: 560px) { .ct__opts { grid-template-columns: minmax(0, 1fr); } }
.ct__hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ct__alert { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 8px; padding: 12px 14px; border: 1px solid rgba(217, 151, 58, .45); border-radius: 6px;
background: rgba(217, 151, 58, .08); font: 500 14px/1.5 var(--sans); color: var(--gold-ink); }
.ct__alert svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; fill: none; stroke: var(--amber); stroke-width: 1.6; stroke-linecap: round; }
.ct__spin { display: none; flex: 0 0 auto; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%;
animation: ct-spin .8s linear infinite; }
.ct__submit { justify-content: center; }
.ct__form.is-sending .ct__spin { display: inline-block; }
.ct__form.is-sending .ct__submit .arrow { display: none; }
.ct__form.is-sending .ct__submit { background: var(--navy-2); cursor: progress; }
@keyframes ct-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ct__spin { animation-duration: 2.4s; } }
.ct__done-mode { display: contents; }
.ct__done .ct__done-more { font-size: 15px; }
.ct__done .ct__done-note { display: flex; align-items: flex-start; gap: 9px; font: 500 15px/1.5 var(--sans); color: var(--navy); }
.ct__done-note svg { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; color: var(--gold-2); }
.ct__flash { display: none; gap: 6px; margin-bottom: 24px; padding: 16px 18px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--tint); }
.ct__flash:target { display: grid; }
.ct__flash:focus { outline: none; }
.ct__flash--err { border-color: rgba(217, 151, 58, .45); background: rgba(217, 151, 58, .08); }
.ct__flash-title { display: flex; align-items: center; gap: 8px; font: 500 16px/1.35 var(--sans); color: var(--navy); }
.ct__flash-title svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--gold-2); }
.ct__flash p + p { font-size: 15px; line-height: 1.55; color: var(--slate); }
.ct__flash a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(201, 162, 75, .7); text-underline-offset: 3px; }
.js .ct__flash { display: none !important; }
.ab-hero-band, .ab-who-band, .ab-vm-band, .ab-team-band, .ab-next-band {
--ab-r: 6px;
--ab-link: rgba(169, 132, 58, .55);
}
.ab-pic { position: relative; overflow: hidden; border-radius: var(--ab-r); background: var(--tint-2); }
.ab-pic img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.js .ab-pic[data-reveal]:not(.is-in) img { transform: scale(1.06); }
.no-motion .ab-pic img { transform: none !important; }
.ab-hero-band > .frame { padding-block: clamp(56px, 7vw, 96px); }
.ab-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "head media" "years media";
grid-template-rows: auto 1fr; column-gap: clamp(40px, 5.5vw, 88px); }
.ab-hero__head { grid-area: head; }
.ab-hero__head .eyebrow { margin-bottom: 22px; }
.ab-hero__title { max-width: 700px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.1; letter-spacing: -.02em; }
.ab-hero__title .soft { display: block; max-width: 640px; margin-top: .5em; font-size: .64em; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; }
.ab-hero__years { grid-area: years; align-self: end; display: flex; align-items: flex-end; gap: clamp(16px, 2vw, 28px); margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.ab-hero__num { flex: 0 0 auto; padding-right: .04em; font: 300 clamp(104px, 12.5vw, 184px)/.78 var(--serif); font-variant-numeric: lining-nums; letter-spacing: -.055em; }
.ab-hero__cap { max-width: 170px; padding-bottom: .2em; font: 500 15px/1.4 var(--sans); color: var(--navy); }
.ab-hero__cap::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 12px; background: var(--gold-2); }
.ab-hero__media { grid-area: media; min-height: clamp(440px, 44vw, 640px); }
.ab-hero__media img { position: absolute; inset: 0; object-position: 30% 50%; }
.ab-who-band > .frame { padding-block: clamp(56px, 6vw, 84px); }
.ab-who__open, .ab-who__spread, .ab-who__close { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; }
.ab-who__open { align-items: start; }
.ab-who__head { grid-column: 1 / span 4; }
.ab-who__head .eyebrow { margin-bottom: 22px; }
.ab-who__title { letter-spacing: -.02em; }
.ab-who__title .soft { max-width: 420px; }
.ab-who__lead { grid-column: 5 / -1; margin-top: 52px; font: 330 clamp(22px, 2.15vw, 31px)/1.32 var(--serif); letter-spacing: -.014em; color: var(--navy); text-wrap: pretty; }
.ab-who__lead::first-letter { float: left; margin: .05em .1em 0 -.02em; font-size: 2.9em; line-height: .8; font-weight: 300; }
.ab-who__lead-em { font-style: italic; color: var(--gold-ink); }
.ab-who__spread { grid-template-areas: "m m m m n n n n s s s s" "m m m m a a a a a a a a"; row-gap: 40px; margin-top: clamp(44px, 4.6vw, 64px); }
.ab-who__media { grid-area: m; position: relative; min-height: 460px; }
.ab-who__ch--network { grid-area: n; }
.ab-who__ch--services { grid-area: s; }
.ab-who__ch--approach { grid-area: a; }
.ab-who__pic { position: absolute; }
.ab-who__pic img { position: absolute; inset: 0; }
.ab-who__pic--main { top: 0; left: 0; width: 84%; bottom: 72px; }
.ab-who__pic--main img { object-position: 60% 50%; }
.ab-who__pic--inset { right: 0; bottom: 0; width: 60%; aspect-ratio: 3 / 2; box-shadow: 0 0 0 6px var(--paper), var(--shadow-card); }
.ab-who__pic--inset img { object-position: 50% 70%; }
.ab-who__kicker { position: relative; display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; padding-top: 16px;
border-top: 1px solid var(--line); font: 600 15px/1.3 var(--sans); letter-spacing: 0; color: var(--navy); }
.ab-who__kicker::before { content: ''; position: absolute; left: 0; top: -1px; width: 44px; height: 1px; background: var(--gold-2); transform-origin: left; transition: transform .9s var(--ease); }
.ab-who__num { min-width: 1.2em; font: 300 30px/1 var(--serif); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.02em; color: var(--gold-2); }
.ab-who__body { font: 400 16.5px/1.68 var(--sans); color: var(--slate); text-wrap: pretty; }
.ab-who__body strong { font-weight: 500; color: var(--navy); }
.ab-who__body--lg { max-width: 760px; font-size: clamp(17px, 1.4vw, 19.5px); line-height: 1.62; color: var(--ink); }
.ab-who__verb { font: italic 400 1.12em/1 var(--serif); letter-spacing: -.005em; color: var(--gold-ink); }
.ab-who__svc strong { padding-inline: 1px; background: linear-gradient(rgba(201, 162, 75, .2), rgba(201, 162, 75, .2)) 0 78% / 100% .62em no-repeat;
-webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size .7s var(--ease) calc(var(--i, 0) * 90ms); }
.ab-who__close { align-items: start; margin-top: clamp(44px, 4.6vw, 64px); }
.ab-who__ch--belief { grid-column: 1 / span 8; padding-top: 28px; }
.ab-who__quote { max-width: 720px; font: italic 300 clamp(22px, 2.15vw, 30px)/1.34 var(--serif); letter-spacing: -.012em; color: var(--navy); text-wrap: pretty; }
.ab-who__quote .grad { background-image: linear-gradient(100deg, #7E5F22 0%, #906F2E 50%, #866626 100%); }
.ab-who__promise { --focus: var(--gold); grid-column: 9 / span 4; padding: 4px 28px 28px; border-radius: var(--ab-r); background: var(--navy-3); color: #fff; }
.ab-who__promise .ab-who__kicker { margin: 24px -28px 14px; padding-inline: 28px; border-top-color: var(--line-light); color: #fff; }
.ab-who__promise .ab-who__kicker::before { left: 28px; background: var(--gold); }
.ab-who__promise .ab-who__num { color: var(--gold); }
.ab-who__promise-text { font: 400 16.5px/1.66 var(--sans); color: rgba(255, 255, 255, .76); text-wrap: pretty; }
.ab-who__promise-text strong { font-weight: 500; color: #fff; }
.ab-who__promise-more { margin-top: 20px; }
.ab-who__promise .link-arrow { color: var(--gold); }
.ab-who__promise .link-arrow:hover { color: #fff; }
@media screen {
.js:not(.no-motion) .ab-who__kicker[data-ab-draw]:not(.is-drawn)::before { transform: scaleX(0); }
.js:not(.no-motion) .ab-who__svc[data-ab-draw]:not(.is-drawn) strong { background-size: 0% .62em; }
}
@media (max-width: 1099px) {
.ab-who__spread { grid-template-areas: "m m m m m n n n n n n n" "m m m m m s s s s s s s" "a a a a a a a a a a a a"; column-gap: 28px; row-gap: 36px; }
.ab-who__media { min-height: 0; }
.ab-who__pic--main img { object-position: 78% 50%; }
.ab-who__ch--belief { grid-column: 1 / span 7; }
.ab-who__promise { grid-column: 8 / -1; }
}
@media (max-width: 899px) {
.ab-who__open, .ab-who__close { grid-template-columns: minmax(0, 1fr); }
.ab-who__head, .ab-who__lead, .ab-who__ch--belief, .ab-who__promise { grid-column: 1 / -1; }
.ab-who__ch--belief { padding-top: 0; }
.ab-who__lead { margin-top: 28px; }
.ab-who__promise { margin-top: 40px; }
}
@media (min-width: 700px) and (max-width: 899px) {
.ab-who__pic--main { width: 100%; bottom: 84px; }
.ab-who__pic--main img { object-position: 60% 50%; }
.ab-who__pic--inset { width: 70%; }
}
@media (max-width: 699px) {
.ab-who__spread { grid-template-columns: minmax(0, 1fr); grid-template-areas: "m" "n" "s" "a"; row-gap: 32px; margin-top: 36px; }
.ab-who__media { aspect-ratio: 6 / 5; margin-bottom: 4px; }
.ab-who__pic--main { width: 74%; bottom: 20%; }
.ab-who__pic--main img { object-position: 28% 50%; }
.ab-who__pic--inset { width: 50%; }
.ab-who__kicker { margin-bottom: 10px; padding-top: 14px; }
.ab-who__num { font-size: 26px; }
.ab-who__body { font-size: 16px; line-height: 1.65; }
.ab-who__body--lg { font-size: 17px; }
.ab-who__close { margin-top: 32px; }
.ab-who__promise { margin-top: 32px; padding: 4px 22px 24px; }
.ab-who__promise .ab-who__kicker { margin-inline: -22px; padding-inline: 22px; }
.ab-who__promise .ab-who__kicker::before { left: 22px; }
}
.ab-vm-band > .frame { padding-block: clamp(48px, 5.5vw, 80px); }
.ab-vm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ab-vm__card { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: auto 1fr;
column-gap: 28px; min-height: 460px; padding: clamp(28px, 3vw, 44px); border-radius: var(--ab-r); }
.ab-vm__card--vision { background: linear-gradient(160deg, var(--navy-2) 0%, var(--navy-3) 72%); color: #fff; }
.ab-vm__card--mission { border: 1px solid var(--line); background: linear-gradient(160deg, #fff 0%, var(--tint-2) 100%); color: var(--navy); }
.ab-vm__title { position: relative; z-index: 1; grid-column: 1; font: 400 clamp(34px, 3vw, 46px)/1.05 var(--serif); letter-spacing: -.02em; }
.ab-vm__card--vision .ab-vm__title { background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ab-vm__text { position: relative; z-index: 1; grid-column: 2; grid-row: 1 / span 2; display: grid; align-content: start; gap: 14px;
padding-top: .35em; font: 400 16px/1.65 var(--sans); text-wrap: pretty; }
.ab-vm__card--vision .ab-vm__text { color: rgba(255, 255, 255, .82); }
.ab-vm__card--mission .ab-vm__text { color: var(--slate); }
.ab-vm__art { position: absolute; left: -24px; bottom: -36px; width: min(44%, 240px); aspect-ratio: 1; pointer-events: none; }
.ab-vm__art svg { display: block; width: 100%; height: 100%; stroke-width: 1.4; }
.ab-vm__card--vision .ab-vm__art { color: var(--gold); }
.ab-vm__card--mission .ab-vm__art { color: var(--navy); }
.ab-vm__word { position: absolute; left: 8px; top: 22px; writing-mode: vertical-rl; transform: rotate(180deg); pointer-events: none;
font: 700 clamp(64px, 5.6vw, 80px)/1 var(--sans); letter-spacing: .02em; text-transform: uppercase; color: transparent; }
.ab-vm__card--vision .ab-vm__word { -webkit-text-stroke: 1px rgba(255, 255, 255, .09); }
.ab-vm__card--mission .ab-vm__word { -webkit-text-stroke: 1px rgba(20, 33, 61, .1); }
.ab-vm__art svg * { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s var(--ease-in-out) .35s; }
@media screen { .js:not(.no-motion) .ab-vm__card:not(.is-in) .ab-vm__art svg * { stroke-dashoffset: 1; } }
.ab-team-head .eyebrow { margin-bottom: 22px; }
.ab-strip { margin-top: clamp(40px, 5vw, 64px); aspect-ratio: 1232 / 560; }
.ab-strip img { object-position: 50% 60%; }
.ab-org { --ly: 10px;
--tx: 4px;
--ind: 30px;
margin-top: clamp(48px, 6vw, 80px); }
.ab-tier { --pb: 48px; --cy: var(--ly); position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 48px; padding-bottom: var(--pb); }
.ab-tier:last-child { --pb: 0px; }
.ab-tier__name { position: relative; padding-left: var(--ind); font: 600 14px/20px var(--sans); letter-spacing: 0; color: var(--navy); }
.ab-tier::before, .ab-tier::after { content: ''; position: absolute; left: var(--tx); pointer-events: none; }
.ab-tier--top::before { top: var(--cy); bottom: 0; width: 1px; background: var(--ab-link); transform-origin: top; }
.ab-tier--mid::before { top: 0; bottom: 0; width: 1px; background: var(--ab-link); transform-origin: top; }
.ab-tier--mid::after { top: var(--cy); width: calc(var(--ind) - var(--tx) - 8px); height: 1px; background: var(--ab-link); transform-origin: left; }
.ab-tier--end::before { top: 0; height: calc(var(--cy) + 1px); width: calc(var(--ind) - var(--tx) - 8px); border-left: 1px solid var(--ab-link);
border-bottom: 1px solid var(--ab-link); border-bottom-left-radius: 8px; transform-origin: top; }
.ab-tier--top .ab-tier__name::before {
content: ''; position: absolute; left: calc(var(--tx) - 4px); top: calc(var(--ly) - 4.5px); width: 9px; height: 9px;
border: 1px solid var(--gold-2); border-radius: 50%; background: var(--tint); box-sizing: border-box; }
.ab-tier--mid .ab-tier__name::before, .ab-tier--end .ab-tier__name::before {
content: ''; position: absolute; left: calc(var(--ind) - 11px); top: calc(var(--ly) - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--gold-2); }
.ab-tier__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-right: 12px; container-type: inline-size; }
.ab-row { display: contents; }
.ab-team { position: relative; grid-column: span 3; padding: 10px 12px 12px; }
.ab-team::before { content: ''; position: absolute; inset: 0; border: 1px dashed var(--ab-link); border-radius: var(--ab-r); pointer-events: none; }
.ab-team::after { content: ''; position: absolute; right: 100%; top: calc((100cqw - 48px) / 8 + 16px); width: 16px; height: 1px; background: var(--ab-link); transform-origin: left; }
.ab-team__label { margin: 0 2px 10px; font: 600 12.5px/1.4 var(--sans); color: var(--gold-ink); }
.ab-team__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ab-person { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--ab-r); background: #fff; }
.ab-person__photo { position: relative; display: grid; place-items: center; aspect-ratio: 1; container-type: inline-size;
background: radial-gradient(120% 95% at 50% 0%, #FCF6E9 0%, var(--tint-2) 100%); }
.ab-person__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.ab-person__initials { display: grid; place-items: center; width: 46cqw; aspect-ratio: 1; border: 1px solid rgba(201, 162, 75, .75); border-radius: 50%;
font: 300 17cqw/1 var(--serif); letter-spacing: .01em; color: var(--navy); }
.ab-person__body { padding: 14px 16px 16px; }
.ab-person__name { font: 400 18px/1.25 var(--serif); letter-spacing: -.01em; color: var(--navy); }
.ab-person__role { min-height: 2.9em; margin-top: 5px; font-size: 13.5px; line-height: 1.45; color: var(--slate); text-wrap: balance; }
@media (min-width: 900px) {
.ab-tier__cards { display: block; padding-right: 0; }
.ab-row { --w: min(240px, calc((100cqw - 100px) / 4)); display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 24px; }
.ab-row > .ab-person { flex: 0 0 var(--w); }
.ab-tier--end .ab-row { max-width: calc(3 * var(--w) + 48px); margin-inline: auto; row-gap: 36px; }
.ab-tier--top .ab-row > .ab-person { flex: 0 0 calc(var(--w) * 1.9); flex-direction: row; }
.ab-tier--top .ab-person__photo { flex: 0 0 45%; }
.ab-tier--top .ab-person__body { align-self: center; padding: 20px clamp(18px, 2vw, 28px); }
.ab-team { flex: 0 0 auto; margin: 0 12px 0 16px; padding: 30px 0 0; }
.ab-team::before { inset: -12px; }
.ab-team::after { right: calc(100% + 12px); width: 28px; top: calc(30px + var(--w) / 2); }
.ab-team__label { position: absolute; top: 0; left: 0; margin: 0; }
.ab-team__cards { grid-template-columns: repeat(3, var(--w)); gap: 24px; }
.ab-person__body { padding-inline: 14px; }
.ab-person__name { font-size: clamp(13px, calc((var(--w) - 28px) / 8.3), 18px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ab-person__role { font-size: clamp(12px, calc((var(--w) - 28px) / 9.3), 13.5px); }
.ab-tier--top .ab-person__name { font-size: clamp(18px, 1.7vw, 24px); white-space: normal; }
.ab-tier--top .ab-person__role { min-height: 0; margin-top: 6px; font-size: 14.5px; }
@container (max-width: 990px) {
.ab-person__role { min-height: 4.35em; }
.ab-tier--top .ab-person__role { min-height: 0; }
}
}
@media (min-width: 1200px) {
.ab-tier { grid-template-columns: 160px minmax(0, 1fr); column-gap: 32px; align-items: center; --cy: calc((100% - var(--pb)) / 2); }
.ab-tier--top .ab-tier__name::before { top: calc(50% - 4.5px); }
.ab-tier--mid .ab-tier__name::before, .ab-tier--end .ab-tier__name::before { top: calc(50% - 2px); }
}
.ab-tier::before, .ab-tier::after, .ab-team::before, .ab-team::after {
transition: transform .7s var(--ease-in-out), opacity .6s var(--ease); }
.js .ab-org:not(.is-drawn) .ab-tier::before { transform: scaleY(0); }
.js .ab-org:not(.is-drawn) .ab-tier::after, .js .ab-org:not(.is-drawn) .ab-team::after { transform: scaleX(0); }
.js .ab-org:not(.is-drawn) .ab-team::before { opacity: 0; }
.ab-org.is-drawn .ab-tier--top::before { transition-delay: 0ms; }
.ab-org.is-drawn .ab-tier--mid::before { transition-delay: 450ms; transition-timing-function: linear; }
.ab-org.is-drawn .ab-tier--mid::after { transition-delay: 800ms; }
.ab-org.is-drawn .ab-team::after { transition-delay: 1100ms; }
.ab-org.is-drawn .ab-team::before { transition-delay: 1300ms; }
.ab-org.is-drawn .ab-tier--end::before { transition-delay: 1150ms; transition-duration: .35s; }
.ab-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ab-link { position: relative; display: flex; flex-direction: column; gap: 20px; padding: clamp(24px, 2.4vw, 32px); border: 1px solid var(--line); border-radius: var(--ab-r);
background: #fff; transition: border-color .3s var(--ease), box-shadow .3s var(--ease); }
.ab-link:hover { border-color: var(--line-2); box-shadow: var(--shadow-card); }
.ab-link__ic { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--tint); color: var(--gold-2); }
.ab-link__ic svg { width: 18px; height: 18px; }
.ab-link__title { max-width: 440px; font: 330 clamp(22px, 2.1vw, 28px)/1.2 var(--serif); letter-spacing: -.015em; color: var(--navy); text-wrap: pretty; }
.ab-link__title .soft { display: block; margin-top: .2em; color: var(--soft); }
.ab-link__more { margin-top: auto; }
.ab-link__more a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.ab-link:hover .link-arrow { color: var(--navy); }
.ab-link:hover .arrow__line { opacity: 1; }
.ab-link:hover .arrow__tip { transform: translateX(3px); }
@supports selector(:has(a)) {
.ab-link__more a:focus-visible { outline: none; }
.ab-link:has(a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
}
.ab-close { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px;
margin-top: clamp(56px, 6.5vw, 88px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--line); }
.ab-close__title { font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -.02em; }
@media (max-width: 1099px) {
.ab-vm { grid-template-columns: minmax(0, 1fr); }
.ab-vm__card { min-height: 360px; }
.ab-vm__art { width: 210px; }
}
@media (max-width: 599px) {
.ab-vm__card { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 16px; min-height: 0; padding-bottom: 168px; }
.ab-vm__title, .ab-vm__text { grid-column: 1; grid-row: auto; }
.ab-vm__text { padding-top: 0; font-size: 15.5px; }
.ab-vm__art { width: 180px; bottom: -30px; }
.ab-vm__word { display: none; }
}
@media (max-width: 1199px) {
.ab-tier { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
.ab-tier__cards { padding-left: var(--ind); }
.ab-tier--mid { --pb: 60px; }
}
@media (min-width: 900px) and (max-width: 1199px) {
.ab-tier--mid { row-gap: 28px; }
}
@media (max-width: 899px) {
.ab-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "head head" "years media"; grid-template-rows: auto auto; column-gap: 24px; }
.ab-hero__years { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 40px; }
.ab-hero__media { min-height: 0; margin-top: 40px; aspect-ratio: 4 / 5; }
.ab-strip { aspect-ratio: 16 / 7; }
.ab-tier__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ab-person { flex-direction: row; }
.ab-person__photo { flex: 0 0 88px; width: 88px; aspect-ratio: auto; min-height: 88px; }
.ab-person__body { align-self: center; padding: 12px 14px; }
.ab-person__name { font-size: 17px; }
.ab-person__role { margin-top: 3px; font-size: 13px; }
.ab-team { grid-column: 1 / -1; margin-top: 14px; padding: 30px 0 0; }
.ab-team::before { inset: -10px -12px -12px; }
.ab-team__label { position: absolute; top: 0; left: 0; margin: 0; }
.ab-team__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ab-team::after { right: auto; left: 44px; top: -26px; width: 1px; height: 16px; transform-origin: top; }
.js .ab-org:not(.is-drawn) .ab-team::after { transform: scaleY(0); }
}
@media (max-width: 739px) {
.ab-tier__cards, .ab-team__cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
.ab-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "years" "media"; }
.ab-hero__title { font-size: clamp(29px, 8vw, 34px); }
.ab-hero__years { flex-direction: row; align-items: flex-end; margin-top: 36px; padding-top: 24px; }
.ab-hero__num { font-size: clamp(92px, 28vw, 120px); }
.ab-hero__media { margin-top: 32px; aspect-ratio: 4 / 3; }
.ab-links { grid-template-columns: minmax(0, 1fr); }
.ab-strip { aspect-ratio: 9 / 4; }
.ab-strip img { object-position: 50% 50%; }
.ab-org { --ind: 24px; }
.ab-tier__cards, .ab-team__cards { grid-template-columns: minmax(0, 1fr); }
.ab-person__photo { flex-basis: 80px; width: 80px; min-height: 80px; }
.ab-person__body { padding-block: 9px; }
.ab-team::after { left: 40px; }
.ab-close { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 374px) {
.ab-person__body { padding-inline: 10px; }
}
@media (max-width: 349px) {
.ab-person__role { min-height: 4.35em; }
}
.legal-head > .frame { padding-block: clamp(56px, 7vw, 96px) clamp(40px, 4.5vw, 56px); }
.legal-head__text { max-width: 760px; }
.legal-head .eyebrow { margin-bottom: 16px; }
.legal-head__title { font: 330 clamp(38px, 5vw, 64px)/1.06 var(--serif); letter-spacing: -.022em; color: var(--navy); text-wrap: balance; }
.legal-head__intro { max-width: 680px; margin-top: 24px; font-size: 18px; line-height: 1.65; color: var(--slate); text-wrap: pretty; }
.legal-head__date { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 14px; line-height: 1.4; color: var(--slate); }
.legal-head__date svg { width: 16px; height: 16px; color: var(--gold-2); }
.legal-head__date time { color: var(--navy); font-weight: 500; }
.legal-switch { display: inline-flex; max-width: 100%; margin-top: clamp(32px, 4vw, 48px); padding: 4px; gap: 2px;
border: 1px solid var(--line); border-radius: 9px; background: var(--tint); }
.legal-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 16px; border-radius: 6px;
font: 500 14.5px/1.25 var(--sans); color: var(--slate); text-align: center; transition: color .2s var(--ease), background-color .2s var(--ease); }
.legal-switch a:hover { color: var(--navy); background: rgba(255, 255, 255, .6); }
.legal-switch a[aria-current="page"] { background: #fff; color: var(--navy); box-shadow: 0 1px 2px rgba(13, 23, 48, .08), 0 0 0 1px var(--line); }
.legal-body > .frame { padding-block: clamp(40px, 5vw, 72px) var(--pad); }
.legal { position: relative; }
.legal__doc { max-width: 680px; min-width: 0; }
.legal__sec + .legal__sec { margin-top: 52px; }
.legal__sec h2 { position: relative; scroll-margin-top: 28px; font: 400 clamp(22px, 2vw, 26px)/1.25 var(--serif); letter-spacing: -.012em; color: var(--navy); text-wrap: balance; }
.legal__n { margin-right: .3em; color: var(--gold-2); font-variant-numeric: tabular-nums; }
.legal__sec p, .legal__sec li { font-size: 16.5px; line-height: 1.75; color: var(--slate); text-wrap: pretty; }
@media (max-width: 640px) { .legal__sec li { text-wrap: balance; } }
.legal__sec > * + * { margin-top: 16px; }
.legal__sec h2 + * { margin-top: 18px; }
.legal__sec ul { display: grid; gap: 10px; }
.legal__sec li { position: relative; padding-left: 26px; }
.legal__sec li::before { content: ''; position: absolute; left: 4px; top: .86em; width: 10px; height: 1.5px; border-radius: 1px; background: var(--gold-2); }
.legal__sec a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(169, 132, 58, .55); text-decoration-thickness: 1px; text-underline-offset: 3px;
transition: color .2s var(--ease), text-decoration-color .2s var(--ease); }
.legal__sec a:hover { color: var(--gold-ink); text-decoration-color: currentColor; }
.legal__sec .legal__note { margin-top: 24px; padding: 18px 22px 20px; border-left: 2px solid var(--gold); border-radius: 0 6px 6px 0; background: var(--tint); }
.legal__sec .legal__note-k { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; font: 600 12.5px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gold-ink); }
.legal__note-k svg { width: 15px; height: 15px; }
.legal__sec .legal__note p:not(.legal__note-k) { color: var(--ink); }
.legal__toc-k { font: 600 12px/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.legal__toc-list { position: relative; }
.legal__toc-list a { display: flex; gap: 12px; padding: 7px 0 7px 18px; font: 400 14.5px/1.4 var(--sans); color: var(--slate); transition: color .2s var(--ease); }
.legal__toc-list a:hover { color: var(--navy); }
.legal__toc-list a.is-active { color: var(--navy); font-weight: 500; }
.legal__toc-n { flex: 0 0 1.4em; color: var(--slate); font-variant-numeric: tabular-nums; }
.legal__toc-t { text-wrap: balance; }
.legal__toc-list a.is-active .legal__toc-n { color: var(--gold-ink); }
.legal__toc-bar { position: absolute; left: -1px; top: 0; width: 2px; height: var(--h, 0); border-radius: 2px; background: var(--gold); opacity: 0;
transform: translateY(var(--y, 0)); transition: transform .35s var(--ease), height .35s var(--ease), opacity .2s var(--ease); pointer-events: none; }
.legal__toc-bar.is-on { opacity: 1; }
.legal__toc-btn { display: none; }
@media (min-width: 1001px) {
.legal { display: grid; grid-template-columns: minmax(200px, 260px) minmax(0, 680px); column-gap: clamp(72px, 8vw, 128px); align-items: start; }
.legal__toc { position: sticky; top: 32px; max-height: calc(100vh - 64px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.legal__toc-label { margin-bottom: 14px; }
.legal__toc-list { border-left: 1px solid var(--line-2); }
.legal__n { position: absolute; right: 100%; top: 0; margin-right: 22px; }
}
@media (max-width: 1000px) {
.legal__toc { margin-bottom: 36px; }
.legal__toc-label { margin-bottom: 10px; }
.legal__toc-list { border-left: 1px solid var(--line-2); }
.js .legal__toc { position: sticky; top: 0; z-index: 20; margin-inline: calc(var(--inset) * -1); }
.js .legal__toc-label { display: none; }
.js .legal__toc-btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px var(--inset); border: 0;
border-bottom: 1px solid var(--line); background: rgba(255, 253, 249, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); text-align: left; }
.js .legal__toc-btn .legal__toc-k { flex: 0 0 auto; }
.legal__toc-now { flex: 1; min-width: 0; overflow: hidden; font: 500 14.5px/1.3 var(--sans); color: var(--navy); white-space: nowrap; text-overflow: ellipsis; }
.legal__toc-chev { flex: 0 0 auto; width: 18px; height: 18px; color: var(--slate); transition: transform .25s var(--ease); }
.legal__toc.is-open .legal__toc-chev { transform: rotate(180deg); }
.js .legal__toc-list { position: absolute; top: calc(100% + 8px); left: var(--inset); right: var(--inset); max-height: min(60vh, 480px); overflow-y: auto; overscroll-behavior: contain;
padding: 8px 8px 8px 0; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-float);
opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s var(--ease), transform .25s var(--ease), visibility 0s .25s; }
.js .legal__toc.is-open .legal__toc-list { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.js .legal__toc-list a { padding-block: 9px; }
.legal__toc-bar { left: 0; }
.js .legal__sec h2 { scroll-margin-top: 76px; }
}
@media (max-width: 640px) {
.legal-head__intro { font-size: 16.5px; }
.legal-switch { display: flex; width: 100%; }
.legal-switch a { flex: 1 1 auto; padding: 8px 10px; font-size: 14px; }
.legal__sec + .legal__sec { margin-top: 40px; }
.legal__sec p, .legal__sec li { font-size: 16px; line-height: 1.7; }
.js .legal__toc-btn .legal__toc-k { display: none; }
.legal__toc-now::before { content: 'On This Page \00b7  '; color: var(--slate); font-weight: 400; }
}
@media print {
body:has(.legal), .legal-head, .legal-body { background: #fff; color: #000; }
body:has(.legal) .nav, body:has(.legal) .mnav, body:has(.legal) .foot, body:has(.legal) .skip, body:has(.legal) .loader,
.legal-switch, .legal__toc { display: none !important; }
body:has(.legal)::after { display: none; }
.legal-head > .frame, .legal-body > .frame { width: auto; padding: 0; border: 0; }
.legal-head > .frame::before, .legal-head > .frame::after, .legal-body > .frame::before, .legal-body > .frame::after { display: none; }
.legal-head > .frame { padding-bottom: 18pt; margin-bottom: 18pt; border-bottom: 1px solid #bbb; }
.legal-head__title { font-size: 28pt; }
.legal-head__intro, .legal__sec p, .legal__sec li { font-size: 11pt; line-height: 1.55; color: #000; }
.legal { display: block; }
.legal__doc { max-width: none; }
.legal__n { position: static; margin-right: .3em; }
.legal__sec h2 { font-size: 15pt; break-after: avoid; page-break-after: avoid; }
.legal__sec + .legal__sec { margin-top: 18pt; }
.legal__sec p, .legal__sec li { orphans: 3; widows: 3; }
.legal__sec a { color: #000; text-decoration: none; }
.legal__sec .legal__note { break-inside: avoid; background: none; border-left-color: #999; }
}
.cl-head-band, .cl-wall-band, .cl-close-band { --cl-r: 6px; }
.cl-head-band > .frame { padding-block: clamp(56px, 7vw, 96px) clamp(48px, 5.5vw, 80px); }
.cl-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; column-gap: clamp(40px, 5.5vw, 88px); }
.cl-head .eyebrow { margin-bottom: 22px; }
.cl-head__title { max-width: 720px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.1; letter-spacing: -.02em; text-wrap: pretty; }
.cl-head__title .soft { display: block; max-width: 640px; margin-top: .5em; font-size: .64em; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; }
.cl-head__lede { max-width: 440px; padding-bottom: .35em; font: 300 clamp(17px, 1.35vw, 19px)/1.6 var(--sans); color: var(--ink); text-wrap: pretty; }
.cl-head__lede::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 18px; background: var(--gold-2); }
.cl-wall-band > .frame { padding-block: clamp(48px, 5.5vw, 80px); }
.cl-wall { --n: 6; --g: 16px; --k: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--g); }
.cl-more { margin-top: clamp(22px, 2.4vw, 32px); font: 500 15px/1.4 var(--sans); letter-spacing: .02em; color: var(--slate); text-align: center; }
.cl-tile { flex: 0 0 calc((100% - (var(--n) - 1) * var(--g)) / var(--n)); min-width: 0; display: grid; place-items: center;
aspect-ratio: 3 / 2; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--cl-r); background: var(--white);
box-shadow: 0 1px 2px rgba(13, 23, 48, .04);
transition: transform .45s var(--ease), border-color .3s var(--ease), box-shadow .45s var(--ease); }
.cl-tile img { width: calc(var(--w) * var(--k)); max-width: 100%; height: auto; }
@media (hover: hover) {
.cl-tile:hover { transform: translateY(-3px); border-color: rgba(169, 132, 58, .45); box-shadow: var(--shadow-card); }
}
.cl-close-band > .frame { padding-block: clamp(56px, 6.5vw, 88px); }
.cl-close { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 48px; }
.cl-close__text { max-width: 760px; }
.cl-close__title { font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.cl-close__line { max-width: 600px; margin-top: 16px; font-size: 17px; line-height: 1.6; color: var(--slate); text-wrap: pretty; }
@media (max-width: 1099px) { .cl-wall { --n: 4; } }
@media (max-width: 899px) {
.cl-head { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
.cl-head__lede { max-width: 620px; padding-bottom: 0; }
}
@media (max-width: 699px) { .cl-wall { --n: 3; --g: 12px; --k: .82; } .cl-tile { padding: 12px; } }
@media (max-width: 639px) {
.cl-head__title { font-size: clamp(29px, 8vw, 34px); text-wrap: balance; }
.cl-head__lede { font-size: 17px; }
.cl-close { align-items: flex-start; flex-direction: column; }
.cl-close__line { font-size: 16.5px; }
}
@media (max-width: 519px) { .cl-wall { --n: 2; --g: 10px; --k: .8; } .cl-tile { aspect-ratio: 9 / 5; } }
.nf-band > .frame { padding-block: clamp(64px, 8vw, 112px) clamp(64px, 7vw, 104px); }
.nf { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 32px clamp(32px, 5vw, 80px);
margin-bottom: clamp(48px, 5vw, 72px); padding-bottom: clamp(48px, 5vw, 72px); border-bottom: 1px solid var(--line); }
.nf .eyebrow { margin-bottom: 22px; }
.nf__title { max-width: 640px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.nf .btns { margin-top: 36px; }
.nf__face { align-self: center; width: clamp(150px, 15vw, 196px); margin-right: clamp(0px, 3vw, 48px); color: var(--navy); }
.nf__face svg { display: block; width: 100%; height: auto; }
.nf__face .face__eyes { animation: nf-eyes 1s .3s both; }
.nf__face .face__nose { animation: nf-nose 1s .3s both; }
.nf__face .face__mouth-l { animation: nf-mouth-l 1s .3s both; }
.nf__face .face__mouth-r { animation: nf-mouth-r 1s .3s both; }
.nf__face .face__lid { animation: nf-lid 4s 1.3s infinite both; }
.nf__face .face__pupil { animation: nf-pupil 4s 1.3s infinite both; }
.no-motion .nf__face .face__eyes { transform: translateY(15px); }
.no-motion .nf__face .face__nose { transform: translateY(22.5px); }
@keyframes nf-eyes { from { transform: translateY(112.5px); } to { transform: translateY(15px); } }
@keyframes nf-lid { 0%, 40%, 45%, 100% { transform: translateY(0); } 42.5% { transform: translateY(17.5px); } }
@keyframes nf-pupil {
0%, 37.5%, 40%, 45%, 87.5%, 100% { stroke-dashoffset: 0; transform: translate(0, 0); }
12.5%, 25%, 62.5%, 75% { transform: translate(-35px, 0); }
42.5% { stroke-dashoffset: 35; transform: translate(0, 17.5px); }
}
@keyframes nf-nose { from { transform: translate(0, 0); } to { transform: translate(0, 22.5px); } }
@keyframes nf-mouth-l { from, 50% { stroke-dashoffset: -102; } to { stroke-dashoffset: 0; } }
@keyframes nf-mouth-r { from, 50% { stroke-dashoffset: 102; } to { stroke-dashoffset: 0; } }
.nf__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nf__links h2 { padding-bottom: 12px; border-bottom: 1px solid var(--line-2); font: 600 14px/1.3 var(--sans); letter-spacing: .01em; color: var(--slate); }
@media (max-width: 640px) {
.nf { grid-template-columns: minmax(0, 1fr); }
.nf__face { order: -1; align-self: start; width: clamp(112px, 32vw, 140px); margin-right: 0; }
.nf__links { grid-template-columns: minmax(0, 1fr); }
}
.xp-head-band > .frame { padding-block: clamp(56px, 7vw, 96px) clamp(48px, 5.5vw, 80px); }
.xp-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; column-gap: clamp(40px, 5.5vw, 88px); }
.xp-head .eyebrow { margin-bottom: 22px; }
.xp-head__title { max-width: 720px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.1; letter-spacing: -.02em; }
.xp-head__l2 { display: block; }
.xp-head__lede { max-width: 440px; padding-bottom: .35em; font: 300 clamp(17px, 1.35vw, 19px)/1.6 var(--sans); color: var(--ink); text-wrap: pretty; }
.xp-head__lede::before { content: ''; display: block; width: 28px; height: 1px; margin-bottom: 18px; background: var(--gold-2); }
.xp-dir-band > .frame { padding-block: clamp(40px, 5vw, 64px) clamp(56px, 6.5vw, 96px); }
.xp-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: clamp(24px, 3vw, 36px); }
.xp-count { font: 500 15px/1.4 var(--sans); color: var(--navy); }
.xp-search { position: relative; flex: 0 1 380px; min-width: 0; }
.xp-search svg { position: absolute; left: 15px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--gold-2); pointer-events: none; }
.xp-search input { display: block; width: 100%; height: 48px; margin: 0; padding: 0 16px 0 44px; border: 1px solid rgba(20, 33, 61, .28); border-radius: 6px; background: #fff;
font: 400 15.5px/1 var(--sans); color: var(--ink); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.xp-search input::placeholder { color: var(--slate); opacity: 1; }
.xp-search input:hover { border-color: rgba(20, 33, 61, .48); }
.xp-search input:focus { outline: none; border-color: var(--gold-2); box-shadow: 0 0 0 3px rgba(201, 162, 75, .30); }
.xp-empty { margin-top: 8px; padding: 28px; border: 1px dashed var(--line-2); border-radius: 10px; font-size: 16px; line-height: 1.6; color: var(--slate); text-align: center; }
.xp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 285px), 1fr)); gap: 24px 20px; }
.xp-item { position: relative; display: flex; }
.xp-item::before, .xp-item::after { content: ''; position: absolute; z-index: 0; border-radius: 18px; pointer-events: none;
transition: transform .6s cubic-bezier(.23, 1, .32, 1), opacity .6s var(--ease); }
.xp-item::before { left: 16px; right: 16px; top: 26px; bottom: -4px; background: rgba(13, 23, 48, .5); filter: blur(18px); opacity: .55; }
.xp-item::after { inset: 8px; background: rgba(201, 162, 75, .6); filter: blur(16px); opacity: 0; }
.xp-ticket { --r: 14px; --n: 13px; --muted: var(--soft-dark); position: relative; z-index: 1; display: flex; width: 100%; color: #fff;
border-radius: var(--r); perspective: 1000px; container-type: inline-size; }
.xp-card { position: relative; display: flex; flex-direction: column; width: 100%; border-radius: var(--r); transition: transform .6s cubic-bezier(.23, 1, .32, 1); }
.xp-card::after {
content: ''; position: absolute; inset: 0; z-index: 3; border-radius: var(--r); pointer-events: none;
background: linear-gradient(115deg, transparent 0%, transparent 40%, rgba(255, 255, 255, .04) 45%, rgba(255, 255, 255, .12) 50%, rgba(255, 255, 255, .04) 55%, transparent 60%, transparent 100%)
100% 100% / 250% 250%;
transition: background-position .6s cubic-bezier(.23, 1, .32, 1); }
.xp-ticket:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.xp-main { position: relative; z-index: 1; display: block; flex: 1; padding: 0 20px 26px; border-radius: var(--r) var(--r) 0 0;
background: radial-gradient(circle at 0 100%, transparent var(--n), var(--navy-3) calc(var(--n) + .5px)) 0 100% / 51% 100% no-repeat,
radial-gradient(circle at 100% 100%, transparent var(--n), var(--navy-3) calc(var(--n) + .5px)) 100% 100% / 51% 100% no-repeat; }
.xp-main > .xp-gridbg { position: absolute; inset: 0 0 var(--n); z-index: 0; overflow: hidden; border-radius: var(--r) var(--r) 0 0; pointer-events: none; }
.xp-gridbg::before {
content: ''; position: absolute; inset: 0; opacity: .6;
background-image: linear-gradient(rgba(201, 162, 75, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(201, 162, 75, .13) 1px, transparent 1px);
background-size: 28px 28px; transform: perspective(500px) rotateX(20deg) scale(1.5);
animation: xpGrid 20s linear infinite; animation-play-state: paused; }
.xp-grid.is-live .xp-gridbg::before { animation-play-state: running; }
@keyframes xpGrid { to { background-position: 0 56px; } }
.xp-main > * { position: relative; z-index: 1; }
.xp-main > .xp-photo { position: relative; display: block; height: 132px; margin: 0 -20px; overflow: hidden; border-radius: var(--r) var(--r) 0 0; background: var(--navy-2); }
.xp-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--fp, 50% 50%); transition: transform .8s var(--ease); }
.xp-photo::after { content: ''; position: absolute; inset: 0;
background: linear-gradient(180deg, rgba(13, 23, 48, .55) 0%, rgba(13, 23, 48, 0) 34%, rgba(13, 23, 48, .1) 62%, var(--navy-3) 100%); }
.xp-main > .xp-top { position: absolute; top: 14px; left: 20px; right: 20px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.xp-brand { flex: 1 1 auto; min-width: 0; height: 30px; margin: -4px; padding: 4px; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 8px; font: 600 12.5px/1 var(--sans); letter-spacing: .02em; color: #fff; white-space: nowrap; }
.xp-brand img { width: 22px; height: 22px; filter: drop-shadow(0 0 3px rgba(201, 162, 75, .55)); animation: xpGlow 3s ease-in-out infinite alternate; animation-play-state: paused; }
.xp-grid.is-live .xp-brand img { animation-play-state: running; }
@keyframes xpGlow { to { filter: drop-shadow(0 0 9px rgba(230, 199, 127, .85)) brightness(1.15); } }
.xp-badge { flex: 0 0 auto; padding: 5px 9px; background: rgba(13, 23, 48, .6); border: 1px solid rgba(201, 162, 75, .75); border-radius: 99px; font: 600 9.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.xp-title { margin-top: 10px; font: 400 clamp(20px, 1.6vw, 23px)/1.15 var(--serif); letter-spacing: -.01em; text-wrap: balance;
background: linear-gradient(135deg, #fff 0%, var(--champagne) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.xp-sub { display: block; margin-top: 5px; font-size: 13px; color: var(--muted); }
.xp-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 14px; margin-top: 18px; }
.xp-details div { display: grid; align-content: start; gap: 4px; min-width: 0; }
.xp-details div[hidden] { display: none; }
.xp-details dt { font: 600 10px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.xp-details dd { margin: 0; font: 600 13.5px/1.35 var(--sans); color: #fff; overflow-wrap: anywhere; }
.xp-perf { position: absolute; left: calc(var(--n) + 12px); right: calc(var(--n) + 12px); bottom: 0; height: 0; border-top: 2px dashed rgba(255, 255, 255, .2); }
.xp-stub { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 18px;
border-radius: 0 0 var(--r) var(--r);
background: radial-gradient(circle at 0 0, transparent var(--n), var(--navy-2) calc(var(--n) + .5px)) 0 0 / 51% 100% no-repeat,
radial-gradient(circle at 100% 0, transparent var(--n), var(--navy-2) calc(var(--n) + .5px)) 100% 0 / 51% 100% no-repeat;
transition: transform .2s var(--ease), opacity .2s var(--ease); }
.xp-cta { display: inline-flex; align-items: center; gap: 7px; font: 600 12.5px/1.2 var(--sans); color: var(--gold); white-space: nowrap; }
.xp-days { flex: 0 0 auto; text-align: right; }
.xp-days-l { display: block; font: 600 10px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.xp-days-n { display: block; margin-top: 4px; font: 300 34px/1 var(--serif); font-variant-numeric: lining-nums; color: var(--gold); text-shadow: 0 0 15px rgba(201, 162, 75, .45); }
html:not(.js) .xp-days, html:not(.js) .xp-search { display: none; }
@media (hover: hover) {
.xp-ticket:hover .xp-card { transform: rotateX(5deg) rotateY(-10deg); }
.xp-item:hover::before { transform: translate(16px, 14px); opacity: .8; }
.xp-item:hover::after { transform: translate(-6px, -6px); opacity: .5; }
.xp-ticket:hover .xp-card::after { background-position: 0 0; }
.xp-ticket:hover .xp-cta { color: var(--gold-soft); }
.xp-ticket:hover .xp-photo img { transform: scale(1.06); }
.xp-ticket:hover .arrow__line { opacity: 1; }
.xp-ticket:hover .arrow__tip { transform: translateX(3px); }
}
.xp-ticket:focus-visible .xp-card { transform: rotateX(5deg) rotateY(-10deg); }
.xp-item:focus-within::before { transform: translate(16px, 14px); opacity: .8; }
.xp-ticket:focus-visible .xp-card::after { background-position: 0 0; }
.xp-ticket:active .xp-card { transform: rotateX(12deg) rotateY(-5deg); }
.xp-ticket:active .xp-stub { transform: translateY(4px) rotate(1.5deg); opacity: .85; }
.js .xp-item { transition: opacity .7s var(--ease) calc(var(--i, 0) * 70ms), transform .8s var(--ease) calc(var(--i, 0) * 70ms); }
.js .xp-grid:not(.is-in) .xp-item { opacity: 0; transform: translateY(24px); }
.no-motion .xp-item, .no-motion .xp-card, .no-motion .xp-stub { opacity: 1 !important; transform: none !important; transition: none !important; }
.no-motion .xp-gridbg::before, .no-motion .xp-brand img { animation: none !important; }
.no-motion .xp-photo img { transform: none !important; transition: none !important; }
.no-motion .xp-item::before, .no-motion .xp-item::after { transition: none !important; }
.no-motion .xp-card::after { display: none; }
@media print { .xp-item { opacity: 1 !important; transform: none !important; } .xp-item::before, .xp-item::after { display: none; } }
.xp-close-band > .frame { padding-block: clamp(56px, 6.5vw, 88px); }
.xp-close { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 48px; }
.xp-close__title { max-width: 760px; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
@media (max-width: 899px) {
.xp-head { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
.xp-search { flex-basis: 100%; }
}
.st-hero-band > .frame { padding-block: clamp(56px, 7vw, 96px) clamp(40px, 5vw, 64px); }
.st-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; column-gap: clamp(40px, 5.5vw, 88px); }
.st-hero .eyebrow { margin-bottom: 22px; }
.st-hero__title { max-width: 720px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.1; letter-spacing: -.02em; }
.st-hero__l2 { display: block; }
.st-hero__lede { max-width: 580px; margin-top: 22px; font: 300 clamp(17px, 1.35vw, 19px)/1.6 var(--sans); color: var(--ink); text-wrap: pretty; }
.st-hero__lede strong { font-weight: 500; color: var(--navy); }
.st-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.st-partner { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; max-width: 580px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.st-partner__logo { flex: 0 0 auto; display: grid; place-items: center; padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow-card); }
.st-partner__logo img { display: block; width: auto; height: auto; max-width: 190px; max-height: 68px; }
.st-partner__t { flex: 1 1 190px; display: grid; gap: 4px; min-width: 0; }
.st-partner__t b { text-wrap: balance; font: 600 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); }
.st-partner__t span { font: 500 15.5px/1.4 var(--sans); color: var(--navy); }
.st-hero__pass { justify-self: end; width: 100%; max-width: 400px; }
.st-show .xp-title { display: block; font-size: clamp(21px, 1.8vw, 25px); }
.st-show.is-live .xp-gridbg::before, .st-show.is-live .xp-brand img { animation-play-state: running; }
.st-show__dates { font: 500 12.5px/1.2 var(--sans); color: var(--muted); white-space: nowrap; }
.st-show .xp-stub { flex-wrap: wrap; row-gap: 6px; }
.st-book__card [hidden], .st-cd[hidden] { display: none !important; }
.st-cd { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 28px clamp(32px, 4vw, 64px);
margin-top: clamp(44px, 5.5vw, 72px); padding: clamp(26px, 3vw, 40px) clamp(22px, 3.2vw, 44px); overflow: hidden; color: #fff;
background: radial-gradient(120% 150% at 0% 0%, var(--navy-2) 0%, var(--navy-3) 62%); border: 1px solid rgba(201, 162, 75, .3);
border-radius: 16px; box-shadow: 0 30px 60px -30px rgba(13, 23, 48, .45); }
.st-cd > .xp-gridbg { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.st-cd.is-live .xp-gridbg::before { animation-play-state: running; }
.st-cd > :not(.xp-gridbg):not(.vh) { position: relative; z-index: 1; }
.st-cd__kicker { display: flex; align-items: flex-start; gap: 12px; text-wrap: balance; font: 600 12.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.st-cd__kicker::before { content: ''; flex: 0 0 28px; height: 1px; margin-top: calc(.65em - .5px); background: var(--gold); }
.st-cd__title { margin-top: 12px; font: 400 clamp(25px, 2.4vw, 33px)/1.15 var(--serif); letter-spacing: -.015em; text-wrap: balance;
background: linear-gradient(135deg, #fff 0%, var(--champagne) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-cd__text { max-width: 430px; margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--soft-dark); text-wrap: pretty; }
.st-cd__when { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font: 500 13.5px/1.4 var(--sans); color: #DBE3F0; }
.st-cd__when svg { flex: 0 0 auto; width: 16px; height: 16px; color: var(--gold); }
.st-cd__clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 16px); }
.st-cd__unit { display: grid; justify-items: center; gap: 10px; padding: clamp(16px, 1.9vw, 26px) 6px clamp(14px, 1.6vw, 22px); overflow: hidden;
background: var(--paper); border-radius: 12px; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .55), inset 0 -3px 0 var(--gold-2); }
.st-cd__unit b { display: block; font: 300 clamp(36px, 4.2vw, 60px)/1 var(--serif); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.02em; color: var(--navy); }
.st-cd__unit b.is-tick { animation: stTick .45s var(--ease); }
@keyframes stTick { from { transform: translateY(-.3em); opacity: .15; } }
.st-cd__unit span { font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--slate); }
.st-cd.is-on { grid-template-columns: minmax(0, 1fr); }
.st-cd.is-on .st-cd__clock { display: none; }
html:not(.js) .st-cd { grid-template-columns: minmax(0, 1fr); }
html:not(.js) .st-cd__clock { display: none; }
.no-motion .st-cd__unit b { animation: none !important; }
.st-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: clamp(44px, 5.5vw, 72px); padding: 18px 24px;
background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-card); }
.st-strip__t { font: 600 12.5px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); }
.st-strip__list { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.st-strip__list li { display: inline-flex; align-items: center; gap: 8px; font: 500 15px/1.3 var(--sans); color: var(--navy); }
.st-strip__list svg { width: 19px; height: 19px; color: var(--gold-2); }
.st-hotels-band > .frame { padding-block: clamp(56px, 6.5vw, 96px); }
.st-hotels-head { margin-bottom: clamp(28px, 3.5vw, 40px); }
.st-hotels-head .eyebrow { margin-bottom: 18px; }
.st-hotels__title { max-width: 820px; }
.st-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-bottom: clamp(24px, 3vw, 36px); }
.st-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.st-chip { height: 40px; padding: 0 16px; border: 1px solid rgba(20, 33, 61, .24); border-radius: 99px; background: #fff; cursor: pointer;
font: 500 14px/1 var(--sans); color: var(--navy); transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.st-chip:hover { border-color: var(--gold-2); }
.st-chip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.st-chip:focus-visible, .st-sort select:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.st-sort { display: flex; align-items: center; gap: 10px; }
.st-sort label { font: 500 14px/1 var(--sans); color: var(--slate); white-space: nowrap; }
.st-sort select { height: 40px; padding: 0 36px 0 14px; border: 1px solid rgba(20, 33, 61, .24); border-radius: 6px; cursor: pointer;
font: 500 14px/1 var(--sans); color: var(--navy); appearance: none; -webkit-appearance: none;
background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23A9843A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center / 12px 8px no-repeat; }
.st-sort select:hover { border-color: var(--gold-2); }
.st-count { margin-left: auto; font: 500 15px/1.4 var(--sans); color: var(--navy); }
html:not(.js) .st-chips, html:not(.js) .st-sort { display: none; }
.st-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 214px), 1fr)); gap: 18px 16px; }
.st-grid .st-item[hidden] { display: none; }
.st-ticket { --n: 11px; --r: 12px; }
.st-ticket .st-main { padding: 0 16px 20px; }
.st-ticket .xp-main > .xp-photo { height: 118px; margin: 0 -16px; }
.st-ticket .xp-main > .xp-top { top: 12px; left: 14px; right: 14px; gap: 8px; }
.st-ticket .xp-badge { padding: 4px 8px; font-size: 9px; }
.st-tier { display: inline-flex; align-items: center; gap: 5px; }
.st-tier .st-stars { font-size: 8.5px; letter-spacing: .06em; }
.st-ticket .st-title { margin-top: 8px; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.18; }
.st-ticket .xp-sub { margin-top: 4px; font-size: 12px; }
.st-area { display: flex; align-items: flex-start; gap: 5px; }
.st-area svg { flex: 0 0 auto; width: 13px; height: 13px; margin-top: 3px; color: var(--gold); }
.st-ticket .xp-details { gap: 10px 12px; margin-top: 14px; }
.st-ticket .xp-details dt { font-size: 9.5px; }
.st-ticket .xp-details dd { font-size: 12.5px; }
.st-ticket .xp-perf { left: calc(var(--n) + 9px); right: calc(var(--n) + 9px); }
.st-ticket .st-stub { flex-direction: column; align-items: stretch; gap: 0; padding: 14px 16px 16px; }
.st-rates { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.st-rates div { display: grid; gap: 5px; min-width: 0; }
.st-rates dt { font: 600 9.5px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.st-rates dd { margin: 0; font: 300 clamp(19px, 9cqi, 25px)/1 var(--serif); font-variant-numeric: lining-nums; letter-spacing: -.01em;
color: var(--gold); text-shadow: 0 0 14px rgba(201, 162, 75, .4); white-space: nowrap; }
.st-per { margin-top: 6px; font: 400 11px/1.3 var(--sans); color: var(--muted); }
.st-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 12px; padding-top: 12px;
border-top: 1px solid rgba(255, 255, 255, .1); }
.st-btn { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; height: 34px; padding: 0 10px;
border: 1px solid rgba(201, 162, 75, .7); border-radius: 99px; font: 600 12px/1 var(--sans); letter-spacing: .01em; color: var(--gold);
text-decoration: none; white-space: nowrap; transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.st-actions > .st-btn:nth-child(2):last-child { grid-column: 1 / -1; }
.st-btn--main { grid-column: 1 / -1; background: var(--gold); border-color: var(--gold); color: var(--navy-3); }
.st-btn--map, .st-btn--wa { border-color: rgba(255, 255, 255, .22); color: #DBE3F0; }
.st-btn--map svg, .st-btn--wa svg { flex: 0 0 auto; width: 13px; height: 13px; color: var(--gold); }
.st-ticket a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.st-btn--sold { grid-column: 1 / -1; border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); color: #AEB8CC; cursor: default; }
.st-btn--off { border-color: rgba(255, 255, 255, .12); color: rgba(219, 227, 240, .42); cursor: default; }
.st-item--sold .xp-photo img { opacity: .5; }
.st-was { display: block; margin-bottom: 4px; font: 400 11.5px/1 var(--sans); letter-spacing: 0; color: var(--muted); text-shadow: none; }
.st-hnote { margin-top: 6px; font: 400 11.5px/1.4 var(--sans); color: #AEB8CC; }
@media (hover: hover) {
.st-btn--enq:hover { background: rgba(201, 162, 75, .14); color: var(--gold-soft); }
.st-btn--map:hover, .st-btn--wa:hover { border-color: rgba(255, 255, 255, .5); color: #fff; }
.st-btn--main:hover { background: var(--gold-soft); border-color: var(--gold-soft); color: var(--navy-3); }
}
.st-ticket:focus-within .xp-card { transform: rotateX(5deg) rotateY(-10deg); }
.st-ticket:focus-within .xp-card::after { background-position: 0 0; }
.st-note { margin-top: 22px; font-size: 13px; line-height: 1.6; color: var(--slate); max-width: 900px; }
.st-book-band > .frame { padding-block: clamp(56px, 6.5vw, 96px); }
.st-book { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: 36px clamp(40px, 5vw, 80px); }
.st-book__intro { position: sticky; top: 32px; }
.st-book__intro .eyebrow { margin-bottom: 18px; }
.st-book__title { max-width: 440px; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.12; letter-spacing: -.02em; }
.st-book__points { margin-top: 30px; padding-top: 24px; }
.st-book__card { scroll-margin-top: 24px; padding: clamp(22px, 2.8vw, 40px); background: #fff; border: 1px solid var(--line); border-radius: 12px;
box-shadow: 0 40px 80px -30px rgba(13, 23, 48, .22), 0 1px 2px rgba(13, 23, 48, .05); }
.st-form { display: grid; gap: 26px; }
.st-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.st-group > legend { float: left; display: flex; align-items: center; gap: 9px; width: 100%; margin-bottom: 18px; padding: 0;
font: 600 12.5px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); }
.st-group + .st-group > legend { padding-top: 26px; border-top: 1px solid var(--line); }
.st-group > legend svg { width: 17px; height: 17px; color: var(--gold-2); }
.st-fields { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.st-fields--stay { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.st-fields--stay > :first-child { grid-column: span 3; }
.st-pick, .st-pick .ct__multi-box, .st-pick .ct__multi-btn { min-width: 0; }
.st-pick .ct__multi-btn { width: 100%; }
.st-pick .ct__opts { grid-template-columns: minmax(0, 1fr); max-height: min(50vh, 312px); overflow-y: auto; overscroll-behavior: contain; }
.st-pick .ct__opt[hidden] { display: none; }
.st-pick__t { display: grid; gap: 2px; min-width: 0; }
.st-pick__t small { font: 400 12.5px/1.3 var(--sans); color: var(--muted); }
.st-pick input[type="radio"] + .ct__box { border-radius: 50%; }
.st-pick input[type="radio"] + .ct__box svg { display: none; }
.st-pick input[type="radio"]:checked + .ct__box { background: #fff; box-shadow: inset 0 0 0 4px var(--navy); }
.st-pick__find { position: relative; clear: both; margin: 0 2px 8px; }
.st-pick__find svg { position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.st-pick__q { width: 100%; height: 42px; padding: 0 12px 0 38px; border: 1px solid var(--line-2); border-radius: 6px; background: var(--paper);
font: 400 15px/1 var(--sans); color: var(--ink); -webkit-appearance: none; appearance: none; }
.st-pick__q::placeholder { color: var(--soft); }
.st-pick__q:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(20, 33, 61, .12); }
.st-pick__none { padding: 10px; font-size: 14px; color: var(--slate); }
html:not(.js) .st-pick__find, html:not(.js) .st-pick__none { display: none; }
.st-form input[type="date"] { min-width: 0; padding-inline: 12px 10px; }
.st-form .ct__need { margin-bottom: -8px; }
.st-form .ct__actions { margin-top: 0; }
.st-form.is-sending .ct__spin { display: inline-block; }
.st-form.is-sending .ct__submit .arrow { display: none; }
.st-form.is-sending .ct__submit { background: var(--navy-2); cursor: progress; }
.st-est { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 20px; overflow: hidden; border: 1px solid var(--line-2); border-radius: 10px; background: var(--tint); }
.st-est div { display: grid; gap: 6px; min-width: 0; padding: 14px 16px; }
.st-est div + div { border-left: 1px solid var(--line-2); }
.st-est dt { font: 600 10.5px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--slate); }
.st-est dd { margin: 0; font: 400 22px/1.1 var(--serif); font-variant-numeric: lining-nums tabular-nums; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-est div:last-child { background: var(--navy); }
.st-est div:last-child dt { color: var(--soft-dark); }
.st-est div:last-child dd { color: var(--gold); }
.st-est.is-range dd { font-size: 18px; white-space: normal; }
.st-est__note { margin-top: 10px; font-size: 13px; line-height: 1.5; color: var(--slate); }
html:not(.js) .st-est, html:not(.js) .st-est__note { display: none; }
.st-book__card .ct__done-title { font-size: clamp(26px, 2.4vw, 32px); }
.st-close-band > .frame { padding-block: clamp(56px, 6.5vw, 96px); }
.st-close { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; gap: 40px clamp(40px, 5.5vw, 88px); }
.st-close__title { max-width: 560px; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -.02em; }
.st-close__main .btn { margin-top: 30px; }
.st-close__team .eyebrow { margin-bottom: 20px; }
.st-people { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.st-person { display: grid; align-content: start; gap: 6px; padding: 20px 22px; background: rgba(255, 255, 255, .03); border: 1px solid var(--line-light);
border-left: 3px solid var(--gold); border-radius: 12px; }
.st-person b { font: 600 17px/1.3 var(--sans); color: #fff; }
.st-person__role { margin-bottom: 6px; font: 500 13px/1.3 var(--sans); color: var(--gold); }
.st-person a { display: inline-flex; align-items: center; gap: 9px; width: fit-content; max-width: 100%; min-height: 30px; font-size: 14.5px; color: #DBE3F0;
text-decoration: none; overflow-wrap: anywhere; transition: color .2s var(--ease); }
.st-person a svg { flex: 0 0 auto; width: 16px; height: 16px; color: var(--gold); }
.st-person a:hover { color: #fff; }
.st-person a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 3px; }
@media (max-width: 899px) {
.st-hero { grid-template-columns: minmax(0, 1fr); row-gap: 44px; }
.st-hero__pass { justify-self: start; max-width: 420px; }
.st-cd { grid-template-columns: minmax(0, 1fr); }
.st-close { grid-template-columns: minmax(0, 1fr); }
.st-count { flex-basis: 100%; margin-left: 0; order: 3; }
.st-book { grid-template-columns: minmax(0, 1fr); }
.st-book__intro { position: static; }
.st-book__points { display: none; }
}
@media (max-width: 680px) {
.st-fields--stay { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.st-fields--stay > :first-child, .st-fields--stay > :nth-child(2) { grid-column: 1 / -1; }
.st-est { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.st-est div:nth-child(3) { border-left: 0; }
.st-est div:nth-child(n + 3) { border-top: 1px solid var(--line-2); }
}
@media (max-width: 560px) {
.st-strip { flex-direction: column; align-items: flex-start; }
.st-strip__list { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
.st-chips { gap: 6px; }
.st-chip { height: 38px; padding: 0 12px; font-size: 13.5px; }
.st-sort { width: 100%; }
.st-sort select { flex: 1; }
.st-people { grid-template-columns: minmax(0, 1fr); }
.st-fields:not(.st-fields--stay) { grid-template-columns: minmax(0, 1fr); }
.st-cd__clock { gap: 8px; }
.st-cd__unit { gap: 8px; padding: 14px 4px 13px; border-radius: 10px; }
.st-cd__unit b { font-size: 30px; }
.st-cd__unit span { font-size: 9px; letter-spacing: .08em; }
.st-partner { align-items: flex-start; }
.st-partner__logo img { max-width: 150px; max-height: 56px; }
}
@media print { .st-chips, .st-sort { display: none; } }
