/*
Theme Name: Protecting Shared Waters
Theme URI: https://protectingsharedwaters.com/
Description: Bespoke, dependency-light WordPress theme for the Protecting Shared Waters staging build.
Version: 0.4.15
Author: Project team
Text Domain: protecting-shared-waters
*/
:root{--ink:#142f33;--ink-soft:#5b6a68;--deep:#142f33;--paper:#f2f0e9;--paper-2:#e8e5dc;--mist:#d9e2df;--line:rgba(20,47,51,.2);--accent:#bd6248;--accent-soft:#e8c6b8;--white:#fbfaf5;--serif:Iowan Old Style,'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:'Avenir Next','Helvetica Neue',Arial,sans-serif;--shell:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{position:fixed;z-index:20;top:10px;left:10px;transform:translateY(-150%);background:var(--accent);color:var(--white);padding:10px 14px;font-size:12px}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(100%,var(--shell));margin-inline:auto;padding-inline:clamp(22px,5vw,72px)}
.demo-strip{display:flex;justify-content:space-between;gap:18px;background:var(--deep);color:var(--white);padding:8px clamp(22px,5vw,72px);font-size:10px;letter-spacing:.11em;text-transform:uppercase}.demo-strip span:last-child{color:#b9c9c4}.site-header{position:relative;z-index:100;width:100%;margin:0;padding:0}.brand{display:flex;align-items:center;gap:13px;min-width:230px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ink);font-size:9px;letter-spacing:.08em;line-height:1}.brand-text{display:flex;flex-direction:column;font-size:13px;line-height:1.05;letter-spacing:.02em}.brand-text strong{font-weight:700}.brand-text span{font-weight:400;color:var(--ink-soft)}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:25px;font-size:12px;letter-spacing:.035em}.main-nav>a,.main-nav summary{cursor:pointer;padding:8px 0;white-space:nowrap}.main-nav details{position:relative}.main-nav summary{list-style:none}.main-nav summary::-webkit-details-marker{display:none}.main-nav summary:after{content:'⌄';padding-left:6px;color:var(--accent)}.nav-panel{position:absolute;top:38px;left:-18px;display:grid;gap:11px;min-width:190px;padding:17px 18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 30px rgba(20,47,51,.12)}.nav-panel a{font-size:12px}.nav-panel a:hover,.main-nav>a:hover,.main-nav summary:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font:inherit;gap:4px;align-items:center}.menu-toggle span{display:block;width:19px;height:1px;background:var(--ink)}.menu-toggle b{font-size:11px;margin-left:6px;font-weight:400}
.atlas-hero{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(400px,1.12fr);gap:clamp(38px,7vw,104px);align-items:center;min-height:650px;padding-top:74px;padding-bottom:63px}.hero-content{max-width:550px}.eyebrow{margin:0 0 22px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.atlas-hero h1{max-width:600px;margin:0 0 26px;font-family:var(--serif);font-size:clamp(55px,7vw,96px);font-weight:400;line-height:.94;letter-spacing:-.065em}.hero-intro{max-width:440px;margin:0 0 31px;color:var(--ink-soft);font-size:18px;line-height:1.45}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:20px;border:1px solid transparent;padding:13px 17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--deep);color:var(--white)}.button-dark:hover{background:var(--accent)}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:var(--accent-soft)}.text-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.text-link:hover{color:var(--accent)}.atlas-figure{position:relative;margin:0;background:var(--mist);border:1px solid var(--ink);min-height:520px;isolation:isolate}.atlas-figure:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.35),transparent 45%);z-index:-1}.atlas-figure-top{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(20,47,51,.25);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.atlas-figure-top span:last-child{color:var(--ink-soft)}.atlas-map{display:block;width:100%;height:440px}.map-grid path{fill:none;stroke:rgba(20,47,51,.12);stroke-width:1}.map-contours path{fill:none;stroke:rgba(20,47,51,.3);stroke-width:1.3}.map-river-shadow{fill:none;stroke:rgba(20,47,51,.16);stroke-width:24;stroke-linecap:round}.map-river{fill:none;stroke:var(--white);stroke-width:16;stroke-linecap:round}.map-points circle{fill:var(--accent);stroke:var(--white);stroke-width:3}.map-type{fill:var(--ink);font-family:var(--sans);font-size:10px;letter-spacing:1.2px}.atlas-figure figcaption{display:grid;grid-template-columns:auto 1fr;gap:1px 14px;align-items:center;padding:14px 18px;background:var(--deep);color:var(--white)}.atlas-figure figcaption span{grid-row:span 2;color:var(--accent-soft);font-size:10px;letter-spacing:.1em}.atlas-figure figcaption strong{font-family:var(--serif);font-size:18px;font-weight:400}.atlas-figure figcaption small{color:#bdccc7;font-size:10px;letter-spacing:.08em}.hero-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:15px;padding-bottom:18px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.hero-meta span{display:flex;align-items:center;gap:10px}.hero-meta b{color:var(--accent);font-size:9px;font-weight:700}
.section-index{margin-bottom:24px;color:var(--accent);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.intro{padding-top:132px;padding-bottom:126px}.intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.8fr);gap:clamp(50px,11vw,165px)}.intro-heading{position:relative}.margin-note{position:absolute;top:8px;right:0;transform:translateX(100%);writing-mode:vertical-rl;color:var(--ink-soft);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.intro h2,.catchment-copy h2,.approach-section h2,.resources-heading h2,.news-section h2,.partners-grid h2,.contact-section h2,.phase-intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(43px,5.5vw,76px);line-height:.98;letter-spacing:-.06em;margin:0}.intro h2{max-width:700px}.intro-copy{max-width:440px;color:var(--ink-soft);font-size:17px}.intro-copy p{margin:0 0 19px}.intro-copy .text-link{color:var(--ink);margin-top:12px}
.project-phases{padding-bottom:138px}.phase-intro{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:clamp(35px,9vw,130px);border-top:1px solid var(--line);padding-top:17px}.phase-intro .section-index{margin:0}.phase-intro h2{max-width:760px}.phase-list{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:55px}.phase-card{min-height:330px;padding:29px 31px 31px;display:flex;flex-direction:column}.phase-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.5vw,48px);line-height:.99;letter-spacing:-.045em;max-width:360px;margin:58px 0 16px}.phase-card p{max-width:440px;margin:0 0 24px}.phase-card .text-link{align-self:flex-start;margin-top:auto}.phase-live{background:var(--deep);color:var(--white)}.phase-live .phase-label,.phase-live .text-link{color:var(--accent-soft)}.phase-legacy{align-self:end;background:var(--paper-2);color:var(--ink)}.phase-legacy .phase-label,.phase-legacy .text-link{color:var(--accent)}.phase-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.audience-section{background:var(--deep);color:var(--white);padding:112px 0 125px}.audience-section .section-index{color:var(--accent-soft)}.audience-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:end;margin-bottom:60px}.audience-heading .section-index{grid-column:1/-1;margin-bottom:0}.audience-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(45px,6vw,78px);line-height:.93;letter-spacing:-.06em;margin:0}.audience-section h2 em{color:var(--accent-soft);font-style:italic}.audience-heading p{max-width:260px;margin:0 0 4px;color:#bdccc7}.audience-grid{display:grid;grid-template-columns:.82fr 1.25fr .93fr;border-top:1px solid rgba(251,250,245,.36)}.audience-card{display:flex;flex-direction:column;min-width:0;min-height:310px;padding:21px 24px 25px 0;border-right:1px solid rgba(251,250,245,.36);transition:background .25s,padding .25s}.audience-card:not(:first-child){padding-left:24px}.audience-card:nth-child(2){min-height:370px}.audience-card:last-child{border-right:0}.audience-card:hover{background:rgba(251,250,245,.07);padding-top:29px}.card-number{color:var(--accent-soft);font-size:10px;letter-spacing:.12em}.audience-card-copy{margin-top:auto}.audience-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(31px,3vw,44px);line-height:.98;letter-spacing:-.045em;margin:0 0 17px}.audience-card p{max-width:250px;color:#bdccc7;margin:0 0 22px;font-size:15px;line-height:1.45}.card-cta{color:var(--accent-soft);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.card-cta b{font-size:16px;margin-left:7px;font-weight:400}
.audience-card-media{display:block;height:152px;margin:34px 0 0;overflow:hidden;background:#0d2427}.audience-card-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96)}.audience-card:nth-child(2) .audience-card-media{height:180px;margin-top:26px}.audience-card:hover .audience-card-media img{transform:scale(1.025)}.audience-card-media img{transition:transform .35s ease}
.catchment-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,9vw,130px);align-items:center;padding-top:138px;padding-bottom:145px}.catchment-copy{max-width:410px}.catchment-copy h2{margin-bottom:24px}.catchment-copy p{color:var(--ink-soft);font-size:17px;margin:0 0 23px}.feature-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 31px;color:var(--ink-soft);font-size:12px;line-height:1.4}.feature-note strong{color:var(--ink);font-weight:700}.feature-note-dot{width:8px;height:8px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(189,98,72,.16)}.catchment-visual{position:relative;min-height:440px;margin:0;background:var(--paper-2);border:1px solid var(--ink);overflow:hidden}.catchment-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(217,226,223,.8),transparent 55%),repeating-linear-gradient(12deg,transparent 0 21px,rgba(20,47,51,.05) 22px 23px)}.catchment-visual svg{position:absolute;inset:0;width:100%;height:100%}.contour{fill:none;stroke:rgba(20,47,51,.28);stroke-width:1.3}.river{fill:none;stroke:var(--white);stroke-width:18;stroke-linecap:round;opacity:.9}.map-dot{fill:var(--ink);stroke:var(--white);stroke-width:3}.dot-two{fill:var(--accent)}.map-label{position:absolute;z-index:1;font-size:9px;letter-spacing:.14em;color:var(--ink);font-weight:700}.map-label-a{top:21%;left:11%}.map-label-b{top:54%;left:35%}.map-label-c{right:9%;bottom:23%}.catchment-visual figcaption{position:absolute;z-index:2;right:0;bottom:0;display:flex;align-items:center;gap:14px;background:var(--deep);color:var(--white);padding:13px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.catchment-visual figcaption span{color:var(--accent-soft)}.catchment-visual figcaption strong{font-weight:400}
.catchment-visual:before{z-index:1;background:linear-gradient(180deg,rgba(20,47,51,.02) 36%,rgba(20,47,51,.28) 100%)}.catchment-photo{display:block;position:relative;z-index:0;width:100%;height:440px;object-fit:cover;object-position:center;filter:saturate(.77) contrast(.98)}
.approach-section{background:var(--paper-2);padding:130px 0 140px}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,10vw,145px)}.approach-section h2{max-width:500px}.approach-steps{display:grid;gap:0;border-top:1px solid var(--line)}.approach-steps>div{display:grid;grid-template-columns:45px 1fr 1.2fr;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding:21px 0 24px}.approach-steps>div>span{color:var(--accent);font-size:10px;letter-spacing:.1em}.approach-steps h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1;margin:0}.approach-steps p{color:var(--ink-soft);font-size:15px;line-height:1.45;margin:0}
.resources-section{padding-top:138px;padding-bottom:144px}.resources-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:54px}.resources-heading .section-index{margin-bottom:20px}.resources-heading h2 em{color:var(--accent);font-style:italic}.resources-heading .text-link{color:var(--ink);flex-shrink:0}.resource-list{border-top:1px solid var(--line)}.resource-row{display:grid;grid-template-columns:42px 125px 1fr auto;align-items:start;gap:19px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .2s,color .2s}.resource-row:hover{color:var(--accent);padding-left:10px}.resource-number{color:var(--accent);font-size:10px;letter-spacing:.1em}.resource-type{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--ink-soft)}.resource-copy h3{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.03;letter-spacing:-.035em;margin:0 0 5px}.resource-copy p{color:var(--ink-soft);font-size:14px;margin:0}.row-arrow{font-size:24px}
.news-section{background:var(--accent);color:var(--white);padding:122px 0 130px}.news-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,10vw,145px)}.news-section .section-index{color:var(--white)}.news-section h2{max-width:440px}.news-feature{border-top:1px solid rgba(251,250,245,.62);padding-top:18px}.news-date{font-size:10px;color:var(--white);letter-spacing:.12em;text-transform:uppercase}.news-feature h3{font-family:var(--serif);font-weight:400;font-size:clamp(37px,4vw,55px);line-height:.98;letter-spacing:-.05em;max-width:520px;margin:54px 0 18px}.news-feature p{max-width:420px;color:#f4ddd5;font-size:16px;margin:0 0 25px}.news-feature .text-link{color:var(--white)}.news-feature .text-link:hover{color:var(--deep)}
.partners-section{padding-top:130px;padding-bottom:142px}.partners-grid{display:grid;grid-template-columns:1fr .82fr;gap:clamp(45px,10vw,145px)}.partners-grid h2{max-width:520px}.partners-grid p{color:var(--ink-soft);font-size:17px;margin:0 0 29px}.partner-note{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;color:var(--ink-soft);font-size:12px}.partner-note span:first-child{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--accent);color:var(--accent);font-size:18px}
.contact-section{background:var(--deep);color:var(--white);padding:122px 0 132px}.contact-grid{display:grid;grid-template-columns:1fr .72fr;gap:clamp(45px,10vw,145px)}.contact-section .section-index{color:var(--accent-soft)}.contact-section h2{max-width:600px}.contact-section p{color:#bdccc7;font-size:17px;margin:0 0 29px}.site-footer{background:#0d2427;color:#d8e3df;padding:29px 0}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:30px}.footer-brand .brand-mark{border-color:#d8e3df}.footer-brand .brand-text strong,.footer-brand .brand-text span{color:#edf4ef}.site-footer p{font-size:11px;margin:0;color:#bdccc7}.site-footer .footer-note{color:#7f9892;margin-top:5px}.footer-top{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-soft)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:45px;padding-top:70px}.hero-content{max-width:650px}.atlas-figure{min-height:470px}.atlas-map{height:390px}.intro-grid,.catchment-section,.approach-grid,.news-grid,.partners-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.phase-intro{grid-template-columns:1fr;gap:28px}.phase-list{grid-template-columns:1.1fr .9fr}.audience-heading{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{font-size:15px}.demo-strip{justify-content:center;flex-wrap:wrap;gap:3px 12px;text-align:center;font-size:9px;line-height:1.4}.demo-strip span:last-child{width:100%}.brand{min-width:0}.brand-mark{width:32px;height:32px}.brand-text{font-size:12px}.hero-grid{padding-top:57px;padding-bottom:0;gap:35px}.atlas-hero h1{font-size:57px}.hero-intro{font-size:17px}.atlas-figure{min-height:380px;margin-inline:-1px}.atlas-figure-top{padding:13px 14px;font-size:9px}.atlas-map{height:300px}.map-type{font-size:8px}.atlas-figure figcaption{padding:12px 14px}.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding-top:13px;padding-bottom:16px;font-size:9px}.hero-meta span:last-child{grid-column:1/-1}.section-index{margin-bottom:20px}.intro{padding-top:84px;padding-bottom:86px}.intro-grid{gap:33px}.margin-note{display:none}.intro h2,.catchment-copy h2,.approach-section h2,.resources-heading h2,.news-section h2,.partners-grid h2,.contact-section h2,.phase-intro h2{font-size:49px}.project-phases{padding-bottom:91px}.phase-list{grid-template-columns:1fr;gap:12px;margin-top:38px}.phase-card{min-height:285px;padding:24px}.phase-card h3{font-size:36px;margin-top:48px}.phase-legacy{min-height:255px}.audience-section{padding:86px 0 92px}.audience-heading{display:block;margin-bottom:40px}.audience-heading p{margin-top:23px}.audience-grid{display:block}.audience-card,.audience-card:not(:first-child),.audience-card:nth-child(2){min-height:0;padding:23px 0;border-right:0;border-bottom:1px solid rgba(251,250,245,.36)}.audience-card:hover{padding-top:29px}.audience-card h3{font-size:37px}.catchment-section{padding-top:89px;padding-bottom:94px}.catchment-visual{min-height:320px;margin-inline:-22px}.approach-section{padding:89px 0 96px}.approach-steps>div{grid-template-columns:38px 1fr;gap:11px 16px;padding:19px 0 21px}.approach-steps h3{font-size:31px}.approach-steps p{grid-column:2}.resources-section{padding-top:92px;padding-bottom:95px}.resources-heading{display:block;margin-bottom:40px}.resources-heading .text-link{margin-top:27px}.resource-row{grid-template-columns:30px 1fr auto;gap:7px 12px;padding:22px 0}.resource-type{grid-column:2}.resource-copy{grid-column:2/-1}.resource-row h3{font-size:28px}.resource-row p{font-size:13px}.news-section{padding:89px 0 97px}.news-feature h3{font-size:41px;margin-top:43px}.partners-section{padding-top:91px;padding-bottom:97px}.contact-section{padding:89px 0 97px}.footer-grid{grid-template-columns:1fr;gap:21px}.footer-top{justify-self:start}.site-footer{padding:25px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.atlas-hero h1{font-size:clamp(52px,5.7vw,82px)}.hero-photo{position:relative;min-height:520px;margin:0;overflow:hidden;border:1px solid var(--ink);background:var(--deep)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,47,51,.06) 35%,rgba(20,47,51,.62) 100%);pointer-events:none}.hero-photo img{display:block;width:100%;height:520px;object-fit:cover;object-position:center}.hero-photo-top{position:absolute;z-index:1;top:0;right:0;left:0;display:flex;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(251,250,245,.48);color:var(--white);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.hero-photo-top span:last-child{color:#e4ebe7}.hero-photo figcaption{position:absolute;z-index:1;right:0;bottom:0;left:0;display:grid;grid-template-columns:auto 1fr;gap:1px 14px;align-items:center;padding:14px 18px;color:var(--white)}.hero-photo figcaption span{grid-row:span 2;color:var(--accent-soft);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero-photo figcaption strong{font-family:var(--serif);font-size:20px;font-weight:400}.hero-photo figcaption small{color:#e4ebe7;font-size:10px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:900px){.hero-photo{min-height:470px}.hero-photo img{height:470px}}@media(max-width:620px){.atlas-hero h1{font-size:52px}.hero-photo{min-height:380px;margin-inline:-1px}.hero-photo img{height:380px}.hero-photo-top{padding:13px 14px;font-size:9px}.hero-photo figcaption{padding:12px 14px}}
.field-notes{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(45px,8vw,115px);align-items:start;padding-top:42px;padding-bottom:142px}.field-notes-heading{max-width:400px;padding-top:24px}.field-notes-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(43px,5vw,68px);line-height:.98;letter-spacing:-.06em;margin:0 0 25px}.field-notes-heading p{color:var(--ink-soft);font-size:16px;margin:0}.field-notes-gallery{display:grid;grid-template-columns:1.22fr .78fr;grid-template-rows:275px 220px;gap:14px}.field-image{position:relative;min-width:0;margin:0;overflow:hidden;background:var(--paper-2);border:1px solid var(--ink)}.field-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.98)}.field-image-river{grid-row:1 / span 2;min-height:510px}.field-image-sampling{margin-top:44px}.field-image-detail{margin-left:30px}.field-image figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(20,47,51,.9);color:var(--white);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.field-image figcaption span{color:var(--accent-soft)}.field-image figcaption strong{font-weight:400}@media(max-width:900px){.field-notes{grid-template-columns:1fr;gap:40px;padding-top:0}.field-notes-heading{max-width:620px}.field-notes-gallery{max-width:720px}}@media(max-width:620px){.field-notes{padding-bottom:93px}.field-notes-heading h2{font-size:49px}.field-notes-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 170px;gap:10px}.field-image-river{grid-column:1/-1;grid-row:auto;min-height:0}.field-image-sampling{margin-top:0;min-height:0}.field-image-detail{margin-left:0;min-height:0}.field-image figcaption{display:block;padding:8px 9px;font-size:8px}.field-image figcaption strong{display:block;margin-top:3px}}
@media(max-width:620px){.audience-card-media{height:170px;margin:22px 0 26px}.audience-card:nth-child(2) .audience-card-media{height:190px;margin-top:22px}.audience-card-copy{margin-top:0}}
@media(max-width:620px){.catchment-photo{height:320px}}

