
@font-face{font-family:Manrope;src:url("../fonts/Manrope-VariableFont_wght.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--ink:#14201a;--green:#0f5132;--green2:#4f7f61;--pale:#eef6f0;--mist:#f7faf7;--line:#dce8df;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,232,223,.75)}
.nav{height:78px;display:flex;align-items:center;gap:30px}.brand .site{font-weight:300}.brand .diet{font-weight:800}
.navlinks{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:.9rem;font-weight:600}.navlinks a:hover{color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--green);color:#fff;padding:.88rem 1.2rem;border-radius:9px;font-weight:700;border:1px solid var(--green);cursor:pointer;font:inherit}.btn:hover{transform:translateY(-1px);filter:brightness(.95)}
.btn.ghost{background:transparent;color:var(--green)}.menu{display:none;margin-left:auto;background:none;border:0;font-size:1.5rem}
.hero{padding:88px 0 72px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{color:var(--green);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
h1,h2,h3{line-height:1.05;letter-spacing:-.045em;margin:0 0 22px}h1{font-size:clamp(3.4rem,7vw,6.6rem);font-weight:300}h1 strong{font-weight:800;color:var(--green)}
h2{font-size:clamp(2.3rem,4vw,4.4rem);font-weight:650}h3{font-size:1.45rem}.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:650px;color:#526158}
.hero-art{min-height:440px;border-radius:30px;background:linear-gradient(145deg,#f5f9f5,#e3efe6);position:relative;overflow:hidden;display:grid;place-items:center}
.laptop{width:78%;aspect-ratio:16/10;border:10px solid #23352b;border-bottom-width:18px;border-radius:14px;background:white;box-shadow:0 30px 55px rgba(23,63,39,.15);transform:rotate(-2deg);padding:6%;display:flex;flex-direction:column;justify-content:center}
.laptop .mini{font-size:clamp(1.6rem,3vw,3rem);font-weight:300;line-height:1.05}.laptop .mini b{color:var(--green)}.leaf{position:absolute;border-radius:100% 0 100% 0;background:#7ea88a;opacity:.8}.leaf.a{width:130px;height:210px;right:-20px;bottom:-30px;transform:rotate(-20deg)}.leaf.b{width:90px;height:150px;left:-20px;top:40px;transform:rotate(35deg);background:#adc8b4}
.health{background:var(--pale);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,5vw,58px);margin-bottom:90px}.health-row{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:780px}.url{min-width:0;border:1px solid #bcd0c1;border-radius:9px;padding:1rem 1.1rem;background:#fff;font:inherit;font-size:1rem;outline:none}.url:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,81,50,.08)}
.note{font-size:.82rem;color:#65746b;margin-top:12px}.section{padding:90px 0}.soft{background:var(--mist)}.section-head{max-width:760px;margin-bottom:48px}.section-head p{font-size:1.08rem;color:#5a695f}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:18px;padding:32px;background:#fff}.card.alt{background:var(--green);color:white}.card p{color:#5a695f}.card.alt p{color:#dbe8df}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.pill{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font-size:.86rem;background:white}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step{padding:22px;border-top:3px solid var(--green);background:#fff}.step span{display:block;color:var(--green);font-weight:800;font-size:.78rem;margin-bottom:18px}
.case{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.scores{display:flex;gap:16px;flex-wrap:wrap}.score{background:var(--pale);padding:22px;border-radius:14px;min-width:155px}.score strong{display:block;font-size:2rem;color:var(--green);line-height:1}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}.checklist{padding:0;list-style:none}.checklist li{padding:.55rem 0;border-bottom:1px solid var(--line)}.checklist li:before{content:"✓";color:var(--green);font-weight:800;margin-right:10px}
.cta{background:var(--green);color:#fff;border-radius:26px;padding:clamp(36px,6vw,70px)}.cta .health-row{margin-top:28px}.cta .btn{background:white;color:var(--green);border-color:white}
footer{padding:55px 0 30px;border-top:1px solid var(--line);margin-top:90px}.footer-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:40px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:.9rem}.footer-links b{display:block;margin-bottom:10px}.footer-links a{display:block;color:#5c6a61;margin:.35rem 0}
.subhero{padding:80px 0 45px}.subhero h1{font-size:clamp(3rem,6vw,5.6rem);max-width:900px}.prose{max-width:820px}.prose h2{font-size:2.2rem;margin-top:55px}.prose p,.prose li{color:#526158}
.result{display:none;margin-top:25px;background:white;border-radius:14px;padding:24px;border:1px solid var(--line)}.result.show{display:block}.status{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--green)}
@media(max-width:900px){.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:24px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu{display:block}.hero-grid,.case,.split,.footer-grid{grid-template-columns:1fr}.hero{padding-top:55px}.hero-art{min-height:330px}.steps{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:min(calc(100% - 28px),var(--max))}.health-row{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.section{padding:65px 0}.hero{padding-bottom:50px}.hero-art{min-height:280px}.footer-links{grid-template-columns:1fr}h1{font-size:3.4rem}}

/* v2 — richer visual system, still lightweight */
:root{--max:1380px;--deep:#063f2b;--mint:#e8f4eb}
body{font-size:15px}
h1{font-size:clamp(2.8rem,5.2vw,5.35rem);line-height:1.01}
h2{font-size:clamp(2rem,3.1vw,3.25rem)}
.hero{padding:54px 0 36px}
.hero-grid{grid-template-columns:.9fr 1.1fr;gap:42px}
.micro-features{display:flex;gap:32px;flex-wrap:wrap;margin-top:28px}
.micro{display:flex;gap:10px;align-items:center;font-weight:700;font-size:.82rem}
.ico{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--green);font-size:1.25rem}
.health{position:relative;overflow:hidden}
.health>*{position:relative;z-index:1}.health-row{max-width:900px}
.problem-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}.icon-item{font-weight:700;font-size:.82rem}.icon-item .ico{margin:0 auto 10px;width:52px;height:52px;font-size:1.5rem}
.card{box-shadow:0 10px 35px rgba(20,60,35,.045)}.card-icon{font-size:1.5rem;width:54px;height:54px;display:grid;place-items:center;background:var(--pale);color:var(--green);border-radius:50%;margin-bottom:18px}
.steps{gap:22px}.step{border-top:0;background:transparent;padding:12px}.step .step-icon{font-size:1.55rem;color:var(--green);margin-bottom:8px}
.case-visual{min-height:330px;background:url("../images/case-study-gms.webp") center/contain no-repeat}

.cta{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--deep),#08734f)}
.cta>*{position:relative;z-index:1}
.subhero{background:linear-gradient(120deg,#fff 55%,var(--pale));border-bottom:1px solid var(--line)}
@media(max-width:900px){.problem-grid{grid-template-columns:1fr}.icon-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:14px}.hero{padding-top:38px}.micro-features{gap:15px}.micro{width:calc(50% - 10px)}}

/* Supplied hero photography — art director asset */
.hero-art.supplied-hero{display:block;min-height:0;background:none;aspect-ratio:16/9;border-radius:24px}
.hero-art.supplied-hero picture,.hero-art.supplied-hero img{display:block;width:100%;height:100%}
.hero-art.supplied-hero img{object-fit:cover;object-position:center;border-radius:inherit}
@media(max-width:900px){.hero-art.supplied-hero{aspect-ratio:16/10}}
@media(max-width:600px){.hero-art.supplied-hero{aspect-ratio:4/3}.hero-art.supplied-hero img{object-position:62% center}}

/* Supplied SVG benefit icons */
.micro .ico img{width:24px;height:24px;display:block}

/* SiteDiet supplied SVG issue icons */
.icon-item .ico img{display:block;width:30px;height:30px;object-fit:contain}

/* SiteDiet supplied SVG process icons */
.step-icon img{display:block;width:30px;height:30px;object-fit:contain}

/* SiteDiet process sizing — v8 */
.step-no,.step-number{font-size:30px}
.step-icon img{width:50px;height:50px}

/* SiteDiet supplied treatment icons */
.treatment-icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

/* Handwritten annotation style */
.handnote {
  font-weight: 700;
  font-style: italic;
  color: #0f5132;
  transform: rotate(-3deg);
  display: inline-block;
  font-size: 25px;
}

.card-icon img{display:block;width:30px;height:30px;object-fit:contain}

/* Header and footer SiteDiet brand */
.brand {
  font-size: 2.00rem;
  letter-spacing: -.02em;
}

/* Footer brand strapline */
.site-footer .brand + p,
footer .brand + p {
  font-size: 18px;
}


/* v14 — patient-facing Website Health Check */
.navlinks a.active{color:var(--green)}
.health-hero{padding:72px 0 62px;background:linear-gradient(120deg,#fff 52%,#eef6f0)}
.health-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:center}
.health-intro h1{margin-top:12px}.health-intro h1 strong{color:var(--green);font-weight:800}
.clinic-mark{width:245px;height:245px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center;gap:14px;color:var(--green);box-shadow:0 24px 70px rgba(15,81,50,.08)}
.clinic-heart{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.8rem}.clinic-mark span{line-height:1.25;font-size:.95rem}.clinic-mark b{font-size:1.05rem}
.health-check-section{padding-top:64px}.health-console{margin-bottom:82px;padding:clamp(30px,5vw,58px);background:linear-gradient(135deg,#edf6ef,#f8fbf8);box-shadow:0 24px 70px rgba(20,60,35,.06)}
.health-console:after{display:none}.health-console-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:32px}.health-console-head h2{font-size:clamp(2rem,3vw,3.2rem);margin:8px 0 12px}.health-console-head p{margin:0;color:#5a695f;max-width:680px}
.health-badge{flex:none;border:1px solid #c8ddd0;border-radius:999px;padding:.5rem .8rem;background:#fff;color:var(--green);font-size:.78rem;font-weight:700}.health-badge span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f8b58;margin-right:7px}
.url-label{display:block;font-size:.82rem;font-weight:800;margin:0 0 8px}.health-console .health-row{max-width:none}.health-console .url{min-height:56px;font-size:1.05rem}.health-console .btn{min-height:56px;padding-inline:1.45rem}
.health-progress{display:none;align-items:center;gap:14px;margin-top:24px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}.health-progress.show{display:flex}.health-progress strong,.health-progress span{display:block}.health-progress span{font-size:.86rem;color:#65746b;margin-top:2px}.pulse-dot{width:16px;height:16px;border:4px solid #b9d6c3;border-top-color:var(--green);border-radius:50%;animation:healthSpin .8s linear infinite}@keyframes healthSpin{to{transform:rotate(360deg)}}
.health-console .result{padding:0;border:0;background:transparent;margin-top:30px}.health-error{padding:20px;border:1px solid #e6caca;background:#fff7f7;border-radius:14px}.health-error strong{display:block;color:#7c2727;margin-bottom:4px}
.patient-report{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(20,60,35,.055)}.report-top{padding:30px 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.report-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:.75rem;font-weight:800}.report-top h3{font-size:clamp(1.65rem,2.5vw,2.35rem);margin:7px 0 8px}.report-url{font-size:.84rem;color:#68766e;word-break:break-all}.diagnosis-chip{flex:none;border-radius:999px;background:var(--pale);color:var(--green);padding:.65rem .9rem;font-size:.78rem;font-weight:800}
.report-body{display:grid;grid-template-columns:.9fr 1.1fr}.diagnosis-panel{padding:32px;border-right:1px solid var(--line);background:#fbfdfb}.diagnosis-panel .label,.vitals-panel .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#78857d;margin-bottom:10px}.diagnosis-status{font-size:1.45rem;line-height:1.2;font-weight:800;color:var(--green);margin-bottom:14px}.diagnosis-note{color:#526158;margin:0 0 24px}.prescription{border-top:1px solid var(--line);padding-top:20px}.prescription strong{display:block;margin-bottom:5px}.prescription p{margin:0;color:#526158}.vitals-panel{padding:32px}.vital-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vital-score{border:1px solid var(--line);border-radius:14px;padding:18px}.vital-score .score-number{font-size:2rem;line-height:1;font-weight:800;color:var(--green)}.vital-score .score-name{font-size:.82rem;font-weight:700;margin-top:8px}.vital-score .score-bar{height:5px;background:#e7eee9;border-radius:999px;margin-top:12px;overflow:hidden}.vital-score .score-bar i{display:block;height:100%;background:var(--green);border-radius:inherit}.diagnostic-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.diagnostic-pill{appearance:none;font:inherit;background:var(--pale);border:1px solid transparent;border-radius:999px;padding:.48rem .72rem;font-size:.76rem;color:#526158;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.diagnostic-pill b{color:var(--ink)}.diagnostic-pill:hover,.diagnostic-pill:focus-visible{border-color:#b9d2c3;outline:none}.diagnostic-pill.active{background:#dcece2;border-color:#9fc5ad;color:var(--green)}.metric-explanation{margin-top:12px;max-width:620px;padding:12px 14px;border-left:3px solid var(--green);background:#f7faf8;border-radius:0 10px 10px 0;color:#526158;font-size:.82rem;line-height:1.55}.metric-explanation[hidden]{display:none}
.report-foot{padding:20px 32px;border-top:1px solid var(--line);font-size:.78rem;color:#6d7b72;background:#fbfdfb}.health-explainer .section-head{margin-bottom:34px}.health-feature-cards{grid-template-columns:repeat(4,1fr)}.health-feature-cards .card{padding:25px}.health-feature-cards h3{font-size:1.12rem;letter-spacing:-.025em;margin-bottom:10px}.health-feature-cards p{font-size:.88rem;margin-bottom:0}.vital-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--green);font-weight:800;margin-bottom:18px}
@media(max-width:900px){.health-intro{grid-template-columns:1fr}.clinic-mark{display:none}.health-console-head{display:block}.health-badge{display:inline-block;margin-top:18px}.report-body{grid-template-columns:1fr}.diagnosis-panel{border-right:0;border-bottom:1px solid var(--line)}.health-feature-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.health-hero{padding:50px 0 38px}.health-console{padding:24px 20px;border-radius:18px}.health-console .btn{width:100%}.report-top{padding:24px;display:block}.diagnosis-chip{display:inline-block;margin-top:16px}.diagnosis-panel,.vitals-panel{padding:24px}.vital-grid{grid-template-columns:1fr 1fr}.health-feature-cards{grid-template-columns:1fr}.report-foot{padding:18px 24px}}
/* SiteDiet diagnostic findings */

.cause-item {
  padding: 14px 0;
  border-bottom: 1px solid #e1ebe5;
}

.cause-item:last-child {
  border-bottom: 0;
}

.cause-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.cause-heading strong {
  line-height: 1.4;
}

.cause-item p {
  margin: 0;
}

.cause-severity {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cause-severity.high {
  background: #f8e8e6;
  color: #8a3028;
}

.cause-severity.moderate {
  background: #fff3d8;
  color: #795700;
}
.case-study-page-image{display:block;width:100%;height:auto;border-radius:22px;margin:0 0 48px;box-shadow:0 18px 45px rgba(18,56,38,.10)}

/* v18 - contact page */
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:56px;align-items:start}
.contact-health h2,.contact-form-card h2{font-size:clamp(2rem,3vw,3.1rem)}
.contact-health p,.contact-form-card>p{color:#526158;max-width:650px}
.contact-health-btn{margin-top:18px;padding:1.05rem 1.4rem;border-radius:18px;box-shadow:0 0 0 3px #2b84e8;font-size:1.05rem}
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(26px,4vw,44px);box-shadow:0 18px 45px rgba(20,60,35,.05)}
.contact-form{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.contact-form label{display:block;font-weight:700;font-size:.88rem}.contact-form label>span{color:var(--green)}.contact-form small{font-weight:500;color:#78857d;margin-left:5px}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #bcd0c1;border-radius:10px;background:#fff;padding:.9rem 1rem;font:inherit;color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s}
.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,81,50,.08)}
.form-wide{grid-column:1/-1}.contact-form .btn{padding:1rem 1.35rem}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:44px}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.contact-form-card{padding:24px 20px}.contact-health-btn{width:100%}}


/* v19 - visual finishing pass */
.brand{color:#0f5132}
.brand .site{font-weight:800}.brand .diet{font-weight:300}
.nav{height:86px;gap:38px}.navlinks{gap:29px}
.navlinks a:not(.btn){position:relative;padding:.35rem 0;transition:color .18s ease}
.navlinks a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#0f5132;transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.navlinks a:not(.btn):hover::after{transform:scaleX(1)}
.navlinks a.active:not(.btn){color:#0f5132}
.hero-grid>div:first-child h1{font-size:clamp(3.15rem,5.7vw,5.85rem)}
.contact-health-btn{padding:.88rem 1.2rem;border-radius:9px;box-shadow:none;font-size:inherit}
.subhero h1,.health-intro h1{font-size:clamp(3rem,6vw,6rem);color:#0f5132;max-width:1100px}
.health-intro h1 strong{white-space:nowrap}
.clinic-heart{width:88px;height:88px;background:transparent}
.clinic-heart img{width:78px;height:78px;object-fit:contain}
.vital-icon img{width:28px;height:28px;object-fit:contain}
.health-badge span{animation:liveHeartbeat 2.2s ease-in-out infinite;transform-origin:center}
@keyframes liveHeartbeat{0%,62%,100%{transform:scale(1);opacity:.82}68%{transform:scale(1.35);opacity:1}74%{transform:scale(.98);opacity:.88}80%{transform:scale(1.22);opacity:1}88%{transform:scale(1);opacity:.82}}
.step-icon{transform-origin:center}
.step-icon.wave-pulse{animation:stepPulse .52s ease-out both}
@keyframes stepPulse{0%,100%{transform:scale(1)}45%{transform:scale(1.12)}}
@media(max-width:900px){.nav{height:82px}.navlinks{top:82px;gap:18px}.subhero h1,.health-intro h1{font-size:clamp(3rem,9vw,5rem)}}
@media(max-width:600px){.subhero h1,.health-intro h1{font-size:clamp(2.75rem,13vw,4rem)}.hero-grid>div:first-child h1{font-size:3.65rem}}
@media(prefers-reduced-motion:reduce){.health-badge span,.step-icon.wave-pulse{animation:none!important}.navlinks a:not(.btn)::after{transition:none}}

/* v22 - wider internal-page layouts while preserving comfortable reading measure */
.layout-wide .subhero .prose,
.layout-wide .section > .prose{max-width:1040px}
.layout-wide .section > .prose > section{max-width:860px}
.layout-wide .section > .prose > section p,
.layout-wide .section > .prose > section li{max-width:820px}
.layout-wide .subhero .lead{max-width:780px}
.layout-wide .case-study-page-image{width:100%;max-width:1040px}
@media(max-width:900px){
  .layout-wide .subhero .prose,
  .layout-wide .section > .prose{max-width:none}
  .layout-wide .section > .prose > section{max-width:none}
}

/* v23 - Health Check QA refinements */
.health-validation{display:none;margin:7px 0 0;font-size:.84rem;font-weight:650;color:#8a3030}.health-validation.show{display:block}.health-form .url.input-error{border-color:#c77b7b;background:#fffafa;box-shadow:0 0 0 2px rgba(138,48,48,.06)}

/* v24 - homepage mobile responsive design pass */
@media(max-width:600px){
  .home .hero{padding:42px 0 46px}
  .home .hero-grid{display:flex;flex-direction:column;gap:28px}
  .home .hero-grid>div:first-child h1{font-size:clamp(3.25rem,15vw,4rem);line-height:.98;margin:12px 0 22px;max-width:9ch}
  .home .hero .lead{font-size:1.08rem;line-height:1.65;margin:0 0 24px;max-width:none}
  .home .hero p:has(.btn){display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:0}
  .home .hero p:has(.btn) .btn{width:auto}
  .home .hero-art.supplied-hero{order:2;width:100%;aspect-ratio:16/10;min-height:0;margin-top:2px}
  .home .micro-features{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
  .home .micro{width:auto;gap:12px;font-size:.95rem}
  .home .micro .ico{flex:0 0 38px}

  .home .health{margin-bottom:0;padding:30px 22px;border-radius:22px}
  .home .health h2{font-size:2.45rem;line-height:1.02}
  .home .health .section-head,.home .health>div:first-child{margin-bottom:26px}
  .home .health-row{gap:10px}
  .home .health .url,.home .health .btn{min-height:54px}

  .home .section{padding:58px 0}
  .home .section-head{margin-bottom:34px}
  .home .section-head h2{font-size:2.55rem;line-height:1.04}
  .home .section-head p{font-size:1rem;line-height:1.7}
  .home .problem-grid{gap:34px}
  .home .icon-grid{gap:24px 12px}
  .home .icon-item{font-size:.9rem}

  .home .cards{gap:16px}
  .home .card{padding:26px 22px;border-radius:18px}
  .home .card h3{font-size:1.75rem}
  .home .card p{font-size:1rem;line-height:1.65}

  .home .steps{display:grid;grid-template-columns:1fr;gap:0}
  .home .step{display:grid;grid-template-columns:56px 1fr;grid-template-areas:"num title" "icon copy";column-gap:16px;row-gap:4px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
  .home .step:last-child{border-bottom:0}
  .home .step>span{grid-area:num;margin:0;font-size:.8rem;align-self:center}
  .home .step .step-icon{grid-area:icon;margin:0;align-self:start}
  .home .step .step-icon img{width:44px;height:44px}
  .home .step h3{grid-area:title;margin:0;font-size:1.65rem;align-self:center}
  .home .step p{grid-area:copy;margin:0;font-size:.98rem;line-height:1.55}

  .home .case{gap:30px}
  .home .scores{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .home .score{min-width:0;padding:18px 14px;text-align:center}
  .home .score strong{font-size:1.8rem;white-space:nowrap}
  .home .case-visual{min-height:0;aspect-ratio:4/3;background-size:cover;border-radius:18px}
  .home .handnote{font-size:22px;line-height:1.35;margin-top:20px}

  .home .split{gap:34px}
  .home .split h2,.home .split h3{font-size:2rem}
  .home .checklist{margin-bottom:0}
  .home .checklist li{padding:.75rem 0;font-size:1rem}

  .home .soft .section-head{margin-bottom:0}
  .home .soft .section-head p{margin-bottom:0}

  .home .cta{padding:34px 22px;border-radius:22px}
  .home .cta h2{font-size:2.45rem;line-height:1.04}
  .home .cta p{font-size:1rem}

  .home footer{padding:42px 0 24px;margin-top:58px}
  .home .footer-grid{gap:30px}
  .home .footer-grid>div:first-child p{margin-top:10px;font-size:1rem}
  .home .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}
  .home .footer-links>div:last-child{grid-column:1/-1}
  .home .footer-links b{margin-bottom:8px}
  .home footer .note{margin-top:28px!important;line-height:1.55}
}


/* v25 - Health Check responsive polish */
@media(max-width:900px){
  .health-page .health-check-section{padding-top:54px}
  .health-page .health-console{margin-bottom:58px}
  .health-page .health-explainer{margin-bottom:0}
  .health-page .health-feature-cards{gap:20px}
  .health-page .health-feature-cards .card{padding:24px}
  .health-page .health-check-section + .wrap{margin-top:34px!important}
}
@media(max-width:600px){
  .health-page .health-hero{padding:52px 0 46px}
  .health-page .health-intro h1{font-size:clamp(3.15rem,13.5vw,3.65rem);line-height:.98;margin:16px 0 24px}
  .health-page .health-intro .lead{font-size:1.05rem;line-height:1.65}
  .health-page .health-check-section{padding-top:50px;padding-bottom:52px}
  .health-page .health-console{margin-bottom:50px;padding:28px 20px 24px}
  .health-page .health-console-head{margin-bottom:26px}
  .health-page .health-console-head h2{font-size:2.15rem;line-height:1.04}
  .health-page .health-console-head p{font-size:1rem;line-height:1.6}
  .health-page .health-badge{margin-top:16px}
  .health-page .health-console .result{margin-top:24px}
  .health-page .report-top{padding:24px 24px 22px}
  .health-page .diagnosis-panel,.health-page .vitals-panel{padding:26px 24px}
  .health-page .cause-heading{gap:12px}
  .health-page .vital-score{padding:16px}
  .health-page .vital-score .score-number{font-size:1.85rem}
  .health-page .vital-score .score-name{font-size:.78rem}
  .health-page .diagnostic-row{gap:8px}
  .health-page .diagnostic-pill{padding:.45rem .62rem;font-size:.72rem}
  .health-page .health-explainer .section-head{margin-bottom:28px}
  .health-page .health-explainer .section-head h2{font-size:2.45rem;line-height:1.04}
  .health-page .health-explainer .section-head p{font-size:1rem;line-height:1.65}
  .health-page .health-feature-cards{gap:16px}
  .health-page .health-feature-cards .card{padding:24px 24px 26px}
  .health-page .health-feature-cards .vital-icon{margin-bottom:14px}
  .health-page .health-feature-cards h3{margin-bottom:8px}
  .health-page .health-check-section + .wrap{margin-top:28px!important}
  .health-page .health-check-section + .wrap .cta{padding:34px 28px;border-radius:22px}
  .health-page .health-check-section + .wrap .cta h2{font-size:2rem!important;line-height:1.05}
  .health-page .health-check-section + .wrap .cta p{font-size:1rem;line-height:1.6}
  .health-page footer{margin-top:58px;padding-top:46px}
}


/* v27 - responsive rhythm, header consistency and mobile menu refinement */
.menu{color:var(--green);line-height:1;cursor:pointer}
.menu:focus{outline:none}
.menu:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:3px}

@media(max-width:900px){
  .navlinks{gap:15px;padding:22px 20px 26px}
  .navlinks a:not(.btn){padding:.2rem 0}

  /* Internal pages: remove desktop-scale vertical spacing at tablet widths. */
  .layout-wide .subhero{padding:62px 0 48px}
  .layout-wide .section{padding:60px 0}
  .layout-wide .section>.prose>section:first-child h2{margin-top:0}
  .layout-wide .prose h2{margin-top:42px}

  /* Contact uses its own layout rather than layout-wide. */
  body:not(.home):not(.health-page) .contact-layout{gap:34px}
  body:not(.home):not(.health-page) .contact-layout>section:first-child h2{margin-top:0}
}

@media(max-width:600px){
  /* A tighter, consistent internal-page rhythm on phones. */
  .layout-wide .subhero,
  body:not(.home):not(.health-page) .subhero{padding:50px 0 42px}
  .layout-wide .section,
  body:not(.home):not(.health-page) .section{padding:48px 0}
  .layout-wide .section>.prose>section:first-child h2{margin-top:0}
  .layout-wide .prose h2{margin-top:34px}
  .layout-wide .prose p{margin-bottom:1rem}

  /* Pull the closing CTA up on Services, Results, About and Contact. */
  .layout-wide main>.wrap[style*="margin-top"],
  body:not(.home):not(.health-page) main>.wrap[style*="margin-top"]{margin-top:30px!important}
  .layout-wide main>.wrap .cta,
  body:not(.home):not(.health-page) main>.wrap .cta{padding:32px 24px}

  /* Footer brand and strapline should read as one unit. */
  footer{margin-top:52px;padding:42px 0 24px}
  .footer-grid{gap:28px}
  .footer-grid>div:first-child p{margin-top:7px;margin-bottom:0}
  .footer-links{gap:24px}
  footer .note{margin-top:26px!important;line-height:1.55}
}

/* v28 - phone prose heading scale */
@media(max-width:400px){
  .prose h2{font-size:1.8rem}
}

/* v29 - tablet layout and spacing refinement */
@media (min-width:601px) and (max-width:900px){
  /* Homepage hero: use the tablet width deliberately rather than an enlarged phone layout. */
  .home .hero{padding:46px 0 38px}
  .home .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 34px;align-items:end}
  .home .hero-grid>div:first-child{display:contents}
  .home .hero-grid .eyebrow{grid-column:1/-1;white-space:nowrap;margin:0}
  .home .hero-grid h1{grid-column:1/-1;font-size:clamp(3.65rem,8vw,4.15rem);line-height:.98;margin:0;max-width:none;white-space:nowrap}
  .home .hero-grid h1 strong{display:block}
  .home .hero-grid .lead{grid-column:1;grid-row:3;margin:0;font-size:1rem;line-height:1.58;align-self:start}
  .home .hero-grid>div:first-child>p:not(.lead){grid-column:1;grid-row:4;margin:0;display:flex;align-items:center;gap:18px;white-space:nowrap}
  .home .hero-grid>div:first-child>p:not(.lead) .btn{flex:0 0 auto}
  .home .hero-art.supplied-hero{grid-column:2;grid-row:3/5;align-self:stretch;aspect-ratio:auto;min-height:245px}
  .home .micro-features{grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:10px}
  .home .micro{width:auto;justify-content:center;gap:10px;white-space:nowrap}

  /* Reduce tablet vertical drift throughout the homepage. */
  .home .section{padding:58px 0}
  .home .section-head{margin-bottom:34px}
  .home .health{margin-top:0;margin-bottom:0;padding-top:38px;padding-bottom:38px}
  .home .problem-grid{gap:38px}
  .home .cards{gap:20px}
  .home .steps{gap:16px}
  .home .case,.home .split{gap:36px}
  .home main>.wrap[style*="margin-top"]{margin-top:38px!important}
  .home footer{margin-top:62px}

  /* Footer navigation uses the available tablet width. */
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  footer{padding:46px 0 28px;margin-top:62px}
  footer .note{margin-top:28px!important}

  /* Health Check tablet hero title - desktop and phone sizes remain unchanged. */
  .health-page .health-intro h1{font-size:4rem;line-height:1}
}


/* v30 - final tablet hero refinements */
@media (min-width:601px) and (max-width:900px){
  .home .hero-grid h1{line-height:1.05}
}

/* v36 - production contact form states */
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form-status{margin-top:16px;min-height:1.5em;font-weight:600;color:#526158}
.contact-form-status.success{color:var(--green)}
.contact-form-status.error{color:#8f0000}
.contact-form .btn:disabled{opacity:.65;cursor:wait}

/* v38 - privacy choices and consent-gated analytics */
.privacy-choices-btn{appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.privacy-choices-btn:hover{color:#0f5132}
.privacy-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1000;max-width:760px;margin:0 auto;background:#fff;border:1px solid #cfe0d5;border-radius:22px;padding:24px;box-shadow:0 14px 45px rgba(15,81,50,.16)}
.privacy-banner[hidden]{display:none}
.privacy-banner h2{margin:0 0 8px;font-size:1.35rem;line-height:1.2;color:#102019}
.privacy-banner p{margin:0;color:#53635b;line-height:1.55}
.privacy-banner a{color:#0f5132}
.privacy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.privacy-actions button{min-height:46px;border-radius:999px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}
.privacy-reject{background:#fff;color:#0f5132;border:1px solid #0f5132}
.privacy-accept{background:#0f5132;color:#fff;border:1px solid #0f5132}
.privacy-actions button:focus-visible,.privacy-choices-btn:focus-visible{outline:3px solid rgba(15,81,50,.25);outline-offset:3px}
@media(max-width:600px){.privacy-banner{left:12px;right:12px;bottom:12px;padding:20px;border-radius:18px}.privacy-actions{display:grid;grid-template-columns:1fr}.privacy-actions button{width:100%}}

/* Contextual internal links */
.context-link { color: #0f5132; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.context-link:hover, .context-link:focus-visible { text-decoration-thickness: 2px; }
