:root {
  --cream: #F8F4EB;
  --purple: #300940;
  --purple-2: #411654;
  --gold: #B18411;
  --ink: #30293a;
  --muted: #6b6269;
  --line: #ddd4c4;
  --white: #fffdf8;
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button { font: inherit; }
.container { width: min(calc(100% - 72px), var(--container)); margin-inline: auto; }
.skip-link { position:absolute; top:-100px; left:14px; z-index:100; background:var(--purple); color:white; padding:12px; }
.skip-link:focus { top:12px; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.utility-bar { height: 38px; background: var(--purple); color: #eee2ef; }
.utility-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:10px; font-weight:700; letter-spacing:.16em; }
.utility-inner a { font-size:12px; letter-spacing:.05em; text-decoration:none; font-weight:500; }
.utility-inner a:hover { text-decoration:underline; }
.site-header { background: var(--cream); }
.masthead { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:19px 0 22px; }
.brand { display:block; flex:0 1 600px; }
.brand img { width:100%; height:auto; object-fit:contain; }
.header-aside { text-align:right; border-left:1px solid var(--line); padding-left:29px; min-width:220px; }
.header-aside span { display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#817282; margin-bottom:8px; }
.header-aside strong { display:block; font-size:13px; color:var(--purple); letter-spacing:.015em; font-weight:600; }
.nav-wrapper { border-block: 1px solid var(--line); background: rgba(255,253,248,.42); }
.nav-inner { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.primary-nav { height:100%; display:flex; gap:32px; align-items:center; }
.primary-nav { gap:clamp(10px,1.4vw,20px); }
.primary-nav a { height:58px; display:inline-flex; align-items:center; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.045em; color:#584b5a; position:relative; white-space:nowrap; }
.primary-nav a { font-size:11px; letter-spacing:.015em; }
.primary-nav a:hover, .primary-nav a.active { color:var(--purple); }
.primary-nav a.active::after, .primary-nav a:hover::after { content:""; position:absolute; height:2px; background:var(--gold); bottom:-1px; left:0; right:0; }
.nav-contact { white-space:nowrap; background:var(--purple); color:white; text-decoration:none; padding:12px 17px; font-size:12px; font-weight:700; }
.nav-contact span { padding-left:8px; }
.nav-contact:hover { background:var(--purple-2); }
.menu-toggle { display:none; }
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.hero-inner { display:grid; grid-template-columns: 1.1fr .9fr; min-height:612px; align-items:center; gap:62px; padding-block:55px 68px; }
.hero-copy { padding:0 0 15px; }
.eyebrow { color:var(--gold); font-size:10.5px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; margin:0 0 21px; }
.eyebrow-line { display:inline-block; width:24px; height:1px; background:var(--gold); vertical-align:middle; margin-right:10px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family: Georgia, 'Times New Roman', serif; color:var(--purple); font-weight:500; letter-spacing:-.032em; }
h1 { font-size:clamp(46px,5vw,72px); line-height:1.09; margin-bottom:26px; }
h1 em { font-style:normal; color:var(--purple); }
.small-rule { width:70px; height:3px; background:var(--gold); margin-bottom:27px; }
.hero-lead { font-family:Georgia,'Times New Roman',serif; color:#37223e; font-size:21px; line-height:1.55; max-width:575px; margin-bottom:15px; }
.hero-body { color:var(--muted); font-size:15px; line-height:1.85; max-width:490px; margin-bottom:28px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:29px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:17px; font-size:12px; letter-spacing:.04em; font-weight:700; text-decoration:none; padding:17px 21px; transition:background .2s; }
.button-primary { background:var(--purple); color:white; }
.button-primary:hover { background:var(--purple-2); }
.text-link { color:var(--purple); text-decoration:none; font-size:13px; font-weight:700; border-bottom:1px solid var(--gold); padding-bottom:5px; }
.text-link span { margin-left:8px; }
.text-link:hover { color:#774f09; }
.hero-visual { width:100%; min-width:0; max-width:444px; justify-self:end; position:relative; }
.portrait-frame { background:#d6dde0; border:8px solid var(--white); box-shadow: 0 0 0 1px #cfc4b6; height:498px; overflow:hidden; position:relative; }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.portrait-caption { margin:13px 0 0; font-size:11px; color:#706870; letter-spacing:.03em; text-align:right; }
.portrait-caption span { color:var(--gold); margin:0 5px; }
.section { padding:83px 0 92px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:34px; }
.section-heading .eyebrow { margin-bottom:15px; }
h2 { font-size:clamp(32px,3.5vw,48px); line-height:1.17; margin-bottom:0; }
.section-heading > p { max-width:395px; color:var(--muted); line-height:1.75; font-size:14px; margin:0 0 3px; }
.services { background:#fffdf8; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.service-card { min-height:245px; border:1px solid #e7dfd3; padding:27px 28px 25px; display:flex; flex-direction:column; background:#fffdf8; }
.card-number { color:var(--gold); font:600 13px Georgia,serif; padding-bottom:13px; border-bottom:1px solid #e8dfd2; }
.service-card h3 { color:var(--purple); font:500 24px Georgia,serif; margin:18px 0 13px; }
.service-card p { color:var(--muted); font-size:13px; line-height:1.8; margin-bottom:22px; }
.service-card a { margin-top:auto; font-size:12px; font-weight:700; color:var(--purple); text-decoration:none; }
.service-card a:hover { text-decoration:underline; }
.service-card a span { color:var(--gold); margin-left:8px; }
.about { background:var(--cream); border-block:1px solid var(--line); }
.about-inner { display:grid; grid-template-columns: .8fr 1.2fr; gap:70px; }
.about-inner .eyebrow { margin-bottom:17px; }
.about-copy p { font-size:15px; line-height:1.9; color:#5c505e; margin-bottom:17px; }
.about-copy .text-link { display:inline-block; margin-top:10px; }
.priorities { background:#fffdf8; }
.priorities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:48px; }
.priority-rule { display:block; width:40px; height:2px; background:var(--gold); margin-bottom:21px; }
.priorities-grid h3 { color:var(--purple); font:500 22px Georgia,serif; line-height:1.3; margin-bottom:12px; }
.priorities-grid p { font-size:13px; line-height:1.8; color:var(--muted); }
.contact { background:#eee8df; }
.contact-inner { display:grid; grid-template-columns: 1fr 1fr; gap:84px; align-items:start; }
.contact-inner .eyebrow { margin-bottom:17px; }
.contact-inner h2 { margin-bottom:21px; }
.contact-inner > div:first-child > p:last-child { font-size:15px; line-height:1.85; color:var(--muted); max-width:395px; }
.contact-panel { border-top:3px solid var(--gold); background:#fffdf8; padding:9px 28px 18px; }
.contact-row { display:grid; grid-template-columns: 140px 1fr; gap:14px; padding:22px 0; border-bottom:1px solid var(--line); }
.contact-row > span { font-size:10px; font-weight:800; letter-spacing:.12em; color:var(--gold); padding-top:4px; }
.contact-row a, .contact-row address { font-style:normal; text-decoration:none; color:var(--purple); font-size:14px; line-height:1.65; }
.contact-row a:hover { text-decoration:underline; }
.contact-footnote { margin:18px 0 0; font-size:11.5px; line-height:1.7; color:var(--muted); }
.contact-footnote a { color:var(--purple); }
.site-footer { background:var(--purple); color:#eae1e7; }
.footer-top { padding:44px 0 42px; display:flex; justify-content:space-between; gap:30px; }
.footer-brand strong { display:block; color:white; font:500 32px Georgia,serif; line-height:1.1; }
.footer-brand > span { display:block; text-transform:uppercase; font-size:10px; letter-spacing:.15em; color:#c9a550; margin-top:10px; }
.footer-brand p { margin:19px 0 0; font-size:13px; color:#d8c9df; }
.footer-links { display:flex; flex-wrap:wrap; align-items:start; gap:16px 22px; padding-top:10px; max-width:470px; }
.footer-links > span { display:block; flex-basis:100%; font-size:10px; font-weight:800; color:#c9a550; letter-spacing:.15em; }
.footer-links a { color:#f4ecf4; text-decoration:none; font-size:12px; }
.footer-links a:hover { text-decoration:underline; }
.footer-bottom { border-top:1px solid #5a3067; display:flex; justify-content:space-between; gap:20px; padding:20px 0 24px; color:#d6c6db; font-size:11px; }
.footer-bottom a { text-decoration:underline; }
@media (max-width: 1000px) {
  .container { width:min(calc(100% - 48px), var(--container)); }
  .brand { flex-basis:510px; }
  .header-aside { min-width:190px; }
  .primary-nav { gap:19px; }
  .hero-inner { gap:30px; }
  .portrait-frame { height:455px; }
  .hero-lead { font-size:19px; }
  .contact-inner { gap:40px; }
  .contact-row { grid-template-columns:110px 1fr; }
}
@media (max-width: 750px) {
  .container { width:calc(100% - 36px); }
  .utility-inner { font-size:8px; letter-spacing:.07em; }
  .utility-inner a { font-size:11px; }
  .masthead { padding:11px 0 17px; }
  .brand { flex-basis:480px; }
  .header-aside { display:none; }
  .nav-wrapper { position:relative; z-index:50; }
  .nav-inner { min-height:53px; }
  .menu-toggle { border:0; display:flex; align-items:center; gap:11px; padding:13px 3px; color:var(--purple); background:transparent; cursor:pointer; font-size:12px; font-weight:700; }
  .menu-lines { display:flex; flex-direction:column; gap:4px; }
  .menu-lines i { display:block; width:18px; height:2px; background:var(--purple); }
  .primary-nav { display:none; height:auto; max-height:calc(100vh - 145px); max-height:calc(100dvh - 145px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:var(--cream); position:absolute; left:0; right:0; top:100%; z-index:20; border-bottom:1px solid var(--line); padding:7px 18px 14px; box-shadow:0 16px 30px rgba(48,9,64,.12); }
  .primary-nav.open { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; }
  .primary-nav a { flex:0 0 auto; height:auto; min-height:46px; padding:12px 0; white-space:normal; border-bottom:1px solid var(--line); }
  .primary-nav a:last-child { border-bottom:0; }
  .primary-nav a.active::after, .primary-nav a:hover::after { display:none; }
  .nav-contact { margin-left:auto; }
  .hero-inner { grid-template-columns:1fr; gap:42px; padding-block:60px 58px; }
  .hero-copy { padding:0; }
  h1 { font-size:clamp(47px,9vw,65px); }
  .hero-visual { justify-self:center; width:min(100%,420px); }
  .portrait-frame { height:440px; }
  .section { padding:65px 0; }
  .section-heading, .about-inner, .contact-inner { display:block; }
  .section-heading > p { margin-top:17px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:180px; }
  .about-copy { margin-top:26px; }
  .priorities-grid { grid-template-columns:repeat(2,1fr); gap:30px 26px; }
  .contact-panel { margin-top:35px; }
  .footer-top { flex-direction:column; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
@media (max-width: 430px) {
  .utility-inner span { font-size:7px; max-width:190px; }
  .utility-inner a { font-size:10px; }
  .masthead { padding-top:10px; padding-bottom:12px; }
  .brand { margin-left:-9px; margin-right:-8px; }
  .nav-contact { font-size:11px; padding:12px; }
  .hero-inner { padding-top:49px; }
  h1 { font-size:45px; }
  .hero-lead { font-size:18px; }
  .hero-body { font-size:14px; }
  .portrait-frame { height:400px; }
  .priorities-grid { grid-template-columns:1fr; gap:19px; }
  .contact-panel { padding-inline:20px; }
  .contact-row { grid-template-columns:1fr; gap:7px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition-duration:0.01ms !important; animation-duration:0.01ms !important; } }


/* Version 2: distinct pages, compact homepage, and shared acknowledgement. */
.page-banner { border-bottom:1px solid var(--line); padding:45px 0 63px; background:var(--cream); }
.page-banner .breadcrumb { display:flex; gap:11px; align-items:center; margin-bottom:45px; font-size:11px; color:var(--muted); }
.breadcrumb a { text-decoration:none; color:var(--purple); }
.breadcrumb a:hover { text-decoration:underline; }
.breadcrumb span { color:var(--gold); }
.page-banner .eyebrow { margin-bottom:16px; }
.page-banner h1 { font-size:clamp(41px,5vw,64px); margin-bottom:17px; line-height:1.08; }
.page-intro { color:var(--muted); max-width:650px; line-height:1.8; font-size:16px; margin:0; }
.home-shortcuts { background:var(--white); padding:68px 0 77px; }
.compact-heading { margin-bottom:28px; }
.shortcut-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.shortcut-card { background:var(--cream); border:1px solid var(--line); padding:30px 26px 28px; text-decoration:none; display:flex; flex-direction:column; min-height:192px; transition:border-color .15s,transform .15s; }
.shortcut-card:hover { border-color:var(--gold); transform:translateY(-2px); }
.shortcut-index { color:#98700d; font-size:10px; font-weight:800; letter-spacing:.13em; }
.shortcut-card h3 { color:var(--purple); font:500 25px/1.25 Georgia,'Times New Roman',serif; margin:18px 0 24px; }
.shortcut-link { color:var(--purple); margin-top:auto; font-size:12px; font-weight:700; }
.shortcut-link span { margin-left:7px; color:var(--gold); }
.inner-content { background:var(--white); }
.editorial-layout { display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:78px; }
.editorial-photo { background:#e2e5e6; border:7px solid white; box-shadow:0 0 0 1px var(--line); max-height:510px; overflow:hidden; }
.editorial-photo img { width:100%; height:510px; object-fit:cover; object-position:center 29%; }
.editorial-text h2 { max-width:650px; margin-bottom:25px; }
.editorial-text p:not(.eyebrow) { line-height:1.95; color:var(--muted); font-size:15px; margin-bottom:18px; }
.editorial-text .button { margin-top:10px; }
.service-note { background:var(--cream); border-top:1px solid var(--line); }
.service-note-inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; }
.service-note-inner h2 { max-width:360px; }
.service-note-inner p:not(.eyebrow) { font-size:15px; color:var(--muted); line-height:1.9; }
.service-note-links { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:23px; }
.priorities-grid { grid-template-columns:repeat(3,1fr); row-gap:36px; }
.priorities { min-height:530px; }
.contact { background:var(--white); }
.land-acknowledgement { border-top:1px solid #5a3067; padding:27px 0 31px; }
.land-acknowledgement h2 { font:600 13px/1.4 Arial, Helvetica, sans-serif; letter-spacing:.09em; text-transform:uppercase; color:#dfbe75; margin:0 0 12px; }
.land-acknowledgement p { font-size:12px; line-height:1.8; max-width:850px; color:#e4d8e5; margin:0 0 12px; }
.land-acknowledgement a { color:#f3e3bb; text-decoration:underline; text-underline-offset:3px; font-size:11px; }
@media(max-width:1000px) {
  .editorial-layout { gap:35px; }
  .editorial-photo img { height:460px; }
}
@media(max-width:750px) {
  .page-banner { padding:28px 0 45px; }
  .page-banner .breadcrumb { margin-bottom:34px; }
  .page-intro { font-size:14px; }
  .shortcut-grid { grid-template-columns:1fr; gap:11px; }
  .shortcut-card { min-height:145px; padding:23px; }
  .shortcut-card h3 { margin:12px 0 19px; font-size:23px; }
  .editorial-layout, .service-note-inner { grid-template-columns:1fr; gap:28px; }
  .editorial-photo { max-width:420px; }
  .editorial-photo img { height:420px; }
  .service-note-links { align-items:flex-start; }
  .priorities-grid { grid-template-columns:repeat(2,1fr); }
  .land-acknowledgement { padding:26px 0; }
}
@media(max-width:430px) {
  .priorities-grid { grid-template-columns:1fr; }
  .page-banner h1 { font-size:42px; }
}

/* Shared constituency-office footer: both locations and quick links. */
.footer-top-v9 { display:grid; grid-template-columns:1.1fr 1fr 1fr .93fr; gap:35px; padding-block:47px 42px; }
.footer-top-v9 .footer-brand strong { font-size:29px; }
.footer-office { min-width:0; }
.footer-office .footer-eyebrow { display:block; color:#dfbd72; font-size:10px; line-height:1.5; font-weight:700; letter-spacing:.13em; margin:6px 0 13px; }
.footer-office strong { display:block; font-weight:600; font-size:13px; line-height:1.4; color:#fff8f3; margin-bottom:11px; }
.footer-office address { font-size:12px; font-style:normal; line-height:1.85; color:#e0d2e3; }
.footer-council-profile { display:inline-block; margin-top:15px; color:#f4ddb0; border-bottom:1px solid rgba(244,221,176,.58); padding-bottom:3px; font-size:11.5px; line-height:1.5; font-weight:600; text-decoration:none; }
.footer-council-profile:hover, .footer-council-profile:focus-visible { color:#fff; border-bottom-color:#fff; }
.footer-council-profile span { padding-left:4px; }

/* Ward Notes: subscriptions and publication archive powered by Substack. */
.wn-section { background:var(--white); padding-top:67px; padding-bottom:77px; }
.wn-intro { display:grid; grid-template-columns:1fr .95fr; align-items:end; gap:60px; margin-bottom:34px; }
.wn-intro .eyebrow { margin-bottom:14px; }
.wn-intro h2 { font-size:clamp(34px,3.8vw,50px); }
.wn-intro > p { font-size:14px; line-height:1.85; color:var(--muted); margin:0 0 5px; }
.wn-grid { display:grid; grid-template-columns:.91fr 1.09fr; align-items:stretch; gap:17px; }
.wn-purple { background:var(--purple); color:#f2e6f0; padding:37px 36px 35px; }
.wn-purple > span, .wn-kicker { display:block; font-size:10px; font-weight:800; letter-spacing:.14em; color:#dfbd72; margin-bottom:17px; }
.wn-purple h2 { color:white; font-size:clamp(30px,3vw,42px); margin-bottom:19px; }
.wn-purple > p { font-size:14px; line-height:1.8; color:#e1d4e5; margin:0 0 26px; }
.wn-topics { display:flex; flex-wrap:wrap; gap:8px; }
.wn-topics span { font-size:11px; color:#f6e9f1; border:1px solid rgba(255,255,255,.35); padding:8px 12px; }
.wn-form { background:var(--cream); border:1px solid var(--line); padding:36px 39px; }
.wn-form .wn-kicker { color:#98700d; }
.wn-form h3 { color:var(--purple); font:500 clamp(27px,2.7vw,36px)/1.2 Georgia,'Times New Roman',serif; max-width:465px; margin:0 0 18px; }
.wn-form > p:not(.wn-small) { color:var(--muted); font-size:14px; line-height:1.75; margin:0 0 25px; }
.wn-button { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 22px; background:var(--purple); color:white; font-size:13px; font-weight:700; text-decoration:none; transition:background .2s; }
.wn-button:hover { background:var(--purple-2); }
.wn-visit { display:block; width:fit-content; color:var(--purple); margin-top:19px; font-size:12px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:4px; }
.wn-visit:hover { color:#7d5809; }
.wn-small { color:var(--muted); font-size:11.5px; line-height:1.65; margin:25px 0 0; }
.wn-archive { background:var(--cream); border-top:1px solid var(--line); padding-top:63px; padding-bottom:81px; }
.wn-archive .eyebrow { margin-bottom:14px; }
.wn-archive h2 { margin-bottom:17px; }
.wn-archive > .container > p:not(.eyebrow) { color:var(--muted); line-height:1.8; font-size:14px; max-width:700px; margin-bottom:27px; }
.wn-empty { background:var(--white); border:1px solid var(--line); padding:23px 29px; display:flex; align-items:center; gap:23px; }
.wn-empty > span { font:500 29px Georgia,serif; color:var(--gold); }
.wn-empty strong { color:var(--purple); display:block; font-size:15px; margin-bottom:5px; }
.wn-empty p { color:var(--muted); font-size:12px; line-height:1.6; margin:0; }
.wn-empty a { margin-left:auto; color:var(--purple); font-size:12px; font-weight:700; white-space:nowrap; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:4px; }
.wn-empty a:hover { text-decoration:underline; }
@media (max-width:800px) {
  .wn-intro { grid-template-columns:1fr; gap:15px; }
  .wn-grid { grid-template-columns:1fr; }
  .wn-empty { flex-wrap:wrap; }
  .wn-empty a { margin-left:0; }
}
@media (max-width:500px) {
  .wn-section { padding-top:49px; padding-bottom:54px; }
  .wn-purple, .wn-form { padding:27px 24px; }
  .wn-archive { padding-top:52px; padding-bottom:58px; }
  .wn-empty { padding:21px; gap:15px; }
  .wn-empty a { flex-basis:100%; }
}
.footer-top-v9 .footer-links { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:flex-start; gap:10px; padding-top:6px; }
.footer-top-v9 .footer-links > span { margin-bottom:5px; }
.footer-top-v9 .footer-links a { font-size:12px; line-height:1.45; }

/* Media inquiries page. */
.media-section { padding-top:65px; padding-bottom:74px; }
.media-layout { display:grid; grid-template-columns:1.13fr .87fr; gap:22px; }
.media-contact-card { border:1px solid var(--line); background:var(--cream); padding:39px 42px 40px; }
.media-contact-card .eyebrow { margin-bottom:16px; }
.media-contact-card h2 { font-size:clamp(31px,3vw,43px); line-height:1.19; max-width:590px; margin:0 0 20px; }
.media-contact-card > p:not(.eyebrow) { font-size:14.5px; color:var(--muted); line-height:1.85; margin:0 0 26px; max-width:560px; }
.media-email-panel { border-left:3px solid var(--gold); background:var(--white); padding:23px 25px 19px; margin-bottom:25px; }
.media-email-panel > span { display:block; color:#98700d; font-size:10px; font-weight:800; letter-spacing:.15em; margin:0 0 12px; }
.media-email-panel > a { display:inline-block; color:var(--purple); font-size:clamp(17px,2vw,23px); font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.media-email-panel > a:hover { text-decoration:underline; }
.media-email-panel > p { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.media-checklist { background:var(--purple); color:#f6edf6; padding:37px 37px 29px; }
.media-small-heading { display:block; color:#e2bf76; font-size:10px; font-weight:800; letter-spacing:.15em; margin-bottom:15px; }
.media-checklist h3 { color:white; font:500 29px/1.2 Georgia,'Times New Roman',serif; margin:0 0 25px; }
.media-checklist ol { list-style:none; counter-reset:media-list; margin:0 0 21px; padding:0; }
.media-checklist li { counter-increment:media-list; display:grid; grid-template-columns:27px 1fr; column-gap:13px; align-items:start; padding:13px 0; border-top:1px solid rgba(255,255,255,.19); font-size:13px; line-height:1.56; }
.media-checklist li::before { content:counter(media-list,decimal-leading-zero); color:#dfbd72; font-size:11px; font-weight:700; padding-top:2px; }
.media-checklist > p { color:#dfd3e2; font-size:12px; line-height:1.75; margin:0; }
.media-languages { display:grid; grid-template-columns:1fr 1fr; column-gap:66px; align-items:start; padding:39px 1px; margin-top:32px; border-block:1px solid var(--line); }
.media-languages .eyebrow { margin-bottom:12px; }
.media-languages h2 { font-size:clamp(28px,2.5vw,36px); max-width:430px; }
.media-languages > div:last-child p { font-size:14px; line-height:1.75; color:var(--muted); margin:0 0 10px; }
.media-languages strong { color:var(--purple); }
.media-residents-note { display:flex; align-items:start; gap:15px; color:var(--muted); margin-top:25px; font-size:12.5px; line-height:1.75; }
.media-residents-note > span { font-size:18px; line-height:1.3; color:var(--gold); }
.media-residents-note p { margin:0; }
.media-residents-note strong { color:var(--purple); }
.media-residents-note a { color:var(--purple); text-decoration:underline; text-underline-offset:2px; }
@media (max-width:1020px) {
  .footer-top-v9 { grid-template-columns:1fr 1fr; gap:30px 45px; }
  .media-contact-card { padding:34px 31px; }
  .media-checklist { padding:34px 30px; }
}
@media (max-width:750px) {
  .media-section { padding-top:42px; padding-bottom:51px; }
  .media-layout, .media-languages { grid-template-columns:1fr; }
  .media-layout { gap:15px; }
  .media-languages { gap:18px; margin-top:26px; padding:32px 0; }
  .media-contact-card h2 { font-size:32px; }
  .media-checklist h3 { font-size:27px; }
}
@media (max-width:500px) {
  .footer-top-v9 { grid-template-columns:1fr; gap:30px; }
  .media-contact-card, .media-checklist { padding:28px 24px; }
  .media-email-panel { padding:22px 18px; }
  .media-email-panel > a { font-size:18px; }
}

/* Restored interior-page styles, shared by the constituency information pages. */
.ward-page { background:var(--white); }
.ward-page > .container > h2 { margin:0 0 20px; }
.ward-page > .container > p { max-width:770px; color:var(--muted); line-height:1.85; }
.ward-page > .container > h3 { color:var(--purple); font:500 28px/1.3 Georgia,serif; margin:42px 0 23px; }
.ward-neighbourhoods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:0 0 36px; padding:0; gap:12px; }
.ward-neighbourhoods li { background:var(--cream); border:1px solid var(--line); padding:18px 19px; color:var(--purple); font:500 17px/1.35 Georgia,serif; }
.ward-link { padding-top:20px; border-top:1px solid var(--line); }
.ward-link a { color:var(--purple); text-underline-offset:4px; font-weight:700; }

.resources-page { background:var(--white); }
.resources-page .resource-heading { margin-bottom:14px; }
.resources-intro { max-width:730px; color:var(--muted); line-height:1.8; font-size:15px; margin:0 0 45px; }
.resource-group { border-top:1px solid var(--line); padding:29px 0 32px; display:grid; grid-template-columns:245px minmax(0,1fr); gap:46px; }
.resource-group h2 { font-size:25px; line-height:1.3; padding-top:4px; }
.resource-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:29px; row-gap:4px; margin:0; padding:0; }
.resource-list li { border-bottom:1px solid #eae3d8; min-width:0; }
.resource-list a { color:var(--purple); font-size:13px; font-weight:600; line-height:1.55; display:block; text-decoration:none; padding:13px 0; }
.resource-list a:hover { color:#986e12; text-decoration:underline; }
.resource-list a::after { content:' ↗'; color:var(--gold); }
.resources-disclaimer { border-left:3px solid var(--gold); padding:17px 22px; margin:36px 0 0; color:var(--muted); background:var(--cream); font-size:13px; line-height:1.8; }
.resources-disclaimer a { color:var(--purple); }

.funding-banner { background:var(--cream); }
.funding-intro { background:var(--white); }
.funding-intro-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:76px; }
.funding-intro-grid h2 { max-width:490px; }
.funding-intro-grid > div:last-child p { font-size:15px; line-height:1.9; color:var(--muted); margin-bottom:17px; }
.funding-intro-grid strong { color:var(--purple); }
.funding-process { background:var(--cream); padding:70px 0 77px; border-block:1px solid var(--line); }
.funding-process h2 { margin-bottom:32px; }
.funding-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin:0; padding:0; list-style:none; }
.funding-steps li { background:var(--white); border:1px solid var(--line); padding:25px 22px 27px; }
.funding-step-no { color:var(--gold); font-size:12px; font-weight:800; letter-spacing:.12em; display:block; border-bottom:1px solid var(--line); padding-bottom:19px; margin-bottom:18px; }
.funding-steps h3 { color:var(--purple); font:500 24px/1.2 Georgia,serif; margin:0 0 13px; }
.funding-steps p { color:var(--muted); font-size:13px; line-height:1.78; margin:0; }
.funding-request { background:var(--white); }
.funding-request-panel { display:grid; grid-template-columns:.85fr 1.15fr; border:1px solid var(--line); background:var(--cream); }
.funding-request-top { padding:42px 38px; background:var(--purple); color:#e8dfe9; }
.funding-request-top h2 { color:var(--white); font-size:clamp(29px,3vw,40px); margin-bottom:19px; }
.funding-request-top > p:not(.eyebrow) { color:#e3d5e6; font-size:14px; line-height:1.8; margin-bottom:28px; }
.funding-address-label { color:#d5b678; font-size:10px; font-weight:800; letter-spacing:.12em; margin-bottom:10px; }
.funding-address { color:white; font-size:20px; font-weight:700; overflow-wrap:anywhere; }
.funding-request-body { padding:41px 45px; }
.funding-request-body h3 { color:var(--purple); font:500 27px/1.3 Georgia,serif; }
.funding-info-list { padding-left:22px; columns:2; column-gap:36px; color:#524757; font-size:13px; line-height:1.7; }
.funding-info-list li { padding-left:3px; margin-bottom:12px; break-inside:avoid; }
.funding-info-list li::marker { color:var(--gold); font-weight:700; }
.funding-attachment { color:var(--muted); line-height:1.8; font-size:12.5px; margin:18px 0 0; }
.funding-disclaimer { margin:22px 0 0; border-left:3px solid var(--gold); background:var(--cream); padding:18px 22px; color:var(--muted); font-size:12.5px; line-height:1.8; }
.funding-disclaimer strong { color:var(--purple); }
.funding-programs { background:var(--cream); }
.funding-programs h2 { margin-bottom:17px; }
.funding-programs-intro { color:var(--muted); max-width:690px; line-height:1.8; font-size:14px; margin-bottom:32px; }
.funding-program-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.funding-program-list li { border-top:3px solid var(--gold); background:var(--white); padding:27px 25px 29px; }
.funding-program-list a { color:var(--purple); font:500 22px/1.3 Georgia,serif; text-decoration:none; }
.funding-program-list a:hover { text-decoration:underline; }
.funding-program-list a span { font:700 15px Arial,sans-serif; color:var(--gold); }
.funding-program-list p { margin:16px 0 0; color:var(--muted); font-size:13px; line-height:1.78; }

.adv-section { background:var(--white); }
.adv-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; margin-bottom:41px; }
.adv-intro h2 { max-width:450px; }
.adv-intro > div:last-child p { font-size:14px; line-height:1.9; color:var(--muted); margin-bottom:13px; }
.adv-intro strong { color:var(--purple); }
.adv-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:65px; }
.adv-stats > div { background:var(--cream); padding:24px 27px; }
.adv-stats b { display:block; color:var(--purple); font:500 25px/1.2 Georgia,serif; margin-bottom:7px; }
.adv-stats span { color:var(--muted); font-size:12px; line-height:1.6; }
.adv-overline { margin-bottom:22px; }
.adv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.adv-card { min-height:224px; padding:27px 26px; border:1px solid var(--line); background:var(--cream); }
.adv-card > span { display:block; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.13em; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:17px; }
.adv-card h3 { color:var(--purple); font:500 22px/1.3 Georgia,serif; margin:0 0 13px; }
.adv-card p { color:var(--muted); font-size:13px; line-height:1.75; margin:0; }
.adv-card-wide { display:block; }
.adv-callout { background:var(--purple); padding:58px 0 67px; }
.adv-cta { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.adv-cta h2 { color:white; margin-bottom:17px; }
.adv-cta p { color:#dfd4e4; font-size:13px; line-height:1.85; }
.adv-cta > div:last-child { border-left:1px solid rgba(255,255,255,.22); padding-left:45px; }
.adv-cta > div:last-child > span { display:block; color:#dec07e; font-weight:800; font-size:10px; letter-spacing:.12em; margin:5px 0 13px; }
.adv-email { display:block; color:white; font-size:clamp(18px,2.1vw,26px); font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.adv-email:hover { text-decoration:underline; }
.adv-button { background:var(--white); color:var(--purple); margin-top:12px; }
.adv-button:hover { background:#f1e5cd; }

.c8-contact-section { background:var(--white); padding-top:57px; }
.c8-panel { border:1px solid var(--line); margin-bottom:22px; background:var(--cream); }
.c8-panel-heading { background:var(--purple); color:white; padding:28px 33px 31px; }
.c8-kicker { display:block; color:#dcb86e; font-size:10px; font-weight:800; letter-spacing:.14em; margin-bottom:13px; }
.c8-panel-heading h2 { color:white; font-size:clamp(28px,3vw,38px); }
.c8-ward-content { display:grid; grid-template-columns:1.08fr .92fr; gap:45px; padding:30px 35px 34px; }
.c8-ward-email-block > p { color:var(--muted); font-size:14px; line-height:1.85; }
.c8-tiny-label { color:#9b751d; display:block; font-size:10px; font-weight:800; letter-spacing:.14em; margin:22px 0 10px; }
.c8-emphasis-email { color:var(--purple); font-size:clamp(18px,2.2vw,25px); font-weight:700; overflow-wrap:anywhere; text-decoration:none; }
.c8-emphasis-email:hover { text-decoration:underline; }
.c8-ward-email-block .c8-smallnote { font-size:12px; margin:16px 0 0; }
.c8-instructions { border-left:1px solid var(--line); padding-left:35px; }
.c8-instructions h3 { color:var(--purple); font:500 23px Georgia,serif; margin:0 0 17px; }
.c8-instructions ul { color:var(--muted); margin:0; padding-left:20px; font-size:13px; line-height:1.9; }
.c8-instructions li { margin-bottom:7px; }
.c8-form-content { padding:32px 35px 38px; }
.c8-form-intro { color:var(--muted); font-size:13px; line-height:1.75; }
.c8-form-intro span, .c8-field label span { color:#9b6a13; }
.c8-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 22px; margin:22px 0; }
.c8-field { min-width:0; }
.c8-full { grid-column:1/-1; }
.c8-field label { display:block; font-size:12px; font-weight:700; color:var(--purple); margin:0 0 9px; }
.c8-field input, .c8-field select, .c8-field textarea { display:block; width:100%; border:1px solid #cfc5b7; background:var(--white); color:var(--ink); padding:13px 14px; font:14px/1.5 Arial,sans-serif; border-radius:0; }
.c8-field textarea { resize:vertical; min-height:128px; }
.c8-field input:focus, .c8-field select:focus, .c8-field textarea:focus { border-color:var(--gold); outline:2px solid #b1841133; }
.c8-privacy { border-top:1px solid var(--line); padding-top:22px; }
.c8-privacy > p { color:var(--muted); font-size:12px; line-height:1.7; }
.c8-consent { display:flex; align-items:flex-start; gap:12px; color:#55475a; font-size:12px; line-height:1.7; cursor:pointer; }
.c8-consent input { accent-color:var(--purple); margin-top:4px; }
.c8-form-end { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; margin-top:26px; }
.c8-submit { border:0; background:var(--purple); color:white; padding:15px 21px; font-size:13px; font-weight:700; cursor:pointer; }
.c8-submit:hover { background:var(--purple-2); }
.c8-submit:disabled { opacity:.65; cursor:wait; }
.c8-form-end p { font-size:12px; color:var(--muted); margin:0; }
.c8-form-end a { color:var(--purple); }
.c8-form-message { padding:15px 18px; margin-top:20px; border-left:3px solid var(--gold); background:var(--white); color:var(--purple); font-size:13px; }
.c8-form-message[data-state='error'] { border-color:#b04848; color:#7b2731; }
.c8-form-message[hidden] { display:none; }
.mi-section { padding:42px 0 58px; }
.mi-section-head { max-width:760px; margin-bottom:30px; }
.mi-eyebrow, .c8-section-label { font-size:10px; letter-spacing:.14em; font-weight:800; color:#98700d; margin-bottom:14px; }
.mi-section-head h2 { margin-bottom:17px; }
.mi-section-head > p:last-child { font-size:14px; line-height:1.8; color:var(--muted); }
.mi-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.mi-option { padding:26px 28px; border:1px solid var(--line); background:var(--cream); }
.mi-number { display:block; font-size:10px; color:#98700d; font-weight:800; letter-spacing:.14em; margin-bottom:19px; }
.mi-option h3 { font:500 25px Georgia,serif; color:var(--purple); margin:0 0 12px; }
.mi-option p { color:var(--muted); font-size:13px; line-height:1.8; margin:0; }
.mi-howto { display:grid; grid-template-columns:1.1fr .9fr; gap:42px; background:#f0eae2; padding:32px 33px; margin-top:17px; }
.mi-howto h3 { color:var(--purple); font:500 25px Georgia,serif; margin-bottom:13px; }
.mi-howto p { color:var(--muted); font-size:13px; line-height:1.8; }
.mi-note { font-size:12px !important; }
.mi-address { align-self:center; background:var(--white); border-left:3px solid var(--gold); padding:25px; }
.mi-address span { color:#98700d; font-size:10px; font-weight:800; letter-spacing:.12em; display:block; margin-bottom:10px; }
.mi-address a { color:var(--purple); font-size:clamp(16px,2vw,23px); font-weight:700; overflow-wrap:anywhere; text-decoration:none; }
.mi-address a:hover { text-decoration:underline; }
.c8-offices { padding:26px 0 30px; border-top:1px solid var(--line); }
.c8-offices h2 { margin:0 0 26px; }
.c8-offices-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.c8-office { padding:26px 28px; background:var(--cream); border:1px solid var(--line); }
.c8-office > span { display:block; color:#98700d; font-size:10px; font-weight:800; letter-spacing:.12em; margin-bottom:14px; }
.c8-office h3 { font:500 25px Georgia,serif; color:var(--purple); margin:0 0 14px; }
.c8-office address { color:var(--muted); font-style:normal; font-size:13px; line-height:1.8; }
.c8-footnote { font-size:12px; color:var(--muted); padding-top:10px; }
.c8-footnote a { color:var(--purple); }

@media (max-width:1000px) {
  .funding-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resource-group { grid-template-columns:190px minmax(0,1fr); gap:28px; }
}
@media (max-width:750px) {
  .primary-nav a { font-size:12px; }
  .ward-neighbourhoods { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .funding-intro-grid, .funding-request-panel, .adv-intro, .adv-cta, .c8-ward-content, .mi-howto { grid-template-columns:1fr; gap:25px; }
  .funding-steps, .funding-program-list { grid-template-columns:1fr; }
  .funding-request-top, .funding-request-body { padding:30px 27px; }
  .funding-info-list { columns:1; }
  .adv-stats { grid-template-columns:1fr; }
  .adv-grid { grid-template-columns:1fr; }
  .adv-cta > div:last-child { border-left:0; border-top:1px solid rgba(255,255,255,.25); padding:25px 0 0; }
  .resource-group { display:block; }
  .resource-group h2 { margin-bottom:18px; }
  .resource-list { grid-template-columns:1fr; }
  .c8-ward-content { padding:26px; }
  .c8-instructions { border-left:0; border-top:1px solid var(--line); padding:23px 0 0; }
  .c8-form-content { padding:28px 25px; }
  .c8-form-grid, .mi-options, .c8-offices-grid { grid-template-columns:1fr; }
}
@media (max-width:450px) {
  .ward-neighbourhoods { grid-template-columns:1fr; }
  .c8-panel-heading { padding:24px; }
  .mi-howto { padding:25px 20px; }
  .c8-emphasis-email, .adv-email { font-size:18px; }
}