/* Water-flow visual system: connected rhythm without changing content order. */
:root{--water-deep:#12383e;--water-mid:#2d6268;--water-soft:#bed3d1;--water-pale:#dfe9e6;--foam:#f7f5ef;--flow-shadow:0 28px 70px rgba(18,56,62,.16);--flow-ease:cubic-bezier(.22,.61,.36,1)}
body{overflow-x:hidden;background:radial-gradient(circle at 88% 18%,rgba(190,211,209,.34),transparent 26%),radial-gradient(circle at 8% 56%,rgba(223,233,230,.72),transparent 25%),var(--paper)}
#top{position:relative;isolation:isolate;overflow:hidden}#top>section{position:relative;z-index:1}
.brand-mark{border-color:rgba(18,56,62,.65);border-radius:52% 48% 54% 46%/66% 63% 37% 34%;background:linear-gradient(160deg,rgba(190,211,209,.45),transparent 62%)}
.atlas-hero{border:0;background:radial-gradient(circle at 76% 18%,rgba(190,211,209,.64),transparent 36%),linear-gradient(180deg,var(--foam),var(--paper));overflow:visible;padding-bottom:54px}.atlas-hero:after{content:'';position:absolute;right:-6%;bottom:-1px;left:-6%;height:72px;background:var(--paper);border-radius:50% 50% 0 0/100% 100% 0 0}.hero-grid,.hero-meta{position:relative;z-index:1}.hero-content{transform:translateY(-12px)}.hero-photo{border:0;border-radius:150px 18px 150px 18px;box-shadow:var(--flow-shadow)}.hero-photo img{transition:transform 1s var(--flow-ease)}.hero-photo:hover img{transform:scale(1.018)}.hero-photo-top{border:0;background:linear-gradient(180deg,rgba(18,56,62,.48),transparent)}.hero-photo figcaption{left:auto;min-width:min(78%,430px);border-radius:70px 0 0 0;background:linear-gradient(110deg,rgba(18,56,62,.96),rgba(18,56,62,.78))}.hero-meta{border-top:0}.hero-meta:before{content:'';display:block;width:clamp(80px,15vw,210px);height:1px;background:linear-gradient(90deg,transparent,var(--water-mid));position:absolute;top:0;left:0}
.button{border-radius:3px 999px 999px 3px;padding-inline:19px 23px}.button:active{transform:translateY(1px) scale(.985)}.text-link{border-bottom-color:rgba(45,98,104,.45);transition:gap .25s var(--flow-ease),color .25s}.text-link:hover{gap:18px}
.intro{padding-top:112px}.intro-grid{align-items:start}.intro-heading{transform:translateX(2.5vw)}.intro-copy{padding-top:clamp(80px,9vw,132px)}.intro-copy:before{content:'';display:block;width:48px;height:8px;margin-bottom:25px;border-top:1px solid var(--water-mid);border-radius:50%}
.field-notes{align-items:center}.field-notes-heading{transform:translateY(-56px)}.field-notes-gallery{gap:22px}.field-image{border:0;box-shadow:0 20px 50px rgba(18,56,62,.12)}.field-image-river{border-radius:140px 18px 130px 18px}.field-image-sampling{border-radius:18px 90px 18px 90px;transform:translateY(-8px)}.field-image-detail{border-radius:80px 18px 80px 18px;transform:translateY(18px)}.field-image figcaption{left:auto;min-width:62%;border-radius:42px 0 0 0;background:rgba(18,56,62,.9)}
.phase-intro{border-top:0}.phase-intro:before{content:'';width:72px;height:10px;border-top:1px solid var(--water-mid);border-radius:50%;grid-column:1/-1}.phase-list{position:relative;gap:clamp(24px,4vw,58px);margin-top:65px}.phase-list:before{content:'';position:absolute;top:47%;right:31%;left:47%;height:2px;background:linear-gradient(90deg,var(--water-mid),var(--water-soft));transform:rotate(5deg);opacity:.45}.phase-card{position:relative;border:1px solid rgba(18,56,62,.08);box-shadow:0 22px 60px rgba(18,56,62,.11)}.phase-live{border-radius:12px 110px 12px 110px;background:linear-gradient(145deg,var(--water-deep),#1d5056)}.phase-legacy{border-radius:100px 12px 100px 12px;background:linear-gradient(145deg,var(--water-pale),var(--paper-2));transform:translateY(52px)}
.audience-section,.approach-section,.news-section,.contact-section{overflow:visible;margin-block:76px 92px}.audience-section:before,.audience-section:after,.approach-section:before,.approach-section:after,.news-section:before,.news-section:after,.contact-section:before{content:'';position:absolute;z-index:0;right:-6%;left:-6%;height:72px}.audience-section>.section-shell,.approach-section>.section-shell,.news-section>.section-shell,.contact-section>.section-shell{position:relative;z-index:1}.audience-section{padding:80px 0 108px;background:radial-gradient(circle at 18% 28%,rgba(88,148,153,.22),transparent 34%),var(--water-deep)}.audience-section:before{top:-52px;background:var(--water-deep);border-radius:52% 48% 0 0/100% 100% 0 0;transform:rotate(-.45deg)}.audience-section:after{bottom:-52px;background:var(--water-deep);border-radius:0 0 48% 52%/0 0 100% 100%;transform:rotate(.4deg)}.audience-heading{margin-bottom:68px}.audience-grid{grid-template-columns:.86fr 1.18fr .96fr;gap:clamp(18px,3vw,42px);border:0;align-items:start}.audience-card,.audience-card:not(:first-child),.audience-card:nth-child(2){min-height:0;padding:0;border:0;background:transparent}.audience-card:nth-child(2){transform:translateY(54px)}.audience-card:nth-child(3){transform:translateY(12px)}.audience-card:hover{padding-top:0;background:transparent;transform:translateY(-8px)}.audience-card:nth-child(2):hover{transform:translateY(46px)}.audience-card:nth-child(3):hover{transform:translateY(4px)}.audience-card-media,.audience-card:nth-child(2) .audience-card-media{height:clamp(185px,18vw,250px);margin:18px 0 30px;box-shadow:0 24px 50px rgba(4,23,26,.28)}.audience-card:nth-child(1) .audience-card-media{border-radius:90px 14px 90px 14px}.audience-card:nth-child(2) .audience-card-media{border-radius:14px 110px 14px 110px}.audience-card:nth-child(3) .audience-card-media{border-radius:80px 14px 80px 14px}.audience-card-copy{margin-top:0}.audience-card p{max-width:30ch}.audience-card-media img{transition:transform .7s var(--flow-ease)}
.catchment-section{align-items:center;padding-top:120px;padding-bottom:152px}.catchment-copy{transform:translateY(-34px)}.catchment-visual{border:0;border-radius:20px 130px 20px 130px;box-shadow:var(--flow-shadow);transform:translateX(2vw)}.catchment-visual figcaption{border-radius:60px 0 0 0;background:rgba(18,56,62,.92)}
.approach-section{padding:92px 0 112px;background:var(--water-pale)}.approach-section:before{top:-50px;background:var(--water-pale);border-radius:48% 52% 0 0/100% 100% 0 0;transform:rotate(.35deg)}.approach-section:after{bottom:-50px;background:var(--water-pale);border-radius:0 0 54% 46%/0 0 100% 100%;transform:rotate(-.3deg)}.approach-grid{align-items:start}.approach-heading{position:sticky;top:42px}.approach-steps{position:relative;border:0;padding-left:34px}.approach-steps:before{content:'';position:absolute;top:12px;bottom:12px;left:6px;width:2px;border-radius:50%;background:linear-gradient(var(--water-mid),rgba(45,98,104,.12),var(--water-mid))}.approach-steps>div{border:0;border-radius:0 50px 50px 0;padding:24px 24px 26px;background:rgba(247,245,239,.48);margin-bottom:12px;transition:transform .3s var(--flow-ease),background .3s}.approach-steps>div:nth-child(2){transform:translateX(24px)}.approach-steps>div:hover{transform:translateX(10px);background:rgba(247,245,239,.82)}.approach-steps>div:nth-child(2):hover{transform:translateX(34px)}
.resources-section{padding-top:122px}.resources-heading{transform:translateX(3vw)}.resource-list{border:0}.resource-row{border:0;border-bottom:1px solid rgba(18,56,62,.16);border-radius:0 50px 50px 0;padding:24px 28px 25px 10px;transition:padding .3s var(--flow-ease),background .3s,color .2s}.resource-row:nth-child(2){margin-left:3vw}.resource-row:nth-child(3){margin-left:6vw}.resource-row:hover{padding-left:24px;background:rgba(190,211,209,.28)}
.news-section{padding:88px 0 112px;background:radial-gradient(circle at 78% 30%,rgba(190,211,209,.18),transparent 38%),var(--water-mid)}.news-section:before{top:-52px;background:var(--water-mid);border-radius:54% 46% 0 0/100% 100% 0 0;transform:rotate(-.35deg)}.news-section:after{bottom:-52px;background:var(--water-mid);border-radius:0 0 46% 54%/0 0 100% 100%;transform:rotate(.45deg)}.news-feature{border-top:0}.news-feature:before{content:'';display:block;width:100px;height:12px;border-top:1px solid rgba(251,250,245,.7);border-radius:50%}.news-feature p{color:#d8e7e5}
.partners-section{padding-top:115px}.partners-grid{align-items:center}.partner-note{border:0;border-radius:0 38px 38px 0;background:rgba(190,211,209,.28);padding-inline:18px}
.partners-copy{min-width:0}
.funding-lockup{
	max-width:590px;
	margin:34px 0 22px;
	padding:18px 20px 21px;
	border:1px solid rgba(20,47,51,.14);
	border-radius:0 54px 0 54px;
	background:#fff;
	box-shadow:0 22px 55px rgba(18,56,62,.1);
}
.funding-lockup figcaption{
	margin:0 0 13px;
	color:var(--brand-brown);
	font-size:10px;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.funding-lockup img{display:block;width:100%;height:auto}
.contact-section{margin-bottom:0;padding:90px 0 120px;background:radial-gradient(circle at 18% 18%,rgba(88,148,153,.2),transparent 40%),var(--water-deep)}.contact-section:before{top:-54px;background:var(--water-deep);border-radius:48% 52% 0 0/100% 100% 0 0;transform:rotate(.25deg)}.site-footer{position:relative;background:#0d292e}
@media(max-width:900px){.hero-content,.intro-heading,.field-notes-heading,.catchment-copy,.catchment-visual,.resources-heading{transform:none}.intro-copy{padding-top:0}.phase-list:before{display:none}.phase-legacy{transform:translateY(34px)}.audience-card:nth-child(2){transform:translateY(34px)}.audience-card:nth-child(3){transform:translateY(8px)}.audience-card:nth-child(2):hover{transform:translateY(26px)}.approach-heading{position:static}.approach-steps>div:nth-child(2){transform:none}.resource-row:nth-child(2),.resource-row:nth-child(3){margin-left:0}}
@media(max-width:620px){.atlas-hero{padding-bottom:28px}.atlas-hero:after{height:40px}.hero-photo{border-radius:72px 10px 72px 10px}.hero-photo figcaption{min-width:88%;border-radius:44px 0 0 0}.intro{padding-top:72px}.field-notes-heading{transform:none}.field-image-river{border-radius:62px 10px 62px 10px}.field-image-sampling{border-radius:10px 46px 10px 46px;transform:none}.field-image-detail{border-radius:42px 10px 42px 10px;transform:none}.phase-list{gap:20px}.phase-live{border-radius:10px 64px 10px 64px}.phase-legacy{border-radius:58px 10px 58px 10px;transform:none}.audience-section,.approach-section,.news-section,.contact-section{margin-block:48px 62px}.audience-section,.approach-section,.news-section{padding-top:72px;padding-bottom:82px}.audience-section:before,.audience-section:after,.approach-section:before,.approach-section:after,.news-section:before,.news-section:after,.contact-section:before{height:42px}.audience-section:before,.approach-section:before,.news-section:before,.contact-section:before{top:-30px}.audience-section:after,.approach-section:after,.news-section:after{bottom:-30px}.audience-grid{display:block}.audience-card,.audience-card:not(:first-child),.audience-card:nth-child(2),.audience-card:nth-child(3){transform:none;padding:0 0 38px;border:0}.audience-card:hover,.audience-card:nth-child(2):hover,.audience-card:nth-child(3):hover{transform:none}.audience-card-media,.audience-card:nth-child(2) .audience-card-media{height:210px;margin:16px 0 24px}.catchment-visual{border-radius:10px 64px 10px 64px;margin-inline:-10px}.approach-steps{padding-left:18px}.approach-steps:before{left:0}.approach-steps>div{display:grid;grid-template-columns:32px 1fr;padding:20px 18px}.approach-steps>div:nth-child(2){transform:none}.resource-row{border-radius:0 30px 30px 0;padding-inline:4px 14px}.contact-section{padding-top:72px;margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.audience-card-media img{transition:none}}

/* Keep image labels inside the curved crop and readable over changing photography. */
.hero-photo-top{
	top:20px;
	right:18px;
	left:clamp(84px,9vw,122px);
	gap:8px;
	padding:0;
	background:none;
}
.hero-photo-top span,
.hero-photo-top span:last-child{
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:7px 11px 6px;
	border:1px solid rgba(251,250,245,.28);
	border-radius:999px;
	background:rgba(18,56,62,.88);
	box-shadow:0 4px 16px rgba(4,23,26,.18);
	color:var(--white);
	line-height:1.15;
	text-shadow:0 1px 2px rgba(4,23,26,.5);
}
@media(max-width:620px){
	.hero-photo-top{
		top:12px;
		right:10px;
		left:48px;
		gap:6px;
		padding:0;
		font-size:8px;
		letter-spacing:.08em;
	}
	.hero-photo-top span,
	.hero-photo-top span:last-child{
		min-height:26px;
		padding:6px 8px 5px;
	}
}

/* Logo-derived visual system: proof geometry supplied by the client on 05 August 2026. */
:root{
	--brand-brown:#895d4b;
	--brand-olive:#809945;
	--brand-lime:#a6b863;
	--brand-aqua:#7fbfb0;
	--brand-teal:#548f91;
	--accent:var(--brand-brown);
	--accent-soft:#e5cfc5;
	--water-mid:var(--brand-teal);
	--water-soft:var(--brand-aqua);
	--water-pale:#e2ece8;
}

.brand-mark{
	display:block;
	width:54px;
	height:52px;
	border:0;
	border-radius:0;
	background:none;
	object-fit:contain;
}
.brand-text{
	font-size:12px;
	line-height:1.02;
	text-transform:uppercase;
	letter-spacing:.035em;
}
.brand-text strong{font-weight:750}
.brand-text span{color:var(--ink);font-weight:650}
.footer-brand .brand-mark{border:0}

.brand-echoes{
	position:absolute;
	z-index:0;
	inset:0;
	overflow:hidden;
	pointer-events:none;
}
.brand-echo{
	position:absolute;
	display:block;
	width:clamp(250px,30vw,470px);
	aspect-ratio:244/236;
	background:url('assets/psw-mark-staging.svg') center/contain no-repeat;
	opacity:.055;
}
.brand-echo-one{top:13%;right:-7%;transform:rotate(10deg)}
.brand-echo-two{top:46%;left:-9%;transform:rotate(-13deg) scale(.82)}
.brand-echo-three{top:76%;right:-5%;transform:rotate(7deg) scale(.7)}

.atlas-hero:after{
	right:auto;
	bottom:-34px;
	left:8%;
	width:clamp(180px,24vw,330px);
	height:118px;
	border-radius:0;
	background:var(--brand-aqua);
	opacity:.1;
	-webkit-mask:url('assets/psw-mask-lower-left.svg') center/contain no-repeat;
	mask:url('assets/psw-mask-lower-left.svg') center/contain no-repeat;
}

.hero-photo{
	min-height:0;
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}
.hero-photo:after{display:none}
.hero-photo-mask{
	position:relative;
	display:block;
	aspect-ratio:244/236;
	background:var(--brand-teal);
	filter:drop-shadow(0 24px 28px rgba(18,56,62,.18));
	-webkit-mask:url('assets/psw-mask-full.svg') center/100% 100% no-repeat;
	mask:url('assets/psw-mask-full.svg') center/100% 100% no-repeat;
}
.hero-photo .hero-photo-mask img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.hero-photo-top{
	position:relative;
	top:auto;
	right:auto;
	left:auto;
	z-index:auto;
	gap:12px;
	margin:0 6% 8px;
	padding:0;
	color:var(--ink-soft);
	background:none;
}
.hero-photo-top span,
.hero-photo-top span:last-child{
	min-height:0;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	color:var(--ink-soft);
	text-shadow:none;
}
.hero-photo figcaption{
	position:relative;
	right:auto;
	bottom:auto;
	left:auto;
	display:grid;
	grid-template-columns:auto 1fr;
	min-width:0;
	margin:8px 6% 0;
	padding:0;
	border-radius:0;
	background:transparent;
	color:var(--ink);
}
.hero-photo figcaption span{color:var(--brand-brown)}
.hero-photo figcaption small{color:var(--ink-soft)}

.field-notes-gallery{
	grid-template-columns:1.15fr .85fr;
	grid-template-rows:auto auto;
	gap:28px 24px;
	align-items:center;
}
.field-image{
	display:flex;
	flex-direction:column;
	min-height:0;
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}
.field-image-river{grid-row:1 / span 2;min-height:0;border-radius:0}
.field-image-sampling{margin-top:0;transform:none;border-radius:0}
.field-image-detail{margin-left:0;transform:none;border-radius:0}
.field-image-mask{
	display:block;
	overflow:hidden;
	background:var(--brand-teal);
	filter:drop-shadow(0 18px 20px rgba(18,56,62,.16));
	-webkit-mask-position:center;
	-webkit-mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-position:center;
	mask-size:100% 100%;
	mask-repeat:no-repeat;
}
.field-image-river .field-image-mask{
	aspect-ratio:145/114;
	-webkit-mask-image:url('assets/psw-mask-left.svg');
	mask-image:url('assets/psw-mask-left.svg');
}
.field-image-sampling .field-image-mask{
	aspect-ratio:164/72;
	-webkit-mask-image:url('assets/psw-mask-top.svg');
	mask-image:url('assets/psw-mask-top.svg');
}
.field-image-detail .field-image-mask{
	aspect-ratio:127/104;
	-webkit-mask-image:url('assets/psw-mask-lower-right.svg');
	mask-image:url('assets/psw-mask-lower-right.svg');
}
.field-image .field-image-mask img{width:100%;height:100%;object-fit:cover}
.field-image figcaption{
	position:relative;
	right:auto;
	bottom:auto;
	left:auto;
	display:flex;
	justify-content:space-between;
	min-width:0;
	margin-top:7px;
	padding:0 5%;
	border-radius:0;
	background:transparent;
	color:var(--ink);
}
.field-image figcaption span{color:var(--brand-brown)}

.audience-card-media,
.audience-card:nth-child(2) .audience-card-media{
	height:auto;
	aspect-ratio:1.33;
	overflow:hidden;
	border-radius:0;
	background:var(--brand-teal);
	box-shadow:none;
	filter:drop-shadow(0 20px 22px rgba(4,23,26,.28));
	-webkit-mask-position:center;
	-webkit-mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-position:center;
	mask-size:100% 100%;
	mask-repeat:no-repeat;
}
.audience-card:nth-child(1) .audience-card-media{
	border-radius:0;
	-webkit-mask-image:url('assets/psw-mask-left.svg');
	mask-image:url('assets/psw-mask-left.svg');
}
.audience-card:nth-child(2) .audience-card-media{
	border-radius:0;
	-webkit-mask-image:url('assets/psw-mask-right.svg');
	mask-image:url('assets/psw-mask-right.svg');
}
.audience-card:nth-child(3) .audience-card-media{
	border-radius:0;
	-webkit-mask-image:url('assets/psw-mask-lower-right.svg');
	mask-image:url('assets/psw-mask-lower-right.svg');
}
.audience-card-media img{width:100%;height:100%;object-fit:cover}

.catchment-visual{
	min-height:0;
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}
.catchment-visual:before{display:none}
.catchment-photo-mask{
	display:block;
	aspect-ratio:244/236;
	overflow:hidden;
	background:var(--brand-aqua);
	filter:drop-shadow(0 24px 28px rgba(18,56,62,.17));
	-webkit-mask:url('assets/psw-mask-full.svg') center/100% 100% no-repeat;
	mask:url('assets/psw-mask-full.svg') center/100% 100% no-repeat;
}
.catchment-photo-mask .catchment-photo{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.catchment-visual figcaption{
	position:relative;
	right:auto;
	bottom:auto;
	display:flex;
	justify-content:flex-end;
	margin:7px 6% 0;
	padding:0;
	border-radius:0;
	background:transparent;
	color:var(--ink);
}
.catchment-visual figcaption span{color:var(--brand-brown)}

.audience-section:before,
.audience-section:after,
.approach-section:before,
.approach-section:after,
.news-section:before,
.news-section:after,
.contact-section:before{
	right:auto;
	left:auto;
	width:clamp(150px,18vw,260px);
	height:120px;
	border-radius:0;
	transform:none;
	opacity:.2;
	-webkit-mask-position:center;
	-webkit-mask-size:contain;
	-webkit-mask-repeat:no-repeat;
	mask-position:center;
	mask-size:contain;
	mask-repeat:no-repeat;
}
.audience-section:before{
	top:-68px;
	left:8%;
	background:var(--brand-olive);
	-webkit-mask-image:url('assets/psw-mask-top.svg');
	mask-image:url('assets/psw-mask-top.svg');
}
.audience-section:after{
	right:7%;
	bottom:-72px;
	background:var(--brand-teal);
	-webkit-mask-image:url('assets/psw-mask-lower-right.svg');
	mask-image:url('assets/psw-mask-lower-right.svg');
}
.approach-section:before{
	top:-58px;
	right:10%;
	background:var(--brand-lime);
	-webkit-mask-image:url('assets/psw-mask-right.svg');
	mask-image:url('assets/psw-mask-right.svg');
}
.approach-section:after{
	bottom:-60px;
	left:8%;
	background:var(--brand-aqua);
	-webkit-mask-image:url('assets/psw-mask-lower-left.svg');
	mask-image:url('assets/psw-mask-lower-left.svg');
}
.news-section:before{
	top:-63px;
	left:12%;
	background:var(--brand-brown);
	-webkit-mask-image:url('assets/psw-mask-top.svg');
	mask-image:url('assets/psw-mask-top.svg');
}
.news-section:after{
	right:9%;
	bottom:-66px;
	background:var(--brand-aqua);
	-webkit-mask-image:url('assets/psw-mask-lower-left.svg');
	mask-image:url('assets/psw-mask-lower-left.svg');
}
.contact-section:before{
	top:-62px;
	right:11%;
	background:var(--brand-lime);
	-webkit-mask-image:url('assets/psw-mask-right.svg');
	mask-image:url('assets/psw-mask-right.svg');
}

@media(max-width:900px){
	.brand-mark{width:48px;height:46px}
	.hero-photo{min-height:0}
	.hero-photo .hero-photo-mask img{height:100%}
	.field-notes-gallery{max-width:760px}
	.catchment-visual{transform:none}
}

@media(max-width:620px){
	.brand-mark{width:40px;height:39px}
	.brand-text{font-size:10px}
	.brand-echo{width:210px;opacity:.045}
	.brand-echo-two{left:-28%}
	.hero-photo{min-height:0;margin-inline:0;border-radius:0}
	.hero-photo-top{margin:0 3% 7px;font-size:8px;letter-spacing:.08em}
	.hero-photo figcaption{min-width:0;margin-inline:3%;padding:0;border-radius:0}
	.hero-photo .hero-photo-mask img{height:100%}
	.field-notes-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:22px 12px}
	.field-image-river{grid-column:1/-1;grid-row:auto}
	.field-image figcaption{display:flex;padding-inline:3%;font-size:8px}
	.field-image figcaption strong{display:block;margin-top:0}
	.audience-card-media,.audience-card:nth-child(2) .audience-card-media{height:auto;aspect-ratio:1.33}
	.catchment-visual{min-height:0;margin-inline:-8px;border-radius:0}
	.catchment-photo-mask .catchment-photo{height:100%}
	.catchment-visual figcaption{justify-content:flex-start;margin-inline:4%}
	.funding-lockup{margin-top:28px;padding:14px 14px 16px;border-radius:0 34px 0 34px}
	.audience-section:before,.audience-section:after,.approach-section:before,.approach-section:after,.news-section:before,.news-section:after,.contact-section:before{width:130px;height:72px}
}

@media(prefers-reduced-motion:reduce){
	.brand-echo{transform:none}
	.hero-photo-mask img,
	.field-image-mask img,
	.audience-card-media img,
	.catchment-photo-mask img{transform:none !important}
}

/* Motion layer: restrained logo drift, scroll reveals and image depth. The page remains fully visible without JavaScript. */
.brand-echo,
.hero-photo-mask img,
.field-image-mask img,
.audience-card-media img,
.catchment-photo-mask img{will-change:transform}
.brand-echo{transform-origin:center center}

/* Tighten the water-flow rhythm so section transitions feel connected rather than separated. */
.audience-section,
.approach-section,
.news-section,
.contact-section{margin-block:28px 36px}
@media(max-width:620px){
	.audience-section,
	.approach-section,
	.news-section,
	.contact-section{margin-block:20px 28px}
}

/* ==========================================================================
   PROTECTING SHARED WATERS - MULTI-PAGE & CLIENT DOCUMENTATION ADDITIONS
   ========================================================================== */

/* Header & Navigation Enhancements */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(18, 56, 62, 0.09);
	box-shadow: 0 4px 20px rgba(18, 56, 62, 0.04);
	transition: all 0.3s ease;
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1360px;
	width: 100%;
	margin: 0 auto;
	padding: 8px clamp(18px, 2.8vw, 36px);
	gap: clamp(14px, 2vw, 28px);
	box-sizing: border-box;
}
.brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	position: relative;
	z-index: 1010;
	padding: 6px 18px 12px;
	background: #ffffff;
	border-radius: 0 0 16px 16px;
	box-shadow: 0 10px 28px rgba(18, 56, 62, 0.12);
	margin-bottom: -16px;
	margin-top: -6px;
	border: 1px solid rgba(18, 56, 62, 0.07);
	border-top: none;
	transition: all 0.25s ease;
}
.brand:hover {
	box-shadow: 0 14px 34px rgba(18, 56, 62, 0.18);
	transform: translateY(1px);
}
.brand-logo {
	height: 68px;
	width: auto;
	max-height: 72px;
	display: block;
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.brand:hover .brand-logo {
	opacity: 0.95;
}
.header-right-group {
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.5vw, 22px);
	flex-shrink: 0;
}
.header-funder {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.funder-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	padding: 4px 6px;
	border-radius: 8px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.funder-link:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}
.funder-logo {
	height: 54px;
	width: auto;
	max-width: 155px;
	display: block;
	object-fit: contain;
	transition: opacity 0.2s ease;
}
.main-nav {
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.4vw, 20px);
	flex-shrink: 0;
}
.nav-link {
	color: var(--water-deep);
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
	padding: 8px 12px;
	border-radius: 8px;
	transition: color 0.2s ease, background 0.2s ease;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}
.nav-link:hover {
	color: var(--brand-teal);
	background: rgba(27, 77, 84, 0.06);
}
.nav-item.has-dropdown {
	position: relative;
}
.nav-caret {
	font-size: 9px;
	margin-left: 5px;
	opacity: 0.7;
	transition: transform 0.2s;
}
.dropdown-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	min-width: 220px;
	padding: 8px;
	border-radius: 12px;
	box-shadow: 0 16px 36px rgba(18, 56, 62, 0.12);
	border: 1px solid rgba(18, 56, 62, 0.08);
	z-index: 120;
}
.nav-item.has-dropdown:hover .dropdown-menu,
.nav-item.has-dropdown:focus-within .dropdown-menu {
	display: block;
}
.dropdown-menu a {
	display: block;
	padding: 9px 14px;
	font-size: 13.5px;
	color: var(--water-deep);
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.dropdown-menu a:hover {
	background: var(--water-pale);
	color: var(--brand-teal);
}
.nav-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #b8583d;
	color: #ffffff !important;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.015em;
	text-transform: none;
	padding: 12px 30px;
	border-radius: 50px;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	box-shadow: 0 3px 12px rgba(184, 88, 61, 0.28);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	border: 1px solid transparent;
	line-height: 1.2;
}
.nav-cta-btn:hover {
	background: #a34b33;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(184, 88, 61, 0.35);
}

/* Subpage Hero */
.subpage-hero {
	background: radial-gradient(circle at 85% 30%, rgba(88,148,153,0.28), transparent 45%),
		radial-gradient(circle at 15% 75%, rgba(127,191,176,0.16), transparent 40%),
		var(--water-deep);
	color: #ffffff;
	padding: 76px 0 64px;
	position: relative;
	overflow: hidden;
}
.subpage-hero:after {
	content: '';
	position: absolute;
	right: -5%;
	left: -5%;
	bottom: -28px;
	height: 48px;
	background: var(--paper, #f2f0e9);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.subpage-kicker {
	display: inline-block;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--brand-aqua);
	margin-bottom: 12px;
}
.subpage-hero h1 {
	color: #ffffff;
	font-size: clamp(30px, 3.8vw, 46px);
	line-height: 1.15;
	max-width: 26ch;
	margin: 0 0 16px;
}
.subpage-hero .subpage-lead {
	color: #d8e7e5;
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.6;
	max-width: 58ch;
	margin: 0;
}
.subpage-lead,
.subpage-content .subpage-lead {
	color: var(--water-deep, #12383e);
	font-size: clamp(18px, 1.35vw, 21px);
	line-height: 1.65;
	max-width: 68ch;
	margin: 0 0 32px;
	font-weight: 450;
}

/* Subpage Content & Editorial Grid */
.subpage-content {
	position: relative;
	padding: 58px 0 100px;
	background-image: 
		radial-gradient(circle at 92% 14%, rgba(127,191,176,0.12), transparent 28%),
		radial-gradient(circle at 6% 45%, rgba(84,143,145,0.08), transparent 26%),
		radial-gradient(circle at 90% 80%, rgba(137,93,75,0.06), transparent 24%);
}
.subpage-section {
	padding: 56px 0;
	border-bottom: 1px solid rgba(20,47,51,0.1);
}
.subpage-section:last-of-type {
	border-bottom: none;
}
.editorial-grid {
	display: grid;
	grid-template-columns: 290px 1fr;
	gap: clamp(28px, 4.5vw, 64px);
	align-items: start;
}
.editorial-side h2 {
	font-size: 26px;
	color: var(--water-deep);
	margin: 0 0 6px;
	line-height: 1.2;
}
.editorial-note {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--brand-brown);
	font-weight: 700;
}
.editorial-main .lead-text {
	font-size: 18px;
	line-height: 1.65;
	color: var(--water-deep);
	font-weight: 500;
	margin-bottom: 20px;
}
.editorial-main p {
	font-size: 16px;
	line-height: 1.7;
	color: #37474f;
	margin-bottom: 18px;
}

/* Objectives List */
.objectives-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.objectives-list li {
	position: relative;
	padding-left: 28px;
	font-size: 16px;
	line-height: 1.65;
	color: #37474f;
}
.objectives-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--brand-olive);
	font-weight: 800;
	font-size: 18px;
}

/* Funding Box */
.funding-callout {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 12px;
	padding: 24px;
	margin-top: 24px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.04);
}
.funding-callout img {
	max-height: 60px;
	width: auto;
	margin-bottom: 12px;
}

