/* Shared inner-page layouts; existing technical illustrations retained. */
:root { --dark:var(--night); --bg:var(--paper); --bg-2:#eaeeed; --bg-3:#d9e1e2; --ink-2:var(--ink); --ink-3:var(--muted); --ink-4:var(--muted); --line-light:var(--line); --line-dark:var(--dark-line); --line-dark-2:#ffffff30; --on-dark-2:#c1ccd8; --on-dark-3:#afbed0; --navy-4:#304967; --brand-orange:var(--orange); --orange-dim:#fd570314; --orange-brd:#fd570345; }
.pipe-card{background:var(--dark);border-radius:10px;overflow:hidden;font-family:var(--f-mono)}
.pipe-chrome{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line-dark);background:rgba(255,255,255,.03)}
.pipe-dot{width:9px;height:9px;border-radius:50%}
.pipe-dot:nth-child(1){background:#ff5f57}
.pipe-dot:nth-child(2){background:#ffbd2e}
.pipe-dot:nth-child(3){background:#28c840}
.pipe-tab{font-size:.68rem;color:var(--on-dark-3);margin-left:auto}
.pipe-body{padding:14px 16px}
.pipe-line{font-size:.76rem;line-height:1.9;color:var(--on-dark-3)}
.pipe-line .pl-prompt{color:#22c55e;margin-right:6px}
.pipe-line .pl-cmd{color:var(--on-dark)}
.pipe-line .pl-ok{color:#22c55e}
.pipe-line .pl-warn{color:#f59e0b}
.pipe-line .pl-dim{color:var(--on-dark-3)}
.pipe-cursor{display:inline-block;width:6px;height:13px;background:var(--on-dark-2);margin-left:2px;vertical-align:middle;animation:blink 1s step-end infinite}

/* animated step indicator */
.pipe-progress{display:flex;gap:4px;padding:10px 14px 0}
.pipe-step{flex:1;height:3px;border-radius:2px;background:var(--line-dark);position:relative;overflow:hidden}
.pipe-step.done{background:var(--orange)}
.pipe-step.active::after{content:'';position:absolute;inset:0;background:var(--orange);animation:pipeProgress 2s var(--ease) forwards}
@keyframes pipeProgress{from{width:0}to{width:100%}}

/* ── Animated security radar ── */
.radar-card{background:var(--navy);border-radius:10px;padding:20px;position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.radar-svg{width:160px;height:160px;flex-shrink:0}
.radar-ring{fill:none;stroke:rgba(255,255,255,.06);stroke-width:1}
.radar-sweep{transform-origin:80px 80px;animation:radarSweep 3s linear infinite}
@keyframes radarSweep{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.radar-dot{fill:var(--orange);animation:radarPing .8s ease-in-out infinite alternate}
@keyframes radarPing{from{opacity:1;r:3}to{opacity:.3;r:5}}
.radar-label{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-3);margin-top:12px;text-align:center}

/* ── Animated cloud topology ── */
.topo-card{background:linear-gradient(135deg,var(--dark) 0%,#0a1830 100%);border-radius:10px;padding:20px;min-height:180px;position:relative;overflow:hidden}
.topo-node{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;font-family:var(--f-mono);font-size:.62rem;font-weight:700;color:#fff;position:absolute;animation:topoFloat 4s ease-in-out infinite}
.topo-node.n-aws{background:linear-gradient(135deg,#f59e0b,#fd5703);top:20%;left:10%;animation-delay:0s}
.topo-node.n-gcp{background:linear-gradient(135deg,#4f7cff,#00c2e0);top:55%;left:22%;animation-delay:.8s}
.topo-node.n-az{background:linear-gradient(135deg,#0f7cff,#00b4cc);top:20%;right:18%;animation-delay:1.4s}
.topo-node.n-k8{background:linear-gradient(135deg,#326ce5,#4f7cff);top:60%;right:10%;animation-delay:.4s}
.topo-node.n-hub{background:linear-gradient(135deg,var(--orange),#ff9d3d);top:35%;left:50%;transform:translateX(-50%);width:48px;height:48px;font-size:.7rem;border:2px solid rgba(253,87,3,.5);box-shadow:0 0 20px rgba(253,87,3,.3)}
@keyframes topoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.topo-line{position:absolute;pointer-events:none}

/* ── AI agent animated card ── */
.ai-card{background:var(--dark);border-radius:10px;padding:16px;min-height:180px}
.ai-msg{display:flex;gap:10px;margin-bottom:12px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.ai-msg.show{opacity:1;transform:translateY(0)}
.ai-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff}
.ai-avatar.user{background:var(--navy-4)}
.ai-avatar.bot{background:linear-gradient(135deg,var(--orange),#ff9d3d)}
.ai-bubble{border-radius:8px;padding:8px 12px;font-family:var(--f-mono);font-size:.72rem;line-height:1.6;max-width:82%}
.ai-bubble.user{background:rgba(255,255,255,.06);color:var(--on-dark-2)}
.ai-bubble.bot{background:rgba(253,87,3,.12);color:var(--on-dark);border:1px solid rgba(253,87,3,.2)}
.ai-typing{display:flex;gap:4px;align-items:center;padding:10px 12px}
.ai-typing span{width:5px;height:5px;border-radius:50%;background:var(--orange);animation:aiDot .8s ease-in-out infinite}
.ai-typing span:nth-child(2){animation-delay:.15s}
.ai-typing span:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}

/* ── App development animated mockup ── */
.app-card{background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--line-light)}
.app-bar{height:36px;background:var(--bg-2);display:flex;align-items:center;gap:6px;padding:0 14px;border-bottom:1px solid var(--line-light)}
.app-bar-dot{width:9px;height:9px;border-radius:50%}
.app-bar-dot:nth-child(1){background:#ff5f57}
.app-bar-dot:nth-child(2){background:#ffbd2e}
.app-bar-dot:nth-child(3){background:#28c840}
.app-bar-url{flex:1;margin-left:8px;height:18px;background:rgba(0,0,0,.06);border-radius:9px}
.app-body{padding:14px}
.app-skeleton{height:10px;border-radius:4px;background:linear-gradient(90deg,var(--bg-2) 25%,var(--bg-3) 50%,var(--bg-2) 75%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;margin-bottom:8px}
.app-skeleton.w-full{width:100%}
.app-skeleton.w-3q{width:75%}
.app-skeleton.w-half{width:50%}
.app-skeleton.h-tall{height:60px;border-radius:6px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.app-btn-row{display:flex;gap:6px;margin-top:10px}
.app-btn{height:28px;border-radius:5px;background:var(--orange);flex:1;animation:btnPulse 2.5s ease-in-out infinite}
.app-btn.ghost{background:transparent;border:1px solid var(--line-light)}
@keyframes btnPulse{0%,100%{opacity:1}50%{opacity:.7}}

/* ── Operations metrics animated card ── */
.ops-card{background:var(--dark);border-radius:10px;padding:16px}
.ops-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line-dark)}
.ops-row:last-child{border-bottom:none;margin-bottom:0}
.ops-label{font-family:var(--f-mono);font-size:.66rem;color:var(--on-dark-3);letter-spacing:.08em}
.ops-val{font-family:var(--f-mono);font-size:.8rem;font-weight:700;color:var(--on-dark)}
.ops-val.green{color:#22c55e}
.ops-val.orange{color:var(--orange)}
.ops-bar-wrap{flex:1;height:4px;background:var(--line-dark);border-radius:2px;margin:0 12px;overflow:hidden}
.ops-bar{height:100%;border-radius:2px;width:0;transition:width 1.4s var(--ease)}
.ops-bar.green{background:linear-gradient(90deg,#22c55e,#16a34a)}
.ops-bar.orange{background:linear-gradient(90deg,var(--orange),#ff9d3d)}
.ops-bar.blue{background:linear-gradient(90deg,#4f7cff,#00c2e0)}

.pulse-wrap{position:relative;width:100%;max-width:520px;margin:0 auto}
.pulse-wrap::before{
  content:'';position:absolute;inset:-16% -10%;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at 60% 40%,rgba(253,87,3,.16),transparent 58%),
             radial-gradient(circle at 20% 80%,rgba(79,124,255,.14),transparent 58%);
  filter:blur(6px);
}
.pulse-panel{
  position:relative;border:1px solid var(--line-dark-2);border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7);
}
.pulse-head{
  display:flex;align-items:center;gap:12px;padding:13px 16px;
  border-bottom:1px solid var(--line-dark);background:rgba(0,0,0,.18);
}
.pulse-dots{display:flex;gap:5px}
.pulse-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.pulse-dots i:first-child{background:rgba(253,87,3,.75)}
.pulse-title{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.1em;color:var(--on-dark-3);flex:1}
.pulse-live{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#22c55e;
}

/* waveform */
.pulse-wave{padding:18px 16px 6px}
.pulse-wave svg{width:100%;height:70px;display:block;overflow:visible}
.pw-grid{stroke:rgba(255,255,255,.06);stroke-width:1;stroke-dasharray:3 6}
.pw-line{
  fill:none;stroke:var(--brand-orange);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:620;stroke-dashoffset:620;
  animation:pwDraw 3.4s var(--ease) infinite;
  filter:drop-shadow(0 0 6px rgba(253,87,3,.55));
}
.pw-ghost{stroke:rgba(253,87,3,.16);stroke-dasharray:none;stroke-dashoffset:0;
  animation:none;filter:none}
@keyframes pwDraw{
  0%{stroke-dashoffset:620}
  55%{stroke-dashoffset:0}
  85%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:0;opacity:0}
}

.pulse-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
}
.ps{padding:16px 14px;border-right:1px solid var(--line-dark);text-align:center}
.ps:last-child{border-right:none}
.ps-n{
  display:block;font-family:var(--f-display);font-size:1.32rem;font-weight:800;letter-spacing:-.03em;
  background:linear-gradient(150deg,#fff 20%,#ffd9c4 70%,var(--brand-orange) 130%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:5px;
}
.ps-l{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;color:var(--on-dark-3)}

.pulse-log{list-style:none;padding:12px 16px 16px;margin:0}
.pulse-log li{
  display:flex;align-items:center;gap:11px;padding:8px 0;
  font-size:.78rem;color:var(--on-dark-2);line-height:1.4;
  border-bottom:1px solid rgba(255,255,255,.045);
  opacity:0;animation:logIn .6s var(--ease) forwards;
  animation-delay:calc(.5s + var(--i) * .28s);
}
.pulse-log li:last-child{border-bottom:none}
@keyframes logIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.pl-t{
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;color:var(--on-dark-3);
  min-width:44px;flex-shrink:0;
}
.pl-k{
  font-family:var(--f-mono);font-size:.55rem;font-weight:700;letter-spacing:.1em;
  padding:2px 7px;border-radius:4px;flex-shrink:0;
  color:var(--brand-orange);background:rgba(253,87,3,.13);border:1px solid rgba(253,87,3,.26);
}
.pl-k.ok{color:#22c55e;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.26)}
.pl-k.warn{color:#a78bfa;background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.26)}

/* Architecture: generous editorial scale, translucent metal, warm paper. */
.page-hero { position:relative; isolation:isolate; overflow:hidden; min-height:min(780px,calc(100svh - 88px)); display:flex; align-items:center; color:white; background:#0b1928; border-bottom:1px solid #ffffff20; }
.p-services .page-hero { background:#edf2f1; }
.p-contact .page-hero { background-image:linear-gradient(90deg,#071624f0 0%,#0b1b2bc2 52%,#0b1b2b87),url('assets/photography/contact-workspace.webp?v=2'); background-size:cover; background-position:center; }
.p-about .page-hero { background-image:linear-gradient(90deg,#071624e8,#0b1b2bbf),url('assets/home/architecture-960.webp'); background-size:cover; background-position:center; }
.page-hero-inner { width:100%; max-width:var(--content-width); padding:70px var(--gutter) 92px; margin:auto; }
.page-hero-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:7%; align-items:center; }
.page-hero-copy { min-width:0; padding:42px 0; }
.page-hero-copy::before { content:''; position:absolute; left:-5vw; top:4%; bottom:4%; width:min(760px,60vw); z-index:-1; border:1px solid #ffffff18; border-radius:28px; background:linear-gradient(135deg,#07162475,#21394a24); backdrop-filter:blur(2px); transform:perspective(900px) rotateY(5deg); box-shadow:0 40px 100px #0003; }
.crumbs { display:flex; gap:12px; margin-bottom:45px; color:#b6c2ce; font:10px var(--f-mono); }
.crumbs a:hover { color:#ffae71; }
.crumbs .here { color:#f1f3f6; }
.page-h1 { font:500 clamp(42px,4.35vw,67px)/1.06 var(--f-display); letter-spacing:-.052em; text-wrap:balance; }
.page-hero .grad, .promise-band .grad, .how-section .grad { color:#ffaf78; }
.page-hero .section-eyebrow, .promise-band .section-eyebrow, .how-section .section-eyebrow { color:#b8c7d5; }
.page-sub { color:#c1cbd5; font-size:14px; line-height:1.9; margin-top:26px; max-width:590px; }
.hero-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.hero-chip { display:inline-flex; align-items:center; min-height:40px; font:10px var(--f-mono); padding:9px 13px; border:1px solid #ffffff30; border-radius:5px; background:#ffffff06; transition:background .25s,border-color .25s; }
.hero-chip:hover { border-color:#ffae71; background:#fd570322; }
.page-hero-grid > :last-child { margin-top:40px; }
.container-sm { width:100%; max-width:1040px; padding-inline:var(--gutter); margin:auto; }
.sector-section, .svc-section, .about-story-section, .how-section, .fit-section, .team-section, .contact-section, .faq-section { padding-block:var(--section-space); }
.sector-head { margin-bottom:45px; }
.sector-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; counter-reset:practice; }
.sector-card { display:flex; flex-direction:column; position:relative; min-width:0; padding:30px; border:1px solid var(--line); border-radius:10px; background:linear-gradient(145deg,#fff,#f2f4f2); overflow:hidden; transition:transform .4s var(--ease),box-shadow .4s,border-color .4s; }
.sector-num { position:absolute; top:24px; right:24px; font:10px var(--f-mono); color:#647282; }
.sector-card:hover { transform:translateY(-5px); border-color:#afbdc6; box-shadow:0 20px 40px #10243c0c; }
.sector-ico { width:46px; height:46px; display:grid; place-items:center; margin-bottom:28px; border:1px solid #cbd5d9; color:var(--ink); border-radius:10px; background:linear-gradient(145deg,white,#e6ebed); box-shadow:inset 0 1px white,0 5px 12px #0b1f3f08; transition:transform .4s var(--ease),border-color .4s,box-shadow .4s; }
.sector-ico svg { width:23px; height:23px; }
.page-enter .sector-ico { animation:iconSettle 1s var(--ease) both; }
@keyframes iconSettle { from { transform:translateY(14px) rotate(-12deg); } to { transform:none; } }
.sector-card:hover .sector-ico { transform:translateY(-5px) rotate(-3deg); border-color:#fd570365; box-shadow:inset 0 1px white,0 16px 28px #fd57031c; }
.sector-card h3 { font:500 22px/1.25 var(--f-display); letter-spacing:-.03em; max-width:90%; margin-bottom:14px; }
.sector-card p { font-size:13px; color:var(--muted); line-height:1.8; }
.sector-tags { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:22px; color:var(--muted); font:9px/1.6 var(--f-mono); }
.sector-more { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:24px; font-size:12px; color:var(--orange-ink); }
.svc-section { position:relative; overflow:hidden; border-top:1px solid var(--line); background:radial-gradient(ellipse at 90% 10%,#dce9ed 0,transparent 43%),#fbfcfa; }
.svc-section.alt { color:#fff; border-color:#ffffff24; background:#0b1a2a; }
#devops { background-image:linear-gradient(90deg,#f7f8f4f2,#f5f6f1d6),url('assets/context/devops-pipeline.webp'); background-size:cover; background-position:center; }
#security { background-image:linear-gradient(90deg,#071624f1,#10263ac2),url('assets/context/security-zero-trust.webp'); background-size:cover; background-position:center; }
#operations { background-image:linear-gradient(90deg,#f7f8f4f1,#f5f6f1d4),url('assets/context/observability-operations.webp'); background-size:cover; background-position:center; }
#cloud { background-image:linear-gradient(90deg,#071624f0,#10263ac0),url('assets/context/cloud-migration.webp'); background-size:cover; background-position:center; }
#ai-agents { background-image:linear-gradient(90deg,#f7f8f4f1,#f5f6f1d3),url('assets/context/ai-agent-network.webp'); background-size:cover; background-position:center; }
#app-development { background-image:linear-gradient(90deg,#071624f0,#10263abf),url('assets/context/app-development.webp'); background-size:cover; background-position:center; }
.svc-section.alt .svc-full-grid h2 { color:#fff; }
.svc-section.alt .grad { color:#ffae71; }
.svc-section.alt .svc-full-grid .lead,.svc-section.alt .svc-feature-list li { color:#c7d1db; }
.svc-section.alt .svc-feature-list,.svc-section.alt .svc-feature-list li { border-color:#ffffff24; }
.svc-section.alt .svc-tool-chip { color:#d3dde6; background:#ffffff0c; border-color:#ffffff35; backdrop-filter:blur(10px); }
.svc-section.alt .svc-visual-card { background:linear-gradient(145deg,#eef1edfa,#ffffffef); border-color:#ffffff75; box-shadow:0 40px 95px -30px #000b,inset 0 1px white; }
.svc-full-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:start; }
.svc-full-grid > * { min-width:0; }
.svc-full-grid.flip { direction:rtl; }
.svc-full-grid.flip > * { direction:ltr; }
.svc-full-grid h2 { font:500 clamp(32px,3vw,46px)/1.13 var(--f-display); letter-spacing:-.04em; margin-bottom:24px; }
.svc-full-grid .lead { font-size:14px; color:var(--muted); line-height:1.9; }
.svc-feature-list { list-style:none; padding:0; margin:28px 0; border-top:1px solid var(--line); }
.svc-feature-list li { padding:12px 0 12px 24px; position:relative; border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.svc-feature-list li::before { content:'↗'; position:absolute; left:0; color:var(--orange-ink); }
.svc-tool-chips { display:flex; flex-wrap:wrap; gap:7px; }
.svc-tool-chip { font:9px/1.5 var(--f-mono); padding:6px 10px; border:1px solid #d2dadb; border-radius:4px; background:#ffffff80; color:var(--muted); }
.svc-visual-card { padding:12px; border:1px solid #c9d2d8; border-radius:20px; background:linear-gradient(145deg,#e6ecedeb,#fbfcf9f2); box-shadow:0 35px 80px -28px #12283b70,inset 0 1px white; position:relative; transition:transform .5s var(--ease),box-shadow .5s; backdrop-filter:blur(22px); }
.svc-visual-card:hover { transform:perspective(1100px) rotateX(1.2deg) rotateY(-1.6deg) translateY(-8px); box-shadow:0 50px 100px -25px #10263b70,inset 0 1px white; }
.svc-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:12px; background:#d6dedf; border:1px solid #d6dedf; border-radius:7px; overflow:hidden; }
.svc-stat-box { padding:23px 18px; background:#f9faf7; min-width:0; }
.svc-stat-box .n { display:block; font:500 clamp(22px,2.2vw,31px)/1.2 var(--f-display); letter-spacing:-.04em; margin-bottom:8px; overflow-wrap:anywhere; }
.svc-stat-box .n { color:var(--ink); }
.svc-stat-box .l { display:block; font:9px/1.7 var(--f-mono); color:var(--muted); }
.svc-highlight { padding:21px 10px 10px; font-size:12px; color:var(--muted); line-height:1.85; }
.svc-highlight strong { font-weight:600; color:var(--ink); }
.mock-tag { padding:4px 3px 12px; color:var(--muted); font:9px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.pipe-card, .ops-card, .ai-card, .topo-card { padding-block:20px; }
.pipe-card { padding-top:0; }
.pipe-line { font-size:10px; overflow-wrap:anywhere; }
.pipe-tab { font-size:9px; }
.ai-avatar.bot, .ai-avatar.user { color:#0b1928; background:#ffaf78; }
.ai-avatar.user { background:#c7d5e4; }
.ai-msg { opacity:1; transform:none; }
.ai-bubble { font-size:11px; overflow-wrap:anywhere; }
.ops-label { max-width:42%; font-size:10px; }
.ops-val { font-size:11px; white-space:nowrap; }
.ops-val.orange { color:#ffae71; }
.pipe-cursor,.radar-sweep,.radar-dot,.topo-node,.ai-typing span,.pipe-step.active::after { animation-play-state:paused; }
.motion-active .pipe-cursor,.motion-active .radar-sweep,.motion-active .radar-dot,.motion-active .topo-node,.motion-active .ai-typing span,.motion-active .pipe-step.active::after { animation-play-state:running; }
.motion-active .radar-sweep { animation:radarSweep 5.5s linear infinite; }
.motion-active .radar-dot { animation:radarPing 1.6s ease-in-out infinite alternate; }
.motion-active .pipe-cursor { animation:blink 1s step-end infinite; }
.motion-active .pipe-step.active::after { animation:pipeProgress 3.2s var(--ease) infinite; }
.motion-active .topo-node { animation:topoFloat 4.5s ease-in-out infinite; }
.motion-active .topo-node:nth-of-type(2) { animation-delay:-1.3s; }
.motion-active .topo-node:nth-of-type(3) { animation-delay:-2.7s; }
.motion-active .topo-node:nth-of-type(4) { animation-delay:-3.5s; }
.motion-active .topo-node.n-hub { animation:hubFloat 4.5s ease-in-out infinite; }
@keyframes hubFloat { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-7px); } }
.motion-active .ai-typing span { animation:aiDot .9s ease-in-out infinite; }
.radar-ring { stroke:#ffffff22; }
.radar-card { min-height:240px; }
.topo-node { box-shadow:0 8px 25px #0005; border:1px solid #ffffff50; color:#fff; background:#263e58 !important; }
.topo-node.n-hub { background:#ffaf78 !important; color:var(--night); }
.alt-dark { background:radial-gradient(circle at 88% 8%,#31506c 0,transparent 34%),radial-gradient(circle at 12% 92%,#422a27 0,transparent 31%),linear-gradient(135deg,#081724,#11283c); color:white; }
.alt-dark .section-p { color:var(--on-dark); }
.alt-dark .sector-card { background:linear-gradient(135deg,#ffffff0c,#ffffff03); border-color:#ffffff26; }
.alt-dark .sector-card p,.alt-dark .sector-tags,.alt-dark .sector-card::after { color:#bfccd8; }
.alt-dark .sector-card h3 { color:#fff; }
.alt-dark .sector-ico { background:#ffffff0a; border-color:#ffffff30; color:#ffb67b; box-shadow:none; }
.alt-dark .section-eyebrow { color:var(--on-dark); }
.model-actions { margin-top:32px; display:flex; gap:16px; flex-wrap:wrap; }
.model-actions a { display:inline-flex; padding:12px 16px; border:1px solid #ffffff40; border-radius:5px; font-size:12px; }
/* The service constellation is real navigation, arranged on a glass disc. */
.orbit-wrap { position:relative; width:100%; max-width:540px; aspect-ratio:1; margin:auto; isolation:isolate; }
.orbit-wrap::before { content:''; position:absolute; inset:9%; border:1px solid #ccdcea32; border-radius:50%; background:radial-gradient(circle,#fa8c3925,transparent 65%),linear-gradient(145deg,#ffffff12,#ffffff00); box-shadow:inset 0 1px #fff3,0 45px 70px -35px #0009; transform:rotateX(16deg); }
.orbit-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.motion-active .orbit-svg { animation:orbitBreath 7s ease-in-out infinite; }
@keyframes orbitBreath { 50% { transform:scale(1.025) rotate(1deg); filter:drop-shadow(0 0 16px #fd57032e); } }
.orbit-ring { fill:none; stroke:#b3c7dc3d; stroke-width:.2; }
.orbit-ring.r2 { stroke-dasharray:1 2; }
.orbit-hex { fill:#ffab7010; stroke:#ffae7166; stroke-width:.25; }
.ol { stroke:#ffb77370; stroke-width:.25; stroke-dasharray:1 1.4; }
.orbit-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:22%; border-radius:50%; padding:9px; background:#fbf6ee; box-shadow:0 0 0 9px #ffffff08,0 0 0 10px #ffffff26,0 12px 35px #0006; }
.orbit-node { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:10px; }
.motion-active .orbit-node { animation:orbitNode 4.6s ease-in-out infinite; }
.motion-active .orbit-node:nth-of-type(2n) { animation-delay:-1.5s; }
.motion-active .orbit-node:nth-of-type(3n) { animation-delay:-3s; }
@keyframes orbitNode { 0%,100% { transform:translate(-50%,-50%); } 50% { transform:translate(-50%,calc(-50% - 8px)); } }
.orbit-dot { display:grid; place-items:center; width:55px; height:55px; border:1px solid #8aa4ba88; border-radius:14px; color:#d7e4ec; background:linear-gradient(145deg,#344a5b,#17293b); box-shadow:0 10px 22px #0005,inset 0 1px #ffffff20; transition:transform .35s,border-color .35s; }
.orbit-node:hover .orbit-dot { transform:translateY(-5px); border-color:#ffaf78; color:#ffaf78; }
.orbit-label { font:10px var(--f-mono); color:#d8e3eb; white-space:nowrap; }
/* About: photographic story, sculptural brand seal, open numbered principles. */
.about-metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:34px; padding-top:24px; border-top:1px solid #ffffff26; gap:18px; }
.am { display:flex; flex-direction:column; gap:10px; min-width:0; }
.am-num { color:white; font:500 27px/1 var(--f-display); letter-spacing:-.04em; }
.am-lbl { color:#bdc8d4; font:9px/1.7 var(--f-mono); }
.uptime-wrap { width:100%; max-width:430px; aspect-ratio:1; position:relative; margin:auto; filter:drop-shadow(0 30px 24px #0005); }
.uptime-svg { width:100%; height:100%; }
.motion-active .uptime-svg { animation:sealBreath 7s ease-in-out infinite; }
@keyframes sealBreath { 50% { transform:scale(1.025) rotate(1deg); filter:drop-shadow(0 0 15px #fd570340); } }
.uptime-track { fill:none; stroke:#ffffff30; stroke-width:.25; }
.tick { fill:#c2d8e32c; stroke:#dceaf724; stroke-width:.15; }
.tick:nth-child(3n) { fill:#ffaf7880; }
.pins .pin { fill:#ffb67b; }
.sweep path { fill:#ffae7117; }
.uptime-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:47%; aspect-ratio:1; display:grid; place-items:center; padding:24px; border-radius:50%; background:linear-gradient(145deg,white,#e9e4d9); box-shadow:0 0 0 15px #ffffff04,0 0 0 16px #ffffff30,0 22px 40px #0005,inset 0 3px white; }
.uptime-badge { position:absolute; top:81%; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #ffffff30; border-radius:5px; background:#102132; color:#e3e9ef; font:9px var(--f-mono); white-space:nowrap; }
.story-grid, .team-section-inner { max-width:var(--content-width); padding-inline:var(--gutter); margin:auto; }
.about-story-section { background:radial-gradient(circle at 92% 5%,#dbe7e9 0,transparent 32%),radial-gradient(circle at 5% 95%,#f9e8db 0,transparent 29%),linear-gradient(135deg,#f7f7f2,#eef2f1); }
.story-grid { display:grid; grid-template-columns:.8fr 1.25fr; gap:12%; }
.story-left { position:sticky; top:130px; align-self:start; }
.story-left h2, .team-header h2 { font:500 clamp(34px,3.4vw,50px)/1.12 var(--f-display); letter-spacing:-.045em; }
.story-lead { font-size:14px; line-height:1.9; color:var(--muted); margin-top:24px; }
.mile-list { list-style:none; padding:0; margin:0; }
.mile { display:flex; gap:26px; padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid var(--line); }
.mile:last-child { margin-bottom:0; }
.mile-n { flex-shrink:0; color:var(--orange-ink); font:10px var(--f-mono); padding-top:8px; }
.mile-body h3 { font:500 23px/1.3 var(--f-display); letter-spacing:-.03em; margin-bottom:14px; }
.mile-body p { font-size:13px; color:var(--muted); line-height:1.85; }
.promise-band { position:relative; isolation:isolate; overflow:hidden; min-height:580px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:100px var(--gutter); background:radial-gradient(circle at 50% 115%,#6e3629 0,transparent 35%),radial-gradient(circle at 85% 0,#29445d 0,transparent 36%),linear-gradient(145deg,#071521,#11283c); color:white; }
.promise-text { font:500 clamp(40px,5vw,74px)/1.06 var(--f-display); letter-spacing:-.05em; max-width:850px; margin:0 0 30px; text-wrap:balance; }
.promise-sub { max-width:650px; color:#d0d8df; font-size:13px; line-height:1.85; }
.how-section { background:#101f30; color:white; }
.how-section .section-p { color:var(--on-dark); }
.principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 7%; }
.principle { display:flex; gap:24px; padding:32px 0; border-top:1px solid #ffffff29; }
.pr-n { font:10px var(--f-mono); color:#ffb77b; padding-top:6px; }
.pr-body h3 { font:500 23px/1.3 var(--f-display); letter-spacing:-.03em; margin-bottom:18px; }
.pr-body p { color:#b9c6d2; font-size:13px; line-height:1.85; }
.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.fit-col { padding:34px; background:#fff; border:1px solid var(--line); border-radius:10px; }
.fit-yes { background:linear-gradient(135deg,#ecf2ed,#fafbf7); }
.fit-badge { font:10px var(--f-mono); padding:8px 12px; border:1px solid #c6d7cb; border-radius:4px; display:inline-block; color:#28533d; }
.fit-badge.no { border-color:#d8d7d1; color:#5c655f; }
.fit-col ul { padding:0; list-style:none; margin:24px 0 0; }
.fit-col li { padding:13px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; }
.fit-col li:last-child { border:0; }
.team-section { background-image:linear-gradient(90deg,#f8f8f4f2 0%,#f8f8f4de 48%,#f8f8f4bd),url('assets/photography/team-meeting-room.webp'); background-size:cover; background-position:center; border-top:1px solid var(--line); }
.team-header { display:grid; grid-template-columns:1fr 1fr; column-gap:12%; margin-bottom:50px; align-items:end; }
.team-header .section-eyebrow { grid-column:1/-1; }
.team-header p { color:var(--muted); font-size:13px; line-height:1.85; }
.founder-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.fc { border:1px solid #d1d9dc; border-radius:10px; overflow:hidden; background:#f8f9f6; transition:transform .35s,box-shadow .35s; }
.fc:hover { transform:translateY(-5px); box-shadow:0 20px 40px #10243c10; }
.fc-top { height:150px; display:grid; place-items:center; position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 70% 0%,#8297a947,transparent 70%),#14283d; }
.fc-top::before { content:''; position:absolute; inset:20px; border:1px solid #ffffff1f; transform:rotate(-30deg) skew(15deg); border-radius:20px; box-shadow:0 0 0 15px #ffffff05,0 0 0 30px #ffffff04; z-index:-1; }
.fc-icon { width:40px; height:40px; padding:10px; box-sizing:content-box; color:#ffbe8e; border:1px solid #ffffff40; border-radius:12px; background:linear-gradient(145deg,#62758480,#1c2f4480); box-shadow:0 14px 20px #0004; transform:rotate(-7deg); transition:transform .4s; }
.fc:hover .fc-icon { transform:rotate(0) translateY(-5px); }
.fc-body { padding:25px 20px; }
.fc-name { font:500 21px/1.25 var(--f-display); letter-spacing:-.03em; margin-bottom:17px; }
.fc-focus { color:var(--muted); font-size:12px; line-height:1.8; }
.fc-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:23px; }
.fc-chips span { font:9px/1.5 var(--f-mono); padding:5px 7px; border:1px solid #d8dfe0; border-radius:3px; }
.footer-word { font:500 clamp(65px,16vw,230px)/1 var(--f-display); letter-spacing:.045em; color:#71817f; text-align:center; margin-top:40px; overflow:hidden; }
/* Contact: an approachable, spacious form and clearly visible answers. */
.pulse-wrap::before { background:radial-gradient(ellipse,#ffb47a24,transparent 70%); }
.pulse-panel { border-radius:14px; background:linear-gradient(145deg,#33455780,#142335dd); border-color:#9eb7cb59; box-shadow:0 30px 65px -20px #0008,inset 0 1px #ffffff20; }
.pulse-head { padding:18px; }
.pulse-live { color:#b2d7bb; }
.pulse-title { font-size:9px; line-height:1.7; }
.pw-grid { fill:none; }
.pw-line { animation:none; stroke-dashoffset:0; stroke:#ffae71; }
.motion-active .pw-line:not(.pw-ghost) { animation:pwDraw 4.8s var(--ease) infinite; }
.pulse-stats .ps-n { font-weight:500; font-size:27px; }
.pulse-stats .ps-l { font-size:8px; letter-spacing:.02em; }
.pulse-log { padding:18px; }
.pulse-log li { opacity:1; animation:none; font-size:11px; line-height:1.7; align-items:start; padding:13px 0; }
.pl-k { color:#ffae71; }
.contact-section { background:radial-gradient(circle at 8% 12%,#e1eaeb 0,transparent 31%),radial-gradient(circle at 92% 88%,#f8e9de 0,transparent 29%),linear-gradient(145deg,#f5f6f1,#edf1ef); }
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:9%; align-items:start; }
.contact-grid > * { min-width:0; }
.contact-grid .section-h2 { margin-bottom:30px; }
.contact-info-items { border-top:1px solid var(--line); margin-bottom:32px; }
.ci-item { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.ci-icon { width:40px; height:40px; display:grid; place-items:center; border:1px solid #cbd6d9; border-radius:10px; background:linear-gradient(145deg,white,#e5eaec); color:var(--ink); flex-shrink:0; }
.ci-item strong { display:block; font-size:14px; font-weight:500; margin-bottom:6px; }
.ci-item span { display:block; font-size:12px; line-height:1.7; color:var(--muted); }
.contact-expect { padding:28px; border:1px solid var(--line); background:#eeefea; border-radius:9px; }
.expect-h { font:10px var(--f-mono); margin-bottom:22px; }
.expect-steps { display:grid; gap:18px; }
.expect-step { display:flex; gap:17px; color:var(--muted); font-size:12px; line-height:1.85; }
.expect-n { font:10px var(--f-mono); padding-top:5px; color:var(--orange-ink); }
.contact-social-row { display:flex; gap:10px; margin-top:26px; }
.social-btn { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; transition:background .25s; }
.social-btn:hover { background:white; }
.contact-form-wrap { position:relative; padding:clamp(24px,3vw,44px); background:#fff; border:1px solid #cfd8da; border-top:3px solid var(--orange); border-radius:12px; box-shadow:0 25px 60px -30px #16324745; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { margin-bottom:25px; min-width:0; }
.form-group label { display:block; color:var(--ink); font-size:11px; font-weight:500; margin-bottom:10px; }
.form-group input,.form-group select,.form-group textarea { width:100%; min-width:0; min-height:50px; border:1px solid #c8d2d7; padding:13px 14px; border-radius:5px; background:#f9faf7; color:var(--ink); font:13px/1.6 var(--f-body); transition:border-color .2s,box-shadow .2s; }
.form-group textarea { resize:vertical; min-height:140px; }
.form-group input::placeholder,.form-group textarea::placeholder { color:#697686; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:2px solid #fd570360; outline-offset:2px; border-color:var(--orange-ink); background:#fff; }
.btn-submit { width:100%; display:flex; align-items:center; justify-content:center; gap:15px; min-height:54px; padding:14px 20px; background:var(--navy); border:0; border-radius:5px; color:white; font-size:13px; transition:background .2s; }
.btn-submit:hover { background:#233e60; }
.btn-submit:disabled { opacity:.65; cursor:wait; }
.form-note { margin-top:17px; color:var(--muted); font-size:10px; text-align:center; }
.form-success { display:none; text-align:center; padding:35px 0; }
.form-success:not([hidden]).shown { display:flex; flex-direction:column; align-items:center; gap:20px; }
.form-success h3 { font:500 32px var(--f-display); }
.form-success p { font-size:14px; overflow-wrap:anywhere; }
.fs-ring { display:grid; place-items:center; width:70px; height:70px; border-radius:50%; background:#e9f3ea; }
.btn-ghost-light { display:inline-block; padding:12px 18px; border:1px solid var(--line); border-radius:5px; font-size:12px; }
.form-error { margin-top:18px; font-size:12px; color:#a33019; }
.faq-section { background:linear-gradient(115deg,#fafbf8 0 48%,#eef2f1 48% 49%,#f5f7f4 49%); border-top:1px solid var(--line); }
.faq-section .section-p { margin-top:24px; font-size:14px; max-width:700px; }
.faq-grid { margin-top:45px; counter-reset:faq; }
.faq-item { border-top:1px solid var(--line); }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-q { width:100%; display:flex; align-items:center; gap:24px; text-align:left; border:0; background:transparent; padding:25px 0; color:var(--ink); font:500 19px/1.5 var(--f-display); letter-spacing:-.025em; }
.faq-q::before { counter-increment:faq; content:'0' counter(faq); font:9px var(--f-mono); color:var(--muted); }
.faq-q > span { flex:1; }
.faq-q[aria-expanded=true] { color:var(--orange-ink); }
.faq-icon { transition:transform .3s; }
.faq-q[aria-expanded=true] .faq-icon { transform:rotate(180deg); }
.faq-a-inner { padding:0 36px 28px; font-size:13px; color:var(--muted); line-height:1.85; }
/* A custom, useful 404. */
.page-not-found { background:var(--night); color:white; }
.nf-wrap { min-height:100svh; padding:70px var(--gutter); display:grid; place-items:center; position:relative; isolation:isolate; overflow:hidden; }
.nf-inner { max-width:650px; width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; }
.nf-disc { display:block; width:100px; padding:15px; background:#f5f2ea; border-radius:50%; box-shadow:0 0 0 15px #ffffff04,0 0 0 16px #ffffff20,0 25px 45px #0007; margin-bottom:40px; }
.nf-code { font:10px var(--f-mono); color:#ffaf78; letter-spacing:.15em; margin-bottom:22px; }
.nf-inner h1 { font:500 clamp(40px,5vw,68px)/1.08 var(--f-display); letter-spacing:-.05em; text-wrap:balance; }
.nf-inner p { color:#bfcbd7; font-size:14px; margin:24px auto 30px; max-width:510px; }
.nf-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.nf-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; border-top:1px solid #ffffff26; margin-top:44px; padding-top:20px; }
.nf-link { color:#c2ced9; font:10px var(--f-mono); padding-block:15px; }
.nf-link:hover { color:#ffaf78; }
/* Layout is content-driven across translations and smaller screens. */
@media(min-width:1101px) { .svc-full-grid > :last-child { position:sticky; top:125px; } }
@media(max-width:1100px) {
 .page-hero-grid { gap:4%; grid-template-columns:1.15fr 1fr; }
 .page-h1 { font-size:clamp(40px,4.7vw,56px); }
 .sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .svc-full-grid { gap:5%; }
 .founder-cards { grid-template-columns:1fr 1fr; }
 .about-metrics { grid-template-columns:1fr 1fr; }
 .pulse-log .pl-k { display:none; }
 .contact-grid { gap:5%; }
 .pulse-stats .ps-n { font-size:22px; }
}
@media(max-width:900px) {
 .page-hero { min-height:auto; }
 .page-hero-grid { grid-template-columns:1fr; }
 .page-hero-copy { max-width:690px; }
 .page-h1 { max-width:680px; font-size:clamp(42px,7vw,64px); }
 .page-hero-grid > :last-child { margin-top:35px; }
 .page-hero-inner { padding-bottom:55px; }
 .orbit-wrap { max-width:440px; }
 .uptime-wrap { max-width:330px; }
 .pulse-wrap { max-width:580px; }
 .pulse-log .pl-k { display:block; }
 .svc-full-grid,.story-grid,.contact-grid { grid-template-columns:1fr; gap:44px; }
 .svc-full-grid.flip { direction:ltr; }
 .svc-visual-card { max-width:650px; margin-inline:auto; }
 .story-left { position:static; max-width:600px; }
 .team-header { grid-template-columns:1fr; gap:22px; }
 .team-header p { max-width:650px; }
 .contact-form-wrap { max-width:650px; width:100%; margin:auto; }
 .principle-grid { column-gap:5%; }
 .fit-col { padding:25px; }
 .about-metrics { grid-template-columns:repeat(4,1fr); }
}
@media(max-width:600px) {
 .page-hero-inner { padding-top:30px; padding-bottom:70px; }
 .page-hero-copy { padding-block:12px; }
 .page-hero-copy::before { display:none; }
 .crumbs { margin-bottom:32px; }
 .page-h1 { font-size:40px; }
 .page-sub { font-size:13px; }
 .hero-chips { gap:7px; }
 .hero-chip { font-size:9px; }
 .sector-grid,.principle-grid,.fit-grid,.founder-cards { grid-template-columns:1fr; }
 .sector-card { padding:27px; }
 .sector-card h3 { max-width:90%; }
 .sector-head { gap:24px; }
 .svc-stat-box { padding:20px 13px; }
 .svc-full-grid h2 { font-size:33px; }
 .svc-full-grid .lead { font-size:13px; }
 .svc-stat-box .n { font-size:25px; }
 .orbit-dot { width:44px; height:44px; border-radius:10px; }
 .orbit-label { font-size:8px; }
 .orbit-core { padding:6px; }
 .about-metrics { grid-template-columns:1fr 1fr; gap:25px; }
 .promise-band { min-height:500px; }
 .promise-text { font-size:43px; }
 .promise-sub { font-size:12px; }
 .mile { gap:18px; }
 .fc { display:grid; grid-template-columns:90px 1fr; }
 .fc-top { height:100%; }
 .fc-icon { width:26px; height:26px; }
 .fc-body { padding:24px 20px; }
 .fc-name { font-size:20px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .form-group input,.form-group select,.form-group textarea { font-size:16px; }
 .pulse-head { gap:8px; }
 .pulse-dots { display:none; }
 .pulse-log { padding:12px; }
 .pulse-log .pl-k { display:none; }
 .pulse-stats .ps { padding:15px 7px; }
 .pulse-stats .ps-n { font-size:24px; }
 .faq-q { font-size:17px; gap:15px; }
 .faq-a-inner { padding-left:27px; padding-right:0; }
 .nf-actions { flex-direction:column; width:100%; }
 .svc-visual-card [data-i18n-skip] > div[style*="grid-template-columns"] { grid-template-columns:1fr !important; }
}
@media(prefers-reduced-motion:reduce) {
 .pw-line,.uptime-svg,.orbit-svg,.orbit-node,.radar-sweep,.radar-dot,.topo-node,.ai-typing span,.pipe-cursor,.pipe-step.active::after { animation:none !important; }
 .pw-line { stroke-dashoffset:0; }
 .svc-visual-card:hover { transform:none; }
}

.ai-bubble.user { background:#1b2b3c; color:#d3deea; }
.ai-bubble.bot { background:#302921; color:#e9d8c8; }

.story-right { min-width:0; }
.nf-mark { width:100%; height:auto; }

/* Keep every decorative layer behind the actual page content. */
.atmosphere-host > .ambient-orb { position:absolute; z-index:0; }
