.council-page { --accent: #234d64; }
.council-page .header { position:relative; background:var(--paper); }
.council-page .header__note { display:none; }
.council-page .nav { gap:1.5rem; }
.council-page main { overflow:clip; }
.c-hero { padding-block:clamp(3rem,7vw,6rem); display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; }
.c-eyebrow { font-size:.8rem; color:var(--accent); font-weight:600; margin-bottom:1.5rem; }
.c-hero h1 { font-size:clamp(2.8rem,5.4vw,5.25rem); line-height:1.04; letter-spacing:-.055em; max-width:13ch; font-weight:450; }
.c-lede { margin-top:1.75rem; font-size:1.15rem; max-width:52ch; color:#4a4a47; }
.c-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-top:2rem; }
.c-button { display:inline-flex; padding:.9rem 1.2rem; background:var(--accent); color:white; text-decoration:none; font-weight:550; border:2px solid var(--accent); }
.c-button:hover { background:#183a4d; }
.c-button--light { background:transparent; color:var(--ink); border-color:var(--line-strong); }
.c-button--light:hover { background:var(--paper-warm); }
.c-preview { padding:1rem; background:#e3e7e5; transform:rotate(-1deg); }
.c-preview img { width:100%; height:auto; border:1px solid #b7bfbc; }
.c-preview figcaption { padding-top:.8rem; font-size:.8rem; }
.c-strip { padding-block:1.2rem; border-block:1px solid var(--line-strong); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 2rem; font-size:.9rem; }
.c-section { padding-block:clamp(3rem,6vw,5.5rem); border-bottom:1px solid var(--line); }
.c-section h2 { font-size:clamp(2rem,3.4vw,3.3rem); line-height:1.12; letter-spacing:-.04em; font-weight:450; max-width:24ch; margin-bottom:1.5rem; }
.c-section h3 { font-size:1.25rem; line-height:1.3; font-weight:550; margin-bottom:.65rem; }
.c-section p + p { margin-top:1rem; }
.c-columns { display:grid; grid-template-columns:1fr 1fr; gap:3rem 5rem; }
.c-columns > * { min-width:0; }
.c-feature { border-top:2px solid var(--ink); padding-top:1.25rem; }
.c-list { list-style:disc; padding-left:1.3rem; margin-top:1rem; }
.c-list li { margin-block:.5rem; }
.c-small { font-size:.88rem; color:var(--muted); }
.c-steps { counter-reset:step; }
.c-steps li { counter-increment:step; display:grid; grid-template-columns:3rem 1fr; gap:1rem; border-top:1px solid var(--line); padding-block:1.4rem; }
.c-steps li::before { content:counter(step,decimal-leading-zero); color:var(--accent); font-size:1.3rem; }
.c-table { width:100%; border-collapse:collapse; margin-block:1.5rem; }
.c-table th,.c-table td { padding:1rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--line-strong); }
.c-table th { background:var(--paper-warm); font-weight:600; }
.c-table caption { text-align:left; margin-bottom:1rem; font-weight:600; }
.c-scroll { overflow-x:auto; }
.c-faq details { padding-block:1.25rem; border-top:1px solid var(--line); }
.c-faq summary { cursor:pointer; font-size:1.15rem; font-weight:550; }
.c-faq details p { max-width:75ch; margin-top:1rem; }
.c-contact { background:#e7ecec; padding:clamp(1.5rem,4vw,3rem); }
.c-contact label { display:block; font-weight:550; margin-top:1.2rem; }
.c-contact input,.c-contact textarea,.c-contact select { display:block; width:100%; padding:.8rem; margin-top:.4rem; border:1px solid #64716e; background:white; color:var(--ink); font:inherit; }
.c-contact textarea { min-height:9rem; }
.c-contact button { margin-top:1.5rem; }
.c-contact [role=status] { margin-top:1rem; }
.c-note { padding:1rem 1.3rem; border-left:3px solid var(--accent); background:#e7ecec; margin-block:1.5rem; }
.c-gallery { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.c-gallery img { border:1px solid var(--line-strong); width:100%; }
.c-gallery figcaption { margin-top:.75rem; font-size:.9rem; }
.c-tour { display:grid; grid-template-columns:17rem 1fr; gap:2rem; align-items:start; }
.c-tour-nav { display:grid; gap:.5rem; }
.c-tour-nav button { text-align:left; padding:1rem; border:1px solid var(--line-strong); background:transparent; }
.c-tour-nav button[aria-pressed=true] { border-color:var(--accent); background:var(--accent); color:white; }
.c-tour-panel img { width:100%; border:1px solid var(--line-strong); margin-top:1.2rem; }
.c-tour-panel h3 { margin-top:.5rem; }
.c-tour-panel[hidden] { display:none; }
.c-footer { display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; padding-block:2rem; font-size:.9rem; }
@media(max-width:60em) { .c-hero { gap:2rem; } .c-columns { gap:2rem; } .c-tour { grid-template-columns:1fr; } .c-tour-nav { grid-template-columns:repeat(2,1fr); } }
@media(max-width:42em) { .c-hero,.c-columns,.c-gallery { grid-template-columns:1fr; } .c-hero h1 { max-width:15ch; } .c-preview { transform:none; } .c-strip { display:grid; } .c-table th,.c-table td { padding:.65rem; font-size:.9rem; } }
@media print { .header,.menu,.c-actions,.c-contact,.c-tour-nav,.c-footer { display:none!important; } .c-section { padding-block:1.5rem; } .c-hero { padding-block:1rem; } .c-hero h1 { font-size:2.5rem; } .c-hero,.c-columns { display:block; } .c-columns > * { margin-block:1rem; } a { color:inherit; } .c-section,.c-feature { break-inside:avoid; } }
