:root{
  --bg:#070b12; --bg-2:#0c1220; --panel-a:#0a1e30; --panel-b:#0c2436; --surface:#111827; --raised:#182033;
  --blue:#5e9fe8; --blue-2:#2783de; --blue-light:#8fc1ff; --blue-rgb:94,159,232; --blue-soft: rgba(var(--blue-rgb),0.12);
  --coral:#FF6B4A; --coral-rgb:255,107,74; --coral-soft:#FFE4DA;
  --line: rgba(255,255,255,0.14); --muted: rgba(255,255,255,0.65);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}/* WEBSENSE MULTI-PAGE SYSTEM */
.ws-inner{background:#070b12;color:#fff;min-height:100vh;}.ws-site-header{height:88px;padding:0 clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(143,193,255,.13);position:relative;z-index:20;background:rgba(7,11,18,.88);backdrop-filter:blur(18px);}.ws-brand img{height:58px;width:auto;display:block}.ws-site-nav{display:flex;gap:30px}.ws-site-nav a, .ws-inner-footer a{color:#8a94a6;text-decoration:none;font:600 12px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.ws-site-nav a:hover, .ws-inner-footer a:hover{color:var(--blue-light)}.ws-header-cta{justify-self:end;background:var(--coral);color:#07101b;text-decoration:none;padding:13px 20px;border-radius:20px;font-weight:800;font-size:13px}.ws-page-hero{min-height:72vh;padding:clamp(80px,12vw,170px) clamp(20px,7vw,110px) 44px;position:relative;overflow:hidden;border-bottom:1px solid rgba(143,193,255,.13);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 35%,rgba(39,131,222,.17),transparent 32%),#070b12}.ws-page-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(143,193,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(143,193,255,.055) 1px,transparent 1px);background-size:clamp(70px,10vw,150px) clamp(70px,10vw,150px);mask-image:linear-gradient(to bottom,#000,transparent)}.ws-page-hero-copy{position:relative;max-width:1050px}.ws-page-hero h1{font-size:clamp(52px,8.6vw,138px);line-height:.9;letter-spacing:-.065em;max-width:1100px;margin:22px 0 32px}.ws-page-hero-copy>p:last-child{max-width:760px;color:#a7b2c3;font-size:clamp(17px,2vw,24px);line-height:1.55}.ws-page-status{position:relative;display:flex;gap:10px;flex-wrap:wrap}.ws-page-status span{border:1px solid rgba(143,193,255,.16);padding:10px 13px;border-radius:20px;color:#8fc1ff;font:600 10px/1 var(--font-mono);letter-spacing:.1em}.ws-page-section{padding:clamp(80px,10vw,150px) clamp(20px,7vw,110px);max-width:1600px;margin:0 auto}.ws-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:70px}.ws-section-heading h2{font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.04em}.ws-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(143,193,255,.14);border-left:1px solid rgba(143,193,255,.14)}.ws-service-card{padding:38px;border-right:1px solid rgba(143,193,255,.14);border-bottom:1px solid rgba(143,193,255,.14);min-height:390px;background:rgba(17,24,39,.34)}.ws-card-index{font:600 11px/1 var(--font-mono);color:#5e9fe8}.ws-service-card h2{font-size:27px;margin:65px 0 16px}.ws-service-card p, .ws-service-card li{color:#9ba6b7;line-height:1.65}.ws-service-card ul{margin-top:24px;padding:0;list-style:none}.ws-service-card li{border-top:1px solid rgba(143,193,255,.1);padding:9px 0;font-size:13px}.ws-work-archive{display:grid;grid-template-columns:repeat(2,1fr);gap:36px}.ws-project-entry a{display:block;text-decoration:none;color:#fff}.ws-project-entry img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;border:1px solid rgba(143,193,255,.16);filter:saturate(.75);transition:.35s}.ws-project-entry a:hover img{transform:translateY(-5px);filter:saturate(1)}.ws-project-entry div{display:grid;grid-template-columns:50px 1fr auto;align-items:baseline;padding:18px 4px}.ws-project-entry h2{font-size:22px}.ws-project-entry span, .ws-project-entry p{color:#8a94a6;font:500 11px/1 var(--font-mono);text-transform:uppercase}.ws-process-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(143,193,255,.15)}.ws-process-list li{display:grid;grid-template-columns:120px 1fr;padding:48px 0;border-bottom:1px solid rgba(143,193,255,.15)}.ws-process-list li>span{color:#5e9fe8;font:700 13px/1 var(--font-mono)}.ws-process-list h2{font-size:clamp(34px,5vw,70px);margin-bottom:10px}.ws-process-list p{color:#9ba6b7;font-size:18px;max-width:720px;line-height:1.6}.ws-editorial{display:grid;grid-template-columns:1fr 1.4fr;gap:10vw}.ws-editorial h2{font-size:clamp(36px,5vw,72px);line-height:1}.ws-editorial p{color:#a8b1c0;font-size:clamp(17px,1.8vw,22px);line-height:1.8;margin-bottom:28px}.ws-insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(143,193,255,.14)}.ws-insights-grid article, .ws-empty{background:#0c1220;padding:38px;min-height:300px}.ws-insights-grid h2{font-size:25px;margin:42px 0 16px}.ws-insights-grid h2 a{color:#fff;text-decoration:none}.ws-insights-grid p:last-child{color:#9ba6b7;line-height:1.6}.ws-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.ws-contact-layout h2{font-size:clamp(42px,6vw,86px);line-height:.95;margin:25px 0}.ws-contact-layout p{color:#9ba6b7;font-size:18px;line-height:1.7}.ws-contact-layout a{color:#8fc1ff}.ws-contact-form{display:grid;gap:22px}.ws-contact-form label{display:grid;gap:9px;color:#8a94a6;font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.ws-contact-form input, .ws-contact-form select, .ws-contact-form textarea{width:100%;background:#0c1220;border:1px solid rgba(143,193,255,.2);border-radius:20px;padding:15px 18px;color:#fff;font:16px var(--font)}.ws-honeypot{position:absolute;left:-9999px}.ws-inner-footer{padding:60px clamp(20px,7vw,110px) 36px;border-top:1px solid rgba(143,193,255,.14);display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end}.ws-inner-footer img{height:100px}.ws-inner-footer div:nth-child(2){display:flex;gap:22px}.ws-inner-footer>p{grid-column:1/-1;color:#687386;font-size:12px}.ws-case-hero h1{max-width:1250px}.ws-case-visual{padding:clamp(24px,5vw,72px);max-width:1700px;margin:0 auto}.ws-case-visual img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;border-radius:20px;border:1px solid rgba(143,193,255,.18);box-shadow:0 45px 120px rgba(0,0,0,.42)}.ws-case-grid{display:grid;grid-template-columns:minmax(240px,.65fr) 1.6fr;gap:10vw}.ws-case-grid aside{position:sticky;top:120px;align-self:start}.ws-case-grid dl{margin-top:35px}.ws-case-grid dl div{padding:18px 0;border-top:1px solid rgba(143,193,255,.14)}.ws-case-grid dt{color:#69778b;font:600 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.ws-case-grid dd{color:#dce7f6;line-height:1.55}.ws-case-story article{padding:0 0 90px;margin-bottom:90px;border-bottom:1px solid rgba(143,193,255,.14)}.ws-case-story h2{font-size:clamp(38px,5vw,76px);line-height:1;margin:25px 0}.ws-case-story article>p:last-child{color:#a7b2c3;font-size:clamp(17px,1.7vw,22px);line-height:1.8;max-width:850px}@media(max-width:900px){.ws-site-header{grid-template-columns:1fr auto}.ws-site-nav{display:none}.ws-service-grid, .ws-insights-grid{grid-template-columns:1fr 1fr}.ws-section-heading, .ws-editorial, .ws-contact-layout, .ws-case-grid{grid-template-columns:1fr}.ws-case-grid aside{position:static}.ws-work-archive{grid-template-columns:1fr}.ws-page-hero{min-height:64vh}.ws-inner-footer{grid-template-columns:1fr}}@media(max-width:600px){.ws-brand img{height:46px}.ws-header-cta{padding:11px 14px}.ws-service-grid, .ws-insights-grid{grid-template-columns:1fr}.ws-service-card{min-height:auto}.ws-project-entry div{grid-template-columns:36px 1fr}.ws-project-entry p{display:none}.ws-process-list li{grid-template-columns:55px 1fr}.ws-page-hero h1{font-size:48px}.ws-page-status span:last-child{display:none}}/* HOMEPAGE SCROLL ENGINE */
.scroll-system{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:180;display:grid;justify-items:center;gap:9px;color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.14em}.scroll-system-label{writing-mode:vertical-rl;transform:rotate(180deg)}.scroll-system-track{height:112px;width:1px;background:rgba(143,193,255,.16);position:relative;overflow:hidden}.scroll-system-track i{position:absolute;inset:0;background:linear-gradient(to bottom,var(--blue-light),var(--blue));transform:scaleY(0);transform-origin:top;will-change:transform}.scroll-system-value{color:var(--blue-light);min-width:18px;text-align:center}.hero::after{content:'';position:absolute;inset:0;background:#070b12;opacity:var(--hero-scroll-dim,0);pointer-events:none;z-index:1}.hero-content{will-change:transform}.hero-grid{will-change:transform}.hero-content, .float-card{z-index:3}.scroll-heading{clip-path:inset(0 0 0 0);transform:none;transition:clip-path .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.scroll-heading.scroll-pending{clip-path:inset(0 0 105% 0);transform:translateY(35px)}.scroll-heading.scroll-in{clip-path:inset(0 0 0 0);transform:translateY(0)}.scroll-card{opacity:1;transform:none;transition:opacity .65s ease var(--scroll-delay,0ms),transform .75s cubic-bezier(.22,1,.36,1) var(--scroll-delay,0ms)}.scroll-card.scroll-pending{opacity:0;transform:translateY(36px) scale(.985)}.scroll-card.scroll-in{opacity:1;transform:translateY(0) scale(1)}body>section{transition:background-color .7s ease,border-color .7s ease}body>section.section-active{border-color:rgba(var(--blue-rgb),.24)}/* Inner-page scroll choreography */
.ws-page-hero::after{content:'';position:absolute;inset:0;background:#070b12;opacity:var(--hero-scroll-dim,0);pointer-events:none;z-index:1}.ws-page-hero-copy, .ws-page-status{z-index:2}.ws-page-hero-copy, .ws-page-grid{will-change:transform}.ws-project-entry.scroll-card.scroll-pending{transform:translateY(45px) scale(.975)}.ws-project-entry.scroll-card.scroll-in{transform:translateY(0) scale(1)}.ws-process-list li.scroll-card.scroll-pending{transform:translateX(-32px);opacity:0}.ws-process-list li.scroll-card.scroll-in{transform:translateX(0);opacity:1}.ws-contact-form label.scroll-card.scroll-pending:nth-child(even){transform:translateX(24px)}.ws-contact-form label.scroll-card.scroll-in{transform:translateX(0)}@media(max-width:760px){.scroll-system{display:none}.hero-content, .hero-grid, .ws-page-hero-copy, .ws-page-grid{transform:none!important}.scroll-card.scroll-pending{transform:translateY(22px)}}@media(prefers-reduced-motion:reduce){.scroll-heading, .scroll-card{clip-path:none!important;opacity:1!important;transform:none!important;transition:none!important}.hero-content, .hero-grid{transform:none!important}.scroll-system{display:none}}*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}button{ font:inherit; color:inherit; -webkit-appearance:none; appearance:none; background:none; border:0; }html{scroll-behavior:smooth;}body{
  background:var(--bg);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 26px);
  color:#fff; font-family:var(--font);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}a{color:inherit; text-decoration:none;}.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}@media (max-width:720px){.wrap{padding:0 20px;}}/* NAV */
nav.ws-global-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px; backdrop-filter:blur(12px);
  background:rgba(7,11,18,0.55); border-bottom:1px solid var(--line);
}.logo{font-weight:700; font-size:18px; letter-spacing:-0.02em; display:flex; align-items:center; gap:10px;}.logo span{color:var(--blue);}.logo-mark{height:34px; width:auto; display:block;}.logo-block{display:flex; flex-direction:column; gap:3px;}.logo-word{white-space:nowrap;}.nav-slogan{font-family:var(--font-mono); font-size:10.5px; color:#fff; opacity:.85; letter-spacing:.02em; white-space:nowrap;}@media (max-width:860px){.nav-slogan{display:none;}}.logo-full{ height:60px; width:auto; display:block; }.footer-logo{ height:170px; width:auto; filter:drop-shadow(0 12px 30px rgba(var(--blue-rgb),0.25)); }@media (max-width:640px){.footer-logo{ height:120px; }}@media (max-width:600px){.logo-full{ height:40px; }}.nav-links{display:flex; gap:26px; font-size:14px; color:var(--muted);}.nav-links a{position:relative; padding:4px 0;}.nav-links a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--blue); transition:right .25s ease;}.nav-links a:hover{color:#fff;}.nav-links a:hover::after{right:0;}.nav-cta{
  background:var(--coral); color:#04101f; font-weight:600; font-size:14px;
  padding:10px 18px; border-radius:20px; white-space:nowrap; transition:transform .2s ease, box-shadow .2s ease;
}.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(var(--coral-rgb),0.4); }@media (max-width:720px){.nav-links{display:none;}}/* MOBILE NAV */
.nav-toggle{ display:none; flex-direction:column; justify-content:center; align-items:flex-end; gap:5px; width:34px; height:34px; background:transparent; border:none; cursor:pointer; padding:0; margin-left:14px; }.nav-toggle span{ display:block; width:100%; height:2px; background:#fff; border-radius:2px; transition:transform .25s ease, opacity .25s ease; }.nav-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }.nav-toggle.active span:nth-child(2){ opacity:0; }.nav-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }.login-btn{ position:relative; z-index:5; font-size:13.5px; color:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 14px; white-space:nowrap; background:transparent; cursor:pointer; font-family:var(--font); transition:border-color .2s ease, color .2s ease; margin-right:12px; }.login-btn:hover{ border-color:var(--blue); color:var(--blue-light); }.mobile-menu{ position:fixed; top:68px; left:0; right:0; z-index:99; background:linear-gradient(180deg, rgba(10,15,24,0.99), rgba(7,11,18,0.99)); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); max-height:0; overflow:hidden; opacity:0; transform:translateY(-10px); transition:max-height .35s ease, opacity .3s ease, transform .3s ease; display:flex; flex-direction:column; gap:3px; padding:0 10px; }.mobile-menu.open{ max-height:640px; opacity:1; transform:translateY(0); padding:10px; }.mobile-menu a, .mobile-menu button{ display:flex; align-items:center; width:100%; text-align:left; padding:15px 16px; font-size:15px; color:#fff; border:none; border-radius:12px; background:none; font-family:var(--font); cursor:pointer; transition:background .2s ease, color .2s ease, transform .2s ease; }.mobile-menu a:hover, .mobile-menu a:active{ background:rgba(var(--blue-rgb),0.12); color:var(--blue-light); transform:translateX(4px); }.mobile-menu .idx{ color:var(--blue); margin-right:10px; font-family:var(--font-mono); font-size:12px; }.mobile-menu .mm-cta{ margin-top:10px; justify-content:center; text-align:center; color:#04101f; background:var(--coral); font-weight:700; border-radius:14px; }.mobile-menu .mm-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(var(--coral-rgb),0.4); }@media (max-width:720px){.nav-toggle{ display:flex; }.nav-cta{ display:none; }}@media (min-width:721px){.mobile-menu{ display:none !important; }}@media (max-width:480px){.login-btn{ padding:7px 10px; font-size:12.5px; margin-right:8px; }}/* COOKIE BANNER */
.cookie-banner{ position:fixed; left:20px; right:20px; bottom:20px; z-index:200; max-width:640px; margin:0 auto; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:20px 22px; display:flex; flex-wrap:wrap; align-items:center; gap:16px; box-shadow:0 20px 50px rgba(0,0,0,0.5); transform:translateY(140%); opacity:0; transition:transform .4s ease, opacity .4s ease; }.cookie-banner.show{ transform:translateY(0); opacity:1; }.cookie-banner p{ flex:1 1 260px; font-size:13.5px; line-height:1.5; color:var(--muted); margin:0; }.cookie-actions{ display:flex; gap:10px; flex-shrink:0; }.cookie-btn{ font-family:var(--font-mono); font-size:12.5px; padding:9px 16px; border-radius:8px; cursor:pointer; border:1px solid var(--line); background:transparent; color:#fff; }.cookie-accept{ background:var(--blue); color:#04101f; border-color:var(--blue); font-weight:600; }.cookie-decline:hover{ border-color:var(--blue); }/* AUTH MODAL */
.modal-overlay{ position:fixed; inset:0; z-index:300; background:rgba(4,8,16,0.72); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:20px; }.modal-overlay.open{ display:flex; }.modal-box{ position:relative; width:100%; max-width:380px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:32px 28px; box-shadow:0 30px 80px rgba(0,0,0,0.55); }.modal-close{ position:absolute; top:14px; right:16px; background:none; border:none; color:var(--muted); font-size:22px; line-height:1; cursor:pointer; }.modal-close:hover{ color:#fff; }.modal-tabs{ display:flex; gap:8px; margin-bottom:22px; background:var(--bg-2); border-radius:10px; padding:4px; }.modal-tab{ flex:1; padding:9px 0; border:none; border-radius:8px; background:transparent; color:var(--muted); font-family:var(--font-mono); font-size:13px; cursor:pointer; transition:background .2s ease, color .2s ease; }.modal-tab.active{ background:var(--blue); color:#04101f; font-weight:700; }.google-btn{ width:100%; display:flex; align-items:center; justify-content:center; gap:10px; background:#fff; color:#1f1f1f; border:none; border-radius:10px; padding:12px 0; font-weight:600; font-size:14px; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }.google-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,0.3); }.modal-divider{ display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--muted); font-size:12px; font-family:var(--font-mono); }.modal-divider::before, .modal-divider::after{ content:''; flex:1; height:1px; background:var(--line); }#authForm label{ display:block; font-size:12.5px; color:var(--muted); margin-bottom:14px; }#authForm input{ width:100%; margin-top:6px; padding:11px 12px; border-radius:8px; border:1px solid var(--line); background:var(--bg-2); color:#fff; font-size:14px; font-family:var(--font); }#authForm input:focus{ outline:none; border-color:var(--blue); }.modal-note{ margin-top:16px; font-size:12.5px; color:var(--muted); text-align:center; }.link-btn{ background:none; border:none; color:var(--blue-light); cursor:pointer; font-size:12.5px; text-decoration:underline; padding:0; font-family:var(--font); }/* HERO */
.hero-pin{ position:relative; height:180vh; }.hero{
  position:sticky; top:0; height:100vh; display:flex; align-items:center;
  overflow:hidden; perspective:1200px;
}@media (max-width:768px){.hero-pin{ height:auto; }.hero{ position:relative; height:auto; min-height:0; padding:128px 0 56px; align-items:flex-start; }}.hero-bg{
  position:absolute; inset:0; background:url('../images/hero-background.jpg') center/cover no-repeat;
  opacity:0.5; transform:scale(1.1); will-change:transform;
}.hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,11,18,0.4) 0%, rgba(7,11,18,0.75) 60%, var(--bg) 100%);
}.hero-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(var(--blue-rgb),0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--blue-rgb),0.08) 1px, transparent 1px);
  background-size:48px 48px; mask-image:linear-gradient(180deg, transparent, black 40%, transparent);
}#heroFx{ position:absolute; inset:0; z-index:1; pointer-events:none; }.hero-content{ position:relative; z-index:2; width:100%; }.eyebrow{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--blue); margin-bottom:20px; display:inline-flex; align-items:center; gap:10px;
}.eyebrow::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--blue); box-shadow:0 0 12px var(--blue); animation:pulse 2s ease-in-out infinite;}@keyframes pulse{ 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.5; transform:scale(1.3);} }h1{
  font-size:clamp(30px, 4.4vw, 58px); line-height:1.02; letter-spacing:-0.03em; font-weight:700;
  max-width:920px;
}h1 em{ color:var(--blue); font-style:normal; }.hero-sub{
  max-width:560px; font-size:19px; color:var(--muted); margin-top:24px; line-height:1.55;
}.hero-actions{ display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }.btn-primary{
  background:var(--coral); color:#04101f; font-weight:600; padding:15px 28px; border-radius:20px; font-size:15px;
  min-height:44px; display:inline-flex; align-items:center; transition:transform .2s ease, box-shadow .2s ease;
}.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(var(--coral-rgb),0.4); }.btn-ghost{
  border:1px solid var(--line); padding:15px 28px; border-radius:20px; font-size:15px; color:#fff;
  min-height:44px; display:inline-flex; align-items:center; transition:border-color .2s ease, transform .2s ease;
}.btn-ghost:hover{ border-color:var(--blue); transform:translateY(-2px); }.float-card{
  position:absolute; background:rgba(17,24,39,0.75); border:1px solid var(--line); border-radius:14px;
  padding:16px 20px; backdrop-filter:blur(10px); font-size:13px; color:var(--muted);
  will-change:transform; box-shadow:0 20px 60px rgba(0,0,0,0.4);
}.fc1{ top:18%; right:6%; }.fc2{ bottom:16%; right:14%; }@media (max-width:860px){.float-card{display:none;}}/* PROOF BAR */
.proof{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:36px 0; background:var(--bg-2); }.proof-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }.proof-num{ font-size:28px; font-weight:700; color:var(--blue); }.proof-label{ font-size:13px; color:var(--muted); margin-top:6px; }@media (max-width:720px){.proof-grid{ grid-template-columns:repeat(2,1fr); gap:0; row-gap:28px; }.proof-grid > div{ position:relative; padding:4px 14px; }.proof-grid > div:nth-child(odd)::after{ content:''; position:absolute; top:0; right:0; bottom:0; width:1px; background:var(--line); }.proof-num{ font-size:23px; }.proof-label{ font-size:11.5px; line-height:1.35; padding:0 2px; }}.portfolio-story-card{position:sticky;top:92px;display:grid;grid-template-columns:1.25fr .75fr;min-height:500px;border:1px solid rgba(143,193,255,.2);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#0c1422,#09101b);box-shadow:0 26px 80px rgba(0,0,0,.42);transform-origin:center top;transition:border-color .35s,box-shadow .35s}.portfolio-story-card:nth-child(2){top:116px}.portfolio-story-card:nth-child(3){top:140px}.portfolio-story-card:focus-visible, .portfolio-story-card:hover{border-color:rgba(143,193,255,.55);box-shadow:0 30px 90px rgba(39,131,222,.16)}.portfolio-shot{position:relative;min-height:500px;background-size:cover;background-position:center}.portfolio-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(9,16,27,.9)),linear-gradient(0deg,rgba(7,11,18,.55),transparent 45%)}.portfolio-shot>span{position:absolute;z-index:1;left:24px;top:24px;padding:9px 12px;border:1px solid rgba(143,193,255,.28);border-radius:999px;background:rgba(7,11,18,.76);font:700 10px var(--font-mono);letter-spacing:.1em;color:#8fc1ff;text-transform:uppercase}.portfolio-copy{position:relative;z-index:2;padding:42px 38px;align-self:center}.portfolio-copy h3{font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:-.045em;margin:14px 0 18px}.portfolio-copy>p:not(.kicker){color:#a2adbc;line-height:1.65}.portfolio-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.portfolio-copy dt{font:700 9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#6480a3;margin-bottom:7px}.portfolio-copy dd{color:#dce7f6;font-size:12px;line-height:1.45}.portfolio-copy .btn-ghost{display:inline-flex;padding:12px 16px}.archive-label{margin-bottom:22px}.method-story{position:relative}.method-story::before{content:'';position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#5e9fe8,transparent);opacity:.35;pointer-events:none}.sense-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.sense-signals i{font:9px var(--font-mono);font-style:normal;color:#8fc1ff;border:1px solid rgba(143,193,255,.22);border-radius:999px;padding:7px 9px;background:rgba(94,159,232,.07)}.shape-wire{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:26px;padding:12px;border:1px solid rgba(143,193,255,.2);border-radius:8px}.shape-wire b{grid-column:1/-1;height:6px;background:#5e9fe8;border-radius:3px}.shape-wire span{grid-column:1/-1;height:13px;background:#24364d;border-radius:3px}.shape-wire span:nth-of-type(2){width:60%}.shape-wire i{height:34px;border:1px solid rgba(143,193,255,.18);border-radius:4px}.scale-chart{height:92px;margin-top:22px;border-left:1px solid rgba(143,193,255,.2);border-bottom:1px solid rgba(143,193,255,.2);display:flex;align-items:flex-end;gap:8px;padding:0 10px;position:relative}.scale-chart i{flex:1;background:linear-gradient(#8fc1ff,#2783de);height:var(--h);min-height:18px;border-radius:4px 4px 0 0;opacity:.72}.scale-chart i:nth-child(1){--h:24%}.scale-chart i:nth-child(2){--h:42%}.scale-chart i:nth-child(3){--h:66%}.scale-chart i:nth-child(4){--h:92%}.scale-chart span{position:absolute;bottom:-20px;font:8px var(--font-mono);color:#7890ad}.scale-chart span:nth-of-type(1){left:8px}.scale-chart span:nth-of-type(2){left:43%}.scale-chart span:nth-of-type(3){right:5px}.pipeline-section{position:relative;padding:110px 0;background:linear-gradient(180deg,rgba(10,30,48,.9),rgba(7,11,18,.96));overflow:hidden;border-block:1px solid rgba(143,193,255,.13)}.pipeline-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.pipeline-track::before{content:'';position:absolute;left:7%;right:7%;top:22px;height:1px;background:rgba(143,193,255,.18)}.pipeline-line{position:absolute;left:7%;top:20px;width:calc(86% * var(--pipeline-progress,0));height:3px;background:linear-gradient(90deg,#2783de,#8fc1ff);box-shadow:0 0 18px rgba(94,159,232,.7);transition:width .1s linear}.pipeline-node{position:relative;padding-top:55px}.pipeline-node i{position:absolute;top:12px;left:0;width:20px;height:20px;border:1px solid rgba(143,193,255,.32);border-radius:50%;background:#0b1624;transition:.35s}.pipeline-node.active i{background:#8fc1ff;border-color:#8fc1ff;box-shadow:0 0 0 7px rgba(94,159,232,.1),0 0 22px rgba(94,159,232,.55)}.pipeline-node strong{font-size:17px}.pipeline-node p{margin-top:9px;color:#8f9daf;font-size:12.5px;line-height:1.55}.pipeline-end{text-align:right;margin-top:52px;font-size:clamp(24px,3vw,40px);font-weight:750;letter-spacing:-.03em}.logo-convergence{position:relative;width:150px;height:90px;margin-bottom:16px}.logo-convergence img{position:absolute;width:64px;height:64px;object-fit:contain;left:43px;top:13px;filter:drop-shadow(0 0 18px rgba(143,193,255,.65));z-index:2}.logo-convergence span{position:absolute;left:50%;top:50%;width:180px;height:1px;background:linear-gradient(90deg,transparent,#8fc1ff);transform-origin:left center;opacity:.55}.logo-convergence span:nth-child(1){transform:rotate(0deg)}.logo-convergence span:nth-child(2){transform:rotate(90deg)}.logo-convergence span:nth-child(3){transform:rotate(180deg)}.logo-convergence span:nth-child(4){transform:rotate(270deg)}@media(max-width:860px){.portfolio-story-card{position:relative;top:auto!important;grid-template-columns:1fr;min-height:0}.portfolio-shot{min-height:280px}.portfolio-shot::after{background:linear-gradient(0deg,rgba(9,16,27,.85),transparent 60%)}.portfolio-copy{padding:28px}.portfolio-copy dl{grid-template-columns:1fr}.pipeline-track{grid-template-columns:1fr 1fr;gap:12px}.pipeline-track::before, .pipeline-line{display:none}.pipeline-node{padding:18px;border:1px solid rgba(143,193,255,.15);border-radius:14px}.pipeline-node i{position:static;display:block;margin-bottom:12px}.pipeline-end{text-align:left;margin-top:30px}.method-story::before{display:none}}@media(max-width:520px){.portfolio-shot{min-height:220px}.portfolio-copy{padding:24px 20px}.portfolio-copy h3{font-size:34px}.pipeline-section{padding:72px 0}.pipeline-track{grid-template-columns:1fr}.pipeline-node{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}.pipeline-node i{grid-row:1/3;margin:0}.pipeline-node p{margin:0}.logo-convergence{transform:scale(.84)}}@media(prefers-reduced-motion:reduce){.hero-word-compound::after{animation:none!important}.portfolio-story-card{position:relative;top:auto!important}.pipeline-line{width:86%!important}.pipeline-node i{background:#8fc1ff}.logo-convergence span{opacity:.25}}@media(prefers-reduced-motion:reduce){.method-story .panel{opacity:1}.contact-panel .logo-convergence span{width:80px}}.portfolio-story-card{transform:scale(1);filter:saturate(1);transition:border-color .35s,box-shadow .35s,transform .45s ease,filter .45s ease}.portfolio-story-card.active{border-color:rgba(143,193,255,.42);filter:saturate(1)}.ws-page-hidden *{animation-play-state:paused!important}@media(max-width:860px){.portfolio-story-card{transform:none!important;filter:none!important}}.method-story .panel{opacity:.58}.method-story .panel.method-active{opacity:1;border-color:rgba(143,193,255,.55);box-shadow:0 24px 55px rgba(39,131,222,.17)}.contact-panel .logo-convergence span{width:calc(55px + 130px * (1 - var(--contact-progress,0)));opacity:calc(.18 + .55 * var(--contact-progress,0));transition:width .12s linear,opacity .12s linear}/* SECTION HEADS */
.section{ padding:120px 0; position:relative; }.section#services, .section#why{background:radial-gradient(circle at 86% 18%,rgba(39,131,222,.11),transparent 30%),radial-gradient(circle at 8% 78%,rgba(255,107,74,.045),transparent 25%)}.hero-word-convert{color:var(--blue-light);text-shadow:0 0 22px rgba(94,159,232,.35);transition:text-shadow .35s ease}.hero-word-compound{color:#fff;transition:text-shadow .35s ease}.hero-word-compound::after{content:'';display:inline-block;width:.2em;height:.2em;margin-left:.12em;border-radius:50%;background:var(--blue);vertical-align:middle;box-shadow:0 0 16px var(--blue);animation:wsPulse 2.2s ease-in-out infinite}@keyframes wsPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.hero{--hero-progress:0}.hero-word-convert{text-shadow:0 0 calc(18px + 24px * var(--hero-progress)) rgba(94,159,232,.55)}.hero-word-compound{-webkit-text-stroke:calc(1px * var(--hero-progress)) rgba(143,193,255,.65);text-shadow:calc(3px * var(--hero-progress)) calc(3px * var(--hero-progress)) 0 rgba(94,159,232,.18)}.section-head{ max-width:640px; margin-bottom:56px; }.kicker{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); margin-bottom:14px; }h2{ font-size:clamp(28px,4vw,44px); letter-spacing:-0.02em; line-height:1.1; }.section-sub{ color:var(--muted); margin-top:16px; font-size:16px; line-height:1.6; }/* PANEL BACKGROUNDS */
.panel-a{ background:radial-gradient(circle at 15% 20%, #123a5c 0%, transparent 55%), radial-gradient(circle at 85% 80%, #0f2f52 0%, transparent 50%), var(--panel-a); }.panel-b{ background:radial-gradient(circle at 80% 15%, #164a78 0%, transparent 55%), radial-gradient(circle at 15% 85%, #10314f 0%, transparent 50%), var(--panel-b); }/* BLOB */
.blob-wrap{ display:flex; align-items:center; justify-content:center; perspective:800px; }.blob{
  width:280px; height:280px; position:relative;
  background:radial-gradient(circle at 32% 28%, var(--blue-light), var(--blue) 42%, var(--blue-2) 72%, #123a66 100%);
  border-radius:42% 58% 65% 35% / 45% 40% 60% 55%;
  box-shadow:0 50px 110px rgba(39,131,222,0.4), inset -20px -20px 60px rgba(0,0,0,0.25);
  animation:blobMorph 9s ease-in-out infinite, blobFloat 7s ease-in-out infinite;
}.blob::after{
  content:''; position:absolute; top:14%; left:18%; width:36%; height:26%; border-radius:50%;
  background:rgba(255,255,255,0.35); filter:blur(10px);
}.blob.alt{
  background:radial-gradient(circle at 68% 30%, var(--blue-light), var(--blue-2) 45%, #123a66 80%);
  animation-duration:11s, 8.5s;
}@keyframes blobMorph{
  0%,100%{ border-radius:42% 58% 65% 35% / 45% 40% 60% 55%; }
  25%{ border-radius:58% 42% 35% 65% / 55% 65% 35% 45%; }
  50%{ border-radius:65% 35% 45% 55% / 40% 55% 45% 60%; }
  75%{ border-radius:35% 65% 55% 45% / 60% 45% 55% 40%; }
}@keyframes blobFloat{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-22px) rotate(6deg); }
}@media (max-width:860px){.blob{ width:200px; height:200px; }}/* ABOUT */
.about-layout{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:center; }.about-layout h2{ margin-bottom:6px; }@media (max-width:860px){.about-layout{ grid-template-columns:1fr; text-align:center; }}/* SERVICES */
.service-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.service-card{
  background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}.service-card:hover{ transform:translateY(-6px); border-color:var(--blue); box-shadow:0 24px 50px rgba(0,0,0,0.35); }.service-thumb{ aspect-ratio:4/3; background-size:cover; background-position:center; }.service-body{ padding:22px; }.service-body h3{ color:var(--blue); font-size:17px; margin-bottom:8px; }.service-body p{ color:var(--muted); font-size:14px; line-height:1.55; }@media (max-width:860px){.service-grid{ grid-template-columns:1fr; }}/* WORK */
.work-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }@media (max-width:980px){.work-grid{ grid-template-columns:repeat(2,1fr); }}.work-card{
  position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--line);
  aspect-ratio:16/10; cursor:default; background:var(--surface);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}.work-card:hover, .work-card:focus-visible{ transform:translateY(-6px); border-color:var(--blue); box-shadow:0 24px 50px rgba(0,0,0,0.4); }.work-shot{ position:absolute; top:0; left:0; right:0; bottom:0; background-size:cover; background-position:center center; transition:transform .5s ease; }.work-card:hover .work-shot{ transform:scale(1.07); }.work-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, transparent 15%, rgba(4,8,15,0.55) 55%, rgba(4,8,15,0.97) 100%); z-index:2; pointer-events:none; }.work-inner{ position:absolute; left:0; right:0; bottom:0; z-index:4; padding:18px; width:100%; }.work-tag{ font-family:var(--font-mono); font-size:11px; color:var(--blue-light); text-transform:uppercase; letter-spacing:.08em; text-shadow:0 2px 8px rgba(0,0,0,0.7); }.work-title{ font-size:17px; font-weight:600; margin-top:6px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,0.7); }.work-more{ text-align:center; margin-top:36px; }.wheel-block{ display:flex; gap:56px; align-items:center; flex-wrap:wrap; margin-top:48px; }.wheel-wrap{ position:relative; width:380px; height:380px; margin:0 auto; flex-shrink:0; }.wheel{ position:relative; width:100%; height:100%; }.track{ position:absolute; inset:34px; border:1px solid var(--line); border-radius:50%; }.track.t2{ inset:70px; border-style:dashed; opacity:.55; }.wheel-center{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:148px; height:148px; border-radius:50%; background:radial-gradient(circle at 35% 28%, var(--blue-soft), var(--bg-2) 72%); border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; padding:12px; box-shadow:0 0 0 6px rgba(var(--blue-rgb),0.10), 0 20px 40px rgba(0,0,0,0.4); }.wc-mark{ width:42px; height:auto; object-fit:contain; margin-bottom:2px; }.wc-title{ font-family:var(--font-mono); font-weight:700; font-size:14px; color:#fff; line-height:1.15; }.wc-sub{ font-family:var(--font-mono); font-size:10px; color:var(--blue-light); letter-spacing:.05em; text-transform:uppercase; }.wheel-node{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--rad)) rotate(calc(-1 * var(--a))); width:64px; height:64px; border-radius:50%; border:1px solid var(--line); background:var(--bg-2); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s ease, background .2s ease; padding:0; }.wheel-node svg{ width:24px; height:24px; color:var(--muted); transition:color .2s ease; }.wheel-node .nlab{ position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%); white-space:nowrap; font-family:var(--font-mono); font-size:11px; color:var(--muted); pointer-events:none; transition:color .2s ease; }.wheel-node:hover, .wheel-node.active{ border-color:var(--blue); background:var(--blue-soft); }.wheel-node:hover svg, .wheel-node.active svg{ color:var(--blue-light); }.wheel-node:hover .nlab, .wheel-node.active .nlab{ color:var(--blue-light); }.wheel-panel{ flex:1; min-width:260px; }.wheel-count{ font-family:var(--font-mono); font-size:12px; color:var(--blue); letter-spacing:.1em; }.wheel-panel h3{ margin:8px 0 16px; font-size:26px; }.wheel-panel ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }.wheel-panel li{ padding-left:20px; position:relative; color:var(--muted); font-size:14.5px; line-height:1.5; }.wheel-panel li::before{ content:"→"; position:absolute; left:0; color:var(--blue); }.capability-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:-8px 0 56px;background:rgba(143,193,255,.16);border:1px solid rgba(143,193,255,.16)}.capability-strip>div{padding:24px 26px 26px;background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(11,17,28,.9));position:relative;overflow:hidden}.capability-strip>div::after{content:'';position:absolute;width:110px;height:110px;right:-50px;bottom:-55px;border-radius:50%;border:1px solid rgba(94,159,232,.22);box-shadow:0 0 0 16px rgba(94,159,232,.035),0 0 0 32px rgba(94,159,232,.02)}.capability-strip span{font:700 10px/1 var(--font-mono);letter-spacing:.12em;color:var(--blue)}.capability-strip strong{display:block;margin:18px 0 8px;font-size:19px}.capability-strip p{color:var(--muted);font-size:13.5px;line-height:1.55;max-width:290px}@media (max-width:720px){.wheel-block{ flex-direction:column; }.wheel-wrap{ width:300px; height:300px; }.track{ inset:22px; }.track.t2{ inset:50px; }.wheel-center{ width:116px; height:116px; }.wc-mark{ width:34px; }.wc-title{ font-size:12px; }.wheel-node{ width:52px; height:52px; }.wheel-node svg{ width:20px; height:20px; }}.tabs-block{ display:grid; grid-template-columns:280px 1fr; gap:32px; margin-top:48px; align-items:start; }.tabs-nav{ display:flex; flex-direction:column; gap:8px; }.tab-btn{ text-align:left; padding:16px 18px; border-radius:12px; border:1px solid var(--line); background:var(--bg-2); color:var(--muted); font-family:var(--font-mono); font-size:13px; letter-spacing:.02em; cursor:pointer; transition:border-color .2s ease, background .2s ease, color .2s ease; }.tab-btn:hover{ border-color:var(--blue); color:#fff; }.tab-btn.active{ border-color:var(--blue); background:var(--blue-soft); color:var(--blue-light); }.tab-panel{ background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:36px; min-height:320px; }.tab-kicker{ font-family:var(--font-mono); font-size:12px; color:var(--blue); letter-spacing:.1em; text-transform:uppercase; }.tab-panel h3{ margin:10px 0 14px; font-size:28px; }.tab-desc{ color:var(--muted); font-size:15px; line-height:1.6; margin-bottom:22px; }.tab-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px 20px; }.tab-list li{ padding-left:20px; position:relative; color:var(--muted); font-size:14.5px; line-height:1.5; }.tab-list li::before{ content:"\2713"; position:absolute; left:0; color:var(--blue); }@media (max-width:760px){.tabs-block{ grid-template-columns:1fr; }.tabs-nav{ flex-direction:row; flex-wrap:wrap; }.tab-btn{ flex:1 1 auto; text-align:center; }.tab-list{ grid-template-columns:1fr; }}#loadMoreBtn{ background:transparent; font-family:inherit; cursor:pointer; }#loadMoreCount{ color:var(--muted); font-size:12.5px; margin-left:4px; }@media (max-width:600px){.work-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }.work-tag{ font-size:9px; }.work-title{ font-size:12.5px; margin-top:4px; }.work-inner{ padding:10px; }}/* METHOD 3D SCENE */
.stack{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; perspective:1400px; }.panel{
  background:linear-gradient(160deg, var(--raised), var(--surface)); border:1px solid var(--line);
  border-radius:18px; padding:32px 28px; min-height:280px; display:flex; flex-direction:column; justify-content:space-between;
  transform-style:preserve-3d; will-change:transform; transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
  position:relative; overflow:hidden;
}.panel .idx{ font-family:var(--font-mono); color:var(--blue); font-size:13px; }.panel h3{ font-size:26px; margin-top:18px; letter-spacing:-0.02em; }.panel p{ color:var(--muted); margin-top:14px; font-size:14.5px; line-height:1.6; }.p1{ transform:rotateY(10deg) translateZ(12px); }.p2{ transform:translateZ(36px); }.p3{ transform:rotateY(-10deg) translateZ(12px); }.panel::after{ content:''; position:absolute; top:0; left:0; height:2px; width:0; background:linear-gradient(90deg, var(--blue), var(--blue-light)); transition:width .45s ease; }.panel .idx{ transition:color .3s ease; }.panel:hover{ border-color:var(--blue); box-shadow:0 24px 50px rgba(var(--blue-rgb),0.18); }.panel:hover::after{ width:100%; }.panel:hover .idx{ color:var(--blue-light); }.p1:hover{ transform:rotateY(3deg) translateZ(44px) translateY(-8px); }.p2:hover{ transform:translateZ(60px) translateY(-8px); }.p3:hover{ transform:rotateY(-3deg) translateZ(44px) translateY(-8px); }@media (max-width:860px){.p1, .p2, .p3, .p1:hover, .p2:hover, .p3:hover{ transform:none; }.panel{ transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease; }.panel:hover{ transform:translateY(-6px); }}@media (max-width:860px){.stack{ grid-template-columns:1fr; }.p1, .p2, .p3{ transform:none; }}/* FAQ */
.faq-list{ display:flex; flex-direction:column; gap:16px; max-width:800px; }.faq-item{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }.faq-q{
  width:100%; text-align:left; background:transparent; border:none; color:#fff; cursor:pointer;
  padding:20px 24px; font-size:16px; font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:44px; font-family:inherit;
}.faq-icon{ font-size:20px; color:var(--blue); transition:transform .3s ease; flex-shrink:0; }.faq-item.open .faq-icon{ transform:rotate(45deg); }.faq-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }.faq-a-inner{ overflow:hidden; }.faq-item.open .faq-a{ grid-template-rows:1fr; }.faq-a p{ padding:0 24px 22px; color:var(--muted); font-size:14.5px; line-height:1.6; }.faq-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:42px;align-items:start}.faq-signal{border:1px solid rgba(143,193,255,.18);border-radius:18px;padding:26px;background:linear-gradient(150deg,rgba(17,24,39,.9),rgba(9,20,34,.8));box-shadow:0 22px 60px rgba(0,0,0,.2)}.faq-signal h3{font-size:26px;line-height:1.08;margin:12px 0 24px;letter-spacing:-.03em}.faq-signal-step{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid rgba(143,193,255,.13);color:#dce7f6;font-size:14px}.faq-signal-step b{color:var(--blue);font:700 11px var(--font-mono)}.faq-signal .btn-ghost{display:inline-flex;margin-top:20px;font-size:13px;padding:10px 14px}/* REVIEWS */
.reviews-layout{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:40px; align-items:center; }.review-list{ display:flex; flex-direction:column; gap:16px; }.review-card{
  border:1px solid var(--line); border-radius:14px; padding:22px; background:rgba(17,24,39,0.5);
  transition:transform .25s ease, border-color .25s ease;
}.review-card:hover{ transform:translateY(-4px); border-color:var(--blue); }.review-card p{ font-size:14.5px; line-height:1.6; color:#fff; }.review-name{ color:var(--blue); font-size:13px; margin-top:12px; font-family:var(--font-mono); }@media (max-width:860px){.reviews-layout{ grid-template-columns:1fr; }}/* PROCESS */
.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.step{ border-top:2px solid var(--blue); padding-top:18px; }.step .idx{ font-family:var(--font-mono); color:var(--blue); font-size:13px; }.step h4{ font-size:18px; margin-top:10px; }.step p{ color:var(--muted); font-size:14px; margin-top:8px; line-height:1.5; }@media (max-width:860px){.process{grid-template-columns:1fr 1fr; gap:28px;}}/* PROCESS TIMELINE */
.process-timeline{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.process-timeline::before{ content:''; position:absolute; top:24px; left:12.5%; right:12.5%; border-top:2px dashed var(--line); z-index:0; }.p-step{ position:relative; z-index:1; text-align:center; }.p-circle{
  width:48px; height:48px; border-radius:50%; margin:0 auto 22px; position:relative; z-index:2;
  display:flex; align-items:center; justify-content:center; background:var(--bg);
  border:2px solid var(--blue); color:var(--blue); font-family:var(--font-mono); font-weight:700; font-size:15px;
  transition:transform .25s ease;
}.p-step:hover .p-circle{ transform:scale(1.08); border-color:var(--blue-light); color:var(--blue-light); box-shadow:0 0 0 6px var(--blue-soft), 0 0 22px rgba(var(--blue-rgb),0.55); }.p-step h4{ font-size:17px; }.p-step p{ color:var(--muted); font-size:13.5px; margin-top:8px; line-height:1.5; max-width:220px; margin-left:auto; margin-right:auto; }@media (max-width:860px){.process-timeline{grid-template-columns:1fr 1fr; gap:36px 20px;}.process-timeline::before{ display:none; }}@media (max-width:600px){.process-timeline{ grid-template-columns:1fr; gap:0; }.p-step{ display:flex; align-items:center; gap:18px; text-align:left; padding-bottom:34px; }.p-step:last-child{ padding-bottom:0; }.p-circle{ margin:0; flex:0 0 48px; }.p-step p{ margin:8px 0 0; max-width:none; margin-left:0; margin-right:0; }.p-step:not(:last-child)::after{
    content:''; position:absolute; left:23px; top:48px; height:34px; width:2px;
    background:repeating-linear-gradient(to bottom, var(--blue) 0 6px, transparent 6px 12px);
    opacity:0.65; z-index:0;
  }}/* WHY GRID */
.why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; }.why-cell{ background:var(--bg-2); padding:28px 24px; transition:background .25s ease; }.why-cell:hover{ background:rgba(var(--blue-rgb),0.08); }.why-num{ font-family:var(--font-mono); color:var(--blue); font-size:13px; display:block; margin-bottom:14px; }.why-cell p{ font-weight:600; font-size:15px; line-height:1.4; color:#fff; }@media (max-width:860px){.why-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:600px){.why-grid{grid-template-columns:1fr;gap:12px;background:transparent;border:0;border-radius:0;overflow:visible;}.why-cell{border:1px solid var(--line);border-radius:14px;padding:22px 18px;}}/* CONTACT */
.contact-panel{
  background:radial-gradient(circle at 18% 20%, rgba(var(--blue-rgb),0.20), transparent 55%), linear-gradient(160deg, #060a12, #0c1220 55%, #0a1e30 120%);
  background-size:220% 220%; animation:gradientShift 12s ease-in-out infinite;
  border-radius:0; padding:80px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}.contact-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; max-width:640px; margin:0 auto; }.contact-inner h2{ max-width:520px; }.btn-quote{
  position:relative; display:inline-flex; align-items:center; gap:12px;
  padding:18px 36px; border-radius:20px; font-weight:700; font-size:16px; letter-spacing:-0.01em;
  color:#04101f; background:var(--coral);
  box-shadow:0 14px 34px rgba(var(--coral-rgb),0.3);
  transition:transform .25s ease, box-shadow .25s ease;
  animation:quotePulse 2.6s ease-in-out infinite;
}.btn-quote svg{ width:19px; height:19px; transition:transform .25s ease; }.btn-quote:hover{ transform:translateY(-3px); box-shadow:0 22px 48px rgba(var(--coral-rgb),0.45); animation-play-state:paused; }.btn-quote:hover svg{ transform:translateX(5px); }.contact-panel{ position:relative; overflow:hidden; }.contact-panel::before{ content:''; position:absolute; inset:0; background:url("../images/contact-pattern.png") center center / min(560px, 78%) no-repeat; pointer-events:none; }.contact-panel .contact-inner{ position:relative; z-index:1; }@keyframes quotePulse{
  0%,100%{ box-shadow:0 14px 34px rgba(var(--coral-rgb),0.3); }
  50%{ box-shadow:0 14px 46px rgba(var(--coral-rgb),0.52); }
}@keyframes gradientShift{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }/* FOOTER */
footer{ padding:0; }.footer-grid{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:64px 0 40px; border-top:1px solid var(--line); position:relative; }.footer-grid::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:120px; height:1px; background:linear-gradient(90deg, transparent, var(--blue), transparent); }.footer-brand{ max-width:520px; display:flex; flex-direction:column; align-items:center; }.footer-brand .logo{ margin-bottom:8px; font-weight:700; }.footer-brand .logo span{ color:var(--blue); }.footer-brand p{ color:var(--muted); font-size:14px; line-height:1.6; margin:14px 0 0; max-width:360px; }.footer-contact{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; margin-top:26px; }.footer-contact a{ display:flex; align-items:center; gap:9px; color:#fff; font-size:14.5px; font-weight:500; padding:12px 22px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,0.04); transition:border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }.footer-contact a svg{ width:16px; height:16px; flex-shrink:0; color:var(--blue-light); }.footer-contact a:hover{ color:var(--blue-light); border-color:var(--blue); background:var(--blue-soft); transform:translateY(-2px); }.footer-col{ display:flex; flex-direction:column; gap:8px; }.footer-col .label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }.footer-col a{ color:#fff; font-size:14px; transition:color .2s ease; }.footer-col a:hover{ color:var(--blue); }.footer-bottom{ padding:20px 0 32px; border-top:1px solid var(--line); color:var(--muted); font-size:12.5px; text-align:center; }@media (max-width:640px){.footer-grid{ flex-direction:column; gap:20px; }}/* PARTICLE BACKGROUND */
#particleCanvas{ position:fixed; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; opacity:0.55; }/* NAV STATUS / TERMINAL IDENTITY */
.nav-center{ display:flex; align-items:center; gap:26px; }.nav-links a{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.02em; }.nav-links a .idx{ color:var(--blue); margin-right:2px; }.nav-status{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11.5px; color:var(--muted); border:1px solid var(--line); border-radius:20px; padding:6px 12px; white-space:nowrap; }.nav-status .dot{ width:7px; height:7px; border-radius:50%; background:#3ddc84; box-shadow:0 0 8px #3ddc84; animation:pulse 2s ease-in-out infinite; flex-shrink:0; }@media (max-width:960px){.nav-status{ display:none; }}/* TERMINAL PANEL */
.terminal-panel{
  position:relative; z-index:2; margin-top:36px; max-width:440px; background:rgba(10,16,28,0.72);
  border:1px solid var(--line); border-radius:12px; padding:18px 20px; font-family:var(--font-mono);
  font-size:12.5px; line-height:1.9; color:var(--muted); backdrop-filter:blur(10px);
}.terminal-panel .t-title{ color:var(--blue); letter-spacing:0.12em; font-size:11px; margin-bottom:8px; text-transform:uppercase; }.terminal-panel .t-line b{ color:#fff; font-weight:500; }.terminal-panel .cursor{ display:inline-block; width:7px; height:14px; background:var(--blue); margin-left:2px; vertical-align:middle; animation:blink 1s step-end infinite; }@keyframes blink{ 0%,49%{opacity:1;} 50%,100%{opacity:0;} }@media (max-width:720px){.terminal-panel{ max-width:100%; font-size:11.5px; }}/* PANEL C — distinct vibe for stacked sections that would otherwise repeat panel-a/panel-b's blue tone */
.panel-c{ background:radial-gradient(circle at 20% 25%, #3a2166 0%, transparent 55%), radial-gradient(circle at 85% 75%, #241a4a 0%, transparent 50%), #140f28; }.panel-c .kicker{ color:#b9a3ff; }.panel-c .review-card:hover{ border-color:#8f6bff; }.panel-c .review-name{ color:#b9a3ff; }.blob.violet{
  background:radial-gradient(circle at 32% 28%, #d9ccff, #9b7bff 42%, #6a46e0 72%, #241a4a 100%);
  box-shadow:0 50px 110px rgba(139,99,255,0.4), inset -20px -20px 60px rgba(0,0,0,0.25);
}/* Animated backdrop glow behind every blob container */
.blob-wrap{ position:relative; }.blob-wrap .blob{ position:relative; z-index:1; }.blob-wrap::before, .blob-wrap::after{
  content:''; position:absolute; border-radius:50%; filter:blur(50px); opacity:0.55; pointer-events:none; z-index:0;
  animation:orbitDrift 16s ease-in-out infinite alternate;
}.blob-wrap::before{ width:220px; height:220px; background:var(--blue); top:-6%; left:8%; }.blob-wrap::after{ width:180px; height:180px; background:var(--blue-2); bottom:-6%; right:10%; animation-duration:13s; animation-delay:-4s; }.panel-c .blob-wrap::before{ background:#9b7bff; }.panel-c .blob-wrap::after{ background:#6a46e0; }@keyframes orbitDrift{
  0%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(26px,-18px) scale(1.18); }
  100%{ transform:translate(-20px,14px) scale(0.92); }
}.panel-a, .panel-b, .panel-c{ background-size:180% 180%; animation:panelDrift 20s ease-in-out infinite; }@keyframes panelDrift{ 0%,100%{ background-position:0% 0%; } 50%{ background-position:100% 100%; } }@media (max-width:860px){.blob-wrap::before, .blob-wrap::after{ filter:blur(32px); }}/* LIGHTBOX (work screenshots) */
.lightbox{ position:fixed; inset:0; background:rgba(4,8,15,0.92); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; z-index:400; opacity:0; pointer-events:none; transition:opacity .25s ease; padding:40px; }.lightbox.open{ opacity:1; pointer-events:auto; }.lightbox figure{ max-width:900px; width:100%; }.lightbox img{ width:100%; border-radius:12px; border:1px solid var(--line); box-shadow:0 40px 100px rgba(0,0,0,0.6); }.lightbox figcaption{ text-align:center; margin-top:14px; color:var(--muted); font-family:var(--font-mono); font-size:13px; }.lightbox-close{ position:absolute; top:24px; right:28px; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:rgba(17,24,39,0.7); color:#fff; font-size:22px; cursor:pointer; }.lightbox-close:hover{ border-color:var(--blue); color:var(--blue); }@media (max-width:600px){.lightbox{ padding:20px; }.lightbox-close{ top:12px; right:12px; }}/* START A PROJECT MODAL */
.modal-overlay{ position:fixed; inset:0; background:rgba(4,8,15,0.75); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; z-index:500; opacity:0; pointer-events:none; transition:opacity .25s ease; padding:20px; }.modal-overlay.open{ opacity:1; pointer-events:auto; }.modal-box{ position:relative; width:100%; max-width:520px; max-height:88vh; overflow-y:auto; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:36px 32px; box-shadow:0 40px 120px rgba(0,0,0,0.6); transform:translateY(20px) scale(0.98); transition:transform .3s ease; }.modal-overlay.open .modal-box{ transform:translateY(0) scale(1); }.modal-close{ position:absolute; top:18px; right:18px; width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:transparent; color:#fff; font-size:20px; cursor:pointer; line-height:1; }.modal-close:hover{ border-color:var(--blue); color:var(--blue); }.modal-kicker{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); margin-bottom:10px; }.modal-box h3{ font-size:24px; letter-spacing:-0.02em; margin-bottom:8px; }.modal-sub{ color:var(--muted); font-size:13.5px; line-height:1.5; margin-bottom:24px; }.form-row{ margin-bottom:16px; display:flex; flex-direction:column; gap:6px; }.form-row-split{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }.form-row label{ font-size:12px; color:var(--muted); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.05em; }.form-row input, .form-row select, .form-row textarea{
  background:var(--bg-2); border:1px solid var(--line); border-radius:9px; padding:12px 14px; color:#fff; font-size:14.5px; font-family:inherit;
  min-height:44px; transition:border-color .2s ease, box-shadow .2s ease;
}.form-row textarea{ min-height:90px; resize:vertical; }.form-row input:focus, .form-row select:focus, .form-row textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }.form-note{ font-size:12px; color:var(--muted); margin-top:14px; text-align:center; }@media (max-width:520px){.form-row-split{ grid-template-columns:1fr; }.modal-box{ padding:28px 22px; }}/* CUSTOM CURSOR */
.cursor-dot, .cursor-ring{ position:fixed; top:0; left:0; border-radius:50%; pointer-events:none; z-index:600; transform:translate(-50%,-50%); }.cursor-dot{ width:8px; height:8px; background:#fff; box-shadow:0 0 10px rgba(255,255,255,0.9), 0 0 24px rgba(143,193,255,0.65); opacity:0; }.cursor-dot.active{ opacity:1; }.cursor-ring{ width:34px; height:34px; border:1px solid rgba(var(--blue-rgb),0.55); transition:width .2s ease, height .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:9px; letter-spacing:.05em; color:var(--blue-light); text-transform:uppercase; opacity:0; }.cursor-ring.active{ opacity:1; }.cursor-ring.hover{ width:60px; height:60px; background:rgba(var(--blue-rgb),0.14); border-color:var(--blue); }.cursor-ring.hover-work{ width:76px; height:76px; }body.custom-cursor, body.custom-cursor a, body.custom-cursor button, body.custom-cursor .work-card{ cursor:none; }@media (pointer:coarse), (hover:none){.cursor-dot, .cursor-ring{ display:none !important; }}/* SYSTEM THEME PANEL */
.sys-fab{ position:fixed; right:18px; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; background:rgba(17,24,39,0.85); border:1px solid var(--line); color:var(--blue-light); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:500; backdrop-filter:blur(8px); transition:border-color .2s ease, box-shadow .2s ease; }.sys-fab:hover{ border-color:var(--blue); box-shadow:0 8px 24px rgba(var(--blue-rgb),0.25); }.sys-fab svg{ width:20px; height:20px; animation:sysSpin 14s linear infinite; }@keyframes sysSpin{ to{ transform:rotate(360deg); } }.sys-panel{ position:fixed; right:76px; top:50%; transform:translateY(-50%) translateX(12px); width:280px; background:rgba(10,16,26,0.96); border:1px solid var(--line); border-radius:16px; padding:20px; z-index:501; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease; backdrop-filter:blur(14px); font-family:var(--font-mono); }.sys-panel.open{ opacity:1; pointer-events:auto; transform:translateY(-50%) translateX(0); }.sys-head{ display:flex; justify-content:space-between; align-items:baseline; }.sys-title{ color:#fff; font-size:15px; font-weight:700; letter-spacing:.04em; font-family:var(--font); }.sys-tag{ color:var(--muted); font-size:10px; letter-spacing:.14em; border:1px solid var(--line); border-radius:6px; padding:2px 8px; }.sys-sub{ color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; margin:4px 0 14px; }.sys-row{ border:1px solid var(--line); border-radius:12px; padding:12px 14px; }.sys-row-head{ display:flex; justify-content:space-between; color:var(--muted); font-size:10px; letter-spacing:.12em; margin-bottom:12px; }.sys-dots{ display:flex; gap:12px; }.sys-dot{ width:22px; height:22px; border-radius:50%; border:2px solid transparent; cursor:pointer; padding:0; transition:transform .2s ease, border-color .2s ease; }.sys-dot:hover{ transform:scale(1.18); }.sys-dot.active{ border-color:#fff; }.sys-dot[data-key="white"]{ box-shadow:inset 0 0 0 1px rgba(0,0,0,0.18); }.sys-note{ margin-top:14px; color:var(--muted); font-size:9.5px; letter-spacing:.12em; text-align:center; }.audio-fab{ position:fixed; right:96px; bottom:24px; width:46px; height:46px; border-radius:50%; background-color:rgba(17,24,39,0.85); background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.09) 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, rgba(255,255,255,0.09) 0 1px, transparent 1px 7px); border:1px solid var(--line); color:var(--blue-light); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:500; backdrop-filter:blur(8px); transition:border-color .2s ease, box-shadow .2s ease; }.audio-fab:hover{ border-color:var(--blue); }.audio-fab.playing{ border-color:var(--blue); box-shadow:0 0 18px rgba(var(--blue-rgb),0.35); }.audio-fab svg{ width:22px; height:22px; overflow:hidden; }.wave-bob{ animation:waveBob 4s ease-in-out infinite; transform-origin:12px 12px; }@keyframes waveBob{ 0%,100%{ transform:translateY(-1.6px); } 50%{ transform:translateY(1.6px); } }.audio-fab svg .wave-line{ opacity:.85; }.audio-fab.playing svg .wave-line{ opacity:1; }.sys-track{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 14px; border:1px solid transparent; border-radius:12px; cursor:pointer; transition:border-color .2s ease, background .2s ease; }.sys-track + .sys-track{ margin-top:6px; }.sys-track:hover{ border-color:var(--line); }.sys-track.active{ border-color:var(--blue); background:rgba(var(--blue-rgb),0.08); }.st-info{ display:flex; flex-direction:column; gap:4px; }.st-name{ color:#fff; font-size:14px; font-weight:600; font-family:var(--font); letter-spacing:.01em; }.st-genre{ color:var(--muted); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }.st-bars{ display:flex; gap:3px; align-items:center; }.st-bars i{ width:3px; height:12px; background:var(--muted); border-radius:1px; display:block; opacity:.55; }.sys-track.active .st-bars i{ background:var(--blue-light); animation:barGlow 2.4s ease-in-out infinite; }.sys-track.active .st-bars i:nth-child(2){ animation-delay:.3s; }.sys-track.active .st-bars i:nth-child(3){ animation-delay:.6s; }@keyframes barGlow{ 0%,100%{ opacity:.5; } 50%{ opacity:1; } }@media (max-width:600px){.sys-panel{ right:66px; width:238px; }.sys-fab{ right:12px; }}/* WHATSAPP FAB */
.whatsapp-fab{
  position:fixed; bottom:24px; right:24px; width:58px; height:58px; border-radius:50%; background:#25D366; color:#04140b;
  display:flex; align-items:center; justify-content:center; box-shadow:0 14px 34px rgba(37,211,102,0.45); z-index:450;
  transition:transform .25s ease, box-shadow .25s ease;
}.whatsapp-fab:hover{ transform:translateY(-4px) scale(1.06); box-shadow:0 18px 44px rgba(37,211,102,0.6); }.whatsapp-fab::before{ content:''; position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(37,211,102,0.4); animation:waPulse 2.4s ease-out infinite; }@keyframes waPulse{ 0%{ transform:scale(0.9); opacity:0.8; } 100%{ transform:scale(1.55); opacity:0; } }@media (max-width:600px){.whatsapp-fab{ width:52px; height:52px; bottom:18px; right:18px; }}/* Compact mobile controls: keep the system drawer inside the viewport and
   reserve a clean bottom-right dock for audio + WhatsApp. */
@media (max-width:600px){
  .section{padding:68px 0}
  .section-head{margin-bottom:32px}
  .faq-list{gap:12px}
  .faq-q{padding:20px 18px;font-size:17px;line-height:1.35}
  .sys-fab{top:auto;right:18px;bottom:88px;transform:none;width:48px;height:48px}
  .sys-panel{top:auto;right:14px;bottom:148px;width:min(300px,calc(100vw - 28px));max-height:calc(100dvh - 190px);overflow:auto;transform:translateY(10px);box-sizing:border-box;padding:16px}
  .sys-panel.open{transform:translateY(0)}
  .audio-fab{right:84px;bottom:18px;width:52px;height:52px}
  .audio-fab svg{width:24px;height:24px}
  .ws-inner .ws-page-section{padding-left:20px!important;padding-right:20px!important}
  .ws-inner .ws-page-section{padding-top:58px!important;padding-bottom:58px!important}
  .ws-inner .ws-section-faq{padding-top:52px!important;padding-bottom:52px!important}
  .ws-inner .ws-section-faq .ws-section-heading{margin-bottom:30px}
  .ws-inner .ws-page-hero{padding-left:20px!important;padding-right:20px!important;min-height:58vh}
  .ws-inner .ws-page-hero h1{font-size:clamp(42px,12vw,58px);line-height:.98}
  .ws-inner .ws-section-heading{gap:22px;margin-bottom:42px}
  .ws-inner .ws-section-heading h2{font-size:clamp(36px,10vw,52px)}
  .ws-inner .ws-rich-card,.ws-inner .ws-check-grid>div{padding:26px 22px}
}.proof-label{ font-family:var(--font-mono); }/* REVEAL ANIMATIONS — visible by default; JS only hides elements confirmed below the fold */
.reveal.pending{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }.reveal.pending.is-visible{ opacity:1; transform:translateY(0); }.reveal-stagger.pending > *{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }.reveal-stagger.pending.is-visible > *{ opacity:1; transform:translateY(0); }.reveal-stagger.pending.is-visible > *:nth-child(1){ transition-delay:.05s; }.reveal-stagger.pending.is-visible > *:nth-child(2){ transition-delay:.15s; }.reveal-stagger.pending.is-visible > *:nth-child(3){ transition-delay:.25s; }.reveal-stagger.pending.is-visible > *:nth-child(4){ transition-delay:.35s; }:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }@media (prefers-reduced-motion: reduce){html{ scroll-behavior:auto; }.hero-bg, .float-card, .panel, .blob, .contact-panel, .cursor, .nav-status .dot, .blob-wrap::before, .blob-wrap::after, .panel-a, .panel-b, .panel-c, .whatsapp-fab::before{ animation:none !important; transition:none !important; }#particleCanvas{ opacity:0.25; }.reveal.pending, .reveal-stagger.pending > *{ opacity:1 !important; transform:none !important; }.cursor-dot, .cursor-ring{ display:none !important; }}/* RICH MULTIPAGE CONTENT */
.ws-band{border-top:1px solid rgba(143,193,255,.14);border-bottom:1px solid rgba(143,193,255,.14);background:linear-gradient(135deg,rgba(39,131,222,.075),rgba(255,107,74,.025))}.ws-band>div:first-child{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:65px}.ws-band>div:first-child h2{font-size:clamp(38px,5.4vw,78px);line-height:.98;letter-spacing:-.045em}.ws-rich-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(143,193,255,.14);border:1px solid rgba(143,193,255,.14)}.ws-rich-grid-four{grid-template-columns:repeat(4,1fr)}.ws-rich-card{background:#0b111c;padding:clamp(28px,3.2vw,48px);min-height:280px}.ws-rich-card>span{font:700 11px/1 var(--font-mono);color:#5e9fe8}.ws-rich-card h3{font-size:clamp(24px,2.4vw,36px);line-height:1.08;margin:55px 0 18px}.ws-rich-card p{color:#9ba6b7;line-height:1.75}.ws-platform-table{border-top:1px solid rgba(143,193,255,.18)}.ws-platform-table>div{display:grid;grid-template-columns:minmax(220px,.65fr) 1.5fr;gap:50px;padding:34px 0;border-bottom:1px solid rgba(143,193,255,.14)}.ws-platform-table strong{font-size:clamp(22px,2.3vw,34px)}.ws-platform-table p{color:#9ba6b7;font-size:17px;line-height:1.7;max-width:760px}.ws-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(143,193,255,.14)}.ws-proof-item{background:#0b111c;padding:35px 28px;display:grid;gap:10px}.ws-proof-item strong{color:#8fc1ff;font-size:clamp(36px,4.4vw,65px);line-height:1}.ws-proof-item span{color:#8a94a6;font:600 10px/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.ws-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(143,193,255,.14);border-left:1px solid rgba(143,193,255,.14)}.ws-check-grid>div{padding:32px;border-right:1px solid rgba(143,193,255,.14);border-bottom:1px solid rgba(143,193,255,.14)}.ws-check-grid strong{display:block;font-size:21px;margin-bottom:10px}.ws-check-grid p{color:#9ba6b7;line-height:1.7}.ws-split{display:grid;grid-template-columns:.75fr 1.4fr;gap:9vw}.ws-split>div:first-child h2{font-size:clamp(38px,5vw,72px);line-height:1}.ws-cta-panel{text-align:center;display:grid;justify-items:center;background:radial-gradient(circle at 50% 50%,rgba(39,131,222,.14),transparent 48%)}.ws-cta-panel h2{font-size:clamp(42px,6.5vw,94px);line-height:.95;letter-spacing:-.055em;max-width:1150px}.ws-cta-panel>p:not(.kicker){color:#9ba6b7;font-size:18px;line-height:1.7;max-width:720px;margin:25px 0 32px}.ws-cta-panel .ws-header-cta{margin-top:30px}.ws-faq details{border-top:1px solid rgba(143,193,255,.16);padding:26px 0}.ws-faq details:last-child{border-bottom:1px solid rgba(143,193,255,.16)}.ws-faq summary{cursor:pointer;list-style:none;font-size:clamp(20px,2.3vw,31px);font-weight:700;padding-right:45px;position:relative}.ws-faq summary::-webkit-details-marker{display:none}.ws-faq summary::after{content:'+';position:absolute;right:10px;color:#5e9fe8}.ws-faq details[open] summary::after{content:'–'}.ws-faq details p{color:#9ba6b7;line-height:1.75;max-width:850px;padding-top:18px;font-size:17px}@media(max-width:1050px){.ws-rich-grid-four{grid-template-columns:repeat(2,1fr)}.ws-proof-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.ws-band>div:first-child, .ws-platform-table>div, .ws-split{grid-template-columns:1fr}.ws-rich-grid, .ws-rich-grid-four, .ws-check-grid{grid-template-columns:1fr}.ws-rich-card{min-height:auto}.ws-rich-card h3{margin-top:30px}.ws-proof-grid{grid-template-columns:1fr 1fr}.ws-platform-table>div{gap:12px}.ws-band>div:first-child{margin-bottom:40px}}/* BRANDED INNER-PAGE ISOLATION
   Keep legacy homepage and generic CMS selectors from changing multipage layouts. */
.ws-inner main{max-width:none!important;margin:0!important;padding:0!important;min-height:0!important}.ws-inner .ws-site-header{height:88px!important;padding:0 clamp(20px,4vw,64px)!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;position:relative!important;inset:auto!important;background:rgba(7,11,18,.88)!important;border:0!important;border-bottom:1px solid rgba(143,193,255,.13)!important;backdrop-filter:blur(18px)!important}.ws-inner .ws-brand{display:block;justify-self:start;line-height:0}.ws-inner .ws-brand img{display:block!important;height:58px!important;width:auto!important;max-width:min(280px,42vw)!important;object-fit:contain!important}.ws-inner .ws-site-nav{position:static!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:30px!important;padding:0!important;background:transparent!important;border:0!important;backdrop-filter:none!important}.ws-inner .ws-header-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;justify-self:end!important;white-space:nowrap!important}.ws-inner .ws-page-hero, .ws-inner .ws-page-section{max-width:none}@media(max-width:900px){.ws-inner .ws-site-header{grid-template-columns:1fr auto!important}.ws-inner .ws-site-nav{display:none!important}}@media(max-width:600px){.ws-inner .ws-brand img{height:46px!important;max-width:180px!important}}/* V4.2 — ambient depth and tactile card highlights */
.ws-page-hero::before{content:'';position:absolute;width:42vw;height:42vw;right:-14vw;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(94,159,232,.2),transparent 68%);filter:blur(10px);opacity:.7;animation:wsAurora 12s ease-in-out infinite alternate;pointer-events:none}@keyframes wsAurora{0%{transform:translate3d(0,0,0) scale(.92);opacity:.45}100%{transform:translate3d(-5vw,4vh,0) scale(1.08);opacity:.8}}.ws-inner main>section:nth-of-type(odd){background-image:radial-gradient(circle at 12% 16%,rgba(94,159,232,.055),transparent 28%)}.ws-service-card, .ws-rich-card, .ws-case-card-media, .ws-insights-grid article, .ws-check-grid>div, .why-cell, .work-card{position:relative;overflow:hidden}.ws-service-card::after, .ws-rich-card::after, .ws-case-card-media::after, .ws-insights-grid article::after, .ws-check-grid>div::after, .why-cell::after, .work-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,0%),rgba(94,159,232,.16),transparent 68%);opacity:0;transition:opacity .35s ease}.ws-service-card:hover::after, .ws-rich-card:hover::after, .ws-case-card-media:hover::after, .ws-insights-grid article:hover::after, .ws-check-grid>div:hover::after, .why-cell:hover::after, .work-card:hover::after{opacity:1}.ws-service-card, .ws-rich-card, .ws-insights-grid article, .ws-check-grid>div, .why-cell, .work-card{transition:border-color .35s ease,background-color .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.ws-service-card:hover, .ws-rich-card:hover, .ws-insights-grid article:hover, .ws-check-grid>div:hover, .why-cell:hover, .work-card:hover{border-color:rgba(143,193,255,.34);transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.ws-page-hero::before{animation:none}.ws-service-card:hover, .ws-rich-card:hover, .ws-insights-grid article:hover, .ws-check-grid>div:hover, .why-cell:hover, .work-card:hover{transform:none}}/* V6.2 — denser storytelling blocks for homepage rhythm */
@media (max-width:720px){
  .capability-strip{grid-template-columns:1fr;margin-bottom:38px}
  .capability-strip>div{padding:20px}
  .capability-strip strong{margin-top:12px}
  .faq-layout{grid-template-columns:1fr;gap:24px}
  .faq-signal{padding:22px}
}/* EDITORIAL CASE-STUDY SHOWCASE + COMPACT CONVERSION PANELS */
.ws-inner .ws-page-section{width:100%;max-width:1680px!important;margin-left:auto!important;margin-right:auto!important}.ws-featured-work{padding-top:70px}.ws-case-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px)}.ws-case-card{min-width:0}.ws-case-card a{display:block;color:#fff}.ws-case-card-media{position:relative;overflow:hidden;border-radius:22px;background:#0c1220;border:1px solid rgba(143,193,255,.16)}.ws-case-card-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s ease}.ws-case-card-media>span{position:absolute;right:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(7,11,18,.86);border:1px solid rgba(143,193,255,.25);font:700 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;transform:translateY(8px);opacity:0;transition:.35s}.ws-case-card a:hover img{transform:scale(1.035);filter:saturate(1)}.ws-case-card a:hover .ws-case-card-media>span{transform:none;opacity:1}.ws-case-card-copy{padding:24px 5px 10px}.ws-case-card-copy h3{font-size:clamp(34px,4vw,62px);line-height:.98;letter-spacing:-.045em;margin:12px 0 18px}.ws-case-card-copy>p:not(.kicker){color:#9ba6b7;line-height:1.7;max-width:650px}.ws-case-card-copy>div{display:flex;justify-content:space-between;gap:25px;margin-top:26px;padding-top:16px;border-top:1px solid rgba(143,193,255,.13);color:#718096;font:600 10px/1.5 var(--font-mono);text-transform:uppercase}.ws-case-card-copy>div span{max-width:70%;white-space:pre-line}.ws-case-card-copy>div b{color:#8fc1ff;white-space:nowrap}.ws-archive-heading{padding-bottom:20px}.ws-archive-heading+.ws-page-section{padding-top:20px}.ws-inner .ws-cta-panel{max-width:1480px!important;margin:40px auto 110px!important;padding:clamp(54px,6vw,90px)!important;border:1px solid rgba(143,193,255,.18);border-radius:28px;text-align:left;justify-items:start;background:radial-gradient(circle at 90% 15%,rgba(var(--blue-rgb),.18),transparent 34%),linear-gradient(135deg,#0b111c,#081421)}.ws-inner .ws-cta-panel h2{font-size:clamp(38px,5vw,74px);max-width:980px}.ws-inner .ws-cta-panel .ws-header-cta{justify-self:start;margin-top:26px}@media(max-width:820px){.ws-case-showcase{grid-template-columns:1fr}.ws-case-card-media>span{opacity:1;transform:none}.ws-inner .ws-cta-panel{margin:20px 18px 80px!important}.ws-case-card-copy>div{align-items:flex-start;flex-direction:column}.ws-case-card-copy>div span{max-width:100%}}.ws-inner .kicker, .ws-inner .ws-card-index, .ws-inner .ws-process-list li>span{color:var(--blue)}.ws-inner .ws-page-status span, .ws-inner .ws-contact-layout a, .ws-inner .ws-case-card-copy>div b{color:var(--blue-light)}/* V4 — editable multipage studio, mobile navigation and case-study gallery */
.ws-section-intro{max-width:760px;color:#9ba6b7;font-size:17px;line-height:1.7;margin-top:18px}.ws-section-editorial{display:grid!important;grid-template-columns:minmax(240px,.72fr) minmax(0,1.45fr);gap:8vw}.ws-section-editorial>.ws-section-heading{margin:0}.ws-editorial-copy p{font-size:clamp(20px,2.2vw,31px);line-height:1.5;color:#dce4ef}.ws-editorial-copy p+p{margin-top:28px;color:#9ba6b7}.ws-menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(143,193,255,.2);border-radius:12px;background:#0b111c;align-items:center;justify-content:center;flex-direction:column;gap:5px}.ws-menu-toggle span{display:block;width:19px;height:1px;background:#fff}.ws-mobile-nav{position:fixed;inset:0;background:rgba(7,11,18,.98);z-index:1000;padding:28px;display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;transform:translateY(-16px);transition:.3s ease}.ws-mobile-nav.open{visibility:visible;opacity:1;transform:none}.ws-mobile-nav nav{display:grid;max-width:600px;width:100%;margin:auto}.ws-mobile-nav nav a{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid rgba(143,193,255,.15);font-size:clamp(30px,8vw,55px);font-weight:700;color:#fff}.ws-mobile-nav nav a span{font:600 10px/1 var(--font-mono);color:var(--blue)}.ws-mobile-close{position:absolute;right:24px;top:20px;width:48px;height:48px;border:1px solid rgba(143,193,255,.2);border-radius:50%;background:none;color:#fff;font-size:30px}.ws-mobile-nav>.ws-header-cta{margin:28px auto 0}.ws-menu-open{overflow:hidden}.ws-case-gallery>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,32px)}.ws-case-gallery figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid rgba(143,193,255,.15);background:#0b111c}.ws-case-gallery figure:nth-child(3n){grid-column:1/-1}.ws-case-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.ws-form-success{padding:14px 18px;border:1px solid rgba(52,227,154,.35);background:rgba(52,227,154,.08);color:#93f5c8;border-radius:12px;margin-bottom:20px}@media(max-width:900px){.ws-inner .ws-site-header{grid-template-columns:1fr auto auto!important}.ws-inner .ws-header-cta{display:none!important}.ws-inner .ws-menu-toggle{display:flex!important;justify-self:end}.ws-section-editorial{grid-template-columns:1fr}.ws-mobile-nav>.ws-header-cta{display:inline-flex!important}}@media(max-width:700px){.ws-case-gallery>div:last-child{grid-template-columns:1fr}.ws-case-gallery figure:nth-child(3n){grid-column:auto}.scroll-system{display:none}.sys-fab{bottom:80px}.audio-fab{bottom:80px}.whatsapp-fab{bottom:18px}}/* Shared homepage shell on every route */
nav.ws-global-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(18px,2.5vw,32px);backdrop-filter:blur(14px);background:rgba(7,11,18,.72);border-bottom:1px solid var(--line);min-height:68px}.ws-global-nav .logo-block{flex:0 0 auto}.ws-global-nav .nav-center{flex:1;justify-content:center}.ws-global-nav .nav-cta{flex:0 0 auto}.ws-global-nav .login-btn{flex:0 0 auto}.ws-inner main{padding-top:68px!important}.ws-inner .ws-page-hero{min-height:calc(72vh - 68px)}.ws-global-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:26px}.ws-global-footer .footer-links a{font:600 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#8a94a6}.ws-global-footer .footer-links a:hover{color:var(--blue-light)}.ws-global-footer .footer-brand{max-width:900px;margin:auto}.ws-global-footer .footer-logo{height:125px}.ws-global-footer .footer-contact{margin-top:20px}.ws-inner .ws-cta-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);grid-template-rows:auto auto 1fr;column-gap:clamp(25px,7vw,120px);row-gap:0;align-items:center;min-height:0!important;padding:clamp(42px,5vw,72px)!important;margin:32px auto 82px!important}.ws-inner .ws-cta-panel>.kicker{grid-column:1/-1;grid-row:1;margin-bottom:14px}.ws-inner .ws-cta-panel h2{grid-column:1;grid-row:2;font-size:clamp(36px,4.7vw,68px);margin:0}.ws-inner .ws-cta-panel>p:not(.kicker){grid-column:1;grid-row:3;margin:20px 0 0!important}.ws-inner .ws-cta-panel .ws-header-cta{grid-column:2;grid-row:2/4;justify-self:end;align-self:center;margin:0!important}.facebook-btn{background:#1877f2!important;color:#fff!important;margin-top:8px}.auth-submit{width:100%;justify-content:center;margin-top:8px}.auth-error{color:#ff8a8a!important;margin:0 0 14px}.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}.audio-fab.playing .wave-bob{transform-origin:center;animation:audioPulse 1.1s ease-in-out infinite}.audio-fab.resume-ready{border-color:var(--coral);box-shadow:0 0 20px rgba(var(--coral-rgb),.4)}@keyframes audioPulse{0%,100%{opacity:.65;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1.2)}}body.menu-open{overflow:hidden}/* Keep client screenshots crisp: never upscale beyond their native delivery width. */
.ws-case-visual img, .ws-project-entry img{max-width:1520px;margin-left:auto;margin-right:auto;object-fit:contain;background:#0c1220;image-rendering:auto}.ws-case-gallery img{max-width:1520px;width:100%;height:auto;object-fit:contain;image-rendering:auto}.ws-inner .ws-cta-panel h2{clip-path:none!important;opacity:1!important;transform:none!important;visibility:visible!important}.ws-case-card-media, .ws-archive-media{position:relative;overflow:hidden}.ws-case-overlay{position:absolute;left:22px;bottom:20px;display:grid;gap:4px;padding:12px 15px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(7,11,18,.78);backdrop-filter:blur(12px);opacity:0;transform:translateY(10px);transition:.35s ease}.ws-case-overlay strong{font-size:20px}.ws-case-overlay span{font:600 10px/1 var(--font-mono);color:var(--blue-light);letter-spacing:.1em;text-transform:uppercase}.ws-case-card a:hover .ws-case-overlay{opacity:1;transform:none}.ws-case-link{position:absolute!important}.ws-case-card-copy>div span{display:grid;gap:5px}.ws-case-card-copy>div span small{font:600 9px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--blue-light)}.ws-archive-media>span{position:absolute;left:16px;bottom:15px;padding:9px 12px;border-radius:999px;background:rgba(7,11,18,.82);border:1px solid rgba(143,193,255,.24);font:700 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;opacity:0;transform:translateY(8px);transition:.3s}.ws-project-entry a:hover .ws-archive-media>span{opacity:1;transform:none}@media(max-width:960px){.ws-global-nav .nav-center{display:none}.ws-global-nav .login-btn{margin-left:auto}.ws-global-nav .nav-cta{display:none}.ws-global-nav .nav-toggle{display:flex}.ws-global-nav .logo-full{height:48px}.ws-global-nav .mobile-menu{top:68px}}@media(max-width:820px){.ws-inner .ws-cta-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;margin:20px 18px 65px!important}.ws-inner .ws-cta-panel>.kicker, .ws-inner .ws-cta-panel h2, .ws-inner .ws-cta-panel>p:not(.kicker), .ws-inner .ws-cta-panel .ws-header-cta{grid-column:1}.ws-inner .ws-cta-panel h2{grid-row:2}.ws-inner .ws-cta-panel>p:not(.kicker){grid-row:3}.ws-inner .ws-cta-panel .ws-header-cta{grid-row:4;justify-self:start;margin-top:22px!important}}.ws-article{max-width:1040px;margin:0 auto;padding:clamp(90px,11vw,160px) clamp(22px,5vw,70px)}.ws-article>header{max-width:900px;margin-bottom:55px}.ws-article h1{font-size:clamp(46px,7.5vw,104px);line-height:.96;letter-spacing:-.055em;margin:24px 0}.ws-article>header>p:last-child{max-width:760px;color:#9ba6b7;font-size:clamp(18px,2vw,25px);line-height:1.65}.ws-article-hero{display:block;width:100%;border-radius:24px;margin:0 0 65px;max-height:650px;object-fit:cover}.ws-article-body{max-width:780px;margin:0 auto;color:#c7d0dc;font-size:18px;line-height:1.85}.ws-article-body h2, .ws-article-body h3{color:#fff;line-height:1.15;margin:2.2em 0 .7em}.ws-article-body h2{font-size:clamp(30px,4vw,48px)}.ws-article-body h3{font-size:clamp(24px,3vw,34px)}.ws-article-body p, .ws-article-body ul, .ws-article-body ol{margin:0 0 1.35em}.ws-article-body a{color:var(--blue-light);text-decoration:underline}.ws-article-body img{max-width:100%;height:auto;border-radius:16px}/* Final cascade for the connected-scroll system. */
.portfolio-story-card{transform:scale(1);filter:saturate(1)}.method-story .panel{opacity:.58}.method-story .panel.method-active{opacity:1;border-color:rgba(143,193,255,.55);box-shadow:0 24px 55px rgba(39,131,222,.17)}.contact-panel .logo-convergence span{width:calc(55px + 130px * (1 - var(--contact-progress,0)));opacity:calc(.18 + .55 * var(--contact-progress,0))}@media(max-width:860px){.portfolio-story-card{position:relative;top:auto!important;transform:none!important;filter:none!important}}@media(prefers-reduced-motion:reduce){.portfolio-story-card{position:relative;top:auto!important;transform:none!important;filter:none!important}.method-story .panel{opacity:1}.pipeline-line{width:86%!important}.pipeline-node i{background:#8fc1ff}.contact-panel .logo-convergence span{width:80px;opacity:.3}}/* Performance guardrails: preserve layout and color while avoiding expensive
   compositing on touch and lower-powered devices. */
@media (max-width:760px), (hover:none), (pointer:coarse){
  #particleCanvas{display:none!important}
  .ws-site-header,nav.ws-global-nav,.mobile-menu,.audio-fab,.sys-fab{backdrop-filter:none!important}
  .blob-wrap::before,.blob-wrap::after,.ws-page-hero::before{filter:none!important}
  .portfolio-story-card,.why-cell,.work-card,.ws-service-card{box-shadow:0 14px 34px rgba(0,0,0,.24)!important}
}@media (max-width:760px){#heroFx{display:none!important}}@media (prefers-reduced-motion:reduce){#particleCanvas, #heroFx{display:none!important}.cursor-dot, .cursor-ring{display:none!important}}/* Let the browser promote only elements currently receiving transforms. */
.scroll-system-track i, .hero-content, .hero-grid, .portfolio-shot{will-change:auto}.pipeline-line{width:0}.contact-panel .logo-convergence span{width:var(--contact-line-width,185px);opacity:var(--contact-line-opacity,.18)}.hero-word-convert{text-shadow:0 0 var(--hero-glow,18px) rgba(94,159,232,.55)}.hero-word-compound{-webkit-text-stroke:var(--hero-stroke,0) rgba(143,193,255,.65);text-shadow:var(--hero-offset,0) var(--hero-offset,0) 0 rgba(94,159,232,.18)}.portfolio-story{width:min(100%,1060px);margin:0 auto 56px;gap:22px}.portfolio-story-card{top:82px;grid-template-columns:minmax(0,560px) minmax(300px,1fr);min-height:380px;max-height:430px;border-radius:20px}.portfolio-story-card:nth-child(2){top:102px}.portfolio-story-card:nth-child(3){top:122px}.portfolio-shot{min-height:380px;background-size:contain;background-repeat:no-repeat;background-color:#080d15;will-change:background-position}.portfolio-copy{padding:30px 28px}.portfolio-copy h3{font-size:clamp(30px,3vw,46px);margin:10px 0 14px}.portfolio-copy>p:not(.kicker){font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portfolio-copy dl{margin:20px 0;gap:14px}.portfolio-copy dd{font-size:11px;max-height:62px;overflow:hidden}.portfolio-copy .btn-ghost{padding:10px 14px;font-size:13px}.portfolio-story-card.active .portfolio-copy>*{opacity:1;transform:none}.portfolio-copy>*{transition:opacity .5s ease,transform .65s cubic-bezier(.22,1,.36,1)}.portfolio-story-card:not(.active) .portfolio-copy>*{opacity:.68;transform:translateY(8px)}@media(max-width:860px){.portfolio-story{width:100%}.portfolio-story-card{max-height:none;grid-template-columns:1fr}.portfolio-shot{min-height:240px;max-height:300px}.portfolio-copy>p:not(.kicker){-webkit-line-clamp:4}.portfolio-copy dd{max-height:none}}@media(max-width:520px){.portfolio-shot{min-height:205px}.portfolio-copy{padding:22px 20px}}/* V6.6 — archive media wrapper repair */
.ws-work-archive{max-width:1280px;margin-inline:auto;gap:28px}.ws-project-entry .ws-archive-media{display:block!important;position:relative!important;padding:0!important;grid-template-columns:none!important;aspect-ratio:16/9;border:1px solid rgba(143,193,255,.16);border-radius:16px;background:#0a101a;overflow:hidden}.ws-project-entry .ws-archive-media img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;aspect-ratio:auto!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:#0a101a}.ws-project-entry a>div:last-child{display:grid;grid-template-columns:50px 1fr auto;align-items:baseline;padding:16px 4px}.ws-project-entry h2{font-size:clamp(18px,1.8vw,24px)}@media(max-width:900px){.ws-work-archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ws-project-entry a>div:last-child{grid-template-columns:34px 1fr}.ws-project-entry a>div:last-child p{display:none}}@media(max-width:560px){.ws-work-archive{grid-template-columns:1fr}.ws-project-entry .ws-archive-media{aspect-ratio:16/10}}/* The connected journey is now a living route instead of a bare timeline. */
.pipeline-section{padding:76px 0 82px!important;background:radial-gradient(circle at 18% 20%,rgba(39,131,222,.13),transparent 31%),radial-gradient(circle at 84% 74%,rgba(94,159,232,.09),transparent 30%),linear-gradient(180deg,#091827,#07111d)!important}.pipeline-section .wrap{max-width:1260px}.pipeline-section .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);column-gap:48px;align-items:end;max-width:none;margin-bottom:42px}.pipeline-section .section-head .kicker{grid-column:1/-1;margin-bottom:18px}.pipeline-section .section-head h2{font-size:clamp(42px,5vw,72px);line-height:.96;margin:0;max-width:760px}.pipeline-section .section-sub{margin:0 0 5px;max-width:400px;justify-self:end}.pipeline-track{counter-reset:pipeline;gap:12px;padding:20px 0 0}.pipeline-track::before{left:6%;right:6%;top:33px;background:rgba(143,193,255,.14)}.pipeline-line{left:6%;top:31px;height:3px;max-width:88%;border-radius:999px;background:linear-gradient(90deg,#2783de,#8fc1ff 72%,#76e8bc);box-shadow:0 0 26px rgba(94,159,232,.65)}.pipeline-line::after{content:'';position:absolute;right:-7px;top:50%;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(143,193,255,.12),0 0 24px #8fc1ff;transform:translateY(-50%)}.pipeline-node{counter-increment:pipeline;padding:61px 17px 18px;min-height:154px;border:1px solid rgba(143,193,255,.12);border-radius:16px;background:linear-gradient(145deg,rgba(17,30,48,.72),rgba(8,15,26,.78));overflow:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .4s ease,background .4s ease,box-shadow .4s ease}.pipeline-node::before{content:'0' counter(pipeline);position:absolute;right:14px;top:15px;color:rgba(143,193,255,.34);font:700 9px/1 var(--font-mono);letter-spacing:.12em}.pipeline-node::after{content:'';position:absolute;inset:auto -30% -75% 20%;height:130px;border-radius:50%;background:rgba(94,159,232,.16);filter:blur(32px);opacity:0;transition:.45s ease}.pipeline-node i{top:23px;left:18px;width:18px;height:18px;z-index:2}.pipeline-node strong, .pipeline-node p{position:relative;z-index:2}.pipeline-node strong{font-size:18px;letter-spacing:-.02em}.pipeline-node.active{transform:translateY(-8px);border-color:rgba(143,193,255,.38);background:linear-gradient(145deg,rgba(25,55,88,.84),rgba(8,18,31,.92));box-shadow:0 18px 44px rgba(0,0,0,.22)}.pipeline-node.active::after{opacity:1}.pipeline-node.active i{background:#8fc1ff;border-color:#c7e1ff;box-shadow:0 0 0 6px rgba(94,159,232,.12),0 0 24px rgba(94,159,232,.7)}.pipeline-node:last-child.active{border-color:rgba(118,232,188,.42)}.pipeline-node:last-child.active i{background:#76e8bc;border-color:#c9ffe9;box-shadow:0 0 0 6px rgba(118,232,188,.11),0 0 24px rgba(118,232,188,.62)}.pipeline-end{text-align:left;margin:34px 0 0;font-size:clamp(26px,3vw,43px);background:linear-gradient(90deg,#fff 0 58%,#8fc1ff 76%,#76e8bc);-webkit-background-clip:text;background-clip:text;color:transparent}/* FAQ loses the empty viewport and reads as one compact editorial block. */
#faq.section{padding:72px 0 76px!important;min-height:0!important}#faq .wrap{max-width:1200px}#faq .section-head{max-width:none;margin-bottom:32px;display:flex;align-items:end;justify-content:space-between;gap:32px}#faq .section-head .kicker{margin-bottom:8px}#faq .section-head h2{font-size:clamp(42px,5vw,70px);line-height:.95;margin:0}#faq .faq-layout{gap:22px;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr)}#faq .faq-list{gap:10px;max-width:none}#faq .faq-item{border-radius:15px;background:rgba(13,23,38,.9);transition:border-color .3s ease,transform .35s cubic-bezier(.22,1,.36,1),background .3s ease}#faq .faq-item:hover{transform:translateX(5px);border-color:rgba(143,193,255,.34);background:rgba(16,31,50,.96)}#faq .faq-q{padding:18px 22px;font-size:15px}#faq .faq-signal{padding:23px;border-radius:16px;background:radial-gradient(circle at 90% 0,rgba(94,159,232,.13),transparent 42%),linear-gradient(150deg,rgba(17,24,39,.94),rgba(9,20,34,.88))}#faq .faq-signal h3{font-size:24px;margin:11px 0 18px}#faq .faq-signal-step{padding:12px 0}#faq .faq-signal .btn-ghost{margin-top:16px}@media(max-width:900px){.pipeline-section{padding:62px 0 66px!important}.pipeline-section .section-head{display:block;margin-bottom:30px}.pipeline-section .section-sub{margin-top:16px}.pipeline-track{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.pipeline-node{padding:52px 16px 17px;min-height:135px}.pipeline-node i{position:absolute;top:18px;left:17px}.pipeline-node.active{transform:translateY(-3px)}.pipeline-end{margin-top:26px}#faq.section{padding:60px 0 64px!important}#faq .section-head{display:block;margin-bottom:26px}#faq .faq-layout{grid-template-columns:1fr;gap:18px}}@media(max-width:560px){.pipeline-track{grid-template-columns:1fr}.pipeline-node{min-height:0;padding:17px 16px 17px 52px}.pipeline-node i{top:19px}.pipeline-node::before{display:none}.pipeline-node p{margin-top:5px}.pipeline-section .section-head h2, #faq .section-head h2{font-size:40px}#faq.section{padding:52px 0 56px!important}#faq .faq-q{padding:16px 17px;font-size:14px}#faq .faq-signal{padding:20px}}@media(prefers-reduced-motion:reduce){.pipeline-node.active{transform:none}}#faq .section-head .kicker{margin:0 0 14px!important}#faq .section-head h2{font-size:clamp(40px,4.25vw,60px)!important;line-height:.98!important;letter-spacing:-.045em!important}#faq .wrap{max-width:1180px!important}#faq .section-head{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;align-items:end!important;gap:28px!important;max-width:none!important;margin:0 0 26px!important;padding-bottom:21px;border-bottom:1px solid rgba(143,193,255,.18)}#faq .section-head .kicker{margin:0 0 5px!important}#faq .section-head h2{font-size:clamp(34px,3.3vw,48px)!important;line-height:1!important;letter-spacing:-.04em!important;max-width:560px!important}#faq .faq-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr)!important;gap:18px!important}#faq .faq-q{min-height:64px}#faq .faq-signal{height:100%;display:flex;flex-direction:column;justify-content:flex-start}#faq .faq-signal .btn-ghost{margin-top:auto!important;align-self:flex-start}@media(max-width:900px){#faq .section-head{grid-template-columns:1fr!important;gap:10px!important}#faq .section-head h2{font-size:38px!important}}@media(max-width:560px){#faq.section{padding:48px 0 54px!important}#faq .section-head h2{font-size:34px!important}}.ws-service-link, .ws-insight-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:var(--blue-light);font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.ws-service-link:hover, .ws-insight-link:hover{color:#fff}.ws-article-byline{margin-top:-12px!important;color:var(--blue-light)!important;font:600 11px/1.4 var(--font-mono)!important;letter-spacing:.06em;text-transform:uppercase}.ws-case-metric{padding:28px!important;border:1px solid rgba(118,232,188,.25);border-radius:18px;background:rgba(118,232,188,.04)}.ws-case-metric strong{display:block;color:#b3f8d8;font-size:clamp(30px,4vw,58px);line-height:1;letter-spacing:-.045em}.ws-case-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ws-case-comparison>div{padding:clamp(25px,4vw,48px);border:1px solid rgba(143,193,255,.16);border-radius:20px;background:linear-gradient(145deg,rgba(15,28,46,.9),rgba(7,14,24,.88))}.ws-case-comparison>div:last-child{border-color:rgba(118,232,188,.22);background:linear-gradient(145deg,rgba(15,46,51,.65),rgba(7,14,24,.9))}.ws-case-comparison h2{font-size:clamp(28px,3vw,46px);margin:10px 0 16px}.ws-case-comparison p:last-child{color:#a7b4c6;line-height:1.75}.ws-case-mobile{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(28px,6vw,90px)}.ws-case-mobile img{display:block;width:100%;max-height:740px;object-fit:contain;border:1px solid rgba(143,193,255,.18);border-radius:24px;background:#091321;box-shadow:0 35px 90px rgba(0,0,0,.35)}.ws-case-testimonial{max-width:980px!important;text-align:center}.ws-case-testimonial blockquote{margin:20px 0;font-size:clamp(27px,4vw,52px);line-height:1.15;letter-spacing:-.04em}.ws-case-testimonial>p:last-child{color:var(--blue-light);font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.ws-case-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ws-case-nav a{display:grid;gap:9px;padding:24px;border:1px solid rgba(143,193,255,.16);border-radius:17px;color:#fff;background:rgba(10,20,34,.75);transition:.3s}.ws-case-nav a:last-child{text-align:right}.ws-case-nav a:hover{border-color:rgba(143,193,255,.42);transform:translateY(-3px)}.ws-case-nav span{color:#73869e;font:700 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.ws-case-nav strong{font-size:19px}@media(max-width:760px){.ws-case-comparison, .ws-case-mobile, .ws-case-nav{grid-template-columns:1fr}.ws-case-nav a:last-child{text-align:left}}
/* Homepage proof bar: specific, honest system numbers in a compact editorial row. */
#top + .proof{padding:26px 0 30px;background:linear-gradient(180deg,#091321,#0b1421);border-color:rgba(143,193,255,.16)}
#top + .proof .proof-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1120px;border:1px solid rgba(143,193,255,.18);border-radius:18px;overflow:hidden;background:rgba(8,16,28,.72)}
#top + .proof .proof-grid>div{position:relative;min-height:112px;padding:21px 24px;text-align:left}
#top + .proof .proof-grid>div:not(:last-child)::after{content:"";position:absolute;top:18px;right:0;bottom:18px;width:1px;background:rgba(143,193,255,.16)}
#top + .proof .proof-num{font:800 clamp(31px,3.1vw,48px)/.9 var(--font-mono);letter-spacing:-.08em;font-variant-numeric:tabular-nums;color:#d9ebff}
#top + .proof .proof-label{max-width:170px;margin-top:10px;color:#8ea6c0;font:700 10px/1.35 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
#heroFx{opacity:.92;mix-blend-mode:screen}
#particleCanvas{opacity:.34}
@media(max-width:720px){
  #top + .proof{padding:18px 0 22px}
  #top + .proof .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:14px}
  #top + .proof .proof-grid>div{min-height:92px;padding:17px 15px}
  #top + .proof .proof-grid>div:nth-child(2n)::after{display:none}
  #top + .proof .proof-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(143,193,255,.16)}
  #top + .proof .proof-num{font-size:30px}
  #top + .proof .proof-label{font-size:9px}
}

/* V9.3 consistency pass: compact capability storytelling and a calmer growth route. */
#services .section-head{max-width:980px;margin-left:auto;margin-right:auto}
#services .capability-strip{max-width:1120px;margin:8px auto 42px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-radius:18px;overflow:hidden;background:rgba(143,193,255,.16)}
#services .capability-strip>div{min-height:178px;padding:22px 24px 30px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s ease}
#services .capability-strip>div::before{content:"";position:absolute;left:24px;bottom:15px;width:42px;height:2px;background:linear-gradient(90deg,#5e9fe8,#76e8bc);transform:scaleX(.35);transform-origin:left;transition:transform .35s ease}
#services .capability-strip>div:hover{transform:translateY(-5px);background:linear-gradient(145deg,rgba(23,43,67,.98),rgba(10,20,34,.95))}
#services .capability-strip>div:hover::before{transform:scaleX(1)}
#services .capability-strip strong{margin:14px 0 8px;font-size:18px;line-height:1.15}
#services .capability-strip p{font-size:13px;line-height:1.5;max-width:300px}
#services .wheel-block{max-width:1120px;margin:52px auto 0;display:grid;grid-template-columns:minmax(390px,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(42px,7vw,96px)}
#services .wheel-wrap{width:min(100%,500px);height:auto;aspect-ratio:1;margin:0 auto}
#services .wheel-center{width:184px;height:184px}
#services .wheel-node{width:76px;height:76px}
#services .wheel-panel{max-width:520px}
#services .wheel-panel h3{font-size:clamp(28px,3.2vw,46px);line-height:1;margin:12px 0 22px}
#services .wheel-panel ul{gap:14px}
#services .wheel-panel li{font-size:15px;line-height:1.55}
#services .wheel .track.t2{animation:wsWheelDrift 28s linear infinite}
#services .wheel-center{animation:wsWheelFloat 6s ease-in-out infinite}
@keyframes wsWheelDrift{to{transform:rotate(360deg)}}
@keyframes wsWheelFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 5px))}}

.pipeline-section{padding:68px 0 76px!important}
.pipeline-section .section-head{margin-bottom:28px}
.pipeline-track{gap:10px;padding-top:14px}
.pipeline-node{min-height:132px;padding:54px 15px 15px;border-radius:14px;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease}
.pipeline-node::after{inset:auto -18% -34% 24%;height:92px;background:radial-gradient(ellipse,rgba(94,159,232,.22),transparent 68%);filter:none;opacity:0;transform:translateY(10px) scale(.8);transition:opacity .35s ease,transform .35s ease}
.pipeline-node.active::after{opacity:.9;transform:none}
.pipeline-node i{position:absolute}
.pipeline-node i::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(143,193,255,.42);border-radius:50%;opacity:0;transform:scale(.65);transition:opacity .35s ease,transform .35s ease}
.pipeline-node.active i::after{opacity:1;transform:none}
.pipeline-node strong{font-size:17px}
.pipeline-node p{font-size:12px;line-height:1.45}
@media(max-width:900px){
  #services .wheel-block{display:flex;flex-direction:column;gap:30px;margin-top:38px}
  #services .wheel-wrap{width:min(100%,390px)}
  #services .wheel-panel{width:100%;max-width:620px}
  #services .capability-strip>div{min-height:156px}
  .pipeline-node{min-height:126px}
  .pipeline-node i{position:static}
}
@media(max-width:720px){
  #services .capability-strip{grid-template-columns:1fr;margin-bottom:32px}
  #services .capability-strip>div{min-height:0;padding:20px 20px 28px}
  #services .wheel-wrap{width:min(100%,340px)}
  #services .wheel-center{width:142px;height:142px}
  #services .wheel-node{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){
  #services .wheel .track.t2,#services .wheel-center{animation:none}
  #services .capability-strip>div,.pipeline-node,.pipeline-node::after,.pipeline-node i::after{transition:none}
}

/* Connected growth system redesign — scoped to #pipeline. */
#pipeline.pipeline-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(92px,10vw,150px) 0 clamp(104px,11vw,168px)!important;border-block:1px solid rgba(143,193,255,.16);background:radial-gradient(circle at 50% 50%,rgba(39,131,222,.17),transparent 33%),radial-gradient(circle at 12% 20%,rgba(94,159,232,.08),transparent 28%),linear-gradient(180deg,#0a2138 0%,#081a2e 54%,#071321 100%)}
#pipeline.pipeline-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(143,193,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(143,193,255,.045) 1px,transparent 1px);background-size:clamp(56px,5vw,86px) clamp(56px,5vw,86px);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 84%,transparent)}
#pipeline.pipeline-section::after{content:"";position:absolute;left:50%;top:42%;z-index:-1;width:min(74vw,980px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(94,159,232,.13);border-radius:50%;box-shadow:0 0 0 34px rgba(94,159,232,.025),0 0 0 92px rgba(94,159,232,.018);pointer-events:none}
#pipeline .pipeline-shell{position:relative;z-index:1;max-width:1540px!important}
#pipeline .pipeline-heading{display:block;max-width:1200px;margin:0 auto clamp(48px,6vw,82px);text-align:left}
#pipeline .pipeline-heading .kicker{margin-bottom:18px;color:#8fc1ff;font-size:12px;letter-spacing:.18em}
#pipeline .pipeline-heading h2{max-width:1050px;margin:0;font-family:var(--font);font-weight:800;font-size:clamp(44px,5.4vw,88px);line-height:.93;letter-spacing:-.06em;overflow:visible}
#pipeline .pipeline-heading h2.scroll-heading{clip-path:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
#pipeline .pipeline-heading h2.scroll-heading.scroll-pending{opacity:0;transform:translateY(28px)}
#pipeline .pipeline-heading h2.scroll-heading.scroll-in{opacity:1;transform:none}
#pipeline .pipeline-heading h2 span{color:var(--blue-light)}
#pipeline .pipeline-heading .section-sub{display:block;width:100%;max-width:680px;margin:24px auto 0 0!important;color:#a9c0d5;font-size:clamp(16px,1.7vw,22px);line-height:1.5;text-align:left;justify-self:start}
#pipeline .pipeline-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,230px) repeat(3,minmax(0,1fr));gap:clamp(14px,1.7vw,28px);align-items:center;min-height:280px;margin-top:12px;isolation:isolate}
#pipeline .pipeline-line{position:absolute;left:4%;top:50%;z-index:0;width:0;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,#5e9fe8 0%,#8fc1ff 100%);box-shadow:0 0 18px rgba(94,159,232,.42);transition:width .12s linear;pointer-events:none}
#pipeline .pipeline-line::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;border:1px solid #d9efff;border-radius:50%;background:#8fc1ff;box-shadow:0 0 0 5px rgba(143,193,255,.1),0 0 18px rgba(143,193,255,.7);transform:translateY(-50%)}
#pipeline .pipeline-hub{grid-column:4;grid-row:1;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:clamp(170px,14vw,214px);aspect-ratio:1;padding:22px;border:1px solid rgba(143,193,255,.78);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(94,159,232,.35),rgba(8,25,44,.98) 69%);box-shadow:0 0 0 8px rgba(94,159,232,.08),0 0 0 22px rgba(94,159,232,.04),0 18px 60px rgba(0,0,0,.34);color:#fff;text-align:center;opacity:0;transform:scale(.88);transition:opacity .65s ease,transform .8s cubic-bezier(.22,1,.36,1),box-shadow .5s ease;z-index:3}
#pipeline .pipeline-hub.is-active{opacity:1;transform:scale(1);box-shadow:0 0 0 8px rgba(94,159,232,.1),0 0 0 22px rgba(94,159,232,.045),0 18px 60px rgba(0,0,0,.34),0 0 48px rgba(94,159,232,.18)}
#pipeline .pipeline-hub.is-active{animation:pipelineHubPulse 5.5s ease-in-out 1s infinite}
@keyframes pipelineHubPulse{0%,100%{box-shadow:0 0 0 8px rgba(94,159,232,.1),0 0 0 22px rgba(94,159,232,.045),0 18px 60px rgba(0,0,0,.34),0 0 48px rgba(94,159,232,.18)}50%{box-shadow:0 0 0 10px rgba(94,159,232,.13),0 0 0 27px rgba(94,159,232,.055),0 18px 64px rgba(0,0,0,.36),0 0 58px rgba(94,159,232,.26)}}
#pipeline .pipeline-hub strong{font:800 14px/1.2 var(--font-mono);letter-spacing:.16em}
#pipeline .pipeline-hub__rule{display:block;width:24px;height:2px;background:#8fc1ff;box-shadow:0 0 10px rgba(143,193,255,.6)}
#pipeline .pipeline-stage-list{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.7vw,25px);margin:0;padding:0;list-style:none}
#pipeline .pipeline-stage-list--left{grid-column:1/4;grid-row:1}
#pipeline .pipeline-stage-list--right{grid-column:5/8;grid-row:1}
#pipeline .pipeline-node{position:relative;display:flex;flex-direction:column;min-width:0;min-height:218px;padding:27px 21px 22px;border:1px solid rgba(143,193,255,.36);border-radius:18px;background:linear-gradient(145deg,rgba(18,52,82,.86),rgba(8,22,39,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 16px 34px rgba(0,0,0,.18);opacity:1;transform:none;transition:opacity .55s ease,transform .45s cubic-bezier(.22,1,.36,1),border-color .3s ease,background .3s ease,box-shadow .3s ease}
#pipeline .pipeline-node::after{content:"";position:absolute;top:50%;width:clamp(14px,1.7vw,28px);height:1px;background:rgba(143,193,255,.55);box-shadow:0 0 10px rgba(94,159,232,.32);pointer-events:none}
#pipeline .pipeline-stage-list--left .pipeline-node::after{right:calc(clamp(14px,1.7vw,28px) * -1)}
#pipeline .pipeline-stage-list--right .pipeline-node::after{left:calc(clamp(14px,1.7vw,28px) * -1)}
#pipeline .pipeline-node__number{position:absolute;top:20px;right:20px;color:#76b6f4;font:700 11px/1 var(--font-mono);letter-spacing:.12em}
#pipeline .pipeline-node__icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:20px;border:1px solid rgba(143,193,255,.62);border-radius:50%;background:radial-gradient(circle,rgba(94,159,232,.23),rgba(7,21,36,.7));color:#edf6ff;transition:border-color .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease}
#pipeline .pipeline-node__icon svg{width:29px;height:29px;display:block}
#pipeline .pipeline-node strong{display:block;color:#f5f9ff;font-size:18px;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase}
#pipeline .pipeline-node p{margin-top:9px;color:#a9bdd1;font-size:13px;line-height:1.48}
#pipeline .pipeline-node::before{content:none!important}
#pipeline .pipeline-node:hover,#pipeline .pipeline-node:focus-within{border-color:rgba(143,193,255,.78);background:linear-gradient(145deg,rgba(24,66,103,.94),rgba(8,22,39,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 42px rgba(0,0,0,.25),0 0 25px rgba(94,159,232,.1);transform:translateY(-4px)}
#pipeline .pipeline-node:hover .pipeline-node__icon,#pipeline .pipeline-node:focus-within .pipeline-node__icon{border-color:#b8dcff;color:#fff;background:radial-gradient(circle,rgba(94,159,232,.36),rgba(7,21,36,.7));box-shadow:0 0 20px rgba(94,159,232,.24)}
#pipeline .pipeline-node--client{border-color:rgba(143,193,255,.36);background:linear-gradient(145deg,rgba(18,52,82,.86),rgba(8,22,39,.96))}
#pipeline .pipeline-node--client .pipeline-node__number{color:#76b6f4}
#pipeline .pipeline-node--client .pipeline-node__icon{border-color:rgba(143,193,255,.62);color:#edf6ff;background:radial-gradient(circle,rgba(94,159,232,.23),rgba(7,21,36,.7))}
#pipeline .pipeline-node--client:hover,#pipeline .pipeline-node--client:focus-within{border-color:var(--coral);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 42px rgba(0,0,0,.25),0 0 28px rgba(255,107,74,.2)}
#pipeline .pipeline-node--client:hover .pipeline-node__icon,#pipeline .pipeline-node--client:focus-within .pipeline-node__icon{border-color:var(--coral);color:#ffd0c4;background:radial-gradient(circle,rgba(255,107,74,.2),rgba(7,21,36,.7));box-shadow:0 0 20px rgba(255,107,74,.24)}
#pipeline.ws-pipeline-enhanced .pipeline-node{opacity:0;transform:translateY(15px)}
#pipeline.ws-pipeline-enhanced .pipeline-node.is-visible{opacity:1;transform:none;transition-delay:var(--pipeline-delay,0ms)}
#pipeline.ws-pipeline-enhanced .pipeline-node.active{border-color:rgba(143,193,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.24),0 0 22px rgba(94,159,232,.11)}
#pipeline.ws-pipeline-enhanced .pipeline-node--client.active{border-color:rgba(143,193,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.24),0 0 22px rgba(94,159,232,.11)}

@media(min-width:768px) and (max-width:1199px){
  #pipeline.pipeline-section{padding-block:82px 108px!important}
  #pipeline .pipeline-shell{max-width:960px!important}
  #pipeline .pipeline-heading{margin-bottom:54px}
  #pipeline .pipeline-heading h2{font-size:clamp(42px,6vw,68px)}
  #pipeline .pipeline-flow{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;gap:22px 14px;min-height:0}
  #pipeline .pipeline-hub{grid-column:2;grid-row:1;width:156px}
  #pipeline .pipeline-stage-list--left{grid-column:1/4;grid-row:2}
  #pipeline .pipeline-stage-list--right{grid-column:1/4;grid-row:3}
  #pipeline .pipeline-line{display:none}
  #pipeline .pipeline-node::after{display:none}
  #pipeline .pipeline-node{min-height:186px;padding:23px 17px 19px}
  #pipeline .pipeline-node__icon{width:54px;height:54px;margin-bottom:16px}
  #pipeline .pipeline-node strong{font-size:16px}
  #pipeline .pipeline-node p{font-size:12px}
}

/* FAQ section: a clear, responsive two-column editorial layout. */
#faq.faq-section{padding:clamp(88px,9vw,138px) 0 clamp(92px,10vw,150px)!important;min-height:0!important;overflow:clip;background:radial-gradient(circle at 76% 12%,rgba(39,131,222,.12),transparent 34%),linear-gradient(180deg,rgba(9,25,42,.98),rgba(7,14,25,.98))}
#faq .faq-wrap{max-width:1240px!important}
#faq .faq-head{display:grid!important;grid-template-columns:minmax(145px,.42fr) minmax(0,1.58fr)!important;align-items:end!important;gap:clamp(24px,4vw,72px)!important;max-width:none!important;margin:0 0 clamp(30px,4vw,52px)!important;padding:0!important;border:0!important}
#faq .faq-eyebrow{margin:0 0 9px!important;color:var(--blue-light);font:700 11px/1.4 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}
#faq .faq-head-copy{min-width:0}
#faq .faq-head h2.scroll-heading{clip-path:none!important}
#faq .faq-head h2{max-width:760px!important;margin:0!important;color:#f7f9fd;font-size:clamp(42px,5.25vw,76px)!important;line-height:.98!important;letter-spacing:-.055em!important}
#faq .faq-support{max-width:780px;margin:20px 0 0!important;color:#9fb3cc;font-size:clamp(17px,1.6vw,23px);line-height:1.45}
#faq .faq-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,.78fr)!important;align-items:stretch;gap:clamp(22px,4vw,58px)!important}
#faq .faq-list{display:grid;gap:12px;max-width:none;margin:0;padding:0;list-style:none}
#faq .faq-item{margin:0;border:1px solid rgba(143,193,255,.24);border-radius:18px;background:linear-gradient(135deg,rgba(13,29,48,.9),rgba(8,19,33,.94));overflow:hidden;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}
#faq .faq-item:hover{border-color:rgba(143,193,255,.48);background:linear-gradient(135deg,rgba(17,38,63,.93),rgba(8,19,33,.96));transform:translateY(-2px)}
#faq .faq-item.open{border-color:var(--blue-light);background:linear-gradient(135deg,rgba(17,43,70,.96),rgba(9,23,40,.98));box-shadow:0 0 0 1px rgba(143,193,255,.2),0 20px 50px rgba(0,0,0,.18)}
#faq .faq-q{min-height:76px;padding:19px 23px!important;display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;color:#f6f8fc;font:600 clamp(16px,1.35vw,19px)/1.35 var(--font)!important;text-align:left;background:transparent;border:0;cursor:pointer}
#faq .faq-q:focus-visible{outline:2px solid var(--blue-light);outline-offset:-5px;border-radius:14px}
#faq .faq-question{min-width:0}
#faq .faq-icon{position:relative;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(143,193,255,.48);border-radius:50%;color:var(--blue-light);background:rgba(8,20,34,.42);transition:border-color .28s ease,background .28s ease,box-shadow .28s ease}
#faq .faq-icon i{position:absolute;width:15px;height:2px;border-radius:2px;background:currentColor;transition:transform .28s ease}
#faq .faq-icon i:nth-child(2){transform:rotate(90deg)}
#faq .faq-item.open .faq-icon{border-color:var(--blue-light);background:rgba(94,159,232,.15);box-shadow:0 0 20px rgba(94,159,232,.25)}
#faq .faq-item.open .faq-icon i:nth-child(2){transform:rotate(90deg) scaleX(0)}
#faq .faq-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .25s ease}
#faq .faq-item.open .faq-a{grid-template-rows:1fr;opacity:1}
#faq .faq-a-inner{min-height:0;overflow:hidden}
#faq .faq-a p{max-width:70ch;margin:0;padding:0 23px 25px;color:#b8c7d9;font-size:clamp(15px,1.25vw,18px);line-height:1.65}
#faq .faq-signal{display:flex;flex-direction:column;min-height:100%;padding:clamp(24px,2.6vw,38px)!important;border:1px solid rgba(143,193,255,.27);border-radius:21px;background:radial-gradient(circle at 100% 0,rgba(94,159,232,.2),transparent 46%),linear-gradient(155deg,rgba(18,43,70,.95),rgba(8,20,35,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
#faq .faq-signal>.kicker{margin:0;color:var(--blue-light);font:700 11px/1.4 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}
#faq .faq-signal h3{margin:28px 0 30px!important;color:#f5f8ff;font-size:clamp(28px,3.1vw,45px)!important;line-height:1.04!important;letter-spacing:-.045em!important}
#faq .faq-signal-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
#faq .faq-signal-step{display:flex;align-items:center;gap:19px;padding:17px 0;border-top:1px solid rgba(143,193,255,.2);color:#e5edf7;font-size:clamp(15px,1.2vw,17px)}
#faq .faq-signal-step:last-child{border-bottom:1px solid rgba(143,193,255,.2)}
#faq .faq-signal-num{flex:0 0 40px;color:var(--blue-light);font:700 14px/1 var(--font-mono);letter-spacing:.08em}
#faq .faq-cta{align-self:flex-start;min-height:52px;margin-top:auto!important;padding:14px 20px!important;border-color:var(--blue-light);color:#fff;font-size:15px}
#faq .faq-cta:hover{background:var(--blue-light);border-color:var(--blue-light);color:#07101b}

/* The existing section observer supplies .section-active; the FAQ uses it for a measured stagger. */
#faq.faq-ready:not(.section-active) .faq-eyebrow,#faq.faq-ready:not(.section-active) .faq-head h2,#faq.faq-ready:not(.section-active) .faq-support,#faq.faq-ready:not(.section-active) .faq-item,#faq.faq-ready:not(.section-active) .faq-signal{opacity:0;transform:translateY(24px)}
#faq.faq-ready .faq-eyebrow,#faq.faq-ready .faq-head h2,#faq.faq-ready .faq-support,#faq.faq-ready .faq-item,#faq.faq-ready .faq-signal{transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
#faq.faq-ready.section-active .faq-eyebrow,#faq.faq-ready.section-active .faq-head h2,#faq.faq-ready.section-active .faq-support,#faq.faq-ready.section-active .faq-item,#faq.faq-ready.section-active .faq-signal{opacity:1;transform:none}
#faq.faq-ready.section-active .faq-eyebrow{transition-delay:0s}
#faq.faq-ready.section-active .faq-head h2{transition-delay:.08s}
#faq.faq-ready.section-active .faq-support{transition-delay:.16s}
#faq.faq-ready.section-active .faq-item{transition-delay:calc(.24s + var(--faq-index,0) * .065s)}
#faq.faq-ready.section-active .faq-signal{transition-delay:.4s}

@media(max-width:1020px){
  #faq .faq-head{grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
  #faq .faq-eyebrow{margin-bottom:0!important}
  #faq .faq-layout{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
  #faq .faq-signal{min-height:0}
  #faq .faq-signal h3{font-size:clamp(30px,5vw,42px)!important}
  #faq .faq-cta{margin-top:24px!important}
}
@media(max-width:600px){
  #faq.faq-section{padding:62px 0 70px!important}
  #faq .faq-head h2{font-size:clamp(37px,10vw,52px)!important;line-height:1.02!important}
  #faq .faq-support{margin-top:14px!important;font-size:17px;line-height:1.5}
  #faq .faq-list{gap:10px}
  #faq .faq-item{border-radius:15px}
  #faq .faq-q{min-height:68px;padding:17px 16px!important;font-size:16px!important;gap:13px}
  #faq .faq-icon{flex-basis:36px;width:36px;height:36px}
  #faq .faq-icon i{width:13px}
  #faq .faq-a p{padding:0 16px 20px;font-size:15px;line-height:1.58}
  #faq .faq-signal{padding:23px!important;border-radius:17px}
  #faq .faq-signal h3{margin:21px 0 22px!important;font-size:31px!important}
  #faq .faq-signal-step{padding:15px 0}
}
@media(prefers-reduced-motion:reduce){
  #faq.faq-ready:not(.section-active) .faq-eyebrow,#faq.faq-ready:not(.section-active) .faq-head h2,#faq.faq-ready:not(.section-active) .faq-support,#faq.faq-ready:not(.section-active) .faq-item,#faq.faq-ready:not(.section-active) .faq-signal{opacity:1;transform:none}
  #faq.faq-ready .faq-eyebrow,#faq.faq-ready .faq-head h2,#faq.faq-ready .faq-support,#faq.faq-ready .faq-item,#faq.faq-ready .faq-signal,#faq .faq-a,#faq .faq-icon,#faq .faq-icon i{transition:none!important}
}

@media(max-width:767px){
  #pipeline.pipeline-section{padding:72px 0 84px!important}
  #pipeline .pipeline-shell{padding-inline:20px}
  #pipeline.pipeline-section::after{width:130vw;top:34%;opacity:.65}
  #pipeline .pipeline-heading{margin-bottom:36px}
  #pipeline .pipeline-heading .kicker{font-size:10px;letter-spacing:.14em}
  #pipeline .pipeline-heading h2{font-size:clamp(34px,9.5vw,52px);line-height:.96;letter-spacing:-.05em}
  #pipeline .pipeline-heading .section-sub{margin-top:18px;font-size:16px;line-height:1.55}
  #pipeline .pipeline-flow{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-height:0;margin-top:34px;padding-left:0}
  #pipeline .pipeline-flow::before{content:"";position:absolute;left:42px;top:104px;bottom:18px;width:1px;background:linear-gradient(180deg,rgba(143,193,255,.72),rgba(143,193,255,.22) 74%,rgba(143,193,255,.42));z-index:0;pointer-events:none}
  #pipeline .pipeline-line{display:none}
  #pipeline .pipeline-hub{order:-1;align-self:center;flex:0 0 auto;width:min(48vw,172px);margin:0 0 20px;padding:18px;gap:6px}
  #pipeline .pipeline-hub strong{font-size:12px;letter-spacing:.14em}
  #pipeline .pipeline-hub__rule{width:20px}
  #pipeline .pipeline-stage-list,#pipeline .pipeline-stage-list--left,#pipeline .pipeline-stage-list--right{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:18px;width:100%;margin:0;grid-column:auto;grid-row:auto}
  #pipeline .pipeline-node{min-height:0;padding:20px 18px 20px 82px;border-radius:15px}
  #pipeline .pipeline-node::after{display:none}
  #pipeline .pipeline-node__number{top:16px;right:17px;font-size:10px}
  #pipeline .pipeline-node__icon{position:absolute;left:18px;top:50%;width:48px;height:48px;margin:0;transform:translateY(-50%)}
  #pipeline .pipeline-node__icon svg{width:23px;height:23px}
  #pipeline .pipeline-node strong{font-size:18px}
  #pipeline .pipeline-node p{margin-top:6px;font-size:13px;line-height:1.45}
  #pipeline .pipeline-shell{width:100%;max-width:none!important;margin-left:0;margin-right:0;box-sizing:border-box}
  #pipeline .pipeline-heading{width:100%;max-width:none;margin-left:0;margin-right:0}
  #pipeline .pipeline-heading h2{width:100%;max-width:none;overflow-wrap:normal}
  #pipeline .pipeline-flow{width:100%;box-sizing:border-box}
  #pipeline.ws-pipeline-enhanced .pipeline-node{transform:translateY(12px)}
  #pipeline.ws-pipeline-enhanced .pipeline-node.is-visible{transform:none}
}

@media(prefers-reduced-motion:reduce){
  #pipeline .pipeline-hub,#pipeline.ws-pipeline-enhanced .pipeline-node{opacity:1!important;transform:none!important;transition:none!important}
  #pipeline .pipeline-hub.is-active{animation:none!important}
  #pipeline .pipeline-line{width:92%!important;transition:none!important}
  #pipeline .pipeline-node:hover,#pipeline .pipeline-node:focus-within{transform:none}
}

/* Connected-growth theme bridge: use the live gear tokens and reserve coral for interaction. */
#pipeline .pipeline-heading .kicker{color:var(--blue-light)}
#pipeline .pipeline-heading h2 span{color:var(--blue-light)}
#pipeline .pipeline-line{background:linear-gradient(90deg,var(--blue),var(--blue-light));box-shadow:0 0 18px rgba(var(--blue-rgb),.42)}
#pipeline .pipeline-line::after{border-color:var(--blue-light);background:var(--blue-light);box-shadow:0 0 0 5px rgba(var(--blue-rgb),.1),0 0 18px rgba(var(--blue-rgb),.7)}
#pipeline .pipeline-hub{border-color:rgba(var(--blue-rgb),.78);background:radial-gradient(circle at 35% 28%,rgba(var(--blue-rgb),.35),rgba(8,25,44,.98) 69%);box-shadow:0 0 0 8px rgba(var(--blue-rgb),.08),0 0 0 22px rgba(var(--blue-rgb),.04),0 18px 60px rgba(0,0,0,.34)}
#pipeline .pipeline-hub.is-active{box-shadow:0 0 0 8px rgba(var(--blue-rgb),.1),0 0 0 22px rgba(var(--blue-rgb),.045),0 18px 60px rgba(0,0,0,.34),0 0 48px rgba(var(--blue-rgb),.18);animation:pipelineHubPulseTheme 5.5s ease-in-out 1s infinite}
@keyframes pipelineHubPulseTheme{0%,100%{box-shadow:0 0 0 8px rgba(var(--blue-rgb),.1),0 0 0 22px rgba(var(--blue-rgb),.045),0 18px 60px rgba(0,0,0,.34),0 0 48px rgba(var(--blue-rgb),.18)}50%{box-shadow:0 0 0 10px rgba(var(--blue-rgb),.13),0 0 0 27px rgba(var(--blue-rgb),.055),0 18px 64px rgba(0,0,0,.36),0 0 58px rgba(var(--blue-rgb),.26)}}
#pipeline .pipeline-stage-list--left .pipeline-node::after,#pipeline .pipeline-stage-list--right .pipeline-node::after{background:rgba(var(--blue-rgb),.55);box-shadow:0 0 10px rgba(var(--blue-rgb),.32)}
#pipeline .pipeline-node{border-color:rgba(var(--blue-rgb),.36);background:linear-gradient(145deg,rgba(var(--blue-rgb),.18),rgba(8,22,39,.96))}
#pipeline .pipeline-node__number{color:var(--blue-light)}
#pipeline .pipeline-node__icon{border-color:rgba(var(--blue-rgb),.62);background:radial-gradient(circle,rgba(var(--blue-rgb),.23),rgba(7,21,36,.7))}
#pipeline.ws-pipeline-enhanced .pipeline-node.active{border-color:rgba(var(--blue-rgb),.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.24),0 0 22px rgba(var(--blue-rgb),.11)}
#pipeline .pipeline-node:hover,#pipeline .pipeline-node:focus-within{border-color:var(--coral);background:linear-gradient(145deg,rgba(var(--coral-rgb),.14),rgba(8,22,39,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 42px rgba(0,0,0,.25),0 0 28px rgba(var(--coral-rgb),.2);transform:translateY(-4px)}
#pipeline .pipeline-node:hover::after,#pipeline .pipeline-node:focus-within::after{background:var(--coral);box-shadow:0 0 12px rgba(var(--coral-rgb),.48)}
#pipeline .pipeline-node:hover .pipeline-node__number,#pipeline .pipeline-node:focus-within .pipeline-node__number{color:var(--coral)}
#pipeline .pipeline-node:hover .pipeline-node__icon,#pipeline .pipeline-node:focus-within .pipeline-node__icon{border-color:var(--coral);color:var(--coral);background:radial-gradient(circle,rgba(var(--coral-rgb),.2),rgba(7,21,36,.7));box-shadow:0 0 20px rgba(var(--coral-rgb),.24)}
#pipeline .pipeline-node--client{border-color:rgba(var(--blue-rgb),.36);background:linear-gradient(145deg,rgba(var(--blue-rgb),.18),rgba(8,22,39,.96))}
#pipeline .pipeline-node--client .pipeline-node__number{color:var(--blue-light)}
#pipeline .pipeline-node--client .pipeline-node__icon{border-color:rgba(var(--blue-rgb),.62);color:#edf6ff;background:radial-gradient(circle,rgba(var(--blue-rgb),.23),rgba(7,21,36,.7))}
#pipeline .pipeline-node--client:hover,#pipeline .pipeline-node--client:focus-within{border-color:var(--coral);background:linear-gradient(145deg,rgba(var(--coral-rgb),.14),rgba(8,22,39,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 42px rgba(0,0,0,.25),0 0 28px rgba(var(--coral-rgb),.2)}
#pipeline .pipeline-node--client:hover .pipeline-node__icon,#pipeline .pipeline-node--client:focus-within .pipeline-node__icon{border-color:var(--coral);color:var(--coral);background:radial-gradient(circle,rgba(var(--coral-rgb),.2),rgba(7,21,36,.7));box-shadow:0 0 20px rgba(var(--coral-rgb),.24)}
@media(max-width:767px){
  #pipeline .pipeline-shell{width:100%;max-width:none!important;margin:0;padding-left:20px!important;padding-right:20px!important;box-sizing:border-box}
  #pipeline .pipeline-heading{width:100%;max-width:none;margin-left:0;margin-right:0}
  #pipeline .pipeline-heading h2{width:100%;max-width:none;overflow-wrap:normal}
  #pipeline .pipeline-heading .section-sub{width:100%;max-width:none;margin-left:0!important;margin-right:0!important}
  #pipeline .pipeline-flow{width:100%;padding-left:0;box-sizing:border-box}
  #pipeline .pipeline-stage-list{width:100%;max-width:none}
  #pipeline .pipeline-node{width:100%;box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){#pipeline .pipeline-hub.is-active{animation:none!important}}

/* Keep the structural connector blue; only the hovered point/card uses the coral accent. */
#pipeline .pipeline-node:hover::after,
#pipeline .pipeline-node:focus-within::after{background:rgba(var(--blue-rgb),.55);box-shadow:0 0 10px rgba(var(--blue-rgb),.32)}

/* Use short gap connectors and a quiet rounded loop instead of a line bleeding through cards. */
#pipeline .pipeline-line{display:none!important}
#pipeline .pipeline-node::before{content:""!important;position:absolute;top:50%;width:14px;height:14px;border:1px solid var(--blue-light);border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(var(--blue-rgb),.12),0 0 14px rgba(var(--blue-rgb),.55);transform:translateY(-50%);z-index:3;pointer-events:none;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}
#pipeline .pipeline-stage-list--left .pipeline-node::before{right:calc(clamp(14px,1.7vw,28px) / -2 - 7px)}
#pipeline .pipeline-stage-list--right .pipeline-node::before{left:calc(clamp(14px,1.7vw,28px) / -2 - 7px)}
#pipeline .pipeline-node:hover::before,#pipeline .pipeline-node:focus-within::before{border-color:var(--coral);background:var(--coral);box-shadow:0 0 0 4px rgba(var(--coral-rgb),.12),0 0 16px rgba(var(--coral-rgb),.58)}
#pipeline .pipeline-node::after{z-index:1}
#pipeline .pipeline-node{overflow:visible}
#pipeline .pipeline-node::after{inset:auto;top:50%;width:clamp(14px,1.7vw,28px);height:1px}
#pipeline .pipeline-stage-list--left .pipeline-node::after{left:100%;right:auto}
#pipeline .pipeline-stage-list--right .pipeline-node::after{left:auto;right:100%}
#pipeline .pipeline-hub{box-shadow:0 0 0 9px rgba(var(--blue-rgb),.12),0 0 0 24px rgba(var(--blue-rgb),.06),0 0 42px rgba(var(--blue-rgb),.3),0 18px 60px rgba(0,0,0,.34)}
#pipeline .pipeline-hub.is-active{box-shadow:0 0 0 9px rgba(var(--blue-rgb),.14),0 0 0 24px rgba(var(--blue-rgb),.07),0 0 54px rgba(var(--blue-rgb),.42),0 18px 60px rgba(0,0,0,.34);animation:pipelineHubPulseNeon 4.8s ease-in-out 1s infinite}
@keyframes pipelineHubPulseNeon{0%,100%{box-shadow:0 0 0 9px rgba(var(--blue-rgb),.12),0 0 0 24px rgba(var(--blue-rgb),.06),0 0 42px rgba(var(--blue-rgb),.3),0 18px 60px rgba(0,0,0,.34)}50%{box-shadow:0 0 0 12px rgba(var(--blue-rgb),.18),0 0 0 30px rgba(var(--blue-rgb),.09),0 0 72px rgba(var(--blue-rgb),.58),0 18px 64px rgba(0,0,0,.36)}}
@media(min-width:1200px){
  #pipeline .pipeline-stage-list{isolation:isolate}
  #pipeline .pipeline-stage-list::before{content:"";position:absolute;inset:-40px 12% -40px 12%;z-index:0;border:1px solid rgba(var(--blue-rgb),.48);border-radius:120px;box-shadow:0 0 20px rgba(var(--blue-rgb),.08);pointer-events:none}
  #pipeline .pipeline-stage-list>.pipeline-node{z-index:1}
}
@media(max-width:767px){
  #pipeline .pipeline-node::before{display:none!important}
}

/* Homepage mascot: centered right-column visual, matching the approved hero reference. */
.hero-content{max-width:990px;padding-left:32px;padding-right:32px}
.hero-content h1{max-width:720px;font-size:clamp(42px,3.2vw,52px);line-height:1.02}
.hero-content .hero-sub{max-width:560px;font-size:17px;line-height:1.55}
.hero-content .terminal-panel{max-width:384px}
.hero-visual{position:absolute;z-index:2;left:72%;right:auto;top:0;transform:translateX(-50%);width:min(48vw,760px);height:100%;min-height:520px;display:grid;place-items:center;overflow:visible;pointer-events:auto}
.hero-visual-glow{position:absolute;left:50%;top:50%;width:min(58%,520px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(39,131,222,.28) 0%,rgba(39,131,222,.12) 38%,transparent 72%);pointer-events:none}
.hero-mascot{position:relative;z-index:2;width:100%;height:100%;display:grid;place-items:center;opacity:1;transform:translateY(-3%);pointer-events:auto}
.hero-mascot canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-mascot img{position:absolute;width:min(28vw,300px);height:auto;object-fit:contain;opacity:.2;filter:drop-shadow(0 0 28px rgba(94,159,232,.42));transition:opacity .35s ease}
.hero-mascot img[hidden],.hero-mascot canvas[hidden]{display:none}
.hero-mascot-label{position:absolute;right:8%;bottom:14%;z-index:4;padding:8px 11px;border:1px solid rgba(143,193,255,.22);border-radius:999px;background:rgba(7,11,18,.55);color:#83a9d1;font:700 9px/1 var(--font-mono);letter-spacing:.12em;opacity:.7;pointer-events:none}
.hero-visual .float-card{z-index:4;pointer-events:none}
.hero-visual .fc1{top:18%;right:0}
.hero-visual .fc2{bottom:16%;right:9%}
@media(max-width:900px){.hero-content{max-width:900px}.hero-visual{left:72%;right:auto;transform:translateX(-50%);width:52vw}.hero-mascot-label{right:8%;bottom:12%;font-size:8px}.hero-mascot img{width:34vw}}
@media(max-width:768px){.hero-pin{height:auto}.hero{position:relative;height:auto;min-height:0;padding:128px 0 56px;display:flex;flex-direction:column;align-items:stretch}.hero-content{order:1;max-width:none;padding-left:20px;padding-right:20px}.hero-visual{position:relative;left:50%;right:auto;transform:translateX(-50%);order:2;top:auto;width:100%;height:340px;min-height:340px;margin-top:18px;place-items:center}.hero-visual-glow{width:280px}.hero-mascot{width:100%;height:100%;opacity:1}.hero-mascot-label{right:12%;bottom:7%}.hero-mascot img{width:170px}.hero-mascot canvas{inset:0}.hero-visual .float-card{display:none}}
@media(max-width:768px){.hero-visual-glow{display:none}.hero-mascot img{opacity:.8;filter:none}}
@media(prefers-reduced-motion:reduce){.hero-mascot canvas{display:none}.hero-mascot img{opacity:.72;transition:none}.hero-visual-glow{display:none}}

/* Keyboard access and device-safe fixed controls. */
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:10px 14px;border:1px solid var(--blue);border-radius:8px;background:#07101b;color:#fff;font:700 12px/1 var(--font-mono);text-decoration:none;transform:translateY(-180%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
@media(max-width:600px){
  nav.ws-global-nav{padding-top:calc(10px + env(safe-area-inset-top))}
  .whatsapp-fab{bottom:calc(18px + env(safe-area-inset-bottom));right:calc(18px + env(safe-area-inset-right))}
  .audio-fab{bottom:calc(18px + env(safe-area-inset-bottom));right:calc(82px + env(safe-area-inset-right))}
  .sys-fab{right:calc(12px + env(safe-area-inset-right))}
}
.portfolio-shot{will-change:auto}
/* Scroll work stays on transform/opacity; do not promote filter or image
   painting into the scroll frame. */
.portfolio-story-card{transition-property:transform,border-color,box-shadow!important;filter:none!important}
.ws-case-card-media img,.ws-project-entry img{transition-property:transform,opacity!important}

/* Keep the approved white logo state without changing the dark header surface. */
.logo-full--white{display:none!important}
nav.ws-global-nav.is-scrolled .logo-full--default{display:none!important}
nav.ws-global-nav.is-scrolled .logo-full--white{display:block!important}

/* Final mobile QA pass: keep the header and connected-growth cards inside
   the viewport at narrow phone widths without changing the desktop layout. */
@media (max-width: 600px){
  nav.ws-global-nav{
    padding-top:12px;
    padding-right:max(16px, env(safe-area-inset-right));
    padding-bottom:12px;
    padding-left:max(16px, env(safe-area-inset-left));
    min-height:64px;
    gap:8px;
  }
  .ws-global-nav .logo-block{min-width:0;flex:1 1 auto}
  .ws-global-nav .logo-full{height:36px!important;max-width:clamp(112px,36vw,170px);object-fit:contain;object-position:left center}
  .ws-global-nav .login-btn{margin-left:auto;margin-right:2px;padding:8px 9px;font-size:12px;line-height:1;flex:0 0 auto}
  .ws-global-nav .nav-toggle{width:32px;height:32px;margin-left:2px;flex:0 0 32px}
  .mobile-menu{top:64px}
}

@media (max-width: 767px){
  #pipeline.pipeline-section{overflow:clip}
  #pipeline .pipeline-shell,
  #pipeline .pipeline-heading,
  #pipeline .pipeline-flow,
  #pipeline .pipeline-stage-list,
  #pipeline .pipeline-node{min-width:0}
  #pipeline .pipeline-heading h2{font-size:clamp(32px,10vw,48px);line-height:1.01;letter-spacing:-.045em;text-wrap:balance}
  #pipeline .pipeline-heading .section-sub{font-size:clamp(15px,4.2vw,18px);line-height:1.5}
  #pipeline .pipeline-flow{gap:16px;margin-top:28px}
  #pipeline .pipeline-flow::before{left:37px;top:92px;bottom:16px}
  #pipeline .pipeline-hub{width:min(46vw,168px);margin-bottom:8px}
  #pipeline .pipeline-node{min-height:92px;padding:18px 40px 18px 78px}
  #pipeline .pipeline-node__icon{left:17px;width:46px;height:46px}
  #pipeline .pipeline-node strong{font-size:clamp(16px,4.8vw,19px);line-height:1.15}
  #pipeline .pipeline-node p{margin-top:6px;max-width:34ch;font-size:clamp(12px,3.5vw,14px);line-height:1.45}
  #pipeline .pipeline-node__number{top:15px;right:15px;font-size:9px}
}

@media (max-width: 390px){
  #pipeline .pipeline-shell{padding-left:16px!important;padding-right:16px!important}
  #pipeline .pipeline-heading h2{font-size:clamp(30px,9.8vw,40px)}
  #pipeline .pipeline-heading .section-sub{font-size:15px}
  #pipeline .pipeline-flow::before{left:36px}
  #pipeline .pipeline-node{padding-left:72px;padding-right:34px}
  #pipeline .pipeline-node__icon{left:15px;width:42px;height:42px}
  #pipeline .pipeline-node__icon svg{width:21px;height:21px}
  #pipeline .pipeline-node strong{font-size:16px}
  #pipeline .pipeline-node p{font-size:12px}
}

/* Keep featured case-study cards visually separate on phones. */
@media (max-width:860px){
  .portfolio-story{display:flex!important;flex-direction:column!important;gap:0!important}
  .portfolio-story-card{position:relative!important;top:auto!important;margin:0 0 24px!important}
  .portfolio-story-card:last-child{margin-bottom:0!important}
}

/* About editorial text-invert: one full-width paragraph, scoped so the rest of the site is untouched. */
.ws-about-redesign{--about-muted:#5a6574;--about-ink:#f7f9fd;--about-blue:var(--blue-light);position:relative;isolation:isolate;overflow:hidden;min-height:clamp(680px,100svh,980px);padding:clamp(84px,10vw,150px) 0 clamp(92px,11vw,150px);border-block:1px solid rgba(143,193,255,.12);background:radial-gradient(circle at 78% 16%,rgba(39,131,222,.12),transparent 33%),linear-gradient(135deg,#060a11 0%,#081321 62%,#060d17 100%)}
.ws-about-redesign::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(143,193,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(143,193,255,.04) 1px,transparent 1px);background-size:clamp(52px,5vw,90px) clamp(52px,5vw,90px);mask-image:linear-gradient(180deg,#000,transparent 92%)}
.ws-about-redesign::after{content:"";position:absolute;z-index:-1;right:-24vw;top:-42vw;width:74vw;height:74vw;border:1px solid rgba(94,159,232,.18);border-radius:50%;pointer-events:none}
.ws-about-shell{position:relative;width:100%;max-width:1600px;min-height:clamp(500px,72vh,760px);margin:0 auto;padding-inline:clamp(20px,5vw,96px)}
.ws-about-main{width:100%;max-width:1460px;margin:0 auto}
.ws-about-main .kicker{margin:0 0 18px;color:var(--about-blue);font:700 12px/1.35 var(--font-mono);letter-spacing:.14em}
.ws-about-rule{display:block;width:30px;height:1px;margin-bottom:clamp(28px,4vw,52px);background:var(--about-blue);box-shadow:0 0 12px rgba(var(--blue-rgb),.38)}
.ws-about-main h1,.ws-about-main h2{margin:0;color:var(--about-ink);font-size:clamp(56px,6vw,82px);font-weight:500;line-height:1.02;letter-spacing:-.055em}
.ws-about-copy{max-width:1400px;margin:clamp(44px,6vw,76px) 0 0;color:var(--about-muted);font-size:clamp(42px,5vw,82px);font-weight:450;line-height:1.08;letter-spacing:-.055em}
.ws-about-word{display:inline;color:#5b6470;transition:color .22s linear;white-space:normal}
.ws-about-word.is-active{color:#f4f7fc}
.ws-about-word.is-complete{color:#fff}
@media (min-width:861px) and (max-width:1199px){.ws-about-redesign{min-height:760px}.ws-about-shell{min-height:620px;padding-inline:clamp(32px,6vw,72px)}.ws-about-main h1,.ws-about-main h2{font-size:clamp(48px,6vw,64px)}.ws-about-copy{font-size:clamp(42px,5vw,60px);line-height:1.1}}
@media (max-width:860px){.ws-about-redesign{min-height:0;padding:76px 0 92px}.ws-about-shell{min-height:0;padding-inline:20px}.ws-about-main h1,.ws-about-main h2{font-size:clamp(42px,8.8vw,60px);line-height:1.04}.ws-about-copy{margin-top:34px;font-size:clamp(28px,6.1vw,42px);line-height:1.13;letter-spacing:-.045em}}
@media (max-width:480px){.ws-about-redesign{padding-block:64px 78px}.ws-about-shell{padding-inline:18px}.ws-about-main h1,.ws-about-main h2{font-size:clamp(32px,9.6vw,42px)}.ws-about-copy{margin-top:28px;font-size:clamp(28px,8.2vw,36px);line-height:1.16;letter-spacing:-.04em}}
@media (prefers-reduced-motion:reduce){.ws-about-word{transition:none}}

/* About page replacement block: preserve the original two-column section shell while animating only its editorial copy. */
.ws-about-block{position:relative;background:radial-gradient(circle at 86% 18%,rgba(39,131,222,.1),transparent 36%),#070b12;border-block:1px solid rgba(143,193,255,.1)}
.ws-about-block>.ws-section-heading{display:block;margin:0;min-width:0}
.ws-about-block>.ws-section-heading .kicker{max-width:300px;color:var(--blue);font-size:12px;line-height:1.55;letter-spacing:.16em}
.ws-about-block>.ws-section-heading h2{max-width:520px;margin-top:42px;color:#f5f8ff;font-size:clamp(54px,6.1vw,88px);font-weight:700;line-height:.96;letter-spacing:-.06em}
.ws-about-invert-copy{min-width:0;padding-top:8px}
.ws-about-invert-text{max-width:900px;margin:0;color:#5b6470;font-size:clamp(28px,3.2vw,54px);font-weight:450;line-height:1.2;letter-spacing:-.04em}
.ws-about-invert-text .ws-about-word{display:inline;color:#5b6470;transition:color .22s linear;background:transparent!important;box-shadow:none!important}
.ws-about-invert-text .ws-about-word.is-active{color:#f4f7fc}.ws-about-invert-text .ws-about-word.is-complete{color:#fff}
@media (min-width:861px) and (max-width:1199px){.ws-about-block>.ws-section-heading h2{font-size:clamp(48px,6vw,68px)}.ws-about-invert-text{font-size:clamp(28px,3.5vw,46px)}}
@media (max-width:860px){.ws-about-block{display:block!important}.ws-about-block>.ws-section-heading{margin-bottom:38px}.ws-about-block>.ws-section-heading h2{max-width:620px;margin-top:24px;font-size:clamp(42px,8.8vw,60px)}.ws-about-invert-copy{padding-top:0}.ws-about-invert-text{max-width:none;font-size:clamp(28px,6.1vw,42px);line-height:1.16;letter-spacing:-.045em}}
@media (max-width:480px){.ws-about-block{padding-top:56px!important;padding-bottom:70px!important}.ws-about-block>.ws-section-heading h2{font-size:clamp(34px,9.6vw,44px)}.ws-about-invert-text{font-size:clamp(28px,8.2vw,36px);line-height:1.18}}
.wheel-panel .wheel-title{margin:8px 0 16px;font-size:26px}.ws-home #services .wheel-panel .wheel-title{font-size:clamp(28px,3.2vw,46px);line-height:1;margin:12px 0 22px}
/* CMS-managed social profiles in the public footer. */
.ws-social-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.ws-social-label{color:#73869e;font:700 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.ws-social-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(143,193,255,.18);border-radius:999px;color:#cdd9e8;font:600 11px/1 var(--font-mono);letter-spacing:.06em;text-decoration:none;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}
.ws-social-link:hover,.ws-social-link:focus-visible{color:#fff;border-color:rgba(143,193,255,.58);background:rgba(94,159,232,.14);transform:translateY(-2px)}
.ws-social-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--blue-light)}
.ws-social-icon svg{display:block;width:18px;height:18px}
.ws-global-footer .ws-social-links{margin-top:16px}
@media(max-width:520px){.ws-social-links{gap:8px}.ws-social-link{padding:8px 10px;font-size:10px}}

/* Case-study walkthrough media. Videos stay inside the single project page;
   the poster keeps the section useful before playback and on slow networks. */
.ws-case-video{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);align-items:center;gap:clamp(28px,6vw,92px);padding-top:clamp(58px,8vw,110px);padding-bottom:clamp(58px,8vw,110px)}
.ws-case-video-copy h2{font-size:clamp(34px,4.5vw,68px);line-height:1;letter-spacing:-.045em;margin:18px 0}.ws-case-video-copy p:last-child{color:#9baabd;line-height:1.7;max-width:38ch}
.ws-case-video-frame{position:relative;overflow:hidden;border:1px solid rgba(143,193,255,.2);border-radius:24px;background:#080f1a;box-shadow:0 35px 90px rgba(0,0,0,.34);aspect-ratio:16/9}.ws-case-video-player{display:block;width:100%;height:100%;object-fit:cover}.ws-case-video-toggle{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:10px;transform:translate(-50%,-50%);padding:13px 18px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(7,14,24,.78);backdrop-filter:blur(12px);color:#fff;font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.ws-case-video-toggle:hover,.ws-case-video-toggle:focus-visible{background:rgba(33,117,204,.84);border-color:#fff;transform:translate(-50%,-50%) scale(1.04)}.ws-case-video-toggle.is-playing{opacity:.72}.ws-case-video-icon{font-size:13px}.ws-case-video-toggle.is-playing .ws-case-video-icon{font-size:0}.ws-case-video-toggle.is-playing .ws-case-video-icon::before{content:'Ⅱ';font-size:13px}
@media(max-width:760px){.ws-case-video{grid-template-columns:1fr;gap:28px}.ws-case-video-frame{border-radius:17px}.ws-case-video-toggle{padding:12px 15px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.ws-case-video-toggle{transition:none}}
/* The public case-study view uses one approved mockup instead of the old gallery. */
.ws-case-mockup{padding-top:clamp(58px,8vw,110px);padding-bottom:clamp(58px,8vw,110px)}
.ws-case-mockup .ws-section-heading{max-width:760px;margin-bottom:28px}
.ws-case-mockup .ws-section-heading h2{font-size:clamp(34px,4.5vw,68px);line-height:1;letter-spacing:-.045em;margin:18px 0 14px}
.ws-case-mockup .ws-section-heading p:last-child{max-width:58ch;color:#9baabd;line-height:1.7}
.ws-case-mockup-frame{margin:0;border:1px solid rgba(143,193,255,.22);border-radius:24px;overflow:hidden;background:#080f1a;box-shadow:0 35px 90px rgba(0,0,0,.34)}
.ws-case-mockup-frame img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;background:#080f1a}
@media(max-width:760px){.ws-case-mockup{padding-top:54px;padding-bottom:64px}.ws-case-mockup-frame{border-radius:17px}.ws-case-mockup .ws-section-heading h2{font-size:38px}}
html.ws-soft-navigating main{opacity:.45;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}
html:not(.ws-soft-navigating) main{transition:opacity .28s ease,transform .28s ease}

/* Delivery Systems v1 — intentionally scoped; the page background is untouched. */
#services-detail {
  --ws-panel: rgba(var(--blue-rgb),.12);
  --ws-panel-deep: rgba(var(--blue-rgb),.2);
  --ws-blue: var(--blue);
  --ws-cyan: var(--blue-light);
  --ws-violet: var(--blue-2);
  --ws-text: #f5f8ff;
  --ws-muted: #a8b4c8;
  --ws-border: rgba(var(--blue-rgb),.28);
  --ws-glow: rgba(var(--blue-rgb),.44);
  --ws-ease: cubic-bezier(.22,1,.36,1);
}
#services-detail > .wrap { max-width:1200px; width:calc(100% - 64px); padding:0; margin-inline:auto; }
#services-detail .ws-ds-heading { margin-bottom:40px; max-width:830px; }
#services-detail .kicker { color:var(--ws-cyan); letter-spacing:.14em; margin:0 0 18px; }
#services-detail .ws-ds-heading h2 { font-size:clamp(1.65rem,2.6vw,2.5rem); line-height:1.2; letter-spacing:-.035em; margin:0 0 18px; color:var(--ws-text); }
#services-detail .ws-ds-summary { margin:0; color:#b7c2d3; font-size:17px; line-height:1.65; max-width:77ch; }
#services-detail .ws-ds-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:28px; align-items:start; }
#services-detail .ws-ds-tabs { display:none; }
#services-detail.ws-ds-ready .ws-ds-tabs { display:flex; flex-direction:column; gap:10px; }
#services-detail .ws-ds-tab { position:relative; display:flex; align-items:center; gap:15px; min-height:62px; width:100%; padding:13px 18px; margin:0; border:1px solid rgba(var(--blue-rgb),.2); border-radius:15px; background:var(--ws-panel); box-shadow:inset 0 1px 0 rgba(203,224,255,.045); color:var(--ws-muted); font-family:inherit; font-size:14px; font-weight:600; line-height:1.35; text-align:left; cursor:pointer; isolation:isolate; transition:background .24s var(--ws-ease),border-color .24s var(--ws-ease),box-shadow .24s var(--ws-ease),transform .24s var(--ws-ease),color .24s; }
#services-detail .ws-ds-tab svg { width:100%; height:100%; display:block; }
#services-detail .ws-ds-icon { width:28px; height:28px; flex:0 0 28px; color:#b4c4de; transition:color .24s; }
#services-detail .ws-ds-name { flex:1; min-width:0; }
#services-detail .ws-ds-indicator { position:relative; width:17px; height:17px; flex:0 0 17px; color:#7c9fc9; }
#services-detail .ws-ds-indicator i { display:none; }
#services-detail .ws-ds-tab.is-active { border-color:var(--ws-blue); background:linear-gradient(90deg,rgba(var(--blue-rgb),.95),rgba(var(--blue-rgb),.34)); box-shadow:0 0 17px var(--ws-glow),0 0 30px rgba(var(--blue-rgb),.1),inset 0 1px 0 rgba(153,235,255,.24); color:#fff; }
#services-detail .ws-ds-tab.is-active .ws-ds-icon { color:var(--ws-cyan); filter:drop-shadow(0 0 5px var(--ws-glow)); }
#services-detail .ws-ds-tab.is-active .ws-ds-indicator svg { display:none; }
#services-detail .ws-ds-tab.is-active .ws-ds-indicator i { position:absolute; display:block; width:8px; height:8px; top:50%; left:50%; margin:-4px; background:var(--ws-cyan); border-radius:50%; box-shadow:0 0 10px var(--ws-cyan); }
#services-detail .ws-ds-tab.is-active .ws-ds-indicator::before,
#services-detail .ws-ds-tab.is-active .ws-ds-indicator::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(var(--blue-rgb),.38); border-radius:50%; pointer-events:none; }
#services-detail .ws-ds-tab.is-active .ws-ds-indicator::after { inset:-12px; opacity:.38; }
#services-detail .ws-ds-panels { min-width:0; display:grid; gap:24px; }
#services-detail:not(.ws-ds-ready) .ws-ds-layout { grid-template-columns:1fr; }
#services-detail.ws-ds-ready .ws-ds-panels { gap:0; }
#services-detail .ws-ds-panel { position:relative; min-width:0; min-height:500px; padding:32px; border:1px solid var(--ws-border); border-radius:24px; color:var(--ws-text); background:linear-gradient(135deg,rgba(var(--blue-rgb),.18),rgba(7,15,31,.9)); box-shadow:0 0 30px var(--ws-glow),inset 0 1px 0 rgba(154,201,255,.14); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); display:flex; flex-direction:column; }
#services-detail.ws-ds-ready .ws-ds-panel { grid-area:1 / 1; visibility:hidden; pointer-events:none; opacity:0; }
#services-detail.ws-ds-ready .ws-ds-panel.is-active { visibility:visible; pointer-events:auto; opacity:1; z-index:1; }
#services-detail.ws-ds-ready .ws-ds-panel.is-leaving { visibility:visible; z-index:0; }
#services-detail .ws-ds-panel::before { content:""; position:absolute; top:-1px; left:14%; right:9%; height:1px; background:linear-gradient(90deg,transparent,var(--ws-blue),var(--ws-cyan),transparent); box-shadow:0 0 12px var(--ws-glow); pointer-events:none; }
#services-detail .ws-ds-meta { display:flex; justify-content:space-between; align-items:center; gap:15px; color:var(--ws-cyan); font-family:var(--font-mono,ui-monospace,monospace); font-size:12px; letter-spacing:.14em; line-height:1.5; margin-bottom:21px; }
#services-detail .ws-ds-motto { display:flex; align-items:center; gap:12px; font-size:9px; color:#819cbe; white-space:nowrap; }
#services-detail .ws-ds-motto::before, #services-detail .ws-ds-motto::after { content:""; width:22px; height:1px; background:var(--ws-border); }
#services-detail .ws-ds-panel h3 { font-family:inherit; font-size:clamp(2.25rem,3.3vw,3rem); text-transform:uppercase; font-weight:750; line-height:1.06; letter-spacing:-.04em; margin:0; overflow-wrap:break-word; color:var(--ws-text); }
#services-detail .ws-ds-accent { position:relative; display:block; width:154px; max-width:60%; height:2px; margin-top:19px; background:linear-gradient(90deg,var(--ws-blue),var(--ws-cyan),rgba(var(--blue-rgb),0)); }
#services-detail .ws-ds-accent::after { display:none; }
/* Services orbit redesign — scoped to the existing Capabilities section. */
#services .ws-orbit-block {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(38px,6vw,82px);
  align-items:center;
  max-width:1260px;
  margin:clamp(46px,6vw,72px) auto 0;
  position:relative;
  min-width:0;
}
#services .service-orbit-column {
  min-width:0;
  width:100%;
  display:grid;
  place-items:center;
}
#services .ws-orbit-scene {
  position:relative;
  width:min(100%,520px);
  aspect-ratio:1;
  box-sizing:border-box;
  min-width:0;
  margin:0 auto;
  overflow:hidden;
  isolation:isolate;
}
#services .ws-orbit-rings,
#services .ws-orbit-lines,
#services .ws-orbit-data {
  position:absolute;
  inset:0;
  pointer-events:none;
}
#services .ws-orbit-ring {
  position:absolute;
  border:1px solid rgba(74,139,237,.36);
  border-radius:50%;
  pointer-events:none;
}
#services .ws-orbit-ring--outer { inset:6%; box-shadow:0 0 34px rgba(52,120,255,.09); }
#services .ws-orbit-ring--mid { inset:14%; border-style:dashed; border-color:rgba(63,135,246,.42); }
#services .ws-orbit-ring--inner { inset:27%; border-color:rgba(0,229,255,.27); box-shadow:0 0 24px rgba(0,188,255,.12); }
#services .ws-orbit-ring--mid::after {
  content:"";
  position:absolute;
  inset:7%;
  border:1px dotted rgba(118,92,255,.26);
  border-radius:50%;
}
#services .ws-orbit-cross { position:absolute; width:20px; height:20px; opacity:.6; }
#services .ws-orbit-cross::before,
#services .ws-orbit-cross::after { content:""; position:absolute; background:rgba(80,147,255,.52); }
#services .ws-orbit-cross::before { width:20px; height:1px; top:9px; }
#services .ws-orbit-cross::after { width:1px; height:20px; left:9px; }
#services .ws-orbit-cross--one { left:8%; top:48%; }
#services .ws-orbit-cross--two { right:8%; top:21%; transform:scale(.72); }
#services .ws-orbit-lines { position:absolute; inset:6%; width:88%; height:88%; overflow:visible; z-index:1; }
#services .ws-orbit-lines circle,
#services .ws-orbit-lines path { fill:none; stroke:rgba(76,145,255,.42); stroke-width:1; vector-effect:non-scaling-stroke; }
#services .ws-orbit-lines circle:nth-child(2) { stroke:rgba(0,211,255,.34); }
#services .ws-orbit-lines path { stroke:rgba(77,151,255,.2); stroke-dasharray:3 8; }
#services .ws-orbit-data-dot {
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#62dfff;
  box-shadow:0 0 9px rgba(0,229,255,.9);
  animation:wsOrbitData 3.8s ease-in-out infinite;
}
#services .ws-orbit-data-dot--a { left:14%; top:45%; animation-delay:-.7s; }
#services .ws-orbit-data-dot--b { left:27%; top:11%; animation-delay:-2.2s; }
#services .ws-orbit-data-dot--c { left:86%; top:34%; animation-delay:-1.4s; }
#services .ws-orbit-data-dot--d { left:76%; top:84%; animation-delay:-3.1s; }
#services .ws-orbit-data-dot--e { left:50%; top:91%; animation-delay:-1.9s; }
#services .ws-orbit-data-dot--f { left:10%; top:72%; animation-delay:-2.7s; }
@keyframes wsOrbitData { 0%,100% { opacity:.38; transform:scale(.75); } 50% { opacity:1; transform:scale(1.28); } }

#services .ws-orbit-center {
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:clamp(150px,34%,190px);
  height:clamp(150px,34%,190px);
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
}
#services .ws-orbit-center-glow {
  position:absolute;
  inset:-17px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(52,120,255,.31) 0 34%,rgba(0,229,255,.12) 48%,rgba(118,92,255,.08) 63%,transparent 73%);
  filter:blur(11px);
  opacity:.78;
  pointer-events:none;
}
#services .ws-orbit-center-ring {
  position:absolute;
  inset:-4px;
  border:2px solid var(--ws-cyan,#00e5ff);
  border-radius:50%;
  box-shadow:0 0 18px rgba(0,229,255,.62),0 0 42px rgba(52,120,255,.36),inset 0 0 18px rgba(0,229,255,.24);
  animation:wsOrbitHub 5.5s ease-in-out infinite;
}
#services .ws-orbit-center-ring::after {
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(118,92,255,.58);
  border-radius:50%;
}
#services .ws-orbit-center-core {
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  border:1px solid rgba(75,150,255,.55);
  border-radius:50%;
  background:radial-gradient(circle at 32% 22%,rgba(35,100,235,.4),rgba(10,22,45,.94) 58%,rgba(7,15,31,.98));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-shadow:inset 0 1px 0 rgba(214,237,255,.17),0 18px 38px rgba(0,0,0,.32);
}
#services .ws-orbit-center-core::before {
  content:"";
  position:absolute;
  width:32px;
  height:15px;
  top:21px;
  left:32px;
  border-radius:50%;
  background:rgba(192,233,255,.19);
  filter:blur(5px);
  transform:rotate(-32deg);
}
#services .ws-orbit-center-core img { width:62px; height:62px; object-fit:contain; margin-bottom:3px; filter:drop-shadow(0 0 10px rgba(49,143,255,.4)); }
#services .ws-orbit-center-core strong { color:#f5f8ff; font-size:20px; line-height:1; letter-spacing:.02em; }
#services .ws-orbit-center-core > span:not(.ws-orbit-center-points) { color:#6daeff; font:700 10px/1 var(--font-mono); letter-spacing:.17em; text-transform:uppercase; }
#services .ws-orbit-center-points { display:flex; gap:6px; margin-top:10px; }
#services .ws-orbit-center-points i { width:5px; height:5px; border-radius:50%; background:#3478ff; box-shadow:0 0 7px rgba(52,120,255,.65); }
#services .ws-orbit-center-points i:first-child { background:var(--ws-cyan,#00e5ff); box-shadow:0 0 8px rgba(0,229,255,.85); }
#services .ws-orbit-center-points i:nth-child(3) { opacity:.45; }
#services .ws-orbit-center-points i:nth-child(4) { opacity:.22; }
@keyframes wsOrbitHub { 0%,100% { opacity:.7; transform:scale(.99); } 50% { opacity:1; transform:scale(1.015); } }

#services .ws-orbit-nodes { position:absolute; inset:0; z-index:5; }
#services .ws-orbit-node {
  position:absolute;
  left:var(--orbit-left);
  top:var(--orbit-top);
  width:clamp(76px,18%,108px);
  height:clamp(76px,18%,108px);
  padding:0;
  border:0;
  border-radius:50%;
  background:none;
  color:#c2ccdc;
  cursor:pointer;
  overflow:visible;
  transform:translate(-50%,-50%);
  transition:transform .26s cubic-bezier(.22,1,.36,1);
}
/* One safe coordinate system for every viewport. The node itself owns only
   the icon circle; its title is a separate layer below it. */
#services .ws-orbit-node--meta { --orbit-left:50%; --orbit-top:16%; }
#services .ws-orbit-node--hosting { --orbit-left:77%; --orbit-top:21%; }
#services .ws-orbit-node--web { --orbit-left:81%; --orbit-top:50%; }
#services .ws-orbit-node--platforms { --orbit-left:77%; --orbit-top:79%; }
#services .ws-orbit-node--erp { --orbit-left:50%; --orbit-top:81%; }
#services .ws-orbit-node--seo { --orbit-left:23%; --orbit-top:79%; }
#services .ws-orbit-node--google { --orbit-left:19%; --orbit-top:50%; }
#services .ws-orbit-node-circle {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(125,165,225,.28);
  border-radius:50%;
  background:radial-gradient(circle at 34% 24%,rgba(23,47,86,.94),rgba(10,20,42,.84) 69%);
  box-shadow:0 12px 24px rgba(0,0,0,.32),0 0 13px rgba(52,120,255,.1),inset 0 1px 0 rgba(198,224,255,.11);
  transition:background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
#services .ws-orbit-node-icon { position:absolute; inset:0; display:grid; place-items:center; width:100%; height:100%; padding:0; color:#c2ccdc; transition:color .22s ease,filter .22s ease; }
#services .ws-orbit-svg { width:34px; height:34px; display:block; }
#services .ws-orbit-svg--meta { width:41px; height:41px; }
#services .ws-orbit-svg--google { width:36px; height:36px; }
#services .ws-orbit-node-label {
  position:absolute;
  left:50%;
  top:calc(100% + var(--label-gap,8px));
  transform:translateX(-50%);
  z-index:30;
  display:block;
  width:max-content;
  max-width:110px;
  padding:5px 9px;
  border:1px solid rgba(74,140,220,.35);
  border-radius:999px;
  background:rgba(5,14,30,.96);
  color:#dceaff;
  font-size:clamp(10px,.84vw,12px);
  line-height:1.1;
  text-align:center;
  white-space:nowrap;
  letter-spacing:-.01em;
  text-shadow:0 2px 9px rgba(0,0,0,.6);
  pointer-events:none;
  transition:color .22s ease;
}
#services .ws-orbit-node-active {
  display:none;
  position:absolute;
  inset:-9px;
  border:2px solid var(--ws-cyan,#00e5ff);
  border-radius:50%;
  box-shadow:0 0 15px rgba(0,229,255,.62),0 0 30px rgba(52,120,255,.42);
  pointer-events:none;
  animation:wsOrbitActive 2.8s ease-in-out infinite;
}
#services .ws-orbit-node.is-active::after {
  content:"";
  position:absolute;
  right:-12px;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--ws-cyan,#00e5ff);
  box-shadow:0 0 12px rgba(0,229,255,.9);
}
#services .ws-orbit-node.is-active .ws-orbit-node-active { display:block; }
#services .ws-orbit-node.is-active .ws-orbit-node-circle { border-color:#00e5ff; background:linear-gradient(135deg,rgba(35,100,235,.9),rgba(9,25,64,.95)); box-shadow:0 0 20px rgba(0,229,255,.55),0 0 40px rgba(52,120,255,.42),inset 0 1px 0 rgba(216,255,255,.24); }
#services .ws-orbit-node.is-active .ws-orbit-node-icon,
#services .ws-orbit-node:hover .ws-orbit-node-icon { color:#fff; filter:drop-shadow(0 0 7px rgba(0,229,255,.44)); }
#services .ws-orbit-node.is-active .ws-orbit-node-label,
#services .ws-orbit-node:hover .ws-orbit-node-label { color:#fff; }
#services .ws-orbit-node:hover { transform:translate(-50%,-50%) scale(1.06); }
#services .ws-orbit-node:hover .ws-orbit-node-circle { border-color:#3478ff; box-shadow:0 0 19px rgba(52,120,255,.32),0 12px 24px rgba(0,0,0,.32); }
#services .ws-orbit-node:focus-visible,
#services .ws-orbit-cta:focus-visible { outline:2px solid #00e5ff; outline-offset:5px; }

#services .ws-orbit-panels { min-width:0; display:grid; }
#services .ws-orbit-panel {
  position:relative;
  min-width:0;
  min-height:520px;
  padding:clamp(30px,3.4vw,48px);
  border:1px solid rgba(91,158,255,.42);
  border-radius:24px;
  color:#f5f8ff;
  background:linear-gradient(135deg,rgba(12,25,52,.94),rgba(7,15,31,.9));
  box-shadow:0 0 35px rgba(20,103,242,.14),inset 0 1px 0 rgba(154,201,255,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:flex;
  flex-direction:column;
}
#services.ws-orbit-ready .ws-orbit-panel { grid-area:1 / 1; visibility:hidden; pointer-events:none; opacity:0; }
#services.ws-orbit-ready .ws-orbit-panel.is-active { visibility:visible; pointer-events:auto; opacity:1; z-index:1; }
#services.ws-orbit-ready .ws-orbit-panel.is-leaving { visibility:visible; z-index:0; }
#services .ws-orbit-panel::before {
  content:"";
  position:absolute;
  top:-1px;
  left:9%;
  right:7%;
  height:1px;
  background:linear-gradient(90deg,transparent,#3478ff,#00e5ff,transparent);
  box-shadow:0 0 14px rgba(0,205,255,.38);
  pointer-events:none;
}
#services .ws-orbit-node--meta .ws-orbit-node-label,
#services .ws-orbit-node--hosting .ws-orbit-node-label,
#services .ws-orbit-node--web .ws-orbit-node-label,
#services .ws-orbit-node--google .ws-orbit-node-label,
#services .ws-orbit-node--seo .ws-orbit-node-label,
#services .ws-orbit-node--platforms .ws-orbit-node-label,
#services .ws-orbit-node--erp .ws-orbit-node-label {
  left:50%;
  top:calc(100% + var(--label-gap,8px));
  transform:translateX(-50%);
}

@media (min-width:900px) and (max-width:1100px) {
  #services .ws-stitch-orbit .ws-orbit-node { width:56px !important; height:56px !important; }
  #services .ws-stitch-orbit .ws-orbit-center { width:120px !important; height:120px !important; }
}

/* Stitch geometry lock (last cascade block). */
#services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); padding:0; overflow:visible; }
#services .ws-stitch-orbit .ws-orbit-node { width:clamp(64px,14%,72px); height:clamp(64px,14%,72px); }
#services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
@media (max-width:899px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
}
@media (max-width:599px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,390px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
}
@media (max-width:399px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,360px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:140px; height:140px; }
}
@media (max-width:320px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,300px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px; height:52px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(88px,32%,100px); height:clamp(88px,32%,100px); }
}

/* End-of-file Stitch geometry lock: legacy media queries above must not
   override the evenly spaced imported layout. */
#services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); padding:0; overflow:visible; }
#services .ws-stitch-orbit .ws-orbit-node { width:clamp(64px,14%,72px); height:clamp(64px,14%,72px); }
#services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
@media (max-width:899px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
}
@media (max-width:599px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,390px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
}
@media (max-width:399px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,360px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:140px; height:140px; }
}
@media (max-width:320px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,300px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px; height:52px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(88px,32%,100px); height:clamp(88px,32%,100px); }
}

