/* ═══════════ SHAFT branding layer (shaft.sunloconsulting.com) — loaded last, overrides styles.css + trial.css ═══════════ */
:root{--bg:#000;--card:#0a0a0a;--ink:#fff;--ink-dim:rgba(255,255,255,.72);--accent:#ff7900;--accent-soft:#ff7900;--hairline:rgba(255,255,255,.1);--ok:#ff7900;
  --font-head:"Space Grotesk","Space Grotesk Fallback",Arial,sans-serif;--font-serif:"Space Grotesk",Arial,sans-serif;--font-mono:"Space Grotesk",Arial,sans-serif;--font-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
body{background:#000;color:#fff;font-family:var(--font-body)}
body::before,.grain,.cursor-glow{display:none!important}
h1,h2,h3{font-family:var(--font-head);font-weight:700;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
h2{font-size:clamp(28px,4.2vw,44px);margin-bottom:40px}
em.serif,.serif{font-family:var(--font-head)!important;font-style:normal!important;font-weight:700}
em.serif.accent,.hero__title em.serif{color:var(--accent)}
em.u::after{display:none}
h2 em.serif.accent{filter:none}
.mono{font-family:var(--font-head);font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{color:var(--accent);font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.25em;text-transform:uppercase;justify-content:center}
.eyebrow__line{display:none}
.section-head{max-width:48rem;margin:0 auto clamp(34px,4vw,54px);text-align:center}
.section-head h2{margin-bottom:16px}
.section-head .section-sub,.section-sub{margin-left:auto;margin-right:auto}
section>.eyebrow,section>h2{text-align:center;display:flex;justify-content:center}
section>h2{display:block;margin-left:auto;margin-right:auto;max-width:48rem}
/* buttons → pills */
.btn{font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:.025em;text-transform:uppercase;border-radius:999px;padding:12px 24px;min-height:44px;justify-content:center;gap:0;transition:background .15s,border-color .15s,color .15s;box-shadow:none}
.btn--accent{background:var(--accent);color:#000;box-shadow:none}
.btn--accent:hover{background:#ff6f27;transform:none;box-shadow:none}
.btn--accent::after{display:none!important}
.btn--outline{background:transparent;border:1px solid var(--hairline);color:#fff}
.btn--outline:hover{border-color:var(--accent);color:var(--accent)}
.btn--big{padding:16px 32px;font-size:16px;border-radius:999px}
.btn--nav{padding:12px 24px;font-size:14px}
.btn--sm{padding:12px 24px;font-size:14px}
.btn .arr,.btn .sq{display:none}
/* announcement bar + sticky header */
.announce{border-bottom:1px solid var(--hairline);background:#000}
.announce__in{max-width:72rem;margin:0 auto;padding:8px 20px;min-height:40px;display:flex;align-items:center;justify-content:center;gap:10px}
.announce p{color:var(--ink-dim);font-size:11px;line-height:1.4;text-align:center;text-wrap:balance;margin:0}
@media(min-width:640px){.announce p{font-size:12px}.announce__in{padding:8px 32px}}
.ping{position:relative;display:inline-flex;width:6px;height:6px;flex:none}
.ping::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);opacity:.75;animation:tping 1s cubic-bezier(0,0,.2,1) infinite}
.ping::after{content:"";position:relative;display:block;width:6px;height:6px;border-radius:50%;background:var(--accent)}
@keyframes tping{75%,100%{transform:scale(2);opacity:0}}
.hdr{position:sticky;top:0;z-index:200;border-bottom:1px solid var(--hairline);background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr__in{max-width:72rem;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between}
@media(min-width:640px){.hdr__in{padding:0 32px}}
.logo{display:inline-flex;min-height:44px;align-items:center}.logo img{height:28px;width:auto;display:block}
/* hero */
.hero{min-height:auto;padding:56px 0 64px}
@media(min-width:640px){.hero{padding:80px 0}}
.hero__media{background:radial-gradient(ellipse at top,rgba(255,121,0,.12),transparent 60%),#000}
.hero__stamp{font-family:var(--font-head);font-weight:700;letter-spacing:-.025em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);opacity:1}
.hero__offer{border:1px solid var(--hairline);background:rgba(255,255,255,.04);color:var(--accent);font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px;gap:8px;box-shadow:none}
.hero__offer i{position:relative;width:6px;height:6px;background:var(--accent);box-shadow:none}
.hero__offer i::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);opacity:.75;animation:tping 1s cubic-bezier(0,0,.2,1) infinite}
.hero__title{font-size:clamp(32px,5.4vw,60px);font-weight:700;max-width:56rem;margin-bottom:24px}
.hero__title .line{animation:none;overflow:visible}
.hero__sub{color:var(--ink-dim);font-size:18px;max-width:42rem}
.hero__sub b{color:#fff}
.hero__cta{margin-bottom:28px;justify-content:center}
.hero__micro{color:var(--ink-dim)}
.hero__disc{color:rgba(255,255,255,.55);font-size:12px}
.hero__trust .trust b{color:#fff;font-family:var(--font-head)}
.hero__trust .trust+.trust::before{content:"•";color:var(--ink-dim)}
.hero__see{color:rgba(255,255,255,.55)}.hero__see:hover{color:var(--accent)}
/* green → orange */
.wcard__free,.wcard__n{color:var(--accent);border-color:rgba(255,121,0,.4);background:rgba(255,121,0,.07)}
.tpstat b{color:var(--accent)}
.tpfeat__card{border-color:rgba(255,121,0,.3);background:linear-gradient(165deg,rgba(255,121,0,.06),var(--card) 55%)}
/* 5/5 stars: plain orange ★ glyphs, no boxes (SHAFT style) */
.tpstars{gap:2px}
.tpstars i{background:none!important;border-radius:0;width:18px!important;height:18px!important;display:inline-grid;place-items:center}
.tpstars i::before{content:"★";color:var(--accent)!important;font-size:18px!important;line-height:1}
.gate__tp .tpstars i,.claim__tp .tpstars i,.case__tp .tpstars i{width:14px!important;height:14px!important}
.gate__tp .tpstars i::before,.claim__tp .tpstars i::before,.case__tp .tpstars i::before{font-size:14px!important}
.gate__cal .gate__eyebrow,.gate__nope .gate__eyebrow{color:var(--accent)}
/* cards: SHAFT surfaces */
.stat,.step,.lever,.reason,.wcard,.tq,.tpstat,.panel,.case,.faq__item,.forwho__col,.form,.tpband__inner,.lockcard{border-color:var(--hairline)}
.form,.modal__panel{background:linear-gradient(165deg,rgba(255,121,0,.07),var(--card) 55%);border-color:rgba(255,121,0,.45);box-shadow:0 0 80px -20px rgba(255,121,0,.35)}
.modal__backdrop{background:rgba(0,0,0,.8)}
/* sticky CTA → SHAFT bottom bar */
.stickycta{left:0;right:0;bottom:0;transform:translateY(100%);border-radius:0;border:0;border-top:1px solid var(--hairline);background:rgba(0,0,0,.9);backdrop-filter:blur(12px);box-shadow:none;padding:8px 32px calc(8px + env(safe-area-inset-bottom));justify-content:flex-end;max-width:none;transition:transform .3s}
.stickycta.is-shown{transform:none}
.stickycta__txt{display:none}
@media(max-width:640px){.stickycta{left:0;right:0;padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.stickycta .btn{width:100%}}
/* footer */
.foot{border-top:1px solid var(--hairline)}
.foot__brand .nav__sun,.foot__brand .nav__brand{display:none}
.foot__brand img{height:24px;width:auto}
.foot__links a:hover{color:var(--accent)}
/* misc */
::selection{background:var(--accent);color:#000}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.ping::before,.hero__offer i::before{animation:none}}
@media(max-width:640px){.hero__cta .btn--outline{border:1px solid var(--hairline);background:transparent;padding:12px 24px}.hero__cta{gap:10px}}

/* client-logo carousel (replaces the name marquee) — SHAFT logo strip: h-10, grayscale/70% → colour on hover */
.logos__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.logos__track { display: flex; align-items: center; gap: 56px; width: max-content; animation: names 60s linear infinite; padding: 6px 0; }
.logos__track img { height: 40px; width: auto; max-width: 180px; object-fit: contain; opacity: .7; filter: grayscale(1); transition: opacity .2s, filter .2s; }
.logos__track img:hover { opacity: 1; filter: none; }
@keyframes names { to { transform: translateX(-50%); } }
@media (hover: none) { .logos__track { animation-duration: 80s; } }
@media (max-width: 600px) { .logos__track { gap: 36px; } .logos__track img { height: 30px; max-width: 130px; } }
@media (prefers-reduced-motion: reduce) { .logos__track { animation: none; } }
/* fixes: stars as plain orange glyphs (no boxes); breathing room around the logo strip lead */
.tpstars { gap: 2px; }
.tpstars i { width: auto; height: auto; background: none !important; border-radius: 0; display: inline-block; }
.tpstars i::before { color: var(--accent); font-size: 18px; line-height: 1; }
.tpband__score .tpstars i::before { font-size: 24px; }
.case__tp .tpstars i::before, .gate__tp .tpstars i::before, .claim__tp .tpstars i::before { font-size: 14px; }
.tpfeat__card .tpstars i::before { font-size: 16px; }
.logos { padding: clamp(40px, 5vw, 64px) 0 clamp(44px, 5vw, 72px); }
.names__lead { margin-bottom: 26px; line-height: 1.6; font-size: 14px; }
.names__lead span, .names__lead b { display: block; }
.names__lead span { color: var(--ink-faint); } .names__lead b { color: #fff; }

/* stars are plain text glyphs now — no boxes, ever */
.tpstars { display: inline-block; color: var(--accent) !important; background: none !important; font-family: "Inter", system-ui, sans-serif; font-size: 18px; letter-spacing: 2px; line-height: 1; vertical-align: middle; }
.tpband__score .tpstars { font-size: 26px; letter-spacing: 3px; margin: 2px 0 10px; }
.tpfeat__card .tpstars { font-size: 16px; }
.case__tp .tpstars, .gate__tp .tpstars, .claim__tp .tpstars { font-size: 14px; letter-spacing: 1px; }
/* mobile fixes: trust tiles, logo-strip lead, swipe hint, stacked dashboards */
.names__lead span { display: block; font-family: var(--font-head); font-size: 11px; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; color: var(--accent); }
.names__lead b { display: block; margin-top: 8px; font-family: var(--font-head); font-size: clamp(20px, 2.4vw, 28px); font-weight: 700; letter-spacing: -.02em; color: #fff; }
.names__lead { margin-bottom: 30px; }
.tpband__swipe { display: none; }
@media (max-width: 600px) {
  .hero--center .hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; text-align: left; border-top: 0; padding-top: 0; margin: 4px auto 18px; }
  .hero--center .hero__trust .trust { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 14px 14px 12px; border: 1px solid var(--hairline); border-radius: 12px; background: var(--surface); white-space: normal; }
  .hero--center .hero__trust .trust b { font-size: 22px; line-height: 1; }
  .hero--center .hero__trust .trust .mono { font-size: 9px; letter-spacing: .14em; line-height: 1.45; text-align: left; color: var(--ink-faint); }
  .hero--center .hero__trust .trust + .trust::before { content: none; }
  .names { padding-top: 36px; }
  .names__lead b { font-size: 22px; }
  .tpband__swipe { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 18px 0 12px; font-size: 10px; letter-spacing: .2em; color: var(--accent); }
  .tpband__swipe span { display: inline-block; animation: nudge 1.4s ease-in-out infinite; }
  @keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
  .tpband__quotes { scroll-padding-left: 8px; }
  .tq { flex: 0 0 76vw; }
  .tpband__link { margin-top: 12px; }
  .kshot { overflow: visible; padding: 0 16px 20px; }
  .kshot img { min-width: 0; width: 100%; height: auto; aspect-ratio: auto; }
  .kshot figcaption::before { content: none; }
}

@media (max-width: 600px) {
  .tpband__quotes { margin: 0 -22px 0 -8px; padding: 0 22px 8px 8px; -webkit-mask-image: linear-gradient(90deg, #000 84%, transparent); mask-image: linear-gradient(90deg, #000 84%, transparent); }
  .tq { flex: 0 0 66vw; }
}

/* founder video reviews (click-to-load Wistia) */
.videos{display:grid;grid-template-columns:1fr;gap:16px;max-width:1100px;margin:0 auto 36px}
@media(min-width:760px){.videos{grid-template-columns:repeat(3,1fr)}}
.vcard{margin:0}
.vcard__play{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--hairline);background:#0a0a0a;padding:0;cursor:pointer}
.vcard__play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:transform .5s,opacity .3s}
.vcard__play:hover img{transform:scale(1.03);opacity:1}
.vcard__btn{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--accent);box-shadow:0 0 40px rgba(255,121,0,.55)}
.vcard__btn::after{content:"";position:absolute;left:23px;top:18px;border-left:18px solid #000;border-top:11px solid transparent;border-bottom:11px solid transparent}
.vcard__dur{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:.06em;border-radius:999px;padding:3px 9px}
.vcard iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcard figcaption{margin-top:10px;text-align:center}
.vcard figcaption b{display:block;font-family:var(--font-head);font-size:14px;color:#fff}
.vcard figcaption span{display:block;color:rgba(255,255,255,.55);font-size:12px;margin-top:2px}
.swipe-hint{display:none}
@media(max-width:640px){
  .videos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 6px;margin:0 -20px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .videos::-webkit-scrollbar{display:none}
  .vcard{flex:0 0 84%;scroll-snap-align:center}
  .swipe-hint{display:block;text-align:center;color:rgba(255,255,255,.55);font-family:var(--font-head);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 28px}
}
