.page-city{--pg-clear:152px;overflow-x:hidden}@media (max-width:1024px){.page-city{--pg-clear:112px}}@media (max-width:720px){.page-city{--pg-clear:96px}}.page-city .crumb-bar{padding-top:var(--pg-clear);padding-bottom:var(--space-2);background:var(--white)}.page-city .crumb{letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.5;list-style:none;display:flex}.page-city .crumb-item{align-items:center;gap:8px;min-width:0;display:inline-flex}.page-city .crumb-item+.crumb-item:before{content:"→";color:var(--line-strong)}.page-city .crumb-item a{color:var(--graphite);padding-bottom:2px;position:relative}.page-city .crumb-item a:after{content:"";background:var(--crimson);transform-origin:0;height:1px;transition:transform var(--t-base) var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.page-city .crumb-item a:hover{color:var(--crimson)}.page-city .crumb-item a:hover:after,.page-city .crumb-item a:focus-visible:after{transform:scaleX(1)}.page-city .crumb-item[aria-current=page] span{color:var(--graphite-strong);font-weight:600}.page-city .pg-head{padding-top:var(--space-4);padding-bottom:var(--space-6);background:var(--white);border-bottom:1px solid var(--line)}.page-city .pg-title{margin:var(--space-2) 0 0;letter-spacing:-.04em;color:var(--graphite-strong);text-wrap:pretty;max-width:22ch;font-size:clamp(2.1rem,5.2vw,4.4rem);line-height:1.03}.page-city .pg-lead{margin-top:var(--space-3);max-width:66ch;color:var(--graphite);text-wrap:pretty;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.65}.page-city .pg-actions{margin-top:var(--space-4);flex-wrap:wrap;gap:12px 16px;display:flex}.page-city .pg-facts{gap:var(--space-3);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.page-city .pg-facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.page-city .pg-facts dd{color:var(--graphite-strong);margin:8px 0 0;font-size:1rem;font-weight:600}@media (max-width:720px){.page-city .pg-facts{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.page-city .pg-actions .btn{justify-content:center;width:100%}}.page-city .city-visual{background:var(--paper,#fafaf9);overflow:hidden}.page-city .city-fig{margin:var(--space-5) 0 0;min-width:0}.page-city .city-svg{background:var(--white);border:1px solid var(--line);width:100%;max-width:860px;height:auto;margin:0 auto;display:block}.page-city .city-cap{margin:var(--space-3) auto 0;max-width:860px;color:var(--graphite);text-wrap:pretty;font-size:.92rem;line-height:1.6}.page-city .cs-hair{fill:none;stroke:#44403c17;stroke-width:1px}.page-city .cs-frame{fill:none;stroke:#44403c38;stroke-width:1px}.page-city .cs-anno{letter-spacing:.16em;fill:#44403c8c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.page-city .cs-anno-r{text-anchor:end}.page-city .cs-art{fill:none;stroke:#2f2c29;stroke-width:2px;stroke-linejoin:miter;stroke-linecap:butt}.page-city .cs-art .cs-thin{stroke-width:1.25px;stroke:#2f2c298c}.page-city .cs-art .cs-accent{stroke:var(--crimson,#be123c);stroke-width:2.25px}.page-city .cs-art .cs-solid{fill:#2f2c29;stroke:none}.page-city .cs-art .cs-solid-accent{fill:var(--crimson,#be123c);stroke:none}.page-city .cs-node{fill:var(--white,#fff);stroke:var(--crimson,#be123c);stroke-width:2px}.page-city .city-fig .cs-draw{stroke-dasharray:1;stroke-dashoffset:1px}.page-city .city-fig .cs-fade,.page-city .city-fig .cs-node{opacity:0}.page-city .city-fig.is-live .cs-draw{animation:csDraw 1.5s var(--ease,cubic-bezier(.22,.61,.36,1)) forwards}.page-city .city-fig.is-live .cs-draw:nth-of-type(2n){animation-delay:.18s}.page-city .city-fig.is-live .cs-draw:nth-of-type(3n){animation-delay:.34s}.page-city .city-fig.is-live .cs-accent.cs-draw{animation-duration:1.9s;animation-delay:.5s}.page-city .city-fig.is-live .cs-fade{animation:csFade .9s var(--ease,ease-out) .9s forwards}.page-city .city-fig.is-live .cs-node{animation:2.6s ease-in-out 1.1s infinite csNode}.page-city .city-fig.is-live .cs-node:nth-of-type(2){animation-delay:1.45s}.page-city .city-fig.is-live .cs-node:nth-of-type(3){animation-delay:1.8s}.page-city .city-fig.is-live .cs-node:nth-of-type(4){animation-delay:2.15s}.page-city .city-fig.is-live .cs-node:nth-of-type(5){animation-delay:2.5s}@keyframes csDraw{to{stroke-dashoffset:0}}@keyframes csFade{to{opacity:1}}@keyframes csNode{0%,to{opacity:.25;r:3.5}45%{opacity:1;r:5}}.page-city .city-intro{background:var(--white)}.page-city .intro-grid{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);display:grid}.page-city .intro-copy p{margin:0 0 var(--space-3);color:var(--graphite);text-wrap:pretty;font-size:1.02rem;line-height:1.7}.page-city .intro-copy p:last-child{margin-bottom:0}.page-city .intro-side{padding:var(--space-4);background:var(--paper,#fafaf9);border:1px solid var(--line);min-width:0}.page-city .intro-side h3{letter-spacing:-.01em;color:var(--graphite-strong);margin:0;font-size:1.05rem}.page-city .intro-side ul{margin:var(--space-3) 0 0;gap:12px;padding:0;list-style:none;display:grid}.page-city .intro-side li{color:var(--graphite);padding-left:18px;font-size:.96rem;line-height:1.55;position:relative}.page-city .intro-side li:before{content:"";background:var(--crimson);width:7px;height:1px;position:absolute;top:.6em;left:0}@media (max-width:900px){.page-city .intro-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}.page-city .gs-grid{margin:var(--space-5) 0 0;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;list-style:none;display:grid}.page-city .gs-card{background:var(--white);padding:var(--space-4);min-width:0;transition:background var(--t-base) var(--ease)}.page-city .gs-card:hover{background:var(--paper,#fafaf9)}.page-city .gs-num{letter-spacing:.14em;color:var(--crimson);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.page-city .gs-title{margin:var(--space-2) 0 0;letter-spacing:-.02em;color:var(--graphite-strong);font-size:clamp(1.12rem,2vw,1.4rem)}.page-city .gs-text{color:var(--graphite);text-wrap:pretty;margin:12px 0 0;font-size:.98rem;line-height:1.6}.page-city .gs-meta{margin:var(--space-3) 0 0;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}@media (max-width:720px){.page-city .gs-grid{grid-template-columns:minmax(0,1fr)}}.page-city .city-why{background:var(--paper,#fafaf9)}.page-city .why-list{gap:var(--space-4);margin:var(--space-5) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.page-city .why-item{padding-top:var(--space-3);border-top:1px solid var(--line-strong,var(--line));min-width:0}.page-city .why-item h3{letter-spacing:-.01em;color:var(--graphite-strong);margin:0;font-size:1.05rem}.page-city .why-item p{color:var(--graphite);text-wrap:pretty;margin:10px 0 0;font-size:.97rem;line-height:1.62}@media (max-width:720px){.page-city .why-list{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}.page-city .city-faq{background:var(--white)}.page-city .faq-list{margin:var(--space-5) 0 0;border-top:1px solid var(--line)}.page-city .faq-item{border-bottom:1px solid var(--line)}.page-city .faq-item summary{align-items:baseline;gap:var(--space-2);cursor:pointer;color:var(--graphite-strong);padding:18px 0;font-size:1.02rem;font-weight:600;list-style:none;display:flex}.page-city .faq-item summary::-webkit-details-marker{display:none}.page-city .faq-item summary:after{content:"+";color:var(--crimson);transition:transform var(--t-base) var(--ease);margin-left:auto;font-weight:400}.page-city .faq-item[open] summary:after{content:"–"}.page-city .faq-item summary:hover{color:var(--crimson)}.page-city .faq-answer{max-width:72ch;color:var(--graphite);text-wrap:pretty;margin:0 0 18px;font-size:.98rem;line-height:1.65}.page-city .city-cta{background:var(--graphite-strong,#2f2c29);color:var(--white)}.page-city .cta-inner{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-city .cta-copy{min-width:0;max-width:56ch}.page-city .cta-title{margin:var(--space-2) 0 0;letter-spacing:-.03em;color:var(--white);text-wrap:pretty;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.1}.page-city .cta-text{margin:var(--space-3) 0 0;color:#ffffffb8;text-wrap:pretty;font-size:1rem;line-height:1.65}.page-city .cta-actions{flex-wrap:wrap;gap:12px 16px;display:flex}.page-city .city-cta .btn-ghost{color:var(--white);background:0 0;border-color:#ffffff57}.page-city .city-cta .btn-ghost:hover,.page-city .city-cta .btn-ghost:focus-visible{color:var(--white);border-color:var(--white);background:#ffffff14}.page-city .city-cta .section-label{color:#ffffff8c}@media (max-width:720px){.page-city .cta-actions{width:100%}.page-city .cta-actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.page-city .crumb-item a:after,.page-city .gs-card,.page-city .faq-item summary:after{transition:none}.page-city .city-fig .cs-draw{stroke-dasharray:none;stroke-dashoffset:0}.page-city .city-fig .cs-fade,.page-city .city-fig .cs-node{opacity:1}.page-city .city-fig.is-live .cs-draw,.page-city .city-fig.is-live .cs-fade,.page-city .city-fig.is-live .cs-node{animation:none}}.page-city .hero-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.page-city .hero-copy,.page-city .hero-art{min-width:0}.page-city .hero-art .city-fig{margin:0}.page-city .hero-art .city-svg{max-width:100%;margin:0}.page-city .hero-art .city-cap{margin:var(--space-2) 0 0;max-width:56ch;font-size:.86rem}@media (min-width:981px){.page-city .hero-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}.page-city .pg-title{max-width:17ch}.page-city .pg-lead{max-width:52ch}.page-city .pg-head-solo .pg-title{max-width:24ch}.page-city .pg-head-solo .pg-lead{max-width:68ch}}
