/* Aventis West brand layer (see BRAND.md). Loaded after each page's own styles, so these rules win. */

@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ---- tokens: light (paper) ---- */
:root{
  --bg:#FFFFFF; --bg-2:#F4F3F0; --bg-3:#F4F3F0;
  --ink:#161616; --ink-2:#4A4A46; --ink-3:#4A4A46;
  --rule:#D9D9D9; --rule-2:#4A4A46;
  --brand:#1F4A3A; --brand-hover:#163829; --brand-tint:#F4F3F0; --on-brand:#FFFFFF;
  --gold:#1F4A3A;
  --ff-head:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --ff-body:Georgia,"Times New Roman",serif;
  color-scheme:light;
}
/* ---- tokens: dark (night paper, light green accent) ---- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#121412; --bg-2:#1A1D1A; --bg-3:#1A1D1A;
    --ink:#ECECE7; --ink-2:#BDBDB5; --ink-3:#BDBDB5;
    --rule:#2E322E; --rule-2:#8A8D87;
    --brand:#7DB89A; --brand-hover:#98C9AE; --brand-tint:#1A1D1A; --on-brand:#121412;
    --gold:#7DB89A;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#121412; --bg-2:#1A1D1A; --bg-3:#1A1D1A;
  --ink:#ECECE7; --ink-2:#BDBDB5; --ink-3:#BDBDB5;
  --rule:#2E322E; --rule-2:#8A8D87;
  --brand:#7DB89A; --brand-hover:#98C9AE; --brand-tint:#1A1D1A; --on-brand:#121412;
  --gold:#7DB89A;
  color-scheme:dark;
}

/* ---- shape: square corners, no shadows, no blur ---- */
*,*::before,*::after{border-radius:0 !important; box-shadow:none !important;}

/* ---- type ---- */
body{font-family:var(--ff-body); font-size:1.125rem; line-height:1.6;}
h1,h2,h3,h4,summary,nav,.btn,.label,.lines .k,.proofcard .facts dt,.eng .fmt,.step .when,.hero-trust,.meta,
.art .call-type,.ins-list .d,.foot,.field label,caption,thead th,.art .body tbody th{font-family:var(--ff-head);}
h1,h2,h3,h4{font-weight:700;}
h1,h2{letter-spacing:-.02em;}
nav a,.btn{font-weight:600;}
.label,.lines .k,.proofcard .facts dt,.art .call-type,.art .body td[data-label]::before{text-transform:none; letter-spacing:0;}
.label{font-size:.875rem; font-weight:600; color:var(--brand);}
.lines .k,.proofcard .facts dt{font-size:.875rem; font-weight:600; color:var(--ink-2);}
a{color:var(--brand); text-decoration:none;}
a:hover{text-decoration:underline;}
.art .body a:not(.btn),.doc a:not(.btn),.lines .v a:not(.btn),.hero-email a,.eng-cta .or a,.art .body td a{color:var(--brand);}

/* ---- header and logo ---- */
.hdr{background:var(--bg); backdrop-filter:none; -webkit-backdrop-filter:none;}
.brand{display:flex; align-items:center; text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand img{display:block; height:40px; width:auto;}
@media (max-width:600px){ .brand img{height:30px;} }
nav a{color:var(--ink);}
nav a:hover{color:var(--brand); text-decoration:none;}
.menu span{background:var(--ink);}

/* ---- buttons: solid green or ink outline ---- */
.btn{border-width:1px; text-decoration:none !important;}
.btn-primary{background:var(--brand); color:var(--on-brand); border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-hover); border-color:var(--brand-hover); color:var(--on-brand);}
.btn-secondary{background:transparent; border-color:var(--ink); color:var(--ink);}
.btn-secondary:hover{border-color:var(--brand); color:var(--brand);}

/* ---- sections: white, thin lines, one soft band (contact) ---- */
.sec.tint{background:var(--bg); border-block:0;}
.sec + .sec{border-top:1px solid var(--rule);}
#contact{background:var(--bg-2); border-top:1px solid var(--rule);}
footer.site{background:var(--bg); border-top:1px solid var(--rule);}
.foot-logo{display:block; height:32px; width:auto; margin-bottom:.75rem;}

/* hero */
.hero-trust{color:var(--ink-2);}
.hero-trust span::before{width:6px; height:6px; background:var(--brand);}
.proofcard{background:transparent; border:0; border-top:1px solid var(--ink); padding:1.25rem 0 0;}
.proofcard .facts div{border-top-color:var(--rule);}

/* services: plain sections with a top rule */
.svc{gap:2.25rem 2.5rem;}
.svc article{background:transparent; border:0; border-top:1px solid var(--rule); padding:1.25rem 0 0;}
.svc ul{border-top:0; padding-top:0; margin-top:.85rem;}
.svc li::before{width:.4rem; height:.4rem; background:var(--brand); border:0; top:.62em;}

/* funder types */
.fed{background:transparent; border:0; border-top:1px solid var(--rule); padding:2rem 0 0; margin-top:3rem;}
.fed-head h3{font-family:var(--ff-head); font-weight:700;}
.fed-grid div{border-top:1px solid var(--rule);}

