@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}}




/* PROFRAG — controlled energy / measured outcome */
body.profrag{--teal:#14aaa7;--red:#d9473a;--night:#061414;--fog:#eef3f2}
.pf4-hero{min-height:100svh;background:#061414;color:white;position:relative;overflow:hidden;padding:182px 0 70px;display:flex;align-items:flex-end}.pf4-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,170,167,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(20,170,167,.08) 1px,transparent 1px);background-size:58px 58px}.pf4-rings{position:absolute;right:-9vw;top:5vh;width:min(58vw,850px);aspect-ratio:1;border:1px solid rgba(20,170,167,.25);border-radius:50%}.pf4-rings:before,.pf4-rings:after{content:'';position:absolute;border:1px solid rgba(20,170,167,.22);border-radius:50%;inset:13%}.pf4-rings:after{inset:29%;border-color:rgba(217,71,58,.34)}.pf4-cross{position:absolute;right:18vw;top:43%;width:20px;height:20px;border:1px solid var(--red);border-radius:50%}.pf4-cross:before,.pf4-cross:after{content:'';position:absolute;background:var(--red)}.pf4-cross:before{width:80px;height:1px;left:-30px;top:9px}.pf4-cross:after{height:80px;width:1px;left:9px;top:-30px}.pf4-hero .wrap{position:relative;z-index:2}.pf4-topline{display:flex;justify-content:space-between;border-bottom:1px solid #315050;padding-bottom:17px;margin-bottom:35px;font-size:9px;text-transform:uppercase;letter-spacing:.22em}.pf4-layout{display:grid;grid-template-columns:1.28fr .72fr;gap:7vw;align-items:end}.pf4-title{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(72px,10.3vw,166px);line-height:.72;letter-spacing:-.075em;margin:0}.pf4-title span{color:var(--teal)}.pf4-copy p{max-width:700px;font-size:clamp(17px,1.45vw,21px);line-height:1.65;color:#c7d4d2;margin:38px 0}.pf4-panel{border:1px solid #315050;background:rgba(4,20,20,.72);backdrop-filter:blur(5px)}.pf4-panel-head{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #315050;font-size:8px;text-transform:uppercase;letter-spacing:.18em}.pf4-panel-head b{color:var(--teal)}.pf4-panel ol{list-style:none;margin:0;padding:0}.pf4-panel li{display:grid;grid-template-columns:42px 1fr 22px;padding:17px 20px;border-bottom:1px solid #203f3f;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.pf4-panel li:last-child{border:0}.pf4-panel li span{color:#5a8c8a}.pf4-panel li b{color:var(--teal);text-align:right}
.pf4-principle{padding:150px 0;background:#edf3f2}.pf4-principle-grid{display:grid;grid-template-columns:.66fr 1.34fr;gap:10vw}.pf4-principle h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(52px,6.5vw,104px);line-height:.86;letter-spacing:-.06em;margin:25px 0}.pf4-principle h2 span{color:var(--teal)}.pf4-principle-copy{padding-top:17vh}.pf4-principle-copy p{font-size:20px;line-height:1.75;color:#687373}
.pf4-signal{background:#061414;color:white;padding:145px 0}.pf4-signal-head{display:grid;grid-template-columns:.68fr 1.32fr;gap:10vw}.pf4-signal h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(52px,6.3vw,100px);line-height:.86;letter-spacing:-.06em;margin:0}.pf4-signal h2 span{color:var(--teal)}.pf4-wave{height:130px;margin:75px 0 40px;position:relative;border-top:1px solid #2b4443;border-bottom:1px solid #2b4443}.pf4-wave svg{width:100%;height:100%}.pf4-wave path{fill:none;stroke:var(--teal);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-dasharray:1500;animation:pfWave 7s linear infinite}@keyframes pfWave{to{stroke-dashoffset:-1500}}.pf4-process{display:grid;grid-template-columns:repeat(6,1fr);border-left:1px solid #2b4443;border-top:1px solid #2b4443}.pf4-process div{padding:25px;min-height:190px;border-right:1px solid #2b4443;border-bottom:1px solid #2b4443}.pf4-process span{font-size:9px;letter-spacing:.18em;color:#608b89}.pf4-process b{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;display:block;font-size:24px;margin-top:55px}.pf4-process div:last-child b{color:var(--teal)}
.pf4-stack{padding:145px 0;background:#f3f6f5}.pf4-stack-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}.pf4-stack h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(52px,6.2vw,98px);line-height:.86;letter-spacing:-.06em;margin:0}.pf4-stack-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-left:1px solid #c4cecd;border-top:1px solid #c4cecd}.pf4-stack-grid div{padding:34px;min-height:270px;border-right:1px solid #c4cecd;border-bottom:1px solid #c4cecd;position:relative}.pf4-stack-grid span{font-size:9px;letter-spacing:.2em;color:#638d8b}.pf4-stack-grid b{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:29px;line-height:.95;display:block;margin-top:58px}.pf4-stack-grid p{font-size:12px;line-height:1.6;color:#687373}.pf4-stack-grid i{position:absolute;right:20px;top:18px;font-style:normal;color:var(--red)}
.pf4-energy{min-height:86vh;display:grid;grid-template-columns:1fr 1fr;background:#0a1717;color:white}.pf4-energy-media{background:url('https://static.wixstatic.com/media/b82a05_a3edfe6a020043239b0c5744fb6167bf~mv2.png/v1/fill/w_1600,h_1000,al_c,q_90/b82a05_a3edfe6a020043239b0c5744fb6167bf~mv2.png') center/cover no-repeat;position:relative}.pf4-energy-media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%)}.pf4-energy-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.pf4-energy-copy h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(46px,5.4vw,85px);line-height:.87;letter-spacing:-.055em}.pf4-energy-copy h2 span{color:var(--teal)}.pf4-energy-copy p{font-size:18px;line-height:1.75;color:#9db0ae}.pf4-footprint{padding:145px 0;background:var(--teal);color:#061414}.pf4-footprint-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw}.pf4-five{font-family:Arial Black,Impact,sans-serif;font-size:clamp(170px,26vw,420px);line-height:.62;letter-spacing:-.1em}.pf4-footprint h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(48px,5.5vw,88px);line-height:.88;letter-spacing:-.055em;margin:0 0 45px}.pf4-provinces{display:flex;flex-wrap:wrap;border-top:1px solid rgba(6,20,20,.35);border-left:1px solid rgba(6,20,20,.35)}.pf4-provinces span{flex:1 1 33%;padding:19px;border-right:1px solid rgba(6,20,20,.35);border-bottom:1px solid rgba(6,20,20,.35);text-transform:uppercase;font-size:10px;letter-spacing:.13em}.pf4-close{padding:155px 0;background:#061414;color:white}.pf4-close h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:clamp(68px,9.4vw,150px);line-height:.76;letter-spacing:-.075em;margin:27px 0 55px}.pf4-close h2 span{color:var(--teal)}
@media(max-width:900px){.pf4-hero{padding:140px 0 55px}.pf4-layout{grid-template-columns:1fr}.pf4-title{font-size:clamp(62px,19vw,100px)}.pf4-panel{margin-top:20px}.pf4-rings{width:100vw;right:-45vw}.pf4-principle-grid,.pf4-signal-head,.pf4-stack-head,.pf4-footprint-grid{grid-template-columns:1fr}.pf4-principle-copy{padding-top:20px}.pf4-process{grid-template-columns:1fr 1fr 1fr}.pf4-stack-grid{grid-template-columns:1fr 1fr}.pf4-energy{grid-template-columns:1fr}.pf4-energy-media{min-height:58vh}.pf4-energy-copy{padding:78px 20px}.pf4-provinces span{flex-basis:50%}}@media(max-width:560px){.pf4-process,.pf4-stack-grid{grid-template-columns:1fr 1fr}.pf4-process div{min-height:150px}.pf4-stack-grid div{min-height:230px}.pf4-provinces span{flex-basis:100%}.pf4-close h2{font-size:clamp(56px,16vw,90px)}}

.pf4-stack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pf4-stack-grid>*{min-width:0}.pf4-stack-grid b{overflow-wrap:anywhere}
@media(max-width:900px){.pf4-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pf4-rings{right:-55vw}.pf4-stack-grid{grid-template-columns:1fr}}
/* Industrial visual calibration */
:root{--sans:"Roboto",Arial,Helvetica,sans-serif;--display:"Roboto Slab","Roboto",Arial,Helvetica,sans-serif}
body.profrag{--teal:#147f88;--red:#b94b3c}
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}
@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
  }
}
