:root{
  --ink:#102f2d;
  --ink-2:#274a46;
  --muted:#667a77;
  --paper:#f5f7f3;
  --paper-2:#edf2ec;
  --card:#ffffff;
  --line:#d9e2dc;
  --line-strong:#c7d4cc;
  --brand:#087563;
  --brand-2:#075d50;
  --brand-3:#0d8c76;
  --brand-soft:#e6f4ef;
  --navy:#0b2b2b;
  --navy-2:#123c3a;
  --accent:#d8a23b;
  --accent-2:#f0c66a;
  --accent-soft:#fff5dd;
  --danger:#a53b34;
  --danger-soft:#fff0ed;
  --ok:#267653;
  --ok-soft:#eaf7ef;
  --shadow:0 18px 50px rgba(12,42,39,.10);
  --shadow-lg:0 28px 70px rgba(8,38,36,.18);
  --radius:22px;
  --radius-sm:13px;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--brand-2);text-underline-offset:3px}
a:hover{color:var(--brand)}
img,svg{max-width:100%}
button,input,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:10px;z-index:9999}.skip-link:focus{left:8px;top:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(245,247,243,.90);backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid rgba(201,215,207,.74)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:860;color:var(--ink);letter-spacing:-.03em}.brand img{width:38px;height:38px;filter:drop-shadow(0 5px 10px rgba(13,91,77,.16))}.brand span{font-size:1.18rem}
.site-nav{display:flex;align-items:center;gap:22px}.site-nav a{text-decoration:none;font-weight:690;color:#294843;font-size:.93rem}.site-nav a:hover{color:var(--brand)}
.nav-cta{padding:10px 16px;background:var(--navy);color:#fff!important;border-radius:999px;box-shadow:0 8px 20px rgba(11,43,43,.14)}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 13px;color:var(--ink);font-weight:750}

/* Homepage hero */
.hero{position:relative;overflow:hidden;padding:70px 0 52px;background:
linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
radial-gradient(circle at 86% 18%,rgba(24,148,122,.30),transparent 26%),
radial-gradient(circle at 6% 85%,rgba(216,162,59,.11),transparent 30%),
linear-gradient(135deg,#0a2929 0%,#0d3734 64%,#0b2b2b 100%);background-size:36px 36px,36px 36px,auto,auto,auto;color:#fff}
.hero:after{content:"";position:absolute;inset:auto -12% -120px 46%;height:250px;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:rotate(-8deg);box-shadow:0 0 0 34px rgba(255,255,255,.018),0 0 0 68px rgba(255,255,255,.014)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center;position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #cfe4da;background:#f2fbf7;border-radius:999px;font-size:.76rem;font-weight:820;color:var(--brand-2);letter-spacing:.075em;text-transform:uppercase}
.hero .eyebrow{color:#d9fff2;background:rgba(255,255,255,.08);border-color:rgba(219,255,244,.19)}
.hero h1{font-size:clamp(3rem,5.9vw,5.7rem);line-height:.94;letter-spacing:-.062em;margin:22px 0 22px;max-width:820px;color:#fff}
.hero h1 em{font-style:normal;color:#bdf1df}
.hero p.lead{font-size:clamp(1.08rem,1.7vw,1.24rem);max-width:740px;color:#d5e4df;margin:0 0 27px;line-height:1.62}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font-weight:780;text-decoration:none;transition:.18s ease;letter-spacing:-.01em}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 25px rgba(6,96,80,.22)}.btn-primary:hover{background:var(--brand-3);color:#fff;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-secondary:hover{background:#f9fcfa;color:var(--brand-2)}.btn-small{padding:9px 12px;font-size:.88rem;border-radius:10px}
.hero .btn-primary{background:#dff8ef;color:#0b4038;box-shadow:0 12px 34px rgba(0,0,0,.16)}.hero .btn-primary:hover{background:#fff;color:#0a3c35}.hero .btn-secondary{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}.hero .btn-secondary:hover{background:rgba(255,255,255,.13);color:#fff}
.trust-row{display:flex;gap:16px;flex-wrap:wrap;color:#bed3cc;font-size:.88rem}.trust-row span{display:flex;align-items:center;gap:7px}.trust-dot{width:7px;height:7px;background:#69d8b5;border-radius:50%;box-shadow:0 0 0 3px rgba(105,216,181,.12)}

.hero-console{border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 32px 82px rgba(0,0,0,.29);overflow:hidden;position:relative}
.console-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#f5f8f5;border-bottom:1px solid var(--line)}
.console-id{display:flex;align-items:center;gap:9px;font-size:.82rem;font-weight:800;color:#35544f}.console-id i{width:9px;height:9px;background:#41b78e;border-radius:50%;box-shadow:0 0 0 4px #dff4eb}.console-tag{font-size:.72rem;font-weight:820;color:#6e5a21;background:var(--accent-soft);border:1px solid #ead7a7;padding:5px 8px;border-radius:999px}
.console-body{padding:24px}
.console-inputs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.console-input{display:flex;align-items:center;gap:7px;padding:8px 10px;background:#f3f7f4;border:1px solid var(--line);border-radius:10px;color:#48645f;font-size:.78rem}.console-input strong{color:var(--ink)}
.console-primary{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-bottom:18px}.console-number,.console-side{border-radius:17px;padding:18px}.console-number{background:var(--navy);color:#fff}.console-number span,.console-side span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;display:block}.console-number span{color:#a9c9c0}.console-number strong{display:block;font-size:2.45rem;line-height:1.05;letter-spacing:-.055em;margin-top:6px}.console-number small{color:#b8d3cc}.console-side{background:var(--brand-soft);border:1px solid #c9e5da}.console-side span{color:#4f756b}.console-side strong{display:block;font-size:1.45rem;letter-spacing:-.035em;margin-top:8px}.console-side small{color:#607873}
.console-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.console-metric{padding:11px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.console-metric strong{display:block;font-size:.98rem;letter-spacing:-.02em}.console-metric span{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}
.mini-system{height:120px;border-radius:15px;background:linear-gradient(#eef8f2 0 42%,#d6c9aa 42% 58%,#b09a73 58%);position:relative;overflow:hidden;border:1px solid #d8e1db}.mini-house{position:absolute;left:7%;bottom:52%;width:78px;height:44px;background:#fff;border:2px solid #315750;border-radius:3px}.mini-house:before{content:"";position:absolute;left:-7px;top:-26px;border-left:45px solid transparent;border-right:45px solid transparent;border-bottom:28px solid #315750}.mini-house:after{content:"";position:absolute;width:14px;height:25px;background:#d6e7df;bottom:0;left:30px}.mini-tank{position:absolute;left:39%;top:48%;width:104px;height:37px;border:2px solid #0c6558;border-radius:8px 18px 18px 8px;background:#d7f2e9}.mini-tank:before{content:"";position:absolute;left:-56px;top:14px;width:56px;height:3px;background:#446a62}.mini-field{position:absolute;right:7%;top:52%;width:105px;display:grid;gap:6px}.mini-field i{display:block;height:4px;background:#e6bd60;border-radius:4px;box-shadow:0 0 0 2px rgba(255,255,255,.45)}.mini-field:before{content:"";position:absolute;left:-55px;top:10px;width:52px;height:3px;background:#446a62}.mini-caption{position:absolute;right:10px;bottom:7px;font-size:.64rem;color:#5b533f;font-weight:720}

.stats-strip{position:relative;z-index:3;margin-top:-18px;padding:0 0 12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.stat{padding:18px 20px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:1.18rem;letter-spacing:-.035em}.stat span{font-size:.79rem;color:var(--muted)}

.section{padding:74px 0}.section.alt{background:var(--paper-2)}.section.dark-section{background:var(--navy);color:#fff}.section-head{max-width:800px;margin-bottom:31px}.section-head.row-head{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px}.section-head h2{font-size:clamp(2.1rem,4vw,3.45rem);line-height:1.03;letter-spacing:-.047em;margin:12px 0 12px}.section-head p{margin:0;color:var(--muted);font-size:1.04rem}.dark-section .section-head p{color:#bdd0ca}.dark-section .section-head h2{color:#fff}
.section-note{font-size:.82rem;color:var(--muted);max-width:350px}

/* Calculator */
.calculator-stage{position:relative}.calculator-stage:before{content:"";position:absolute;left:0;right:0;top:0;height:290px;background:linear-gradient(180deg,#f9fbf8,transparent);pointer-events:none}.calculator-stage .container{position:relative}
.tool-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);gap:24px;align-items:start}.tool-panel,.result-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(16,47,45,.065)}.tool-panel{padding:27px}.result-panel{padding:24px;position:sticky;top:98px;box-shadow:0 20px 54px rgba(12,42,39,.12)}[data-specifier] .result-panel{padding:0;overflow:hidden}
.mini-badge{font-size:.72rem;padding:5px 8px;background:var(--accent-soft);border:1px solid #ead8a8;color:#705818;border-radius:999px;font-weight:780;white-space:nowrap}.tool-title{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}.tool-title h3{margin:0;font-size:1.28rem;letter-spacing:-.03em}.tool-title p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.step-block{padding:20px 0;border-top:1px solid #e7ede9}.step-block:first-of-type{border-top:0;padding-top:0}.step-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}.step-number{width:29px;height:29px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:850;font-size:.78rem;flex:0 0 auto}.step-heading strong{display:block;font-size:.98rem;line-height:1.25}.step-heading span{display:block;color:var(--muted);font-size:.79rem;margin-top:2px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:730;font-size:.88rem;color:#244a43}.form-group .hint{color:var(--muted);font-size:.77rem;line-height:1.45}.field-input,.field-select{width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:11px;padding:12px 13px;outline:none;min-height:48px;box-shadow:inset 0 1px 1px rgba(14,43,40,.025)}.field-input:focus,.field-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(8,117,99,.11)}
.field-feature{position:relative}.field-feature .field-input{font-size:1.2rem;font-weight:800;padding-right:86px}.field-unit{position:absolute;right:12px;top:38px;font-size:.75rem;color:var(--muted);font-weight:750;background:#f4f7f4;padding:4px 7px;border-radius:7px;pointer-events:none}
.segmented{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-strong);border-radius:12px;padding:3px;background:#f4f7f4}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{display:block;text-align:center;padding:9px 10px;border-radius:9px;font-weight:740;font-size:.86rem;color:var(--muted)}.segmented input:checked+span{background:#fff;color:var(--brand-2);box-shadow:0 2px 9px rgba(18,51,45,.09)}
.vp-scale{display:grid;grid-template-columns:12fr 88fr 22fr;margin-top:8px;gap:2px}.vp-scale i{height:6px;border-radius:4px;background:#e7ba9e}.vp-scale i:nth-child(2){background:#69bd9c}.vp-scale i:nth-child(3){background:#ddbd77}.vp-labels{display:flex;justify-content:space-between;color:#788d88;font-size:.67rem;margin-top:5px}.vp-callout{display:flex;gap:10px;align-items:flex-start;background:#f5faf7;border:1px solid #d7e8df;padding:11px 12px;border-radius:11px;margin-top:10px;font-size:.78rem;color:#49665f}.vp-callout strong{color:#274c44}
.advanced-settings{margin-top:13px;border:1px solid var(--line);border-radius:13px;background:#f8faf8}.advanced-settings summary{padding:12px 14px;font-weight:750;font-size:.84rem;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.advanced-settings summary::-webkit-details-marker{display:none}.advanced-settings summary:after{content:"+";font-size:1.2rem;color:var(--brand)}.advanced-settings[open] summary:after{content:"−"}.advanced-settings .advanced-body{padding:0 14px 14px}
.notice{border-radius:12px;padding:13px 14px;font-size:.86rem;margin-top:16px}.notice-info{background:#eff7f4;border:1px solid #cfe6dd;color:#315f54}.notice-warn{background:var(--accent-soft);border:1px solid #ecd8a7;color:#755a1a}.notice-danger{background:var(--danger-soft);border:1px solid #efc8c4;color:#7d2f29}.notice-ok{background:var(--ok-soft);border:1px solid #cce8d6;color:#286046}

.result-head{background:linear-gradient(135deg,#0b2d2c,#0f4540);padding:24px 24px 21px;color:#fff;position:relative;overflow:hidden}.result-head:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-90px;top:-110px;box-shadow:0 0 0 28px rgba(255,255,255,.025)}
.result-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;position:relative;z-index:2}.result-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.095em;color:var(--muted);font-weight:850}.result-head .result-kicker{color:#aed1c7}.live-badge{display:flex;align-items:center;gap:6px;font-size:.69rem;font-weight:800;color:#dff9ee;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:5px 8px;border-radius:999px}.live-badge i{width:6px;height:6px;background:#68ddb6;border-radius:50%}
.result-main{font-size:clamp(2.7rem,5vw,4.25rem);letter-spacing:-.06em;line-height:.96;margin:7px 0 6px;position:relative;z-index:2}.result-main small{font-size:.32em;color:#b7d3cb;font-weight:720;letter-spacing:0}.result-head .result-sub{color:#bed4ce;position:relative;z-index:2}.result-sub{color:var(--muted);font-size:.84rem;line-height:1.5}.result-body{padding:21px 23px 24px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 16px}.result-card{background:#f7faf7;border:1px solid var(--line);border-radius:13px;padding:12px 13px}.result-card strong{display:block;font-size:1.08rem;letter-spacing:-.025em}.result-card span{font-size:.72rem;color:var(--muted)}
.spec-blueprint{margin:14px 0 16px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fbfdfb}.blueprint-title{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.74rem;font-weight:800;color:#42615a}.blueprint-title span:last-child{color:var(--muted);font-weight:650}.blueprint-scene{height:126px;position:relative;background:linear-gradient(#eff8f3 0 43%,#d5c9ad 43% 59%,#ad9874 59% 100%);overflow:hidden}.bp-house{position:absolute;left:6%;bottom:54%;width:76px;height:42px;background:white;border:2px solid #2c544c;border-radius:2px}.bp-house:before{content:"";position:absolute;left:-6px;top:-24px;border-left:43px solid transparent;border-right:43px solid transparent;border-bottom:26px solid #2c544c}.bp-house:after{content:"";position:absolute;width:13px;height:24px;left:30px;bottom:0;background:#d4e6de}.bp-tank{position:absolute;left:39%;top:48%;width:104px;height:38px;background:#d3f1e7;border:2px solid #087563;border-radius:8px 18px 18px 8px}.bp-pipe-a{position:absolute;left:calc(6% + 76px);top:61px;width:94px;height:3px;background:#456b64}.bp-pipe-b{position:absolute;left:calc(39% + 104px);top:69px;width:57px;height:3px;background:#456b64}.bp-field{position:absolute;right:5%;top:54%;width:108px;display:grid;gap:6px}.bp-field i{height:4px;background:#d5a841;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.4)}.bp-label{position:absolute;background:rgba(255,255,255,.92);border:1px solid rgba(68,97,89,.18);border-radius:7px;padding:3px 6px;font-size:.59rem;font-weight:780;color:#36564f;box-shadow:0 3px 8px rgba(28,54,49,.06)}.bp-label.house{left:5%;top:7px}.bp-label.tank{left:39%;bottom:7px}.bp-label.field{right:4%;top:7px}
.formula{display:flex;align-items:center;justify-content:center;padding:13px;background:#f4f7f5;border:1px dashed #c8d6cf;border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:760;margin:13px 0;color:#31534d;font-size:.86rem}
.status-stack{border-top:1px solid var(--line);margin-top:14px}.status-line{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-top:1px solid #edf1ee}.status-line:first-of-type{border-top:0}.status-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:.73rem;font-weight:900;flex:0 0 auto}.status-ok{background:var(--ok-soft);color:var(--ok)}.status-warn{background:var(--accent-soft);color:#8c6418}.status-bad{background:var(--danger-soft);color:var(--danger)}.status-line strong{display:block;font-size:.84rem}.status-line span{display:block;color:var(--muted);font-size:.76rem;line-height:1.45}
.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.copy-feedback{font-size:.78rem;color:var(--ok);min-height:1.2em;margin-top:7px}
.quote-tip{display:flex;gap:10px;background:#fff8e8;border:1px solid #ead9ab;padding:11px 12px;border-radius:11px;margin-top:13px;color:#67521c;font-size:.76rem;line-height:1.45}.quote-tip strong{display:block;color:#564412}

/* Cards + journeys */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(18,51,45,.045);transition:.18s ease}.card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(18,51,45,.08);border-color:#c9d7cf}.card h3{margin:0 0 8px;letter-spacing:-.025em;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.91rem}.card-link{display:inline-block;margin-top:14px;font-weight:760;text-decoration:none;font-size:.9rem}.icon-box{width:43px;height:43px;border-radius:12px;background:var(--brand-soft);display:grid;place-items:center;margin-bottom:15px;color:var(--brand);font-weight:900;border:1px solid #d2e8df}.icon-box svg{width:21px;height:21px}
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,.14);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.04)}.journey-step{padding:24px;border-right:1px solid rgba(255,255,255,.11);position:relative}.journey-step:last-child{border-right:0}.journey-step .num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#84cfb7;font-weight:800;letter-spacing:.08em}.journey-step h3{font-size:1.12rem;color:#fff;margin:13px 0 7px}.journey-step p{font-size:.88rem;color:#bcd0ca;margin:0}.journey-step a{color:#d9fff2;font-weight:750;text-decoration:none;display:inline-block;margin-top:12px;font-size:.84rem}
.compare-table{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(16,47,45,.05)}.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;border-top:1px solid var(--line)}.compare-row:first-child{border-top:0}.compare-row>div{padding:13px 17px}.compare-row .feature{font-weight:720;font-size:.88rem}.compare-row .common{color:var(--muted);font-size:.84rem}.compare-row .ours{font-weight:780;color:var(--brand-2);font-size:.84rem}.compare-row.head{background:#f5f8f5}.compare-row.head>div{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:840}.compare-row.head .ours{color:var(--brand-2)}
.source-band{display:grid;grid-template-columns:1.1fr repeat(3,1fr);border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.source-intro,.source-item{padding:18px}.source-item{border-left:1px solid var(--line)}.source-intro strong{display:block;font-size:.97rem}.source-intro span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.source-item small{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.source-item strong{display:block;font-size:.88rem;margin-top:4px}.source-item a{font-size:.76rem;text-decoration:none;font-weight:720}

/* Content pages */
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px}.prose{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 9px 28px rgba(16,47,45,.035)}.prose h2,.prose h3{letter-spacing:-.035em;line-height:1.15}.prose h2{margin-top:36px;font-size:1.65rem}.prose h3{font-size:1.12rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#3b5c56}.prose li+li{margin-top:5px}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;font-size:.9rem;border:1px solid var(--line);border-radius:13px;overflow:hidden}.prose th,.prose td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose tr:last-child td{border-bottom:0}.prose th{color:var(--ink);background:#f5f8f5}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f6f3;padding:2px 5px;border-radius:5px}.prose .callout{padding:17px 18px;border-radius:14px;margin:20px 0;background:var(--brand-soft);border:1px solid #cae3d8}.prose .danger-callout{background:var(--danger-soft);border-color:#edc9c5}.prose .source-list a{word-break:break-word}
.sidebar{position:sticky;top:98px}.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 6px 20px rgba(16,47,45,.03)}.side-card h3{margin:0 0 8px;font-size:.98rem}.side-card p,.side-card li{font-size:.84rem;color:var(--muted)}.side-card ul{padding-left:18px;margin-bottom:0}.toc a{display:block;text-decoration:none;padding:7px 0;border-bottom:1px solid #edf2ee;font-size:.87rem}.toc a:last-child{border-bottom:0}
.page-hero{padding:58px 0 38px;color:#fff;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(135deg,#0a2929,#0e3936);background-size:38px 38px,38px 38px,auto;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(255,255,255,.06);right:-130px;top:-160px;box-shadow:0 0 0 40px rgba(255,255,255,.018)}.page-hero .container{position:relative;z-index:2}.page-hero .breadcrumbs{font-size:.8rem;color:#a9c6be;margin-bottom:14px}.page-hero .breadcrumbs a{color:#cfe9e1}.page-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:.97;letter-spacing:-.055em;margin:0 0 17px;max-width:950px}.page-hero p{max-width:820px;color:#d0e0db;font-size:1.06rem;margin:0}.updated{font-size:.78rem;color:#9fbcb4;margin-top:15px}
.checklist{display:grid;gap:10px}.check-item{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;background:#f8faf8;border:1px solid var(--line);border-radius:12px}.check-item input{margin-top:4px;accent-color:var(--brand)}.check-item label{font-size:.88rem}.check-item label strong{display:block}.timer{display:grid;place-items:center;padding:24px;border:1px solid var(--line);background:#f8faf8;border-radius:16px}.timer-display{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.2rem,7vw,4.4rem);letter-spacing:-.05em;font-weight:820}.timer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.reading-grid{display:grid;grid-template-columns:74px 1fr 110px;gap:8px;align-items:center;margin-top:9px}.reading-grid strong{font-size:.83rem}.reading-grid .field-input{min-height:42px;padding:9px 10px}.score-box{display:flex;align-items:center;gap:16px;padding:16px;border-radius:14px;border:1px solid var(--line);background:#f8faf8}.score-ring{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) 0 75%,#dbe6df 75% 100%);position:relative;font-weight:850}.score-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.score-ring span{position:relative;z-index:1}.score-box p{margin:0;color:var(--muted);font-size:.88rem}.region-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.region-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:720;color:var(--ink-2)}.region-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}

.footer{background:#092826;color:#dce9e4;padding:58px 0 28px;margin-top:52px;position:relative;overflow:hidden}.footer:after{content:"";position:absolute;right:-160px;bottom:-210px;width:480px;height:480px;border-radius:50%;border:1px solid rgba(255,255,255,.05);box-shadow:0 0 0 45px rgba(255,255,255,.014)}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:30px;position:relative;z-index:2}.footer .brand{color:#fff}.footer p{color:#adc4bd;font-size:.88rem;max-width:330px}.footer h4{margin:0 0 10px;color:#fff;font-size:.88rem}.footer a{display:block;color:#bfd1cb;text-decoration:none;padding:4px 0;font-size:.86rem}.footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid rgba(255,255,255,.11);padding-top:18px;margin-top:32px;color:#8faea5;font-size:.76rem;position:relative;z-index:2}
.cookie-banner{position:fixed;z-index:999;left:16px;right:16px;bottom:16px;max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.18);border-radius:16px;padding:18px;display:none}.cookie-banner.show{display:block}.cookie-banner p{margin:0;color:var(--muted);font-size:.87rem}.cookie-actions{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
.ad-slot:empty{display:none!important;min-height:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}.ad-slot:not(:empty){max-width:100%;margin:26px 0}
hr.soft{border:0;border-top:1px solid var(--line);margin:28px 0}.kbd{display:inline-block;border:1px solid #cdd8d1;border-bottom-width:2px;background:#fff;border-radius:6px;padding:1px 6px;font-size:.76rem}.hidden{display:none!important}.print-only{display:none}

@media(max-width:1040px){.hero-grid{grid-template-columns:1fr .88fr;gap:35px}.cards.four{grid-template-columns:1fr 1fr}.source-band{grid-template-columns:1fr 1fr}.source-item{border-left:0;border-top:1px solid var(--line)}.source-item:nth-child(even){border-left:1px solid var(--line)}}
@media(max-width:960px){.hero-grid,.tool-shell,.content-grid{grid-template-columns:1fr}.hero-console{max-width:720px}.result-panel,.sidebar{position:static}.cards{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.site-nav{display:none;position:absolute;left:20px;right:20px;top:70px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:15px;padding:14px;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.menu-btn{display:block}.nav-cta{text-align:center}.journey{grid-template-columns:1fr}.journey-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}.journey-step:last-child{border-bottom:0}.section-head.row-head{display:block}.section-note{margin-top:12px}.compare-row{grid-template-columns:1.15fr 1fr 1fr}}
@media(max-width:680px){.container{width:min(100% - 24px,var(--max))}.nav-wrap{min-height:68px}.brand img{width:34px;height:34px}.hero{padding-top:46px;padding-bottom:40px}.hero h1{font-size:3.15rem}.hero-grid{gap:32px}.hero-actions .btn{width:100%}.trust-row{gap:10px}.hero-console{border-radius:20px}.console-body{padding:18px}.console-primary{grid-template-columns:1fr}.console-metrics{grid-template-columns:1fr 1fr}.console-metric:last-child{grid-column:1/-1}.stats-strip{margin-top:-10px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px}.section{padding:54px 0}.section-head{margin-bottom:24px}.section-head h2{font-size:2.35rem}.tool-panel{padding:18px}.result-body{padding:18px}.result-head{padding:21px 18px}.form-grid,.cards,.cards.four,.footer-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.result-grid{grid-template-columns:1fr 1fr}.compare-table{overflow-x:auto}.compare-row{min-width:600px}.source-band{grid-template-columns:1fr}.source-item,.source-item:nth-child(even){border-left:0;border-top:1px solid var(--line)}.page-hero{padding:44px 0 31px}.page-hero h1{font-size:2.9rem}.prose{padding:20px}.reading-grid{grid-template-columns:56px 1fr}.reading-grid .hole-select{grid-column:2}.footer-bottom{flex-direction:column;align-items:flex-start}.blueprint-scene{height:116px}.bp-tank{left:37%;width:88px}.bp-pipe-b{left:calc(37% + 88px);width:42px}.bp-label.tank{left:34%}}
@media(max-width:430px){.hero h1{font-size:2.68rem}.console-inputs{display:grid;grid-template-columns:1fr 1fr}.console-metrics{grid-template-columns:1fr}.console-metric:last-child{grid-column:auto}.stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)!important}.stat:last-child{border-bottom:0!important}.result-grid{grid-template-columns:1fr}.segmented span{font-size:.8rem;padding-inline:5px}.bp-field{width:82px}.bp-pipe-b{display:none}.bp-tank{left:39%;width:78px}.bp-label.field{right:2%}}
@media print{.site-header,.footer,.cookie-banner,.hero-actions,.result-actions,.ad-slot,.menu-btn,.sidebar,.hero,.stats-strip,.compare-table,.journey,.source-band{display:none!important}body{background:#fff}.section,.page-hero{padding:20px 0}.tool-shell,.content-grid{display:block}.tool-panel{display:none}.result-panel,.prose{box-shadow:none;border:1px solid #bbb}.result-panel{position:static}.container{width:100%}a{color:#000;text-decoration:none}.print-only{display:block!important}}

/* v3 light visual system + guidance treatment */
:root{
  --paper:#f8faf7;
  --paper-2:#eff5f1;
  --card:#ffffff;
  --ink:#123a34;
  --ink-2:#31554e;
  --muted:#647a74;
  --line:#d9e5de;
  --line-strong:#c6d8ce;
}
body{background:var(--paper)}
.site-header{background:rgba(248,250,247,.94);border-bottom-color:rgba(198,216,206,.9)}
.brand{gap:11px}.brand img{filter:none}.brand span{letter-spacing:-.035em}

.guidance-strip{background:#fff8e7;border-bottom:1px solid #ead9aa;color:#66521d}
.guidance-strip-inner{min-height:48px;display:flex;align-items:flex-start;gap:10px;padding-top:10px;padding-bottom:10px}
.guidance-strip p{margin:0;font-size:.78rem;line-height:1.45}
.guidance-strip strong{color:#55420f}.guidance-strip a{font-weight:760;color:#6b5618;white-space:nowrap}
.guidance-icon{width:20px;height:20px;flex:0 0 20px;margin-top:1px;display:grid;place-items:center;border-radius:50%;background:#e8c66c;color:#4f3b08;font-size:.72rem;font-weight:900}

.hero{color:var(--ink);background:
linear-gradient(rgba(18,58,52,.025) 1px,transparent 1px),
linear-gradient(90deg,rgba(18,58,52,.025) 1px,transparent 1px),
radial-gradient(circle at 88% 16%,rgba(8,117,99,.11),transparent 29%),
radial-gradient(circle at 8% 86%,rgba(216,162,59,.10),transparent 27%),
linear-gradient(135deg,#fbfcf8 0%,#f1f7f2 62%,#f8faf7 100%);
background-size:36px 36px,36px 36px,auto,auto,auto;border-bottom:1px solid var(--line)}
.hero:after{border-color:rgba(8,117,99,.08);box-shadow:0 0 0 34px rgba(8,117,99,.018),0 0 0 68px rgba(8,117,99,.014)}
.hero .eyebrow{color:var(--brand-2);background:#fff;border-color:#cfe4da}
.hero h1{color:var(--ink)}.hero h1 em{color:var(--brand)}
.hero p.lead{color:#526d66}
.hero .btn-primary{background:var(--brand);color:#fff;box-shadow:0 12px 28px rgba(8,117,99,.18)}
.hero .btn-primary:hover{background:var(--brand-3);color:#fff}
.hero .btn-secondary{background:#fff;border-color:var(--line);color:var(--ink)}
.hero .btn-secondary:hover{background:#f7fbf8;color:var(--brand-2)}
.trust-row{color:#536f68}.trust-dot{background:var(--brand);box-shadow:0 0 0 3px rgba(8,117,99,.10)}
.hero-console{border-color:var(--line);box-shadow:0 24px 58px rgba(28,65,58,.13)}

.section.dark-section{background:#edf4ef;color:var(--ink);border-block:1px solid var(--line)}
.dark-section .section-head h2{color:var(--ink)}.dark-section .section-head p{color:var(--muted)}
.dark-section .eyebrow{background:#fff}
.journey{background:#fff;border-color:var(--line);box-shadow:0 10px 30px rgba(16,47,45,.045)}
.journey-step{border-right-color:var(--line)}.journey-step .num{color:var(--brand)}.journey-step h3{color:var(--ink)}.journey-step p{color:var(--muted)}.journey-step a{color:var(--brand-2)}

.result-head{background:linear-gradient(135deg,#eef7f2,#e4f1eb);color:var(--ink);border-bottom:1px solid var(--line)}
.result-head:after{border-color:rgba(8,117,99,.08);box-shadow:0 0 0 28px rgba(8,117,99,.025)}
.result-head .result-kicker{color:#54776e}.live-badge{color:#235f50;background:#fff;border-color:#cfe1d8}.live-badge i{background:var(--brand)}
.result-main small{color:#527068}.result-head .result-sub{color:#55736c}
.result-disclaimer{margin-top:13px;padding:12px 13px;border-radius:11px;background:#fff8e7;border:1px solid #ead9aa;color:#66521d;font-size:.76rem;line-height:1.48}
.result-disclaimer strong{display:block;color:#55420f;margin-bottom:2px}

.page-hero{color:var(--ink);background:
linear-gradient(rgba(18,58,52,.024) 1px,transparent 1px),
linear-gradient(90deg,rgba(18,58,52,.024) 1px,transparent 1px),
radial-gradient(circle at 87% 18%,rgba(8,117,99,.10),transparent 26%),
linear-gradient(135deg,#fbfcf8,#f0f6f2);background-size:38px 38px,38px 38px,auto,auto;border-bottom:1px solid var(--line)}
.page-hero:after{border-color:rgba(8,117,99,.08);box-shadow:0 0 0 40px rgba(8,117,99,.018)}
.page-hero .breadcrumbs{color:#698078}.page-hero .breadcrumbs a{color:var(--brand-2)}.page-hero h1{color:var(--ink)}.page-hero p{color:#56736b}.updated{color:#71867f}

.footer{background:#edf4ef;color:var(--ink);border-top:1px solid var(--line)}
.footer:after{border-color:rgba(8,117,99,.07);box-shadow:0 0 0 45px rgba(8,117,99,.014)}
.footer .brand{color:var(--ink)}.footer p{color:var(--muted)}.footer h4{color:var(--ink)}.footer a{color:#456a61}.footer a:hover{color:var(--brand)}
.footer-bottom{border-top-color:var(--line);color:#70867f}

@media(max-width:960px){.journey-step{border-bottom-color:var(--line)}}
@media(max-width:680px){.guidance-strip-inner{padding-top:9px;padding-bottom:9px}.guidance-strip p{font-size:.74rem}.brand span{font-size:1.04rem}}
@media print{.guidance-strip{display:none!important}}


/* v3.1 precision polish: lighter canvas, consistent rhythm, no divider-line dependent layout */
:root{
  --paper:#f7faf6;
  --paper-2:#f1f6f2;
  --surface-soft:#f8fbf8;
}
body{background:#f7faf6;word-spacing:.015em}

/* Keep spacing visible at normal and narrow widths. */
.hero h1,.section-head h2,.page-hero h1{letter-spacing:-.032em;word-spacing:.035em}
.prose h2,.prose h3,.card h3,.journey-step h3,.tool-title h3{letter-spacing:-.02em;word-spacing:.025em}
.brand span{letter-spacing:-.018em;word-spacing:0}
p,li,.hint,.notice,.section-note,.status-line span{word-spacing:.025em}

/* A concise site-wide guidance notice, without visual heaviness. */
.guidance-strip{background:#fff9ea;border-bottom:0;box-shadow:inset 0 -1px 0 rgba(117,91,24,.12)}
.guidance-strip-inner{min-height:46px;align-items:center;gap:11px;padding-top:9px;padding-bottom:9px}
.guidance-strip p{font-size:.79rem;line-height:1.5;color:#64511e}
.guidance-strip p strong{margin-right:.22em}
.guidance-strip a{margin-left:.18em;white-space:normal}
.guidance-icon{margin-top:0}

/* Point-of-use disclaimer above the three calculator steps. */
.calculator-guidance{display:flex;align-items:flex-start;gap:8px;margin:0 0 18px;padding:11px 13px;border-radius:12px;background:#fff9ea;color:#66521d;box-shadow:inset 0 0 0 1px rgba(210,179,92,.42);font-size:.79rem;line-height:1.5}
.calculator-guidance strong{flex:0 0 auto;color:#54420f}
.calculator-guidance span{display:block}

/* Calculator step rhythm: equal cards, equal spacing, no separator lines. */
.tool-panel{padding:28px;background:#fff}
.step-block{padding:18px 18px 19px;margin:0;background:var(--surface-soft);border:0;border-radius:15px}
.step-block:first-of-type{padding-top:18px}
.step-block + .step-block{margin-top:14px}
.step-heading{gap:12px;margin-bottom:16px;min-height:42px}
.step-number{width:30px;height:30px;border-radius:9px;background:#e4f1eb;color:var(--brand-2);box-shadow:inset 0 0 0 1px #cfe1d8}
.step-heading strong{font-size:1rem;line-height:1.3}
.step-heading span{font-size:.8rem;line-height:1.45;margin-top:3px}
.step-block .form-grid{gap:14px}
.step-block .advanced-settings{background:#fff;margin-top:14px}
.notice{line-height:1.5}

/* Clear vertical separation where text previously looked joined. */
.console-number strong+small,.console-side strong+small{display:block;margin-top:5px}
.console-metric strong+span,.stat strong+span,.result-card strong+span,.source-intro strong+span,.source-item strong+a{display:block;margin-top:4px}
.status-stack{border-top:0;margin-top:14px;display:grid;gap:8px}
.status-line{border-top:0;padding:11px 12px;background:#f8fbf8;border-radius:11px}
.status-line strong+span{margin-top:3px}
.result-disclaimer{display:block}
.result-disclaimer strong{margin-bottom:4px}
.result-disclaimer span{display:block}
.quote-tip strong{margin-bottom:3px}

/* Formula spacing stays deliberate and visually balanced. */
.formula{padding:13px 16px;line-height:1.5;letter-spacing:0;word-spacing:.16em;white-space:normal;text-align:center;border-style:solid;background:#f7faf8}
.prose code{word-spacing:.10em}

/* Three-stage journey: individual cards, not dividing lines. */
.section.dark-section{background:#f1f6f2;border:0}
.journey{gap:16px;border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
.journey-step{display:flex;flex-direction:column;min-height:224px;padding:24px;background:#fff;border:0;border-radius:17px;box-shadow:0 8px 24px rgba(18,51,45,.045)}
.journey-step:last-child{border:0}
.journey-step .num{display:block;margin:0 0 14px}
.journey-step h3{margin:0 0 9px}
.journey-step p{margin:0;line-height:1.55;flex:1}
.journey-step a{margin-top:18px}

/* Lighter footer, keep separation through whitespace rather than a dark band. */
.footer{background:#f1f6f2;border-top:0;box-shadow:inset 0 1px 0 var(--line)}

@media(max-width:960px){
  .journey{gap:12px}
  .journey-step{min-height:0;border:0}
}
@media(max-width:680px){
  .tool-panel{padding:16px}
  .step-block{padding:16px}
  .step-block:first-of-type{padding-top:16px}
  .step-block + .step-block{margin-top:12px}
  .calculator-guidance{display:block}
  .calculator-guidance strong{display:block;margin-bottom:3px}
  .guidance-strip-inner{align-items:flex-start}
  .guidance-icon{margin-top:2px}
  .hero h1,.page-hero h1,.section-head h2{word-spacing:.045em;letter-spacing:-.024em}
}


/* v3.3 production hardening */
.brand{gap:12px;min-width:0}.brand span{white-space:nowrap}
.footer a.brand{display:flex;align-items:center;gap:12px;padding:0;color:var(--ink);width:max-content;max-width:100%}
.footer a.brand:hover{color:var(--ink)}
.footer a.brand img{display:block;flex:0 0 auto;width:40px;height:40px;margin:0}
.footer a.brand span{display:block;margin:0;line-height:1.1;font-size:1.12rem}
.guidance-icon{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;line-height:1}
.journey{gap:22px}.journey-step{min-height:232px}.journey-step + .journey-step{margin:0}
.status-line{align-items:flex-start}
.status-line>div{min-width:0}
.status-line strong{line-height:1.35}.status-line strong+span{display:block;margin-top:5px}
[data-gbr-tool] .form-group .hint{margin-top:1px}
@media(max-width:960px){.journey{gap:16px}.journey-step{min-height:0}}
@media(max-width:430px){.brand{gap:9px}.brand span{font-size:.96rem}.footer a.brand{gap:10px}.footer a.brand img{width:38px;height:38px}.footer a.brand span{font-size:1rem}}
