:root {
  --ink: #090a0d;
  --carbon: #12151b;
  --cloud: #f7f8fa;
  --graphite: #23252a;
  --slate: #9299a5;
  --peach: #ffc0a2;
  --gold: #ffd987;
  --lilac: #b8a0d0;
  --blue: #c5d8f4;
  --white: #ffffff;
  --border-dark: rgba(255, 255, 255, 0.14);
  --border-light: rgba(35, 37, 42, 0.12);
  --container: 1440px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-snap-type: y proximity; background: var(--ink); }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--graphite); background: var(--ink); font-family: "Inter", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
svg { display: block; max-width: 100%; }

.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; transform: translateY(-150%); padding: 12px 18px; border-radius: 100px; color: var(--ink); background: var(--white); }
.skip-link:focus { transform: translateY(0); }
.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; }

.container { position: relative; z-index: 3; width: min(calc(100% - 96px), var(--container)); margin-inline: auto; }
.section { position: relative; z-index: 2; min-height: 100svh; overflow: hidden; scroll-snap-align: start; }
.dark-section { color: var(--white); background: var(--ink); }
.light-section { color: var(--graphite); background: rgba(247, 248, 250, 0.985); }

.site-header { position: fixed; z-index: 100; top: 22px; left: 50%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; width: min(calc(100% - 48px), 1460px); min-height: 70px; padding: 10px 12px 10px 16px; transform: translateX(-50%); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 24px; background: rgba(9, 10, 13, 0.72); box-shadow: 0 16px 50px rgba(0, 0, 0, 0.2); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); transition: background .4s ease, border-color .4s ease; }
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: 220px; }
.brand-ring { position: relative; display: block; width: 43px; height: 43px; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(from -35deg, var(--peach), var(--gold) 27%, var(--blue) 53%, var(--lilac) 76%, var(--peach)); box-shadow: 0 0 18px rgba(255, 217, 135, .26), 0 0 16px rgba(184, 160, 208, .22); }
.brand-ring::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #0d0f13; }
.brand-name { display: grid; gap: 4px; color: var(--white); line-height: 1; }
.brand-name > span { font-family: "Manrope", sans-serif; font-size: .85rem; letter-spacing: .29em; white-space: nowrap; }
.brand-name small { font-size: .55rem; letter-spacing: .58em; opacity: .7; }
.site-nav { justify-self: center; display: flex; align-items: center; gap: clamp(24px, 3.5vw, 56px); color: rgba(255, 255, 255, .78); font-size: .88rem; }
.site-nav a { position: relative; padding: 12px 0; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: 7px; left: 0; height: 1px; transform: scaleX(0); transform-origin: right; background: linear-gradient(90deg, var(--peach), var(--blue)); transition: transform .35s var(--ease); }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border: 1px solid transparent; border-radius: 100px; font-size: .94rem; font-weight: 500; transition: transform .3s var(--ease), background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.button:hover { transform: translateY(-3px); }
.button:focus-visible, .site-nav a:focus-visible, .brand:focus-visible, .text-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.button-light { color: var(--ink); background: var(--white); box-shadow: 0 10px 34px rgba(0, 0, 0, .18); }
.button-light:hover { box-shadow: 0 14px 38px rgba(197, 216, 244, .18); }
.button-ghost { color: var(--white); border-color: rgba(255, 255, 255, .48); background: rgba(255, 255, 255, .025); }
.button-ghost:hover { border-color: var(--white); background: rgba(255, 255, 255, .07); }
.button-small { min-height: 46px; padding-inline: 24px; font-size: .85rem; }
.phone-cta { gap: 7px; white-space: nowrap; }
.phone-cta strong { font-weight: 600; letter-spacing: .025em; }

.scroll-progress { position: fixed; z-index: 101; top: 0; left: 0; width: 100%; height: 2px; background: transparent; }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--peach), var(--gold), var(--lilac), var(--blue)); }

