
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/InstrumentSerif-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/InstrumentSerif-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/DMSans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/DMSans-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/DMSans-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/DMSans-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("/assets/fonts/SpaceGrotesk-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("/assets/fonts/SpaceGrotesk-600.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#07101B; --ink-soft:#102130; --cobalt:#2865FF; --cobalt-soft:#91B4FF;
  --mineral:#F4F3EF; --ice:#D7E5F4; --graphite:#2A3440;
  --line:rgba(42,52,64,.17); --hair:#D9DEE3;
  --head:"Instrument Serif",Georgia,serif;
  --body:"DM Sans",Arial,Helvetica,sans-serif;
  --label:"Space Grotesk",Arial,sans-serif;
  --wrap:1120px;
  --ease:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--mineral);line-height:1.6;
     font-size:16.5px;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.narrow{max-width:820px;margin:0 auto;padding:0 22px}

h1,h2,h3,h4{font-family:var(--head);font-weight:400;line-height:1.04;letter-spacing:-.01em}
h1{font-size:clamp(38px,6.6vw,72px)}
h2{font-size:clamp(30px,4.4vw,50px)}
h3{font-size:clamp(21px,2.4vw,27px);line-height:1.15}
h1 em,h2 em,h3 em{font-style:italic;color:var(--cobalt)}
.on-dark h1 em,.on-dark h2 em{color:var(--cobalt-soft)}
.eyebrow{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:var(--cobalt);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--cobalt);flex:none}
.on-dark .eyebrow{color:var(--cobalt-soft)}
.on-dark .eyebrow::before{background:var(--cobalt-soft)}
.lede{font-size:clamp(17px,1.6vw,19.5px);line-height:1.62;color:#3C4A57;max-width:60ch}
.on-dark .lede{color:#B9C7D4}
.sec{padding:clamp(58px,8.5vw,104px) 0}
.sec,section[id]{scroll-margin-top:88px}
.sec-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px)}

.dark{background:
  radial-gradient(circle at 78% 8%,rgba(47,117,255,.36),rgba(0,0,0,0) 34%),
  radial-gradient(circle at 8% 92%,rgba(47,117,255,.16),rgba(0,0,0,0) 40%),
  linear-gradient(158deg,#0C2038 0%,#08182A 46%,#07101B 100%);
  color:#fff;position:relative;overflow:hidden}
.dark::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(145,180,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(145,180,255,.055) 1px,transparent 1px);
  background-size:74px 74px}
.dark>*{position:relative;z-index:1}

.hdr{position:sticky;top:0;z-index:60;background:rgba(7,16,27,.9);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid rgba(145,180,255,.14)}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:11px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:20px}
.logo-card{background:#fff;padding:7px 13px;display:block;position:relative}
.logo-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cobalt)}
.logo-card img{width:132px;height:auto}
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:#DCE6F2;opacity:.86;transition:opacity .2s}
.nav a:hover{opacity:1}
.nav a.on{color:var(--cobalt-soft);opacity:1}
.hdr-cta{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;background:var(--cobalt);color:#fff;padding:11px 17px;white-space:nowrap;
  transition:background .2s var(--ease)}
.hdr-cta:hover{background:#1B4FD8}
@media(max-width:900px){.nav{display:none}}

.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--label);font-size:12px;
  font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:17px 27px;border:0;
  cursor:pointer;transition:background .22s var(--ease),color .22s var(--ease)}
