/* Generated by scripts/build-compatible-colors.py — edit the source colors/styles files. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-0.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-1.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-2.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-3.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-4.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
:root{--radius-box:24px;--black:#231f20;--navy:rgba(33.0001, 6.0000, 14.0000, 1);--paper:#ffffff;--soft:#eae8ec;--muted:#8a8a9f;--line:#dedee2;--page-gutter:48px;--ease:cubic-bezier(.16,1,.3,1);--bs-body-font-family:Manrope,sans-serif;--bs-body-color:#231f20}
html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);font-weight:400;-webkit-font-smoothing:antialiased}::selection{background:#BE1A37;color:#ffffff}a{color:inherit;text-underline-offset:5px}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #BE1A37;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:700!important;letter-spacing:-.035em}p{line-height:1.6}section[id],article[id]{scroll-margin-top:95px}.btn{border-radius:100px;padding:12px 24px;font-size:14px;line-height:20px;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-light{background:#ffffff;border-color:#ffffff;color:#231f20}.btn-dark{background:#231f20;border-color:#231f20}.btn-outline-dark{border-color:#aaaaaa}.btn-outline-light{border-color:rgba(255.0000, 255.0000, 255.0000, 0.25098);color:#eeeeee}.skip-link{position:fixed;top:-80px;left:20px;z-index:2000;background:#ffffff;padding:15px}.skip-link:focus{top:15px}.site-header{position:fixed;inset:24px 24px auto;z-index:1000;padding:0;gap:16px;flex-wrap:nowrap;align-items:center}.nav-capsule{border:1px solid rgba(255.0000, 255.0000, 255.0000, 0.22);border-radius:100px;background:rgba(3.0000, 3.0000, 9.0000, 0.439216);backdrop-filter:blur(24px) saturate(160%);color:#ffffff;box-shadow:0 12px 36px rgba(0.0000, 0.0000, 0.0000, 0.38),inset 0 1px 1.5px rgba(255.0000, 255.0000, 255.0000, 0.25)}.brand{height:56px;display:flex;align-items:center;gap:14px;text-decoration:none;padding:0 26px;font-size:17px;border-radius:100px}.brand i{font-size:15px}.navbar-nav{padding:0 14px;height:56px;align-items:center;gap:8px}.site-header .nav-link{font-size:16px;font-weight:500;color:#f0f0f5;padding:7px 18px!important;border-radius:100px;transition:color .2s,background .2s}.site-header .nav-link:hover,.site-header .nav-link:focus{color:#ffffff;background:rgba(255.0000, 255.0000, 255.0000, 0.08)}.header-cta{margin-left:auto;height:56px;padding:0 30px!important;font-size:15px!important;font-weight:600!important;display:inline-flex!important;align-items:center;border-radius:100px!important;box-shadow:0 8px 24px rgba(0.0000, 0.0000, 0.0000, 0.25)!important}.navbar-toggler{height:56px;width:56px;font-size:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.navbar-toggler:focus{box-shadow:none}.site-header .navbar-collapse{flex-grow:0}
.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;transform:scale(var(--hero-scale,1));border-radius:var(--hero-radius,0);transform-origin:50% 100%;padding:128px var(--page-gutter) 48px}.display-title{font-size:clamp(56px,5.8vw,104px);line-height:.98;letter-spacing:-.03em;font-weight:700!important}.hero h1{position:relative;z-index:2;margin:0;max-width:1060px;pointer-events:none;text-transform:uppercase}.hero h1>span:first-child{color:#ffffff}.hero h1>span:last-child{display:inline-block;margin-top:0;color:rgba(255.0000, 216.0000, 223.0001, 1)}.hero-bottom{position:absolute;bottom:48px;left:var(--page-gutter);right:var(--page-gutter);display:flex;justify-content:space-between;align-items:flex-end;gap:48px;z-index:2}.hero-stats{gap:38px}.hero-stats>div{padding:0 0 0 20px;border-left:1px solid rgba(255.0000, 255.0000, 255.0000, 0.627451);min-width:120px}.hero-stats strong{display:block;font-size:72px;line-height:1.08;letter-spacing:-.04em;font-weight:300}.hero-stats span{display:block;font-size:14px;padding-top:12px}.hero-copy{width:512px;max-width:40%}.hero-copy h2{font-size:24px;line-height:1.38;letter-spacing:-.025em;margin-bottom:18px}.hero-copy p{font-size:16px;color:#9999b3;line-height:1.6;margin:0}.hero-actions{margin-top:64px}.text-link{font-size:14px;color:#eeeeee}#nebula-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;filter:none}.nebula-grain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0.08;mix-blend-mode:overlay;background-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22200%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.8%22 numOctaves=%224%22/%3E%3C/filter%3E%3Crect width=%22200%22 height=%22200%22 filter=%22url(%23n)%22/%3E%3C/svg%3E')}.section-container{width:calc(100% - 80px);max-width:1196px;margin-inline:auto}.partners{padding:72px 0 40px;overflow:hidden}.logo-lane{margin-bottom:36px}.logo-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.reverse .logo-track{animation-direction:reverse;animation-duration:44s}.logo-set{display:flex;gap:64px;align-items:center;padding-right:64px}.logo-set>span{font-size:32px;color:#bfc0c6;letter-spacing:-.04em;white-space:nowrap;display:flex;gap:20px;align-items:center}.logo-set i{font-size:27px}.logo-set .fa-caret-up{font-size:48px;line-height:.5}.partners:hover .logo-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.section-intro{margin-bottom:100px}.section-title{font-size:64px;font-weight:700!important;line-height:1.02;letter-spacing:-.04em}.inline-icon{display:inline-grid;place-items:center;vertical-align:middle;background:#BE1A37;color:#ffffff;width:48px;height:48px;border-radius:50%;font-size:25px;margin:0 10px}.small-label,p.small-label{line-height:1.6;position:relative;background:transparent;border-radius:100px;box-shadow:none;opacity:1;width:max-content;padding:3px 12px;margin:0 0 18px}.avatars{display:flex;align-items:center;margin-bottom:24px}.avatars .avatar-item{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2.5px solid #ffffff;box-shadow:0 4px 10px rgba(0.0000, 0.0000, 0.0000, 0.18);margin-left:-12px;position:relative;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;flex-shrink:0;background:#231f20}.avatars .avatar-item:first-child{margin-left:0;z-index:1}.avatars .avatar-item:nth-child(2){z-index:2}.avatars .avatar-item:nth-child(3){z-index:3}.avatars .avatar-item:nth-child(4){z-index:4}.avatars .avatar-item:hover{transform:translateY(-3px) scale(1.12);box-shadow:0 8px 18px rgba(0.0000, 0.0000, 0.0000, 0.3);z-index:10!important}:is(.service-card,.why-card) .avatars .avatar-item{border:none;background-color:rgba(0.0000, 0.0000, 0.0000, 0.00999999);border-radius:var(--radius-box);box-shadow:rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;padding:3px}img.avatars{width:143px;height:46px;object-fit:contain;margin-bottom:24px}
.engineering{height:875px;position:relative;border-top:1px solid var(--line)}.engineering-grid{display:grid;grid-template-columns:repeat(4,1fr);height:100%}.engineering-column{position:relative;border-right:1px solid var(--line);text-decoration:none;display:flex;align-items:flex-end;padding:30px 24px;overflow:hidden}.engineering-column:last-child{border-right:none}.engineering-column>span{font-size:36px;line-height:1.04;letter-spacing:-.04em;position:relative;z-index:1}.engineering-column>i{position:absolute;bottom:36px;right:25px;font-size:17px;opacity:0;transition:opacity .2s}.engineering-column:hover>i,.engineering-column:focus-visible>i{opacity:1}.engineering-column img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}.technology:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#ffffff)}.engineering-intro{position:absolute;left:calc(50% + 48px);top:108px;z-index:2;pointer-events:none}.engineering-intro h2{font-size:48px;line-height:1;letter-spacing:-.04em;margin-bottom:30px}.engineering-intro .btn{pointer-events:auto}
.momentum{height:100svh;min-height:800px;position:relative;overflow:hidden;padding:120px var(--page-gutter) 32px}.momentum h2{position:relative;z-index:2;color:#ffffff}.muted-title,.momentum-close{color:rgba(228.9999, 186.0001, 195.9999, 1)}.momentum-description{position:absolute;bottom:25px;left:var(--page-gutter);width:440px;font-size:16px;margin:0}.momentum-close{position:absolute;right:var(--page-gutter);bottom:26px;text-align:right;margin:0;line-height:.98}
.factory-video-toggle{position:absolute;top:125px;right:var(--page-gutter);z-index:5;width:44px;height:44px;border-radius:50%;background:rgba(18,18,20,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.3);transition:background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease}.factory-video-toggle:hover{background:rgba(18,18,20,.85);border-color:rgba(255,255,255,.5);transform:scale(1.08)}.factory-video-toggle:active{transform:scale(.96)}.factory-video-toggle:focus-visible{outline:2px solid #ffffff;outline-offset:3px}.factory-video-toggle i{width:14px;height:14px}.factory-video-toggle .icon-play{margin-left:2px}
.services{padding-top:100px}.services .section-intro{margin-bottom:58px}.services .section-intro h2{margin-bottom:30px}.service-card{height:418px;border-radius:var(--radius-box);background:var(--soft);position:relative;overflow:hidden;padding:32px;display:flex;flex-direction:column}.service-card h3{font-size:24px;line-height:1.2;z-index:1}.service-card p{font-size:18px;line-height:1.55;margin:0;margin-top:auto;position:relative;z-index:1}.service-icon{font-size:54px;color:#6b72a2;margin:auto;text-align:center}.capital img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.capital p{max-width:315px}.contact{padding-top:280px;padding-bottom:200px}.contact h2{max-width:670px;margin:0 auto 70px;text-align:center;font-size:24px;line-height:1.5;letter-spacing:-.025em}.field{position:relative;border-bottom:1px solid #bdbdbd;padding:8px 24px 10px 0;display:flex;align-items:center;min-height:56px}.field label{position:absolute;top:13px;left:0;font-size:18px;color:#888888;text-transform:uppercase;pointer-events:none;transition:font-size .2s,transform .2s}.field:focus-within label,.field.filled label{font-size:10px;transform:translateY(-17px)}.field input{border:0;border-radius:0;background:transparent;padding:0;font-size:18px;box-shadow:none!important;color:#231f20;caret-color:#BE1A37}.field:focus-within{border-color:#BE1A37}.field i{position:absolute;right:0;font-size:10px;color:#b8b8b8}.submit-wrap{margin-top:80px}.form-status{max-width:500px;margin:20px auto 0;font-size:14px;color:#414158}.form-status:empty{display:none}
.footer{position:relative}.modal-content{background:#090d18;color:#ffffff;border:1px solid rgba(255.0000, 255.0000, 255.0000, 0.12549);border-radius:var(--radius-box);overflow:hidden}.modal-header{border-color:rgba(255.0000, 255.0000, 255.0000, 0.082353);padding:24px}.modal-body{padding:24px}.modal-body>img{width:100%;border-radius:var(--radius-box)}.modal-body .btn{display:table;margin-inline:auto}.reveal-word{display:inline-block;animation:word-in .8s var(--ease) both;animation-delay:calc(var(--word,0)*65ms)}.reveal-text:not(.revealed) .reveal-word{animation-play-state:paused}@keyframes word-in{from{filter:blur(10px);opacity:.12;transform:translateY(8px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes heart-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(-3deg)}50%{transform:translateX(-50%) translateY(-20px) rotate(3deg)}}
@media(min-width:1700px){.hero-copy{width:560px}.hero-stats{gap:60px}}
@media(max-width:1100px){:root{--page-gutter:32px}.hero-stats{gap:18px}.hero-stats>div{min-width:90px;padding-left:14px}.hero-stats strong{font-size:54px}.hero-copy{max-width:43%}.hero-copy h2{font-size:21px}.hero-actions{margin-top:36px}.section-title{font-size:52px}.engineering-intro{left:53%;top:100px}.engineering-intro h2{font-size:38px}.momentum-close{font-size:70px}.momentum-description{width:340px}.service-card{padding:25px}.service-card p{font-size:16px}}
@media(max-width:767.98px){:root{--page-gutter:24px}.site-header{inset:16px 16px auto;gap:10px;align-items:center;flex-wrap:wrap}.brand{padding:0 18px;height:48px}.brand img{width:115px;height:36px}.navbar-toggler{order:2;height:48px;width:48px;font-size:19px}.header-cta{padding:0 20px!important;height:48px!important;font-size:13.5px!important;order:1}.site-header .navbar-collapse{order:3;flex-basis:100%;margin-top:8px}.navbar-nav{height:auto;align-items:stretch;gap:2px;padding:14px 18px;background:rgba(39.0000, 9.0000, 18.0000, 0.94902);border-radius:22px}.site-header .nav-link{padding:14px 14px!important;font-size:16px}.hero{min-height:850px;height:100svh;padding-top:128px}.display-title{font-size:clamp(34px,8.2vw,56px);line-height:1.02}.hero h1{max-width:600px}.hero-bottom{bottom:32px;display:flex;flex-direction:column-reverse;align-items:stretch;gap:40px}.hero-copy{width:100%;max-width:100%}.hero-copy h2{font-size:21px;max-width:420px}.hero-copy p{font-size:14px;max-width:440px}.hero-actions{margin-top:25px}.hero-stats{justify-content:space-between;gap:12px}.hero-stats>div{min-width:0;flex:1;padding-left:13px}.hero-stats strong{font-size:44px}.hero-stats span{font-size:11px;padding-top:7px}.section-container{width:calc(100% - 40px)}.partners{padding:50px 0 25px}.logo-lane{margin-bottom:24px}.logo-set{gap:36px;padding-right:36px}.logo-set>span{font-size:23px;gap:12px}.logo-set i{font-size:20px}.logo-set .fa-caret-up{font-size:35px}.section-intro{margin-bottom:45px}.section-title{font-size:40px;line-height:1.1}.inline-icon{width:33px;height:33px;font-size:17px;margin:0 4px}.engineering{height:auto;padding-top:0}.engineering-intro{position:relative;left:auto;top:auto;padding:55px 24px 40px;pointer-events:auto}.engineering-intro h2{font-size:36px}.engineering-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:330px 230px}.engineering-column{border-top:1px solid var(--line);padding:24px 20px}.engineering-column>span{font-size:29px}.engineering-column>i{display:none}.engineering-column:nth-child(2){border-right:0}.momentum{min-height:820px;height:100svh;padding:90px 24px 30px}.momentum-close{font-size:49px;bottom:105px;right:24px}.momentum-description{left:24px;bottom:25px;font-size:12px;width:calc(100% - 48px);max-width:360px}.factory-video-toggle{top:95px;right:24px;bottom:auto;left:auto;width:40px;height:40px}.services{padding-top:65px}.services .section-intro{margin-bottom:35px}.service-card{height:375px;padding:28px}.service-card h3{font-size:24px}.service-card p{font-size:18px;max-width:300px}.contact{padding-top:130px;padding-bottom:115px}.contact h2{font-size:23px;margin-bottom:60px;max-width:330px}.field label{font-size:16px}.submit-wrap{margin-top:55px}.footer-hero{height:600px;padding:70px 20px 0}.footer-hero h2{font-size:40px}.footer-links{padding:32px 12px}.footer-links p,.footer-links a{font-size:12px}.social{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track,.heart,.reveal-word{animation:none!important}.reveal-word{filter:none!important;opacity:1!important;transform:none!important}.project,.hero{transform:none!important}.btn,.portfolio{transition:none}}


/* Reuse the About composition for editorial content. */
.content-section{padding-top:100px;padding-bottom:28px}
@media(max-width:767.98px){.content-section{padding-top:65px;padding-bottom:5px}}