.motion-field { position: fixed; z-index: 4; inset: 0; overflow: hidden; pointer-events: none; }
.motion-halo { position: absolute; top: 50%; left: 76%; width: min(48vw, 700px); aspect-ratio: 1; transform: translate(-50%, -50%); opacity: .22; filter: drop-shadow(0 0 34px rgba(197, 216, 244, .3)); will-change: transform, left, top, opacity; }
.motion-halo::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, var(--peach), var(--gold), var(--blue), var(--lilac), var(--peach)); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)); mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)); }
.motion-halo::after { content: ""; position: absolute; inset: 3%; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .15); box-shadow: 0 0 70px rgba(184, 160, 208, .18), inset 0 0 45px rgba(255, 192, 162, .08); }
.motion-trace { position: absolute; width: 8px; height: 8px; border-radius: 50%; opacity: .35; background: var(--white); box-shadow: 0 0 18px 6px var(--blue); will-change: transform; }

.eyebrow { margin: 0 0 28px; color: rgba(255, 255, 255, .72); font-size: .72rem; font-weight: 500; letter-spacing: .42em; text-transform: uppercase; }
.dark-eyebrow { color: rgba(35, 37, 42, .64); }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { font-family: "Manrope", sans-serif; font-weight: 400; letter-spacing: -.045em; }

