/* HEALTHICAL V2 — programme page and resource design system
   Uses the existing Healthical copy and functionality; shifts pages from plain panels
   to immersive editorial scenes with circular and cross-disciplinary visual motifs. */
.inner-hero{position:relative;min-height:630px;display:flex;align-items:center;isolation:isolate;background:#143d2d;overflow:hidden;border:0}
.inner-hero .inner-visual{position:absolute;z-index:-2;inset:0;min-height:0;width:100%;height:100%;overflow:hidden}
.inner-hero .inner-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.88) contrast(1.08) brightness(.91);transform:scale(1.005)}
.inner-hero .inner-visual::before{content:"";position:absolute;z-index:2;right:-300px;top:-280px;width:900px;height:900px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,transparent 0 40%,rgba(237,233,203,.16) 40.1% 40.3%,transparent 40.5% 51%,rgba(237,233,203,.19) 51.15% 51.35%,transparent 51.6% 62%,rgba(237,233,203,.13) 62.1% 62.2%,transparent 62.4%)}
.inner-hero .inner-visual::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,39,28,.97) 0%,rgba(9,44,31,.88) 37%,rgba(13,50,33,.36) 79%,rgba(11,44,29,.18) 100%),linear-gradient(0deg,rgba(7,33,24,.48),transparent 45%)}
.inner-hero .inner-copy{position:relative;z-index:2;width:min(900px,73%);min-height:0;margin:0;padding:85px 0 102px max(40px,calc((100vw - 1260px)/2));background:none!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.inner-hero .inner-copy .eyebrow{color:#f0cd83!important;font:700 11px var(--sans);letter-spacing:.2em;display:flex;align-items:center;gap:15px}
.inner-hero .inner-copy .eyebrow::before{content:"";width:28px;height:2px;background:#e2a84a}
.inner-hero .inner-copy h1{font-size:clamp(3.75rem,5.6vw,7.6rem);letter-spacing:-.07em;line-height:1.14;margin:31px 0 28px;max-width:850px;color:#f7f5ee;text-wrap:balance}
.inner-hero .inner-copy h1 em{color:#bfd4b1;letter-spacing:-.06em}
.inner-hero .inner-copy>p:not(.eyebrow){font-size:clamp(17px,1.65vw,21px);line-height:1.72;max-width:610px;color:#e1ece1}
.inner-hero .image-caption{position:absolute;z-index:3;bottom:25px;right:40px;background:rgba(11,44,30,.64);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.25);padding:11px 18px;color:#e8f1e7}
.inner-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1b4d2e 0%,#5a8f5b 29%,#e2a84a 50%,#5b8fb9 72%,#8b6f47 100%)}
body[data-healthical-page="technology"] .inner-visual:after{background:linear-gradient(90deg,rgba(7,36,41,.95) 0%,rgba(11,47,47,.81) 42%,rgba(14,49,38,.18) 100%)}
body[data-healthical-page="technology"] .inner-copy h1 em{color:#a8cee2}
body[data-healthical-page="restore"] .inner-copy h1 em{color:#d2dbae}
body[data-healthical-page="grow"] .inner-copy h1 em{color:#f0c885}
body[data-healthical-page="community"] .inner-copy h1 em{color:#e9d5a0}
body[data-healthical-page="learn"] .inner-copy h1 em{color:#b1d0c7}
/* Section-specific upper labels, image masks and subtle continuity. */
.section:not(.v2-programmes):not(.v2-learning){position:relative}
.section-heading h2{letter-spacing:-.064em;font-size:clamp(3rem,4.45vw,5.5rem);line-height:1.13}
.section-heading .eyebrow{color:#907048;font-size:11px;letter-spacing:.19em}
.section-heading>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#576c5c}
.section-heading h2 em{color:#5f8e69}
.feature-card{background:#fff;border:0;border-bottom:4px solid #5a8f5b;box-shadow:0 15px 46px rgba(10,43,26,.075);overflow:hidden;transition:transform .42s,box-shadow .42s}
.feature-card:nth-child(2){border-bottom-color:#d1a257}
.feature-card:nth-child(3){border-bottom-color:#5b8fb9}
.feature-card:hover{transform:translateY(-7px);box-shadow:0 26px 64px rgba(9,36,26,.15)}
.feature-image{height:290px;position:relative}
.feature-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,54,32,.18),transparent 55%)}
.feature-content{padding:36px}
.feature-content h3{font-size:clamp(1.8rem,2.4vw,3rem);letter-spacing:-.055em;margin:16px 0}
.feature-content p{line-height:1.7}
.card-go{border-top-color:#d5dfd4}
.split-feature{position:relative;min-height:550px;background:linear-gradient(118deg,#e5e7d8,#f2ede2);border:none}
.split-photo{position:relative;min-height:550px}
.split-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 45%,rgba(15,47,33,.15) 100%)}
.split-photo img{object-fit:cover;object-position:center}
.split-content{padding:70px clamp(45px,6vw,100px)}
.split-content h3{letter-spacing:-.07em}
.split-content h3 em{color:#5e9067}
.split-content .tiny-label{color:#8b6f47}
.split-content>p{color:#536553;font-size:17px;line-height:1.78}
.forest-block{position:relative;isolation:isolate;background:linear-gradient(90deg,rgba(8,43,29,.96),rgba(14,55,38,.92)),url('/assets/v2/forest.webp') center/cover no-repeat}
.forest-block:before{content:"";position:absolute;right:-260px;top:-440px;width:920px;height:920px;pointer-events:none;border:1px solid rgba(194,225,188,.22);border-radius:50%;box-shadow:0 0 0 70px rgba(179,209,171,.045),0 0 0 230px rgba(173,213,173,.035)}
.greenhouse-art{overflow:hidden}
.greenhouse-art img{transition:transform .9s}
.greenhouse-art:hover img{transform:scale(1.06)}
.greenhouse-grid h2{font-size:clamp(2.8rem,4vw,4.7rem)}
.greenhouse-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.78}
.sage-section{background:radial-gradient(circle at 85% 15%,rgba(141,185,167,.22),transparent 30%),linear-gradient(145deg,#e5eee2 0%,#ece9e1 65%,#e4e8de 100%);position:relative;overflow:hidden}
.sage-section:before{content:"";position:absolute;width:680px;height:680px;top:-410px;right:-230px;border:1px solid rgba(55,107,72,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(95,143,90,.04),0 0 0 160px rgba(99,143,95,.025);pointer-events:none}
.sage-section>.wrap{position:relative;z-index:2}
.principles>div{border-top:3px solid #87ab8c;min-height:200px;position:relative}
.principles>div:nth-child(3n+2){border-top-color:#bb9566}
.principles>div:nth-child(3n){border-top-color:#82acc0}
.principles h3{letter-spacing:-.045em}
.principles p{line-height:1.7}
.principles .tiny-label{font-size:11px;color:#a0875d}
.steps>*{border-top-width:3px;background:linear-gradient(145deg,#e4eee0,#f4f1e8)}
.steps>*:nth-child(2){background:linear-gradient(145deg,#f2e6d4,#f4f2ec)}
.steps>*:nth-child(3){background:linear-gradient(145deg,#dcecf2,#f1f5f0)}
.steps>*>span{font-size:42px}
.steps h3{font-size:1.9rem}
.steps p{line-height:1.65}
.system-diagram{gap:16px}
.system-diagram>div{background:linear-gradient(150deg,#e0ede1,#f4f5ed);border:1px solid #cbdbcc;border-top:5px solid #5a8f5b;min-height:235px;position:relative;overflow:hidden;padding:29px}
.system-diagram>div:after{content:"";position:absolute;width:180px;height:180px;right:-95px;top:-95px;border:1px solid rgba(31,77,48,.18);border-radius:50%;box-shadow:0 0 0 28px rgba(31,77,48,.04)}
.system-diagram>div:nth-child(2){background:linear-gradient(140deg,#f5e8cc,#f8f4e8);border-top-color:#e2a84a}
.system-diagram>div:nth-child(3){background:linear-gradient(140deg,#dceef7,#f0f5f7);border-top-color:#5b8fb9}
.system-diagram>div:nth-child(4){background:linear-gradient(140deg,#f3e9d9,#f5f1e8);border-top-color:#8b6f47}
.system-diagram b{font-size:clamp(1.25rem,1.7vw,1.8rem);position:relative;z-index:1}
.diagram-rows{background:radial-gradient(circle at 15% 30%,rgba(167,196,160,.29),transparent 35%),#f0f1e8;padding:32px;position:relative}
.diagram-rows:after{content:"";position:absolute;top:-30px;right:30px;width:200px;height:200px;border:1px solid rgba(91,143,185,.19);border-radius:50%;pointer-events:none}
.diagram-rows>div{gap:15px;position:relative;z-index:1}
.diagram-rows b{padding:25px 13px;background:#fff;border:1px solid #dce4d8;box-shadow:0 9px 23px rgba(9,40,23,.035)}
.diagram-rows>div:nth-child(2) b{background:#e5f0e6}
.diagram-rows>div:nth-child(3) b{background:#f4ece0}
.diagram-rows span{color:#c6a46b}
.programmes article{padding:32px 0;transition:padding .3s}
.programmes article:hover{padding-left:10px}
.programmes article h3{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.04em}
.programmes article>a{transition:background .25s,color .25s}
.programmes article:hover>a{background:#1b4d2e;color:white}
/* Image-led explainer breaks inserted into relevant programme pages. */
.v2-insight-break{position:relative;min-height:485px;display:flex;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.v2-insight-media,.v2-insight-media img,.v2-insight-wash{position:absolute;inset:0;width:100%;height:100%}
.v2-insight-media{z-index:-3}
.v2-insight-media img{object-fit:cover;object-position:center 48%;filter:saturate(.87) brightness(.78)}
.v2-insight-wash{z-index:-2;background:linear-gradient(90deg,rgba(9,36,28,.95),rgba(12,47,33,.7) 49%,rgba(7,32,29,.16)),linear-gradient(0deg,rgba(6,31,23,.3),transparent)}
.v2-insight-break:after{content:"";position:absolute;right:-200px;top:-300px;width:780px;height:780px;border-radius:50%;border:1px solid rgba(239,244,221,.3);box-shadow:0 0 0 64px rgba(250,250,236,.07),0 0 0 140px rgba(245,235,191,.035);pointer-events:none}
.v2-insight-copy{padding:80px 0;position:relative;z-index:2}
.v2-insight-copy .v2-overline{color:#e8c17a}
.v2-insight-copy h2{font:400 clamp(2.8rem,4.3vw,5rem)/1.15 var(--serif);letter-spacing:-.065em;color:#fff;max-width:820px;margin:22px 0}
.v2-insight-copy h2 em{color:#bdcfae}
.v2-insight-copy>p:not(.v2-overline){font-size:18px;line-height:1.8;max-width:615px;color:#e0eee1}
.v2-insight-copy a{color:#fff;border-color:#d8c297}
/* A second, more rigorous explanatory diagram: energy flow != material cycles. */
.v2-flows-guide{margin:55px 0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.v2-flows-guide>article{background:#f4f2ea;padding:30px;border-top:4px solid #e2a84a;min-height:235px;position:relative;overflow:hidden}
.v2-flows-guide>article:nth-child(2){border-top-color:#5b8fb9;background:#e7f1f5}
.v2-flows-guide>article:nth-child(3){border-top-color:#5a8f5b;background:#e6eee3}
.v2-flows-guide article>span{font:700 10px var(--sans);letter-spacing:.18em;color:#8a7b64}
.v2-flows-guide h3{font-size:clamp(1.55rem,2vw,2.35rem);letter-spacing:-.05em;margin:18px 0 12px;color:#1b4d2e}
.v2-flows-guide p{font-size:15px;color:#4d6454;line-height:1.65}
.v2-flows-guide article:after{content:"";position:absolute;width:175px;height:175px;top:-90px;right:-90px;border:1px solid rgba(27,77,46,.19);border-radius:50%}
/* Editorial learning hub */
.guide-tools{padding:24px 28px;background:#edf0e7;border-left:3px solid #a7c4a0}
.search-control input{background:#fff;border:1px solid #bdccbf;min-height:48px}
.filter{min-height:41px}
.guide-list{gap:17px}
.guide-card{position:relative;background:linear-gradient(135deg,#edf2e8,#eaeae0);min-height:285px;border:1px solid #e1e8df;border-top:4px solid #5a8f5b;transition:background .3s,transform .3s}
.guide-card:nth-child(3n+2){background:linear-gradient(135deg,#f5e9da,#eae6dd)}
.guide-card:nth-child(3n+3){background:linear-gradient(135deg,#e0edf2,#eceee9)}
.guide-card:hover{transform:translateY(-5px);background:#f5f5ee}
.guide-card h3{font-size:1.9rem;letter-spacing:-.055em}
.guide-card .card-go{color:#1b4d2e}
.guide-card:after{content:"↺";position:absolute;top:13px;right:23px;font:36px var(--serif);color:rgba(53,108,68,.17);pointer-events:none}
.article-page{padding-top:90px}
.article-top h1{letter-spacing:-.075em}
.article-top .lead{font-size:22px;line-height:1.55}
.v2-article-photo{position:relative;margin:55px 0 10px;height:clamp(320px,34vw,500px);overflow:hidden;isolation:isolate}
.v2-article-photo img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.v2-article-photo:after{content:"";inset:0;position:absolute;z-index:1;background:linear-gradient(0deg,rgba(8,43,29,.57),transparent 45%)}
.v2-article-photo figcaption{position:absolute;z-index:2;bottom:20px;left:25px;color:#fff;font:700 10px var(--sans);letter-spacing:.13em}
.article-body{padding-top:65px}
.article-body p,.article-steps li{line-height:1.9}
.article-body h2{letter-spacing:-.05em}
.article-steps{border-left:2px solid #c2d1c0;padding-left:35px}
.article-steps li::marker{color:#aa8e69}
.article-side{position:sticky;top:130px;align-self:start}
.rain-form{background:linear-gradient(138deg,#e5eee3,#edf0e8);border-top:5px solid #5a8f5b;box-shadow:0 15px 45px rgba(20,59,40,.045)}
.result-panel{background:radial-gradient(circle at 100% 0%,#285a59,#153e30 75%);border-top:5px solid #5b8fb9}
.result-panel:after{content:"";position:absolute;right:-150px;top:-150px;width:440px;height:440px;border:1px solid rgba(199,224,209,.2);border-radius:50%;box-shadow:0 0 0 65px rgba(135,181,151,.07)}
.quiz{background:linear-gradient(145deg,#e7efdf,#ecede6);border-top:5px solid #e2a84a;box-shadow:0 30px 70px rgba(24,66,42,.065);position:relative;overflow:hidden}
.quiz:after{content:"";position:absolute;top:-190px;right:-190px;width:400px;height:400px;border-radius:50%;border:1px solid rgba(72,116,71,.12);pointer-events:none}
.quiz-options button{position:relative;z-index:2;transition:transform .2s,box-shadow .2s}
.quiz-options button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,58,37,.1)}
.quiz-options button.selected{background:#1b4d2e;border-color:#1b4d2e}
.cta-strip{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(95deg,#e2eddd,#eae5d9 75%);border-top:0;border-bottom:5px solid #e2a84a}
.cta-strip:after{content:"";position:absolute;z-index:-1;right:-185px;top:-290px;width:530px;height:530px;border:1px solid rgba(27,77,46,.17);border-radius:50%;box-shadow:0 0 0 70px rgba(27,77,46,.04),0 0 0 165px rgba(27,77,46,.03)}
.cta-strip h2{font-size:clamp(2.6rem,4vw,4.9rem);letter-spacing:-.065em}
.footer{background:#102e27;position:relative;overflow:hidden}
.footer:after{content:"";position:absolute;right:-330px;bottom:-420px;width:850px;height:850px;border-radius:50%;border:1px solid rgba(167,196,160,.2);box-shadow:0 0 0 100px rgba(167,196,160,.025);pointer-events:none}
.footer-main,.footer-bottom{position:relative;z-index:2}
.footer-logo{width:240px}
.footer-logo img.brand-lockup{opacity:.94}
@media(max-width:920px){
 .inner-hero{min-height:545px;display:flex;align-items:center}
 .inner-hero .inner-copy{padding:76px 35px;width:min(760px,100%);margin:0}
 .inner-hero .inner-copy h1{font-size:clamp(3.4rem,7vw,5.9rem)}
 .inner-hero .inner-visual:after{background:linear-gradient(90deg,rgba(8,39,28,.94),rgba(8,39,28,.68) 60%,rgba(8,39,28,.23))}
 .inner-hero .inner-visual::before{right:-480px}
 .v2-flows-guide{grid-template-columns:1fr 1fr}
 .v2-insight-copy{padding:70px 0}
}
@media(max-width:600px){
 .inner-hero{min-height:540px}
 .inner-hero .inner-copy{padding:78px 25px 105px;width:100%}
 .inner-hero .inner-copy h1{font-size:clamp(3.05rem,10.8vw,4.3rem);margin:28px 0}
 .inner-hero .inner-copy>p:not(.eyebrow){font-size:16px}
 .inner-hero .inner-visual:after{background:linear-gradient(90deg,rgba(8,39,28,.9),rgba(8,39,28,.65) 85%),linear-gradient(0deg,rgba(8,39,28,.52),transparent)}
 .inner-hero .inner-visual>img{object-position:64% center}
 .inner-hero .image-caption{right:17px;bottom:14px;font-size:9px}
 .section-heading h2{font-size:clamp(2.75rem,9.5vw,4rem)}
 .feature-image{height:245px}
 .feature-content{padding:29px}
 .split-photo{min-height:310px}
 .split-content{padding:36px 25px}
 .split-content h3{font-size:2.8rem}
 .v2-insight-break{min-height:430px}
 .v2-insight-copy{padding:68px 0}
 .v2-insight-copy h2{font-size:clamp(2.6rem,9.7vw,3.9rem)}
 .v2-insight-copy>p:not(.v2-overline){font-size:16px}
 .v2-flows-guide{grid-template-columns:1fr;margin:32px 0}
 .v2-flows-guide>article{min-height:185px}
 .guide-tools{padding:17px}
 .guide-list{gap:13px}
 .article-page{padding-top:60px}
 .article-top h1{font-size:clamp(2.9rem,10vw,4rem)}
 .v2-article-photo{margin:32px 0 0;height:300px}
 .article-body{padding-top:40px}
 .article-side{position:static}
 .article-steps{padding-left:25px}
 .cta-strip h2{font-size:2.9rem}
}
/* Decorative orbit rings never enlarge the document scroll area. */
.forest-block{overflow:hidden}
@media(max-width:600px){
  .diagram-rows{padding:16px;overflow:hidden}
  .diagram-rows>div{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);gap:4px;align-items:stretch}
  .diagram-rows b{min-width:0;font-size:10px;line-height:1.25;padding:14px 4px;display:flex;justify-content:center;align-items:center;overflow-wrap:anywhere}
  .diagram-rows span{font-size:15px;text-align:center;align-self:center}
}
