:root {
  --navy: #1B2A4A; --navy-2: #22355C; --shadow: #111B31; --ink: #0B1324; --black: #0B0B0B;
  --gold: #D4AF37; --gold-hi: #F3D777; --deep-gold: #9C7E25; --gold-ink: #7C641D; --gold-glow: rgba(212,175,55,.35);
  --ivory: #F7F3EA; --ivory-2: #EFE8D8; --paper: #FBF8F1; --white: #FFFFFF; --charcoal: #333333; --mist: #B9C2D2; --rule: #E2D8C3;
  --serif: 'EB Garamond', Garamond, Georgia, 'Times New Roman', serif;
  --sans: Calibri, Carlito, Arial, sans-serif;
  --ease: cubic-bezier(.2,.8,.2,1);
  --wrap: 1240px;
  --z: 1; --vw: calc(1vw / var(--z)); --vh: calc(1vh / var(--z));   }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--charcoal); font: 400 19px/1.62 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 40px; position: relative; z-index: 2; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.04; margin: 0; letter-spacing: -.01em; text-wrap: balance; }
h2 { font-size: clamp(38px, calc(4.6 * var(--vw)), 64px); }
h3 { font-size: 28px; }
em, .accent { font-style: italic; font-weight: 500; color: var(--gold); }
section { position: relative; overflow: hidden; }
.hair { display: block; width: 84px; height: 2px; margin: 24px 0 30px; background: linear-gradient(90deg, var(--gold), rgba(212,175,55,0)); transform-origin: left; }

.grain { position: fixed; inset: -50%; z-index: 90; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grain 1.2s steps(6) infinite; }
@keyframes grain { 0%{transform:translate(0,0)} 20%{transform:translate(-3%,2%)} 40%{transform:translate(2%,-3%)} 60%{transform:translate(-2%,-1%)} 80%{transform:translate(3%,3%)} 100%{transform:translate(0,0)} }