/* Partner Directory */
.partner-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 12px;
	padding: 24px 28px;
	margin-bottom: 18px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.lead-card {
	border-left: 5px solid var(--brand-teal);
	background: #fbfdfc;
}
.partner-card-header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 14px;
}
.partner-thumb {
	max-height: 52px;
	max-width: 140px;
	object-fit: contain;
}
.partner-card-header h3 {
	margin: 0 0 4px;
	font-size: 18px;
	color: var(--water-deep);
}
.partner-url {
	font-size: 13px;
	color: var(--brand-teal);
	text-decoration: none;
	font-weight: 600;
}
.partner-url:hover {
	text-decoration: underline;
}
.associate-title {
	font-size: 22px;
	margin: 36px 0 18px;
	color: var(--water-deep);
}
.associate-card-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}
.associate-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 10px;
	padding: 20px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.associate-thumb {
	width: 58px;
	height: 58px;
	object-fit: contain;
	flex-shrink: 0;
}
.text-thumb {
	background: var(--water-deep);
	color: #ffffff;
	font-weight: 800;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
}
.associate-card h4 {
	margin: 0 0 6px;
	font-size: 16px;
	color: var(--water-deep);
}
.associate-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #546e7a;
}

/* Callout Box & Photo Banner */
.callout-box {
	background: var(--water-pale);
	border-left: 4px solid var(--brand-teal);
	padding: 22px 26px;
	border-radius: 0 10px 10px 0;
	margin: 24px 0;
}
.callout-box h4 {
	margin: 0 0 8px;
	color: var(--water-deep);
	font-size: 18px;
}
.callout-box p {
	margin: 0 0 8px;
	color: #37474f;
	font-size: 15px;
	line-height: 1.6;
}
.callout-box p:last-child {
	margin-bottom: 0;
}
.photo-banner {
	position: relative;
	margin: 40px 0 24px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 14px 38px rgba(18, 56, 62, 0.12);
	max-height: 480px;
	background: var(--water-deep);
}
.photo-banner img {
	width: 100%;
	height: 480px;
	object-fit: cover;
	object-position: center;
	display: block;
}
.photo-caption {
	position: absolute;
	bottom: 18px;
	left: 20px;
	right: auto;
	max-width: calc(100% - 40px);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 9px 20px 9px 15px;
	font-size: 13.5px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #ffffff;
	background: rgba(18, 56, 62, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	box-shadow: 0 8px 24px rgba(4, 23, 26, 0.35);
	z-index: 10;
}
.photo-caption:before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--brand-aqua, #7fbfb0);
	flex-shrink: 0;
}
.bog-types-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 24px 0;
}
.bog-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}
.bog-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
	color: var(--water-deep);
}
.bog-card p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #546e7a;
}
.action-cta-box {
	background: linear-gradient(135deg, var(--water-pale), #ffffff);
	border: 1px solid rgba(20,47,51,0.14);
	border-radius: 12px;
	padding: 26px;
	margin-top: 26px;
}
.action-cta-box h4 {
	margin: 0 0 8px;
	font-size: 18px;
	color: var(--water-deep);
}
.action-cta-box p {
	margin: 0 0 16px;
	font-size: 15px;
	color: #546e7a;
}

/* Offers Grid (Farmers) */
.offers-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 20px 0;
}
.offer-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 12px;
	padding: 24px;
	position: relative;
	box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.offer-badge {
	position: absolute;
	top: 20px;
	right: 20px;
	background: var(--brand-olive);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 4px 10px;
	border-radius: 999px;
}
.offer-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
	color: var(--water-deep);
	padding-right: 70px;
}
.offer-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #546e7a;
}

