
body{background:#f6f5f2}.map-head{padding:58px 0 32px}.map-head h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.05em;line-height:1.1;margin:18px 0}.map-head p{max-width:740px;color:var(--muted)}.metrics{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.metrics div{padding:18px 24px;border:1px solid #e3dfd9;background:#fff;border-radius:16px;display:flex;gap:14px;align-items:center}.metrics strong{font-size:30px;color:var(--coral)}.metrics span{font-size:13px;max-width:150px}.group{padding:26px 0}.group-title{display:flex;gap:18px;align-items:start;margin-bottom:22px}.group-title>span{font-size:13px;color:var(--coral);padding-top:8px;font-weight:800}.group-title h2{font-size:27px;margin:0 0 7px}.group-title p{margin:0;font-size:14px;color:var(--muted)}.pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-left:36px}.page{display:flex;flex-direction:column;background:white;border:1px solid #e0dfdc;border-radius:18px;padding:24px;transition:box-shadow .15s,border-color .15s}.page:hover{border-color:#c49b8f;box-shadow:0 8px 25px #17253d0a}.status{align-self:start;padding:4px 9px;font-size:10px;font-weight:700;border-radius:20px;background:#edf3ed;color:#416147}.page h3{font-size:18px;margin:16px 0 10px}.page p{font-size:13px;color:var(--muted);margin:0 0 22px}.open{font-size:12px;color:var(--coral);font-weight:800;margin-top:auto}.editorial{background:#f1ece6}.editorial .status{background:#e4e7ef;color:#526077}.planned{border-style:dashed;background:transparent}.planned .status{background:#eee7dc;color:#796548}.note{border-top:1px solid #dfdcd6;padding:24px 0 40px;margin-top:28px;color:var(--muted);font-size:12px}.route{padding:22px 26px;border-radius:16px;background:#172b40;color:#fff;margin:8px 0 26px}.route strong{display:block;font-size:13px;color:#efb1a3;margin-bottom:8px}.route p{font-size:14px;margin:0;line-height:1.9}.route a{text-decoration:underline;text-underline-offset:4px}.map-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin-top:25px;color:var(--coral)}@media(max-width:850px){.pages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pages{grid-template-columns:1fr;padding-left:0}.map-head{padding-top:35px}.metrics{gap:10px}.metrics div{padding:14px;flex:1;min-width:140px}.group-title h2{font-size:24px}.route{padding:20px}}@media(prefers-reduced-motion:reduce){.page{transition:none}}

/* Scope late additions to the project map; do not inherit course-page sizing. */
#main>section{margin:32px 0;padding:0}
#main>section>h2{font-size:27px;line-height:1.3;margin:0 0 20px}
#main .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#main .grid>.page{min-width:0}
#main .panel{display:block;padding:24px 28px;margin:16px 0;background:#fff;border:1px solid #e0dfdc;border-radius:18px;overflow-wrap:anywhere}
#main .panel>h2{font-size:21px;line-height:1.35;letter-spacing:-.02em;margin:0 0 12px}
#main .panel>p{font-size:14px;line-height:1.7;color:var(--muted);max-width:920px;margin:0 0 16px}
#main .panel>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:700;color:var(--coral);margin-right:16px}
#main{padding-bottom:32px}
@media(max-width:850px){#main .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#main .grid{grid-template-columns:1fr}#main .panel{padding:20px}#main>section>h2{font-size:24px}#main .panel>h2{font-size:20px}}
#main .map-updates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0;padding-left:36px}
#main .map-updates-grid>.panel{display:flex;flex-direction:column;min-width:0;margin:0;padding:24px}
#main .map-updates-grid>.panel h2{font-size:18px;line-height:1.35;margin:0 0 12px}
#main .map-updates-grid>.panel p{font-size:13px;margin-bottom:18px}
#main .map-updates-grid>.panel>a:first-of-type{margin-top:auto}
#main .map-updates-grid>.panel>a{margin-right:0;line-height:1.5}
@media(max-width:850px){#main .map-updates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#main .map-updates-grid{grid-template-columns:1fr;padding-left:0}}