/* Brand glass surfaces: actions stay outside the translucent panel. */
.brand img{width:138px;height:42px;object-fit:contain}
.hero-glass,.hero-stats{border:1px solid rgba(255.0000, 255.0000, 255.0000, 0.278431)!important;text-shadow:0 1px 3px rgba(0.0000, 0.0000, 0.0000, 0.45098);-webkit-backdrop-filter:blur(32px) saturate(190%) contrast(110%) brightness(112%);backdrop-filter:blur(32px) saturate(190%) contrast(110%) brightness(112%);color:#ffffff!important;background:linear-gradient(135deg,rgba(255.0000, 255.0000, 255.0000, 0.141176) 0%,rgba(255.0000, 255.0000, 255.0000, 0.031373) 50%,rgba(255.0000, 255.0000, 255.0000, 0.090196) 100%)!important;transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)!important;box-shadow:inset 0 1.5px 2px rgba(255.0000, 255.0000, 255.0000, 0.74902),inset 0 -1px 2px rgba(255.0000, 255.0000, 255.0000, 0.121569),inset 0 0 20px rgba(255.0000, 255.0000, 255.0000, 0.058824),0 8px 32px rgba(0.0000, 0.0000, 0.0000, 0.380392),0 2px 8px rgba(0.0000, 0.0000, 0.0000, 0.2)!important;border-radius:var(--radius-box)}
.hero-glass{padding:26px 28px}
.hero-copy p{color:#f1f5f9}
.hero-actions{margin-top:24px}
.hero-stats{padding:24px;gap:24px}
.hero-stats>div{min-width:0;padding-left:18px;border-color:rgba(255.0000, 255.0000, 255.0000, 0.18)}
.hero-stats>div:first-child{padding-left:0;border-left:0}
.hero-stats strong{font-size:clamp(40px,4.6vw,68px)}
.hero-stats span{color:#f1f5f9}
.engineering-column{border:0;border-right:1px solid var(--line);background:#faf8f9;text-align:left;font-family:inherit;color:#231f20;cursor:pointer}
.engineering-column img{opacity:0;transform:scale(1.035);transition:opacity .35s,transform .6s var(--ease)}
.engineering-column:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33.0001, 6.0000, 14.0000, 0.031373) 30%,rgba(33.0001, 6.0000, 14.0000, 0.85098));opacity:0;transition:opacity .35s}
.engineering-column.is-active img,.engineering-column.is-active:after{opacity:1}
.engineering-column.is-active img{transform:scale(1)}
.engineering-column.is-active{color:#ffffff}
.engineering-column>span{font-size:30px;max-width:95%}
.engineering-column small{display:block;font-size:14px;letter-spacing:0;margin-bottom:18px}
.engineering-column>i{z-index:1}
.engineering-column:focus-visible{outline:3px solid #BE1A37;outline-offset:-4px}
.engineering-intro{left:calc(50% + 32px);right:32px;top:72px;background:rgba(255.0000, 255.0000, 255.0000, 0.929412);padding:32px;border-radius:var(--radius-box);box-shadow:0 12px 40px rgba(33.0001, 6.0000, 14.0000, 0.039216)}
.engineering.intro-left .engineering-intro{left:32px;right:calc(50% + 32px)}
.engineering-intro h2{font-size:40px;line-height:1.12;margin-bottom:20px}
.engineering-intro p:not(.engineering-step){font-size:16px;line-height:1.65;color:#5d5256;max-width:42ch;margin-bottom:24px}
.engineering-step{color:#BE1A37;font-size:14px;font-variant-numeric:tabular-nums;margin-bottom:20px}
.footer-logo{position:absolute;left:50%;bottom:64px;width:min(760px,80%);transform:translateX(-50%)}
.footer-logo img{display:block;width:100%;height:auto}
.logo-letter{transform-box:fill-box;transform-origin:center bottom;animation:logo-hop 4.8s cubic-bezier(.22,.61,.36,1) infinite;animation-delay:calc(var(--letter)*70ms);animation-play-state:paused}
.footer-logo.is-visible .logo-letter{animation-play-state:running}
@keyframes logo-hop{0%,6%,30%,100%{transform:translateY(0) scale(1)}10%{transform:translateY(1px) scale(1.02,.96)}17%{transform:translateY(-5px) scale(.99,1.02)}24%{transform:translateY(.5px) scale(1.01,.98)}}
@media(max-width:1100px){.hero-bottom{gap:24px}.hero-stats{gap:16px;padding:20px}.hero-glass{padding:22px}.hero-stats span{font-size:12px}.engineering-intro h2{font-size:32px}.engineering-column>span{font-size:25px}.faq{gap:40px}}
@media(max-width:767.98px){.hero{min-height:960px}.hero-bottom{gap:24px}.hero-glass{padding:22px}.hero-stats{padding:20px 16px;gap:10px}.hero-stats>div{padding-left:10px}.hero-stats strong{font-size:38px}.hero-stats span{font-size:10px}.hero-actions{gap:16px!important}.brand img{width:96px}.engineering-intro,.engineering.intro-left .engineering-intro{position:relative;inset:auto;box-shadow:none;border-radius:0;padding:48px 24px 32px;min-height:335px;background:#ffffff}.engineering-intro h2{font-size:32px}.engineering-grid{grid-template-rows:280px 280px}.engineering-column>span{font-size:24px}.engineering-column{border-top:1px solid var(--line)}.faq{display:block;padding-block:80px 30px}.faq-intro{position:static;margin-bottom:40px}.faq-item{padding-inline:14px}.faq-item summary{font-size:16px;gap:18px;padding-block:22px}.faq-answer{padding-right:0;font-size:15px}.footer-hero{height:520px}.footer-logo{width:86%;bottom:90px}}
@media(prefers-reduced-motion:reduce){.logo-letter{animation:none!important}.engineering-column img,.engineering-column:after,.faq-item,.faq-item summary :is(i,.ui-icon){transition:none!important}}
.partners .logo-set img{filter:none;opacity:1}
.partners .logo-set img{width:auto;height:38px;max-width:150px;object-fit:contain}
.partners .logo-set img{height:52px;max-width:180px}
.partners .logo-track{animation-delay:1.5s}
@media(max-width:767.98px){.partners .logo-set img{height:36px;max-width:125px}}
.partners .logo-track{animation:marquee 38s linear 1.5s infinite!important;width:max-content;justify-content:flex-start}
.partners .reverse .logo-track{animation-direction:reverse!important;animation-duration:44s!important}
.partners .logo-set{flex:0 0 auto;width:auto;padding-right:clamp(24px,2vw,40px);justify-content:flex-start;gap:clamp(24px,2vw,40px)}
.partners .logo-set img{flex:0 0 auto;width:auto;height:clamp(44px,4vw,72px);max-width:clamp(90px,11vw,220px);object-fit:contain}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero-glass,.hero-stats{background:#161927}}

/* Keep each process description and CTA inside its selected column's footprint. */
.engineering .engineering-intro{left:calc(var(--active-step,0)*25% + 12px);right:auto;top:40px;width:calc(25% - 24px);padding:24px 20px;pointer-events:auto}
.engineering .engineering-intro h2{font-size:28px;line-height:1.16}
.engineering .engineering-intro p:not(.engineering-step){font-size:14px;line-height:1.6}
.engineering .engineering-intro .btn{font-size:12px;padding:10px 16px}
.engineering-column>span{font-size:28px}
/* Extend the existing capsule navigation with Bootstrap dropdowns. */
.navbar-nav{position:relative}
.site-header button.nav-link{background:none;border:0;white-space:nowrap;font-family:inherit}
.site-header .dropdown-menu{border:1px solid #e9e1e4;border-radius:var(--radius-box);padding:16px;box-shadow:0 20px 52px rgba(33.0001, 6.0000, 14.0000, 0.101961);margin-top:14px;min-width:300px;max-height:75svh;overflow-y:auto}
.site-header .dropdown-item{font-size:15px;padding:11px 14px;border-radius:11px;color:#231f20;white-space:normal;font-weight:500}
.site-header .dropdown-item:hover,.site-header .dropdown-item:focus{background:rgba(249.0001, 237.0001, 239.9999, 1);color:#BE1A37}
.site-header .dropdown-heading{display:block;font-size:16px;font-weight:700;color:#BE1A37;padding:10px 14px 18px;text-decoration:none}
.nav-services{position:static}
.nav-services .dropdown-menu{width:880px;max-width:calc(100vw - 200px);left:0}
.nav-mega-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.nav-knowledge .dropdown-menu{left:auto;right:0}
@media(min-width:768px) and (max-width:1199.98px){.site-header{align-items:center;flex-wrap:wrap}.navbar-toggler{order:2;height:52px;width:52px;font-size:20px}.header-cta{order:1;height:52px!important;padding:0 24px!important;font-size:14px!important}.site-header .navbar-collapse{order:3;flex-basis:100%;margin-top:8px}.navbar-nav{height:auto;align-items:stretch;padding:14px 20px;background:rgba(39.0000, 9.0000, 18.0000, 0.929412);border-radius:var(--radius-box)}.site-header .nav-link{padding:14px 14px!important;font-size:16px;text-align:left}}
@media(max-width:1199.98px){.site-header .navbar-collapse{max-height:calc(100svh - 110px);overflow-y:auto}.site-header .dropdown-menu{position:static;width:100%;max-width:none;min-width:0;max-height:none;margin:4px 0 12px;box-shadow:none}.site-header button.nav-link{width:100%;text-align:left}.nav-mega-grid{grid-template-columns:1fr}.nav-services{position:relative}.layout-workflow .content-grid{grid-template-columns:1fr 1fr}.layout-knowledge .content-grid{grid-template-columns:1fr 1fr}.layout-knowledge .content-grid>div:first-child{grid-column:1;grid-row:1}.layout-knowledge .content-grid>div:nth-child(2){grid-column:2}.layout-knowledge .people-card{min-height:500px}.layout-knowledge .quote-card{height:100%}}
@media(max-width:767.98px){.engineering .engineering-intro{position:relative;left:auto;right:auto;top:auto;width:auto;padding:36px 24px;min-height:325px}.engineering .engineering-intro h2{font-size:30px}.engineering-column>span{font-size:24px}.layout-services .content-grid,.layout-industries .content-grid,.layout-workflow .content-grid,.layout-knowledge .content-grid{grid-template-columns:1fr}.layout-services .content-grid>div:first-child,.layout-knowledge .content-grid>div:first-child,.layout-knowledge .content-grid>div:nth-child(2){grid-column:auto;grid-row:auto}.layout-services .people-card,.layout-knowledge .people-card{min-height:480px;height:480px}.layout-workflow .content-grid article{height:380px}.layout-industries .people-card{height:460px}.layout-knowledge .quote-card{min-height:360px}.nav-mega-grid{gap:8px}}

/* Shared light-ribbon surface; image cards retain their original treatment. */
:is(.about-grid,.services) :is(.data-card,.quote-card,.countries-card,.service-card) :is(h3,strong,blockquote){color:#ffffff}
:is(.about-grid,.services) :is(.data-card,.quote-card,.countries-card,.service-card) :is(p,.small-label,.data-caption,span,a){color:rgba(255.0000, 241.0000, 243.0000, 1)}
:is(.data-card,.quote-card,.countries-card,.service-card) .service-icon{color:rgba(255.0000, 209.0000, 217.0002, 1)}
.quote-card .avatars{mix-blend-mode:normal}

.service-quote-cta{display:flex!important;align-items:center;gap:24px}.service-quote-cta .btn{margin-left:auto;color:#231f20!important}

/* Tất cả thẻ h đều dùng font-weight bold (700) */
h1, h2, h3, h4, h5, h6, .display-title, .section-title {
  font-weight: 700 !important;
}

/* ==========================================================================
   Editorial Content & Cards
   ========================================================================== */
.people-card{position:relative;overflow:hidden;border-radius:var(--radius-box);isolation:isolate}
.people-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.people-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg, rgba(255.0000, 255.0000, 255.0000, 0.75) 0%, rgba(255.0000, 255.0000, 255.0000, 0.25) 22%, rgba(255.0000, 255.0000, 255.0000, 0.65) 52%, #ffffff 76%, #ffffff 100%)}
.card-icon{position:absolute;right:28px;top:28px;z-index:2;display:grid;place-items:center;background:#ffffff;width:44px;height:44px;border-radius:13px;color:#BE1A37;box-shadow:0 4px 14px rgba(0.0000, 0.0000, 0.0000, 0.12)}
.people-card .people-stat{position:absolute;bottom:32px;left:32px;right:32px;z-index:2;background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important;color:#231f20}
.people-card .people-stat strong,.people-card .people-stat .big-number{font-size:64px;font-weight:700!important;line-height:1.02;letter-spacing:-.04em;color:#231f20;display:block;margin-bottom:12px}
.people-card .people-stat h3{font-size:26px;font-weight:700!important;line-height:1.15;letter-spacing:-.03em;color:#231f20;margin-bottom:8px}
.people-card .people-stat p{font-size:15px;color:#3b3b48;line-height:1.55;margin:0}
@media(max-width:767.98px){.people-card .people-stat{bottom:24px!important;left:24px!important;right:24px!important;padding:0!important}.people-card .people-stat strong{font-size:clamp(44px,12vw,64px)}}
.faq-item[data-expanded="false"] summary :is(i,.ui-icon){transform:rotate(0)}
.faq-item[data-expanded="true"] summary :is(i,.ui-icon){transform:rotate(45deg)}
.market-map{display:grid;place-items:center;flex:none;width:176px;height:176px;margin:28px auto;background-color:rgba(0.0000, 0.0000, 0.0000, 0.00999999);border-radius:100px;box-shadow:rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset}
.market-map img{display:block;width:120px;height:120px;object-fit:contain}
#location .service-card{height:auto;min-height:460px}
@media(max-width:767.98px){
 .market-map{width:176px;height:176px}#location .service-card{min-height:430px}
}

.faq{display:block;padding-block:100px 64px}
.faq-intro{position:static;text-align:center;margin:0 auto 48px;max-width:760px}
.faq-intro .section-title{line-height:1.12;margin-bottom:24px}
.faq-intro>p{max-width:58ch;margin:0 auto;color:#655a5e}
.faq-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px;border:0}
/* Shared card frame; state modifiers retain their own shadows. */
.faq-item,
.service-panel,
.process-card,
.why-card-white,
#location .market-card{border:1px solid rgba(0,0,0,0.04);box-shadow:0 2px 14px rgba(0,0,0,0.025)}
.faq-item{border-radius:var(--radius-box);padding:0;background:#ffffff;overflow:hidden}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;font-size:20px;line-height:1.4;font-weight:600;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-toggle{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;min-width:52px;border-radius:50%;background-color:#495057;color:#ffffff;transition:transform .25s ease,background-color .2s ease;flex-shrink:0}
.faq-toggle i{font-size:23px;color:#ffffff;display:block;transition:transform .25s ease}
:is(.faq-item[data-expanded="true"],.faq-item[open]:not([data-expanded="false"])) .faq-toggle i{transform:rotate(180deg)}
.faq-item summary:hover .faq-toggle,.faq-item summary:focus-visible .faq-toggle{background-color:#BE1A37}
.faq-answer{padding:0 28px 28px;color:#655a5e;font-size:16px;line-height:1.75}
.faq-answer p{margin:0}
@media(max-width:767.98px){.faq{padding-block:64px 30px}.faq-item summary{padding:20px;font-size:17px;gap:16px}.faq-answer{padding:0 20px 24px}}
/* Portfolio gallery */
.portfolio{--section-circuit:url('assets/section-circuits/portfolio.svg');position:relative;padding:80px 0;color:#ffffff}
.portfolio .blog-title{color:#ffffff}
.portfolio .blog-subtitle{color:#bfbfbf}
.project-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:16px}
.portfolio .project{position:relative;width:100%;min-width:0;min-height:240px;aspect-ratio:1.55;margin:0;border-radius:var(--radius-box);color:#ffffff;isolation:isolate;background:#172025}
.portfolio .project:focus-visible{outline:2px solid #ffffff;outline-offset:-4px}
:is(.project-card-number,.process-card-num,.service-panel-number,.industry-showcase-number,.project-number){font-weight:500;line-height:1;letter-spacing:-.05em;color:transparent}
.project-card-number{position:absolute;top:-31px;left:-18px;z-index:2;font-size:101px;font-variant-numeric:tabular-nums;-webkit-text-stroke:1px #d9d9d9;user-select:none;pointer-events:none;opacity:0;transition:opacity .25s ease}
.project-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:12px;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.project-copy h3{font-size:clamp(22px,1.8vw,28px);line-height:1.16;letter-spacing:-.035em;color:#ffffff;margin:0;max-width:100%;overflow-wrap:break-word}
.portfolio .project .project-image{position:absolute;inset:0;margin:0;padding:0;border:0;border-radius:inherit;overflow:hidden;z-index:0}
.portfolio .project-image>img:not(.capture-glass){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.portfolio .project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07101840 0%,#07101826 25%,#071018e6 100%);z-index:1;pointer-events:none;opacity:0;transition:opacity .25s ease}
.portfolio .project:is(:hover,:focus-within) :is(.project-copy,.project-card-number),.portfolio .project:is(:hover,:focus-within) .project-image:after{opacity:1}
.portfolio .project:is(:hover,:focus-within) .project-copy{pointer-events:auto}
.portfolio .project:hover .project-image>img{transform:scale(1.035)}
.portfolio .project .blog-btn-all{font-size:12px;gap:8px;padding-left:16px}
.project-prev>.ui-icon{transform:rotate(180deg)}
@media(max-width:1199.98px){.project-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.portfolio{padding:48px 0}.project-stack{grid-template-columns:minmax(0,1fr);gap:16px;padding:0}.portfolio .project{min-height:260px}.project-copy{padding:20px}.project-card-number{left:20px;font-size:48px}.project-copy h3{font-size:24px}}
@media(hover:none),(max-width:767.98px){.portfolio .project :is(.project-copy,.project-card-number),.portfolio .project .project-image:after{opacity:1}.project-copy{pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.project-copy,.project-card-number,.portfolio .project-image>img,.portfolio .project-image:after{transition:none}.portfolio .project:hover .project-image>img{transform:none}}

/* ==========================================================================
   Factory / Inside the Plant Section
   ========================================================================== */
#factory{margin-block:0;height:auto;min-height:0;padding:80px 0 48px;background:#ffffff;color:var(--ink,#111111);overflow:hidden}
.factory-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.factory-media-card{position:relative;aspect-ratio:1.48;margin:0;border-radius:var(--radius-box);overflow:hidden;background:#252525;opacity:0;transform:translateY(48px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.factory-media-card.revealed{opacity:1;transform:none}
.factory-media-card>img,.factory-media-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-height:none;transform:none;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.factory-media-card:is(:hover,:focus-within)>img{transform:scale(1.035)}
.factory-media-card:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 30%,#0004 55%,#000d 100%)}
.factory-media-number{z-index:2}
.factory-media-card figcaption{position:absolute;left:32px;right:32px;bottom:32px;z-index:2;padding:0;color:#ffffff}
.factory-media-card figcaption strong{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:8px 20px;border-radius:var(--radius-box);font-size:clamp(22px,2.1vw,30px);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#ffffff}
.factory-media-card figcaption p{font-size:16px;line-height:1.6;margin:18px 0 0;color:#ffffff}
.factory-media-card figcaption small{display:block;font-size:11px;color:#ffffff99;margin-top:8px}
.factory-media-card:focus-visible{outline:3px solid #BE1A37;outline-offset:-3px}
#factory .factory-video-toggle{top:20px;right:76px;left:auto;bottom:auto}
.factory-video-expand{position:absolute;top:20px;right:20px;z-index:5;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;background:#12121499;color:#ffffff;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s,transform .2s}
.factory-video-expand i{width:20px;height:20px}
.factory-video-expand:hover{background:#BE1A37;transform:scale(1.05)}
.factory-video-expand:focus-visible{outline:2px solid #ffffff;outline-offset:3px}
#factory :is(.factory-video-toggle,.factory-video-expand){position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:transparent;border:0;box-shadow:none;backdrop-filter:none;isolation:isolate}
#factory :is(.factory-video-toggle,.factory-video-expand):hover{background:#ffffff0d}
#factory :is(.factory-video-toggle,.factory-video-expand)>i{position:relative;z-index:1;pointer-events:none}

.factory-media-card:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0;transform:none;background:#000000;opacity:1}
.factory-media-card:fullscreen video{object-fit:contain}
.factory-media-card:fullscreen figcaption,.factory-media-card:fullscreen:after,.factory-media-card:fullscreen .factory-media-number{display:none}
.factory-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 12px 0;color:#555555}
.factory-gallery-footer p{font-size:14px;line-height:1.6;margin:0;max-width:550px}
@media(max-width:767.98px){
 #factory{margin-block:0;padding:48px 0 32px}
 .factory-work-grid{grid-template-columns:1fr;gap:16px}
 .factory-media-card{aspect-ratio:1.25}
 .factory-media-card figcaption{left:24px;right:24px;bottom:24px}
 .factory-media-number{top:24px;left:24px;font-size:64px}
 .factory-media-card figcaption strong{font-size:20px;padding:8px 16px}
 .factory-media-card figcaption p{font-size:14px}
 .factory-gallery-footer{flex-direction:column;align-items:flex-start;padding:28px 0 0}
}
@media(prefers-reduced-motion:reduce){.factory-media-card{opacity:1;transform:none;transition:none}.factory-media-card>img,.factory-media-card figcaption,.factory-video-expand{transition:none}}

/* Heading badges scale with their heading rather than a fixed desktop size. */
:is(h1,h2) .inline-icon{width:.78em;height:.78em;min-width:24px;min-height:24px;font-size:inherit;margin:0 .12em;vertical-align:middle;transform:translateY(-.06em)}
:is(h1,h2) .inline-icon{display:inline-grid;place-items:center;letter-spacing:normal;line-height:1;text-indent:0}
:is(h1,h2) .inline-icon i{display:block;font-size:.42em;line-height:1}
#hero-title .inline-icon{background:#ffffff;color:#BE1A37}

/* Match avatar IMG rendering and its exact glass CSS; keep label text above it. */
.small-label>.label-glass{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;pointer-events:none;border:none;background-color:rgba(0.0000, 0.0000, 0.0000, 0.00999999);border-radius:100px;box-shadow:rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;padding:3px}
.small-label>.label-text{position:relative;z-index:1;margin:0;padding:0;font:inherit;line-height:inherit;color:inherit}

/* Shared glass buttons: independent glass layers and character pulse. */
.btn-glass.btn{display:inline-block;padding:0;border:0;background:transparent;color:#231f20;transform:none;transition:none;text-decoration:none}
.btn-glass .glass-button{position:relative;display:flex;align-items:center;justify-content:center;padding:16px 36px;border-radius:1000px;isolation:isolate;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.btn-glass .glass-content{position:relative;z-index:5;display:block;line-height:20px;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.btn-glass .glass-layers,.btn-glass .glass-layers>span{position:absolute;inset:0;border-radius:100px;pointer-events:none}
.btn-glass .glass-layers{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.btn-glass .glass-fill{z-index:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(153.0000, 153.0000, 153.0000, 0.08);box-shadow:1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),-1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),0 0 0 1px rgba(0.0000, 0.0000, 0.0000, 0.14),0 8px 16px rgba(0.0000, 0.0000, 0.0000, 0.02)}
.btn-glass .glass-fog{z-index:2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0.0000, 0.0000, 0.0000, 0.00999999);opacity:.64}
.btn-glass .glass-inner{z-index:3;background:rgba(0.0000, 0.0000, 0.0000, 0.00999999);box-shadow:20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,-20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,0 40px 30px -40px rgba(0.0000, 0.0000, 0.0000, 0.08) inset}
.btn-glass .glass-highlights{z-index:4;background:rgba(0.0000, 0.0000, 0.0000, 0.00999999);box-shadow:rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset}
.btn-glass .glass-bg{z-index:0;background:rgba(239.0000, 239.0000, 239.0000, 0.6)}
.btn-glass .glass-char{display:inline-block;filter:blur(0)}
@keyframes consultation-char-pulse{0%,100%{filter:blur(0)}50%{filter:blur(2px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .btn-glass:hover .glass-button,.btn-glass:hover .glass-content,.btn-glass:hover .glass-layers{transform:scale(1.03)}
 .btn-glass:hover .glass-char{animation:consultation-char-pulse .2s cubic-bezier(.25,.46,.45,.94);animation-delay:calc(var(--char-index)*.035s)}
}
@media(prefers-reduced-motion:no-preference){
 .btn-glass:focus-visible .glass-button,.btn-glass:focus-visible .glass-content,.btn-glass:focus-visible .glass-layers{transform:scale(1.03)}
 .btn-glass:focus-visible .glass-char{animation:consultation-char-pulse .2s cubic-bezier(.25,.46,.45,.94);animation-delay:calc(var(--char-index)*.035s)}
}
.btn-glass:active .glass-button{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){.btn-glass .glass-button,.btn-glass .glass-content,.btn-glass .glass-layers{transition:none}.btn-glass:active .glass-button{transform:none}}

/* Keep theme colors independent of surrounding cards and Bootstrap variants. */
.btn.btn-glass,.btn.btn-glass:hover,.btn.btn-glass:focus-visible{background:transparent;border:0;box-shadow:none;color:#231f20;transform:none}
.btn.btn-glass-dark,.btn.btn-glass-dark:hover,.btn.btn-glass-dark:focus-visible{color:#ffffff!important}
.btn-glass-dark .glass-layers{display:none!important}
.btn-glass-dark .glass-button{background:#231f20!important;border:1px solid #231f20!important;color:#ffffff!important;box-shadow:0 4px 16px rgba(0,0,0,.15)!important;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s ease,border-color .2s ease,box-shadow .3s ease}
.btn-glass-dark:hover .glass-button{background:#111111!important;border-color:#111111!important;box-shadow:0 6px 22px rgba(0,0,0,.25)!important}
.btn-glass-dark :is(.glass-content,.glass-char){color:#ffffff!important;font-weight:600}
.btn-glass.header-cta{padding:0!important;height:auto!important;box-shadow:none!important}
.btn-glass[hidden]{display:none!important}
@media(max-width:767.98px){.btn-glass .glass-button{padding:14px 24px}.btn-glass.header-cta .glass-button{padding:14px 20px}}

/* Temporary switch: remove buttons-glass-hidden from body to restore glass. */
.buttons-glass-hidden .btn-glass .glass-layers{display:none}
.buttons-glass-hidden .btn-glass .glass-button{background:#ffffff;border:1px solid #ffffff;padding:12px 24px}
.buttons-glass-hidden .btn-glass-dark .glass-button{background:#231f20;border-color:#231f20}
.buttons-glass-hidden .btn-glass-outline .glass-button{background:transparent;border-color:#aaaaaa}
.buttons-glass-hidden .btn-glass-outline-light .glass-button{background:transparent;border-color:rgba(255.0000, 255.0000, 255.0000, 0.25098)}
.buttons-glass-hidden .btn.btn-glass-outline-light{color:#eeeeee}
.buttons-glass-hidden .btn-glass.header-cta .glass-button{padding:17px 30px}
@media(max-width:767.98px){.buttons-glass-hidden .btn-glass.header-cta .glass-button{padding:13px 20px}}

/* Solid white button without glass for non-white/colored surfaces */
.btn.btn-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--ink, #231f20);
  border: 1px solid #ffffff;
  border-radius: 1000px;
  padding: 16px 36px;
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), background-color .2s ease, box-shadow .3s ease, color .2s ease;
}
.btn.btn-white:hover {
  background: #ffffff;
  color: var(--brand, #BE1A37);
  transform: scale(1.03);
  box-shadow: 0 6px 24px rgba(0,0,0,.22);
}
.btn.btn-white:active {
  transform: scale(0.98);
}
@media (max-width: 767.98px) {
  .btn.btn-white {
    padding: 14px 24px;
    font-size: 14px;
  }
}

/* On non-white/colored backgrounds, buttons render as solid white without glass */
:is(.footer-hero, #factory, article[data-card-tone], .modal-content) .btn-glass .glass-layers,
.btn-glass-outline-light .glass-layers {
  display: none !important;
}
:is(.footer-hero, #factory, article[data-card-tone], .modal-content) .btn-glass .glass-button,
.btn-glass-outline-light .glass-button {
  background: #ffffff !important;
  color: var(--ink, #231f20) !important;
  border: 1px solid #ffffff !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14) !important;
}
:is(.footer-hero, #factory, article[data-card-tone], .modal-content) .btn-glass :is(.glass-content, .glass-char),
.btn-glass-outline-light :is(.glass-content, .glass-char) {
  color: var(--ink, #231f20) !important;
  font-weight: 600 !important;
}
:is(.footer-hero, #factory, article[data-card-tone], .modal-content) .btn-glass:hover .glass-button,
.btn-glass-outline-light:hover .glass-button {
  background: #ffffff !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.22) !important;
}
:is(.footer-hero, #factory, article[data-card-tone], .modal-content) .btn-glass:hover :is(.glass-content, .glass-char),
.btn-glass-outline-light:hover :is(.glass-content, .glass-char) {
  color: var(--brand, #BE1A37) !important;
}

/* Figma-compatible glass: the same transparent IMG treatment as avatars. */
.market-map,.production-map-circle,.portfolio .project-navigation button,.portfolio .project-image{position:relative;background-color:transparent;box-shadow:none}
.capture-glass{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;pointer-events:none;border:none;background-color:rgba(0.0000, 0.0000, 0.0000, 0.00999999);border-radius:100px;box-shadow:rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;padding:3px;z-index:0;padding:0;border-radius:inherit;object-fit:fill}
.market-map>img:not(.capture-glass),.production-map-circle>img:not(.capture-glass),.project-navigation button>i,.project-image>img:not(.capture-glass){position:relative;z-index:1}
.portfolio .project-image>.capture-glass{position:absolute;border-radius:inherit}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}
.project-prev>.ui-icon{transform:rotate(180deg)}

.market-map>.capture-glass,.production-map-circle>.capture-glass,.project-navigation button>.capture-glass,.portfolio .project-image>.capture-glass{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;z-index:0}
/* Footer shares the approved ribbon surface without changing its content layout. */
.footer:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.footer:before{pointer-events:none}

/* Video hero: inset stage, centered services, and editorial introduction. */
#home.hero{height:auto;min-height:0;padding:16px 24px 0;background:#ffffff;color:#29252a;transform:none!important;border-radius:0!important;overflow:visible}
#home .hero-stage{position:relative;isolation:isolate;display:grid;place-items:center;height:70svh;min-height:0;border-radius:28px;overflow:hidden;background:#09090b}
#home #nebula-canvas{z-index:-2}
#home .nebula-grain{z-index:-1}
#home .hero-stage:after{display:none}
#home .hero-solutions{font-size:clamp(40px,5.5vw,72px);font-weight:700!important;letter-spacing:-.03em;line-height:1.15;color:#ffffff;text-align:center;margin:0;max-width:1100px;padding:0 28px;text-transform:none;text-shadow:0 4px 24px rgba(0,0,0,.45);pointer-events:auto;background:transparent;border:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#home .hero-cta:focus-visible{outline:2px solid #ffffff;outline-offset:4px}
#home .hero-cta{position:absolute;left:50%;bottom:7.8%;transform:translateX(-50%);display:flex;gap:3px;color:#30272a;text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap}
#home .hero-cta>span{display:flex;align-items:center;justify-content:center;background:#ffffff;border-radius:12px;padding:18px 22px;min-height:56px;transition:background .2s,color .2s}
#home .hero-cta .hero-cta-arrow{width:56px;padding:16px}
#home .hero-cta i{width:22px;height:22px}
#home .hero-cta:hover>span{background:#BE1A37;color:#ffffff}
#home .hero-introduction{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:80px;max-width:1370px;margin:0 auto;padding:58px 40px 50px}
#home .hero-introduction h1,#home .hero-introduction .display-title{font-size:clamp(38px,4.3vw,68px);font-weight:600!important;letter-spacing:-.04em;line-height:1.08;margin:0;max-width:none;text-transform:none;color:#29252a;pointer-events:auto}
#home .hero-introduction-copy{max-width:365px;justify-self:end}
#home .hero-introduction-copy .avatars{margin-bottom:20px}
#home .hero-introduction-copy .avatar-item{width:40px;height:40px;box-shadow:none;border:2px solid #ffffff;margin-left:-10px}
#home .hero-introduction-copy .avatar-item:first-child{margin-left:0}
#home .hero-introduction-copy p{font-size:16px;line-height:1.55;color:#5b5457;margin:0}
.reference-header{inset:38px 46px auto;gap:20px}
.reference-header .nav-capsule{background:transparent;box-shadow:none;border-color:rgba(255,255,255,0.16);backdrop-filter:blur(16px);transition:background .25s ease,border-color .25s ease}
.reference-header .brand{background:transparent;backdrop-filter:none;border-color:transparent;box-shadow:none;padding-left:0;transition:background .25s ease,padding .25s ease}
.reference-header .navbar-collapse{margin-inline:auto}
.reference-header .header-cta{margin-left:0;box-shadow:none!important}
@media(max-width:1199.98px){.reference-header .navbar-collapse{margin:0;flex-basis:100%}.reference-header{flex-wrap:wrap}.reference-header .header-cta{margin-left:auto}#home .hero-introduction{gap:36px;padding-inline:20px}#home .hero-introduction h1,#home .hero-introduction .display-title{font-size:45px}}
@media(max-width:767.98px){
 #home.hero{padding:10px 12px 0}
 #home .hero-stage{height:70svh;min-height:0;border-radius:20px}
 #home .hero-solutions{font-size:clamp(30px,7.5vw,44px);padding:0 16px;line-height:1.18}
 #home .hero-cta{font-size:13px;bottom:7%}
 #home .hero-cta>span{padding:15px 17px;min-height:50px;border-radius:10px}
 #home .hero-cta .hero-cta-arrow{width:50px}
 #home .hero-introduction{grid-template-columns:1fr;gap:26px;padding:36px 12px 24px}
 #home .hero-introduction h1,#home .hero-introduction .display-title{font-size:36px;line-height:1.12}
 #home .hero-introduction-copy{justify-self:start;max-width:400px}
 #home .hero-introduction-copy .avatars{margin-bottom:16px}
 #home .hero-introduction-copy p{font-size:15px}
 .reference-header{inset:26px 28px auto;gap:10px}
 .reference-header .brand{padding:0;width:auto}
 .reference-header .brand img{width:105px}
 .reference-header .header-cta{height:44px!important;padding:0 14px!important;font-size:12px!important}
 .reference-header .navbar-toggler{width:42px;height:44px}
 .reference-header .navbar-nav{background:rgba(63,26,38,.97)}
}
@media(prefers-reduced-motion:reduce){#home .hero-cta>span{transition:none}}
.reference-header.is-past-hero .nav-capsule{background:rgb(0 0 0 / 32%)}
.reference-header.is-past-hero .brand{background:#C91F3F;padding-inline:18px;border-radius:100px}

:is(.service-card,.portfolio,.footer):before,
:is(.service-card,.portfolio,.footer):after{
 content:none;
}

/* Animated red-wave hero and electronic circuit drawing. */
#home .hero-stage{background:radial-gradient(ellipse at 90% 12%,rgba(202,58,87,.65) 0,transparent 65%),linear-gradient(125deg,#94162f 0%,#a91b38 55%,#ae203d 100%)}
.hero-circuit-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-wave-parallax{position:absolute;inset:-5%;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform 650ms cubic-bezier(.2,.7,.2,1)}
.hero-wave{position:absolute;left:-10%;top:50%;width:120%;height:auto;max-width:none;transform:translateY(-50%);animation:hero-wave-drift 8s ease-in-out infinite alternate;opacity:.85}
.hero-wave-secondary{opacity:.32;animation:hero-wave-drift 11s ease-in-out -5s infinite alternate-reverse;top:59%;filter:blur(2px)}
.hero-circuit-reveal{position:absolute;inset:0;opacity:0;transition:opacity .35s;-webkit-mask-image:radial-gradient(circle 250px at var(--glow-x,50%) var(--glow-y,50%),#000000 12%,transparent 100%);mask-image:radial-gradient(circle 250px at var(--glow-x,50%) var(--glow-y,50%),#000000 12%,transparent 100%)}
.pointer-active .hero-circuit-reveal{opacity:1}
.hero-circuit-drawing{position:absolute;inset:0;background:#ff8897;mask-image:url('assets/hero-circuit-generated.png');mask-mode:luminance;mask-size:cover;mask-position:center;mask-repeat:no-repeat;-webkit-mask-image:url('assets/hero-circuit-generated.png');-webkit-mask-size:cover;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}
.hero-cursor-glow{position:absolute;left:0;top:0;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(255,75,93,.19),transparent 65%);transform:translate(calc(var(--glow-x,0px) - 50%),calc(var(--glow-y,0px) - 50%));opacity:0;transition:opacity .6s}
.pointer-active .hero-cursor-glow{opacity:1}
.motion-paused .hero-wave{animation-play-state:paused}
@keyframes hero-wave-drift{from{transform:translate(-2%,-46%) rotate(-4deg) scale(1.02)}to{transform:translate(3%,-54%) rotate(4deg) scale(1.12)}}
@media(max-width:767.98px){.hero-wave{width:220%;left:-60%}.hero-cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){.hero-wave{animation:none}.hero-wave-parallax,.hero-circuit-drawing{transform:none;transition:none}.hero-cursor-glow{display:none}}

#home .hero-solutions .hero-title-detail{display:block;margin-top:16px;font-size:.57em;line-height:1.35;font-weight:500;color:#ffe3e8;letter-spacing:-.025em}
@media(max-width:767.98px){#home .hero-solutions{font-size:clamp(30px,7.5vw,44px)}#home .hero-solutions .hero-title-detail{font-size:.62em;margin-top:16px;max-width:28ch;margin-inline:auto}}

/* Glass icon medallions share the existing image-backed Figma treatment. */
.box-glass-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex:0 0 56px;border-radius:100px;color:#ffffff;margin:18px 0;isolation:isolate}
.box-glass-icon .box-icon-glass{position:absolute;inset:0;width:100%;height:100%;padding:0;border-radius:100px;background-color:rgba(0,0,0,.01);box-shadow:0 -40px 10px -40px rgba(255,255,255,.96) inset,0 40px 10px -40px rgba(255,255,255,.96) inset,0 -1px 0 rgba(255,255,255,.88) inset,0 1px 0 rgba(255,255,255,.88) inset,0 -4px 1px -4px #ffffff inset,0 4px 1px -4px #ffffff inset;pointer-events:none}
.box-glass-icon>i{position:relative;display:block;width:26px;height:26px;color:#ffffff}
.avatars>.box-glass-icon{margin:0 0 0 auto;width:48px;height:48px;flex-basis:48px}
.box-icon-heading{display:flex;align-items:center;gap:14px}
.box-icon-heading>.box-glass-icon{width:44px;height:44px;flex-basis:44px;margin:0}


/* Distinct card palettes and drawings. Literal colors remain importable in Figma. */
.services article[data-card-tone="ruby"]{background-color:#a91a39;background-image:url('assets/card-surfaces/flow.svg'),radial-gradient(ellipse at 100% 5%,#d84460 0,transparent 64%),linear-gradient(140deg,#a91a39,#BE1A37);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone="rose"]{background-color:#984862;background-image:url('assets/card-surfaces/orbit.svg'),radial-gradient(ellipse at 100% 5%,#c57a8d 0,transparent 64%),linear-gradient(140deg,#984862,#ae5770);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone="blue"]{background-color:#315e8b;background-image:url('assets/card-surfaces/circuit.svg'),radial-gradient(ellipse at 100% 5%,#658aad 0,transparent 64%),linear-gradient(140deg,#315e8b,#426f9c);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone="teal"]{background-color:#216f72;background-image:url('assets/card-surfaces/contour.svg'),radial-gradient(ellipse at 100% 5%,#579799 0,transparent 64%),linear-gradient(140deg,#216f72,#347f80);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone="plum"]{background-color:#734a86;background-image:url('assets/card-surfaces/arc.svg'),radial-gradient(ellipse at 100% 5%,#a57aae 0,transparent 64%),linear-gradient(140deg,#734a86,#885895);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone="clay"]{background-color:#a44e3e;background-image:url('assets/card-surfaces/facet.svg'),radial-gradient(ellipse at 100% 5%,#c77b65 0,transparent 64%),linear-gradient(140deg,#a44e3e,#b45e4c);background-position:center,right top,center;background-size:cover,cover,cover;background-repeat:no-repeat}
.services article[data-card-tone] :is(h3,strong,blockquote,p,.small-label,span,a){color:#ffffff}
#location{background-color:#f6f6f8;padding:100px 0 110px}
#location .market-card{--market-accent:#b51e3d;--market-ink:#24242b;--market-muted:#646874;min-height:320px;height:100%;gap:28px;background:#ffffff var(--market-circuit) right top 24px/220px auto no-repeat;isolation:isolate}
#location .market-card[data-card-tone="ruby"]{--market-circuit:url('assets/card-surfaces/market-japan.svg')}
#location .market-card[data-card-tone="plum"]{--market-accent:#214d7b;--market-circuit:url('assets/card-surfaces/market-usa.svg')}
#location .market-card[data-card-tone="blue"]{--market-accent:#2450ab;--market-circuit:url('assets/card-surfaces/market-europe.svg')}
#location .market-card :is(h3,strong){color:var(--market-ink)}
#location .market-card-map{width:52px;height:64px;object-fit:contain;margin-left:auto;flex-shrink:0;filter:brightness(0);opacity:.55}
#location .market-card-header{display:flex;align-items:center;gap:14px;position:relative}
#location .market-flag{width:72px;height:48px;object-fit:cover;border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.06);flex-shrink:0}
#location .market-eyebrow{display:block;font-size:14px;line-height:1.5;color:var(--market-muted);margin-bottom:4px}
#location .market-card h3{font-size:clamp(24px,2.1vw,30px);line-height:1.15;letter-spacing:-.03em;margin:0}
#location .market-description{margin:0;font-size:17px;line-height:1.6;color:var(--market-muted);min-height:82px}
#location .market-email{display:flex;align-items:center;gap:12px;margin-top:auto;padding:16px 0 0;border-top:1px solid rgba(100,104,116,.18);font-size:16px;text-decoration:none;color:var(--market-accent);transition:opacity .2s}
#location .market-email i{width:22px;height:22px;flex-shrink:0}
#location .market-email>span{color:inherit}
#location .market-email-arrow{margin-left:auto;font-size:20px}
#location .market-email:hover{opacity:.75}
#location .market-email:focus-visible{outline:2px solid var(--market-accent);outline-offset:6px;border-radius:4px}
@media(max-width:1199.98px){#location .market-card{gap:24px}#location .market-description{min-height:0}}
@media(max-width:767.98px){#location .market-flag{width:54px;height:36px}#location .market-card-map{width:42px;height:54px}#location .market-card{min-height:290px}}

/* Preserve button foregrounds inside colored surfaces. */
.services article[data-card-tone] .btn-glass{color:#231f20}
.services article[data-card-tone] .btn-glass-dark,
.services article[data-card-tone] .btn-glass-outline-light{color:#ffffff}
.services article[data-card-tone] .btn-glass :is(.glass-button,.glass-content,.glass-char){color:inherit}

/* Extend the brighter surface palette beyond cards, preserving the hero. */
.footer{--section-circuit:url('assets/section-circuits/footer.svg')}
.portfolio,.footer{background-color:#851a29;background-image:var(--section-circuit),radial-gradient(ellipse at 52% 52%,rgba(198,62,78,0.48) 0,rgba(166,40,55,0.2) 32%,transparent 66%),linear-gradient(115deg,#64101d 0%,#851a29 55%,#701322 100%);background-position:center top,center,center;background-size:2000px auto,cover,cover;background-repeat:repeat-y,no-repeat,no-repeat}
@media(max-width:767.98px){.portfolio,.footer{background-size:1200px auto,cover,cover}}
.modal-content{background:linear-gradient(140deg,#315e8b,#426f9c)}

/* Manufacturing services: one expanded image, three persistent descriptions. */
.engineering.service-overview{height:auto;border:0;padding:72px 0 80px;background:#f6f6f8}
.service-overview-title{font-size:64px;line-height:1.02;letter-spacing:-.04em;margin:0 0 48px;font-weight:700!important}
.service-panels{display:grid;gap:16px}
.service-panel-row{--panel-gap:16px;--panel-padding:32px;--panel-active-grow:1.65;display:flex;gap:var(--panel-gap);container-type:inline-size}
.service-panel,.process-card{background-color:#ffffff;background-image:url('assets/card-surfaces/circuit-dark.svg');background-repeat:no-repeat;background-position:right -30px top -20px;background-size:420px auto;}
.service-panel{position:relative;isolation:isolate;display:flex;align-items:flex-end;flex:1 1 0;min-width:0;min-height:420px;overflow:hidden;padding:var(--panel-padding);border-radius:var(--radius-box);color:#231f20;text-align:left;font:inherit;cursor:pointer;transition:flex-grow .5s cubic-bezier(.22,1,.36,1),color .25s,box-shadow .3s ease}
.service-panel:nth-child(2){background-image:url('assets/card-surfaces/orbit-dark.svg');background-position:right -50px center;background-size:460px auto}
.service-panel:nth-child(3){background-image:url('assets/card-surfaces/circuit-dark.svg');background-position:left -30px top -20px;background-size:420px auto}
.service-panel.is-active{flex-grow:var(--panel-active-grow);color:#ffffff;border-color:transparent;box-shadow:0 8px 30px rgba(0,0,0,0.12)}
.service-panel img,.service-panel:after{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity .3s}
.service-panel img{object-fit:cover;object-position:center;transform:scale(1.035);transition:opacity .3s,transform .5s}
.service-panel:after{content:"";background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.92) 100%)}
.service-panel.is-active img,.service-panel.is-active:after{opacity:1}
.service-panel.is-active img{transform:scale(1)}
:is(.service-panel-number,.industry-showcase-number,.project-number){position:absolute;top:32px;left:32px;-webkit-text-stroke:1px currentColor;-webkit-text-stroke-color:rgb(217,217,217);font-size:clamp(72px,7vw,120px);pointer-events:none}
:is(.industry-showcase-number,.project-number){z-index:2}
.service-panel.is-active .service-panel-number,.industry-showcase-number,.project-number{-webkit-text-stroke-color:rgba(255,255,255,0.75)}
.service-panel-copy{display:flex;flex-direction:column;justify-content:flex-end;width:100%}
.service-panel-title{--title-inset:16px;display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:8px var(--title-inset);margin-left:calc(-1 * var(--title-inset));border-radius:100px;font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.035em;line-height:1.16;margin-bottom:12px;overflow-wrap:break-word;color:#231f20;transition:color .25s ease}
.service-panel-title > .label-glass{opacity:0;transition:opacity .3s ease}
.service-panel.is-active .service-panel-title{color:#ffffff}
.service-panel.is-active .service-panel-title > .label-glass{opacity:1}
/* Each state uses its final text width; content fades while the card resizes. */
.service-panel-description{--description-width:calc((100cqw - 2 * var(--panel-gap) - 6 * (var(--panel-padding) + 1px)) / (2 + var(--panel-active-grow)));width:var(--description-width);display:block;font-size:16px;line-height:1.65;max-width:44ch;min-height:calc(1.65em * 3)}
.service-panel.is-active .service-panel-description{width:calc(var(--description-width) * var(--panel-active-grow))}
.service-panel:focus-visible{outline:3px solid #BE1A37;outline-offset:4px}
@media(max-width:1100px){.service-overview-title{font-size:52px}.service-panel-row{--panel-padding:24px}.service-panel{padding:var(--panel-padding)}:is(.service-panel-number,.industry-showcase-number,.project-number){top:24px;left:24px}.service-panel{min-height:420px}.service-panel-description{font-size:15px}}

@media(max-width:767.98px){.engineering.service-overview{padding:48px 0}.service-overview-title{font-size:40px;line-height:1.1;margin-bottom:32px}.service-panel-row{flex-direction:column}.service-panel{flex:auto;min-height:240px;padding:112px 24px 28px}:is(.service-panel-number,.industry-showcase-number,.project-number){font-size:64px}.service-panel.is-active{flex:auto;min-height:360px}.service-panel-title{font-size:26px;white-space:normal}.service-panel-description{font-size:16px;max-width:44ch;min-height:auto}.service-panel-description,.service-panel.is-active .service-panel-description{width:auto}}
@media(prefers-reduced-motion:reduce){.service-panel,.service-panel img,.service-panel:after,.service-panel-title,.service-panel-title>.label-glass{transition:none}}

/* Industry cards share the active service panel's dark image treatment. */
.industry-showcase{padding:72px 0 64px;background:#ffffff;overflow:hidden}
.industry-showcase .section-intro{margin-bottom:56px}
.industry-showcase-gallery{position:relative;width:calc(100% - max(40px, (100% - 1196px)/2));margin-left:max(40px, (100% - 1196px)/2)}
.industry-showcase-gallery::before{content:"";position:absolute;left:0;top:0;bottom:0;width:208px;background:linear-gradient(90deg,rgb(255 255 255),rgb(255 255 255 / 72%),rgb(255 255 255 / 0%),transparent);z-index:3;pointer-events:none;opacity:0;transition:opacity .3s ease}
.industry-showcase-gallery.can-scroll-left::before{opacity:1}
.industry-showcase-track{display:flex;gap:24px;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-right:max(40px, (100% - 1196px)/2)}
.industry-showcase-track::-webkit-scrollbar{display:none}
.industry-showcase-card{position:relative;isolation:isolate;flex:0 0 34vw;min-width:390px;height:430px;overflow:hidden;border-radius:var(--radius-box);background:#231f20;scroll-snap-align:start}
.industry-showcase-card>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.industry-showcase-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.92) 100%)}
.industry-showcase-overlay{position:absolute;z-index:2;left:32px;right:32px;bottom:32px;color:#ffffff}
.industry-showcase-overlay h3{margin:0 0 14px}
.industry-showcase-overlay p{font-size:16px;line-height:1.6;color:#ffffff;margin:0;max-width:44ch;min-height:calc(1.6em * 3)}
:is(.industry-showcase-next,.industry-showcase-prev){position:absolute;z-index:10;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#231f20;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;transition:background .2s,transform .2s,opacity .25s ease}
:is(.industry-showcase-next,.industry-showcase-prev):hover{background:#ffffff;transform:translateY(-50%) scale(1.06)}
:is(.industry-showcase-next,.industry-showcase-prev) .capture-glass{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
:is(.industry-showcase-next,.industry-showcase-prev) .ui-icon{position:relative;z-index:1;width:20px;height:20px}
.industry-showcase-next{right:24px}
.industry-showcase-prev{left:20px;opacity:0;pointer-events:none}
.industry-showcase-prev .ui-icon{transform:rotate(180deg)}
:is(.industry-showcase-next,.industry-showcase-prev):focus-visible{outline:3px solid #BE1A37;outline-offset:4px}
.industry-showcase-track:focus-visible{outline:2px solid #BE1A37;outline-offset:-2px}
@media(max-width:1100px){.industry-showcase-card{flex-basis:44vw;height:400px}}
@media(max-width:767.98px){.industry-showcase{padding:48px 0 32px}.industry-showcase .section-intro{margin-bottom:32px}.industry-showcase-gallery{width:calc(100% - 20px);margin-left:20px}.industry-showcase-gallery::before{width:56px}.industry-showcase-track{gap:16px;padding-right:20px}.industry-showcase-next{right:16px;width:48px;height:48px}.industry-showcase-prev{left:12px;width:48px;height:48px}.industry-showcase-card{flex-basis:82vw;min-width:0;height:410px}.industry-showcase-overlay{left:24px;right:24px;bottom:24px}.industry-showcase-overlay p{min-height:calc(1.6em * 4)}}

/* Working Process Section */
.working-process{padding:100px 0 110px;background:#f6f6f8}
.process-row{row-gap:48px}
.process-intro-col{position:relative}
.process-intro{position:sticky;top:120px;padding-right:20px}
.process-intro .section-title{margin:0 0 24px}
.process-description{font-size:16px;line-height:1.6;color:#555555;margin:0 0 32px;max-width:380px}
.process-cta{display:inline-block}
.process-cards{display:flex;flex-direction:column;gap:20px}
.process-card{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-box);padding:38px 42px 42px;transition:transform .25s ease,box-shadow .25s ease}
.process-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,0.05)}
.process-card:nth-child(2){background-image:url('assets/card-surfaces/orbit-dark.svg');background-position:right -40px center;background-size:440px auto}
.process-card:nth-child(3){background-image:url('assets/card-surfaces/circuit-dark.svg');background-position:right -20px bottom -20px;background-size:400px auto}
.process-card:nth-child(4){background-image:url('assets/card-surfaces/orbit-dark.svg');background-position:right -50px bottom -30px;background-size:440px auto}
.process-card-bg,.process-card::before{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.process-card-bg{z-index:-2;object-fit:cover;transform:scale(1.035)}
.process-card::before{content:"";z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.88))}
.process-card.is-active .process-card-bg,.process-card.is-active::before{opacity:1;transform:scale(1)}
.process-card.is-active{box-shadow:0 8px 30px rgba(0,0,0,0.12)}
.process-card.is-active :is(.process-card-title,.process-card-desc,.process-card-icon){color:#ffffff}
.process-card.is-active .process-card-num{-webkit-text-stroke-color:rgba(255,255,255,0.75)}
.process-card:focus-visible{outline:3px solid #BE1A37;outline-offset:4px}
.process-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.process-card-num{font-size:clamp(72px,7vw,120px);font-weight:500;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #d9d9d9;font-variant-numeric:tabular-nums;user-select:none}
.process-card-icon{width:44px;height:44px;flex-shrink:0;color:#6b4dff}
.process-card-title{font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.03em;color:var(--ink,#111111);margin:0 0 14px}
.process-card-desc{font-size:15px;line-height:1.6;color:#555555;margin:0;max-width:460px}
@media(max-width:991.98px){.working-process{padding:64px 0 72px}.process-intro{position:static;padding-right:0}.process-intro .section-title{margin-bottom:20px}.process-description{max-width:100%;margin-bottom:24px}.process-cta{margin-bottom:12px}.process-card{padding:28px 24px 32px;border-radius:var(--radius-box)}.process-card-num{font-size:64px}.process-card-title{font-size:24px}}

@media(prefers-reduced-motion:reduce){.process-card,.process-card-bg,.process-card::before{transition:none}.process-card:hover{transform:none}}

/* Blog / Insights Section */
.blog-section{padding:96px 0 110px;background:#f6f6f8}
.blog-header{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:48px}
.blog-title{font-size:clamp(36px,4.5vw,65px);font-weight:600;line-height:1.08;letter-spacing:-.038em;color:var(--ink,#111111);margin:0}
.blog-header-right{display:flex;align-items:center;gap:36px}
.blog-subtitle{font-size:15px;line-height:1.55;color:#555555;max-width:320px;margin:0}
.blog-btn-all{display:inline-flex;align-items:center;gap:12px;background:#ffffff;border-radius:999px;padding:6px 6px 6px 20px;font-size:14px;font-weight:500;color:var(--ink,#111111);text-decoration:none;border:1px solid rgba(0,0,0,0.04);box-shadow:0 2px 8px rgba(0,0,0,.03);transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.blog-btn-all:hover{color:var(--ink,#111111);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.blog-btn-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111111;color:#ffffff;transition:transform .2s ease}
.blog-btn-all:hover .blog-btn-icon{transform:translateX(2px)}
.blog-btn-icon .ui-icon{width:14px;height:14px}

.blog-grid{display:grid;grid-template-columns:1fr 1fr 1.62fr;gap:20px;align-items:stretch}
.blog-card{border-radius:var(--radius-box);overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:390px;transition:transform .25s ease,box-shadow .25s ease}
.blog-card-light{background:#ffffff;padding:14px 14px 24px;border:1px solid rgba(0,0,0,.03);box-shadow:0 2px 12px rgba(0,0,0,.02)}
.blog-card-light:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,0.05)}
.blog-card-media{position:relative;width:100%;aspect-ratio:16/13;border-radius:var(--radius-box);overflow:hidden;background:#000000}
.blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card-light:hover .blog-card-media img{transform:scale(1.04)}
.blog-card-content{padding:18px 2px 0;margin-top:auto}
.blog-card-meta{font-size:13px;line-height:1.4;color:#666666;margin-bottom:10px;font-weight:400}
.blog-meta-sep{display:inline-block;margin:0 5px;font-size:9px;vertical-align:middle;color:#999999}
.blog-card-heading{font-size:18px;font-weight:600;line-height:1.36;letter-spacing:-.025em;color:var(--ink,#111111);margin:0}
.blog-card-link{color:inherit;text-decoration:none}
.blog-card-link:hover{color:inherit}

.blog-card-featured{position:relative;isolation:isolate;background:#060302;padding:26px 26px 28px;justify-content:flex-end;box-shadow:0 2px 12px rgba(0,0,0,0.04);border-radius:var(--radius-box);min-height:390px}
.blog-card-featured:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.1)}
.blog-featured-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s ease}
.blog-card-featured:hover .blog-featured-img{transform:scale(1.03)}
.blog-card-featured::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 30%,rgba(6,3,2,.4) 55%,rgba(6,3,2,.85) 80%,rgba(6,3,2,.98) 100%)}
.blog-card-featured .blog-card-content{padding:0;margin-top:0}
.blog-card-featured .blog-card-meta{color:rgba(255,255,255,.8);margin-bottom:10px}
.blog-card-featured .blog-meta-sep{color:rgba(255,255,255,.5)}
.blog-card-featured .blog-card-heading{color:#ffffff;font-size:22px;font-weight:600;line-height:1.32;letter-spacing:-.028em;max-width:26ch}

@media(max-width:991.98px){
  .blog-section{padding:64px 0 72px}
  .blog-header{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:36px}
  .blog-header-right{flex-wrap:wrap;gap:20px}
  .blog-grid{grid-template-columns:1fr 1fr;gap:16px}
  .blog-card-featured{grid-column:1/-1;min-height:360px}
}
@media(max-width:767.98px){
  .blog-title{font-size:32px}
  .blog-grid{grid-template-columns:1fr;gap:16px}
  .blog-card{min-height:350px}
  .blog-header-right{flex-direction:column;align-items:flex-start;gap:16px}
  .blog-card-featured .blog-card-heading{font-size:20px}
}

/* Why Choose Hanel PT (Bento Grid Section) */
.why-us {
  padding: 96px 0 110px;
  background: #f6f6f8;
  scroll-margin-top: 80px;
}
.why-us .section-intro {
  margin-bottom: 52px;
}
#why-title .inline-icon,
.inline-icon-tech {
  background: #1D57F9;
  color: #ffffff;
  border-radius: 50%;
}
.why-us p {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: -0.01em;
}
.why-bento-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.why-row-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}
.why-row-bottom {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 20px;
  align-items: stretch;
}
.why-card {
  border-radius:var(--radius-box);
  overflow: hidden;
  position: relative;
}
.why-card-white {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.04);
  box-shadow: 0 2px 14px rgba(0,0,0,0.025);
}
.why-card-dark {
  background: #0b0d13;
  color: #ffffff;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
.why-card-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}
.why-card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.why-card-circuit {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: url('assets/card-surfaces/circuit.svg') center/cover no-repeat;
  opacity: 0.32;
  mix-blend-mode: screen;
  pointer-events: none;
}
.why-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.why-card-experience .why-card-overlay {
  background: linear-gradient(180deg, rgba(8, 10, 16, 0.75) 0%, rgba(8, 10, 16, 0.52) 35%, rgba(8, 10, 16, 0.88) 75%, rgba(8, 10, 16, 0.98) 100%);
}
.why-card-team .why-card-overlay {
  background: linear-gradient(180deg, rgba(8, 10, 16, 0.25) 0%, rgba(8, 10, 16, 0.72) 55%, rgba(8, 10, 16, 0.94) 100%);
}

/* Glass styling in Why section */
.why-us .small-label {
  position: relative;
  line-height: 1.6;
  border-radius: 100px;
  padding: 3px 12px;
  margin: 0 0 12px;
  width: fit-content;
  isolation: isolate;
  font-size: 12px;
  font-weight: 600;
}
.why-card-dark .small-label {
  color: #ffffff;
}
.why-card-white .small-label,
.small-label-light {
  color: #0f172a;
  font-size: 12px;
  font-weight: 600;
}
/* Dedicated prominent glass for white backgrounds (using the white glass button system) */
.why-card-white .small-label > .label-glass,
.label-glass-light {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
  border-radius: 100px;
  background-color: rgba(239.0000, 239.0000, 239.0000, 0.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 0 1px rgba(0.0000, 0.0000, 0.0000, 0.14),1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),-1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),0 8px 16px rgba(0.0000, 0.0000, 0.0000, 0.02),20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,-20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,0 40px 30px -40px rgba(0.0000, 0.0000, 0.0000, 0.08) inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;
  padding: 0;
  border: none;
}
.why-rating {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  margin-bottom: 20px;
}
/* ==========================================================================
   Universal Standard Glass System (Quy chuẩn Glass chung)
   Chỉ quản lý hiệu ứng kính, tuyệt đối KHÔNG can thiệp font chữ (mỗi class tự quyết định font)
   ========================================================================== */
.standard-glass {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  border-radius: 100px;
  background-color: transparent;
  isolation: isolate;
  border: none;
  box-shadow: none;
  text-decoration: none;
}

:is(.standard-glass, .why-standard-glass, .small-label, .industry-showcase-overlay h3, .service-panel-title) > .label-glass {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
  border: none;
  background-color: rgba(0.0000, 0.0000, 0.0000, 0.00999999);
  border-radius: inherit;
  box-shadow: rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;
  padding: 3px;
  z-index: 0;
  object-fit: fill;
}

:is(.standard-glass, .why-standard-glass, .small-label, .industry-showcase-overlay h3, .service-panel-title) > .label-text {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}

/* Fallback tự động tạo kính nếu phần tử không chứa thẻ <img> */
:is(.standard-glass, .why-standard-glass, .industry-showcase-overlay h3, .service-panel-title):not(:has(>.label-glass))::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: rgba(0.0000, 0.0000, 0.0000, 0.00999999);
  box-shadow: rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;
  pointer-events: none;
  z-index: 0;
}

/* Typography & spacing tự quyết định riêng bởi từng class */
.why-standard-glass {
  margin-top: 0;
  margin-bottom: 0;
  padding: 6px 18px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.industry-showcase-overlay h3,
.industry-showcase-overlay .why-standard-glass {
  margin-top: 0;
  margin-bottom: 14px;
  padding: 8px 22px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  letter-spacing: -0.03em;
}

@media (max-width: 767.98px) {
  .industry-showcase-overlay h3,
  .industry-showcase-overlay .why-standard-glass {
    font-size: 26px;
    padding: 6px 18px;
  }
}
.why-team-glass-badge {
  margin-bottom: 20px;
}
.why-glass-globe {
  margin: 16px 0 0 0;
  width: 52px;
  height: 52px;
  min-width: 52px;
  min-height: 52px;
  max-width: 52px;
  max-height: 52px;
  flex: 0 0 52px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  color: #0f172a;
}
.why-card-white .box-glass-icon .box-icon-glass,
.box-icon-glass-light {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 50%;
  pointer-events: none;
  background-color: rgba(239.0000, 239.0000, 239.0000, 0.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 0 1px rgba(0.0000, 0.0000, 0.0000, 0.14),1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),-1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),0 8px 16px rgba(0.0000, 0.0000, 0.0000, 0.02),20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,-20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,0 40px 30px -40px rgba(0.0000, 0.0000, 0.0000, 0.08) inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;
  border: none;
}
.why-card-white .box-glass-icon > i,
.box-glass-icon-light > i {
  color: #0f172a;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* Card 1: Experience */
.why-card-experience {
  min-height: 390px;
}
.why-card-experience .why-card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  padding: 34px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.why-stars {
  display: inline-flex;
  gap: 4px;
  color: #f59e0b;
}
.why-star-icon {
  width: 15px;
  height: 15px;
  fill: #f59e0b;
}
.why-rating-label {
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: -0.01em;
}
.why-card-experience .why-stat-num {
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.035em;
  color: #ffffff;
  display: block;
  margin-bottom: 6px;
}
.why-card-experience .why-stat-label {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: -0.01em;
}
.why-card-footer {
  margin-top: auto;
  padding-top: 24px;
}
.why-footer-title {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 6px;
}
.why-footer-desc {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.75);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}

/* Card 2: NPI & DFM */
.why-card-npi {
  min-height: 390px;
  background-color: #ffffff;
  background-image: url('assets/card-surfaces/circuit-dark.svg');
  background-position: right -40px top -30px;
  background-size: 440px auto;
  background-repeat: no-repeat;
}
.why-card-npi .why-card-content {
  height: 100%;
  padding: 34px 30px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.why-card-npi .why-stat-num {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #0f172a;
  display: block;
  margin-bottom: 8px;
}
.why-card-npi .why-stat-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #64748b;
  margin: 0;
  max-width: 290px;
  letter-spacing: -0.01em;
}
.why-staircase {
  display: flex;
  align-items: flex-end;
  height: 175px;
  margin-top: 24px;
}
.why-step {
  flex: 1;
  position: relative;
  background: linear-gradient(180deg, #c4b5fd 0%, #ddd6fe 35%, rgba(243, 232, 255, 0.45) 80%, rgba(255, 255, 255, 0.05) 100%);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 10px;
}
.why-step.step-1 { height: 28%; border-top-left-radius: 10px; }
.why-step.step-2 { height: 52%; }
.why-step.step-3 { height: 76%; }
.why-step.step-4 { height: 100%; border-top-right-radius: 10px; }
.why-step-name {
  font-size: 11px;
  font-weight: 600;
  color: #6d28d9;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

/* Card 3: Global */
.why-card-global {
  min-height: 390px;
  background-color: #ffffff;
  background-image: url('assets/card-surfaces/orbit-dark.svg');
  background-position: right -60px center;
  background-size: 480px auto;
  background-repeat: no-repeat;
}
.why-card-global .why-card-content {
  height: 100%;
  padding: 34px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.why-card-global .why-stat-num {
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.035em;
  color: #0f172a;
  display: block;
  margin-bottom: 6px;
}
.why-card-global .why-stat-label {
  font-size: 14px;
  font-weight: 500;
  color: #64748b;
  letter-spacing: -0.01em;
}
.why-card-bottom-info {
  margin-top: auto;
  padding-top: 20px;
}
.why-card-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: #0f172a;
  margin: 0 0 10px;
}
.why-card-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #64748b;
  margin: 0;
  letter-spacing: -0.01em;
}

/* Card 4: Assembly & Tilted Card */
.why-card-assembly {
  min-height: 310px;
  background-color: #ffffff;
  background-image: url('assets/card-surfaces/circuit-dark.svg');
  background-position: left -40px bottom -40px;
  background-size: 440px auto;
  background-repeat: no-repeat;
}
.why-card-assembly .why-card-title {
  margin: 0 0 10px;
}
.why-assembly-grid {
  height: 100%;
  padding: 32px 32px;
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 16px;
  align-items: center;
}
.why-badge-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.why-dots-badge {
  display: inline-flex;
  gap: 4px;
}
.why-dots-badge span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7c3aed;
}
.why-pill-tags {
  display: inline-flex;
  gap: 8px;
}
.why-glass-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14px;
  border-radius: 99px;
  isolation: isolate;
  background: transparent;
  line-height: 1.6;
}
.why-card-content > div > .why-glass-pill,
.why-card-content > .why-glass-pill {
  margin-bottom: 14px;
}
.why-pill-tags .why-glass-pill {
  margin-bottom: 0;
  padding: 4px 12px;
}
.why-glass-pill > .label-glass,
.why-glass-pill-light > .label-glass {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: 100px;
  background-color: rgba(239.0000, 239.0000, 239.0000, 0.6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 0 1px rgba(0.0000, 0.0000, 0.0000, 0.14),1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),-1px 0 0 rgba(0.0000, 0.0000, 0.0000, 0.14),0 8px 16px rgba(0.0000, 0.0000, 0.0000, 0.02),20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,-20px 0 20px -30px rgba(0.0000, 0.0000, 0.0000, 0.12) inset,0 40px 30px -40px rgba(0.0000, 0.0000, 0.0000, 0.08) inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px -40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.96) 0px 40px 10px -40px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px -1px 0px 0px inset,rgba(255.0000, 255.0000, 255.0000, 0.88) 0px 1px 0px 0px inset,#ffffff 0px -4px 1px -4px inset,#ffffff 0px 4px 1px -4px inset;
  padding: 0;
  border: none;
}
.why-glass-pill > .label-text {
  position: relative;
  z-index: 1;
  font-size: 12px;
  font-weight: 600;
  color: #0f172a;
}
.why-pill-tags .why-glass-pill > .label-text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.why-assembly-frame {
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 800px;
}
.why-tilted-card {
  transform: rotate(-6deg) translateY(-2px);
  border: 4px solid #ffffff;
  border-radius:var(--radius-box);
  overflow: hidden;
  box-shadow: 0 18px 36px -6px rgba(15, 23, 42, 0.16), 0 6px 14px rgba(15, 23, 42, 0.08);
  width: 230px;
  aspect-ratio: 4/3;
}
.why-tilted-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Card 5: Team Cleanroom */
.why-card-team {
  min-height: 290px;
}
.why-card-team .why-card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  padding: 36px 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.why-team-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.why-team-top .why-team-glass-badge {
  margin-bottom: 0;
}
.why-team-top .avatars {
  margin-bottom: 0;
}
.why-team-layout {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 24px;
  align-items: flex-end;
}
.why-team-heading {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0;
}
.why-team-desc {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
  letter-spacing: -0.01em;
}

/* Responsive Breakpoints */
@media (max-width: 1199.98px) {
  .why-assembly-grid {
    grid-template-columns: 1fr 190px;
  }
  .why-tilted-card {
    width: 190px;
  }
}
@media (max-width: 991.98px) {
  .why-us {
    padding: 64px 0 72px;
  }
  .why-row-top {
    grid-template-columns: 1fr 1fr;
  }
  .why-card-global {
    grid-column: 1 / -1;
  }
  .why-row-bottom {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .why-row-top {
    grid-template-columns: 1fr;
  }
  .why-card-experience,
  .why-card-npi,
  .why-card-global {
    min-height: auto;
  }
  .why-staircase {
    height: 140px;
  }
  .why-assembly-grid {
    grid-template-columns: 1fr;
  }
  .why-assembly-frame {
    margin-top: 14px;
    justify-content: flex-start;
  }
  .why-tilted-card {
    transform: rotate(-3deg);
    width: 210px;
  }
  .why-team-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .why-team-heading {
    font-size: 20px;
  }
}

/* Footer: original enclosed navigation, contact tools and partner grid. */
.footer{position:relative;isolation:isolate;overflow:hidden;color:#ffffff}
.footer .footer-hero{position:relative;height:auto;min-height:0;padding:80px 0 44px;overflow:visible;text-align:left}
.footer-hero-container{width:calc(100% - 96px);max-width:1360px;margin:0 auto}
.footer-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:38px}
.footer-logo{display:inline-block;text-decoration:none}
.footer-logo img{display:block;width:140px;height:42px;object-fit:contain;object-position:left center}
.footer-hero-address{margin:14px 0 0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.72)}
.footer-social-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer-round-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,0.16);color:#ffffff;text-decoration:none;transition:background .2s,transform .2s}
.footer-round-btn:hover{background:rgba(255,255,255,.22);transform:translateY(-2px);color:#ffffff}
.footer-main-card{border-radius:var(--radius-box);border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.14)}
.footer-nav-grid{display:grid;grid-template-columns:1.15fr 1.05fr .95fr .95fr .95fr}
.footer-nav-col{padding:36px 30px 40px;border-right:1px solid rgba(255,255,255,0.1)}
.footer-nav-col:last-child{border-right:0}
.footer-col-title{font-size:14.5px;font-weight:600!important;color:#ffffff;margin-bottom:22px;letter-spacing:-.01em}
.footer-col-title a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.footer-col-title a:hover{opacity:.85}
.footer-arrow-icon{display:inline-block;vertical-align:middle;transition:transform .2s}
.footer-col-title a:hover .footer-arrow-icon{transform:translateX(3px)}
.footer-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.footer-nav-list a{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.72);text-decoration:none;display:inline-block;transition:color .2s,transform .2s}
.footer-nav-list a:hover{color:#ffffff;transform:translateX(2px)}
.footer-card-bottom{border-top:1px solid rgba(255,255,255,0.1);display:grid;grid-template-columns:1.45fr 1fr}
.footer-box-email{padding:34px 38px 38px;display:flex;flex-direction:column;justify-content:center}
.footer-label-muted{font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:12px;display:block}
.footer-email-link{font-size:clamp(22px,2.3vw,34px);font-weight:500;color:#ffffff;text-decoration:none;display:inline-flex;align-items:center;gap:12px;letter-spacing:-.015em}
.footer-email-link:hover{color:#ffffff;opacity:.88}
.footer-ext-svg{flex-shrink:0;transition:transform .2s}
.footer-email-link:hover .footer-ext-svg{transform:translate(2px,-2px)}
.footer-box-ai{padding:34px 38px 38px;border-left:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;justify-content:center}
.footer-box-ai .footer-label-muted{font-size:12px;letter-spacing:.06em}
.footer-ai-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer-ai-chip{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,0.16);background:rgba(0,0,0,.22);color:#ffffff;cursor:pointer}
.footer-ai-chip:hover{background:rgba(255,255,255,0.16)}
.footer-partners-block{margin:48px 0 44px}
.footer-partners-heading{font-size:14px;font-weight:600!important;color:#ffffff;margin-bottom:24px;letter-spacing:-.01em}
.footer-partners-list{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:28px 32px;align-items:center;justify-items:center}
.footer-partner-badge{width:auto;height:clamp(44px,3.8vw,58px);max-width:min(100%,150px);object-fit:contain;filter:brightness(0) invert(1);opacity:.9;transition:opacity .2s,transform .2s}
.footer-partner-badge:hover{opacity:1;transform:scale(1.08)}
.footer-legal-bar{padding-top:26px;border-top:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:13px;color:rgba(255,255,255,.65)}
.footer-legal-anchors{display:flex;align-items:center;gap:32px}
.footer-legal-anchors a,.footer-back-link{color:inherit;text-decoration:none}
.footer-legal-anchors a:hover,.footer-back-link:hover{color:#ffffff;text-decoration:underline}
.footer-back-link{display:inline-flex;align-items:center;gap:6px}
.footer a:focus-visible,.footer button:focus-visible{outline:2px solid #ffffff;outline-offset:4px}
@media(max-width:1200px){.footer-partners-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 24px}}
@media(max-width:1100px){
 .footer-nav-grid{grid-template-columns:repeat(3,1fr)}
 .footer-nav-col:nth-child(3),.footer-nav-col:nth-child(5){border-right:0}
 .footer-nav-col:nth-child(4),.footer-nav-col:nth-child(5){border-top:1px solid rgba(255,255,255,0.1)}
 .footer-card-bottom{grid-template-columns:1fr}
 .footer-box-ai{border-left:0;border-top:1px solid rgba(255,255,255,0.1)}
}
@media(max-width:767.98px){
 .footer .footer-hero{padding:56px 0 32px}
 .footer-hero-container{width:calc(100% - 40px)}
 .footer-hero-top{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:28px}
 .footer-logo img{width:115px;height:36px}
 .footer-nav-grid{grid-template-columns:1fr}
 .footer-nav-col{padding:24px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,0.1)}
 .footer-nav-col:last-child{border-bottom:0}
 .footer-box-email,.footer-box-ai{padding:24px 20px}
 .footer-partners-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}
 .footer-partner-badge{height:32px;max-width:min(100%,90px);margin:0 auto}
 .footer-legal-bar{flex-direction:column;align-items:flex-start;gap:16px}
 .footer-legal-anchors{flex-direction:column;align-items:flex-start;gap:10px}
}


/* Single-plane circuit routes with separated lanes and open round terminals. */
:is(#partners,#why-hanel-pt,#how-it-works,#industries-overview,#process,#knowledge,#faq,#location,#contact){background-repeat:repeat-y;background-position:center top;background-size:2000px auto}
#partners{background-image:url('assets/section-circuits/partners.svg')}
#why-hanel-pt{background-image:url('assets/section-circuits/why.svg')}
#how-it-works{background-image:url('assets/section-circuits/services.svg')}
#industries-overview{background-image:url('assets/section-circuits/industries.svg')}
#process{background-image:url('assets/section-circuits/process.svg')}
#knowledge{background-image:url('assets/section-circuits/knowledge.svg')}
#faq{background-image:url('assets/section-circuits/faq.svg')}
#location{background-image:url('assets/section-circuits/location.svg')}
#contact{background-image:url('assets/section-circuits/contact.svg')}
@media(max-width:767.98px){
 :is(#partners,#why-hanel-pt,#how-it-works,#industries-overview,#process,#knowledge,#faq,#location,#contact){background-size:1200px auto;background-position:left top;background-repeat:repeat-y}
}

/* Fit FAQ routes to the narrow section so both edge clusters remain visible. */
#faq{background-size:max(700px,100%) auto}

/* Font Awesome 7 icons retain the size and motion of their controls. */
.ui-icon{font-size:1em;text-align:center;line-height:1}
.blog-btn-icon i{font-size:14px}
.factory-video-icon,.factory-video-expand i{font-size:18px;line-height:1}
.process-card-icon{font-size:40px;line-height:1;text-align:center}
.why-star-icon{font-size:15px;color:#f59e0b}
.box-glass-icon>i{font-size:26px;line-height:1;text-align:center}
.why-card-white .box-glass-icon>i,.box-glass-icon-light>i{font-size:24px}
#location .market-email>i:first-child{font-size:20px}
.footer-round-btn i,.footer-ai-chip i{font-size:20px;line-height:1}
.footer-arrow-icon{font-size:14px}
.footer-ext-svg{font-size:20px}
.footer-back-link i{font-size:16px}