/* Final Stitch geometry contract. This block intentionally comes after the
   legacy responsive rules above so the imported layout cannot be re-shaped by
   older orbit breakpoints. */
#services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); padding:0; overflow:visible; }
#services .ws-stitch-orbit .ws-orbit-node { width:clamp(64px,14%,72px); height:clamp(64px,14%,72px); }
#services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
@media (max-width:899px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
  #services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
}
@media (max-width:599px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,390px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
}
@media (max-width:399px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,360px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:140px; height:140px; }
}
@media (max-width:320px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,300px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px; height:52px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(88px,32%,100px); height:clamp(88px,32%,100px); }
  #services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
}

/* Stitch service explorer alignment. The imported composition keeps the
   site's system font, palette variables and server-rendered service panels;
   only the visual geometry is replaced. */
#services .ws-stitch-orbit {
  --stitch-accent:var(--blue);
  --stitch-light:var(--blue-light);
  --stitch-glow:rgba(var(--blue-rgb),.44);
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(30px,5vw,68px);
  max-width:1240px;
}
#services .ws-stitch-orbit .service-orbit-stage {
  width:min(100%,460px);
  aspect-ratio:1;
  padding:0;
  overflow:visible;
}
#services .ws-stitch-orbit .ws-orbit-lines path { display:none; }
#services .ws-stitch-orbit .ws-orbit-node {
  width:clamp(64px,14%,72px);
  height:clamp(64px,14%,72px);
}
/* Seven positions from the Stitch reference: one even ring with a shared
   radius so every satellite has the same breathing room. */
