
:root {
  --navy:#0c4568; --navy-dark:#07344f; --green:#5d8d54; --green-dark:#3f6f3a;
  --mint:#eaf4ef; --sky:#eaf4f8; --cream:#faf8f1; --ink:#17232b; --muted:#5e6a71;
  --line:#dbe3e6; --white:#fff; --warning:#fff4d6; --shadow:0 12px 32px rgba(7,52,79,.10);
  --radius:18px; --max:1160px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img{max-width:100%;display:block} a{color:var(--navy);text-decoration-thickness:.08em;text-underline-offset:.18em}
.container{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:9999}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);font-weight:800}
.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.brand span{display:block;line-height:1.1}.brand small{display:block;color:var(--muted);font-weight:600;font-size:.72rem;margin-top:.2rem}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.65rem .8rem;font-weight:800}
.site-nav ul{display:flex;gap:.25rem;align-items:center;list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:.72rem .78rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.93rem;border-radius:10px}
.site-nav a:hover,.site-nav a[aria-current="page"]{background:var(--sky);color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:999px;padding:.85rem 1.15rem;font-weight:800;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-dark)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid rgba(12,69,104,.22)}
.btn-green{background:var(--green-dark);color:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-dark),var(--navy) 58%,var(--green-dark));color:#fff;padding:5.5rem 0 4.5rem}
.hero:after{content:"";position:absolute;inset:auto -6rem -10rem auto;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.07)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;position:relative;z-index:1}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:.78rem;color:#bfe1d0}
h1,h2,h3{line-height:1.13;margin:0 0 .75rem}h1{font-size:clamp(2.55rem,6vw,5rem);letter-spacing:-.045em}
h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.025em}h3{font-size:1.25rem}
.hero p{font-size:1.15rem;max-width:760px;color:#e8f2f6}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:1.2rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-card img{border-radius:14px;aspect-ratio:1/1;object-fit:cover}
.status-strip{background:var(--cream);border-bottom:1px solid #ece7d8}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7e2d5}
.status-item{background:var(--cream);padding:1.1rem 1.2rem}.status-item strong{display:block;color:var(--navy);font-size:1.02rem}.status-item span{font-size:.9rem;color:var(--muted)}
.section{padding:4.5rem 0}.section-alt{background:var(--sky)}.section-mint{background:var(--mint)}
.section-head{max-width:760px;margin-bottom:2rem}.section-head p{color:var(--muted);font-size:1.05rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem;box-shadow:0 4px 20px rgba(7,52,79,.05)}
.card p{color:var(--muted)}.card .kicker{font-weight:900;color:var(--green-dark);text-transform:uppercase;font-size:.76rem;letter-spacing:.08em}
.icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--mint);font-size:1.3rem;margin-bottom:1rem}
.map-card{overflow:hidden;padding:0}.map-card img{width:100%;aspect-ratio:1.25/1;object-fit:cover}.map-card figcaption{padding:1rem 1.2rem;color:var(--muted);font-size:.9rem}
.timeline{position:relative;margin-left:.6rem}.timeline:before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:3px;background:#c7d8cf}
.step{position:relative;padding:0 0 1.6rem 3rem}.step:last-child{padding-bottom:0}.dot{position:absolute;left:0;top:.1rem;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--green-dark);color:#fff;font-size:.78rem;font-weight:900}.step.future .dot{background:#fff;border:3px solid #aebdb5;color:var(--muted)}
.step time{font-size:.83rem;color:var(--muted);font-weight:700}.step p{margin:.25rem 0 0;color:var(--muted)}
.notice{border-left:5px solid var(--green-dark);background:var(--mint);padding:1.1rem 1.25rem;border-radius:0 14px 14px 0}
.page-hero{background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:#fff;padding:3.7rem 0}.page-hero p{max-width:760px;color:#e8f2f6}
.doc-list{display:grid;gap:1rem}.doc{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.2rem}.doc p{margin:.2rem 0;color:var(--muted)}
form{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-weight:800;font-size:.92rem}input,select,textarea{width:100%;margin-top:.35rem;padding:.85rem .9rem;border:1px solid #bdcbd1;border-radius:10px;font:inherit;background:#fff}
textarea{min-height:150px;resize:vertical}.check{display:flex;gap:.65rem;align-items:flex-start}.check input{width:auto;margin-top:.35rem}
.form-note{font-size:.88rem;color:var(--muted)}.hidden{position:absolute;left:-9999px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:1rem 1.15rem}.faq details+details{margin-top:.75rem}.faq summary{font-weight:850;cursor:pointer}.faq p{color:var(--muted)}
.site-footer{background:var(--navy-dark);color:#dcecf3;padding:3rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}.site-footer a{color:#fff}.site-footer h3{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#b9cbd3}
.table-wrap{overflow:auto}.facts-table{width:100%;border-collapse:collapse}.facts-table th,.facts-table td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line);vertical-align:top}.facts-table th{width:32%;color:var(--navy)}
.badge{display:inline-block;background:var(--warning);color:#6d5200;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:900}
.center{text-align:center}.mt{margin-top:1.5rem}
@media(max-width:900px){.hero-grid,.grid-3,.footer-grid{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr 1fr}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:1rem;right:1rem;top:72px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.5rem}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav a{padding:.85rem}.hero{padding:3.5rem 0}.hero-card{max-width:420px}}
@media(max-width:650px){.grid-2,.form-grid,.status-grid{grid-template-columns:1fr}.section{padding:3.2rem 0}.doc{grid-template-columns:1fr}.brand small{display:none}.brand img{width:46px;height:46px}h1{font-size:2.7rem}}


.step.is-upcoming .dot{background:#fff;border:3px solid #aebdb5;color:var(--muted)}
.step.is-complete .dot{background:var(--green-dark);border:0;color:#fff}
.step.is-active .dot{background:#d28a00;border:0;color:#fff;box-shadow:0 0 0 6px rgba(210,138,0,.14)}
.featured-meeting{margin:.35rem 0 1.65rem;padding:1.3rem 1.3rem 1.3rem 3.7rem;border:2px solid #d28a00;border-radius:16px;background:#fff8e8;box-shadow:0 10px 26px rgba(122,83,0,.12)}
.featured-meeting .dot{left:.72rem;top:1.35rem}
.featured-meeting h3{font-size:1.45rem;color:var(--navy-dark)}
.featured-meeting time{display:block;margin-top:.35rem;color:#6d5200}
.meeting-badge{display:inline-block;margin-bottom:.35rem;padding:.28rem .62rem;border-radius:999px;background:#d28a00;color:#fff;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

.source-box{border-left:5px solid var(--green);background:#f4faf5;padding:1rem 1.15rem;border-radius:8px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.plan-card img{width:100%;max-height:720px;object-fit:contain}.latest-update .source-card{background:#f4faf5;border:1px solid #d7e4dc;border-radius:18px;padding:1.5rem}.step.is-upcoming .dot{background:#fff;border:3px solid #aebdb5;color:var(--muted)}.step.is-complete .dot{background:var(--green-dark);border:0;color:#fff}.step.is-active .dot{background:#d28a00;border:0;color:#fff}.featured-meeting{margin:.35rem 0 1.65rem;padding:1.3rem 1.3rem 1.3rem 3.7rem;border:2px solid #d28a00;border-radius:16px;background:#fff8e8}.meeting-badge{display:inline-block;margin-bottom:.35rem;padding:.28rem .62rem;border-radius:999px;background:#d28a00;color:#fff;font-size:.74rem;font-weight:900;text-transform:uppercase}@media(max-width:760px){.comparison-grid{grid-template-columns:1fr}}


/* Version 1.1.1 transcript */
.transcript-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:2rem;align-items:start}
.transcript-sidebar{position:sticky;top:98px}.transcript-tools h2{font-size:1.2rem}.transcript-tools p{margin:.7rem 0}
.transcript-warning{border:2px solid #d28a00;background:#fff8e8;border-radius:18px;padding:1.4rem 1.5rem}
.transcript-warning h2{font-size:1.45rem;color:#684600}.transcript-warning p:last-child{margin-bottom:0}
.transcript-content{display:grid;gap:.75rem}.transcript-entry{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem 1.1rem;box-shadow:0 3px 14px rgba(7,52,79,.035)}
.transcript-entry p{margin:.45rem 0 0;color:#26343c}.transcript-meta{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.speaker-label{display:inline-block;border-radius:999px;background:var(--sky);color:var(--navy-dark);padding:.22rem .6rem;font-size:.77rem;font-weight:900}
.transcript-meta time{font-size:.8rem;color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums}
.transcript-divider{scroll-margin-top:110px;margin:2.25rem 0 .8rem;padding:1.15rem 1.25rem;border-radius:16px;background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:#fff}
.transcript-divider h2{font-size:1.65rem}.transcript-divider p{margin:0;color:#e4f0f4}
@media(max-width:900px){.transcript-layout{grid-template-columns:1fr}.transcript-sidebar{position:static}}


/* Featured document */
.featured-document{
  border:3px solid var(--amber);
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  box-shadow:0 12px 30px rgba(7,52,79,.12);
  padding:1.5rem;
}
.featured-document h3{font-size:1.55rem}
.featured-document .badge{background:var(--amber);color:#2d2200}


/* Homepage revised site-plan feature */
.site-plan-feature{background:linear-gradient(180deg,#f3faf7 0%,#fff 100%)}
.featured-site-plan{margin:0 auto 1.6rem;max-width:1180px;background:#fff;border:3px solid var(--green);border-radius:20px;padding:.75rem;box-shadow:0 18px 42px rgba(7,52,79,.16)}
.featured-site-plan a{display:block}
.featured-site-plan img{display:block;width:100%;height:auto;border-radius:13px}
.featured-site-plan figcaption{padding:.85rem .35rem .2rem;color:var(--muted);text-align:center}
.plan-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.plan-color-card{display:grid;grid-template-columns:54px 1fr;gap:1rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem;box-shadow:0 6px 20px rgba(7,52,79,.06)}
.plan-color-card h3{font-size:1.08rem;margin:0 0 .35rem}
.plan-color-card p{margin:0;color:var(--muted)}
.plan-swatch{display:block;width:54px;height:54px;border-radius:12px;border:2px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.swatch-red{background:#ef304c}.swatch-blue{background:#5b87bd}.swatch-tan{background:#c6b16a}.swatch-yellow{background:#f1c85c}.swatch-peach{background:#f1ddc3}.swatch-green{background:#18994e}
@media(max-width:760px){.plan-color-grid{grid-template-columns:1fr}.plan-color-card{grid-template-columns:42px 1fr}.plan-swatch{width:42px;height:42px}}


/* Version 1.2.1 citizen email tools */
.email-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.email-choice{display:flex;flex-direction:column;align-items:flex-start}.email-choice .btn{margin-top:auto}
.privacy-notice{background:var(--sky);border:1px solid #cfe2ea;border-radius:var(--radius);padding:1.4rem}
.email-form-wrap{max-width:960px}.step-indicator{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem}
.step-indicator span{padding:.8rem 1rem;border-radius:999px;background:#edf1f3;color:var(--muted);font-weight:800;text-align:center}
.step-indicator span.active{background:var(--navy);color:#fff}
.citizen-email-form label{display:block;font-weight:800;margin-bottom:1rem}
.citizen-email-form input,.citizen-email-form textarea,.citizen-email-form select{width:100%;margin-top:.4rem;border:1px solid #bfcdd3;border-radius:12px;padding:.85rem .9rem;font:inherit;background:#fff;color:var(--ink)}
.citizen-email-form input:focus,.citizen-email-form textarea:focus{outline:3px solid rgba(12,69,104,.16);border-color:var(--navy)}
.email-editor{min-height:620px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92rem;line-height:1.55}
.short-editor{min-height:190px}.email-source-preview{white-space:pre-wrap;max-height:520px;overflow:auto;background:#f7f9fa;border:1px solid var(--line);border-radius:12px;padding:1rem;font-size:.82rem}
.issue-group{border:0;margin:0 0 1.6rem;padding:0}.issue-group legend{font-size:1.35rem;font-weight:900;color:var(--navy);margin-bottom:.8rem}
.issue-option{display:grid!important;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.65rem!important;font-weight:600!important;cursor:pointer}
.issue-option:hover{border-color:var(--green)}.issue-option input{width:20px!important;height:20px;margin:.15rem 0 0!important}
.consent-box{background:var(--warning);border:1px solid #e4c66f;border-radius:14px;padding:1rem;margin:1rem 0}
.check-row{display:grid!important;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;margin:0!important}
.check-row input{width:20px!important;height:20px;margin:.15rem 0 0!important}
.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.send-status{font-weight:800}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.email-choice-grid{grid-template-columns:1fr}.step-indicator{grid-template-columns:1fr}.email-editor{min-height:460px}}


/* Version 1.2.2 email workflow updates */
.select-all-wrap{margin:1.5rem 0 0;background:#eef7f2;border:2px solid var(--green);border-radius:16px;padding:1rem}
.select-all-row{cursor:pointer}.select-all-row small{font-weight:600;color:var(--muted)}
.success-page{min-height:65vh;display:grid;place-items:center}
.success-card{max-width:680px;text-align:center;padding:2.5rem}
.success-icon{width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:2.4rem;font-weight:900}
.redirect-note{background:var(--sky);border-radius:12px;padding:.85rem}


/* Version 1.2.3 content and privacy updates */
.developer-transparency-note{margin:.9rem 0 1.25rem}
.developer-transparency-note h3{margin-top:0}
.narrow-content{max-width:900px}
.privacy-policy h2{margin-top:1.8rem}
.privacy-policy h2:first-child{margin-top:0}
.privacy-inline{margin-top:1rem}

/* Version 1.2.4 privacy, proposal, and recipient updates */
.recipient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.recipient-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem}
.recipient-card h3{margin:0 0 .25rem;font-size:1.05rem}
.recipient-card p{margin:.2rem 0;color:var(--muted);overflow-wrap:anywhere}
#proposal-revised-site-plan .featured-site-plan{max-width:1320px}
@media(max-width:900px){.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.recipient-grid{grid-template-columns:1fr}}


/* Version 1.3.1 SEO content and image enhancements */
.narrow{max-width:860px}
.card h3 a{text-decoration-thickness:.08em;text-underline-offset:.15em}
.card h3 a:hover{text-decoration-thickness:.13em}
img{height:auto}

/* Version 1.3.2 BCC delivery disclosure */
.privacy-notice strong{color:var(--text)}
