/* ─── Reset ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#080c0c;color:#cdd8d8;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
/* ─── Tokens ─── */
:root{--teal:#4ecdc4;--teal-dim:#38b8b0;--teal-glow:rgba(78,205,196,.18);--bg:#080c0c;--bg2:#0d1414;--bg3:#121c1c;--border:#1c2828;--text:#d8e4e4;--muted:#9ab4b4;--r:4px;--max:1600px;--nh:62px}
/* ─── Nav ─── */
nav{position:fixed;top:0;left:0;right:0;height:var(--nh);background:rgba(8,12,12,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;padding:0 clamp(1.25rem,5vw,2.5rem)}
.ni{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max);margin:0 auto}
.logo{font-size:1.05rem;font-weight:600;letter-spacing:.05em;color:#fff}
.logo em{font-style:normal;color:var(--teal)}
.nl{display:flex;gap:1.75rem;list-style:none}
.nl a{font-size:.82rem;color:#a8c4c4;transition:color .2s;letter-spacing:.03em}
.nl a:hover,.nl a.on{color:#fff}
.ncta{font-size:.78rem;font-weight:500;border:1px solid var(--teal-dim);color:var(--teal);padding:.4rem 1rem;border-radius:var(--r);transition:background .2s,color .2s;white-space:nowrap}
.ncta:hover{background:var(--teal);color:#080c0c}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;padding:4px}
.ham span{display:block;width:20px;height:1.5px;background:#a8c4c4;transition:transform .25s,opacity .25s}
.mob{display:none;position:fixed;top:var(--nh);left:0;right:0;background:rgba(8,12,12,.97);border-bottom:1px solid var(--border);padding:1.5rem 1.75rem;z-index:99}
.mob ul{list-style:none;display:flex;flex-direction:column;gap:1.2rem}
.mob a{font-size:.95rem;color:#a8c4c4}
.mob.open{display:block}
/* ─── Layout ─── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,2.5rem)}
section{padding:clamp(4rem,8vw,6.5rem) clamp(1.25rem,5vw,2.5rem)}
.eye{display:inline-block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.85rem}
h1,h2,h3{color:#e8f0f0;font-weight:500;line-height:1.18}
h1{font-size:clamp(2.4rem,5.5vw,4rem);letter-spacing:-.025em}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);letter-spacing:-.015em}
h3{font-size:1.05rem}
.lead{font-size:1.05rem;color:var(--muted);max-width:520px;margin-top:.8rem;line-height:1.75}
/* ─── Hero ─── */
#hero{min-height:100svh;display:flex;align-items:center;padding-top:calc(var(--nh)+3rem);position:relative;overflow:hidden}
#hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.35;pointer-events:none}
.hero-wrap{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-tag{display:flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}
.hero-dot{width:5px;height:5px;border-radius:50%;background:var(--teal);animation:pulse 2.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
h1 .line-accent{background:linear-gradient(90deg,#4ecdc4 0%,#2ecc71 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block}
h1 .line-dim{color:var(--muted);font-size:.6em;letter-spacing:.01em;display:block;margin-top:.25rem;font-weight:400}
.hero-btns{display:flex;gap:.875rem;margin-top:2.25rem;flex-wrap:wrap}
.btn-p{background:linear-gradient(135deg,#4ecdc4 0%,#2ecc71 100%);color:#080c0c;font-size:.85rem;font-weight:600;padding:.7rem 1.6rem;border-radius:var(--r);transition:opacity .2s;border:none}
.btn-p:hover{opacity:.82}
.btn-g{border:1px solid var(--border);color:var(--text);font-size:.85rem;padding:.7rem 1.6rem;border-radius:var(--r);transition:border-color .2s,color .2s}
.btn-g:hover{border-color:var(--teal-dim);color:#fff}
/* ─── Sphere ─── */
.sphere-wrap{display:flex;justify-content:center;align-items:center}
.sphere-svg{width:340px;height:340px;filter:drop-shadow(0 0 60px rgba(78,205,196,.25))}
/* ─── Stats ─── */
.stat-row{display:flex;gap:1px;margin-top:2.75rem;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.sp{flex:1;background:var(--bg2);padding:1.1rem .75rem;text-align:center}
.sn{font-size:1.6rem;font-weight:600;color:#e8f0f0;line-height:1}
.sn sup{font-size:.8rem;color:var(--teal)}
.sl{font-size:.65rem;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:.3rem}
/* ─── Split ─── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.split.rev{direction:rtl}
.split.rev>*{direction:ltr}
.img-big{border-radius:6px;overflow:hidden;background:var(--bg3);aspect-ratio:4/3;position:relative}
.img-big img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .4s}
.img-big:hover img{opacity:.95}
.img-big .img-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,12,12,.7) 0%,transparent 55%);pointer-events:none}
.img-cap{position:absolute;bottom:1rem;left:1rem;font-size:.7rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.copy-block{display:flex;flex-direction:column;gap:1.2rem}
.copy-block p{font-size:.9rem;color:var(--muted);line-height:1.75}
/* ─── Services ─── */
#services{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.svc-intro{margin-bottom:3rem}
.svc-intro p{font-size:.9rem;color:var(--muted);max-width:560px;margin-top:.6rem;line-height:1.7}
.svc-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.svc-item{display:grid;grid-template-columns:64px 1fr auto;align-items:center;border-bottom:1px solid var(--border);background:var(--bg2);transition:background .2s;cursor:pointer}
.svc-item:last-child{border-bottom:none}
.svc-item:hover{background:var(--bg3)}
.svc-num{font-size:.75rem;font-weight:600;color:var(--teal);letter-spacing:.1em;text-align:center;padding:1.4rem 0;border-right:1px solid var(--border);align-self:stretch;display:flex;align-items:center;justify-content:center}
.svc-main{padding:1.4rem 1.5rem}
.svc-main h3{font-size:.95rem;color:#e8f0f0;margin-bottom:.25rem}
.svc-main p{font-size:.8rem;color:var(--muted);line-height:1.55}
.svc-toggle{padding:1.4rem 1.5rem;font-size:.75rem;color:var(--teal);white-space:nowrap;border-left:1px solid var(--border);align-self:stretch;display:flex;align-items:center}
.plan-picker{display:none;background:var(--bg3);border-top:1px solid var(--border);padding:1.5rem}
.plan-picker.open{display:block}
.plan-tabs{display:flex;gap:1px;background:var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:1.25rem;width:fit-content}
.ptab{font-size:.75rem;padding:.45rem 1.1rem;background:var(--bg2);color:var(--muted);cursor:pointer;transition:background .15s,color .15s;border:none}
.ptab.on{background:var(--teal);color:#080c0c;font-weight:600}
.plan-content{font-size:.82rem;color:var(--muted);line-height:1.65;max-width:640px}
.plan-content strong{color:#e8f0f0;font-weight:500}
.plan-cta{display:inline-block;margin-top:1rem;font-size:.78rem;color:var(--teal);border:1px solid var(--teal-dim);padding:.35rem .9rem;border-radius:var(--r);transition:background .2s,color .2s}
.plan-cta:hover{background:var(--teal);color:#080c0c}
/* ─── Blog ─── */
#blog{border-top:1px solid var(--border)}
.blog-head{margin-bottom:2.5rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.bcard{background:var(--bg2);padding:1.75rem 1.5rem;transition:background .2s;display:flex;flex-direction:column;gap:.75rem}
.bcard:hover{background:var(--bg3)}
.btag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.bcard h3{font-size:.9rem;color:#e8f0f0;line-height:1.35}
.bcard p{font-size:.78rem;color:var(--muted);line-height:1.6;flex:1}
.bread{font-size:.75rem;color:var(--teal-dim);margin-top:.25rem}
.bread:hover{color:var(--teal)}
/* ─── CTA band ─── */
#ctaband{background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}
#ctaband h2{margin-bottom:.65rem;color:#f0c040}
#ctaband .sub{color:var(--muted);font-size:.9rem;max-width:440px;margin:0 auto 2rem}
.cta-pair{display:flex;gap:.875rem;justify-content:center;flex-wrap:wrap}
/* ─── Footer ─── */
footer{background:var(--bg);border-top:1px solid var(--border);padding:3.5rem clamp(1.25rem,5vw,2.5rem) 2rem}
.ft{max-width:var(--max);margin:0 auto}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem}
.fb-name{font-size:.95rem;font-weight:600;color:#e8f0f0;letter-spacing:.04em;margin-bottom:.5rem}
.fb-name em{font-style:normal;color:var(--teal)}
.fb p{font-size:.78rem;color:var(--muted);line-height:1.65;max-width:210px}
.fc h4{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:.85rem;font-weight:600}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.fc li,.fc li a{font-size:.78rem;color:#9ab4b4}
.fc li a:hover{color:#e8f0f0}
.fbot{border-top:1px solid var(--border);padding-top:1.4rem}
.fcopy{font-size:.72rem;color:#8aacac}
/* ─── Reveal ─── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.rv.on{opacity:1;transform:none}
/* ─── Responsive ─── */
@media(max-width:860px){.hero-wrap{grid-template-columns:1fr}.sphere-wrap{display:none}.split{grid-template-columns:1fr}.split.rev{direction:ltr}.fg{grid-template-columns:1fr 1fr;gap:2rem}.blog-grid{grid-template-columns:1fr}}
@media(max-width:600px){.nl,.ncta{display:none}.ham{display:flex}.stat-row{flex-direction:column}.sp{border-bottom:1px solid var(--border)}.sp:last-child{border-bottom:none}.fg{grid-template-columns:1fr}.svc-item{grid-template-columns:48px 1fr auto}.blog-grid{grid-template-columns:1fr}h1{font-size:clamp(1.8rem,7vw,2.4rem)}#hero{padding-top:calc(var(--nh) + 5rem)}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ─── Micro animations hero ─── */
.hero-micro{display:inline-block;vertical-align:middle;margin-left:1rem;opacity:.85}
.hero-micro svg{display:block}
.h1-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
