:root{
  --solvein-porcelain:#f8faf9;
  --solvein-mist:#e7f0ee;
  --solvein-surface:#fcfdfc;
  --solvein-ink:#24363a;
  --solvein-deep:#163c46;
  --solvein-teal:#247985;
  --solvein-muted:#65777a;
  --solvein-line:#cad8d5;
  --solvein-accent:#b45b4f;
  --solvein-radius:16px;
  --solvein-page:linear-gradient(180deg,#f8faf9 0%,#eef4f2 55%,#e7f0ee 100%);
  --display:"Fraunces",Georgia,serif;
  --ui:"Hanken Grotesk",system-ui,sans-serif;
  --mono:"IBM Plex Mono",monospace;
  --ink:var(--solvein-deep);
  --sea:var(--solvein-teal);
  --paper:var(--solvein-porcelain);
  --panel:var(--solvein-surface);
  --muted:var(--solvein-muted);
  --line:var(--solvein-line);
  --hair:var(--solvein-line);
  --blue:var(--solvein-teal);
  --clay:var(--solvein-accent);
  --radius:var(--solvein-radius);
  --shadow:none;
  --solvein-gutter:clamp(20px,4vw,64px);
  --solvein-section-space:clamp(48px,4.5vw,64px);
  --solvein-section-space-compact:clamp(40px,4vw,52px);
  --solvein-content-gap:clamp(28px,3vw,36px);
  --solvein-card-pad:clamp(20px,2vw,28px);
  --solvein-inset-pad:clamp(18px,1.5vw,22px);
  --solvein-panel-pad:clamp(22px,3vw,36px);
  --solvein-footer-space:clamp(36px,4vw,52px);
  --pad:var(--solvein-gutter);
}

html{min-height:100%;background:var(--solvein-mist)}
body{min-height:100vh;font-family:var(--ui)!important;color:var(--solvein-ink);background-color:var(--solvein-mist)!important;background-image:linear-gradient(180deg,#f8faf9 0,#eef4f2 520px,#e7f0ee 900px)!important;background-size:100% 900px!important;background-repeat:no-repeat!important}
h1,h2,.tool-hero h1,.tool-body h2,.tool-copy h2,.hub-card h2,.card h2,.article-head h1,.prose h2,.related h2{font-family:var(--display)!important}
button,input,select,textarea{font-family:var(--ui)}

/* Keep the hero claim compact and physically separate from the device. */
#hcopy{padding:64px var(--pad) 26px!important}
#hcopy h1.hero-tagline{width:min(92vw,1050px)!important;max-width:none!important;margin:0 auto 18px!important;font-size:clamp(24px,2.1vw,34px)!important;line-height:1.08!important;letter-spacing:-.02em!important;text-wrap:balance}
@media(max-width:620px){#hcopy{padding:56px var(--solvein-gutter) 22px!important}#hcopy h1.hero-tagline{width:min(94vw,24ch)!important;font-size:clamp(21px,6vw,27px)!important}}

/* One spacing system for page gutters, section rhythm, and surface interiors. */
.shell{width:auto!important;max-width:1120px!important;margin-inline:max(var(--solvein-gutter),calc(50% - 560px))!important}

#problem,#inside,#options,#how,#business,#status,#team,#cta{
  padding-block:var(--solvein-section-space)!important;
  padding-inline:var(--solvein-gutter)!important;
}

.problem-focus-head{margin-bottom:var(--solvein-content-gap)!important}
.cards,.mechanism-scroll,.pillars,.fb,.timeline,.team-grid{margin-top:var(--solvein-content-gap)!important}
#inside .lead,#options .lead{margin-top:16px!important}

.gcard,.pillar,.card,.hub-card,.hub-card:first-child,.press-card{
  padding:var(--solvein-card-pad)!important;
}
.credit,.tool-body{padding:var(--solvein-panel-pad)!important}
.sg-card{padding:var(--solvein-panel-pad)!important}
.callout,.source-list,.summary-preview,.estimate,.red-flags,.fit-status,.result-banner,.medical-note,.press-note,.related-grid a{
  padding:var(--solvein-inset-pad)!important;
}
.tool-progress{padding:14px var(--solvein-inset-pad)!important}
.pcell,.problem-proof>div{padding:20px!important}
.scrub-step{padding:18px 20px!important}
.interactive-leg-footer{padding:16px 20px!important}

.tool-hero,.blog-hero,.article-head{padding-block:var(--solvein-section-space-compact)!important}
.tool-copy{padding-block:var(--solvein-section-space)!important}
.grid{padding-block:var(--solvein-content-gap) var(--solvein-section-space)!important}
.prose{padding-block:var(--solvein-content-gap)!important}
.press-hero{padding-block:var(--solvein-section-space) var(--solvein-content-gap)!important}
.press-section{padding-bottom:var(--solvein-section-space)!important}
.site-footer,.bfoot{padding-block:var(--solvein-footer-space) 20px!important}

/* One continuous page field. Dark bands are reserved for proof and team emphasis. */
main,.tool-hero,.blog-hero,.article-head,.article-shell,.blog-main,#problem,.tint,.invite,.anatomy-showcase,.tool-copy,.related{background:transparent!important}
nav.scrolled,.tool-nav-wrap,.bnav{background:rgba(248,250,249,.96)!important;border-color:var(--solvein-line)!important;backdrop-filter:none!important}

/* One surface, one line, one radius. */
:where(.gcard,.pillar,.scrubber,.filmframe,.interactive-leg-shell,.tool-card,.hub-card,.card,.callout,.source-list,.related-grid a,.option,.summary-preview,.estimate,.fit-status,.red-flags){
  border-radius:var(--solvein-radius)!important;
  border-color:var(--solvein-line)!important;
  box-shadow:none!important;
}
.gcard,.pillar,.tool-card,.hub-card,.card,.callout,.source-list,.related-grid a,.option,.summary-preview{background:var(--solvein-surface)!important;backdrop-filter:none!important}
.gcard::before{height:2px;background:var(--solvein-teal)}
.gcard h3{font-style:normal;color:var(--solvein-deep)}
.gcard li{position:relative;padding-left:18px}
.gcard li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--solvein-teal)}
.pillar{border:1px solid var(--solvein-line)!important;border-top:2px solid var(--solvein-teal)!important}
.scrubber,.filmframe,.interactive-leg-shell{overflow:hidden}
.scrub-stage::before,.credit::before,.member .ph::after{display:none!important}
.scrub-stage{background:#173d46!important}
.result-banner{background:#e8f2f0!important;border:1px solid var(--solvein-line);border-radius:var(--solvein-radius)!important}

/* Performance: isolate large visual regions and avoid full-surface filter paints. */
#stage{contain:strict}
.filmframe,.scrubber,.interactive-leg-shell,.interactive-leg,.credit,.legframe{contain:layout paint style}
.problem-cover-photo,.scrub-stage img,.scrub-stage video,.member .ph img,.legframe .veins,.solvein-treatment-device{filter:none!important}
.mobile-menu-scrim,.scan-prompt,.scan-lock-status,.annotation-card,.treatment-result{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.solvein-treatment-device{will-change:auto!important}
.interactive-leg.is-treating .solvein-treatment-device{will-change:transform,opacity!important}
body.is-scrolling .scan-prompt-dot{animation-play-state:paused!important}

/* Skip paint and layout work for content that is well below the viewport. */
body>section:not(.hero),main>section,.tool-copy,.related,.site-footer,.bfoot{content-visibility:auto;contain-intrinsic-size:auto 760px}
#how #without{padding:0!important;content-visibility:visible!important}

/* Comfortable tap targets and explicit touch feedback across every page. */
@media(pointer:coarse){
  a,button,summary,label{touch-action:manipulation;-webkit-tap-highlight-color:rgba(36,121,133,.16)}
  .hero-cta,.navcta,.mobile-menu-panel>a,.btn,.primary,.secondary,.callout a.btn,.tool-nav-links .nav-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .site-footer .footer-column a,.site-footer .footer-tool-links a,.bfoot a{min-height:44px;display:flex!important;align-items:center}
  .scrub-step,.device-label,.device-play,.anatomy-step-track button,.anatomy-journey-actions button{min-height:48px}
  .member .nm a,.advisors .advisor-link{display:inline-flex;min-height:44px;align-items:center}
  .hub-card:active,.card:active,.option:active,.press-card:active{transform:scale(.992)!important;border-color:var(--solvein-teal)!important}
  .hub-card:hover,.card:hover,.option:hover,.press-card:hover{transform:none!important}
}

/* Tool previews use one consistent card language with a distinct line icon. */
.hub-card{position:relative;min-height:280px!important;padding-top:var(--solvein-card-pad)!important}
.hub-card:first-child{background:var(--solvein-deep)!important;border-color:var(--solvein-deep)!important;color:#fff!important}
.hub-card:first-child h2,.hub-card:first-child p,.hub-card:first-child span:last-child{color:#fff!important}
.hub-card:first-child .number{color:#efb46d!important}
.hub-card:first-child:hover{background:#1d4e59!important}
.tool-preview-icon{display:grid;width:54px;height:54px;margin:22px 0 2px;place-items:center;border:1px solid var(--solvein-line);border-radius:14px;background:#eef5f3;color:var(--solvein-teal)}
.tool-preview-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hub-card:first-child .tool-preview-icon{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#8dd1d4}
.hub-card h2{margin-top:16px!important}

/* Team remains a single deliberate contrast panel. */
.credit{border-radius:var(--solvein-radius)!important;background:var(--solvein-deep)!important;box-shadow:none!important}
.advisor-label{margin-top:34px;margin-bottom:0;font-size:10px;color:#d9a441!important}
.advisor-label::before{background:#d9a441!important}

/* Footer continues the page background rather than starting a new visual theme. */
.site-footer{color:var(--solvein-muted)!important;background:transparent!important;border-top:1px solid var(--solvein-line)!important}
.site-footer .footer-brand-lockup,.site-footer a{color:var(--solvein-deep)!important}
.site-footer .footer-brand p,.site-footer .footer-disclosure,.site-footer .footer-bottom{color:var(--solvein-muted)!important}
.site-footer .footer-column h2{color:var(--solvein-accent)!important}
.site-footer .footer-bottom{border-top-color:var(--solvein-line)!important}

/* Remove decorative movement on smaller screens and honor reduced motion everywhere. */
@media(max-width:720px){
  :root{
    --solvein-gutter:clamp(18px,4vw,24px);
    --solvein-section-space:clamp(40px,7vw,48px);
    --solvein-section-space-compact:clamp(32px,6vw,40px);
    --solvein-content-gap:28px;
    --solvein-card-pad:20px;
    --solvein-inset-pad:18px;
    --solvein-panel-pad:clamp(20px,3.5vw,24px);
    --solvein-footer-space:clamp(36px,5vw,40px);
  }
  .proof-strip{padding-inline:var(--solvein-gutter)!important}
  .mobile-menu-panel{padding:18px 18px 24px!important}
  .pcell,.problem-proof>div{padding:18px!important}
  .scrub-step{padding:16px!important}
  .interactive-leg-footer{padding:14px 16px!important}
  .site-footer .footer-grid{gap:24px!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
