:root{
  --bg:#15191c;
  --bg-deep:#101416;
  --bg-soft:#1b2023;
  --ink:#f2f0eb;
  --muted:#9a9d9e;
  --muted-2:#6f7476;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.22);
  --copper:#c88452;
  --copper-hot:#eba267;
  --amber:#f0b26f;
  --panel:rgba(255,255,255,.025);
  --max:1440px;
  --pad:clamp(24px,4vw,68px);
  --radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(900px 520px at 92% 0%,rgba(200,132,82,.20),transparent 62%),
    linear-gradient(180deg,var(--bg-deep),var(--bg));
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 2*var(--pad)));margin-inline:auto}
.site-header{
  position:fixed;z-index:50;top:0;left:0;right:0;
  height:92px;display:flex;align-items:center;
  border-bottom:1px solid transparent;
  transition:background .25s,border-color .25s,backdrop-filter .25s;
}
.site-header.is-scrolled{
  background:rgba(16,20,22,.78);
  border-color:var(--line);
  backdrop-filter:blur(18px);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;min-width:155px}
.brand img{width:168px;height:auto;filter:brightness(0) invert(1);opacity:.96}
.nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:14px;color:#d4d3cf}
.nav a{position:relative;padding:11px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--copper);transition:right .25s}
.nav a:hover::after,.nav a:focus-visible::after{right:0}
.nav-cta{border:1px solid rgba(200,132,82,.65)!important;padding:11px 16px!important}
.nav-cta::after{display:none}
.menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:15px;padding:10px}

