/* Midden-Delfland: deep greens, open space and real local landscapes. */
:root {
  --paper:#f7f9f3;
  --ink:#153f31;
  --green:#286b45;
  --lime:#d2e9a6;
  --soft:#eaf1e4;
  --muted:#53685b;
  --border:#cddbcc;
}
.site-header { background:#f7f9f3f5; border-bottom-color:var(--border); }
.brand-dot { color:#5f8e3b; }
.page-band { background:#e4eedf; }
.pilot-area,.program-section { background:#e9f0e3; border-color:#cbd9c4; }
.dimensions-panel { background:#e0edda; border-color:#b9cfb1; }
.practical-section { background:#174c37; }
.public-dark { background:#153f31; }
.journey-month:first-child,.digital-preview { background:#dcebd2; }
.domain-chips span { background:#edf4e7; }
.local-hero { background:#153f31; color:#f7f9f3; }
.local-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-block:56px; }
.local-hero .eyebrow { color:#c7dfa6; font-size:11px; }
.local-hero h1 { font-size:clamp(66px,6.6vw,96px); line-height:1.01; letter-spacing:-.055em; margin:28px 0 25px; }
.local-hero h1 em { color:#d2e9a6; }
.local-hero-copy > p:not(.eyebrow) { color:#d7e4d7; max-width:460px; line-height:1.85; }
.local-hero .button { background:#d2e9a6; color:#153f31; border-color:#d2e9a6; }
.local-hero .button:hover { background:#e5f2cc; border-color:#e5f2cc; }
.local-hero .text-link { color:#fff; }
.local-hero-foot { display:flex; flex-wrap:wrap; gap:8px 19px; margin-top:35px; font-size:11px; color:#c3d9c7; }
.local-hero-foot span + span::before { content:'·'; margin-right:19px; color:#91b76f; }
.local-hero-photo { min-width:0; position:relative; }
.local-hero-photo img { width:100%; height:490px; object-fit:cover; border-radius:3px 3px 100px 3px; }
.local-hero-photo figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:15px; font-size:11px; color:#d7e4d7; }
.local-hero-photo figcaption a { text-decoration:underline; text-underline-offset:4px; font-size:10px; }
.place-marker { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#d2e9a6; }
.home-pilots { padding-block:76px 68px; }
.home-pilots .section-heading { align-items:flex-end; margin-bottom:33px; }
.home-pilots .section-heading h2 { font-size:clamp(40px,4.2vw,59px); }
.home-pilots .section-heading > p { max-width:370px; }
.home-pilots .pilot-grid { border:0; gap:20px; }
.home-pilots .pilot-card { display:flex; padding:28px; border:1px solid #bacdb7; border-top:4px solid #4e7d44; background:#f7f9f3; box-shadow:0 8px 24px #163c2a04; }
.home-pilots .pilot-card:nth-child(2) { background:#f0f6e9; border-top-color:#19503a; }
.home-pilots .pilot-card:nth-child(3) { background:#e0edd6; border-top-color:#729f47; }
.home-pilots .pilot-index { font-size:16px; font-family:var(--sans); color:#366343; letter-spacing:.05em; }
.home-pilots .pilot-status { font-size:10px; border:0; padding:0; color:#4c6650; }
.home-pilots .pilot-card h3 { margin:29px 0 9px; font-size:37px; min-height:78px; }
.home-pilots .pilot-card > p:not(.pilot-name) { min-height:95px; color:#4b6453; }
.home-pilots .pilot-card .pilot-name { font-size:12px; margin-bottom:18px; color:#376b45; }
.home-pilots .pilot-card dl { border-color:#c4d4bc; padding-block:18px; gap:14px; }
.home-pilots .pilot-card dl > div { align-items:baseline; }
.home-pilots .pilot-card dd { max-width:72%; }
.home-pilots .pilot-card .text-link { width:100%; justify-content:space-between; border-top:1px solid #c4d4bc; padding-top:16px; }
.home-pilots .layer-note { background:transparent; padding:8px 0; border:0; margin-top:26px; }
.home-pilots .layer-note p { font-size:13px; }
.home-pilots .layer-note strong { display:inline; }
.method-section { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:start; }
.method-copy { position:sticky; top:130px; }
.method-copy h2 { margin:24px 0; }
.method-copy > p:not(.eyebrow) { color:var(--muted); max-width:430px; }
.method-copy .text-link { margin-top:22px; }
.method-steps { border-top:1px solid var(--border); }
.method-steps details { border-bottom:1px solid var(--border); }
.method-steps summary { list-style:none; display:grid; grid-template-columns:32px 1fr 18px; gap:16px; align-items:center; padding:22px 0; cursor:pointer; }
.method-steps summary::-webkit-details-marker { display:none; }
.method-steps summary::after { content:'+'; font:26px var(--serif); }
.method-steps details[open] summary::after { content:'−'; }
.method-steps summary > span { color:var(--green); font-size:11px; }
.method-steps summary h3 { font-size:29px; }
.method-steps details > div { padding:0 32px 25px 48px; }
.method-steps details p { font-size:14px; color:var(--muted); }
.method-steps details p + p { margin-top:12px; }
.method-steps .method-question { color:var(--ink); font-family:var(--serif); font-size:24px; line-height:1.4; }
.method-loop { font-size:12px; color:var(--muted); margin-top:20px; }
.local-story { display:grid; grid-template-columns:1.08fr 1fr; background:#e0edd6; }
.local-story-image { display:flex; flex-direction:column; background:#153f31; min-width:0; }
.local-story-image img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.local-story-image figcaption { padding:12px 22px; font-size:11px; color:#e0edd6; }
.local-story-image figcaption a { text-decoration:underline; text-underline-offset:3px; }
.local-story-copy { padding:64px clamp(30px,5vw,80px); align-self:center; }
.local-story-copy h2 { margin:25px 0; font-size:clamp(42px,4vw,59px); }
.local-story-copy > p:not(.eyebrow) { font-size:15px; color:#415b46; }
.local-story-copy .text-link { margin-top:20px; }
.local-story .field-note { background:#f3f8ec; }
.field-note { border-left:2px solid #72954f; padding:16px 20px; background:#eaf2e4; font-size:13px; line-height:1.75; margin-top:23px; }
.field-note strong { color:var(--ink); }
.process-example { background:#e5efdc; padding:48px; border-top:2px solid #699054; margin-block:35px 60px; }
.process-example .public-split { align-items:start; gap:55px; }
.process-example h2 { font-size:42px; }
.process-example .principles { border-color:#bdcfb4; }
.process-example .principles li { border-color:#bdcfb4; }
.process-example .principles h3 { font-size:25px; }
.process-example .field-note { background:#f4f8ef; }
.hero-image-wrap { border-radius:3px 3px 110px 3px; }
.hero-image { object-position:center; }
.hero-seal { background:#d2e9a6; }
.photo-credit { font-size:11px; color:var(--muted); margin-top:14px; }
.photo-credit a { text-decoration:underline; text-underline-offset:3px; }
.regional-banner { margin-top:8px; margin-bottom:48px; }
.regional-banner img { height:260px; width:100%; object-fit:cover; border-radius:3px; }
.regional-banner figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; padding-top:10px; }
.site-footer { border-top:1px solid #426653; background:#153f31; color:#f7f9f3; }
.app-sidebar { background:#153f31; }
.app-context,.app-heading { --green:#286b45; }
.today-card { background:#e0edcf; }
.credits-list { display:grid; gap:35px; max-width:860px; padding-bottom:70px; }
.credits-list article { padding-bottom:30px; border-bottom:1px solid var(--border); }
.credits-list img { width:100%; max-height:330px; object-fit:cover; margin-bottom:20px; }
.credits-list h2 { font-size:31px; margin-bottom:15px; }
.credits-list p { font-size:14px; color:var(--muted); }
.credits-list a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1100px) {
  .local-hero-grid { gap:38px; }
  .local-hero h1 { font-size:72px; }
  .local-hero-photo img { height:470px; }
  .method-section { gap:48px; }
  .home-pilots .pilot-card { padding:23px; }
  .home-pilots .pilot-card h3 { font-size:33px; }
  .local-story-copy { padding:45px 34px; }
}
@media(min-width:761px) and (max-width:980px) {
  .home-pilots .pilot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .home-pilots .pilot-card { padding:20px 16px; }
  .home-pilots .pilot-card h3 { font-size:29px; min-height:67px; }
  .home-pilots .pilot-card > p:not(.pilot-name) { font-size:13px; min-height:135px; }
  .home-pilots .pilot-card-top { align-items:start; flex-direction:column; gap:8px; }
  .home-pilots .pilot-card dl > div { flex-direction:column; gap:2px; }
  .home-pilots .pilot-card dd { text-align:left; max-width:100%; }
  .home-pilots .pilot-card .text-link { font-size:12px; }
}
@media(max-width:760px) {
  .local-hero-grid { grid-template-columns:1fr; gap:33px; padding-block:36px 29px; }
  .local-hero h1 { font-size:clamp(56px,11.5vw,76px); margin-block:22px; }
  .local-hero-copy > p:not(.eyebrow) { font-size:15px; }
  .local-hero-photo img { height:320px; border-bottom-right-radius:70px; }
  .local-hero-foot { margin-top:22px; }
  .local-hero-photo figcaption { font-size:10px; }
  .home-pilots { padding-block:52px; }
  .home-pilots .pilot-grid { grid-template-columns:1fr; gap:17px; }
  .home-pilots .pilot-card { padding:25px; }
  .home-pilots .pilot-card h3 { min-height:0; font-size:36px; margin-top:22px; }
  .home-pilots .pilot-card h3 br { display:none; }
  .home-pilots .pilot-card > p:not(.pilot-name) { min-height:0; }
  .home-pilots .pilot-card .text-link { margin-top:0; }
  .method-section { grid-template-columns:1fr; gap:32px; }
  .method-copy { position:static; }
  .method-steps summary { padding-block:19px; }
  .method-steps summary h3 { font-size:27px; }
  .local-story { grid-template-columns:1fr; }
  .local-story-image img { min-height:0; height:290px; }
  .local-story-copy { padding:38px 28px; }
  .process-example { padding:29px 23px; margin-block:24px 45px; }
  .process-example .public-split { grid-template-columns:1fr; gap:28px; }
  .process-example h2 { font-size:36px; }
  .regional-banner img { height:200px; }
  .hero-image-wrap { border-bottom-right-radius:80px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .local-hero { background:white; color:#153f31; } .local-hero p,.local-hero .eyebrow,.local-hero h1 em { color:#153f31; } .local-hero-photo img { height:280px; } .method-copy { position:static; } }

.local-hero-photo.municipal-photo img { height:auto; aspect-ratio:1200 / 630; border-radius:3px; }
.local-hero-photo.municipal-photo figcaption { flex-wrap:wrap; gap:8px 20px; }

.site-footer .brand,.site-footer .public-footer-links a { color:#f7f9f3; }
.site-footer .footer-main > p,.site-footer .footer-bottom { color:#d7e4d7; }
.site-footer .text-link { color:#d2e9a6; }
.site-footer a:hover { color:#d2e9a6; }
.site-footer a:focus-visible { outline:2px solid #d2e9a6; outline-offset:5px; }
@media print { .site-footer { background:white; color:#153f31; } .site-footer .brand,.site-footer .public-footer-links a,.site-footer .footer-main > p,.site-footer .footer-bottom,.site-footer .text-link { color:#153f31; } }
/* Explicit foregrounds keep regional surfaces readable across all public pages. */
.principles li > span,.concept-ribbon span,.dimensions p,.program-footnote,.team-index { color:#415b46; }
.title-dot,.team-member h3 span { color:#416c36; }
.public-dark .section-number { color:#d2e9a6; }
.image-caption { background:#153f31; padding:16px 18px; border-radius:3px; gap:16px; }
/* Shared rows keep the three offers comparable when copy wraps. */
@media(min-width:761px){
  .home-pilots .pilot-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; row-gap:0; align-items:start; }
  .home-pilots .pilot-card h3,.home-pilots .pilot-card > p:not(.pilot-name) { min-height:0; }
  .home-pilots .pilot-card .text-link { align-self:end; margin-top:0; }
}
@media(max-width:760px){
  .footer-bottom { align-items:flex-start; }
  .footer-bottom > p { flex-basis:100%; max-width:none; }
  .footer-bottom > a:last-child { margin-left:auto; }
}
@media(min-width:761px){
  .home-pilots .pilot-card { grid-template-columns:minmax(0,1fr); }
  .home-pilots .pilot-card > * { grid-column:1; grid-row:auto; }
}
/* Public audience pages share the same programme and visual rhythm. */
.offer-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.offer-list article { padding:36px 28px; display:flex; flex-direction:column; border-right:1px solid var(--border); }
.offer-list article:first-child { padding-left:0; }
.offer-list article:last-child { border-right:0; }
.offer-list h3 { font-family:'Newsreader',serif; font-size:32px; font-weight:400; line-height:1.15; margin:15px 0; }
.offer-list .text-link { margin-top:auto; padding-top:22px; }
.enquiry-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; border-top:1px solid var(--border); }
.enquiry-layout aside h2 { font-size:48px; }
.enquiry-steps { padding-left:24px; margin:30px 0; }
.enquiry-steps li { padding:0 0 20px 10px; }
.enquiry-layout a { overflow-wrap:anywhere; }
.enquiry-form { padding:36px; background:var(--soft); border:1px solid var(--border); }
.enquiry-form h2 { font-size:34px; }
.enquiry-form > p { margin:16px 0 28px; }
.enquiry-form .form-field { margin-bottom:20px; min-width:0; }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; min-width:0; font:inherit; color:var(--ink); background:var(--paper); border:1px solid #81977e; padding:12px; border-radius:3px; }
.enquiry-form textarea { resize:vertical; }
.enquiry-form :is(input,select,textarea,button,a):focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.enquiry-preview { margin-top:32px; padding-top:24px; border-top:1px solid #81977e; }
.enquiry-preview .public-actions { flex-wrap:wrap; }
.enquiry-preview button { background:transparent; border:0; cursor:pointer; font:inherit; }
.enquiry-preview > p { margin:14px 0; }
@media(max-width:1180px){ .public-header .public-nav { display:none; } .public-header .menu-toggle { display:block; } }
@media(max-width:900px){ .enquiry-layout { gap:36px; grid-template-columns:1fr; } .enquiry-layout aside { max-width:650px; } }
@media(max-width:760px){ .offer-list { grid-template-columns:1fr; } .offer-list article,.offer-list article:first-child { padding:28px 0; border-right:0; border-bottom:1px solid var(--border); } .offer-list article:last-child { border-bottom:0; } .enquiry-form { padding:24px 18px; } .enquiry-layout aside h2 { font-size:38px; } }
/* Nine sessions: a balanced three by three overview, with room for merged titles. */
@media(min-width:761px){ .journey-overview { grid-template-columns:repeat(3,minmax(0,1fr)); } }
/* Text-led sections replace the landscape photographs. */
.local-story-text { display:block; }
.local-story-text .local-story-copy { width:min(100% - 48px,1000px); margin-inline:auto; padding:64px 0; }
.local-story-text .local-story-copy > p { max-width:760px; }
.programme-intro { background:var(--soft); border-top:4px solid var(--green); padding:clamp(26px,4vw,56px); align-self:center; }
.programme-intro h2 { font-size:clamp(36px,4vw,58px); line-height:1.1; margin:24px 0; }
.programme-intro dl { margin-top:32px; }
.programme-intro dl div { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-top:1px solid var(--border); }
.programme-intro dt { color:var(--muted); }
.programme-intro dd { margin:0; text-align:right; }
@media(max-width:600px){ .local-story-text .local-story-copy { padding:38px 0; } .programme-intro dl div { flex-wrap:wrap; } }
/* A softer photograph and clear, dedicated entry points for the concept. */
.local-hero-photo.municipal-photo img { border-radius:28px 28px 88px 28px; }
.vision-statement { background:var(--soft); padding:64px 0; border-block:1px solid var(--border); }
.vision-statement h2 { max-width:1000px; margin:24px 0 0; font-size:clamp(32px,4vw,58px); }
.audience-doors { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding-block:32px 70px; }
.audience-doors.audience-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1320px){.public-header .public-nav{display:none}.public-header .menu-toggle{display:block;margin-left:20px}.public-header .header-cta{margin-left:auto}}
@media(max-width:900px){.audience-doors.audience-three{grid-template-columns:1fr}}
.audience-doors > a { padding:40px; border-top:4px solid var(--green); background:var(--soft); display:flex; flex-direction:column; align-items:flex-start; transition:background .2s; }
.audience-doors > a:hover { background:#dfead7; }
.audience-doors > a:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
.audience-doors h2 { margin:22px 0; font-size:clamp(34px,4vw,54px); }
.audience-doors .text-link { margin-top:auto; padding-top:24px; }
@media(max-width:760px){ .local-hero-photo.municipal-photo img { border-radius:20px 20px 56px 20px; } .audience-doors { grid-template-columns:1fr; } .audience-doors > a { padding:28px; } .vision-statement { padding-block:42px; } }
.enquiry-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.enquiry-form button:disabled { opacity:.65; cursor:wait; }
#enquiry-status:empty { display:none; }
#enquiry-status:not(:empty) { padding:18px; border-left:4px solid var(--green); background:var(--paper); }
#enquiry-status[data-state="error"] { border-color:#9a402d; color:#702a1c; }
#enquiry-status:focus { outline:2px solid var(--green); outline-offset:3px; }
