:root{--forest:#0c3b2e;--deep:#06261e;--cream:#f7f0dd;--paper:#fffaf0;--gold:#e7b72f;--copper:#cf5b3c;--violet:#6d4aa0;--ink:#17251f;--muted:#53655d;--line:rgba(23,37,31,.2);--max:1180px;--radius:1.4rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}:focus-visible{outline:4px solid var(--gold);outline-offset:4px}.skip{position:fixed;z-index:100;top:.7rem;left:.7rem;padding:.7rem 1rem;color:white;background:var(--copper);transform:translateY(-180%)}.skip:focus{transform:translateY(0)}
.pulse{display:flex;gap:1rem;justify-content:space-between;padding:.5rem max(1rem,calc((100vw - var(--max))/2));color:rgba(255,255,255,.78);background:var(--deep);font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.pulse strong{color:var(--gold)}
.site-head{position:sticky;z-index:25;top:0;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;max-width:var(--max);margin:0 auto;padding:.8rem 1rem;background:rgba(247,240,221,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none}.brand-orbit{position:relative;display:grid;width:3rem;height:3rem;place-items:center;color:white;background:var(--forest);border-radius:50%;font-size:.68rem;font-weight:900}.brand-orbit::before{position:absolute;inset:-.28rem;border:2px dotted var(--copper);border-radius:50%;content:""}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem}.brand small{color:var(--muted);font-size:.67rem}.nav-toggle{display:none;padding:.6rem .8rem;border:2px solid var(--forest);border-radius:2rem;background:transparent;font:800 .8rem inherit}.nav{display:flex;gap:.15rem;justify-content:center}.nav a{padding:.55rem .6rem;border-radius:1.2rem;font-size:.76rem;font-weight:800;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:white;background:var(--forest)}.head-cta,.button{display:inline-flex;min-height:2.9rem;padding:.72rem 1rem;align-items:center;justify-content:center;color:white;background:var(--copper);border:2px solid var(--deep);border-radius:2rem;box-shadow:4px 4px 0 var(--deep);font-weight:900;text-decoration:none;transition:transform .18s,box-shadow .18s}.head-cta:hover,.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--deep)}.button.alt{color:var(--deep);background:var(--gold)}
main{overflow:hidden}.frame,.signal-band{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:2rem;min-height:40rem;padding-block:clamp(4rem,9vw,8rem)}.hero::before{position:absolute;z-index:-1;top:3rem;left:-18rem;width:42rem;height:42rem;border:1px solid rgba(12,59,46,.14);border-radius:50%;box-shadow:0 0 0 5rem rgba(12,59,46,.025),0 0 0 10rem rgba(12,59,46,.02);content:""}.hero-copy{align-self:center}.kicker,.section-tag{display:flex;gap:.65rem;align-items:center;margin:0 0 1rem;color:var(--copper);font-size:.75rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.kicker::before,.section-tag::before{width:.8rem;height:.8rem;background:var(--gold);border:3px solid var(--forest);border-radius:50%;content:""}h1,h2,h3{margin-top:0;font-family:Georgia,"Times New Roman",serif;line-height:1.04;text-wrap:balance}h1{max-width:12ch;margin-bottom:1.35rem;font-size:clamp(3.1rem,7.2vw,6.7rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.035em}h3{font-size:1.4rem}.lead{max-width:65ch;color:#3d5047;font-size:clamp(1.05rem,1.7vw,1.28rem)}.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.text-link{padding:.75rem .2rem;color:var(--forest);font-weight:900;text-underline-offset:.25rem}
.signal-map{position:relative;align-self:center;min-height:31rem;border-radius:50%;background:var(--forest);box-shadow:0 0 0 1rem rgba(207,91,60,.12),0 0 0 2rem rgba(231,183,47,.1);color:white}.signal-map::before,.signal-map::after{position:absolute;border:2px solid rgba(255,255,255,.28);border-radius:50%;content:""}.signal-map::before{inset:14%}.signal-map::after{inset:30%}.node{position:absolute;z-index:2;display:grid;width:6.2rem;height:6.2rem;padding:.5rem;place-items:center;border:3px solid var(--deep);border-radius:50%;background:var(--gold);color:var(--deep);font-size:.72rem;font-weight:900;text-align:center}.node.one{top:4%;left:37%}.node.two{top:38%;right:2%;background:var(--copper);color:white}.node.three{bottom:2%;left:38%;background:var(--violet);color:white}.node.four{top:40%;left:2%;background:var(--paper)}.map-core{position:absolute;z-index:3;inset:38%;display:grid;place-items:center;border-radius:50%;background:var(--deep);font-family:Georgia,serif;font-size:1.2rem;text-align:center}.map-note{position:absolute;right:14%;bottom:16%;left:14%;z-index:4;margin:0;padding:.75rem;color:var(--deep);background:var(--paper);border-radius:.8rem;font-size:.75rem;font-weight:750;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.section{padding-block:clamp(3rem,7vw,6rem)}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:end;margin-bottom:2rem}.section-head h2,.section-head p{margin-bottom:0}.section-head p{color:var(--muted)}.route-grid,.station-grid,.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.route,.station,.source{position:relative;padding:1.4rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 0 rgba(12,59,46,.08)}.route::before{display:block;width:2.4rem;height:.55rem;margin-bottom:1.4rem;background:var(--copper);border-radius:1rem;content:""}.route:nth-child(3n+2)::before{background:var(--gold)}.route:nth-child(3n+3)::before{background:var(--violet)}.route p,.station p,.source p{color:var(--muted)}.route a,.source a{color:var(--forest);font-weight:900;text-underline-offset:.2rem}
.journey{display:grid;grid-template-columns:.75fr 1.25fr;overflow:hidden;border-radius:var(--radius);background:var(--deep);color:white}.journey-copy{padding:clamp(2rem,5vw,4rem)}.journey-copy p{color:rgba(255,255,255,.72)}.journey-steps{display:grid;border-left:1px solid rgba(255,255,255,.2)}.journey-steps a{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.2);text-decoration:none}.journey-steps a:hover{background:rgba(255,255,255,.07)}.journey-steps span{color:var(--gold);font-size:.75rem;font-weight:900}.journey-steps b{font-family:Georgia,serif;font-size:1.5rem}
.page-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:2rem;padding-block:clamp(3.5rem,8vw,6.5rem) 3rem}.page-hero h1{font-size:clamp(3rem,6vw,5.6rem)}.brief-card{align-self:end;padding:1.35rem;background:var(--paper);border:2px solid var(--forest);border-radius:var(--radius);box-shadow:8px 8px 0 var(--gold)}.brief-card span{display:block;color:var(--copper);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.brief-card strong{display:block;margin:.5rem 0;font-family:Georgia,serif;font-size:1.35rem;line-height:1.15}.brief-card p{margin-bottom:0;color:var(--muted)}
.split{display:grid;grid-template-columns:.72fr 1.28fr;gap:2.5rem}.side-card{align-self:start;padding:1.4rem;color:white;background:var(--forest);border-radius:var(--radius);box-shadow:8px 8px 0 var(--copper)}.side-card h2{font-size:1.5rem}.side-card p{color:rgba(255,255,255,.75)}.side-card a{color:var(--gold);font-weight:850}.checklist{margin:0;padding:0;list-style:none}.checklist li{position:relative;margin:.55rem 0;padding:.9rem 1rem .9rem 3rem;background:var(--paper);border:1px solid var(--line);border-radius:.8rem}.checklist li::before{position:absolute;top:.9rem;left:1rem;width:1.2rem;height:1.2rem;border:3px solid var(--forest);border-radius:50%;content:""}.matrix{width:100%;border-collapse:collapse;background:var(--paper);box-shadow:0 12px 35px rgba(6,38,30,.1)}.matrix th,.matrix td{padding:1rem;border:1px solid var(--line);text-align:left;vertical-align:top}.matrix th{color:white;background:var(--forest)}.matrix tbody tr:nth-child(even){background:#eee5cf}.callout{margin:2rem 0;padding:1.4rem;color:white;background:var(--deep);border-left:.7rem solid var(--gold);border-radius:0 var(--radius) var(--radius) 0}.callout p:last-child{margin-bottom:0;color:rgba(255,255,255,.75)}.source{border-top:7px solid var(--forest)}.source:nth-child(2n){border-top-color:var(--copper)}.source .domain{color:var(--violet);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.signal-band{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;margin-block:3rem 6rem;padding:clamp(2rem,5vw,3.5rem);color:white;background:var(--violet);border-radius:var(--radius);box-shadow:10px 10px 0 var(--forest)}.signal-band h2{max-width:16ch;margin-bottom:.6rem}.signal-band p{max-width:62ch;margin:0;color:rgba(255,255,255,.82)}.signal-band .button{background:var(--gold);color:var(--deep);white-space:nowrap}
.site-foot{color:white;background:var(--deep)}.foot-inner{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem;width:min(calc(100% - 2rem),var(--max));margin:0 auto;padding:3rem 0}.site-foot p,.site-foot a{color:rgba(255,255,255,.7)}.foot-links{display:grid;gap:.5rem;align-content:start}.foot-note{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-size:.83rem}.error{min-height:60vh;text-align:center}.error h1{max-width:none}.error .actions{justify-content:center}
@media(max-width:940px){.site-head{grid-template-columns:1fr auto}.nav-toggle{display:block}.nav{grid-column:1/-1;display:none;flex-direction:column;padding:.75rem;background:var(--paper);border:1px solid var(--line)}.nav[data-open=true]{display:flex}.head-cta{display:none}.hero,.page-hero,.section-head,.split,.journey{grid-template-columns:1fr}.signal-map{width:min(100%,32rem);margin-inline:auto}.journey-steps{border-top:1px solid rgba(255,255,255,.2);border-left:0}.route-grid,.station-grid,.source-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pulse span{display:none}.hero{padding-top:3rem}.signal-map{min-height:24rem}.node{width:5rem;height:5rem;font-size:.62rem}.route-grid,.station-grid,.source-grid,.signal-band,.foot-inner{grid-template-columns:1fr}.signal-band .actions{margin-top:0}.foot-note{grid-column:auto}.matrix{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