#services .ws-stitch-orbit .ws-orbit-node--meta { --orbit-left:50%; --orbit-top:16.96%; }
#services .ws-stitch-orbit .ws-orbit-node--hosting { --orbit-left:75.82%; --orbit-top:29.40%; }
#services .ws-stitch-orbit .ws-orbit-node--web { --orbit-left:82.21%; --orbit-top:57.35%; }
#services .ws-stitch-orbit .ws-orbit-node--platforms { --orbit-left:64.34%; --orbit-top:79.77%; }
#services .ws-stitch-orbit .ws-orbit-node--erp { --orbit-left:35.66%; --orbit-top:79.77%; }
#services .ws-stitch-orbit .ws-orbit-node--seo { --orbit-left:17.79%; --orbit-top:57.35%; }
#services .ws-stitch-orbit .ws-orbit-node--google { --orbit-left:24.18%; --orbit-top:29.40%; }
#services .ws-stitch-orbit .ws-orbit-node-circle {
  border-color:rgba(var(--blue-rgb),.32);
  background:radial-gradient(circle at 40% 30%,rgba(var(--blue-rgb),.22),rgba(7,17,35,.94) 72%);
  box-shadow:0 4px 20px rgba(0,0,0,.6),inset 0 0 12px rgba(var(--blue-rgb),.08);
}
#services .ws-stitch-orbit .ws-orbit-node-active {
  inset:-8px;
  border-color:var(--stitch-light);
  box-shadow:0 0 0 2px rgba(var(--blue-rgb),.5),0 0 26px 5px var(--stitch-glow),inset 0 0 16px rgba(var(--blue-rgb),.28);
}
#services .ws-stitch-orbit .ws-orbit-node.is-active .ws-orbit-node-circle {
  border-color:var(--stitch-light);
  background:radial-gradient(circle at 40% 35%,rgba(var(--blue-rgb),.58),rgba(7,23,43,.98) 76%);
  box-shadow:0 0 0 2px rgba(var(--blue-rgb),.5),0 0 30px 6px var(--stitch-glow),inset 0 0 16px rgba(var(--blue-rgb),.3);
}
#services .ws-stitch-orbit .ws-orbit-node-label {
  top:calc(100% + 1px);
  max-width:130px;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(7,11,18,.72);
  color:#cbd5e1;
  font-family:var(--font);
  font-size:clamp(11px,.95vw,14px);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.015em;
  text-shadow:0 2px 8px rgba(0,0,0,.8);
}
#services .ws-stitch-orbit .ws-orbit-node.is-active .ws-orbit-node-label,
#services .ws-stitch-orbit .ws-orbit-node:hover .ws-orbit-node-label { color:#fff; }
#services .ws-stitch-orbit .ws-orbit-svg { width:34px; height:34px; }
#services .ws-stitch-orbit .ws-orbit-svg--meta { width:40px; height:40px; }
#services .ws-stitch-orbit .ws-orbit-svg--google { width:36px; height:36px; }
#services .ws-stitch-orbit .ws-orbit-panel {
  min-height:520px;
  padding:clamp(30px,4vw,48px);
  border-radius:22px;
  border-color:rgba(var(--blue-rgb),.42);
  background:linear-gradient(145deg,rgba(var(--blue-rgb),.18),rgba(7,15,31,.95));
  box-shadow:0 0 30px var(--stitch-glow),inset 0 1px 0 rgba(154,201,255,.14);
}
#services .ws-stitch-orbit .ws-orbit-panel h3 {
  font-family:var(--font);
  font-size:clamp(2.35rem,4.2vw,4rem);
  font-weight:800;
  letter-spacing:-.055em;
}
#services .ws-stitch-orbit .ws-orbit-accent {
  width:150px;
  height:4px;
  margin-top:21px;
  background:linear-gradient(90deg,var(--stitch-accent),var(--stitch-light),transparent);
  box-shadow:0 0 12px var(--stitch-glow);
}
#services .ws-stitch-orbit .ws-orbit-accent::after { display:none; }
#services .ws-stitch-orbit .ws-orbit-benefits li {
  font-family:var(--font);
  color:#d0d8e5;
}
#services .ws-stitch-orbit .ws-orbit-benefit-icon {
  border-color:var(--stitch-accent);
  color:var(--stitch-light);
  box-shadow:0 0 10px var(--stitch-glow),inset 0 0 6px var(--stitch-glow);
}
#services .ws-stitch-orbit .ws-orbit-cta {
  background:linear-gradient(100deg,var(--stitch-accent),var(--stitch-light));
  box-shadow:0 0 24px var(--stitch-glow),inset 0 1px 0 rgba(255,255,255,.2);
}