/* Stakeholder Cards */
.stakeholder-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin: 28px 0;
}
.stakeholder-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.stakeholder-card h3 {
	margin: 0 0 8px;
	font-size: 17px;
	color: var(--water-deep);
}
.stakeholder-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #546e7a;
}

/* Fact Sheets (Resources) */
.factsheets-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 22px;
	margin-top: 10px;
}
.factsheet-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(0,0,0,0.03);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.factsheet-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(18,56,62,0.08);
}
.factsheet-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}
.factsheet-num {
	font-size: 12px;
	font-weight: 800;
	color: var(--brand-brown);
	background: #f5ebe6;
	padding: 3px 10px;
	border-radius: 999px;
}
.factsheet-size {
	font-size: 12px;
	color: #78909c;
	font-weight: 600;
}
.factsheet-card h3 {
	font-size: 18px;
	color: var(--water-deep);
	margin: 0 0 10px;
	line-height: 1.3;
}
.factsheet-card p {
	font-size: 14px;
	line-height: 1.55;
	color: #546e7a;
	margin: 0 0 20px;
	flex-grow: 1;
}
.factsheet-download {
	align-self: flex-start;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	border-radius: 999px;
	padding: 8px 18px;
	background: var(--water-deep);
	color: #ffffff;
	transition: background 0.2s;
}
.factsheet-download:hover {
	background: var(--brand-teal);
}

