.portal {background:#f4f6f9;color:#101828;font-family:Inter,system-ui,sans-serif}
.portal .pill {position:sticky;top:12px;z-index:10;width:min(92%,1050px);margin:12px auto;display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:6px 8px 6px 17px;background:#182331;color:white;border-radius:999px;box-shadow:0 8px 24px #18233126}
.pill img {display:block;width:104px;height:auto}
.pill details {position:relative;margin-left:auto}
.pill summary {cursor:pointer;padding:8px;list-style:none}
.pill details nav {position:absolute;display:grid;top:42px;right:0;min-width:164px;padding:10px;background:#182331;border-radius:16px}
.pill nav a {padding:10px;color:white}
.portal .blue {display:inline-block;background:#0864c9;color:#fff;border-radius:999px;padding:12px 17px;font-weight:650;text-decoration:none;font-size:.87rem;white-space:nowrap}
.portal .landing {padding:clamp(75px,12vw,160px) 22px;text-align:center;background:radial-gradient(ellipse at top,#dceffd,transparent 75%),linear-gradient(#edf7ff,#d8e8f7 70%,#f4f6f9)}
.portal h1,.portal h2 {font-family:inherit;font-style:normal;font-weight:750;letter-spacing:-.055em}
.portal h1 {font-size:clamp(2.75rem,8vw,6rem);line-height:1.04;margin:.18em 0}
.portal h2 {font-size:clamp(1.75rem,5vw,3rem);line-height:1.08}
.portal em {font-family:inherit;color:inherit;font-style:normal}
.portal .landing p {margin:0 auto 20px;max-width:450px}
.portal .hub,.portal main>.section,.portal .coverage-more {width:min(92%,1050px);margin:28px auto 50px;padding:clamp(20px,4vw,48px);border-radius:24px;background:#fff;color:#101828}
.portal .tiles {display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin-top:22px}
.portal .tiles a,.portal .panel-card {padding:20px;border-radius:16px;background:#f0f5fb;color:#14243b;text-decoration:none}
.portal .tiles a {display:flex;justify-content:space-between;gap:8px}
.portal .tiles span {color:#0864c9}
.portal .panel-card {margin-top:14px;scroll-margin-top:84px}
.portal .panel-card h2 {font-size:1.4rem;margin:0 0 8px}
.portal .panel-card p {margin:0 0 8px}
.portal .panel-note,.portal .panel-card small {color:#47566b}
.portal footer {background:#182331;color:white;padding:24px;text-align:center;display:block}
.portal .coverage-more summary {cursor:pointer;font-weight:650}
.portal .downloads .eyebrow {color:#47566b}
@media(max-width:460px){.portal .pill {gap:5px}.pill img {width:82px}.portal .pill .blue {padding:10px;font-size:.75rem}.portal .hub,.portal main>.section {margin-top:18px}}

.portal {background:#f5f4ed;color:#22271a}
.portal .pill,.portal .pill details nav,.portal footer {background:#252b1e}
.portal .blue {background:#515e34}
.portal .tiles a,.portal .panel-card {background:#eef0e4;color:#262e20}
.portal .tiles span,.portal .panel-note,.portal .panel-card small {color:#4c5736}
.portal .landing {position:relative;isolation:isolate;overflow:hidden;padding-bottom:clamp(165px,25vw,320px);background:radial-gradient(circle at 78% 23%,#fff1ba 0 3%,transparent 3.3%),linear-gradient(#c5cea5,#ebeedc)}
.summits {position:absolute;inset:auto 0 0;height:clamp(135px,24vw,300px);z-index:-1}
.summits i {position:absolute;inset:0;background:#9da67f;clip-path:polygon(0 68%,12% 45%,24% 65%,42% 2%,57% 58%,65% 43%,74% 69%,90% 22%,100% 51%,100% 100%,0 100%)}
.summits i:nth-child(2) {background:#647551;clip-path:polygon(0 73%,17% 52%,29% 79%,48% 32%,61% 67%,75% 42%,90% 77%,100% 57%,100% 100%,0 100%)}
.summits i:nth-child(3) {background:#394931;clip-path:polygon(0 86%,13% 76%,32% 92%,51% 60%,69% 91%,85% 66%,100% 83%,100% 100%,0 100%)}
.home-band {padding:clamp(48px,9vw,115px) 5%;text-align:center}
.home-band>div {max-width:960px;margin:auto}
.home-band p:not(.eyebrow) {max-width:620px;margin:14px auto 22px}
.home-band a {color:inherit;text-underline-offset:4px}
.home-dark {background:#303b28;color:#fff}
.home-dark .eyebrow {color:#d9dfc2}
.home-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px;margin:28px auto}
.home-metrics article {display:grid;gap:5px;padding:24px 12px;background:white;border-radius:18px}
.home-metrics strong {font-size:clamp(2rem,6vw,3.75rem);line-height:1}

.coverage-plan h1 {font-size:clamp(2.45rem,7vw,4.8rem)}
.coverage-intro {max-width:72ch;margin:20px 0}
.coverage-stages {display:grid;gap:14px;margin:28px 0}
.coverage-stages article {background:#eef0e4;border-radius:18px;padding:clamp(18px,4vw,34px)}
.coverage-stages h2 {font-size:clamp(1.4rem,4vw,2rem);margin:0 0 12px}
.coverage-stages p {margin:0}
.coverage-stages ol {padding-left:1.3rem;margin:0}
.coverage-stages li+li {margin-top:.8rem}

.portal .section :is(h3,h4,p,summary,small,strong,li,span) {font-family:inherit}
.portal .section h3 {font-weight:730;letter-spacing:-.025em}
.portal .team-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal .team-grid .person,.portal .route article,.portal .recruit {background:#eef0e4;color:#262e20;border:0;border-radius:18px;padding:clamp(16px,3vw,28px)}
.portal .team-grid .lead {background:#303b28;color:#fff}
.portal .team-grid .lead :is(p,summary,span) {color:#f1f2e7}
.portal .person summary {padding:10px 12px;border:1px solid currentColor;border-radius:10px;cursor:pointer}
.portal .team-sub {grid-column:1/-1;margin:14px 0 0}
.portal .goals {background:#303b28;color:#fff}
.portal .goals article {background:#e8ebd7;color:#26311f}
.portal .goals .home-metrics {max-width:680px}
.portal #demo-member,.portal #task-demo {margin:16px 0}
.portal .panel-card label {display:grid;gap:5px;margin:10px 0}
.portal .panel-card :is(input,textarea,select) {width:100%;padding:10px;border:1px solid #7c8769;border-radius:8px;background:white;color:#222;font:inherit}
.portal .panel-card button {border:0;cursor:pointer}
@media(max-width:600px){.portal .team-grid {grid-template-columns:1fr}}

.portal .goals {position:relative;isolation:isolate;overflow:hidden;padding-bottom:clamp(100px,18vw,210px)}
.portal .goal-landscape {position:absolute;inset:0;max-width:none;z-index:-1;background:linear-gradient(#687650,#323e29 72%)}
.portal .goal-landscape.night {background:linear-gradient(#182525,#394637 78%)}
.goal-landscape i {position:absolute;top:12%;right:12%;width:clamp(38px,8vw,105px);aspect-ratio:1;border-radius:50%;background:#ffe5a0;box-shadow:0 0 50px #ffe5a099;animation:sky-drift 10s ease-in-out infinite alternate}
.goal-landscape.night i {background:#e8edce;box-shadow:0 0 28px #dce8cf66}
.goal-landscape b {position:absolute;inset:auto 0 0;height:clamp(95px,18vw,225px);background:#222f21;clip-path:polygon(0 65%,14% 23%,28% 69%,46% 9%,67% 76%,84% 20%,100% 68%,100% 100%,0 100%)}
.portal .goal-copy {text-shadow:0 1px 8px #172015}
.portal .goal-copy article {text-shadow:none}
.trail-scene {display:flex;align-items:end;justify-content:center;gap:12px;height:54px;color:#52603d}
.trail-scene i {display:block;width:35px;height:48px;background:currentColor;clip-path:polygon(50% 0,80% 41%,66% 41%,97% 77%,57% 77%,57% 100%,43% 100%,43% 77%,3% 77%,34% 41%,20% 41%)}
.trail-scene i:nth-child(2) {height:35px}
.trail-scene b {width:67px;height:35px;background:linear-gradient(100deg,#b07847 50%,#d2a065 51%);clip-path:polygon(50% 0,100% 100%,0 100%)}
@keyframes sky-drift {to {transform:translate(-12px,8px)}}
@media(prefers-reduced-motion:reduce){.goal-landscape i {animation:none}}
