@font-face{font-family:Barlow;src:url('Barlow-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('BarlowCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#172b35;--blue:#00a4cd;--muted:#566871;--line:#c4d0d5}
body{background:#f7f7f3;color:var(--ink);font-family:Barlow,sans-serif;font-size:16px}
header{background:#fff;border-bottom:2px solid var(--ink);height:100px;padding:20px 4vw}
header .brand{display:flex;align-items:center;gap:25px;letter-spacing:0}
header .brand img{display:block;width:215px;height:auto}
header .brand span{font:600 17px 'Barlow Condensed',sans-serif;letter-spacing:.13em;border-left:1px solid #becdd2;padding-left:24px;margin:0;color:var(--ink)}
header nav a,header>a:last-child{font-size:14px;text-decoration:none}
h1,h2,h3,.section-label,.section-head,.metrics strong{font-family:'Barlow Condensed',sans-serif;font-weight:600}
h1{font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.02em}
h1 em{color:#008bb0;font-style:normal}
.eyebrow,.tag{font-family:Barlow,sans-serif;letter-spacing:.13em}
.hub .intro .eyebrow{font-size:11px}
button,input,select{font-family:Barlow,sans-serif}
button,.primary,.panel,input,select,.badge,.tools button{border-radius:3px}
.panel{box-shadow:none;border-color:#c7d1d5;background:#fff}
.section-label{font-size:22px;color:#0087a9}.section-label span{color:var(--ink)}
.intro{padding:10px 0 28px;border-bottom:1px solid #c4d0d5;margin-bottom:30px}.intro p{font-size:21px}.intro-note{border-left:3px solid #00a4cd;padding-left:18px}.intro-note strong{font-family:Barlow,sans-serif;font-size:14px}
.workspace{gap:20px}.map-panel{border-top:4px solid #009fc4}.controls{border-top:4px solid #172b35}.analysis-grid{gap:20px}
.primary{background:#172b35;color:white}.primary:hover{background:#006e88}.badge{border:0;background:#edf3f4}.metrics{border-radius:0}.metrics strong{font-size:32px}
footer{background:#172b35;color:#e1ebed;border:0}footer a{color:#e1ebed}body>main>footer{margin-top:28px;padding:24px}
.hub main{max-width:1450px}.hub .intro{max-width:none;display:grid;grid-template-columns:1.4fr 1fr;gap:45px;padding:55px 0 45px;align-items:center;border-bottom:0;margin:0}.hub .intro h1{font-size:clamp(58px,7.8vw,112px);max-width:700px;margin:18px 0 25px}.hub .intro .lead{font-size:25px;color:#172b35;line-height:1.3;margin:0}.hero-figure{aspect-ratio:1;background:#172b35;position:relative;overflow:hidden;border-radius:0;display:grid;place-items:center}.hero-figure svg{width:94%;height:94%}.figure-caption{position:absolute;bottom:18px;left:22px;font:11px Barlow,sans-serif;letter-spacing:.12em;color:#bbd8df}.hub .section-head{border-top:2px solid #172b35;padding-top:22px;margin:0 0 20px}.hub .section-head h2{font-size:31px}.hub .cards{grid-template-columns:1.5fr 1fr;gap:24px}.hub .card{border-radius:0;box-shadow:none;border:1px solid #bacad0}.hub .available{display:grid;grid-template-columns:.75fr 1fr;transform:none}.hub .drawing{height:100%;min-height:285px;background:#dfecee}.hub .drawing-label{color:#35535d;font-size:8px}.hub .card-body{padding:28px}.hub .card h3{font-size:31px;margin:8px 0}.hub .start{border-radius:0;background:#172b35;margin-top:22px}.hub .future{padding:28px;display:block;background:transparent;border-style:dashed}.hub .plus{font:600 55px 'Barlow Condensed',sans-serif;color:#0089aa}.hub .soon{border:0;border-radius:0;padding:0;font-size:12px;letter-spacing:.05em}.hub .note{margin:45px 0 35px;padding:28px 0;grid-template-columns:1fr 2fr}.hub .note h2{font-size:30px}.hub .note>span{font-size:11px}.hub footer{padding:25px 4vw}.hub .available:hover{border-color:#008baa;box-shadow:inset 0 -3px #00a4cd}.hub .card p{line-height:1.5}
@media(max-width:900px){.hub .intro{grid-template-columns:1.2fr 1fr;gap:24px}.hub .intro h1{font-size:70px}.hub .available{display:block}.hub .drawing{height:210px;min-height:0}.hub .intro .lead{font-size:21px}.intro-note{display:none}}
@media(max-width:650px){header{height:85px;padding:15px 5vw}header .brand{gap:10px}header .brand img{width:150px}header .brand span{font-size:12px;padding-left:12px}header nav{gap:12px}header nav a{font-size:11px}header .badge{display:none}.hub .intro{grid-template-columns:1fr;padding:30px 0}.hub .intro h1{font-size:64px}.hero-figure{aspect-ratio:1.45}.hub .cards{grid-template-columns:1fr}.hub .available{display:grid;grid-template-columns:.65fr 1fr}.hub .drawing{height:100%}.hub .card-body{padding:20px}.hub .start{padding:12px;font-size:13px}.hub .future{min-height:0}.hub .note{grid-template-columns:1fr;gap:15px}.intro h1{font-size:49px}.intro p{font-size:19px}.hub .intro .lead{font-size:22px}}
@media(max-width:400px){header .brand span{display:none}.hub .available{display:block}.hub .drawing{height:180px}.hub .intro h1{font-size:57px}}
