:root{
  --navy:#062b46;
  --navy2:#0b3b5d;
  --gold:#d7a63a;
  --cream:#f6f0e6;
  --sand:#efe5d7;
  --white:#fff;
  --ink:#0a2d47;
  --muted:#60727e;
  --line:#dfe5e8;
  --soft:#f7f9f9;
  --blue:#2d88bd;
  --green:#4f9b70;
  --purple:#8066c5;
  --shadow:0 12px 30px rgba(6,43,70,.08);
}
*{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.55}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(1280px,calc(100% - 48px));margin:auto}
.section{padding:48px 0}
.section-kicker{display:block;color:#2d85b5;font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:7px}
.section-kicker.light{color:#a9d9ef}
.section h2{font-size:28px;line-height:1.08;margin:0 0 12px;letter-spacing:-.035em}
.section p{color:var(--muted)}
.site-header{height:70px;background:var(--navy);color:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:1000;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.nav-shell{width:min(1380px,calc(100% - 48px));margin:auto;display:flex;align-items:center;gap:28px}
.brand,.footer-brand{display:flex;align-items:center;gap:10px;font-weight:850;white-space:nowrap}
.brand img,.footer-brand img{width:38px;height:38px}
.main-nav{display:flex;align-items:center;justify-content:center;gap:27px;font-size:12px;font-weight:750;flex:1}
.main-nav a{padding:25px 0;position:relative;opacity:.9}
.main-nav a:hover,.main-nav .active{opacity:1}
.main-nav .active:after{content:"";position:absolute;bottom:11px;left:0;right:0;height:3px;border-radius:5px;background:var(--gold)}
.nav-cta{background:linear-gradient(180deg,#e4b85b,#ca9531);padding:10px 17px;border-radius:7px;font-size:11px;font-weight:850}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;margin-left:auto}

.hero{min-height:410px;position:relative;overflow:hidden;background:#edf4f6}
.hero-art{position:absolute;inset:0;background:url('../img/city-hero.svg') center/cover no-repeat}
.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 42%,rgba(255,255,255,.6) 60%,rgba(255,255,255,.05) 78%,rgba(255,255,255,0) 100%)}
.hero-content{position:relative;z-index:2;padding-top:27px;padding-bottom:40px}
.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:10px;color:#74828a;margin-bottom:25px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr}
.hero-copy{max-width:760px}
.hero-title-row{display:flex;align-items:center;gap:23px}
.city-mark{width:92px;height:92px;border-radius:11px;background:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(6,43,70,.12);flex:none}
.city-mark img{width:67px;height:67px}
.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:#7a8b94;margin:0 0 2px}
.hero h1{font-size:60px;line-height:.92;margin:0 0 8px;letter-spacing:-.04em}
.hero h2{font-size:19px;margin:0;font-weight:750}
.lead{max-width:680px;color:#536976!important;font-size:14px;line-height:1.65;margin:22px 0 18px}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap}
.hero-tags span{background:#f4efe6;border:1px solid #e8dfd1;padding:7px 13px;border-radius:19px;font-size:10px;font-weight:800}

.subnav{border-top:1px solid #e7ecef;border-bottom:1px solid #e1e6e8;background:rgba(255,255,255,.96);position:sticky;top:70px;z-index:900;overflow:auto}
.subnav-inner{display:flex;justify-content:center;gap:28px;white-space:nowrap}
.subnav a{font-size:10px;font-weight:800;padding:12px 0;color:#58707d}
.subnav a:hover{color:var(--navy)}

.priority{background:#fff}
.center-heading{text-align:center;max-width:780px;margin:0 auto 26px}
.center-heading p{font-size:12px;margin:0}
.priority-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.priority-card{min-height:145px;border:1px solid #dddfe0;border-radius:11px;background:#fff;box-shadow:0 5px 16px rgba(6,43,70,.04);padding:17px;display:grid;grid-template-columns:54px 1fr;gap:14px;position:relative;overflow:hidden}
.round-icon{width:48px;height:48px;border-radius:50%;background:#f7efe2;display:flex;align-items:center;justify-content:center;font-size:23px}
.priority-card h3{font-size:13px;margin:2px 0 7px}
.priority-card p{font-size:9px;line-height:1.5;margin:0;max-width:190px}
.mini-art{position:absolute;right:0;bottom:0;width:105px;height:65px;opacity:.16;background:linear-gradient(135deg,transparent 0 20%,#0a2d47 20% 22%,transparent 22% 35%,#0a2d47 35% 38%,transparent 38% 100%)}
.art-growth:before,.art-infra:before,.art-sprawl:before,.art-plan:before{content:"";position:absolute;inset:auto 8px 0 8px;height:45px;border-bottom:7px solid #0a2d47;background:repeating-linear-gradient(90deg,transparent 0 12px,#0a2d47 12px 17px,transparent 17px 28px)}

.today{background:#fafbfb}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:20px}
.section-heading.compact{margin-bottom:16px}
.section-heading p{font-size:11px;margin:0}
.soft-link{font-size:10px;color:#1d6f9c;font-weight:850}
.today-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.today-card{border:1px solid #dfe5e8;border-radius:12px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.today-image{height:145px;position:relative;background-size:cover;background-position:center}
.urban-works{background-image:url('../img/urban-works.svg')}
.planning-tools{background-image:url('../img/planning.svg')}
.public-space{background-image:url('../img/public-space.svg')}
.status{position:absolute;top:11px;left:11px;padding:5px 9px;border-radius:5px;color:#fff;font-size:9px;font-weight:900}
.status-blue{background:#377fbe}.status-gold{background:#cc9a2e}.status-green{background:#489565}
.today-body{padding:16px}
.today-body h3{font-size:17px;margin:0 0 7px}
.today-body>p{font-size:10px;line-height:1.5;min-height:45px;margin:0 0 14px}
.today-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #edf1f2;padding-top:12px}
.today-stats div{padding:0 9px;border-right:1px solid #e7ecee}
.today-stats div:first-child{padding-left:0}.today-stats div:last-child{border:0}
.today-stats small{display:block;color:#73848d;font-size:8px;margin-bottom:3px}
.today-stats strong{font-size:9px}
.research-note{margin-top:17px;border:1px solid #dde7ec;background:#f0f7fa;border-radius:9px;padding:12px 15px;display:flex;gap:12px;align-items:flex-start}
.research-note span{font-size:20px;color:#2986b6}.research-note p{font-size:9px;margin:0;line-height:1.5}

.challenges{background:#fff;padding-top:30px}
.challenge-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.challenge-grid article{border:1px solid #e3e7e9;border-radius:9px;padding:13px 7px;text-align:center;min-height:118px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.challenge-grid span{font-size:26px}
.challenge-grid strong{font-size:9px;line-height:1.25}

.vision-risk{background:#faf9f6;padding-top:24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vision-card,.risk-card{border-radius:12px;padding:27px;min-height:310px;position:relative;overflow:hidden}
.vision-card{background:linear-gradient(135deg,#062b46,#0c4265);color:#fff}
.vision-card h2{color:#fff}.vision-card p{color:#dbe9ef;font-size:11px;max-width:530px}
.vision-points{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;margin-top:20px;max-width:600px}
.vision-points span{font-size:10px}
.skyline{position:absolute;bottom:-4px;left:0;right:0;height:75px;opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 28px,#fff 28px 45px,transparent 45px 52px)}
.risk-card{background:linear-gradient(135deg,#f7f1e8,#eee6dc)}
.risk-list{list-style:none;padding:0;margin:18px 0 17px}
.risk-list li{display:flex;gap:10px;align-items:flex-start;font-size:10px;padding:7px 0;border-bottom:1px solid rgba(10,45,71,.08)}
.risk-list span{color:#c69628}
blockquote{margin:12px 0 0;border-left:3px solid var(--gold);padding:10px 12px;background:rgba(255,255,255,.55);font-family:Georgia,serif;font-size:14px;font-weight:700}

.strategies{background:#fff}
.strategy-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.strategy-grid article{border:1px solid #e6eaec;border-radius:10px;padding:17px;background:#fff;min-height:205px}
.num{font-size:23px;color:#2f84b5;font-weight:300}
.strategy-icon{font-size:28px;margin:7px 0 12px}
.strategy-grid h3{font-size:13px;line-height:1.2;margin:0 0 8px}
.strategy-grid p{font-size:9px;line-height:1.55;margin:0}

.planning{background:#fafbfb;padding-top:26px}
.planning-grid{display:grid;grid-template-columns:1.05fr .92fr 1.3fr;gap:17px}
.proposal-panel,.priority-panel,.indicator-panel{border:1px solid #e4e9eb;border-radius:10px;background:#fff;padding:18px}
.planning-grid h2{font-size:18px}
.proposal-list{display:flex;flex-direction:column}
.proposal-list a{display:grid;grid-template-columns:110px 1fr 15px;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f3;align-items:center}
.proposal-list span{font-size:8px;color:#247eae}.proposal-list strong{font-size:9px}.proposal-list b{color:#247eae}
.priority-list{list-style:none;padding:0;margin:0}
.priority-list li{display:flex;align-items:center;gap:9px;font-size:10px;margin:8px 0}
.priority-list span{width:26px;height:26px;border-radius:50%;background:#2f88b9;color:#fff;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:850}
.indicator-panel>p{font-size:9px;margin-top:-4px}
.indicator-table{font-size:9px}
.indicator-table>div{display:grid;grid-template-columns:1.55fr 1fr .55fr .55fr;gap:7px;border-bottom:1px solid #e8edef;padding:7px 0;align-items:center}
.indicator-table .thead{font-weight:850;color:#596f7b}
.indicator-table em{font-style:normal;color:#2782b0;font-size:8px}

.roadmap{background:#fff}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:22px;background:#f0f3f4;border-radius:11px;overflow:hidden}
.phase{padding:21px 30px;min-height:190px;position:relative}
.phase:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:currentColor}
.phase-year{font-size:19px;font-weight:850}.phase h3{font-size:14px;margin:1px 0 12px}
.phase ul{padding-left:17px;margin:0;color:#5f7480;font-size:10px;line-height:1.7}
.phase-green{color:#58a65e}.phase-blue{color:#368dc0}.phase-purple{color:#8066c5}

.connections{background:#f7f9fa;padding-top:28px}
.bottom-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:20px}
.connected-card,.participation-card{background:#fff;border:1px solid #e3e8eb;border-radius:10px;padding:21px}
.bottom-grid h2{font-size:19px}.bottom-grid p{font-size:10px;margin-top:-3px}
.axis-links{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}
.axis-links a,.axis-links span{text-align:center;font-size:22px}
.axis-links b{display:block;font-size:8px;margin-top:5px}.axis-links i{font-style:normal}
.participation-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}
.participation-options a{border:1px solid #e2e7e9;border-radius:8px;padding:13px;display:flex;gap:10px;align-items:center}
.participation-options span{font-size:24px}
.participation-options strong{font-size:10px;color:#247fad;display:block}
.participation-options small{font-size:8px;color:#6b7d87}

.sources{background:#fff}
.sources-grid{display:grid;grid-template-columns:.85fr 1.45fr;gap:45px}
.sources-grid p{font-size:11px}
.source-box{border:1px solid #e3e8ea;border-radius:10px;background:#fafbfb;padding:18px}
.source-box h3{font-size:13px;margin:0 0 10px}.source-box ul{font-size:10px;color:#586e7a;line-height:1.7;padding-left:18px}.method-note{font-size:9px!important;border-top:1px solid #e5eaec;padding-top:10px;margin-bottom:0}

.site-footer{background:var(--navy);color:#fff;padding:24px 0}
.footer-content{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-copy{display:flex;flex-direction:column;text-align:center;font-size:10px;color:#cfe0e8}.footer-copy strong{font-size:11px;color:#fff}
.footer-cta{background:#d2a13a;padding:9px 17px;border-radius:7px;font-size:11px;font-weight:850}

@media(max-width:1100px){
  .main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--navy);padding:18px 24px;flex-direction:column;align-items:flex-start;gap:0}.main-nav.open{display:flex}.main-nav a{padding:10px 0}.main-nav .active:after{display:none}.menu-toggle{display:block}.nav-cta{display:none}
  .priority-grid{grid-template-columns:repeat(2,1fr)}.today-grid{grid-template-columns:1fr}.challenge-grid{grid-template-columns:repeat(4,1fr)}
  .strategy-grid{grid-template-columns:repeat(3,1fr)}.planning-grid{grid-template-columns:1fr}.bottom-grid,.sources-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container,.nav-shell{width:min(100% - 28px,1280px)}
  .section{padding:38px 0}
  .hero{min-height:490px}.hero-fade{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 68%,rgba(255,255,255,.38))}
  .hero-grid{grid-template-columns:1fr}.hero-title-row{align-items:flex-start}.city-mark{width:65px;height:65px}.city-mark img{width:48px;height:48px}.hero h1{font-size:43px}.hero h2{font-size:15px}.lead{font-size:12px}
  .subnav{top:70px}.subnav-inner{justify-content:flex-start}
  .priority-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.challenge-grid{grid-template-columns:repeat(2,1fr)}.strategy-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:1fr}.participation-options{grid-template-columns:1fr}.axis-links{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:430px){
  .hero-title-row{gap:11px}.hero h1{font-size:35px}.city-mark{width:54px;height:54px}.city-mark img{width:39px;height:39px}
  .strategy-grid{grid-template-columns:1fr}.vision-points{grid-template-columns:1fr}.challenge-grid{grid-template-columns:1fr 1fr}.section-heading{flex-direction:column;align-items:flex-start}
}
