@font-face{font-family:Fluent;src:url('./assets/fonts/Fluent-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Fluent;src:url('./assets/fonts/Fluent-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Fluent;src:url('./assets/fonts/Fluent-SemiBold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--bg:#0f0f0f;--fg:#eff0f0;--muted:#a4a6a9;--pink:#ed1e79;--line:#2b2b2d;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:dark;font-family:Fluent,Arial,sans-serif;color:var(--fg);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:7px}a:hover{color:var(--pink)}p{margin:0;color:#bfc1c3;font-size:1.125rem;line-height:1.65}h1,h2,h3{margin:0;font-weight:500;line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4.3vw,4rem)}h3{font-size:1.75rem;letter-spacing:-.025em}em{font-style:normal;position:relative}em:after{content:'';position:absolute;left:0;right:0;bottom:-.08em;height:2px;background:var(--pink)}.shell{width:min(1280px,calc(100% - 112px));margin:auto}.pink{color:var(--pink)}.muted{color:var(--muted)}.eyebrow,.micro{font:400 .75rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--muted);margin-bottom:28px}.dash{display:inline-block;width:25px;height:2px;background:var(--pink);vertical-align:middle;margin-right:12px}.skip{position:fixed;z-index:100;left:16px;top:-100px;padding:12px;background:var(--pink);color:#0f0f0f}.skip:focus{top:16px}.header{position:sticky;top:0;z-index:20;background:#0f0f0fed;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff08}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex:none;align-items:center;min-height:44px}.brand img{width:215px;height:auto}nav{display:flex;gap:32px;align-items:center;font-size:.95rem}nav a{display:inline-flex;align-items:center;min-height:44px}.nav-contact{border:1px solid #49494b;border-radius:3px;padding:0 17px;gap:22px}.nav-contact span{color:var(--pink)}.hero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}.matrix{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0f0f0f 0%,#0f0f0fd9 25%,#0f0f0f00 80%);z-index:-1;pointer-events:none}.hero-content{padding-top:105px;padding-bottom:28px}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em}.hero h1{font-size:clamp(3rem,6.1vw,5.8rem);font-weight:400;letter-spacing:-.055em;line-height:1.03;color:#aaaeb0}.hero-emphasis{color:var(--fg);font-weight:600}.hero-copy{max-width:590px;font-size:1.25rem;line-height:1.6;margin-top:30px}.actions{display:flex;align-items:center;gap:32px;margin-top:36px}.button{min-height:52px;padding:14px 22px;display:inline-flex;align-items:center;gap:24px;background:var(--pink);color:#0f0f0f;border-radius:3px;font-weight:600}.button:hover{background:#ff4396;color:#0f0f0f}.button span,.text-link span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}.text-link{min-height:48px;display:inline-flex;align-items:center;gap:22px}.text-link span{color:var(--pink)}.hero-foot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff19;padding-top:24px;margin-top:90px;font-size:.875rem;color:var(--muted)}.hero-foot .micro{font-size:.6875rem}.section{padding:104px 0;position:relative;isolation:isolate}.section:after{content:'';position:absolute;bottom:0;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,#444 20%,#444 80%,transparent)}.problem{background:#101011}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.problem-copy p:not(.eyebrow){margin-top:28px;max-width:490px}.small-statement{margin-top:30px;display:flex;gap:14px;align-items:center;font-size:1rem}.system-map{position:relative;aspect-ratio:560/440;background-image:radial-gradient(#555 1px,transparent 1px);background-size:16px 16px;mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}.map-lines{position:absolute;width:100%;height:100%;color:#48484b}.map-caption,.map-bottom{position:absolute;left:0;right:0;text-align:center;font-size:.6875rem;color:#a4a6a9}.map-caption{top:0}.map-bottom{bottom:0}.map-label{position:absolute;transform:translate(-50%,-50%);font:.625rem/1.3 var(--mono);letter-spacing:.06em;border:1px solid #3f3f41;padding:9px;background:#171718;border-radius:3px;white-space:nowrap}.ml1{left:16%;top:20.5%}.ml2{left:81%;top:20.5%}.ml3{left:16%;top:79.5%}.ml4{left:82%;top:79.5%}.ml5{left:12%;top:50%}.ml6{left:84%;top:50%}.map-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border:1px solid var(--pink);border-radius:50%;display:grid;place-items:center;background:#111;box-shadow:0 0 40px #ed1e7915}.map-hub img{width:46px;height:auto}.map-signals{stroke-dasharray:8 500;animation:signal 9s linear infinite}@keyframes signal{to{stroke-dashoffset:-508}}.section-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:80px;margin-bottom:50px}.section-heading>p{max-width:460px;padding-bottom:3px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}.service{position:relative;padding:30px 34px 36px;background:#0d0d0e;transition:background .3s}.service:hover{background:#121012}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px;color:#999}.service-glyph{width:33px;height:25px;background-image:radial-gradient(var(--pink) 1.5px,transparent 1.8px);background-size:8px 8px}.glyph-b{clip-path:polygon(0 0,100% 0,100% 35%,60% 35%,60% 100%,0 100%)}.glyph-c{clip-path:polygon(0 0,35% 0,35% 65%,100% 65%,100% 100%,0 100%)}.glyph-d{transform:rotate(-45deg)}.service p{margin-top:16px;max-width:490px;font-size:1.0625rem;min-height:3.5em}.tags{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}.tags li{font-size:.8125rem;color:#b9bbbd;border:1px solid #343436;padding:5px 9px;border-radius:3px}.custom{display:grid;grid-template-columns:.65fr 1.3fr 1fr;gap:40px;margin-top:64px;align-items:start}.custom .eyebrow{font-size:.6875rem;max-width:160px}.custom h3{font-size:1.8rem;line-height:1.2}.custom p{font-size:1rem}.approach{overflow:hidden;background:#111112}.approach-matrix{opacity:.6;mask-image:linear-gradient(90deg,#000,transparent 50%)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.approach-intro h2{font-size:clamp(2.8rem,4.4vw,4.25rem)}.outline-word{color:#a4a6a9}.relationship{max-width:390px;margin-top:58px;padding-left:21px;border-left:2px solid var(--pink)}.relationship .micro{font-size:.6875rem;color:var(--muted)}.relationship p{margin-top:16px;font-size:1rem}.relationship p:first-of-type{font-size:1.6rem;line-height:1.3;color:var(--fg);letter-spacing:-.02em}.relationship strong{font-weight:500}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:29px 0;border-top:1px solid #3b3b3d}.steps li:first-child{padding-top:0;border-top:0}.steps li:last-child{padding-bottom:0}.step-number{font:400 .8125rem/1.6 var(--mono);color:var(--pink);padding-top:6px}.steps h3{font-size:2rem}.steps p{font-size:1.0625rem;margin-top:13px}.contact{padding:70px 0;background:#0f0f0f}.contact-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}.contact .eyebrow{margin-bottom:20px}.contact h2{font-size:clamp(2.2rem,3.8vw,3.5rem)}.contact p:not(.eyebrow){max-width:430px;font-size:1.0625rem}footer{border-top:1px solid var(--line);background:#0b0b0c;padding:36px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top .brand img{width:180px}.footer-bottom{border-top:1px solid #272729;margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8125rem;color:var(--muted)}.motion-toggle{border:0;background:transparent;color:inherit;cursor:pointer;min-height:44px;padding:8px 0}.motion-toggle span{margin-left:10px;color:var(--pink)}.motion-paused *{animation-play-state:paused!important}
@media(min-width:1600px){.hero-content{padding-top:125px}.hero-foot{margin-top:110px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}nav{gap:20px}.brand img{width:185px}.hero-content{padding-top:80px}.hero h1{font-size:clamp(3rem,7vw,5rem)}.problem-grid{gap:35px}.approach-grid{gap:48px}.custom{grid-template-columns:1fr 1fr}.custom>.eyebrow{grid-column:1/-1;max-width:none;margin-bottom:-16px}.section{padding:80px 0}.section-heading{gap:40px}.map-label{font-size:.55rem;padding:7px}.map-hub{width:68px;height:68px}.map-hub img{width:38px}}
@media(max-width:720px){html{scroll-padding-top:116px}.shell{width:calc(100% - 40px)}.header-inner{min-height:98px;flex-wrap:wrap;gap:0;padding-top:12px;padding-bottom:4px}.header .brand img{width:175px}.header nav{width:100%;justify-content:space-between;gap:14px;font-size:.8125rem}.nav-contact{padding:0;border:0;gap:8px}.hero-content{padding-top:56px;padding-bottom:22px}.hero .eyebrow{font-size:.625rem;max-width:310px;line-height:1.9}.hero .dash{display:none}.hero h1{font-size:clamp(2.4rem,8.1vw,3.65rem);letter-spacing:-.045em;line-height:1.08}.hero-copy{font-size:1.125rem;margin-top:25px;max-width:430px}.hero:after{background:linear-gradient(90deg,#0f0f0feb,#0f0f0f60)}.actions{gap:14px;flex-wrap:wrap;margin-top:26px}.button{font-size:.9375rem;padding:13px 17px;gap:16px}.text-link{font-size:.9375rem}.hero-foot{margin-top:52px;flex-direction:column;gap:12px;font-size:.8125rem}.hero-foot .micro{font-size:.625rem}.section{padding:64px 0}.problem-grid,.section-heading,.approach-grid,.contact-inner{grid-template-columns:1fr;gap:36px}.problem-copy{grid-row:1}.problem-copy h2 br{display:none}.problem-copy h2 .muted{display:block;margin-top:6px}.problem-copy h2{font-size:2.65rem;max-width:440px}.system-map{width:min(100%,500px);margin:auto}.map-label{font-size:.625rem}.section-heading{margin-bottom:32px;gap:25px}.services-grid{grid-template-columns:1fr}.service{padding:26px}.service-top{margin-bottom:25px}.service p{min-height:0}.custom{grid-template-columns:1fr;gap:22px;margin-top:40px}.custom>.eyebrow{margin:0}.custom h3{font-size:1.8rem}.approach-intro h2{font-size:3rem}.relationship{margin-top:34px;max-width:100%}.steps{margin-top:12px}.steps li{grid-template-columns:32px 1fr;gap:12px}.steps li:first-child{padding-top:26px;border-top:1px solid #3b3b3d}.approach-matrix{mask-image:linear-gradient(180deg,#000,transparent 40%)}.contact{padding:52px 0}.contact-inner{gap:24px}.footer-top{align-items:flex-start;flex-direction:column;gap:18px}.footer-top nav{font-size:.875rem;gap:24px}.footer-bottom{flex-wrap:wrap;gap:8px 24px}.footer-bottom>span{width:100%}.eyebrow{font-size:.6875rem}.map-hub{width:70px;height:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Local v1 motion pass: topographic contours, floating network, cursor lighting. */
.hero:after{background:linear-gradient(90deg,#0f0f0fdf 0%,#0f0f0fb8 28%,#0f0f0f10 85%)}
.approach-matrix{opacity:.9;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.system-map{aspect-ratio:620/580;mask-image:none;background-image:radial-gradient(#363638 1px,transparent 1px);background-size:18px 18px}
.network{display:block;width:100%;height:100%;overflow:visible}
.network-node rect{fill:#151516;stroke:color-mix(in srgb,#444 calc(100% - var(--node-light,0)*100%),#ed1e79);stroke-width:1}
.network-node text{font:11px var(--mono);letter-spacing:.055em;fill:#d1d4d6}
.map-caption,.map-bottom{font-size:.625rem;pointer-events:none}
.service{isolation:isolate;--mouse-x:50%;--mouse-y:50%}
.service:before,.service:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s}
.service:before{z-index:-1;background:radial-gradient(380px circle at var(--mouse-x) var(--mouse-y),#ed1e7926,transparent 75%)}
.service:after{padding:1px;background:radial-gradient(220px circle at var(--mouse-x) var(--mouse-y),#ed1e79,#ed1e7960 40%,transparent 80%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
@media(hover:hover) and (pointer:fine){.service:hover:before,.service:hover:after{opacity:1}.service:hover .service-top{color:#ed1e79}.service:hover .tags li{border-color:#55404b}}
.motion-paused .service:before,.motion-paused .service:after{opacity:0!important}
@media(max-width:720px){.approach-matrix{mask-image:linear-gradient(180deg,#000,transparent 50%)}.hero:after{background:linear-gradient(90deg,#0f0f0fdd,#0f0f0f66)}}

/* Typography and pacing: local revision. */
@font-face{font-family:Fluent;src:url('./assets/fonts/Fluent-MediumItalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
.type-italic{font-style:italic;font-weight:500}
.type-italic:after{content:none}
.hero-content{padding-bottom:100px}
.hero h1{font-size:clamp(2.8rem,5.65vw,5.3rem);letter-spacing:-.045em;color:#d1d4d6}
.hero h1 .type-italic{color:var(--pink)}
.hero:after{background:radial-gradient(ellipse at 30% 46%,#0f0f0fbb,transparent 72%)}
.system-map{background:none}
.problem-copy h2{font-size:clamp(2.35rem,3.6vw,3.3rem);line-height:1.12}
.problem-copy h2 strong{display:block;font-weight:600;margin-top:12px}
.problem-copy h2 em{color:var(--pink)}
p strong{font-weight:600;color:#eff0f0}
.problem-copy p:not(.eyebrow){margin-top:23px}
.problem-copy .problem-resolution{padding-left:18px;border-left:2px solid var(--pink);color:#eff0f0}
.end-to-end{font-style:italic;font-weight:500;display:inline-block}
.end-to-end:after{height:2px;transform:scaleX(.08);transform-origin:left;opacity:.4}
.end-to-end.underline-visible:after{animation:underline-draw 5.5s cubic-bezier(.22,.65,.3,1) infinite}
@keyframes underline-draw{0%{transform:scaleX(.08);opacity:.4}28%,78%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.08);opacity:.4}}
.service h3{font-weight:600}
.custom h3 strong{font-weight:600}
.custom h3 .type-italic,.approach-intro h2 .type-italic{color:var(--pink)}
.relationship strong{font-weight:600;color:var(--pink)}
.steps h3{font-weight:600}
@media(max-width:720px){.hero-content{padding-bottom:60px}.hero h1{font-size:clamp(2.15rem,7.8vw,3.5rem)}.problem-copy h2{font-size:2.35rem}.hero:after{background:radial-gradient(ellipse at 40% 45%,#0f0f0fba,transparent 90%)}}
@media(prefers-reduced-motion:reduce){.end-to-end:after{transform:scaleX(1);opacity:1;animation:none!important}}
.motion-paused .end-to-end:after{animation-play-state:paused!important}

/* Paired editorial marks: draw together, ease out, and hold while in view. */
.full-stack{position:relative;display:inline-block}
.full-stack:after{content:'';position:absolute;left:-.02em;right:-.02em;top:54%;height:2px;background:var(--pink);pointer-events:none}
.full-stack:after,.end-to-end:after{transform:scaleX(0);transform-origin:left;opacity:1;animation:none}
.lines-visible .full-stack:after,.lines-visible .end-to-end:after{animation:paired-line-draw 1.25s cubic-bezier(.16,1,.3,1) .12s both}
@keyframes paired-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.full-stack:after,.end-to-end:after{animation:none!important;transform:scaleX(1)}}

/* Industry examples deepen the broad service overview without adding another service tier. */
.industry{margin-top:80px;padding-top:72px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px}
.industry-intro h2{font-size:clamp(2.3rem,3.5vw,3.3rem);line-height:1.12}
.industry-intro h2 em{color:var(--pink)}
.industry-intro>p:not(.eyebrow){margin-top:24px;font-size:1.0625rem;max-width:510px}
.industry-examples>.micro{color:var(--muted);margin-bottom:24px}
.industry-examples article{display:grid;grid-template-columns:28px 1fr;gap:16px;padding:25px 0;border-top:1px solid var(--line)}
.industry-examples article>.micro{color:var(--pink);padding-top:4px}
.industry-examples article:last-child{padding-bottom:0}
.industry-examples h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}
.industry-examples article p{font-size:1rem;margin-top:12px}
@media(max-width:1050px){.industry{gap:40px}}
@media(max-width:720px){.industry{grid-template-columns:1fr;gap:34px;margin-top:48px;padding-top:44px}.industry-intro h2{font-size:2.35rem}.industry-examples h3{font-size:1.4rem}}

/* Hub animation copied directly from V8.dc.html. */
.an-in{stroke-dasharray:5 200;animation:an-in 8s linear infinite both}
@keyframes an-in{0%{stroke-dashoffset:5;animation-timing-function:cubic-bezier(.5,0,.9,.6)}40%{stroke-dashoffset:-95}40.01%{stroke-dashoffset:-100}100%{stroke-dashoffset:-100}}
.an-out{stroke-dasharray:5 200;animation:an-out 8s linear infinite both}
@keyframes an-out{0%{stroke-dashoffset:5}46%{stroke-dashoffset:5;animation-timing-function:cubic-bezier(.1,.4,.5,1)}86%{stroke-dashoffset:-95}86.01%{stroke-dashoffset:-100}100%{stroke-dashoffset:-100}}
.an-src{animation:an-src 8s ease-out infinite both}
@keyframes an-src{0%{stroke:#A4A6A9}14%{stroke:#3A3A3A}100%{stroke:#3A3A3A}}
.an-dst{stroke:rgba(237,30,121,0);animation:an-dst 8s ease-out infinite both}
@keyframes an-dst{0%,85.6%{stroke:rgba(237,30,121,0)}86%{stroke:#ED1E79}96%{stroke:rgba(237,30,121,0)}100%{stroke:rgba(237,30,121,0)}}
.an-hub{animation:an-hub 8s linear infinite both}
@keyframes an-hub{0%,39.6%{opacity:0}40.4%{opacity:.3}52%{opacity:0}100%{opacity:0}}
.an-drift{animation:an-drift 34s linear infinite}
@keyframes an-drift{to{stroke-dashoffset:-160}}
.an-pulse{transform-box:fill-box;transform-origin:center;animation:an-pulse 13s ease-out infinite;animation-delay:2.4s}
@keyframes an-pulse{0%{transform:scale(1);opacity:.6}24%{transform:scale(2.4);opacity:0}100%{transform:scale(2.4);opacity:0}}

.original-network{display:block;width:100%;height:auto;overflow:visible}
@media(prefers-reduced-motion:reduce){.original-network .an-in,.original-network .an-out,.original-network .an-hub{opacity:0}.original-network .an-pulse{opacity:0}}

/* Hero-contained contours and a transparent-to-glass scrolling header. */
.header{position:fixed;inset:0 0 auto;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.header-inner{min-height:100px;transition:min-height .3s ease}
.header .brand{transform:translateY(18px);transition:transform .3s ease}
.header .brand img{width:215px;transition:width .3s ease}
.header.is-scrolled{background:rgba(15,15,15,.76);border-bottom-color:#ffffff0a;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);box-shadow:0 5px 20px #00000025}
.header.is-scrolled .header-inner{min-height:66px}
.header.is-scrolled .brand{transform:translateY(0)}
.header.is-scrolled .brand img{width:165px}
.hero{overflow:hidden;border-bottom:1px solid #ffffff0d;box-shadow:0 8px 24px -16px #000000a6;z-index:1}
.hero-content{padding-top:184px;padding-bottom:86px}
.hero h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.08;color:#d1d4d6}
.hero-emphasis{color:#eff0f0;font-weight:600;font-style:normal}
.hero:after{background:radial-gradient(ellipse at 27% 54%,#0f0f0f80,transparent 75%)}
.hero-matrix{height:100%;mask-image:linear-gradient(to bottom,#000 82%,#00000088 100%);-webkit-mask-image:linear-gradient(to bottom,#000 82%,#00000088 100%)}
@media(max-width:1050px){.header .brand img{width:185px}.header.is-scrolled .brand img{width:155px}.hero-content{padding-top:164px;padding-bottom:72px}}
@media(max-width:720px){.header-inner{min-height:118px;padding-top:12px;padding-bottom:4px}.header .brand{transform:translateY(16px)}.header .brand img{width:175px}.header nav{padding-top:15px;transition:padding .3s ease}.header.is-scrolled .header-inner{min-height:96px}.header.is-scrolled nav{padding-top:0}.header.is-scrolled .brand img{width:145px}.hero-content{padding-top:176px;padding-bottom:60px}.hero h1{font-size:clamp(2rem,7.2vw,3.15rem)}}

/* ACC-2: broad overview, process, then focused examples. */
.hero-copy{max-width:none}
.hero h1{max-width:none}
.full-stack:after,.end-to-end:after{height:4px}
.custom{grid-template-columns:1fr 2fr;gap:64px;align-items:center}
.custom p{max-width:none}
.industry-section .industry{margin-top:0;padding-top:0;border-top:0}
.industry-intro{grid-column:2;grid-row:1}
.industry-examples{grid-column:1;grid-row:1}
.industry-intro .eyebrow{letter-spacing:.06em}
.software-detail{background:#111112}
.software-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.software-grid h2{font-size:clamp(2.35rem,3.6vw,3.3rem);line-height:1.12}
.software-grid h2 strong{display:block;margin-top:12px;font-weight:600}
.software-grid h2 em{color:var(--pink)}
.software-copy>p{font-size:1.0625rem}
.software-examples{margin-top:30px}
.software-examples article{padding:22px 0;border-top:1px solid var(--line)}
.software-examples article:last-child{padding-bottom:0}
.software-examples h3{font-size:1.5rem}
.software-examples p{font-size:1rem;margin-top:12px}
.footer-meta{display:flex;align-items:center;gap:30px}
.privacy-pending{color:var(--muted)}
@media(max-width:1050px){.custom{gap:35px}.software-grid{gap:40px}}
@media(max-width:720px){.custom,.software-grid{grid-template-columns:1fr;gap:24px}.industry-intro,.industry-examples{grid-column:auto;grid-row:auto}.footer-top{flex-direction:row;align-items:center;gap:16px}.footer-top .brand img{width:145px}.footer-top .button{padding:10px 12px;font-size:.8rem;gap:8px}.footer-bottom{align-items:flex-start;gap:18px}.footer-meta{flex-wrap:wrap;gap:14px 24px}.hero-copy{max-width:none}}

/* Solution-section field and a continuous divider above the process. */
.services{overflow:hidden}
.services-matrix{opacity:.9;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.services:after{left:0;right:0;background:var(--line)}
@media(max-width:720px){.services-matrix{mask-image:linear-gradient(180deg,#000,transparent 50%)}}

/* Consistent, quiet dividers between page sections. */
.section:after{left:0;right:0;background:#ffffff0d}
.hero{border-bottom-color:#ffffff0d}
footer{border-top-color:#ffffff0d}

/* Shared size for section subheadings, including process steps. */
.steps h3,.service h3,.industry-examples h3,.software-examples h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;font-weight:600}

/* Isometric process and software accents. */
.iso-scene{position:relative;width:100%;max-width:520px}
.iso-scene canvas{display:block;width:100%;height:100%}
.iso-process{height:205px;margin-top:20px;margin-bottom:-12px}
.approach-intro:has(.iso-process) .relationship{margin-top:22px}
.iso-software{height:300px;margin-top:34px}
@media(max-width:720px){.iso-process{height:180px;margin-top:20px}.iso-software{height:245px;margin-top:22px}}

/* Section 05: enlarged, rotated layers behind the content. */
.software-detail{overflow:hidden}
.software-detail .iso-software{position:absolute;left:calc(50% - 850px);bottom:-140px;width:940px;height:650px;max-width:none;margin:0;z-index:-1;opacity:.58;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 24%,#000 85%,transparent)}
.software-detail .software-grid{min-height:0}
@media(max-width:1050px){.software-detail .iso-software{left:-270px;width:850px;height:600px}}
@media(max-width:720px){.software-detail .iso-software{left:-260px;bottom:-90px;width:760px;height:570px;opacity:.22}.software-detail .software-grid{min-height:0}}

/* Fill section 05 with the isometric artwork behind both text columns. */
.software-detail .iso-software{inset:0;width:100%;height:100%;opacity:.34;mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}
@media(max-width:720px){.software-detail .iso-software{inset:0;width:100%;height:100%;opacity:.2}}

/* Section 03: descending platforms as a full-section background. */
.approach .iso-process{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;z-index:-1;opacity:.4;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 86%,transparent)}
@media(max-width:720px){.approach .iso-process{opacity:.2}}
