/* =====================================================================
   TLSM CLEAN PASS (patterns studied from a clean SaaS site; no copy, assets or brand colors borrowed)
   Visual/UX only: type leading, readable body size, one eyebrow style, hairline cards,
   consistent buttons, calmer nav, even card rhythm on inner pages, snappier reveal.
   Palette unchanged (navy / cream / teal). Copy, H1s, schema, URLs untouched.
   No hover lift (1.1.87 rule kept). Cursor ring stays 28px. Loaded last; never on private offers.
   ===================================================================== */

/* ---------- 1. Display headings: tighter, calmer leading (TLSM Display renders at 74%, Head at 94%) ---------- */
body.tlsm-rs main :is(h1,h2):where([class]),
body.tlsm-rs main :is(h1,h2){text-wrap:balance}
body.tlsm-rs main .hero-askmaps-h1,
body.tlsm-rs main h1.hero-h1{line-height:.9 !important;letter-spacing:-0.018em !important}
body.tlsm-rs main h2.h2{line-height:.9 !important;letter-spacing:-0.012em !important}
body.tlsm-rs main :is(.tlsm-lp-hero,.page-hero,.wwh-hero) h1{line-height:1.06 !important;letter-spacing:-0.018em !important}
body.tlsm-rs main .tlsm-lp-card h2,
body.tlsm-rs main .tlsm-lp-stage h2{line-height:1.12 !important;letter-spacing:-0.015em !important}
body.tlsm-rs main h3{letter-spacing:-0.005em !important}

/* ---------- 2. Readable body copy: nothing important under 15px, roomier leading ---------- */
body.tlsm-rs main :is(.svc-desc,.how199-card p,.bridge-list li,.tlsm-lp-step p,.tlsm-lp-step,.proof-q,.tlsm-fo198-item p,.grt-card p,.pm-card p,.blog-card-excerpt,.post-card-excerpt,.wc p){
  font-size:max(15px,0.95rem) !important;line-height:1.65 !important}
body.tlsm-rs main :is(.deck,.tlsm-lp-deck,.how199-lead,.pm-deck,.cta-deck,.ilm-deck,.flare-stats-deck){line-height:1.7 !important}
body.tlsm-rs main :is(.tlsm-lp-card--cream,.tlsm-band--cream) p{line-height:1.65}

/* ---------- 3. One eyebrow style: small caps label with a short leading rule ---------- */
body.tlsm-rs main :is(.tlsm-kicker,.tlsm-lp-eyebrow){
  display:inline-flex !important;align-items:center;gap:12px;font-size:12px !important;font-weight:800 !important;letter-spacing:.16em !important;line-height:1.5 !important}
body.tlsm-rs main :is(.tlsm-kicker,.tlsm-lp-eyebrow)::before{content:"";flex:0 0 24px;width:24px;height:2px;border-radius:2px;background:currentColor;opacity:.75}
body.tlsm-rs main .eyebrow{font-size:12px !important;letter-spacing:.16em !important}

/* ---------- 4. Cards: hairline borders, soft shadows, no hard offset "stacked paper" shadows ---------- */
body.tlsm-rs main :is(.tlsm-lp-card,.tlsm-lp-card--layer,.tlsm-lp-card--navy.tlsm-lp-card--layer,.tlsm-cu-card--layer,.tlsm-wwh-card--layer){
  box-shadow:0 1px 2px rgba(6,9,15,.06),0 16px 40px rgba(6,9,15,.10) !important}
body.tlsm-rs main .tlsm-lp-card--cream{border-color:rgba(14,50,71,.10) !important}
body.tlsm-rs main .tlsm-cu-photo{box-shadow:0 16px 40px rgba(6,9,15,.18) !important}
/* dark cards: flat with a hairline edge instead of a heavy drop shadow */
body.tlsm-rs main :is(.how199-card,.pm-card,.grt-card,.hybrid-card,.home-face-card){
  box-shadow:none !important;border:1px solid rgba(237,228,211,.14) !important}
