@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800;900&family=Roboto+Slab:wght@400;500;600;700;800;900&display=swap");

/* =========================================================
   V4 FLAGSHIP SYSTEM — production-facing corporate polish
   ========================================================= */
:root{--ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-padding-top:90px}
body{font-kerning:normal;text-rendering:optimizeLegibility}
::selection{background:var(--ink);color:var(--bg)}
.mast{mix-blend-mode:normal}.mast.scrolled{background:color-mix(in srgb,var(--dark) 95%,transparent)!important}
.desktop-nav{gap:clamp(18px,2.1vw,34px)}
.brand-name{font-size:14px}.brand-sub{font-size:7.5px}
.v4-eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.23em;display:flex;align-items:center;gap:14px}
.v4-eyebrow:before{content:'';width:36px;height:1px;background:currentColor;opacity:.8}
.v4-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-weight:850}
.v4-rule{height:1px;background:currentColor;opacity:.2}
.v4-num{font-variant-numeric:tabular-nums lining-nums}
.v4-link{display:inline-flex;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:10px;letter-spacing:.18em;font-weight:850}.v4-link:after{content:'↗';font-size:17px;transition:transform .25s var(--ease)}.v4-link:hover:after{transform:translate(4px,-4px)}
.v4-gridbg{background-image:linear-gradient(to right,color-mix(in srgb,currentColor 8%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,currentColor 8%,transparent) 1px,transparent 1px);background-size:64px 64px}
.v4-reveal{opacity:1;transform:none;transition:transform .8s var(--ease)}.js .v4-reveal.is-visible{transform:none}
.v4-crop{overflow:hidden}.v4-crop img,.v4-crop .v4-media{transition:transform 1.2s var(--ease)}.v4-crop:hover img,.v4-crop:hover .v4-media{transform:scale(1.025)}
.page-hero{min-height:88svh!important;padding:190px 0 84px!important}.page-hero h1{font-size:clamp(66px,9.6vw,158px)!important;line-height:.82!important;letter-spacing:-.065em!important}.page-hero p{max-width:760px!important}.page .section{padding:clamp(96px,10vw,160px) 0!important}.page .two-col{gap:clamp(58px,9vw,150px)!important}.page .three-col{background:transparent!important;gap:0!important;border-top:1px solid var(--line);border-left:1px solid var(--line)}.page .three-col>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px!important;padding:clamp(28px,3.3vw,54px)!important}.page .list-row{padding:46px 0!important}.page .content-image{min-height:76vh!important}.footer{padding-top:clamp(80px,9vw,145px)!important}.footer-top{grid-template-columns:1.55fr .7fr .75fr!important}.footer-top h2{font-size:clamp(52px,7vw,108px)!important;max-width:900px!important}.footer-bottom{margin-top:90px!important}
@media(max-width:900px){.wrap,.wrap.narrow{width:calc(100% - 40px)!important}.page-hero{min-height:76svh!important;padding:135px 0 54px!important}.page-hero h1{font-size:clamp(52px,15vw,88px)!important}.footer-top{grid-template-columns:1fr!important}.footer-bottom{margin-top:55px!important}}
@media(max-width:520px){.wrap,.wrap.narrow{width:calc(100% - 32px)!important}.page-hero h1{font-size:clamp(48px,14vw,72px)!important}}
@media(prefers-reduced-motion:reduce){.js .v4-reveal{opacity:1;transform:none;transition:none}.v4-crop img,.v4-crop .v4-media{transition:none}}


