/* ============================================================================
   THIS ROUND. Loads last.

   The top bar, the new hero words, the four extras with their new pictures,
   the price section's left column, the self-check in green and coral, the
   guarantee as a gold certificate, the closing launch ticket, and the minimal
   dark footer.
   ============================================================================ */

/* ======================================================================
   TOP BAR: the logo, the event, the button. Stays as you scroll.
   ====================================================================== */
/* sits over the top of the hero and scrolls away with it; the bottom bar takes over after */
.topbar{position:absolute;left:0;right:0;top:0;z-index:40;border-bottom:1px solid transparent;
  background:rgb(244 245 247 / .74);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.topbar.scrolled{background:rgb(255 255 255 / .88);border-bottom-color:rgb(10 42 107 / .08);box-shadow:0 12px 30px -26px rgb(10 42 107 / .55)}
.tb-in{max-width:1220px;height:72px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}
.tb-brand{display:block;flex:none}
.tb-brand img{display:block;height:40px;width:auto}
.tb-sep{flex:none;width:1px;height:28px;background:rgb(10 42 107 / .16)}
.tb-name{font:700 17px/1 var(--font);letter-spacing:-.02em;color:var(--navy);white-space:nowrap}
.tb-cta{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 7px 0 20px;border-radius:12px;
  background:var(--navy);color:#fff;font:700 15px/1 var(--font);text-decoration:none;white-space:nowrap;
  box-shadow:0 14px 30px -16px rgb(10 42 107 / .7);transition:background-color .2s,transform .16s}
.tb-cta:hover{background:#0D3C9C;transform:translateY(-1px)}
.tb-arr{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--bright)}
.tb-arr svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:translate .25s ease}
.tb-cta:hover .tb-arr svg{translate:2px -2px}
@media (max-width:760px){
  .tb-in{height:60px;padding:0 12px;gap:10px}
  .tb-brand img{height:28px}
  .tb-sep{height:22px}
  .tb-name{font-size:14px}
  .tb-cta{height:40px;padding:0 6px 0 12px;font-size:13px;gap:8px;border-radius:10px}
  .tb-arr{width:28px;height:28px;border-radius:8px}
}
@media (max-width:440px){ .tb-brand img{height:24px} .tb-in{gap:8px} .tb-arr{display:none} .tb-cta{padding:0 12px} }

/* ======================================================================
   HERO: the new headline, balanced so no word sits alone on a line
   ====================================================================== */
.hero-plain .hero{padding-top:120px}
.hero-plain h1{font-size:clamp(34px,3.7vw,68px);line-height:1.06;max-width:21ch;margin-left:auto;margin-right:auto;text-wrap:balance}
.hero-plain .sub{font-size:20px;font-weight:600;color:var(--navy);text-wrap:balance}
@media (max-width:1100px) and (min-width:761px){ .hero-plain h1{font-size:clamp(34px,4.6vw,48px)} }
@media (max-width:760px){
  .hero-plain .hero{padding-top:96px}
  .hero-plain h1{font-size:31px;max-width:none}
  .hero-plain .sub{font-size:17.5px}
}

/* ======================================================================
   THE FOUR EXTRAS: a dictionary and a call in place of the old pictures
   ====================================================================== */
