/* IK SOLS v1.8.0, canonical styles. Coin artwork and motion metaphors retained. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}

@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}

:root{color-scheme:dark;--bg:#08090d;--surface:#0d1016;--surface-2:#12161e;--text:#d7dce5;--text-strong:#f7f8fa;--muted:#a1a9b8;--border:#29303d;--accent:#d2d0ff;--accent-2:#a7a3ff;--accent-hover:#ecebff;--accent-rgb:210,208,255;--gold:#f0cb76;--gold-soft:rgba(240,203,118,.12);--max:1200px;--radius:18px;--header-height:84px;--ease:cubic-bezier(.22,.68,.2,1)}

*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:radial-gradient(ellipse at 85% 0,rgba(167,163,255,.07),transparent 38rem),var(--bg);color:var(--text);font:400 19px/1.7 Manrope,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
h1,h2,h3{color:var(--text-strong);text-wrap:balance}
p{margin:0 0 1.2rem}
h2{font-size:clamp(30px,3.6vw,48px);line-height:1.16;letter-spacing:-.038em;margin:0 0 20px}
h3{font-size:23px;line-height:1.3;letter-spacing:-.02em}
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
[hidden]{display:none!important}
.container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.muted{color:var(--muted)}
.small,.tiny{font-size:16px}
.accent-text{color:var(--accent)}
.eyebrow{margin:0 0 20px;color:var(--accent);font:400 13px/1.6 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase}
.section{padding:100px 0;position:relative}
.section-tight{padding:80px 0}
.surface{background:linear-gradient(135deg,#0d1016,#0a0c11);border-block:1px solid #1b202a}
.section-intro{font-size:20px;color:var(--muted);max-width:680px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.narrow-left{max-width:860px}
.center-copy{text-align:center;max-width:880px}
.center-copy h2,.center-copy .section-intro{margin-inline:auto}
.center-copy .button{margin-top:20px}
.skip-link{position:fixed;top:10px;left:16px;z-index:200;transform:translateY(-180%);background:var(--text-strong);color:var(--bg);padding:12px 20px;border-radius:8px}
.skip-link:focus{transform:none}

/* Navigation and shared controls. */
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(8,9,13,.92);border-bottom:1px solid #1a1e28;backdrop-filter:blur(16px)}
.nav-shell{min-height:var(--header-height);display:flex;align-items:center;gap:18px}
.brand{display:inline-flex;flex-shrink:0}
.brand img{width:150px;height:48px;object-fit:contain;filter:invert(1) brightness(1.18)}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:15px;font-weight:650}
.primary-nav>a:not(.button){color:var(--muted);padding-block:13px}
.primary-nav>a:hover,.primary-nav>a[aria-current]{color:var(--accent)}
.primary-nav>a[aria-current]:not(.button){box-shadow:inset 0 -1px var(--accent)}
.menu-button{display:none;border:1px solid var(--border);color:var(--text);background:var(--surface);padding:10px 16px;border-radius:8px;margin-left:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--border);border-radius:9px;font-size:16px;font-weight:750;line-height:1.5;transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s,color .25s}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#0b0c12;background:#f2f2fa;border-color:#f2f2fa}
.button-primary:hover{background:var(--accent);border-color:var(--accent)}
.button-secondary{background:#11141c;color:var(--text-strong)}
.button-secondary:hover{border-color:#777591;background:#1a1c29}
.button.is-gold-flash,button.is-gold-flash{background:var(--gold);border-color:var(--gold);color:#20180a;box-shadow:0 0 24px #edc76930}
.text-link,.prose a,.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.motion-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:14px}
.motion-toggle::before{content:'';display:block;width:14px;height:14px;flex:0 0 14px;background:linear-gradient(to right,var(--accent) 0 4px,transparent 4px 10px,var(--accent) 10px 14px)}
.motion-toggle[aria-pressed=true]::before{background:var(--accent);clip-path:polygon(14% 6%,92% 50%,14% 94%);transform:translateX(1px)}
.motion-ready .motion-toggle{display:inline-flex}

/* Motion never gates content. A failed script leaves every section visible. */
.reveal{opacity:1}
.motion-ready .reveal.is-visible{animation:reveal-in .65s var(--ease) both}
@keyframes reveal-in{from{opacity:.7;transform:translateY(12px)}
to{opacity:1;transform:none}
}

/* Existing generic minted coin design, with continuous metallic faces instead of flat discs. */
:is(.playfield-ball,.coin-token,.leverage-flow-motion i,.process-stage-coin,.process-build-coins b,.process-improve-coins b,.systems-treasure-coin){--metal-hi:#f2f5f9;--metal-mid:#aeb8c9;--metal-low:#667286;--metal-dark:#394250;position:absolute;display:block;border-radius:50%;border:1px solid var(--metal-mid);background:repeating-conic-gradient(from 4deg,var(--metal-hi) 0deg 2deg,var(--metal-dark) 2deg 5deg);box-shadow:0 2px 0 var(--metal-dark),0 5px 12px #0006;pointer-events:none;transform-origin:50% 50%;isolation:isolate}

:is(.playfield-ball,.coin-token,.leverage-flow-motion i,.process-stage-coin,.process-build-coins b,.process-improve-coins b,.systems-treasure-coin)::before{content:'';position:absolute;inset:7%;border-radius:50%;border:1px solid var(--metal-hi);background:conic-gradient(from 25deg,var(--metal-low),var(--metal-hi) 16%,var(--metal-mid) 30%,var(--metal-low) 49%,var(--metal-hi) 66%,var(--metal-mid) 82%,var(--metal-low));box-shadow:inset 0 0 0 1px var(--metal-dark)}

:is(.playfield-ball,.coin-token,.leverage-flow-motion i,.process-stage-coin,.process-build-coins b,.process-improve-coins b,.systems-treasure-coin)::after{content:'';position:absolute;inset:23%;border-radius:50%;border:1px solid var(--metal-low);box-shadow:0 1px 0 var(--metal-hi),inset 0 1px 2px var(--metal-dark);background:linear-gradient(135deg,#ffffff25,#ffffff00 60%)}

:is(.playfield-ball.is-gold,.coin-token.is-gold,.profit-motion i,.process-improve-coins b,.systems-treasure-coin){--metal-hi:#fff2c0;--metal-mid:#e5bc63;--metal-low:#b18330;--metal-dark:#745018}

/* Hero and closing coin fields. Text sits on its own plane above every coin. */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:850px;padding:174px 0 100px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#a7a3ff0d,transparent 66%)}
.hero-gridlines{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#d2d0ff06 1px,transparent 1px),linear-gradient(90deg,#d2d0ff06 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse,#000,transparent 78%)}
.hero-stage{position:relative;z-index:3;text-align:center;pointer-events:none}
.hero-copy{max-width:1010px;margin:auto}
.hero h1{font-size:clamp(44px,5.9vw,78px);letter-spacing:-.052em;line-height:1.08;margin:0 auto;max-width:990px}
.hero h1 .accent-text{display:block}
.hero .lead{font-size:21px;color:var(--muted);line-height:1.8;margin:28px 0 0}
.hero .actions{justify-content:center;margin-top:32px}
.hero a,.hero button{pointer-events:auto}
.buzz-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:40px}
.buzz-strip span{padding:6px 12px;border:1px solid #2c2d3d;border-radius:30px;font-size:13px;background:#0c0e15e8;color:#bbc1d0}
.playfield-ball{width:var(--ball-size);height:var(--ball-size);left:0;top:0;z-index:1;opacity:.6}
.playfield-cursor,.playfield-pulse,.playfield-grid{display:none}
.final-cta{isolation:isolate;overflow:hidden;padding:130px 0;min-height:550px;background:radial-gradient(ellipse at 50% 100%,#a7a3ff12,transparent 65%)}
.final-cta .container{position:relative;z-index:3}
.final-cta .playfield-ball{opacity:.45}

/* Operational leverage. Transform-only movement; room for the complete 15-coin pyramid. */
.split-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center}
.split-feature-reverse{grid-template-columns:1.05fr .95fr}
.split-feature-reverse>div:first-child{order:2}
.minimal-visual{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#10141c,#090c11);isolation:isolate}
.leverage-visual{padding:24px 20px 24px 52px}
.leverage-flow-stages{display:grid;gap:12px}
.leverage-flow-stage{position:relative;width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;text-align:left;padding:20px 16px 18px;min-height:162px;color:var(--text);background:#11151e;border:1px solid #282f3c;border-radius:12px;transition:border-color .5s,background .5s,box-shadow .5s}
.leverage-flow-stage>.mono{font-size:13px;color:var(--muted)}
.leverage-flow-copy{padding-right:142px}
.leverage-flow-copy strong{display:block;font-size:17px;line-height:1.3;margin-bottom:8px}
.leverage-flow-copy small{display:block;font-size:14px;line-height:1.6;color:var(--muted)}
.leverage-flow-stage.is-active{border-color:#88849f;background:#171a25}
.leverage-flow-stage.is-manual-gold{border-color:var(--gold);background:#272219;box-shadow:0 0 22px #f0cb761a}
.leverage-flow-stage.is-manual-gold strong{color:var(--gold)}
.leverage-flow-motion{position:absolute;right:10px;top:50%;margin-top:-22px;width:142px;height:68px}
.leverage-flow-motion i{width:22px;height:22px;left:60px;top:20px}
.leverage-flow-motion b{display:none}
.leverage-flow-spine{position:absolute;top:68px;bottom:68px;left:26px;width:1px;background:linear-gradient(#8885ae,#85819f,#c19b56)}
.leverage-signal{width:22px;height:22px;left:15px;top:0;z-index:5}
.friction-motion i:nth-child(1){left:45px}
.friction-motion i:nth-child(3){left:75px}
.profit-motion{overflow:visible}
.profit-motion i{width:19px;height:19px}
.profit-motion::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,#f0cb761c,transparent 70%)}
.visibility-motion::before{content:'';position:absolute;inset:8px 36px;border:1px solid #d2d0ff40;border-radius:50%;animation:visibility-scan 4.2s ease-out infinite}
@keyframes visibility-scan{0%{transform:scale(.3);opacity:.7}
80%,100%{transform:scale(1.55);opacity:0}
}

/* Understand / Design / Build / Improve: four simultaneous, legible motion bays. */
.process-visual{padding:16px}
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.process-point{background:#11151e;border:1px solid #2a303d;border-radius:12px;overflow:hidden;min-width:0}
.process-copy{padding:20px 18px 14px}
.process-copy>span{font:13px 'IBM Plex Mono',monospace;color:var(--accent);display:block;margin-bottom:12px}
.process-copy b{display:block;font-size:19px;color:var(--text-strong)}
.process-copy small{display:block;font-size:14px;color:var(--muted)}
.process-motion-bay{position:relative;height:142px;border-top:1px solid #252b37;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#d2d0ff08,transparent 75%)}
.process-bay-line{position:absolute;height:1px;left:15%;right:15%;bottom:22px;background:linear-gradient(90deg,transparent,#9ca2b349,transparent)}
.process-stage-coin{width:31px;height:31px;left:50%;top:50%;margin:-15.5px}
.process-build-coins,.process-improve-coins{position:absolute;inset:0}
.process-build-coins b,.process-improve-coins b{width:22px;height:22px;left:50%;top:50%;margin:-11px}
.process-point[data-process-stage=orbit] .process-motion-bay::before{content:'';width:72px;height:72px;border:1px solid #d2d0ff22;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}

/* Causal business graph. Opaque nodes remain above every vector connection. */
.capability-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:40px}
.systems-visual{height:990px;overflow:hidden;background:radial-gradient(ellipse at center,#a7a3ff08,transparent 50%),#090c11}
.systems-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden}
.systems-wire{fill:none;stroke:#b7becb80;stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linecap:round}
.systems-wire.is-connected{stroke:#ddba6585}
.systems-center,.systems-node{position:absolute;left:var(--x);top:var(--y);z-index:3;transform:translate(-50%,-50%);background:#0e121b;border:1px solid #3a4252;border-radius:8px;box-shadow:0 0 0 5px #090c11,0 7px 16px #0003;padding:10px 14px;font-size:14px;line-height:1.45;white-space:nowrap;text-align:center}
.systems-center{--x:50%;--y:51%;padding:17px 20px;font-size:15px;font-weight:800;letter-spacing:.06em;border-color:#bab6ed;color:var(--accent);background:#151726;z-index:4}
.systems-node.hub{font-size:16px;font-weight:700;border-color:#8d89b7}
.systems-node.core{color:var(--accent);border-color:#58536e}
.systems-node.profitability{background:#201b10;color:var(--gold);border-color:#bc974e;font-weight:700;transform:translate(-50%,calc(-50% - 50px))}
.systems-visual.is-complete .profitability{box-shadow:0 0 0 5px #090c11,0 0 32px #f0cb7626}
.systems-treasure-field{position:absolute;inset:0;z-index:5;pointer-events:none}
.systems-treasure-coin{top:0;left:0;width:var(--physics-size,24px);height:var(--physics-size,24px);opacity:0}
.systems-explore-button{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:6;white-space:nowrap;background:#151923}
.systems-explore-button:hover{transform:translateX(-50%) translateY(-2px)}
.systems-explore-button.is-coin-fed{background:#342916;border-color:var(--gold);color:#ffe3a2;box-shadow:0 0 30px #f0cb7640}
.systems-node,.systems-center{transition:border-color .6s,box-shadow .6s}
.systems-visual.is-treasure .systems-node,.systems-visual.is-treasure .systems-center{border-color:#71654b}
.g-business-systems{--x:50%;--y:9%}
.g-integration{--x:29%;--y:17%}
.g-ai{--x:68%;--y:16%}
.g-it-ot{--x:84%;--y:22%}
.g-digitisation{--x:13%;--y:29%}
.g-data{--x:34%;--y:29%}
.g-analytics{--x:52%;--y:27%}
.g-decision-intelligence{--x:69%;--y:33%}
.g-cybersecurity{--x:87%;--y:37%}
.g-visibility{--x:49%;--y:39%}
.g-automation{--x:22%;--y:44%}
.g-control{--x:67%;--y:49%}
.g-workflow{--x:11%;--y:55%}
.g-reliability{--x:83%;--y:56%}
.g-process-optimisation{--x:28%;--y:61%}
.g-resilience{--x:79%;--y:69%}
.g-efficiency{--x:36%;--y:73%}
.g-productivity{--x:51%;--y:77%}
.g-capacity{--x:65%;--y:74%}
.g-scalability{--x:70%;--y:85%}
.g-profitability{--x:50%;--y:92%}
.capability-minimal{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:25px}
.capability-minimal span{font-size:14px;color:var(--muted)}
.capability-minimal b{font-weight:400;margin-right:10px;color:var(--accent)}
.graph-description{margin-top:24px}
.graph-description summary{font-size:14px;color:var(--accent);cursor:pointer;min-height:44px;padding-block:10px}
.graph-description p{max-width:900px;color:var(--muted);font-size:15px}

/* Production workflow and principles. */
.solution-showcase{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.badge{display:inline-flex;font-size:13px;color:var(--accent);border:1px solid #4b475e;border-radius:30px;padding:5px 12px;margin-bottom:24px}
.solution-benefit{color:var(--muted)}
.solution-proof{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--border);padding:24px 0;margin:28px 0}
.solution-proof strong{font-size:31px;color:var(--text-strong);font-weight:650}
.solution-proof p{font-size:14px;color:var(--muted);margin:0}
.bakery-visual{padding:30px 28px;overflow:hidden}
.bakery-lane{display:flex;align-items:center;gap:8px;position:relative;padding:16px 0 16px 16px;border-bottom:1px solid #252b37}
.bakery-lane:last-of-type{border:0}
.bakery-lane span{font-size:14px;flex:1}
.bakery-lane i{display:block;width:7px;height:24px;background:#9793cc;border-radius:3px;transform-origin:center bottom;animation:bakery-bars 4s var(--ease) infinite}
.bakery-lane i:nth-child(3){height:32px;animation-delay:-.7s}
.bakery-lane i:nth-child(4){height:20px;animation-delay:-1.6s}
.bakery-lane i:nth-child(5){height:30px;animation-delay:-2.3s}
.lane-production i{animation-delay:-1s}
.lane-dispatch i{animation-delay:-2s}
.lane-reporting i{background:var(--gold);animation-delay:-3s}
.bakery-spine{position:absolute;left:27px;top:50px;bottom:48px;width:1px;background:#494658}
.bakery-packet{position:absolute;left:25px;top:48px;width:5px;height:10px;border-radius:3px;background:var(--gold);animation:bakery-travel 6s var(--ease) infinite}
.packet-two{animation-delay:-3s}
@keyframes bakery-bars{0%,100%{transform:scaleY(.6);opacity:.5}
45%,65%{transform:scaleY(1);opacity:1}
}
@keyframes bakery-travel{0%{transform:translateY(0);opacity:0}
10%{opacity:1}
85%{opacity:1}
100%{transform:translateY(180px);opacity:0}
}
.roi-card{padding:28px 0 0}
.roi-card h3{margin:0 0 12px}
.roi-equation{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}
.roi-equation strong{color:var(--gold)}
.verification-note{font-size:16px;color:var(--muted);margin:14px 0 0}
.principles-heading{max-width:810px;margin-bottom:38px}
.principles-static-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.principle-static-card{padding:27px 24px;border:1px solid var(--border);border-radius:12px;background:#0d1118;}
.principle-static-card>.mono{font-size:13px;color:var(--muted)}
.principle-static-card h3{font-size:20px;margin:20px 0 10px}
.principle-static-card p{font-size:17px;color:var(--muted);margin:0}


/* Supporting pages: readable service detail and clear routes into an enquiry. */
.page-hero{padding:168px 0 66px;border-bottom:1px solid #222735;background:radial-gradient(ellipse at 75% 10%,#a7a3ff0b,transparent 70%)}
.page-hero h1{font-size:clamp(42px,5.5vw,70px);line-height:1.1;letter-spacing:-.046em;max-width:960px;margin:0 0 26px}
.page-hero p:not(.eyebrow){font-size:20px;max-width:770px;color:var(--muted)}
.page-hero .actions{margin-bottom:0}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.prose{max-width:760px}
.prose p,.prose li{color:var(--muted)}
.prose strong{color:var(--text-strong)}
.prose h2{font-size:29px;margin-top:48px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:20px}
.lead-small{font-size:19px;color:var(--muted)}
.principle-grid,.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.principle-grid>div,.card{padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.card h3{margin:16px 0 12px}
.card p{color:var(--muted);font-size:18px}
.index{font:14px 'IBM Plex Mono',monospace;color:var(--accent);display:block;margin-bottom:22px}
.service-jump{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
.service-jump a{display:block;min-height:44px;padding:9px 14px;font-size:14px;border:1px solid #393745;border-radius:8px;background:#11141c;color:var(--accent)}
.service-jump a:hover{border-color:var(--accent)}
.service-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:56px 0;border-bottom:1px solid var(--border);scroll-margin-top:110px}
.service-detail:first-child{padding-top:0}
.service-detail h2{font-size:31px;line-height:1.2}
.service-detail h3{font-size:18px;color:var(--accent);margin:0 0 13px}
.service-detail p{color:var(--muted)}
.service-detail ul{margin:0 0 24px;padding-left:20px;color:var(--text)}
.service-detail li{margin-bottom:8px}
.service-detail .text-link{font-size:17px}
.engagement-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.engagement-steps article{padding-top:24px;border-top:1px solid #5b576e}
.engagement-steps h3{font-size:21px;margin:16px 0 12px}
.engagement-steps p{color:var(--muted);font-size:18px}
.faq{max-width:880px;margin-top:38px}
.faq details{border-top:1px solid var(--border);padding:20px 0}
.faq summary{font-weight:650;cursor:pointer;color:var(--text-strong);min-height:36px}
.faq details p{color:var(--muted);margin:16px 0 0}
.solution-card{padding:30px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#131720,#0b0e14)}
.solution-card h2{font-size:27px}
.solution-card ul{font-size:17px;color:var(--muted);padding-left:20px}
.solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.scope-label{color:var(--accent);font:13px 'IBM Plex Mono',monospace;display:block;margin-bottom:22px}
.capability-list{display:flex;flex-wrap:wrap;gap:10px}
.capability-list span{padding:7px 12px;border:1px solid var(--border);border-radius:7px;font-size:14px}
.callout{padding:28px 32px;border-left:2px solid var(--accent);background:#131520;border-radius:0 12px 12px 0}
.callout p:last-child{margin:0}
.callout h3{margin-top:0}
.legal-meta{font-size:14px!important;color:var(--muted)}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px}
.legal-nav{align-self:start;position:sticky;top:115px;display:grid;gap:16px;font-size:14px}
.legal-nav a{color:var(--muted)}
.legal-nav a[aria-current]{color:var(--accent)}
.legal{max-width:780px}
.legal .notice{font-size:15px;background:#222016;border:1px solid #665638;padding:20px;border-radius:10px;color:#ebd399}
.legal address{font-style:normal;color:var(--muted)}
.legal table{width:100%;border-collapse:collapse;font-size:17px;margin:20px 0}
.legal th,.legal td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.legal th{color:var(--accent)}

/* Message-first contact, server-rendered errors and no-JavaScript submission. */
.contact-form-layout,.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.contact-intro .email-link{display:inline-block;font-size:clamp(18px,2.5vw,27px);letter-spacing:-.02em;color:var(--accent);overflow-wrap:anywhere;border-bottom:1px solid #66617e;padding-bottom:6px;margin:15px 0 28px}
.contact-intro ol{padding-left:22px;color:var(--muted)}
.contact-intro li{padding:5px 0}
.form{padding:32px;border:1px solid var(--border);border-radius:16px;background:#0e121a}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form label{font-size:16px;font-weight:650;display:block;color:var(--text-strong)}
.form label .muted{font-weight:400;font-size:13px}
.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;padding:12px 14px;margin-top:8px;border:1px solid #4a5263;border-radius:7px;background:#080c13;color:var(--text-strong);min-height:48px;font-size:16px}
.form textarea{resize:vertical;min-height:170px;line-height:1.65}
.form textarea::placeholder,.form input::placeholder{color:#a0a8b8;opacity:1}
.form .wide{grid-column:1/-1}
.form .check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.65}
.check input{width:19px;height:19px;flex-shrink:0;margin:4px 0 0;accent-color:var(--accent)}
.check a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.form-hint{font-size:16px;color:var(--muted);margin:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-error{border:1px solid #db919a;background:#2b1721;color:#ffced5;padding:20px;border-radius:10px;margin:0 0 22px}
.form-error h2{font-size:19px;letter-spacing:0;margin:0 0 8px}
.form-error ul{margin:0;padding-left:20px}
.field-error{display:block;color:#ffbcc8;font-size:13px;margin-top:7px}
.form [aria-invalid=true]{border-color:#e9a1ac}
.thankyou{padding:170px 0 110px;min-height:70vh}
.thank-card{max-width:780px;margin:auto;padding:44px;background:var(--surface);border:1px solid var(--border);border-radius:18px}
.thank-card h1{font-size:48px;line-height:1.1}
.notice{color:var(--muted);font-size:15px}
.site-footer{padding:64px 0 26px;border-top:1px solid #292b37;background:#07090e}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;gap:36px}
.footer-grid>div>a:not(.brand){display:block;font-size:14px;color:var(--muted);margin:11px 0;overflow-wrap:anywhere}
.footer-grid a:hover{color:var(--accent)}
.footer-heading{font-size:14px;letter-spacing:0;margin:0 0 18px}
.footer-tagline{margin:20px 0 10px;font-size:14px;color:var(--muted)}
.footer-brand img{height:40px}
.subfooter{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #202530;padding-top:25px;margin-top:45px;color:var(--muted);font-size:13px}

/* Shared gold flash: seven active seconds, then a two-second return. */
.flash-card{position:relative;isolation:isolate;--flash-level:0}
.flash-card:not([data-flash-native]){cursor:pointer}
.flash-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:var(--flash-level);background:linear-gradient(125deg,#f0cb761c,#f0cb7606);box-shadow:inset 0 0 0 1px #f0cb76a6,0 0 24px #f0cb7620;z-index:1}
.flash-card.is-gold p,.flash-card.is-gold li{color:color-mix(in srgb,var(--gold) calc(var(--flash-level)*100%),var(--muted))}
.flash-card.is-gold h2,.flash-card.is-gold h3,.flash-card.is-gold strong{color:color-mix(in srgb,var(--gold) calc(var(--flash-level)*100%),var(--text-strong))}
.card-highlight{position:absolute;top:5px;right:5px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);opacity:.5}
.card-highlight::before{content:'';width:8px;height:8px;border:1px solid currentColor;transform:rotate(45deg)}
.card-highlight:hover,.card-highlight:focus-visible{opacity:1;color:var(--gold);background:#f0cb7614}
.card-highlight[aria-pressed=true]{color:var(--gold);opacity:1}
.service-detail.flash-card{padding-inline:26px;border-radius:12px;margin-block:14px}
.service-detail.flash-card:first-child{padding-top:38px}
.engagement-steps .flash-card{padding-inline:16px;border-radius:9px}
.solution-card .solution-enquiry-button{margin-top:18px}
.two-col>[data-principle-card]{padding:26px;border:1px solid var(--border);border-radius:12px}

/* Brand pagination reserves space so changing words never move the navigation. */
.indigo-text{color:var(--accent)}
.brand-lockup{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:0}




.header-motion-toggle{position:relative;width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0;font-size:0;line-height:0;margin-left:0;border-radius:999px;background:#11141c}
.header-motion-toggle::before{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);pointer-events:none}
.header-motion-toggle[aria-pressed=true]::before{transform:translate(calc(-50% + 1px),-50%)}
.header-motion-toggle:hover{border-color:var(--accent);background:#1a1c29;transform:none}
.header-motion-toggle:disabled{cursor:default}
.services-hero-immersive .hero-copy{max-width:960px}.services-hero-immersive .hero-copy>p:not(.eyebrow){max-width:780px;margin-inline:auto;color:var(--muted);font-size:21px}.services-hero-immersive .actions{align-items:center}
.faq-title{font-size:19px;letter-spacing:.04em;color:var(--accent);margin:0 0 18px}
.solution-copy>.actions{margin-top:28px}
.final-cta .actions{justify-content:center}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.price-card{display:flex;flex-direction:column;min-width:0;padding:30px 26px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(150deg,#141723,#0c0f16)}
.price-card-featured{border-color:#7566b1;background:linear-gradient(150deg,#211c34,#0f111c)}
.price-card h3{font-size:24px;margin:0 0 20px;min-height:2.6em}
.price-card .index{font-size:12px;letter-spacing:.01em;margin-bottom:22px}
.price{display:grid;gap:2px;margin:0 0 24px;line-height:1.25}
.price span{font-size:14px;color:var(--muted)}
.price strong{font-size:clamp(28px,2.7vw,36px);font-weight:650;color:var(--text-strong);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
.price small{font-size:15px;color:var(--muted);margin-top:5px}
.price-card>p:not(.price),.price-card li{font-size:17px;color:var(--muted)}
.price-card ul{padding-left:20px;margin:0 0 24px}
.price-card li{margin-bottom:10px}
.price-card .price-scope{font-size:16px;border-top:1px solid var(--border);padding-top:22px;margin-top:auto}
.price-card .button{margin-top:6px;padding-inline:12px;min-height:52px}
.pricing-note{font-size:16px;color:var(--muted);max-width:980px;margin:25px 0 0}
.pricing-faq{margin-top:28px}
@media(max-width:1100px){.primary-nav{gap:16px}.nav-shell{gap:12px}.nav-cta{padding-inline:15px}}
@media(max-width:1020px){.nav-shell{flex-wrap:wrap;gap:10px}.js .menu-button{display:block;order:2}.header-motion-toggle{order:3}.primary-nav{order:4;width:100%;justify-content:center;margin:0;flex-wrap:wrap;padding-bottom:18px}.js .primary-nav{display:none}.js .primary-nav.is-open{display:flex}.no-js .site-header{position:relative}.no-js .hero,.no-js .page-hero{padding-top:70px}.pricing-grid{grid-template-columns:1fr;max-width:720px}.price-card h3{min-height:0}.price strong{font-size:36px}}

/* Tablet and mobile: preserve readable type; reflow the network instead of shrinking labels. */
@media(max-width:1100px){.split-feature{gap:34px}
.leverage-flow-copy{padding-right:0;max-width:210px}
.leverage-flow-stage{min-height:215px}
.leverage-flow-motion{top:auto;bottom:13px;right:12px}
.leverage-flow-stage.stage-profit{min-height:240px}
.process-copy{padding:18px 13px 12px}
.solution-showcase{gap:36px}
.footer-grid{gap:22px}
}

@media(max-width:900px){.primary-nav{gap:18px}
.nav-shell{gap:14px}
.brand img{width:125px}
.split-feature,.split-feature-reverse,.solution-showcase,.two-col,.contact-form-layout,.booking-layout{grid-template-columns:1fr;gap:38px}
.split-feature-reverse>div:first-child{order:0}
.leverage-flow-stage{min-height:150px}
.leverage-flow-stage.stage-profit{min-height:160px}
.leverage-flow-copy{padding-right:145px;max-width:none}
.leverage-flow-motion{top:50%;bottom:auto}
.process-motion-bay{height:158px}
.principles-static-grid,.card-grid,.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.capability-heading{grid-template-columns:1fr;gap:12px}
.service-detail{gap:38px}
.footer-grid{grid-template-columns:1.4fr 1fr}
.legal-layout{grid-template-columns:1fr;gap:32px}
.legal-nav{position:static;display:flex;flex-wrap:wrap;gap:20px}
.engagement-steps{gap:20px}
.systems-visual{height:1190px}
.systems-node{max-width:42%;white-space:normal;width:max-content}
.systems-center{--x:50%;--y:49%;font-size:15px}
.g-business-systems{--x:50%;--y:5%}
.g-integration{--x:26%;--y:12%}
.g-ai{--x:72%;--y:12%}
.g-digitisation{--x:24%;--y:19%}
.g-it-ot{--x:76%;--y:19%}
.g-data{--x:28%;--y:26%}
.g-analytics{--x:72%;--y:26%}
.g-visibility{--x:26%;--y:33%}
.g-decision-intelligence{--x:74%;--y:34%}
.g-automation{--x:26%;--y:41%}
.g-cybersecurity{--x:74%;--y:41%}
.g-workflow{--x:24%;--y:57%}
.g-control{--x:73%;--y:57%}
.g-process-optimisation{--x:25%;--y:65%}
.g-reliability{--x:74%;--y:65%}
.g-efficiency{--x:24%;--y:73%}
.g-resilience{--x:74%;--y:73%}
.g-productivity{--x:26%;--y:81%}
.g-capacity{--x:74%;--y:81%}
.g-scalability{--x:74%;--y:88%}
.g-profitability{--x:26%;--y:92%}
}

@media(max-width:700px){:root{--header-height:76px}
.container{width:calc(100% - 36px)}
body{font-size:18px}
.site-header{backdrop-filter:none;background:#08090df5}
.nav-shell{flex-wrap:wrap;gap:0;min-height:76px}
.brand img{height:40px;width:96px}
.brand-lockup{gap:6px}.nav-shell{column-gap:6px}.menu-button{padding:8px 10px;font-size:14px}.header-motion-toggle{width:34px;flex-basis:34px;min-height:36px}
.js .menu-button{display:block}
.primary-nav{display:flex;width:100%;margin:0;padding:10px 0 18px;gap:12px;flex-wrap:wrap;justify-content:center}
.js .primary-nav{display:none}
.js .primary-nav.is-open{display:flex}
.primary-nav>a{padding:12px 14px}
.primary-nav .nav-cta{flex:1 0 100%}
.hero{min-height:780px;padding:145px 0 80px}
.hero h1{font-size:clamp(39px,8vw,55px);line-height:1.12;letter-spacing:-.04em}
.hero .lead{font-size:19px}
.buzz-strip{margin-top:30px;gap:7px}
.buzz-strip span{font-size:12px}
.hero .actions{gap:10px}
.section{padding:68px 0}
.section-tight{padding:58px 0}
.section-intro{font-size:19px}
h2{font-size:34px}
.page-hero{padding:140px 0 48px}
.page-hero h1{font-size:44px}
.page-hero p:not(.eyebrow){font-size:18px}
.leverage-visual{padding:16px 12px 16px 40px}
.leverage-flow-spine{left:19px}
.leverage-signal{left:8px}
.leverage-flow-stage{grid-template-columns:23px minmax(0,1fr);gap:7px;padding:17px 12px;min-height:155px}
.leverage-flow-copy{padding-right:0;max-width:calc(100% - 125px)}
.leverage-flow-copy small{font-size:14px}
.leverage-flow-copy strong{font-size:16px}
.leverage-flow-motion{right:0;width:132px}
.leverage-flow-stage.stage-profit{min-height:180px}
.process-visual{padding:10px}
.process-grid{gap:10px}
.process-copy b{font-size:18px}
.process-copy small{font-size:14px}
.process-motion-bay{height:130px}
.process-copy{min-height:138px}
.principles-static-grid,.card-grid,.principle-grid,.solution-grid{grid-template-columns:1fr}
.principle-static-card{padding:24px}
.principle-static-card h3{margin-top:10px}
.service-detail{grid-template-columns:1fr;gap:18px;padding:42px 0}
.service-detail h2{font-size:28px}
.service-detail .index{margin-bottom:12px}
.engagement-steps{grid-template-columns:1fr;gap:18px}
.engagement-steps .index{margin-bottom:14px}
.engagement-steps article{padding-top:20px}
.form{padding:22px}
.form-grid{grid-template-columns:1fr;gap:19px}
.form label,.form-hint{font-size:16px}
.thank-card{padding:28px}
.thank-card h1{font-size:38px}
.final-cta{padding:85px 0;min-height:550px}
.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-grid>div:nth-child(3){grid-column:1/-1;order:4}
.subfooter{font-size:13px}
.systems-visual{height:1160px}
.systems-node{font-size:14px;padding:9px 10px;max-width:43%}
.systems-center{padding:15px 13px;font-size:14px}
.capability-minimal{gap:12px}
.capability-minimal span{width:calc(50% - 12px)}
.callout{padding:24px}
.legal table{font-size:16px}
.legal th,.legal td{padding:10px 6px}
.no-js .site-header{position:relative}
.no-js .hero,.no-js .page-hero{padding-top:70px}
}

@media(max-width:410px){.container{width:calc(100% - 28px)}
.hero h1{font-size:37px}
.brand img{width:86px}.price-card{padding:25px 20px}
.leverage-flow-stage{min-height:216px}
.leverage-flow-stage.stage-profit{min-height:244px}
.leverage-flow-copy{max-width:none;padding:0}
.leverage-flow-motion{top:auto;bottom:10px;right:12px}
.process-copy{padding-inline:10px}
.process-copy b{font-size:17px}
.process-copy small{font-size:13px}
.form{padding:18px}
.systems-node{max-width:44%;padding-inline:8px}
}

.motion-paused *,[data-motion-state=idle] *,[data-motion-state=idle] *::before,[data-motion-state=idle] *::after,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
html.motion-paused{scroll-behavior:auto}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}

@media print{.site-header,.site-footer,.minimal-visual,.playfield-ball,.actions,.motion-toggle{display:none}
body{background:white;color:black}
.section,.page-hero{padding:20px 0;background:white;border-color:#ccc}
h1,h2,h3,.accent-text,p{color:black!important}
.container{width:100%}
.two-col,.service-detail,.solution-showcase{display:block}
}


/* Shared form and content refinements. */
.form-fields{border:0;padding:0;margin:0;min-width:0}
.form-fields:disabled{opacity:.65}
.form-errors a{text-decoration:underline}
.preview-note{font-size:14px;color:var(--muted);padding:14px 0;border-top:1px solid var(--border)}
.service-detail .service-summary{max-width:420px}
.legal table{table-layout:fixed;overflow-wrap:anywhere}
.solution-card .text-link{display:inline-block;margin-top:14px}
.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.form-note{grid-column:1/-1}
.page-hero .legal-meta{font-size:14px}
.contact-form-layout>*{min-width:0}
.legal h2{scroll-margin-top:120px}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* IK SOLS motion button polish r3 start */
.site-header .header-motion-toggle,
.header-motion-toggle {
  position: relative;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
}

.site-header .header-motion-toggle::after,
.header-motion-toggle::after {
  content: none !important;
}

.site-header .header-motion-toggle::before,
.header-motion-toggle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: linear-gradient(
    to right,
    var(--accent) 0 4px,
    transparent 4px 9px,
    var(--accent) 9px 13px,
    transparent 13px 14px
  );
  clip-path: none;
  border-radius: 0;
  box-shadow: none;
}

.site-header .header-motion-toggle[aria-pressed="true"]::before,
.header-motion-toggle[aria-pressed="true"]::before {
  width: 14px;
  height: 14px;
  background: var(--accent);
  clip-path: polygon(18% 8%, 88% 50%, 18% 92%);
  transform: translate(calc(-50% + 1px), -50%);
}

.site-header .header-motion-toggle:hover,
.site-header .header-motion-toggle:active,
.site-header .header-motion-toggle:focus,
.site-header .header-motion-toggle:focus-visible,
.header-motion-toggle:hover,
.header-motion-toggle:active,
.header-motion-toggle:focus,
.header-motion-toggle:focus-visible {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
/* IK SOLS motion button polish r3 end */