.btn-p{background:var(--cobalt);color:#fff}
.btn-p:hover{background:#1B4FD8}
.btn-o{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(145,180,255,.5)}
.btn-o:hover{background:rgba(145,180,255,.12)}
.btn svg{width:15px;height:15px;flex:none}
.btn-row{display:flex;flex-wrap:wrap;gap:13px;align-items:center}

.hero{padding:clamp(62px,9vw,124px) 0 clamp(56px,7vw,96px)}
.hero h1{max-width:19ch}
.hero .lede{margin-top:26px}
.hero .btn-row{margin-top:38px}

.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;padding:clamp(24px,3vw,34px)}
.card .num{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.18em;
  color:var(--cobalt);display:block;margin-bottom:16px}
.card h3{margin-bottom:12px}
.card p{color:#4A5763;font-size:15.6px;line-height:1.62}
.card ul{list-style:none;margin-top:4px}
.card li{position:relative;padding-left:22px;margin-bottom:11px;color:#3C4A57;font-size:15.4px;line-height:1.55}
.card li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--cobalt)}
.offer-in{font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#78838E;margin-top:18px;padding-top:14px;
  border-top:1px solid var(--line);display:block}

  /* The three offers: one column, real space between, a little life on hover. */
  .offers{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,30px)}
  .offer-row{position:relative;display:grid;
    grid-template-columns:112px minmax(0,1fr) minmax(200px,252px);
    gap:clamp(18px,3.2vw,44px);align-items:start;background:#fff;
    border:1px solid var(--line);padding:clamp(26px,3.6vw,42px);overflow:hidden;
    transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
  .offer-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;
    background:var(--cobalt);transition:width .5s var(--ease)}
  .offer-row:hover{transform:translateY(-3px);border-color:rgba(40,101,255,.5);
    box-shadow:0 24px 60px -36px rgba(7,16,27,.6)}
  .offer-row:hover::before{width:5px}
  .offer-ghost{position:absolute;left:20px;top:4px;font-family:var(--head);font-size:116px;
    line-height:1;color:rgba(42,52,64,.06);pointer-events:none;transition:color .5s var(--ease)}
  .offer-row:hover .offer-ghost{color:rgba(40,101,255,.12)}
  .offer-idx{position:relative;z-index:1;display:flex;flex-direction:column;
    align-items:flex-start;gap:10px;padding-top:7px}
  .offer-num{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.19em;
    text-transform:uppercase;color:var(--cobalt)}
  .offer-tag{font-family:var(--label);font-size:10px;font-weight:600;letter-spacing:.14em;
    text-transform:uppercase;color:#fff;background:var(--cobalt);padding:5px 9px;white-space:nowrap}
  .offer-body{position:relative;z-index:1}
  .offer-body h3{margin-bottom:12px}
  .offer-body p{color:#4A5763;font-size:16px;line-height:1.64;max-width:56ch}
  .offer-meta{position:relative;z-index:1;border-left:1px solid var(--line);
    padding-left:clamp(16px,2vw,26px);align-self:stretch;display:flex;
    flex-direction:column;gap:8px;justify-content:center}
  .offer-meta-lbl{font-family:var(--label);font-size:10.5px;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:#78838E}
  .offer-pkgs{font-family:var(--label);font-size:12.5px;font-weight:500;color:var(--ink)}
  /* the middle offer carries the Most popular tag and sits slightly forward */
  .offer-row.hot{background:linear-gradient(180deg,#fff 0%,#F6F9FF 100%);
    border-color:rgba(40,101,255,.34)}
  .offer-row.hot::before{width:5px}
  .offer-row.out{background:#FBFAF8}
  .offer-row.out .offer-body p{color:#78838E}
  @media(max-width:900px){
    .offer-row{grid-template-columns:1fr;gap:16px}
    .offer-ghost{font-size:74px;left:14px;top:2px}
    .offer-meta{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px}
  }
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
/* Three cards: even columns on desktop, one clean stack below tablet. */
@media(max-width:860px){.tiers{grid-template-columns:1fr}}
.tiers-note{margin-top:40px;font-size:14.6px;color:#66727E}
.call-note{margin-top:26px;max-width:660px;font-size:14.6px;line-height:1.62;color:#66727E}
.call-note strong{font-weight:600;color:var(--ink)}
  /* The owner panel: one dark, full-width message to the owner, with both demos and the ask. */
  .op{background:var(--ink);color:#fff;margin-top:clamp(28px,5vw,64px);
    padding:clamp(52px,6.6vw,92px) 0 clamp(56px,7vw,96px);
    border-radius:32px 32px 0 0;box-shadow:0 -26px 70px -46px rgba(7,16,27,.55)}
  .op-in{opacity:0;transform:translateY(28px);
    transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .op.on .op-in{opacity:1;transform:none}
  .op-label{font-family:var(--label);font-size:11px;font-weight:700;letter-spacing:.2em;
    text-transform:uppercase;color:var(--cobalt-soft);margin:0 0 16px}
  .op-head{font-family:var(--head);font-weight:400;font-size:clamp(30px,4.4vw,54px);
    line-height:1.08;margin:0 0 clamp(30px,4vw,48px);max-width:23ch;color:#fff}
  .op-head em{color:var(--cobalt-soft);font-style:normal}
  .op-demos{display:grid;grid-template-columns:1fr 1fr;gap:1px;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
  .op-card{background:#fff;color:var(--ink);padding:clamp(24px,3vw,34px);
    display:flex;flex-direction:column}
  .op-tag{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;color:var(--cobalt);display:block;margin-bottom:16px}
  .op-card h3{font-family:var(--head);font-weight:400;font-size:clamp(22px,2.3vw,29px);
    line-height:1.2;margin:0 0 14px}
  .op-lead{font-size:16.2px;line-height:1.6;color:#3C4A57;margin:0}
  .op-list{margin:18px 0 0;padding-left:18px}
  .op-list li{margin-top:8px;font-size:14.6px;color:#3C4A57}
  .op-card .live-shell{margin-top:22px}
  .op-card .btn{margin-top:14px;justify-content:center}
  .op-note{margin-top:12px;font-size:13px;color:#66727E}
  .op-emb{margin-top:clamp(34px,4.5vw,60px);max-width:770px}
  .op-emb .eyebrow{color:var(--cobalt-soft)}
  .op-emb h3{font-family:var(--head);font-weight:400;font-size:clamp(24px,2.8vw,34px);
    line-height:1.15;color:#fff;margin:0 0 14px}
  .op-emb p{font-size:16.4px;line-height:1.62;color:#B9C7D4;margin:0}
  .op .demo-frame{border-color:rgba(255,255,255,.18)}
  .op-cta{margin-top:clamp(36px,4.5vw,64px);padding-top:clamp(32px,4vw,48px);
    border-top:1px solid rgba(255,255,255,.16);text-align:center}
  .op-cta h3{font-family:var(--head);font-weight:400;font-size:clamp(26px,3.4vw,42px);
    line-height:1.1;color:#fff;margin:0 0 clamp(22px,2.6vw,32px)}
  .op-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
  .op-b{display:inline-flex;align-items:center;justify-content:center;font-family:var(--label);
    font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
    padding:18px 32px;text-decoration:none;cursor:pointer;border:0;
    transition:background .22s var(--ease),transform .22s var(--ease)}
  .op-b-p{background:var(--cobalt);color:#fff;box-shadow:0 16px 38px -16px rgba(40,101,255,.75)}
  .op-b-p:hover{background:#1B4FD8;transform:translateY(-2px)}
  .op-b-s{background:#fff;color:var(--ink)}
  .op-b-s:hover{background:var(--ice)}
  .op-cta .op-note{margin-top:18px;color:#8A97A4}
  .op-cta .op-note a{color:var(--cobalt-soft)}
  @media(max-width:820px){
    .op{border-radius:22px 22px 0 0}
    .op-demos{grid-template-columns:1fr}
    .op-head{max-width:none}
    .op-btns{flex-direction:column;align-items:stretch}
    .op-b{width:100%}
  }
  @media(prefers-reduced-motion:reduce){.op-in{transition:none}}
.demo-card{display:flex;flex-direction:column}
.demo-lead{margin-top:14px}
.live-shell{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px 16px;
  background:var(--ink);border-radius:12px;color:var(--ice);font-size:13.4px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#5C7186;flex:0 0 auto}
.is-live .live-dot{background:#3ECF8E;box-shadow:0 0 0 4px rgba(62,207,142,.18)}
#rc-btn{margin-top:14px;justify-content:center}
#rc-btn[disabled]{opacity:.72;cursor:progress}
.live-label{flex:1}
.live-timer{font-variant-numeric:tabular-nums;color:#8FA0B0}
.demo-note{margin-top:12px;font-size:13px;color:#8A97A4}
  .emb-head{margin:44px 0 0;max-width:760px}
  .emb-head h3{font-family:var(--head);font-size:clamp(21px,2.3vw,27px);line-height:1.22;
    margin:12px 0 0;color:var(--ink);letter-spacing:-.01em}
  .emb-head p{margin-top:12px;font-size:15.6px;line-height:1.6;color:#54626F}
  .demo-frame{margin-top:22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;
    background:#fff;box-shadow:0 24px 60px -34px rgba(16,27,43,.4)}
  .df-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#F2F5F8;
    border-bottom:1px solid var(--line)}
  .df-dots{display:flex;gap:6px;flex:0 0 auto}
  .df-dots i{display:block;width:10px;height:10px;border-radius:50%;background:#D2D9E1}
  .df-url{flex:1;min-width:0;font-size:12.6px;color:#7B8794;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .df-open{flex:0 0 auto;font-size:12.3px;font-weight:600;color:var(--cobalt);
    text-decoration:none;letter-spacing:.03em;text-transform:uppercase}
  .df-open:hover{text-decoration:underline}
  .df-body{display:block;width:100%;height:min(76vh,720px);border:0;background:#fff}
  @media(max-width:760px){.df-body{height:540px}}
.demo-list{margin-top:18px}
.demo-list li{margin-top:8px;font-size:14.2px;color:#4A5866}
.demo-phone{margin-top:auto;background:var(--ink);border-radius:18px;padding:18px;
  display:flex;flex-direction:column;gap:10px}
.ph-head{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#7E8C9B}
.ph-ev{font-size:12.4px;color:#8FA0B0}
.ph-ev span{color:#5F7183}
.bub{max-width:88%;padding:11px 14px;font-size:13.4px;line-height:1.52;border-radius:14px}
.bub.out{background:#1B2B3C;color:var(--ice);align-self:flex-start;border-bottom-left-radius:4px}
.bub.in{background:var(--cobalt);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.bub em{font-style:normal;color:#fff;font-weight:600}
.ph-name{font-size:13.6px;font-weight:600;color:var(--ice)}
.ph-top{display:flex;align-items:center;gap:11px;padding:2px 0 14px;
  border-bottom:1px solid rgba(215,229,244,.13);margin-bottom:4px}
.ph-av{width:27px;height:27px;border-radius:50%;background:#22374D;flex:0 0 auto}
.redact{display:inline-block;width:94px;height:13px;border-radius:3px;
  background:#5C7186;filter:blur(3.4px);vertical-align:-2px}
.ph-top .redact{width:106px;height:12px;background:#6C8299}
.on-dark .call-note{color:#B9C7D4}
.on-dark .call-note strong{color:#fff}
.tiers-note a{color:var(--cobalt);text-decoration:none;
  border-bottom:1px solid rgba(31,95,208,.35)}
.tier{background:#fff;padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column}
.tier{--pad:clamp(24px,2.6vw,32px);padding:var(--pad)}
/* The middle column breaks the frame: taller than its neighbours, lifted off the page. */
.tier.hi{position:relative;z-index:2;margin:-16px 0;
  box-shadow:0 34px 68px -36px rgba(7,16,27,.6)}
.t-pop{display:block;margin:calc(-1 * var(--pad)) calc(-1 * var(--pad)) 20px;
  background:var(--cobalt);color:#fff;font-family:var(--label);font-size:10.5px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;text-align:center;padding:9px 10px}
@media(max-width:860px){.tier.hi{margin:0} .t-pop{margin-bottom:16px}}
.tier.hi{background:var(--ink);color:#fff}
.tier.hi .t-name,.tier.hi .t-price,.tier.hi .t-offer{color:#fff}
.tier.hi .t-note{color:#9FB0C2}
.t-name{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--cobalt)}
.tier.hi .t-name{color:var(--cobalt-soft)}
.t-price{font-family:var(--head);font-size:34px;line-height:1.1;margin:14px 0 4px}
.t-price span{font-family:var(--body);font-size:14px;color:#66727E;font-weight:400}
.tier.hi .t-price span{color:#9FB0C2}
.t-note{font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#78838E;min-height:18px}
  .t-tag{margin-top:10px;font-size:14.6px;line-height:1.45;color:#3C4A57;font-weight:500}
  /* Sales video. The end screen is the highest-intent moment on the page. */
  .pv{position:relative;margin-top:26px;width:100%;aspect-ratio:16/9;border-radius:16px;
    overflow:hidden;background:#07101B;box-shadow:0 20px 50px -30px rgba(7,16,27,.45)}
  .pv video{position:absolute;inset:0;width:100%;height:100%;display:block}
  .pv-es{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:16px;padding:20px;background:rgba(7,16,27,.86);color:#fff;
    text-align:center;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s;z-index:3;
    pointer-events:none}   /* let clicks reach the player controls underneath */
  .pv-es-b,.pv-replay{pointer-events:auto}
  .pv-es.on{opacity:1;visibility:visible}
  .pv-es h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,4vw,38px);
    line-height:1.1;margin:0;color:#fff}
  .pv-es-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .pv-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
  .pv-b{display:inline-block;font-weight:700;font-size:15px;letter-spacing:.06em;
    text-transform:uppercase;padding:15px 26px;border-radius:999px;text-decoration:none;
    cursor:pointer;border:2px solid #2865FF;background:#2865FF;color:#fff;line-height:1.2}
  .pv-b.alt{background:#fff;color:#07101B;border-color:#fff}
  .pv-b:hover{filter:brightness(.95)}
  .pv-es-b{composes: none;display:inline-block;font-weight:700;font-size:14px;letter-spacing:.06em;
    text-transform:uppercase;padding:12px 18px;border-radius:999px;text-decoration:none;
    cursor:pointer;border:2px solid #2865FF;background:#2865FF;color:#fff;line-height:1.2}
  .pv-es-b.alt{background:#fff;color:#07101B;border-color:#fff}
  .pv-replay{background:none;border:0;color:#fff;opacity:.85;font:inherit;font-size:15px;
    cursor:pointer;text-decoration:underline;padding:4px}
  /* The end screen has to fit inside a 16:9 player on a phone, so everything steps down and the
     two buttons stack full width rather than wrapping awkwardly. */
  @media(max-width:560px){
    .pv-es{gap:8px;padding:12px}
    .pv-es h3{font-size:clamp(15px,4.3vw,21px);line-height:1.15}
    .pv-es-row{width:100%}
    .pv-es-b{display:block;width:100%;text-align:center;font-size:11.5px;padding:9px 12px}
    .pv-replay{font-size:13px}
    .pv-b{font-size:13px;padding:13px 18px;flex:1 1 auto;text-align:center}
    .pv-btns{flex-direction:column}}
  .tier.hi .t-tag{color:#E4EAF2}
.t-offers{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:7px}
.tier.hi .t-offers{border-top-color:rgba(145,180,255,.3)}
.t-offers-h{font-family:var(--label);font-size:9.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#8A96A2;margin-bottom:1px}
.tier.hi .t-offers-h{color:#9FB0C2}
.t-offer{font-size:13.8px;line-height:1.35;color:#3C4A57;display:flex;gap:9px;align-items:baseline;
    width:calc(100% + 16px);margin-left:-8px;padding:7px 8px;text-align:left;font-family:var(--body);
    background:none;border:0;cursor:pointer;border-radius:2px;
    transition:background .25s var(--ease),color .25s var(--ease)}
  .t-offer:hover,.t-offer.on{background:rgba(40,101,255,.09);color:var(--cobalt)}
  .tier.hi .t-offer:hover,.tier.hi .t-offer.on{background:rgba(145,180,255,.14);color:#fff}
  .t-offer:hover b,.t-offer.on b{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
  /* The one home of the offer explanation, opened by the entry above it. */
  .t-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);min-height:176px}
  .tier.hi .t-detail{border-top-color:rgba(145,180,255,.3)}
  .t-din{display:none}
  .t-din.on{display:block;animation:tin .32s var(--ease)}
  .t-din h4{font-family:var(--head);font-size:17.5px;line-height:1.18;margin-bottom:8px;color:var(--ink)}
  .tier.hi .t-din h4{color:#fff}
  .t-din p{font-size:13.6px;line-height:1.56;color:#4A5763}
  .tier.hi .t-din p{color:#B9C7D4}
  @keyframes tin{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.t-din.on{animation:none}}
.t-offer b{font-family:var(--label);font-size:10px;font-weight:600;letter-spacing:.06em;
  color:var(--cobalt);flex:none;border:1px solid rgba(40,101,255,.35);padding:1px 5px;line-height:1.5}
.tier.hi .t-offer b{color:var(--cobalt-soft);border-color:rgba(145,180,255,.45)}
.tier ul{list-style:none;margin:18px 0 24px;flex:1}
.tier li{position:relative;padding-left:19px;margin-bottom:10px;font-size:14.8px;line-height:1.5;color:#3C4A57}
.tier.hi li{color:#fff}
.tier li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--cobalt)}
.tier.hi li::before{background:var(--cobalt-soft)}
.tier .btn{width:100%;justify-content:center;padding:15px 18px;font-size:11px}
/* The default outline button is built for dark sections, so on a light card its label
   rendered white on white. Light cards get their own outline treatment. */
.tier:not(.hi) .btn-o{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(42,52,64,.3)}
.tier:not(.hi) .btn-o:hover{background:rgba(40,101,255,.07);
  box-shadow:inset 0 0 0 1px var(--cobalt);color:var(--cobalt)}

.steps{counter-reset:s;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:#fff;padding:clamp(22px,2.6vw,30px)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--label);font-size:11px;
  font-weight:600;letter-spacing:.18em;color:var(--cobalt);display:block;margin-bottom:14px}
.step h4{font-size:19px;margin-bottom:9px}
.step p{color:#4A5763;font-size:15.2px;line-height:1.58}

.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{font-family:var(--head);font-size:clamp(19px,2.1vw,24px);cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--body);font-size:24px;color:var(--cobalt);
  line-height:1;flex:none;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:15px;color:#3C4A57;max-width:74ch;font-size:16px}

.band{padding:clamp(50px,6.5vw,84px) 0}
.band .btn-row{margin-top:30px}
.contact-line{font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:#9FB0C2;margin-top:26px}
.contact-line a{color:#fff}
.contact-line a:hover{color:var(--cobalt-soft)}

.ft{background:#050C15;color:#8A98A6;padding:clamp(44px,5.5vw,66px) 0 30px;font-size:14.4px}
.ft-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
@media(max-width:820px){.ft-top{grid-template-columns:1fr;gap:26px}}
.ft-logo{background:#fff;padding:7px 13px;display:inline-block;position:relative;margin-bottom:18px}
.ft-logo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cobalt)}
.ft-logo img{width:120px}
.ft h4{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:#fff;margin-bottom:16px}
.ft a:hover{color:var(--cobalt-soft)}
.ft ul{list-style:none}
.ft li{margin-bottom:9px}
.ft-legal{margin-top:40px;padding-top:22px;border-top:1px solid rgba(145,180,255,.14);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13.2px;color:#6F7D8B}

  /* Floating "talk to an AI receptionist" button. Bottom right on desktop, bottom centre on
     phones, and clear of the iPhone home bar. It steps aside for the plans and the footer. */
  .fs-float{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:90;
    display:inline-flex;align-items:center;gap:10px;background:var(--cobalt);color:#fff;
    font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
    padding:17px 26px;box-shadow:0 18px 44px -16px rgba(40,101,255,.85);
    transition:opacity .3s var(--ease),transform .3s var(--ease),background .22s var(--ease)}
  .fs-float:hover{background:#1B4FD8}
  .fs-float.off{opacity:0;transform:translateY(16px);pointer-events:none}
  @media(max-width:720px){
    .fs-float{left:50%;right:auto;transform:translateX(-50%);
      bottom:calc(70px + env(safe-area-inset-bottom));padding:15px 20px;font-size:11px}
    .fs-float.off{transform:translate(-50%,16px)}
  }
  .sticky{display:none}
@media(max-width:720px){
  .sticky{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;
    box-shadow:0 -6px 24px rgba(7,16,27,.28)}
  .sticky a{font-family:var(--label);font-size:11.5px;font-weight:600;letter-spacing:.12em;
    text-transform:uppercase;text-align:center;padding:17px 8px}
  .sticky .s1{background:var(--ink);color:#fff}
  .sticky .s2{background:var(--cobalt);color:#fff}
  body{padding-bottom:56px}
  .ft{padding-bottom:80px}
}
