:root{
  --ink:#0d1519;
  --ink-2:#111d23;
  --ink-3:#1b2a31;
  --paper:#f4f7f7;
  --paper-2:#e9eff1;
  --white:#fff;
  --steel:#a9bac2;
  --line:#ccd7dc;
  --muted:#5e7079;
  --teal:#00d3c7;
  --teal-dark:#008f89;
  --blue:#4b7cff;
  --coral:#ff694a;
  --yellow:#f4bb35;
  --shadow:0 24px 70px rgba(8,18,23,.12);
  --max:1240px;
  --radius:18px;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body::selection{background:rgba(0,211,199,.25)}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{padding:108px 0}
.section-sm{padding:72px 0}
.muted{color:var(--muted)}
.hide{display:none!important}

/* industrial top line */
.utility-bar,.spec-strip{background:#071013;color:#b9c9cf;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.utility-bar .container,.spec-strip .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility-bar .container>div,.spec-strip .container>div{display:flex;gap:22px;color:#6f8994}

/* header */
.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:5000;background:rgba(244,247,247,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,21,25,.11);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease}
.site-header.is-scrolled{background:rgba(244,247,247,.97);border-bottom-color:rgba(13,21,25,.16);box-shadow:0 12px 36px rgba(8,18,23,.13)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px;transition:height .22s ease}
.site-header.is-scrolled .nav-wrap{height:68px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:260px}
.brand img{width:44px;height:44px;flex:0 0 auto;filter:drop-shadow(0 8px 18px rgba(0,211,199,.15))}
.brand span{display:grid;line-height:1.12}
.brand strong{font-size:17px;letter-spacing:-.03em}
.brand em{margin-top:5px;color:var(--muted);font-family:var(--mono);font-size:9.5px;font-style:normal;letter-spacing:.11em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav>a:not(.nav-cta){padding:10px 10px;color:#35454c;font-size:13px;font-weight:700}
.main-nav>a:not(.nav-cta):hover,.main-nav>a.active{color:var(--ink)}
.main-nav>a.active{box-shadow:inset 0 -2px var(--teal)}
.nav-cta{margin-left:8px;padding:12px 18px;background:var(--ink);color:#fff!important;font-size:12px;font-weight:800;letter-spacing:.04em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.nav-cta:hover{background:var(--coral)}
.menu-toggle{display:none;width:48px;height:48px;border:0;background:var(--ink);padding:14px}
.menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff}

/* reusable typography */
.eyebrow,.kicker,.micro-label{display:inline-flex;align-items:center;gap:9px;color:var(--teal-dark);font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.eyebrow::before,.kicker::before{content:"";width:20px;height:2px;background:currentColor}
h1,h2,h3{margin:0 0 18px;line-height:1.08;letter-spacing:-.045em}
h1{font-size:clamp(45px,6vw,82px)}
h2{font-size:clamp(34px,4vw,54px)}
h3{font-size:22px}
p{margin:0 0 18px}.lead{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#52666f}
.gradient-text{background:linear-gradient(90deg,var(--teal-dark),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);align-items:end;gap:70px;margin-bottom:48px}
.section-head p{max-width:620px;color:var(--muted)}
.section-head h2{margin-top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;font-size:13px;font-weight:850;letter-spacing:.025em;transition:.2s ease;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover{background:#ea4f31;transform:translateY(-2px)}
.btn-secondary{border-color:#81939c;background:transparent;color:var(--ink)}.btn-secondary:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:var(--teal)}
.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* MECHANICAL HOMEPAGE */
.mechanical-home{background:#071013;color:#eef5f6}
.mechanical-home .site-header{background:rgba(9,17,21,.91);border-bottom-color:rgba(255,255,255,.09)}
.mechanical-home .site-header.is-scrolled{background:rgba(7,16,19,.97);border-bottom-color:rgba(0,211,199,.24);box-shadow:0 14px 42px rgba(0,0,0,.38)}
.mechanical-home .brand strong{color:#fff}.mechanical-home .brand em{color:#7f949d}
.mechanical-home .main-nav>a:not(.nav-cta){color:#9eb0b7}.mechanical-home .main-nav>a:not(.nav-cta):hover,.mechanical-home .main-nav>a.active{color:#fff}
.mechanical-home .nav-cta{background:var(--teal);color:#071013!important}.mechanical-home .nav-cta:hover{background:var(--coral);color:#fff!important}
.mech-hero{position:relative;overflow:hidden;padding:74px 0 68px;background:
 radial-gradient(circle at 80% 18%,rgba(75,124,255,.18),transparent 27%),
 radial-gradient(circle at 58% 80%,rgba(0,211,199,.12),transparent 30%),#071013}
.mech-hero::before{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000 55%,#000)}
.mech-hero::after{content:"";position:absolute;right:-200px;top:-210px;width:650px;height:650px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.015),0 0 0 180px rgba(255,255,255,.012)}
.mech-hero .container{position:relative;z-index:2}
.mech-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:56px;align-items:center}
.mech-copy{padding:40px 0}
.mech-copy .eyebrow{color:var(--teal)}
.mech-copy h1{margin-top:22px;color:#fff;font-size:clamp(53px,6.1vw,88px);max-width:720px}
.mech-copy h1 span{color:transparent;-webkit-text-stroke:1px #8fa3ac}
.mech-copy .lead{max-width:650px;color:#a9bcc4}
.mech-copy .hero-actions{margin-top:32px}
.mech-copy .btn-secondary{border-color:#51646d;color:#fff}.mech-copy .btn-secondary:hover{border-color:#fff;background:#fff;color:#071013}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:48px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.hero-metrics div{padding:18px;background:#0c171c}
.hero-metrics strong{display:block;color:#fff;font-family:var(--mono);font-size:17px}.hero-metrics span{display:block;margin-top:5px;color:#69818b;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

/* digital twin assembly */
.digital-twin-stage{position:relative;min-width:0}
.assembly-panel{position:relative;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:0 35px 100px rgba(0,0,0,.35);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.assembly-top{min-height:52px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#78909a}
.assembly-top b{color:var(--teal);font-weight:800}.assembly-top b::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 14px var(--teal)}
.assembly-viewport{position:relative;min-height:510px;overflow:hidden;background:radial-gradient(circle at 54% 48%,rgba(25,63,76,.72),rgba(9,18,22,.2) 45%,transparent 65%)}
.assembly-viewport::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%)}
.assembly-svg{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px)}
.rotate-slow{transform-origin:430px 250px;animation:spin 22s linear infinite}.rotate-reverse{transform-origin:530px 250px;animation:spinReverse 17s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}
.dimension-line{stroke-dasharray:5 6;animation:dash 16s linear infinite}@keyframes dash{to{stroke-dashoffset:-160}}
.solver-stack{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.solver-card{padding:11px 12px;border:1px solid rgba(255,255,255,.11);background:rgba(7,16,19,.86);backdrop-filter:blur(9px)}
.solver-card span{display:block;color:#6f8790;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.solver-card strong{display:block;margin-top:5px;color:#f3f8f9;font-family:var(--mono);font-size:12px}
.fea-key{position:absolute;right:18px;top:72px;width:13px;height:155px;background:linear-gradient(#f34738,#f4bc35,#4ad487,#16b9e7,#2741aa);border:1px solid rgba(255,255,255,.2)}
.fea-key::before,.fea-key::after{position:absolute;right:20px;color:#9fb0b6;font:9px var(--mono)}.fea-key::before{content:"312 MPa";top:-2px}.fea-key::after{content:"0";bottom:-2px}
.assembly-caption{display:flex;justify-content:space-between;gap:20px;padding:13px 18px;border-top:1px solid rgba(255,255,255,.1);color:#6d858e;font:10px var(--mono);letter-spacing:.09em;text-transform:uppercase}

.software-rail{background:#0c171c;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.software-rail .container{min-height:76px;display:grid;grid-template-columns:repeat(8,1fr);align-items:center}
.software-rail span{text-align:center;color:#718891;font:700 11px var(--mono);letter-spacing:.08em;border-right:1px solid rgba(255,255,255,.07)}
.software-rail span:last-child{border:0}.software-rail span:hover{color:var(--teal)}

.light-zone{background:var(--paper);color:var(--ink)}
.domain-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bdcbd1;border-left:1px solid #bdcbd1}
.domain-cell{position:relative;min-height:300px;padding:34px;border-right:1px solid #bdcbd1;border-bottom:1px solid #bdcbd1;overflow:hidden;background:#f8fafa;transition:.25s ease}
.domain-cell:hover{z-index:2;transform:translateY(-4px);box-shadow:var(--shadow);background:#fff}
.domain-cell::after{content:attr(data-code);position:absolute;right:-8px;bottom:-28px;color:#e7edef;font:800 92px var(--mono);letter-spacing:-.1em}
.domain-cell .domain-number{font:800 11px var(--mono);color:var(--coral);letter-spacing:.12em}.domain-cell h3{margin-top:50px;font-size:28px}.domain-cell p{position:relative;z-index:2;color:var(--muted)}
.domain-cell a{position:absolute;left:34px;bottom:28px;z-index:3;font-size:12px;font-weight:850}.domain-cell a span{color:var(--coral)}
.mech-icon{position:absolute;right:28px;top:26px;width:72px;height:72px;color:var(--teal-dark)}

.workflow-lab{background:#dfe7e9;color:var(--ink);position:relative;overflow:hidden}
.workflow-lab::before{content:"";position:absolute;inset:0;opacity:.35;background-image:radial-gradient(#91a5ad 1px,transparent 1px);background-size:18px 18px}
.workflow-lab .container{position:relative}
.workflow-track{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.workflow-step{position:relative;padding:28px;min-height:260px;background:rgba(255,255,255,.88);border-top:4px solid var(--ink);box-shadow:0 12px 38px rgba(20,38,46,.08)}
.workflow-step:not(:last-child)::after{content:"→";position:absolute;right:-24px;top:50%;z-index:3;width:32px;height:32px;display:grid;place-items:center;background:var(--coral);color:#fff;font-weight:900}
.workflow-step b{color:var(--teal-dark);font:800 12px var(--mono)}.workflow-step h3{margin-top:45px}.workflow-step p{color:var(--muted)}
.workflow-graphic{height:46px;margin-top:22px;border-bottom:1px solid #a9bac1;position:relative;overflow:hidden}
.workflow-graphic::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--coral));clip-path:polygon(0 50%,10% 20%,20% 80%,32% 15%,46% 70%,58% 33%,72% 55%,86% 10%,100% 50%,100% 100%,0 100%)}

.case-section{background:#0b1418;color:#eef5f6}
.case-section .section-head p{color:#849aa3}.case-section .kicker{color:var(--teal)}
.case-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.mech-case{position:relative;grid-column:span 4;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#111d23;min-height:470px}
.mech-case.large{grid-column:span 8}
.mech-case a{height:100%;display:flex;flex-direction:column}
.mech-case figure{margin:0;overflow:hidden;aspect-ratio:16/9;background:#111}
.mech-case img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.mech-case:hover img{transform:scale(1.04)}
.mech-case-copy{padding:26px;display:flex;flex:1;flex-direction:column}
.mech-case .tag{color:var(--teal)}
.mech-case h3{margin-top:14px;color:#fff;font-size:25px}.mech-case p{color:#859aa3}
.mech-case .case-link{margin-top:auto;color:#fff;font-size:12px;font-weight:850}.mech-case .case-link span{color:var(--coral)}

.output-zone{background:#f7f9f9;color:var(--ink)}
.output-wall{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}
.output-panel{min-height:320px;padding:28px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 45px rgba(14,31,39,.06)}
.output-panel.dark{background:#101a1f;color:#eaf2f4;border-color:#101a1f}
.output-panel h3{font-size:20px}.output-panel .readout{display:flex;justify-content:space-between;margin:16px 0;padding-bottom:12px;border-bottom:1px solid currentColor;opacity:.72;font:12px var(--mono)}
.stress-map{height:178px;margin-top:28px;border:1px solid #c5d1d6;background:radial-gradient(ellipse at 75% 45%,#f0473b 0 7%,#f2b93d 9% 18%,#55cf84 20% 34%,#20b8dd 36% 52%,#2b47aa 54% 70%,#eff4f5 72%);position:relative;overflow:hidden}
.stress-map::after{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(30deg,#fff 1px,transparent 1px),linear-gradient(150deg,#fff 1px,transparent 1px);background-size:18px 16px}
.cfd-lines{height:188px;margin-top:22px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 35% 50%,rgba(0,211,199,.13),transparent 35%)}
.cfd-lines i{position:absolute;left:-20%;width:140%;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);border-radius:50%;transform:rotate(var(--r)) translateY(var(--y));box-shadow:0 0 7px var(--teal)}
.modal-bars{height:180px;margin-top:28px;display:flex;align-items:end;gap:10px}.modal-bars span{flex:1;background:linear-gradient(var(--coral),var(--blue));height:var(--h);position:relative}.modal-bars span::after{content:attr(data-f);position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font:9px var(--mono);color:var(--muted)}

.research-band{background:var(--teal);color:#061013}
.research-band .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.research-band .kicker{color:#061013}.research-band .lead{color:#19383c}
.research-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(6,16,19,.35);border-left:1px solid rgba(6,16,19,.35)}
.research-points div{padding:26px;border-right:1px solid rgba(6,16,19,.35);border-bottom:1px solid rgba(6,16,19,.35)}
.research-points strong{display:block;font-size:19px}.research-points span{font-size:12px;color:#245358}

/* Generic interior pages */
.page-hero{position:relative;overflow:hidden;padding:92px 0 82px;background:#0d171c;color:#eef5f6}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 45%,rgba(0,211,199,.13),transparent 27%),linear-gradient(135deg,transparent 0 63%,rgba(255,255,255,.025) 63% 64%,transparent 64% 100%)}
.page-hero::after{content:"";position:absolute;right:7%;top:30%;width:210px;height:210px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.018),0 0 0 76px rgba(255,255,255,.012)}
.page-hero .container{position:relative;z-index:2}.page-hero h1{max-width:980px;margin-top:18px;font-size:clamp(44px,5.5vw,72px)}.page-hero .lead{max-width:800px;color:#93a8b1}.page-hero .eyebrow{color:var(--teal)}
.breadcrumbs{margin-bottom:26px;color:#78909a;font:11px var(--mono);letter-spacing:.06em}.breadcrumbs a{color:#c7d5da}.breadcrumbs a:hover{color:var(--teal)}

.grid-3,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.card{position:relative;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(10,28,36,.055);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.card::before{content:"";position:absolute;left:0;top:0;width:56px;height:3px;background:var(--teal)}
.card:hover{border-color:#9eafb7;box-shadow:0 20px 52px rgba(10,28,36,.11)}
.card-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:26px;background:var(--ink);color:var(--teal);font:800 13px var(--mono)}
.card h2{font-size:27px}.card p{color:var(--muted)}.card-link{display:inline-flex;margin-top:16px;color:var(--teal-dark);font-weight:800;font-size:13px}
.feature-list{padding:0;margin:20px 0 0;list-style:none}.feature-list li{position:relative;padding:10px 0 10px 20px;border-top:1px solid #e1e8ea;color:#475b64}.feature-list li::before{content:"";position:absolute;left:0;top:18px;width:7px;height:7px;border:2px solid var(--teal-dark);transform:rotate(45deg)}
.process .card{min-height:220px}.process .card::after{content:counter(step,decimal-leading-zero);counter-increment:step;position:absolute;right:18px;bottom:4px;color:#edf1f2;font:800 62px var(--mono)}.process{counter-reset:step}

/* projects */
.filter-bar{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:30px;align-items:end;margin-bottom:42px;padding:24px;background:#e3eaec;border:1px solid #cad5d9}
.search-input label{display:block;margin-bottom:9px}.search-input input{width:100%;height:52px;border:1px solid #aab9bf;background:#fff;padding:0 16px;outline:0}.search-input input:focus{border-color:var(--teal-dark);box-shadow:0 0 0 3px rgba(0,211,199,.13)}
.filter-buttons{display:flex;flex-wrap:wrap;gap:7px}.filter-buttons button{padding:9px 12px;border:1px solid #aab9bf;background:transparent;color:#3f535b;font:700 10px var(--mono);letter-spacing:.04em}.filter-buttons button:hover,.filter-buttons button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{padding:0;overflow:hidden}.project-card::before{z-index:3;background:var(--coral)}.project-card>a{display:flex;height:100%;flex-direction:column}.project-card figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#111}.project-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.project-card:hover img{transform:scale(1.04)}.project-card-content{display:flex;flex:1;flex-direction:column;padding:24px}.project-card h3{font-size:21px}.project-card p{font-size:14px}.project-card .card-link{margin-top:auto;padding-top:16px}.tag{display:inline-flex;color:var(--teal-dark);font:800 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chip{padding:5px 8px;background:#e8eff1;color:#52656d;font:9px var(--mono)}

/* project watch pages */
.video-shell{position:relative;background:#091114;border:1px solid #263840;padding:12px;box-shadow:0 30px 70px rgba(10,24,30,.18)}.video-shell::before{content:"VIDEO / MODEL WALKTHROUGH";position:absolute;top:-26px;left:0;color:#607780;font:9px var(--mono);letter-spacing:.1em}.video-shell video{width:100%;aspect-ratio:16/9;background:#05090b}
.seo-note,.notice{font-size:12px;color:#667a83}.seo-note code{font-family:var(--mono);color:var(--teal-dark)}
.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:58px;align-items:start}.content-prose{min-width:0}.content-prose h2{margin-top:48px;font-size:30px}.content-prose h2:first-child{margin-top:0}.content-prose p,.content-prose li{color:#435760}.content-prose ul{padding-left:21px}.content-prose li{padding:5px 0}.sidebar{position:sticky;top:110px}.sidebar .card{margin-bottom:16px}.info-list{display:grid;gap:12px}.info-list div{display:grid;gap:3px;padding-bottom:11px;border-bottom:1px solid #e1e8ea}.info-list span{color:#788b93;font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.info-list strong{font-size:13px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.result-item{padding:15px;background:#e9eff1;border-left:3px solid var(--teal-dark);font-size:13px;font-weight:750}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{padding:18px 30px 18px 0;cursor:pointer;font-weight:800}.faq details p{padding:0 0 18px}

/* contact/forms */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px}.contact-card{padding:34px;background:#fff;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:grid;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:12px;font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #adbdc4;background:#f8fafa;padding:14px;outline:0}.form-field textarea{min-height:150px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--teal-dark);box-shadow:0 0 0 3px rgba(0,211,199,.12)}

/* articles/legal */
.article{max-width:850px}.article-meta{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0 28px;color:var(--muted);font:11px var(--mono)}.content-prose img{margin:30px 0}.legal{max-width:900px}.legal h2{font-size:28px;margin-top:38px}

/* cta */
.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px 46px;background:var(--ink);color:#fff;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.cta-panel p{max-width:760px;color:#94a9b1}.cta-panel h2{font-size:36px}
.center-action{text-align:center;margin-top:42px}

/* footer */
.site-footer{background:#071013;color:#a5b7be;padding:72px 0 0}.site-footer .brand strong{color:#fff}.site-footer .brand em{color:#6f858e}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,.75fr);gap:55px}.footer-grid>div:first-child p{max-width:420px;margin-top:22px}.footer-grid h2{margin-bottom:20px;color:#fff;font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.footer-grid a{padding:5px 0;font-size:13px}.footer-grid a:hover{color:var(--teal)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding:22px 0;border-top:1px solid rgba(255,255,255,.09);font-size:11px}
.floating-wa{position:fixed;right:22px;bottom:22px;z-index:500;display:grid;place-items:center;width:54px;height:54px;background:var(--teal);color:#061013;font:900 12px var(--mono);box-shadow:0 15px 35px rgba(0,0,0,.25);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.floating-wa:hover{background:var(--coral);color:#fff}

/* legacy home classes safely themed */
.platform-strip{background:var(--ink);color:#8ba0a8}.platform-strip .container{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.platform-strip span{font:700 10px var(--mono);letter-spacing:.08em}.engineering-cards,.featured-project-grid,.process-line,.audience-layout,.audience-list,.hero-proof{display:grid}.featured-project-grid{grid-template-columns:2fr 1fr 1fr;gap:16px}.featured-project{background:#fff;border:1px solid var(--line)}.featured-project figure{margin:0}.project-copy{padding:24px}.process-line{grid-template-columns:repeat(4,1fr);gap:14px}.process-line article{padding:28px;background:#fff;border:1px solid var(--line)}.audience-layout{grid-template-columns:1fr 1fr;gap:50px}.audience-list{gap:1px;background:var(--line)}.audience-list>div{display:flex;gap:18px;padding:22px;background:#fff}.audience-list b{color:var(--coral);font:800 11px var(--mono)}.audience-list span{display:grid}.audience-list small{color:var(--muted)}

@media (max-width:1120px){
  .main-nav{position:fixed;top:82px;right:0;bottom:0;width:min(390px,100%);padding:24px;display:flex;flex-direction:column;align-items:stretch;gap:4px;background:#0b1519;transform:translateX(105%);transition:.25s ease;box-shadow:-20px 0 70px rgba(0,0,0,.28)}
  .site-header.is-scrolled .main-nav{top:68px}
  .main-nav.open{transform:none}.main-nav>a:not(.nav-cta){padding:15px;color:#a8bac1!important;border-bottom:1px solid rgba(255,255,255,.08)}.main-nav>a.active{color:#fff!important;box-shadow:none}.nav-cta{margin:15px 0 0;text-align:center}.menu-toggle{display:block}.brand{min-width:0}
  .mech-hero-grid{grid-template-columns:1fr}.mech-copy{padding-bottom:0}.digital-twin-stage{max-width:820px;width:100%;margin-inline:auto}.assembly-viewport{min-height:500px}
  .domain-rail{grid-template-columns:repeat(2,1fr)}.workflow-track{grid-template-columns:repeat(2,1fr)}.workflow-step:nth-child(2)::after{display:none}
  .project-grid,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}
  .output-wall{grid-template-columns:1fr 1fr}.output-panel:first-child{grid-column:1/-1}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}
}
@media (max-width:760px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.section-sm{padding:54px 0}.nav-wrap{height:72px}.site-header.is-scrolled .nav-wrap{height:64px}.main-nav{top:72px}.site-header.is-scrolled .main-nav{top:64px}.brand img{width:40px;height:40px}.brand strong{font-size:15px}.brand em{display:none}.utility-bar,.spec-strip{display:none}
  h1{font-size:44px}h2{font-size:35px}.section-head{grid-template-columns:1fr;gap:12px;margin-bottom:34px}
  .mech-hero{padding:44px 0}.mech-copy h1{font-size:50px}.hero-metrics{grid-template-columns:1fr}.hero-metrics div{display:flex;align-items:center;justify-content:space-between}.assembly-viewport{min-height:365px}.solver-stack{grid-template-columns:1fr 1fr}.solver-card:nth-child(n+3){display:none}.fea-key{height:100px}.assembly-caption{font-size:8px}
  .software-rail .container{grid-template-columns:repeat(4,1fr)}.software-rail span{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.07)}
  .domain-rail{grid-template-columns:1fr}.domain-cell{min-height:270px}.workflow-track{grid-template-columns:1fr}.workflow-step:not(:last-child)::after{display:none}
  .case-grid{display:grid;grid-template-columns:1fr}.mech-case,.mech-case.large{grid-column:auto;min-height:0}.output-wall{grid-template-columns:1fr}.output-panel:first-child{grid-column:auto}.research-band .container,.research-points,.split,.audience-layout{grid-template-columns:1fr}
  .page-hero{padding:70px 0 60px}.page-hero h1{font-size:43px}.page-hero::after{display:none}
  .grid-3,.grid-4,.project-grid,.featured-project-grid,.process-line,.service-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.project-layout{grid-template-columns:1fr;gap:36px}.sidebar{position:static}.result-grid{grid-template-columns:1fr}.contact-grid,.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}
  .cta-panel{align-items:flex-start;flex-direction:column;padding:34px 26px}.cta-panel h2{font-size:31px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.hero-actions,.cta-actions{flex-direction:column;align-items:stretch}.btn{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rotate-slow,.rotate-reverse,.dimension-line{animation:none!important}*{transition:none!important}}


/* V4.1 multidisciplinary engineering layer */
.integration-zone{background:#dfe7e9;border-block:1px solid #c3d0d4}
.coupling-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:24px;align-items:stretch}
.coupling-board{position:relative;overflow:hidden;background:#091317;color:#d8e5e8;border:1px solid #263b43;box-shadow:0 24px 60px rgba(9,19,23,.16)}
.coupling-board::after{content:"";position:absolute;inset:44px 0 28px;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px}
.coupling-board-top,.coupling-legend{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;background:#101e24;font:800 9px var(--mono);letter-spacing:.08em}
.coupling-board-top b{color:var(--teal)}.coupling-board svg{position:relative;z-index:1;display:block;width:100%;height:auto;min-height:410px}
.coupling-node rect{fill:#12242b;stroke:#53707a;stroke-width:1.5}.coupling-node text,.coupling-core text{fill:#edf7f8;font:800 13px var(--mono);letter-spacing:.06em}.coupling-node .sub,.coupling-core .sub{fill:#8ca2aa;font-size:10px;font-weight:500}.coupling-core circle:nth-of-type(2){fill:#0c181d;stroke:#dce8eb;stroke-width:1.5}.coupling-lines{stroke-dasharray:7 7;animation:couplingFlow 5s linear infinite}
.coupling-legend{background:#071013;color:#81969f}.coupling-legend span:last-child{color:var(--teal)}
.integration-list{display:grid;gap:1px;background:#b9c8cd;border:1px solid #b9c8cd}.integration-list article{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:24px;background:#f7f9f9}.integration-list article:hover{background:#fff}.integration-list b{display:grid;place-items:center;width:46px;height:46px;background:var(--ink);color:var(--teal);font:900 12px var(--mono)}.integration-list h3{margin-bottom:7px;font-size:19px}.integration-list p{font-size:13px;margin:0}
.cross-domain-callout{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-top:22px;padding:26px 30px;background:var(--ink);color:#fff}.cross-domain-callout span{color:var(--teal);font:900 10px var(--mono);letter-spacing:.1em}.cross-domain-callout strong{font-size:16px}.cross-domain-callout a{color:var(--teal);font:800 11px var(--mono)}
@keyframes couplingFlow{to{stroke-dashoffset:-28}}
@media (max-width:1000px){.coupling-grid{grid-template-columns:1fr}.integration-list{grid-template-columns:1fr 1fr}.cross-domain-callout{grid-template-columns:1fr}}
@media (max-width:760px){.coupling-board svg{min-height:0}.coupling-board-top,.coupling-legend{align-items:flex-start;flex-direction:column}.integration-list{grid-template-columns:1fr}.cross-domain-callout{padding:24px}.coupling-node text,.coupling-core text{font-size:11px}.coupling-node .sub,.coupling-core .sub{font-size:8px}}
@media (prefers-reduced-motion:reduce){.coupling-lines{animation:none!important}}