.hero { display: grid; min-height: 100svh; padding: 150px 0 90px; background: radial-gradient(circle at 72% 38%, rgba(255, 192, 162, .1), transparent 21%), radial-gradient(circle at 70% 64%, rgba(157, 193, 244, .12), transparent 24%), #090a0d; }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, transparent, black 28%, black 80%, transparent); }
.hero-ambient { position: absolute; top: -18%; right: 8%; width: 48vw; height: 48vw; border-radius: 50%; opacity: .14; filter: blur(110px); background: conic-gradient(var(--peach), var(--gold), var(--lilac), var(--blue), var(--peach)); animation: ambient-drift 13s ease-in-out infinite alternate; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(620px, 1.12fr); align-items: center; gap: 40px; }
.hero-copy { z-index: 5; max-width: 735px; }
.hero h1 { margin: 0; font-size: clamp(3.7rem, 5.2vw, 6.3rem); line-height: .99; color: #f8f9fb; }
.hero h1 span { color: transparent; background: linear-gradient(105deg, var(--peach), var(--gold) 40%, var(--blue)); background-clip: text; -webkit-background-clip: text; }
.hero-intro { max-width: 670px; margin: 34px 0 0; color: #aeb5c1; font-size: clamp(1.02rem, 1.25vw, 1.24rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.hero-visual { position: relative; height: min(720px, 68vw); min-height: 620px; }
.hero-halo-wrap { position: absolute; top: 50%; left: 53%; width: clamp(370px, 34vw, 560px); aspect-ratio: 1; transform: translate(-50%, -50%); }
.hero-halo { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from -30deg, var(--peach), var(--gold) 26%, var(--blue) 52%, var(--lilac) 76%, var(--peach)); animation: halo-spin 18s linear infinite; box-shadow: 0 0 45px rgba(255, 217, 135, .22), 0 0 70px rgba(175, 189, 230, .14); }
.hero-halo::after { content: ""; position: absolute; inset: 18px; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #17171a 0, #0a0c10 68%); box-shadow: inset 0 0 38px rgba(255, 255, 255, .06); }
.halo-glow::before { content: ""; position: absolute; inset: -22px; border-radius: 50%; opacity: .7; filter: blur(28px); background: conic-gradient(from -30deg, var(--peach), var(--gold), var(--blue), var(--lilac), var(--peach)); }
.halo-core { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; gap: 12px; transform: translate(-50%, -50%); text-align: center; }
.halo-core span { font-family: "Manrope", sans-serif; font-size: clamp(.95rem, 1.4vw, 1.28rem); letter-spacing: .42em; white-space: nowrap; }
.halo-core small { color: rgba(255,255,255,.58); font-size: .65rem; letter-spacing: .72em; }
.orbit-dot { position: absolute; z-index: 4; width: 8px; height: 8px; border: 2px solid var(--white); border-radius: 50%; background: var(--gold); box-shadow: 0 0 16px 6px rgba(255, 217, 135, .42); }
.dot-one { top: 13%; left: 18%; animation: dot-breathe 3s ease-in-out infinite; }
.dot-two { right: 3%; bottom: 32%; animation: dot-breathe 3s 1s ease-in-out infinite; }
.dot-three { bottom: 5%; left: 35%; animation: dot-breathe 3s 2s ease-in-out infinite; }

.signal-card { position: absolute; z-index: 5; width: 220px; padding: 19px; border: 1px solid var(--border-dark); border-radius: 18px; color: var(--white); background: linear-gradient(135deg, rgba(29, 32, 40, .86), rgba(14, 16, 21, .66)); box-shadow: 0 20px 50px rgba(0, 0, 0, .25); backdrop-filter: blur(18px); animation: float-card 6s ease-in-out infinite; }
.signal-head { display: flex; justify-content: space-between; margin-bottom: 13px; color: #d8dce3; font-size: .7rem; }
.signal-live { color: var(--gold); }
.signal-card strong { font-family: "Manrope", sans-serif; font-size: 1.22rem; font-weight: 500; }
.signal-card p { margin: 12px 0 0; color: #939ba8; font-size: .69rem; line-height: 1.45; }
.growth-card { top: 9%; left: 1%; }
.automation-card { bottom: 12%; left: -1%; animation-delay: -2s; }
.insight-card { top: 23%; right: -3%; animation-delay: -4s; }
.mini-bars { display: flex; align-items: end; gap: 7px; height: 52px; margin-top: 8px; }
.mini-bars i { width: 12px; height: 18%; border-radius: 2px 2px 0 0; background: linear-gradient(to top, var(--lilac), var(--gold)); animation: bars 3.4s ease-in-out infinite alternate; }
.mini-bars i:nth-child(2) { height: 31%; animation-delay: -.4s; }.mini-bars i:nth-child(3) { height: 43%; animation-delay: -.8s; }.mini-bars i:nth-child(4) { height: 58%; animation-delay: -1.2s; }.mini-bars i:nth-child(5) { height: 78%; animation-delay: -1.6s; }.mini-bars i:nth-child(6) { height: 98%; animation-delay: -2s; }
.mini-flow { display: flex; align-items: center; gap: 7px; margin: 20px 0 9px; }
.mini-flow i { width: 35px; height: 1px; background: linear-gradient(90deg, var(--lilac), var(--blue)); }
.mini-flow span, .mini-flow b { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--lilac); border-radius: 10px; color: #e7d7ff; font-size: .76rem; font-weight: 500; }
.mini-flow b { width: 20px; height: 20px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 16px var(--gold); }
.insight-card svg { height: 62px; margin-top: 10px; }
.chart-grid { fill: none; stroke: rgba(255,255,255,.06); stroke-width: 1; }
.chart-line { fill: none; stroke: url(#unused); stroke: var(--blue); stroke-width: 2; filter: drop-shadow(0 0 5px var(--lilac)); }
.scroll-cue { position: absolute; z-index: 8; bottom: 28px; left: 50%; display: flex; align-items: center; gap: 15px; transform: translateX(-50%); color: rgba(255,255,255,.5); font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; }
.scroll-cue i { position: relative; width: 28px; height: 42px; border: 1px solid rgba(255,255,255,.26); border-radius: 30px; }
.scroll-cue i::after { content: ""; position: absolute; top: 8px; left: 50%; width: 3px; height: 6px; transform: translateX(-50%); border-radius: 3px; background: var(--white); animation: scroll-dot 1.8s ease-in-out infinite; }

.services { padding: 150px 0 120px; }
.section-heading { display: grid; grid-template-columns: 1.4fr .75fr; gap: 50px; align-items: end; margin-bottom: 74px; }
.section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: -12px; }
.section-heading h2 { max-width: 850px; margin: 0; font-size: clamp(3rem, 5vw, 5.8rem); line-height: 1.02; }
.section-heading > p:last-child { max-width: 480px; margin: 0 0 8px; color: #626873; font-size: 1.06rem; line-height: 1.7; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.service-card { --accent: var(--peach); position: relative; display: flex; min-height: 430px; padding: 28px; flex-direction: column; overflow: hidden; border: 1px solid var(--border-light); border-radius: 24px; background: rgba(255,255,255,.76); transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s ease; }
.service-card::before { content: ""; position: absolute; top: -80px; right: -80px; width: 220px; height: 220px; opacity: .28; border-radius: 50%; filter: blur(10px); background: radial-gradient(circle, var(--accent), transparent 68%); transition: transform .6s var(--ease), opacity .5s ease; }
.service-card:hover { transform: translateY(-10px); border-color: color-mix(in srgb, var(--accent), #222 12%); box-shadow: 0 28px 70px rgba(35, 37, 42, .1); }
.service-card:hover::before { transform: scale(1.28); opacity: .48; }
.accent-peach { --accent: var(--peach); }.accent-lilac { --accent: var(--lilac); }.accent-gold { --accent: var(--gold); }.accent-blue { --accent: var(--blue); }
.service-top { position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; }
.service-number { color: #8d929c; font-size: .72rem; letter-spacing: .2em; }
.service-icon { position: relative; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: color-mix(in srgb, var(--accent), white 24%); }
.icon-marketing { display: flex; align-items: flex-end; gap: 4px; padding: 17px; }.icon-marketing i { width: 3px; height: 9px; background: var(--graphite); }.icon-marketing i:nth-child(2){height:16px}.icon-marketing i:nth-child(3){height:23px}.icon-marketing i:nth-child(4){height:30px}
.icon-web i { width: 27px; height: 20px; border: 2px solid var(--graphite); border-radius: 3px; }.icon-web i::after { content:""; position:absolute; bottom:15px; left:26px; width:7px; height:2px; background:var(--graphite); box-shadow: 0 4px 0 var(--graphite); }
.icon-ai i { position:absolute; width:8px; height:8px; border:2px solid var(--graphite); border-radius:50%; }.icon-ai i:nth-child(1){top:13px}.icon-ai i:nth-child(2){bottom:12px;left:13px}.icon-ai i:nth-child(3){right:13px;bottom:12px}.icon-ai::before,.icon-ai::after {content:"";position:absolute;top:27px;width:20px;height:2px;background:var(--graphite)}.icon-ai::before{left:13px;transform:rotate(-52deg)}.icon-ai::after{right:13px;transform:rotate(52deg)}
.icon-data i { position:absolute; width:27px; height:11px; border:2px solid var(--graphite); border-radius:50%; }.icon-data i:nth-child(1){top:13px}.icon-data i:nth-child(2){top:23px;border-top-color:transparent}.icon-data i:nth-child(3){top:33px;border-top-color:transparent}
.service-card h3 { position: relative; z-index: 2; margin: 68px 0 18px; font-size: clamp(1.65rem, 2vw, 2.2rem); line-height: 1.06; }
.service-card p { position: relative; z-index: 2; margin: 0; color: #6f7580; font-size: .93rem; line-height: 1.65; }
.service-link { position: relative; z-index: 2; display: flex; justify-content: space-between; margin-top: auto; padding-top: 28px; border-top: 1px solid rgba(35,37,42,.09); font-size: .78rem; font-weight: 500; }
.service-link b { font-size: 1rem; font-weight: 400; transition: transform .3s var(--ease); }.service-card:hover .service-link b{transform:translate(3px,-3px)}

.system-section { padding: 140px 0; background: linear-gradient(135deg, rgba(255,242,235,.98), rgba(255,250,229,.98) 48%, rgba(241,236,251,.98)); }
.split-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.sticky-copy { max-width: 530px; }
.sticky-copy h2 { margin: 0 0 26px; font-size: clamp(3.4rem, 5vw, 6rem); line-height: .98; }
.sticky-copy > p:not(.eyebrow) { margin: 0; color: #626873; font-size: 1.06rem; line-height: 1.72; }
.text-link { display: inline-flex; align-items: center; gap: 22px; margin-top: 34px; padding-bottom: 7px; border-bottom: 1px solid rgba(35,37,42,.36); font-size: .9rem; font-weight: 500; }.text-link span{transition:transform .3s var(--ease)}.text-link:hover span{transform:translateY(5px)}
.growth-spiral { position: relative; min-height: 720px; }
.spiral-path { position: absolute; top: 50%; left: 50%; width: min(100%, 720px); transform: translate(-50%,-50%); overflow: visible; }
.spiral-base, .spiral-active { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.spiral-base { stroke: rgba(35,37,42,.12); stroke-width: 2; }
.spiral-active { stroke: url(#spiralGradient); stroke-width: 5; stroke-dasharray: 28 22; animation: spiral-flow 9s linear infinite; filter: drop-shadow(0 0 9px rgba(184,160,208,.35)); }
.spiral-center { position: absolute; top: 51%; left: 50%; display: grid; place-items: center; width: 150px; aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(35,37,42,.12); border-radius: 50%; background: rgba(255,255,255,.7); box-shadow: 0 20px 50px rgba(99,83,72,.09); backdrop-filter: blur(12px); }
.spiral-center span { font-family:"Manrope",sans-serif;font-size:2rem;letter-spacing:.12em; }.spiral-center small{position:absolute;top:105%;width:160px;text-align:center;color:#737985;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}
.process-node { position: absolute; display: grid; width: 190px; gap: 6px; padding: 18px; border: 1px solid rgba(35,37,42,.1); border-radius: 16px; background: rgba(255,255,255,.74); box-shadow: 0 16px 38px rgba(82,67,58,.07); backdrop-filter: blur(10px); }
.process-node span { color:#8d929c;font-size:.62rem;letter-spacing:.18em }.process-node strong{font-family:"Manrope",sans-serif;font-size:1.05rem;font-weight:500}.process-node small{color:#737985;font-size:.68rem;line-height:1.45}
.node-discover{top:5%;left:34%}.node-create{top:25%;right:0}.node-automate{right:7%;bottom:7%}.node-optimise{bottom:3%;left:17%}

.automation-section { padding: 140px 0; background: radial-gradient(circle at 15% 22%, rgba(184,160,208,.17), transparent 26%), radial-gradient(circle at 88% 72%, rgba(197,216,244,.11), transparent 28%), #131119; }
.automation-wash { position:absolute;inset:0;opacity:.18;background:linear-gradient(115deg,transparent 15%,rgba(255,192,162,.08),transparent 50%,rgba(197,216,244,.08)); }
.automation-grid { display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px }
.automation-copy h2 { margin:0 0 28px;font-size:clamp(3.2rem,4.8vw,5.7rem);line-height:1.02;color:var(--white) }.automation-copy h2 span{color:var(--lilac)}
.automation-copy>p:not(.eyebrow){max-width:570px;margin:0;color:#a9a7b2;font-size:1.05rem;line-height:1.72}
.feature-list{display:grid;gap:0;margin:40px 0 0;padding:0;list-style:none;border-top:1px solid var(--border-dark)}.feature-list li{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--border-dark);color:#dad8df;font-size:.9rem}.feature-list span{color:var(--lilac);font-size:.62rem;letter-spacing:.16em}
.workflow-canvas { position:relative;min-height:680px;border:1px solid rgba(255,255,255,.12);border-radius:32px;overflow:hidden;background:rgba(9,9,13,.46);box-shadow:0 50px 100px rgba(0,0,0,.2);backdrop-filter:blur(15px) }
.workflow-grid{position:absolute;inset:0;opacity:.38;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,black,transparent 82%)}
.workflow-lines{position:absolute;inset:8% 6%;width:88%;height:84%}.workflow-lines path{fill:none;stroke:rgba(197,216,244,.38);stroke-width:1.5;stroke-dasharray:8 9;animation:workflow-dash 12s linear infinite}
.workflow-node{position:absolute;z-index:2;display:grid;min-width:170px;gap:6px;padding:17px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(26,25,33,.84);box-shadow:0 18px 45px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.workflow-node small{color:#9a97a5;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.workflow-node strong{color:#f5f3f7;font-family:"Manrope",sans-serif;font-size:.96rem;font-weight:500}.workflow-node em{color:#777582;font-size:.63rem;font-style:normal}.node-icon,.ai-chip{display:grid;place-items:center;width:30px;height:30px;margin-bottom:5px;border:1px solid rgba(255,255,255,.18);border-radius:9px;color:var(--gold);background:rgba(255,255,255,.04)}.ai-chip{color:#211d29;background:linear-gradient(135deg,var(--peach),var(--lilac));font-size:.7rem;font-weight:600}
.lead-node{top:12%;left:6%}.ai-node{top:39%;left:42%;transform:translate(-50%,-50%);border-color:rgba(184,160,208,.5)}.crm-node{top:10%;right:5%}.team-node{right:4%;bottom:14%}.learn-node{bottom:12%;left:7%}
.flow-pulse{position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;background:var(--white);box-shadow:0 0 14px 6px rgba(197,216,244,.65);offset-path:path("M 164 144 C 245 144 220 282 310 282");animation:flow-dot 4s linear infinite}.pulse-a{top:0;left:0}.pulse-b{offset-path:path("M 410 282 C 500 282 472 130 568 130");animation-delay:-1.3s}.pulse-c{offset-path:path("M 410 282 C 516 282 495 423 595 423");animation-delay:-2.6s}

.analytics-section { padding:140px 0;background:linear-gradient(145deg,rgba(239,247,255,.985),rgba(250,252,255,.985) 52%,rgba(245,241,252,.985)) }
.analytics-grid{display:grid;grid-template-columns:1.14fr .86fr;align-items:center;gap:80px}
.analytics-board{padding:28px;border:1px solid rgba(66,87,115,.12);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 35px 90px rgba(70,101,140,.12);backdrop-filter:blur(16px)}
.board-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid rgba(35,37,42,.09)}.board-head>div{display:grid;gap:5px}.board-head small,.metric-row small{color:#818895;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.board-head strong{font-family:"Manrope",sans-serif;font-size:1.25rem;font-weight:500}.period-pill{padding:8px 13px;border-radius:30px;color:#3b5b7c;background:#e4f1ff;font-size:.67rem}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.metric-row article{position:relative;display:grid;gap:8px;padding:18px;border:1px solid rgba(35,37,42,.08);border-radius:15px;background:#fbfcfe}.metric-row strong{font-family:"Manrope",sans-serif;font-size:1rem;font-weight:500}.metric-up{position:absolute;top:17px;right:17px;color:#5b89bf}.metric-dot{position:absolute;top:21px;right:19px;width:7px;height:7px;border-radius:50%;background:#75a6dd;box-shadow:0 0 0 5px rgba(117,166,221,.13)}
.chart-area{padding:21px 20px 4px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#f5f8fc)}.chart-label{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.74rem}.chart-label small{color:#969da8}.chart-area svg{overflow:visible}.data-grid{fill:none;stroke:rgba(66,87,115,.08);stroke-width:1}.data-area{fill:url(#areaFill)}.data-line{fill:none;stroke:url(#lineStroke);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 5px 7px rgba(111,168,239,.25));stroke-dasharray:1000;stroke-dashoffset:1000}.data-line+circle{fill:var(--peach);stroke:white;stroke-width:4;opacity:0}.analytics-board.is-visible .data-line{animation:draw-line 2s .25s var(--ease) forwards}.analytics-board.is-visible .data-line+circle{animation:fade-in .5s 2s forwards}
.analytics-copy h2{margin:0 0 28px;font-size:clamp(3.2rem,4.9vw,5.8rem);line-height:1}.analytics-copy>p:not(.eyebrow){margin:0;color:#616975;font-size:1.05rem;line-height:1.72}.data-points{display:grid;gap:0;margin-top:36px;border-top:1px solid rgba(35,37,42,.12)}.data-points>div{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid rgba(35,37,42,.12)}.data-points span{color:#719bc8;font-size:.65rem;letter-spacing:.18em}.data-points p{margin:0;color:#747b86;font-size:.89rem}.data-points strong{color:var(--graphite);font-weight:500}

.principles-section{padding:150px 0;background:rgba(247,248,250,.985)}
.principles-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}.principles-intro .eyebrow{grid-column:1/-1;margin-bottom:-8px}.principles-intro h2{margin:0;font-size:clamp(3.5rem,5.4vw,6.3rem);line-height:.98}.principles-intro>p:last-child{max-width:460px;margin:0 0 7px;color:#68707c;font-size:1.05rem;line-height:1.7}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}.principle-grid article{min-height:290px;padding:28px;border-top:1px solid var(--graphite);background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.2))}.principle-grid span{font-size:.65rem;letter-spacing:.18em;color:#8b919b}.principle-grid h3{margin:82px 0 18px;font-size:1.6rem}.principle-grid p{margin:0;color:#6d7480;font-size:.92rem;line-height:1.65}

.closing-section{display:flex;min-height:100svh;padding:145px 0 0;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 68% 40%,rgba(255,192,162,.13),transparent 23%),radial-gradient(circle at 48% 60%,rgba(184,160,208,.13),transparent 27%),#090a0d}
.closing-content{margin-block:auto;text-align:center}.closing-content .eyebrow{margin-bottom:32px}.closing-content h2{margin:0;font-size:clamp(4rem,7.8vw,9rem);line-height:.88;color:var(--white)}.closing-content>p:not(.eyebrow){max-width:620px;margin:32px auto 0;color:#aeb5c1;font-size:1.08rem;line-height:1.7}.closing-actions{display:flex;justify-content:center;gap:14px;margin-top:40px}.closing-rings{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.closing-rings i{position:absolute;width:min(70vw,1000px);aspect-ratio:1;border:1px solid rgba(255,255,255,.07);border-radius:50%;animation:closing-pulse 8s ease-in-out infinite}.closing-rings i:nth-child(2){width:min(52vw,740px);animation-delay:-2.6s}.closing-rings i:nth-child(3){width:min(34vw,480px);animation-delay:-5.2s;border-color:rgba(255,217,135,.13)}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-block:28px;border-top:1px solid rgba(255,255,255,.12);color:#858b96;font-size:.72rem}.footer-brand{min-width:0}.footer-brand .brand-ring{width:35px;height:35px}.footer-brand .brand-name>span{font-size:.7rem}.footer-brand .brand-name small{font-size:.47rem}.site-footer p{margin:0;text-align:center}.site-footer>span{text-align:right}

.reveal{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service-card:nth-child(2),.principle-grid article:nth-child(2){transition-delay:.09s}.service-card:nth-child(3),.principle-grid article:nth-child(3){transition-delay:.18s}.service-card:nth-child(4){transition-delay:.27s}

@keyframes halo-spin{to{transform:rotate(360deg)}}
@keyframes ambient-drift{to{transform:translate(-7%,8%) scale(1.12) rotate(30deg)}}
@keyframes dot-breathe{50%{transform:scale(1.8);opacity:.55}}
@keyframes float-card{50%{transform:translateY(-10px)}}
@keyframes bars{to{filter:brightness(1.35);transform:scaleY(.78);transform-origin:bottom}}
@keyframes scroll-dot{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,17px)}}
@keyframes spiral-flow{to{stroke-dashoffset:-200}}
@keyframes workflow-dash{to{stroke-dashoffset:-200}}
@keyframes flow-dot{to{offset-distance:100%}}
@keyframes draw-line{to{stroke-dashoffset:0}}
@keyframes fade-in{to{opacity:1}}
@keyframes closing-pulse{0%,100%{transform:scale(.92);opacity:.4}50%{transform:scale(1.08);opacity:1}}

@media (max-width: 1220px){
  .container{width:min(calc(100% - 56px),var(--container))}.hero-grid{grid-template-columns:.92fr 1.08fr}.hero-visual{transform:scale(.88);transform-origin:center right}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:360px}.automation-grid,.analytics-grid{gap:45px}.workflow-canvas{transform:scale(.9);transform-origin:center right;margin-left:-4%}.growth-spiral{transform:scale(.9);transform-origin:center right}.site-nav{gap:24px}
}

@media (max-width: 980px){
  html{scroll-snap-type:none}.container{width:min(calc(100% - 40px),var(--container))}.site-header{top:14px;width:calc(100% - 28px)}.site-nav{position:absolute;top:80px;right:0;left:0;display:grid;gap:0;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(9,10,13,.94);box-shadow:0 24px 60px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.3s var(--ease)}.site-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.site-nav a{padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.site-nav a:last-child{border:0}.header-cta{display:inline-flex;grid-column:2;grid-row:1;justify-self:end;min-height:42px;margin-right:8px;padding-inline:16px;font-size:.75rem}.menu-toggle{grid-column:3;grid-row:1;justify-self:end;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.04)}.menu-toggle span:not(.sr-only){display:block;width:18px;height:1px;margin:2px;background:white;transition:.3s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(2.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-2.5px) rotate(-45deg)}
  .hero{padding:145px 0 80px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:800px}.hero h1{font-size:clamp(3.5rem,8.7vw,6rem)}.hero-visual{height:680px;transform:none}.hero-halo-wrap{left:50%;width:min(67vw,520px)}.growth-card{left:3%}.automation-card{left:5%}.insight-card{right:2%}
  .section-heading,.principles-intro{grid-template-columns:1fr}.section-heading .eyebrow,.principles-intro .eyebrow{margin-bottom:-16px}.section-heading>p:last-child,.principles-intro>p:last-child{max-width:620px}
  .split-layout,.automation-grid,.analytics-grid{grid-template-columns:1fr}.sticky-copy,.automation-copy,.analytics-copy{max-width:760px}.growth-spiral{transform:none}.automation-grid{gap:70px}.workflow-canvas{transform:none;margin:0}.analytics-board{order:2}.analytics-copy{order:1}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:230px}.principle-grid h3{margin-top:55px}.site-footer{grid-template-columns:1fr 1fr}.site-footer p{display:none}
}

@media (max-width: 680px){
  .container{width:calc(100% - 32px)}.section{min-height:auto}.site-header{min-height:62px;padding:8px 8px 8px 12px;border-radius:20px}.brand{min-width:0}.brand-ring{width:38px;height:38px}.brand-name>span{font-size:.7rem}.brand-name small{font-size:.46rem}.header-cta{min-height:38px;padding-inline:12px;font-size:.72rem}.phone-cta span{display:none}.menu-toggle{width:42px;height:42px}
  .hero{min-height:100svh;padding-top:132px}.eyebrow{font-size:.61rem;line-height:1.8;letter-spacing:.3em}.hero h1{font-size:clamp(3.15rem,15vw,4.7rem)}.hero-intro{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.button{width:100%}.hero-visual{height:580px;min-height:0;margin-top:18px}.hero-halo-wrap{top:46%;width:82vw}.signal-card{width:170px;padding:14px}.growth-card{top:3%;left:-3%}.automation-card{bottom:5%;left:0}.insight-card{top:18%;right:-5%}.scroll-cue{display:none}
  .services,.system-section,.automation-section,.analytics-section,.principles-section{padding:100px 0}.section-heading{margin-bottom:48px}.section-heading h2,.sticky-copy h2,.automation-copy h2,.analytics-copy h2,.principles-intro h2{font-size:clamp(2.8rem,13vw,4.6rem)}.service-grid{grid-template-columns:1fr}.service-card{min-height:390px}.service-card h3{font-size:2.2rem}
  .split-layout{gap:30px}.growth-spiral{min-height:690px;margin-inline:-20px}.spiral-center{width:110px}.process-node{width:145px;padding:13px}.process-node small{font-size:.6rem}.node-discover{top:8%;left:27%}.node-create{top:27%;right:0}.node-automate{right:4%;bottom:9%}.node-optimise{bottom:6%;left:5%}
  .workflow-canvas{min-height:720px;border-radius:24px;margin-inline:-8px}.workflow-lines{display:none}.workflow-node{min-width:145px;padding:14px}.lead-node{top:8%;left:5%}.crm-node{top:8%;right:5%}.ai-node{top:44%;left:50%}.team-node{right:5%;bottom:9%}.learn-node{bottom:9%;left:5%}.workflow-canvas::after{content:"";position:absolute;top:20%;bottom:20%;left:50%;width:1px;background:linear-gradient(var(--peach),var(--lilac),var(--blue));opacity:.45}.flow-pulse{display:none}
  .analytics-grid{gap:46px}.analytics-board{padding:16px;margin-inline:-6px}.metric-row{grid-template-columns:1fr}.chart-label small{display:none}.chart-area{padding-inline:8px}.data-points p{font-size:.82rem}
  .principle-grid{margin-top:48px}.closing-section{min-height:100svh;padding-top:120px}.closing-content h2{font-size:clamp(3.7rem,17vw,6rem)}.closing-actions{display:grid}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-self:center}.site-footer>span{text-align:center}.closing-rings i{width:120vw}.closing-rings i:nth-child(2){width:90vw}.closing-rings i:nth-child(3){width:58vw}
  .motion-halo{width:80vw}.motion-field{opacity:.75}
}

@media (max-width: 520px){
  .site-header .brand-name{display:none}.phone-cta{min-width:128px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}.motion-field{display:none}.hero-halo,.hero-ambient,.orbit-dot,.signal-card,.mini-bars i,.scroll-cue i::after,.spiral-active,.workflow-lines path,.flow-pulse,.closing-rings i{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.data-line{stroke-dashoffset:0!important}.data-line+circle{opacity:1!important}
}
