/* Shared design system for soulfork.pt — loaded last on every page so it overrides per-page inline CSS. */
:root{
  --bg:#ececea; --surface:#f6f6f4; --ink:#141414; --ink-soft:#4a4a48; --ink-faint:#5f5f5c;
  --brand:#2f5fe0; --electric:#2f5fe0; --cyan:#2f5fe0; --violet:#2f5fe0; --violet-soft:#2f5fe0; --lime:#2f5fe0;
  --line:rgba(0,0,0,.08); --line-2:rgba(0,0,0,.16);
  --display:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --card-shadow:0 12px 32px -12px rgba(0,0,0,.14);
}
h1,h2,h3{font-family:var(--display);font-weight:800}
.hi-blue,h1 .g,h2 .g{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:var(--brand)!important}

/* labels: one style instead of system monospace */
.kicker,.eyebrow,.payoff-tag,.foot-col h4,.copy,.compliance,.lf-or,.testi-sub,.pbadge,.plan .price small,.feat-n,.frow-n,.ask-list span{
  font-family:var(--sans,"Manrope",sans-serif);font-weight:600;letter-spacing:.12em}
.copy{letter-spacing:0;font-weight:500;text-transform:none}

/* buttons: one blue action, secondary is ink outline */
.btn{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:none}
.btn:hover{box-shadow:none;filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink);filter:none}
.plan .btn{background:transparent;color:var(--ink);border-color:var(--ink)}
.plan .btn:hover{background:var(--ink);color:#fff}
.plan.feat .btn{background:var(--brand);border-color:var(--brand);color:#fff}

/* cards: one surface, no glow */
.plan,.testi,.faq-list details,.service-card,.service-detail,.tier,.step,.card{background:var(--surface);border:1px solid var(--line);box-shadow:none;backdrop-filter:none}
.plan{--pc:var(--brand);--pcbg:rgba(47,95,224,.08);--pcbd:var(--line-2)}
.plan:hover,.testi:hover{box-shadow:var(--card-shadow)}
.plan.feat{border:1.5px solid var(--brand);box-shadow:none}
.plans-base{border:1px solid var(--line);border-style:solid;background:var(--surface)}
.service-list li::before{box-shadow:none}

/* closing block: soft blue glow on white, one blue action (owner preference) */
.cta-final,.cs-final,.sv-final,.cta-box{
  background:radial-gradient(70% 90% at 50% 0%,rgba(47,95,224,.30),rgba(47,95,224,.10) 45%,transparent 75%),linear-gradient(180deg,#e8ecfb,#fbfbfd)!important;
  border:1px solid rgba(47,95,224,.14)!important;box-shadow:none!important;color:var(--ink);text-align:center}
.cta-final h2,.cs-final h2,.sv-final h2,.cta-box b{color:var(--ink);margin-left:auto;margin-right:auto}
.cta-final .lead,.cs-final p,.sv-final p,.cta-box p{color:var(--ink-soft)!important;margin-left:auto;margin-right:auto}
.cta-final .kicker{color:var(--brand)!important}
.cta-final .btn,.cs-final .btn,.sv-final .btn,.cta-box .btn{background:var(--brand);color:#fff;border-color:var(--brand)}
.cta-final .btn.ghost,.cs-final .btn.ghost,.sv-final .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.cta-final .btn.ghost:hover,.cs-final .btn.ghost:hover,.sv-final .btn.ghost:hover{background:var(--ink);color:#fff}

/* hero of inner pages: size to content, no full-screen void */
.journey{min-height:0!important;height:auto!important}
.jstage{min-height:0!important;height:auto!important;padding:clamp(120px,16vh,170px) 0 clamp(56px,8vh,90px)}
.jstage .payoff{position:relative;inset:auto;background:none;padding-bottom:0}
.jstage .payoff h1{padding-top:0}

/* mobile menu: burger stays above the panel so it can close it */
body.menu-open .nav{z-index:70;background:transparent;border-color:transparent;backdrop-filter:none}
body.menu-open .nav .brand{visibility:hidden}
.mnav{background:var(--bg)}
.mnav a.btn{color:#fff}

/* legibility */
#morph .x{color:var(--ink)}
.gstars i{color:#b46d00}
footer .foot-col a{padding:6px 0}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
