:root{
  --capital-olive:#c4bd71;
  --institutional-sage:#9eaa6c;
  --infrastructure-moss:#6c895c;
  --reserve-green:#bbc88a;
  --archival-ivory:#eae9d4;
}
html,body{overflow-x:hidden;}

/* Authentic infrastructure remains the physical layer. */
.hero-infrastructure{
  background-image:
    linear-gradient(90deg,rgba(1,24,28,.82) 0%,rgba(1,24,28,.58) 32%,rgba(1,24,28,.18) 60%,rgba(1,24,28,.12) 100%),
    linear-gradient(180deg,rgba(1,24,28,.08),rgba(1,24,28,.28)),
    url('assets/history/monte-plata-solar-aerial-archive.jpg');
  background-size:cover;
  background-position:center 44%;
}
.hero-infrastructure:after{background:linear-gradient(90deg,rgba(1,24,28,.16),transparent 48%,rgba(1,24,28,.04));}
.hero-vignette{background:linear-gradient(90deg,rgba(1,24,28,.24),transparent 62%),linear-gradient(180deg,rgba(1,24,28,.08),transparent 58%,rgba(1,24,28,.3));}
.hero-media-horizon{opacity:.2;}
.hero-media-status{border-left-color:var(--capital-olive);background:rgba(1,24,28,.46);}