@media (max-width:899px) {
  #services .ws-stitch-orbit { grid-template-columns:minmax(0,1fr); gap:clamp(30px,5vw,46px); }
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); margin-inline:auto; }
  #services .ws-stitch-orbit .ws-orbit-panel { min-height:500px; }
}
@media (max-width:599px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,390px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-svg { width:29px; height:29px; }
  #services .ws-stitch-orbit .ws-orbit-svg--meta { width:35px; height:35px; }
  #services .ws-stitch-orbit .ws-orbit-svg--google { width:31px; height:31px; }
  #services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); font-size:11px; }
  #services .ws-stitch-orbit .ws-orbit-panel { min-height:0; padding:26px; }
}
@media (max-width:399px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,360px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); font-size:10px; }
  #services .ws-stitch-orbit .ws-orbit-panel { padding:22px; }
}
@media (max-width:320px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,300px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px; height:52px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(88px,32%,100px); height:clamp(88px,32%,100px); }
  #services .ws-stitch-orbit .ws-orbit-center-core img { width:36px; height:36px; }
  #services .ws-stitch-orbit .ws-orbit-center-core strong { font-size:14px; }
  #services .ws-stitch-orbit .ws-orbit-svg { width:24px; height:24px; }
  #services .ws-stitch-orbit .ws-orbit-svg--meta { width:29px; height:29px; }
  #services .ws-stitch-orbit .ws-orbit-svg--google { width:26px; height:26px; }
  #services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); font-size:9px; }
}
#services .ws-orbit-panel-head { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:22px; color:#62c8ff; font:12px/1.4 var(--font-mono); letter-spacing:.15em; }
#services .ws-orbit-motto { display:flex; align-items:center; gap:11px; color:#819cbe; font-size:9px; white-space:nowrap; }
#services .ws-orbit-motto i { width:26px; height:1px; background:rgba(104,166,255,.38); }
#services .ws-orbit-panel h3 { margin:0; color:#f5f8ff; font:750 clamp(2.25rem,3.8vw,4rem)/1.05 var(--font); letter-spacing:-.045em; text-transform:uppercase; overflow-wrap:anywhere; }
#services .ws-orbit-accent { position:relative; display:block; width:150px; max-width:54%; height:3px; margin-top:20px; border-radius:999px; background:linear-gradient(90deg,#3478ff,#00e5ff,rgba(0,229,255,0)); box-shadow:0 0 12px rgba(0,229,255,.4); }
#services .ws-orbit-accent::after { content:""; position:absolute; right:-1px; top:-1px; width:5px; height:5px; border-radius:50%; background:#00e5ff; box-shadow:0 0 9px #00e5ff; }
#services .ws-orbit-panel-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,34%); align-items:center; gap:clamp(18px,3vw,38px); flex:1; margin:31px 0 34px; }
#services .ws-orbit-benefits { display:grid; gap:17px; list-style:none; padding:0; margin:0; }
#services .ws-orbit-benefits li { display:flex; align-items:flex-start; gap:13px; color:#d0d8e5; font-size:16px; line-height:1.5; }
#services .ws-orbit-benefit-icon { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border:1px solid #3478ff; border-radius:50%; color:#00e5ff; box-shadow:0 0 10px rgba(52,120,255,.36),inset 0 0 6px rgba(0,145,255,.2); }
#services .ws-orbit-benefit-icon svg { width:18px; height:18px; }
#services .ws-orbit-code { position:relative; width:100%; height:225px; opacity:.83; perspective:750px; }
#services .ws-orbit-code-window { position:absolute; border:1px solid rgba(52,120,255,.72); border-radius:8px; background:linear-gradient(145deg,rgba(10,39,89,.66),rgba(7,17,37,.35)); transform:rotateY(-14deg) rotateZ(3deg); }
#services .ws-orbit-code-window--back { width:78%; height:162px; right:0; top:0; opacity:.48; }
#services .ws-orbit-code-window--front { width:78%; height:180px; left:0; top:40px; box-shadow:inset 0 1px 12px rgba(0,165,255,.08),0 0 22px rgba(37,98,255,.14); }
#services .ws-orbit-code-lights { display:flex; gap:6px; padding:10px; border-bottom:1px solid rgba(52,120,255,.2); }
#services .ws-orbit-code-lights i { width:5px; height:5px; border-radius:50%; background:#00e5ff; box-shadow:0 0 6px rgba(0,229,255,.48); }
#services .ws-orbit-code-lights i:first-child { background:#765cff; }
#services .ws-orbit-code-lines { display:grid; gap:9px; padding:15px; }
#services .ws-orbit-code-lines i { display:block; height:3px; width:69%; background:linear-gradient(90deg,#765cff 0 12%,transparent 12% 17%,rgba(66,145,255,.84) 17% 100%); }
#services .ws-orbit-code-lines i:nth-child(even) { width:48%; margin-left:13px; }
#services .ws-orbit-code-mark { display:grid; place-items:center; width:42px; height:42px; margin:13px 0 0 15px; border:1px solid rgba(0,229,255,.7); border-radius:8px; color:#78dfff; font:700 22px/1 var(--font-mono); box-shadow:0 0 15px rgba(23,104,255,.22); }
#services .ws-orbit-code-tag { position:absolute; right:-4px; display:grid; place-items:center; width:50px; min-height:29px; border:1px solid rgba(52,120,255,.68); border-radius:6px; background:rgba(10,28,64,.9); color:#80d9ff; font:700 8px/1 var(--font-mono); letter-spacing:.08em; box-shadow:0 0 9px rgba(23,104,255,.13); }
#services .ws-orbit-code-tag--html { top:70px; }
#services .ws-orbit-code-tag--css { top:106px; }
#services .ws-orbit-code-tag--js { top:142px; }
#services .ws-orbit-code-tag--react { top:178px; }
#services .ws-orbit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; margin-top:auto; }
#services .ws-orbit-cta { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:58px; padding:15px 25px; border:1px solid rgba(123,222,255,.56); border-radius:15px; background:linear-gradient(100deg,#3b63ff,#00d8f5); color:#fff; box-shadow:0 0 25px rgba(0,216,245,.35),inset 0 1px 0 rgba(255,255,255,.2); font:700 12px/1 var(--font-mono); letter-spacing:.1em; transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,filter .24s ease; }
#services .ws-orbit-cta svg { width:21px; height:21px; }
#services .ws-orbit-process { display:flex; align-items:center; flex-wrap:wrap; gap:11px; color:#8ea8cb; font:11px/1.5 var(--font-mono); letter-spacing:.15em; }
#services .ws-orbit-process b { color:#55acff; font-size:17px; font-weight:400; }
@media (hover:hover) {
  #services .ws-orbit-cta:hover { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 0 31px rgba(0,216,245,.5),inset 0 1px 0 rgba(255,255,255,.25); color:#fff; }
}
#services.ws-orbit-pending .ws-orbit-block { opacity:0; transform:translateY(12px); }
#services .ws-orbit-block { transition:opacity .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1); }

