/* The Sanctuary Project · v2.1 editorial refinement · 2026-11-08
   Cleaner rhythm, sensible type scale, purposeful documentary imagery,
   real inline SVG arrows instead of emoji and stronger mobile readability. */
:root{--v21-ink:#152d20;--v21-gold:#d4bc89}
body{overflow-x:clip}
.ui-arrow{display:inline-block;width:15px;height:15px;min-width:15px;vertical-align:-2px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
a .ui-arrow,.btn .ui-arrow{flex-shrink:0}
.v2-main .shell{width:min(1210px,calc(100% - 64px))}
.v2-main h1,.v2-main h2,.v2-main h3,.page-hero h1,.section h2,.split-content h2,.network-story-copy h2,.service-hero h1{overflow-wrap:break-word;text-wrap:balance}
.v2-main h2{font-size:clamp(2.9rem,4.35vw,5.25rem);line-height:1.04;letter-spacing:-.027em}
.v2-main .v2-section{padding:clamp(74px,7vw,102px) 0}
.v2-main .v2-label{margin-bottom:18px}
.v2-main .v2-standfirst{font-size:clamp(1.65rem,2.1vw,2.25rem);line-height:1.28}
.v2-main p{line-height:1.75}
.v2-main .v2-actions{margin-top:23px}
.v2-main .v2-button{min-height:50px;padding:13px 19px;gap:15px}
.v2-hero{min-height:780px;min-height:88svh}
.v2-hero-content{padding:128px 0 100px}
.v2-hero h1{font-size:clamp(4.5rem,7vw,7.6rem);line-height:.94;letter-spacing:-.04em;max-width:940px;margin:31px 0 27px}
.v2-hero-declaration{font-size:clamp(1.75rem,2.4vw,2.6rem)!important}
.v2-hero-text{font-size:15px!important;max-width:590px}
.v2-hero-status{margin-top:29px}
.v2-intro-layout{gap:6vw}
.v2-intro-text{padding-top:0}
.v2-image-statement{min-height:565px}
.v2-image-statement-copy{padding:65px 0}
.v2-image-statement h2{font-size:clamp(3.6rem,5.3vw,6.5rem);line-height:.99;max-width:750px;margin-bottom:20px}
.v2-image-statement p{font-size:15px;max-width:540px}
.v2-heritage{min-height:500px}
.v2-heritage-copy{padding:70px 0}
.v2-heritage h2{font-size:clamp(3.65rem,5.5vw,6.7rem);line-height:1.0;margin-bottom:24px}
.v2-heritage p{font-size:15px;max-width:560px}
.v2-headrow{margin-bottom:32px;gap:5vw}
.v2-service-card{min-height:430px;padding:26px}
.v2-service-card h3{font-size:clamp(2.2rem,2.65vw,3.1rem);line-height:1.05}
.v2-service-card p{font-size:12.5px}
.v2-foundations-grid{gap:5vw}
.v2-gold-frame{min-height:345px;padding:40px 20px;gap:25px}
.v2-gold-frame img{width:min(185px,65%)}
.v2-quarter-list>div{padding:12px 0}
.v2-land-grid{gap:5vw}
.v2-land-visual{min-height:550px}
.v2-land-copy h2{font-size:clamp(3rem,4.5vw,5.5rem);line-height:1.0}
.v2-land-copy p{font-size:14px}
.v2-steps>div{min-height:235px;padding:24px}
.v2-steps h3{font-size:clamp(2rem,2.15vw,2.7rem);margin:32px 0 13px}
.v2-final{min-height:560px}
.v2-final-copy{padding:75px 0}
.v2-final h2{font-size:clamp(4rem,5.7vw,7rem);line-height:1.02}
.v2-closing-strap{margin-top:35px}
.v2-innerhero{min-height:575px}
.v2-innerhero-content{padding:115px 0 80px}
.v2-innerhero h1{font-size:clamp(4.2rem,6.7vw,7.7rem);line-height:.96}
.v2-phil-photo{min-height:480px}
.v2-phil-photo h2{font-size:clamp(3.4rem,5.3vw,6.1rem);line-height:1.0}
.v2-nature-grid img{height:235px}
.v2-nature-grid h3{font-size:clamp(2rem,2.45vw,2.9rem);margin:24px 25px 10px}
.v2-nature-grid small{margin:20px 25px 0}
.v2-nature-grid p{margin:0 25px 24px}
.v2-phil-tech-photo{min-height:445px}
.v2-phil-service p{font-size:15px}
.v2-landowner-lead{padding:80px 0}
.v2-landowner-lead h2{font-size:clamp(3.5rem,5vw,5.6rem);line-height:1.02}
.v2-impact-strip{padding:55px 0}
.v2-impact-strip article h3{font-size:2.25rem;margin:18px 0 10px}
/* Inner pages: typography and editorial spacing */
.page-hero.has-image h1{font-size:clamp(3.4rem,5vw,5.3rem)!important;line-height:1.02!important;letter-spacing:-.025em!important}
.page-hero.has-image{min-height:460px}
.page-hero.has-image .shell{padding-top:85px;padding-bottom:70px}
.section{padding-top:76px;padding-bottom:76px}
.section h2,.split-content h2,.network-story-copy h2,.support-banner h2{font-size:clamp(2.65rem,3.6vw,4.45rem);line-height:1.08;letter-spacing:-.025em}
.split,.network-story{min-height:420px}
.network-story-photo{min-height:420px}
.network-story-copy{padding:clamp(35px,4vw,65px)}
.network-story-copy h2{font-size:clamp(2.7rem,3.9vw,4.35rem)}
.network-story-copy p{font-size:14px;line-height:1.75}
.split-content{padding:clamp(36px,4vw,68px)}
.split-content p{font-size:14px;line-height:1.75}
.service-hero{min-height:620px}
.service-hero-inner{padding:100px 0 85px}
.service-hero h1{font-size:clamp(3.6rem,5.75vw,6.2rem);line-height:1.0}
.service-hero-lead{font-size:15px;max-width:580px}
.service-manifesto{padding:88px 0}
.service-manifesto h2{font-size:clamp(3.4rem,5.1vw,5.8rem)}
.manifesto-grid .manifesto-lead{font-size:clamp(1.6rem,2.1vw,2.2rem)}
.service-commitments{padding-top:75px;padding-bottom:78px}
.section-heading-wide{margin-bottom:34px}
.section-heading-wide h2{font-size:clamp(3.2rem,4.45vw,5rem);line-height:1.05;margin:15px 0 20px}
.section-heading-wide p{font-size:15px}
.commitment-list{gap:13px}
.commitment-feature{min-height:415px}
.commitment-image{min-height:415px}
.commitment-copy{padding:32px clamp(27px,4vw,55px)}
.commitment-copy h3{font-size:clamp(2.4rem,3vw,3.5rem);line-height:1.06;margin:15px 0 22px}
.commitment-copy p{font-size:13px;line-height:1.76;margin-bottom:12px}
.commitment-copy .text-link{margin-top:7px}
.signal-banner{min-height:480px}
.signal-copy{padding:65px 0}
.signal-copy h2{font-size:clamp(3.6rem,5.35vw,6.2rem);line-height:1}
.quarters-medallion{padding:43px 27px}
.quarters-medallion img{width:min(180px,70%)}
.quarters-panel h2{font-size:clamp(3rem,4.3vw,5rem)}
.service-stages article{min-height:230px;padding:24px}
.service-stages article h3{font-size:clamp(2rem,2.15vw,2.6rem);margin:32px 0 15px}
.service-accountability{padding:80px 0}
.service-accountability h2{font-size:clamp(3.5rem,4.7vw,5.5rem)}
.service-final h2{font-size:clamp(3rem,4.3vw,4.8rem)}
.service-final p{font-size:14px}
/* Story-matched photo treatments */
.v2-phil-tech-photo img{object-position:50% 50%;filter:saturate(.83) contrast(1.05)}
.v21-land-plan{position:absolute;z-index:4;right:18px;bottom:25px;width:min(45%,300px);padding:9px;background:rgba(250,248,240,.95);border:1px solid #d6b984;box-shadow:0 18px 35px rgba(4,24,11,.25)}
.v21-land-plan img{display:block;width:100%;height:auto;object-fit:contain;position:static!important;filter:none!important}
.v21-land-plan span{display:block;text-align:center;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#34503c;margin-top:5px}
.development-concept .network-story-photo>img{filter:saturate(.88) contrast(1.02)}
/* More coherent editorial spacing around the form, resources and legacy pages */
.form-card,.offer-form{max-width:100%}
.v2-main .v2-service-grid,.v2-main .v2-steps{gap:12px}
@media(max-width:1000px){
.v2-main .shell{width:calc(100% - 52px)}
.v2-service-grid{grid-template-columns:repeat(2,1fr)}
.v2-land-visual{min-height:410px}
}
@media(max-width:650px){
.v2-main .shell{width:calc(100% - 48px)}
.v2-main .v2-section{padding:66px 0}
.v2-main h2{font-size:clamp(2.55rem,8.4vw,3.4rem);line-height:1.07}
.v2-main p{font-size:14px;line-height:1.72}
.v2-main .v2-standfirst{font-size:1.77rem}
.v2-hero{min-height:670px}
.v2-hero-content{padding:122px 0 75px}
.v2-hero h1{font-size:clamp(3.2rem,10.4vw,4.25rem);line-height:1.00;letter-spacing:-.025em;max-width:100%;margin:29px 0 24px}
.v2-hero-declaration{font-size:1.82rem!important}
.v2-hero-text{font-size:14px!important;max-width:360px}
.v2-hero-status{margin-top:22px;font-size:8px}
.v2-intro h2{font-size:clamp(2.55rem,8.2vw,3.4rem)}
.v2-intro-layout{gap:24px}
.v2-image-statement{min-height:445px}
.v2-image-statement-copy{padding:55px 0}
.v2-image-statement h2{font-size:clamp(2.85rem,8.7vw,4rem);line-height:1.03}
.v2-image-statement p{font-size:13px}
.v2-heritage{min-height:440px}
.v2-heritage-copy{padding:48px 0}
.v2-heritage h2{font-size:clamp(3.1rem,9.3vw,4rem);line-height:1}
.v2-heritage p{font-size:13px}
.v2-headrow{gap:18px;margin-bottom:25px}
.v2-headrow>p{font-size:14px}
.v2-service-card{min-height:330px;padding:22px}
.v2-service-card:last-child{min-height:330px}
.v2-service-card h3{font-size:clamp(2rem,7.3vw,2.65rem)}
.v2-service-card p{font-size:12px;line-height:1.6}
.v2-card-number{font-size:9px}
.v2-gold-frame{min-height:235px;padding:30px 15px;gap:13px}
.v2-gold-frame img{width:138px}
.v2-gold-frame span{font-size:8px}
.v2-quarter-list>div{padding:9px 0}
.v2-quarter-list strong{font-size:10px}
.v2-quarter-list small{font-size:11px}
.v2-land-visual{min-height:345px}
.v2-land-image-text{font-size:clamp(2.55rem,8.2vw,3.5rem);left:22px;bottom:44px}
.v2-land-visual small{left:22px;font-size:9px}
.v2-land-copy h2{font-size:clamp(2.75rem,8.7vw,3.8rem)}
.v2-land-copy p{font-size:13px}
.v2-land-options{margin:17px 0}
.v2-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v2-steps>div{min-height:185px;padding:17px 14px}
.v2-steps h3{font-size:clamp(1.8rem,6.6vw,2.3rem);line-height:1.0;margin:20px 0 10px}
.v2-steps p{font-size:11px;line-height:1.6}
.v2-final{min-height:500px}
.v2-final-copy{padding:62px 0}
.v2-final h2{font-size:clamp(3rem,9.7vw,4.4rem);line-height:1.0}
.v2-final p{font-size:14px}
.v2-closing-strap{margin-top:21px;font-size:9px}
.v2-innerhero{min-height:455px}
.v2-innerhero-content{padding:115px 0 65px}
.v2-innerhero h1{font-size:clamp(3.4rem,11.7vw,5.1rem);line-height:1.0}
.v2-innerhero p{font-size:1.65rem}
.v2-phil-photo{min-height:385px}
.v2-phil-photo .shell{padding:50px 0}
.v2-phil-photo h2{font-size:clamp(2.9rem,9vw,4rem);line-height:1.05}
.v2-nature-grid{grid-template-columns:1fr}
.v2-nature-grid img{height:183px}
.v2-nature-grid h3{font-size:2.25rem;margin:14px 19px 8px}
.v2-nature-grid small{margin:13px 19px 0}
.v2-nature-grid p{margin:0 19px 19px;font-size:12px}
.v2-phil-tech-photo{min-height:310px}
.v2-phil-service p{font-size:14px}
.page-hero.has-image{min-height:365px}
.page-hero.has-image .shell{padding-top:62px;padding-bottom:48px}
.page-hero.has-image h1{font-size:clamp(2.75rem,8.5vw,3.5rem)!important;line-height:1.06!important}
.section{padding-top:59px;padding-bottom:59px}
.section h2,.split-content h2,.network-story-copy h2,.support-banner h2{font-size:clamp(2.4rem,8.2vw,3.3rem);line-height:1.1}
.network-story-photo{min-height:262px}
.network-story-copy{padding:31px 25px}
.network-story-copy h2{font-size:clamp(2.4rem,8vw,3.1rem)}
.network-story-copy p{font-size:13px}
.split .split-image,.outdoor-care-section .split-image{min-height:270px}
.split-content{padding:32px 25px}
.split-content p{font-size:13px}
.service-hero{min-height:610px}
.service-hero-inner{padding:130px 0 67px}
.service-hero h1{font-size:clamp(3rem,9.7vw,4.05rem);line-height:1.03;margin:0 0 20px}
.service-hero-lead{font-size:14px}
.service-manifesto{padding:68px 0}
.manifesto-grid{gap:23px}
.service-manifesto h2{font-size:clamp(3rem,9vw,4rem);margin:0}
.manifesto-grid .manifesto-lead{font-size:1.65rem}
.service-commitments{padding:64px 0}
.section-heading-wide{margin-bottom:23px}
.section-heading-wide h2{font-size:clamp(2.85rem,9vw,4rem)}
.section-heading-wide p{font-size:13px}
.commitment-image{min-height:245px}
.commitment-copy{padding:24px 25px 28px}
.commitment-copy h3{font-size:clamp(2.2rem,7.7vw,3rem);line-height:1.06;margin:14px 0 16px}
.commitment-copy p{font-size:12.5px;line-height:1.65;margin-bottom:9px}
.commitment-copy .text-link{margin-top:9px}
.signal-banner{min-height:425px}
.signal-copy{padding:50px 0}
.signal-copy h2{font-size:clamp(3.2rem,9.5vw,4.3rem)}
.signal-copy p{font-size:13px}
.quarters-panel h2{font-size:clamp(2.75rem,8.5vw,3.7rem)}
.quarters-medallion{padding:24px}
.quarters-medallion img{width:min(120px,60%)}
.service-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-stages article{min-height:186px;padding:18px 14px}
.service-stages article h3{font-size:clamp(1.9rem,7.1vw,2.4rem);margin:24px 0 12px}
.service-stages article p{font-size:11px;line-height:1.6}
.service-accountability{padding:65px 0}
.service-accountability h2{font-size:clamp(2.9rem,9vw,4rem)}
.service-accountability p{font-size:13px}
.service-final h2{font-size:clamp(2.75rem,8.5vw,4rem)}
.v21-land-plan{width:49%;right:10px;bottom:15px;padding:5px}
.v21-land-plan span{font-size:7px;letter-spacing:.05em}
}
@media(prefers-reduced-motion:reduce){.ui-arrow{transition:none}}

/* British country resilience photography */
.service-hero-photo{background-image:url("assets/fieldcraft-teamwork.jpg");background-position:center 40%;filter:saturate(.67) contrast(1.17) brightness(.72)}
.signal-photo{background-image:url("assets/fieldcraft-timber-team.jpg");background-position:center 45%;filter:saturate(.7) contrast(1.15) brightness(.78)}
.development-concept .network-story-photo{overflow:hidden}
@media(max-width:650px){.service-hero-photo{background-position:47% 44%}.signal-photo{background-position:62% 45%}}

/* Keep story text within its grid track on small screens */
.network-story-copy{box-sizing:border-box;min-width:0;max-width:100%}
@media(max-width:650px){.network-story-copy{width:100%;padding:31px 25px}.network-story{grid-template-columns:minmax(0,1fr)}}

/* Decorative hero atmosphere may not widen the viewport */
html,body{max-width:100%;overflow-x:clip}
.page-hero.has-image{overflow:hidden;contain:paint}

/* Larger self-reliant solar infrastructure, not portable camping hardware */
.development-solar-inset{background-image:url("assets/camp-solar-array.jpg");background-position:42% 45%}
@media(max-width:650px){.split-image.mountain-session{width:100%;max-width:100%}}