/* Capital-green details enrich the brand without replacing it. */
.gate2-value .stage-index button[aria-selected=true],.gate2-value .journey-gates li.active{border-color:rgba(196,189,113,.58);}
.gate2-value .stage-index button[aria-selected=true]:before,.gate2-value .journey-gates li.active:before{background:var(--capital-olive);}
.story-section{background:linear-gradient(112deg,rgba(196,189,113,.12),transparent 34%),linear-gradient(180deg,#f2f1e7,#eae9d4 72%,#f6f6ef);}
.story-heading{border-bottom:1px solid rgba(108,137,92,.25);}
.archive-object,.history-sequence article{border-color:rgba(108,137,92,.25);}
.gate2-relationships{background:radial-gradient(circle at 70% 42%,rgba(196,189,113,.08),transparent 27%),var(--night);}
.relationship-rings circle{stroke:rgba(187,200,138,.12);}
.relationship-lines path.active{stroke:var(--capital-olive);}

/* Interactive Infrastructure Atlas */
.atlas-section{position:relative;overflow:hidden;padding:clamp(94px,10vw,154px) 0;background:radial-gradient(circle at 77% 18%,rgba(196,189,113,.13),transparent 24%),radial-gradient(circle at 14% 84%,rgba(108,137,92,.13),transparent 31%),#031d22;color:#fff;}
.atlas-section:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(234,233,212,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(234,233,212,.028) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 78%,transparent);}
.atlas-heading{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:clamp(32px,7vw,110px);align-items:end;}
.atlas-heading h2{max-width:850px;font-size:clamp(52px,6.3vw,96px);line-height:.92;letter-spacing:-.06em;}
.atlas-heading>p{max-width:510px;color:rgba(255,255,255,.66);font-size:clamp(15px,1.2vw,18px);line-height:1.7;}
.atlas-heading .eyebrow{color:var(--reserve-green);}
.atlas-market-tabs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:58px;}
.atlas-market-tabs button{min-height:82px;padding:15px 18px;border:1px solid rgba(234,233,212,.15);border-radius:15px;background:rgba(255,255,255,.025);color:#fff;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;cursor:pointer;transition:border-color .28s,background .28s,transform .28s,box-shadow .28s;}
.atlas-market-tabs button:hover,.atlas-market-tabs button:focus-visible{border-color:rgba(196,189,113,.55);background:rgba(196,189,113,.07);outline:none;transform:translateY(-2px);}
.atlas-market-tabs button[aria-selected=true]{border-color:rgba(180,239,87,.55);background:linear-gradient(135deg,rgba(114,212,71,.12),rgba(196,189,113,.07));box-shadow:0 18px 48px rgba(0,0,0,.18);}
.atlas-flag{grid-row:1/3;font-size:20px;filter:saturate(.7);}
.atlas-market-tabs b{font-size:15px;letter-spacing:.03em;}
.atlas-market-tabs small{color:rgba(255,255,255,.48);font-size:9px;line-height:1.3;text-transform:uppercase;letter-spacing:.11em;}
.atlas-interface{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.72fr) minmax(310px,.64fr);gap:14px;margin-top:14px;}
.atlas-stage,.atlas-panel{border:1px solid rgba(234,233,212,.13);border-radius:22px;background:rgba(1,17,21,.72);box-shadow:0 40px 100px rgba(0,0,0,.28);overflow:hidden;}
.atlas-stage{position:relative;min-width:0;}
.infrastructure-atlas{display:block;width:100%;height:auto;min-height:520px;}
.atlas-coordinate-lines path{fill:none;stroke:rgba(234,233,212,.035);stroke-width:1;}
.atlas-route{fill:none;stroke:url(#atlasRoute);stroke-width:1.8;stroke-dasharray:8 14;opacity:.7;animation:atlasSignal 11s linear infinite;}
.atlas-route.route-return{stroke-width:.8;opacity:.2;animation-duration:17s;animation-direction:reverse;}
@keyframes atlasSignal{to{stroke-dashoffset:-220;}}
.atlas-territory{opacity:.26;transition:opacity .4s,filter .4s;}
.atlas-territory.is-selected{opacity:1;filter:drop-shadow(0 25px 25px rgba(0,0,0,.35));}
.territory-depth{fill:#001216;stroke:none;transform:translate(7px,9px);opacity:.85;}
.territory-surface{fill:url(#atlasSurface);stroke:rgba(234,233,212,.52);stroke-width:1.2;vector-effect:non-scaling-stroke;}
.territory-texture{fill:url(#atlasMicro);stroke:none;opacity:.65;}
.territory-regions{fill:none;stroke:rgba(234,233,212,.18);stroke-width:.7;vector-effect:non-scaling-stroke;}
.territory-name{fill:#fff;font:700 17px/1 Arial,sans-serif;letter-spacing:.12em;}
.territory-status{fill:rgba(234,233,212,.56);font:600 7px/1 Arial,sans-serif;letter-spacing:.095em;}
.atlas-marker{cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s,filter .25s;outline:none;}
.atlas-marker.is-visible{opacity:1;pointer-events:auto;}
.atlas-marker:hover,.atlas-marker:focus-visible,.atlas-marker.is-active{filter:url(#atlasGlow);}
.atlas-marker:focus-visible .marker-disc{stroke:var(--reserve-green);stroke-width:3;}
.marker-halo{fill:none;stroke:rgba(180,239,87,.26);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:markerBreath 3.8s ease-in-out infinite;}
.marker-disc{fill:url(#markerMetal);stroke:rgba(234,233,212,.78);stroke-width:1.1;}
.atlas-marker.is-active .marker-halo{stroke:var(--lime);stroke-width:2;}
.atlas-marker.is-active .marker-disc{stroke:var(--lime);}
@keyframes markerBreath{50%{transform:scale(1.16);opacity:.45;}}
.atlas-credit text{fill:rgba(234,233,212,.3);font:600 6px/1 Arial,sans-serif;letter-spacing:.08em;}
.atlas-stage-key{display:flex;gap:18px;flex-wrap:wrap;padding:14px 19px 17px;border-top:1px solid rgba(234,233,212,.1);color:rgba(255,255,255,.62);font-size:9px;text-transform:uppercase;letter-spacing:.08em;}
.atlas-stage-key span{display:flex;align-items:center;gap:7px;}
.key-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--reserve-green);box-shadow:0 0 10px rgba(187,200,138,.4);}
.key-solar{background:var(--lime)}.key-wind{background:#eae9d4}.key-bess{background:var(--capital-olive)}.key-digital{background:#79d8cc}
.atlas-panel{padding:30px;display:flex;flex-direction:column;}
.atlas-market-identity{display:flex;gap:14px;align-items:center;padding-bottom:25px;border-bottom:1px solid rgba(234,233,212,.13);}
.atlas-panel-flag{font-size:24px;filter:saturate(.72);}
.atlas-market-identity small,.atlas-detail>span{display:block;color:var(--reserve-green);font-size:8px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;}
.atlas-market-identity h3{font-size:30px;margin:5px 0 0;}
#atlas-panel-summary{min-height:66px;margin:23px 0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.6;}
.atlas-tech-filters{display:flex;gap:6px;flex-wrap:wrap;}
.atlas-tech-filters button{min-height:38px;padding:8px 11px;border:1px solid rgba(234,233,212,.15);border-radius:999px;background:transparent;color:rgba(255,255,255,.62);font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;}
.atlas-tech-filters button:hover,.atlas-tech-filters button:focus-visible{color:#fff;border-color:var(--reserve-green);outline:none;}
.atlas-tech-filters button.active{background:var(--archival-ivory);border-color:var(--archival-ivory);color:#0a292b;}
.atlas-tech-filters button:disabled{opacity:.3;cursor:not-allowed;}
.atlas-detail{margin-top:34px;padding-top:26px;border-top:1px solid rgba(234,233,212,.13);}
.atlas-detail h3{font-size:clamp(29px,2.4vw,39px);line-height:1.02;margin:12px 0 25px;letter-spacing:-.04em;}
.atlas-detail dl{margin:0;}
.atlas-detail dl div{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:11px 0;border-top:1px solid rgba(234,233,212,.09);}
.atlas-detail dt{color:rgba(255,255,255,.38);font-size:9px;text-transform:uppercase;letter-spacing:.11em;}
.atlas-detail dd{margin:0;color:rgba(255,255,255,.8);font-size:12px;line-height:1.45;}
.atlas-disclosure{margin:auto 0 0;padding-top:26px;color:rgba(255,255,255,.4);font-size:10px;line-height:1.55;}

/* Responsive institutional team composition. */
.team-section{padding:clamp(90px,10vw,145px) 0;background:linear-gradient(128deg,rgba(196,189,113,.11),transparent 30%),#f6f5ed;}
.team-heading{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(270px,.52fr);gap:clamp(28px,5vw,75px);align-items:end;padding-bottom:45px;border-bottom:1px solid rgba(108,137,92,.24);}
.team-brand{align-self:start;display:grid;gap:13px;}
.team-brand img{width:132px;height:66px;object-fit:contain;object-position:left center;}
.team-brand span{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--infrastructure-moss);}
.team-heading h2{font-size:clamp(48px,5.4vw,78px);line-height:.94;letter-spacing:-.055em;}
.team-heading>p{color:var(--muted);font-size:14px;line-height:1.65;}
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:44px;}
.team-card{min-width:0;background:rgba(255,255,255,.66);border:1px solid rgba(108,137,92,.2);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(24,55,45,.06);transition:transform .3s,border-color .3s,box-shadow .3s;}
.team-card:hover{transform:translateY(-4px);border-color:rgba(108,137,92,.48);box-shadow:0 24px 60px rgba(24,55,45,.1);}
.team-card>img{display:block;width:100%;aspect-ratio:4/4.7;object-fit:cover;object-position:center top;filter:saturate(.84) contrast(1.02);}
.team-card>div{padding:19px 17px 23px;}
.team-card span{display:block;color:var(--infrastructure-moss);font-size:8px;font-weight:760;text-transform:uppercase;letter-spacing:.14em;}
.team-card h3{margin:7px 0 18px;font-size:20px;line-height:1.03;letter-spacing:-.025em;}
.team-card ul{margin:0;padding:0;list-style:none;color:var(--muted);font-size:11px;line-height:1.55;}
.team-card li+li{margin-top:8px;padding-top:8px;border-top:1px solid rgba(108,137,92,.14);}

@media(max-width:1050px){
  .atlas-interface{grid-template-columns:1fr .58fr;}
  .team-heading{grid-template-columns:150px 1fr}.team-heading>p{grid-column:2}.team-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .hero-infrastructure{background-image:linear-gradient(180deg,rgba(1,24,28,.48) 0%,rgba(1,24,28,.57) 44%,rgba(1,24,28,.2) 100%),linear-gradient(90deg,rgba(1,24,28,.24),transparent 72%),url('assets/history/monte-plata-solar-aerial-archive.jpg');background-position:62% center;}
  .hero-infrastructure:after{background:linear-gradient(180deg,rgba(1,24,28,.05),transparent 64%,rgba(1,24,28,.24));}
  .hero-vignette{background:linear-gradient(180deg,rgba(1,24,28,.2),transparent 60%,rgba(1,24,28,.25));}
  .atlas-section{padding:86px 0;}
  .atlas-heading{grid-template-columns:1fr;gap:24px}.atlas-heading h2{font-size:50px}.atlas-heading>p{font-size:14px;}
  .atlas-market-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:38px;padding-bottom:5px;}
  .atlas-market-tabs button{flex:0 0 74%;scroll-snap-align:start;min-height:78px;}
  .atlas-interface{grid-template-columns:1fr;}
  .atlas-stage{border-radius:18px;}
  .infrastructure-atlas{min-height:0;aspect-ratio:4/5;}
  .atlas-routes,.atlas-credit{display:none;}
  .atlas-territory:not(.is-selected){display:none;}
  .territory-name,.territory-status{display:none;}
  .atlas-stage-key{gap:10px 14px;padding:14px 15px;font-size:8px;}
  .atlas-panel{min-height:510px;padding:24px 20px;border-radius:18px;}
  #atlas-panel-summary{min-height:0;}
  .atlas-tech-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.atlas-tech-filters button{flex:0 0 auto;min-height:42px;}
  .atlas-detail dl div{grid-template-columns:70px 1fr;}
  .team-heading{grid-template-columns:1fr;gap:25px}.team-heading>p{grid-column:auto}.team-brand{grid-template-columns:auto 1fr;align-items:center}.team-brand img{width:110px;height:52px}.team-heading h2{font-size:47px;}
  .team-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-top:30px;padding-bottom:12px;}
  .team-card{flex:0 0 83%;scroll-snap-align:start;}
  .team-card>img{aspect-ratio:4/4.25;}
  .team-card>div{padding:20px}.team-card h3{font-size:24px}.team-card ul{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.atlas-route,.marker-halo{animation:none}.atlas-marker,.atlas-territory,.team-card,.atlas-market-tabs button{transition:none}}