.b-pack .bv-dict{background:linear-gradient(160deg,#EDE9FE,#F8F6FF)}
.bv-dict .qcard{width:176px;height:108px;margin:-54px 0 0 -88px}
.bv-dict .qcard b{width:auto;padding:0 8px;background:#7C3AED;letter-spacing:.05em}
.bv-dict .qcard em{display:block;margin:0 0 9px;font:700 12.5px/1.25 var(--font);font-style:normal;color:var(--navy)}
.bv-dict .qcard:nth-child(2) b{background:#0145C8}
.bv-dict .qcard:nth-child(3) b{background:#0D9488}
.bv-dict .qtag{color:#7C3AED;background:rgb(124 58 237 / .1)}
/* fanned wider than the old question cards, so each term stays readable */
.bv-dict .qcard{width:150px;margin-left:-75px}
.bv-dict.go .qcard:nth-child(1){transform:translate(-82px,14px) rotate(-11deg)}
.bv-dict.go .qcard:nth-child(2){transform:translate(82px,12px) rotate(10deg)}
.bv-dict.go .qcard:nth-child(3){transform:translate(0,-8px) rotate(-1deg)}
.b-pack:hover .bv-dict.go .qcard:nth-child(1){transform:translate(-92px,16px) rotate(-14deg)}
.b-pack:hover .bv-dict.go .qcard:nth-child(2){transform:translate(92px,14px) rotate(13deg)}
.bv-dict .qcard:nth-child(1) em,.bv-dict .qcard:nth-child(2) em{max-width:62px}
.bv-dict .qcard:nth-child(2) em{margin-left:auto;text-align:right}
.bv-dict .qcard:nth-child(2) b{float:right}

.b-qa .bv-call{background:linear-gradient(160deg,#DCFCE7,#F3FDF7);min-height:190px}
.call{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5%;padding:26px 6% 0}
.cp{display:flex;flex-direction:column;align-items:center;gap:9px;font:700 11.5px var(--font);color:#3F6B52;white-space:nowrap}
.cp i{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font:800 15px var(--font);font-style:normal;color:#fff;
  background:var(--navy);box-shadow:0 14px 28px -14px rgb(10 42 107 / .6)}
.cp-them i{background:linear-gradient(135deg,#22C55E,#15803D);box-shadow:0 14px 28px -14px rgb(21 128 61 / .7)}
.cp-them svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round}
.cp-them i::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid #22C55E;opacity:0}
.bv-call.go .cp-them i::after{animation:call-ring 1.8s ease-out .8s infinite}
@keyframes call-ring{ from{opacity:.65;transform:scale(1)} to{opacity:0;transform:scale(1.55)} }
.cline{flex:1;max-width:280px;height:44px;display:flex;align-items:center;justify-content:space-between}
.cline b{width:5px;height:9px;border-radius:3px;background:#16A34A;opacity:.25;transition:opacity .4s ease}
.bv-call.go .cline b{opacity:1;animation:call-wave 1.1s ease-in-out infinite}
.cline b:nth-child(2){animation-delay:-.15s}.cline b:nth-child(3){animation-delay:-.3s}.cline b:nth-child(4){animation-delay:-.45s}
.cline b:nth-child(5){animation-delay:-.6s}.cline b:nth-child(6){animation-delay:-.75s}.cline b:nth-child(7){animation-delay:-.9s}
.cline b:nth-child(8){animation-delay:-1.05s}.cline b:nth-child(9){animation-delay:-.2s}
@keyframes call-wave{ 0%,100%{transform:scaleY(.6)} 50%{transform:scaleY(3.4)} }
.call-tag{position:absolute;top:16px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  background:var(--navy);color:#fff;font:700 11.5px var(--font);white-space:nowrap}
.call-tag .live{width:7px;height:7px;border-radius:50%;background:#5BE38A}
@media (max-width:900px){ .b-qa .bv-call{min-height:180px} .cp i{width:54px;height:54px} .cline{height:36px} }
@media (prefers-reduced-motion:reduce){ .bv-call.go .cp-them i::after,.bv-call.go .cline b{animation:none} .cline b{opacity:1} }

/* ======================================================================
   PRICE: what you don't need, and the date counting down
   ====================================================================== */
.pr-need{margin:4px 0 22px}
.pr-need-h{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F4D27A}
.pr-need ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pr-need li{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border-radius:999px;
  background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .16);color:#fff;font:600 15px/1.2 var(--font)}
.pn-x{flex:none;width:24px;height:24px;border-radius:50%;background:#F4D27A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6.5' fill='none' stroke='%230A2A6B' stroke-width='2.2'/%3E%3Cpath d='M7.5 16.5l9-9' stroke='%230A2A6B' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat}
.pr-when{display:flex;align-items:center;gap:14px;max-width:460px;padding:15px 18px;border-radius:18px;
  background:linear-gradient(120deg,rgb(4 87 245 / .42),rgb(255 255 255 / .06));border:1px solid rgb(255 255 255 / .16)}
.pw-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#F4D27A}
.pw-ic svg{width:21px;height:21px;fill:none;stroke:#0A2A6B;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pr-when b{display:block;color:#fff;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.pr-when .cd{display:block;margin-top:4px;font-size:13.5px;color:rgb(255 255 255 / .75)}
@media (max-width:760px){ .pr-need li{font-size:14px} }

/* ======================================================================
   WHO IT'S FOR: green for join, coral for skip
   ====================================================================== */
.fx-yes{background:linear-gradient(165deg,#E7FAEF,#fff 62%);border:1px solid #BDEFD0;box-shadow:0 30px 60px -42px rgb(22 163 74 / .55)}
.fx-no{background:linear-gradient(165deg,#FFEDE7,#FFFAF8 62%);border:1px solid #FAD3C6;box-shadow:0 30px 60px -42px rgb(229 83 61 / .45)}
.fx-yes .fx-pill{background:linear-gradient(135deg,#22C55E,#15803D);color:#fff;box-shadow:0 10px 22px -12px rgb(21 128 61 / .8)}
.fx-no .fx-pill{background:linear-gradient(135deg,#FB8466,#E0482A);color:#fff;box-shadow:0 10px 22px -12px rgb(224 72 42 / .7)}
.fx-row{align-items:center}
.fx-no .fx-row{background:#fff;color:#4A5568}
.fx-yes .fx-row:hover{border-color:#86E3A9}
.fx-no .fx-row:hover{border-color:#F8B29E}
.fx-ic{flex:none;margin-left:auto;display:grid;place-items:center;width:38px;height:38px;border-radius:11px}
.fx-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fx-yes .fx-ic{background:#DCFCE7;color:#15803D}
.fx-no .fx-ic{background:#FFE4DB;color:#D9462A}
.fx-yes .fx-row[aria-pressed="true"]{border-color:#16A34A;background:#F0FDF4;box-shadow:0 14px 30px -20px rgb(22 163 74 / .7)}
.fx-yes .fx-row[aria-pressed="true"] .fx-box{background:#16A34A;border-color:#16A34A}
.fx-no .fx-row[aria-pressed="true"]{border-color:#F26B4F;background:#FFF4F0;color:#9A3A26}
.fx-no .fx-row[aria-pressed="true"] .fx-box{background:#E5533D;border-color:#E5533D}
.fx-verdict[data-state="yes"]{background:linear-gradient(120deg,#0B5E33,#15803D 55%,#22C55E)}
.fx-verdict[data-state="no"]{background:linear-gradient(120deg,#8A2E0F,#C2410C 55%,#EA580C)}
.fx-v-yes .section-cta{background:#fff;color:#15803D;border-color:transparent}
.fx-v-yes .section-cta:hover{background:#F0FDF4}

/* ======================================================================
   THE GUARANTEE: a gold certificate with a seal and ribbon
   ====================================================================== */
.section-promise .section-inner{max-width:1040px}
.cert{position:relative;padding:60px 270px 56px 60px;border-radius:34px;color:var(--navy);
  background:
    radial-gradient(520px 320px at 100% 0%,rgb(255 255 255 / .6),transparent 62%),
    repeating-radial-gradient(circle at 0% 100%,rgb(201 162 39 / .08) 0 2px,transparent 2px 15px),
    linear-gradient(135deg,#FFF9E8 0%,#FFF0C8 55%,#FADC92 100%);
  box-shadow:0 44px 90px -54px rgb(150 105 0 / .7),inset 0 0 0 1px rgb(201 162 39 / .5),inset 0 0 0 11px #FFF6DC,inset 0 0 0 12.5px rgb(201 162 39 / .6)}
.cert-k{display:inline-flex;margin:0 0 18px;padding:7px 13px;border-radius:999px;background:var(--navy);color:#F4D27A;
  font:800 11.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase}
.cert h2{color:var(--navy)}
.cert .sub{color:#6B4E00;font-weight:600}
.cert .vow{color:var(--navy)}
/* the main promise marked in blue, white words once the pen has passed */
.cert .hl{background:#0145C8;color:#fff;padding:.06em .24em;border-radius:6px}
.mo .cert .hl{background-color:transparent;background-image:linear-gradient(#0145C8,#0145C8);color:var(--navy);
  transition:background-size 1.2s var(--mo-ink) .15s,color .35s ease .7s}
.mo .cert .hl.lit{color:#fff}
.cert .fine{color:#5C4A1E;margin-bottom:28px}
.cert .fine strong{color:var(--navy)}
.cond{font-weight:800;color:var(--navy);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background:linear-gradient(rgb(245 158 11 / .5),rgb(245 158 11 / .5)) 0 88% / 100% 44% no-repeat}
.cert .promise-cta{text-align:left}
/* the seal: gold, with the ring of words in deep gold and two ribbon tails */
.cert .vowring{position:absolute;right:58px;top:54px;width:184px;height:184px;margin:0;isolation:isolate}
.cert .vowring text{fill:#8A6300}
.cert .vowring .mid{inset:34px;background:radial-gradient(circle at 34% 28%,#FFE89A,#E5B53E 55%,#B8860B);color:var(--navy);
  box-shadow:0 18px 34px -14px rgb(150 105 0 / .75),inset 0 0 0 3px rgb(255 255 255 / .4)}
.cert .vowring .mid span{color:var(--navy)}
.cert .vowring::before,.cert .vowring::after{content:"";position:absolute;top:60%;width:36px;height:92px;z-index:-1;
  background:linear-gradient(#0457F5,#0A2A6B);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
.cert .vowring::before{left:calc(50% - 40px);rotate:16deg}
.cert .vowring::after{left:calc(50% + 4px);rotate:-16deg}
@media (max-width:1240px){ .cert .vowring{width:160px;height:160px} .cert .vowring .mid{inset:29px} .cert{padding-right:240px} }
@media (max-width:860px){
  .cert{padding:34px 24px 32px;border-radius:26px}
  .cert .vowring{position:relative;right:auto;top:auto;width:140px;height:140px;margin:0 0 30px}
  .cert .vowring .mid{inset:25px}
  .cert .vowring .mid b{font-size:22px}
  .cert .vowring::before,.cert .vowring::after{width:28px;height:64px}
  .cert .vowring::before{left:calc(50% - 31px)}
  .cert .vowring::after{left:calc(50% + 3px)}
  .cert .promise-cta .section-cta{width:100%}
}

/* ======================================================================
   THE CLOSING SECTION: a launch ticket with a tear-off stub
   ====================================================================== */
.section-recap .section-inner{max-width:1020px}
.ticket{display:grid;grid-template-columns:minmax(0,1fr) 290px;margin:6px 0 0;text-align:left;
  filter:drop-shadow(0 34px 46px rgb(10 42 107 / .26))}
.tk-main{position:relative;padding:30px 32px 32px;border-radius:28px 0 0 28px;color:#fff;
  background:radial-gradient(480px 300px at 0% 0%,rgb(56 189 248 / .38),transparent 62%),
             radial-gradient(420px 300px at 100% 100%,rgb(124 58 237 / .4),transparent 62%),
             linear-gradient(120deg,#061B4D,#0A2A6B 45%,#0145C8);
  -webkit-mask:radial-gradient(circle 15px at 100% 0,#0000 97%,#000) top / 100% 51% no-repeat,radial-gradient(circle 15px at 100% 100%,#0000 97%,#000) bottom / 100% 51% no-repeat;
          mask:radial-gradient(circle 15px at 100% 0,#0000 97%,#000) top / 100% 51% no-repeat,radial-gradient(circle 15px at 100% 100%,#0000 97%,#000) bottom / 100% 51% no-repeat}
.tk-stub{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:30px 28px 26px;border-radius:0 28px 28px 0;
  background:linear-gradient(160deg,#FFF7DD,#FDE5A0);
  -webkit-mask:radial-gradient(circle 15px at 0 0,#0000 97%,#000) top / 100% 51% no-repeat,radial-gradient(circle 15px at 0 100%,#0000 97%,#000) bottom / 100% 51% no-repeat;
          mask:radial-gradient(circle 15px at 0 0,#0000 97%,#000) top / 100% 51% no-repeat,radial-gradient(circle 15px at 0 100%,#0000 97%,#000) bottom / 100% 51% no-repeat}
.tk-stub::before{content:"";position:absolute;left:0;top:24px;bottom:24px;border-left:2px dashed rgb(10 42 107 / .28)}
.tk-k{display:flex;align-items:center;gap:9px;margin:0;font:800 11.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255 / .72)}
.tk-stub .tk-k{color:rgb(10 42 107 / .6)}
.tk-dot{width:9px;height:9px;rotate:45deg;border-radius:2px;background:#F4D27A}
.recap-list.tk-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:0;border:0}
.recap-list.tk-tiles li{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:16px 16px 18px;border:0;border-radius:18px;
  background:#fff;font-size:14px;line-height:1.4;color:#4A5568;box-shadow:0 16px 30px -22px rgb(0 0 0 / .6)}
.tk-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff}
.tk-ic svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:1}
.tk-ic .live{width:12px;height:12px;margin:0;border-radius:50%;background:#fff}
.tk-tx small{display:block;font:800 10.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase}
.tk-tx strong{display:block;margin:6px 0 3px;font:700 16px/1.3 var(--font);letter-spacing:-.015em;color:var(--navy)}
.tk-tx span{display:block}
.recap-list.tk-tiles li.tk-date{background:#E6F4FF}.tk-date .tk-ic{background:linear-gradient(135deg,#38BDF8,#0284C7)}.tk-date small{color:#0369A1}
.recap-list.tk-tiles li.tk-live{background:#E4FBEC}.tk-live .tk-ic{background:linear-gradient(135deg,#22C55E,#15803D)}.tk-live small{color:#15803D}
.recap-list.tk-tiles li.tk-bring{background:#F0EBFF}.tk-bring .tk-ic{background:linear-gradient(135deg,#A78BFA,#7C3AED)}.tk-bring small{color:#6D28D9}
.tk-price{margin:10px 0 18px;font:800 58px/1 var(--font);letter-spacing:-.05em;color:var(--navy)}
.tk-stub .section-cta{width:100%;min-height:52px;padding:0 18px;background:var(--navy);border-color:transparent}
.tk-stub .section-cta:hover{background:#0D3C9C}
.tk-code{display:block;height:34px;margin-top:20px;opacity:.7;border-radius:2px;
  background:repeating-linear-gradient(90deg,var(--navy) 0 2px,transparent 2px 4px,var(--navy) 4px 7px,transparent 7px 9px,var(--navy) 9px 10px,transparent 10px 13px)}
@media (max-width:860px){
  .ticket{grid-template-columns:minmax(0,1fr)}
  .tk-main{padding:24px 20px 26px;border-radius:24px 24px 0 0;
    -webkit-mask:radial-gradient(circle 15px at 0 100%,#0000 97%,#000) left / 51% 100% no-repeat,radial-gradient(circle 15px at 100% 100%,#0000 97%,#000) right / 51% 100% no-repeat;
            mask:radial-gradient(circle 15px at 0 100%,#0000 97%,#000) left / 51% 100% no-repeat,radial-gradient(circle 15px at 100% 100%,#0000 97%,#000) right / 51% 100% no-repeat}
  .tk-stub{padding:26px 20px 22px;border-radius:0 0 24px 24px;
    -webkit-mask:radial-gradient(circle 15px at 0 0,#0000 97%,#000) left / 51% 100% no-repeat,radial-gradient(circle 15px at 100% 0,#0000 97%,#000) right / 51% 100% no-repeat;
            mask:radial-gradient(circle 15px at 0 0,#0000 97%,#000) left / 51% 100% no-repeat,radial-gradient(circle 15px at 100% 0,#0000 97%,#000) right / 51% 100% no-repeat}
  .tk-stub::before{left:24px;right:24px;top:0;bottom:auto;border-left:0;border-top:2px dashed rgb(10 42 107 / .28)}
  .recap-list.tk-tiles{grid-template-columns:minmax(0,1fr)}
  .recap-list.tk-tiles li{flex-direction:row;align-items:center}
  .tk-price{font-size:48px}
}

/* ======================================================================
   FOOTER: dark, one framed blueprint box, and the name written by hand
   ====================================================================== */
.site-footer.ftm{display:block;margin:0;padding:80px 0 96px;border:0;border-radius:0;color:#fff;overflow:hidden;
  background:radial-gradient(900px 420px at 50% 0%,rgb(4 87 245 / .22),transparent 70%),#061B4D}
.ftm-box{--c:#4D8BFF;position:relative;width:calc(100% - 48px);max-width:1180px;margin:0 auto;border:1px solid rgb(255 255 255 / .1);border-radius:4px;
  background:linear-gradient(rgb(255 255 255 / .035) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgb(255 255 255 / .035) 1px,transparent 1px) 0 0 / 28px 28px,
             linear-gradient(160deg,rgb(4 87 245 / .16),rgb(255 255 255 / .02) 60%);
  box-shadow:0 0 0 1px rgb(77 139 255 / .06),0 40px 90px -50px rgb(4 87 245 / .7)}
/* the four corner marks */
.ftm-box::before{content:"";position:absolute;inset:-1px;pointer-events:none;background-repeat:no-repeat;
  background-image:linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
                   linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
  background-size:24px 2px,2px 24px,24px 2px,2px 24px,24px 2px,2px 24px,24px 2px,2px 24px;
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}
.ftm-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:center;gap:32px 48px;padding:40px 44px;border-bottom:1px solid rgb(255 255 255 / .1)}
.ftm .ft-logo{display:block;width:280px;max-width:100%;height:auto;margin:0}
.ftm-blurb{margin:16px 0 0;max-width:32ch;font-size:15px;line-height:1.6;color:rgb(255 255 255 / .66)}
.ftm-h{margin:0 0 14px;font:800 11.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:rgb(255 255 255 / .6)}
.ftm-cards{display:flex;flex-wrap:wrap;gap:12px}
.site-footer .ftm-card{flex:1 1 auto;display:flex;align-items:center;gap:13px;min-width:0;padding:15px 16px;border-radius:16px;text-decoration:none;color:#fff;
  font:700 15px/1.3 var(--font);background:rgb(255 255 255 / .05);border:1px solid rgb(255 255 255 / .1);
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.site-footer .ftm-card:hover{text-decoration:none;color:#fff;background:rgb(77 139 255 / .14);border-color:rgb(77 139 255 / .5);transform:translateY(-3px);
  box-shadow:0 18px 34px -20px rgb(4 87 245 / .9)}
.ftm-card > span:last-child{white-space:nowrap}
.fc-mail{font-size:14.5px}
.ftm-card small{display:block;margin:0 0 3px;font:700 11px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:rgb(255 255 255 / .55)}
.fc-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#4D8BFF,#0145C8);
  box-shadow:0 10px 20px -10px rgb(4 87 245 / .9)}
.fc-mail .fc-ic{background:linear-gradient(135deg,#F4D27A,#C9A227);box-shadow:0 10px 20px -10px rgb(201 162 39 / .9)}
.fc-ic svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fc-mail .fc-ic svg{stroke:#0A2A6B}
.ftm-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 44px}
.ftm .legal{width:auto;margin:0;padding:0;border:0;font-size:13.5px;color:rgb(255 255 255 / .6);opacity:1}
.site-footer .ftm-top{display:inline-flex;align-items:center;gap:8px;font:700 13.5px var(--font);color:#7FB0FF;text-decoration:none}
.site-footer .ftm-top:hover{color:#fff;text-decoration:none}
.ftm-top span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;border:1px solid rgb(127 176 255 / .4);transition:translate .25s ease}
.ftm-top:hover span{translate:0 -3px}
/* the name, large, in handwriting */
.ftm-sign{margin:34px 0 0;text-align:center;line-height:1}
.ftm-sign span{display:inline-block;padding:.06em .18em .16em;font:700 clamp(54px,13vw,210px)/1 var(--hand);letter-spacing:0;white-space:nowrap;
  background:linear-gradient(90deg,#4D8BFF,#7FB0FF 40%,#F4D27A 75%,#C9A227);-webkit-background-clip:text;background-clip:text;color:transparent}
.mo .ftm-sign span{clip-path:inset(-10% 100% -10% 0);transition:clip-path 2.2s cubic-bezier(.55,.1,.3,1) .2s}
.mo .ftm-sign.in span{clip-path:inset(-10% -2% -10% 0)}
/* no box: the pieces sit straight on the navy, the logo and line on the left,
   the three ways to reach us in a row on the right, a hairline, then the copyright */
.ftm-box{border:0;border-radius:0;background:none;box-shadow:none}
.ftm-box::before{display:none}
.ftm-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:0 0 40px}
.ftm-contact{justify-self:end}
.ftm-cards{gap:14px 34px}
.site-footer .ftm-card{flex:0 0 auto;padding:4px 0;background:none;border:0;border-radius:0;box-shadow:none}
.site-footer .ftm-card:hover{background:none;border:0;box-shadow:none;transform:translateY(-2px);color:#7FB0FF}
.ftm-foot{padding:20px 0 0;border-top:1px solid rgb(255 255 255 / .12)}
.ftm-row{border-bottom:0}
@media (max-width:980px){ .ftm-row{grid-template-columns:minmax(0,1fr);align-items:start} .ftm-contact{justify-self:start} }
@media (max-width:760px){
  .site-footer.ftm{padding:52px 0 92px}
  .ftm-box{width:calc(100% - 24px)}
  .ftm-row{padding:28px 20px;gap:26px}
  .ftm .ft-logo{width:230px}
  .ftm-cards{flex-direction:column}
  .ftm-foot{flex-direction:column;align-items:flex-start;padding:16px 20px}
  .ftm-sign{margin-top:24px}
}
@media (prefers-reduced-motion:reduce){ .ftm-card,.ftm-top span{transition:none} }

/* ======================================================================
   HERO: the typed word and the flipped word, and the three chips in colour
   ====================================================================== */
.hero .tw{display:inline-block;text-align:left;color:var(--cta)}
.hero .tw.typing{border-right:.06em solid var(--cta);animation:tw-caret .7s steps(1) infinite;margin-right:-.06em}
@keyframes tw-caret{ 50%{border-right-color:transparent} }
.hero .flipw{display:inline-block;color:var(--cta);will-change:transform}
.chip{gap:10px;padding:6px 14px 6px 6px;border-radius:999px;font-size:13.5px;font-weight:700;border:1px solid}
.c-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none}
.chip .c-ic svg{width:15px;height:15px;opacity:1;stroke:#fff;stroke-width:1.9}
.c-date{background:#EAF6FF;border-color:#BAE3FD;color:#075985;box-shadow:0 10px 24px -16px rgb(2 132 199 / .7)}
.c-date .c-ic{background:linear-gradient(135deg,#38BDF8,#0284C7)}
.c-time{background:#F2EEFF;border-color:#D8CCFD;color:#5B21B6;box-shadow:0 10px 24px -16px rgb(124 58 237 / .7)}
.c-time .c-ic{background:linear-gradient(135deg,#A78BFA,#7C3AED)}
.c-live{background:#E9FBEF;border-color:#B6EFCB;color:#166534;box-shadow:0 10px 24px -16px rgb(22 163 74 / .7)}
.c-live .c-ic{background:linear-gradient(135deg,#4ADE80,#16A34A)}
.c-live .live{width:9px;height:9px;background:#fff;box-shadow:0 0 0 0 rgb(255 255 255 / .7);animation:chip-live 1.8s ease-out infinite}
@keyframes chip-live{ 0%{box-shadow:0 0 0 0 rgb(255 255 255 / .8)} 100%{box-shadow:0 0 0 8px rgb(255 255 255 / 0)} }
.chip{transition:translate .25s ease,box-shadow .25s ease}
.chip:hover{translate:0 -2px}
/* they settle in one after another on load; the words are on screen throughout */
.mo .chip{animation:chip-in .8s cubic-bezier(.2,1.4,.4,1) both}
.mo .chip:nth-child(2){animation-delay:.12s}.mo .chip:nth-child(3){animation-delay:.24s}
@keyframes chip-in{ from{translate:0 8px;scale:.94} }
@media (max-width:760px){ .chip{font-size:12.5px;padding:5px 12px 5px 5px} .c-ic{width:24px;height:24px} }
@media (prefers-reduced-motion:reduce){ .c-live .live,.mo .chip{animation:none} .hero .tw.typing{animation:none} }

/* the video now follows the hero straight away */
.section-video{padding-top:24px}

/* ======================================================================
   PULL QUOTE: a fixed first line, then three questions taking turns
   ====================================================================== */
.pull-1{display:block}
.pull-q{display:grid;margin-top:4px;color:var(--cta)}
.pull-q > span{grid-area:1 / 1;opacity:0;translate:0 .55em;transition:opacity .5s ease,translate .7s cubic-bezier(.16,1,.3,1)}
.pull-q > span.on{opacity:1;translate:none}
.pull-q > span.off{opacity:0;translate:0 -.55em}

/* ======================================================================
   WHY NOW: the two choices, the dates on a line, and the countdown
   ====================================================================== */
.section-now{background:radial-gradient(700px 420px at 0% 10%,rgb(56 189 248 / .14),transparent 65%),radial-gradient(700px 440px at 100% 90%,rgb(244 210 122 / .28),transparent 65%),var(--ground-a)}
.now-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.now-vs{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.nv{padding:22px 22px 20px;border-radius:22px}
.nv p{margin:0}
.now-copy .nv-k{margin:0 0 10px;font:800 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase}
.now-copy .nv-b{margin:0 0 10px;font:800 20px/1.25 var(--font);letter-spacing:-.025em}
.now-copy .nv-t{margin:0;font-size:15px;line-height:1.55}
.nv-wait{background:#EEF0F4;border:1px dashed rgb(10 42 107 / .2)}
.nv-wait .nv-k{color:#7A8396}.nv-wait .nv-b{color:#5B6577;text-decoration:line-through;text-decoration-color:rgb(220 38 38 / .55);text-decoration-thickness:2px}
.now-copy .nv-wait .nv-t{color:#5B6577}
.nv-start{color:#fff;background:radial-gradient(260px 180px at 100% 0%,rgb(56 189 248 / .45),transparent 70%),linear-gradient(140deg,#0A2A6B,#0145C8);
  box-shadow:0 26px 50px -26px rgb(1 69 200 / .8)}
.nv-start .nv-k{color:#F4D27A}.now-copy .nv-start .nv-b{color:#fff}.now-copy .nv-start .nv-t{color:rgb(255 255 255 / .82)}
.nv-or{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:#fff;color:var(--navy);font:800 12px var(--font);box-shadow:0 8px 20px -8px rgb(10 42 107 / .5);z-index:1}
.now-copy .now-last{margin:18px 0 0;font-size:16px;font-weight:600;color:var(--navy)}
/* the timeline */
.now-tl{display:flex;flex-direction:column}
.now-tl .nd{display:flex;align-items:center;gap:16px;margin:0;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--hair)}
.now-tl .nd b{display:block;font-size:17px;color:var(--navy)}
.now-tl .nd p{margin:3px 0 0}
.nd-cal{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:66px;border-radius:14px;color:#fff;
  font:800 24px/1 var(--font);letter-spacing:-.03em}
.nd-cal small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-bottom:3px}
.nd-cal i{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.nd-a .nd-cal{background:linear-gradient(140deg,#0457F5,#0A2A6B);box-shadow:0 12px 24px -12px rgb(1 69 200 / .8)}
.nd-b .nd-cal{background:linear-gradient(140deg,#F4D27A,#C9A227);color:var(--navy);box-shadow:0 12px 24px -12px rgb(201 162 39 / .9)}
.nd-gap{position:relative;display:flex;align-items:center;gap:12px;height:74px;padding-left:48px}
.nd-line{position:absolute;left:48px;top:0;bottom:0;width:3px;border-radius:3px;background:linear-gradient(#0457F5,#C9A227);opacity:.85}
.nd-line i{position:absolute;left:50%;top:0;width:11px;height:11px;margin:-5px 0 0 -5.5px;border-radius:50%;background:#fff;border:3px solid #0457F5;
  box-shadow:0 0 0 5px rgb(4 87 245 / .15);animation:nd-travel 2.6s cubic-bezier(.65,0,.35,1) infinite}
@keyframes nd-travel{ 0%{top:0;border-color:#0457F5} 80%,100%{top:100%;border-color:#C9A227} }
.nd-days{margin-left:22px;padding:6px 12px;border-radius:999px;background:var(--navy);color:#F4D27A;font:800 12px/1 var(--font);letter-spacing:.04em}
/* the countdown strip */
.now-cd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin:40px 0 0;padding:20px 26px;border-radius:24px;color:#fff;
  background:radial-gradient(400px 200px at 100% 0%,rgb(244 210 122 / .25),transparent 70%),linear-gradient(120deg,#061B4D,#0A2A6B 50%,#0145C8);
  box-shadow:0 30px 60px -34px rgb(10 42 107 / .8)}
.ncd-k{display:flex;align-items:center;gap:12px;margin:0;font:800 24px/1.2 var(--font);letter-spacing:-.02em}
.ncd-k .live{width:11px;height:11px;background:#5BE38A;box-shadow:0 0 0 5px rgb(91 227 138 / .25)}
.ncd-boxes{display:flex;gap:10px}
.ncd-boxes span{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:10px 8px 8px;border-radius:14px;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .16)}
.ncd-boxes b{font:800 30px/1 var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff}
.ncd-boxes small{margin-top:5px;font:700 10px var(--font);letter-spacing:.12em;text-transform:uppercase;color:rgb(255 255 255 / .65)}
.ncd-boxes span:first-child b{color:#F4D27A}
@media (max-width:900px){ .now-grid{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){
  .now-vs{grid-template-columns:minmax(0,1fr);gap:12px}
  .nv-or{top:auto;bottom:auto;position:relative;left:auto;translate:none;margin:-25px auto;}
  .now-cd{padding:18px}
  .ncd-k{font-size:20px}
  .ncd-boxes{width:100%;justify-content:space-between;gap:8px}
  .ncd-boxes span{flex:1;min-width:0}
  .ncd-boxes b{font-size:24px}
}
@media (prefers-reduced-motion:reduce){ .nd-line i{animation:none;top:50%} }

/* ======================================================================
   CONTACT: the outlined button, and the pop-up
   ====================================================================== */
.contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;border-radius:12px;cursor:pointer;
  font:700 16px var(--font);color:var(--cta);background:#fff;border:1.5px solid rgb(1 69 200 / .35);
  transition:background-color .2s,border-color .2s,transform .16s}
.contact-btn:hover{background:#EEF4FF;border-color:var(--cta);transform:translateY(-2px)}
.contact-btn:focus-visible{outline:2px solid var(--cta);outline-offset:3px}
.now-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.fq-side .contact-btn{margin-top:12px}
@media (max-width:760px){ .now-cta{justify-content:stretch} .now-cta > *,.fq-side .contact-btn{width:100%} }

.cmodal{width:min(460px,calc(100% - 24px));max-height:calc(100% - 24px);margin:auto;padding:0;border:0;border-radius:26px;background:#fff;color:var(--ink);
  box-shadow:0 40px 90px -30px rgb(6 27 77 / .6);overflow:auto}
.cmodal::backdrop{background:rgb(6 27 77 / .55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cmodal[open]{animation:cm-in .45s cubic-bezier(.16,1,.3,1)}
@keyframes cm-in{ from{opacity:0;translate:0 24px;scale:.97} }
html.cm-open{overflow:hidden}
.cm-x{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#F1F4F9;color:var(--navy);font-size:15px;cursor:pointer}
.cm-x:hover{background:#E3E9F3}
.cm-form,.cm-done{padding:34px 30px 28px}
.cm-k{margin:0 0 8px;font:800 11.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--cta)}
.cmodal h2{margin:0 0 22px;font-size:25px;line-height:1.2;letter-spacing:-.03em;color:var(--navy)}
.cm-f{display:block;margin:0 0 14px}
.cm-f span{display:block;margin:0 0 6px;font:700 13.5px var(--font);color:var(--navy)}
.cm-f input{width:100%;height:50px;padding:0 15px;border-radius:12px;border:1.5px solid #D9DFEA;background:#F8FAFD;font:500 16px var(--font);color:var(--ink);
  transition:border-color .2s,background-color .2s,box-shadow .2s}
.cm-f input:focus{outline:0;border-color:var(--cta);background:#fff;box-shadow:0 0 0 4px rgb(1 69 200 / .12)}
.cm-f em{display:none;margin-top:6px;font:600 12.5px var(--font);font-style:normal;color:#DC2626}
.cm-f.bad input{border-color:#DC2626;background:#FFF7F7}
.cm-f.bad em{display:block}
.cm-send{width:100%;margin-top:6px;cursor:pointer}
.cm-note{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--mute);text-align:center}
.cm-done{text-align:center;padding-top:44px;padding-bottom:40px}
.cm-done h2{margin:14px 0 8px}
.cm-done p{margin:0;font-size:16px;color:var(--mute)}
.cm-tick svg{width:76px;height:76px;fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.cm-tick circle{stroke:#16A34A;stroke-dasharray:151;stroke-dashoffset:151;animation:cm-draw .6s ease-out forwards}
.cm-tick path{stroke:#16A34A;stroke-dasharray:36;stroke-dashoffset:36;animation:cm-draw .4s .5s ease-out forwards}
@keyframes cm-draw{ to{stroke-dashoffset:0} }
@media (prefers-reduced-motion:reduce){ .cmodal[open]{animation:none} .cm-tick circle,.cm-tick path{animation:none;stroke-dashoffset:0} }

/* ---- last batch: the question the quotes answer ---- */
.section-batch .fb-q{display:inline-block;margin:6px 0 10px;padding:9px 18px;border-radius:999px;
  background:rgb(201 162 39 / .14);border:1px solid rgb(201 162 39 / .45);color:var(--navy);
  font:700 18px/1.35 var(--font);letter-spacing:-.01em;text-wrap:balance}
@media (max-width:640px){ .section-batch .fb-q{font-size:16px;padding:8px 14px;border-radius:16px} }

/* seat form: the date line under the heading */
.cmodal .cm-sub{margin:-14px 0 20px;font:600 14px/1.4 var(--font);color:#586279}
