:root{--ink:#202126;--ink-2:#2d2e35;--paper:#f7f5f0;--white:#fff;--muted:#6d6d73;--line:#ddd9d0;--plum:#4c3b70;--lime:#c6dc55;--coral:#ed7055;--violet:#8f79c5;--aqua:#51a9a4;--gold:#d3a44e;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}section[id]{scroll-margin-top:102px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:90;top:-5rem;left:1rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--ink)}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:88px;padding:.7rem max(1.25rem,calc((100vw - var(--max))/2));background:rgba(247,245,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.logo-link{flex-shrink:0}.logo-link img{width:196px;height:auto}.site-nav{display:flex;align-items:center;gap:1.15rem;font-size:.86rem;font-weight:600}.site-nav>a:hover,.nav-group summary:hover{color:var(--coral)}.nav-group{position:relative}.nav-group summary{list-style:none;display:flex;align-items:center;gap:.35rem;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{color:var(--coral);transition:transform .2s}.nav-group[open] summary span{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:calc(100% + 1.1rem);left:-1rem;z-index:10;display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:.15rem;min-width:470px;padding:.8rem;background:rgba(247,245,240,.98);border:1px solid var(--line);box-shadow:0 20px 45px rgba(32,33,38,.15)}.nav-dropdown a{padding:.5rem .65rem;color:var(--muted);font-size:.8rem}.nav-dropdown a:hover{background:#ece8e0;color:var(--plum)}.nav-dropdown .dropdown-overview{grid-column:1/-1;padding-bottom:.65rem;color:var(--plum);font-weight:700;border-bottom:1px solid var(--line)}.nav-cta{display:flex;gap:1.25rem;align-items:center;padding:.68rem 1rem;border:1px solid var(--plum)}.nav-cta:hover{background:var(--plum);color:#fff!important}.menu-button{display:none;width:44px;height:44px;padding:9px;background:transparent;border:1px solid var(--line)}.menu-button>span{display:block;height:2px;margin:5px 0;background:var(--ink)}
.hero{position:relative;display:grid;grid-template-columns:1fr .94fr;gap:4.8rem;align-items:center;min-height:650px;padding:5rem max(1.25rem,calc((100vw - var(--max))/2)) 4.5rem;overflow:hidden;background:var(--paper)}.hero:before{content:"";position:absolute;left:0;bottom:0;width:42%;height:4px;background:linear-gradient(90deg,var(--coral),var(--gold),var(--lime));pointer-events:none}.hero:after{content:"";position:absolute;right:7%;top:12%;width:180px;height:180px;border:1px solid rgba(76,59,112,.16);border-radius:50%;box-shadow:0 0 0 20px rgba(237,112,85,.05),0 0 0 42px rgba(81,169,164,.05);pointer-events:none}.eyebrow,.kicker{margin:0;color:var(--coral);font:500 .77rem/1.5 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.hero h1{position:relative;z-index:1;margin:1.1rem 0 1.4rem;font:800 clamp(3.6rem,7vw,6.9rem)/.96 Manrope,sans-serif;letter-spacing:-.075em}.hero h1 em{font-style:normal;color:var(--plum)}.hero-lede{max-width:32rem;margin:0;color:var(--muted);font-size:1.12rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:1.7rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.35rem;min-height:51px;padding:.8rem 1.25rem;border:1px solid transparent;border-radius:2px;font-weight:700;cursor:pointer;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.primary{background:var(--plum);color:#fff}.primary:hover{background:var(--coral)}.secondary{background:#fff;border-color:var(--line)}.secondary:hover{background:var(--lime);border-color:var(--lime)}.text-link{padding:.45rem 0;border-bottom:1px solid #b7b2a8;font-size:.9rem;font-weight:600}.text-link:hover{color:var(--coral);border-color:var(--coral)}.text-link span{margin-left:.5rem}.hero-meta{display:flex;flex-wrap:wrap;gap:1.15rem;margin-top:3.1rem;padding-top:1.1rem;border-top:1px solid var(--line);color:var(--muted);font:500 .72rem 'IBM Plex Mono',monospace;text-transform:uppercase}.hero-meta b{margin-right:.35rem;color:var(--plum)}.hero-media{position:relative;z-index:1}.hero-image-wrap{position:relative;padding:12px;background:#eae6dc;border:1px solid #d2cdc2;box-shadow:20px 20px 0 rgba(76,59,112,.11)}.hero-image-wrap img{width:100%;height:405px;object-fit:cover;filter:saturate(.62) sepia(.08)}.hero-image-wrap:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.3);pointer-events:none}.hero-ring{position:absolute;border-radius:50%;pointer-events:none}.ring-one{right:-28px;top:48px;width:72px;height:72px;border:2px solid var(--coral)}.ring-two{right:-44px;top:63px;width:104px;height:104px;border:1px solid rgba(76,59,112,.45)}.hero-cross{position:absolute;width:26px;height:26px}.cross-one{left:-13px;top:30px;border-left:2px solid var(--lime);border-top:2px solid var(--lime)}.cross-two{right:-13px;bottom:75px;border-right:2px solid var(--aqua);border-bottom:2px solid var(--aqua)}.hero-float{position:absolute;left:28px;bottom:27px;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;background:rgba(32,33,38,.94);color:#fff}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(198,220,85,.14);animation:pulse 2.4s infinite}.hero-float b,.hero-float small{display:block}.hero-float b{font:600 .72rem 'IBM Plex Mono',monospace;text-transform:uppercase}.hero-float small{color:#c9c8c4;font-size:.76rem}.hero-caption{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .2rem 0;color:var(--muted);font:500 .66rem 'IBM Plex Mono',monospace;letter-spacing:.08em}
.signal-strip{display:grid;grid-template-columns:1.25fr repeat(5,1fr);max-width:var(--max);margin:auto;padding:1.1rem 1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eeece5}.signal-intro{display:flex;flex-direction:column;justify-content:center;padding-right:1rem}.signal-intro span{color:var(--muted);font:500 .66rem 'IBM Plex Mono',monospace;text-transform:uppercase}.signal-intro b{font-size:.96rem}.signal-item{display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.3rem 1rem;border-left:1px solid var(--line)}.signal-item strong{font:600 .72rem 'IBM Plex Mono',monospace}.signal-item span{font-weight:600}.signal-lime strong{color:#6f8424}.signal-coral strong{color:#bd4c37}.signal-violet strong{color:var(--violet)}.signal-aqua strong{color:#277f7d}.signal-gold strong{color:#a57620}
.section{padding:6.3rem max(1.25rem,calc((100vw - var(--max))/2))}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end;margin-bottom:3rem}.section-heading h2,.capability-lead h2,.lifecycle-copy h2,.about-copy h2{margin:.8rem 0 1.15rem;font:700 clamp(2.4rem,4.3vw,4.2rem)/1.02 Manrope,sans-serif;letter-spacing:-.06em}.section-heading>p,.capability-lead>p:not(.kicker),.lifecycle-copy>p:last-child,.about-copy>p:not(.kicker){max-width:31rem;margin:0;color:var(--muted);font-size:1rem}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:205px;padding:1.35rem 1.5rem 1.55rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s,transform .3s,box-shadow .3s}.service-card:hover{z-index:2;background:#fbf5ed;transform:translateY(-5px);box-shadow:0 16px 30px rgba(76,59,112,.09)}.service-num{width:39px;height:39px;display:grid;place-items:center;margin-bottom:1.65rem;color:var(--plum);background:var(--lime);font:600 .73rem 'IBM Plex Mono',monospace}.service-card:nth-child(3n+2) .service-num{background:#f6b09e}.service-card:nth-child(3n+3) .service-num{background:#c9bee8}.service-card h3{margin:0 0 .5rem;color:var(--plum);font:700 1.08rem/1.3 Manrope,sans-serif}.service-card p{max-width:18rem;margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.service-tag{position:absolute;right:1.5rem;top:1.5rem;color:#8d8b89;font:500 .61rem 'IBM Plex Mono',monospace;letter-spacing:.08em}
.capabilities{display:grid;grid-template-columns:.82fr 1.18fr;gap:5.5rem;align-items:start;background:var(--paper);border-top:1px solid var(--line)}.capability-lead{position:sticky;top:120px}.capability-lead h2{color:var(--plum)}.outline-link{display:inline-flex;gap:.8rem;margin-top:2rem;padding-bottom:.45rem;border-bottom:1px solid var(--plum);color:var(--plum);font-weight:700}.outline-link:hover{color:var(--coral);border-color:var(--coral)}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.capability-card{min-height:230px;padding:1.3rem 1.35rem 1.5rem;overflow:hidden;transition:transform .3s,box-shadow .3s}.capability-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(32,33,38,.13)}.capability-card>span{display:block;margin-top:1.2rem;font:500 .67rem 'IBM Plex Mono',monospace;letter-spacing:.09em}.capability-card h3{margin:.4rem 0 .5rem;font:700 1.17rem/1.3 Manrope,sans-serif}.capability-card p{margin:0;font-size:.91rem;line-height:1.5}.capability-dark{background:var(--ink);color:#fff}.capability-dark h3{color:var(--lime)}.capability-dark p,.capability-dark>span{color:#c7c5c6}.capability-lime{background:var(--lime);color:var(--ink)}.capability-lime h3{color:var(--plum)}.capability-coral{background:var(--coral);color:var(--ink)}.capability-coral h3{color:var(--plum)}.capability-violet{background:var(--violet);color:#fff}.capability-violet h3{color:#fff}.capability-aqua{background:var(--aqua);color:var(--ink)}.capability-aqua h3{color:var(--plum)}.capability-gold{background:var(--gold);color:var(--ink)}.capability-gold h3{color:var(--plum)}.capability-visual{position:relative;height:62px}.visual-circuit{display:flex;align-items:center;gap:8px}.visual-circuit:before{content:"";position:absolute;left:0;right:0;top:31px;height:1px;background:#8d8994}.visual-circuit i{position:relative;z-index:1;width:10px;height:10px;border:2px solid var(--lime);border-radius:50%;background:var(--ink)}.visual-circuit b{position:relative;z-index:1;margin-left:auto;padding:.55rem .8rem;background:var(--lime);color:var(--ink);font:600 .7rem 'IBM Plex Mono',monospace}.visual-stack{display:flex;flex-direction:column;gap:5px;justify-content:center}.visual-stack i{display:block;width:74%;height:9px;border:1px solid rgba(32,33,38,.5);transform:skewX(-22deg)}.visual-stack i:nth-child(2){width:60%;margin-left:7%}.visual-stack i:nth-child(3){width:45%;margin-left:14%}.visual-nodes{display:flex;align-items:center;gap:10px}.visual-nodes:before{content:"";position:absolute;left:3px;right:3px;top:31px;height:2px;background:rgba(76,59,112,.35)}.visual-nodes i{position:relative;z-index:1;width:16px;height:16px;border:3px solid var(--plum);border-radius:50%;background:var(--coral)}.visual-wave{display:flex;align-items:center;gap:6px}.visual-wave i{width:27px;height:42px;border:2px solid #fff;border-radius:50%;transform:skewX(-14deg)}.visual-wave i:nth-child(2){height:56px}.visual-wave i:nth-child(3){height:34px}.visual-check{display:flex;align-items:center;gap:10px}.visual-check b{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);font-size:1.6rem}.visual-check i{display:block;width:36px;height:2px;background:var(--ink);transform:rotate(-20deg)}.visual-route{display:flex;align-items:center;gap:10px}.visual-route i{width:46px;height:2px;background:var(--plum)}.visual-route i:nth-child(2){width:25px;transform:rotate(-35deg);transform-origin:left}.visual-route i:nth-child(3){width:37px}.visual-route b{color:var(--plum);font-size:1.7rem}
.industries{background:var(--ink);color:#fff}.industries .kicker{color:var(--lime)}.industries .section-heading>p{color:#b9b7bb}.industries .section-heading h2{color:#fff}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#49494e;border:1px solid #49494e}.industry.sector{min-height:230px;display:flex;flex-direction:column;justify-content:space-between;padding:1.35rem;background:#28292f;transition:background .3s,transform .3s}.industry.sector:hover{z-index:2;background:#36353f;transform:translateY(-5px)}.sector-mark{display:grid;place-items:center;width:49px;height:49px;color:var(--ink);font:600 .75rem 'IBM Plex Mono',monospace}.sector-plum .sector-mark{background:#bfaee8}.sector-lime .sector-mark{background:var(--lime)}.sector-coral .sector-mark{background:var(--coral)}.sector-violet .sector-mark{background:var(--violet)}.sector-aqua .sector-mark{background:var(--aqua)}.sector-gold .sector-mark{background:var(--gold)}.sector-ink .sector-mark{background:#c7c7c9}.sector-rose .sector-mark{background:#d99aa4}.industry h3{margin:1.8rem 0 .55rem;color:#fff;font:700 1.08rem/1.35 Manrope,sans-serif}.industry p{margin:0;color:#bab9bd;font-size:.9rem;line-height:1.5}
.lifecycle{display:grid;grid-template-columns:.76fr 1.24fr;gap:5.5rem;align-items:center;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lifecycle-copy h2{color:var(--plum)}.stage-list{list-style:none;margin:0;padding:0}.stage-list li{display:grid;grid-template-columns:55px 1fr;gap:1rem;align-items:start;padding:1.25rem 0;border-top:1px solid var(--line);transition:padding-left .25s}.stage-list li:last-child{border-bottom:1px solid var(--line)}.stage-list li:hover{padding-left:.65rem}.stage-list>li>span{color:var(--coral);font:600 .78rem 'IBM Plex Mono',monospace}.stage-list b,.stage-list small{display:block}.stage-list b{color:var(--plum);font:700 1.12rem Manrope,sans-serif}.stage-list small{margin-top:.25rem;color:var(--muted);font-size:.9rem}
.work{background:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.work-card{min-width:0;background:#fff;border-bottom:3px solid var(--plum);transition:transform .3s,box-shadow .3s}.work-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(76,59,112,.12)}.work-image{height:225px;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.54) sepia(.07);transition:filter .4s,transform .5s}.work-card:hover img{filter:saturate(.9);transform:scale(1.04)}.work-body{padding:1.25rem 1.3rem 1.45rem}.work-body p{margin:0;color:var(--coral);font:500 .7rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.work-body h3{margin:.5rem 0 .7rem;color:var(--plum);font:700 1.18rem/1.35 Manrope,sans-serif}.work-body span{color:var(--muted);font-size:.88rem}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:start;background:#ebe9e2}.about-copy h2{color:var(--plum)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cbc8bf}.principle{display:flex;flex-direction:column;gap:.5rem;min-height:160px;padding:1.25rem;background:var(--paper)}.principle strong{color:var(--coral);font:600 .75rem 'IBM Plex Mono',monospace}.principle b{color:var(--plum);font:700 1rem Manrope,sans-serif}.principle span{color:var(--muted);font-size:.9rem;line-height:1.45}
.careers{padding-top:0;padding-bottom:5rem;background:#ebe9e2}.careers-card{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:2rem 2.3rem;background:var(--lime)}.careers-card h2{margin:.6rem 0 0;color:var(--plum);font:700 clamp(1.7rem,3vw,2.5rem) Manrope,sans-serif;letter-spacing:-.05em}.careers-card .kicker{color:#6f8424}.contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:5rem;background:var(--plum);color:#fff}.contact .kicker{color:var(--lime)}.contact h2{color:#fff}.contact-copy>p:not(.kicker){color:#dbd8e1}.contact-detail{margin-top:1.6rem}.contact-detail span,.contact-detail a,.contact-detail b{display:block}.contact-detail span{color:#c3bbd4;font:500 .7rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.contact-detail a,.contact-detail b{margin-top:.3rem;font-size:1.05rem;font-weight:500;overflow-wrap:anywhere}.contact-detail a:hover{color:var(--lime)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;padding:1.8rem;background:var(--paper);color:var(--ink);border-top:4px solid var(--coral)}.field{min-width:0}.field.full,.contact-form>.full{grid-column:1/-1}.field label{display:block;margin-bottom:.35rem;font-size:.88rem;font-weight:700}.field label span{color:var(--muted);font-weight:400}.field input,.field textarea{width:100%;padding:.75rem .85rem;border:1px solid #c7c3ba;border-radius:0;background:#fff;color:var(--ink)}.field textarea{resize:vertical;min-height:110px}.form-note{margin:0;text-align:center;color:var(--muted);font-size:.82rem}footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;max-width:var(--max);margin:auto;padding:2.3rem 1.25rem;color:var(--muted);font-size:.84rem}footer img{width:190px}.footer-links{display:flex;gap:1rem}.footer-links a:hover{color:var(--coral)}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}.js .service-card:nth-child(3n+2),.js .capability-card:nth-child(2n),.js .industry.sector:nth-child(4n+2){transition-delay:.08s}.js .service-card:nth-child(3n+3),.js .capability-card:nth-child(3n),.js .industry.sector:nth-child(4n+3){transition-delay:.16s}.js .industry.sector:nth-child(4n+4){transition-delay:.24s}.hero-copy{transition-delay:.05s}.hero-media{transition-delay:.18s}@keyframes pulse{0%,100%{box-shadow:0 0 0 5px rgba(198,220,85,.14)}50%{box-shadow:0 0 0 10px rgba(198,220,85,0)}}
@media(max-width:1100px){.site-nav{gap:.75rem}.nav-dropdown{min-width:400px}.hero{gap:2.8rem}.signal-strip{grid-template-columns:1.1fr repeat(5,1fr)}.signal-item{padding-inline:.65rem}.sector-grid{grid-template-columns:repeat(2,1fr)}.capabilities,.lifecycle{gap:3rem}}
@media(max-width:980px){.site-header{min-height:82px}.menu-button{display:block}.site-nav{display:none;position:absolute;left:1rem;right:1rem;top:100%;max-height:calc(100vh - 90px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:1rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 40px rgba(32,33,38,.15)}.site-nav.open{display:flex}.site-nav>a,.nav-group summary{padding:.72rem}.nav-group{border-bottom:1px solid var(--line)}.nav-dropdown{position:static;display:block;min-width:0;padding:.2rem .7rem .7rem;background:transparent;border:0;box-shadow:none}.nav-dropdown a{display:block;padding:.5rem .65rem}.nav-dropdown .dropdown-overview{border:0}.nav-cta{justify-content:space-between;margin-top:.5rem}.hero{grid-template-columns:1fr 1fr;gap:2rem;min-height:590px;padding-top:3.7rem;padding-bottom:3.6rem}.hero h1{font-size:clamp(3rem,6vw,4.4rem)}.hero-media img{height:350px}.hero-caption{font-size:.59rem}.signal-strip{grid-template-columns:repeat(3,1fr)}.signal-intro{grid-column:1/-1;padding-bottom:.75rem}.signal-item:nth-child(3){border-left:0}.section-heading,.capabilities,.lifecycle,.about,.contact{grid-template-columns:1fr;gap:2.4rem}.capability-lead{position:static}.capability-grid{grid-template-columns:repeat(3,1fr)}.capability-card{min-height:210px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(3n+2){border-right:1px solid var(--line)}.work-grid{grid-template-columns:repeat(3,1fr)}.work-image{height:180px}.about{gap:2rem}.principles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.site-header{min-height:76px;padding-block:.55rem}.logo-link img{width:172px}.hero{grid-template-columns:1fr;min-height:0;padding-top:3.1rem;padding-bottom:2.6rem;gap:2rem}.hero:after{width:100px;height:100px;right:3%;top:8%}.hero h1{font-size:clamp(3.2rem,15vw,5rem)}.hero-lede{font-size:1rem}.hero-actions{gap:1rem}.hero-actions .button{padding-inline:1rem}.hero-meta{margin-top:2rem;gap:.75rem;font-size:.62rem}.hero-image-wrap img{height:275px}.hero-float{left:20px;bottom:20px}.hero-float small{font-size:.68rem}.hero-caption{font-size:.57rem}.signal-strip{grid-template-columns:repeat(2,1fr);padding-inline:1.25rem}.signal-intro{grid-column:1/-1}.signal-item:nth-child(odd){border-left:0}.section{padding-top:4.2rem;padding-bottom:4.2rem}.section-heading{gap:1rem;margin-bottom:2.1rem}.section-heading h2,.capability-lead h2,.lifecycle-copy h2,.about-copy h2{font-size:2.65rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:1.35rem}.service-tag{right:1.35rem}.capability-grid{grid-template-columns:1fr 1fr}.capability-card{min-height:205px;padding:1.15rem}.capability-card h3{font-size:1.03rem}.capability-card p{font-size:.87rem}.sector-grid{grid-template-columns:1fr}.industry.sector{min-height:190px}.work-grid{grid-template-columns:1fr;gap:1.4rem}.work-image{height:220px}.principles{grid-template-columns:1fr}.principle{min-height:0}.careers{padding-bottom:3.5rem}.careers-card{grid-template-columns:1fr;padding:1.6rem}.contact-form{grid-template-columns:1fr;padding:1.3rem}.field.full,.contact-form>.full{grid-column:auto}footer{grid-template-columns:1fr;gap:1rem}.footer-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.hero-image-wrap img,.work-image img,.capability-card,.service-card,.industry.sector{transition:none}.pulse-dot{animation:none}}

/* Compact sticky navigation */
.site-header{min-height:72px;padding-top:.45rem;padding-bottom:.45rem;transition:min-height .25s,background .25s,box-shadow .25s}.site-header.is-scrolled{background:rgba(247,245,240,.985);box-shadow:0 8px 24px rgba(32,33,38,.08)}.logo-link img{width:176px}.site-nav{gap:1.05rem}.site-nav>a:not(.nav-cta){position:relative;padding:.35rem 0}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--coral);transition:right .25s}.site-nav>a:not(.nav-cta):hover:after,.site-nav>a.active:after{right:0}.site-nav>a.active{color:var(--plum)}.nav-cta{padding:.58rem .85rem}.menu-button{transition:background .2s,border-color .2s}.menu-button:hover{background:#ebe9e2;border-color:var(--plum)}
@media(max-width:1100px){.site-nav{gap:.7rem;font-size:.82rem}.nav-cta{padding-inline:.7rem}.logo-link img{width:166px}}
@media(max-width:980px){.site-header{min-height:72px}.site-nav{top:100%}.site-nav>a:not(.nav-cta){padding:.72rem}.site-nav>a:not(.nav-cta):after{display:none}.site-nav>a.active{background:#ebe9e2}.logo-link img{width:170px}}

/* System architecture flow */
.capability-side{min-width:0}.architecture-strip{margin-bottom:1rem;padding:1rem 1.1rem 1.15rem;background:#ebe9e2;border:1px solid var(--line)}.architecture-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid #d3cfc6}.architecture-title span{color:var(--coral);font:500 .68rem 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase}.architecture-title b{color:var(--plum);font:700 .95rem Manrope,sans-serif}.architecture-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1.2fr;align-items:center;gap:.55rem;padding-top:.85rem}.architecture-flow>div{min-width:0}.architecture-flow strong,.architecture-flow b,.architecture-flow small{display:block}.architecture-flow strong{color:var(--coral);font:600 .62rem 'IBM Plex Mono',monospace}.architecture-flow b{margin:.18rem 0;color:var(--plum);font:700 .88rem Manrope,sans-serif}.architecture-flow small{color:var(--muted);font-size:.68rem;line-height:1.3}.architecture-flow>i{color:var(--coral);font-style:normal;font-size:1.15rem}
@media(max-width:980px){.architecture-flow{grid-template-columns:repeat(5,1fr);gap:.45rem}.architecture-flow>i{display:none}.architecture-flow b{font-size:.8rem}.architecture-flow small{font-size:.64rem}}
@media(max-width:650px){.architecture-title{align-items:flex-start;flex-direction:column;gap:.3rem}.architecture-flow{grid-template-columns:repeat(2,1fr);gap:.8rem 1rem}.architecture-flow>div:last-child{grid-column:1/-1}.architecture-flow small{font-size:.7rem}}

.service-flex{grid-column:span 2;background:var(--plum);color:#fff;border-color:var(--plum)}.service-flex:hover{background:#5c4784}.service-flex h3{color:var(--lime)}.service-flex p{max-width:38rem;color:#eeeaf4}.service-flex .service-num{background:var(--lime)}.service-flex .service-tag{color:#d9cfe9}
@media(max-width:980px){.service-flex{grid-column:span 2}}
@media(max-width:650px){.service-flex{grid-column:auto}}

.service-certification .service-num{background:#f6b09e}.service-value .service-num{background:var(--gold)}.service-maintenance .service-num{background:var(--aqua)}

.capability-firmware{background:#d9d0ec;color:var(--ink)}.capability-firmware h3{color:var(--plum)}.capability-connected{background:#f2b39e;color:var(--ink)}.capability-connected h3{color:var(--plum)}
@media(min-width:1101px){.capability-grid{grid-template-columns:repeat(3,1fr)}.capability-card{min-height:220px}}

.platform-strip{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid #d3cfc6}.platform-strip span{color:var(--coral);font:500 .66rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.platform-strip b{color:var(--plum);font:700 .8rem Manrope,sans-serif}.platform-strip i{color:var(--coral);font-style:normal;font-size:.95rem}
@media(max-width:650px){.platform-strip{gap:.45rem .7rem}.platform-strip b{font-size:.75rem}.platform-strip i{font-size:.8rem}}

.service-prototype .service-num{background:var(--coral);color:#fff}

.capability-deployment{grid-column:1/-1;display:grid;grid-template-columns:145px 1fr 1.6fr;grid-template-areas:"visual label title" "visual label desc";align-items:center;gap:.2rem 1.25rem;min-height:155px;background:#ebe9e2;border:1px solid #cac5bb;color:var(--ink)}.capability-deployment .capability-visual{grid-area:visual}.capability-deployment>span{grid-area:label;align-self:end;color:var(--coral);font:500 .67rem 'IBM Plex Mono',monospace;letter-spacing:.08em}.capability-deployment h3{grid-area:title;align-self:end;margin:0;color:var(--plum);font:700 1.3rem/1.25 Manrope,sans-serif}.capability-deployment p{grid-area:desc;align-self:start;max-width:34rem;margin:0;color:var(--muted);font-size:.94rem;line-height:1.5}.capability-deployment .visual-route i{background:var(--coral)}.capability-deployment .visual-route b{color:var(--plum)}
@media(max-width:980px){.capability-deployment{grid-column:1/-1}}
@media(max-width:650px){.capability-deployment{display:block;min-height:0}.capability-deployment .capability-visual{height:54px}.capability-deployment>span{margin-top:.9rem}.capability-deployment h3{margin:.4rem 0 .5rem}}

/* Final visual polish: fewer competing accents, stronger visual anchors. */
:root{--plum:#454477;--lime:#c4d86d;--coral:#e97861;--violet:#8179aa;--aqua:#63afa9;--gold:#cfb16a}
.hero-stack{display:flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;margin:1.15rem .2rem 0;padding:.65rem .75rem;background:#eeece5;border:1px solid var(--line);color:var(--plum);font:600 .65rem 'IBM Plex Mono',monospace;letter-spacing:.08em}.hero-stack span{padding:.28rem .48rem;background:#fff;border:1px solid #d7d2c8}.hero-stack i{color:var(--coral);font-style:normal}
.service-card{min-height:185px}.service-num{margin-bottom:1.3rem}
.capability-card{border:1px solid rgba(32,33,38,.08)}.capability-lime{background:#d2df83}.capability-coral{background:#ec9b83}.capability-violet{background:#8179aa}.capability-aqua{background:#73b9b1}.capability-gold{background:#d4b775}.capability-firmware{background:#dfd9ed}.capability-connected{background:#efb09d}
.industry.sector{position:relative;overflow:hidden;isolation:isolate}.industry.sector:before{content:"";position:absolute;z-index:0;right:-42px;top:22px;width:160px;height:160px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.035),0 0 0 42px rgba(255,255,255,.025)}.industry.sector:after{content:"";position:absolute;z-index:0;right:18px;top:84px;width:100px;height:1px;background:rgba(255,255,255,.18);transform:rotate(-32deg)}.industry.sector>*{position:relative;z-index:1}.industry h3{margin-top:1rem}
.work-image img{filter:saturate(.72) contrast(1.02) sepia(.04)}.work-card:hover img{filter:saturate(1.02) contrast(1.04)}
@media(max-width:650px){.hero-stack{width:100%;justify-content:space-between;margin-top:.9rem}.hero-stack span{padding-inline:.35rem}.service-card{min-height:0}.industry.sector:before{right:-58px;top:14px}.industry.sector:after{right:10px}}

/* Sticky-message modules: give visitors a clear entry point and tangible proof. */
.service-routes{display:grid;grid-template-columns:repeat(5,1fr);margin:-.65rem 0 2.35rem;border:1px solid var(--line);background:#eeece5}.service-routes a{display:flex;flex-direction:column;gap:.25rem;min-height:112px;padding:1rem;border-right:1px solid var(--line);transition:background .25s,transform .25s}.service-routes a:last-child{border-right:0}.service-routes a:hover{background:#fff;transform:translateY(-4px)}.service-routes strong{color:var(--coral);font:600 .68rem 'IBM Plex Mono',monospace}.service-routes span{color:var(--plum);font:700 .9rem/1.25 Manrope,sans-serif}.service-routes small{margin-top:auto;color:var(--muted);font-size:.78rem;line-height:1.35}.evidence-strip{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .8rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid #d3cfc6}.evidence-strip span{margin-right:.25rem;color:var(--coral);font:500 .66rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.evidence-strip b{padding:.3rem .55rem;background:#fff;border:1px solid #d7d2c8;color:var(--plum);font:600 .7rem 'IBM Plex Mono',monospace}
@media(max-width:980px){.service-routes{grid-template-columns:repeat(3,1fr)}.service-routes a:nth-child(3){border-right:0}.service-routes a:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.service-routes{grid-template-columns:1fr 1fr;margin-top:-.25rem}.service-routes a{min-height:94px;padding:.85rem}.service-routes a:nth-child(3){border-right:1px solid var(--line)}.service-routes a:nth-child(4){border-right:0}.service-routes a:nth-child(3),.service-routes a:nth-child(4){border-bottom:1px solid var(--line)}.service-routes span{font-size:.84rem}.service-routes small{font-size:.75rem}.evidence-strip{gap:.45rem .55rem}.evidence-strip b{font-size:.66rem}}

/* Technical depth: one aligned map instead of a split presentation. */
.capabilities{display:block}.capability-lead{position:static;display:grid;grid-template-columns:1.02fr .98fr;gap:4rem;align-items:end;margin-bottom:2.5rem}.capability-heading h2{margin-bottom:0}.capability-summary{align-self:end;max-width:34rem;padding-bottom:.15rem}.capability-summary p{max-width:34rem;margin:0;color:var(--muted);font-size:1rem}.capability-summary .outline-link{margin-top:1.2rem}.capability-side{width:100%}
.architecture-strip{margin-bottom:1.25rem;padding:1.3rem 1.3rem 1.35rem;background:#2b2c36;border:0;color:#fff}.architecture-title{padding-bottom:.95rem;border-bottom:1px solid rgba(255,255,255,.15)}.architecture-title span{color:var(--lime)}.architecture-title b{color:#fff}.architecture-flow{gap:.45rem;padding-top:1rem}.architecture-flow>div{min-height:90px;padding:.7rem .72rem;background:#353640;border:1px solid rgba(255,255,255,.1)}.architecture-flow strong{color:var(--coral)}.architecture-flow b{color:var(--lime)}.architecture-flow small{color:#cac9ce}.architecture-flow>i{color:var(--coral)}.platform-strip{margin:1rem -1.3rem -1.35rem;padding:1rem 1.3rem;border-top:1px solid rgba(255,255,255,.15)}.platform-strip span{color:var(--lime)}.platform-strip b{color:#fff}.platform-strip i{color:var(--coral)}
.evidence-strip{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #d3cfc6}.evidence-strip b{background:#fff}
.capability-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.capability-card,.capability-card.capability-dark,.capability-card.capability-lime,.capability-card.capability-coral,.capability-card.capability-violet,.capability-card.capability-aqua,.capability-card.capability-gold,.capability-card.capability-firmware,.capability-card.capability-connected{min-height:228px;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--plum)}.capability-card h3,.capability-card.capability-dark h3,.capability-card.capability-violet h3{color:var(--plum)}.capability-card p,.capability-card>span,.capability-card.capability-dark p,.capability-card.capability-dark>span{color:var(--muted)}.capability-card:nth-child(4n+1){border-top-color:var(--coral)}.capability-card:nth-child(4n+2){border-top-color:var(--aqua)}.capability-card:nth-child(4n+3){border-top-color:var(--lime)}.capability-card:nth-child(4n+4){border-top-color:var(--violet)}.capability-card .visual-circuit i{background:#fff}.capability-card .visual-circuit b{background:var(--coral);color:#fff}.capability-card .visual-wave i{border-color:var(--plum)}.capability-card .visual-route i{background:var(--plum)}.capability-card .visual-check b{border-color:var(--plum)}.capability-deployment{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr 1.65fr;grid-template-areas:"visual label title" "visual label desc";align-items:center;gap:.2rem 1.4rem;min-height:150px;background:#eeece5!important;border-top-color:var(--coral)!important}.capability-deployment .capability-visual{grid-area:visual}.capability-deployment>span{grid-area:label;align-self:end}.capability-deployment h3{grid-area:title;align-self:end;margin:0}.capability-deployment p{grid-area:desc;align-self:start}
@media(max-width:1100px){.capability-grid{grid-template-columns:repeat(3,1fr)}.capability-deployment{grid-column:1/-1}}
@media(max-width:980px){.capability-lead{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.capability-summary{max-width:38rem}.architecture-flow>div{min-height:0}.capability-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.capability-lead{margin-bottom:1.7rem}.architecture-strip{padding:1rem}.platform-strip{margin:1rem -1rem -1rem;padding:1rem}.capability-grid{grid-template-columns:1fr}.capability-card,.capability-card.capability-dark,.capability-card.capability-lime,.capability-card.capability-coral,.capability-card.capability-violet,.capability-card.capability-aqua,.capability-card.capability-gold,.capability-card.capability-firmware,.capability-card.capability-connected{min-height:205px}.capability-deployment{display:block;min-height:0}.capability-deployment .capability-visual{height:54px}.capability-deployment>span{margin-top:.9rem}.capability-deployment h3{margin:.4rem 0 .5rem}}

/* One consistent glyph language across every technical card. */
.visual-system{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:.55rem}.visual-system:before{content:"";position:absolute;left:0;right:3.4rem;top:31px;height:1px;background:#d1ced0}.visual-system i{position:relative;z-index:1;width:13px;height:13px;border:2px solid var(--plum);border-radius:50%;background:#fff}.visual-system i:nth-child(2){width:17px;height:17px}.visual-system b{position:relative;z-index:1;display:grid;place-items:center;min-width:48px;height:45px;padding:.25rem .35rem;background:#f2f0ea;border:1px solid var(--plum);color:var(--plum);font:600 .64rem 'IBM Plex Mono',monospace;letter-spacing:.04em}.capability-card:nth-child(4n+1) .visual-system i{border-color:var(--coral)}.capability-card:nth-child(4n+1) .visual-system b{background:#f9dfd9;border-color:var(--coral);color:#aa4f3d}.capability-card:nth-child(4n+2) .visual-system i{border-color:var(--aqua)}.capability-card:nth-child(4n+2) .visual-system b{background:#e1f0ee;border-color:var(--aqua)}.capability-card:nth-child(4n+3) .visual-system i{border-color:#8fa438}.capability-card:nth-child(4n+3) .visual-system b{background:#eef4d5;border-color:#9bad42}.capability-card:nth-child(4n+4) .visual-system i{border-color:var(--violet)}.capability-card:nth-child(4n+4) .visual-system b{background:#e9e5f3;border-color:var(--violet)}