.eyebrow{
  display:flex;align-items:center;gap:14px;
  text-transform:uppercase;letter-spacing:.28em;
  font-size:11px;font-weight:700;color:var(--copper-hot)
}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--copper)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;gap:22px;
  border:1px solid rgba(200,132,82,.72);padding:15px 20px;
  min-height:52px;font-size:14px;letter-spacing:.02em;
  background:rgba(255,255,255,.015);transition:.2s
}
.btn:hover{background:rgba(200,132,82,.08);border-color:var(--copper-hot)}
.btn.secondary{border-color:var(--line-strong);color:#d9d8d4}
.arrow{color:var(--copper-hot);font-size:18px}
@keyframes flow{to{stroke-dashoffset:-48}}

.section{position:relative;padding:clamp(86px,10vw,150px) 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:.66fr 1.34fr;gap:32px;margin-bottom:clamp(54px,7vw,96px)}
.kicker{font-size:11px;letter-spacing:.28em;color:var(--copper-hot);text-transform:uppercase;font-weight:700}
.section h2{
  margin:0;font-size:clamp(42px,5vw,76px);line-height:1.02;letter-spacing:-.04em;font-weight:560
}
.section-intro{max-width:820px;color:#c5c4c0;font-size:clamp(18px,1.6vw,24px);line-height:1.55;margin:22px 0 0}

























.split{
  display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.split>article{padding:clamp(32px,4vw,54px)}
.split>article+article{border-left:1px solid var(--line)}
.split h3{font-size:24px;margin:0 0 28px;font-weight:560}
.split ul{list-style:none;padding:0;margin:0;display:grid;gap:15px;color:#bdbcb8}
.split li{padding-left:18px;position:relative;line-height:1.5}
.split li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--copper)}

.metrics{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.metric{padding:30px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px}
.metric b{display:block;font-size:clamp(34px,3vw,54px);line-height:1;color:#f0ece5;font-weight:560;letter-spacing:-.04em}
.metric small{display:block;margin-top:14px;color:#8e9293;line-height:1.4;font-size:12px;text-transform:uppercase;letter-spacing:.12em}

.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.timeline article{padding:28px 24px 32px;border-right:1px solid var(--line);min-height:220px}
.timeline article:last-child{border-right:0}
.timeline .num{color:var(--copper-hot);font-size:11px;letter-spacing:.2em}
.timeline h3{font-size:22px;margin:22px 0 14px}
.timeline p{color:#9a9d9e;line-height:1.55;margin:0}

.ask-panel{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:1px solid var(--line);
  background:linear-gradient(125deg,rgba(255,255,255,.018),rgba(200,132,82,.025))
}
.ask-copy{padding:clamp(34px,5vw,72px)}
.ask-copy .big{font-size:clamp(64px,8vw,128px);line-height:.9;letter-spacing:-.06em;font-weight:600}
.ask-copy p{color:#bbbdb9;font-size:18px;line-height:1.6;max-width:500px}
.ask-list{display:grid;border-left:1px solid var(--line)}
.ask-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 28px;border-bottom:1px solid var(--line);align-items:center}
.ask-row:last-child{border-bottom:0}
.ask-row span{color:#9ea19f}
.ask-row b{font-weight:560;color:#f3eee8}

.team-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.team-card{background:var(--bg);padding:30px;min-height:210px}
.team-card .role{font-size:11px;color:var(--copper-hot);text-transform:uppercase;letter-spacing:.18em}
.team-card h3{margin:28px 0 12px;font-size:24px;font-weight:560}
.team-card p{margin:0;color:#929697;line-height:1.55}

.final-cta{padding:clamp(90px,12vw,170px) 0}
.final-box{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end}
.final-box h2{font-size:clamp(48px,6vw,94px);line-height:.96;letter-spacing:-.045em;margin:0}
.final-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}

.site-footer{padding:34px 0 46px;border-top:1px solid var(--line);color:#777d7d;font-size:12px}
.footer-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  .section-head{grid-template-columns:1fr}
  
  
  
  .metrics{grid-template-columns:repeat(3,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .ask-panel{grid-template-columns:1fr}
  .ask-list{border-left:0;border-top:1px solid var(--line)}
  .team-strip{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  :root{--pad:22px}
  .site-header{height:76px}
  .nav{display:none;position:absolute;left:var(--pad);right:var(--pad);top:68px;flex-direction:column;align-items:stretch;background:rgba(16,20,22,.97);border:1px solid var(--line);padding:14px 18px}
  .nav.is-open{display:flex}
  .menu-toggle{display:block}
  .brand img{width:138px}
  .split{grid-template-columns:1fr}
  .split>article+article{border-left:0;border-top:1px solid var(--line)}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:1fr}
  .timeline article{border-right:0;border-bottom:1px solid var(--line)}
  .team-strip{grid-template-columns:1fr}
  .final-box{grid-template-columns:1fr}
  .final-actions{justify-content:flex-start}
}
@media (max-width:520px){
  .metrics{grid-template-columns:1fr}
  
  .ask-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}


/* ===== GI PROTOTYPE V2 ===== */

.identity-section{
  padding-block:clamp(90px,11vw,165px);
  background:
    radial-gradient(680px 420px at 5% 55%,rgba(200,132,82,.055),transparent 72%);
}

.identity-grid{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr);
  gap:clamp(50px,8vw,130px);
  align-items:start;
}

.identity-statement h2{
  margin:26px 0 0;
  font-size:clamp(56px,7vw,112px);
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:620;
}

.identity-statement h2 span{
  color:#727778;
  font-weight:500;
}

.identity-lede{
  margin:0 0 46px;
  max-width:760px;
  font-size:clamp(22px,2vw,31px);
  line-height:1.48;
  letter-spacing:-.018em;
  color:#d0cec8;
}

.identity-lines{
  border-top:1px solid var(--line);
}

.identity-lines>div{
  display:grid;
  grid-template-columns:48px minmax(190px,.9fr) 1.1fr;
  gap:24px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.identity-lines span{
  color:var(--copper-hot);
  font-size:10px;
  letter-spacing:.18em;
}

.identity-lines strong{
  font-weight:540;
  font-size:16px;
}

.identity-lines small{
  color:#7e8383;
  font-size:13px;
  line-height:1.45;
}



















.market-section{
  overflow:hidden;
}

.market-section::before{
  content:"";
  position:absolute;
  right:-18vw;
  top:10%;
  width:60vw;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.035);
  border-radius:50%;
  box-shadow:
    0 0 0 90px rgba(255,255,255,.012),
    0 0 0 180px rgba(255,255,255,.008);
  pointer-events:none;
}

.market-ladder{
  position:relative;
  border-top:1px solid var(--line);
}

.market-ladder article{
  position:relative;
  display:grid;
  grid-template-columns:minmax(170px,.55fr) minmax(180px,.55fr) 1fr;
  gap:30px;
  align-items:end;
  padding:27px 0 30px;
  border-bottom:1px solid var(--line);
}

.market-ladder .market-label{
  color:var(--copper-hot);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:10px;
  padding-bottom:7px;
}

.market-ladder strong{
  font-size:clamp(38px,4vw,67px);
  line-height:.9;
  font-weight:570;
  letter-spacing:-.045em;
}

.market-ladder p{
  margin:0;
  color:#8c9190;
  font-size:14px;
  line-height:1.5;
  padding-bottom:5px;
}

.market-ladder i{
  position:absolute;
  left:0;
  bottom:-1px;
  width:var(--w);
  max-width:100%;
  height:1px;
  background:linear-gradient(90deg,var(--copper),rgba(200,132,82,.05));
  transform-origin:left;
  transform:scaleX(0);
  transition:transform 1.1s cubic-bezier(.2,.72,.25,1);
}

.market-ladder.is-visible i{
  transform:scaleX(1);
}

.metric{
  position:relative;
  overflow:hidden;
  transition:background .35s,border-color .35s;
}

.metric::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:1px;
  width:0;
  background:var(--copper);
  transition:width .55s ease;
}

.metric:hover{
  background:rgba(200,132,82,.035);
}

.metric:hover::before{
  width:100%;
}

.ask-copy .big{
  color:#f1ede6;
  text-shadow:0 0 36px rgba(200,132,82,.08);
}

.team-card{
  position:relative;
  overflow:hidden;
  transition:background .3s;
}

.team-card::after{
  content:"";
  position:absolute;
  left:30px;
  right:30px;
  bottom:0;
  height:1px;
  background:var(--copper);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}

.team-card:hover{
  background:#181d20;
}

.team-card:hover::after{
  transform:scaleX(1);
}

@media (max-width:1100px){
  .identity-grid{
    grid-template-columns:1fr;
  }

  .identity-statement h2{
    max-width:760px;
  }
}

@media (max-width:820px){

  .identity-lines>div{
    grid-template-columns:36px 1fr;
  }

  .identity-lines small{
    grid-column:2;
  }

  

  

  .market-ladder article{
    grid-template-columns:1fr 1fr;
  }

  .market-ladder p{
    grid-column:1 / -1;
  }
}

@media (max-width:520px){
  .identity-statement h2{
    font-size:58px;
  }

  .identity-lede{
    font-size:21px;
  }

  .market-ladder article{
    grid-template-columns:1fr;
    gap:10px;
  }

  .market-ladder p{
    grid-column:auto;
  }
}

@media (prefers-reduced-motion:reduce){

  
  .market-ladder i{
    transition:none!important;
  }
}


.problem-section{
  background:
    linear-gradient(90deg,rgba(200,132,82,.025),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.008),transparent);
}

.problem-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:clamp(50px,8vw,130px);
  align-items:end;
}

.problem-grid h2{
  margin:26px 0 0;
  max-width:980px;
  font-size:clamp(46px,5.6vw,88px);
  line-height:.98;
  letter-spacing:-.046em;
  font-weight:580;
}

.problem-grid h2 span{
  color:#7f8382;
  font-weight:500;
}

.problem-copy{
  border-left:1px solid rgba(200,132,82,.48);
  padding-left:clamp(24px,3vw,42px);
}

.problem-copy p{
  margin:0;
  color:#b5b6b2;
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.62;
}

.problem-copy p+p{
  margin-top:24px;
  color:#e0ddd6;
}

@media (max-width:900px){
  .problem-grid{
    grid-template-columns:1fr;
    align-items:start;
  }

  .problem-copy{
    max-width:720px;
  }
}


/* ===== GI PROTOTYPE V3 ===== */

.section{
  overflow:hidden;
  isolation:isolate;
}

.section>.container{
  position:relative;
  z-index:2;
}

.identity-section::before,
.problem-section::before,
.why-section::before,
.traction-section::before,
.economics-section::before,
.market-section::after,
.ask-section::before,
.team-section::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  filter:blur(2px);
}

.identity-section::before{
  width:72vw;
  height:78%;
  left:-28vw;
  top:10%;
  background:radial-gradient(ellipse at center,rgba(205,132,77,.105),rgba(205,132,77,.035) 34%,transparent 72%);
}



.problem-section::before{
  width:55vw;
  height:120%;
  left:-20vw;
  top:-10%;
  background:radial-gradient(ellipse at center,rgba(117,76,48,.11),transparent 69%);
}

.why-section::before{
  width:55vw;
  height:120%;
  right:-18vw;
  top:-12%;
  background:radial-gradient(ellipse at center,rgba(190,120,72,.075),transparent 68%);
}

.traction-section::before{
  width:60vw;
  height:125%;
  left:-24vw;
  top:-15%;
  background:radial-gradient(ellipse at center,rgba(115,128,127,.065),transparent 70%);
}

.economics-section::before{
  width:68vw;
  height:115%;
  right:-25vw;
  top:-8%;
  background:radial-gradient(ellipse at center,rgba(212,141,88,.08),transparent 69%);
}

.market-section::after{
  width:66vw;
  height:120%;
  left:-25vw;
  top:-10%;
  background:radial-gradient(ellipse at center,rgba(154,96,59,.075),transparent 67%);
}

.ask-section::before{
  width:72vw;
  height:130%;
  right:-27vw;
  top:-13%;
  background:radial-gradient(ellipse at center,rgba(231,155,99,.115),transparent 67%);
}

.team-section::before{
  width:62vw;
  height:120%;
  left:-20vw;
  top:-12%;
  background:radial-gradient(ellipse at center,rgba(111,120,121,.075),transparent 69%);
}





























@media (min-width:1101px) and (max-height:950px){
  .site-header{
    height:70px;
  }

  .brand img{
    width:148px;
  }

  .nav{
    font-size:12px;
    gap:clamp(15px,1.7vw,26px);
  }

  .nav-cta{
    padding:9px 14px!important;
  }
}

@media (max-width:1100px){

  

  

  
}

@media (max-width:820px){
  .section::before,
  .market-section::after{
    width:110vw;
    left:-55vw;
    right:auto;
    opacity:.72;
  }

  

  
}

@media (max-width:520px){

  
}


















/* Homepage hero: one scene, one coordinate system, no image panel. */
.hero{
  position:relative;
  isolation:isolate;
  min-height:700px;
  min-height:max(700px,100svh);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#101416;
}
.hero-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-scene::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,#101416 0%,rgba(16,20,22,.94) 24%,rgba(16,20,22,.72) 38%,rgba(16,20,22,.12) 58%,transparent 72%),
    linear-gradient(180deg,rgba(16,20,22,.5),transparent 18%,transparent 80%,#15191c 100%);
}
.hero-artwork-stage{
  --hero-px:0px;--hero-py:0px;
  position:absolute;right:-2%;top:53%;width:100%;max-width:2100px;
  aspect-ratio:1672 / 941;
  /* Explicit 10% reduction; artwork and effects always transform together. */
  transform:translate3d(var(--hero-px),calc(-50% + var(--hero-py)),0) scale(.9);
  transform-origin:right center;
  transition:transform .35s ease-out;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 88%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 20%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 88%,transparent);
  mask-composite:intersect;
}
.hero-artwork{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.hero-motion-overlay{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0}
.hero-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:inherit;padding-block:132px 112px}
.hero-copy{width:min(46vw,650px);max-width:100%}
.hero h1{font-size:clamp(54px,4.45vw,68px);font-weight:650;line-height:1.02;letter-spacing:-.045em;margin:24px 0;text-wrap:balance}
.hero h1 span{display:block;color:#b8b9b5;font-weight:500;margin-top:.15em}
.hero-lede{max-width:520px;font-size:clamp(16px,1.15vw,20px);line-height:1.6;color:#c9c8c4;margin:0 0 28px}
.hero .btn{font-size:13px;min-height:48px;padding:12px 17px;background:rgba(16,20,22,.4)}
.hero .btn:hover{background:rgba(200,132,82,.14)}
.hero-scroll{position:absolute;left:0;bottom:34px;display:flex;align-items:center;gap:18px;color:#939897;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.hero-scroll i{display:block;width:65px;height:1px;background:linear-gradient(90deg,var(--copper),transparent)}

/* Static image and copy remain visible with JS disabled or an image error. */
.hero-room-shade{fill:#101416;opacity:0}
.hero-room-light{fill:url(#hero-room-light);opacity:0}
.hero-boiler-light{opacity:0}
.hero-heat-paths{fill:none;stroke:#ffd6a2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-heat-paths path{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.hero.is-animating .hero-artwork{animation:giSceneReveal 1.6s ease-out both}
.hero.is-animating .hero-motion-overlay{opacity:1}
.hero.is-animating .hero-boiler-light{animation:giCoreIgnite 1.3s ease 1s both,giCoreRest 7s ease-in-out 4.6s infinite}
.hero-room-low{--warm-delay:2.25s}
.hero-room-middle{--warm-delay:2.85s}
.hero-room-top{--warm-delay:3.45s}
.hero.is-animating .hero-room-shade{animation:giRoomUnshade 1.5s ease var(--warm-delay) both}
.hero.is-animating .hero-room-light{animation:giRoomWarm 1.5s ease var(--warm-delay) both}
.hero.is-animating .hero-heat-riser{animation:giHeatTravel 1.9s ease-in-out 1.45s both}
.hero.is-animating .hero-heat-floor{animation:giHeatTravel 1.2s ease-in-out var(--heat-delay) both}
.hero-heat-low{--heat-delay:2.05s}
.hero-heat-middle{--heat-delay:2.65s}
.hero-heat-top{--heat-delay:3.25s}
.hero.is-animating .hero-heat-paths{animation:giHeatRest 7s ease-in-out 4.6s infinite}
.hero.copy-enter .hero-copy>*{animation:giHeroCopy .7s ease both}
.hero.copy-enter .hero-copy>h1{animation-delay:.1s}
.hero.copy-enter .hero-copy>.hero-lede{animation-delay:.22s}
.hero.copy-enter .hero-copy>.actions{animation-delay:.34s}
.hero.is-paused .hero-artwork,.hero.is-paused .hero-motion-overlay *{animation-play-state:paused!important}
@keyframes giSceneReveal{from{opacity:.12}to{opacity:1}}
@keyframes giCoreIgnite{from{opacity:0}to{opacity:.55}}
@keyframes giCoreRest{0%,100%{opacity:.55}50%{opacity:.35}}
@keyframes giRoomUnshade{from{opacity:.67}to{opacity:0}}
@keyframes giRoomWarm{from{opacity:0}to{opacity:.45}}
@keyframes giHeatTravel{0%{stroke-dashoffset:1;opacity:0}12%{opacity:.8}100%{stroke-dashoffset:0;opacity:.4}}
@keyframes giHeatRest{0%,100%{opacity:1}50%{opacity:.65}}
@keyframes giHeroCopy{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (min-width:1101px) and (max-height:800px){
  .hero{min-height:max(640px,100svh)}
  .hero-inner{padding-block:100px 85px}
  .hero h1{font-size:clamp(48px,4vw,64px);margin-block:18px}
  .hero-lede{font-size:16px;margin-bottom:20px}
}
@media (min-width:821px) and (max-width:1100px){
  .hero-copy{width:62%;max-width:640px}
  .hero h1{font-size:clamp(50px,5.6vw,62px)}
  .hero-artwork-stage{width:128%;right:-25%;top:59%}
  .hero-scene::after{background:linear-gradient(90deg,#101416 3%,rgba(16,20,22,.94) 26%,rgba(16,20,22,.65) 49%,rgba(16,20,22,.05) 85%),linear-gradient(0deg,#15191c,transparent 20%)}
}
@media (max-width:820px){
  .hero{min-height:100svh;align-items:stretch}
  .hero-inner{display:block;min-height:100svh;padding-block:112px clamp(300px,70vw,480px)}
  .hero-copy{width:100%;max-width:620px}
  .hero h1{font-size:clamp(36px,7.8vw,62px);max-width:610px;margin-block:18px}
  .hero-lede{font-size:16px;max-width:540px;margin-bottom:22px}
  .hero .actions{gap:10px}
  .hero .btn{font-size:12px;padding:11px 13px;gap:12px;min-height:46px}
  .hero-artwork-stage{top:auto;bottom:0;right:-8%;width:145%;max-width:none;transform:none;transition:none}
  .hero-scene::after{background:linear-gradient(180deg,#101416 0%,rgba(16,20,22,.97) 38%,rgba(16,20,22,.45) 58%,transparent 76%,#15191c 100%)}
  .hero-scroll{bottom:22px;font-size:8px}
}
@media (prefers-reduced-motion:reduce){
  .hero-artwork-stage{--hero-px:0px!important;--hero-py:0px!important;transition:none}
  .hero .hero-artwork,.hero .hero-copy>*{animation:none!important;opacity:1;transform:none}
  .hero .hero-motion-overlay{opacity:0}
  .hero .hero-motion-overlay *{animation:none!important}
}

/* Model: one persistent SVG, with a mobile detail viewport and system overview. */
.model-stage{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.7fr);gap:clamp(24px,3vw,52px);align-items:start}
.model-copy{min-width:0}
.model-copy h3{font-size:clamp(30px,3vw,44px);line-height:1.1;margin:12px 0 20px;font-weight:560}
.model-copy p{color:#b9bab7;font-size:16px;line-height:1.7;margin:0}
.model-steps{display:grid;margin-top:28px;border-top:1px solid var(--line)}
.model-step{appearance:none;width:100%;display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:center;padding:16px 8px;background:transparent;border:0;border-bottom:1px solid var(--line);color:#919592;font:inherit;text-align:left;cursor:pointer;transition:background .2s,color .2s}
.model-step strong{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.model-step span{font-size:14px;line-height:1.5}
.model-step:hover{color:#ece7df;background:rgba(200,132,82,.045)}
.model-step:focus-visible{outline:1px solid #c88b59;outline-offset:3px}
.model-step.is-active{color:#f1eee8;background:linear-gradient(90deg,rgba(200,132,82,.1),transparent)}
.model-step.is-active strong{color:#e6ab77}
.model-step.is-complete strong{color:#ad855f}
.model-system{min-width:0;padding-top:3px}
.model-detail{display:grid;grid-template-columns:36px 1fr;gap:14px;min-height:132px;max-width:690px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.model-detail>span{font-size:12px;color:#d19b6c;padding-top:5px}
.model-detail h4{font-size:19px;font-weight:500;margin:0 0 9px}
.model-detail p{font-size:15px;color:#a8aeaa;line-height:1.7;margin:0;max-width:620px}
.model-viewport{width:100%;margin-top:22px}
.model-scene{display:block;width:100%;height:auto;overflow:visible}
.model-note{font-size:11px;letter-spacing:.06em;color:#818b86;margin:18px 0 0}
.model-overview{display:none}
/* All five components remain drawn, including future stages. */
#gi-model-system .m-component{opacity:.48;transition:opacity .35s}
#gi-model-system .is-current{opacity:1}
#gi-model-system .is-complete{opacity:.78}
#gi-model-system .m-machine{fill:url(#model-metal);stroke:#929b97;stroke-width:1.4}
#gi-model-system .m-wall{fill:#1b2224;fill-opacity:.55;stroke:#73807b;stroke-width:1.5}
#gi-model-system .m-plinth{fill:#242b2b;stroke:#54605a;stroke-width:1}
#gi-model-system .m-detail{fill:none;stroke:#89938c;stroke-width:1.2}
#gi-model-system .m-reference{fill:none;stroke:#626e66;stroke-opacity:.3;stroke-width:1}
#gi-model-system .m-label{fill:#e1ded5;font:500 14px sans-serif;letter-spacing:.5px}
#gi-model-system .m-micro{fill:#c6aa90;font:12px monospace;letter-spacing:.85px}
#gi-model-system .m-small{fill:#abb5ac;font:11px monospace;letter-spacing:.1px}
#gi-model-system .m-wheel{fill:#161c1d;stroke:#8c9690;stroke-width:2}
#gi-model-system .m-pipe{fill:none;stroke:#8e9b8f;stroke-width:5;stroke-linejoin:round}
#gi-model-system .m-link,#gi-model-system .m-contract-line{fill:none;stroke:#be865c;stroke-width:2}
#gi-model-system .m-contract-line{stroke-dasharray:5 5}
#gi-model-system .m-contract-plate{fill:#1c2223;stroke:#997450;stroke-width:1}
#gi-model-system .m-core{fill:#5b4433;stroke:#cc9665;stroke-width:1}
#gi-model-system .m-display{fill:#b18b61}
#gi-model-system .m-supply,#gi-model-system .m-radiator{fill:none;stroke:#ae7852;stroke-width:3;stroke-linejoin:round}
#gi-model-system .m-return{fill:none;stroke:#778e87;stroke-width:2;stroke-linejoin:round}
#gi-model-system .m-envelope{fill:none;stroke:#a4aa8f;stroke-width:2;stroke-dasharray:3 3}
#gi-model-system .m-room{fill:#a97349;fill-opacity:.08;transition:fill-opacity .3s}
#gi-model-system .is-complete .m-room{fill-opacity:.2}
#gi-model-system .is-complete .m-core{fill:#b1753d}
#gi-model-system .m-travel,#gi-model-system .m-material,#gi-model-system .m-feed,#gi-model-system .m-hydraulic,#gi-model-system .m-building-heat{fill:none;stroke:#ecb47c;stroke-width:2.5;stroke-dasharray:3 13;opacity:0}
#gi-model-system .is-current .m-travel,#gi-model-system .is-current .m-material{opacity:1;animation:model-flow 1.8s linear infinite}
#gi-model-system .is-current .m-feed{animation:model-feed 3.1s linear both}
#gi-model-system .is-current .m-core{animation:model-ignite 3.1s ease both}
#gi-model-system .is-current .m-hydraulic{animation:model-hydraulic 3.1s linear both}
#gi-model-system .is-current .m-building-heat{opacity:1;animation:model-flow 1.8s linear infinite}
#gi-model-system .is-current .m-room{animation:model-warm 1s ease both}
#gi-model-system .is-current .m-room-1{animation-delay:.2s}
#gi-model-system .is-current .m-room-2{animation-delay:.9s}
#gi-model-system .is-current .m-room-3{animation-delay:1.6s}
.model-section:not(.is-running) #gi-model-system *{animation-play-state:paused!important}
@keyframes model-flow{to{stroke-dashoffset:-32}}
@keyframes model-feed{0%{opacity:0}10%,70%{opacity:1}100%{opacity:.6;stroke-dashoffset:-64}}
@keyframes model-ignite{0%,22%{fill:#5b4433}42%,100%{fill:#dc9c56}}
@keyframes model-hydraulic{0%,40%{opacity:0}55%,100%{opacity:1;stroke-dashoffset:-48}}
@keyframes model-warm{from{fill-opacity:.08}to{fill-opacity:.3}}
@media(min-width:1101px){.model-system{position:sticky;top:110px}}
@media(max-width:1100px) and (min-width:701px){.model-stage{grid-template-columns:1fr}.model-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.model-copy>.kicker,.model-copy>h3,.model-copy>p{grid-column:1}.model-steps{grid-column:2;grid-row:1 / 4;margin:0}.model-detail{min-height:110px}.model-system{margin-top:15px}}
@media(max-width:700px){
 .model-stage{grid-template-columns:minmax(0,1fr);gap:28px}
 .model-copy p{font-size:15px}
 .model-steps{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto;gap:8px;padding:4px;margin-top:22px;scroll-snap-type:x proximity}
 .model-step{grid-template-columns:1fr;gap:6px;align-content:start;padding:12px;scroll-snap-align:start;min-height:94px}
 .model-step span{font-size:12px}
 .model-detail{min-height:160px;gap:5px;grid-template-columns:30px 1fr}
 .model-detail h4{font-size:18px}
 .model-detail p{font-size:14px}
 .model-overview{display:block;margin:16px 0 0}
 .model-overview>span{font:8px monospace;letter-spacing:.7px;color:#9ba59d}
 .model-overview svg{display:block;width:100%;height:auto;margin:8px 0;background:rgba(255,255,255,.015)}
 .model-focus-frame{fill:#c88b59;fill-opacity:.025;stroke:#c88b59;stroke-width:3}
 .model-viewport{margin-top:12px;overflow:hidden}
 .model-section.is-enhanced .model-scene{height:310px;overflow:hidden}
 .model-note{font-size:10px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
 #gi-model-system *{animation:none!important;transition:none!important}
 #gi-model-system .m-travel,#gi-model-system .m-material,#gi-model-system .m-feed,#gi-model-system .m-hydraulic,#gi-model-system .m-building-heat{display:none}
 #gi-model-system .is-current .m-room{fill-opacity:.3}
 #gi-model-system .is-current .m-core{fill:#dc9c56}
 .model-step{transition:none}
}

/* Model surface and motion polish; geometry and interaction remain unchanged. */
#gi-model-system .m-component{opacity:.32}
#gi-model-system .is-complete{opacity:.66}
#gi-model-system .is-current{opacity:1}
#gi-model-system .m-reference{stroke-opacity:.13}
#gi-model-system .m-small{fill:#9ba49e;opacity:.64}
#gi-model-system .m-detail{stroke:#828e88;stroke-width:1}
#gi-model-system .m-wall{fill:none;stroke:#9ca69d}
#gi-model-system .m-back-face{fill:url(#model-face)}
#gi-model-system .m-side-face{fill:#192123;stroke:#59655f;stroke-width:1}
#gi-model-system .m-top-face{fill:#4a524c;stroke:#9ba394;stroke-width:1}
#gi-model-system .m-floor{fill:none;stroke:#a2a898;stroke-width:4}
#gi-model-system .m-plinth{fill:#303a36;stroke:#657369;filter:drop-shadow(0 7px 3px #090e10)}
#gi-model-system .m-local-light{fill:url(#model-local-light);opacity:0;transition:opacity .4s}
#gi-model-system .is-current .m-local-light{opacity:1}
#gi-model-system .is-current .m-machine{stroke:#c3b59e;stroke-width:1.65}
#gi-model-system .is-current .m-label{fill:#f4e6d1}
#gi-model-system .is-current .m-link{stroke:#d8a06c;stroke-width:2.3}
#gi-model-system .is-complete .m-link,#gi-model-system .is-complete .m-pipe{stroke:#a87954}
#gi-model-system .is-future .m-link,#gi-model-system .is-future .m-supply,#gi-model-system .is-future .m-radiator,#gi-model-system .is-future .m-envelope,#gi-model-system .is-future .m-contract-line{stroke:#89938c}
#gi-model-system .is-future .m-core,#gi-model-system .is-future .m-display{fill:#58635d;stroke:#879189}
#gi-model-system .is-future .m-micro{fill:#9da69f}
#gi-model-system .m-boiler-glow{fill:url(#model-core-light);opacity:0}
#gi-model-system .is-complete .m-boiler-glow{opacity:.3}
#gi-model-system .is-current .m-boiler-glow{animation:model-core-halo 3.1s ease both}
#gi-model-system .is-current .m-core{animation:model-ignite 3.1s ease both;filter:drop-shadow(0 0 5px #bd793d)}
#gi-model-system .is-current .m-process{animation:model-process 2.6s ease both}
#gi-model-system .is-current .m-output{animation:model-output 2.6s ease both}
#gi-model-system .is-current .m-storage{stroke:#d0ad7c;fill:url(#model-metal)}
#gi-model-system .is-current .m-buffer{animation:model-buffer 3.1s ease both}
#gi-model-system .is-current .m-pump{animation:model-pump 3.1s ease both}
#gi-model-system .is-current[data-model-stage="2"] .m-supply{animation:model-supply 3.1s ease both}
#gi-model-system .m-room{fill:url(#model-interior);fill-opacity:.05}
#gi-model-system .is-complete .m-room{fill-opacity:.55}
#gi-model-system .is-current .m-room{animation:model-room-light .9s ease both}
#gi-model-system .is-current .m-room-1{animation-delay:.45s}
#gi-model-system .is-current .m-room-2{animation-delay:1.15s}
#gi-model-system .is-current .m-room-3{animation-delay:1.9s}
#gi-model-system .is-current .m-envelope{stroke:#b7bca2;stroke-dasharray:2 5}
#gi-model-system .is-current[data-model-stage="3"] .m-supply{stroke:#d49a64}
/* Brief physical flow introductions settle into a quiet copper trace. */
#gi-model-system .is-current .m-material{animation:model-material-pass 2.4s linear both}
#gi-model-system .is-current[data-model-stage="0"] .m-material:nth-of-type(2){animation-delay:.15s}
#gi-model-system .is-current .m-travel{animation:model-delivery-pass 2.4s linear both}
#gi-model-system .is-current .m-building-heat{animation:model-delivery-pass 2.2s linear both}
#gi-model-system .is-current .m-hydraulic{animation:model-heat-pass 3.1s linear both}
#gi-model-system .m-business-tether{fill:none;stroke:#96744f;stroke-width:1.5;opacity:.45}
#gi-model-system .is-current .m-business-tether{opacity:.8}
#gi-model-system .is-current .m-contract-plate{fill:#34342d;stroke:#d4a676;stroke-width:1.7}
#gi-model-system .is-current .m-business-gi .m-machine{stroke:#dfae79;fill:url(#model-face)}
#gi-model-system .is-current .m-business-client .m-machine{fill:url(#model-face)}
#gi-model-system .is-current .m-business-contract .m-label{font-weight:600;fill:#f3d1a8}
#gi-model-system .is-current .m-business-contract .m-micro{fill:#e4bb88}
#gi-model-system .is-current .m-business-gi{animation:model-owner-light 3.4s ease both}
#gi-model-system .is-current .m-fee-pulse{stroke-dasharray:7 93;stroke-width:3;animation:model-fee-return 5.4s linear infinite}
#gi-model-system:has([data-model-stage="4"].is-current)>.is-complete{opacity:.6}
#gi-model-system:has([data-model-stage="4"].is-current) .m-local-light{opacity:0}
@keyframes model-process{0%,15%{stroke:#8c978c}35%,70%{stroke:#deb181}100%{stroke:#ba9d79}}
@keyframes model-output{0%,55%{stroke:#8c978c}80%{stroke:#deb181}100%{stroke:#ba9d79}}
@keyframes model-core-halo{0%,20%{opacity:0}48%{opacity:1}100%{opacity:.72}}
@keyframes model-buffer{0%,40%{stroke:#9da695}62%,100%{stroke:#c69b6b}}
@keyframes model-pump{0%,55%{stroke:#9da695;fill:#303a37}73%,100%{stroke:#e0b680;fill:#6d5c43}}
@keyframes model-supply{0%,66%{stroke:#78877b}85%,100%{stroke:#d2a06b}}
@keyframes model-room-light{from{fill-opacity:.05}to{fill-opacity:.85}}
@keyframes model-material-pass{0%{opacity:0;stroke-dashoffset:0}15%,75%{opacity:.85}100%{opacity:.15;stroke-dashoffset:-64}}
@keyframes model-delivery-pass{0%,45%{opacity:0;stroke-dashoffset:0}60%,85%{opacity:.9}100%{opacity:0;stroke-dashoffset:-48}}
@keyframes model-heat-pass{0%,75%{opacity:0;stroke-dashoffset:0}85%,95%{opacity:1}100%{opacity:.15;stroke-dashoffset:-48}}
@keyframes model-owner-light{0%,45%{opacity:.7}80%,100%{opacity:1}}
/* The path itself runs from customer to GI, so negative offset travels left. */
@keyframes model-fee-return{0%{opacity:0;stroke-dashoffset:7}10%{opacity:.9}65%{opacity:.9;stroke-dashoffset:-100}75%,100%{opacity:0;stroke-dashoffset:-100}}
@media(max-width:700px){
 /* Reframe the existing nodes, not a second mobile illustration. */
 .model-contract-focus .m-business-gi{transform:translate(-13px,126px)}
 .model-contract-focus .m-business-client{transform:translate(-790px,126px)}
 .model-contract-focus .m-business-contract{transform:translate(-408px,-12px)}
 .model-contract-focus [data-model-stage="4"]>.m-micro{font-size:11px}
 .model-contract-focus .m-contract-line,.model-contract-focus .m-fee-pulse{d:path('M301 195V160H100V195')}
 .model-contract-focus .m-business-tether{d:path('M301 281v12M100 281v12')}
 .model-contract-focus .m-business-contract>.m-small{opacity:.8}
 .model-contract-focus #gi-model-system>[data-model-stage]:not([data-model-stage="4"]),.model-contract-focus #gi-model-system>.m-reference,.model-contract-focus #gi-model-system>.m-micro,.model-contract-focus #gi-model-system>.m-small{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){
 #gi-model-system .is-current .m-boiler-glow{opacity:.72}
 #gi-model-system .is-current .m-room{fill-opacity:.85}
 #gi-model-system .is-current .m-buffer,#gi-model-system .is-current .m-pump{stroke:#d2a06b}
 #gi-model-system .is-current[data-model-stage="2"] .m-supply{stroke:#d2a06b}
}

/* Enlarge only the selected desktop business-flow callouts. */
@media (min-width:701px){
  #gi-model-system :is(.m-business-gi,.m-business-contract) .m-label{font-size:16.8px}
  #gi-model-system :is(.m-business-gi,.m-business-contract) .m-micro,
  #gi-model-system [data-model-stage="4"]>.m-micro{font-size:14.4px}
  #gi-model-system :is(.m-business-gi,.m-business-contract) .m-small{font-size:13.2px}
}

/* Problem scene: annual operations continue; GI unlocks retrofit capital. */
.problem-section{background:#101416;padding-block:110px 90px}
.problem-section::before{display:none}
.problem-composition{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:center;min-height:850px}
.problem-content{position:relative;z-index:2;align-self:start;padding-top:55px}
.problem-content h2{font-size:clamp(38px,3.7vw,66px);line-height:1.06;letter-spacing:-.045em;font-weight:580;margin:26px 0 30px;max-width:640px}
.problem-content h2 span{color:#999d99;font-weight:500}
.problem-explanation{max-width:485px}
.problem-explanation p{font-size:clamp(16px,1.18vw,19px);line-height:1.75;color:#afb5af;margin:0}
.problem-explanation p+p{margin-top:22px;color:#dbd8cf}
.problem-visual{position:relative;min-width:0;align-self:stretch;display:flex;align-items:flex-end;padding-top:640px}
.problem-art{position:absolute;z-index:0;width:165%;right:-12%;top:-15px;aspect-ratio:3 / 2;pointer-events:none;mask-image:linear-gradient(90deg,transparent,black 18%,black 94%,transparent),linear-gradient(180deg,transparent,black 10%,black 88%,transparent);mask-composite:intersect}
.problem-art img{width:100%;height:100%;display:block;object-fit:contain;filter:saturate(.72) brightness(.82);transition:filter 2s ease,opacity 1.5s ease}
.problem-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101416,rgba(16,20,22,.65) 12%,transparent 40%);pointer-events:none}
.problem-traces{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.problem-old-heat,.problem-room-warmth ellipse{fill:url(#problem-warmth)}
.problem-old-heat{opacity:.55}
.problem-room-warmth{opacity:.65;transition:opacity 2s ease}
.problem-heat-loop{fill:none;stroke:#d5a270;stroke-width:1.8;stroke-dasharray:5 18;opacity:.35}
.problem-target{fill:none;stroke:#d4b18a;stroke-width:1.5;opacity:.7;transition:opacity .7s ease}
.problem-target circle{fill:#d4b18a;stroke:none}
.problem-pin{position:absolute;z-index:1;font:10px/1.4 monospace;letter-spacing:.1em;color:#d9c3a6;text-shadow:0 2px 8px #101416;transition:opacity .7s ease}
.problem-pin-heat{left:35%;top:73%}
.problem-pin-windows{left:28%;top:29%}
.problem-pin-envelope{right:7%;top:24%}
.problem-narrative{position:relative;z-index:2;width:100%;max-width:640px;margin:0 0 0 auto;padding:22px 0 0;background:none;font:11px/1.5 monospace;letter-spacing:.09em}
.problem-budget{display:flex;align-items:center;gap:12px;color:#aaa99b;margin-bottom:25px;transition:opacity .6s}
.problem-budget i{display:block;width:7px;height:7px;border:1px solid #c29667;border-radius:50%}
.problem-capital{color:#c7b49a;transition:opacity .6s}
.problem-capital svg{display:block;width:100%;height:34px;margin-top:10px;overflow:visible}
.problem-capital-before{fill:none;stroke:#ba946d;stroke-width:1.3}
.problem-capital-after{fill:none;stroke:#636c66;stroke-width:1;stroke-dasharray:3 8}
.problem-capital-gate{fill:none;stroke:#d7bf99;stroke-width:2;opacity:0;transition:opacity .6s}
.problem-capital-unlocked{fill:none;stroke:#d9ab76;stroke-width:1.8;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s ease}
.problem-finance{color:#d8b68c;margin-top:12px;transition:opacity .8s ease}
.problem-resolution{color:#eee2d1;font-size:13px;letter-spacing:.075em;margin-top:12px;transition:opacity .8s ease}
.problem-replay{display:block;margin-top:22px;padding:4px 0;border:0;background:none;color:#9caaa1;font:inherit;font-size:11px;cursor:pointer;text-align:left}
.problem-replay[hidden]{display:none}
.problem-replay:hover{color:#e2ba8f}
.problem-replay:focus-visible{outline:1px solid #d5a270;outline-offset:6px}
/* Static/no-script and reduced-motion visitors receive the complete explanation. */
.problem-section.is-sequenced:not(.problem-phase-1) .problem-art img{opacity:0}
.problem-section.is-sequenced:not(.problem-phase-2) .problem-budget,
.problem-section.is-sequenced:not(.problem-phase-3) :is(.problem-target-heat,.problem-pin-heat),
.problem-section.is-sequenced:not(.problem-windows) :is(.problem-target-windows,.problem-pin-windows),
.problem-section.is-sequenced:not(.problem-envelope) :is(.problem-target-envelope,.problem-pin-envelope),
.problem-section.is-sequenced:not(.problem-phase-4) .problem-capital,
.problem-section.is-sequenced:not(.problem-phase-5) .problem-finance,
.problem-section.is-sequenced:not(.problem-phase-6) .problem-resolution{opacity:0}
.problem-section.is-sequenced:not(.problem-phase-5) .problem-capital-unlocked{stroke-dashoffset:100}
.problem-section.is-sequenced.problem-phase-4:not(.problem-phase-5) .problem-capital-gate{opacity:1}
.problem-section.is-sequenced:not(.problem-phase-6) .problem-room-warmth{opacity:0}
.problem-section.problem-phase-6 .problem-art img{filter:saturate(.85) brightness(.92)}
.problem-section.is-sequenced.problem-phase-2:not(.problem-phase-6) .problem-heat-loop{animation:problem-annual-flow 3.4s linear infinite}
.problem-section.is-sequenced.problem-phase-2:not(.problem-phase-6) .problem-budget i{animation:problem-budget-breathe 3.4s ease infinite}
.problem-section:not(.problem-in-view) *{animation-play-state:paused!important}
@keyframes problem-annual-flow{to{stroke-dashoffset:-46}}
@keyframes problem-budget-breathe{50%{background:#c29667;opacity:.6}}
@media(min-width:1600px){.problem-composition{min-height:860px}.problem-visual{padding-top:660px}}
@media(max-width:1100px){
 .problem-composition{gap:24px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:720px}
 .problem-art{top:45px;width:170%;right:-12%}
 .problem-content h2{font-size:42px}
 .problem-visual{padding-top:490px}
 .problem-resolution{font-size:11px}
}
@media(max-width:900px){
 .problem-section{padding-block:70px 65px}
 .problem-composition{display:flex;flex-direction:column;gap:0;min-height:0}
 .problem-content{padding-top:0;width:100%}
 .problem-content h2{font-size:clamp(34px,7vw,49px);max-width:620px}
 .problem-explanation{max-width:600px}
 .problem-visual{display:block;width:100%;padding-top:0;min-height:0}
 .problem-art{position:relative;width:160%;right:auto;left:-49%;top:auto;margin:15px 0 -8%;mask-image:linear-gradient(180deg,transparent,black 10%,black 88%,transparent)}
 .problem-art::after{background:linear-gradient(90deg,#101416,transparent 30%)}
 .problem-pin{font-size:10px;letter-spacing:.03em}
 .problem-pin-heat{left:43%;top:75%}
 .problem-pin-windows{left:29%;top:27%}
 .problem-pin-envelope{right:8%;top:23%}
 .problem-narrative{margin:0;max-width:none;padding-top:10px;font-size:10px}
 .problem-budget{margin-bottom:22px}
 .problem-resolution{font-size:12px;max-width:300px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
 .problem-section *{animation:none!important;transition:none!important}
 .problem-replay{display:none}
}

/* Registered retrofit regions preserve the approved base artwork and camera. */
.problem-retrofit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:saturate(.85) brightness(.92)}
.problem-retro-layer{opacity:1;transition:opacity .75s ease}
.problem-new-core ellipse{fill:url(#problem-new-core)}
.problem-new-core path{stroke:#edc18a;stroke-width:3}
.problem-new-core{opacity:1;transition:opacity .65s ease}
.problem-new-circuit{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:1;transition:opacity .65s ease}
.problem-neutral-pipe{stroke:#828c86;stroke-width:3;opacity:.6}
.problem-return-pipe{stroke:#89978e;stroke-width:1.8;opacity:.5}
.problem-hot-supply,.problem-hot-riser,.problem-hot-floor{stroke:#dba469;stroke-width:3;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset .7s ease}
.problem-heat-pulse{stroke:#f0c68e;stroke-width:3.5;stroke-dasharray:8 92;opacity:0}
.problem-comfort-zone{fill:url(#problem-comfort);opacity:1;transition:opacity .85s ease}
.problem-section.is-sequenced:not(.problem-retro-envelope) .problem-retro-facade,
.problem-section.is-sequenced:not(.problem-retro-windows-low) .problem-retro-window-low,
.problem-section.is-sequenced:not(.problem-retro-windows-mid) .problem-retro-window-mid,
.problem-section.is-sequenced:not(.problem-retro-windows-high) .problem-retro-window-high,
.problem-section.is-sequenced:not(.problem-retro-installation) :is(.problem-retro-boiler,.problem-new-circuit),
.problem-section.is-sequenced:not(.problem-retro-ignition) .problem-new-core,
.problem-section.is-sequenced:not(.problem-retro-comfort-low) .problem-comfort-low,
.problem-section.is-sequenced:not(.problem-retro-comfort-mid) .problem-comfort-mid,
.problem-section.is-sequenced:not(.problem-retro-comfort-high) .problem-comfort-high{opacity:0;transition:none}
.problem-section.is-sequenced:not(.problem-retro-supply) .problem-hot-supply,
.problem-section.is-sequenced:not(.problem-retro-distribution) .problem-hot-riser,
.problem-section.is-sequenced:not(.problem-retro-comfort-low) .problem-hot-low,
.problem-section.is-sequenced:not(.problem-retro-comfort-mid) .problem-hot-mid,
.problem-section.is-sequenced:not(.problem-retro-comfort-high) .problem-hot-high{stroke-dashoffset:100}
.problem-section.is-sequenced.problem-retro-distribution .problem-heat-pulse{animation:problem-retro-pulse 2.5s ease-out both}
.problem-section.problem-retro-installation :is(.problem-heat-loop,.problem-old-heat){opacity:0;animation:none}
.problem-section.problem-phase-5 .problem-target{opacity:.25}
.problem-section.problem-phase-6 .problem-room-warmth{opacity:0}
.problem-section.problem-phase-6 .problem-new-circuit{opacity:.65}
/* Reserve the existing replay control's space so the scene stays registered. */
.problem-replay[hidden]{display:block;visibility:hidden}
@keyframes problem-retro-pulse{0%{opacity:0;stroke-dashoffset:8}15%{opacity:.85}85%{opacity:.65}100%{opacity:0;stroke-dashoffset:-100}}
@media(max-width:900px){.problem-neutral-pipe,.problem-hot-supply,.problem-hot-riser,.problem-hot-floor{stroke-width:3.5}.problem-return-pipe{opacity:.3}}
@media(prefers-reduced-motion:reduce){.problem-retrofit *{animation:none!important;transition:none!important}.problem-heat-pulse{display:none}.problem-replay[hidden]{display:none}}

/* Problem scene polish: legible callouts, architectural pipe routes, occupied warmth. */
.problem-pin{font-size:12px;line-height:1.5;letter-spacing:.085em;color:#efe0cb;padding:3px 6px;text-shadow:0 1px 3px #101416,0 0 10px #101416;background:radial-gradient(ellipse at center,rgba(16,20,22,.82),rgba(16,20,22,.5) 55%,transparent 75%)}
.problem-pin-heat{left:32%;top:73%}
.problem-pin-windows{left:26.5%;top:27%}
.problem-pin-envelope{right:7%;top:20%}
.problem-budget,.problem-capital{font-size:12px;line-height:1.65;color:#e2cfb6;text-shadow:0 1px 5px #101416}
.problem-budget span,.problem-capital>span{background:linear-gradient(90deg,rgba(16,20,22,.45),transparent)}
.problem-target{stroke:#ddbea0;stroke-width:1.6}
.problem-section.problem-phase-5 .problem-target{opacity:.4}
.problem-neutral-pipe{stroke:#7e8986;stroke-width:2.5;opacity:.55}
.problem-return-pipe{stroke:#7e8986;stroke-width:1.6;opacity:.4}
.problem-hot-supply,.problem-hot-riser,.problem-hot-floor{stroke:#c89361;stroke-width:2.6}
.problem-hot-floor{stroke-width:2.2}
.problem-heat-pulse{stroke:#ecc59b;stroke-width:3}
.problem-section.problem-phase-6 .problem-new-circuit{opacity:.8}
.problem-room-neutral{filter:saturate(.48) brightness(.89);opacity:.8;transition:opacity 1.1s ease}
.problem-room-lit{filter:saturate(.78) brightness(1.06);transition:opacity 1.1s ease}
.problem-section.problem-retro-comfort-low .problem-room-neutral-low,
.problem-section.problem-retro-comfort-mid .problem-room-neutral-mid,
.problem-section.problem-retro-comfort-high .problem-room-neutral-high{opacity:0}
.problem-section:not(.is-sequenced) .problem-room-neutral{opacity:0}
@media(max-width:900px){
 .problem-pin{font-size:10px;letter-spacing:.035em;padding:2px 4px}
 .problem-pin-heat{left:36%;top:74%}
 .problem-pin-windows{left:27%;top:26%}
 .problem-pin-envelope{right:7%;top:20%}
 .problem-budget,.problem-capital{font-size:11px}
 .problem-hot-supply,.problem-hot-riser{stroke-width:3}
 .problem-hot-floor{stroke-width:2.6}
}
.problem-section.is-sequenced:not(.problem-phase-1) .problem-room-neutral{opacity:0;transition:none}

/* 03 / Why now: scale, regulatory pressure, then the GI capital response. */
.why-section{background:#101416;padding-block:110px 100px}
.why-section::before{display:none}
.why-composition{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,6vw,110px);align-items:start}
.why-intro{padding-top:18px}
.why-intro h2{font-size:clamp(38px,3.7vw,64px);line-height:1.08;letter-spacing:-.045em;font-weight:550;margin:27px 0;max-width:550px}
.why-explanation{font-size:17px;line-height:1.75;color:#9da5a3;max-width:340px}
.why-synthesis{margin:74px 0 0;font-size:clamp(16px,1.3vw,20px);line-height:1.7;color:#b5b9b3;transition:opacity .9s ease}
.why-synthesis span{color:#e3bd93}
.why-system{position:relative;min-width:0;padding-top:16px}
.why-micro,.why-timeline-caption,.why-date{font:10px/1.5 monospace;letter-spacing:.13em;color:#9ca29b}
.why-scale{position:relative;z-index:1;min-height:295px;transition:opacity 1s ease}
.why-scale strong{display:block;font-size:clamp(100px,10.2vw,180px);line-height:1.08;font-weight:500;letter-spacing:-.075em;color:#e0dfd7;margin:12px 0 3px}
.why-scale strong span{font-size:.57em;vertical-align:top;line-height:1.5;color:#b5b5aa}
.why-scale p{font-size:14px;line-height:1.6;max-width:240px;color:#b2b7af;margin:0}
.why-pressure{position:absolute;width:470px;max-width:90%;height:auto;right:-22%;top:-66px;pointer-events:none;overflow:visible}
.why-field-reference{fill:none;stroke:#87938c;stroke-width:1;opacity:.14}
.why-field-halo{fill:url(#why-field-glow);opacity:0;transition:opacity 1.4s ease}
.why-field-rings{fill:none;stroke:#c29167;stroke-width:1.5}
.why-ring{stroke-dasharray:100;stroke-dashoffset:0;opacity:.65;transition:stroke-dashoffset 1.3s ease,opacity 1.1s ease}
.why-ring-2030{stroke-width:1.7}.why-ring-2033{stroke-width:2;stroke:#dbad7e}
.why-field-core{fill:none;stroke:#bf976e;stroke-width:1;opacity:.3;transition:opacity 1s ease}
.why-timeline{position:relative;z-index:1;margin-top:25px}
.why-timeline-caption{display:flex;justify-content:space-between;gap:16px;font-size:9px;margin-bottom:32px;color:#919b97}
.why-track{position:absolute;top:44px;left:0;right:0;height:1px;background:#38403c}
.why-track i{display:block;height:1px;width:100%;background:linear-gradient(90deg,#6f6859,#d4a071);transform-origin:left;transition:transform 1.4s ease}
.why-track>span{position:absolute;left:0;top:13px;color:#727e78;font:9px monospace}
.why-milestones{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 0 0 13%;margin:0}
.why-milestone{position:relative;padding-top:25px;color:#e3d6c3;transition:color .8s ease,opacity .8s ease}
.why-node{position:absolute;top:-6px;left:0;width:7px;height:7px;border-radius:50%;border:1px solid #cba175;background:#cba175;box-shadow:0 0 12px #b47d4533;transition:background .8s ease,box-shadow .8s ease}
.why-date{display:block;margin-bottom:12px;color:#b6b4a7;font-size:10px;white-space:nowrap}
.why-milestone strong{display:block;font-size:clamp(36px,3.2vw,56px);font-weight:500;line-height:1;letter-spacing:-.045em}
.why-milestone strong span{font-size:.65em;margin-left:2px}
.why-milestone p{font-size:12px;line-height:1.65;color:#aeb3ab;max-width:190px;margin:14px 0 0}
.why-response{position:relative;margin-top:52px;transition:opacity 1s ease}
.why-response-label{display:flex;align-items:center;gap:22px}
.why-response-label .why-micro{color:#c7a27c;white-space:nowrap}
.why-response-rule{height:1px;flex:1;background:linear-gradient(90deg,#a67b54aa,transparent)}
.why-response-value{display:flex;gap:28px;align-items:center;margin-top:15px}
.why-response-value strong{font-size:clamp(80px,7.4vw,124px);font-weight:500;line-height:1;letter-spacing:-.065em;color:#efddc5}
.why-response-value p{font-size:16px;line-height:1.6;color:#d3c7b6;margin:0}
.why-replay{display:block;margin-top:26px;border:0;padding:4px 0;background:none;color:#8e9a93;font:10px/1.5 monospace;letter-spacing:.05em;cursor:pointer}
.why-replay[hidden]{display:block;visibility:hidden}
.why-replay:hover{color:#e0b788}.why-replay:focus-visible{outline:1px solid #d4a071;outline-offset:6px}
.why-section.why-sequenced:not(.why-step-1) .why-scale{opacity:.15}
.why-section.why-sequenced:not(.why-step-2) .why-track i{transform:scaleX(0)}
.why-section.why-sequenced.why-step-2:not(.why-step-3) .why-track i{transform:scaleX(.13)}
.why-section.why-sequenced.why-step-3:not(.why-step-4) .why-track i{transform:scaleX(.27)}
.why-section.why-sequenced.why-step-4:not(.why-step-5) .why-track i{transform:scaleX(.62)}
.why-section.why-sequenced:not(.why-step-3) .why-trigger,
.why-section.why-sequenced:not(.why-step-4) .why-deadline,
.why-section.why-sequenced:not(.why-step-5) .why-escalation{opacity:.45;color:#a5ada6}
.why-section.why-sequenced:not(.why-step-3) .why-ring-2028,
.why-section.why-sequenced:not(.why-step-4) .why-ring-2030,
.why-section.why-sequenced:not(.why-step-5) .why-ring-2033{stroke-dashoffset:100;opacity:0}
.why-section.why-step-3 .why-field-halo{opacity:.35}
.why-section.why-step-4 .why-field-halo{opacity:.65}
.why-section.why-step-5 .why-field-halo,.why-section:not(.why-sequenced) .why-field-halo{opacity:1}
.why-section.why-sequenced:not(.why-step-6) :is(.why-response,.why-synthesis){opacity:0}
.why-section.why-paused *{animation-play-state:paused!important}
@media(min-width:1600px){.why-scale{min-height:340px}.why-pressure{width:560px;top:-80px}}
@media(max-width:1100px){.why-composition{gap:40px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.why-milestones{gap:15px;padding-left:9%}.why-milestone strong{font-size:37px}.why-scale{min-height:260px}.why-pressure{right:-16%;top:-35px}.why-date{font-size:9px;letter-spacing:.06em}}
@media(max-width:800px){
 .why-section{padding-block:75px 65px}.why-composition{grid-template-columns:1fr;gap:40px}.why-intro{padding:0}.why-intro h2{font-size:clamp(35px,6.4vw,49px);max-width:620px}.why-explanation{max-width:430px;font-size:16px}.why-synthesis{margin-top:24px;font-size:16px}
 .why-system{padding-top:0}.why-scale{min-height:240px}.why-scale strong{font-size:120px}.why-pressure{width:380px;max-width:75%;right:-10%;top:-25px}.why-timeline{margin-top:0}.why-response{margin-top:38px}.why-response-value strong{font-size:94px}
}
@media(max-width:480px){
 .why-scale{min-height:220px}.why-scale strong{font-size:110px}.why-pressure{width:290px;max-width:85%;right:-22%;top:-12px}.why-scale p{max-width:220px}
 .why-timeline-caption{font-size:8px;margin-bottom:27px}.why-track{top:38px;bottom:0;left:3px;right:auto;width:1px;height:auto}.why-track i{width:1px;height:100%;transform-origin:top}.why-track>span{top:0;left:15px}
 .why-milestones{display:flex;flex-direction:column;gap:28px;padding:29px 0 0 28px}.why-milestone{padding:0 0 0 3px;display:grid;grid-template-columns:105px 1fr;column-gap:14px}.why-node{top:29px;left:-28px}.why-date{grid-column:1 / -1;margin-bottom:9px;font-size:10px}.why-milestone strong{font-size:43px}.why-milestone p{font-size:12px;margin:0;align-self:center}.why-response{margin-top:38px;padding-top:5px}.why-response-value{gap:24px}.why-response-value p{font-size:14px}
 .why-section.why-sequenced:not(.why-step-2) .why-track i{transform:scaleY(0)}.why-section.why-sequenced.why-step-2:not(.why-step-3) .why-track i{transform:scaleY(.06)}.why-section.why-sequenced.why-step-3:not(.why-step-4) .why-track i{transform:scaleY(.3)}.why-section.why-sequenced.why-step-4:not(.why-step-5) .why-track i{transform:scaleY(.65)}
}
@media(prefers-reduced-motion:reduce){.why-section *{animation:none!important;transition:none!important}.why-replay[hidden]{display:none}}

/* 04–05: calm evidence ledger and inspectable unit economics. */
.traction-section,.economics-section{background:#101416}
.traction-section::before,.economics-section::before{display:none}
.traction-section .section-head,.economics-section .section-head{margin-bottom:64px}
.ledger-micro,.evidence-type,.evidence-heading>span{font:10px/1.65 monospace;letter-spacing:.12em;color:#929d96}
.evidence-ledger{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(40px,7vw,110px)}
.evidence-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:0 0 23px;border-bottom:1px solid #465049}
.evidence-heading h3{margin:0;font-size:clamp(21px,2vw,28px);font-weight:500;letter-spacing:-.025em}
.evidence-documented .evidence-heading>span{color:#bd9771}
.evidence-rows{list-style:none;padding:0;margin:0}
.evidence-rows li{position:relative;border-bottom:1px solid #ffffff12;padding:23px 0 23px 20px}
.evidence-rows li::before{content:"";position:absolute;left:0;top:29px;width:2px;height:19px;background:#ac835d}
.evidence-type{display:block;margin-bottom:7px;font-size:9px}
.evidence-rows strong{display:block;font-size:clamp(17px,1.45vw,21px);font-weight:450;line-height:1.45;color:#dddcd3}
.evidence-rows p{margin:9px 0 0;font-size:14px;line-height:1.6;color:#aab1a9}
.evidence-rows p span{color:#665e52;margin:0 12px}
.evidence-open .evidence-rows li{font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:#a9b1aa;padding-block:27px}
.evidence-open .evidence-rows li::before{height:1px;width:7px;top:40px;background:#78847c}
.traction-next{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:30px;align-items:center;margin-top:55px;padding-top:28px;border-top:1px solid #ffffff20}
.traction-next p{margin:6px 0 0;color:#939f96;font-size:13px;line-height:1.6}
.traction-next>p strong{display:block;color:#c4c7bd;font-size:clamp(24px,2.3vw,34px);font-weight:450;letter-spacing:-.035em}
.traction-next .ledger-micro{color:#b49b7d}
.asset-economics{display:grid;grid-template-columns:.72fr 2fr;column-gap:clamp(32px,5vw,80px);row-gap:65px}
.asset-capital{border-right:1px solid #ffffff18;padding-right:30px}
.asset-value{display:block;font-size:clamp(32px,3.2vw,59px);font-weight:500;letter-spacing:-.055em;line-height:1.12;color:#e3e2d8;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.asset-capital .asset-value{margin-top:26px;font-size:clamp(35px,3.1vw,54px)}
.asset-capital h3{font-size:14px;line-height:1.6;font-weight:450;color:#c4c7bc;margin:14px 0 0}
.asset-capital>p{font-size:12px;line-height:1.8;color:#8d9991;max-width:240px;margin:19px 0 0}
.asset-annual{min-width:0}
.asset-annual-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #936f4c66;padding-bottom:23px;margin-bottom:28px}
.asset-annual-heading>span:last-child{color:#b28b64;font-size:20px;line-height:1}
.asset-equation{display:grid;grid-template-columns:1.2fr auto 1fr auto 1fr;gap:clamp(10px,1.3vw,24px);align-items:start}
.asset-equation p{font-size:13px;line-height:1.6;color:#a0aba2;margin:15px 0 0;max-width:150px}
.asset-operator{font-size:25px;line-height:1.8;color:#877f6e;font-weight:300}
.asset-profit .asset-value{color:#dfb88b}.asset-profit p{color:#c1ad93}
.asset-duration{grid-column:1 / -1;padding-top:32px;border-top:1px solid #ffffff15}
.asset-duration-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px}
.asset-duration-heading p{margin:0;color:#b5beb3;font-size:15px}.asset-duration-heading strong{font-size:38px;font-weight:450;letter-spacing:-.04em;color:#dddcd0;margin-right:6px}
.asset-horizon{display:grid;grid-template-columns:2.9fr 22.1fr;margin:24px 0 25px;gap:6px}
.asset-horizon span{position:relative;display:block;height:1px;background:#626d63}
.asset-horizon span:last-child{background:linear-gradient(90deg,#c69a6c,#765e43)}
.asset-horizon span::before{content:"";position:absolute;left:0;top:-3px;width:1px;height:7px;background:inherit}
.asset-periods{display:grid;grid-template-columns:1fr 3fr;gap:6px}
.asset-periods strong{font-size:clamp(28px,3vw,45px);font-weight:450;line-height:1.2;letter-spacing:-.04em;color:#d9d9cc}
.asset-periods strong span{font-size:15px;letter-spacing:0;color:#a5b0a5;margin-left:5px}
.asset-margin strong{color:#dfb88b}.asset-margin strong span{color:#c4ad90}
.asset-periods p{font-size:12px;color:#8d9b90;line-height:1.6;margin:12px 0 0}
@media(max-width:1100px){.asset-economics{grid-template-columns:1fr;row-gap:38px}.asset-capital{border-right:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.asset-capital .ledger-micro{grid-column:1 / -1}.asset-capital .asset-value{margin-top:20px}.asset-capital h3{grid-column:1}.asset-capital>p{grid-column:2;grid-row:2 / 4;align-self:center;margin:0;max-width:300px}.asset-equation .asset-value{font-size:clamp(38px,4.7vw,54px)}}
@media(max-width:700px){
 .traction-section,.economics-section{padding-block:75px}.traction-section .section-head,.economics-section .section-head{margin-bottom:44px}
 .evidence-ledger{grid-template-columns:1fr;gap:46px}.evidence-heading{padding-bottom:18px}.evidence-rows li{padding-block:20px}.evidence-open .evidence-rows li{padding-block:21px}.evidence-open .evidence-rows li::before{top:33px}.evidence-type{font-size:8px;letter-spacing:.08em}
 .traction-next{grid-template-columns:1fr;gap:20px;margin-top:38px;padding-top:25px}.traction-next>p strong{display:inline;margin-right:7px;font-size:27px}
 .asset-capital{display:block}.asset-capital .asset-value{font-size:46px}.asset-capital>p{margin-top:14px;max-width:330px}
 .asset-equation{grid-template-columns:26px 1fr;gap:18px 12px}.asset-equation>div{grid-column:2}.asset-equation>div:first-child{grid-row:1}.asset-equation>span{grid-column:1;align-self:center;line-height:1}.asset-equation>span:nth-child(2){grid-row:2}.asset-equation>div:nth-child(3){grid-row:2}.asset-equation>span:nth-child(4){grid-row:3}.asset-equation>div:last-child{grid-row:3;border-top:1px solid #b18a5b66;padding-top:24px;margin-top:5px}
 .asset-equation .asset-value{font-size:46px}.asset-equation p{max-width:none;margin-top:7px}.asset-annual-heading{margin-bottom:26px}
 .asset-horizon{display:none}.asset-periods{display:block;margin-top:24px}.asset-periods>div{border-top:1px solid #ffffff20;padding:24px 0 0;margin-top:24px}.asset-periods .asset-margin{border-top-color:#b18a5b66}.asset-periods strong{font-size:37px}.asset-periods strong span{font-size:14px}.asset-periods p{margin-top:9px}
}

.traction-section .section-head h2,.economics-section .section-head h2{font-size:clamp(34px,3.7vw,56px);line-height:1.12;letter-spacing:-.04em}
.traction-section .section-intro{font-size:17px;line-height:1.7;max-width:650px}

/* 06 / Market opportunity — geographic adjacency, not an operational network. */
.market-section{background:#101416;padding-block:110px 95px}.market-section::after{display:none}
.market-access-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}
.market-access-copy{position:relative;z-index:1;padding-top:15px}
.market-access-copy h2{font-size:clamp(36px,3.6vw,60px);line-height:1.1;letter-spacing:-.045em;margin:26px 0;font-weight:550;max-width:550px}
.market-access-copy>p{font-size:16px;line-height:1.8;color:#a3aea7;max-width:450px;margin:0}
.market-access-copy .market-access-proximity{margin-top:18px;color:#c0c5bb}
.market-access-micro{display:block;font:10px/1.6 monospace;letter-spacing:.12em;color:#93a098}
.market-access-anchor{margin-top:38px}.market-access-anchor strong{display:block;font-size:clamp(68px,6.5vw,108px);line-height:1.1;letter-spacing:-.06em;font-weight:450;color:#e3d9c9;margin:10px 0}
.market-access-anchor>span:last-child{font-size:14px;color:#aab4aa}
.market-access-figure{position:relative;margin:0;min-width:0;align-self:center}
.market-access-mapframe{margin:-30px -7% -10px -6%;overflow:hidden;mask-image:linear-gradient(180deg,transparent,black 12%,black 91%,transparent)}
.access-map{display:block;width:100%;height:auto;overflow:hidden}
.access-country{fill:url(#access-land);stroke:#69786d;stroke-width:.7;stroke-linejoin:round;opacity:.58}
.access-target-country{fill:#37423a;stroke:#84907b;opacity:.85}
.access-bosnia{fill:#996c45;stroke:#e0b27c;stroke-width:1.3;opacity:1}
.access-reference{fill:none;stroke:#82917f;stroke-width:.6;opacity:.1}
.access-route-trace{fill:none;stroke:#b38b60;stroke-width:1.3;opacity:.48}
.access-route-pulse{fill:none;stroke:#e4b787;stroke-width:2.3;stroke-linecap:round;stroke-dasharray:9 91;stroke-dashoffset:100;opacity:0}
.access-destination{fill:#ceaa7f;stroke:#151c1b;stroke-width:1.5}
.access-source-halo{fill:url(#access-source-glow)}
.access-source-ring{fill:none;stroke:#d4a16d;stroke-width:1;opacity:.55}
.access-source-dot{fill:#efc28c;stroke:#3b2c1e;stroke-width:1.5}
.access-label path{fill:none;stroke:#9aab95;stroke-width:.7;opacity:.45}
.access-label text{font:19px/1.4 Arial,sans-serif;fill:#ccd0bf;paint-order:stroke;stroke:#101416;stroke-width:4;stroke-linejoin:round}
.access-source-label text{fill:#e4c39b;font-size:21px}.access-source-label path{stroke:#d9a674;opacity:.65}
.access-source-label .access-source-caption{font:11px monospace;letter-spacing:1.5px;fill:#bf956c}
.market-access-figure figcaption{padding:0 12px 0 35px}.market-access-figure figcaption p{font-size:11px;line-height:1.65;color:#8c9b90;max-width:470px;margin:8px 0 0}
.access-motion-toggle{border:0;border-bottom:1px solid #546151;background:none;color:#adbaac;font:10px/1.5 monospace;letter-spacing:.04em;padding:5px 0;margin:14px 0 0 35px;cursor:pointer}
.access-motion-toggle[hidden]{display:none}.access-motion-toggle:hover{color:#e1b686}.access-motion-toggle:focus-visible{outline:1px solid #d5a270;outline-offset:6px}
.market-access-scale{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:45px;margin-top:60px;padding-top:30px;border-top:1px solid #ffffff20}
.market-access-scale article{border-left:1px solid #ffffff15;padding-left:24px}.market-access-scale article:first-child{border-left:0;padding-left:0}
.market-access-scale strong{display:block;font-size:clamp(34px,3.4vw,52px);line-height:1.15;font-weight:450;letter-spacing:-.04em;color:#d0d4c8;margin-top:14px}
.market-access-scale p{font-size:13px;line-height:1.7;color:#9eac9f;margin:10px 0 0}.market-access-target strong{color:#d4b189}
.market-section.access-animated .access-route-pulse{animation:access-travel 12s ease-in-out infinite;animation-delay:var(--route-delay)}
.market-section.access-animated .access-destination{animation:access-arrival 12s ease-in-out infinite;animation-delay:var(--route-delay)}
.market-section.access-animated .access-source-halo{animation:access-source 12s ease-in-out infinite}
.market-section.access-animated .access-land{animation:access-land-enter 1.6s ease both}
.market-section.access-paused .access-map *{animation-play-state:paused!important}
@keyframes access-travel{0%,20%{stroke-dashoffset:100;opacity:0}24%{opacity:.8}55%{stroke-dashoffset:-9;opacity:.8}62%,100%{stroke-dashoffset:-9;opacity:0}}
@keyframes access-arrival{0%,50%,72%,100%{fill:#a79070}58%,62%{fill:#f0c99a}}
@keyframes access-source{0%,100%{opacity:.4}15%,30%{opacity:1}65%{opacity:.65}}
@keyframes access-land-enter{from{opacity:.3}to{opacity:1}}
@media(max-width:1100px){.market-access-layout{grid-template-columns:1fr 1.15fr;gap:15px}.market-access-mapframe{margin-inline:-13%}.market-access-copy h2{font-size:40px}.market-access-figure figcaption{padding-left:10px}.access-motion-toggle{margin-left:10px}.market-access-scale{gap:22px}}
@media(max-width:800px){.market-section{padding-block:75px 65px}.market-access-layout{grid-template-columns:1fr;gap:20px}.market-access-copy h2{font-size:clamp(35px,6vw,48px)}.market-access-copy>p{max-width:600px}.market-access-anchor{margin-top:25px}.market-access-anchor strong{font-size:76px}.market-access-mapframe{margin:0 -4%;mask-image:linear-gradient(180deg,transparent,black 6%,black 94%,transparent)}.market-access-figure figcaption{padding-left:0}.access-motion-toggle{margin-left:0}.market-access-scale{margin-top:35px}.market-access-scale .market-access-micro{font-size:8px}}
@media(max-width:500px){.market-access-scale{grid-template-columns:1fr;gap:23px;padding-top:26px}.market-access-scale article,.market-access-scale article:first-child{padding:0 0 23px;border-left:0;border-bottom:1px solid #ffffff15}.market-access-scale .market-access-micro{font-size:10px}.market-access-scale strong{font-size:40px;margin-top:8px}.market-access-scale p{margin-top:6px}.access-label text{font-size:23px}.access-source-label text{font-size:23px}.access-source-label .access-source-caption{font-size:12px}.market-access-mapframe{margin-inline:-4%}}
@media(prefers-reduced-motion:reduce){.market-section .access-map *{animation:none!important;transition:none!important}.access-route-pulse{display:none}.access-motion-toggle{display:none}}
.market-section::before{display:none}
@media(max-width:500px){.access-label text{font-size:27px}.access-source-label text{font-size:25px}.access-source-label .access-source-caption{font-size:13px}}
/* 06 refinement: one coherent, precomputed near-side spherical projection. */
.market-access-layout{grid-template-columns:.75fr 1.25fr;gap:24px}
.market-access-mapframe{margin:-65px -15% -18px -14%;mask-image:linear-gradient(180deg,transparent,black 8%,black 79%,transparent)}
.globe-map{isolation:isolate}
.globe-ocean{fill:url(#globe-ocean)}
.globe-atmosphere{fill:none;stroke:#bac1ab;stroke-width:2;opacity:.28}
.globe-country{fill:url(#globe-land);stroke:#8b9b88;stroke-width:.65;stroke-linejoin:round;opacity:.7}
.globe-target{fill:#4c5145;stroke:#b0aa8b;stroke-width:.85;opacity:.85}
.globe-bih{fill:#b3804d;stroke:#f0c28c;stroke-width:1.8;opacity:1}
.globe-serbia{fill:#776c52;stroke:#d0b58a;stroke-width:1.4;opacity:1}
.globe-graticule{fill:none;stroke:#9fbaab;stroke-width:.5;opacity:.09}
.globe-route-base{fill:none;stroke:#b78b5b;stroke-width:1;opacity:.35}
.globe-hub-link{fill:none;stroke:#e3b57e;stroke-width:1.8;opacity:.8}
.globe-pulse{stroke:#edc89b;stroke-width:1.8;stroke-dasharray:6 94}
.globe-destination{fill:#c0a37a;stroke:#1d2723;stroke-width:1;opacity:.85}
.globe-hub-glow{fill:url(#globe-warm)}
.globe-hub-ring{fill:none;stroke:#d9ab72;stroke-width:1.5}
.globe-hub-dot{fill:#f4cf9a;stroke:#3b3021;stroke-width:1}
.globe-hub-two .globe-hub-ring{stroke:#bcaa87;stroke-width:1}
.globe-place-labels{font:17px Arial,sans-serif;fill:#c1c4b2;paint-order:stroke;stroke:#17201d;stroke-width:3px}
.globe-hub-labels path{fill:none;stroke:#b88c5c;stroke-width:1;opacity:.7}
.globe-hub-labels text{font:19px Arial,sans-serif;letter-spacing:.6px;fill:#e5c69c;paint-order:stroke;stroke:#131b19;stroke-width:3px}
.globe-hub-labels .globe-label-phase{font:11px monospace;letter-spacing:1.3px;fill:#bfaa8c}
.globe-phase-key{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:18px;margin:0 0 17px;color:#d5d6c8;font-size:12px;line-height:1.5}
.globe-phase-key b{display:block;font:10px monospace;letter-spacing:.1em;color:#c79d6e;margin-bottom:9px}
.globe-phase-key small{display:block;font:8px/1.5 monospace;letter-spacing:.08em;color:#929e90;margin-top:5px}
.globe-phase-key>span:first-child{color:#e5bf8e}
.globe-market-list{margin-top:17px;color:#a5b1a4;font-size:11px;line-height:1.6}
.globe-market-list summary{cursor:pointer;font:10px/1.7 monospace;letter-spacing:.04em;list-style-position:inside;padding:5px 0}
.globe-market-list summary:hover{color:#e0bd91}.globe-market-list summary:focus-visible{outline:1px solid #d4a16c;outline-offset:5px}
.globe-market-list ul{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:14px 0 0;margin:0;border-top:1px solid #ffffff12;gap:7px 16px}
.market-section.access-animated .globe-hub-one .globe-hub-glow{animation:globe-phase-one 20s ease-in-out infinite}
.market-section.access-animated .globe-hub-two,.market-section.access-animated .globe-hub-link{animation:globe-phase-two 20s ease-in-out infinite}
.market-section.access-animated .globe-serbia{animation:globe-phase-two 20s ease-in-out infinite}
.market-section.access-animated .globe-target{animation:globe-phase-three 20s ease-in-out infinite}
.market-section.access-animated .globe-route-base{animation:globe-path-emerge 20s ease-in-out infinite}
.market-section.access-animated .globe-pulse{animation:globe-expansion-pulse 20s ease-in-out infinite;animation-delay:var(--route-delay)}
.market-section.access-animated .globe-destination{animation:globe-arrival 20s ease-in-out infinite;animation-delay:var(--route-delay)}
@keyframes globe-phase-one{0%,100%{opacity:.28}8%,78%{opacity:1}92%{opacity:.5}}
@keyframes globe-phase-two{0%,10%,100%{opacity:.3}22%,78%{opacity:1}92%{opacity:.45}}
@keyframes globe-phase-three{0%,25%,100%{opacity:.4}50%,80%{opacity:.95}94%{opacity:.5}}
@keyframes globe-path-emerge{0%,25%,100%{opacity:.1}45%,78%{opacity:.45}94%{opacity:.15}}
@keyframes globe-expansion-pulse{0%,32%{opacity:0;stroke-dashoffset:100}35%{opacity:.65}44%{opacity:.7;stroke-dashoffset:-6}48%,100%{opacity:0;stroke-dashoffset:-6}}
@keyframes globe-arrival{0%,40%,58%,100%{opacity:.45;fill:#a78f6c}45%,49%{opacity:1;fill:#ecc69b}}
@media(max-width:1100px){.market-access-layout{grid-template-columns:.85fr 1.15fr}.market-access-mapframe{margin:-40px -21% -5px -20%}.globe-phase-key{gap:12px;font-size:11px}.globe-phase-key small{font-size:7px}}
@media(max-width:800px){.market-access-layout{grid-template-columns:1fr}.market-access-mapframe{margin:-18px -9% -10px}.globe-phase-key{font-size:13px;gap:20px}.globe-phase-key small{font-size:9px}}
@media(max-width:500px){
 .market-access-mapframe{margin:5px -13% -12px;mask-image:linear-gradient(180deg,transparent,black 7%,black 86%,transparent)}
 .globe-place-labels{display:none}.globe-hub-labels text{font-size:22px}.globe-hub-labels .globe-label-phase{font-size:12px}.globe-hub-labels path{stroke-width:1.5}
 .globe-phase-key{grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:5px}.globe-phase-key>span:last-child{grid-column:1 / -1;border-top:1px solid #ffffff15;padding-top:15px}.globe-phase-key b{display:inline;margin-right:7px}
 .globe-market-list ul{grid-template-columns:repeat(2,1fr)}
 .market-section.access-animated .globe-route:nth-child(3n) .globe-pulse,.market-section.access-animated .globe-route:nth-child(3n + 1) .globe-pulse{animation:none;opacity:0}
}

.market-access-mapframe{mask-image:linear-gradient(90deg,transparent,black 18%,black 94%,transparent),linear-gradient(180deg,transparent,black 8%,black 79%,transparent);mask-composite:intersect}
@media(max-width:800px){.market-access-mapframe{mask-image:linear-gradient(90deg,transparent,black 8%,black 96%,transparent),linear-gradient(180deg,transparent,black 7%,black 86%,transparent)}}

@media(max-width:500px){.globe-hub-labels .globe-label-phase{display:none}}

/* 06 / Approved vector map: stationary geography, restrained directional access. */
.market-section .market-access-mapframe{margin:-30px -14% 0 -12%;mask-image:linear-gradient(180deg,black 85%,transparent);overflow:hidden}
.market-section .strategic-map{width:100%;height:auto;aspect-ratio:2220 / 1120}
.market-section .strategic-map text{font-family:Arial,sans-serif;font-weight:400;letter-spacing:1.5px}
.market-section .strategic-route-base{fill:none;stroke:#c5986c;stroke-width:1.6;opacity:.24}
.market-section .strategic-arrow{fill:none;stroke:#e1b88b;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;offset-distance:0%;offset-rotate:auto;offset-anchor:0px 0px;opacity:0}
.market-section .strategic-arrival{fill:#cba879;opacity:.5}
.market-section .strategic-origin,.market-section .strategic-second{opacity:.5}
.market-section.access-animated .strategic-arrow{animation:strategic-travel 22s linear infinite;animation-delay:var(--route-delay)}
.market-section.access-animated .strategic-arrival{animation:strategic-arrival 22s ease infinite;animation-delay:var(--route-delay)}
.market-section.access-animated .strategic-origin{animation:strategic-origin 22s ease infinite}
.market-section.access-animated .strategic-second{animation:strategic-second 22s ease infinite}
.market-section .strategic-pan-hint{display:none}
.market-section .market-access-mapframe:focus-visible{outline:1px solid #b9916c;outline-offset:4px}
@keyframes strategic-travel{0%,23%{offset-distance:0%;opacity:0}25%{opacity:.8}60%{offset-distance:100%;opacity:.8}63%,100%{offset-distance:100%;opacity:0}}
@keyframes strategic-arrival{0%,57%,70%,100%{opacity:.45}60%,64%{opacity:.9}}
@keyframes strategic-origin{0%,100%{opacity:.25}7%,17%{opacity:.9}25%,85%{opacity:.45}}
@keyframes strategic-second{0%,10%,100%{opacity:.25}17%,24%{opacity:.8}32%,85%{opacity:.45}}
@media(max-width:1100px){.market-section .market-access-mapframe{margin:-15px -18% 0 -15%}}
@media(max-width:800px){.market-section .market-access-mapframe{margin:10px -5% 0}.market-section .strategic-map text{font-size:32px}}
@media(max-width:500px){
 .market-section .market-access-mapframe{margin:16px -12px 0;overflow-x:auto;overflow-y:hidden;mask-image:linear-gradient(180deg,black 93%,transparent);scrollbar-width:thin;scrollbar-color:#806449 #182022;overscroll-behavior-x:contain}
 .market-section .strategic-map{width:850px;max-width:none;height:429px}
 .market-section .strategic-pan-hint{display:block;font:10px/1.6 monospace;color:#9aa79e;margin:12px 0 24px}
 .market-section .strategic-arrow{stroke-width:2.8}
}
@media(prefers-reduced-motion:reduce){.market-section .strategic-arrow{display:none}.market-section .strategic-origin,.market-section .strategic-second{opacity:.65}}
@media(min-width:501px){.market-section .market-access-mapframe{mask-image:linear-gradient(90deg,transparent,black 7%,black 97%,transparent),linear-gradient(180deg,black 85%,transparent);mask-composite:intersect}}
@media(min-width:1101px){.market-section .market-access-mapframe{margin-right:0}}
@media(min-width:801px) and (max-width:1100px){
 .market-section .market-access-layout{grid-template-columns:1fr;gap:35px}
 .market-section .market-access-copy{max-width:650px}
 .market-section .market-access-copy h2{max-width:650px}
 .market-section .market-access-copy>p{max-width:600px}
 .market-section .market-access-mapframe{margin:0}
 .market-section .market-access-figure figcaption{padding:0}
 .market-section .access-motion-toggle{margin-left:0}
}

/* 06 / Approved copper-horizon artwork + a registered, independent network layer. */
.market-art-section .market-access-layout{grid-template-columns:.68fr 1.32fr;align-items:center;gap:30px}
.market-art-section .market-access-copy{z-index:2}
.market-art-section .market-access-copy h2{font-size:clamp(36px,3.3vw,54px)}
.market-art-section .market-access-figure{min-width:0}
.market-art-scroll{margin:-30px -4% 0 -14%;position:relative;mask-image:linear-gradient(90deg,transparent,black 5%,black 98%,transparent),linear-gradient(180deg,black 78%,transparent);mask-composite:intersect}
.market-art-scene{position:relative;width:100%;aspect-ratio:1672 / 941;isolation:isolate}
.market-artwork{display:block;width:100%;height:100%;object-fit:contain}
.market-art-section .market-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.market-network .network-trace{fill:none;stroke:#c39869;stroke-width:2.2;opacity:.48}
.market-network .network-trail{fill:none;stroke:#efc392;stroke-width:4.6;stroke-linecap:round;opacity:.45}
.market-network .network-trail-glow{fill:none;stroke:#d99a54;stroke-width:10;stroke-linecap:round;opacity:.12;filter:url(#network-bloom)}
.market-network .network-head-bloom{fill:#e3a35e;filter:url(#network-bloom)}
.market-network .network-head-core{fill:#fff0d5;stroke:#f4c58c;stroke-width:1.2}
.market-network .network-destination{fill:#d9b182;stroke:#2b231c;stroke-width:1.5}
.market-network .network-arrival-ring{fill:none;stroke:#e9b880;stroke-width:2;opacity:0}
.market-network .network-hub-halo{fill:url(#network-halo)}
.market-network .network-hub-ring,.market-network .network-hub-echo{fill:none;stroke:#e5b482;stroke-width:2;opacity:.4}
.market-network .network-hub-core{fill:#ffe1b8;stroke:#bd8653;stroke-width:2}
.market-network .network-hub-2 .network-hub-core{fill:#ddba90}
.market-network .network-country-label{fill:#dfded4;font:22px Arial,sans-serif;letter-spacing:.7px;paint-order:stroke;stroke:#182125;stroke-width:6;stroke-linejoin:round}
.market-network .network-hub-captions text{fill:#f2d2aa;font:24px Arial,sans-serif;letter-spacing:.65px;paint-order:stroke;stroke:#604632;stroke-width:7;stroke-linejoin:round}
.market-network .network-hub-captions .network-hub-micro{font:15px monospace;letter-spacing:1.1px;stroke:#1c211f;stroke-width:5;fill:#d2b18a}
.market-art-section .globe-phase-key{margin-top:8px}
.market-pan-hint{display:none}
.market-art-scroll:focus-visible{outline:1px solid #c9a278;outline-offset:4px}
@media(max-width:1100px){
 .market-art-section .market-access-layout{grid-template-columns:1fr;gap:26px}
 .market-art-section .market-access-copy{max-width:720px}
 .market-art-section .market-access-copy h2{max-width:700px}
 .market-art-section .market-access-copy>p{max-width:630px}
 .market-art-scroll{margin:0 -3%}
 .market-art-section .market-access-figure figcaption{padding:0}
 .market-art-section .access-motion-toggle{margin-left:0}
}
@media(max-width:500px){
 .market-art-scroll{margin:18px -12px 0;overflow-x:auto;overflow-y:hidden;mask-image:linear-gradient(180deg,black 84%,transparent);scrollbar-width:thin;scrollbar-color:#92704d #182022;overscroll-behavior-x:contain}
 .market-art-scene{width:1000px;max-width:none}
 .market-art-section .market-network{max-width:none}
 .market-network .network-country-label{font-size:23px}
 .market-network .network-trace{stroke-width:2.8}
 .market-network .network-trail{stroke-width:5.5}
 .market-pan-hint{display:block;font:10px/1.6 monospace;color:#a7afa3;margin:8px 0 23px}
 .market-art-section .globe-phase-key{margin-top:0}
}
@media(min-width:501px){.market-art-scroll{mask-image:linear-gradient(90deg,transparent,black 5%,black 98%,transparent),linear-gradient(180deg,transparent,black 12%,black 78%,transparent);mask-composite:intersect}}

/* 06 / Supporting typography: improve readability without changing the map or figures. */
.market-art-section{--market-type-scale:1.25}
.market-art-section .market-access-micro,
.market-art-section .globe-phase-key b,
.market-art-section .globe-market-list summary,
.market-art-section .access-motion-toggle{font-size:calc(10px * var(--market-type-scale));line-height:1.7}
.market-art-section .market-access-anchor>span:last-child{font-size:calc(14px * var(--market-type-scale));line-height:1.65}
.market-art-section .globe-phase-key{font-size:calc(12px * var(--market-type-scale));line-height:1.6}
.market-art-section .globe-phase-key small{font-size:10px;line-height:1.7}
.market-art-section .market-access-figure figcaption p{font-size:calc(11px * var(--market-type-scale));line-height:1.75}
.market-art-section .market-access-scale p{font-size:calc(13px * var(--market-type-scale));line-height:1.75}
@media(max-width:1100px){.market-art-section{--market-type-scale:1.2}}
@media(max-width:500px){.market-art-section{--market-type-scale:1.15}}

/* Homepage closing sequence: quiet capital clarity, people and investor contact. */
.closing-ask::before,.closing-team::before,.closing-ask::after,.closing-team::after{display:none}
.closing-ask,.closing-team{background:#14191c;padding-block:100px}
.closing-ask .section-head h2,.closing-team .section-head h2,.closing-faq h2{font-size:clamp(34px,3.7vw,56px);line-height:1.12;letter-spacing:-.04em}
.closing-capital{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);border-top:1px solid #ffffff24;padding-top:44px}
.closing-amount{font-size:clamp(90px,10vw,150px);line-height:.95;letter-spacing:-.065em;color:#e9dece;font-weight:500}
.closing-capital-intro p{margin:0}.closing-capital-intro .closing-round{font-size:21px;color:#e2d9cd;margin-top:24px}
.closing-capital-intro .closing-programme{font-size:15px;color:#b99a78;line-height:1.6;margin-top:8px}
.closing-capital-intro .closing-objective{font-size:16px;line-height:1.8;color:#aab1ae;max-width:440px;margin-top:27px}
.closing-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px}
.closing-links a{font-size:14px;padding-block:12px;border-bottom:1px solid #9c795755;color:#d5b48d;text-decoration:none}
.closing-eyebrow{font:11px/1.6 monospace;text-transform:uppercase;letter-spacing:.12em;color:#aeb5b0;margin:0 0 18px}
.closing-allocation dl{margin:0}.closing-allocation dl>div{display:grid;grid-template-columns:1fr auto;gap:24px;padding:22px 0;border-top:1px solid #ffffff18;align-items:baseline}
.closing-allocation dt{font-size:16px;line-height:1.6;color:#bbc1bc}.closing-allocation dd{font-size:23px;letter-spacing:-.025em;color:#e9e4da;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.closing-allocation .closing-total{border-top-color:#ae875c80;margin-top:8px}.closing-total dt,.closing-total dd{color:#daba93}
.closing-team{border-top:1px solid #ffffff14}
.closing-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:58px 40px}
.closing-person{min-width:0;border-top:1px solid #ffffff20;padding-top:16px}
.closing-person:first-child{border-top-color:#ba9166}
.closing-portrait{aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#2c3336,#181e21 80%);margin-bottom:25px}
.closing-portrait>span{color:#78817e;font-size:clamp(60px,7vw,110px);font-weight:300;letter-spacing:-.06em}
.closing-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.closing-role{font:11px/1.6 monospace;text-transform:uppercase;letter-spacing:.12em;color:#bb9975}
.closing-person h3{font-size:clamp(22px,2vw,29px);font-weight:500;letter-spacing:-.025em;line-height:1.25;margin:10px 0 12px}
.closing-person p{font-size:15px;line-height:1.75;color:#a7afab;max-width:330px;margin:0}
.closing-faq{background:#111719;padding-block:95px;border-top:1px solid #ffffff14}
.closing-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.closing-faq h2{margin:20px 0}
.closing-faq details{border-top:1px solid #ffffff25}.closing-faq details:last-child{border-bottom:1px solid #ffffff25}
.closing-faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:25px;list-style:none;cursor:pointer;padding:25px 0;font-size:18px;color:#dddcd2;line-height:1.5}
.closing-faq summary::-webkit-details-marker{display:none}.closing-faq summary::after{content:'+';color:#c6a17c;font-size:22px}.closing-faq details[open] summary::after{content:'−'}
.closing-faq details p{margin:0;padding:0 35px 27px 0;font-size:16px;line-height:1.8;color:#aeb7b0}
.closing-investor{padding-block:125px;text-align:center;background:#151b1e}
.closing-investor h2{font-size:clamp(40px,5.3vw,76px);line-height:1.08;font-weight:500;letter-spacing:-.045em;max-width:820px;margin:0 auto}
.closing-investor-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:40px}
.closing-investor-contact{font-size:15px;line-height:1.8;color:#aab4ad;margin:28px 0 0}.closing-investor-contact a{color:inherit;text-decoration:none}
.closing-footer{background:#101517;padding:70px 0 30px;font-size:14px;color:#a7b0aa}
.closing-footer-grid{display:grid;grid-template-columns:1.2fr 1.25fr .65fr .8fr;gap:40px}
.closing-brand img{width:170px;height:auto;display:block}.closing-brand p{font-size:16px;line-height:1.7;max-width:300px;margin:22px 0 16px;color:#c1c7bf}.closing-brand>span{font-size:12px;line-height:1.8;display:block;max-width:260px}
.closing-footer h2{font:11px/1.6 monospace;text-transform:uppercase;letter-spacing:.12em;color:#d1b08a;margin:0 0 21px}
.closing-footer p{line-height:1.8}.closing-contact p{font-size:16px;color:#dbded3;margin:0 0 14px}.closing-contact p span{display:block;color:#a7b0aa;font-size:12px}
.closing-contact>a{display:block;overflow-wrap:anywhere;padding-block:7px}.closing-footer a{color:inherit;text-decoration:none}.closing-footer a:hover,.closing-links a:hover{color:#edc392}
.closing-footer ul{padding:0;margin:0;list-style:none}.closing-footer li a{display:inline-block;padding:7px 0;line-height:1.5}.closing-company{grid-column:2 / -1;border-top:1px solid #ffffff16;padding-top:26px}.closing-company h2{margin-bottom:10px}.closing-company p{margin:0}
.closing-footer-bottom{border-top:1px solid #ffffff20;margin-top:46px;padding-top:25px;display:flex;gap:20px 30px;align-items:center;font-size:12px;flex-wrap:wrap}
.closing-footer-bottom button{margin-left:auto;background:none;border:0;color:#c6b08e;font:inherit;cursor:pointer;min-height:44px;padding:10px 0}
.closing-back-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:45;width:48px;height:48px;border-radius:50%;border:1px solid #a2805b70;background:#1b2225;color:#d4b28c;cursor:pointer;font:24px/1 sans-serif;box-shadow:0 3px 18px #0004}
.closing-back-top[hidden]{display:none}.closing-back-top:hover{background:#283033}
.closing-footer :focus-visible,.closing-faq summary:focus-visible,.closing-links a:focus-visible,.closing-back-top:focus-visible{outline:2px solid #d2aa7b;outline-offset:5px}
@media(max-width:1100px){.closing-capital{gap:40px}.closing-footer-grid{grid-template-columns:1fr 1fr;gap:40px 55px}.closing-company{grid-column:1 / -1}.closing-faq-grid{gap:40px}.closing-people{gap:40px 26px}}
@media(max-width:800px){.closing-capital,.closing-faq-grid{grid-template-columns:1fr}.closing-people{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-ask,.closing-team,.closing-faq{padding-block:70px}.closing-investor{padding-block:90px}.closing-capital-intro .closing-objective{max-width:580px}}
@media(max-width:500px){.closing-people{grid-template-columns:1fr;gap:40px}.closing-person{display:grid;grid-template-columns:112px 1fr;gap:0 20px;padding-top:20px}.closing-portrait{grid-row:1 / 4;margin:0;align-self:start}.closing-portrait>span{font-size:42px}.closing-role{font-size:10px}.closing-person h3{font-size:21px;margin-top:8px}.closing-person p{font-size:14px;line-height:1.65}.closing-allocation dl>div{gap:14px;padding-block:20px}.closing-allocation dt{font-size:14px}.closing-allocation dd{font-size:20px}.closing-amount{font-size:94px}.closing-investor-actions{flex-direction:column;align-items:stretch}.closing-investor-contact a{display:block;overflow-wrap:anywhere}.closing-footer-grid{gap:35px 20px}.closing-brand,.closing-contact,.closing-company{grid-column:1 / -1}.closing-footer{padding-top:55px}.closing-footer-bottom{gap:8px 20px}.closing-footer-bottom button{margin-left:0}.closing-back-top{width:44px;height:44px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.closing-faq summary{font-size:17px}}
.closing-brand img{filter:brightness(0) invert(1);opacity:.88}
@media(min-width:501px){.closing-back-top{right:6px;width:44px;height:44px}}

/* Homepage Team is intentionally text-first; full portraits live on /team/. */
.closing-team-compact .closing-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;border-top:1px solid #ffffff18}
.closing-team-compact .closing-person{display:block;border-top:0;border-bottom:1px solid #ffffff18;padding:28px 0 30px}
.closing-team-compact .closing-person:first-child{border-top:0;border-bottom-color:#ba916655}
.closing-team-compact .closing-person h3{margin-top:9px}
.closing-team-compact .closing-person p{max-width:360px}
.closing-team-more{margin-top:34px}
.closing-team-more a{display:inline-flex;gap:12px;align-items:center;color:#d5b48d;text-decoration:none;font-size:14px;padding:12px 0;border-bottom:1px solid #9c795755}
.closing-team-more a:hover{color:#edc392}
.closing-team-more a:focus-visible{outline:2px solid #d2aa7b;outline-offset:5px}
@media(max-width:800px){.closing-team-compact .closing-people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.closing-team-compact .closing-people{grid-template-columns:1fr}.closing-team-compact .closing-person{display:block;padding:22px 0}.closing-team-compact .closing-person h3{font-size:21px}.closing-team-compact .closing-person p{font-size:14px;line-height:1.65}}

/* Homepage Team QA: align role, name and description baselines across the roster. */
@media(min-width:501px){
  .closing-team-compact .closing-person{
    display:grid;
    grid-template-rows:2.8em auto 1fr;
    align-content:start;
  }
  .closing-team-compact .closing-role{align-self:start}
  .closing-team-compact .closing-person h3{align-self:start;margin-top:9px}
  .closing-team-compact .closing-person p{align-self:start}
}

/* Institutional footer v2 — deliberately distinct from the graphite page body. */
.closing-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(760px 340px at 8% 0%,rgba(190,132,83,.09),transparent 68%),
    linear-gradient(180deg,#090d0f 0%,#070a0b 100%);
  border-top:1px solid rgba(190,140,94,.52);
  box-shadow:0 -34px 80px rgba(0,0,0,.18);
  padding:78px 0 28px;
  color:#959f99;
}
.closing-footer::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 72%);
}
.closing-footer-grid{gap:46px}
.closing-brand img{width:184px;opacity:.96}
.closing-brand p{
  max-width:340px;
  margin:24px 0 18px;
  color:#d4d8d2;
  font-size:17px;
  line-height:1.68;
}
.closing-brand>span{color:#747f79}
.closing-footer h2{color:#caa173}
.closing-contact{
  border-left:1px solid rgba(255,255,255,.09);
  padding-left:34px;
}
.closing-contact p{font-size:17px;color:#f0eee8}
.closing-contact>a{color:#bdc4bd}
.closing-footer nav{
  border-left:1px solid rgba(255,255,255,.07);
  padding-left:30px;
}
.closing-footer li a{color:#9ba49e}
.closing-company{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-top:10px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.10);
}
.closing-company h2{margin:0}
.closing-company p{text-align:right;color:#818b85}
.closing-footer-bottom{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#68736d;
}
.closing-footer-bottom button{color:#a88967}
@media(max-width:1100px){
  .closing-contact,.closing-footer nav{padding-left:0;border-left:0}
}
@media(max-width:500px){
  .closing-footer{padding-top:62px}
  .closing-company{display:block}
  .closing-company h2{margin-bottom:10px}
  .closing-company p{text-align:left}
}

