/* ═══════════ SUNLO — FREE WELCOME-FLOW TRIAL · page-specific additions ═══════════ */
:root { --ok: #58c98a; }

/* hero video (right side, like the sales page) + poster fallback */
.hero__media { background: radial-gradient(120% 100% at 82% 18%, rgba(255,122,41,.28), transparent 58%), linear-gradient(160deg,#1c140b 0%,#0b0a08 72%); }
video#hero-img { position:absolute; right:0; left:auto; top:0; width:64%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.06) contrast(1.03); }
@media (max-width:760px){ video#hero-img{ width:100%; opacity:.45; } }
.hero__title { max-width: 860px; }
.hero__offer { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; padding:8px 14px 8px 10px; border-radius:999px;
  border:1px solid rgba(88,201,138,.4); background:rgba(88,201,138,.08); font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; color:var(--ok); }
.hero__offer i { width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 10px var(--ok); }
.hero__sub { max-width: 560px; }

/* nav */
.nav__brand { font-family:var(--font-head); font-weight:700; letter-spacing:.2em; font-size:14px; color:var(--ink); padding:0 10px 0 4px; }

/* generic section head reuse */
.section-head { max-width: 780px; margin-bottom: clamp(34px,4vw,54px); }
.section-head h2 { margin-bottom: 18px; }
.section-sub { color: var(--ink-dim); font-size: 16px; line-height: 1.65; max-width: 640px; }

/* stat trio */
.trio { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:34px; }
@media (max-width:860px){ .trio{ grid-template-columns:1fr; } }
.stat { padding:30px 28px; border:1px solid var(--hairline); border-radius:16px; background:linear-gradient(165deg, rgba(255,122,41,.08), var(--card) 60%); }
.stat b { display:block; font-family:var(--font-head); font-weight:800; letter-spacing:-.03em; font-size:clamp(38px,4.6vw,58px); line-height:1;
  background:linear-gradient(160deg,#ffd2a8,var(--accent) 55%,#c64f0a); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat span { display:block; margin-top:12px; font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; color:var(--ink-dim); line-height:1.6; }
.stat small { display:block; margin-top:10px; color:#a9a49a; font-size:12.5px; line-height:1.5; }

/* how it works — steps */
.steps3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .steps3{ grid-template-columns:1fr; } }
.step { position:relative; padding:32px 28px 30px; border:1px solid var(--hairline); border-radius:18px; background:var(--card); overflow:hidden; }
.step__n { font-family:var(--font-head); font-weight:800; font-size:clamp(46px,5vw,64px); line-height:1; letter-spacing:-.03em; color:rgba(242,239,233,.07); position:absolute; top:14px; right:22px; }
.step__tag { display:inline-block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em; color:var(--accent-soft); border:1px solid rgba(255,122,41,.4); background:rgba(255,122,41,.07); border-radius:6px; padding:5px 10px; margin-bottom:16px; }
.step h3 { font-size:22px; margin-bottom:10px; }
.step p { color:#c4bfb5; font-size:14.5px; line-height:1.6; }
.step ul { list-style:none; margin-top:12px; display:flex; flex-direction:column; gap:7px; }
.step li { position:relative; padding-left:16px; color:#c4bfb5; font-size:13.5px; }
.step li::before { content:"▪"; position:absolute; left:0; top:3px; color:var(--accent); font-size:8px; }
.needs { margin-top:22px; padding:18px 22px; border:1px dashed rgba(255,164,92,.35); border-radius:12px; color:var(--ink-dim); font-size:13.5px; }
.needs b { color:var(--ink); }

/* the 3 emails */
.emails3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .emails3{ grid-template-columns:1fr; } }
.wcard { position:relative; padding:26px 24px 24px; border:1px solid rgba(255,122,41,.35); border-radius:16px;
  background:linear-gradient(165deg, rgba(255,122,41,.10), var(--card) 60%); }
.wcard__n { display:inline-block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em; color:var(--accent-soft); border:1px solid rgba(255,122,41,.4); background:rgba(255,122,41,.07); border-radius:6px; padding:5px 10px; }
.wcard__free { position:absolute; top:22px; right:22px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em; color:var(--ok); border:1px solid rgba(88,201,138,.4); background:rgba(88,201,138,.08); border-radius:999px; padding:5px 11px; }
.wcard h3 { font-size:21px; margin:16px 0 4px; }
.wcard__trig { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; color:var(--ink-dim); margin-bottom:14px; }
.wcard ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
.wcard li { position:relative; padding-left:16px; color:#c4bfb5; font-size:13.5px; line-height:1.45; }
.wcard li::before { content:"▪"; position:absolute; left:0; top:3px; color:var(--accent); font-size:8px; }
.delivered { margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.delivered .mono { color:var(--ink-dim); margin-right:6px; }

/* locked emails 4–9 */
.lockhead { margin-top:44px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.lockhead h3 { font-size:20px; }
.lockgrid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-top:16px; }
@media (max-width:1000px){ .lockgrid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:600px){ .lockgrid{ grid-template-columns:repeat(2,1fr);} }
.lockcard { position:relative; border:1px solid var(--hairline); border-radius:12px; background:var(--card); padding:16px 17px; opacity:.62; transition:opacity .35s, border-color .35s; }
.lockcard:hover { opacity:1; border-color:rgba(255,122,41,.3); }
.lockcard__lock { position:absolute; top:14px; right:15px; color:var(--ink-dim); font-size:12px; }
.lockcard__name { font-family:var(--font-head); font-weight:700; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); margin-bottom:6px; padding-right:18px; }
.lockcard__trig { font-family:var(--font-mono); font-size:9px; letter-spacing:.1em; color:var(--ink-dim); line-height:1.4; }
.lockcard__type { display:inline-block; margin-top:10px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.14em; color:var(--accent-soft); border:1px solid rgba(255,122,41,.3); border-radius:5px; padding:3px 8px; }

/* six levers */
.levers { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .levers{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .levers{ grid-template-columns:1fr; } }
.lever { padding:28px 26px; border:1px solid var(--hairline); border-radius:16px; background:var(--card); transition:border-color .4s, transform .5s var(--ease); }
.lever:hover { border-color:rgba(255,122,41,.35); transform:translateY(-4px); }
.lever i { display:grid; place-items:center; width:42px; height:42px; border-radius:10px; border:1px solid rgba(255,122,41,.4); background:rgba(255,122,41,.06); color:var(--accent-soft); font-style:normal; font-size:17px; margin-bottom:16px; }
.lever h3 { font-size:18px; margin-bottom:8px; }
.lever p { color:#b9b4aa; font-size:14px; line-height:1.55; }

/* default vs sunlo comparison */
.vs { margin-top:34px; border:1px solid var(--hairline); border-radius:18px; overflow:hidden; background:var(--card); }
.vs__row { display:grid; grid-template-columns:1.1fr 1fr 1.2fr; border-bottom:1px solid var(--hairline); }
.vs__row:last-child { border-bottom:none; }
.vs__row > div { padding:18px 20px; font-size:14px; color:#c4bfb5; }
.vs__row--head > div { font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; color:var(--ink-dim); padding:14px 20px; }
.vs__row--head .vs__sunlo { background:linear-gradient(120deg,#ff8c42,var(--accent) 60%,#f06a14); color:#170b02; font-weight:600; }
.vs__label { font-family:var(--font-head); font-weight:600; color:var(--ink) !important; }
.vs__sunlo { background:rgba(255,122,41,.07); border-left:1px solid rgba(255,122,41,.25); color:var(--ink) !important; }
.vs__bad { color:rgba(242,239,233,.55) !important; }
@media (max-width:700px){ .vs__row{ grid-template-columns:1fr; } .vs__row--head{ display:none; } .vs__label{ padding-bottom:4px !important; } .vs__row > div{ padding:10px 18px; } .vs__row > div:last-child{ padding-bottom:18px; } .vs__sunlo{ border-left:none; } .vs__bad::before{ content:"Default:  "; font-family:var(--font-mono); font-size:9px; letter-spacing:.14em; color:var(--ink-dim);} .vs__sunlo::before{ content:"Sunlo:  "; font-family:var(--font-mono); font-size:9px; letter-spacing:.14em; color:var(--accent-soft);} }

/* proof cases (reuse .case/.kshot from styles.css) */
.case--full .case__body { padding-bottom: 8px; }

/* why us — three reasons */
.reasons { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:30px; }
@media (max-width:900px){ .reasons{ grid-template-columns:1fr; } }
.reason { padding:30px 28px; border:1px solid var(--hairline); border-radius:16px; background:linear-gradient(165deg, rgba(255,122,41,.06), var(--card) 60%); }
.reason .mono { color:var(--accent); font-size:12px; }
.reason h3 { margin:12px 0 10px; font-size:20px; }
.reason p { color:#b9b4aa; font-size:14.5px; line-height:1.6; }

/* calculator (welcome flow) */
.calc { display:grid; grid-template-columns:1.1fr .9fr; gap:22px; }
@media (max-width:900px){ .calc{ grid-template-columns:1fr; } }
.calc__note { color:var(--ink-dim); font-size:12px; margin-top:14px; }

/* who it's for (reuse .forwho__* from styles.css) */

/* CTA form */
.claim { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,60px); align-items:start; }
@media (max-width:900px){ .claim{ grid-template-columns:1fr; } }
.claim__copy h2 { margin-bottom:16px; }
.claim__points { list-style:none; display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.claim__points li { position:relative; padding-left:30px; color:#c9c4ba; font-size:15px; }
.claim__points li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:700; }
.form { padding:clamp(24px,3vw,36px); border:1px solid rgba(255,122,41,.35); border-radius:18px; background:linear-gradient(165deg, rgba(255,122,41,.08), var(--card) 55%); box-shadow:0 0 60px rgba(255,122,41,.10); }
.form__grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form__grid .full { grid-column:1 / -1; }
@media (max-width:560px){ .form__grid{ grid-template-columns:1fr; } }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em; color:var(--ink-dim); text-transform:uppercase; }
.field input, .field select { width:100%; padding:13px 14px; border-radius:10px; border:1px solid var(--hairline); background:rgba(255,255,255,.03); color:var(--ink); font-family:var(--font-body); font-size:14.5px; outline:none; transition:border-color .3s; }
.field input:focus, .field select:focus { border-color:var(--accent); }
.field select option { background:#15120d; }
.form .btn { width:100%; justify-content:center; margin-top:16px; }
.form__micro { margin-top:14px; text-align:center; color:var(--ink-dim); font-size:11px; font-family:var(--font-mono); letter-spacing:.12em; }
.form__ok { display:none; padding:22px; text-align:center; color:var(--ok); font-family:var(--font-head); font-weight:600; }
.form.is-sent form { display:none; } .form.is-sent .form__ok { display:block; }

/* footer */
.foot { max-width:1320px; margin:0 auto; padding:clamp(40px,6vw,80px) clamp(20px,5vw,72px) 40px; border-top:1px solid var(--hairline); }
.foot__grid { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:flex-start; }
.foot__brand { display:flex; align-items:center; gap:12px; }
.foot__links { display:flex; gap:22px; flex-wrap:wrap; }
.foot__links a { color:var(--ink-dim); text-decoration:none; font-size:13px; }
.foot__links a:hover { color:var(--accent-soft); }
.foot__legal { margin-top:26px; color:rgba(143,138,128,.8); font-size:11.5px; line-height:1.6; max-width:900px; }

/* mobile: drop trust-strip separators */
@media (max-width:600px){ .hero__trust .tdot{ display:none; } .hero__trust{ gap:12px 18px; } }

/* ═══════════ review fixes ═══════════ */
/* hero: bring the CTA above the fold; balance the title */
.hero__title { font-size: clamp(40px, 5.4vw, 78px); max-width: 980px; }
.hero__offer { margin-bottom: 16px; }
.hero__trust { max-width: 840px; }
.hero__trust .tdot { display: none; }
.hero__trust .trust + .trust::before { content: "▪"; color: var(--accent); font-size: 9px; margin-right: 18px; }
@media (max-width: 600px) { .eyebrow__more { display: none; } .hero__trust .trust + .trust::before { content: none; } }
/* inline CTAs */
.ctarow { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 28px; }
.ctarow .mono { color: var(--ink-dim); font-size: 10px; }
/* typical-timeline label */
.tl-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; color: var(--ink-dim); margin-bottom: 14px; }
/* locked cards: align LOCKED badges */
.lockcard { display: flex; flex-direction: column; }
.lockcard__trig { margin-bottom: 10px; }
.lockcard__type { margin-top: auto; align-self: flex-start; }
@media (max-width: 600px) { .lockhead .mono { display: block; width: 100%; } }
/* proof: cropped dashboards, mobile stacking */
.kshot img { height: auto; aspect-ratio: 2830 / 490; }
@media (max-width: 600px) { .case__stats { flex-direction: column; gap: 14px; } .case__stats b { white-space: nowrap; font-size: 26px; } }
.case__note { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: var(--ink-dim); margin-top: -4px; }
/* designs: readable captions + touch/keyboard scroll */
.dcard figcaption { padding: 34px 12px 12px; background: linear-gradient(0deg, rgba(8,7,5,.97) 45%, transparent); }
@media (hover: none) { .dcard { overflow-y: auto; -webkit-overflow-scrolling: touch; } .dcard img { transition: none; } .dcard:hover img { transform: none; } }
.dcard:focus-within img { transform: translateY(calc(-100% + clamp(360px, 42vw, 440px))); }
.dcard__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.dcard__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.designs__note { text-align: center; color: var(--ink-dim); margin-top: 26px; font-size: 12px; }
/* reviews pill on mobile; avatar contrast; pause marquee on touch */
@media (max-width: 600px) { .tpilot { width: auto; max-width: calc(100% - 40px); margin: 0 20px 36px; flex-wrap: wrap; justify-content: center; text-align: center; line-height: 1.4; padding: 12px 18px; } }
.tcard__who .tcard__avatar { color: #170b02; font-weight: 700; font-size: 11px; letter-spacing: .04em; }
@media (hover: none) { .words__track { animation-duration: 110s; } }
/* matrix: mobile headers + contrast */
.matrix .n { color: rgba(242,239,233,.5); }
@media (max-width: 860px) { .matrix__row--head > div { font-size: 9px; letter-spacing: .06em; line-height: 1.2; padding: 12px 2px; } }
@media (max-width: 600px) { .matrix__row > div:nth-child(6), .matrix__row--head > div:nth-child(6) { display: none; } .matrix__row { grid-template-columns: 1.6fr repeat(4, .7fr); } }
/* who it's for: align with heading */
.forwho__grid { max-width: none; }
/* claim */
.claim__copy h2 { text-wrap: balance; }
.form__micro { font-size: 10px; letter-spacing: .08em; }
.form__alt { margin-top: 12px; text-align: center; font-size: 13px; color: var(--ink-dim); }
.form__alt a { color: var(--accent-soft); text-decoration: none; }
.form__ok { display: none; padding: 22px; text-align: left; color: var(--ink); font-family: var(--font-body); font-weight: 400; line-height: 1.6; }
.form__ok b { color: var(--ok); font-family: var(--font-head); display: block; margin-bottom: 8px; }
.form__ok a { color: var(--accent-soft); }
.form.is-sent form { display: none; } .form.is-sent .form__ok { display: block; }
/* footer legal contrast */
.foot__legal { color: var(--ink-dim); }
/* focus states */
input[type="range"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.btn:focus-visible, .field input:focus-visible, .field select:focus-visible, .faq__item summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* menu overlay: not reachable when closed */
.menu { visibility: hidden; transition: opacity .45s var(--ease), visibility 0s .45s; }
.menu.is-open { visibility: visible; transition-delay: 0s; }
/* reduced motion */
@media (prefers-reduced-motion: reduce) { .words__track { animation: none !important; } .btn--accent::after { display: none !important; } .hero__title .line { animation: none !important; opacity: 1 !important; transform: none !important; } }
/* welcome-flow report card (proof) */
.report--wf { max-width: 1160px; margin: 0 auto 26px; }
.report__wfgrid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: center; }
.report__wfgrid .case__title { font-size: clamp(24px, 2.6vw, 34px); margin: 8px 0 12px; }
.report__grid--3 { grid-template-columns: repeat(3, 1fr); margin-top: 16px; }
.report__flows .report__h { margin-top: 0; }
@media (max-width: 900px) { .report__wfgrid { grid-template-columns: 1fr; gap: 24px; } .report__grid--3 { grid-template-columns: 1fr 1fr; } }
.faq__item p .mono, .field label .mono { font-size: 9px; letter-spacing: .14em; margin-left: 6px; }

/* hero trust strip: no mid-number wraps; 2-col grid on phones */
.hero__trust .trust b { white-space: nowrap; }
.hero__trust .trust { white-space: nowrap; }
@media (max-width: 600px) {
  .hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
  .hero__trust .trust { display: flex; flex-direction: column; gap: 3px; white-space: normal; }
  .hero__trust .trust .mono { font-size: 9px; }
}

/* phone fold: keep the primary CTA visible on an 844px-tall screen */
@media (max-width: 600px) {
  .hero { padding-top: 104px; }
  .hero__offer { font-size: 9px; padding: 7px 12px; margin-bottom: 12px; }
  .hero__title { font-size: 40px; }
  .hero__sub { font-size: 15px; line-height: 1.5; margin-bottom: 22px; }
  .hero__more { display: none; }
  .hero__cta { gap: 10px; }
}
/* ═══════════ booking gate ═══════════ */
.gate__eyebrow { color: var(--accent-soft); font-size: 10px; letter-spacing: .16em; margin-bottom: 16px; }
.gate__q { font-family: var(--font-head); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.02em; line-height: 1.15; margin-bottom: 12px; }
.gate__q em { font-size: 1.12em; }
.gate__sub { color: #c9c4ba; font-size: 14.5px; line-height: 1.6; margin-bottom: 22px; }
.gate__btns { display: flex; flex-direction: column; gap: 10px; }
.gate__btns .btn { width: 100%; justify-content: center; margin-top: 0; }
.btn--ghost { border: 0; background: none; color: var(--ink-dim); }
.btn--ghost:hover { color: var(--ink); }
.gate__embed { min-height: 640px; border-radius: 12px; overflow: hidden; background: #11100c; }
.gate__embed iframe, .gate__embed .calendly-inline-widget { min-width: 300px; height: 640px; width: 100%; }
.gate__cal .gate__eyebrow, .gate__nope .gate__eyebrow { color: var(--ok); }
/* modal */
.modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }
.modal[hidden], .gate__ask[hidden], .gate__cal[hidden], .gate__nope[hidden] { display: none !important; }
.modal__backdrop { position: absolute; inset: 0; background: rgba(6,5,3,.78); backdrop-filter: blur(10px); opacity: 0; transition: opacity .35s var(--ease); }
.modal__panel { position: relative; width: min(560px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; transform: translateY(14px) scale(.98); opacity: 0; transition: transform .4s var(--ease), opacity .35s var(--ease); }
.modal.is-open .modal__backdrop { opacity: 1; }
.modal.is-open .modal__panel { transform: none; opacity: 1; }
.modal__x { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--hairline); background: rgba(255,255,255,.03); color: var(--ink-dim); font-size: 22px; line-height: 1; cursor: pointer; }
.modal__x:hover { color: var(--ink); border-color: var(--accent); }
.modal .gate__cal { margin-top: 8px; }
.modal .gate__embed, .modal .gate__embed iframe, .modal .gate__embed .calendly-inline-widget { min-height: 560px; height: 560px; }
body.modal-open { overflow: hidden; }
@media (max-width: 600px) { .modal { padding: 10px; align-items: end; } .modal__panel { max-height: calc(100vh - 20px); } .gate__q { font-size: 22px; } }
@media (prefers-reduced-motion: reduce) { .modal__backdrop, .modal__panel { transition: none; } }
.modal__x:focus-visible, .gate__btns .btn:focus-visible { outline: 2px solid var(--accent-soft); outline-offset: 3px; }
.modal__panel:focus { outline: none; }
/* ═══════════ Trustpilot ═══════════ */
.tpstars { display: inline-flex; gap: 3px; vertical-align: middle; }
.tpstars i { width: 22px; height: 22px; background: #00b67a; display: inline-grid; place-items: center; border-radius: 2px; }
.tpstars i::before { content: "★"; color: #fff; font-size: 14px; line-height: 1; font-style: normal; }
.tplogo { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.tplogo i { width: 14px; height: 14px; background: #00b67a; clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
/* band after the hero */
.tpband { padding: 0 clamp(20px, 5vw, 80px) clamp(40px, 6vw, 90px); }
.tpband__inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 340px 1fr; gap: clamp(24px, 3vw, 48px); align-items: center; padding: clamp(24px, 3vw, 40px); border: 1px solid var(--hairline); border-radius: 20px; background: linear-gradient(135deg, rgba(0,182,122,.07), var(--card) 45%); }
.tpband__word { font-family: var(--font-head); font-weight: 800; font-size: 30px; letter-spacing: -.02em; margin-bottom: 10px; }
.tpband__num { margin-top: 12px; color: #c9c4ba; font-size: 14px; }
.tpband__num b { color: var(--ink); }
.tpband__meta { margin-top: 8px; font-size: 9.5px; letter-spacing: .14em; color: var(--ink-dim); }
.tpband__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--accent-soft); text-decoration: none; font-size: 14px; }
.tpband__link:hover { color: var(--accent); }
.tpband__quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tq { border: 1px solid var(--hairline); border-radius: 14px; padding: 20px; background: rgba(255,255,255,.02); }
.tq p { font-size: 15px; line-height: 1.5; color: #d9d4ca; margin-bottom: 14px; }
.tq p b { color: var(--accent-soft); }
.tq footer b { display: block; font-size: 13px; color: var(--ink); }
.tq footer .mono { font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); }
@media (max-width: 1000px) { .tpband__inner { grid-template-columns: 1fr; } .tpband__quotes { grid-template-columns: 1fr; } }
/* reviews section */
.tpstats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 1100px; margin: 0 auto 36px; }
.tpstat { border: 1px solid var(--hairline); border-radius: 14px; padding: 20px 18px; background: var(--card); text-align: left; }
.tpstat b { display: block; font-family: var(--font-head); font-weight: 800; font-size: 34px; letter-spacing: -.03em; color: #00b67a; line-height: 1; }
.tpstat b span { font-size: 16px; color: var(--ink-dim); letter-spacing: 0; }
.tpstat .mono { display: block; margin-top: 10px; font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); line-height: 1.5; }
.tpfeat { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1100px; margin: 0 auto 40px; }
.tpfeat__card { border: 1px solid rgba(0,182,122,.28); border-radius: 18px; padding: 26px; background: linear-gradient(165deg, rgba(0,182,122,.06), var(--card) 55%); text-align: left; display: flex; flex-direction: column; }
.tpfeat__card h3 { font-family: var(--font-head); font-weight: 700; font-size: 19px; letter-spacing: -.02em; line-height: 1.25; margin: 16px 0 12px; }
.tpfeat__card p { color: #c4bfb5; font-size: 14px; line-height: 1.6; flex: 1; }
.tpfeat__card footer { margin-top: 18px; display: flex; flex-direction: column; gap: 3px; }
.tpfeat__card footer b { color: var(--ink); font-size: 13px; }
.tpfeat__card footer .mono { font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); }
.tpfoot { text-align: center; margin-top: 30px; }
.tpfoot a { display: inline-flex; align-items: center; gap: 10px; color: var(--accent-soft); text-decoration: none; font-size: 15px; }
@media (max-width: 900px) { .tpstats { grid-template-columns: 1fr 1fr; } .tpfeat { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .tpstats { grid-template-columns: 1fr 1fr; gap: 10px; } .tpstat { padding: 16px 14px; } .tpstat b { font-size: 28px; } }
/* proof card + gate + claim micro-proof */
.case__tp { font-size: 13.5px; color: #c9c4ba; line-height: 1.5; margin: 0 0 18px; }
.case__tp .tpstars i { width: 14px; height: 14px; } .case__tp .tpstars i::before { font-size: 9px; }
.case__tp .mono { display: block; margin-top: 4px; font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); }
.gate__tp, .claim__tp { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; font-size: 12.5px; color: var(--ink-dim); }
.gate__tp .tpstars i, .claim__tp .tpstars i { width: 14px; height: 14px; } .gate__tp .tpstars i::before, .claim__tp .tpstars i::before { font-size: 9px; }
.gate__tp b, .claim__tp b { color: var(--ink); font-weight: 600; }
.claim__tp { justify-content: flex-start; margin-top: 22px; font-size: 13.5px; }
/* ═══════════ v6: performance hero, neutral stars, videos, unlock grid ═══════════ */
.hero__title { font-size: clamp(36px, 4.8vw, 68px); max-width: 1080px; }
.tpstars i { background: var(--accent); }
.tpstars i::before { color: #170b02; }
.tpband__inner { background: linear-gradient(135deg, rgba(255,122,41,.07), var(--card) 45%); }
.tpfeat__card { border-color: rgba(255,122,41,.28); background: linear-gradient(165deg, rgba(255,122,41,.06), var(--card) 55%); }
.tpstat b { color: var(--accent-soft); }
/* video testimonials */
.videos { padding-top: 0; }
.vgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1240px; margin: 0 auto; }
.vcard { margin: 0; }
.vcard__play { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--hairline); border-radius: 16px; overflow: hidden; background: #000; cursor: pointer; aspect-ratio: 16 / 9; }
.vcard__play img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease), opacity .4s; }
.vcard__play:hover img { transform: scale(1.04); }
.vcard__play::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,7,5,.55), transparent 55%); }
.vcard__btn { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 8px rgba(255,122,41,.18), 0 18px 40px rgba(0,0,0,.5); display: grid; place-items: center; z-index: 2; transition: transform .35s var(--ease); }
.vcard__play:hover .vcard__btn { transform: scale(1.08); }
.vcard__btn i { width: 0; height: 0; border-left: 18px solid #170b02; border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 5px; }
.vcard__dur { position: absolute; right: 12px; bottom: 12px; z-index: 2; font-size: 10px; letter-spacing: .12em; color: var(--ink); background: rgba(8,7,5,.7); padding: 4px 8px; border-radius: 6px; }
.vcard figcaption { margin-top: 12px; display: flex; flex-direction: column; gap: 3px; }
.vcard figcaption b { color: var(--ink); font-size: 15px; }
.vcard figcaption .mono { font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); }
.vcard.is-playing .vcard__play { cursor: default; }
.vcard.is-playing .vcard__play::after, .vcard.is-playing .vcard__btn, .vcard.is-playing .vcard__dur, .vcard.is-playing img { display: none; }
.vcard__play iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vcard__play:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 1000px) { .vgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .vgrid { grid-template-columns: 1fr; } }
/* unlock grid */
.unlockhead { max-width: 760px; margin: 56px 0 24px; }
.unlockhead h3 { font-family: var(--font-head); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.02em; margin-bottom: 10px; }
.unlockhead p { color: var(--ink-dim); font-size: 15px; line-height: 1.6; }
.unlock { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.unlock__item { border: 1px solid var(--hairline); border-radius: 14px; padding: 20px; background: var(--card); }
.unlock__item .mono { display: block; color: var(--accent); font-size: 10px; letter-spacing: .16em; margin-bottom: 10px; }
.unlock__item b { display: block; font-family: var(--font-head); font-weight: 700; font-size: 16px; letter-spacing: -.01em; margin-bottom: 8px; }
.unlock__item p { color: var(--ink-dim); font-size: 13.5px; line-height: 1.55; }
@media (max-width: 900px) { .unlock { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .unlock { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .hero__title { font-size: 31px; } .hero__offer { font-size: 9px; } }
/* ═══════════ v7: SHAFT-framework hero, names strip, gate host/agenda/bands, founders, mobile diet, reader, analytics-safe ═══════════ */
html:not(.js) .reveal { opacity: 1 !important; transform: none !important; }
.hero .reveal { transition-duration: .45s; }
/* hero — centered claim like the SHAFT LP */
.hero--center { text-align: center; }
.hero--center .hero__inner { display: flex; flex-direction: column; align-items: center; max-width: 1120px; }
.hero--center .hero__media { background: radial-gradient(ellipse at top, rgba(255,122,41,.16), transparent 60%), #0b0a08; }
.hero--center video#hero-img { left: 0; right: 0; width: 100%; opacity: .32; filter: saturate(1.05) blur(1px); }
.hero--center .hero__media-fade { background: linear-gradient(180deg, rgba(11,10,8,.15), rgba(11,10,8,.7) 70%, #0b0a08); }
.hero__stamp { position: absolute; top: 34px; left: 50%; transform: translateX(-50%); font-family: var(--font-head); font-weight: 900; font-size: 21vw; line-height: 1; white-space: nowrap; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px rgba(242,239,233,.07); pointer-events: none; user-select: none; }
.hero--center .hero__offer { margin-bottom: 26px; }
.hero--center .hero__title { max-width: 1040px; margin: 0 auto 22px; font-size: clamp(34px, 4.7vw, 66px); line-height: 1.08; letter-spacing: -.03em; }
.hero--center .hero__title .line { overflow: visible; }
.hero--center .hero__sub { max-width: 760px; margin: 0 auto 26px; font-size: 17px; }
.hero--center .hero__sub b { color: var(--ink); font-weight: 600; }
.hero--center .hero__cta { justify-content: center; margin-bottom: 14px; }
.hero__micro { font-size: 10px; letter-spacing: .14em; color: var(--ink-dim); margin-bottom: 8px; }
.hero__disc { font-size: 12.5px; color: rgba(143,138,128,.85); margin-bottom: 26px; }
.hero--center .hero__trust { justify-content: center; margin: 0 auto 28px; max-width: none; }
.hero--center .hero__trust .trust + .trust::before { content: "•"; margin: 0 18px; }
.vcard--hero { width: min(760px, 100%); margin: 0 auto 18px; }
.vcard--hero .vcard__play { border-color: rgba(255,122,41,.35); box-shadow: 0 30px 80px rgba(0,0,0,.55), 0 0 60px rgba(255,122,41,.12); }
.vcard--hero figcaption { align-items: center; text-align: center; }
.hero__see { display: inline-block; font-size: 10px; letter-spacing: .18em; color: var(--ink-dim); text-decoration: none; }
.hero__see:hover { color: var(--accent-soft); }
/* names strip */
.names { padding: 0 0 clamp(36px, 5vw, 64px); overflow: hidden; }
.names__lead { text-align: center; font-size: 13px; color: var(--ink-dim); margin-bottom: 18px; }
.names__lead b { color: var(--ink); font-weight: 700; }
.names__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.names__track { display: flex; gap: 48px; width: max-content; animation: names 46s linear infinite; }
.names__track span { font-family: var(--font-head); font-weight: 800; font-size: 19px; letter-spacing: -.02em; color: rgba(242,239,233,.42); white-space: nowrap; }
.names__track span[aria-hidden] { display: contents; }
.names__track span[aria-hidden] > span { display: inline; }
@keyframes names { to { transform: translateX(-50%); } }
@media (hover: none) { .names__track { animation-duration: 60s; } }
/* gate: host, band buttons, agenda, names, booked */
.gate__fx { color: var(--ink-dim); font-size: 10px; letter-spacing: .14em; margin: -4px 0 12px; }
.gate__host { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 13.5px; color: #c9c4ba; line-height: 1.35; text-align: left; }
.gate__host img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 1px solid var(--hairline); flex: 0 0 40px; }
.gate__host b { color: var(--ink); font-weight: 600; }
.gate__btns .gate__yes + .gate__yes { margin-top: 0; }
.gate__agenda { list-style: none; display: flex; flex-direction: column; gap: 7px; margin: 0 0 14px; font-size: 12.5px; color: #c9c4ba; line-height: 1.5; text-align: left; }
.gate__agenda b { color: var(--accent); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; margin-right: 8px; }
.gate__alt { margin: 0 0 12px; text-align: left; }
.gate__names { margin-top: 10px; font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); text-align: center; line-height: 1.6; }
.gate__done[hidden] { display: none !important; }
.gate__done .gate__eyebrow { color: var(--ok); }
/* modal sizing: dynamic viewport, phone = full-height sheet, calendar sized to the room */
.modal__panel { max-height: calc(100dvh - 40px); overscroll-behavior: contain; }
.modal .gate__embed, .modal .gate__embed iframe, .modal .gate__embed .calendly-inline-widget { height: min(600px, calc(100dvh - 300px)); min-height: 420px; }
.gate__embed iframe { display: block; width: 100%; border: 0; }
@media (max-width: 600px) {
  .modal { padding: 0; align-items: stretch; }
  .modal__panel { width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
  .modal .gate__embed, .modal .gate__embed iframe, .modal .gate__embed .calendly-inline-widget { height: calc(100dvh - 190px); min-height: 0; }
  .modal__x { position: sticky; top: 8px; float: right; }
  .gate__agenda { display: none; }
}
body.modal-lock { position: fixed; width: 100%; overflow: hidden; }
/* claim copy */
.claim__agenda { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 18px 0 6px; font-size: 14px; color: #c9c4ba; line-height: 1.5; }
.claim__agenda b { color: var(--accent); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; margin-right: 10px; }
.claim__names { margin-top: 12px; font-size: 9px; letter-spacing: .14em; color: var(--ink-dim); line-height: 1.7; }
.claim__sign { margin-top: 16px; font-family: var(--font-serif); font-style: italic; font-size: 22px; color: var(--accent-soft); }
/* founders */
.founders { display: flex; flex-wrap: wrap; gap: 18px 26px; margin: 4px 0 14px; }
.founders figure { display: flex; align-items: center; gap: 10px; margin: 0; }
.founders img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 1px solid var(--hairline); }
.founders figcaption b { display: block; color: var(--ink); font-size: 14px; }
.founders figcaption span { font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; color: var(--ink-dim); }
/* matrix "varies" */
.matrix .m { color: rgba(242,239,233,.45); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
/* unlock grid collapsible on phones only */
.unlock-more summary { display: none; list-style: none; cursor: pointer; }
.unlock-more summary::-webkit-details-marker { display: none; }
/* video hook lines */
.vcard figcaption q { display: block; font-size: 13px; color: #c9c4ba; margin-top: 4px; line-height: 1.4; }
.vcard figcaption q::before { content: "“"; } .vcard figcaption q::after { content: "”"; }
/* design reader */
.dreader { position: fixed; inset: 0; z-index: 300; background: rgba(6,5,3,.94); overflow-y: auto; padding: 64px 16px 40px; -webkit-overflow-scrolling: touch; }
.dreader[hidden] { display: none !important; }
.dreader img { display: block; width: min(640px, 100%); margin: 0 auto; border-radius: 12px; }
.dreader__x { position: fixed; top: 14px; right: 14px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--hairline); background: rgba(17,16,12,.9); color: var(--ink); font-size: 24px; line-height: 1; cursor: pointer; }
.dreader__cap { position: fixed; top: 22px; left: 16px; z-index: 2; font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; color: var(--ink-dim); }
.dcard { cursor: zoom-in; }
@media (hover: none) { .dcard { overflow-y: hidden; } }
/* dashboards on phones: swipeable strip */
@media (max-width: 600px) {
  .kshot { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-left: 20px; padding-right: 20px; }
  .kshot img { min-width: 1400px; aspect-ratio: 2830 / 490; }
  .kshot figcaption::before { content: "◂ SWIPE ▸  "; color: var(--accent); }
}
/* ── mobile diet ── */
@media (max-width: 600px) {
  section { padding-top: 56px; padding-bottom: 56px; }
  .hero { padding-top: 96px; }
  .hero--center .hero__title { font-size: 31px; }
  .hero--center .hero__sub { font-size: 15px; margin-bottom: 18px; }
  .hero--center .hero__cta { margin-bottom: 10px; }
  .hero__cta .btn--outline { border: 0; background: none; padding: 6px 0; }
  .hero__disc { margin-bottom: 18px; }
  .hero--center .hero__trust { margin-bottom: 20px; }
  .hero--center .hero__trust .trust + .trust::before { content: none; }
  .hero__offer .eyebrow__more { display: none; }
  .hero__stamp { font-size: 30vw; top: 70px; }
  .names__track span { font-size: 16px; } .names__track { gap: 30px; }
  .vgrid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .vcard__btn { width: 40px; height: 40px; margin: -20px 0 0 -20px; box-shadow: 0 0 0 5px rgba(255,122,41,.18), 0 12px 30px rgba(0,0,0,.5); }
  .vcard__btn i { border-left-width: 12px; border-top-width: 7px; border-bottom-width: 7px; margin-left: 3px; }
  .vcard figcaption b { font-size: 13px; } .vcard figcaption q { font-size: 12px; } .vcard figcaption .mono { font-size: 9px; }
  .tpband__quotes { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 -8px; padding: 0 8px 8px; -webkit-overflow-scrolling: touch; }
  .tq { flex: 0 0 82vw; scroll-snap-align: start; }
  .unlock-more summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border: 1px solid var(--hairline); border-radius: 12px; font-size: 10px; letter-spacing: .14em; color: var(--accent-soft); }
  .unlock-more summary span { font-size: 18px; line-height: 1; }
  .unlock-more[open] summary span { transform: rotate(45deg); }
  .unlock-more[open] summary { margin-bottom: 14px; }
  .levers { gap: 10px; }
  .lever { display: grid; grid-template-columns: 36px 1fr; gap: 4px 12px; padding: 16px; }
  .lever i { width: 32px; height: 32px; grid-row: 1 / span 2; }
  .lever h3 { font-size: 16px; margin-bottom: 4px; } .lever p { font-size: 13.5px; }
  .dgallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 10px; -webkit-overflow-scrolling: touch; }
  .dcard { flex: 0 0 240px; height: 420px; overflow: hidden; scroll-snap-align: start; }
  .dcard img { transform: none !important; transition: none; }
  .designs__note { display: none; }
  /* type floor */
  .hero__trust .trust .mono, .tq footer .mono, .tpfeat__card footer .mono, .tpstat .mono, .vcard figcaption .mono, .case__tp .mono, .kshot figcaption, .step__tag, .wcard__trig, .lockcard__trig, .lockcard__type, .ctarow .mono, .form__micro, .gate__eyebrow, .tpband__meta, .vs__bad::before, .vs__sunlo::before, .dcard figcaption, .gate__names, .claim__names, .hero__micro, .case__note, .report__stat span { font-size: 11px; letter-spacing: .1em; }
}
/* v7 polish */
.hero--center .hero__trust { gap: 12px 24px; }
.hero--center .hero__trust .trust + .trust::before { margin: 0 10px; }
.hero--center .hero__trust .trust .mono { font-size: 10px; }
@media (max-width: 600px) { .modal .gate__cal .gate__eyebrow, .modal .gate__ask .gate__eyebrow { padding-right: 48px; } }
/* v8: SHAFT-style hero background (no video) + footer */
.hero--center .hero__media { background: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(255,122,41,.18), transparent 62%), radial-gradient(ellipse 60% 40% at 50% 100%, rgba(255,122,41,.06), transparent 70%), #0b0a08; }
.hero--center .hero__media::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(242,239,233,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(242,239,233,.035) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 30%, #000, transparent 75%); mask-image: radial-gradient(ellipse 60% 55% at 50% 30%, #000, transparent 75%); pointer-events: none; }
.hero__stamp { z-index: 1; }
.hero--center .hero__see { margin-top: 8px; }
.foot--shaft { text-align: center; }
.foot--shaft .foot__row { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-bottom: 22px; }
.foot__logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.foot--shaft .foot__links { display: flex; gap: 26px; justify-content: center; }
.foot--shaft .foot__links a { color: var(--ink-dim); text-decoration: none; font-size: 13px; }
.foot--shaft .foot__links a:hover { color: var(--accent-soft); }
.foot--shaft .foot__legal { max-width: 720px; margin: 0 auto 12px; font-size: 12px; line-height: 1.6; color: var(--ink-dim); }
.foot__copy { font-size: 10px; letter-spacing: .14em; color: rgba(143,138,128,.7); }
/* v9: three video testimonials */
.vgrid { grid-template-columns: repeat(3, 1fr); max-width: 1100px; }
@media (max-width: 1000px) { .vgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .vgrid { grid-template-columns: 1fr 1fr; } }
