:root{
  --brand-900:#062b20;--brand-700:#0b3a2a;--brand-600:#0f3d2e;--brand-500:#156f57;--brand-400:#48a487;--brand-300:#7ecdb5;
  --text-1:#0f1720;--text-2:#33404a;--muted:#667482;
  --surface-1:#ffffff;--surface-2:#f3f6f4;--surface-3:#e6efeb;
  --border:#d6dfda;--accent:#e9f7f1;
  --focus: #1a73e8;
}
@media (prefers-color-scheme: dark){
  :root{
    --text-1:#e7f0ea;--text-2:#c6d3cc;--muted:#93a2ad;
    --surface-1:#0d1412;--surface-2:#121a17;--surface-3:#1b2421;
    --border:#26322e;--accent:#14221d;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:var(--surface-1); color:var(--text-1); line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color: var(--brand-600); text-decoration: none;}
a:hover{text-decoration: underline;}
img{max-width:100%; height:auto;}
.container{max-width:1100px; margin-inline:auto; padding: clamp(1rem, 2vw, 1.5rem);}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:1000}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;color:#000;padding:.5rem 1rem;border-radius:.25rem;box-shadow:0 2px 6px rgba(0,0,0,.2)}

.site-header{position:relative; z-index:50; background:var(--surface-1); border-bottom:1px solid var(--border);}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:700; color:inherit; text-decoration:none;}
.brand-text{letter-spacing:.2px}
.nav ul{display:flex; gap:1rem; list-style:none; margin:0; padding:0;}
.nav a{padding:.5rem .6rem; border-radius:.4rem}
.nav a:hover{background:var(--surface-2)}
.nav .btn{padding:.6rem .9rem}
.nav-toggle{display:none; background:none; border:none; padding:.5rem; border-radius:.4rem; color:var(--text-1)}
.nav-toggle:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.nav-toggle .bar{display:block; width:24px; height:2px; background:currentColor; margin:5px 0}
.nav a.highlight{font-weight:600}

@media (max-width: 800px){
  .nav-toggle{display:block}
  .nav{position:absolute; left:0; right:0; top:100%; background:var(--surface-1); border-bottom:1px solid var(--border); display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column; padding:1rem}
}

.recruit-banner{background:var(--surface-3); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.recruit-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.recruit-text{margin:0}
@media (max-width:700px){ .recruit-inner{flex-direction:column; align-items:flex-start} }

.site-footer{border-top:1px solid var(--border); margin-top:4rem; background:var(--surface-1)}
.footer-grid{display:grid; grid-template-columns: repeat(4, 1fr); gap:1.5rem}
.brand--footer{display:flex; align-items:center; gap:.6rem; font-weight:700; color:inherit; text-decoration:none;}
.footer-heading{margin-top:0}
.social{display:flex; gap:.75rem; padding:0}
.legal{display:flex; gap:1rem; justify-content:space-between; align-items:center; border-top:1px solid var(--border); padding-top:1rem; margin-top:1rem}
.list-plain{list-style:none; padding:0; margin:0; display:grid; gap:.4rem}
@media (max-width: 900px){ .footer-grid{grid-template-columns:1fr 1fr} }
@media (max-width: 600px){ .footer-grid{grid-template-columns:1fr} .legal{flex-direction:column; gap:.5rem}}

.hero{padding: clamp(1rem, 6vw, 4rem) 0; background: linear-gradient(180deg, var(--surface-1), var(--surface-2)); border-bottom:1px solid var(--border)}
.hero-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:2rem; align-items:center}
.hero-copy h1{font-size: clamp(1.9rem, 3vw, 2.6rem); margin:.2rem 0 .5rem}
.lead{font-size: clamp(1.05rem, 2.2vw, 1.2rem); color:var(--text-2); max-width:60ch}
.hero-cta{display:flex; gap:.8rem; margin-top:.8rem}
.trust{display:grid; gap:.3rem; margin-top:1rem; color: var(--text-2); padding-left:1rem}
.hero-art{justify-self:end; width:100%; max-width:380px}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr} .hero-art{order:-1; justify-self:center} }

.strip{padding:1.2rem 0}
.bg-accent{background:var(--accent); border-block:1px solid var(--border)}
.highlights{display:grid; grid-template-columns: repeat(3, 1fr); gap:1.5rem}
@media (max-width: 900px){ .highlights{grid-template-columns:1fr}}

.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem}
.grid-2{display:grid; grid-template-columns: 1fr 1fr; gap:1.5rem}
@media (max-width: 900px){ .grid-3{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr}}

.card{background:var(--surface-1); border:1px solid var(--border); border-radius:.8rem; padding:1rem}
.feature-cards .card h3{margin-top:.5rem}

.mission-card{border-left:4px solid var(--brand-400)}

.compare{width:100%; border-collapse: collapse}
.compare th, .compare td{border-top:1px solid var(--border); padding:.5rem .6rem; text-align:left}
.compare thead th{border-top:none}

.cta{text-align:center; padding:2rem 0}
.trustees-cta{background:var(--surface-2); border:1px solid var(--border); border-radius:.8rem; margin-top:2rem}

.page-header h1{margin-bottom:.2rem}
.page-header .lead{max-width:65ch}

.cert-mark{margin:2rem 0; background:var(--surface-2); border:1px solid var(--border); border-radius:.8rem; padding:1.5rem}
.cert-mark__inner{display:flex; align-items:center; gap:1.5rem}
.cert-mark__inner img{width:160px; max-width:40vw; height:auto; border-radius:.4rem}
.cert-mark__inner p{margin:0}
@media (max-width: 700px){
  .cert-mark__inner{flex-direction:column; text-align:center}
  .cert-mark__inner img{width:200px}
}