.draft { display: inline-block; background: #FFF4C2; color: #5A4500; border: 1.5px dashed #C9A100; border-radius: 4px; padding: 0 7px; font: 700 15px/1.6 var(--sans); font-style: normal; letter-spacing: 0; text-transform: none; vertical-align: middle; }
.draft-bar { background: #FFF4C2; color: #5A4500; border: 1.5px dashed #C9A100; border-radius: 8px; padding: 12px 16px; font: 700 16px/1.4 var(--sans); margin-bottom: 56px; position: relative; z-index: 3; }

.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; font: 700 16px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; padding: 21px 36px; border-radius: 4px; overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease), translate .5s var(--ease); }
.btn-sm { padding: 13px 20px; font-size: 13px; }
.btn-gold { background: linear-gradient(180deg, #E4C350, var(--gold) 55%, #C39D2C); color: var(--ink); box-shadow: 0 10px 30px -12px var(--gold-glow), inset 0 1px 0 rgba(255,255,255,.45); }
.btn-gold::after { content: ""; position: absolute; top: 0; bottom: 0; width: 60%; left: -80%; background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-18deg); transition: left .7s var(--ease); }
.btn-gold:hover { box-shadow: 0 18px 40px -14px rgba(212,175,55,.6), inset 0 1px 0 rgba(255,255,255,.5); }
.btn-gold:hover::after { left: 130%; }
.btn-glow { animation: pulse 3.2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { box-shadow: 0 10px 30px -12px var(--gold-glow), 0 0 0 0 rgba(212,175,55,0); } 50% { box-shadow: 0 16px 44px -10px rgba(212,175,55,.55), 0 0 0 12px rgba(212,175,55,.08); } }
.link-arrow { display: inline-flex; align-items: center; gap: 12px; color: var(--white); text-decoration: none; font: 700 15px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.link-arrow::after { content: ""; width: 34px; height: 1px; background: var(--gold); transition: width .45s var(--ease); }
.link-arrow:hover::after { width: 64px; }

.nav { position: fixed; inset: 0 0 auto 0; z-index: 50; padding: 22px 0; transition: padding .35s var(--ease), background .35s ease, border-color .35s ease; border-bottom: 1px solid transparent; }
.nav .wrap { display: flex; align-items: center; gap: 28px; max-width: 1400px; }
.nav .brand img { height: 52px; width: auto; transition: height .35s var(--ease); }
.nav .links { list-style: none; display: flex; gap: 30px; margin: 0 0 0 auto; padding: 0; }
.nav .links a { position: relative; text-decoration: none; color: #D6DCE7; font-size: 15px; letter-spacing: .04em; }
.nav .links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav .links a:hover { color: var(--white); } .nav .links a:hover::after { transform: scaleX(1); }
.nav.scrolled { padding: 12px 0; background: rgba(13,21,40,.74); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); border-color: rgba(212,175,55,.16); }
.nav.scrolled .brand img { height: 42px; }

.js .reveal { opacity: 0; translate: 0 34px; transition: opacity 1s var(--ease), translate 1s var(--ease); transition-delay: var(--d, 0s); }
.js .reveal.in { opacity: 1; translate: 0 0; }
.js .hair.reveal { transform: scaleX(0); transition: transform 1.1s var(--ease) .25s, opacity 1s var(--ease); }
.js .hair.reveal.in { transform: scaleX(1); }

.hero { min-height: calc(100 * var(--vh)); background: var(--ink); color: var(--white); padding: 168px 0 190px; display: flex; align-items: center; }
.hero-bg { position: absolute; inset: -10% 0 0; background:
  radial-gradient(900px 760px at 82% 70%, rgba(44,66,110,.95), rgba(27,42,74,.6) 45%, transparent 75%),
  radial-gradient(1100px 700px at 0% 0%, rgba(27,42,74,.8), transparent 70%),
  linear-gradient(180deg, #0E1730, var(--ink)); }
.hero-light { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .5; pointer-events: none; }
.hero-light.l1 { width: 680px; height: 680px; right: -4%; bottom: 0; background: radial-gradient(circle, rgba(212,175,55,.42), transparent 65%); animation: drift1 16s ease-in-out infinite alternate; }
.hero-light.l2 { width: 480px; height: 480px; left: 18%; top: -18%; background: radial-gradient(circle, rgba(212,175,55,.16), transparent 65%); animation: drift2 20s ease-in-out infinite alternate; }
@keyframes drift1 { from { transform: translate(0,0) scale(1); } to { transform: translate(-80px,-40px) scale(1.12); } }
@keyframes drift2 { from { transform: translate(0,0); } to { transform: translate(110px,60px); } }
.dust { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.dust i { position: absolute; bottom: -20px; border-radius: 50%; background: radial-gradient(circle, #FFE9A6, rgba(212,175,55,0) 70%); opacity: 0; animation: rise linear infinite; }
@keyframes rise { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: .9; } 80% { opacity: .5; } 100% { transform: translateY(-105vh); opacity: 0; } }
.hero-copy { width: 100%; max-width: 1400px; }
.hero-copy > * { max-width: 700px; } .hero-copy > h1 { max-width: 960px; }
.eyebrow { display: inline-block; font: 700 13px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); padding: 10px 16px; border: 1px solid rgba(212,175,55,.45); border-radius: 2px; margin-bottom: 34px; }
.hero h1 { font-size: clamp(46px, calc(5.3 * var(--vw)), 84px); line-height: 1; margin-bottom: 30px; max-width: 960px; }
.hero h1 .line { display: block; overflow: hidden; padding-bottom: .07em; }
.hero h1 .line > span { display: inline-block; transform: translateY(110%); animation: up 1.1s var(--ease) forwards; animation-delay: var(--d, 0s); }
.rise { opacity: 0; transform: translateY(22px); animation: fadeUp 1s var(--ease) forwards; animation-delay: var(--d, 0s); }
@keyframes up { to { transform: translateY(0); } }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
.hero .sub { font-size: 22px; line-height: 1.55; color: #D2D9E5; max-width: 560px; margin: 0 0 42px; }
.hero .ctas { display: flex; gap: 34px; align-items: center; flex-wrap: wrap; }
.ticket { position: absolute; z-index: 3; left: max(40px, calc((calc(100 * var(--vw)) - 1400px) / 2 + 40px)); bottom: 40px; max-width: 640px; padding: 16px 22px 16px 26px; color: var(--mist); font-size: 16px; line-height: 1.5;
  border: 1px solid rgba(212,175,55,.32); border-left: 3px solid var(--gold); background: rgba(10,17,33,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ticket p { margin: 0; }

.crest-stage { position: absolute; z-index: 1; right: max(-30px, calc((calc(100 * var(--vw)) - 1400px) / 2 - 30px)); bottom: calc(7 * var(--vh)); width: min(calc(44 * var(--vw)), 700px); will-change: transform; }
.crest-halo { position: absolute; inset: 6% 8% 14%; border-radius: 50%; background: radial-gradient(circle, rgba(212,175,55,.32), rgba(212,175,55,.06) 45%, transparent 70%); filter: blur(30px); animation: halo 6s ease-in-out infinite; }
@keyframes halo { 0%,100% { opacity: .65; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
.crest { position: relative; animation: float 8s ease-in-out 2.6s infinite; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.crest picture, .crest img { width: 100%; }
.crest .c-base { filter: drop-shadow(0 34px 50px rgba(0,0,0,.55)); opacity: 0; transform: scale(.9) translateY(18px); animation: crestIn 1.4s var(--ease) .35s forwards; }
.crest picture:nth-of-type(2), .crest .c-shine { position: absolute; inset: 0; }
.crest .c-cap { opacity: 0; transform: translateY(-46%) rotate(-12deg); transform-origin: 54% 30%; animation: capDrop 1.15s cubic-bezier(.3,1.35,.5,1) 1.45s forwards; filter: drop-shadow(0 14px 18px rgba(0,0,0,.45)); }
@keyframes crestIn { to { opacity: 1; transform: none; } }
@keyframes capDrop { 0% { opacity: 0; transform: translateY(-46%) rotate(-12deg); } 35% { opacity: 1; } 100% { opacity: 1; transform: translateY(0) rotate(0); } }
.c-shine { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; opacity: .85; filter: brightness(1.9) saturate(.5);
  -webkit-mask-image: linear-gradient(100deg, transparent 42%, #000 50%, transparent 58%); mask-image: linear-gradient(100deg, transparent 42%, #000 50%, transparent 58%);
  -webkit-mask-size: 300% 100%; mask-size: 300% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 160% 0; mask-position: 160% 0; animation: shine 7s ease-in-out 3s infinite; }
.c-shine img { width: 100%; }
@keyframes shine { 0% { -webkit-mask-position: 160% 0; mask-position: 160% 0; } 38%, 100% { -webkit-mask-position: -60% 0; mask-position: -60% 0; } }

.bigline { background: var(--ivory); padding: 190px 0 210px; }
.bigline .sweep { position: absolute; right: -20vw; bottom: -40vw; width: calc(80 * var(--vw)); height: calc(80 * var(--vw)); border-radius: 50%; background: radial-gradient(circle, rgba(212,175,55,.22), rgba(212,175,55,0) 62%); pointer-events: none; }
.bigline::before { content: ""; position: absolute; left: 0; top: 0; width: calc(38 * var(--vw)); height: 1px; background: linear-gradient(90deg, var(--gold), transparent); }
.words { font: 600 clamp(38px, calc(5.4 * var(--vw)), 84px)/1.06 var(--serif); letter-spacing: -.015em; color: var(--navy); margin: 0; max-width: 1120px; padding-left: calc(8 * var(--vw)); text-indent: -8vw; }
.js .words .w { color: #89754D; transition: color .5s ease; }
.js .words .w.on { color: var(--navy); }
.js .words .w.on.g { color: var(--gold-ink); font-style: italic; font-weight: 500; }

.why { background: var(--black); color: #DCD7CC; display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100 * var(--vh)); }
.why-photo { position: relative; margin: 0; overflow: hidden; min-height: 640px; }
.why-photo picture, .why-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.why-photo img { transform: scale(var(--z, 1.12)); transform-origin: 50% 30%; will-change: transform; }
.why-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,11,11,0) 55%, var(--black)), linear-gradient(0deg, rgba(11,11,11,.55), transparent 35%); }
.why-photo figcaption { position: absolute; left: 24px; bottom: 22px; z-index: 2; }
.why-copy { position: relative; padding: 150px calc(9 * var(--vw)) 130px calc(4 * var(--vw)); max-width: 680px; align-self: center; }
.why-copy h2 { color: var(--ivory); }
.why-copy p { font-size: 23px; line-height: 1.6; margin: 0 0 22px; position: relative; z-index: 1; }
.ghost-num { position: absolute; right: calc(2 * var(--vw)); top: 40px; font: 700 clamp(220px, calc(26 * var(--vw)), 420px)/.8 var(--serif); color: transparent; -webkit-text-stroke: 1.5px rgba(212,175,55,.32); pointer-events: none; user-select: none; }

.leave { background-color: var(--paper); padding: 150px 0 160px;
  background-image: linear-gradient(rgba(156,126,37,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(156,126,37,.09) 1px, transparent 1px);
  background-size: 52px 52px; background-position: -1px -1px; }
.leave::after { content: ""; position: absolute; inset: 0; background: radial-gradient(1000px 600px at 20% 10%, rgba(251,248,241,0), var(--paper) 85%); pointer-events: none; }
.leave h2 { color: var(--navy); font-size: clamp(44px, calc(6 * var(--vw)), 92px); max-width: 8ch; }
.leave-head { margin-bottom: 30px; }
.days { background-color: #14244A; color: #D6DCE7; padding: 140px 0 170px;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 160px 160px, 160px 160px, 32px 32px, 32px 32px; }
.days h2 { color: var(--white); text-align: right; font-size: clamp(44px, calc(6 * var(--vw)), 92px); }
.bp-marks i { position: absolute; width: 36px; height: 36px; border: 1px solid rgba(212,175,55,.5); }
.bp-marks i:nth-child(1) { left: 32px; top: 32px; border-right: 0; border-bottom: 0; }
.bp-marks i:nth-child(2) { right: 32px; top: 32px; border-left: 0; border-bottom: 0; }
.bp-marks i:nth-child(3) { left: 32px; bottom: 32px; border-right: 0; border-top: 0; }
.bp-marks i:nth-child(4) { right: 32px; bottom: 32px; border-left: 0; border-top: 0; }
.days-grid { position: relative; margin-top: 30px; }
.connector { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.connector path { fill: none; stroke: var(--gold); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--p, 0)); filter: drop-shadow(0 0 6px rgba(212,175,55,.6)); }
.day-block { position: relative; width: 44%; padding: 40px 44px; background: rgba(11,19,36,.72); border: 1px solid rgba(212,175,55,.22); border-radius: 4px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.day-block.d2 { margin: -40px 0 0 56%; }
.day-label { display: block; font: italic 500 clamp(52px, calc(5.4 * var(--vw)), 84px)/1 var(--serif); color: var(--gold); margin-bottom: 24px; }
.day-text p { position: relative; margin: 0; padding: 16px 0 16px 30px; font-size: 21px; line-height: 1.55; color: #8691A8; border-top: 1px solid rgba(255,255,255,.08); transition: color .5s ease; }
.day-text p::before { content: ""; position: absolute; left: 0; top: 27px; width: 10px; height: 10px; transform: rotate(45deg); border: 1px solid rgba(255,255,255,.3); transition: all .5s var(--ease); }
.day-text p.lit { color: var(--white); }
.day-text p.lit::before { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 14px rgba(212,175,55,.6); }

.bring { background: var(--white); padding: 150px 0; }
.bring-mark { position: absolute; left: -18vw; top: -10vw; width: calc(60 * var(--vw)); height: calc(60 * var(--vw)); border-radius: 50%; background: radial-gradient(circle, rgba(27,42,74,.07), rgba(27,42,74,0) 65%); pointer-events: none; }
.bring-grid { display: grid; grid-template-columns: 1fr 1.7fr; gap: 40px; align-items: center; }
.side { writing-mode: vertical-rl; transform: rotate(180deg); justify-self: end; font-size: clamp(64px, calc(8 * var(--vw)), 128px); color: var(--navy); line-height: .9; }
.pack { position: relative; background: #FFFDF7; border: 1px solid var(--rule); padding: 58px 56px 44px; transform: rotate(-1.4deg); box-shadow: 0 50px 80px -50px rgba(27,42,74,.45), 0 2px 0 var(--rule); }
.pack::before { content: ""; position: absolute; left: 0; right: 0; top: -9px; height: 18px; background: radial-gradient(circle at 9px 9px, var(--white) 6px, transparent 6.5px) 0 0/22px 18px repeat-x; }
.checks { list-style: none; padding: 0; margin: 0; }
.checks li { display: grid; grid-template-columns: 34px 1fr; gap: 18px; align-items: start; padding: 16px 0; border-bottom: 1px dashed var(--rule); font-size: 21px; color: var(--charcoal); }
.checks li:last-child { border-bottom: 0; }
.checks svg { width: 30px; height: 30px; border-radius: 50%; background: var(--navy); padding: 5px; margin-top: 2px; }
.checks path { fill: none; stroke: var(--gold-hi); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; transition: stroke-dashoffset .7s var(--ease); transition-delay: var(--d, 0s); }
.checks li.in path { stroke-dashoffset: 0; }

.rule { background: var(--black); color: #D8D8D8; min-height: calc(92 * var(--vh)); display: grid; place-items: center; padding: 120px 0; text-align: center; }
.spot { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(520px circle at var(--sx, 50%) var(--sy, 45%), rgba(212,175,55,.16), transparent 70%); transition: background .2s linear; }
.rule-in { max-width: 900px; }
.rule h2 { color: var(--gold); font-size: clamp(40px, calc(5 * var(--vw)), 72px); margin: 34px 0 26px; }
.rule p { font-size: clamp(21px, calc(1.9 * var(--vw)), 26px); line-height: 1.6; margin: 0 auto; max-width: 780px; }
.badge { position: relative; width: 170px; height: 170px; display: grid; place-items: center; margin: 0 auto; }
.badge .spin { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 20%, rgba(212,175,55,.9) 32%, transparent 44% 70%, rgba(212,175,55,.6) 82%, transparent 94%);
  -webkit-mask: radial-gradient(circle, transparent 64%, #000 65.5%, #000 67%, transparent 68.5%); mask: radial-gradient(circle, transparent 64%, #000 65.5%, #000 67%, transparent 68.5%); animation: spin 12s linear infinite; }
.badge picture { position: relative; width: 104px; }
@keyframes spin { to { transform: rotate(360deg); } }

.cost { background: linear-gradient(180deg, #172748, #111D38); color: #D6DCE7; padding: 140px 0 150px; }
.foil { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 25%, rgba(243,215,119,.10) 42%, rgba(212,175,55,.03) 52%, rgba(243,215,119,.08) 60%, transparent 75%); background-size: 260% 100%; animation: foil 11s ease-in-out infinite alternate; }
@keyframes foil { from { background-position: 0% 0; } to { background-position: 100% 0; } }
.kicker { display: block; font: 700 13px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.lead { color: var(--white); font-size: clamp(42px, calc(5.2 * var(--vw)), 80px); max-width: 14ch; margin: 0; }
.ladder { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; align-items: end; }
.card { position: relative; border-radius: 16px; padding: 38px 32px; background: linear-gradient(170deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid rgba(212,175,55,.2); color: #D6DCE7;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s ease; }
.card:hover { transform: translateY(-8px); border-color: rgba(212,175,55,.5); box-shadow: 0 40px 70px -30px rgba(0,0,0,.75), 0 0 50px -12px var(--gold-glow); }
.card.step2 { margin-bottom: 70px; }
.card.step3 { margin-bottom: 140px; }
.card h3 { color: var(--white); margin: 12px 0 6px; }
.kind { font: 700 13px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.price { font: 600 62px/1 var(--serif); color: var(--white); margin: 18px 0 8px; }
.card.main { padding: 52px 46px; background: linear-gradient(170deg, #263C68, #16244A); border-color: transparent; box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.card.main h3 { font-size: 36px; }
.card.main .price { font-size: 104px; }
.note { font-size: 17px; color: var(--mist); margin: 8px 0 0; }
.rows { list-style: none; padding: 0; margin: 16px 0 0; border-top: 1px solid rgba(255,255,255,.1); }
.rows li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 17px; }
.rows b { color: var(--gold-hi); white-space: nowrap; }
@property --a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.card.main::before { content: ""; position: absolute; inset: 0; border-radius: 16px; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--a), rgba(212,175,55,.15), var(--gold-hi), rgba(212,175,55,.15) 30%, rgba(212,175,55,.15) 60%, var(--gold) 80%, rgba(212,175,55,.15));
  -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);
  animation: turn 6s linear infinite; }
@keyframes turn { to { --a: 360deg; } }
@keyframes sweep { 0% { left: -60%; } 40%, 100% { left: 130%; } }
.ledger { display: grid; grid-template-columns: 220px 1fr; gap: 30px; margin-top: 56px; padding: 26px 0; border-top: 1px solid rgba(212,175,55,.35); border-bottom: 1px solid rgba(212,175,55,.35); }
.ledger .kind { padding-top: 6px; }
.ledger ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 48px; }
.ledger li { break-inside: avoid; position: relative; padding: 0 0 12px 20px; font-size: 17px; line-height: 1.45; color: #C3CBD9; }
.ledger li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; transform: rotate(45deg); background: var(--gold); }
.after-notes { margin-top: 28px; color: #C3CBD9; font-size: 18px; }
.after-notes p { margin: 6px 0; }

.faq { background: var(--ivory-2); padding: 150px 0 160px; overflow: visible;
  background-image: repeating-linear-gradient(0deg, rgba(156,126,37,.07) 0 1px, transparent 1px 44px); }
.faq-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 60px; align-items: start; }
.faq-side { position: sticky; top: 130px; }
.faq-side h2 { color: var(--navy); font-size: clamp(54px, calc(7.4 * var(--vw)), 120px); }
details { border-bottom: 1px solid var(--rule); }
details:first-child { border-top: 1px solid var(--rule); }
summary { cursor: pointer; list-style: none; padding: 28px 64px 28px 0; font: 600 27px/1.3 var(--serif); color: var(--navy); position: relative; transition: color .25s ease, padding .4s var(--ease); }
summary::-webkit-details-marker { display: none; }
summary:hover { color: var(--gold-ink); padding-left: 10px; }
summary::before, summary::after { content: ""; position: absolute; right: 14px; top: 50%; width: 20px; height: 2px; background: var(--gold-ink); transition: transform .4s var(--ease); }
summary::after { transform: rotate(90deg); }
details[open] summary::after { transform: rotate(0deg); }
details .a { overflow: hidden; }
details .a p { margin: 0 0 28px; font-size: 20px; max-width: 640px; }

.closer { background: linear-gradient(180deg, #0B1324, #13213F); color: var(--white); min-height: calc(96 * var(--vh)); display: flex; align-items: center; padding: 140px 0; }
.sun { position: absolute; left: 50%; bottom: 0; width: calc(150 * var(--vw)); height: calc(150 * var(--vw)); margin-left: -75vw; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(243,215,119,.55), rgba(212,175,55,.28) 22%, rgba(212,175,55,.08) 42%, transparent 62%);
  transform: translateY(calc(78% - var(--sp, 0) * 22%)) scale(calc(.75 + var(--sp, 0) * .3)); }
.closer-in { display: grid; grid-template-columns: 1.7fr 1fr; gap: 40px; align-items: end; width: 100%; }
.close-copy { grid-column: 1; grid-row: 1; }
.close-sub { font: 500 clamp(24px, calc(2.4 * var(--vw)), 34px)/1.3 var(--serif); color: #DCE1EA; margin: 26px 0 44px; }
.crest.small { grid-column: 2; grid-row: 1; width: min(360px, 100%); justify-self: end; align-self: start; animation: float 8s ease-in-out infinite; }
.crest.small .c-base { opacity: 1; transform: none; animation: none; }
.crest.small .c-shine { animation-delay: 1s; }

.foot { background: #0A101E; color: #8E99AE; padding: 44px 0; font-size: 15px; }
.foot-in { display: flex; flex-wrap: wrap; gap: 14px 40px; align-items: center; }
.foot p { margin: 0; }
.foot ul { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; }
.foot a { text-decoration: none; } .foot a:hover { color: var(--gold); }
.foot-note { flex-basis: 100%; }


.btn-ghost { color: var(--gold-hi); border: 1px solid rgba(212,175,55,.6); background: transparent; }
.btn-ghost:hover { background: rgba(212,175,55,.12); }
.cta-row { margin-top: 56px; }

.flip { --fb: #8E94A1; --fa: var(--gold); margin: 0 0 30px; }
.flip .before { font: 600 17px/1.5 var(--sans); letter-spacing: .01em; color: var(--fb); margin: 0 0 10px; max-width: 34em; }
.flip .before .s { background: linear-gradient(var(--gold), var(--gold)) 0 58% / 0% 2px no-repeat; transition: background-size .8s var(--ease) .15s; }
.flip .after { font: italic 500 clamp(26px, calc(2.4 * var(--vw)), 36px)/1.25 var(--serif); color: var(--fa); margin: 0; max-width: 22em; }
.js .flip .after { opacity: 0; translate: 0 14px; transition: opacity .8s var(--ease) .7s, translate .8s var(--ease) .7s; }
.js .flip.in .before .s { background-size: 100% 2px; }
.js .flip.in .after { opacity: 1; translate: 0 0; }
.flip.center { text-align: center; margin: 46px auto 0; }
.flip.center .before, .flip.center .after { margin-left: auto; margin-right: auto; }
.flip.center .before { margin-bottom: 12px; }

.pain-strip { position: relative; height: 64px; max-width: 640px; margin: 0 0 30px; padding-left: 46px; }
.pain-strip::before { content: ""; position: absolute; left: 0; top: 16px; width: 30px; height: 1px; background: rgba(212,175,55,.6); }
.ps-line { position: absolute; left: 46px; top: 0; right: 0; font: 600 21px/32px var(--sans); color: #A7B2C7; opacity: 0; translate: 0 12px; transition: opacity .6s var(--ease), translate .6s var(--ease); }
.ps-line .s { background: linear-gradient(var(--gold), var(--gold)) 0 58% / 0% 2px no-repeat; }
.ps-line.on { opacity: 1; translate: 0 0; }
.ps-line.on .s { animation: strike 4s var(--ease) forwards; }
.ps-line.out { opacity: 0; translate: 0 -12px; }
.pain-strip.paused .ps-line.on .s { animation-play-state: paused; }
@keyframes strike { 0%, 35% { background-size: 0% 2px; } 70%, 100% { background-size: 100% 2px; } }

.words .b-part { color: #6F6650; }
.words .a-part { font-style: italic; font-weight: 500; color: var(--gold-ink); }
.js .words .a-part .w { color: #89754D; transition: color .5s ease; }
.js .words .a-part .w.on { color: var(--gold-ink); }

.familiar { background: #DCDCD8; color: #4A4A48; padding: 150px 0 140px; overflow: visible; }
.familiar::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 600px at 80% 30%, rgba(255,255,255,.5), transparent 70%); pointer-events: none; }
.fam-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 50px; align-items: start; }
.fam-head { position: sticky; top: 130px; }
.familiar h2 { color: #2B2B2A; font-size: clamp(50px, calc(6.4 * var(--vw)), 104px); }
.fam-lead { font: 500 clamp(22px, calc(2 * var(--vw)), 28px)/1.4 var(--serif); color: #4A4A48; margin: 22px 0 18px; max-width: 18em; }
.pile { --p: 0; position: relative; height: 720px; }
.chat { position: absolute; left: 50%; top: 0; width: min(470px, 100%); margin-left: -235px; background: #F3F3F1; border: 1px solid #C4C4BF; border-radius: 12px; padding: 40px 26px 22px; box-shadow: 0 24px 40px -28px rgba(0,0,0,.35);
  transform: translate(calc(var(--mx) * (1 - var(--p))), calc(var(--my) * (1 - var(--p)) + var(--i) * 128px * var(--p))) rotate(calc(var(--mr) * (1 - var(--p)))); }
.chat i { position: absolute; left: 18px; top: 16px; width: 8px; height: 8px; border-radius: 50%; background: #B9B9B4; box-shadow: 14px 0 0 #B9B9B4, 28px 0 0 #B9B9B4; }
.chat p { margin: 0; font: 400 18px/1.45 var(--sans); color: #4D4D4A; }
.bridge { position: relative; z-index: 3; width: min(720px, 100%); margin: 30px 0 0 auto; background: var(--navy); color: #DCE1EA; padding: 50px 56px; border-radius: 4px; box-shadow: 0 50px 80px -40px rgba(11,19,36,.6); }
.bridge-a { font: italic 500 clamp(34px, calc(3.4 * var(--vw)), 52px)/1.1 var(--serif); color: var(--gold); margin: 0 0 16px; }
.bridge p:last-child { font-size: 21px; margin: 0; }

.why-copy .flip { --fb: #918D84; position: relative; z-index: 1; margin-bottom: 44px; }

.contrast { background: radial-gradient(1000px 700px at 85% 0%, #1E3058, #0F1A31 70%); color: #DCE1EA; padding: 150px 0; }
.contrast h2 { color: var(--white); max-width: 14ch; margin-bottom: 70px; font-size: clamp(42px, calc(5.4 * var(--vw)), 84px); }
.vs-head, .vs-row { display: grid; grid-template-columns: 1fr 120px 1.45fr; gap: 24px; align-items: center; }
.vs-head { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); font: 700 13px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; }
.vs-l { color: #979EAA; } .vs-r { color: var(--gold); }
.vs-row { padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.vs-row .before { margin: 0; font: 600 18px/1.45 var(--sans); color: #969EAC; }
.vs-row .before .s { background: linear-gradient(var(--gold), var(--gold)) 0 58% / 0% 2px no-repeat; transition: background-size .7s var(--ease); }
.vs-row .after { margin: 0; font: 500 clamp(24px, calc(2.3 * var(--vw)), 34px)/1.25 var(--serif); color: var(--gold-hi); }
.js .vs-row .after { color: #A39257; transition: color .8s ease .35s; }
.vs-row .arrow { position: relative; height: 2px; background: rgba(255,255,255,.1); }
.vs-row .arrow::before { content: ""; position: absolute; inset: 0; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease) .15s; box-shadow: 0 0 10px rgba(212,175,55,.6); }
.vs-row .arrow::after { content: ""; position: absolute; right: -2px; top: -5px; width: 10px; height: 10px; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); transform: rotate(45deg); opacity: 0; transition: opacity .3s ease .6s; }
.vs-row.lit .before .s { background-size: 100% 2px; }
.vs-row.lit .arrow::before { transform: scaleX(1); }
.vs-row.lit .arrow::after { opacity: 1; }
.js .vs-row.lit .after { color: var(--gold-hi); }
.honest { margin: 70px 0 0 auto; width: min(760px, 100%); padding: 6px 0 6px 34px; border-left: 3px solid var(--gold); }
.honest p { font: 500 clamp(21px, calc(1.9 * var(--vw)), 26px)/1.5 var(--serif); color: var(--ivory); margin: 0; }
.contrast .cta-row { text-align: right; }

.who { background: var(--gold); color: var(--ink); padding: 80px 0 0; }
.who-grid { display: grid; grid-template-columns: 4fr 8fr; gap: 48px; align-items: start; }
.who h2 { font-size: clamp(30px, calc(3 * var(--vw)), 42px); padding-top: 4px; }
.who-before { font: 600 17px/1.5 var(--sans); color: #4D4422; margin: 0 0 16px; }
.who-before .s { background: linear-gradient(var(--ink), var(--ink)) 0 58% / 0% 2px no-repeat; transition: background-size .8s var(--ease) .2s; }
.js .who-before.in .s { background-size: 100% 2px; }
.who-p { font: 500 clamp(23px, calc(2.1 * var(--vw)), 30px)/1.38 var(--serif); margin: 0; }
.marquee { margin-top: 70px; background: var(--ink); overflow: hidden; padding: 24px 0 26px; }
.track-m { display: flex; width: max-content; align-items: center; gap: 46px; animation: marq 34s linear infinite; }
.track-m span { font: italic 500 clamp(30px, calc(3.4 * var(--vw)), 50px)/1 var(--serif); white-space: nowrap; color: var(--gold); }
.track-m i { width: 10px; height: 10px; background: var(--gold); transform: rotate(45deg); flex: none; opacity: .7; }
@keyframes marq { to { transform: translateX(-50%); } }

.onramp { background: linear-gradient(170deg, #22355C, #1B2A4A 55%, #18264A); color: #D2D9E5; padding: 150px 0 130px; }
.dawn { position: absolute; left: -20vw; bottom: -50vw; width: calc(90 * var(--vw)); height: calc(90 * var(--vw)); border-radius: 50%; background: radial-gradient(circle, rgba(243,215,119,.22), rgba(212,175,55,.06) 45%, transparent 66%); pointer-events: none; }
.ramp-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 60px; align-items: end; }
.onramp h2 { color: var(--white); font-size: clamp(46px, calc(5.8 * var(--vw)), 92px); }
.onramp h2 em { display: block; }
.ramp-copy p { font-size: 20px; line-height: 1.6; margin: 0 0 30px; }
.ramp-copy .flip { --fb: #99A4BA; margin: 0; }
.ramp-copy .flip p { margin-bottom: 10px; }
.ramp { --p: 0; --p2: 0; position: relative; margin-top: 100px; height: 120px; }
.ramp-line { position: absolute; left: 24px; right: 24px; top: 23px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.12); }
.ramp-line .fast, .ramp-line .rest { position: absolute; top: 0; bottom: 0; border-radius: 2px; }
.ramp-line .fast { left: 0; width: calc(50% * var(--p)); background: repeating-linear-gradient(90deg, var(--gold-hi) 0 26px, var(--gold) 26px 40px); animation: streak .5s linear infinite; box-shadow: 0 0 16px rgba(212,175,55,.7); }
.ramp-line .rest { left: 50%; width: calc(50% * var(--p2)); background: rgba(212,175,55,.55); }
@keyframes streak { to { background-position: 40px 0; } }
.stop { position: absolute; top: 0; display: flex; flex-direction: column; gap: 6px; }
.stop.s1 { left: 0; }
.stop.s2 { left: 50%; transform: translateX(-24px); }
.stop.s3 { right: 0; align-items: flex-end; text-align: right; }
.stop b { width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,.25); background: #1B2A4A; transition: all .5s var(--ease); position: relative; }
.stop.s1 b { background: var(--gold); border-color: var(--gold); animation: ping 2.4s ease-out infinite; }
.stop.s1 b::after { content: ""; position: absolute; left: 16px; top: 9px; width: 11px; height: 20px; border-right: 3px solid var(--ink); border-bottom: 3px solid var(--ink); transform: rotate(45deg); }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(212,175,55,.55); } 100% { box-shadow: 0 0 0 22px rgba(212,175,55,0); } }
.stop strong { font: 600 22px/1.2 var(--serif); color: var(--white); margin-top: 8px; }
.stop small { font: italic 500 17px/1.3 var(--serif); color: var(--gold-hi); }
.ramp.at1 .s2 b { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 24px rgba(212,175,55,.6); }
.ramp.at2 .s3 b { border-color: var(--gold); }

.bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; }
.tile { position: relative; border-radius: 14px; padding: 40px; overflow: hidden; margin: 0; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.tile::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .4s ease; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(212,175,55,.18), transparent 60%); }
.tile:hover::before { opacity: 1; }
.tile > * { position: relative; z-index: 1; }
.tag { display: inline-block; font: 700 12px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 20px; }
.tile .after { font-style: normal; }
.tile .before { font-size: 16px; }
.t1 { grid-column: 1 / 6; grid-row: 1; background: var(--white); border: 1px solid var(--rule); box-shadow: 0 30px 60px -40px rgba(27,42,74,.35); --fb: #777165; --fa: var(--navy); }
.t1 .after, .t3 .after { font-size: clamp(22px, calc(1.9 * var(--vw)), 27px); line-height: 1.38; }
.t2 { grid-column: 6 / 13; grid-row: 1 / 3; background: linear-gradient(160deg, #22355C, #14223F); color: #DCE1EA; padding: 60px 56px; min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; box-shadow: 0 50px 90px -50px rgba(11,19,36,.8); --fb: #99A4BA; --fa: var(--gold-hi); }
.t2 .tag { color: var(--gold); align-self: flex-start; }
.t2 .after { font-size: clamp(28px, calc(2.6 * var(--vw)), 38px); line-height: 1.3; }
.t3 { grid-column: 2 / 6; grid-row: 2; background: var(--ivory-2); border: 1px solid var(--rule); --fb: #6A645A; --fa: var(--navy); padding-top: 120px; }
.tile .big-2, .tile .big-5 { position: absolute; z-index: 0; font: 700 360px/.8 var(--serif); pointer-events: none; color: transparent; }
.tile .big-2 { right: 26px; top: 20px; -webkit-text-stroke: 1.5px rgba(212,175,55,.38); }
.tile .big-5 { right: 26px; top: 20px; font-size: 150px; -webkit-text-stroke: 1.5px rgba(156,126,37,.5); }

.days-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.days-top .flip { --fb: #8C96AC; max-width: 520px; margin: 0; }

.bring-right .flip { --fb: #777165; --fa: var(--gold-ink); margin: 0 0 40px 30px; }

.rule .flip { --fb: #848484; }

.cost-top { display: grid; grid-template-columns: 1.4fr 1fr; gap: 50px; align-items: end; margin-bottom: 80px; }
.cost-top .flip { --fb: #8F9BB3; margin: 0; }
.cost .cta-row { text-align: center; }

summary { color: #575F77; }
details[open] summary { color: var(--navy); }
details .a p { border-left: 3px solid var(--gold); padding-left: 22px; }

.closer h2.flip { margin: 0; font-size: clamp(56px, calc(7.6 * var(--vw)), 124px); line-height: .98; }
.closer h2.flip .before { display: block; font: 600 1em/1.02 var(--serif); color: #7A84A0; margin: 0 0 .06em; max-width: none; }
.closer h2.flip .before .s { background-size: 0% .07em; background-position: 0 50%; }
.js .closer h2.flip.in .before .s { background-size: 100% .07em; }
.close-note { margin: 30px 0 0; max-width: 640px; }
.close-note .draft { display: inline; line-height: 1.7; }
.closer h2.flip .after { display: block; font: italic 500 1em/1.02 var(--serif); color: var(--gold); max-width: none; }

@media (max-width: 1100px) {
  .nav .links { display: none; } .nav .btn { margin-left: auto; }
  .ladder { grid-template-columns: 1fr 1fr; }
  .card.main { grid-column: 1 / -1; } .card.step2, .card.step3 { margin-bottom: 0; }
  .crest-stage { width: min(calc(56 * var(--vw)), 640px); }
}
@media (max-width: 980px) {
  .wrap { padding: 0 28px; }
  .hero { flex-direction: column; justify-content: flex-start; padding: 116px 0 0; }
  .crest-stage { position: relative; right: auto; bottom: auto; width: min(calc(84 * var(--vw)), 560px); margin: 34px -3vw 0 auto; order: 2; align-self: flex-end; }
  .hero-copy { order: 1; }
  .ticket { position: relative; left: auto; bottom: auto; order: 3; margin: 14px 28px 56px; max-width: none; }
  .ps-line { line-height: 1.4; }
  .pain-strip { height: 60px; }
  .fam-grid { grid-template-columns: 1fr; gap: 30px; }
  .fam-head { position: static; }
  .pile { height: auto; }
  .chat { position: relative; left: auto; margin: 0 0 14px; width: 100%; transform: rotate(calc(var(--mr) * (1 - var(--p)) * .4)); }
  .chat:nth-child(even) { margin-left: 6%; width: 94%; }
  .bridge { padding: 38px 30px; }
  .why { grid-template-columns: 1fr; min-height: 0; }
  .why-photo { min-height: 0; aspect-ratio: 4 / 4.4; }
  .why-photo::after { background: linear-gradient(0deg, var(--black), transparent 40%); }
  .why-copy { padding: 30px 28px 110px; max-width: none; }
  .ghost-num { top: -60px; }
  .vs-head { display: none; }
  .vs-row { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
  .vs-row .arrow { width: 70px; }
  .honest { margin-top: 50px; }
  .contrast .cta-row { text-align: left; }
  .who-grid { grid-template-columns: 1fr; gap: 18px; }
  .ramp-grid { grid-template-columns: 1fr; gap: 30px; }
  .ramp { height: auto; margin-top: 70px; padding-left: 74px; }
  .ramp-line { left: 23px; right: auto; top: 24px; bottom: 64px; width: 4px; height: auto; }
  .ramp-line .fast { left: 0; right: 0; width: auto; height: calc(50% * var(--p)); background: var(--gold); animation: none; }
  .ramp-line .rest { left: 0; right: 0; width: auto; top: 50%; bottom: auto; height: calc(50% * var(--p2)); }
  .stop { position: relative; left: auto !important; right: auto !important; transform: none !important; align-items: flex-start !important; text-align: left !important; padding: 0 0 40px; min-height: 90px; }
  .stop b { position: absolute; left: -74px; top: 0; }
  .stop strong { margin-top: 10px; }
  .bento { grid-template-columns: 1fr; }
  .t1, .t2, .t3 { grid-column: 1; grid-row: auto; }
  .t3 { margin-left: 10%; }
  .t2 { min-height: 0; }
  .days-top { flex-direction: column-reverse; align-items: flex-start; }
  .days h2 { text-align: left; }
  .connector { display: none; }
  .day-block { width: auto; }
  .day-block.d2 { margin: 26px 0 0 12%; }
  .day-block.d1 { margin-right: 12%; }
  .bring-grid { grid-template-columns: 1fr; }
  .side { writing-mode: horizontal-tb; transform: none; justify-self: start; font-size: clamp(54px, calc(13 * var(--vw)), 96px); }
  .bring-right .flip { margin-left: 0; }
  .pack { transform: rotate(-1deg); padding: 44px 30px 30px; }
  .cost-top { grid-template-columns: 1fr; gap: 30px; }
  .ledger { grid-template-columns: 1fr; gap: 14px; } .ledger ul { columns: 1; }
  .faq-grid { grid-template-columns: 1fr; gap: 24px; }
  .faq-side { position: static; }
  .closer-in { grid-template-columns: 1fr; }
  .crest.small { grid-column: 1; grid-row: 1; justify-self: end; width: 200px; }
  .close-copy { grid-column: 1; grid-row: 2; }
}
@media (max-width: 640px) {
  body { font-size: 18px; }
  .nav { padding: 14px 0; } .nav .brand img { height: 38px; } .nav.scrolled .brand img { height: 34px; }
  .hero h1 { font-size: clamp(40px, calc(10.6 * var(--vw)), 54px); }
  .hero .sub { font-size: 19px; }
  .eyebrow { font-size: 11px; letter-spacing: .18em; padding: 9px 12px; }
  .pain-strip { padding-left: 34px; } .pain-strip::before { width: 22px; } .ps-line { left: 34px; font-size: 17px; }
  .ticket { margin: 12px 20px 48px; font-size: 15px; }
  .wrap { padding: 0 20px; }
  .bigline { padding: 120px 0 130px; }
  .words { padding-left: 0; text-indent: 0; }
  .familiar, .contrast, .onramp, .leave, .bring, .faq, .cost, .days { padding-top: 110px; padding-bottom: 110px; }
  .tile { padding: 32px 26px; } .t2 { padding: 40px 28px; } .t3 { padding-top: 90px; }
  .tile .big-2 { font-size: 240px; }
  .day-block { padding: 30px 24px; } .day-block.d1 { margin-right: 0; } .day-block.d2 { margin-left: 8%; }
  .day-text p { font-size: 19px; }
  .checks li { font-size: 19px; }
  .card.main .price { font-size: 84px; } .card.main { padding: 40px 28px; }
  .ladder { grid-template-columns: 1fr; }
  .card.step2 { margin-left: 6%; } .card.step3 { margin-left: 12%; }
  summary { font-size: 22px; }
  .closer h2.flip { font-size: clamp(48px, calc(13 * var(--vw)), 68px); }
}
@media (max-width: 400px) { .nav .btn { padding: 11px 14px; font-size: 12px; letter-spacing: .05em; } .nav .brand img { height: 32px; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .hero h1 .line > span, .rise, .crest .c-base, .crest .c-cap { opacity: 1 !important; transform: none !important; }
  .js .reveal { opacity: 1; translate: none; }
  .js .hair.reveal { transform: none; }
  .js .words .a-part .w { color: var(--deep-gold); }
  .js .flip .after { opacity: 1; translate: none; }
  .checks li path { stroke-dashoffset: 0; }
  .connector path { stroke-dashoffset: 0; }
  .day-text p { color: var(--white); }
  .why-photo img { transform: none; }
  .pile { --p: 1 !important; }
  .js .vs-row .after { color: var(--gold-hi); }
  .ramp { --p: 1 !important; --p2: 1 !important; }
  .ps-line { position: static; display: block; opacity: 1; translate: none; white-space: normal; }
  .pain-strip { height: auto; }
  .grain, .dust, .c-shine { display: none; }
}


.ftag { display: inline-block; vertical-align: .2em; margin-right: 12px; padding: 5px 9px 4px; border: 1.5px solid currentColor; border-radius: 3px; font: 700 11px/1 var(--sans); font-style: normal; letter-spacing: .2em; text-transform: uppercase; }
.flip .before .ftag { color: var(--fb); }
.flip .after .ftag { color: var(--fa); }
.farrow { position: relative; display: block; width: 2px; height: 30px; margin: 2px 0 12px 14px; background: var(--fa, var(--gold)); transform-origin: top; }
.farrow::after { content: ""; position: absolute; left: -5px; bottom: -1px; width: 8px; height: 8px; border-right: 2px solid var(--fa, var(--gold)); border-bottom: 2px solid var(--fa, var(--gold)); transform: rotate(45deg); }
.flip.center .farrow { margin-left: auto; margin-right: auto; }
.js .flip .before .s { transition: background-size .8s var(--ease) .2s; }
.js .flip .farrow { transform: scaleY(0); opacity: 0; transition: transform .45s var(--ease) 1.25s, opacity .2s ease 1.25s; }
.js .flip.in .farrow { transform: scaleY(1); opacity: 1; }
.js .flip .after { transition: opacity .8s var(--ease) 1.75s, translate .8s var(--ease) 1.75s; }
.after-more { margin: 14px 0 0; font-size: 20px; line-height: 1.6; color: var(--st, inherit); max-width: 34em; }
.js .flip .after-more { opacity: 0; translate: 0 10px; transition: opacity .8s var(--ease) 2.1s, translate .8s var(--ease) 2.1s; }
.js .flip.in .after-more { opacity: 1; translate: 0 0; }
.tile .farrow { margin: 0 0 12px 14px; }
.who-before .ftag { color: #4D4422; }
.closer h2.flip .ftag { display: table; margin: 0 0 .5em; font-size: 12px; }
.closer h2.flip .before .ftag { color: #7A84A0; }
.closer h2.flip .after { margin-top: .12em; }

.pain-strip { display: grid; height: auto; max-width: 640px; margin: 0 0 36px; padding-left: 46px; }
.pain-strip::before { top: 12px; }
.ps-item { grid-area: 1 / 1; opacity: 0; translate: 0 12px; transition: opacity .6s var(--ease), translate .6s var(--ease); --fa: var(--gold-hi); }
.ps-item.on { opacity: 1; translate: 0 0; }
.ps-item.out { opacity: 0; translate: 0 -12px; }
.ps-b { margin: 0; font: 600 19px/1.45 var(--sans); color: #A7B2C7; }
.ps-b .ftag { color: #A7B2C7; }
.ps-b .s { background: linear-gradient(var(--gold), var(--gold)) 0 58% / 0% 2px no-repeat; }
.ps-item .farrow { height: 22px; margin: 8px 0 10px 14px; }
.ps-a { margin: 0; font: italic 500 clamp(24px, calc(2.1 * var(--vw)), 30px)/1.25 var(--serif); color: var(--gold-hi); }
.ps-a .ftag { color: var(--gold-hi); }
.js .ps-a, .js .ps-item .farrow { opacity: 0; }
.ps-item.on .s { animation: psStrike 7s var(--ease) forwards; }
.ps-item.on .farrow { animation: psArrow 7s var(--ease) forwards; }
.ps-item.on .ps-a { animation: psAfter 7s var(--ease) forwards; }
.pain-strip.paused .ps-item.on .s, .pain-strip.paused .ps-item.on .farrow, .pain-strip.paused .ps-item.on .ps-a { animation-play-state: paused; }
@keyframes psStrike { 0%, 5% { background-size: 0% 2px; } 17%, 100% { background-size: 100% 2px; } }
@keyframes psArrow { 0%, 25% { opacity: 0; transform: scaleY(0); } 31%, 100% { opacity: 1; transform: scaleY(1); } }
@keyframes psAfter { 0%, 32% { opacity: 0; translate: 0 8px; } 42%, 100% { opacity: 1; translate: 0 0; } }

.js [data-scene] .st1, .js [data-scene] .st2, .js [data-scene] .st3, .js [data-scene] .st4, .js [data-scene] .st5, .js [data-scene] .st6 { opacity: 0; translate: 0 18px; transition: opacity .7s var(--ease), translate .7s var(--ease), transform .7s var(--ease); }
[data-scene].on1 .st1, [data-scene].on2 .st2, [data-scene].on3 .st3, [data-scene].on4 .st4, [data-scene].on5 .st5, [data-scene].on6 .st6 { opacity: 1; translate: 0 0; }

.bar { display: block; height: 8px; border-radius: 4px; background: currentColor; opacity: .26; margin: 7px 0; }
.bar:nth-child(2n) { width: 72%; } .bar:nth-child(3n) { width: 54%; }
.pill { display: block; width: 74px; height: 20px; border-radius: 10px; background: linear-gradient(180deg, #E4C350, var(--gold)); margin-top: 12px; }
.vtag { position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: 8px; font: 700 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); background: linear-gradient(180deg, #E8C858, var(--gold)); padding: 10px 15px; border-radius: 999px; box-shadow: 0 16px 28px -14px rgba(0,0,0,.45); white-space: nowrap; }
.vtag.in { position: relative; z-index: 1; margin: 12px 0 0; box-shadow: none; }
.vtag svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.card-m { background: var(--white); border-radius: 14px; box-shadow: 0 30px 50px -28px rgba(27,42,74,.5); color: var(--navy); }
.phone { position: absolute; width: 280px; height: 560px; border-radius: 42px; background: #0A0D14; padding: 12px; box-shadow: 0 60px 90px -40px rgba(0,0,0,.7), inset 0 0 0 1.5px #2A2F3A; }
.phone .screen { position: relative; height: 100%; border-radius: 31px; background: var(--ivory); overflow: hidden; padding: 50px 16px 16px; color: var(--navy); }
.phone .screen::before { content: ""; position: absolute; left: 50%; top: 12px; width: 88px; height: 22px; margin-left: -44px; border-radius: 11px; background: #0A0D14; }
.sil { position: relative; display: block; width: 66px; height: 66px; border-radius: 50%; overflow: hidden; background: linear-gradient(160deg, #2C4372, var(--navy)); flex: none; }
.sil::before { content: ""; position: absolute; left: 50%; top: 22%; width: 34%; height: 34%; margin-left: -17%; border-radius: 50%; background: #C9D1DF; }
.sil::after { content: ""; position: absolute; left: 50%; bottom: -26%; width: 70%; height: 56%; margin-left: -35%; border-radius: 50%; background: #C9D1DF; }
.sil.sm { width: 52px; height: 52px; }
.msg { width: 74%; margin: 0 0 12px auto; padding: 10px 14px; border-radius: 18px 18px 4px 18px; background: linear-gradient(180deg, #E4C350, var(--gold)); color: var(--ink); }
.msg.in { margin: 0 auto 12px 0; border-radius: 18px 18px 18px 4px; background: var(--white); color: var(--navy); box-shadow: 0 8px 16px -10px rgba(27,42,74,.4); }

.producer { background: var(--paper); display: grid; grid-template-columns: 46% 1fr; min-height: calc(100 * var(--vh)); }
.pro-photo { position: relative; margin: 0; min-height: 760px; }
.pro-photo picture, .pro-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.pro-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(251,248,241,0) 70%, var(--paper)); pointer-events: none; }
.pro-photo figcaption { position: absolute; left: 24px; top: 110px; z-index: 3; }
.desks { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.desk { position: absolute; width: 230px; padding: 16px 18px 18px; border-radius: 12px; background: rgba(255,255,255,.96); color: var(--navy); box-shadow: 0 30px 50px -24px rgba(11,19,36,.6); }
.desk .vtag.in { margin: 0 0 12px; padding: 7px 11px; font-size: 10.5px; }
.d-req { right: 5%; top: 16%; transform: rotate(2deg); }
.d-com { right: 3%; top: 45%; width: 260px; transform: rotate(-2deg); }
.d-pend { left: 7%; bottom: 7%; transform: rotate(-1.5deg); }
.ck { display: flex; align-items: center; gap: 10px; } .ck b { width: 14px; height: 14px; border: 2px solid #B9B2A2; border-radius: 3px; flex: none; } .ck .bar { flex: 1; margin: 6px 0; }
.tbl { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 0 10px; } .tbl .bar { width: auto !important; margin: 6px 0; }
.pc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .pc span { display: grid; gap: 6px; align-content: start; padding: 6px; border-radius: 6px; background: var(--ivory-2); } .pc i { height: 18px; border-radius: 4px; background: var(--white); box-shadow: 0 2px 4px rgba(27,42,74,.12); }
.pro-copy { padding: 150px calc(8 * var(--vw)) 130px calc(7 * var(--vw)); align-self: center; max-width: 820px; }
.producer .kicker { color: var(--gold-ink); }
.pull { position: relative; margin: 10px 0 34px; padding: 0; }
.pull::before { content: "\201C"; position: absolute; left: -.42em; top: -.32em; font: 700 140px/1 var(--serif); color: var(--gold); opacity: .7; }
.pull p { margin: 0; font: italic 500 clamp(34px, calc(3.4 * var(--vw)), 54px)/1.16 var(--serif); color: var(--navy); }
.pro-copy > p { font-size: 21px; line-height: 1.62; margin: 0 0 20px; }

.cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.cta-line { margin: 0; font: italic 500 clamp(22px, calc(2 * var(--vw)), 28px)/1.3 var(--serif); }
.cta-inline { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--rule); }
.cta-inline .cta-line { color: var(--navy); }
.cta-band-wrap { position: relative; background: linear-gradient(90deg, #13213F, var(--navy) 50%, #13213F); border-top: 1px solid rgba(212,175,55,.35); border-bottom: 1px solid rgba(212,175,55,.35); padding: 60px 40px; overflow: hidden; }
.cta-band-wrap::before { content: ""; position: absolute; left: 50%; top: -120px; width: 800px; height: 300px; margin-left: -400px; border-radius: 50%; background: radial-gradient(circle, rgba(212,175,55,.2), transparent 70%); pointer-events: none; }
.cta-band { position: relative; justify-content: center; text-align: center; max-width: var(--wrap); margin: 0 auto; }
.cta-band .cta-line { color: var(--white); font-size: clamp(28px, calc(3 * var(--vw)), 44px); }
.cta-tile { grid-column: 1 / -1; justify-content: space-between; padding: 38px 44px; border-radius: 16px; background: linear-gradient(120deg, var(--navy), #22355C); box-shadow: 0 40px 70px -40px rgba(11,19,36,.7); }
.cta-tile .cta-line { color: var(--gold-hi); font-size: clamp(26px, calc(2.6 * var(--vw)), 38px); }
.cta-strip-wrap { background: #070C18; padding: 30px 0 34px; }
.cta-strip { justify-content: space-between; } .cta-strip .cta-line { color: #DCE1EA; font-style: normal; font: 600 20px/1.4 var(--sans); letter-spacing: .02em; }
.cta-ticket { width: fit-content; margin: 54px 0 0 auto; padding: 26px 30px 26px 34px; background: #FFFDF7; border: 1px solid var(--rule); border-left: 4px solid var(--gold); transform: rotate(-1.2deg); box-shadow: 0 40px 60px -40px rgba(27,42,74,.5); }
.cta-ticket .cta-line { color: var(--navy); }
.cta-center { justify-content: center; flex-direction: column; gap: 22px; margin-top: 60px; text-align: center; }
.cta-center .cta-line { color: var(--ivory); }
.cta-faq { margin-top: 46px; padding: 26px 0 0; border-top: 2px solid var(--gold); }
.cta-faq .cta-line { color: var(--navy); }
.nav.scrolled .btn-ghost { background: linear-gradient(180deg, #E4C350, var(--gold) 55%, #C39D2C); color: var(--ink); border-color: transparent; }
.float-bar { position: fixed; z-index: 60; left: 12px; right: 12px; bottom: 12px; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 14px; background: rgba(11,19,36,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(212,175,55,.35); color: var(--white); font: 600 15px/1.2 var(--sans); translate: 0 140%; transition: translate .5s var(--ease); }
.float-bar .btn { padding: 14px 18px; font-size: 13px; }
.float-bar.show { translate: 0 0; }

.team { background-color: var(--paper); padding: 150px 0 160px;
  background-image: radial-gradient(rgba(156,126,37,.14) 1px, transparent 1.5px); background-size: 26px 26px; }
.team-head { display: grid; grid-template-columns: 5fr 7fr; gap: 50px; align-items: end; margin-bottom: 60px; }
.team h2 { color: var(--navy); font-size: clamp(54px, calc(7 * var(--vw)), 116px); line-height: .94; }
.team-lead { font: italic 500 clamp(22px, calc(2 * var(--vw)), 30px)/1.4 var(--serif); color: var(--navy); margin: 0 0 14px; }
.roles { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; grid-auto-flow: dense; }
.role { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 280px; padding: 30px; border-radius: 16px; background: var(--white); border: 1px solid var(--rule); color: var(--navy); cursor: pointer; outline: none; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.role.w5 { grid-column: span 5; } .role.w4 { grid-column: span 4; } .role.w3 { grid-column: span 3; } .role.tall { min-height: 360px; }
.role:hover, .role:focus-visible { transform: translateY(-6px); box-shadow: 0 40px 60px -36px rgba(27,42,74,.6); }
.role:focus-visible { box-shadow: 0 0 0 3px var(--gold), 0 40px 60px -36px rgba(27,42,74,.6); }
.role:nth-child(4n+1) { background: linear-gradient(160deg, #22355C, var(--navy)); border-color: transparent; color: var(--white); }
.role:nth-child(6), .role:nth-child(11) { background: #FFF8E6; border-color: #E8D9B0; }
.r-icon { width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; background: var(--navy); }
.r-icon svg { width: 30px; height: 30px; fill: none; stroke: var(--gold-hi); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.role:nth-child(4n+1) .r-icon { background: var(--gold); } .role:nth-child(4n+1) .r-icon svg { stroke: var(--ink); }
.role.tall .r-icon { width: 72px; height: 72px; } .role.tall .r-icon svg { width: 38px; height: 38px; }
.role h3 { margin: auto 0 10px; padding-top: 30px; font-size: clamp(26px, calc(2.2 * var(--vw)), 34px); color: inherit; }
.r-hint { display: inline-flex; align-items: center; gap: 10px; font: 700 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.r-hint::after { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid currentColor; font-size: 15px; letter-spacing: 0; }
.role:nth-child(4n+1) .r-hint { color: var(--gold-hi); }
.r-out { position: absolute; inset: 0; z-index: 2; margin: 0; padding: 30px; overflow: auto; display: flex; align-items: flex-end; font: 400 17.5px/1.5 var(--sans); background: var(--navy); color: #E6EAF1; translate: 0 101%; transition: translate .55s var(--ease); }
.role:nth-child(4n+1) .r-out { background: var(--gold); color: var(--ink); }
.role:hover .r-out, .role:focus .r-out, .role:focus-within .r-out, .role.open .r-out { translate: 0 0; }

.next { background-color: #14244A; color: #D2D9E5; padding: 130px 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 40px 40px; }
.next-box { position: relative; padding: 64px 60px 50px; border: 2px dashed rgba(212,175,55,.75); border-radius: 20px; background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 12px, transparent 12px 24px), rgba(11,19,36,.45); }
.wip { position: absolute; top: -18px; right: 44px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 999px; background: #14244A; border: 2px dashed var(--gold); font: 700 13px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--gold-hi); }
.wip::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--gold-hi); animation: wipBlink 1.6s ease-in-out infinite; }
@keyframes wipBlink { 50% { opacity: .25; } }
.next h2 { color: var(--white); font-size: clamp(40px, calc(4.6 * var(--vw)), 70px); }
.next-lead { font: italic 500 clamp(22px, calc(2 * var(--vw)), 28px)/1.4 var(--serif); color: var(--gold-hi); margin: 18px 0 34px; max-width: 30em; }
.next-list { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 44px; }
.next-list li { display: flex; gap: 16px; align-items: flex-start; font-size: 19px; line-height: 1.5; }
.ring { width: 34px; height: 34px; flex: none; transform: rotate(-90deg); }
.ring circle { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 3; }
.ring .arc { stroke: var(--gold); stroke-linecap: round; stroke-dasharray: var(--a) 1; }

.really { background: radial-gradient(1000px 700px at 85% 0%, #1E3058, #0F1A31 70%); color: #DCE1EA; padding: 150px 0 240px; }
.really-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 60px; align-items: start; }
.really h2 { color: var(--white); font-size: clamp(42px, calc(5 * var(--vw)), 78px); }
.really .flip { --fb: #A7B0C0; --fa: var(--gold-hi); margin-bottom: 34px; }
.big-flip .before { font-size: 20px; }
.big-flip .after { font-size: clamp(32px, calc(3.4 * var(--vw)), 52px); max-width: 16em; }
.really-copy > p { font-size: 22px; line-height: 1.6; max-width: 34em; margin: 0; }
.trail { position: absolute; left: 0; bottom: 30px; width: 100%; height: 200px; pointer-events: none; }
.trail path { fill: none; stroke: var(--gold); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--p, 0)); filter: drop-shadow(0 0 6px rgba(212,175,55,.55)); }

.charge { background: var(--ivory); padding: 150px 0; }
.charge-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 70px; align-items: start; }
.charge-side { position: sticky; top: 130px; }
.seal { width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); box-shadow: 0 0 0 8px var(--ivory), 0 0 0 9px var(--gold); margin-bottom: 34px; }
.seal svg { width: 60px; height: 60px; fill: none; stroke: var(--gold-hi); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.charge h2 { color: var(--navy); font-size: clamp(42px, calc(5 * var(--vw)), 76px); }
.charge-lead { font: 500 clamp(24px, calc(2.2 * var(--vw)), 32px)/1.35 var(--serif); color: var(--navy); margin: 22px 0 0; }
.charge-lead em { color: var(--gold-ink); }
.charge-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.charge-list li { position: relative; padding: 20px 0 20px 44px; border-bottom: 1px solid var(--rule); font-size: 20px; line-height: 1.55; color: var(--charcoal); }
.charge-list li::before { content: ""; position: absolute; left: 6px; top: 26px; width: 9px; height: 16px; border-right: 2.5px solid var(--gold-ink); border-bottom: 2.5px solid var(--gold-ink); transform: rotate(45deg); }

.foot-disc { flex-basis: 100%; max-width: 980px; font-size: 14px; line-height: 1.6; }

@media (max-width: 1100px) {
  .role.w5, .role.w4, .role.w3 { grid-column: span 6; }
  .cta-tile { grid-column: 1 / -1; }
}
@media (max-width: 980px) {
  .producer { grid-template-columns: 1fr; min-height: 0; }
  .pro-photo { min-height: 0; aspect-ratio: 4 / 4.6; }
  .pro-photo::after { background: linear-gradient(0deg, var(--paper), transparent 30%); }
  .d-req { right: 4%; top: 12%; } .d-com { right: 4%; top: 46%; width: 220px; } .d-pend { left: 4%; bottom: 10%; width: 200px; }
  .pro-copy { padding: 30px 28px 110px; max-width: none; }
  .team-head, .charge-grid, .really-grid { grid-template-columns: 1fr; gap: 26px; }
  .charge-side { position: static; }
  .next-list { grid-template-columns: 1fr; }
  .next-box { padding: 56px 28px 36px; }
  .really { padding-bottom: 200px; }
  .float-bar { display: flex; }
  .cta-strip, .cta-tile { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .ps-b { font-size: 16px; } .ps-a { font-size: 21px; }
  .pain-strip { padding-left: 34px; }
  .pull p { font-size: 32px; } .pull::before { font-size: 100px; left: -.3em; }
  .pro-copy > p, .charge-list li, .really-copy > p { font-size: 19px; }
  .desk { width: 170px !important; padding: 12px; } .desk .vtag.in { font-size: 9px; padding: 6px 8px; letter-spacing: .08em; }
  .d-com { top: 40%; } .d-pend { display: none; }
  .team, .next, .charge { padding-top: 110px; } .team, .charge { padding-bottom: 110px; }
  .after-more { font-size: 18px; }
  .vtag { font-size: 10px; padding: 8px 11px; letter-spacing: .1em; }
  .role.w5, .role.w4, .role.w3 { grid-column: 1 / -1; }
  .role { min-height: 0; padding: 26px; }
  .role h3 { padding-top: 22px; }
  .r-out { position: static; translate: none; display: block; max-height: 0; padding: 0; overflow: hidden; background: none !important; color: inherit !important; transition: max-height .5s var(--ease), padding .5s var(--ease); }
  .role:focus .r-out, .role:focus-within .r-out, .role.open .r-out { max-height: 420px; padding: 16px 0 0; }
  .cta { gap: 18px; } .cta-tile { padding: 30px 24px; } .cta-ticket { margin-left: 0; }
  .cta-band-wrap { padding: 46px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .flip .farrow, .js .ps-a, .js .ps-item .farrow { transform: none; opacity: 1; }
  .js .flip .after-more { opacity: 1; translate: none; }
  .ps-item { opacity: 1; translate: none; grid-area: auto; margin-bottom: 18px; }
  .ps-b .s { background-size: 100% 2px; }
  .js [data-scene] .st1, .js [data-scene] .st2, .js [data-scene] .st3, .js [data-scene] .st4, .js [data-scene] .st5, .js [data-scene] .st6 { opacity: 1; translate: none; }
  .trail path { stroke-dashoffset: 0; }
  .r-out { transition: none; }
}

.built { background: var(--paper); padding: 150px 0 0; overflow: visible; }
.built-head { padding-bottom: 40px; }
.built h2 { color: var(--navy); font-size: clamp(56px, calc(8 * var(--vw)), 132px); line-height: .94; max-width: 12ch; }
.built-lead { font: italic 500 clamp(24px, calc(2.4 * var(--vw)), 34px)/1.35 var(--serif); color: var(--navy); margin: 24px 0 18px; max-width: 30em; }
.built-body { position: relative; }

.build-rail { position: absolute; z-index: 5; left: 0; top: 0; bottom: 0; width: 240px; pointer-events: none; }
.br-in { position: sticky; top: 120px; margin: 110px 0 0 26px; width: 196px; padding: 20px 16px 20px 18px; border-radius: 16px; background: rgba(11,19,36,.88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(212,175,55,.3); box-shadow: 0 30px 50px -30px rgba(11,19,36,.7); }
.build-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 15px; }
.build-rail li { position: relative; padding-left: 30px; font: 700 11.5px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: #A3ACBD; transition: color .4s ease; }
.build-rail li::before { content: ""; position: absolute; left: 0; top: -2px; width: 17px; height: 17px; border-radius: 50%; border: 1.5px dashed #A3ACBD; transition: background .4s ease, border-color .4s ease; }
.build-rail li::after { content: ""; position: absolute; left: 6px; top: 1px; width: 4px; height: 8px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg) scale(0); transition: transform .4s var(--ease); }
.build-rail li.done { color: var(--gold-hi); }
.build-rail li.done::before { background: var(--gold); border: 1.5px solid var(--gold); }
.build-rail li.done::after { transform: rotate(45deg) scale(1); }
.build-rail li.on { color: var(--white); }

.scene { --st: var(--charcoal); --sh: var(--navy); --fb: #6E685C; --fa: var(--gold-ink); --pencil: #8F8878; --sheet: var(--white);
  position: relative; display: grid; grid-template-columns: 5fr 6fr; grid-template-areas: "copy vis"; gap: 60px; align-items: center; min-height: calc(92 * var(--vh));
  padding: 90px 3%; padding-left: max(270px, 3%); color: var(--st);
  background-color: var(--paper); background-image: linear-gradient(rgba(27,42,74,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(27,42,74,.055) 1px, transparent 1px); background-size: 32px 32px; }
.scene:nth-child(even) { grid-template-columns: 6fr 5fr; grid-template-areas: "vis copy"; --st: #D2D9E5; --sh: var(--white); --fb: #A7B0C0; --fa: var(--gold-hi); --pencil: rgba(255,255,255,.62);
  background-color: var(--navy); background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); }
.sc-copy { grid-area: copy; }
.sc-copy h3 { font-size: clamp(40px, calc(4.4 * var(--vw)), 68px); color: var(--sh); margin: 0 0 30px; }
.sc-copy .flip { margin: 0; }
.scene .flip { --fb: #6E685C; --fa: var(--gold-ink); }
.scene:nth-child(even) .flip { --fb: #A7B0C0; --fa: var(--gold-hi); }
.sc-copy .flip .before { font-size: 18px; max-width: 30em; }
.sc-copy .after-more { font-size: 19px; }
.scene.long .flip .after { font-size: clamp(24px, calc(2.1 * var(--vw)), 31px); }

.vis { grid-area: vis; position: relative; height: 560px; transition: opacity .8s var(--ease); }
.js .scene:not(.on1) .vis { opacity: 0; }
.vis .vtag { opacity: 1; }
.marks { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; transition: opacity .9s var(--ease); }
.marks * { fill: none; stroke: var(--pencil); stroke-width: 1.5; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }
.scene.on5 .marks { opacity: 0; }

.pz { position: absolute; border: 2px solid transparent; border-radius: 14px; transition: background-color .7s var(--ease), border-color .7s var(--ease), box-shadow .7s var(--ease), opacity .7s var(--ease), transform .9s var(--ease), translate .9s var(--ease); }
.pz > * { transition: opacity .6s var(--ease) .15s; }
.sheet { background: var(--sheet); color: var(--navy); box-shadow: 0 30px 50px -28px rgba(11,19,36,.55); }
.js [data-scene]:not(.on2) .k2, .js [data-scene]:not(.on3) .k3, .js [data-scene]:not(.on4) .k4 { background: transparent !important; border-color: var(--pencil) !important; border-style: dashed !important; box-shadow: none !important; }
.js [data-scene]:not(.on2) .k2 > *, .js [data-scene]:not(.on3) .k3 > *, .js [data-scene]:not(.on4) .k4 > * { opacity: 0; }
.ic { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.v1 .phone { width: 230px; height: 460px; border-radius: 36px; padding: 10px; left: 0; top: 40px; }
.v1 .phone .screen { padding: 56px 12px 12px; border-radius: 27px; }
.v1 .phone.pz { border-radius: 36px; }
.v1 .msg { width: 82%; }
.typing { display: flex; gap: 5px; width: 64px; padding: 12px 14px; border-radius: 18px 18px 18px 4px; background: var(--white); box-shadow: 0 8px 16px -10px rgba(27,42,74,.4); }
.typing i { width: 7px; height: 7px; border-radius: 50%; background: #9AA3B5; animation: typ 1.2s ease-in-out infinite; } .typing i:nth-child(2) { animation-delay: .15s; } .typing i:nth-child(3) { animation-delay: .3s; }
@keyframes typ { 50% { translate: 0 -4px; opacity: .4; } }
.m1a { right: 0; top: 0; width: 54%; padding: 20px; }
.m1a .tool-top { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; } .m1a .tool-top .bar { flex: 1; height: 10px; opacity: .4; }
.dotg { width: 12px; height: 12px; border-radius: 50%; background: var(--gold); flex: none; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tool-grid span { height: 64px; border-radius: 10px; background: var(--ivory-2); } .tool-grid span:first-child { grid-column: 1 / -1; height: 84px; background: linear-gradient(140deg, #22355C, var(--navy)); }
.m1b { right: 6%; bottom: 4%; width: 46%; padding: 18px 20px; transform: rotate(1.5deg); }
.m1b .row-t { display: flex; align-items: center; gap: 12px; padding: 7px 0; } .m1b .row-t .bar { flex: 1; margin: 0; }
.tog { width: 34px; height: 18px; border-radius: 9px; background: var(--gold); position: relative; flex: none; } .tog::after { content: ""; position: absolute; right: 2px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--white); }
.t1v { left: 150px; bottom: 6%; }

.crm { left: 0; right: 0; top: 3%; bottom: 6%; overflow: hidden; }
.crm.sheet { background: var(--white); }
.crm .w-top { display: flex; gap: 7px; align-items: center; height: 42px; padding: 0 16px; background: var(--ivory-2); border-bottom: 1px solid var(--rule); }
.crm .w-top i { width: 10px; height: 10px; border-radius: 50%; background: #CFC6B2; } .crm .w-top .bar { flex: 0 0 46%; margin: 0 0 0 18px; height: 14px; border-radius: 7px; opacity: .14; }
.crm-in { position: absolute; left: 0; right: 0; top: 42px; bottom: 0; }
.crm-list { left: 14px; top: 14px; bottom: 14px; width: 33%; padding: 12px; background: var(--paper); }
.crm-list .cr { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--ivory-2); } .crm-list .cr > div { flex: 1; } .crm-list .bar { margin: 4px 0; }
.crm-list .sil { width: 30px; height: 30px; }
.crm-board { left: calc(33% + 28px); right: 14px; top: 14px; bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 12px; background: var(--ivory); }
.crm-board .col { display: grid; align-content: start; gap: 8px; } .crm-board .col > .bar { height: 10px; opacity: .45; margin: 2px 0 6px; }
.crm-board .cd { padding: 8px 10px; border-radius: 8px; background: var(--white); box-shadow: 0 4px 10px -6px rgba(27,42,74,.4); border-left: 3px solid var(--gold); } .crm-board .cd .bar { margin: 4px 0; }
.crm-board .col:nth-child(2) .cd { border-left-color: var(--navy); } .crm-board .col:nth-child(3) .cd { border-left-color: #8BA0C4; }
.t2v { right: 18px; top: 8px; }

.cnote { left: 0; width: 31%; padding: 16px 16px 20px; border-radius: 4px; background: #FFF1BF; color: #5A4A1A; box-shadow: 0 16px 24px -16px rgba(11,19,36,.5); }
.cnote .bar { opacity: .4; } .n1 { top: 4%; transform: rotate(-3deg); } .n2 { top: 36%; transform: rotate(2deg); } .n3 { top: 68%; transform: rotate(-1.5deg); }
.flow { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.flow path { fill: none; stroke: var(--gold); stroke-width: 2; stroke-dasharray: 6 7; stroke-dashoffset: 0; transition: opacity .7s var(--ease); vector-effect: non-scaling-stroke; }
.js .scene:not(.on3) .flow path { opacity: 0; }
.c-post { left: 44%; top: 0; width: 30%; padding: 10px; transform: rotate(-4deg); }
.c-post .img { aspect-ratio: 1; border-radius: 8px; margin-bottom: 8px; background: radial-gradient(circle at 70% 30%, rgba(243,215,119,.9), transparent 45%), linear-gradient(150deg, #22355C, var(--navy)); }
.c-mail { right: 0; top: 6%; width: 30%; padding: 16px; transform: rotate(3deg); } .c-mail .ic { color: var(--gold-ink); margin-bottom: 6px; }
.c-land { left: 40%; top: 44%; width: 46%; overflow: hidden; padding: 0 0 14px; transform: rotate(-1deg); }
.c-land .hero-b { height: 84px; background: linear-gradient(130deg, var(--navy), #2C4372); margin-bottom: 10px; } .c-land .bar { margin-left: 14px; margin-right: 14px; } .c-land .pill { margin-left: 14px; }
.c-ban { right: 0; bottom: 2%; width: 52%; height: 86px; padding: 18px 20px; transform: rotate(2deg); background: linear-gradient(100deg, #0E0E10, #26221A); color: var(--gold-hi); }
.c-ban .bar { opacity: .7; }
.t3v { left: 38%; bottom: 0; }

.cover { left: 4%; top: 2%; width: 44%; aspect-ratio: 2 / 3; border-radius: 4px 10px 10px 4px; padding: 10%; display: flex; flex-direction: column; justify-content: space-between; align-items: center;
  background: linear-gradient(150deg, #1A1A1D, #0B0B0B 70%); box-shadow: 0 50px 80px -40px rgba(0,0,0,.9), inset 6px 0 0 rgba(255,255,255,.05); }
.js .scene:not(.on2) .cover::before { opacity: 0; }
.cover::before { transition: opacity .6s ease; content: ""; position: absolute; inset: 7%; border: 1.5px solid rgba(212,175,55,.7); pointer-events: none; }
.cover .chev { width: 46%; height: auto; fill: none; stroke: var(--gold); stroke-width: 6; stroke-linecap: square; margin-top: 18%; }
.cover .tl { width: 100%; display: grid; justify-items: center; gap: 2px; } .cover .tl .bar { background: var(--gold); opacity: .9; height: 10px; } .cover .tl .bar:first-child { width: 86%; height: 14px; }
.tiles { right: 0; top: 4%; width: 46%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px; background: rgba(255,255,255,.08); }
.tiles i { aspect-ratio: 4 / 5; border-radius: 6px; background: linear-gradient(160deg, #F7F3EA, #E6DCC4); } .tiles i:nth-child(3n+2) { background: linear-gradient(160deg, #0E0E10, #2A2416); box-shadow: inset 0 0 0 1px rgba(212,175,55,.6); } .tiles i:nth-child(4n) { background: radial-gradient(circle at 70% 30%, rgba(243,215,119,.9), transparent 50%), linear-gradient(150deg, #22355C, var(--navy)); }
.ccal { right: 0; top: 64%; width: 46%; display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; padding: 12px; background: rgba(255,255,255,.08); }
.ccal i { aspect-ratio: 1; border-radius: 5px; background: rgba(255,255,255,.12); position: relative; } .ccal i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px; border-radius: 50%; background: var(--gold); }
.t4v { left: 52%; top: 88%; }

.field { left: 0; top: 4%; width: 52%; padding: 22px; display: grid; grid-template-columns: repeat(8, 1fr); gap: 11px; align-content: center; background: rgba(27,42,74,.04); }
.field i { aspect-ratio: 1; border-radius: 50%; background: #B9C2D2; translate: var(--x, 0) var(--y, 0); } .field i:nth-child(5n+2) { background: var(--navy); } .field i:nth-child(7n+3) { background: var(--gold); }
.lens { position: absolute; width: 96px; height: 96px; left: 20%; top: 26%; border-radius: 50%; border: 4px solid var(--navy); background: rgba(255,255,255,.28); box-shadow: 0 10px 24px -10px rgba(11,19,36,.6); animation: lens 7s ease-in-out infinite; }
.lens::after { content: ""; position: absolute; right: -24px; bottom: -14px; width: 34px; height: 8px; border-radius: 4px; background: var(--navy); transform: rotate(40deg); }
@keyframes lens { 0%, 100% { translate: 0 0; } 33% { translate: 90px 70px; } 66% { translate: 30px 150px; } }
.plist { right: 0; top: 10%; width: 44%; padding: 12px 16px; }
.plist .pr { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--ivory-2); } .plist .pr > div { flex: 1; } .plist .bar { margin: 4px 0; } .plist .sil { width: 34px; height: 34px; }
.plist2 { top: auto; bottom: 4%; }
.t5v { left: 4%; bottom: 0; }

.spark { position: absolute; left: 50%; top: 52%; width: 24px; height: 24px; margin: -12px; border-radius: 50%; background: radial-gradient(circle, #FFF6D6, var(--gold) 55%, rgba(212,175,55,0) 72%); box-shadow: 0 0 40px 14px rgba(212,175,55,.35); animation: spk 2.4s ease-in-out infinite; }
@keyframes spk { 50% { box-shadow: 0 0 60px 22px rgba(212,175,55,.5); } }
.icard { width: 34%; padding: 16px 18px; --sheet: #F7F3EA; }
.icard .ic { width: 30px; height: 30px; color: var(--navy); margin-bottom: 8px; }
.i1 { left: 0; top: 2%; transform: rotate(-6deg); } .i2 { right: 0; top: 0; transform: rotate(5deg); } .i3 { left: 2%; bottom: 6%; transform: rotate(4deg); } .i4 { right: 2%; bottom: 2%; transform: rotate(-4deg); } .i5 { left: 33%; top: 28%; z-index: 2; transform: rotate(-1deg); }
.icard.lit { transition: background-color .7s var(--ease), box-shadow .7s var(--ease), transform .9s var(--ease); }
.scene.on5 .icard.lit, html:not(.js) .icard.lit { background: linear-gradient(180deg, #F0D46A, var(--gold)); box-shadow: 0 0 0 4px rgba(243,215,119,.35), 0 40px 60px -26px rgba(212,175,55,.7); transform: rotate(-1deg) scale(1.06); }
.scene.on5 .icard.lit .ic, html:not(.js) .icard.lit .ic { color: var(--ink); }
.t6v { left: 36%; top: 6%; }

.week { left: 0; top: 2%; width: 56%; height: 46%; padding: 14px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; background: rgba(27,42,74,.04); }
.wc { display: grid; align-content: start; gap: 8px; transition: transform 1.1s var(--ease), opacity 1.1s var(--ease); }
.wc i { height: 26px; border-radius: 5px; background: #B9C2D2; } .wc i:nth-child(2) { height: 44px; background: var(--navy); } .wc i:nth-child(3) { background: var(--gold); }
.scene.on3 .wc { transform: scaleY(.92); transform-origin: top; opacity: .45; }
.oneday { left: 63%; top: 2%; width: 27%; height: 96%; padding: 8px; display: grid; align-content: start; gap: 5px; overflow: hidden; }
.oneday i { height: 22px; border-radius: 4px; background: #B9C2D2; } .oneday i:nth-child(3n+2) { background: var(--navy); height: 26px; } .oneday i:nth-child(4n) { background: var(--gold); }
.v7 .phone { width: 180px; height: 320px; border-radius: 32px; padding: 9px; left: 14%; bottom: 0; }
.v7 .phone.pz { border-radius: 32px; }
.v7 .phone .screen { padding: 50px 10px 10px; border-radius: 24px; }
.t7v { left: 0; top: 50%; }

.built-note { position: relative; z-index: 2; background: var(--paper); padding: 90px 40px 110px; border-top: 1px solid var(--rule); }
.bn-box { max-width: 980px; margin: 0 auto; display: flex; gap: 30px; align-items: center; padding: 34px 40px; border: 2px solid var(--gold); border-radius: 16px; background: var(--white); box-shadow: 0 40px 60px -44px rgba(27,42,74,.5); }
.bn-box .seal { width: 84px; height: 84px; margin: 0; flex: none; box-shadow: none; }
.bn-box .seal svg { width: 44px; height: 44px; }
.bn-box p { margin: 0; font: 500 clamp(22px, calc(2 * var(--vw)), 28px)/1.4 var(--serif); color: var(--navy); }
.built-note .bn-draft { max-width: 980px; margin: 22px auto 0; }

.hl-note { margin: 0 0 26px; max-width: 640px; }

@media (max-width: 1100px) {
  .build-rail { display: none; }
  .scene { padding-left: 40px; }
}
@media (max-width: 980px) {
  .scene, .scene:nth-child(even) { grid-template-columns: 1fr; grid-template-areas: "copy" "vis"; gap: 44px; min-height: 0; padding: 100px 28px; }
  .vis { height: 540px; max-width: 560px; width: 100%; justify-self: center; }
  .bn-box { flex-direction: column; align-items: flex-start; padding: 28px; }
}
@media (max-width: 640px) {
  .built { padding-top: 110px; }
  .scene, .scene:nth-child(even) { padding: 90px 20px; }
  .vis { height: 480px; }
  .v1 .phone { width: 180px; height: 360px; border-radius: 30px; top: 70px; } .v1 .phone .screen { padding: 44px 9px 9px; border-radius: 22px; }
  .m1a { width: 56%; padding: 14px; } .tool-grid span { height: 44px; } .tool-grid span:first-child { height: 58px; } .m1b { width: 58%; right: 0; } .t1v { left: 40px; bottom: 0; }
  .crm-list { width: 40%; } .crm-board { left: calc(40% + 24px); grid-template-columns: repeat(2, 1fr); } .crm-board .col:nth-child(3) { display: none; }
  .cnote { width: 36%; padding: 12px; } .c-post { width: 34%; left: 42%; } .c-mail { width: 34%; } .c-land { width: 54%; } .c-ban { width: 60%; height: 70px; }
  .cover { width: 50%; } .tiles, .ccal { width: 44%; } .t4v { left: 2%; top: auto; bottom: 0; }
  .field { width: 54%; grid-template-columns: repeat(6, 1fr); gap: 7px; padding: 12px; } .lens { width: 70px; height: 70px; } .plist, .plist2 { width: 50%; padding: 8px 10px; } .plist .sil { width: 26px; height: 26px; }
  .icard { width: 44%; padding: 12px; } .i5 { left: 28%; }
  .week { width: 62%; height: 46%; padding: 8px; gap: 5px; } .wc { gap: 5px; } .wc i { height: 18px; } .wc i:nth-child(2) { height: 30px; }
  .oneday { left: 66%; width: 30%; } .v7 .phone { width: 140px; height: 260px; border-radius: 26px; left: 8%; } .t7v { top: 49%; }
  .built-note { padding: 70px 20px 90px; }
  .nav .btn-ghost { padding: 11px 12px; font-size: 11px; letter-spacing: .04em; white-space: nowrap; }
  .nav .wrap { gap: 12px; padding: 0 16px; } .nav .brand img { height: 40px; } .nav.scrolled .brand img { height: 34px; }
  .float-bar span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .float-bar .btn { flex: none; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .lens, .spark, .typing i { animation: none; }
  .wc { transition: none; }
}

.hire { --fb: #625C4C; --fa: var(--gold-ink); background-color: var(--ivory-2); padding: 150px 0 130px;
  background-image: radial-gradient(900px 600px at 90% 10%, rgba(212,175,55,.16), transparent 70%); }
.hire-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 70px; align-items: center; }
.hire h2 { color: var(--navy); font-size: clamp(44px, calc(5.2 * var(--vw)), 84px); line-height: .98; }
.hire-lead { font: italic 500 clamp(24px, calc(2.2 * var(--vw)), 32px)/1.35 var(--serif); color: var(--navy); margin: 22px 0 34px; }
.hire .flip, .names .flip { --fb: #625C4C; --fa: var(--gold-ink); }
.hire .flip .after { font-size: clamp(24px, calc(2.1 * var(--vw)), 31px); }
.hire .after-more { color: var(--charcoal); }
.board { position: relative; padding: 70px 30px 30px; border-radius: 18px; background-color: var(--navy); background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 28px 28px; box-shadow: 0 60px 90px -50px rgba(11,19,36,.8), inset 0 0 0 8px #13213F; }
.board-sign { position: absolute; left: 50%; top: -22px; translate: -50% 0; padding: 14px 28px; border-radius: 6px; background: linear-gradient(180deg, #E8C858, var(--gold)); color: var(--ink); font: 700 15px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 16px 30px -14px rgba(0,0,0,.6); }
.board-sign::before, .board-sign::after { content: ""; position: absolute; top: -40px; width: 2px; height: 40px; background: rgba(212,175,55,.7); } .board-sign::before { left: 24%; } .board-sign::after { right: 24%; }
.seats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.seat { position: relative; display: grid; gap: 14px; padding: 18px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.seat-tag { justify-self: start; padding: 8px 12px; border-radius: 999px; border: 1.5px solid rgba(243,215,119,.7); color: var(--gold-hi); font: 700 12px/1.1 var(--sans); letter-spacing: .1em; text-transform: uppercase; transition: background .6s ease, color .6s ease, border-color .6s ease; }
.occ { position: relative; display: flex; align-items: center; gap: 14px; min-height: 128px; padding: 18px; --sheet: var(--white); }
.occ.pz { border-radius: 12px; }
.occ .sil { width: 66px; height: 66px; } .occ > div { flex: 1; }
.chair { position: absolute; inset: 0; display: grid; place-items: center; }
.chair svg { width: 46px; height: 46px; fill: none; stroke: rgba(255,255,255,.5); stroke-width: 1.5; stroke-dasharray: 4 4; }
.hire.on2 .s-k2 .chair, .hire.on3 .s-k3 .chair, .hire.on4 .s-k4 .chair, html:not(.js) .chair { opacity: 0; }
.chair { transition: opacity .5s ease; }
.hire.on2 .s-k2 .seat-tag, .hire.on3 .s-k3 .seat-tag, .hire.on4 .s-k4 .seat-tag, html:not(.js) .seat-tag { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.hire-note { margin-top: 26px; }

.cta-pin { position: relative; width: fit-content; margin: 70px auto 0; padding: 30px 34px 28px; background: #FFFDF7; border-radius: 4px; transform: rotate(1deg); box-shadow: 0 40px 60px -36px rgba(27,42,74,.55); }
.cta-pin::before { content: ""; position: absolute; left: 50%; top: -11px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F3D777, var(--gold) 55%, #8F7220); box-shadow: 0 6px 10px -4px rgba(0,0,0,.5); }
.cta-pin .cta-line { color: var(--navy); }

.names { --fb: #625C4C; --fa: var(--gold-ink); background: radial-gradient(800px 600px at 15% 30%, rgba(212,175,55,.2), transparent 70%), #F3E9D2; padding: 150px 0; }
.names-grid { display: grid; grid-template-columns: 6fr 5fr; gap: 80px; align-items: center; }
.names h2 { color: var(--navy); font-size: clamp(44px, calc(5.2 * var(--vw)), 84px); line-height: .98; }
.names-lead { font: italic 500 clamp(26px, calc(2.4 * var(--vw)), 36px)/1.35 var(--serif); color: var(--navy); margin: 30px 0 26px; }
.names-copy > p { font-size: 20px; line-height: 1.6; margin: 0 0 22px; }
.names .flip { margin: 34px 0 30px; }
.creator { position: relative; }
.cr-card { position: relative; padding: 34px; border-radius: 22px; background: var(--white); color: var(--navy); box-shadow: 0 60px 90px -50px rgba(27,42,74,.65); }
.cr-face { position: relative; width: 220px; height: 220px; margin: 0 auto 26px; border-radius: 50%; border: 2px dashed #A59E8E; background: var(--ivory); transition: background .8s var(--ease), border-color .8s var(--ease); overflow: hidden; }
.cr-face .blank { position: absolute; inset: 0; display: grid; place-items: center; transition: opacity .6s ease; } .cr-face .blank .sil { width: 120px; height: 120px; background: transparent; } .cr-face .blank .sil::before, .cr-face .blank .sil::after { background: #D9D2C2; }
.face { position: absolute; inset: 8% 8% 0; width: 84%; height: 92%; fill: none; stroke: var(--navy); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.face path, .face circle { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--ease); }
.js .names:not(.on5) .face path, .js .names:not(.on5) .face circle { stroke-dashoffset: 1; }
.names.on5 .cr-face, html:not(.js) .cr-face { border: 2px solid var(--gold); background: #FFF6DC; }
.names.on5 .cr-face .blank, html:not(.js) .cr-face .blank { opacity: 0; }
.cr-row { display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--ivory-2); }
.cr-row > b { font: 700 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.name-tag { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 10px; background: linear-gradient(180deg, #E8C858, var(--gold)); color: var(--ink); } .name-tag .bar { flex: 1; margin: 0; opacity: .5; height: 10px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; } .chips span { display: block; width: 74px; padding: 9px 12px; border-radius: 999px; background: var(--ivory-2); } .chips span:nth-child(2) { width: 96px; } .chips .bar { margin: 0; width: 100% !important; }
.role-chip { justify-self: start; padding: 9px 14px; border-radius: 999px; background: var(--navy); color: var(--gold-hi); font: 700 12px/1.1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.crew { display: flex; justify-content: center; gap: 18px; margin-top: 26px; }
.crew span { width: 78px; height: 78px; border-radius: 50%; overflow: hidden; display: grid; place-items: end center; border: 2px solid var(--white); box-shadow: 0 16px 26px -14px rgba(27,42,74,.6); }
.crew span:nth-child(1) { background: var(--navy); } .crew span:nth-child(2) { background: var(--gold); } .crew span:nth-child(3) { background: var(--white); }
.crew svg { width: 86%; height: 86%; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.crew span:nth-child(1) svg { stroke: var(--gold-hi); } .crew span:nth-child(2) svg { stroke: var(--ink); } .crew span:nth-child(3) svg { stroke: var(--navy); }
.cta-sign { margin-top: 34px; padding: 22px 26px; border-radius: 14px; background: var(--navy); border: 1px solid rgba(212,175,55,.5); justify-content: space-between; }
.cta-sign .cta-line { color: var(--gold-hi); }

@media (max-width: 980px) {
  .hire-grid, .names-grid { grid-template-columns: 1fr; gap: 60px; }
  .hire, .names { padding: 110px 0; }
  .creator { max-width: 520px; }
}
@media (max-width: 640px) {
  .seats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .board { padding: 60px 14px 14px; }
  .board-sign { font-size: 12px; padding: 12px 18px; }
  .seat { padding: 12px; gap: 10px; } .seat-tag { font-size: 10px; padding: 7px 9px; letter-spacing: .06em; }
  .occ { min-height: 70px; padding: 10px; gap: 8px; } .occ .sil { width: 40px; height: 40px; }
  .cr-card { padding: 24px 20px; } .cr-face { width: 150px; height: 150px; }
  .cr-row { grid-template-columns: 1fr; gap: 8px; }
  .names-copy > p { font-size: 19px; }
  .crew span { width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .face path, .face circle { transition: none; }
}

html { zoom: var(--z); }
@media (min-width: 1700px) { :root { --z: 1.15; } }
@media (min-width: 1900px) { :root { --z: 1.25; } }
@media (min-width: 2200px) { :root { --z: 1.4; } }
@media (min-width: 2450px) { :root { --z: 1.6; } }
.wrap, .nav .wrap { max-width: none; padding-left: max(20px, 3%); padding-right: max(20px, 3%); }
.cta-band { max-width: none; }
@media (min-width: 981px) {
  .hero { padding: 140px 0 150px; }
  .bigline { padding: 130px 0 140px; }
  .leave, .bring, .faq, .familiar, .onramp, .team, .charge, .hire, .names { padding-top: 104px; padding-bottom: 104px; }
  .days, .cost, .next { padding-top: 100px; padding-bottom: 110px; }
  .really { padding: 104px 0 190px; }
  .built { padding-top: 104px; }
  .scene { min-height: calc(78 * var(--vh)); padding-top: 80px; padding-bottom: 80px; }
  .vis { height: 620px; }
  .rule { min-height: calc(80 * var(--vh)); padding: 90px 0; }
  .closer { min-height: calc(86 * var(--vh)); padding: 110px 0; }
  .pro-copy { padding-top: 110px; padding-bottom: 100px; max-width: 900px; }
  .why-copy { padding-top: 110px; padding-bottom: 100px; max-width: 760px; }
  .built-note { padding: 70px 3% 90px; }
  .bn-box { max-width: 1200px; }
  .leave h2 { max-width: 16ch; }
}

.hero { --h1: clamp(34px, calc(3.6 * var(--vw)), 66px); --crest-w: 33; --crest-top: 12; --crest-right: 4; --accent: var(--gold); }
.hero h1 .accent, .hero .ps-a, .hero .ps-a .ftag { color: var(--accent); }
@media (min-width: 981px) {
  .hero { padding: 118px 0 128px; }
  .hero-copy > *, .hero-copy > h1 { max-width: calc((100 - var(--crest-w) - var(--crest-right) - 6) * var(--vw)); }
  .eyebrow { margin-bottom: 26px; }
  .hero h1 { font-size: var(--h1); line-height: 1.06; margin-bottom: 22px; }
  .hero h1 .line { white-space: nowrap; }
  .hero .sub { font-size: 21px; margin: 0 0 30px; }
  .pain-strip { margin: 0 0 30px; }
  .ticket { bottom: 30px; }
  .crest-stage { top: max(108px, calc(var(--crest-top) * var(--vh))); bottom: auto; right: calc(var(--crest-right) * var(--vw)); width: min(calc(var(--crest-w) * var(--vw)), 680px); }
}
@media (min-width: 981px) {
  .ticket { left: max(20px, 3%); }
  .hero-light.l1 { top: 2%; bottom: auto; right: 0; }
  .hero-bg { background:
    radial-gradient(900px 760px at 80% 34%, rgba(44,66,110,.95), rgba(27,42,74,.6) 45%, transparent 75%),
    radial-gradient(1100px 700px at 0% 0%, rgba(27,42,74,.8), transparent 70%),
    linear-gradient(180deg, #0E1730, var(--ink)); }
}
@media (min-width: 981px) and (max-width: 1100px) { .chat { margin-left: calc(min(470px, 100%) / -2); } }

.av { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--avbg, var(--ivory)); box-shadow: 0 0 0 2px var(--gold), 0 14px 24px -14px rgba(11,19,36,.55); }
.av .lf { display: block; width: 100%; height: 100%; fill: none; stroke: var(--navy); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.av img { display: block; width: 100%; height: 100%; object-fit: cover; }
.occ .av { width: 66px; flex: none; }
.r-face { position: relative; width: 70px; flex: none; }
.r-face .av { width: 70px; }
.r-face .r-icon { position: absolute; right: -12px; bottom: -6px; width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 0 0 3px var(--white); }
.r-face .r-icon svg { width: 19px; height: 19px; }
.role:nth-child(4n+1) .r-face .r-icon { box-shadow: 0 0 0 3px var(--navy); }
.role:nth-child(6) .r-face .r-icon, .role:nth-child(11) .r-face .r-icon { box-shadow: 0 0 0 3px #FFF8E6; }
.role.tall .r-face, .role.tall .r-face .av { width: 86px; }
.role.tall .r-face .r-icon { width: 38px; height: 38px; } .role.tall .r-face .r-icon svg { width: 21px; height: 21px; }

.bl-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 4%; align-items: center; }
.bl-grid .words { font-size: clamp(36px, calc(4 * var(--vw)), 72px); padding-left: 0; text-indent: 0; max-width: none; }
.bt { position: relative; width: 100%; aspect-ratio: 1.25; --pencil: #8F8878; }
.b-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; z-index: 1; pointer-events: none; }
.b-lines path { fill: none; stroke: var(--gold); stroke-width: .42; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--ease) .15s; }
.b-app { position: absolute; left: 16%; top: 16%; width: 68%; height: 64%; z-index: 2; border-radius: 14px; border: 2px solid var(--rule); background: var(--white); box-shadow: 0 40px 60px -36px rgba(11,19,36,.5); transition: background-color .7s var(--ease), border-color .7s var(--ease), box-shadow .7s var(--ease); }
.b-bar { position: absolute; left: 0; right: 0; top: 0; height: 11%; border-bottom: 1px solid var(--rule); display: flex; align-items: center; gap: 1.4%; padding-left: 3%; transition: opacity .6s ease; }
.b-bar i { width: 2.2%; aspect-ratio: 1; border-radius: 50%; background: #D9D2C2; }
.b-check { position: absolute; right: 2.5%; top: 50%; width: 7%; aspect-ratio: 1; translate: 0 -50%; border-radius: 50%; background: var(--gold); transition: opacity .6s ease, scale .6s var(--ease); }
.b-check::after { content: ""; position: absolute; left: 34%; top: 22%; width: 26%; height: 44%; border: solid var(--ink); border-width: 0 2.5px 2.5px 0; rotate: 40deg; }
.b-part-box { position: absolute; border: 2px solid var(--rule); border-radius: 10px; background: var(--paper); padding: 4% 4% 3%; display: flex; flex-direction: column; gap: 6%; overflow: hidden; transition: background-color .7s var(--ease), border-color .7s var(--ease), box-shadow .7s var(--ease); }
.b-part-box > .b-in { flex: 1; min-height: 0; position: relative; transition: opacity .6s var(--ease) .2s; }
.b-tag { align-self: flex-start; padding: 5px 9px; border-radius: 999px; background: var(--navy); color: var(--white); font: 700 11px/1.1 var(--sans); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; transition: background .6s ease, color .6s ease; }
.b-dir { left: 2.9%; top: 14.1%; width: 58.8%; height: 39.1%; }
.b-cal { left: 64.7%; top: 14.1%; width: 32.4%; height: 39.1%; }
.b-log { left: 2.9%; top: 56.2%; width: 27.9%; height: 40.6%; }
.b-kit { left: 33.8%; top: 56.2%; width: 27.9%; height: 40.6%; }
.b-rep { left: 64.7%; top: 56.2%; width: 32.4%; height: 40.6%; }
.bt .bar { display: block; height: 7px; border-radius: 4px; background: #DCD5C5; }
.b-row { display: flex; align-items: center; gap: 4%; margin-bottom: 4%; } .b-row .bar { flex: 1; } .b-row .b-short { flex: .5; background: var(--gold); opacity: .7; }
.b-dot { width: 9%; max-width: 22px; aspect-ratio: 1; border-radius: 50%; background: var(--navy); flex: none; }
.b-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; height: 100%; } .b-grid i { border-radius: 3px; background: #E7E0D0; } .b-grid i:nth-child(6), .b-grid i:nth-child(11) { background: var(--gold); }
.b-lock { display: block; width: 26%; aspect-ratio: 1; margin-bottom: 8%; border-radius: 6px; background: var(--navy); position: relative; } .b-lock::before { content: ""; position: absolute; left: 25%; right: 25%; top: -36%; height: 46%; border: 3px solid var(--navy); border-bottom: 0; border-radius: 99px 99px 0 0; }
.b-log .bar { margin-bottom: 7%; }
.b-card { display: block; position: absolute; left: 0; top: 0; width: 62%; height: 52%; border-radius: 6px; background: var(--navy); box-shadow: inset 0 -6px 0 var(--gold); } .b-card.b-c2 { left: 30%; top: 22%; background: var(--white); border: 1.5px solid var(--rule); box-shadow: inset 4px 0 0 var(--gold); }
.b-kit .bar { position: absolute; left: 0; right: 30%; bottom: 0; }
.b-chart { display: flex; align-items: flex-end; gap: 8%; height: 100%; border-bottom: 1.5px solid var(--rule); } .b-chart i { flex: 1; height: var(--h); border-radius: 4px 4px 0 0; background: var(--navy); } .b-chart i:last-child { background: var(--gold); }
.b-node { position: absolute; z-index: 3; width: 12%; translate: -50% -50%; transition: opacity .6s var(--ease), scale .7s cubic-bezier(.3,1.4,.5,1); }
.b-role { position: absolute; padding: 6px 10px; border-radius: 999px; background: var(--ivory); border: 1.5px solid var(--gold); color: var(--navy); font: 700 12px/1.1 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 10px 18px -12px rgba(11,19,36,.5); }
.n-tech { left: 7%; top: 50%; } .n-tech .b-role { left: 0; top: calc(100% + 10px); }
.n-des { left: 74%; top: 91%; } .n-des .b-role { left: calc(100% + 10px); top: 50%; translate: 0 -50%; }
.n-mkt { left: 38%; top: 91%; } .n-mkt .b-role { right: calc(100% + 10px); top: 50%; translate: 0 -50%; }
.n-evt { left: 93%; top: 30%; } .n-evt .b-role { right: 0; top: calc(100% + 10px); }
.n-arc { left: 8%; top: 9%; } .n-arc .b-role { left: calc(100% + 10px); top: 50%; translate: 0 -50%; }
.js .bigline:not(.on1) .b-app { background: transparent; border-style: dashed; border-color: var(--pencil); box-shadow: none; }
.js .bigline:not(.on1) .b-bar { opacity: 0; }
.js .bigline:not(.on2) .bk2, .js .bigline:not(.on3) .bk3, .js .bigline:not(.on5) .bk5 { background: transparent; border-style: dashed; border-color: var(--pencil); box-shadow: none; }
.js .bigline:not(.on2) .bk2 .b-in, .js .bigline:not(.on3) .bk3 .b-in, .js .bigline:not(.on5) .bk5 .b-in { opacity: 0; }
.js .bigline:not(.on2) .bk2 .b-tag, .js .bigline:not(.on3) .bk3 .b-tag, .js .bigline:not(.on5) .bk5 .b-tag { background: transparent; color: #6F6650; box-shadow: inset 0 0 0 1.5px var(--pencil); }
.js .bigline:not(.on6) .b-check { opacity: 0; scale: .4; }
.js .bigline:not(.on2) .bn2, .js .bigline:not(.on3) .bn3, .js .bigline:not(.on4) .bn4, .js .bigline:not(.on5) .bn5, .js .bigline:not(.on6) .bn6 { opacity: 0; scale: .7; }
.js .bigline:not(.on2) .bl2, .js .bigline:not(.on3) .bl3, .js .bigline:not(.on4) .bl4, .js .bigline:not(.on5) .bl5, .js .bigline:not(.on6) .bl6 { stroke-dashoffset: 1; }
.bk2, .bk3, .bk5 { box-shadow: 0 0 0 0 rgba(212,175,55,0); }
.bigline.on2 .bk2, .bigline.on3 .bk3, .bigline.on5 .bk5 { border-color: var(--gold); }
@media (min-width: 981px) and (max-width: 1280px) { .b-role, .b-tag { font-size: 10px; padding: 5px 8px; letter-spacing: .04em; } }
@media (max-width: 980px) {
  .bl-grid { grid-template-columns: 1fr; gap: 56px; }
  .bt { max-width: 640px; }
}
@media (max-width: 640px) {
  .occ .av { width: 40px; }
  .r-face, .r-face .av, .role.tall .r-face, .role.tall .r-face .av { width: 60px; }
  .b-node { width: 15%; }
  .b-role, .b-tag { font-size: 9px; padding: 4px 6px; letter-spacing: .02em; }
  .b-part-box { padding: 5% 5% 4%; border-radius: 8px; }
  .bt .bar { height: 5px; }
  .n-tech .b-role { top: calc(100% + 6px); }
  .n-des .b-role, .n-arc .b-role { left: calc(100% + 6px); } .n-mkt .b-role { right: calc(100% + 6px); }
}
@media (prefers-reduced-motion: reduce) { .b-lines path, .b-node, .b-app, .b-part-box { transition: none; } }

.producer { grid-template-rows: auto auto auto auto; min-height: 0; }
.tl-tag { display: block; margin: 0 0 12px; font: 700 13px/1.6 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--gold-ink); }
.tl-stop p { font-size: 20px; line-height: 1.62; margin: 0 0 16px; color: var(--charcoal); }
.tl-first { position: relative; padding-left: 26px; border-left: 2px solid var(--gold); margin: 0 0 30px; }
.tl-lead { margin: 0; font: italic 500 clamp(28px, calc(2.5 * var(--vw)), 44px)/1.22 var(--serif); color: var(--navy); }
.tl-lead::after { content: ""; display: block; width: 2px; height: 70px; margin: 26px 0 0 4px; background: linear-gradient(var(--gold), rgba(212,175,55,0)); }
.rzband { grid-column: 1 / -1; position: relative; overflow: hidden; padding: 110px 3% 130px; background: var(--ink); color: var(--white); }
.rzband::before { content: ""; position: absolute; left: 30%; top: -50%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(212,175,55,.16), transparent 62%); pointer-events: none; }
.rz-loop { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.rz-loop path { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; opacity: .7; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--lp, 1)); }
.rz { position: relative; z-index: 2; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3%; }
.rz li { transition: opacity .9s var(--ease), translate .9s var(--ease); }
.rz-n { display: block; margin: 0 0 18px; font: 600 clamp(120px, calc(13 * var(--vw)), 240px)/.8 var(--serif); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 2px rgba(212,175,55,.85); }
.rz p { margin: 0; font: 600 clamp(40px, calc(4.3 * var(--vw)), 82px)/1.02 var(--serif); letter-spacing: -.015em; color: var(--white); text-wrap: balance; }
.rz-w { white-space: nowrap; font-style: italic; font-weight: 500; }
.rz-a { color: var(--white); transition: color .8s ease, text-shadow .8s ease; }
.js .rzband:not(.on1) .rz-1, .js .rzband:not(.on2) .rz-2, .js .rzband:not(.on3) .rz-3 { opacity: 0; translate: 0 50px; }
.rzband.on4 .rz-a, html:not(.js) .rz-a { color: var(--gold-hi); text-shadow: 0 0 28px rgba(243,215,119,.45); }
.rzband.on4 .rz-2 .rz-a { transition-delay: .25s; } .rzband.on4 .rz-3 .rz-a { transition-delay: .5s; }
.tl2 { grid-column: 1 / -1; position: relative; list-style: none; margin: 0; padding: 100px 3% 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4%; background: var(--paper); }
.tl2::before { content: ""; position: absolute; left: 3%; right: 3%; top: 110px; height: 2px; background: linear-gradient(90deg, var(--gold), rgba(212,175,55,.3)); }
.tl2 .tl-stop { position: relative; padding-top: 40px; }
.tl2 .tl-stop::before { content: ""; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--paper); border: 2px solid var(--gold); box-shadow: 0 0 0 6px var(--paper); transition: background .6s ease .3s; }
.tl2 .tl-stop.in::before, html:not(.js) .tl2 .tl-stop::before { background: var(--gold); }
.manifesto { grid-column: 1 / -1; padding: 90px 3% 110px; background: var(--paper); }
.manifesto blockquote { position: relative; margin: 0 0 44px; padding: 60px 0 0 calc(7 * var(--vw)); border-top: 1px solid var(--rule); }
.manifesto blockquote::before { content: "\201C"; position: absolute; left: 0; top: .1em; font: 700 clamp(120px, calc(12 * var(--vw)), 230px)/1 var(--serif); color: var(--gold); }
.manifesto blockquote p { margin: 0; font: italic 500 clamp(32px, calc(3.5 * var(--vw)), 64px)/1.15 var(--serif); color: var(--navy); text-wrap: pretty; }
.manifesto footer { margin-top: 26px; font: 700 14px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold-ink); }
.manifesto .cta { padding-left: calc(7 * var(--vw)); }
@media (min-width: 981px) {
  .pro-photo { position: sticky; top: 0; height: calc(100 * var(--vh)); min-height: 640px; align-self: start; }
  .pro-copy { align-self: center; padding-top: 120px; padding-bottom: 90px; max-width: 980px; }
}
@media (max-width: 980px) {
  .rzband { padding: 80px 24px 90px; }
  .rz { grid-template-columns: 1fr; gap: 54px; }
  .rz-n { font-size: 120px; margin-bottom: 10px; }
  .tl2 { grid-template-columns: 1fr; gap: 10px; padding: 70px 28px 10px 62px; }
  .tl2::before { left: 37px; right: auto; top: 80px; bottom: 20px; width: 2px; height: auto; background: linear-gradient(var(--gold), rgba(212,175,55,.3)); }
  .tl2 .tl-stop { padding-top: 0; } .tl2 .tl-stop::before { left: -34px; top: 2px; }
  .manifesto { padding: 70px 24px 90px; }
  .manifesto blockquote { padding-left: 0; padding-top: 110px; } .manifesto blockquote::before { top: .05em; } .manifesto .cta { padding-left: 0; }
}
@media (max-width: 640px) {
  .tl-stop p { font-size: 18px; }
  .rz p { font-size: 46px; }
  .rz-n { font-size: 104px; }
  .tl2 { padding-left: 54px; } .tl2::before { left: 29px; }
  .manifesto blockquote p { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .rz li, .rz-a { transition: none; } }
.rz-by { position: relative; z-index: 2; display: flex; align-items: center; gap: 16px; margin: 56px 0 0; font: 700 15px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold-hi); }
.rz-by::before { content: ""; width: 48px; height: 2px; background: var(--gold); }
.producer .pull { margin-top: 44px; }
.manifesto { padding-bottom: 90px; }
.rz-note { position: relative; z-index: 2; margin: 12px 0 0 64px; font: 400 13px/1.4 var(--sans); color: #A7B2C7; }
@media (max-width: 640px) { .rz-note { margin-left: 0; } }

.cta-band-wrap { background: linear-gradient(180deg, var(--paper), var(--ivory-2)); border: 0; padding: 30px 3% 34px; overflow: visible; }
.cta-band-wrap::before { display: none; }
.cta-band-wrap .cta-band { padding: 58px 40px 62px; border-radius: 24px; overflow: hidden; isolation: isolate;
  background: radial-gradient(760px 280px at 50% 0%, #34508A, rgba(44,67,114,.55) 40%, transparent 72%), linear-gradient(135deg, #22355C, var(--navy) 55%, #172645);
  border: 1px solid rgba(212,175,55,.45); box-shadow: 0 50px 80px -50px rgba(11,19,36,.6), 0 0 0 10px rgba(212,175,55,.07); }
@media (max-width: 640px) { .cta-band-wrap { padding: 20px 14px 24px; } .cta-band-wrap .cta-band { padding: 40px 22px 44px; border-radius: 18px; } }
.cta-band-wrap .cta-band::before { content: ""; position: absolute; left: 12%; right: 12%; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold-hi), transparent); }
.cta-strip-wrap { background: linear-gradient(180deg, var(--ink), #213458); }
@media (max-width: 640px) {
  .bt { aspect-ratio: .92; }
  .b-tag { white-space: normal; line-height: 1.15; }
  .b-part-box { gap: 4%; }
}

.showcase { position: relative; background: var(--paper); padding: 130px 0 120px; color: var(--charcoal); }
.sc-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px 5%; align-items: end; margin-bottom: 76px; }
.showcase .sc-eyebrow { grid-column: 1 / -1; justify-self: start; margin: 0 0 8px; color: var(--gold-ink); border-color: rgba(124,100,29,.45); }
.showcase h2 { margin: 0; color: var(--navy); font-size: clamp(48px, calc(6 * var(--vw)), 104px); line-height: .95; }
.sc-lead { margin: 0; font: italic 500 clamp(22px, calc(1.8 * var(--vw)), 30px)/1.42 var(--serif); color: var(--navy); }
.sc-body { display: grid; grid-template-columns: minmax(230px, 3fr) minmax(0, 9fr); gap: 5%; align-items: start; }
.sc-rail { position: sticky; top: 112px; }
.sc-rail ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--rule); }
.sc-rail a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; margin-left: -2px; padding: 12px 0 12px 18px; border-left: 2px solid transparent; color: #625C50; font: 600 16px/1.3 var(--sans); text-decoration: none; transition: color .35s ease, border-color .35s ease; }
.sc-rail a:hover { color: var(--navy); }
.sc-rn { font: 600 13px/1 var(--sans); letter-spacing: .08em; color: #7A7366; }
.sc-rc { min-width: 26px; padding: 4px 7px; border-radius: 999px; background: var(--ivory-2); color: #5A5448; font: 700 12px/1 var(--sans); text-align: center; }
.sc-rail li.on a { border-left-color: var(--gold); color: var(--navy); }
.sc-rail li.on .sc-rc { background: var(--navy); color: var(--gold-hi); }
.sc-rail li.done .sc-rn, .sc-rail li.on .sc-rn { color: var(--gold-ink); }
.sc-count { margin: 30px 0 0 20px; font: 700 13px/1.2 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: #625C50; }
.sc-count b { display: block; margin-bottom: 6px; font: 600 72px/.9 var(--serif); letter-spacing: -.02em; color: var(--navy); }
.sc-group { scroll-margin-top: 110px; }
.sc-group + .sc-group { margin-top: 84px; }
.sc-gh { display: flex; align-items: baseline; gap: 18px; margin: 0 0 6px; padding-bottom: 18px; border-bottom: 2px solid var(--navy); font: 600 clamp(32px, calc(3 * var(--vw)), 50px)/1.08 var(--serif); color: var(--navy); }
.sc-gn { font: 700 .42em/1 var(--sans); letter-spacing: .1em; color: var(--gold-ink); }
.sc-rows { list-style: none; margin: 0; padding: 0; }
.sc-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 26px; padding: 26px 0; border-bottom: 1px solid var(--rule); }
.sc-chip { align-self: start; justify-self: start; margin-top: 3px; padding: 7px 11px; border-radius: 999px; background: var(--navy); color: var(--gold-hi); font: 700 12px/1.15 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.sc-chip-x { visibility: hidden; }
.sc-pair { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1.15fr); gap: 22px; align-items: start; }
.sc-solo .sc-pair { grid-template-columns: minmax(0, 1fr); }
.sc-k { display: block; margin-bottom: 10px; font: 700 11.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: #6B6457; }
.sc-row:not(:first-child) .sc-k, .sc-solo .sc-did .sc-k { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sc-ask { margin: 0; font: italic 500 22px/1.45 var(--serif); color: var(--navy); }
.sc-arrow { position: relative; display: block; height: 2px; margin-top: 16px; background: var(--gold); transform-origin: left; scale: 0 1; transition: scale .6s var(--ease) .2s; }
.sc-arrow::after { content: ""; position: absolute; right: -1px; top: -4px; width: 9px; height: 9px; border: solid var(--gold); border-width: 2px 2px 0 0; rotate: 45deg; }
.sc-row:not(:first-child) .sc-arrow { margin-top: 15px; }
.sc-row:first-child .sc-arrow { margin-top: 36px; }
.sc-did { margin: 0; font: 600 19.5px/1.55 var(--sans); color: var(--navy); }
.sc-did, .sc-did .sc-k { text-decoration: none; }
.sc-solo .sc-did { font: 600 21px/1.5 var(--sans); }
.sc-t { background: linear-gradient(transparent 64%, rgba(212,175,55,.3) 64%) 0 0 / 0% 100% no-repeat; box-decoration-break: clone; -webkit-box-decoration-break: clone; transition: background-size 1s var(--ease) .35s; }
.sc-row.in .sc-t, html:not(.js) .sc-t { background-size: 100% 100%; }
.sc-row.in .sc-arrow, html:not(.js) .sc-arrow { scale: 1 1; }
.sc-end { margin-top: 70px; padding-top: 46px; border-top: 2px solid var(--navy); }
.sc-close { margin: 0 0 26px; font: italic 500 clamp(34px, calc(3.4 * var(--vw)), 60px)/1.12 var(--serif); color: var(--navy); }
.sc-qual { margin: 0; max-width: 64em; font: 400 16.5px/1.65 var(--sans); color: #4F4A40; }
@media (max-width: 1180px) and (min-width: 981px) { .sc-pair { grid-template-columns: minmax(0, 1fr); gap: 12px; } .sc-arrow { display: none; } .sc-row:first-child .sc-did .sc-k { margin-top: 6px; } }
@media (max-width: 980px) {
  .showcase { padding: 100px 0 96px; }
  .sc-head { grid-template-columns: 1fr; margin-bottom: 50px; }
  .sc-body { grid-template-columns: 1fr; }
  .sc-rail { display: none; }
  .sc-gh { position: sticky; top: 64px; z-index: 3; padding-top: 14px; background: var(--paper); }
}
@media (max-width: 640px) {
  .sc-row { grid-template-columns: 1fr; gap: 12px; padding: 22px 0; }
  .sc-chip-x { display: none; }
  .sc-pair { grid-template-columns: 1fr; gap: 10px; }
  .sc-arrow { width: 2px; height: 22px; margin: 0 0 0 6px !important; transform-origin: top; scale: 1 0; }
  .sc-row.in .sc-arrow { scale: 1 1; }
  .sc-arrow::after { right: auto; left: -4px; top: auto; bottom: 0; rotate: 135deg; }
  .sc-ask { font-size: 20px; } .sc-did, .sc-solo .sc-did { font-size: 18px; }
  .sc-gh { font-size: 30px; top: 58px; }
  .sc-count b { font-size: 56px; }
}
@media (prefers-reduced-motion: reduce) { .sc-t, .sc-arrow { transition: none; } }

.could { position: relative; background: linear-gradient(180deg, var(--ivory), var(--paper)); padding: 120px 0 120px; color: var(--charcoal); --cv: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, .95fr) minmax(0, 1.5fr) minmax(0, 1.5fr); }
.cv-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 5%; align-items: end; margin-bottom: 56px; }
.could h2 { margin: 0; color: var(--navy); font-size: clamp(40px, calc(4.4 * var(--vw)), 76px); line-height: 1; text-wrap: balance; }
.cv-lead { margin: 0; font: italic 500 clamp(21px, calc(1.6 * var(--vw)), 27px)/1.45 var(--serif); color: var(--navy); }
.cv-cols { display: grid; grid-template-columns: var(--cv); gap: 26px; padding: 0 26px 14px; border-bottom: 2px solid var(--navy); font: 700 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #5E584C; }
.cv-group { margin-top: 34px; }
.cv-gh { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; font: 600 clamp(24px, calc(2 * var(--vw)), 32px)/1.2 var(--serif); color: var(--navy); }
.cv-gi { width: 12px; height: 12px; flex: none; rotate: 45deg; background: var(--gold); }
.cv-g2 .cv-gi { background: var(--navy); }
.cv-gc { padding: 5px 10px; border-radius: 999px; background: var(--navy); color: var(--gold-hi); font: 700 12px/1 var(--sans); letter-spacing: .1em; }
.cv-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cv-row { display: grid; grid-template-columns: var(--cv); gap: 26px; align-items: start; padding: 22px 26px; border-radius: 12px; background: var(--white); border: 1px solid var(--rule); font: 400 16.5px/1.5 var(--sans); box-shadow: 0 18px 30px -28px rgba(27,42,74,.5); transition: border-color .3s ease, box-shadow .3s ease; }
.cv-row:hover { border-color: var(--gold); box-shadow: 0 24px 40px -28px rgba(27,42,74,.6); }
.cv-g2 .cv-row { background: #FFFCF4; }
.cv-k { display: none; }
.cv-tool b { display: block; font: 600 23px/1.15 var(--serif); color: var(--navy); }
.cv-tool span { display: block; margin-top: 6px; font: 700 12px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #6B6457; }
.cv-job { color: #3F3B34; }
.cv-price b { display: block; font: 700 21px/1.15 var(--sans); color: var(--navy); }
.cv-price span:not(.cv-k) { display: block; margin-top: 5px; font-size: 14px; line-height: 1.4; color: #625C50; }
.cv-can, .cv-wont { position: relative; padding-left: 28px; }
.cv-can::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--gold); }
.cv-can::after { content: ""; position: absolute; left: 6px; top: 7px; width: 5px; height: 9px; border: solid var(--ink); border-width: 0 2px 2px 0; rotate: 40deg; }
.cv-wont { color: #4A463E; }
.cv-wont::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #8A8476; }
.cv-wont::after { content: ""; position: absolute; left: 4.5px; top: 11.5px; width: 9px; height: 1.5px; background: #8A8476; }
.cv-sum { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 26px; margin-top: 46px; align-items: stretch; }
.cv-total { position: relative; overflow: hidden; padding: 46px 48px; border-radius: 20px; color: #E6EAF1; border: 1px solid rgba(212,175,55,.45);
  background: radial-gradient(640px 260px at 20% 0%, #34508A, rgba(44,67,114,.5) 45%, transparent 75%), linear-gradient(140deg, #22355C, var(--navy) 55%, #172645);
  box-shadow: 0 50px 80px -50px rgba(11,19,36,.6); }
.cv-total::before { content: ""; position: absolute; left: 10%; right: 10%; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold-hi), transparent); }
.cv-total p:first-child { margin: 0; font: 500 clamp(24px, calc(2 * var(--vw)), 32px)/1.4 var(--serif); color: var(--white); }
.cv-total strong { font-weight: 600; font-size: 1.7em; line-height: 1.05; color: var(--gold-hi); white-space: nowrap; }
.cv-qual { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid rgba(212,175,55,.3); font: 400 15.5px/1.65 var(--sans); color: #C9D1DE; }
.cv-side { display: grid; gap: 16px; align-content: start; }
.cv-note { padding: 28px 30px; border-radius: 16px; background: var(--white); border: 1px solid var(--rule); }
.cv-note h3 { margin: 0 0 12px; font: 700 13px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.cv-note p { margin: 0; font: 400 16px/1.6 var(--sans); color: #3F3B34; }
.cv-plan { background: var(--ivory-2); }
@media (max-width: 1180px) and (min-width: 981px) { .could { --cv: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.4fr); } .cv-row, .cv-cols { gap: 18px; } .cv-row { padding: 20px; font-size: 15.5px; } }
@media (max-width: 980px) {
  .could { padding: 100px 0; }
  .cv-head, .cv-sum { grid-template-columns: 1fr; }
  .cv-cols { display: none; }
  .cv-row { grid-template-columns: minmax(0, 1fr) auto; gap: 14px 20px; padding: 22px; }
  .cv-job, .cv-can, .cv-wont { grid-column: 1 / -1; }
  .cv-price { text-align: right; grid-row: 1; grid-column: 2; }
  .cv-k { display: block; margin-bottom: 4px; font: 700 11px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #6B6457; }
  .cv-price .cv-k { display: none; }
  .cv-total { padding: 36px 28px; }
}

.role { min-height: 300px; overflow: visible; }
.role.tall { min-height: 380px; }
.role:hover, .role:focus, .role:focus-within, .role.open { z-index: 6; }
.r-pre { margin: 0 0 14px; font: 400 16.5px/1.5 var(--sans); color: #4C5566; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.role:nth-child(4n+1) .r-pre { color: #C9D1DE; }
.role:nth-child(6) .r-pre, .role:nth-child(11) .r-pre { color: #4F4A40; }
@media (min-width: 641px) {
  .r-out { inset: 0 0 auto 0; min-height: 100%; display: block; overflow: visible; border-radius: 16px; font-size: 17px; line-height: 1.58; translate: none !important;
    clip-path: inset(0 0 100% 0 round 16px); opacity: 0; transition: clip-path .55s var(--ease), opacity .3s ease; box-shadow: 0 40px 70px -30px rgba(11,19,36,.65); }
  .role:hover .r-out, .role:focus .r-out, .role:focus-within .r-out, .role.open .r-out { clip-path: inset(0 0 0 0 round 16px); opacity: 1; }
}
@media (max-width: 640px) {
  .role:focus .r-out, .role:focus-within .r-out, .role.open .r-out { max-height: 900px; }
  .role:focus .r-pre, .role:focus-within .r-pre, .role.open .r-pre { display: none; }
}
@media (prefers-reduced-motion: reduce) { .r-out { transition: none; } }

.t2 { min-height: 0; justify-content: space-between; }
.t2 .big-2 { font-size: 240px; right: 34px; top: 30px; }
.lw-vis { position: relative; flex: 1; width: 74%; min-height: 230px; margin: 0 0 36px; }
.lw-lap { position: absolute; left: 0; top: 14%; width: 62%; }
.lw-scr { display: flex; align-items: center; gap: 8%; aspect-ratio: 16 / 10; padding: 0 7%; border-radius: 10px 10px 0 0; border: 2px solid rgba(212,175,55,.6); border-bottom: 0; background: rgba(11,19,36,.55); }
.lw-scr .av { width: 34%; flex: none; }
.lw-lines { flex: 1; display: grid; gap: 12px; }
.lw-lines .bar { display: block; height: 8px; border-radius: 4px; background: rgba(255,255,255,.24); }
.lw-lines .bar:nth-child(2) { width: 72%; background: rgba(212,175,55,.75); } .lw-lines .bar:nth-child(3) { width: 54%; }
.lw-base { display: block; height: 12px; margin: 0 -7%; border-radius: 2px 2px 12px 12px; background: linear-gradient(180deg, rgba(212,175,55,.75), rgba(156,126,37,.6)); }
.lw-link { position: absolute; left: 58%; top: 30%; width: 24%; height: 36%; overflow: visible; }
.lw-link path { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: .001 .045; vector-effect: non-scaling-stroke; }
.lw-phone { position: absolute; right: 0; top: 0; width: 23%; aspect-ratio: 9 / 18; display: flex; flex-direction: column; gap: 10px; padding: 46px 12px 0; border-radius: 20px; border: 2px solid rgba(212,175,55,.6); background: rgba(11,19,36,.6); box-shadow: 0 30px 40px -24px rgba(0,0,0,.6); }
.lw-notch { position: absolute; left: 33%; right: 33%; top: 7%; height: 5px; border-radius: 3px; background: rgba(255,255,255,.25); }
.lw-b { display: block; height: 16px; border-radius: 8px; flex: none; }
.lw-in { width: 82%; background: rgba(255,255,255,.22); } .lw-me { width: 66%; align-self: flex-end; background: var(--gold); } .lw-short { width: 52%; }
.js .t2:not(.in) .lw-b { opacity: 0; translate: 0 8px; }
.lw-b { transition: opacity .5s ease, translate .5s var(--ease); } .lw-me { transition-delay: .5s; } .lw-in.lw-short { transition-delay: .9s; } .lw-in:first-of-type { transition-delay: .2s; }
.t3 { padding-top: 46px; }
.t3 .big-5 { font-size: 120px; top: 18px; }
.t3 .before, .t3 > .farrow { max-width: calc(100% - 110px); }
@media (max-width: 980px) { .lw-vis { flex: none; width: 100%; min-height: 0; height: 240px; } .t3 { padding-top: 40px; } }
@media (max-width: 640px) { .lw-vis { height: 190px; } .t2 .big-2 { font-size: 170px; } .lw-phone { border-radius: 14px; gap: 7px; } .lw-b { height: 12px; } }

.ft7 { position: relative; overflow: hidden; padding: 110px 0 64px; color: #C3CBDA; font-size: 16px;
  background: linear-gradient(180deg, #13213F 0%, #0E1A33 45%, #0A1222 100%); }
.ft7::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold) 22%, var(--gold-hi) 50%, var(--gold) 78%, transparent); }
.ft7::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(212,175,55,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(212,175,55,.055) 1px, transparent 1px); background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 70%, transparent); mask-image: linear-gradient(180deg, transparent, #000 25%, #000 70%, transparent); }
.ft-mark { position: absolute; z-index: 0; left: 50%; bottom: -.16em; translate: -50% 0; font: 700 calc(14.5 * var(--vw))/1 var(--serif); letter-spacing: -.01em; white-space: nowrap; color: transparent; -webkit-text-stroke: 1px rgba(212,175,55,.17); pointer-events: none; user-select: none; }
.ft-in { position: relative; z-index: 1; }
.ft-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; padding-bottom: 46px; border-bottom: 1px solid rgba(212,175,55,.24); }
.ft-brand { display: flex; align-items: center; gap: 36px; }
.ft-brand picture { flex: none; }
.ft-brand img { display: block; width: clamp(150px, calc(13 * var(--vw)), 230px); height: auto; filter: drop-shadow(0 22px 40px rgba(0,0,0,.5)); }
.ft-tag { margin: 0; max-width: 15em; font: italic 500 clamp(30px, calc(2.8 * var(--vw)), 50px)/1.1 var(--serif); color: var(--white); text-wrap: balance; }
.ft-tag em { color: var(--gold-hi); }
.ft-cta { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; text-align: right; }
.ft-cta p { margin: 0; font: 600 18px/1.4 var(--sans); color: #E6EAF1; }
.ft-faces { position: relative; display: flex; justify-content: center; gap: 16px; padding: 34px 0; }
.ft-faces::before { content: ""; position: absolute; left: 8%; right: 8%; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(212,175,55,.35), transparent); }
.ft-faces .av { position: relative; width: 54px; opacity: .88; box-shadow: 0 0 0 1.5px rgba(212,175,55,.7), 0 12px 20px -12px rgba(0,0,0,.7); }
.ft-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding: 8px 0 48px; border-bottom: 1px solid rgba(212,175,55,.24); }
.ft-col h3 { margin: 0 0 18px; font: 700 13px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--gold-hi); }
.ft7 .ft-col ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ft7 .ft-col a { color: #DCE2EC; font: 400 18px/1.4 var(--sans); text-decoration: none; background: linear-gradient(var(--gold-hi), var(--gold-hi)) 0 100% / 0 1px no-repeat; padding-bottom: 2px; transition: color .3s ease, background-size .35s var(--ease); }
.ft7 .ft-col a:hover, .ft7 .ft-col a:focus-visible { color: var(--gold-hi); background-size: 100% 1px; }
.ft-base { display: grid; gap: 14px; max-width: 1120px; padding-top: 34px; }
.ft-org { margin: 0; font: 700 15px/1.4 var(--sans); letter-spacing: .04em; color: var(--white); }
.ft7 .foot-disc { margin: 0; max-width: none; font-size: 15px; line-height: 1.7; color: #BAC4D5; }
@media (max-width: 980px) {
  .ft7 { padding: 90px 0 130px; }
  .ft-top { grid-template-columns: 1fr; gap: 30px; }
  .ft-brand { flex-direction: column; align-items: flex-start; gap: 22px; }
  .ft-cta { align-items: flex-start; text-align: left; }
  .ft-faces { flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
  .ft-faces::before { display: none; }
  .ft-faces .av { width: 44px; }
  .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 24px; }
  .ft-mark { font-size: calc(17 * var(--vw)); bottom: auto; top: 54%; }
}
@media (max-width: 640px) { .ft-cols { grid-template-columns: 1fr; } .ft-tag { font-size: 30px; } }

.familiar { overflow-x: clip; }

.write { position: relative; padding: 130px 0 130px; background: linear-gradient(180deg, var(--paper), var(--ivory)); color: var(--charcoal); }
.hw-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 22px 5%; align-items: end; }
.hw-tag { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 12px; padding: 6px 16px 6px 6px; border-radius: 999px; background: var(--white); border: 1px solid rgba(212,175,55,.6); font: 700 13px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--navy); }
.hw-tag .av { width: 40px; }
.write h2 { margin: 0; color: var(--navy); font-size: clamp(44px, calc(5 * var(--vw)), 88px); line-height: .98; text-wrap: balance; }
.hw-lead { margin: 0; font: italic 500 clamp(21px, calc(1.7 * var(--vw)), 28px)/1.45 var(--serif); color: var(--navy); }
.hw-devs { list-style: none; margin: 60px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.hw-dev { padding: 28px 30px 30px; border-radius: 16px; background: var(--white); border: 1px solid var(--rule); box-shadow: 0 24px 40px -36px rgba(27,42,74,.55); }
.hw-keys { display: flex; align-items: center; gap: 10px; min-height: 46px; font: 700 18px/1 var(--sans); color: var(--navy); }
.hw-keys kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 14px; border-radius: 10px; border: 1.5px solid #B9AD8F; background: var(--paper); box-shadow: 0 4px 0 #D9CFB8; font: 700 15px/1 var(--sans); letter-spacing: .02em; color: var(--navy); }
.hw-keys .k-mic { padding: 0; } .hw-keys .k-mic svg { width: 22px; height: 22px; fill: none; stroke: var(--navy); stroke-width: 1.8; stroke-linecap: round; }
.hw-dev h3 { margin: 20px 0 8px; font-size: 28px; color: var(--navy); }
.hw-dev p { margin: 0; font-size: 17.5px; line-height: 1.6; }
.hw-dev .hw-sub { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--rule); font-size: 15.5px; color: #4F4A40; }
.hw-caution { display: flex; align-items: flex-start; gap: 16px; margin-top: 18px; padding: 20px 24px; border-radius: 12px; background: #FFF6DF; border: 1px solid #E8D9B0; border-left: 4px solid var(--gold); }
.hw-caution svg { flex: none; width: 26px; height: 26px; fill: none; stroke: var(--gold-ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hw-caution p { margin: 0; font: 600 17px/1.55 var(--sans); color: var(--navy); }
.hw-vary { margin: 12px 0 0; font-size: 15px; color: #5A5448; }
.hw-flow { display: grid; grid-template-columns: minmax(0, 5fr) 96px minmax(0, 7fr); margin-top: 80px; align-items: start; }
.hw-ramble { position: sticky; top: 110px; }
.hw-label { margin: 0 0 14px; font: 400 15px/1.55 var(--sans); color: #4F4A40; }
.hw-ex { display: inline-block; margin-right: 6px; padding: 5px 9px; border-radius: 4px; background: var(--navy); color: var(--gold-hi); font: 700 12px/1 var(--sans); letter-spacing: .2em; vertical-align: 1px; }
.hw-box { overflow: hidden; border-radius: 10px; background: var(--white); border: 1.5px solid #CFC6B2; box-shadow: 0 30px 50px -40px rgba(27,42,74,.55); }
.hw-bar { display: flex; gap: 7px; align-items: center; height: 34px; padding: 0 14px; background: #F4EFE4; border-bottom: 1px solid #E2DACA; }
.hw-bar i { width: 10px; height: 10px; border-radius: 50%; background: #D5CCB8; }
.hw-text { margin: 0; padding: 22px 26px 28px; font: 400 18px/1.75 var(--sans); color: #2F2F2F; }
.hw-text mark { padding: 0 3px; border-radius: 3px; background: rgba(212,175,55,.3); color: inherit; transition: background-color .6s ease .4s; }
.js .hw-ramble:not(.in) mark { background-color: transparent; }
.hw-caret { display: inline-block; width: 2px; height: 1.1em; margin-left: 3px; vertical-align: -3px; background: var(--navy); animation: hwBlink 1.1s steps(1) infinite; }
@keyframes hwBlink { 50% { opacity: 0; } }
.hw-arrow { padding-top: 150px; }
.hw-arrow svg { display: block; width: 84px; margin: 0 auto; overflow: visible; fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.hw-arrow path:first-child { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--ease); }
.js .write:not(.on3) .hw-arrow path:first-child { stroke-dashoffset: 1; }
.hw-arrow path + path { transition: opacity .4s ease .8s; } .js .write:not(.on3) .hw-arrow path + path { opacity: 0; }
.hw-pieces { column-count: 2; column-gap: 18px; }
.hw-piece { break-inside: avoid; margin: 0 0 18px; padding: 26px 28px; border-radius: 14px; background: var(--white); border: 1px solid var(--rule); box-shadow: 0 24px 40px -36px rgba(27,42,74,.55); }
.hw-piece p { margin: 0 0 12px; font-size: 16.5px; line-height: 1.6; } .hw-piece p:last-child { margin-bottom: 0; }
.hw-kind { display: inline-block; margin-bottom: 16px; padding: 6px 11px; border-radius: 999px; border: 1px solid rgba(124,100,29,.45); font: 700 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-ink); }
.hw-linkedin-post { border-top: 4px solid var(--navy); }
.hw-short-caption { background: var(--navy); border-color: transparent; color: #E6EAF1; } .hw-short-caption .hw-kind { color: var(--gold-hi); border-color: rgba(243,215,119,.5); }
.hw-email { background: #FFFCF4; }
.hw-subj { padding-bottom: 12px; border-bottom: 1px dashed var(--rule); color: var(--navy); } .hw-subj b { color: var(--gold-ink); }
.hw-merge { padding: 0 5px; border-radius: 4px; border: 1px dashed #B9AD8F; background: var(--ivory-2); font-weight: 600; }
.hw-under { margin: 4px 0 0; padding-top: 16px; border-top: 1px solid var(--rule); font-size: 15.5px; color: #4F4A40; }
@media (max-width: 1180px) and (min-width: 981px) { .hw-flow { grid-template-columns: minmax(0, 5fr) 64px minmax(0, 7fr); } .hw-arrow svg { width: 56px; } .hw-pieces { column-count: 1; } }
@media (max-width: 980px) {
  .write { padding: 100px 0; }
  .hw-head { grid-template-columns: 1fr; }
  .hw-devs { grid-template-columns: 1fr; margin-top: 44px; }
  .hw-flow { grid-template-columns: 1fr; margin-top: 56px; }
  .hw-ramble { position: static; }
  .hw-arrow { padding: 18px 0; } .hw-arrow svg { width: 60px; rotate: 90deg; }
}
@media (max-width: 640px) { .hw-pieces { column-count: 1; } .hw-text { font-size: 17px; padding: 18px 20px 22px; } .hw-piece { padding: 22px; } .hw-dev { padding: 24px; } }
@media (prefers-reduced-motion: reduce) { .hw-caret { animation: none; } .hw-text mark, .hw-arrow path { transition: none; } }

.ill { margin: 0; }
.ill svg { display: block; width: 100%; height: auto; overflow: visible; }
.ill-wash { fill: rgba(212,175,55,.14); }
.ill path { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ill .n { stroke: var(--navy); } .ill .g { stroke: #B8912F; }
.ill .n, .ill .g { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--ease) .15s; }
.ill .g { transition-delay: .7s; }
.ill .gd { stroke: #B8912F; stroke-dasharray: .015 .03; transition: opacity .8s ease 1.1s; }
.ill .dash { stroke: #8F8878; stroke-width: 1.6; stroke-dasharray: .03 .025; transition: opacity .8s ease .3s; }
.js .ill:not(.in) .n, .js .ill:not(.in) .g { stroke-dashoffset: 1; }
.js .ill:not(.in) .gd, .js .ill:not(.in) .dash { opacity: 0; }
.ill figcaption { margin-top: 4px; font: 700 10.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #6B6457; text-align: center; }
.sc-gtop { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 24px; align-items: end; border-bottom: 2px solid var(--navy); margin-bottom: 6px; }
.sc-gtop .sc-gh { border-bottom: 0; margin: 0; }
.sc-gtop .ill { margin-bottom: 10px; }
.hw-ramble .ill { width: 62%; margin: 0 0 18px; }
.hw-ramble .ill figcaption { text-align: left; padding-left: 12%; }
@media (max-width: 980px) { .sc-gh { position: static; } .sc-gtop { grid-template-columns: minmax(0, 1fr) 110px; } .hw-ramble .ill { width: min(360px, 80%); } }
@media (max-width: 640px) { .sc-gtop { grid-template-columns: minmax(0, 1fr) 92px; gap: 12px; } .sc-gtop .ill figcaption { font-size: 9.5px; letter-spacing: .06em; } }
@media (prefers-reduced-motion: reduce) { .ill path { transition: none; } }

.showcase, .write { overflow: visible; overflow-x: clip; }

.sc-c:not(.sc-open) .sc-x { display: none; }
.sc-more { display: inline-flex; align-items: center; gap: 12px; margin: 22px 0 0 122px; padding: 13px 22px; font: 700 14px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase;
  color: var(--navy); background: var(--white); border: 1.5px solid var(--navy); border-radius: 999px; cursor: pointer; transition: background .25s, color .25s; }
.sc-more:hover, .sc-more:focus-visible { background: var(--navy); color: var(--white); outline: none; }
.sc-more[hidden] { display: none; }
.sc-more-i { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .25s; }
.sc-open .sc-more-i { transform: translateY(2px) rotate(-135deg); }
@media (max-width: 760px) { .sc-more { margin-left: 0; } }

.cv-more { margin-top: 34px; }
.cv-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cv-chip { display: flex; align-items: baseline; gap: 8px; padding: 10px 16px; background: var(--white); border: 1px solid var(--rule); border-radius: 999px; font-size: 16px; color: var(--charcoal); }
.cv-chip b { color: var(--navy); }
.cv-chip span { color: #5E584C; font-size: 14px; }
.cv-chip .cv-cp { color: var(--navy); font-weight: 700; font-size: 14px; letter-spacing: .02em; }

.bl-grid .tb { min-width: 0; }
.tb-h { font-size: clamp(26px, calc(2.2 * var(--vw)), 34px); color: var(--navy); margin: 0 0 18px; }
.tb-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tb-tile { display: flex; gap: 14px; align-items: flex-start; padding: 18px; background: var(--white); border: 1px solid var(--rule); border-radius: 10px; box-shadow: 0 18px 30px -24px rgba(11,19,36,.45); }
.tb-tile .av { width: 54px; flex: none; }
.tb-wide { grid-column: 1 / -1; background: var(--navy); border-color: var(--navy); }
.tb-wide .tb-t { color: var(--white); } .tb-wide .tb-l { color: #D6DCE7; } .tb-wide .tb-chip { color: var(--gold-hi); }
.tb-review { background: var(--white); border: 1.5px dashed #8F8878; } .tb-review .tb-t { color: var(--navy); } .tb-review .tb-l { color: #4A4A48; } .tb-review .tb-chip { color: var(--gold-ink); }
.tb-tx { min-width: 0; }
.tb-chip { display: block; font: 700 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 6px; }
.tb-t { margin: 0; font: 600 21px/1.2 var(--serif); color: var(--navy); }
.tb-l { margin: 6px 0 0; font-size: 16px; line-height: 1.45; color: #4A4A48; }
.tb-go { display: inline-block; margin-top: 10px; font: 700 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--navy); text-decoration: none;
  border-bottom: 2px solid var(--gold); padding-bottom: 4px; background: none; border-top: 0; border-left: 0; border-right: 0; cursor: pointer; }
.tb-wide .tb-go { color: var(--white); }
.tb-try { padding: 12px 20px; border: 0; border-radius: 999px; background: linear-gradient(180deg, #E4C350, var(--gold) 55%, #C39D2C); color: var(--ink) !important; }
.tb-go:hover, .tb-go:focus-visible { border-bottom-color: var(--navy); outline: none; }
.tb-try:hover, .tb-try:focus-visible { filter: brightness(1.06); outline: 2px solid var(--white); outline-offset: 2px; }
.tb-panel { margin-top: 48px; scroll-margin-top: 90px; }
.js .tb-panel:not(.open) { display: none; }
.tb-panel #rffkit { border: 1px solid var(--rule); box-shadow: 0 40px 70px -50px rgba(11,19,36,.55); }
.tb-panel #rffkit h3 { font-size: clamp(30px, calc(2.6 * var(--vw)), 42px); }
.tb-close { display: block; margin: 0 0 14px auto; font: 700 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--navy); background: var(--white); border: 1.5px solid var(--navy); border-radius: 999px; padding: 11px 18px; cursor: pointer; }
.tb-close:hover, .tb-close:focus-visible { background: var(--navy); color: var(--white); outline: none; }
.no-js-hide { display: none; }
.bigline .bl-grid { align-items: center; }
@media (max-width: 980px) { .tb-grid { grid-template-columns: 1fr; } }

.faces-note { margin: 26px 0 0; font-size: 15px; color: #5E584C; }
.wdig { margin-top: 90px; padding-top: 70px; border-top: 1px solid var(--rule); }
.wd-head { max-width: 900px; }
.wd-eyebrow { margin-bottom: 20px; color: var(--gold-ink); border-color: rgba(124,100,29,.45); }
.wdig h3 { font-size: clamp(34px, calc(3.4 * var(--vw)), 52px); color: var(--navy); }
.wd-intro { margin: 14px 0 0; font-size: 20px; color: #4A4A48; }
.wd-body { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 40px; margin-top: 40px; align-items: start; }
.wd-btns { display: flex; flex-direction: column; gap: 10px; }
.wd-btn { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: left; font: 600 17px/1.35 var(--sans); color: var(--navy); background: var(--white);
  border: 1.5px solid var(--rule); border-radius: 12px; padding: 14px 16px; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.wd-btn:hover, .wd-btn:focus-visible { border-color: var(--navy); outline: none; }
.wd-btn[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: var(--white); }
.wd-btn .wd-s { flex: none; }
.wd-s { display: inline-block; font: 700 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; border: 1.5px solid currentColor; }
.wd-s:empty { display: none; }
.s-done { color: #23683F; }
.wd-btn[aria-pressed="true"] .s-done { color: #9BE0B4; }
.wd-entry { margin: 18px 0 0; font-size: 16px; color: #5E584C; }
.wd-ret { margin-top: 18px; padding: 18px 20px; border-left: 4px solid var(--gold); background: var(--white); border-radius: 0 10px 10px 0; opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .4s; }
.wd-ret.show { opacity: 1; transform: none; }
.wd-rl { margin: 0 0 6px; font: 700 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); }
.wd-rt { margin: 0; font-size: 17px; color: var(--charcoal); }
.wd-tagline { margin: 22px 0 0; font: italic 500 26px/1.2 var(--serif); color: var(--navy); }
.wd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.wd-tile { display: flex; gap: 12px; align-items: flex-start; padding: 14px; background: var(--white); border: 1.5px solid var(--rule); border-radius: 12px; transition: border-color .3s, background .3s, transform .3s, box-shadow .3s; }
.wd-tile .av { width: 44px; flex: none; }
.wd-cos { grid-column: 1 / -1; }
.wd-tx { min-width: 0; }
.wd-n { margin: 0; font: 600 19px/1.2 var(--serif); color: var(--navy); }
.wd-l { margin: 4px 0 6px; font-size: 15px; line-height: 1.42; color: #4A4A48; }
.wd-tile.lit { border-color: var(--gold); background: #FFFBEF; }
.wd-tile.now { transform: translateY(-3px); box-shadow: 0 18px 30px -20px rgba(156,126,37,.7); }
.wd-foot { margin: 30px 0 0; font-size: 15px; color: #5E584C; }
.wd-tag { display: inline-block; margin-right: 8px; font-weight: 700; color: var(--navy); }
@media (max-width: 1100px) { .wd-body { grid-template-columns: 1fr; } .wd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .wd-grid { grid-template-columns: 1fr; } .wd-cos { grid-column: auto; } }

.fam-orm { margin-top: 90px; }
.fam-orm .orm { padding: 34px; border-radius: 14px; box-shadow: 0 40px 70px -50px rgba(11,19,36,.5); font-size: 16px; }
.fam-orm .orm #orm-title { font-size: clamp(32px, calc(3 * var(--vw)), 46px); color: var(--navy); }
.fam-orm .orm-intro { font-size: 18px; max-width: 900px; }
.fam-orm .orm-card { font-size: 15px; }
.fam-orm .orm-tag { color: var(--navy); }

.rfa-agenda.days-ag { background: var(--navy); color: #D6DCE7; padding: 130px 0 140px; }
.rfa-agenda.days-ag .rfa-wrap { max-width: var(--wrap); }
.rfa-agenda.days-ag .rfa-head { text-align: left; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 40px; align-items: end; margin-bottom: 40px; }
.rfa-agenda.days-ag .rfa-head .flip { --fb: #A7B0C0; grid-column: 2; grid-row: 1 / span 3; max-width: 520px; margin: 0; }
.rfa-agenda.days-ag .rfa-head h2 { color: var(--white); font-size: clamp(44px, calc(5 * var(--vw)), 80px); grid-column: 1; }
.rfa-agenda.days-ag .rfa-sub { color: #D6DCE7; grid-column: 1; font-size: 20px; }
.rfa-agenda.days-ag .rfa-dates { color: var(--gold-hi); }
.rfa-agenda.days-ag .rfa-count { grid-column: 1; justify-content: flex-start; }
.rfa-agenda.days-ag .rfa-count-note { text-align: left; color: #D6DCE7; }
.rfa-agenda.days-ag .rfa-tabs { border-bottom-color: rgba(255,255,255,.2); }
.rfa-agenda.days-ag .rfa-tab { color: #C3CBDA; }
.rfa-agenda.days-ag .rfa-tab[aria-selected="true"] { color: var(--white); }
.rfa-agenda.days-ag .rfa-dayhead h3 { color: var(--white); font-size: 30px; }
.rfa-agenda.days-ag .rfa-daydate { color: #D6DCE7; }
.rfa-agenda.days-ag .rfa-item { border-color: transparent; }
.rfa-agenda.days-ag .rfa-item.is-break { background: #EEF0F4; border: 1px dashed #A7B0C0; }
.rfa-agenda.days-ag .rfa-title { color: var(--navy); }
.rfa-agenda.days-ag .rfa-len { color: #4F586B; }
.rfa-agenda.days-ag .rfa-foot { color: #D6DCE7; max-width: 900px; }
.rfa-agenda.days-ag .rfa-tag { background: transparent; color: var(--white); border-color: rgba(212,175,55,.6); }
.rfa-agenda.days-ag .rfa-btn:focus-visible { outline-color: var(--white); }
@media (min-width: 1100px) {
  .rfa-agenda.days-ag .rfa-tabs { display: none; }
  .rfa-agenda.days-ag .rfa-days { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; align-items: start; }
  .rfa-agenda.days-ag .rfa-day[hidden] { display: block; }
  .rfa-agenda.days-ag .rfa-day::before { content: attr(data-label); display: block; font: 700 13px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
  .rfa-agenda.days-ag .rfa-item details > summary { grid-template-columns: 104px 1fr auto; }
  .rfa-agenda.days-ag .rfa-out { padding-left: calc(104px + 28px); }
}
@media (max-width: 980px) { .rfa-agenda.days-ag { padding: 100px 0 110px; } .rfa-agenda.days-ag .rfa-head { grid-template-columns: 1fr; } .rfa-agenda.days-ag .rfa-head .flip { grid-column: 1; grid-row: auto; margin-bottom: 20px; } }

.cost-pay { margin: 18px 0 0; text-align: center; font-size: 16px; color: #D6DCE7; }
.date-note:not(:empty) { display: block; margin-top: 6px; }

.fd { margin-top: 80px; padding-top: 60px; border-top: 1px solid var(--rule); }
.fd-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 30px; align-items: end; margin-bottom: 26px; }
.fd-tag { grid-column: 1 / -1; font: 700 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); }
.fd h3 { font-size: clamp(30px, calc(2.8 * var(--vw)), 44px); color: var(--navy); }
.fd-toggle { display: inline-flex; border: 1.5px solid var(--navy); border-radius: 999px; overflow: hidden; }
.fd-toggle button { font: 700 14px/1 var(--sans); letter-spacing: .04em; padding: 12px 18px; border: 0; background: var(--white); color: var(--navy); cursor: pointer; }
.fd-toggle button[aria-pressed="true"] { background: var(--navy); color: var(--white); }
.fd-toggle button:focus-visible { outline: 2px solid var(--gold); outline-offset: -4px; }
.fd-pairs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fd-pair { display: grid; background: var(--white); border: 1px solid var(--rule); border-radius: 12px; padding: 22px; box-shadow: 0 24px 40px -34px rgba(11,19,36,.5); }
.fd-side { grid-area: 1 / 1; transition: opacity .35s, transform .35s; }
.fd-k { display: block; font: 700 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #5E584C; margin-bottom: 10px; }
.fd-after .fd-k { color: var(--gold-ink); }
.fd-side p { margin: 0; font: 500 22px/1.35 var(--serif); color: var(--navy); }
.fd-before p { color: #4A4A48; }
.fd-by { display: block; margin-top: 12px; font-size: 14px; color: #5E584C; }
.fd[data-show="before"] .fd-after, .fd[data-show="after"] .fd-before { opacity: 0; visibility: hidden; transform: translateY(6px); }
.fd:not([data-show]) .fd-side { grid-area: auto; }
.fd:not([data-show]) .fd-after { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--rule); }
@media (max-width: 980px) { .fd-pairs { grid-template-columns: 1fr; } .fd-head { grid-template-columns: 1fr; } }
.sc-group + .sc-group { margin-top: 56px; }
.rfa-agenda.days-ag summary::before, .rfa-agenda.days-ag summary::after { content: none; }
.fam-orm .orm-col h3 { font-size: 15px; font-family: var(--sans); letter-spacing: .02em; }
.cost-dates { margin: 22px auto 0; max-width: 760px; text-align: center; font-size: 17px; line-height: 1.6; color: #E6EAF1; }
.cost-dates span { display: block; }
.cost-dates span:empty { display: none; }
.cost-dates span[data-enroll="line"] { font-weight: 700; color: var(--gold-hi); }
.cost-pay { max-width: 760px; margin-left: auto; margin-right: auto; }
.cost-legal { display: flex; justify-content: center; gap: 22px; margin-top: 12px; font-size: 15px; }
.cost-legal a { color: #DCE2EC; text-decoration: underline; text-underline-offset: 3px; }
.cost-legal a:hover, .cost-legal a:focus-visible { color: var(--white); }
a.is-closed { cursor: default; pointer-events: none; filter: saturate(.35); }
.fam-orm .orm-col { align-self: start; }
.cost-wait .cost-top { display: block; text-align: center; margin-bottom: 0; }
.cost-wait .cost-top h2 { margin: 0 auto; max-width: none; text-align: center; }
.wait-next { text-align: center; font-size: clamp(20px, calc(1.6 * var(--vw)), 26px); color: var(--gold-hi); margin: 18px 0 34px; }