/* Contact Page Layout & Form */
.contact-page-layout {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: clamp(24px, 4vw, 56px);
}
.contact-details-panel {
	background: var(--water-pale);
	border-radius: 16px;
	padding: 36px 32px;
}
.contact-details-panel h2 {
	margin: 0 0 24px;
	font-size: 24px;
	color: var(--water-deep);
}
.contact-info-block {
	margin-bottom: 24px;
}
.contact-info-block h3 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--brand-brown);
	margin: 0 0 6px;
	font-weight: 700;
}
.contact-info-block p {
	font-size: 16px;
	line-height: 1.6;
	color: var(--water-deep);
	margin: 0;
}
.contact-info-block a {
	color: var(--brand-teal);
	font-weight: 600;
	text-decoration: none;
}
.contact-info-block a:hover {
	text-decoration: underline;
}
.info-note {
	display: block;
	font-size: 13px;
	color: #78909c;
	margin-top: 4px;
}
.contact-funding-notice {
	border-top: 1px solid rgba(20,47,51,0.12);
	padding-top: 20px;
	margin-top: 30px;
}
.contact-funding-notice h4 {
	margin: 0 0 6px;
	font-size: 15px;
	color: var(--water-deep);
}
.contact-funding-notice p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #546e7a;
}
.contact-form-panel {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: 0 6px 24px rgba(0,0,0,0.03);
}
.contact-form-panel h2 {
	margin: 0 0 20px;
	font-size: 24px;
	color: var(--water-deep);
}
.form-row {
	margin-bottom: 18px;
}
.form-row label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--water-deep);
	margin-bottom: 6px;
}
.req {
	color: #e53935;
}
.form-row input,
.form-row select,
.form-row textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #cfd8dc;
	border-radius: 8px;
	font-size: 15px;
	font-family: inherit;
	box-sizing: border-box;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
	outline: none;
	border-color: var(--brand-teal);
	box-shadow: 0 0 0 3px rgba(84,143,145,0.2);
}
.submit-btn {
	background: var(--brand-brown);
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	padding: 12px 28px;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s;
}
.submit-btn:hover {
	background: #714636;
}
.form-alert {
	padding: 14px 18px;
	border-radius: 8px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.5;
}
.form-success {
	background: #e8f5e9;
	color: #2e7d32;
	border-left: 4px solid #43a047;
}