@media (min-width:768px) and (max-width:1100px) {
  #services .ws-orbit-block { grid-template-columns:minmax(290px,.86fr) minmax(0,1.14fr); gap:24px; }
  #services .ws-orbit-scene { width:min(100%,430px); }
  #services .ws-orbit-node { width:82px; height:82px; }
  #services .ws-orbit-node-label { font-size:12px; }
  #services .ws-orbit-node-icon { padding:0; }
  #services .ws-orbit-svg { width:28px; height:28px; }
  #services .ws-orbit-svg--meta { width:34px; height:34px; }
  #services .ws-orbit-svg--google { width:30px; height:30px; }
  #services .ws-orbit-center { width:164px; height:164px; }
  #services .ws-orbit-center-core img { width:50px; height:50px; }
  #services .ws-orbit-center-core strong { font-size:17px; }
  #services .ws-orbit-center-core > span:not(.ws-orbit-center-points) { font-size:8px; }
  #services .ws-orbit-panel { padding:27px; min-height:500px; }
  #services .ws-orbit-panel h3 { font-size:clamp(2rem,3.5vw,2.8rem); }
  #services .ws-orbit-panel-main { grid-template-columns:minmax(0,1fr) 130px; gap:17px; margin-block:25px 28px; }
  #services .ws-orbit-benefits { gap:13px; }
  #services .ws-orbit-benefits li { font-size:14px; gap:8px; }
  #services .ws-orbit-benefit-icon { width:24px; height:24px; flex-basis:24px; }
  #services .ws-orbit-benefit-icon svg { width:15px; height:15px; }
  #services .ws-orbit-code { height:170px; transform:scale(.84); transform-origin:right center; margin-left:-15px; }
  #services .ws-orbit-motto { font-size:7px; gap:6px; }
  #services .ws-orbit-motto i { width:12px; }
}
@media (max-width:767px) {
  #services .ws-orbit-block { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:34px; }
  #services .ws-orbit-scene { width:min(100%,360px); height:auto; aspect-ratio:1; margin-inline:auto; overflow:visible; }
  #services .ws-orbit-rings, #services .ws-orbit-lines, #services .ws-orbit-data { display:block; }
  #services .ws-orbit-center { position:absolute; left:50%; top:50%; width:clamp(140px,42vw,164px); height:clamp(140px,42vw,164px); transform:translate(-50%,-50%); margin:0; }
  #services .ws-orbit-center-ring { inset:-3px; }
  #services .ws-orbit-center-glow { inset:-11px; filter:blur(9px); }
  #services .ws-orbit-center-core img { width:clamp(42px,13vw,49px); height:clamp(42px,13vw,49px); }
  #services .ws-orbit-center-core strong { font-size:17px; }
  #services .ws-orbit-center-core > span:not(.ws-orbit-center-points) { font-size:8px; }
  #services .ws-orbit-nodes { position:absolute; inset:0; display:block; overflow:visible; padding:0; margin:0; min-width:0; }
  #services .ws-orbit-node { position:absolute; left:var(--orbit-left); top:var(--orbit-top); flex:none; width:clamp(72px,21vw,84px); height:clamp(72px,21vw,84px); transform:translate(-50%,-50%); }
  #services .ws-orbit-node:hover { transform:translate(-50%,-50%) scale(1.04); }
  #services .ws-orbit-node-label { top:calc(100% + 7px); font-size:10px; }
  #services .ws-orbit-node--meta .ws-orbit-node-label,
  #services .ws-orbit-node--hosting .ws-orbit-node-label { top:-22px; }
  #services .ws-orbit-node--web .ws-orbit-node-label {
    left:50%;
    top:calc(100% + 7px);
    transform:translateX(-50%);
  }
  #services .ws-orbit-node-icon { padding:0; }
  #services .ws-orbit-svg { width:clamp(27px,7.8vw,33px); height:clamp(27px,7.8vw,33px); }
  #services .ws-orbit-svg--meta { width:clamp(32px,9.5vw,38px); height:clamp(32px,9.5vw,38px); }
  #services .ws-orbit-svg--google { width:clamp(29px,8.5vw,34px); height:clamp(29px,8.5vw,34px); }
  #services .ws-orbit-node-active { inset:-7px; }
  #services .ws-orbit-node.is-active::after { right:-8px; width:8px; height:8px; }
  #services .ws-orbit-panels { margin-top:0; }
  #services .ws-orbit-panel { min-height:0; padding:26px; border-radius:20px; }
  #services .ws-orbit-panel-head { margin-bottom:19px; font-size:11px; }
  #services .ws-orbit-panel h3 { font-size:clamp(2rem,8.8vw,3rem); }
  #services .ws-orbit-panel-main { display:block; margin:25px 0 30px; }
  #services .ws-orbit-benefits { gap:15px; }
  #services .ws-orbit-benefits li { font-size:15px; }
  #services .ws-orbit-code { display:none; }
  #services .ws-orbit-actions { gap:20px; }
}
@media (max-width:480px) {
  #services .ws-orbit-block { margin-top:29px; }
  #services .ws-orbit-node { width:clamp(72px,21vw,84px); height:clamp(72px,21vw,84px); }
  #services .ws-orbit-node-label { font-size:10px; }
  #services .ws-orbit-panel { padding:22px; }
  #services .ws-orbit-motto { font-size:7px; letter-spacing:.08em; gap:4px; }
  #services .ws-orbit-motto i { display:none; }
  #services .ws-orbit-panel h3 { font-size:clamp(1.85rem,8.2vw,2.7rem); }
  #services .ws-orbit-cta { width:100%; min-height:56px; padding-inline:17px; }
  #services .ws-orbit-process { width:100%; justify-content:center; }
}
@media (max-width:380px) {
  #services .ws-orbit-node { width:72px; height:72px; }
  #services .ws-orbit-node-label { top:calc(100% + 6px); font-size:9px; }
  #services .ws-orbit-node-icon { padding:0; }
  #services .ws-orbit-svg { width:25px; height:25px; }
  #services .ws-orbit-svg--meta { width:31px; height:31px; }
  #services .ws-orbit-svg--google { width:27px; height:27px; }
}
@media (prefers-reduced-motion:reduce) {
  #services .ws-orbit-center-ring, #services .ws-orbit-data-dot, #services .ws-orbit-node-active { animation:none; }
  #services .ws-orbit-block, #services .ws-orbit-panel, #services .ws-orbit-cta, #services .ws-orbit-node, #services .ws-orbit-node-circle, #services .ws-orbit-node-icon, #services .ws-orbit-node-label { transition-property:opacity; transform:none; }
  #services.ws-orbit-pending .ws-orbit-block { transform:none; }
}
#services-detail .ws-ds-intro { display:grid; grid-template-columns:minmax(0,1fr) 165px; align-items:center; gap:18px; margin:22px 0; min-height:134px; }
#services-detail .ws-ds-intro p { margin:0; color:#b9c5d7; font-size:16px; line-height:1.65; }
#services-detail .ws-ds-visual { height:134px; position:relative; pointer-events:none; opacity:.85; perspective:650px; }
#services-detail .ws-ds-window { position:absolute; border:1px solid rgba(var(--blue-rgb),.7); border-radius:8px; background:linear-gradient(140deg,rgba(var(--blue-rgb),.28),rgba(7,17,37,.38)); transform:rotateY(-18deg) rotateZ(5deg); }
#services-detail .ws-ds-window--back { width:78%; height:98px; right:0; top:0; opacity:.42; }
#services-detail .ws-ds-window--front { width:83%; height:111px; left:0; top:14px; box-shadow:inset 0 1px 12px var(--ws-glow),0 0 18px var(--ws-glow); }
#services-detail .ws-ds-lights { display:flex; gap:5px; padding:9px; border-bottom:1px solid rgba(var(--blue-rgb),.18); }
#services-detail .ws-ds-lights i { width:4px; height:4px; border-radius:50%; background:var(--ws-cyan); box-shadow:0 0 5px var(--ws-cyan); }
#services-detail .ws-ds-lights i:first-child { background:var(--ws-violet); }
#services-detail .ws-ds-code { display:grid; gap:7px; padding:12px; }
#services-detail .ws-ds-code i { height:2px; width:68%; background:linear-gradient(90deg,var(--ws-violet) 0 12%,transparent 12% 18%,rgba(var(--blue-rgb),.7) 18% 100%); }
#services-detail .ws-ds-code i:nth-child(even) { width:45%; margin-left:9px; }
#services-detail .ws-ds-code i:last-child { width:56%; }
#services-detail .ws-ds-visual-icon { display:grid; place-items:center; position:absolute; right:6px; bottom:0; width:43px; height:43px; border:1px solid rgba(var(--blue-rgb),.65); border-radius:9px; background:linear-gradient(135deg,rgba(var(--blue-rgb),.5),#0b1631); color:var(--ws-cyan); box-shadow:0 0 15px var(--ws-glow); transform:rotateY(-18deg) rotateZ(5deg); }
#services-detail .ws-ds-visual-icon svg { width:24px; height:24px; }
#services-detail .ws-ds-connector { position:absolute; bottom:1px; left:-10px; width:95px; height:1px; background:linear-gradient(90deg,transparent,var(--ws-cyan),transparent); transform:rotate(17deg); }
#services-detail .ws-ds-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:15px 22px; list-style:none; padding:0; margin:0 0 30px; }
#services-detail .ws-ds-benefits li { display:flex; align-items:flex-start; gap:10px; padding:0; margin:0; color:#d0dae9; font-size:14px; line-height:1.55; }
#services-detail .ws-ds-benefits li::before { content:none; }
#services-detail .ws-ds-check { display:block; flex:0 0 22px; width:22px; height:22px; margin-top:1px; border:1.5px solid var(--ws-blue); border-radius:50%; color:var(--ws-cyan); background:rgba(var(--blue-rgb),.16); box-shadow:0 0 9px var(--ws-glow),inset 0 0 5px var(--ws-glow); }
#services-detail .ws-ds-check svg { display:block; width:100%; height:100%; }
#services-detail .ws-ds-actions { display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; margin-top:auto; }
#services-detail .ws-ds-cta { display:inline-flex; justify-content:center; align-items:center; gap:23px; padding:16px 23px; min-height:54px; max-width:100%; text-decoration:none; font:700 12px/1.4 var(--font-mono,ui-monospace,monospace); letter-spacing:.12em; color:#fff; border:1px solid rgba(255,255,255,.45); border-radius:14px; background:linear-gradient(100deg,var(--ws-blue),var(--ws-cyan)); box-shadow:0 0 24px var(--ws-glow),inset 0 1px 0 rgba(255,255,255,.2); transition:transform .24s var(--ws-ease),box-shadow .24s var(--ws-ease),filter .24s; }
#services-detail .ws-ds-cta svg { width:21px; height:21px; flex:0 0 21px; }
#services-detail .ws-ds-process { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font:11px/1.6 var(--font-mono,ui-monospace,monospace); letter-spacing:.14em; color:#8ea8cb; }
#services-detail .ws-ds-process b { color:var(--ws-cyan); font-size:16px; font-weight:400; }
#services-detail .ws-ds-tab:focus-visible, #services-detail .ws-ds-cta:focus-visible, #services-detail .ws-ds-panel:focus-visible { outline:2px solid var(--ws-cyan); outline-offset:4px; }
#services-detail .ws-ds-layout { transition:opacity .36s var(--ws-ease),transform .36s var(--ws-ease); }
#services-detail.ws-ds-pending .ws-ds-layout { opacity:0; transform:translateY(12px); }
@media (hover:hover) {
  #services-detail .ws-ds-tab:hover { background-color:rgba(var(--blue-rgb),.22); border-color:var(--ws-blue); box-shadow:0 0 18px var(--ws-glow); transform:translateX(3px); color:var(--ws-text); }
  #services-detail .ws-ds-tab:hover .ws-ds-icon { color:var(--ws-cyan); }
  #services-detail .ws-ds-cta:hover { transform:translateY(-2px); box-shadow:0 0 30px var(--ws-glow); filter:brightness(1.08); color:#fff; }
}
@media (min-width:768px) and (max-width:1100px) {
  #services-detail .ws-ds-layout { grid-template-columns:230px minmax(0,1fr); gap:22px; }
  #services-detail .ws-ds-tab { padding:14px; gap:11px; font-size:13px; }
  #services-detail .ws-ds-panel { padding:26px; }
  #services-detail .ws-ds-intro { grid-template-columns:minmax(0,1fr) 110px; gap:12px; }
  #services-detail .ws-ds-visual { transform:scale(.88); transform-origin:right center; }
  #services-detail .ws-ds-panel h3 { font-size:36px; }
  #services-detail .ws-ds-motto { font-size:8px; gap:6px; }
  #services-detail .ws-ds-motto::before, #services-detail .ws-ds-motto::after { width:10px; }
  #services-detail .ws-ds-benefits { gap:14px; }
}
@media (min-width:768px) and (max-width:900px) {
  #services-detail > .wrap { width:calc(100% - 40px); }
  #services-detail .ws-ds-layout { grid-template-columns:200px minmax(0,1fr); gap:18px; }
  #services-detail .ws-ds-icon { width:24px; height:24px; flex-basis:24px; }
  #services-detail .ws-ds-tab { padding:13px 10px; gap:9px; }
  #services-detail .ws-ds-indicator { width:13px; height:13px; flex-basis:13px; }
  #services-detail .ws-ds-panel { padding:24px; }
  #services-detail .ws-ds-intro { grid-template-columns:minmax(0,1fr) 86px; }
  #services-detail .ws-ds-visual { opacity:.6; }
  #services-detail .ws-ds-benefits { column-gap:12px; }
  #services-detail .ws-ds-benefits li { font-size:14px; gap:8px; }
}
@media (max-width:767px) {
  #services-detail > .wrap { width:calc(100% - 40px); }
  #services-detail .ws-ds-heading { margin-bottom:22px; }
  #services-detail .ws-ds-summary { font-size:16px; }
  #services-detail .ws-ds-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  #services-detail.ws-ds-ready .ws-ds-tabs { flex-direction:row; overflow-x:auto; overscroll-behavior-x:contain; gap:10px; padding:12px 6px; margin:-6px; scrollbar-width:thin; scrollbar-color:var(--ws-blue) transparent; scroll-padding:6px; }
  #services-detail .ws-ds-tab { flex:0 0 auto; width:auto; min-height:54px; padding:12px 17px; gap:11px; font-size:14px; }
  #services-detail .ws-ds-icon { width:24px; height:24px; flex-basis:24px; }
  #services-detail .ws-ds-indicator { margin-left:5px; }
  #services-detail .ws-ds-tab.is-active .ws-ds-indicator::after { inset:-8px; }
  #services-detail .ws-ds-panel { padding:26px; border-radius:20px; min-height:450px; }
  #services-detail .ws-ds-panel h3 { font-size:clamp(1.75rem,5.8vw,2.6rem); }
  #services-detail .ws-ds-meta { font-size:11px; margin-bottom:20px; }
  #services-detail .ws-ds-motto { font-size:7px; gap:5px; letter-spacing:.1em; }
  #services-detail .ws-ds-motto::before, #services-detail .ws-ds-motto::after { display:none; }
  #services-detail .ws-ds-intro { display:block; min-height:0; margin:23px 0; }
  #services-detail .ws-ds-visual { display:none; }
  #services-detail .ws-ds-benefits { grid-template-columns:minmax(0,1fr); gap:15px; }
  #services-detail .ws-ds-benefits li { font-size:15px; }
  #services-detail .ws-ds-actions { gap:20px; }
}
@media (max-width:400px) {
  #services-detail > .wrap { width:calc(100% - 32px); }
  #services-detail .ws-ds-panel { padding:22px; }
  #services-detail .ws-ds-cta { width:100%; padding:15px 17px; }
  #services-detail .ws-ds-process { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  #services-detail .ws-ds-layout, #services-detail .ws-ds-tab, #services-detail .ws-ds-cta { transition-property:opacity; transform:none; }
  #services-detail.ws-ds-pending .ws-ds-layout { transform:none; }
}