/* lifecycle steps */
.step{border-top:1px solid var(--rule);}
.step::before,.sec.tint .step::before{background:var(--bg); color:var(--brand); font-family:var(--ff-head);}

/* who it's for */
.who{gap:2rem 2.5rem;}
.who div{background:transparent; border-top:1px solid var(--rule); padding:1.25rem 0 0;}
.sectors ul{gap:.35rem .6rem;}
.sectors li{background:transparent; border:0; padding:0; color:var(--ink-2);}
.sectors li:not(:last-child)::after{content:"\00B7"; margin-left:.6rem; color:var(--ink-2);}

/* about */
.principles{background:transparent; border:0; border-top:1px solid var(--ink); padding:1.25rem 0 0;}
.creds li::before{content:""; width:.4rem; height:.4rem; background:var(--brand); top:.62em;}

/* engagements */
.eng{gap:2rem 2.5rem;}
.eng div{border:0; border-top:1px solid var(--rule); padding:1.25rem 0 0;}
.ethics{background:transparent; border-top:1px solid var(--rule); padding:1.25rem 0 0;}

/* other services */
.other-head h3{font-family:var(--ff-head); font-weight:700;}

/* insights preview and index */
.ins-item h3,.ins-list h2{font-family:var(--ff-head); font-weight:700;}
.ins-item:hover,.ins-list a:hover{text-decoration:none;}

/* faq */
.faq summary{font-weight:600;}
.faq summary::after{color:var(--brand);}

/* contact and form (form markup unchanged) */
.form{background:transparent; border:0; padding:0;}
.field input,.field select,.field textarea{background:var(--bg); color:var(--ink); border:1px solid var(--rule-2);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand); outline-offset:1px; border-color:var(--brand);}
.skip{background:var(--brand); color:var(--on-brand);}
:focus-visible{outline-color:var(--brand);}

/* ---- articles and plain pages ---- */
.art .lede{font-family:var(--ff-body); color:var(--ink-2);}
.art .body h2{font-family:var(--ff-head); font-weight:700;}
.art .body p:has(> em:only-child){border-left:0; padding-left:0;}
.art .cta{background:transparent; border:0; border-block:1px solid var(--rule); padding:1.5rem 0;}
.art .fig{background:transparent; border:0; border-block:1px solid var(--rule); padding:1.25rem 0 1rem;}
.art .fig svg{font-family:var(--ff-head);}
.art .more a:hover{text-decoration:none;}
.art .body .tbl{border:0; border-top:1px solid var(--ink);}
.art .body thead th{background:transparent; border-bottom:1px solid var(--ink); font-weight:700;}
.art .body caption{padding-left:0; padding-right:0;}
.art .body th:first-child,.art .body td:first-child{padding-left:0;}
@media (max-width:560px){
  .art .body .tbl{border-top:0;}
  .art .body tbody tr{border:0; border-top:1px solid var(--ink); margin-bottom:1.25rem;}
  .art .body tbody th{background:transparent; padding-left:0;}
  .art .body td{padding-left:0;}
}
.art .body li.call{background:transparent; border:0; border-top:1px solid var(--rule); padding:1.15rem 0 0;}
.art .call h3 a{color:var(--ink);}
.art .call .soon{background:transparent; color:var(--brand); padding:0; font-weight:600;}
.art .signup{background:transparent; border:0; border-block:1px solid var(--rule); padding:1.5rem 0;}
.art .filter select{background:var(--bg); border-color:var(--rule-2);}

/* ---- type size: body 18px, secondary text up 1px (Oct 30, 2026) ---- */
.proofcard .facts dd,
.svc p,
.fed-head p:last-child,
.step p,
.sectors > p,
.who p,
.principles li,
.creds li,
.eng p,
.ethics,
.other-head p:last-child,
.other-list span,
.ins-item p,
.faq details p,
.field input,
.field select,
.field textarea,
.ins-list p,
.art .body table,
.eng-cta p,
.hero-email,
.eng-cta .or,
.art .filter select,
.art .call dl{font-size:1rem;}
.hero-trust,
.svc li,
.fed-grid p,
.sectors li,
.sectors .sectors-note,
.quote footer,
.foot p,
.art .meta,
.art .fig figcaption,
.doc .meta,
.art .body thead th,
.art .body .src,
.art .body ol.steps li::before,
.lines .note,
.art .filter label,
.art .filter .count,
.art .call-funder,
.art .signup .note{font-size:.9375rem;}
.art .body p:has(> em:only-child){font-size:.9375rem;}

/* ---- accessibility: links inside text are underlined, not color-only (WCAG 1.4.1) ---- */
main p a:not(.btn),main li a:not(.btn),main td a,main th a,main dd a,main figcaption a,main caption a,
footer.site .foot-links a{text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em;}
main p a:not(.btn):hover,main li a:not(.btn):hover,main td a:hover,main th a:hover,main dd a:hover,footer.site .foot-links a:hover{text-decoration-thickness:2px;}
.skip:focus{left:0; top:0;}
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
