:root{color-scheme:dark;--bg:#090c16;--panel:#111725;--panel2:#151d30;--text:#f5f7fd;--muted:#a4aec0;--aqua:#82e6d3;--yellow:#f2d58b;--border:rgba(255,255,255,.115);--radius:20px;--max:1160px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}p{margin:.35rem 0 1rem}h1,h2,h3{font-weight:720;letter-spacing:-.035em;line-height:1.15;margin:0 0 1rem}h1{font-size:clamp(2.55rem,6vw,5.2rem);max-width:960px}h2{font-size:clamp(1.65rem,3.2vw,2.75rem)}h3{font-size:1.2rem}ul{padding-left:1.2rem}.container{max-width:var(--max);padding:0 24px;margin:auto}.skip{position:absolute;top:-60px;left:12px;background:#fff;color:#111;padding:10px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(18px);background:rgba(9,12,22,.91);border-bottom:1px solid var(--border)}.head-inner{min-height:76px;display:flex;align-items:center;gap:20px;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em;font-size:1.13rem;white-space:nowrap}.mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(130,230,211,.7);background:linear-gradient(140deg,#193a45,#1a2038);border-radius:12px;color:var(--aqua);font-weight:800;font-size:.8rem}.brand small{font-weight:500;color:var(--muted);font-size:.69rem;display:block;line-height:1}.desktop-nav{display:flex;align-items:center;gap:25px;font-size:.9rem}.desktop-nav>a{color:#dee6f3}.desktop-nav>a:hover,.footer-nav a:hover,.inline-link:hover{color:var(--aqua)}.progress-track{height:2px;background:transparent;position:absolute;bottom:-2px;left:0;right:0}.progress{height:2px;background:linear-gradient(90deg,var(--aqua),var(--yellow));transform-origin:left;transform:scaleX(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:100px;padding:12px 20px;font-weight:750;font-size:.93rem;line-height:1.35;transition:transform .2s,background .2s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--aqua);color:#071e21}.btn-primary:hover{background:#b1f8e9}.btn-outline{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.25)}.btn-outline:hover{background:rgba(255,255,255,.1)}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;list-style:none;padding:10px 14px;border:1px solid var(--border);border-radius:14px;font-weight:700}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-panel{position:absolute;right:12px;left:12px;top:70px;background:#171d2d;border:1px solid var(--border);border-radius:15px;padding:12px;box-shadow:0 20px 70px #0009}.mobile-panel a{display:block;padding:10px;border-bottom:1px solid var(--border)}.mobile-panel a:last-child{border:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--aqua);font-size:.75rem;font-weight:800;margin-bottom:17px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 10%,rgba(48,86,116,.35),transparent 52%),radial-gradient(ellipse at 0% 80%,rgba(67,60,106,.2),transparent 55%);padding:95px 0 96px;min-height:560px}.hero-content{position:relative;z-index:2}.hero p.lead{font-size:clamp(1.06rem,1.6vw,1.29rem);max-width:680px;color:#c7d1df}.hero h1 span,.accent{color:var(--aqua)}.hero-visual{position:absolute;width:430px;height:430px;border:1px solid rgba(130,230,211,.15);border-radius:50%;right:-150px;top:10px;box-shadow:0 0 0 66px rgba(130,230,211,.024),0 0 0 130px rgba(130,230,211,.018),inset 20px 15px 110px rgba(130,230,211,.045);transform:rotate(-18deg)}.hero-visual:after{content:"";position:absolute;inset:45px;border-radius:50%;border:1px dashed rgba(242,213,139,.28)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 18px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:#b3bdcc}.hero-points span:before{content:"✦";color:var(--aqua);margin-right:7px}.section{padding:76px 0}.section-alt{background:#0f1421}.section-intro{max-width:735px;margin-bottom:35px}.section-intro>p{color:var(--muted);font-size:1.04rem}.grid{display:grid;gap:18px}.cards3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards2{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.info-card,.work-card{border:1px solid var(--border);background:linear-gradient(148deg,rgba(255,255,255,.055),rgba(255,255,255,.014));border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}.service-card{min-height:218px;display:flex;flex-direction:column}.service-card .glyph{font-size:1.45rem;color:var(--aqua);font-weight:850;letter-spacing:-.1em;margin-bottom:23px}.service-card h3{margin-bottom:8px}.service-card p,.info-card p,.work-card p{color:var(--muted);font-size:.94rem}.service-card .more{margin-top:auto;color:var(--aqua);font-size:.88rem;font-weight:750}.service-card:hover{border-color:rgba(130,230,211,.45);background:linear-gradient(135deg,rgba(130,230,211,.09),rgba(255,255,255,.023))}.muted{color:var(--muted)}.callout{border:1px solid rgba(130,230,211,.32);background:linear-gradient(115deg,rgba(130,230,211,.08),rgba(255,255,255,.02));border-radius:24px;padding:38px;display:flex;gap:20px;align-items:center;justify-content:space-between}.callout h2{max-width:650px}.callout p{color:var(--muted)}.crumbs{display:flex;flex-wrap:wrap;gap:8px;color:#acb6c7;font-size:.79rem;margin-bottom:27px}.crumbs a:hover{color:var(--aqua)}.pill{display:inline-block;border:1px solid var(--border);border-radius:999px;font-size:.76rem;padding:4px 11px;margin-bottom:16px;color:var(--yellow);background:rgba(242,213,139,.04)}.split{display:grid;grid-template-columns:1.35fr .65fr;gap:32px}.sidebox{border:1px solid var(--border);border-radius:22px;padding:27px;background:#151b2b;align-self:start;position:sticky;top:100px}.sidebox p{color:var(--muted);font-size:.94rem}.sidebox h3{font-size:1.35rem}.checklist{list-style:none;padding:0;margin:18px 0}.checklist li{border-bottom:1px solid var(--border);padding:10px 0 10px 26px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--aqua);font-weight:800}.numbered{counter-reset:step;list-style:none;padding:0}.numbered li{counter-increment:step;display:flex;align-items:start;gap:15px;margin-bottom:15px}.numbered li:before{content:counter(step,decimal-leading-zero);color:var(--aqua);font-weight:800;font-size:.9rem}.faq{display:grid;gap:9px}.faq details{border:1px solid var(--border);border-radius:13px;padding:15px 17px;background:#141a29}.faq summary{font-weight:700;cursor:pointer}.faq details p{padding:8px 0 0;color:var(--muted);margin-bottom:2px}.note{font-size:.86rem;color:var(--muted)}.meta-chip{border:1px solid var(--border);border-radius:12px;padding:8px 14px;font-size:.83rem;color:#bac7d7;display:inline-block;margin-right:7px;margin-bottom:7px}.site-footer{padding:55px 0 23px;border-top:1px solid var(--border);background:#080b14}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-nav{display:grid;gap:8px}.footer-nav a{color:#b6c0d0;font-size:.9rem}.foot-bottom{padding-top:25px;border-top:1px solid var(--border);margin-top:35px;color:#8c96aa;font-size:.78rem;display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.sticky-wa{display:none}.tagline{max-width:340px;color:var(--muted);font-size:.92rem}.browser-tip{color:var(--muted);font-size:.9rem}.site-map a{color:var(--aqua);text-decoration:underline;text-underline-offset:3px}.site-map li{margin:5px 0}.accent-line{width:65px;height:3px;background:linear-gradient(90deg,var(--aqua),var(--yellow));margin:0 0 22px}.empty-art{border:1px dashed rgba(255,255,255,.25);border-radius:16px;display:flex;align-items:center;justify-content:center;min-height:240px;color:#b6bfd1;text-align:center;padding:30px;background:radial-gradient(circle at center,rgba(130,230,211,.06),transparent 65%)}.smalllink{color:var(--aqua);text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.cards3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.sidebox{position:static}.hero-visual{opacity:.45;right:-240px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:600px){.container{padding:0 18px}.hero{padding:75px 0 70px;min-height:unset}.hero h1{font-size:clamp(2.55rem,10vw,3.6rem)}.section{padding:55px 0}.cards3,.cards2,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.callout{padding:26px;display:block}.callout .btn{margin-top:10px}.hero-visual{width:270px;height:270px;right:-190px}.service-card{min-height:175px}.sticky-wa{display:block;position:fixed;z-index:29;bottom:15px;left:15px;right:15px;text-align:center;box-shadow:0 10px 40px #0009}.site-footer{padding-bottom:110px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

/* v1.0.0 brand presentation: preserve the original v0.9 deep-navy background.
   Brighter but controlled neon cyan + violet highlights with readable body text. */
:root { --aqua:#69fff0; --violet:#c49bff; --bg:#090c16; --text:#f6f8ff; --muted:#b7c2d4; }
body { background:#090c16; }
.site-header { background:rgba(9,12,22,.95); }
.brand-logo-wrap { width:108px;height:52px;display:grid;place-items:center;position:relative;flex:0 0 auto; }
.brand-fallback { width:65px;height:46px;border:1px solid rgba(105,255,240,.65);border-radius:12px;display:grid;place-items:center;color:var(--aqua);font-size:1rem;font-weight:900;letter-spacing:-.04em;background:linear-gradient(125deg,rgba(32,83,91,.5),rgba(37,27,67,.7)); }
.brand-logo { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .15s; }
.brand-logo.is-ready {opacity:1;background:#090c16;}
.brand-wordmark {line-height:1.15;}
.brand-wordmark small {margin-top:3px;line-height:1.25;}
.eyebrow { color:var(--aqua); text-shadow:0 0 13px rgba(105,255,240,.25); }
.hero h1 span,.accent { color:var(--aqua); text-shadow:0 0 27px rgba(105,255,240,.2); }
.hero {background: radial-gradient(ellipse at 88% 4%,rgba(65,37,108,.37),transparent 57%),radial-gradient(ellipse at 0% 75%,rgba(8,81,96,.23),transparent 60%),#090c16;}
.hero-visual {border-color:rgba(105,255,240,.18);box-shadow:0 0 0 66px rgba(105,255,240,.025),0 0 0 130px rgba(196,155,255,.015),inset 20px 15px 110px rgba(105,255,240,.04);}
.hero-visual:after {border-color:rgba(196,155,255,.4);}
.service-card:hover {box-shadow:0 0 26px rgba(105,255,240,.07);}
.btn-primary {background:#69fff0;color:#061a22;box-shadow:0 0 18px rgba(105,255,240,.13);}
.btn-primary:hover {background:#b1fff6;box-shadow:0 0 27px rgba(105,255,240,.21);}
.progress {background:linear-gradient(90deg,#69fff0,#c49bff);}
@media(max-width:600px) { .brand-logo-wrap{width:70px;height:43px}.brand-wordmark{font-size:.98rem}.brand-wordmark small{font-size:.58rem}.head-inner{gap:9px;min-height:70px}.brand{gap:7px;} }
@media(prefers-reduced-motion:reduce) {.brand-logo,.btn{transition:none}}

/* v1.1: accessibility and new service sections; no font or JavaScript framework. */
a:focus-visible,summary:focus-visible{outline:3px solid #69fff0;outline-offset:4px;border-radius:4px}
::selection{background:#69fff0;color:#071822}
@media(min-width:901px) and (max-width:1150px){.desktop-nav{gap:12px;font-size:.82rem}.brand-wordmark{font-size:.98rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* v1.1 contrast repair: header navigation specificity must not override CTA foreground. */
.desktop-nav > a.btn-primary {color:#062027;}

/* v1.3: compact, keyboard-accessible quick actions now anchored bottom-right.
   Positioned outside the header so they do not affect SEO navigation or layout flow. */
.floating-actions{position:fixed;right:calc(clamp(12px,2vw,24px) + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;flex-direction:column;align-items:center;gap:11px}
.floating-action{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid transparent;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.34);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;touch-action:manipulation}
.floating-action svg{display:block;flex-shrink:0}
.floating-chat{background:#25d366;color:#fff;border-color:#7af8a6}
.floating-chat:hover{background:#52eb88;box-shadow:0 0 24px rgba(37,211,102,.35)}
.floating-top{background:#101b2e;color:var(--aqua);border-color:rgba(105,255,240,.7)}
.floating-top:hover{background:#193047;box-shadow:0 0 21px rgba(105,255,240,.2)}
.floating-action:hover{transform:translateY(-2px)}
.floating-top[hidden]{display:none!important}
.floating-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Web design sits inside Services in the mobile menu, not as a separate primary item. */
.mobile-service-group{border-bottom:1px solid var(--border)}
.mobile-panel .mobile-service-group>summary{border:0;border-radius:8px;padding:10px;font-weight:600;cursor:pointer}
.mobile-panel .mobile-service-group>summary::after{content:"⌄";float:right;color:var(--aqua)}
.mobile-panel .mobile-service-list{padding-left:16px;border-left:2px solid rgba(105,255,240,.32);margin:0 0 8px 12px}
.mobile-panel .mobile-service-list a{font-size:.93rem;padding:9px 8px}
.mobile-panel{max-height:calc(100dvh - 85px);overflow:auto}
@media(max-width:600px){.floating-action{width:48px;height:48px}.site-footer{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){.floating-action{transition:none}.floating-action:hover{transform:none}}
