/* TextPost site: one stylesheet for every page. Mobile first. Light mode only (brand rule).
   Tokens first; never use the old rust oranges (#E85D26, #C9491A, #C8412A). */
:root{
  --cream:#FAFAFA;--soft:#EEF1F6;--line:#E4E7EE;--paper:#FFFFFF;
  --navy:#14224C;--deep:#0D183A;--ink2:#3A4260;--muted:#5E6579;
  --orange:#F96A1A;--orange-dk:#E4570F;--amber:#FFA23A;
  /* Big headlines (H1, section H2s, the $299) use the serif, like /team; key words in orange italic (<em>).
     Everything small (labels, eyebrows, buttons, card titles) stays Inter. */
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-lg:28px;--r-md:20px;--r-sm:14px;
  --shadow:0 24px 50px -30px rgba(13,24,58,.45);
  --shadow-sm:0 10px 24px -16px rgba(13,24,58,.35);
  --ease:cubic-bezier(.2,.8,.2,1);
  --gutter:16px;--nav-h:64px;
  color-scheme:light;
}
@media (min-width:600px){:root{--gutter:28px}}
@media (min-width:1000px){:root{--gutter:44px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--navy);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:12px;background:var(--navy);color:#fff;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.band{padding:64px 0}
@media (min-width:900px){.band{padding:104px 0}}
.band--soft{background:var(--soft)}
.band--white{background:var(--paper)}
.band--tight{padding:40px 0}

/* ---------- type ---------- */
.eyebrow{display:flex;align-items:center;gap:10px;font:700 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.eyebrow::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--orange);flex:none}
.eyebrow--center{justify-content:center}
.h1{margin-top:14px;font:400 clamp(42px,11.6vw,72px)/.98 var(--serif);letter-spacing:-.01em;color:var(--navy);text-wrap:balance}
.h1 .l1,.h1 .l2{display:block}
.h2{margin-top:14px;font:400 clamp(36px,8.6vw,60px)/1.02 var(--serif);letter-spacing:-.008em;color:var(--navy);text-wrap:balance}
.h1 em,.h2 em{font-style:italic;color:var(--orange)}
.h3{font:800 20px/1.2 var(--display);letter-spacing:-.01em;color:var(--navy)}
.lede{margin-top:16px;font:500 clamp(18px,2.3vw,22px)/1.45 var(--sans);color:var(--ink2);max-width:40ch;text-wrap:pretty}
.sub{margin-top:14px;font:400 18px/1.55 var(--sans);color:var(--ink2);max-width:58ch;text-wrap:pretty}
.center{text-align:center}
.center .lede,.center .sub{margin-left:auto;margin-right:auto}
.small{font-size:14px;line-height:1.5;color:var(--muted)}
.fine{font-size:12.5px;line-height:1.55;color:var(--muted)}
.fine a,.small a{color:var(--ink2)}
.nw{white-space:nowrap}

/* ---------- buttons + links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--orange);color:#fff;
  font:700 17px/1 var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 10px 22px -10px rgba(249,106,26,.85);
  transition:background .12s ease,transform .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:hover{background:var(--orange);filter:brightness(1.07);transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.btn .arrow{transition:transform .15s ease}
.btn:hover .arrow{transform:translateX(2px)}
.btn--navy{background:var(--navy);box-shadow:0 10px 22px -12px rgba(13,24,58,.7)}
.btn--navy:hover{background:var(--deep)}
.btn--sm{min-height:42px;padding:0 18px;font-size:15px}
.link{display:inline-flex;align-items:center;gap:6px;font:600 16px/1.4 var(--sans);color:var(--navy);text-decoration:underline;text-decoration-color:rgba(20,34,76,.3);text-underline-offset:4px;text-decoration-thickness:1.5px}
.link:hover{text-decoration-color:var(--orange);color:var(--navy)}
.link .arrow{color:var(--orange);text-decoration:none}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,250,250,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s ease}
.nav.is-stuck{border-bottom-color:var(--line)}
.nav .wrap{display:flex;align-items:center;gap:14px;height:var(--nav-h)}
.nav-logo{display:block;flex:none;margin-right:auto}
.nav-logo img{height:24px;width:auto}
.nav-links{display:none;align-items:center;gap:26px;list-style:none;margin-right:8px}
.nav-links a{font:600 15px/1 var(--sans);color:var(--navy);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current=page]{border-bottom-color:var(--orange)}
.nav-tel{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--sans);color:var(--navy);text-decoration:none;white-space:nowrap}
.nav-tel svg{width:20px;height:20px}
.nav-tel .t{display:none}
.nav-tel-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper)}
.nav-cta{transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nav-cta.is-off{opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none}
.nav-cta .long{display:none}
@media (max-width:999px){.nav-cta.is-off{display:none}}
@media (min-width:1000px){
  .nav-logo img{height:26px}
  .nav-links{display:flex}
  .nav-tel .t{display:inline}
  .nav-tel-ic{width:auto;height:auto;border:0;background:none}
  .nav-cta .long{display:inline}.nav-cta .short{display:none}
}
.nav--lp .wrap{justify-content:space-between}

/* ---------- the website-or-name bar (same look and rules as /team) ---------- */
.bar{margin-top:22px;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:var(--paper);border:1.5px solid var(--line);
  box-shadow:0 14px 30px -18px rgba(13,24,58,.5);max-width:560px;transition:border-color .15s ease,box-shadow .15s ease}
.bar:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px rgba(249,106,26,.16),0 14px 30px -18px rgba(13,24,58,.5)}
.bar input[type=text]{flex:1;min-width:0;height:52px;padding:0 4px 0 16px;border:0;outline:0;background:transparent;font:500 17px/1 var(--sans);color:var(--navy)}
.bar input::placeholder{color:#8F96A8}
.bar button{flex:none;height:52px;padding:0 22px;border:0;border-radius:999px;background:var(--orange);color:#fff;font:700 17px/1 var(--sans);cursor:pointer;
  box-shadow:0 8px 18px -8px rgba(249,106,26,.85);transition:background .12s ease,transform .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}
.bar button:hover{background:var(--orange);filter:brightness(1.07)}
.bar button:active{transform:scale(.97)}
.bar button[disabled]{opacity:.75;cursor:default}
.bar .arrow{display:inline-block;margin-left:6px;transition:transform .15s ease}
.bar button:hover .arrow{transform:translateX(2px)}
@media (max-width:519px){.bar{flex-wrap:wrap;border-radius:20px}.bar input[type=text]{flex-basis:100%}.bar button{flex:1 1 100%}}
@media (min-width:900px){.bar input[type=text]{height:56px;font-size:18px}.bar button{height:56px;padding:0 26px;font-size:18px}}
.bar-err{margin-top:10px;max-width:560px;padding:10px 14px;border-radius:14px;background:#FFF1E8;border:1px solid #FFD2B8;font:500 14.5px/1.45 var(--sans);color:var(--navy)}
.bar-note{margin-top:12px;max-width:560px;font:500 14.5px/1.5 var(--sans);color:var(--muted)}
.bar-note b{color:var(--navy);font-weight:700}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- check lines ---------- */
.checks{list-style:none;margin-top:18px;display:grid;gap:9px}
.checks li{display:flex;align-items:flex-start;gap:10px;font:500 16.5px/1.4 var(--sans);color:var(--navy)}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/14px no-repeat}
.checks--orange li::before{background-color:var(--orange)}

/* ---------- HOME hero ---------- */
.hero{position:relative}
.hero-art{position:relative;height:clamp(180px,29svh,400px);overflow:hidden;background:var(--navy)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 66%}
.hero-art::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(250,250,250,0),rgba(250,250,250,.6) 70%,var(--cream));pointer-events:none}
.hero-card{position:relative;z-index:2;margin:-56px var(--gutter) 0;padding:22px 20px 26px;border-radius:24px;background:rgba(250,250,250,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(238,227,208,.95);box-shadow:var(--shadow)}
/* rev 6 (Oct 7, Bobby: "way too many words"): eyebrow, H1, typed line, one sentence, the bar, one tiny line. */
.hero-lede{max-width:34ch}
.bar-note--tiny{margin-top:12px;padding-left:20px;font:500 14px/1.4 var(--sans);letter-spacing:.005em;color:var(--muted)}
@media (min-width:600px) and (max-width:899px){.hero-card{max-width:620px;margin-left:auto;margin-right:auto;padding:30px 32px}}
@media (min-width:900px){
  .hero{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.16fr);gap:40px;align-items:center;max-width:1240px;margin:0 auto;padding:40px var(--gutter) 72px}
  .hero-art{order:2;height:min(calc(100svh - var(--nav-h) - 80px),760px);min-height:560px;border-radius:32px;box-shadow:0 40px 80px -40px rgba(13,24,58,.55)}
  /* Oct 7 (Bobby): photo bigger, gaps balanced. It grows toward the text (wider column, tighter gap) and keeps the same
     right edge as the nav and every section below, instead of bleeding past the grid. */
  /* Oct 8 (Bobby): keep the blue sky and the top of the steeple in view, down to the contractor and his truck */
  .hero-art img{object-position:50% 35%}
  .hero-art::after{display:none}
  .hero-card{order:1;margin:0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .hero .h1{font-size:clamp(56px,4.9vw,72px);margin-top:20px}
  .hero .hero-lede{margin-top:22px;font-size:21px}
  .hero .bar{margin-top:30px}
  .hero .bar input[type=text]{font-size:17px;padding-left:14px}.hero .bar button{padding:0 20px;font-size:17px}
  .hero .rotor{font-size:clamp(28px,2.35vw,34px);margin-top:16px}
  .lp-card .rotor{font-size:clamp(30px,2.6vw,38px);margin-top:16px}
}
/* polish: 900-1179px the copy column is too narrow for input + button side by side (the placeholder clipped at 1024),
   so the button sits under the input, as on phones */
@media (min-width:900px) and (max-width:1179px){
  .hero .bar{flex-wrap:wrap;border-radius:22px}.hero .bar input[type=text]{flex-basis:100%}.hero .bar button{flex:1 1 100%}
}
/* polish: from 1180px the headline breaks as two lines, "Contractors," / "your own media team." (like /media-team):
   a slightly wider copy column, a slightly smaller top size, and the second line kept together */
@media (min-width:1180px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .hero .h1{font-size:clamp(56px,4.6vw,66px)}
  .hero .h1 .l2{white-space:nowrap}
}

/* ---------- HOME hero art, rev 9 (Oct 8, Bobby's pick): a real job photo with everything it becomes written down its
   right side in the headline serif. Desktop: a column on the right half, the room on the left. Phones: the headline on
   one line across the top, the list in a column on the right. Preview/variants: tools/hero-c/. ---------- */
.hero-art--list .hl-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hl-shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(20,34,76,0) 28%,rgba(20,34,76,.7) 48%,rgba(20,34,76,.93) 64%,rgba(20,34,76,.96) 100%)}
.hl-txt{position:absolute;top:0;bottom:0;right:0;width:52%;padding:0 30px 0 22px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.hl-h{font:400 36px/1 var(--serif);letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hl-h span{color:var(--orange)}
.hl-eb{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.hl-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.hl-list li{position:relative;padding-left:16px;font:400 19px/1.15 var(--serif);color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.hl-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--orange)}
/* one gentle pass on load: each line fades in, in order, then nothing moves (static with reduced motion) */
@media (prefers-reduced-motion:no-preference){
  .hl-list li{opacity:0;animation:hlIn .5s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.5s + var(--i) * 70ms)}
  @keyframes hlIn{from{opacity:0}to{opacity:1}}
}
@media (min-width:900px){.hero-art--list::after{display:none}}
/* Oct 8 (Bobby: the photo sat too close to the copy with all that room on the right): from 1180px a wider gap, and the
   photo reaches further right than the nav (up to 220px, never closer than ~56px to the screen edge) */
@media (min-width:1180px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:64px}
  /* the art may use the room past the nav on the right (--ext, up to 220px). The town painting is tall: past 660px wide
     the card would crop the steeple or the truck, so it stops growing and sits centered in that space */
  .hero > .hero-art{--ext:clamp(0px, (100vw - 1240px) / 2 - 12px, 220px);justify-self:start;
    width:min(calc(100% + var(--ext)), 660px);margin-left:calc((100% + var(--ext) - min(calc(100% + var(--ext)), 660px)) / 2)}
}
@media (min-width:900px) and (max-width:1179px){.hl-h{font-size:30px}.hl-list li{font-size:16px}.hl-txt{padding:0 20px 0 16px}}
/* phones and tablets: a taller strip and the copy card a little lower so it all sits inside the photo; the photo is shifted so the
   kitchen sits on the left; the list runs one item per line down the right-hand column */