/* News Feed & Single Post */
.news-feed-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 30px;
}
.news-feed-card {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
}
.feed-thumb img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
.feed-card-body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.feed-card-date {
	font-size: 12px;
	color: #78909c;
	font-weight: 600;
	margin-bottom: 8px;
}
.feed-card-body h3 {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.35;
}
.feed-card-body h3 a {
	color: var(--water-deep);
	text-decoration: none;
}
.feed-card-body h3 a:hover {
	color: var(--brand-teal);
}
.feed-card-body p {
	font-size: 14px;
	line-height: 1.6;
	color: #546e7a;
	margin: 0 0 16px;
	flex-grow: 1;
}
.read-more-link {
	font-size: 14px;
	font-weight: 600;
	color: var(--brand-teal);
	text-decoration: none;
}
.post-layout-grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 48px;
	align-items: start;
	min-width: 0;
}
.post-body {
	min-width: 0;
}
.post-meta-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}
.back-link {
	color: var(--brand-aqua);
	font-size: 14px;
	text-decoration: none;
	font-weight: 600;
}
.post-date {
	color: #b0bec5;
	font-size: 14px;
}
.post-kicker-strip {
	display: flex;
	gap: 16px;
	font-size: 13px;
	color: #b0bec5;
	margin-top: 10px;
}
.post-featured-media {
	margin-bottom: 30px;
	border-radius: 14px;
	overflow: hidden;
}
.post-featured-media img {
	width: 100%;
	height: auto;
	display: block;
}
.post-prose {
	font-size: 17px;
	line-height: 1.75;
	color: #37474f;
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}
.post-prose p {
	margin-bottom: 22px;
}
.post-prose img,
.post-body img,
.wp-block-image img,
.post-prose figure img {
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(20, 47, 51, 0.08);
}
.wp-block-image {
	margin: 28px 0;
	max-width: 100%;
}
.wp-block-image.aligncenter {
	text-align: center;
}
.wp-block-image.aligncenter img {
	margin-left: auto;
	margin-right: auto;
}
.wp-block-image figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: #607d8b;
	font-style: italic;
	line-height: 1.45;
}
.post-prose blockquote {
	margin: 28px 0;
	padding: 20px 24px;
	background: #f7f9f9;
	border-left: 4px solid var(--brand-teal);
	border-radius: 0 10px 10px 0;
	font-style: italic;
	color: var(--water-deep);
}
.post-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	color: var(--brand-teal);
}
.post-prose hr {
	border: 0;
	border-top: 1px solid rgba(20, 47, 51, 0.12);
	margin: 36px 0;
}
.post-prose ul, .post-prose ol {
	padding-left: 24px;
	margin-bottom: 24px;
}
.post-prose li {
	margin-bottom: 10px;
}
.post-footer-cta {
	background: var(--water-pale);
	border-radius: 12px;
	padding: 24px;
	margin-top: 40px;
}
.post-footer-cta h4 {
	margin: 0 0 6px;
	font-size: 17px;
	color: var(--water-deep);
}
.post-footer-cta p {
	margin: 0 0 14px;
	font-size: 14px;
	color: #546e7a;
}
.post-sidebar .sidebar-box {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 12px;
	padding: 22px;
	margin-bottom: 20px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}