/* Gear theme bridge for the Capabilities orbit. The orbit and its detail
   panel now consume the same live palette as the global system drawer. */
#services {
  --ws-orbit-main:var(--blue);
  --ws-orbit-light:var(--blue-light);
  --ws-orbit-deep:var(--blue-2);
  --ws-orbit-glow:rgba(var(--blue-rgb),.44);
}
#services .ws-orbit-ring { border-color:rgba(var(--blue-rgb),.36); }
#services .ws-orbit-ring--outer { box-shadow:0 0 34px rgba(var(--blue-rgb),.09); }
#services .ws-orbit-ring--mid { border-color:rgba(var(--blue-rgb),.42); }
#services .ws-orbit-ring--inner { border-color:rgba(var(--blue-rgb),.34); box-shadow:0 0 24px rgba(var(--blue-rgb),.12); }
#services .ws-orbit-ring--mid::after { border-color:rgba(var(--blue-rgb),.25); }
#services .ws-orbit-cross::before, #services .ws-orbit-cross::after { background:rgba(var(--blue-rgb),.52); }
#services .ws-orbit-lines circle, #services .ws-orbit-lines path { stroke:rgba(var(--blue-rgb),.42); }
#services .ws-orbit-lines circle:nth-child(2) { stroke:rgba(var(--blue-rgb),.55); }
#services .ws-orbit-lines path { stroke:rgba(var(--blue-rgb),.25); }
#services .ws-orbit-data-dot { background:var(--ws-orbit-light); box-shadow:0 0 9px var(--ws-orbit-light); }
#services .ws-orbit-center-glow { background:radial-gradient(circle,rgba(var(--blue-rgb),.31) 0 34%,rgba(var(--blue-rgb),.14) 48%,rgba(var(--blue-rgb),.08) 63%,transparent 73%); }
#services .ws-orbit-center-ring { border-color:var(--ws-orbit-light); box-shadow:0 0 18px var(--ws-orbit-light),0 0 42px var(--ws-orbit-glow),inset 0 0 18px rgba(var(--blue-rgb),.24); }
#services .ws-orbit-center-ring::after { border-color:rgba(var(--blue-rgb),.58); }
#services .ws-orbit-center-core { border-color:rgba(var(--blue-rgb),.55); background:radial-gradient(circle at 32% 22%,rgba(var(--blue-rgb),.4),rgba(10,22,45,.94) 58%,rgba(7,15,31,.98)); }
#services .ws-orbit-center-core img { filter:drop-shadow(0 0 10px var(--ws-orbit-glow)); }
#services .ws-orbit-center-core > span:not(.ws-orbit-center-points) { color:var(--ws-orbit-light); }
#services .ws-orbit-center-points i { background:var(--ws-orbit-main); box-shadow:0 0 7px var(--ws-orbit-glow); }
#services .ws-orbit-center-points i:first-child { background:var(--ws-orbit-light); box-shadow:0 0 8px var(--ws-orbit-light); }
#services .ws-orbit-node-circle { border-color:rgba(var(--blue-rgb),.34); background:radial-gradient(circle at 34% 24%,rgba(var(--blue-rgb),.3),rgba(10,20,42,.86) 69%); box-shadow:0 12px 24px rgba(0,0,0,.32),0 0 13px var(--ws-orbit-glow),inset 0 1px 0 rgba(198,224,255,.11); }
#services .ws-orbit-node-active { border-color:var(--ws-orbit-light); box-shadow:0 0 15px var(--ws-orbit-light),0 0 30px var(--ws-orbit-glow); }
#services .ws-orbit-node.is-active::after { background:var(--ws-orbit-light); box-shadow:0 0 12px var(--ws-orbit-light); }
#services .ws-orbit-node.is-active .ws-orbit-node-circle { border-color:var(--ws-orbit-light); background:linear-gradient(135deg,rgba(var(--blue-rgb),.9),rgba(9,25,64,.95)); box-shadow:0 0 20px var(--ws-orbit-light),0 0 40px var(--ws-orbit-glow),inset 0 1px 0 rgba(216,255,255,.24); }
#services .ws-orbit-node.is-active .ws-orbit-node-icon, #services .ws-orbit-node:hover .ws-orbit-node-icon { filter:drop-shadow(0 0 7px var(--ws-orbit-light)); }
#services .ws-orbit-panel { border-color:rgba(var(--blue-rgb),.42); background:linear-gradient(135deg,rgba(var(--blue-rgb),.22),rgba(7,15,31,.9)); box-shadow:0 0 35px var(--ws-orbit-glow),inset 0 1px 0 rgba(154,201,255,.16); }
#services .ws-orbit-panel::before { background:linear-gradient(90deg,transparent,var(--ws-orbit-main),var(--ws-orbit-light),transparent); box-shadow:0 0 14px var(--ws-orbit-glow); }
#services .ws-orbit-panel-head { color:var(--ws-orbit-light); }
#services .ws-orbit-motto i { background:rgba(var(--blue-rgb),.4); }
#services .ws-orbit-accent { background:linear-gradient(90deg,var(--ws-orbit-main),var(--ws-orbit-light),rgba(var(--blue-rgb),0)); box-shadow:0 0 12px var(--ws-orbit-glow); }
#services .ws-orbit-accent::after { background:var(--ws-orbit-light); box-shadow:0 0 9px var(--ws-orbit-light); }
#services .ws-orbit-benefit-icon { border-color:var(--ws-orbit-main); color:var(--ws-orbit-light); box-shadow:0 0 10px var(--ws-orbit-glow),inset 0 0 6px var(--ws-orbit-glow); }
#services .ws-orbit-code-window { border-color:rgba(var(--blue-rgb),.72); background:linear-gradient(145deg,rgba(var(--blue-rgb),.3),rgba(7,17,37,.35)); }
#services .ws-orbit-code-window--front { box-shadow:inset 0 1px 12px var(--ws-orbit-glow),0 0 22px var(--ws-orbit-glow); }
#services .ws-orbit-code-lights { border-bottom-color:rgba(var(--blue-rgb),.24); }
#services .ws-orbit-code-lights i { background:var(--ws-orbit-light); box-shadow:0 0 6px var(--ws-orbit-light); }
#services .ws-orbit-code-lights i:first-child { background:var(--ws-orbit-deep); }
#services .ws-orbit-code-lines i { background:linear-gradient(90deg,var(--ws-orbit-deep) 0 12%,transparent 12% 17%,rgba(var(--blue-rgb),.84) 17% 100%); }
#services .ws-orbit-code-mark { border-color:rgba(var(--blue-rgb),.72); color:var(--ws-orbit-light); box-shadow:0 0 15px var(--ws-orbit-glow); }
#services .ws-orbit-code-tag { border-color:rgba(var(--blue-rgb),.72); background:rgba(var(--blue-rgb),.28); color:var(--ws-orbit-light); box-shadow:0 0 9px var(--ws-orbit-glow); }
#services .ws-orbit-cta { border-color:rgba(255,255,255,.5); background:linear-gradient(100deg,var(--ws-orbit-main),var(--ws-orbit-light)); box-shadow:0 0 25px var(--ws-orbit-glow),inset 0 1px 0 rgba(255,255,255,.2); }
#services .ws-orbit-process b { color:var(--ws-orbit-light); }