@media (max-width:899px){
  .hero-art--list{height:470px}
  .hero-art--list::after{display:none}
  .hero-art--list + .hero-card{margin-top:-18px}
  .hero-art--list .hl-img{object-position:64% 50%}
  .hl-shade{background:linear-gradient(180deg,rgba(20,34,76,.82) 0%,rgba(20,34,76,.35) 13%,rgba(20,34,76,0) 22%),
    linear-gradient(90deg,rgba(20,34,76,0) 16%,rgba(20,34,76,.8) 38%,rgba(20,34,76,.95) 56%)}
  .hl-txt{inset:0;width:auto;padding:16px 16px 34px;justify-content:flex-start}
  .hl-h{font-size:min(27px,7.1vw);line-height:1.02;white-space:nowrap}
  .hl-h br{display:none}
  .hl-eb{margin:auto 0 0 37%;padding-top:0;border-top:0;font-size:11px}
  /* Oct 8 (Bobby): one item per line down the right side, like desktop */
  .hl-list{display:grid;gap:2px;margin:8px 0 0 37%}
  .hl-list li{padding-left:12px;font-size:15.5px;line-height:1.2;white-space:nowrap}
  .hl-list li::before{width:5px;height:5px;top:.48em}
}
/* tablets: the full-frame photo puts the fireplace near the middle, so the column starts further right */
@media (min-width:600px) and (max-width:899px){
  .hl-shade{background:linear-gradient(180deg,rgba(20,34,76,.8) 0%,rgba(20,34,76,0) 20%),linear-gradient(90deg,rgba(20,34,76,0) 40%,rgba(20,34,76,.82) 58%,rgba(20,34,76,.95) 72%)}
  .hl-txt{padding:20px 28px 44px}
  .hero-art--list{height:490px}
  .hl-eb,.hl-list{margin-left:62%}
  .hero-art--list .hl-img{object-position:50% 42%}
  .hl-list li{font-size:16px}
}

/* phones (Oct 8, Bobby: the list sat too far left and covered more than half the photo): the column hugs the right edge */
@media (max-width:599px){
  .hl-shade{background:linear-gradient(180deg,rgba(20,34,76,.82) 0%,rgba(20,34,76,.35) 13%,rgba(20,34,76,0) 22%),
    linear-gradient(90deg,rgba(20,34,76,0) 34%,rgba(20,34,76,.78) 50%,rgba(20,34,76,.95) 64%)}
  .hl-eb,.hl-list{margin-left:auto;width:192px}
  .hl-eb{font-size:10px;letter-spacing:.1em;line-height:1.25}
  .hl-list li{font-size:15px}
}

/* Town series (Oct 8, Bobby): the trade paintings keep the white house's roof in view (the roofer works up there, the
   painter is on a ladder at the porch) down to the truck. Phones show a short strip, so it sits higher than the default. */
html[data-town=roofer] .hero-art img,html[data-town=painter] .hero-art img,html[data-town=hvac] .hero-art img{object-position:50% 44%}
html[data-town=roofer] .lp-hero .bg img,html[data-town=painter] .lp-hero .bg img,html[data-town=hvac] .lp-hero .bg img{object-position:50% 46%}
@media (min-width:900px){
  html[data-town=roofer] .hero-art img,html[data-town=painter] .hero-art img,html[data-town=hvac] .hero-art img{object-position:50% 35%}
  html[data-town=roofer] .lp-hero .bg img,html[data-town=painter] .lp-hero .bg img,html[data-town=hvac] .lp-hero .bg img{object-position:50% 40%}
}

/* /restaurants (Oct 9): two hero buttons instead of the business-name bar */
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-ctas .btn{flex:0 0 auto}
@media (max-width:599px){.hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%;justify-content:center;white-space:nowrap;font-size:15.5px;padding-left:14px;padding-right:14px}}
.hero-ctas + .bar-note--tiny{padding-left:2px}
.final .hero-ctas,.center .hero-ctas{justify-content:center}
.final .hero-ctas + .bar-note--tiny,.center .hero-ctas + .bar-note--tiny{text-align:center;padding-left:0}

/* /restaurants demo (Oct 9, Bobby): text a dish photo to Hank; QR for computers */
.demo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
@media (min-width:900px){.demo-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:64px}}
.demo-steps{list-style:none;counter-reset:ds;margin:22px 0 0;padding:0;display:grid;gap:14px}
.demo-steps li{counter-increment:ds;position:relative;padding-left:46px;font:500 18px/1.45 var(--sans);color:var(--navy)}
.demo-steps li::before{content:counter(ds);position:absolute;left:0;top:-2px;width:32px;height:32px;border-radius:50%;background:var(--orange);color:#fff;font:700 16px/32px var(--sans);text-align:center}
.demo .hero-ctas{margin-top:26px}
.demo-fine{margin-top:14px;max-width:62ch}
.demo-qr{justify-self:center;text-align:center;padding:26px 26px 22px;border-radius:24px;background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow);max-width:300px}
.demo-qr img{display:block;width:200px;height:200px;margin:0 auto 14px;border-radius:12px}
.demo-qr p{font:500 15px/1.4 var(--sans);color:var(--navy)}
.demo-num{margin-top:8px;font:400 30px/1 var(--serif) !important;color:var(--orange) !important}
@media (max-width:899px){.demo-qr{display:none}}

