.hero{position:relative;background:var(--ink);overflow:hidden;min-height:calc(100svh - var(--hdr));display:flex;flex-direction:column;justify-content:flex-end}
.hero-photo{position:absolute;inset:0 0 0 30%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:46% 60%;filter:contrast(1.08) saturate(.9)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(13,15,17,.86) 22%,rgba(13,15,17,.2) 55%,rgba(13,15,17,0) 100%),linear-gradient(0deg,var(--ink) 0%,rgba(13,15,17,.55) 26%,transparent 50%)}
.callout{position:absolute;left:46.5%;top:66%;z-index:2;display:flex;align-items:center}
.callout .dot{width:14px;height:14px;border:1.5px solid var(--molten);border-radius:50%;position:relative;flex-shrink:0;translate:-7px 0}
.callout .dot::after{content:"";position:absolute;inset:3px;background:var(--molten);border-radius:50%}
.callout{translate:0 -7px}
.callout .leader{width:70px;height:1px;background:var(--molten);transform-origin:left;margin-left:-7px}
.callout .tag{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:rgba(13,15,17,.85);border:1px solid var(--molten);padding:7px 10px;color:var(--text);white-space:nowrap}
.callout .tag b{color:var(--molten);font-weight:500;margin-right:6px}
.hero-main{flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.hero-in{position:relative;z-index:3;padding-top:clamp(36px,5vh,72px);padding-bottom:26px}
.hero .h-xl{font-size:clamp(54px,7.2vw,112px)}
@media (max-height:820px) and (min-width:761px){.hero .h-xl{font-size:clamp(54px,6.4vw,92px)}.hero .lede{margin-top:18px}.hero-btns{margin-top:22px}.hero-dim{margin-bottom:14px}}
.hero-copy{max-width:640px}
.hero-dim{max-width:430px;margin-bottom:22px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .ln>span{display:inline-block}
.hero .lede{margin-top:26px;color:#c6ccce;max-width:50ch}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-note{color:var(--mute);margin:20px 0 0;font-size:11.5px}
.ops-wrap{position:relative;z-index:3;padding-bottom:28px}
.ops-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line-2)}
.ops-strip li{border-right:1px solid var(--line)}
.ops-strip li:last-child{border-right:0}
.ops-strip a{display:block;padding:14px 14px 4px;text-decoration:none;font-size:14px;line-height:1.25;color:#d7dbdc;font-weight:600;font-stretch:88%;position:relative;transition:color .2s}
.ops-strip a span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--molten);font-weight:500;margin-bottom:5px}
.ops-strip a::before{content:"";position:absolute;left:0;right:100%;top:-1px;height:2px;background:var(--molten);transition:right .35s var(--ease)}
.ops-strip a:hover{color:#fff}.ops-strip a:hover::before{right:0}
.ops-strip li:first-child a{padding-left:0}

@media (max-width:1100px){.ops-strip{grid-template-columns:repeat(4,1fr)}.ops-strip li:nth-child(4){border-right:0}.ops-strip li:first-child a{padding-left:14px}}
@media (max-width:760px){
  .hero{min-height:0;display:block}
  .hero-main{min-height:calc(100svh - var(--hdr));display:flex;flex-direction:column}
  .hero-photo{position:relative;inset:auto;flex:1 1 auto;min-height:170px}
  .hero .tx{display:none}
  .hero-photo img{position:absolute;inset:0;object-position:46% 62%}
  .hero-photo::after{background:linear-gradient(0deg,var(--ink) 0%,rgba(13,15,17,.1) 30%,rgba(13,15,17,.1) 100%)}
  .callout{left:52%;top:63%}
  .callout{top:auto;bottom:24%;left:44%}
  .callout .leader{width:34px}
  .callout .tag{font-size:10.5px;padding:5px 7px}
  .hero-in{padding-top:6px;padding-bottom:22px}
  .hero .eyebrow{font-size:11px;margin-bottom:12px}
  .hero-dim{display:none}
  .hero .h-xl{font-size:clamp(44px,13.4vw,62px)}
  .hero .lede{font-size:15.5px;margin-top:14px;line-height:1.5}
  .hero-btns{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero-btns .btn{justify-content:center;padding:15px 10px;font-size:12px}
  .hero-note{display:none}
  .hero .lede .lx{display:none}
  .ops-strip{grid-template-columns:1fr 1fr}
  .ops-strip li{border-right:0;border-bottom:1px solid var(--line)}
  .ops-strip li:nth-child(odd){border-right:1px solid var(--line)}
  .ops-strip li:last-child{grid-column:1/-1;border-right:0}
  .ops-strip a{padding:11px 10px 10px;font-size:13px}
  .ops-strip li:nth-child(odd) a{padding-left:0}
  .ops-strip li:last-child a{padding-left:0}
}


.route{background-color:var(--graphite)}
.route-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.route-in .drawing{align-self:start;position:sticky;top:max(calc(var(--hdr) + 20px),calc(50vh - var(--dwh,256px) + var(--hdr)/2))}
.route-copy .lede{margin:22px 0 30px}
.rail{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rail li{position:relative;border-bottom:1px solid var(--line)}
.rail button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:62px 1fr;column-gap:12px;width:100%;padding:11px 0 12px;cursor:pointer}
.rail .n{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--mute);padding-top:3px;transition:color .3s}
.rail .t{font-weight:700;font-stretch:88%;font-size:17px;color:#c3c9cb;transition:color .3s}
.rail .d{grid-column:2;font-size:14px;color:var(--mute);line-height:1.45}
.rail button:hover .t{color:#fff}
.rail li.on .n,.rail li.on .t{color:var(--molten)}
.rail li.on .t{color:#fff}
.rail .bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;display:block}
.rail .bar i{display:block;height:100%;width:0;background:var(--molten)}
.rail li.done .bar i{width:0}
.drawing{margin:0;background:#101316;border:1px solid var(--line-2);padding:clamp(12px,1.6vw,22px)}
.drawing svg{width:100%;height:auto;display:block;color:#7d878c;overflow:visible}
.drawing .f{fill:none;stroke:#8c969b;stroke-width:1.6;transition:stroke .5s,stroke-width .5s}
.drawing .f.thick{stroke-width:2.2}
.drawing .f.fill{fill:#8c969b}
.drawing .hid{stroke-dasharray:6 5}
.drawing .cl{fill:none;stroke:#59636a;stroke-width:1;stroke-dasharray:18 4 3 4}
.drawing .dl,.drawing .ext{fill:none;stroke:#646e74;stroke-width:1}
.drawing .dims text,.drawing .tb text{font-family:var(--mono);font-size:13px;fill:#9aa3a8;letter-spacing:.04em}
.drawing .lab{font-size:11.5px;fill:#7d878c}
.drawing .tb rect,.drawing .tb path{fill:none;stroke:#59636a;stroke-width:1}
.drawing .tb text{font-size:10px;fill:#7d878c}
.drawing .tb text.v{font-size:14px;fill:#e1e5e6}
.drawing .tb text.lab{font-size:10.5px}
.drawing .opl{opacity:0;transition:opacity .5s}
.drawing .opl path,.drawing .opl rect,.drawing .opl circle{fill:none;stroke:var(--molten);stroke-width:1.4}
.drawing .opl .flag{fill:rgba(255,90,31,.08)}
.drawing .hotx{font-family:var(--mono);font-size:12.5px;fill:var(--molten);letter-spacing:.03em}
.drawing .hotx.sm{font-size:11px}
.drawing .bal text{font-family:var(--mono);font-size:12px;fill:var(--molten);text-anchor:middle}
.drawing .bal circle{fill:#101316!important}
.drawing .arc{color:var(--molten)}
.drawing[data-active="0"] .o0,.drawing[data-active="1"] .o1,.drawing[data-active="2"] .o2,.drawing[data-active="3"] .o3{stroke:var(--molten);stroke-width:2.2;stroke-dasharray:10 6;animation:kerf 1.2s linear infinite}
.drawing[data-active="2"] .o2.fill{fill:var(--molten);stroke-dasharray:none}
.drawing[data-active="1"] .o1x,.drawing[data-active="2"] .o2x,.drawing[data-active="3"] .o3x,.drawing[data-active="4"] .o4x,.drawing[data-active="5"] .o5x{opacity:1}
.drawing[data-active="4"] .geo .f{stroke:#c9a089}
.drawing[data-active="5"] .geo .f{stroke:#b8c0c3}
@keyframes kerf{to{stroke-dashoffset:-32}}
.dwg-cap{display:flex;align-items:center;gap:10px;margin-top:12px;color:#d7dbdc;font-size:12px;border-top:1px solid var(--line);padding-top:12px}
.dwg-cap .live{width:8px;height:8px;background:var(--molten);flex-shrink:0}
@media (max-width:960px){.route-in{grid-template-columns:1fr}.drawing{order:-1}.route-in .drawing{position:relative;top:auto}}
@media (max-width:560px){.rail .d{display:none}.rail button{padding:9px 0}}


.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ind{display:flex;flex-direction:column;text-decoration:none;background:var(--steel);transition:background .3s}
.ind:hover{background:var(--steel-2)}
.ind .ph{aspect-ratio:4/3.3}
.ind .ph img{filter:saturate(.75) contrast(1.05)}
.ind-tx{padding:20px 20px 24px;display:grid;gap:8px}
.ind-tx .mono{color:var(--molten);font-size:11px}
.ind-tx p{margin:0;color:var(--mute);font-size:15px;line-height:1.5}
@media (max-width:1000px){.ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ind-grid{grid-template-columns:1fr}.ind{display:grid;grid-template-columns:120px 1fr}.ind .ph{aspect-ratio:auto;height:100%}.ind-tx{padding:16px}.ind-tx p{font-size:14px}}


.nums-in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,80px);align-items:center}
.nums-photo{position:relative}
.nums-photo .ph{aspect-ratio:4/4.2}
.ph-tag{position:absolute;left:0;bottom:0;background:var(--on-plate);color:var(--plate);padding:8px 12px;font-size:11px}
.nums-copy h2{max-width:18ch;margin-bottom:34px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 34px;border-top:1.5px solid var(--on-plate)}
.stats div{padding:16px 16px 18px 0;border-bottom:1px solid rgba(18,20,23,.2)}
.stats div:nth-child(n+4){border-bottom:0}
.stats dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-plate-mute);order:2}
.stats div{display:flex;flex-direction:column-reverse;gap:6px}
.stats dd{margin:0;font-weight:800;font-stretch:66%;font-size:clamp(40px,4.2vw,60px);line-height:1;font-variant-numeric:tabular-nums}
.stats dd small{font-size:.55em;color:var(--molten-deep);margin-left:2px}
@media (max-width:960px){.nums-in{grid-template-columns:1fr}.nums-photo .ph{aspect-ratio:16/10}}
@media (max-width:560px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(n+4){border-bottom:1px solid rgba(18,20,23,.2)}.stats div:nth-child(n+5){border-bottom:0}}


.voice-in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.voice-q{margin:0;border-left:2px solid var(--molten);padding-left:clamp(20px,3vw,40px)}
.voice-q .qmark{color:var(--molten);display:block;margin-bottom:18px}
.voice-q blockquote{margin:0;font-stretch:72%;font-size:clamp(28px,3vw,44px);line-height:1.04;text-transform:none;font-weight:700}
.voice-q figcaption{margin-top:24px;color:var(--mute);font-size:11.5px}
.voice-photo .ph{aspect-ratio:4/3}
@media (max-width:860px){.voice-in{grid-template-columns:1fr}}


.flow{background-color:var(--graphite)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2)}
.steps li{position:relative;border-right:1px solid var(--line)}
.steps li:last-child{border-right:0}
.steps button{all:unset;box-sizing:border-box;display:grid;gap:12px;align-content:start;padding:26px 26px 30px 0;cursor:pointer;width:100%;height:100%}
.steps li+li button{padding-left:26px}
.steps .n{color:var(--mute);transition:color .3s}
.steps .t{color:#c3c9cb;transition:color .3s}
.steps .d{color:var(--mute);font-size:15px;line-height:1.5}
.steps li.on .n{color:var(--molten)}
.steps li.on .t,.steps button:hover .t{color:#fff}
.steps .bar{position:absolute;left:0;right:0;top:-1px;height:2px;display:block}
.steps .bar i{display:block;height:100%;width:0;background:var(--molten)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(2){border-right:0}.steps li:nth-child(n+3){border-top:1px solid var(--line)}.steps li:nth-child(3) button{padding-left:0}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.steps li{border-right:0;border-top:1px solid var(--line)}.steps li+li button{padding-left:0}.steps button{padding:18px 0 20px;gap:8px}.steps .d{font-size:14px}}
@media (max-width:760px) and (max-height:700px){.hero .lede{font-size:15px}.hero .h-xl{font-size:44px}.hero-in{padding-bottom:16px}.hero .eyebrow{margin-bottom:8px}.hero-photo{min-height:120px}}

.flow .est{justify-self:end;max-width:520px;display:grid;gap:26px}
.est-card{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center;text-decoration:none;color:var(--text);border-top:1px solid var(--line-2);padding-top:22px}
.est-ph{display:block}
.est-ph .ph{display:block;aspect-ratio:1}
.est-ph img{object-position:40% 30%}
.est-t{display:grid;gap:4px}
.est-t .mono{color:var(--molten);font-size:10.5px}
.est-t b{font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.05}
.est-t small{color:var(--mute);font-size:14px;line-height:1.45}
.est-card:hover b{color:var(--molten)}
@media (max-width:860px){.flow .est{justify-self:start}}
@media (max-width:480px){.est-card{grid-template-columns:88px 1fr;gap:14px}.est-t b{font-size:18px}}
.drawing .opl{color:var(--molten)}
.drawing[data-active="5"] .opl{opacity:1}
.drawing .opl .solid{fill:var(--molten)}
.drawing .nt{font-family:var(--mono);font-size:10.5px;fill:#7d878c;letter-spacing:.04em;transition:fill .5s}
.drawing[data-active="1"] .n1,.drawing[data-active="4"] .n3{fill:var(--molten)}
.drawing .tb text.v2{font-size:12px;fill:#e1e5e6}
.drawing .bal text{font-size:11px}