/* Keep the title lane explicit at the end of the cascade so no legacy
   directional-label rule can put text behind a circle. */
#services .ws-orbit-node-label {
  left:50%;
  top:calc(100% + var(--label-gap,8px));
  transform:translateX(-50%);
  z-index:30;
  width:max-content;
  max-width:110px;
  padding:5px 9px;
  border:1px solid rgba(74,140,220,.35);
  border-radius:999px;
  background:rgba(5,14,30,.96);
  color:#dceaff;
  line-height:1.1;
  white-space:nowrap;
  pointer-events:none;
}

/* Light palettes (especially the white theme) need dark action text so the
   label remains legible against the accent gradient. main3.js updates this
   variable whenever the gear theme changes. */
#services .ws-orbit-cta,
#services-detail .ws-ds-cta {
  color:var(--ws-cta-fg,#fff);
}
#services .ws-orbit-cta:hover,
#services-detail .ws-ds-cta:hover {
  color:var(--ws-cta-fg,#fff);
}

/* Stable responsive relationship: the card keeps its own grid column on
   desktop, then the same stage/card stack is used below 900px. */
#services .service-orbit-stage {
  width:min(100%,520px);
  aspect-ratio:1 / 1;
  padding:clamp(28px,6vw,56px);
  box-sizing:border-box;
  min-width:0;
  overflow:hidden;
}
#services .service-orbit-column,
#services .ws-orbit-panels { min-width:0; }
@media (max-width:899px) {
  #services .ws-orbit-block {
    grid-template-columns:minmax(0,1fr);
    gap:clamp(30px,5vw,46px);
  }
  #services .service-orbit-stage { width:min(100%,480px); }
  #services .ws-orbit-panel { min-height:500px; }
}
@media (min-width:900px) and (max-width:1100px) {
  #services .ws-orbit-node--meta { --orbit-top:12%; }
  #services .ws-orbit-node--hosting { --orbit-left:82%; }
  #services .ws-orbit-node--web { --orbit-left:82%; }
  #services .ws-orbit-node--google { --orbit-left:18%; }
  #services .ws-orbit-node--platforms { --orbit-left:82%; }
  #services .ws-orbit-node--seo { --orbit-left:18%; }
  #services .ws-orbit-node--erp { --orbit-top:79.5%; }
  #services .ws-orbit-node { width:clamp(68px,18%,82px); height:clamp(68px,18%,82px); }
  #services .ws-orbit-center { width:clamp(128px,32%,150px); height:clamp(128px,32%,150px); }
  #services .ws-orbit-center-core img { width:44px; height:44px; }
  #services .ws-orbit-center-core strong { font-size:16px; }
}
@media (max-width:599px) {
  #services .ws-orbit-block { gap:24px; }
  #services .service-orbit-stage {
    width:min(100%,390px);
    padding:22px;
  }
  #services .ws-orbit-node--meta { --orbit-top:11%; }
  #services .ws-orbit-node--hosting { --orbit-left:82%; }
  #services .ws-orbit-node--web { --orbit-left:82%; }
  #services .ws-orbit-node--google { --orbit-left:18%; }
  #services .ws-orbit-node--platforms { --orbit-left:82%; }
  #services .ws-orbit-node--seo { --orbit-left:18%; }
  #services .ws-orbit-node--erp { --orbit-top:82%; }
  #services .ws-orbit-node { width:clamp(68px,18vw,88px); height:clamp(68px,18vw,88px); }
  #services .ws-orbit-node--erp { --orbit-top:82%; }
  #services .ws-orbit-node--meta { --orbit-top:11%; }
  #services .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
  #services .ws-orbit-node-label { --label-gap:7px; font-size:clamp(10px,2.7vw,12px); }
  #services .ws-orbit-panel { min-height:0; }
}
@media (max-width:399px) {
  #services .service-orbit-stage { width:min(100%,360px); padding:18px; }
  #services .ws-orbit-node { width:68px; height:68px; }
  #services .ws-orbit-node--erp { --orbit-top:82%; }
  #services .ws-orbit-center { width:140px; height:140px; }
  #services .ws-orbit-node-label { --label-gap:5px; font-size:10px; padding:3px 7px; }
}
@media (max-width:320px) {
  #services .service-orbit-stage { width:min(100%,300px); padding:8px; }
  #services .ws-orbit-nodes { overflow:hidden; }
  #services .ws-orbit-node { width:52px; height:52px; }
  #services .ws-orbit-node--hosting { --orbit-top:20%; }
  #services .ws-orbit-node--platforms { --orbit-top:80%; }
  #services .ws-orbit-node--seo { --orbit-top:80%; }
  #services .ws-orbit-center { width:clamp(88px,32%,100px); height:clamp(88px,32%,100px); }
  #services .ws-orbit-center-core img { width:36px; height:36px; }
  #services .ws-orbit-center-core strong { font-size:14px; }
  #services .ws-orbit-node--hosting { --orbit-left:85%; }
  #services .ws-orbit-node--web { --orbit-left:85%; }
  #services .ws-orbit-node--google { --orbit-left:15%; }
  #services .ws-orbit-node--seo { --orbit-left:15%; }
  #services .ws-orbit-node--platforms { --orbit-left:85%; }
  #services .ws-orbit-node--erp { --orbit-top:80%; }
  #services .ws-orbit-node-label { --label-gap:4px; font-size:9px; padding:2px 6px; }
}
/* Final label contract: every title is a separate, centered layer below its
   own node, including the compact rules above. */