body.tlsm-rs main :is(.svc-card,.blog-card,.post-card,.wc,.proof-card){
  box-shadow:0 1px 2px rgba(14,50,71,.05),0 8px 24px rgba(14,50,71,.06) !important;border:1px solid rgba(14,50,71,.10) !important}
@media (hover:hover){
  body.tlsm-rs main :is(.how199-card,.pm-card,.grt-card,.hybrid-card,.home-face-card):hover{border-color:rgba(61,191,174,.5) !important}
  body.tlsm-rs main :is(.svc-card,.blog-card,.post-card,.wc,.proof-card):hover{border-color:rgba(23,102,92,.38) !important;box-shadow:0 1px 2px rgba(14,50,71,.06),0 14px 34px rgba(14,50,71,.10) !important}
}
body.tlsm-rs main :is(.how199-card,.pm-card,.grt-card,.hybrid-card,.home-face-card,.svc-card,.blog-card,.post-card,.wc,.proof-card){
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease !important}

/* ---------- 5. Inner-page rhythm: roomier card padding and even gaps between stacked cards ---------- */
@media (min-width:768px){
  body.tlsm-rs main .tlsm-lp-stage > .tlsm-lp-card,
  body.tlsm-rs main .tlsm-lp-stage .tlsm-lp-card:is(section){padding:clamp(40px,4.2vw,60px) clamp(32px,4.2vw,60px) !important}
}
body.tlsm-rs main .tlsm-lp-card:is(section){margin-bottom:clamp(20px,3vw,36px) !important}
body.tlsm-rs main .tlsm-lp-card :is(h2) + p{margin-top:.6em}

/* ---------- 6. Nav: quieter, higher-contrast links ---------- */
@media (min-width:1025px){
  body.tlsm-rs .nav .nav-links > li > a:not(.nav-cta):not(.nav-phone){color:rgba(237,228,211,.86) !important;font-size:14.5px !important;font-weight:600 !important}
  body.tlsm-rs .nav .nav-links > li > a:not(.nav-cta):not(.nav-phone):hover,
  body.tlsm-rs .nav .nav-links > li > a:not(.nav-cta):not(.nav-phone)[aria-current]{color:#EDE4D3 !important;background:rgba(237,228,211,.07) !important}
}
body.tlsm-rs .nav{border-bottom:1px solid rgba(237,228,211,.08) !important;box-shadow:none !important}

/* ---------- 7. Buttons: one size, readable label, clear focus ring ---------- */
body.tlsm-rs main :is(.btn,.btn-teal,.btn-line,.btn-ink,.btn-ghost-navy,.tlsm-cro-btn,.tlsm-cu-btn){
  text-transform:none !important;letter-spacing:.005em !important;font-weight:800 !important}
body.tlsm-rs main :is(.hero-askmaps-ctas,.tlsm-lp-hero,.page-hero) :is(.btn,.btn-teal,.btn-line,a[class*="btn"]){font-size:15px !important;min-height:52px}
body.tlsm-rs main .btn-ghost-navy{font-size:14px !important}
body.tlsm-rs :is(a,button,[role=button],input,select,textarea,summary):focus-visible{outline:2px solid #3DBFAE !important;outline-offset:3px !important}

/* ---------- 8. Motion: shorter, subtler reveals ---------- */
body.tlsm-rs .rv{transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1) !important}
body.tlsm-rs .rv.in{transform:none}
body.tlsm-rs .rv-d1{transition-delay:.05s !important}
body.tlsm-rs .rv-d2{transition-delay:.1s !important}
body.tlsm-rs .rv-d3{transition-delay:.15s !important}
body.tlsm-rs .rv-d4{transition-delay:.2s !important}
body.tlsm-rs .rv-d5,body.tlsm-rs .rv-d6{transition-delay:.25s !important}
@media (prefers-reduced-motion:reduce){body.tlsm-rs .rv{opacity:1 !important;transform:none !important;transition:none !important}}

/* keep: custom cursor ring 28px */
body.tlsm-rs :is(.orb-cursor,.orb-cursor.hot,.orb-cursor.pull){width:28px !important;height:28px !important}
