:root {
  --bg: #050912;
  --surface: #0a1220;
  --surface-2: #07101c;
  --surface-3: #0e1929;
  --line: #1b2b41;
  --line-bright: #28466c;
  --text: #f7faff;
  --muted: #9baec6;
  --accent: #2f8cff;
  --accent-strong: #1768ff;
  --cyan: #65dcff;
  --blue-gradient: linear-gradient(105deg, #6be4ff 0%, #2e8cff 44%, #175cff 100%);
  --shadow: 0 24px 70px rgba(0, 31, 82, .32);
  --max: 1180px;
}
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); letter-spacing: -.01em; overflow-x: hidden; }
body::before { content: ""; position: fixed; z-index: -1; inset: 0; background: radial-gradient(circle at 76% 8%, rgba(34,119,255,.08), transparent 28%), linear-gradient(rgba(255,255,255,.013) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.013) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; pointer-events: none; }
a, button, .button { transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.site-header { background: rgba(5,9,18,.86); border-color: rgba(68,112,167,.25); backdrop-filter: blur(18px); }
.site-nav { max-width: 1320px; min-height: 82px; padding: 12px 4%; gap: 34px; }
.logo { display: inline-flex; align-items: center; gap: 11px; color: var(--text); line-height: 1; text-decoration: none; }
.brand-mark { display: grid; width: 38px; height: 38px; place-items: center; filter: drop-shadow(0 0 15px rgba(47,140,255,.28)); }
.brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.brand-copy { display: flex; flex-direction: column; gap: 4px; }
.brand-copy strong { font-size: 1.05rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.brand-copy small { color: #7891af; font-size: .58rem; font-weight: 800; letter-spacing: .42em; text-transform: uppercase; }
.nav-links { gap: clamp(15px,2vw,30px); }
.nav-links a { position: relative; color: #9fb0c5; font-size: .87rem; font-weight: 650; letter-spacing: .01em; }
.nav-links > a:not(.nav-cta)::after { content: ""; position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; background: var(--blue-gradient); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-links > a:hover::after, .nav-links > a:focus-visible::after, .nav-links > a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta { padding: 11px 18px!important; border: 1px solid #338dff!important; border-radius: 6px!important; background: linear-gradient(115deg,#1769ff,#258bff); box-shadow: 0 8px 25px rgba(23,104,255,.23); color: white!important; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(23,104,255,.34); }
.menu-button { width: 44px; height: 42px; padding: 10px; border-color: var(--line-bright); border-radius: 5px; }
.menu-button > span:not(.sr-only) { display: block; width: 21px; height: 2px; margin: 4px auto; background: #dfeaff; }
.home-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr); min-height: calc(100vh - 82px); max-width: 1380px; margin: auto; padding: clamp(72px,8vw,118px) 5% 90px; align-items: center; gap: clamp(40px,6vw,90px); }
.home-hero::before { content: ""; position: absolute; z-index: -1; top: 12%; right: 2%; width: 48%; height: 58%; background: radial-gradient(circle,rgba(26,111,255,.14),transparent 64%); filter: blur(35px); }
.home-hero-copy { position: relative; z-index: 2; max-width: 720px; }
.hero-badge { display: inline-flex; margin: 0 0 25px; padding: 7px 11px; align-items: center; gap: 9px; border: 1px solid #21446e; border-radius: 4px; background: rgba(21,67,119,.16); color: #a8bfda; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.hero-badge span { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px rgba(101,220,255,.7); }
.home-hero h1 { max-width: 800px; margin-bottom: 25px; font-size: clamp(3.15rem,6.1vw,6.35rem); font-weight: 820; letter-spacing: -.065em; line-height: .96; }
.home-hero h1 span { background: var(--blue-gradient); background-clip: text; -webkit-background-clip: text; color: transparent; }
.hero-intro { max-width: 650px; margin-bottom: 34px; color: #a5b7cc; font-size: clamp(1.06rem,1.4vw,1.22rem); line-height: 1.75; }
.hero-actions { display: flex; margin-bottom: 33px; gap: 12px; flex-wrap: wrap; }
.home-page .button { min-height: 50px; padding: 12px 23px; border-radius: 5px; }
.home-page .primary-button { background: linear-gradient(115deg,#1769ff,#258bff); box-shadow: 0 10px 30px rgba(23,104,255,.2); color: white; }
.home-page .primary-button:hover { box-shadow: 0 14px 35px rgba(23,104,255,.34); }
.home-page .secondary-button { border-color: #2b415d; background: rgba(11,23,39,.45); }
.benefit-list { display: flex; margin: 0; padding: 0; gap: 14px 22px; flex-wrap: wrap; list-style: none; }
.benefit-list li { display: flex; align-items: center; gap: 7px; color: #90a4bd; font-size: .83rem; }
.benefit-list span { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid #265487; border-radius: 50%; color: var(--cyan); font-size: .67rem; }
.hero-visual { position: relative; z-index: 1; width: 100%; max-width: 660px; margin: auto; padding: 8% 2% 17%; perspective: 1200px; }
.visual-glow { position: absolute; z-index: -2; inset: 8% 0 5%; background: radial-gradient(ellipse,rgba(28,111,255,.25),transparent 65%); filter: blur(28px); }
.laptop-screen { position: relative; z-index: 2; overflow: hidden; aspect-ratio: 16/10; padding: 8px; border: 1px solid #29476c; border-radius: 13px 13px 4px 4px; background: linear-gradient(145deg,#17253a,#03070d 60%); box-shadow: 0 35px 70px rgba(0,0,0,.55),0 0 45px rgba(32,122,255,.1); transform: rotateY(-7deg) rotateX(2deg); }
.browser-bar { display: flex; height: 9%; padding: 0 3%; align-items: center; gap: 5px; border-radius: 5px 5px 0 0; background: #0e1724; color: #536b87; font-size: .45rem; }
.browser-bar i { width: 5px; height: 5px; border-radius: 50%; background: #31506e; }.browser-bar i:first-child { background: #2f8cff; }.browser-bar span { margin-left: 7%; padding: 2px 12%; border-radius: 2px; background: #09111c; }
.concept-site { position: relative; height: 91%; overflow: hidden; background: radial-gradient(circle at 75% 25%,#163d75 0,transparent 27%),linear-gradient(145deg,#07101d 35%,#0b1930); }
.concept-site::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(75,132,205,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(75,132,205,.05) 1px,transparent 1px); background-size: 25px 25px; }
.concept-nav { position: relative; display: flex; height: 16%; padding: 0 5%; align-items: center; gap: 4%; border-bottom: 1px solid rgba(91,137,191,.14); color: white; font-size: .39rem; }.concept-nav img { width: 5%; }.concept-nav b { margin-right: auto; letter-spacing: .12em; }.concept-nav span { width: 8%; height: 2px; background: #55708e; }.concept-nav em { padding: 5px 7px; border-radius: 2px; background: #1873ff; font-style: normal; }
.concept-body { position: relative; padding: 11% 7%; color: white; }.concept-body small { display: block; margin-bottom: 4%; color: #55c9ff; font-size: .48rem; letter-spacing: .14em; }.concept-body strong { font-size: clamp(1rem,2.6vw,2rem); line-height: 1.05; }.concept-body p { width: 55%; margin: 4% 0; color: #7891ac; font-size: clamp(.35rem,.7vw,.58rem); }.concept-button { display: inline-block; padding: 6px 9px; border-radius: 2px; background: #f8fbff; color: #07101d; font-size: .42rem; font-weight: 800; }
.concept-metric { position: absolute; right: 5%; bottom: 8%; width: 27%; padding: 4%; border: 1px solid rgba(65,135,222,.35); background: rgba(8,20,36,.8); box-shadow: 0 15px 28px rgba(0,0,0,.3); }.concept-metric span { display: block; color: #6f87a3; font-size: .42rem; }.concept-metric b { display: block; color: #6fdcff; font-size: 1.2rem; }.concept-metric i { display: block; width: 80%; height: 2px; background: linear-gradient(90deg,#2d8dff 82%,#23364c 82%); }
.laptop-base { position: relative; z-index: 1; width: 108%; height: 24px; margin-left: -4%; background: linear-gradient(#25364c,#0d1520 55%,#05080d); clip-path: polygon(3% 0,97% 0,100% 55%,91% 100%,9% 100%,0 55%); transform: rotateY(-7deg); }.laptop-base span { display: block; width: 15%; height: 5px; margin: auto; border-radius: 0 0 5px 5px; background: #41526a; }
.visual-platform { position: absolute; z-index: 0; right: -7%; bottom: 5%; left: -5%; height: 14%; background: linear-gradient(90deg,transparent,#0b1d36 15%,#122845 50%,#09182d 85%,transparent); clip-path: polygon(8% 0,92% 0,100% 60%,86% 100%,14% 100%,0 60%); filter: drop-shadow(0 30px 30px #000); }
.services-showcase { position: relative; padding: clamp(80px,9vw,125px) 5%; border-top: 1px solid rgba(54,96,146,.22); background: linear-gradient(180deg,rgba(4,12,23,.8),#07101c); }
.services-showcase::before { content: ""; position: absolute; top: 0; left: 50%; width: 45%; height: 1px; background: linear-gradient(90deg,transparent,#288cff,transparent); transform: translateX(-50%); }
.services-heading { max-width: 770px; margin-bottom: 48px; }.services-heading h2 { font-size: clamp(2rem,4vw,3.65rem); letter-spacing: -.045em; }.services-heading > p:last-child { max-width: 650px; margin: 18px auto 0; }
.service-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); max-width: var(--max); margin: auto; gap: 16px; }
.service-card { display: flex; min-height: 330px; padding: 29px 25px 25px; flex-direction: column; border: 1px solid #192b42; border-radius: 7px; background: linear-gradient(145deg,rgba(15,27,44,.88),rgba(7,16,29,.9)); box-shadow: 0 18px 45px rgba(0,0,0,.12); }
.service-card:hover { border-color: #315e91; background: linear-gradient(145deg,rgba(17,34,57,.95),rgba(8,19,35,.95)); box-shadow: 0 22px 55px rgba(0,40,98,.22); transform: translateY(-5px); }
.service-icon { display: grid; width: 48px; height: 48px; margin-bottom: 35px; place-items: center; border: 1px solid #245489; border-radius: 5px; background: linear-gradient(145deg,rgba(35,129,255,.15),rgba(39,190,255,.04)); color: #55caff; }.service-icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.service-card h3 { font-size: 1.28rem; }.service-card p { font-size: .97rem; line-height: 1.7; }.service-card > a { margin-top: auto; color: #72cfff; font-size: .88rem; font-weight: 750; text-decoration: none; }.service-card > a:hover { color: white; }
.home-page .alt-section { scroll-margin-top: 82px; }.process-card { border-radius: 7px; }.home-page .cta { border-radius: 9px; }
.site-footer { border-color: #17283d; background: #040a12; }.site-footer .logo { margin-bottom: 18px; }.site-footer > div:first-child > p { max-width: 430px; }.site-footer a:hover,.link-button:hover { color: white; }
@media (max-width:1080px) { .home-hero { grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: 35px; }.home-hero h1 { font-size: clamp(3rem,6vw,5rem); }.service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.service-card { min-height: 280px; } }
@media (max-width:800px) { .site-nav { min-height: 72px; padding: 10px 5%; }.nav-links { top: 72px; right: 3%; left: 3%; gap: 5px; padding: 16px; border-color: #28425f; border-radius: 6px; background: rgba(7,16,29,.98); box-shadow: var(--shadow); }.nav-links a { padding: 10px 12px; }.nav-links > a:not(.nav-cta)::after { display: none; }.nav-cta { margin-top: 7px; text-align: center; }.home-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 75px; text-align: center; }.home-hero-copy { margin: auto; }.hero-badge,.benefit-list,.hero-actions { justify-content: center; }.hero-intro { margin-right: auto; margin-left: auto; }.hero-visual { max-width: 610px; padding-bottom: 14%; }.service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .brand-mark { width: 34px; height: 34px; }.brand-copy strong { font-size: .92rem; }.brand-copy small { font-size: .5rem; }.home-hero { padding: 58px 5% 70px; }.home-hero h1 { font-size: clamp(2.75rem,14vw,4.4rem); }.hero-intro { font-size: 1rem; }.hero-actions .button { width: 100%; }.benefit-list { display: grid; grid-template-columns: 1fr 1fr; text-align: left; }.hero-visual { width: 100%; margin-left: 0; }.visual-platform { right: 0; left: 0; }.service-card-grid { grid-template-columns: 1fr; }.service-card { min-height: 260px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }.service-card:hover,.nav-cta:hover,.button:hover { transform: none; } }

/* Purple reference direction */
:root { --bg:#05050d; --surface:#0c0c18; --surface-2:#080a14; --surface-3:#10101d; --line:#202031; --line-bright:#4b2878; --muted:#aaa9b8; --accent:#9b42ff; --accent-strong:#7928e8; --cyan:#b06aff; --blue-gradient:linear-gradient(105deg,#a84dff 0%,#8338ec 48%,#6622d8 100%); --shadow:0 24px 70px rgba(74,22,136,.3); }
body::before { background:radial-gradient(circle at 73% 18%,rgba(115,47,210,.08),transparent 26%),linear-gradient(rgba(255,255,255,.009) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.009) 1px,transparent 1px); background-size:auto,48px 48px,48px 48px; }
:focus-visible { outline-color:#b46dff; }
.site-header { background:rgba(4,4,11,.92); border-color:#181724; }
.site-nav { width:100%; max-width:1352px; padding:12px 0; }
.brand-mark { width:42px; height:42px; filter:drop-shadow(0 0 14px rgba(145,59,255,.3)); }
.brand-mark img { width:100%; height:100%; max-width:100%; }
.brand-copy small { color:#aaa1bb; }
.nav-links a { color:#d7d5dc; }
.nav-cta { border-color:#8f3cff!important; background:linear-gradient(115deg,#5c21c9,#8a32e9); box-shadow:0 8px 25px rgba(112,38,221,.25); }
.nav-cta:hover { box-shadow:0 12px 32px rgba(126,43,235,.4); }
.home-page { background:#02020a; }
.home-hero { grid-template-columns:minmax(0,.46fr) minmax(0,.54fr); height:537px; min-height:0; max-width:1352px; padding:63px 0 0; gap:8px; overflow:visible; background:#02020a; }
.home-hero::before { right:0; width:55%; height:75%; background:radial-gradient(circle,rgba(121,54,215,.2),transparent 64%); }
.home-hero-copy { align-self:start; padding-top:1px; }
.hero-badge { margin-bottom:27px; padding:8px 13px; border-color:#1c1b29; border-radius:999px; background:#0c0c16; color:#e0dce6; font-size:.73rem; font-weight:500; letter-spacing:0; text-transform:none; }
.hero-badge span { background:#963cff; box-shadow:0 0 12px rgba(145,53,255,.65); }
.home-hero h1 { margin-bottom:19px; font-size:clamp(3.3rem,4vw,3.85rem); letter-spacing:-.05em; line-height:1.08; }
.hero-intro { max-width:520px; margin-bottom:27px; color:#c0bdc7; font-size:1.06rem; line-height:1.72; }
.hero-actions { margin-bottom:39px; }
.home-page .button { min-height:56px; padding:14px 25px; border-radius:6px; }
.home-page .primary-button { background:linear-gradient(115deg,#7626de,#9434ed); box-shadow:0 10px 30px rgba(107,35,210,.23); color:#fff!important; }
.home-page .primary-button:hover { box-shadow:0 14px 35px rgba(126,43,230,.38); }
.home-page .secondary-button { border-color:#777480; background:rgba(8,8,14,.72); }
.benefit-list { gap:17px 25px; }
.benefit-list li { color:#c3c0c9; font-size:.79rem; }
.benefit-list span { width:18px; height:22px; border:0; border-radius:0; color:#a13fff; font-size:1.2rem; }
.benefit-list svg { width:19px; height:19px; flex:0 0 19px; fill:none; stroke:#a442ff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 5px rgba(154,60,255,.22)); }
.hero-visual { position:absolute; right:-4%; bottom:0; width:64%; max-width:none; margin:0; padding:0; }
.hero-visual img { display:block; width:100%; height:auto; }
.services-showcase { padding:25px 5% 41px; border-color:#1b1927; background:linear-gradient(180deg,#080a14,#080913); }
.services-showcase::before { display:none; }
.services-heading { margin-bottom:16px; }
.services-heading .eyebrow { margin-bottom:8px; color:#a542ff; }
.services-heading h2 { font-size:1.75rem; letter-spacing:-.035em; }
.services-heading>p:last-child { max-width:500px; margin-top:11px; font-size:.88rem; line-height:1.65; }
.service-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1116px; gap:28px; }
.service-card { min-height:248px; padding:24px 19px 20px; border-color:#202031; border-radius:7px; background:linear-gradient(145deg,#10101d,#0b0b16); box-shadow:none; }
.service-card:hover { border-color:#6e359f; background:linear-gradient(145deg,#151225,#0d0b19); box-shadow:0 18px 45px rgba(60,17,110,.2); }
.service-icon { width:42px; height:42px; margin-bottom:13px; border:0; background:transparent; color:#a442ff; }
.service-icon svg { width:35px; stroke-width:1.7; }
.service-card h3 { margin-bottom:8px; font-size:1.08rem; }
.service-card p { font-size:.88rem; line-height:1.6; }
.service-card>a { color:#ae53ff; font-size:.85rem; }
@media(max-width:1080px) { .home-hero { padding-right:4%; padding-left:4%; }.service-card-grid { gap:18px; } }
@media(max-width:1400px) { .site-nav { width:auto; margin-right:4%; margin-left:4%; } .home-hero { margin-right:4%; margin-left:4%; } }
@media(max-width:800px) { .nav-links { border-color:#432463; background:rgba(8,6,15,.98); }.home-hero { grid-template-columns:1fr; height:auto; min-height:auto; padding-top:60px; overflow:hidden; }.home-hero-copy { padding-top:0; }.hero-visual { position:relative; right:auto; bottom:auto; width:108%; margin-left:-4%; }.service-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .home-hero h1 { font-size:clamp(2.65rem,13vw,3.65rem); }.hero-visual { width:106%; margin-left:-3%; }.service-card-grid { grid-template-columns:1fr; } }
@media(min-width:801px) { .home-hero { max-width:none; margin-right:0; margin-left:0; padding-right:max(5%,calc((100% - 1352px)/2)); padding-left:max(5%,calc((100% - 1352px)/2)); background:#02020a url("assets/hero-laptop-rock-wide.png?v=3") center bottom/cover no-repeat; }.home-hero .hero-visual { display:none; } }

/* Homepage refinement: progressive motion, interaction and section depth */
.reveal-ready .home-page .reveal { opacity:0; transform:translate3d(0,14px,0); }
.reveal-ready .home-page .reveal.is-visible { opacity:1; transform:translate3d(0,0,0); transition:opacity .48s ease-out var(--reveal-delay,0ms),transform .48s cubic-bezier(.2,.75,.3,1) var(--reveal-delay,0ms); }
.home-page .button,.home-page .nav-cta { position:relative; isolation:isolate; }
.home-page .button span,.home-page .nav-cta span,.service-card>a span { display:inline-block; transition:transform .2s ease; }
.home-page .button:active,.home-page .nav-cta:active { transform:translateY(1px); box-shadow:0 5px 16px rgba(91,28,172,.2); }
.home-page .button:focus-visible,.home-page .nav-cta:focus-visible,.service-card>a:focus-visible { outline:3px solid #c17aff; outline-offset:4px; }
.home-page #process { position:relative; border-top:1px solid rgba(142,63,220,.12); border-bottom:1px solid rgba(142,63,220,.1); background:radial-gradient(circle at 50% 0,rgba(116,39,190,.1),transparent 34%),#070711; }
.home-page #process + .section { position:relative; background:radial-gradient(circle at 18% 45%,rgba(102,39,168,.075),transparent 31%),#05050d; }
.home-page #process + .section::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.008) 1px,transparent 1px); background-size:48px 48px; pointer-events:none; }
.home-page .cta { position:relative; overflow:hidden; background:radial-gradient(circle at 50% 0,rgba(143,59,232,.14),transparent 55%),linear-gradient(145deg,#11101d,#0a0913); }
.home-page .cta::before { content:""; position:absolute; top:0; left:18%; width:64%; height:1px; background:linear-gradient(90deg,transparent,#9d48ed,transparent); }
.process-grid { position:relative; }
.process-grid::before { content:""; position:absolute; z-index:0; top:45px; right:9%; left:9%; height:1px; background:linear-gradient(90deg,transparent,rgba(157,72,237,.5) 13%,rgba(157,72,237,.5) 87%,transparent); }
.process-card { position:relative; z-index:1; transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease,background-color .24s ease; }
.process-card>span { position:relative; z-index:1; padding-right:8px; background:#0c0c18; }
.service-icon { transition:color .22s ease,filter .22s ease,transform .22s ease; }
.service-card>a { transition:color .2s ease; }
.home-page .services-showcase .service-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-hero::before { z-index:1; opacity:.62; animation:hero-glow 5.8s ease-in-out infinite; pointer-events:none; }
.home-hero-copy { z-index:2; }
@keyframes hero-glow { 0%,100% { opacity:.5; transform:scale(.97) translate3d(0,0,0); } 50% { opacity:.68; transform:scale(1.025) translate3d(-4px,2px,0); } }
@media(min-width:801px) { .home-hero { background-position:calc(50% + var(--hero-shift-x,0px)) calc(100% + var(--hero-shift-y,0px)); transition:background-position .42s ease-out; } }
@media(hover:hover) and (pointer:fine) {
  .home-page .button:hover,.home-page .nav-cta:hover { transform:translateY(-2px); }
  .home-page .primary-button:hover,.home-page .nav-cta:hover { box-shadow:0 14px 34px rgba(132,48,225,.36); }
  .home-page .secondary-button:hover { border-color:#a350eb; background:rgba(26,15,40,.88); box-shadow:0 10px 26px rgba(85,29,139,.18); }
  .home-page .button:hover span,.home-page .nav-cta:hover span,.service-card>a:hover span { transform:translateX(3px); }
  .service-card:hover,.process-card:hover { border-color:#7139a4; box-shadow:0 14px 32px rgba(65,20,108,.2); transform:translateY(-4px); }
  .service-card:hover .service-icon { color:#bd72ff; filter:drop-shadow(0 0 8px rgba(167,70,255,.35)); transform:translateY(-2px); }
  .process-card:hover>span { color:#c477ff; }
}
@media(max-width:1100px) and (min-width:801px) { .home-hero { height:560px; }.home-hero h1 { font-size:clamp(3rem,5.5vw,3.55rem); }.benefit-list { gap:13px 17px; }.benefit-list li { font-size:.74rem; } }
@media(max-width:1080px) { .home-page .services-showcase .service-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .process-grid::before { top:34px; right:auto; bottom:34px; left:42px; width:1px; height:auto; background:linear-gradient(180deg,transparent,rgba(157,72,237,.42) 8%,rgba(157,72,237,.42) 92%,transparent); }.process-card>span { background:#0c0c18; }.home-page #process + .section::before { opacity:.55; } }
@media(max-width:560px) { .home-page .services-showcase .service-card-grid { grid-template-columns:1fr; } }
@media(max-width:480px) { .home-page .section,.home-page #process { padding-top:64px; padding-bottom:64px; }.home-page .cta { margin-right:4%; margin-left:4%; }.process-grid::before { left:41px; } }
@media(prefers-reduced-motion:reduce) { .reveal-ready .home-page .reveal,.reveal-ready .home-page .reveal.is-visible { opacity:1; transform:none; transition:none; }.home-hero::before { animation:none; }.home-hero { background-position:center bottom!important; }.service-icon { transition:none; } }

/* About page: origin, principles and restrained interaction */
.about-page { background:#05050d; }
.about-hero { position:relative; overflow:hidden; padding:clamp(72px,8vw,108px) 6% clamp(62px,7vw,88px); background:radial-gradient(ellipse 62% 52% at 50% 0,rgba(151,62,246,.2),transparent 72%),radial-gradient(ellipse 38% 45% at 25% 18%,rgba(111,38,193,.1),transparent 75%),radial-gradient(ellipse 34% 42% at 76% 24%,rgba(119,54,202,.08),transparent 76%),#05050d; }
.about-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.008) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 82%); pointer-events:none; }
.about-hero>* { position:relative; z-index:1; }
.about-hero>.eyebrow { color:#ad55ff; }
.about-hero h1 { margin-bottom:30px; }
.about-story { max-width:760px; }
.about-story p { margin-bottom:18px; color:#b8b5c1; font-size:clamp(1.04rem,1.5vw,1.17rem); line-height:1.78; }
.about-story p:last-child { margin-bottom:0; }
.principles-section { padding-top:clamp(64px,7vw,86px); padding-bottom:clamp(68px,8vw,96px); border-top:1px solid rgba(151,67,226,.11); background:radial-gradient(circle at 50% 0,rgba(108,34,179,.075),transparent 30%),#080811; }
.principles-heading { margin-bottom:30px; }
.principles-heading .eyebrow { color:#ad55ff; }
.principles-copy { max-width:760px; margin:0 auto; }
.principles-copy p { margin-bottom:20px; color:#b8b5c1; font-size:clamp(1.04rem,1.5vw,1.17rem); line-height:1.78; text-align:center; }
.principles-copy p:last-child { margin-bottom:0; }
.about-cta { position:relative; overflow:hidden; max-width:var(--max); margin-top:72px; padding-top:72px; padding-bottom:72px; border-color:#2a2337; border-radius:14px; background:radial-gradient(ellipse 62% 85% at 50% 0,rgba(137,48,222,.13),transparent 68%),linear-gradient(145deg,#10101b,#090911); }
.about-cta::before { content:""; position:absolute; top:0; left:18%; width:64%; height:1px; background:linear-gradient(90deg,transparent,#9d48ed,transparent); }
.about-cta>* { position:relative; z-index:1; }
.about-cta p { margin-bottom:24px; }
.about-cta .primary-button { background:#fff; color:#0d0813; }
.reveal-ready .about-page .reveal { opacity:0; transform:translate3d(0,16px,0); }
.reveal-ready .about-page .reveal.is-visible { opacity:1; transform:translate3d(0,0,0); transition:opacity .58s ease-out var(--reveal-delay,0ms),transform .58s cubic-bezier(.2,.72,.3,1) var(--reveal-delay,0ms); }
@media(hover:hover) and (pointer:fine) {
  .about-cta .primary-button:hover { box-shadow:0 10px 30px rgba(157,72,237,.28); color:#6721a8; transform:translateY(-2px); }
}
@media(max-width:800px) {
  .about-hero { padding-top:68px; padding-bottom:64px; }
  .about-hero h1 { margin-bottom:25px; }
  .principles-section { padding-top:64px; padding-bottom:72px; }
  .about-cta { margin:56px 5% 72px; padding:60px 7%; }
}
@media(max-width:480px) {
  .about-hero { padding:58px 5% 54px; background:radial-gradient(ellipse 90% 40% at 50% 0,rgba(151,62,246,.16),transparent 78%),radial-gradient(ellipse 62% 38% at 18% 24%,rgba(104,35,177,.07),transparent 78%),#05050d; }
  .about-hero h1 { font-size:clamp(2.65rem,14vw,3.4rem); }
  .about-story p { font-size:1rem; line-height:1.72; }
  .principles-section { padding-right:5%; padding-left:5%; }
  .principles-heading { margin-bottom:24px; }
  .principles-copy p { font-size:1rem; line-height:1.72; }
  .about-cta { margin-right:5%; margin-left:5%; padding:52px 7%; }
  .about-cta .button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .reveal-ready .about-page .reveal,.reveal-ready .about-page .reveal.is-visible { opacity:1; transform:none; transition:none; }
  .about-cta .primary-button { transition:none; }
  .about-cta .primary-button:hover { transform:none; }
}

/* Contact page hero */
.contact-hero {
  background:
    radial-gradient(ellipse 62% 58% at 50% 0,rgba(151,62,246,.2),transparent 72%),
    radial-gradient(ellipse 34% 42% at 25% 18%,rgba(111,38,193,.09),transparent 76%),
    radial-gradient(ellipse 30% 40% at 76% 22%,rgba(119,54,202,.07),transparent 78%),
    #05050d;
}
.contact-hero>.eyebrow { color:#ad55ff; }

/* Get a Website page hero */
body:has(form input[value="website-enquiry"]) .page-hero {
  background:
    radial-gradient(ellipse 62% 58% at 50% 0,rgba(151,62,246,.2),transparent 72%),
    radial-gradient(ellipse 34% 42% at 25% 18%,rgba(111,38,193,.09),transparent 76%),
    radial-gradient(ellipse 30% 40% at 76% 22%,rgba(119,54,202,.07),transparent 78%),
    #05050d;
}
body:has(form input[value="website-enquiry"]) .page-hero>.eyebrow { color:#ad55ff; }
body:has(form input[value="website-enquiry"]) .narrow { padding-top:0; }
@media(max-width:480px) {
  .contact-hero {
    background:
      radial-gradient(ellipse 90% 48% at 50% 0,rgba(151,62,246,.16),transparent 78%),
      radial-gradient(ellipse 58% 38% at 18% 24%,rgba(104,35,177,.07),transparent 80%),
      #05050d;
  }
  body:has(form input[value="website-enquiry"]) .page-hero {
    background:
      radial-gradient(ellipse 90% 48% at 50% 0,rgba(151,62,246,.16),transparent 78%),
      radial-gradient(ellipse 58% 38% at 18% 24%,rgba(104,35,177,.07),transparent 80%),
      #05050d;
  }
  body:has(form input[value="website-enquiry"]) .narrow { padding-top:0; }
}
