:root{--bg:#050506;--surface:#101112;--surface2:#191a1b;--line:rgba(220,222,219,.14);--ink:#f4f4f1;--muted:#aaaead;--blue:#d3d6d2;--cyan:#d9dbd6;--violet:#b9bcba}
body{background:#050506}
::selection{background:#d9d9d3;color:#0b0b0c}
#signal-background{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 76% 80% at 50% 48%,#010102 0%,#080809 42%,#121314 76%,#1b1d1e 100%)}
main,.site-footer{position:relative;z-index:1}
.site-header{position:fixed;height:72px;background:transparent;border-bottom:0;backdrop-filter:none;transition:transform .38s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.site-header.is-hidden{transform:translateY(-110%);opacity:0;pointer-events:none}
.site-header .brand{animation:header-brand-in 1.25s cubic-bezier(.2,.7,.2,1) .65s both}
.brand img{display:block;width:64px;height:48px;filter:drop-shadow(0 0 10px rgba(230,230,226,.12))}
.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);margin:0;align-items:center;gap:clamp(28px,3vw,54px)}
.desktop-nav a{display:inline-block;white-space:nowrap;font:500 16px/1 "Space Grotesk",sans-serif;letter-spacing:.07em;color:#d9dcd7;background-image:linear-gradient(105deg,#d9dcd7 0%,#b6c0bc 30%,#ddd4c2 62%,#c4cbc6 82%,#d9dcd7 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:header-link-in .9s cubic-bezier(.2,.7,.2,1) both,solutions-wave 8s ease-in-out infinite}
.desktop-nav a:nth-child(1){animation-delay:.8s,0s}
.desktop-nav a:nth-child(2){animation-delay:.95s,.15s}
.desktop-nav a:nth-child(3){animation-delay:1.1s,.3s}
.desktop-nav a:hover{background-image:linear-gradient(105deg,#f1f1ed,#d8c9ae 55%,#f1f1ed)}
.desktop-nav a:focus-visible{outline:1px solid #d9c6a8;outline-offset:8px}
.menu-toggle{animation:header-link-in .9s cubic-bezier(.2,.7,.2,1) 1.1s both}
.mobile-nav{top:64px;border-color:rgba(220,222,219,.16);background:#101112}
.hero{height:100svh;background:linear-gradient(90deg,rgba(2,3,4,.06),rgba(2,3,4,.25) 42%,rgba(2,3,4,.25) 58%,rgba(2,3,4,.06))}
.hero::before{background:radial-gradient(ellipse 38% 58% at 50% 49%,rgba(0,1,2,.48),transparent 98%)}
.hero-glow{display:none}
.hero-copy{padding-bottom:0}
.hero h1{font-size:clamp(68px,8vw,128px)}
.hero h1 span{display:inline-block;padding-right:.14em;margin-right:-.14em;background-size:250% 100%;background-clip:text;-webkit-background-clip:text;animation:solutions-wave 8s ease-in-out infinite}
.hero h1 .hero-techbind{font-weight:500;background-image:linear-gradient(105deg,#d9dcd7 0%,#b6c0bc 30%,#ddd4c2 62%,#c4cbc6 82%,#d9dcd7 100%)}
.hero h1 .hero-solutions{background-image:linear-gradient(105deg,#f3f3ef 0%,#b8c1bd 19%,#e9d6b2 38%,#d3a49a 55%,#dce0dc 77%,#f3f3ef 100%)}
.section-index{color:#d0d2cd}
.section-heading h2 span{color:#a8acaa}
.hero-subtitle{margin-top:22px;max-width:590px;font-size:clamp(18px,1.65vw,22px);color:#e0e1dd}
.hero-actions{margin-top:27px}
.visual-caption{color:#909492}
.button-primary{background:linear-gradient(120deg,#f2f2ef,#d6d8d3);color:#111311;box-shadow:0 10px 38px rgba(205,207,201,.1)}
.button-primary:hover{background:#fff}
.hero-actions .explore-link{gap:.19em;min-height:50px;padding:10px 4px;border:0;background:none;box-shadow:none;color:transparent;font:600 clamp(23px,2vw,29px)/1 "Space Grotesk",sans-serif;transition:gap .3s ease,transform .2s ease}
.hero-actions .explore-link:hover{gap:.25em}
.hero-actions .explore-link:focus-visible{outline:2px solid #e7d0a8;outline-offset:6px}
.explore-letter{position:relative;display:inline-block;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px #c8d1cc;animation:explore-rise 5.8s ease-in-out infinite;animation-delay:calc(var(--letter) * .16s);will-change:transform}
.explore-letter::after{content:attr(data-letter);position:absolute;inset:0;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px var(--accent,#ecd4aa);opacity:0;animation:explore-glow 5.8s ease-in-out infinite;animation-delay:calc(var(--letter) * .16s);will-change:opacity;pointer-events:none}
.explore-letter:nth-child(3n){--accent:#c9a09a}
@supports not (-webkit-text-stroke:1px black){.explore-letter{color:#d5dad5;-webkit-text-fill-color:#d5dad5}.explore-letter::after{display:none}}
.hero-copy{animation:none}
.hero h1{animation:title-from-center 1.6s cubic-bezier(.45,.05,.35,1) .4s both}
.hero-subtitle{animation:details-in .75s ease 1.65s both}
.hero-actions{animation:details-in .75s ease 1.9s both}
@keyframes title-from-center{0%{opacity:0;clip-path:inset(0 50% 0 50%);transform:scale(.68);filter:blur(16px) brightness(.12)}35%{opacity:.58;filter:blur(9px) brightness(.36)}70%{opacity:.9;filter:blur(3px) brightness(.78)}100%{opacity:1;clip-path:inset(0 -2% 0 -2%);transform:none;filter:blur(0) brightness(1)}}
@keyframes details-in{from{opacity:0;transform:translateY(18px) scale(.9);filter:brightness(.6)}to{opacity:1;transform:none;filter:brightness(1)}}
@keyframes header-brand-in{from{opacity:0;transform:translateX(-24px) scale(.88);filter:blur(8px) brightness(.35)}to{opacity:1;transform:none;filter:blur(0) brightness(1)}}
@keyframes header-link-in{from{opacity:0;transform:translateY(-12px);filter:blur(5px) brightness(.5)}to{opacity:1;transform:none;filter:blur(0) brightness(1)}}
@keyframes solutions-wave{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes explore-rise{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}}
@keyframes explore-glow{0%,18%,78%,100%{opacity:0}45%{opacity:1}}
.intro,.product-section,.approach,.contact-section{position:relative;isolation:isolate;overflow:hidden}
.section-form{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.intro>*:not(.section-form):not(.expertise-stars),.product-section>*:not(.section-form):not(.product-stars),.approach>*:not(.section-form):not(.approach-stars),.contact-section>*:not(.section-form):not(.contact-stars){position:relative;z-index:1}
.intro{min-height:100svh;width:100%;display:grid;place-items:center;padding:24px 20px;background:linear-gradient(90deg,rgba(2,3,4,.06),rgba(2,3,4,.25) 42%,rgba(2,3,4,.25) 58%,rgba(2,3,4,.06))}
.intro::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 38% 58% at 50% 49%,rgba(0,1,2,.48),transparent 98%)}
.expertise-stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.product-stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.approach-stars,.contact-stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.expertise-showcase{text-align:center;max-width:1180px;margin:auto}
.expertise-showcase .section-index{margin-bottom:clamp(14px,2.5vh,38px);font-size:clamp(19px,2vw,27px);font-weight:500;letter-spacing:.12em}
.expertise-orbit{--orbit-size:min(760px,72vw,calc(100svh - 150px));position:relative;width:var(--orbit-size);height:var(--orbit-size);margin:0 auto;container-type:inline-size}
.orbit-snakes{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:rotate(-90deg)}
.orbit-track{fill:none;stroke:rgba(205,211,205,.34);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:0 1000;stroke-linecap:round}
.orbit-snake{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:45 955}
.orbit-snake-outer{opacity:.72}
.orbit-snake-middle{opacity:.72}
.orbit-snake-inner{opacity:.72}
.orbit-snake-head{fill:#f0eee5}
.orbit-snake-head-outer{opacity:.72}
.orbit-snake-head-middle{opacity:.72}
.orbit-snake-head-inner{opacity:.72}
.orbit-watermark{position:absolute;z-index:0;left:50%;top:45%;transform:translate(-50%,-50%);color:#f0f2ec;opacity:.075;font:300 clamp(180px,24vw,300px)/1 "Space Grotesk",sans-serif;pointer-events:none;user-select:none}
.orbit-content{position:absolute;z-index:1;inset:12% 13% 21%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.expertise-title{max-width:100%;margin:0;color:#d9dcd7;font:500 clamp(31px,10.2cqw,76px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.065em;text-wrap:balance;background-image:linear-gradient(105deg,#d9dcd7 0%,#b6c0bc 30%,#ddd4c2 62%,#c4cbc6 82%,#d9dcd7 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:solutions-wave 8s ease-in-out infinite}
.expertise-detail{width:min(78cqw,520px);margin:clamp(12px,3cqw,24px) auto 0}
.expertise-label{margin:0 0 clamp(8px,1.5cqw,12px);color:#d3d8d0;font:600 clamp(9px,1.8cqw,12px)/1.3 "Space Grotesk",sans-serif;letter-spacing:.18em;text-transform:uppercase}
.expertise-description{margin:0;color:#b4b9b3;font-size:clamp(12px,2.65cqw,18px);line-height:1.5}
.expertise-showcase .section-index,.expertise-title,.expertise-detail{opacity:0}
.expertise-showcase.is-arriving .section-index{animation:expertise-depth-in 1.1s cubic-bezier(.16,1,.3,1) both}
.expertise-showcase.is-arriving .expertise-title{animation:expertise-depth-in 1.1s cubic-bezier(.16,1,.3,1) both,solutions-wave 8s ease-in-out infinite}
.expertise-showcase.is-arriving .expertise-detail{animation:expertise-depth-in 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes expertise-depth-in{from{opacity:0;transform:perspective(900px) translateZ(-190px) translateY(24px) scale(.8);filter:blur(13px)}to{opacity:1;transform:perspective(900px) translateZ(0) translateY(0) scale(1);filter:blur(0)}}
.orbit-dots{position:absolute;z-index:3;inset:0;pointer-events:none}
.orbit-dot{position:absolute;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto}
.orbit-dot::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#7e8780;transform:translate(-50%,-50%);transition:background .25s}
.orbit-dot:hover::after,.orbit-dot:focus-visible::after,.orbit-dot.is-active::after{background:#e6e9e3}
.orbit-dot:focus-visible{outline:1px solid #e3e7df;outline-offset:1px}
.orbit-dot:nth-child(1){left:43%;top:95.8%}
.orbit-dot:nth-child(2){left:48%;top:96.4%}
.orbit-dot:nth-child(3){left:52%;top:96.4%}
.orbit-dot:nth-child(4){left:57%;top:95.8%}
.reveal{transform:translateY(28px) scale(.94);transition:opacity .9s ease,transform 1.05s cubic-bezier(.17,.7,.2,1)}
.reveal.visible{transform:none}
.expertise-card{background:linear-gradient(155deg,rgba(27,28,29,.97),rgba(11,12,13,.98) 75%)}
.card-symbol,.card-label{color:#c9ccc7}
.approach-item>span{color:#c9ccc7}
.product-section{background:linear-gradient(90deg,rgba(6,6,7,.78),rgba(23,24,25,.66))}
.product-copy h2 em{color:#d4d6d1}
.visual-frame{background:#191a1b;border-color:#555856;box-shadow:0 45px 100px #0009,0 0 75px rgba(208,210,203,.06)}
.visual-bar span{background:#5f6260}
.visual-bar p{color:#969a96}
.contact-section{background:radial-gradient(ellipse 80% 100% at 50% 110%,rgba(151,153,148,.1),transparent),rgba(7,7,8,.6)}
.contact-link{color:#e0e1dc;border-bottom-color:#d0d1cb}
.site-footer{background:rgba(4,4,5,.68);color:#949795}
.footer-brand{color:#f2f2ee}
@media(max-width:700px){.site-header{height:64px}.brand img{width:56px;height:42px}.hero{background:linear-gradient(180deg,rgba(2,3,4,.08),rgba(5,8,9,.3) 55%,rgba(3,5,6,.34))}.hero::before{background:radial-gradient(ellipse 75% 55% at 50% 51%,rgba(1,2,3,.46),transparent 98%)}.hero h1{font-size:clamp(44px,11vw,58px)}.hero-subtitle{font-size:16px;max-width:340px;margin-top:18px}.hero-actions{margin-top:21px}}
@media(max-width:700px){.intro{background:linear-gradient(180deg,rgba(2,3,4,.08),rgba(5,8,9,.3) 55%,rgba(3,5,6,.34))}.intro::before{background:radial-gradient(ellipse 75% 55% at 50% 51%,rgba(1,2,3,.46),transparent 98%)}}
@media(max-width:700px){.intro{padding:24px 20px}.expertise-showcase .section-index{margin-bottom:26px;font-size:19px}.expertise-orbit{--orbit-size:min(440px,calc(100vw - 40px),calc(100svh - 140px))}.orbit-watermark{font-size:clamp(145px,42vw,210px)}.expertise-description{line-height:1.4}.orbit-dot:nth-child(1){left:42%}.orbit-dot:nth-child(2){left:47%}.orbit-dot:nth-child(3){left:53%}.orbit-dot:nth-child(4){left:58%}}
@media(prefers-reduced-motion:reduce){.hero h1,.hero-subtitle,.hero-actions{opacity:1;clip-path:none;transform:none}.site-header .brand,.desktop-nav a,.menu-toggle,.hero h1 span,.explore-letter,.explore-letter::after{animation:none}.explore-letter{will-change:auto}.explore-letter::after{will-change:auto}}
@media(prefers-reduced-motion:reduce){.expertise-showcase .section-index,.expertise-title,.expertise-detail{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}}
.product-section{min-height:100svh;display:grid;place-items:center;padding:20px 20px;background:linear-gradient(90deg,rgba(2,3,4,.12),rgba(2,3,4,.3) 50%,rgba(2,3,4,.12));border:0}
.product-showcase{width:min(1510px,100%);text-align:center}
.product-showcase .section-index{margin:0 0 8px;color:#d0d2cd;font-size:clamp(15px,1.4vw,19px);font-weight:500;letter-spacing:.15em}
.product-showcase h2{margin:0;color:#e2e4df;font:500 clamp(42px,5.5vw,76px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.065em}
.product-showcase h2 em{font-style:normal;color:transparent;background:linear-gradient(105deg,#d9dcd7,#b6c0bc 30%,#ddd4c2 62%,#c4cbc6);background-clip:text;-webkit-background-clip:text}
.product-showcase .product-layout{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,900px) minmax(140px,1fr);gap:clamp(12px,2vw,30px);align-items:center;margin-top:15px}
.product-frame{position:relative;aspect-ratio:1000/560;min-width:0}
.product-contours{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.product-track{fill:none;stroke:rgba(205,211,205,.34);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:0 1000;stroke-linecap:round}
.product-snake{fill:none;stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:0 1000;opacity:0}
.product-snake-head{fill:#f0eee5;opacity:0}
.product-frame>img{position:absolute;left:4.1%;top:7.3%;width:91.8%;height:85.4%;object-fit:cover;object-position:top center;border-radius:clamp(10px,1.3vw,18px);border:1px solid rgba(220,225,219,.16);box-shadow:0 35px 90px rgba(0,0,0,.4);opacity:0;transform:scale(.88);filter:blur(10px);transition:opacity 1s ease .35s,transform 1.2s cubic-bezier(.16,1,.3,1) .35s,filter 1.2s ease .35s}
.product-showcase.is-arriving .product-frame>img{opacity:1;transform:scale(1);filter:blur(0)}
.product-side{list-style:none;margin:0;padding:0;display:grid;gap:clamp(45px,8vh,100px);color:#d0d3ce;font:500 clamp(15px,1.4vw,20px)/1.35 "Space Grotesk",sans-serif;letter-spacing:-.02em}
.product-side li{position:relative}
.product-side-left{text-align:right}
.product-side-right{text-align:left}
.product-side-left li::after,.product-side-right li::before{content:"";position:absolute;top:50%;width:clamp(15px,2vw,30px);height:1px;background:rgba(216,220,214,.45)}
.product-side-left li::after{left:calc(100% + 8px)}
.product-side-right li::before{right:calc(100% + 8px)}
.product-discover{display:inline-block;margin-top:12px;padding:4px 0;color:#e5e8e1;font:500 clamp(17px,1.7vw,23px)/1.2 "Space Grotesk",sans-serif;letter-spacing:.03em;border-bottom:1px solid rgba(229,232,225,.45);transition:color .25s,border-color .25s}
.product-discover:hover,.product-discover:focus-visible{color:#fff;border-color:#fff}
.product-discover span{margin-left:9px}
.product-showcase .section-index,.product-showcase h2,.product-side li,.product-discover{opacity:0}
.product-showcase.is-arriving .section-index,.product-showcase.is-arriving h2,.product-showcase.is-arriving .product-side li,.product-showcase.is-arriving .product-discover{animation:expertise-depth-in 1.15s cubic-bezier(.16,1,.3,1) both}
@media(max-width:1050px){.product-showcase .product-layout{grid-template-columns:minmax(110px,1fr) minmax(0,720px) minmax(110px,1fr);gap:10px}.product-side{font-size:clamp(13px,1.6vw,18px)}}
@media(max-width:700px){.product-section{padding:40px 12px;min-height:100svh}.product-showcase .section-index{font-size:15px}.product-showcase h2{font-size:clamp(37px,9vw,54px)}.product-showcase .product-layout{grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:22px}.product-frame{grid-column:1/-1;grid-row:1}.product-side{gap:13px;font-size:13px;text-align:center}.product-side li br{display:initial}.product-side li::before,.product-side li::after{display:none}.product-discover{margin-top:27px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.product-frame>img{opacity:1;transform:none;filter:none;transition:none}.product-showcase .section-index,.product-showcase h2,.product-side li,.product-discover{opacity:1;transform:none;filter:none;animation:none}}
.approach,.contact-section{min-height:100svh;width:100%;display:grid;place-items:center;padding:25px 20px;background:linear-gradient(90deg,rgba(2,3,4,.06),rgba(2,3,4,.25) 42%,rgba(2,3,4,.25) 58%,rgba(2,3,4,.06));border:0}
.approach::before,.contact-section::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 38% 58% at 50% 49%,rgba(0,1,2,.48),transparent 98%)}
.approach-showcase,.contact-showcase{width:min(1460px,100%);text-align:center}
.approach-showcase .section-index,.contact-showcase .section-index{margin:0 0 9px;color:#d0d2cd;font-size:clamp(15px,1.4vw,19px);font-weight:500;letter-spacing:.15em}
.approach-showcase h2,.contact-showcase h2{margin:0;color:#e2e4df;font:500 clamp(42px,4.7vw,72px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.065em}
.approach-showcase h2 em,.contact-showcase h2 em{font-style:normal;color:transparent;background:linear-gradient(105deg,#d9dcd7,#b6c0bc 30%,#ddd4c2 62%,#c4cbc6);background-clip:text;-webkit-background-clip:text}
.approach-intro{max-width:700px;margin:10px auto 8px;color:#aeb4ad;font-size:clamp(13px,1.2vw,17px);line-height:1.4}
.approach-layout{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,650px) minmax(170px,1fr);gap:clamp(10px,2vw,30px);align-items:center}
.approach-shape{position:relative;aspect-ratio:800/580;min-width:0}
.scene-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.scene-track{fill:none;stroke:rgba(205,211,205,.34);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:0 3000}
.scene-snake{fill:none;stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:0 3000;opacity:0}
.scene-head{fill:#f0eee5;opacity:0}
.approach-shape-mark{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);color:#f0f2ec;opacity:.07;font:300 clamp(160px,22vw,300px)/1 "Space Grotesk",sans-serif;pointer-events:none}
.approach-steps{display:grid;gap:clamp(60px,10vh,130px)}
.approach-steps-left{text-align:right}
.approach-steps-right{text-align:left}
.approach-step{max-width:270px}
.approach-steps-left .approach-step{margin-left:auto}
.approach-step span{display:block;margin-bottom:5px;color:#969d95;font:600 12px/1 "Space Grotesk",sans-serif;letter-spacing:.17em}
.approach-step h3{margin:0 0 9px;color:#e0e3dd;font:500 clamp(22px,2.4vw,34px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.05em}
.approach-step p{margin:0;color:#aeb4ad;font-size:clamp(13px,1.1vw,16px);line-height:1.5}
.contact-showcase{width:min(900px,100%)}
.contact-shape{position:relative;width:min(610px,72vw,calc(100svh - 125px));aspect-ratio:1;margin:0 auto}
.contact-content{position:absolute;inset:14%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.contact-content h2{font-size:clamp(32px,5vw,64px);line-height:1.08}
.contact-content p{max-width:390px;margin:22px auto 25px;color:#b4b9b3;font-size:clamp(14px,1.3vw,18px);line-height:1.5}
.contact-content .contact-link{display:inline-block;gap:0;padding-bottom:7px;color:#e5e8e1;border-bottom:1px solid rgba(229,232,225,.45);font:500 clamp(15px,1.7vw,22px)/1.25 "Space Grotesk",sans-serif}
.contact-content .contact-link span{margin-left:8px}
.approach-showcase .section-index,.approach-showcase h2,.approach-intro,.approach-step,.contact-showcase .section-index,.contact-content>*{opacity:0}
.approach-showcase.is-arriving .section-index,.approach-showcase.is-arriving h2,.approach-showcase.is-arriving .approach-intro,.approach-showcase.is-arriving .approach-step,.contact-showcase.is-arriving .section-index,.contact-showcase.is-arriving .contact-content>*{animation:expertise-depth-in 1.15s cubic-bezier(.16,1,.3,1) both}
@media(max-width:1050px){.approach-layout{grid-template-columns:minmax(130px,1fr) minmax(0,590px) minmax(130px,1fr);gap:10px}.approach-step p{font-size:13px}}
@media(max-width:700px){.approach,.contact-section{padding:45px 14px}.approach-showcase h2{font-size:clamp(36px,8.4vw,51px)}.approach-intro{font-size:13px;margin:11px auto 18px}.approach-layout{grid-template-columns:1fr 1fr;gap:15px}.approach-shape{grid-column:1/-1;grid-row:1}.approach-steps{gap:16px;text-align:center}.approach-steps-left{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr;align-items:start}.approach-steps-left .approach-step{margin:0}.approach-step{max-width:none}.approach-step h3{font-size:21px}.approach-step p{font-size:12px}.approach-steps-right{grid-column:1/-1;grid-row:3}.approach-shape-mark{font-size:clamp(140px,35vw,210px)}.contact-shape{width:min(calc(100vw - 28px),calc(100svh - 120px))}.contact-content{inset:12%}.contact-content h2{font-size:clamp(27px,7.5vw,44px)}.contact-content p{font-size:clamp(12px,3vw,15px);margin:16px auto}.contact-content .contact-link{font-size:clamp(13px,3.4vw,17px)}}
@media(prefers-reduced-motion:reduce){.approach-showcase .section-index,.approach-showcase h2,.approach-intro,.approach-step,.contact-showcase .section-index,.contact-content>*{opacity:1;transform:none;filter:none;animation:none}}
.product-rotating{transition:opacity .42s ease,filter .42s ease,transform .42s ease}
.product-rotating.is-switching{opacity:0;filter:blur(8px);transform:translateY(10px)}
.product-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}
.product-pagination button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#777d79;opacity:.55;transition:background .25s,opacity .25s;cursor:pointer}
.product-pagination button.is-active{background:#e2e5df;opacity:1}
.product-pagination button:focus-visible{outline:1px solid #e2e5df;outline-offset:5px}
.approach-showcase{display:grid;place-items:center}
.approach-shape{width:min(850px,calc(100vw - 40px),calc((100svh - 68px)*800/580));aspect-ratio:800/580;margin:auto}
.approach-content{position:absolute;inset:0;text-align:center}
.approach-content .section-index{position:absolute;top:23%;left:0;right:0;margin:0;font-size:clamp(13px,1.2vw,17px)}
.approach-content h2{position:absolute;top:37%;left:0;right:0;font-size:clamp(28px,3vw,38px);line-height:1.06}
.approach-content .approach-intro{position:absolute;top:52%;left:24.5%;width:51%;margin:0;font-size:clamp(12px,1.15vw,16px);line-height:1.45}
.approach-content .approach-steps{position:absolute;top:70%;left:15%;right:15%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;text-align:center}
.approach-content .approach-step{max-width:none}
.approach-content .approach-step span{font-size:10px;margin-bottom:5px}
.approach-content .approach-step h3{font-size:clamp(18px,1.9vw,25px);margin-bottom:6px}
.approach-content .approach-step p{font-size:clamp(11px,.95vw,13px);line-height:1.35}
.approach-shape-mark{top:58%;font-size:clamp(130px,15vw,210px);opacity:.045}
.site-footer{display:block;min-height:0;width:100%;padding:0;background:linear-gradient(180deg,rgba(8,9,9,.35),#080909 62%);border-top:1px solid rgba(211,216,208,.14);color:#a9aeaa}
.footer-inner{padding-top:48px;padding-bottom:24px}
.footer-main{display:flex;justify-content:space-between;align-items:start;gap:35px;padding-bottom:54px}
.footer-identity{display:grid;gap:13px}
.site-footer .footer-brand{display:inline-flex;align-items:center;gap:11px;color:#e3e6df;font:500 22px/.9 "Space Grotesk",sans-serif;letter-spacing:-.055em}
.footer-brand img{width:74px;height:56px;filter:drop-shadow(0 0 10px rgba(230,230,226,.12))}
.footer-identity p{margin:0;color:#a9aeaa;font-size:14px}
.site-footer .footer-links{display:flex;align-items:center;gap:clamp(22px,3vw,48px);padding-top:20px;font:500 14px/1 "Space Grotesk",sans-serif;color:#c5cac4}
.site-footer .footer-links a,.footer-bottom a{transition:color .2s}
.site-footer .footer-links a:hover,.footer-bottom a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;border-top:1px solid rgba(211,216,208,.13);font:400 12px/1.4 "DM Sans",sans-serif;color:#858b85}
.footer-bottom small{font-size:12px;text-align:left}
.footer-bottom a{color:#bfc4bd;font-size:13px}
.footer-bottom a span{margin-left:7px}
.approach-pagination{display:none}
@media(max-width:700px){
  .intro{padding:36px 16px}
  .expertise-showcase .section-index{font-size:17px;margin-bottom:22px}
  .expertise-orbit{--orbit-size:min(440px,calc(100vw - 28px),calc(100svh - 175px))}
  .orbit-content{inset:13% 12% 21%}
  .expertise-title{font-size:clamp(25px,9.4cqw,42px)}
  .expertise-description{font-size:clamp(11px,2.8cqw,14px)}
  .product-section{padding:40px 14px}
  .product-showcase h2{font-size:clamp(34px,8.5vw,46px)}
  .product-showcase .product-layout{gap:19px 12px;margin-top:26px}
  .product-frame{height:clamp(255px,75vw,345px);aspect-ratio:auto}
  .product-frame>img{left:3.5%;top:5.5%;width:93%;height:89%;object-fit:cover}
  .product-side{gap:12px;font-size:14px;line-height:1.3}
  .product-side li{min-height:48px;padding:8px 2px;border-top:1px solid rgba(216,220,214,.18)}
  .product-discover{margin-top:23px;font-size:17px}
  .product-pagination{margin-top:16px}
  .approach{padding:36px 14px}
  .approach-shape{width:min(calc(100vw - 28px),480px);height:clamp(610px,76svh,680px);aspect-ratio:auto}
  .approach-content .section-index{top:30%;font-size:10px;letter-spacing:.1em}
  .approach-content h2{top:42%;left:31%;right:31%;font-size:clamp(17px,4.5vw,22px);line-height:1.04}
  .approach-content .approach-intro{top:56%;left:24%;width:52%;font-size:12px;line-height:1.35}
  .approach-content .approach-steps{top:70%;left:17%;right:17%;display:grid;grid-template-columns:1fr;gap:0;min-height:100px}
  .approach-content .approach-step{grid-area:1/1;animation:none!important;opacity:0!important;visibility:hidden;transform:translateY(9px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
  .approach-content .approach-step.is-current{opacity:1!important;visibility:visible;transform:none}
  .approach-content .approach-step span{font-size:10px}
  .approach-content .approach-step h3{font-size:21px;margin-bottom:6px}
  .approach-content .approach-step p{font-size:13px;line-height:1.4}
  .approach-pagination{position:absolute;top:89%;left:0;right:0;display:flex;justify-content:center;gap:8px}
  .approach-pagination button{width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
  .approach-pagination button::after{content:"";display:block;width:6px;height:6px;margin:auto;border-radius:50%;background:#7d857e;transition:background .25s}
  .approach-pagination button.is-active::after{background:#e5e8e1}
  .approach-pagination button:focus-visible{outline:1px solid #e5e8e1;outline-offset:1px}
  .approach-shape-mark{top:58%;font-size:clamp(105px,32vw,145px)}
  .contact-section{padding:40px 14px}
  .contact-showcase .section-index{margin-bottom:18px;font-size:15px}
  .contact-shape{width:min(calc(100vw - 28px),calc(100svh - 175px),460px)}
  .contact-content{inset:10%}
  .contact-content h2{font-size:clamp(25px,7vw,38px)}
  .contact-content p{font-size:13px;margin:16px auto}
  .contact-content .contact-link{font-size:clamp(12px,3.3vw,16px)}
  .footer-inner{padding-top:36px}
  .footer-main{display:grid;gap:30px;padding-bottom:36px}
  .site-footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding-top:0}
  .footer-bottom{align-items:start}
  .footer-brand img{width:60px;height:46px}
}
@media(max-width:420px){.footer-bottom{flex-direction:column;gap:10px}.approach-content h2{left:30%;right:30%}}
@media(max-width:360px){.product-section{padding:26px 12px}.product-showcase .product-layout{margin-top:17px;gap:11px 8px}.product-frame{height:238px}.product-side{gap:7px;font-size:12px}.product-side li{min-height:40px;padding:5px 2px}.product-discover{margin-top:16px}.product-pagination{margin-top:11px}.contact-content .contact-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.product-rotating{transition:none}}

/* Approach follows the product layout: copy surrounds the contour. */
.approach-showcase{display:block}
.approach-showcase .section-index{margin-bottom:8px}
.approach-intro{margin:10px auto 0}
.approach-layout{width:100%;margin-top:12px;grid-template-columns:minmax(160px,1fr) minmax(0,680px) minmax(160px,1fr);gap:clamp(12px,2vw,28px)}
.approach-shape{width:100%;height:auto;aspect-ratio:800/580}
.approach-shape-mark{top:53%;font-size:clamp(130px,18vw,235px)}
.approach-steps{gap:clamp(50px,8vh,110px)}
.approach-steps-right{align-self:center}
@media(max-width:1050px){.approach-layout{grid-template-columns:minmax(120px,1fr) minmax(0,610px) minmax(120px,1fr)}}
@media(max-width:700px){
  .approach{padding:34px 16px 44px}
  .approach-showcase h2{font-size:clamp(33px,8.2vw,48px)}
  .approach-intro{max-width:460px;margin:10px auto 0;font-size:13px;line-height:1.45}
  .approach-layout{display:flex;flex-direction:column;gap:0;margin-top:15px}
  .approach-shape{order:0;width:min(100%,480px);height:auto;aspect-ratio:800/580;align-self:center;margin:0 0 12px}
  .approach-shape-mark{top:56%;font-size:clamp(100px,28vw,150px)}
  .approach-steps{width:min(100%,480px);gap:0;text-align:left;align-self:center}
  .approach-steps-left{order:1;display:grid;grid-template-columns:1fr}
  .approach-steps-right{order:2;display:grid;grid-template-columns:1fr}
  .approach-steps-left .approach-step{margin:0}
  .approach-step{display:grid;grid-template-columns:38px 1fr;column-gap:8px;max-width:none;padding:12px 0;border-top:1px solid rgba(216,220,214,.18)}
  .approach-step span{grid-column:1;grid-row:1/3;padding-top:4px;margin:0;font-size:11px}
  .approach-step h3{grid-column:2;margin:0 0 3px;font-size:19px}
  .approach-step p{grid-column:2;font-size:12px;line-height:1.4}
}
