/* CLMS 3.2 / The material becomes the interface. */
.fabrication{position:relative;isolation:isolate;padding:140px 0 45px;overflow:hidden;background:radial-gradient(ellipse at 75% 26%,#1b3445 0,transparent 45%),#090f16}
.fabrication-atmosphere{position:absolute;inset:0;z-index:-2;background:url('../img/engineering-hero.png') center top/cover;opacity:.075;mask-image:linear-gradient(#000,transparent 75%)}
.fabrication:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#060e182e 5px 6px)}
.fabrication-main{display:grid;grid-template-columns:.92fr 1.3fr;align-items:center;gap:0;min-height:490px}
.fabrication-copy{position:relative;z-index:2;padding:28px 0 55px;pointer-events:none}
.fabrication-copy a{pointer-events:auto}
.fabrication h1{font-size:clamp(54px,5.2vw,84px);font-weight:500;line-height:1.07;letter-spacing:-.065em;margin:24px -90px 25px 0}
.fabrication h1 em{font-style:normal;color:#bad6dc}
.fabrication-lead{max-width:420px;font-size:14px;color:#b6c7cf;line-height:1.9}
.fabrication-actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.fabrication-skip{font-size:12px;border-bottom:1px solid #8dadba70;padding-bottom:5px;white-space:nowrap}
.fabrication-credit{display:flex;align-items:center;gap:15px;margin-top:43px;color:#97aeba}
.fabrication-credit>span{display:grid;place-items:center;width:38px;height:40px;border:1px solid #5e7582;font:16px var(--mono);color:#c3d8e2}
.fabrication-credit p{font-size:11px}.fabrication-credit small{display:block;font:9px/1.7 var(--mono);color:#7c95a3;margin-top:3px}
.fabrication-viewport{position:relative;height:540px;min-width:0;margin:0 -50px 0 -30px;cursor:grab;touch-action:pan-y}
.fabrication-viewport.dragging{cursor:grabbing}
.fabrication-viewport canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .5s}
.fabrication-viewport.rendered canvas{opacity:1}
.fabrication-model-label{position:absolute;top:3%;left:15%;right:7%;display:flex;justify-content:space-between;gap:20px;font:9px var(--mono);letter-spacing:.13em;color:#9ebcc9;pointer-events:none}
.fabrication-view-tools{position:absolute;bottom:5%;left:15%;right:7%;display:flex;align-items:center;gap:8px;cursor:default}
.fabrication-view-tools>span{font:9px var(--mono);letter-spacing:.03em;color:#a1b7c2;margin-right:auto}
.fabrication-view-tools button{border:1px solid #728c9a50;width:36px;height:36px;font-size:18px;background:#111e29b0;color:#bdd9df}
.fabrication-view-tools button:hover{border-color:var(--cyan);background:#264754}
.fabrication-stage-index{position:absolute;right:8%;bottom:19%;font:10px var(--mono);color:#72919f;pointer-events:none}
.fabrication-stage-index b{font-size:38px;font-weight:400;color:#aac5ce;letter-spacing:-.08em}
.fabrication-console{position:relative;margin-top:15px}
.fabrication-console-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;min-height:32px}
.fabrication-play{color:#c9e2e8;font:10px var(--mono);border:1px solid #506b7b;padding:10px 15px;min-height:38px}
.fabrication-play:before{content:'▷';margin-right:9px;color:var(--cyan)}.fabrication-play[aria-pressed=true]:before{content:'Ⅱ'}
.fabrication-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #537080;border-bottom:1px solid #537080}
.fabrication-tabs button{min-width:0;position:relative;display:flex;align-items:center;gap:13px;padding:23px 14px 23px 0;text-align:left;color:#9cadb8;transition:color .3s,background .3s}
.fabrication-tabs button+button{padding-left:22px;border-left:1px solid #3f586450}
.fabrication-tabs button>span{font:10px var(--mono);color:#728d9c}.fabrication-tabs button>b{font-size:12px;font-weight:500;line-height:1.5}
.fabrication-tabs button>i{position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #6ee0e750;transition:transform .5s}
.fabrication-tabs button[aria-selected=true]{color:#e2f2f5;background:linear-gradient(0deg,#36677335,transparent)}
.fabrication-tabs button[aria-selected=true]>i{transform:scaleX(1)}.fabrication-tabs button[aria-selected=true]>span{color:var(--cyan)}
.fabrication-bottom{display:grid;grid-template-columns:1.55fr 1fr;gap:65px;padding:30px 0 22px;min-height:207px}
.fabrication-panels h2{font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:-.035em;margin:9px 0 12px;line-height:1.25}
.fabrication-panels p:not(.eyebrow){font-size:12px;max-width:635px;color:#a9bbc5;line-height:1.8}
.fabrication-panels .eyebrow{font-size:9px;color:#879faa}
.fabrication-context{display:flex;flex-direction:column;align-items:flex-start;border-left:1px solid #45606e70;padding-left:36px}
.fabrication-context>p{font-size:15px;line-height:1.5;color:#ccdade}.fabrication-context>a{font-size:11px;color:var(--cyan);margin-top:12px}
.fabrication-disclaimer{border-top:1px solid #4c657032;padding-top:16px;font:9px/1.8 var(--mono);color:#7f98a6}
.panel-control{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:12px}
.panel-control button{font:10px var(--mono);border:1px solid #5c7d8b;padding:8px 13px;min-height:36px;color:#b5d6df}
.panel-control button[aria-pressed=true]{background:#72e0e81c;color:#98f4eb;border-color:#72e0e8}
.panel-control label{display:flex;align-items:center;gap:9px;font:9px var(--mono);color:#aac3ce}.panel-control input{width:85px;accent-color:var(--cyan)}.panel-control output{min-width:32px}
.fabrication-fallback{position:absolute;inset:0;display:grid;place-items:center;perspective:900px}
.fallback-panel{width:290px;height:210px;background:repeating-linear-gradient(0deg,#adc0c7 0 1px,#98adb7 1px 3px);border:1px solid #e3f5fb;box-shadow:0 8px #526d7b,0 14px #243b4b,0 55px 85px #000a;transform:rotateX(45deg) rotateZ(-28deg);position:relative;border-radius:7px}
.fallback-panel>b{position:absolute;top:28px;left:27px;font:18px var(--mono);color:#304a58;letter-spacing:.16em}
.fallback-panel>i{position:absolute;left:26px;top:68px;width:115px;height:55px;background:#0a1b25;border:4px solid #526773}
.fallback-panel>span{position:absolute;left:185px;top:70px;width:36px;height:36px;border:5px solid #566d7a;border-radius:50%;background:#1a303e;box-shadow:0 5px #304855}
.fallback-panel>span+span{top:132px;width:24px;height:24px;background:#3f9996}.fallback-panel small{position:absolute;left:28px;bottom:20px;color:#304c5d;font:10px var(--mono)}
.capabilities-section{padding-block:85px 20px}.capabilities-section>.section-heading h2{font-size:clamp(30px,3vw,48px)}
.capabilities-section .gateways{gap:22px}.capabilities-section .gateway{background:linear-gradient(145deg,#20323e80,#0c1720);border-color:#60798660}
.capabilities-section .offer-strip{margin-top:24px}
.process-bridge{display:flex;align-items:center;gap:30px;padding:26px 32px;margin-bottom:65px;border-top:1px solid #456473;border-bottom:1px solid #456473;background:linear-gradient(110deg,#25435360,transparent);transition:background .3s}
.process-bridge:hover{background:#28485860}.process-bridge>span:nth-child(2){min-width:0}.process-bridge small{display:block;font:9px/1.7 var(--mono);letter-spacing:.1em;color:#82adb9}.process-bridge b{display:block;font-size:18px;font-weight:500;letter-spacing:-.02em;margin-top:5px}.process-bridge em{font-size:11px;font-style:normal;color:var(--cyan);margin-left:auto;white-space:nowrap}
.bridge-glyph{position:relative;display:block;flex:0 0 64px;height:60px;perspective:300px}.bridge-glyph i{position:absolute;inset:12px 6px;background:linear-gradient(120deg,#a0bac6,#314e61);border:1px solid #97c4d2;transform:rotateX(50deg) rotateZ(-32deg)}.bridge-glyph i:nth-child(2){translate:0 -12px;opacity:.6}.bridge-glyph i:nth-child(3){translate:0 12px;opacity:.35}
.inner-page .page-heading{position:relative}.inner-page .page-heading:after{content:'';display:block;height:1px;margin-top:35px;background:linear-gradient(90deg,#7aa7b6,transparent 78%)}
.inner-page .page-heading h1{font-size:clamp(44px,5.5vw,84px);max-width:1100px;letter-spacing:-.055em}
.inner-page .page-heading .lead{max-width:700px}
.application-story{border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);background:radial-gradient(ellipse at 75% 45%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 60%),#0c1924;position:relative;overflow:hidden}
.flow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 25px;border-bottom:1px solid #49627260}.flow-head b{font-weight:500;font-size:21px;letter-spacing:-.025em}.flow-head>span{font:8px var(--mono);color:var(--accent);letter-spacing:.1em}
.flow-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #49627260}.flow-tabs button{font-size:10px;padding:17px 9px;color:#9eb5c2;line-height:1.5}.flow-tabs button>span{display:block;font:9px var(--mono);margin-bottom:6px;color:#688998}.flow-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 -2px var(--accent);color:var(--accent)}
.flow-panels{min-height:240px;padding:34px 30px;position:relative}.flow-panels h3{font-size:25px;line-height:1.4;max-width:340px;font-weight:500;letter-spacing:-.03em;margin-top:12px;position:relative;z-index:1}.flow-number{position:absolute;right:25px;top:20px;font:110px/1 var(--mono);color:color-mix(in srgb,var(--accent) 8%,transparent);letter-spacing:-.08em}.flow-trace{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:38px;width:80%;height:14px;background:linear-gradient(transparent 6px,#6895a350 6px 7px,transparent 7px)}.flow-trace i{width:12px;height:12px;background:#12313e;border:1px solid var(--accent);rotate:45deg}.flow-trace b{position:absolute;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px var(--accent)}.motion-enabled .flow-trace b{animation:flow-travel 3.8s ease-in-out infinite}.flow-note{font:9px/1.8 var(--mono);padding:18px 25px;color:#8eacb9;border-top:1px solid #49627260}
@keyframes flow-travel{0%,8%{left:0;opacity:0}16%{opacity:1}84%{opacity:1}94%,100%{left:100%;opacity:0}}
.motion-enabled.experience-ready .fabrication-copy>*{animation:hero-unfold .9s both}.motion-enabled.experience-ready .fabrication-copy h1{animation-delay:.12s}.motion-enabled.experience-ready .fabrication-lead{animation-delay:.2s}.motion-enabled.experience-ready .fabrication-actions{animation-delay:.28s}.motion-enabled.experience-ready .fabrication-credit{animation-delay:.36s}
.boot-top>span{letter-spacing:.12em}.boot-material{position:absolute;width:350px;height:180px;border:1px solid #a2c0ce;transform:rotateX(55deg) rotateZ(-28deg);background:linear-gradient(120deg,#647c8930,#b2d9e219,#1e394a20);box-shadow:0 3px #7895a350,0 5px #28455680;opacity:.6}.boot.active .boot-material{animation:material-intro 3.4s cubic-bezier(.2,.7,.2,1) both}.boot-rings{opacity:.25}.boot-disciplines{margin-top:42px}
@keyframes material-intro{0%{opacity:0;transform:rotateX(75deg) rotateZ(-50deg) scale(1.5)}25%{opacity:.6}70%{transform:rotateX(55deg) rotateZ(-28deg) scale(1)}100%{opacity:0;transform:rotateX(30deg) rotateZ(0deg) scale(.5)}}
@media(min-width:1700px){.fabrication-main{min-height:580px}.fabrication-viewport{height:620px}.fabrication{padding-top:150px}.fabrication h1{font-size:90px}.fabrication-copy{padding-bottom:75px}}
@media(max-width:1100px){.fabrication h1{font-size:58px}.fabrication-main{grid-template-columns:1fr 1.1fr}.fabrication-viewport{margin-right:-30px;margin-left:-60px;height:500px}.fabrication-actions{gap:16px}.fabrication-credit small{font-size:8px}.fabrication-tabs button{gap:8px}.fabrication-tabs button+button{padding-left:12px}.fabrication-tabs button>b{font-size:10px}.fabrication-bottom{gap:35px}.fabrication-context{padding-left:25px}}
@media(max-width:760px){.fabrication{padding-top:109px}.fabrication-main{display:flex;flex-direction:column;align-items:stretch;min-height:0}.fabrication-copy{padding:10px 0 0}.fabrication h1{font-size:clamp(44px,8.5vw,70px);margin:18px 0 20px;letter-spacing:-.06em}.fabrication-lead{max-width:510px;font-size:13px}.fabrication-copy>.eyebrow{font-size:8px}.fabrication-actions{margin-top:22px;gap:23px}.fabrication-actions .button{font-size:11px;min-height:44px}.fabrication-skip{font-size:11px}.fabrication-credit{display:none}.fabrication-viewport{height:350px;margin:14px -15px 0}.fabrication-model-label{left:5%;right:5%;top:6%;font-size:8px}.fabrication-view-tools{left:5%;right:5%;bottom:1%}.fabrication-view-tools>span{font-size:8px}.fabrication-stage-index{right:5%;bottom:17%}.fabrication-stage-index b{font-size:28px}.fabrication-console{margin-top:25px}.fabrication-console-head{gap:8px;margin-bottom:15px}.fabrication-console-head .eyebrow{font-size:8px;letter-spacing:.07em}.fabrication-play{font-size:8px;padding:8px 10px}.fabrication-tabs{grid-template-columns:repeat(3,1fr)}.fabrication-tabs button{padding:16px 9px;gap:9px;min-height:60px}.fabrication-tabs button+button{padding-left:10px}.fabrication-tabs button:nth-child(4){border-left:0}.fabrication-tabs button:nth-child(-n+3){border-bottom:1px solid #3f586450}.fabrication-tabs button>b{font-size:10px}.fabrication-bottom{grid-template-columns:1fr;gap:22px;padding:23px 0;min-height:280px}.fabrication-panels{min-height:142px}.fabrication-panels h2{font-size:23px;max-width:340px}.fabrication-context{border-left:0;border-top:1px solid #45606e70;padding:20px 0 0}.fabrication-context>p{font-size:13px}.fabrication-context>p br{display:none}.fabrication-context>a{margin-top:8px}.fabrication-disclaimer{font-size:8px}.capabilities-section{padding-top:55px}.process-bridge{padding:22px;gap:20px;flex-wrap:wrap;margin-bottom:40px}.process-bridge b{font-size:16px}.process-bridge small{font-size:8px}.process-bridge>span:nth-child(2){flex:1}.process-bridge em{width:100%;margin-left:84px;font-size:10px}.inner-page .page-heading h1{font-size:clamp(39px,8vw,57px)}.flow-panels{padding:28px 23px;min-height:240px}.flow-panels h3{font-size:22px}.flow-head{padding:20px}.flow-head>span{font-size:7px}.flow-tabs button{font-size:9px}.flow-note{font-size:8px}.boot-material{width:260px;height:135px}}
@media(max-width:370px){.fabrication h1{font-size:42px}.fabrication-tabs button{gap:6px}.fabrication-tabs button>b{font-size:9px}.fabrication-actions{gap:15px}.fabrication-actions .button{padding-inline:15px}.fabrication-viewport{height:310px}.fabrication-console-head{align-items:flex-start}.fabrication-console-head .eyebrow{max-width:145px}}