#services .ws-orbit-node--meta .ws-orbit-node-label,
#services .ws-orbit-node--hosting .ws-orbit-node-label,
#services .ws-orbit-node--web .ws-orbit-node-label,
#services .ws-orbit-node--google .ws-orbit-node-label,
#services .ws-orbit-node--seo .ws-orbit-node-label,
#services .ws-orbit-node--platforms .ws-orbit-node-label,
#services .ws-orbit-node--erp .ws-orbit-node-label {
  left:50%;
  top:calc(100% + var(--label-gap,8px));
  transform:translateX(-50%);
}

/* Last responsive adjustment for the two-column tablet width. */
@media (min-width:900px) and (max-width:1100px) {
  #services .ws-stitch-orbit .ws-orbit-node { width:56px !important; height:56px !important; }
  #services .ws-stitch-orbit .ws-orbit-center { width:120px !important; height:120px !important; }
}

/* Stitch geometry lock (last cascade block). */
#services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); padding:0; overflow:visible; }
#services .ws-stitch-orbit .ws-orbit-node { width:clamp(64px,14%,72px); height:clamp(64px,14%,72px); }
#services .ws-stitch-orbit .ws-orbit-node-label { top:calc(100% + 1px); }
@media (max-width:899px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,460px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:64px; height:64px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:clamp(142px,35vw,164px); height:clamp(142px,35vw,164px); }
}
@media (max-width:599px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,390px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:54px !important; height:54px !important; }
  #services .ws-stitch-orbit .ws-orbit-center { width:120px !important; height:120px !important; }
}
@media (max-width:399px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,360px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px !important; height:52px !important; }
  #services .ws-stitch-orbit .ws-orbit-center { width:118px !important; height:118px !important; }
}
@media (max-width:320px) {
  #services .ws-stitch-orbit .service-orbit-stage { width:min(100%,300px); }
  #services .ws-stitch-orbit .ws-orbit-node { width:52px; height:52px; }
  #services .ws-stitch-orbit .ws-orbit-center { width:92px !important; height:92px !important; }
}
@media (max-width:299px) {
  #services .ws-stitch-orbit .ws-orbit-center { top:54% !important; }
  /* At the narrowest supported width the hub's rectangular hit area needs a
     little more breathing room from the diagonal satellites. Keep the same
     ring rhythm while nudging the side and lower pairs outward. */
  #services .ws-stitch-orbit .ws-orbit-node--hosting { --orbit-left:80%; }
  #services .ws-stitch-orbit .ws-orbit-node--google { --orbit-left:20%; }
  #services .ws-stitch-orbit .ws-orbit-node--platforms,
  #services .ws-stitch-orbit .ws-orbit-node--erp,
  #services .ws-stitch-orbit .ws-orbit-node--seo { --orbit-top:84%; }
}
