:root{--ink:#282828;--muted:#656565;--yellow:#ffce00;--cream:#fff;--line:#e4e2dc;--soft-yellow:#fff8d9;--radius-button:.55em;--radius-heading:13px;--radius-banner:25px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #8d6b00;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}picture{display:block;width:100%;height:100%}h1,h2,h3,p,figure{margin:0}h2,h3{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:500;line-height:1.2;letter-spacing:-.025em}h2{font-size:clamp(34px,3.2vw,48px)}h3{font-size:27px}
.header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:Oswald,'Arial Narrow',sans-serif;font-size:23px;font-weight:600;line-height:1.1}.brand-mark{width:46px;height:46px;position:relative;display:grid;place-items:center;border-radius:8px;background:var(--yellow);font-family:Anton,Impact,sans-serif;font-size:31px;font-weight:400}.brand-mark span{position:absolute;right:4px;top:3px;font-family:Arial,sans-serif;font-size:15px}.brand-dot{color:#a58200}.header nav{display:flex;gap:28px;font-size:13px}.header nav a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--yellow);color:var(--ink);padding:16px 22px;border:1px solid #edbd00;border-radius:5px;font-size:14px;font-weight:700;line-height:1.3;transition:background .2s}.button:hover{background:#ffdf54}.button span{font-size:20px}.header .button{padding:12px 18px;font-size:12px;gap:18px}
.eyebrow{font-size:12px;font-weight:600;line-height:1.6;text-transform:uppercase;letter-spacing:1.6px}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:600;border-bottom:2px solid var(--yellow);padding-bottom:4px}.text-link:hover{border-color:var(--ink)}.small-note{color:var(--muted);font-size:12px;line-height:1.8}.section{max-width:1440px;margin:auto;padding:78px 5%}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px 80px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading>p:last-child{color:var(--muted);max-width:450px;align-self:center}
.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;gap:32px}.priority-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:0 30px 0 0}.priority-grid article+article{border-left:1px solid var(--line);padding-left:30px}.card-number{display:grid;place-items:center;width:38px;height:38px;background:var(--yellow);font-family:Oswald,sans-serif;font-size:16px;font-weight:500;border-radius:50%;margin-bottom:20px}.priority-grid p{font-size:15px;color:var(--muted);margin:17px 0 24px}.card-tag{background:var(--soft-yellow);padding:7px 11px;font-size:12px;line-height:1.6;margin-top:auto;border-radius:3px}.source-note{color:var(--muted);font-size:12px;margin-top:30px}.source-note a{text-decoration:underline;text-underline-offset:4px}.tram-appeal{margin-top:50px;padding:30px 38px;border-radius:7px;background:var(--soft-yellow);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:20px;overflow:hidden}.tram-appeal h3{font-size:37px;margin-top:12px}.tram-appeal div>p:last-child{margin-top:12px;font-size:15px}.tram-appeal picture{mix-blend-mode:multiply}.tram-appeal img{object-fit:contain;max-height:250px}
.transport{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}.transport h2{margin-top:21px}.transport-intro>p:not(.eyebrow){color:var(--muted);margin-top:22px;max-width:465px;font-size:15px}.transport-photo{margin-top:28px;position:relative;height:260px;overflow:hidden;border-radius:6px}.transport-photo img{object-position:center 58%}.transport-photo::after{position:absolute;inset:55% 0 0;content:'';background:linear-gradient(transparent,#000a);pointer-events:none}.transport-photo figcaption{position:absolute;left:20px;bottom:18px;right:20px;color:#fff;font-size:13px;display:flex;align-items:center;gap:10px;z-index:1}.transport-photo figcaption>span{color:var(--ink);background:var(--yellow);font-family:Oswald,sans-serif;font-size:18px;font-weight:600;padding:0 9px;border-radius:3px}.connection-comparison{align-self:center}.connection{border:1px solid #e8dfbd;border-radius:6px;background:#fffdf5;margin-bottom:18px;overflow:hidden;padding:0 25px 23px}.connection .eyebrow{margin:0 -25px;padding:12px 25px;background:#fff0b1;font-size:11px;letter-spacing:1px}.connection--today .eyebrow{background:var(--yellow)}.route-title{display:flex;align-items:center;gap:14px;margin-top:21px}.route-title h3{font-size:25px}.route-badge{display:grid;place-items:center;flex-shrink:0;min-width:44px;height:42px;border-radius:4px;background:var(--ink);color:#fff;font-family:Oswald,sans-serif;font-weight:500;font-size:22px}.route-badge--light{background:#e8dfbd;color:var(--ink)}.route-line,.route-steps{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;font-size:13px}.route-line>span:nth-child(2){flex:1;overflow:hidden;white-space:nowrap;text-align:center;color:#af8b0c}.route-steps>span:nth-child(2n){color:#9a7a00}.connection>p:last-child{margin-top:12px;color:var(--muted);font-size:13px}.proposal-note{border-left:3px solid var(--yellow);padding-left:17px;font-size:13px;margin-top:25px}.proposal-note p{color:var(--muted);margin-top:8px}.connection-comparison>.small-note{margin-top:18px}
.neighborhood{max-width:1440px;margin:auto;padding:30px 5% 78px;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.neighborhood-image{height:470px;position:relative;overflow:hidden;border-radius:6px}.neighborhood-image::after{position:absolute;content:'';inset:70% 0 0;background:linear-gradient(transparent,#0009)}.image-label{position:absolute;left:25px;bottom:25px;z-index:1;color:#fff;font-size:11px;letter-spacing:1px}.neighborhood-copy h2{margin-top:20px}.neighborhood-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:22px}.street-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 29px}.street-list li{font-size:13px;background:#f7f5ed;padding:5px 12px;border-radius:3px;border-bottom:2px solid #e8d77c}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.faq h2{margin-top:20px}.faq>div>p:last-child{font-size:15px;color:var(--muted);margin-top:22px}.faq-list{border-top:2px solid var(--yellow)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;font-family:Oswald,'Arial Narrow',sans-serif;font-weight:400;font-size:21px;line-height:1.45;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span{background:var(--soft-yellow);width:29px;height:29px;line-height:27px;text-align:center;font-family:Arial,sans-serif;font-size:21px;flex-shrink:0;border-radius:50%}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:14px;color:var(--muted);line-height:1.85;padding:0 32px 23px 0}
.sign-section{max-width:1296px;margin:0 auto 65px;padding:50px 55px;border-radius:7px;background:var(--soft-yellow);border-top:5px solid var(--yellow);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.sign-copy h2{margin-top:20px;font-size:clamp(34px,3.2vw,46px)}.sign-copy h2 em{font-style:normal}.sign-copy>p:last-child{margin-top:23px;font-size:15px;color:var(--muted)}.sign-panel{background:#fff;border-radius:5px;padding:28px}.sign-panel h3{margin-bottom:22px}.sign-panel .button{width:100%}.sign-note{color:var(--muted);font-size:12px;line-height:1.8;margin-top:16px}.sign-unavailable strong{font-family:Oswald,'Arial Narrow',sans-serif;font-size:23px;font-weight:500;line-height:1.45;display:block}.sign-unavailable p{font-size:14px;color:var(--muted);margin-top:13px;line-height:1.8}.download-link{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:13px;font-weight:600}.download-link small{font-size:11px;font-weight:400;color:var(--muted)}.download-link:hover{text-decoration:underline}
footer{background:var(--ink);color:#e5e5e5;padding:32px max(5%,calc((100vw - 1296px)/2));display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;font-size:13px}.footer-brand{font-family:Oswald,'Arial Narrow',sans-serif;font-size:24px;font-weight:500;color:var(--yellow)}footer>a:nth-of-type(2){margin-left:auto}footer>a:hover{text-decoration:underline}footer>span{flex-basis:100%;border-top:1px solid #ffffff25;padding-top:18px;color:#bcbcbc;font-size:12px}.mobile-sign{display:none}.skip-link{position:fixed;top:10px;left:10px;z-index:10;background:#fff;padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}[hidden]{display:none!important}
@media(max-width:1440px){.sign-section{margin-left:5%;margin-right:5%}}
@media(max-width:1050px){.header nav{gap:17px;font-size:11px}.priority-grid{gap:20px}.priority-grid article{padding-right:16px}.priority-grid article+article{padding-left:20px}.section-heading{column-gap:40px}.transport{gap:5%}.route-title h3{font-size:23px}.route-steps{flex-wrap:wrap;justify-content:flex-start;gap:10px}.neighborhood{gap:5%}.sign-section{padding:40px;gap:5%}}
@media(max-width:760px){body{padding-bottom:85px}.header{padding:20px 6%;flex-wrap:wrap;gap:20px}.brand{font-size:21px}.brand-mark{width:40px;height:40px;font-size:27px}.header>.button{font-size:11px;gap:10px;padding:12px}.header nav{order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:10px}.section{padding:52px 6%}.section-heading{grid-template-columns:1fr;gap:18px}.section-heading>p:last-child{max-width:none;font-size:15px}.priority-grid{grid-template-columns:1fr;gap:27px;margin-top:33px}.priority-grid article,.priority-grid article+article{border-left:0;padding:0}.priority-grid article+article{border-top:1px solid var(--line);padding-top:27px}.card-number{width:34px;height:34px;margin-bottom:15px}.priority-grid h3{font-size:27px}.priority-grid p{margin-top:13px;margin-bottom:17px}.source-note{font-size:12px}.tram-appeal{grid-template-columns:1fr;gap:8px;margin-top:35px;padding:26px}.tram-appeal h3{font-size:32px}.tram-appeal picture{margin-top:8px}.tram-appeal img{max-height:210px}.transport{grid-template-columns:1fr;gap:31px}.transport-photo{height:245px}.transport-intro>p:not(.eyebrow){max-width:none}.connection{padding-left:22px;padding-right:22px}.connection .eyebrow{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.route-title h3{font-size:24px}.route-steps{font-size:12px;gap:8px}.neighborhood{grid-template-columns:1fr;padding:0 6% 52px;gap:31px}.neighborhood-image{height:330px}.neighborhood-image .image-label{left:18px;bottom:18px;font-size:9px}.street-list{margin-top:21px}.faq{grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}.faq>div>p:last-child br{display:none}summary{font-size:20px}.sign-section{margin:0 4% 40px;padding:28px 22px;grid-template-columns:1fr;gap:27px}.sign-copy h2{font-size:36px}.sign-panel{padding:22px}.sign-unavailable strong{font-size:22px}footer{padding:28px 6%;font-size:12px}footer>p{flex-basis:100%}footer>a:nth-of-type(2){margin-left:0}footer>span{font-size:11px}.mobile-sign{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid var(--line);padding:12px 6% calc(12px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #00000008}.mobile-sign>.button{width:100%;justify-content:center;font-size:13px;padding:14px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* A straightforward local campaign site; the poster treatment stays in the hero. */
.tram-appeal picture { mix-blend-mode: normal; }
.transport-photo { height: auto !important; overflow: visible; }
.transport-photo picture { height: 280px; }
.transport-photo img { object-fit: contain; object-position: center; }
.transport-photo::after { display: none; }
.transport-photo figcaption { position: static; color: var(--ink); margin-top: 12px; }
@media (max-width: 760px) { .transport-photo picture { height: 220px; } }
h2 { font-size: 34px; font-weight: 500; }
h3 { font-size: 24px; }
.header { padding-top: 20px; padding-bottom: 20px; }
.header .button { font-size: 14px; font-weight: 700; }
.brand { font-size: 28px; font-weight: 600; }
.header nav { font-size: 14px; gap: 25px; }
.header nav a { text-decoration: underline; text-underline-offset: 4px; }
.button { border-radius: var(--radius-button); }
.section { padding-top: 46px; padding-bottom: 46px; }
.section-heading { display: block; }
.section-heading > p:last-child { max-width: 850px; margin-top: 16px; color: #444; }
.priority-grid { margin-top: 30px; gap: 28px; }
.priority-grid article, .priority-grid article + article { padding: 0; border: 0; }
.priority-grid h3 { width: 100%; border-bottom: 3px solid var(--yellow); padding-bottom: 9px; }
.priority-grid p { font-size: 16px; color: #444; margin-top: 13px; margin-bottom: 0; }
.source-note { margin-top: 22px; font-size: 13px; }
.tram-appeal { margin-top: 28px; padding: 22px 26px; border: 1px solid var(--line); border-left: 5px solid var(--yellow); border-radius: 0; background: #fff; grid-template-columns: 1fr 1fr; }
.tram-appeal h3 { margin: 0; font-size: 29px; }
.tram-appeal div > p:last-child { font-size: 16px; color: #444; }
.tram-appeal img { max-height: 190px; }
.transport h2 { margin-top: 0; }
.transport-intro > p:not(.eyebrow) { font-size: 16px; color: #444; margin-top: 16px; }
.transport-photo { height: 245px; border-radius: 0; margin-top: 22px; }
.connection { border-radius: 0; background: #fff; margin-bottom: 15px; }
.connection .eyebrow { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; }
.route-title h3 { font-size: 24px; }
.connection > p:last-child { font-size: 14px; }
.proposal-note { font-size: 14px; margin-top: 20px; }
.small-note { font-size: 13px; }
.neighborhood { padding-top: 12px; padding-bottom: 46px; }
.neighborhood-image { height: 330px; border-radius: 0; }
.neighborhood-image::after { display: none; }
.neighborhood-copy h2 { margin-top: 0; }
.neighborhood-copy > p:not(.eyebrow) { font-size: 16px; color: #444; margin-top: 16px; }
.neighborhood-copy > .button { margin-top: 22px; }
.neighborhood-copy > .button span { font-size: 12px; font-weight: 400; }
.flyer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 22px; }
.flyer-actions .download-link, .sign-panel .flyer-actions .download-link { margin-top: 0; padding-top: 0; border: 0; }
.flyer-actions small { font-size: 12px; color: var(--muted); }
.street-list { gap: 0 8px; margin: 18px 0 22px; }
.street-list li { font-size: 16px; padding: 0; background: none; border: 0; border-radius: 0; }
.street-list li:not(:last-child)::after { content: ','; }
.text-link { border: 0; padding: 0; text-decoration: underline; text-underline-offset: 4px; font-weight: 400; }
.faq { grid-template-columns: 1fr; gap: 22px; }
.faq h2 { margin-top: 0; }
.faq > div > p:last-child { margin-top: 12px; font-size: 16px; }
.faq-list { border-top: 1px solid var(--line); }
summary { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 600; padding: 17px 0; }
summary > span { background: none; border-radius: 0; font-size: 20px; }
details > p { font-size: 15px; color: #444; }
.sign-section { margin-bottom: 45px; padding: 28px 32px; border: 2px solid var(--yellow); border-radius: 0; background: #fff; }
.sign-copy h2 { margin-top: 0; font-size: 32px; }
.sign-copy > p:last-child { margin-top: 15px; font-size: 16px; color: #444; }
.sign-panel { border-radius: 0; padding: 0; background: none; }
.sign-unavailable strong { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 600; }
.sign-unavailable p { font-size: 14px; }
footer { background: #fff; border-top: 1px solid var(--line); color: #555; padding-top: 24px; padding-bottom: 24px; }
.footer-brand { color: #282828; font-size: 23px; }
footer > span { border-color: var(--line); color: #666; }
@media (max-width: 1050px) {
  .header nav { font-size: 12px; gap: 17px; }
}
@media (max-width: 760px) {
  .brand { font-size: 23px; }
  .header nav { font-size: 12px; }
  h2 { font-size: 30px; }
  .section { padding-top: 34px; padding-bottom: 34px; }
  .priority-grid { gap: 25px; }
  .priority-grid h3 { font-size: 23px; }
  .tram-appeal { grid-template-columns: 1fr; padding: 20px; }
  .tram-appeal h3 { font-size: 27px; }
  .tram-appeal img { max-height: 170px; }
  .neighborhood { padding-bottom: 34px; gap: 24px; }
  .neighborhood-image { height: 270px; }
  .sign-section { margin: 0 4% 30px; padding: 23px 20px; gap: 22px; }
  .sign-copy h2 { font-size: 30px; }
}

/* The leaflet's three points, tram banner, and signing invitation. */
.image-modal { width: 96vw; max-width: 96vw; max-height: 94svh; margin: auto; padding: 0; border: 0; border-radius: 8px; color: var(--ink); background: #fff; box-shadow: 0 12px 60px #0005; }
.image-modal::backdrop { background: #000b; }
.image-modal[open]::backdrop { animation: modal-backdrop-in 180ms ease-out; }
.image-modal.is-closing::backdrop { animation: none; background: #0000; transition: background 140ms ease-in; }
@keyframes modal-backdrop-in { from { background: #0000; } to { background: #000b; } }
.faq-list summary > span { transition: transform 220ms ease; }
.faq-list details.faq-closing summary > span { transform: rotate(0deg); }
.image-modal-panel { display: flex; flex-direction: column; height: 94svh; }
.image-modal-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px; border-bottom: 1px solid var(--line); }
.image-modal-header h2 { flex: 1; min-width: 0; font-size: 25px; }
.image-modal-actions { display: flex; align-items: center; gap: 10px; }
.lucide-icon { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; vertical-align: middle; pointer-events: none; }
.button .lucide-icon, .download-link .lucide-icon, .source-backlink .lucide-icon, footer .lucide-icon { width: 20px; height: 20px; }
.faq-list summary > span { display: inline-flex; align-items: center; justify-content: center; }
.image-modal-close, .image-modal-prev, .image-modal-next, .image-modal-tools button { display: inline-flex; align-items: center; justify-content: center; }
.image-modal-download .lucide-icon { width: 20px; height: 20px; }
.image-modal-download { padding: 10px 14px; min-height: 44px; font-size: 14px; gap: 12px; }
.image-modal-download:focus-visible { outline: 3px solid #8d6b00; outline-offset: 3px; }
.image-modal-view { position: relative; flex: 1; min-height: 0; padding-inline: 60px; }
.image-modal-prev, .image-modal-next { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 4px; background: #f2f2ef; color: var(--ink); font-size: 24px; cursor: pointer; }
.image-modal-prev { left: 12px; }
.image-modal-next { right: 12px; }
.image-modal-prev:hover, .image-modal-next:hover { background: var(--soft-yellow); }
.image-modal-prev:focus-visible, .image-modal-next:focus-visible { outline: 3px solid #8d6b00; outline-offset: 3px; }
.image-modal-close { flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 4px; background: #f2f2ef; color: var(--ink); font-size: 30px; line-height: 1; cursor: pointer; }
.image-modal-close:hover { background: var(--soft-yellow); }
.image-modal-close:focus-visible { outline: 3px solid #8d6b00; outline-offset: 3px; }
.image-modal-tools { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: flex; flex-direction: column; overflow: visible; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: 0 2px 12px #0002; }
.image-modal-tools button { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--ink); cursor: pointer; font: 26px/1 Arial, sans-serif; }
.image-modal-tools button + button { border-top: 1px solid var(--line); }
.image-modal-tools button:first-child { border-radius: 5px 5px 0 0; }
.image-modal-tools button:last-child { border-radius: 0 0 5px 5px; }
.image-modal-tools button:hover { background: var(--soft-yellow); }
.image-modal-tools button:focus-visible { outline: 3px solid #8d6b00; outline-offset: 3px; }
.image-modal-tools[hidden] { display: none; }
.image-modal-body { display: grid; place-items: center; padding: 0; height: 100%; min-height: 0; overflow: hidden; overscroll-behavior: contain; }
.image-modal[data-image-type="map"] { background: transparent; overflow: hidden; }
.image-modal[data-image-type="map"] .image-modal-header { background: #fff; }
.image-modal[data-image-type="map"] .image-modal-view { padding-inline: 0; }
.image-modal[data-image-type="map"] .image-modal-body { touch-action: none; cursor: grab; }
.image-modal[data-image-type="map"] .image-modal-body.is-dragging { cursor: grabbing; }
.image-modal-body img { grid-area: 1 / 1; width: 100%; height: 100%; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; transform-origin: center; user-select: none; -webkit-user-drag: none; }
.image-modal[data-image-type="scroll"] { width: 100vw; max-width: 100vw; max-height: 100svh; border-radius: 0; }
.image-modal[data-image-type="scroll"] .image-modal-panel { height: 100svh; }
.image-modal[data-image-type="scroll"] .image-modal-view { padding-inline: 0; }
.image-modal[data-image-type="scroll"] .image-modal-body { display: block; overflow-y: auto; overflow-x: hidden; touch-action: pan-y; }
.image-modal[data-image-type="scroll"] .image-modal-body img { width: calc(100% - 32px); max-width: 900px; height: auto; max-height: none; margin-inline: auto; object-fit: initial; }
.image-modal-prev, .image-modal-next { z-index: 1; }
@media (max-width: 760px) {
  .image-modal-header { padding: 10px 12px; }
  .image-modal-header h2 { font-size: 22px; }
  .image-modal-view { padding-inline: 0; }
  .image-modal-prev, .image-modal-next { z-index: 1; background: #f2f2ef; }
  .image-modal-prev { left: 12px; }
  .image-modal-next { right: 12px; }
  .image-modal-prev:hover, .image-modal-next:hover { background: rgb(255 244 194 / 90%); }
}
.petition-article { border-top: 1px solid var(--line); }
.petition-article-copy { max-width: 780px; }
.felling-plan { margin-top: 28px; }
.felling-plan-image { display: block; border: 1px solid var(--line); }
.felling-plan-image picture, .felling-plan-image img { height: auto; }
.felling-plan figcaption { margin-top: 12px; font-size: 14px; line-height: 1.6; }
.felling-plan figcaption strong, .felling-plan figcaption > span { display: block; }
.felling-plan figcaption > span { margin-top: 4px; color: #444; }
.felling-plan figcaption > a { display: inline-block; margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; }
.petition-article p { margin-top: 20px; color: #444; font-size: 16px; line-height: 1.8; }
.petition-subheading { margin-top: 18px; }
.felling-summary { margin: 24px 0 0; border-top: 2px solid var(--yellow); }
.felling-summary > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.felling-summary dt { color: var(--muted); }
.felling-summary dd { margin: 0; }
.felling-summary dd > span { display: block; margin-top: 4px; color: #444; font-size: 14px; line-height: 1.6; }
.petition-topic { margin-top: 36px; }
.petition-position { margin-top: 36px; padding: 26px 28px; border-left: 10px solid var(--yellow); background: var(--soft-yellow); }
.petition-position h3 { font-family: Anton, Impact, sans-serif; font-size: clamp(26px, 3vw, 34px); font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; }
.petition-position p { margin-top: 14px; color: var(--ink); font-size: 18px; line-height: 1.65; }
@media (max-width: 760px) {
  .felling-summary > div { grid-template-columns: 1fr; gap: 4px; }
  .petition-topic { margin-top: 28px; }
  .petition-position { padding: 22px 18px; border-left-width: 7px; }
}
.petition-demands { margin: 14px 0 0; padding-left: 24px; color: #444; line-height: 1.8; }
.petition-demands li + li { margin-top: 8px; }
.proposal-comparison { margin-top: 32px; }
.proposal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 20px; }
.proposal-grid figure { min-width: 0; }
.proposal-image { display: flex; align-items: center; background: #f6f6f3; aspect-ratio: 3 / 2; overflow: hidden; }
.proposal-image picture { height: 100%; }
.proposal-image img { height: 100%; object-fit: contain; }
.proposal-grid figcaption { margin-top: 14px; font-size: 14px; line-height: 1.6; }
.proposal-grid figcaption strong { display: block; font-family: Oswald, 'Arial Narrow', sans-serif; font-size: 23px; font-weight: 500; }
.proposal-grid figcaption > span { display: block; margin-top: 4px; color: #444; }
.proposal-grid figcaption > a { display: inline-block; margin-top: 8px; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .proposal-grid { grid-template-columns: 1fr; gap: 28px; }
}
.reference { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 400; line-height: 0; vertical-align: super; white-space: nowrap; }
.reference a { margin-left: 3px; color: #665000; text-decoration: none; }
.reference a:hover { text-decoration: underline; }
.sources { border-top: 1px solid var(--line); }
.sources h2 { font-size: 28px; }
.source-list { margin: 20px 0 0; padding-left: 25px; font-size: 14px; line-height: 1.65; }
.source-list li { padding: 8px 10px; scroll-margin-top: 28px; overflow-wrap: anywhere; }
.source-list li::marker { color: var(--muted); }
.source-list li:target { background: var(--soft-yellow); }
.source-title { text-decoration: underline; text-underline-offset: 3px; }
.source-title .lucide-icon { width: 18px; height: 18px; margin-left: 2px; }
.source-description { display: block; color: var(--muted); font-size: 13px; }
.source-backlink { display: inline-block; padding: 2px 8px; text-decoration: underline; text-underline-offset: 3px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.priorities { padding-top: 38px; padding-bottom: 20px; }
.priority-grid { margin-top: 0; gap: 38px; }
.priority-grid article, .priority-grid article + article { align-items: center; text-align: center; padding: 0; border: 0; }
.priority-grid h3 { width: auto; min-width: 190px; padding: 12px 20px; border: 2px solid #edbd00; border-radius: var(--radius-heading); background: var(--yellow); font-family: Anton, Impact, sans-serif; font-size: 24px; font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; }
.priority-grid p { margin: 13px 0 0; font-family: Oswald, 'Arial Narrow', sans-serif; font-weight: 300; font-size: 23px; line-height: 1.45; color: var(--ink); }
.priorities .source-note { margin-top: 22px; text-align: center; font-size: 12px; }
.tram-appeal { position: relative; display: flex; align-items: center; min-height: 230px; margin: 42px 5% 24px 0; padding: 30px 34px; border: 3px solid #edbd00; border-radius: var(--radius-banner); background: var(--yellow); overflow: visible; }
.tram-appeal > div { position: relative; z-index: 1; width: 52%; }
.tram-appeal h3 { margin: 0; font-family: Anton, Impact, sans-serif; font-size: clamp(30px, 3vw, 43px); font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; }
.tram-appeal div > p:last-child { margin-top: 10px; font-family: Oswald, 'Arial Narrow', sans-serif; font-size: clamp(20px, 2.1vw, 29px); font-weight: 300; line-height: 1.35; color: var(--ink); }
.tram-appeal picture { position: absolute; right: -6%; bottom: -28px; width: 54%; height: 300px; mix-blend-mode: normal; }
.tram-appeal img { height: 100%; max-height: none; object-fit: contain; }
.sign-section { max-width: 1440px; margin: 0 auto; padding: 24px 5% 48px; border: 0; border-radius: 0; background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.sign-copy { flex: 1; min-width: 0; }
.sign-copy h2 { margin: 0; font-family: Anton, Impact, sans-serif; font-size: clamp(26px, 2.5vw, 36px); font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; }
.sign-copy > p:last-of-type { margin-top: 12px; max-width: 650px; font-size: 16px; line-height: 1.6; }
.sign-panel { padding: 0; margin-top: 22px; }
.sign-panel .button { width: auto; min-width: 230px; padding: 16px 24px; border-radius: var(--radius-button); font-size: 16px; }
.sign-panel > p { max-width: 650px; font-size: 15px; line-height: 1.6; }
.sign-panel .download-link { border: 0; margin-top: 16px; padding-top: 0; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.petition-qr { flex: 0 0 180px; text-align: center; }
.petition-qr img { width: 180px; height: 180px; object-fit: contain; }
.petition-qr figcaption { margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--muted); }
@media (max-width: 1050px) and (min-width: 761px) {
  .priority-grid { gap: 20px; }
  .priority-grid h3 { min-width: 175px; font-size: 21px; }
  .priority-grid p { font-size: 20px; }
  .tram-appeal { min-height: 210px; padding: 26px; }
  .tram-appeal picture { height: 250px; }
}
@media (max-width: 760px) {
  .priorities { padding: 30px 6% 12px; }
  .priority-grid { grid-template-columns: 1fr; gap: 28px; }
  .priority-grid h3 { min-width: 210px; font-size: 23px; }
  .priority-grid p { font-size: 22px; }
  .priorities .source-note { max-width: 420px; margin: 22px auto 0; }
  .tram-appeal { flex-direction: column; min-height: 0; margin: 30px 0 0; padding: 25px 22px 12px; border-radius: var(--radius-banner); gap: 8px; }
  .tram-appeal > div { width: 100%; }
  .tram-appeal h3 { font-size: clamp(28px, 7vw, 36px); }
  .tram-appeal div > p:last-child { font-size: 22px; }
  .tram-appeal picture { position: static; width: 100%; height: auto; }
  .tram-appeal img { height: auto; }
  .sign-section { margin: 0; padding: 24px 6% 34px; gap: 0; }
  .sign-copy h2 { font-size: clamp(26px, 6vw, 34px); }
  .sign-panel .button { width: 100%; min-width: 0; }
  .petition-qr { display: none; }
}