.sidebar-box h3 {
	margin: 0 0 14px;
	font-size: 16px;
	color: var(--water-deep);
}
.fact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.fact-list li {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 8px;
	color: #546e7a;
}

/* Homepage Partners Section Polish */
.partners-intro {
	margin-bottom: 32px;
}
.partner-tier-block {
	margin-bottom: 36px;
}
.tier-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--brand-brown);
	font-weight: 800;
	margin: 0 0 16px;
}
.partner-logos-lead {
	display: flex;
}
.partner-logos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}
.partner-logo-item {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.1);
	border-radius: 12px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	color: var(--water-deep);
	font-size: 12px;
	font-weight: 600;
	min-height: 110px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.partner-logo-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}
.partner-logo-item img {
	max-height: 48px;
	max-width: 130px;
	object-fit: contain;
	margin-bottom: 8px;
}
.lead-item {
	max-width: 280px;
	border-color: var(--brand-teal);
	border-width: 2px;
}
.lead-item img {
	max-height: 58px;
}
.partner-text-badge {
	display: block;
	font-size: 15px;
	font-weight: 800;
	color: var(--brand-teal);
	margin-bottom: 4px;
}
.partner-funding-box {
	background: #ffffff;
	border: 1px solid rgba(20,47,51,0.12);
	border-radius: 14px;
	padding: 24px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 36px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.03);
}
.funding-text h4 {
	margin: 0 0 6px;
	font-size: 17px;
	color: var(--water-deep);
}
.funding-text p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #546e7a;
	max-width: 60ch;
}
.funding-img {
	max-height: 65px;
	object-fit: contain;
}

/* Homepage NBS Highlight */
.nbs-highlight-grid {
	display: grid;
	grid-template-columns: 1.12fr 0.88fr;
	gap: clamp(32px, 4.5vw, 60px);
	align-items: center;
	margin-top: 32px;
}
.nbs-highlight-text p {
	font-size: 16px;
	line-height: 1.65;
	color: #37474f;
	margin-bottom: 18px;
}
.nbs-highlight-media {
	max-width: 440px;
	width: 100%;
	justify-self: center;
	margin: 0 auto;
}
.nbs-highlight-media img {
	border-radius: 16px;
	width: 100%;
	height: auto;
	max-height: 580px;
	object-fit: cover;
	box-shadow: 0 16px 40px rgba(18, 56, 62, 0.14);
}
.nbs-highlight-media figcaption {
	font-size: 13px;
	color: #607d8b;
	margin-top: 12px;
	line-height: 1.45;
	text-align: center;
}

/* Footer Polish */
.site-footer {
	background: #0d292e;
	color: #d4e7e6;
}
.footer-top-grid {
	display: grid;
	grid-template-columns: 2fr 1.1fr 1.1fr 1.6fr;
	gap: 36px;
	padding: 60px 0 44px;
}
.footer-logo {
	max-height: 48px;
	width: auto;
	display: block;
	margin-bottom: 16px;
}
.footer-summary {
	font-size: 14px;
	line-height: 1.6;
	color: #b0bec5;
	margin-bottom: 18px;
	max-width: 38ch;
}
.footer-contact-snippet p {
	font-size: 13px;
	line-height: 1.5;
	margin: 4px 0;
	color: #b0bec5;
}
.footer-contact-snippet a {
	color: #ffffff;
	text-decoration: none;
}
.footer-contact-snippet a:hover {
	text-decoration: underline;
}
.footer-nav-col h3,
.footer-funding-col h3 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #ffffff;
	margin: 0 0 16px;
	font-weight: 700;
}
.footer-nav-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-nav-col li {
	margin-bottom: 9px;
}
.footer-nav-col a {
	color: #b0bec5;
	text-decoration: none;
	font-size: 14px;
	transition: color 0.2s;
}
.footer-nav-col a:hover {
	color: #ffffff;
}
.footer-funding-col p {
	font-size: 13px;
	line-height: 1.55;
	color: #b0bec5;
	margin-bottom: 14px;
}
.footer-funding-badge {
	background: #ffffff;
	padding: 8px 12px;
	border-radius: 8px;
	max-height: 56px;
	object-fit: contain;
	display: block;
}
.footer-bottom-bar {
	border-top: 1px solid rgba(255,255,255,0.08);
	padding: 18px 0;
	font-size: 13px;
	color: #90a4ae;
}
.footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-top-btn {
	color: #b0bec5;
	text-decoration: none;
}
.footer-top-btn:hover {
	color: #ffffff;
}
.footer-bottom-bar a {
	color: #b0bec5;
	text-decoration: underline;
	transition: color 0.2s ease;
}
.footer-bottom-bar a:hover {
	color: #ffffff;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 1024px) {
	.footer-top-grid {
		grid-template-columns: 1fr 1fr;
	}
	.contact-page-layout,
	.post-layout-grid {
		grid-template-columns: 1fr;
	}
	.nbs-highlight-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.editorial-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.bog-types-grid,
	.offers-grid {
		grid-template-columns: 1fr;
	}
	.partner-funding-box {
		flex-direction: column;
		text-align: center;
	}
	.footer-top-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1200px) {
	.brand {
		padding: 5px 14px 8px;
		margin-bottom: -12px;
		margin-top: -4px;
		border-radius: 0 0 12px 12px;
	}
	.brand-logo {
		height: 50px;
		max-height: 52px;
	}
	.funder-logo {
		height: 44px;
		max-width: 120px;
	}
	.header-right-group {
		gap: 12px;
	}
	.main-nav {
		display: none;
	}
	.menu-toggle {
		display: block;
	}
	.main-nav.is-open {
		display: flex !important;
		position: absolute;
		top: 100%;
		left: 16px;
		right: 16px;
		background: #ffffff;
		flex-direction: column;
		align-items: stretch;
		padding: 20px;
		border-radius: 12px;
		box-shadow: 0 16px 40px rgba(0,0,0,0.15);
		border: 1px solid rgba(20,47,51,0.1);
		gap: 8px;
		z-index: 1000;
	}
	.main-nav.is-open .nav-item.has-dropdown {
		display: flex;
		flex-direction: column;
	}
	.main-nav.is-open .dropdown-menu {
		display: block;
		position: static;
		box-shadow: none;
		border: none;
		border-left: 2px solid var(--water-pale);
		margin-left: 8px;
		padding: 4px 0 8px 12px;
	}
	.main-nav.is-open .nav-cta-btn {
		display: flex;
		width: 100%;
		text-align: center;
		justify-content: center;
		margin-top: 12px;
		padding: 12px 20px;
	}
}