/* ANDRU — a production machine */
body.andru{--blue:#0589e6;--blue2:#31a9f7;--night:#03131f;--steel:#dbe4e9}
.andru4-hero{min-height:100svh;position:relative;background:#02131f;color:white;display:flex;align-items:flex-end;overflow:hidden;padding:182px 0 66px}
.andru4-photo{position:absolute;inset:-3%;background:url('andru-bell.jpg') 62% 54%/cover no-repeat;filter:saturate(.92) contrast(1.04)}
.andru4-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,14,24,.98) 0%,rgba(1,14,24,.83) 35%,rgba(1,14,24,.28) 70%,rgba(1,14,24,.08)),linear-gradient(0deg,rgba(1,14,24,.84),transparent 54%)}
.andru4-hero .wrap{position:relative;z-index:2}.andru4-index{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.26);padding-bottom:17px;margin-bottom:33px;font-size:9px;text-transform:uppercase;letter-spacing:.22em;font-weight:850}.andru4-index span:last-child{color:#84cfff}
.andru4-title{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(76px,11.3vw,184px);line-height:.73;letter-spacing:-.075em;margin:0;max-width:1220px}.andru4-title .outline{-webkit-text-stroke:1.5px rgba(255,255,255,.82);color:transparent}.andru4-title .blue{color:var(--blue2)}
.andru4-bottom{display:grid;grid-template-columns:minmax(300px,640px) 1fr;gap:8vw;margin-top:46px;align-items:end}.andru4-bottom p{font-size:clamp(17px,1.5vw,22px);line-height:1.6;color:#d6e2e8;margin:0}.andru4-bottom .v4-link{justify-self:end;min-width:260px}
.andru4-side{position:absolute;right:28px;top:50%;z-index:3;transform:translateY(-50%) rotate(90deg);transform-origin:center;font-size:8px;text-transform:uppercase;letter-spacing:.24em;color:#a8c8da;white-space:nowrap}
.andru4-pulse{background:#0479c9;color:white;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.andru4-pulse .wrap{display:grid;grid-template-columns:.8fr 3.2fr;align-items:center;min-height:104px}.andru4-pulse-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:900;border-right:1px solid rgba(255,255,255,.25);height:100%;display:flex;align-items:center}.andru4-wave{height:70px;position:relative;overflow:hidden}.andru4-wave svg{position:absolute;inset:0;width:100%;height:100%}.andru4-wave path{fill:none;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1100;animation:andruPulse 5.8s linear infinite}.andru4-wave span{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:Arial Black,Impact,sans-serif;font-size:44px;letter-spacing:-.05em;background:#0479c9;padding-left:22px}@keyframes andruPulse{to{stroke-dashoffset:-1100}}
.andru4-system{background:#061a28;color:#fff;padding:clamp(110px,10vw,170px) 0}.andru4-system-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw;align-items:start}.andru4-system h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(52px,6.5vw,106px);line-height:.85;letter-spacing:-.065em;margin:0}.andru4-system h2 span{color:var(--blue2)}.andru4-system-copy{padding-top:7vh}.andru4-system-copy p{font-size:19px;line-height:1.7;color:#a9bdc9;max-width:650px}
.andru4-loop{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid #284050;border-left:1px solid #284050}.andru4-loop div{padding:34px;min-height:280px;border-right:1px solid #284050;border-bottom:1px solid #284050;position:relative}.andru4-loop span{font-size:9px;letter-spacing:.2em;color:#6faed4}.andru4-loop b{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(29px,3vw,48px);line-height:.92;display:block;margin-top:58px}.andru4-loop p{font-size:13px;line-height:1.6;color:#8fa5b3;margin-top:20px}.andru4-loop i{font-style:normal;position:absolute;right:24px;top:24px;color:#4d8bb1;font-size:20px}
.andru4-fleet{display:grid;grid-template-columns:1.15fr .85fr;min-height:92vh;background:#e9eef1}.andru4-fleet-media{background:url('andru-bell.jpg') 48% center/cover no-repeat;position:relative}.andru4-fleet-media:before{content:'ANDRU BLUE';position:absolute;left:32px;bottom:24px;font-family:Arial Black,Impact,sans-serif;font-size:clamp(42px,6vw,92px);line-height:.8;color:white;letter-spacing:-.06em;mix-blend-mode:overlay}.andru4-fleet-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.andru4-fleet-copy h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(50px,5.4vw,86px);line-height:.86;letter-spacing:-.06em;margin:26px 0}.andru4-fleet-copy h2 span{color:var(--blue)}.andru4-fleet-copy p{font-size:18px;line-height:1.7;color:#62727c;max-width:620px}.andru4-fleet-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b9c6cd;margin-top:42px}.andru4-fleet-facts div{padding:24px 16px 24px 0;border-bottom:1px solid #b9c6cd}.andru4-fleet-facts strong{display:block;font-family:Arial Black,Impact,sans-serif;font-size:38px;color:#071d2d}.andru4-fleet-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#75828a}
.andru4-work{padding:145px 0;background:#f6f8f9}.andru4-work-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.andru4-work-head h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(50px,6vw,98px);line-height:.86;letter-spacing:-.06em;margin:0}.andru4-tabs{margin-top:75px;border-top:1px solid #c8d3da}.andru4-tabbar{display:flex;gap:0}.andru4-tabbar button{appearance:none;border:0;border-right:1px solid #c8d3da;border-bottom:1px solid #c8d3da;background:transparent;padding:22px 34px;text-transform:uppercase;font-size:10px;letter-spacing:.17em;font-weight:900;color:#687681;cursor:pointer}.andru4-tabbar button.active{background:#071d2d;color:white}.andru4-panels{min-height:350px}.andru4-panel{display:none;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:70px 0}.andru4-panel.active{display:grid}.andru4-panel strong{font-family:Arial Black,Impact,sans-serif;font-size:clamp(44px,5vw,80px);text-transform:uppercase;line-height:.9}.andru4-panel p{font-size:18px;line-height:1.75;color:#65737c;max-width:730px}.andru4-commodities{background:#0479c9;color:#fff;padding:120px 0;overflow:hidden}.andru4-commodities .v4-eyebrow{margin-bottom:46px}.andru4-rail{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}.andru4-rail span{flex:1 1 25%;min-width:220px;padding:35px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(28px,3vw,48px);letter-spacing:-.04em}.andru4-clients{padding:140px 0;background:#071d2d;color:white}.andru4-clients h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(45px,5.5vw,88px);line-height:.88;letter-spacing:-.055em;max-width:1050px;margin:28px 0 65px}.andru4-clientgrid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #294151;border-top:1px solid #294151}.andru4-clientgrid span{padding:30px;border-right:1px solid #294151;border-bottom:1px solid #294151;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:850;color:#c8d7df}
@media(max-width:900px){.andru4-hero{padding:138px 0 54px}.andru4-title{font-size:clamp(63px,20vw,108px)}.andru4-bottom{grid-template-columns:1fr;gap:32px}.andru4-bottom .v4-link{justify-self:start;min-width:0}.andru4-side{display:none}.andru4-pulse .wrap{grid-template-columns:1fr}.andru4-pulse-label{display:none}.andru4-system-head,.andru4-work-head{grid-template-columns:1fr}.andru4-system-copy{padding-top:0}.andru4-loop{grid-template-columns:1fr 1fr}.andru4-fleet{grid-template-columns:1fr}.andru4-fleet-media{min-height:63vh}.andru4-fleet-copy{padding:78px 20px}.andru4-panel{grid-template-columns:1fr;gap:32px}.andru4-clientgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.andru4-loop{grid-template-columns:1fr}.andru4-loop div{min-height:220px}.andru4-tabbar{display:grid;grid-template-columns:1fr 1fr}.andru4-tabbar button{padding:17px 14px}.andru4-rail span{flex-basis:50%;min-width:0;padding:24px 18px}.andru4-clientgrid{grid-template-columns:1fr}}
/* Industrial visual calibration */
:root{--sans:"Roboto",Arial,Helvetica,sans-serif;--display:"Roboto Slab","Roboto",Arial,Helvetica,sans-serif}
body.andru{--blue:#2e6f8b;--blue2:#5a9bb0}
h1,h2,h3,h4,.section-title,.big-title,[class*="4-"] b,[class*="4-"] strong{font-family:var(--display)!important;font-style:normal!important;font-weight:800!important}
[class*="4-"] em,[class*="4-"] i{font-family:var(--display)!important;font-style:normal!important}
.page-hero h1{font-family:var(--display)!important;font-weight:800!important;line-height:.95!important;letter-spacing:-.025em!important;font-size:clamp(60px,8.4vw,138px)!important}
.pret4-title,.andru4-title,.math4-title,.coms4-title,.afr4-title,.mth4-title,.pf4-title{font-family:var(--display)!important;font-weight:800!important;font-style:normal!important;line-height:.86!important;letter-spacing:-.035em!important;margin:0!important}
.pret4-topline,.andru4-topline,.coms4-topline,.afr4-topline,.mth4-topline,.pf4-topline{margin-bottom:44px!important}
.pret4-deck,.andru4-bottom,.coms4-deck,.afr4-deck,.mth4-deck{margin-top:56px!important}
.pf4-copy p{margin-top:46px!important;margin-bottom:46px!important}
.andru4-commodities{background:var(--blue)!important}
@media(max-width:900px){.page-hero h1{font-size:clamp(52px,14vw,92px)!important}.pret4-title,.andru4-title,.math4-title,.coms4-title,.afr4-title,.mth4-title,.pf4-title{line-height:.88!important;letter-spacing:-.03em!important}}
@media(max-width:560px){.page-hero h1{font-size:clamp(46px,13vw,72px)!important}}


/* Balanced section headers */
:is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head){
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:clamp(42px,6vw,92px)!important;
  align-items:start!important
}
:is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head)>:is(.v4-eyebrow,.v4-kicker){
  align-items:flex-start!important;
  font-size:clamp(13px,1.05vw,16px)!important;
  line-height:1.4!important;
  letter-spacing:.14em!important;
  font-weight:850!important;
  padding-top:10px!important;
  max-width:340px!important
}
:is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head)>.v4-eyebrow:before{
  width:52px!important;
  height:2px!important
}
:is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head)>h2{
  font-size:clamp(48px,5.4vw,94px)!important;
  line-height:.94!important;
  letter-spacing:-.035em!important;
  max-width:820px!important
}
@media(max-width:900px){
  :is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head){
    grid-template-columns:1fr!important;
    gap:28px!important
  }
  :is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head)>:is(.v4-eyebrow,.v4-kicker){
    font-size:12px!important;
    padding-top:0!important;
    max-width:none!important
  }
  :is(.afr4-workshop-head,.afr4-throughput-head,.andru4-system-head,.andru4-work-head,.coms4-model-head,.coms4-cap-head,.math4-skills-head,.mth4-method-head,.pret4-architecture-head,.pret4-projects-head,.pf4-signal-head,.pf4-stack-head)>h2{
    font-size:clamp(46px,12vw,74px)!important
  }
}

/* VISUAL PASS 2026-08-24 — industrial hierarchy and responsive balance */
:root{--sans:"Roboto",Arial,Helvetica,sans-serif;--display:"Roboto Slab","Roboto",Arial,Helvetica,sans-serif}
body{font-family:var(--sans);text-rendering:optimizeLegibility}
h1,h2,h3,h4,.section-title,.big-title,[class*="4-"] b,[class*="4-"] strong{font-family:var(--display)!important;font-style:normal!important;font-weight:700!important}
[class*="4-"] em,[class*="4-"] i{font-family:var(--display)!important;font-style:normal!important}
.v4-eyebrow{font-weight:700!important;letter-spacing:.16em!important}
:is(.afr4-deck,.andru4-bottom,.coms4-deck,.mth4-deck,.pret4-deck){border-top:1px solid rgba(255,255,255,.26)!important;padding-top:22px!important;margin-top:clamp(34px,4vw,56px)!important}
:is(.afr4-deck,.andru4-bottom,.coms4-deck,.mth4-deck,.pret4-deck) p{line-height:1.75!important;max-width:700px!important}
:is(.afr4-deck,.andru4-bottom,.coms4-deck,.mth4-deck,.pret4-deck) .v4-link,.math4-copy>.v4-link,.pf4-copy>.v4-link{border:1px solid rgba(255,255,255,.42)!important;border-bottom:1px solid rgba(255,255,255,.42)!important;background:rgba(0,0,0,.16)!important;padding:15px 18px!important;min-width:0!important;white-space:nowrap}
.andru4-title{font-size:clamp(66px,9.6vw,150px)!important;line-height:.82!important;letter-spacing:-.035em!important;max-width:1160px!important}
.andru4-photo{filter:saturate(1) contrast(1.06)!important}
.andru4-photo:after{background:linear-gradient(90deg,rgba(1,14,24,.88) 0%,rgba(1,14,24,.68) 38%,rgba(1,14,24,.18) 76%),linear-gradient(0deg,rgba(1,14,24,.72),transparent 54%)!important}
@media(max-width:900px){
  .andru4-title{font-size:clamp(58px,17vw,100px)!important;line-height:.9!important}
  .andru4-bottom{grid-template-columns:1fr!important;gap:24px!important}
  .andru4-bottom .v4-link{justify-self:start!important}
}
@media(max-width:560px){.andru4-bottom p{font-size:16px!important;line-height:1.72!important}}