/* ---------- trust strip ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.trust ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;padding:24px 0}
.trust li{display:flex;align-items:center;gap:12px;font:600 15px/1.3 var(--sans);color:var(--navy)}
.trust svg{flex:none;width:30px;height:30px;color:var(--orange)}
@media (min-width:900px){.trust ul{grid-template-columns:repeat(4,1fr);padding:28px 0}.trust li{font-size:16px}}

/* ---------- how it works (rev 3): "Stop being the best-kept secret." navy band, spotlight, scrolling post cards ---------- */
.secret{position:relative;overflow:hidden;isolation:isolate;padding:72px 0 64px;color:#fff;
  background:radial-gradient(64% 54% at 8% 0%,rgba(255,178,105,.40),transparent 64%),
    radial-gradient(45% 50% at 78% 30%,rgba(249,106,26,.16),transparent 66%),
    radial-gradient(90% 60% at 50% 115%,rgba(4,9,26,.65),transparent 70%),
    linear-gradient(180deg,#101D45 0%,#0C1736 55%,#0A1430 100%)}
@media (min-width:900px){.secret{padding:104px 0 80px}}
/* the spotlight: a soft warm cone falling from the top left, plus its hot spot */
.secret-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.secret-glow::before{content:"";position:absolute;left:-18%;top:-30%;width:95%;height:120%;
  background:conic-gradient(from 118deg at 0% 0%,rgba(255,196,135,0) 0deg,rgba(255,196,135,.22) 14deg,rgba(255,170,100,.14) 32deg,rgba(255,170,100,0) 52deg);
  filter:blur(28px);transform-origin:0 0}
.secret-glow::after{content:"";position:absolute;left:-8%;top:-22%;width:56%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,204,145,.52),rgba(255,150,70,.16) 55%,transparent);filter:blur(10px)}
.eyebrow--light{color:rgba(255,255,255,.86)}
.secret-top{display:grid;gap:44px;align-items:center}
@media (min-width:1000px){.secret-top{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:64px}}
.secret-h{margin-top:16px;font:400 clamp(50px,12.4vw,92px)/.93 var(--serif);letter-spacing:-.014em;color:#fff;text-wrap:balance}
.secret-h .dot{color:var(--orange)}
.secret-h .hy{margin:0 -.05em}
.secret-lede{margin-top:20px;font:400 clamp(25px,2.5vw,31px)/1.2 var(--serif);color:rgba(255,255,255,.9);max-width:24ch}
.secret-lede b{font-weight:400;color:#FF8A45}
.secret-steps{list-style:none;counter-reset:s;margin-top:26px;max-width:470px;border-bottom:1px solid rgba(255,255,255,.14)}
.secret-steps li{display:flex;align-items:center;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);font:500 18px/1.35 var(--sans);color:#fff;letter-spacing:-.005em}
.secret-steps li::before{counter-increment:s;content:counter(s);flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1.5px solid rgba(249,106,26,.85);color:#FFB27A;font:700 13.5px/1 var(--sans)}
@media (min-width:1000px){.secret-steps li{font-size:19px;padding:14px 0}}

/* rev 6 (Oct 7): the iPhone sending the one text, as an iPhone 17 Pro Max in LIGHT-mode iOS 26 Messages. Bobby on rev 5:
   light mode (dark is too stark), no line under the header, wider like his 17 Pro Max, not a silver older-iPhone frame,
   crisper photo. Body 78 x 163.4 mm (W = 26em), deep-blue aluminum frame, very thin uniform black bezel, Dynamic Island,
   straight on (the 3D turn softened the text and photo). The display is 24.56em wide, so 1em is about 18pt on the real
   phone and every size below is the real iOS size, except the polish bump (Oct 7): bubble text 1.1em (~13px on a 308px
   phone) and timestamp / Delivered .8em in #6D6D72 so nothing reads tiny on screen. Floating "Liquid Glass" controls, no full-width bars. Decorative
   (aria-hidden) with a visually hidden description. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.secret-top{position:relative;z-index:2}
.secret-phone{position:relative;display:flex;justify-content:center}
.secret-phone::before{content:"";position:absolute;left:50%;top:46%;width:132%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,176,110,.46),rgba(255,140,60,.165) 52%,transparent)}
@media (min-width:1000px){
  .secret{padding-top:44px}
  .secret-top{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:40px;align-items:center}
  .secret-phone{padding:4px 0 8px}
}
.iphone{--w:min(300px,calc(100vw - 48px));--blue:#2499F3;--them:#E3E3E6;--bg:#F6F6F7;--sub:#6D6D72;
  position:relative;flex:none;width:var(--w);aspect-ratio:78/163.4;font-size:calc(var(--w) / 26);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter",system-ui,sans-serif;color:#000;
  border-radius:4.18em;padding:.3em;
  /* deep-blue anodized aluminum: dark body, a cool highlight running round the edge where the light catches it */
  background:linear-gradient(140deg,#93a3c2 0%,#3f4d6b 3.5%,#232d44 12%,#2c3854 30%,#1b2338 52%,#27324c 74%,#1a2236 90%,#5d6c8c 99%);
  box-shadow:inset 0 0 0 .04em rgba(190,205,235,.55),inset 0 0 0 .1em rgba(8,12,24,.5),inset 0 .12em .1em -.05em rgba(220,230,255,.35),
    0 0 0 .03em rgba(4,8,20,.8),
    0 3em 4.4em -1.4em rgba(2,6,20,.78),0 1.1em 1.8em -.7em rgba(0,0,0,.5);
  -webkit-font-smoothing:antialiased}
@media (min-width:1000px){.iphone{--w:308px}}
.iphone__btn{position:absolute;width:.22em;border-radius:.14em;background:linear-gradient(90deg,#141a2a,#56637f 45%,#2a3449 80%,#121827)}
.iphone__btn--action{left:-.16em;top:17.5%;height:4.6%}
.iphone__btn--volup{left:-.16em;top:25.5%;height:7.4%}
.iphone__btn--voldn{left:-.16em;top:34.5%;height:7.4%}
.iphone__btn--power{right:-.16em;top:27.5%;height:10.5%}
.iphone__btn--cam{right:-.1em;top:54%;height:6.5%;width:.16em;background:linear-gradient(90deg,#0d1120,#3b4459 50%,#0d1120)}
/* the glass: a thin, uniform black bezel, the display inside it */
.iphone__screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:3.88em;border:.42em solid #000;background:var(--bg);
  box-shadow:0 0 0 .04em rgba(0,0,0,.9)}
.iphone__screen::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;
  background:linear-gradient(128deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 26%,rgba(255,255,255,0) 40%)}
.iphone__island{position:absolute;top:.6em;left:50%;transform:translateX(-50%);width:7em;height:2.06em;border-radius:1.03em;background:#000;z-index:5}
.iphone__island::after{content:"";position:absolute;right:.66em;top:50%;width:.62em;height:.62em;transform:translateY(-50%);border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#2d3a5c 0,#0b0f1c 55%,#000 70%)}
.iphone__status{position:absolute;z-index:4;top:0;left:0;right:0;height:3.62em;display:flex;align-items:center;justify-content:space-between;
  padding:0 2.2em 0 3.25em;font-weight:600;font-size:.97em;letter-spacing:-.01em;color:#000}
.iphone__status .glyphs{display:flex;gap:.36em;align-items:center}
.iphone__status svg{display:block;height:.76em;width:auto;fill:currentColor}
.iphone__status svg:last-child{height:.8em}
.iphone__home{position:absolute;bottom:.46em;left:50%;transform:translateX(-50%);width:7.4em;height:.28em;border-radius:.2em;background:#000;opacity:.88;z-index:5}
/* light-mode iOS 26 Messages */
.imsg{position:absolute;inset:0}
.imsg__glass{background:rgba(255,255,255,.66);box-shadow:0 .2em 1.1em rgba(0,0,0,.075),0 0 0 .035em rgba(0,0,0,.035),inset 0 .04em 0 rgba(255,255,255,.95)}
.imsg__head{position:absolute;z-index:3;top:3.48em;left:0;right:0;height:5em;text-align:center}
.imsg__back{position:absolute;left:1.12em;top:0;height:2.4em;display:flex;align-items:center;gap:.34em;padding:0 .62em 0 .74em;border-radius:1.2em;color:#000}
.imsg__back svg{height:1.02em;width:auto}
.imsg__back i{display:grid;place-items:center;min-width:1.12em;height:1.12em;padding:0 .3em;border-radius:.56em;background:#000;color:#fff;font-size:.72em;font-weight:600;line-height:1;font-style:normal;letter-spacing:0}
.imsg__video{position:absolute;right:1.1em;top:0;width:2.4em;height:2.4em;border-radius:50%;display:grid;place-items:center;color:#000}
.imsg__video svg{width:1.22em;height:auto}
.imsg__avatar{position:relative;z-index:1;width:3.3em;height:3.3em;margin:0 auto;border-radius:50%;background:linear-gradient(180deg,#fff,#eeeef1);
  box-shadow:0 0 0 .045em rgba(0,0,0,.1),0 .25em .9em rgba(0,0,0,.08);display:grid;place-items:center}
.imsg__avatar img{width:66%;height:auto;margin-top:.1em}
/* Oct 9 (Bobby): the contact photo is the TextPost mark from the logo's P (the bubble with the sun and mountains), filling the circle */
.imsg__avatar img[src*="textpost-mark"]{display:block;width:100%;height:100%;margin:0;border-radius:50%}
.imsg__name{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.26em;margin-top:-.28em;height:1.8em;padding:0 .78em 0 .9em;border-radius:.9em;
  font-size:.95em;font-weight:600;letter-spacing:-.015em;color:#000}
.imsg__name svg{height:.66em;width:auto;color:#B4B4B9}
.imsg__thread{position:absolute;top:9.7em;left:0;right:0;bottom:4.9em;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;gap:.27em;padding:0 1.14em 0 1.12em}
.imsg__meta{align-self:center;margin:0 0 .62em;font-size:.8em;font-weight:500;color:var(--sub);letter-spacing:-.005em}
.imsg__meta b{font-weight:600}
.imsg__receipt{align-self:flex-end;margin:.12em 1em .62em 0;font-size:.8em;font-weight:600;color:var(--sub)}
.bubble{position:relative;max-width:84%;padding:.5em .8em .52em;border-radius:1.12em;font-size:1.1em;line-height:1.24;letter-spacing:-.018em}
.bubble.me{align-self:flex-end;background:var(--blue);color:#fff}
.bubble.them{align-self:flex-start;background:var(--them);color:#000}
.imsg__reply .bubble.them:not(.typing){max-width:none;width:max-content;white-space:nowrap}
/* real iMessage tails: the SVG fills the bubble's bottom corner (same color, no seam) and flares out to the hook */
.bubble.tail{z-index:0}
.bubble.tail::after{display:block;content:"";position:absolute;z-index:-1;bottom:0;width:1.5em;height:1.12em;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}
.bubble.tail.me::after{right:-.38em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 23' preserveAspectRatio='none'%3E%3Cpath d='M0 0H23C23 10 25 19 31 23C27 23.6 23.5 22.8 21 21.4C18.5 22.6 16 23 13 23H0Z' fill='%232499F3'/%3E%3C/svg%3E")}
.bubble.tail.them::after{left:-.38em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 23' preserveAspectRatio='none'%3E%3Cpath d='M31 0H8C8 10 6 19 0 23C4 23.6 7.5 22.8 10 21.4C12.5 22.6 15 23 18 23H31Z' fill='%23E3E3E6'/%3E%3C/svg%3E")}
/* the photo: a real iOS photo bubble, 3:4, sharp (its own higher-resolution crop, never scaled up) */
.bubble--photo{flex:none;font-size:.97em;width:18.8em;aspect-ratio:3/4;padding:0;background:#ddd;overflow:hidden;border-radius:1.12em;max-width:none;margin-bottom:.06em;line-height:0}
.bubble--photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.imsg__reply{display:grid}
.imsg__reply>*{grid-area:1/1;justify-self:start;align-self:end}
.bubble.typing{display:none;gap:.26em;align-items:center;padding:.66em .82em}
.bubble.typing i{width:.46em;height:.46em;border-radius:50%;background:#9B9BA0;animation:phDot 1s ease-in-out infinite}
.bubble.typing i:nth-child(2){animation-delay:.15s}.bubble.typing i:nth-child(3){animation-delay:.3s}
@keyframes phDot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-.14em)}}
/* the floating input row: a round + and the iMessage pill, no bar behind them */
.imsg__input{position:absolute;z-index:3;left:1.6em;right:1.57em;bottom:1.57em;display:flex;align-items:center;gap:.66em}
.imsg__plus{flex:none;width:2.24em;height:2.24em;border-radius:50%;color:#000;display:grid;place-items:center}
.imsg__plus svg{width:1em;height:1em}
.imsg__field{flex:1;height:2.24em;display:flex;align-items:center;justify-content:space-between;padding:0 .78em 0 .9em;border-radius:1.12em;color:#B3B3B8;font-size:.97em;letter-spacing:-.015em}
.imsg__field svg{height:1.02em;width:auto;color:#9C9CA1}
/* entrance, once, when the phone scrolls into view (site.js adds .go). No JS or reduced motion: everything shown. */
.ph-in{transition:opacity .4s var(--ease) calc(var(--d,0) * .5s + .25s),transform .55s var(--ease) calc(var(--d,0) * .5s + .25s)}
.bubble.me.ph-in{transform-origin:100% 100%}
.bubble.them.ph-in{transform-origin:0 100%}
.js [data-iphone]:not(.go) .ph-in{opacity:0;transform:translateY(.9em) scale(.94)}
.js [data-iphone].go .bubble.typing{display:flex;animation:phType 1.15s linear 1.6s both}
.js [data-iphone].go .ph-late{transition-delay:2.7s}
@keyframes phType{0%{opacity:0}12%,88%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.ph-in{transition:none!important}.js [data-iphone] .bubble.typing{display:none!important}}

/* the marquee: two rows moving opposite ways (one row on phones). site.js clones each row once and sets --shift/--dur.
   No JS or reduced motion: static rows you can swipe. */
.mq-head{position:relative;z-index:1;margin-top:28px}
@media (min-width:1000px){.mq-head{margin-top:30px}}
.mq-head .eyebrow{font-size:11.5px}
.mq{--cw:258px;--ch:420px;--g:18px;--floor:84px;--fx:40px;--rf:84px;position:relative;z-index:1;margin-top:16px;display:grid;gap:22px;padding-bottom:var(--floor);
  --edge:18px}
@media (min-width:900px){.mq{--edge:60px;--cw:272px;--ch:440px;--g:22px;--floor:104px;gap:26px}}
/* rev 7d: phones keep the stage but a shallower one, so the note sits closer to the cards */
@media (max-width:640px){.mq{--floor:62px;--fx:22px;--rf:56px}}
.mq-row{position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  padding:6px 0 40px;margin-bottom:-40px;scroll-snap-type:x proximity}
/* rev 7 (Bobby, Oct 8): the stage from his spotlight ad. A glossy navy floor under the last row with the cards' soft
   reflection on it (-webkit-box-reflect: Chrome/Safari; elsewhere just the floor), and a warm beam falling across the
   cards from the upper left, in line with the section's spotlight. Cards stay flat-facing so captions and logos read. */
/* rev 7d (critic): the stage you can see. Painted behind the rows (z 0): the floor (a lighter glossy navy from the card
   bottoms down), a warm sheen band along it, a bright lip line where cards meet it, and the spotlight's landing: warm
   light pools on the floor and in the gap between the rows, about a third of the way in. No haze anywhere else.
   The card bottom sits var(--floor) + var(--fx) above this layer's bottom edge. */
.mq::before{content:"";position:absolute;z-index:0;inset:0 0 calc(-1 * var(--fx));pointer-events:none;
  --fb:calc(var(--floor) + var(--fx));
  background:
    linear-gradient(90deg,rgba(255,214,170,0) 2%,rgba(255,214,170,.36) 20%,rgba(255,228,196,.42) 33%,rgba(255,255,255,.24) 62%,rgba(255,255,255,0) 96%) left 0 bottom calc(var(--fb) - 3px)/100% 1px no-repeat,
    radial-gradient(22% 80px at 33% 54px,rgba(255,190,130,.24),rgba(255,190,130,.09) 55%,rgba(255,190,130,0) 100%) left 0 bottom/100% calc(var(--fb) + 40px) no-repeat,
    radial-gradient(50% 50% at 50% 50%,rgba(255,220,180,.10),rgba(255,220,180,.04) 60%,rgba(255,220,180,0) 100%) left 0 bottom calc(var(--fb) - 40px)/100% 48px no-repeat,
    linear-gradient(180deg,rgba(38,58,116,.5) 0,rgba(26,42,92,.42) 34%,rgba(15,27,62,.22) 70%,rgba(11,21,51,0) 100%) left 0 bottom/100% var(--fb) no-repeat,
    radial-gradient(20% 56px at 33% calc(var(--ch) + 19px),rgba(255,190,130,.22),rgba(255,190,130,.08) 55%,rgba(255,190,130,0) 100%) no-repeat,
    radial-gradient(28% 42% at 26% 0%,rgba(255,190,130,.10),rgba(255,190,130,0) 72%) no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 60px,#000 calc(100% - var(--fx)),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 60px,#000 calc(100% - var(--fx)),transparent)}
/* the reflection: only its top band shows (the card bottoms and action rows as soft light shapes), starting at about
   .24 right under the card and gone within ~76px. (The box-reflect mask is laid over the row itself, before the flip,
   so 0deg / its bottom end is the part of the mirror nearest the card.) The row box ends 40px under the card (its bottom padding), so -74px
   puts the mirrored card bottom 6px under the real one. */
.mq-row--b,.mq-row--a:has(+ .mq-row--b[hidden]){-webkit-box-reflect:below -74px linear-gradient(0deg,rgba(0,0,0,.27) 0,rgba(0,0,0,.27) 44px,rgba(0,0,0,.12) 78px,rgba(0,0,0,0) 120px)}
@media (max-width:640px){.mq-row--a:has(+ .mq-row--b[hidden]){-webkit-box-reflect:below -74px linear-gradient(0deg,rgba(0,0,0,.22) 0,rgba(0,0,0,.22) 44px,rgba(0,0,0,.09) 70px,rgba(0,0,0,0) 104px)}}
/* over the reflection (above the rows, under the edge fades): navy deepening downward, plus a 2.5px blur where supported (phones too),
   so the mirror reads as glossy floor and mirrored text never reads */
.mq::after{content:"";position:absolute;z-index:2;left:0;right:0;top:calc(100% - var(--floor) + 4px);height:calc(var(--rf) + 6px);pointer-events:none;
  background:linear-gradient(180deg,rgba(11,21,51,0) 0,rgba(11,21,51,.10) 30%,rgba(11,21,51,.34) 70%,rgba(11,21,51,.5) 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.mq::after{-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}
/* rev 7b: the edges fade the cards into the section navy with two overlays (a mask-image here fogged them white) */
.mq-edge{position:absolute;z-index:3;top:0;bottom:0;width:var(--edge);pointer-events:none}
.mq-edge--l{left:0;background:linear-gradient(90deg,#0B1533,rgba(11,21,51,.82) 28%,rgba(11,21,51,.45) 58%,rgba(11,21,51,.14) 82%,rgba(11,21,51,0))}
.mq-edge--r{right:0;background:linear-gradient(270deg,#0B1533,rgba(11,21,51,.82) 28%,rgba(11,21,51,.45) 58%,rgba(11,21,51,.14) 82%,rgba(11,21,51,0))}
.mq-row::-webkit-scrollbar{display:none}
.mq-track{display:flex;gap:var(--g);width:max-content;padding:0 var(--gutter)}
.mq-track>.pc{scroll-snap-align:center}
.mq.is-live .mq-row{scroll-snap-type:none}
.mq.is-live .mq-track{padding:0;animation:mq var(--dur,60s) linear infinite;will-change:transform}
.mq.is-live .mq-row--b .mq-track{animation-direction:reverse}
/* never paused by hover or focus (Bobby, rev 4): only the Pause button, a touch hold/swipe, off screen or a hidden tab */
.mq.is-held .mq-track,.mq.is-paused .mq-track,.mq.is-off .mq-track{animation-play-state:paused}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--shift,-50%),0,0)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none!important}.pc::after{transition:none}}
.mq-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin-top:4px;text-align:center}
.mq-note{font:500 13px/1.5 var(--sans);color:rgba(255,255,255,.62);max-width:72ch;text-wrap:balance}
.mq-toggle{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.86);font:600 13px/1 var(--sans);cursor:pointer}
.mq-toggle:hover{background:rgba(255,255,255,.12)}
/* phones (Oct 8, Bobby): no Pause button (a finger on the cards already stops them, and they pick up again 2.5 s after
   it lifts); a swipe hint instead. 699px = the one-row phone layout in site.js. */
.mq-swipe{display:none}
@media (max-width:699px){
  .mq-foot .mq-toggle{display:none}
  .mq-swipe{display:block;flex-basis:100%;font:600 14px/1.3 var(--sans);letter-spacing:.01em;color:rgba(255,255,255,.88)}
  .mq-swipe b{color:var(--orange);font-weight:700;padding:0 4px}
}
.i-pause{width:10px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.mq-toggle[aria-pressed=true] .i-pause{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}

/* one post card: same size on every platform; the platform name is always spelled out */
.pc{--capf:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;position:relative;flex:none;width:var(--cw);height:var(--ch);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;
  color:#1c1e21;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* rev 7: cards feel like objects on the stage, still flat-facing: a warm rim where the spotlight hits (top left), a few px of
     edge thickness on the shadow side (bottom right), a tight contact shadow and a soft grounded one */
  box-shadow:-1px -1px 0 rgba(255,214,170,.38),1px 1px 0 #D9DDE5,2px 2px 0 #B7BDC9,3px 3px 0 #8C94A5,4px 4px 0 #5D6578,
    0 10px 12px -6px rgba(2,6,20,.7),6px 26px 30px -16px rgba(2,6,20,.85)}
.pc--v{box-shadow:-1px -1px 0 rgba(255,214,170,.32),1px 1px 0 #3A404D,2px 2px 0 #2A2F3A,3px 3px 0 #1D212A,4px 4px 0 #12151C,
    0 10px 12px -6px rgba(2,6,20,.7),6px 26px 30px -16px rgba(2,6,20,.85)}
/* rev 7d (critic): the spotlight lands about a third of the way in. Cards passing through that zone get a warm lit rim on
   their top-left edges (site.js toggles .is-lit by the card's position; the rim fades in and out). Faces stay clean. */
.pc::after{content:"";position:absolute;inset:0;z-index:8;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .8s ease;
  box-shadow:inset 2px 2px 0 rgba(255,198,138,.85),inset 7px 7px 12px -9px rgba(255,176,104,.55)}
.pc.is-lit::after{opacity:1}
.pc svg{flex:none}
.pc-plat{flex:none;display:flex;align-items:center;gap:9px;height:46px;padding:0 14px;border-bottom:1px solid #EEF0F3}
.pc-lg{flex:none;display:grid;place-items:center;width:24px;height:24px}
.pc-lg img{width:24px;height:24px}
.pc-plat b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 15px/1 var(--sans);letter-spacing:-.012em;color:#0F1419}
.pc--fb .pc-plat b{color:#0866FF}
.pc--li .pc-plat b{color:#0A66C2}
.pc-r{margin-left:auto;display:flex;align-items:center;gap:10px;color:#1c1e21}
.pc-r svg{width:18px;height:18px}
.pc-who{flex:none;display:flex;align-items:center;gap:9px;padding:11px 14px 0;min-width:0}
.pc-av{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #E1E4E8;overflow:hidden}
.pc-av img{width:26px;height:26px}
.pc-av--txt{background:var(--navy);color:#fff;font:700 11px/1 var(--sans);box-shadow:none}
.pc-wt{min-width:0}
.pc-wt b{display:block;font-size:13px;font-weight:700;line-height:1.2;color:#1c1e21;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-wt small{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:11.5px;line-height:1.2;color:#65676B;white-space:nowrap}
.pc-wt small svg{width:11px;height:11px}
.pc-dots{margin-left:auto;font-size:8px;letter-spacing:1px;color:#65676B}
.pc-txt{flex:none;padding:8px 14px 0;font-size:12.5px;line-height:1.42;color:#1c1e21}
.pc-txt b{font-weight:700;margin-right:3px}
.pc-tags{color:#00376B}
.pc-txt--ig{padding:2px 14px 12px}
.pc-photo{position:relative;flex:1 1 auto;min-height:0;margin-top:10px;overflow:hidden;background:#D9DCE3}
.pc-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-photo--inset{margin:10px 12px 0;border-radius:12px}
/* rev 7 (Bobby, Oct 8): one bold caption style on every card, like his spotlight ad: a heavy grotesk headline (Inter 800, rev 7d), the last
   words in orange, an orange accent line, on a deep navy scrim so it reads at card size */
.pc-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:54px 16px 15px;
  background:linear-gradient(0deg,rgba(7,13,34,.93) 0%,rgba(7,13,34,.8) 38%,rgba(7,13,34,.4) 70%,rgba(7,13,34,0) 100%)}
.pc-h{font:800 27px/1.04 var(--capf);letter-spacing:-.032em;color:#fff;text-wrap:balance;
  text-shadow:0 1px 2px rgba(0,0,0,.55),0 3px 14px rgba(0,0,0,.45)}
.pc-h em{font-style:normal;color:#FF8A3D}
.pc-photo--inset .pc-h{font-size:25px}
.pc-rule{display:block;width:34px;height:3px;margin-top:10px;border-radius:2px;background:var(--orange);box-shadow:0 0 10px rgba(249,106,26,.55)}
.pc-cta{display:inline-flex;margin-top:12px;padding:8px 14px;border-radius:999px;background:var(--orange);color:#fff;font:700 12px/1 var(--sans);box-shadow:0 8px 16px -8px rgba(249,106,26,.9)}
.pc-acts{flex:none;display:flex;align-items:center;justify-content:space-around;height:42px;padding:0 8px;border-top:1px solid #EEF0F3;font-size:12px;font-weight:600;color:#65676B}
.pc-acts span{display:inline-flex;align-items:center;gap:5px}
.pc-acts svg{width:16px;height:16px}
.pc-acts--li{font-size:11px}.pc-acts--li svg{width:15px;height:15px}
.pc-acts--ig{justify-content:space-between;padding:0 12px;border-top:0;color:#262626}
.pc-acts--ig span{gap:13px}
.pc-acts--ig svg{width:21px;height:21px}
.pc-pg{display:flex;gap:4px}.pc-pg b{width:5px;height:5px;border-radius:50%;background:#C7C7CC}.pc-pg b:first-child{background:#0095F6}
.pc-acts--left{justify-content:flex-start;gap:18px;padding:0 16px;border-top:0;color:#1c1e21}
.pc-acts--left svg,.pc-acts--bs svg{width:19px;height:19px}
.pc-acts--bs{border-top:0;justify-content:space-between;padding:0 18px;color:#5B6B7D;font-size:14px;letter-spacing:1px}
/* Google Business Profile */
.pc-tabs{flex:none;display:flex;gap:15px;padding:12px 14px 0;border-bottom:1px solid #EEF0F3;font-size:12px;color:#5F6368}
.pc-tabs span{padding-bottom:8px}
.pc-tabs .on{color:#0B57D0;font-weight:600;box-shadow:inset 0 -2px #0B57D0}
.pc--gbp .pc-photo{margin-top:0}
.pc-gb{flex:none;display:flex;gap:8px;padding:11px 14px 13px}
.gb{display:inline-flex;align-items:center;gap:5px;padding:8px 13px;border-radius:999px;background:#0B57D0;color:#fff;font-size:12px;font-weight:600;line-height:1}
.gb svg{width:12px;height:12px}
.gb--line{background:#fff;color:#0B57D0;border:1px solid #C4C7C5}
/* vertical video platforms (TikTok, YouTube Shorts, Snapchat Spotlight) */
.pc--v{background:#000;color:#fff}
.pc-photo--v{position:absolute;inset:0;margin:0}
.pc-photo--v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 20%,rgba(0,0,0,0) 36%,rgba(4,8,22,.62) 56%,rgba(4,8,22,.95) 100%)}
.pc-plat--v{position:relative;z-index:2;border-bottom:0;background:none}
.pc-plat--v b{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.pc-plat--v .pc-lg{width:28px;height:28px;border-radius:8px;background:#fff}
.pc-plat--v .pc-lg img{width:22px;height:22px}
.pc-fy{margin-left:auto;font:600 12px/1 var(--sans);font-style:normal;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.pc-side{position:absolute;z-index:2;right:10px;bottom:118px;display:flex;flex-direction:column;align-items:center;gap:15px;color:#fff}
.pc-side svg{width:25px;height:25px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.pc-sav{position:relative;margin-bottom:4px}
.pc-sav .pc-av{width:36px;height:36px;box-shadow:0 0 0 2px #fff}
.pc-sav i{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#FE2C55;color:#fff;font:700 12px/1 var(--sans);font-style:normal}
.pc-vbot{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 54px 16px 14px}
.pc-vbot .pc-h{font-size:30px}
.pc--yt .pc-vbot .pc-h{font-size:25px}
.pc-handle{display:flex;align-items:center;gap:8px;margin-top:12px;font:700 13px/1.2 var(--sans);color:#fff}
.pc-sub{padding:5px 10px;border-radius:999px;background:#fff;color:#0F0F0F;font:600 11px/1 var(--sans)}
.pc-vtxt{margin-top:4px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.9)}
.pc-music{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:11.5px;color:rgba(255,255,255,.88);white-space:nowrap;overflow:hidden}
.pc-music svg{width:13px;height:13px}
.pc-music span{overflow:hidden;text-overflow:ellipsis}
/* website + blog */
.pc-url{flex:none;display:flex;align-items:center;gap:6px;margin:10px 12px 0;padding:7px 10px;border-radius:8px;background:#F1F3F4;font-size:11.5px;color:#3C4043}
.pc-url svg{width:12px;height:12px;color:#5F6368}
.pc-photo--web{flex:0 0 150px;margin:10px 12px 0;border-radius:10px}
.pc-blog{flex:1 1 auto;display:flex;flex-direction:column;padding:12px 16px 16px}
.pc-eb{font:700 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk)}
.pc-bt{margin-top:7px;font:700 22px/1.06 var(--capf);color:var(--navy);letter-spacing:-.02em}
.pc-bt em{font-style:normal;color:var(--orange)}
.pc-bx{margin-top:7px;font-size:12px;line-height:1.45;color:#4B5563}
.pc-read{margin-top:auto;align-self:flex-start;padding:10px 14px;border-radius:9px;background:var(--navy);color:#fff;font:600 12px/1 var(--sans)}
/* Pinterest */
.pc-photo--pin{margin:10px 10px 0;border-radius:16px}
.pc-photo--pin::before{content:"Save";position:absolute;z-index:2;top:10px;right:10px;padding:8px 13px;border-radius:999px;background:#E60023;color:#fff;font:700 12px/1 var(--sans)}
.pc-pinb{flex:none;padding:9px 14px 12px}
.pc-pinb>p{font-size:13px;font-weight:600;line-height:1.3;color:#111}
.pc-pinb .pc-who{padding:8px 0 0}
.pc-pinb .pc-av{width:26px;height:26px}.pc-pinb .pc-av img{width:21px;height:21px}
/* maps / places */
.pc-chips{flex:none;display:flex;gap:6px;padding:11px 14px 0}
.pc-chips span{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border-radius:999px;border:1px solid #DADCE0;font-size:11px;font-weight:600;color:#0B57D0;white-space:nowrap}
.pc-chips span.on{background:#0B57D0;border-color:#0B57D0;color:#fff}
.pc-chips svg{width:12px;height:12px}
.pc-chips--bing span{color:#0F6CBD;border-color:#C9D7EA;border-radius:8px}
.pc-lbl{flex:none;padding:12px 14px 0;font-size:12px;font-weight:700;color:#202124}
.pc-lbl--end{padding:9px 14px 12px;font-weight:500;color:#65676B}
.pc--maps .pc-photo{margin-bottom:12px}
.pc--th .pc-photo,.pc--bs .pc-photo{margin-bottom:2px}

/* every destination, all visible at once: small real logos with names */
.dests{margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.12);text-align:center}
.dests-h{font:400 clamp(30px,3.6vw,40px)/1.1 var(--serif);color:#fff}
.dests-h em{font-style:italic;color:#FF8A45}
.dests-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;max-width:1060px}
.dests-list li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;background:#fff;color:var(--navy);font:600 14px/1.2 var(--sans);
  box-shadow:0 10px 20px -14px rgba(0,0,0,.8)}
.dests-list img{width:22px;height:22px;flex:none}
@media (max-width:599px){.dests-list{gap:8px}.dests-list li{font-size:13px;padding:6px 12px 6px 7px}.dests-list img{width:20px;height:20px}}
.secret .crew{margin-top:22px;font:500 15.5px/1.5 var(--sans);color:rgba(255,255,255,.72);text-align:center}
.secret .tryline{margin-top:22px;padding:18px;border-radius:var(--r-md);background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.2);color:#fff;text-align:left}
.secret .tryline .small,.secret .tryline .fine{color:rgba(255,255,255,.75)}
.secret .tryline a{color:#fff}

/* ---------- Top 10 section + rings card ---------- */
.t10{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
@media (min-width:1000px){.t10{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}
.t10-two{list-style:none;display:grid;gap:12px;margin-top:20px;max-width:560px}
.t10-two li{position:relative;padding-left:34px;font:400 16.5px/1.5 var(--sans);color:var(--ink2)}
.t10-two li b{color:var(--navy);font-weight:700}
.t10-two li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/14px no-repeat}
.t10-form{margin-top:26px;display:grid;gap:12px;max-width:560px}
.t10-row{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:520px){.t10-row{grid-template-columns:1.4fr .8fr}}
.field label{display:block;margin-bottom:6px;font:600 14px/1.2 var(--sans);color:var(--navy)}
.field label em{font-style:normal;font-weight:500;color:var(--muted)}
.field input{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);font:500 17px/1 var(--sans);color:var(--navy);outline:0;transition:border-color .15s ease,box-shadow .15s ease}
.field input:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(249,106,26,.14)}
.field input::placeholder{color:#8F96A8}
.t10-form .btn{justify-self:start}
.t10-micro{font:500 14px/1.5 var(--sans);color:var(--muted)}
.rings-card{position:relative;border-radius:var(--r-lg);padding:22px;color:#fff;overflow:hidden;
  background:radial-gradient(90% 70% at 15% 0%,rgba(90,169,255,.18),transparent 60%),radial-gradient(80% 70% at 100% 100%,rgba(249,106,26,.2),transparent 60%),linear-gradient(160deg,#18295A,#0D183A);
  box-shadow:0 40px 70px -40px rgba(13,24,58,.8);border:1px solid rgba(255,255,255,.08)}
.rings-card .tag{position:absolute;top:16px;left:16px;padding:5px 10px;border-radius:999px;background:var(--orange);color:var(--deep);font:800 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;z-index:2}
.rc-top{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin-top:30px}
@media (min-width:520px){.rc-top{grid-template-columns:190px 1fr;gap:24px}}
.rc-rings{position:relative}
.rc-h{grid-column:1/-1;font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.rc-h b{font:800 15px/1 var(--display);color:#fff;letter-spacing:0}
.rc-legend{list-style:none;display:grid;gap:8px}
.rc-legend li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font:500 13px/1.2 var(--sans);color:rgba(255,255,255,.88)}
.rc-legend i{width:12px;height:12px;border-radius:50%}
.rc-legend b{font:800 13px/1 var(--display);color:#fff}
.rc-legend li:has(small){grid-template-columns:12px auto 1fr auto}
.rc-legend small{justify-self:start;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.12);font:600 9.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.rc-list{list-style:none;margin-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.rc-list li{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08);font:500 13.5px/1.2 var(--sans);color:rgba(255,255,255,.82)}
.rc-list li b{font:800 14px/1 var(--display);color:rgba(255,255,255,.55)}
.rc-list li span:last-child{font:700 13px/1 var(--display);color:rgba(255,255,255,.7)}
.rc-list li.you{margin:2px -6px;padding:10px 12px;border-radius:12px;background:rgba(249,106,26,.2);border:1px solid rgba(249,106,26,.55);color:#fff}
.rc-list li.you b,.rc-list li.you span:last-child{color:var(--amber)}
.rc-note{margin-top:12px;font:500 11.5px/1.4 var(--sans);color:rgba(255,255,255,.55)}

/* ---------- proof ---------- */
.proof-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:center;margin-top:8px}
@media (min-width:1000px){.proof-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}
.shots{display:grid;gap:16px}
@media (min-width:700px){.shots{grid-template-columns:repeat(3,1fr)}}
.shot{margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.shot figcaption{padding:10px 14px;font:600 13.5px/1.35 var(--sans);color:var(--navy)}
/* rev 4: "from one text" checklist card; the lines tick in one by one when it scrolls into view (site.js adds .go) */
.proof-grid--ck{row-gap:28px}
@media (min-width:1000px){.proof-grid--ck{grid-template-rows:auto auto;align-items:end}.proof-grid--ck>.ck{grid-column:2;grid-row:1/3;align-self:center}
  .proof-grid--ck>.proof-try{grid-column:1;grid-row:2;align-self:start}}
.proof-try{padding-top:26px;border-top:1px solid var(--line);max-width:560px}
@media (max-width:999px){.proof-try{border-top:0;padding-top:4px}}
.proof-try-h{font:400 clamp(28px,3vw,34px)/1.1 var(--serif);color:var(--navy)}
.proof-try-h em{font-style:italic;color:var(--orange)}
.proof-try .small{margin-top:8px;font-size:15px;color:var(--ink2)}
.proof-try .bar{margin-top:16px}
.ck{position:relative;width:100%;max-width:520px;justify-self:center;padding:26px 22px 22px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);
  box-shadow:0 50px 80px -50px rgba(13,24,58,.55),0 14px 30px -22px rgba(13,24,58,.3)}
@media (min-width:600px){.ck{padding:32px 34px 28px}}
.ck-lbl{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk)}
.ck-sent{display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px;border-radius:18px;background:var(--cream);border:1px solid var(--line)}
.ck-sent img{flex:none;width:72px;height:72px;border-radius:14px;object-fit:cover;object-position:30% 50%}
.ck-sent div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.ck-bubble{position:relative;padding:9px 15px 10px;border-radius:19px 19px 6px 19px;background:#0A7CFF;color:#fff;
  font:500 16.5px/1.25 -apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;letter-spacing:-.01em}
.ck-sent small{align-self:flex-end;padding-right:4px;font:500 12px/1 var(--sans);color:var(--muted)}
.ck-list{list-style:none;margin-top:18px}
.ck-list li{display:flex;align-items:center;gap:14px;padding:13px 2px;text-wrap:pretty;border-top:1px solid var(--line);font:600 16.5px/1.35 var(--sans);color:var(--navy)}
.ck-box{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);border:2px solid var(--orange)}
.ck-box svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:0}
.ck-list li,.ck-box,.ck-box svg{transition:opacity .35s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),stroke-dashoffset .4s var(--ease) .12s;
  transition-delay:calc(var(--i,0) * .38s + .45s)}
.ck-box svg{transition-delay:calc(var(--i,0) * .38s + .57s)}
.js [data-ticks]:not(.go) .ck-list li{opacity:.4}
.js [data-ticks]:not(.go) .ck-box{background:#fff;border-color:#E3D7C2}
.js [data-ticks]:not(.go) .ck-box svg{stroke-dashoffset:14}
@media (prefers-reduced-motion:reduce){.ck-list li,.ck-box,.ck-box svg{transition:none!important}}
.ck-foot{margin-top:4px;padding-top:14px;border-top:1px solid var(--line);font:500 14px/1.45 var(--sans);color:var(--muted)}

/* ---------- price: one plan card, everything visible (setup is chosen at checkout) ---------- */
.plan{display:grid;margin:40px auto 0;max-width:1080px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
@media (min-width:900px){.plan{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.plan-side{padding:30px 22px;background:radial-gradient(90% 80% at 0% 0%,rgba(255,162,58,.18),transparent 60%),var(--cream);border-bottom:1px solid var(--line)}
@media (min-width:600px){.plan-side{padding:40px}}
@media (min-width:900px){.plan-side{border-bottom:0;border-right:1px solid var(--line);padding:48px 44px;display:flex;flex-direction:column;justify-content:center}}
.plan-name{font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk)}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:14px}
.price b{font:400 clamp(80px,14vw,112px)/.9 var(--serif);letter-spacing:-.01em;color:var(--navy)}
.price span{font:600 19px/1.3 var(--sans);color:var(--ink2)}
.price-terms{margin-top:10px;font:500 15.5px/1.4 var(--sans);color:var(--ink2)}
.price-go{margin-top:24px}
.btn--lg{min-height:58px;padding:0 34px;font-size:18px}
@media (max-width:599px){.price-go .btn{width:100%}}
.plan-guar{list-style:none;display:grid;gap:8px;margin-top:22px}
.plan-guar li{display:flex;align-items:center;gap:9px;font:600 15px/1.35 var(--sans);color:var(--navy)}
.plan-guar li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/12px no-repeat}
.plan-setup{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font:500 14px/1.45 var(--sans);color:var(--muted)}
.plan-main{padding:28px 22px 30px}
@media (min-width:600px){.plan-main{padding:40px}}
@media (min-width:900px){.plan-main{padding:48px 44px}}
.plan-h{font:400 clamp(28px,3vw,34px)/1.1 var(--serif);color:var(--navy)}
.incl{list-style:none;display:grid;gap:0 32px;margin-top:16px}
@media (min-width:640px){.incl{grid-template-columns:1fr 1fr}.incl li:last-child:nth-child(odd){grid-column:1/-1}}
.incl li{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font:500 16px/1.4 var(--sans);color:var(--navy)}
.incl li::before{content:"";flex:none;width:21px;height:21px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/13px no-repeat}
.plan-notes{max-width:1080px;margin:22px auto 0;display:grid;gap:12px}
.promise{margin:10px auto 0;max-width:min(100%,25em);text-align:center;font:400 clamp(25px,2.8vw,34px)/1.2 var(--serif);color:var(--navy);text-wrap:balance}
.promise em{font-style:italic;color:var(--orange)}
.plan-notes .fine{text-align:center}
.plan-notes .fine{padding:0 4px}

/* ---------- FAQ ---------- */
.faq{margin-top:32px;border-top:1px solid var(--line);max-width:860px}
.center .faq{margin-left:auto;margin-right:auto;text-align:left}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 2px;cursor:pointer;list-style:none;font:700 18px/1.35 var(--sans);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2314224C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 3.5v9M3.5 8h9'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--orange-dk)}
.faq .a{padding:0 2px 22px;font:400 16.5px/1.6 var(--sans);color:var(--ink2);max-width:70ch}
.faq .a p+p{margin-top:10px}
.more-q{margin-top:24px}

/* ---------- founder ---------- */
.founder{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.founder{grid-template-columns:auto minmax(0,1fr);gap:64px}}
.video-slot{width:100%;max-width:min(320px,66vw);margin:0 auto}
.video-frame{position:relative;aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow)}
.video-frame img,.video-frame video{width:100%;height:100%;object-fit:cover}
.video-cap{margin-top:10px;text-align:center;font:500 13px/1.4 var(--sans);color:var(--muted)}
.video-play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:linear-gradient(180deg,transparent 55%,rgba(13,24,58,.45));cursor:pointer}
.video-play span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--orange);box-shadow:0 12px 28px -10px rgba(249,106,26,.9)}
.video-play svg{width:28px;height:28px;margin-left:4px}
.founder-copy p:not(.eyebrow){margin-top:16px;font:400 18px/1.6 var(--sans);color:var(--ink2);max-width:58ch;text-wrap:pretty}
.sig{margin-top:22px!important;font:600 16px/1.4 var(--sans)!important;color:var(--navy)!important}
.sig span{display:block;font-weight:500;color:var(--muted);font-size:14.5px}

/* ---------- final CTA ---------- */
.final{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 50% 120%,rgba(249,106,26,.2),transparent 70%),radial-gradient(60% 60% at 0% 0%,rgba(255,162,58,.16),transparent 70%),var(--cream);border-top:1px solid var(--line)}
.final .bar,.final .bar-err,.final .bar-note{margin-left:auto;margin-right:auto}
.final .bar-note{text-align:center}

/* ---------- strips + cards (landing pages, about) ---------- */
.cards3{display:grid;gap:16px;margin-top:36px}
@media (min-width:800px){.cards3{grid-template-columns:repeat(3,1fr);gap:20px}}
.gcard{padding:26px 22px;border-radius:var(--r-md);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.gcard svg{width:34px;height:34px;color:var(--orange)}
.gcard h3{margin-top:14px;font:800 21px/1.2 var(--display);color:var(--navy)}
.gcard p{margin-top:8px;font:400 16px/1.55 var(--sans);color:var(--ink2)}
.gcard a{color:var(--navy);font-weight:700}
.strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;padding:22px var(--gutter);text-align:center;font:600 16px/1.45 var(--sans);color:var(--navy)}
.strip .dot{color:var(--orange);font-weight:800}

/* ---------- landing pages ---------- */
.lp-hero{position:relative;display:flex;flex-direction:column}
.lp-hero .bg{position:relative;height:clamp(220px,36svh,380px);overflow:hidden;background:var(--navy)}
.lp-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 66%}
.lp-hero .bg::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(250,250,250,0),rgba(250,250,250,.6) 70%,var(--cream))}
.lp-hero .wrap{position:relative;z-index:1;margin-top:-64px;padding-bottom:28px}
.lp-card{width:100%;max-width:640px;margin:0 auto;padding:24px 20px;border-radius:24px;background:rgba(250,250,250,.94);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(238,227,208,.95);box-shadow:var(--shadow)}
@media (min-width:900px){
  .lp-hero{min-height:calc(100svh - var(--nav-h))}
  .lp-hero .bg{position:absolute;inset:0;height:auto}
  .lp-hero .bg img{object-position:50% 62%}
  .lp-hero .bg::after{inset:0;height:auto;background:linear-gradient(90deg,rgba(13,24,58,.35),rgba(13,24,58,0) 60%)}
  .lp-hero .wrap{flex:1;display:flex;align-items:center;margin-top:0;padding-top:48px;padding-bottom:48px}
  .lp-card{margin:0;padding:40px 40px 36px;background:rgba(250,250,250,.9);border-color:rgba(255,255,255,.7);box-shadow:0 40px 80px -40px rgba(13,24,58,.7)}
}
/* the typed line (home + /media-team, same code as /team): one line, height reserved, so nothing below it moves.
   site.js shrinks only the .txt span for long items, so the line box never changes height. */
.rotor{margin-top:12px;height:1.25em;font:400 clamp(25px,7vw,36px)/1.25 var(--serif);color:var(--navy);white-space:nowrap;overflow:hidden}
.rotor .txt.is-price{color:var(--orange)}
.caret{display:inline-block;width:2px;height:.9em;margin-left:3px;vertical-align:-.08em;background:var(--orange);animation:blink 1s steps(1) infinite}
.rotor.done .caret{display:none}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}
.lp-foot{padding:26px var(--gutter) calc(26px + env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:center;font:400 13px/1.7 var(--sans);color:var(--muted)}
.lp-foot a{color:var(--ink2)}
.lp-foot .tm{max-width:760px;margin:8px auto 0;font-size:12px}

/* /top-10 */
.t10-hero{padding:36px 0 18px}
@media (min-width:900px){.t10-hero{padding:56px 0 24px}}
.t10-lp{display:grid;gap:28px;grid-template-areas:"copy" "widget" "card"}
.t10-copy{grid-area:copy}.t10-card{grid-area:card}.t10-widget{grid-area:widget;min-width:0}
.t10-card .rings-card{max-width:520px;margin:0 auto}
@media (min-width:1000px){.t10-card .rc-top{margin-top:26px;grid-template-columns:150px minmax(0,1fr);gap:18px}.t10-card .rc-legend li{white-space:nowrap}}
@media (min-width:1000px){.t10-lp{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"copy card" "widget widget";column-gap:56px;row-gap:40px;align-items:center}
  .t10-hero .h1{font-size:clamp(52px,4.8vw,72px)}}
.widget-wrap{padding:8px 0 64px}
.widget-wrap .tp-widget-box{min-height:420px}
.widget-fallback{padding:24px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.five{display:grid;gap:14px;margin-top:36px}
@media (min-width:700px){.five{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.five{grid-template-columns:repeat(5,1fr)}}
.five li{list-style:none;padding:22px 18px;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.five svg{width:56px;height:56px}
.five h3{margin-top:12px;font:800 18px/1.2 var(--display)}
.five p{margin-top:6px;font:400 15px/1.5 var(--sans);color:var(--ink2)}

/* about */
.contact{display:grid;gap:14px;margin-top:32px}
@media (min-width:800px){.contact{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.contact{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
.contact a.gcard{text-decoration:none;display:block}
.contact a.gcard:hover{border-color:var(--orange)}
.contact .val{display:block;margin-top:6px;font:700 18px/1.3 var(--sans);color:var(--navy);word-break:break-word}

/* ---------- footer ---------- */
.foot{background:var(--deep);color:rgba(255,255,255,.78);padding:56px 0 calc(32px + env(safe-area-inset-bottom))}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-top{display:grid;gap:28px}
@media (min-width:900px){.foot-top{grid-template-columns:1fr auto;align-items:end}}
.foot-logo img{height:26px;width:auto}
.foot-line{margin-top:14px;font:400 clamp(26px,3.4vw,34px)/1.15 var(--serif);color:#fff;max-width:24ch}
.foot-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;font:600 15px/1.4 var(--sans)}
.foot-contact{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font:400 15px/1.7 var(--sans)}
.foot-legal{margin-top:16px;font:400 12.5px/1.6 var(--sans);color:rgba(255,255,255,.55)}

/* reveal on scroll (only when JS is on; reduced motion shows everything) */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}


/* ---------- /top-10 (Oct 7 rev 3) ---------- */
/* the scan form sits under the headline; the scanner below shows the results */
.t10-copy .t10-form{margin-top:24px}
.t10-lp{grid-template-columns:minmax(0,1fr)}
/* one column (under 1000px): the scanner's own form comes right after the headline, so the hero copy of it would repeat */
@media (max-width:999px){.t10-copy .t10-form{display:none}}
/* The engine's scanner (widget.js, not edited) before a scan: its Top 10 card filled to the column height with a faint
   10-row skeleton (ranks 1-10, grey bars) like the example, and "#?" instead of a lone dash. Page CSS only. */
@media (min-width:901px){
body[data-page="top-10"] .tpd2.idle .tpd2-grid{align-items:stretch}
body[data-page="top-10"] .tpd2.idle .tpd2-grid>.tpd2-col:first-child>.tpd2-list{flex:1 1 auto;display:flex;flex-direction:column}
body[data-page="top-10"] .tpd2.idle .tpd2-list::after{content:"";flex:1 1 auto;min-height:440px;margin:0 0 6px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='440' viewBox='0 0 1000 440'%3E%3Ctext x='22' y='27' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E1%3C/text%3E%3Crect x='62' y='15' width='210' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='296' y='18' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='43.5' x2='1000' y2='43.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='71' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E2%3C/text%3E%3Crect x='62' y='59' width='188' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='274' y='62' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='87.5' x2='1000' y2='87.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='115' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E3%3C/text%3E%3Crect x='62' y='103' width='224' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='310' y='106' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='131.5' x2='1000' y2='131.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='159' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E4%3C/text%3E%3Crect x='62' y='147' width='170' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='256' y='150' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='175.5' x2='1000' y2='175.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='203' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E5%3C/text%3E%3Crect x='62' y='191' width='200' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='286' y='194' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='219.5' x2='1000' y2='219.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='247' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E6%3C/text%3E%3Crect x='62' y='235' width='182' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='268' y='238' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='263.5' x2='1000' y2='263.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='291' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E7%3C/text%3E%3Crect x='62' y='279' width='216' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='302' y='282' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='307.5' x2='1000' y2='307.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='335' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E8%3C/text%3E%3Crect x='62' y='323' width='160' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='246' y='326' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='351.5' x2='1000' y2='351.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='379' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E9%3C/text%3E%3Crect x='62' y='367' width='196' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='282' y='370' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='395.5' x2='1000' y2='395.5' stroke='%23F1F2F6'/%3E%3Ctext x='22' y='423' font-family='Inter,Arial' font-weight='800' font-size='15' fill='%23B9BFCE'%3E10%3C/text%3E%3Crect x='62' y='411' width='176' height='12' rx='6' fill='%23EEF0F5'/%3E%3Crect x='262' y='414' width='90' height='6' rx='3' fill='%23EEF0F5'/%3E%3Cline x1='0' y1='439.5' x2='1000' y2='439.5' stroke='%23F1F2F6'/%3E%3C/svg%3E") left top/1000px 440px no-repeat;opacity:.95}
body[data-page="top-10"] .tpd2.idle .tpd2-empty{padding-bottom:10px}
}
body[data-page="top-10"] .tpd2.idle .tpd2-hero strong{font-size:0;line-height:0}
body[data-page="top-10"] .tpd2.idle .tpd2-hero strong::after{content:"#?";display:block;font-size:56px;line-height:1.05}

/* /top-10 rev 3c: one form. Wide screens: the headline form is the input, the scanner's own form waits until needed. */
.t10-wait{display:none}
@media (min-width:1000px){
  .t10-widget.hosted:not(.show-form) .tpd2.idle .tpd2-form{display:none}
  .t10-widget.hosted:not(.show-form) .tpd2.idle .t10-wait{display:block;margin-top:16px;padding:26px 24px;border-radius:18px;
    border:1.5px dashed #D6DAE4;background:#FAFAFA;text-align:left}
  .t10-wait-h{font:400 30px/1.05 var(--serif);color:var(--navy)}
  .t10-wait-p{margin-top:10px;font:400 15.5px/1.55 var(--sans);color:var(--ink2)}
  .t10-wait .link{display:inline-flex;margin-top:14px}
  .t10-widget.hosted:not(.show-form) .tpd2.idle .tpd2-grid>.tpd2-col:last-child{display:flex;flex-direction:column}
  .t10-widget.hosted:not(.show-form) .tpd2.idle .t10-wait{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px 34px}
}

@media (max-width:599px){.ck{padding:22px 18px 18px}.ck-sent{gap:12px;padding:12px}.ck-sent img{width:58px;height:58px;border-radius:12px}.ck-bubble{font-size:15px;padding:8px 12px 9px}.ck-list li{font-size:16px}}
@media (min-width:375px){.ck-bubble{white-space:nowrap}}

/* Oct 13: the flyer five under the hero line */
.hero-lede .lede-five{display:block;margin-top:4px;font-weight:700;color:#14224C;letter-spacing:-.005em}

/* ================= Oct 21: GENERAL HOME (/) + industry nav. Source: tools/general/build_general.py ================= */
/* nav: five links (For contractors · For restaurants · For realtors · Pricing · About). Under 1240px the phone shows as
   its icon only so everything fits on one line. */
@media (min-width:1000px) and (max-width:1239px){
  .nav-links{gap:20px;margin-right:2px}
  .nav-tel .t{display:none}
  .nav-tel-ic{width:42px;height:42px;border:1.5px solid var(--line);background:var(--paper)}
}
.nav-links a{white-space:nowrap}

/* the general home: body copy in navy (Bobby, Oct 21: never gray body text) */
body[data-page="home"] .lede,body[data-page="home"] .sub,body[data-page="home"] .small,body[data-page="home"] .bar-note,
body[data-page="home"] .fine,body[data-page="home"] .demo-qr p,body[data-page="home"] .plan-setup,body[data-page="home"] .price-terms{color:var(--navy)}

/* hero: centered, no art; the industry cards right under it are the picture */
.ghero{position:relative;padding:40px 0 4px;text-align:center;
  background:radial-gradient(900px 420px at 50% -60px,rgba(255,162,58,.18),rgba(255,162,58,0) 70%)}
.ghero .h1{margin:14px auto 0;font-size:clamp(40px,10.3vw,92px);line-height:1}
.ghero .h1 .l2 em{background:linear-gradient(92deg,var(--orange) 10%,var(--amber) 95%);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;padding:0 .06em .04em 0}
.ghero .rotor{margin:16px auto 0;max-width:100%}
.ghero .hero-lede{margin:16px auto 0;max-width:46ch;color:var(--navy)}
.ghero .hero-lede .lede-five{margin-top:6px}
.ghero .hero-ctas{justify-content:center}
.ghero .hero-ctas + .bar-note--tiny{text-align:center;padding-left:0}
@media (min-width:900px){.ghero{padding:72px 0 8px}.ghero .h1{margin-top:20px}.ghero .rotor{font-size:clamp(30px,2.6vw,38px);margin-top:18px}
  .ghero .hero-lede{font-size:21px}}

/* the industry chooser: four photo cards */
.choose{padding:30px 0 52px}
.choose .eyebrow{font-size:12.5px}
.choose-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
@media (min-width:900px){.choose{padding:44px 0 80px}.choose-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:24px}}
.choose-grid li{min-width:0}
.cz{display:flex;flex-direction:column;height:100%;border-radius:20px;overflow:hidden;background:var(--paper);border:1px solid var(--line);
  box-shadow:0 18px 36px -26px rgba(13,24,58,.55);color:var(--navy);text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.cz:hover{transform:translateY(-4px);box-shadow:0 28px 50px -28px rgba(13,24,58,.6)}
.cz:focus-visible{outline-offset:4px;border-radius:20px}
.cz-ph{position:relative;display:block;aspect-ratio:4/3.3;overflow:hidden;background:var(--soft)}
.cz-ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.cz:hover .cz-ph img{transform:scale(1.045)}
.cz-tag{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--navy);
  font:700 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 10px -6px rgba(13,24,58,.5)}
.cz-tx{display:flex;flex-direction:column;gap:5px;padding:13px 13px 15px;flex:1}
.cz-tx b{display:flex;align-items:center;justify-content:space-between;gap:8px;font:800 16.5px/1.15 var(--sans);letter-spacing:-.01em}
.cz-tx > span{font:500 13.5px/1.4 var(--sans);color:var(--navy)}
.cz-go{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font:700 14px/1 var(--sans);
  transition:transform .2s var(--ease)}
.cz:hover .cz-go{transform:translateX(3px)}
@media (min-width:600px){.cz-tx{padding:18px 18px 20px}.cz-tx b{font-size:20px}.cz-tx > span{font-size:15.5px}.cz-tag{left:12px;top:12px;font-size:11px;padding:6px 10px}}
@media (min-width:900px){.cz-ph{aspect-ratio:4/3.6}.cz-go{width:32px;height:32px}}
.choose-t10{margin-top:22px;text-align:center}
.choose-t10 .link{font-size:15.5px}

/* Google AND AI: the one verified number */
.aiband-in{display:grid;gap:22px;align-items:center}
@media (min-width:900px){.aiband-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}}
.aiband-box{padding:26px 18px 22px;border-radius:var(--r-lg);background:var(--cream);border:1px solid var(--line);text-align:center}
.aiband-num{display:flex;align-items:baseline;justify-content:center;gap:14px;font:400 clamp(64px,17vw,124px)/1 var(--serif);color:var(--navy);letter-spacing:-.02em}
.aiband-lbl{margin-top:12px;font:600 14px/1.45 var(--sans);color:var(--navy)}
.aiband-num .a{color:var(--navy)}
.aiband-num .to{font:600 .4em/1 var(--sans);color:var(--navy);transform:translateY(-.25em)}
.aiband-num .b{font-weight:400}
.ghero .hero-ctas + .bar-note--tiny{margin-left:auto;margin-right:auto;max-width:40ch}
.cz-tx > span{text-wrap:pretty}
body[data-page="home"] .video-cap,body[data-page="home"] .sig span{color:var(--navy)}