/* Enhanced Responsive Screen Padding (Mobile & Small Viewports) */
@media (max-width: 768px) {
	.section-shell {
		padding-inline: clamp(18px, 5.5vw, 28px) !important;
	}
	.header-inner {
		padding: 8px clamp(14px, 4vw, 22px) !important;
	}
	.subpage-hero {
		padding: 56px 0 46px;
	}
	.subpage-content {
		padding: 38px 0 68px;
	}
	.subpage-section {
		padding: 38px 0;
	}
	.editorial-grid {
		gap: 20px;
	}
	.callout-box,
	.action-cta-box,
	.bog-card {
		padding: 20px 18px !important;
	}
	.photo-banner {
		max-height: 320px;
		margin: 26px 0 16px;
		border-radius: 12px;
	}
	.photo-banner img {
		height: 320px;
	}
	.photo-caption {
		bottom: 12px;
		left: 12px;
		font-size: 11.5px;
		padding: 6px 13px;
		max-width: calc(100% - 24px);
	}
}

@media (max-width: 620px) {
	.brand {
		padding: 4px 10px 6px;
		margin-bottom: -6px;
		margin-top: -2px;
		border-radius: 0 0 10px 10px;
	}
	.brand-logo {
		height: 40px;
		max-height: 42px;
	}
	.funder-logo {
		height: 36px;
		max-width: 95px;
	}
	.header-right-group {
		gap: 8px;
	}
}

/* WordPress Dynamic Menu Styling */
.primary-menu-list {
	display: flex;
	align-items: center;
	gap: clamp(4px, 0.9vw, 14px);
	list-style: none;
	padding: 0;
	margin: 0;
}
.primary-menu-list > li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu-list > li > a {
	color: var(--water-deep, #12383e);
	font-family: var(--sans);
	font-size: clamp(13px, 0.95vw, 14.5px);
	font-weight: 550;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
	padding: 7px clamp(7px, 0.75vw, 11px);
	border-radius: 8px;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
}
.primary-menu-list > li > a:hover {
	color: var(--brand-teal, #1b4d54);
	background: rgba(27, 77, 84, 0.06);
}
.primary-menu-list > li.current-menu-item > a,
.primary-menu-list > li.current_page_item > a,
.primary-menu-list > li.current-menu-ancestor > a {
	color: var(--brand-teal, #1b4d54);
	font-weight: 600;
	background: rgba(27, 77, 84, 0.08);
}
.primary-menu-list .menu-item-has-children > a {
	padding-right: 9px;
}
.primary-menu-list .menu-item-has-children > a:after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 6px;
	transition: transform 0.2s ease, opacity 0.2s ease;
	opacity: 0.6;
}
.primary-menu-list .menu-item-has-children:hover > a:after,
.primary-menu-list .menu-item-has-children:focus-within > a:after,
.primary-menu-list .menu-item-has-children.is-active > a:after {
	transform: rotate(-135deg) translateY(-1px);
	opacity: 1;
}
.primary-menu-list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	min-width: 230px;
	padding: 8px;
	border-radius: 12px;
	box-shadow: 0 18px 42px rgba(18, 56, 62, 0.14), 0 2px 8px rgba(18, 56, 62, 0.05);
	border: 1px solid rgba(18, 56, 62, 0.09);
	list-style: none;
	margin: 0;
	z-index: 150;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1),
	            transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
	            visibility 0.2s;
	transition-delay: 0.25s;
}
.primary-menu-list .sub-menu::before {
	content: "";
	position: absolute;
	top: -16px;
	left: 0;
	right: 0;
	height: 18px;
	display: block;
	background: transparent;
	pointer-events: auto;
}
.primary-menu-list .menu-item-has-children:hover > .sub-menu,
.primary-menu-list .menu-item-has-children:focus-within > .sub-menu,
.primary-menu-list .menu-item-has-children.is-active > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}
.primary-menu-list .sub-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu-list .sub-menu a {
	display: block;
	padding: 10px 14px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--water-deep, #12383e);
	border-radius: 8px;
	white-space: nowrap;
	text-decoration: none;
	transition: all 0.15s ease;
}
.primary-menu-list .sub-menu a:hover {
	background: var(--water-pale, #eff5f5);
	color: var(--brand-teal, #1b4d54);
	transform: translateX(2px);
}

@media (max-width: 1200px) {
	.primary-menu-list {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}
	.primary-menu-list .sub-menu {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		position: static !important;
		box-shadow: none !important;
		border: none !important;
		border-left: 2px solid var(--water-pale) !important;
		margin-left: 8px !important;
		padding: 4px 0 8px 12px !important;
		transform: none !important;
		transition: none !important;
	}
	.primary-menu-list .sub-menu::before {
		display: none !important;
	}
}

/* ==========================================================================
   PARALLAX MOTION & MASKED APERTURE DEPTH LAYER
   ========================================================================== */

.hero-photo-mask,
.catchment-photo-mask,
.audience-card-media,
.field-image-mask {
	position: relative;
	overflow: hidden;
}

/* Ensure GSAP hardware-accelerated transforms are never throttled by CSS transitions */
.hero-photo img,
.hero-photo-mask img,
.catchment-photo-mask img,
.catchment-photo-mask .catchment-photo,
.audience-card-media img,
.field-image-mask img,
.photo-banner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform-origin: center center;
	transition: none !important;
	will-change: transform;
}

/* Prevent hover transforms on images from fighting GSAP transform matrix */
.hero-photo:hover img,
.audience-card:hover .audience-card-media img,
.catchment-visual:hover img {
	transform: none !important;
}

/* Elevate frame lighting & shadow depth on hover */
.hero-photo:hover .hero-photo-mask {
	filter: drop-shadow(0 28px 36px rgba(18,56,62,0.26));
	transition: filter 0.35s ease;
}
.audience-card:hover .audience-card-media {
	filter: drop-shadow(0 26px 32px rgba(4,23,26,0.36));
	transition: filter 0.35s ease;
}
.catchment-visual:hover .catchment-photo-mask {
	filter: drop-shadow(0 28px 36px rgba(18,56,62,0.26));
	transition: filter 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
	.brand-echo,
	.brand-echoes,
	.hero-photo-mask img,
	.catchment-photo-mask img,
	.catchment-photo-mask .catchment-photo,
	.audience-card-media img,
	.field-image-mask img,
	.photo-banner img {
		transform: none !important;
		will-change: auto !important;
	}
}


/* Header polish: prominent partner logos and a spacious navigation row. */
.site-header {
  background: #fff;
  border-bottom: 1px solid rgba(18, 56, 62, .12);
  box-shadow: 0 5px 18px rgba(18, 56, 62, .035);
}
.site-header .header-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "brand funder" "nav nav";
  gap: 18px 32px;
  padding: 20px clamp(24px, 3vw, 40px) 14px;
}
.site-header .brand {
  grid-area: brand;
  justify-self: start;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  transform: none;
}
.site-header .brand-logo { width: 320px; height: auto; max-height: none; }
.site-header .header-right-group { grid-area: funder; }
.site-header .funder-link { padding: 0; }
.site-header .funder-logo { width: 260px; height: auto; max-width: none; }
.site-header .main-nav {
  grid-area: nav;
  min-width: 0;
  justify-content: space-between;
  gap: 32px;
  padding-top: 14px;
  border-top: 1px solid rgba(18, 56, 62, .1);
}
.site-header .primary-menu-list { flex: 1; justify-content: space-between; gap: 8px; }
.site-header .primary-menu-list > li > a {
  min-height: 44px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
}
.site-header .main-nav .nav-cta-btn {
  min-height: 48px;
  padding: 14px 32px;
  border-radius: 8px;
  background: #a65b43;
  box-shadow: none;
  line-height: 1.2;
}
.site-header .main-nav .nav-cta-btn:hover { background: #8d4835; box-shadow: 0 4px 12px rgba(141, 72, 53, .14); }
.site-header .main-nav .nav-cta-btn:active { transform: translateY(1px); }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 2px solid #1b4d54; outline-offset: 4px; }
@media (max-width: 1200px) {
  .site-header .header-inner {
    grid-template-columns: 1fr auto auto;
    grid-template-areas: "brand funder toggle";
    gap: 20px;
    padding: 18px 24px !important;
  }
  .site-header .brand-logo { width: clamp(205px, 31vw, 300px); }
  .site-header .header-right-group { display: contents; }
  .site-header .header-funder { grid-area: funder; }
  .site-header .funder-logo { width: 220px; }
  .site-header .menu-toggle {
    grid-area: toggle;
    min-width: 64px;
    min-height: 48px;
    padding: 10px;
    border: 1px solid rgba(18, 56, 62, .15);
    border-radius: 8px;
    background: #f6f8f6;
  }
  .site-header .menu-toggle span { margin: 3px auto; }
  .site-header .menu-toggle b { display: block; margin: 4px 0 0; font-weight: 600; }
  .site-header .main-nav.is-open { grid-area: auto; padding: 20px; gap: 12px; max-height: calc(100dvh - 180px); overflow-y: auto; }
  .site-header .primary-menu-list { flex: none; align-items: stretch; gap: 4px; }
  .site-header .main-nav.is-open .nav-cta-btn { padding: 14px 32px; margin-top: 4px; }
}
@media (max-width: 620px) {
  .site-header .header-inner {
    grid-template-columns: 1fr auto;
    grid-template-areas: "brand toggle" "funder funder";
    gap: 18px 16px;
    padding: 16px 20px !important;
  }
  .site-header .brand-logo,
  .site-header .funder-logo { width: clamp(184px, 60vw, 240px); }
  .site-header .header-funder { justify-self: start; }
  .site-header .main-nav.is-open { max-height: calc(100dvh - 264px); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header a, .site-header button, .site-header img { transition: none; }
}

/* Supplied Fane photography: full-frame images with responsive spacing. */
#fane .fane-photo-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 24px 0 0; }
#fane .fane-photo-gallery figure { margin: 0; min-width: 0; overflow: hidden; border-radius: 16px; }
#fane .fane-photo-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; }
#fane .fane-photo-gallery > p:empty { display: none; }
@media (max-width: 620px) { #fane .fane-photo-gallery { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
