
:root{--r-bg:#f4f0e7;--r-ink:#0d2c24;--r-muted:#56635d;--r-line:rgba(13,44,36,.18);--r-mint:#63d0a8;--r-max:1180px}
*{box-sizing:border-box}body{margin:0;background:var(--r-bg);color:var(--r-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.r-wrap{width:min(var(--r-max),calc(100% - 38px));margin:auto}.r-top{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--r-line);background:rgba(244,240,231,.9);backdrop-filter:blur(16px)}.r-nav{min-height:66px;display:flex;justify-content:space-between;align-items:center}.r-nav a{min-height:44px;display:inline-flex;align-items:center}.r-brand{gap:9px;font-weight:950;letter-spacing:.12em}.r-brand picture,.r-brand img{display:block;width:44px;height:44px;flex:0 0 44px;object-fit:contain}.r-nav a:last-child{font-size:.84rem;font-weight:850}.r-hero{padding:90px 0 45px}.r-eyebrow{color:#3ca57d;font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.r-hero h1{max-width:950px;margin:9px 0 17px;font-size:clamp(3.2rem,9vw,7rem);line-height:.88;letter-spacing:-.065em}.r-hero p{max-width:720px;margin:0;color:var(--r-muted);font-size:1.08rem;line-height:1.65}.r-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:32px}.r-summary article{padding:17px;border:1px solid var(--r-line);border-radius:17px;background:#fff}.r-summary small,.r-stage small{display:block;color:var(--r-muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.r-summary strong{display:block;margin-top:6px;font-size:1.15rem}
.r-controls{display:flex;gap:7px;flex-wrap:wrap;margin:26px 0 12px}.r-controls button{min-height:44px;padding:8px 14px;border:1px solid var(--r-line);border-radius:999px;background:#fff;color:var(--r-ink);font:inherit;font-weight:850;cursor:pointer}.r-controls button.is-active{background:var(--r-ink);color:#fff}.r-controls button:focus-visible,.r-stage:focus-visible{outline:3px solid rgba(60,165,125,.42);outline-offset:2px}
.r-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:12px;align-items:start}.r-map-panel{position:sticky;top:82px}.r-stage-list{display:grid;gap:8px}.r-stage{width:100%;padding:17px;border:1px solid var(--r-line);border-radius:17px;background:#fff;color:var(--r-ink);font:inherit;text-align:left;cursor:pointer}.r-stage.is-current{border-color:rgba(60,165,125,.5)}.r-stage.is-selected{border-color:#3ca57d;box-shadow:0 0 0 3px rgba(99,208,168,.12)}.r-stage-title{display:block;margin:6px 0 5px;font-size:1rem}.r-stage-route{display:block;color:var(--r-muted);font-size:.84rem}.r-stage-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--r-muted);font-size:.78rem}.r-status{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:999px;background:#e6f3ed;color:#277356;font-size:.75rem;font-weight:900;text-transform:uppercase}.r-footer{margin-top:85px;padding:43px 0;background:var(--r-ink);color:#fff;font-size:.84rem}.r-note{margin-top:10px;color:var(--r-muted);font-size:.82rem}
@media(max-width:900px){.r-layout{grid-template-columns:1fr}.r-map-panel{position:static}.r-stage-list{grid-template-columns:1fr 1fr}}@media(max-width:650px){.r-wrap{width:calc(100% - 24px)}.r-hero{padding-top:55px}.r-summary{grid-template-columns:1fr 1fr}.r-stage-list{grid-template-columns:1fr}}

.r-status{font-size:.78rem}

/* 6.4.0 — international navigation and accessible controls */
.r-nav-actions,.r-language{display:flex;align-items:center;gap:6px}.r-language button{min-width:44px;min-height:44px;border:1px solid var(--r-line);border-radius:10px;background:transparent;color:var(--r-ink);font:inherit;font-weight:850;cursor:pointer}.r-language button[aria-pressed="true"]{border-color:transparent;background:var(--r-ink);color:#fff}.r-footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.18em}
@media(max-width:520px){.r-brand span{display:none}.r-nav-actions{gap:2px}.r-nav a:last-child{font-size:.78rem}.r-language{gap:2px}.r-language button{min-width:44px;padding:0 5px}}