.steps{display:grid; gap:.6rem; counter-reset: step; padding-left:1rem}
.steps li{padding:.4rem .6rem; background:var(--surface-2); border-left:4px solid var(--brand-400); border-radius:.4rem}
.steps li::marker{color:var(--brand-500)}

.two-col{columns:2; column-gap:2rem}
@media (max-width:700px){ .two-col{columns:1} }

.form-card{display:grid; gap:.6rem; background:var(--surface-1); border:1px solid var(--border); border-radius:.8rem; padding:1rem}
input, select, textarea{width:100%; padding:.6rem .7rem; border:1px solid var(--border); border-radius:.4rem; background:var(--surface-1); color:inherit; font:inherit}
input:focus, select:focus, textarea:focus{outline:2px solid var(--focus); outline-offset:2px}
.checkbox{display:flex; align-items:center; gap:.6rem}
button, .btn{display:inline-block; border:1px solid var(--brand-600); background:var(--brand-600); color:#fff; padding:.6rem .9rem; border-radius:.5rem; cursor:pointer; text-decoration:none}
.btn:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent; color:var(--brand-600); border-color:var(--brand-600)}
.btn-secondary{background:transparent; color:var(--brand-600); border-color:var(--brand-600)}
.btn-link{background:none; border:none; padding:.3rem .4rem; color:var(--brand-600); text-decoration:underline}
.small{font-size:.9rem}
.muted{color:var(--muted)}

.form-section{margin-top:2rem; display:grid; gap:1rem}
.form-section h2{margin:0}
.form-card--narrow{width:100%; margin-inline:auto}
.form-card--narrow label{font-weight:600}
.required-indicator{color:var(--brand-600); margin-left:.25rem}
.form-card .help-text{font-size:.85rem; color:var(--muted); margin:0}
.file-upload{display:flex; flex-direction:column; gap:.5rem}
.file-chips{display:flex; flex-wrap:wrap; gap:.5rem}
.file-chip{display:flex; align-items:center; gap:.4rem; border:1px solid var(--border); border-radius:.5rem; background:var(--surface-2); padding:.35rem .5rem; font-size:.85rem}
.file-chip__remove{background:none; border:none; color:var(--brand-600); cursor:pointer; padding:0; font-weight:600}
.file-chip__remove:hover{text-decoration:underline}
.captcha-block{display:grid; gap:.5rem}
.captcha-display{display:flex; align-items:center; gap:.75rem}
.captcha-display img{height:48px; border:1px solid var(--border); border-radius:.4rem}
.form-actions{display:flex; gap:.75rem; flex-wrap:wrap; justify-content:flex-start; margin-top:.2rem}

.error{color:#a40000; min-height:1.2em}

.result-card{border:1px solid var(--border); border-radius:.8rem; padding:1rem; background:var(--surface-1)}

.cookie-banner{position:fixed; left:0; right:0; bottom:0; background:var(--surface-3); border-top:1px solid var(--border); padding:.6rem 0; display:none}
.cookie-banner.show{display:block}
.cookie-actions{display:flex; gap:.6rem; flex-wrap:wrap}

.map{margin-top:1rem; border:1px solid var(--border); border-radius:.8rem; overflow:hidden}

.sitemap{display:grid; gap:.4rem}

.prose > h2{margin-top:1.2rem}
.prose ul, .prose ol{padding-left:1rem}

.arrow::after{content:" →";}

/* Trustee form embed */
.form-embed iframe{width:100%; height:85vh; max-height:1200px; border:0; border-radius:.5rem}
@media (max-width:700px){ .form-embed iframe{height:80vh} }

/* Enhanced file uploader */
.visually-hidden{position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; border:0 !important; clip:rect(0 0 0 0) !important; overflow:hidden !important; white-space:nowrap !important}
.file-drop{border:2px dashed var(--border); background:var(--surface-2); border-radius:.6rem; padding:1rem; display:flex; align-items:center; gap:.75rem; cursor:pointer}
.file-drop__icon{font-size:1.25rem; line-height:1}
.file-drop__hint{font-size:.9rem; color:var(--muted)}
.file-drop--drag{background:var(--accent); border-color:var(--brand-400); box-shadow:0 0 0 3px color-mix(in lab, var(--brand-400) 20%, transparent)}
@media (prefers-reduced-motion: no-preference){ .file-drop{transition:none} }
/* polish file chips slightly */
.file-chip{display:flex; align-items:center; gap:.4rem; border:1px solid var(--border); background:var(--surface-2); padding:.35rem .5rem; border-radius:999px}
.file-chip__remove{background:none; border:none; color:var(--brand-600); cursor:pointer; padding:0; font-weight:600}
.file-chip__remove:hover{text-decoration:underline}
.file-drop-overlay{position:fixed; inset:0; background:rgba(6,43,32,.85); color:#fff; display:none; align-items:center; justify-content:center; text-align:center; padding:2rem; z-index:2000; pointer-events:none}
.file-drop-overlay--visible{display:flex}
.file-drop-overlay__inner{display:grid; gap:.6rem; max-width:min(520px, 90vw)}
.file-drop-overlay__inner strong{font-size:clamp(1.4rem, 3.4vw, 2rem)}
.file-drop-overlay__inner span{font-size:clamp(1rem, 2.5vw, 1.3rem); font-weight:400}
