/* ─── TOKENS (exact match rehnova-blue) ─── */
:root{
  --bg:#f7f9fc; --bg2:#eef3fa; --bg3:#e4ecf7;
  --surface:#ffffff; --surface2:#f0f5fb;
  --border:#dce6f5; --border2:#c8d8ef;
  --accent:#1a5fb4; --accent-mid:#2d7dd2;
  --accent-light:#e3eeff; --accent-xlight:#f0f5ff;
  --accent2:#0ea5e9; --accent2-light:#e0f4fe;
  --indigo:#4f46e5; --indigo-light:#eef2ff;
  --sky:#0284c7;
  --text:#0d1b2e; --text-mid:#354a6a;
  --text-muted:#7a90b0; --text-dim:#b8cae0;
  --shadow-sm:0 1px 3px rgba(10,40,80,.07),0 1px 2px rgba(10,40,80,.04);
  --shadow:0 4px 16px rgba(10,40,80,.08),0 1px 4px rgba(10,40,80,.04);
  --shadow-lg:0 12px 40px rgba(10,40,80,.1),0 4px 12px rgba(10,40,80,.05);
  --shadow-xl:0 24px 64px rgba(10,40,80,.12),0 8px 20px rgba(10,40,80,.06);
  --radius:14px; --radius-sm:8px; --radius-lg:22px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Instrument Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5{font-family:'Bricolage Grotesque',sans-serif;}
::selection{background:var(--accent-light);color:var(--accent);}
::-webkit-scrollbar{width:5px;} ::-webkit-scrollbar-track{background:var(--bg2);} ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px;}

/* ─── NAV (exact from landing) ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:68px;display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;
  background:rgba(247,249,252,.88);backdrop-filter:blur(18px);
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s,box-shadow .3s;
}
nav.scrolled{border-bottom-color:var(--border);background:rgba(247,249,252,.97);box-shadow:0 2px 20px rgba(10,40,80,.06);}
.nav-logo{display:flex;align-items:center;gap:9px;text-decoration:none;}
.nav-logo-mark{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(26,95,180,.3);}
.nav-brand{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text);letter-spacing:-.02em;}
.nav-brand span{color:var(--accent);}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.nav-pill{background:linear-gradient(135deg,var(--accent),var(--accent-mid)) !important;color:#fff !important;padding:8px 20px;border-radius:100px;font-size:.85rem !important;font-weight:600 !important;box-shadow:0 4px 14px rgba(26,95,180,.3);transition:all .25s !important;}
.nav-pill:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,95,180,.4) !important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;transform-origin:center;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{
  position:fixed;top:68px;left:0;right:0;bottom:0;z-index:999;
  background:var(--bg);padding:36px 6%;display:flex;flex-direction:column;gap:0;
  transform:translateY(-110%);transition:transform .45s cubic-bezier(.77,0,.175,1);
  border-top:1px solid var(--border);
}
.mobile-nav.open{transform:translateY(0);}
.mobile-nav a{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.7rem;font-weight:700;
  color:var(--text);text-decoration:none;padding:13px 0;
  border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;
  opacity:0;transform:translateY(14px);transition:color .2s,opacity .3s,transform .3s;
}
.mobile-nav.open a{opacity:1;transform:translateY(0);}
.mobile-nav.open a:nth-child(1){transition-delay:.04s}.mobile-nav.open a:nth-child(2){transition-delay:.08s}
.mobile-nav.open a:nth-child(3){transition-delay:.12s}.mobile-nav.open a:nth-child(4){transition-delay:.16s}
.mobile-nav.open a:nth-child(5){transition-delay:.2s}.mobile-nav.open a:nth-child(6){transition-delay:.24s}
.mobile-nav a:hover{color:var(--accent);}
.mob-cta{background:linear-gradient(135deg,var(--accent),var(--accent-mid)) !important;color:#fff !important;padding:16px 28px !important;border-radius:12px !important;margin-top:20px;border-bottom:none !important;font-size:1rem !important;justify-content:center !important;box-shadow:0 6px 20px rgba(26,95,180,.3);}

/* ─── HERO SECTION ─── */
.svc-hero{
  padding:112px 5% 80px;
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#edf3ff 0%,var(--bg) 55%,#eef3fa 100%);
}
.hero-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.hero-glow-orb{position:absolute;top:-120px;right:-80px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.07) 0%,transparent 65%);pointer-events:none;animation:floatOrb 10s ease-in-out infinite;}
@keyframes floatOrb{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1240px;margin:0 auto;}

/* LEFT */
.hero-left .breadcrumb{
  display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--text-muted);
  margin-bottom:20px;
}
.breadcrumb a{color:var(--accent);text-decoration:none;font-weight:500;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb-sep{color:var(--text-dim);}
.svc-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent-light);border:1px solid rgba(26,95,180,.18);
  padding:5px 14px;border-radius:100px;
  font-size:.73rem;font-weight:600;color:var(--accent);
  letter-spacing:.07em;text-transform:uppercase;
  margin-bottom:22px;
  opacity:0;animation:slideUp .65s .1s cubic-bezier(.22,1,.36,1) forwards;
}
.svc-eyebrow-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.svc-hero h1{
  font-size:clamp(2.4rem,4.5vw,4.2rem);font-weight:800;
  line-height:1.02;letter-spacing:-.04em;margin-bottom:20px;
  opacity:0;animation:slideUp .7s .2s cubic-bezier(.22,1,.36,1) forwards;
}
.svc-hero h1 em{
  font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.svc-hero-desc{
  font-size:1.02rem;line-height:1.85;color:var(--text-muted);
  margin-bottom:30px;max-width:480px;
  opacity:0;animation:slideUp .7s .32s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-tags{
  display:flex;flex-wrap:wrap;gap:7px;margin-bottom:32px;
  opacity:0;animation:slideUp .7s .44s cubic-bezier(.22,1,.36,1) forwards;
}
.s-tag{background:var(--bg2);border:1px solid var(--border);padding:3px 10px;border-radius:100px;font-size:.7rem;color:var(--text-muted);font-weight:500;}
.hero-actions{
  display:flex;gap:12px;flex-wrap:wrap;
  opacity:0;animation:slideUp .7s .56s cubic-bezier(.22,1,.36,1) forwards;
}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent-mid));color:#fff;padding:13px 26px;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.88rem;text-decoration:none;transition:all .28s;box-shadow:0 5px 18px rgba(26,95,180,.3);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 9px 28px rgba(26,95,180,.4);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text-mid);padding:13px 26px;border-radius:100px;border:1.5px solid var(--border2);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:.88rem;text-decoration:none;transition:all .28s;box-shadow:var(--shadow);}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}

/* RIGHT — service card (exact style from landing) */
.hero-right{opacity:0;animation:slideRight .8s .25s cubic-bezier(.22,1,.36,1) forwards;}
@keyframes slideRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
.svc-card-hero{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:36px;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-xl);
  transition:all .32s;
}
.svc-card-hero:hover{transform:translateY(-4px);box-shadow:0 30px 80px rgba(10,40,80,.14);}
.svc-card-glow-hero{position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.1),transparent);pointer-events:none;}
.svc-top-bar{height:3px;border-radius:100px;margin-bottom:26px;background:linear-gradient(90deg,var(--accent),var(--accent2));}
.svc-num{font-size:.7rem;font-weight:700;color:var(--text-dim);letter-spacing:.1em;margin-bottom:18px;}
.svc-icon-wrap{width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);}
.svc-card-hero h3{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:14px;color:var(--text);}
.svc-card-hero p{font-size:.9rem;line-height:1.78;color:var(--text-mid);margin-bottom:24px;}
.svc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px;}
/* stats row inside card */
.card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:24px;border-top:1px solid var(--border);}
.cs-item{text-align:center;}
.cs-val{font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1;}
.cs-val sup{font-size:.7rem;color:var(--accent);}
.cs-label{font-size:.68rem;color:var(--text-muted);margin-top:3px;font-weight:500;}

@keyframes slideUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ─── SECTION UTILITY ─── */
.section-pad{padding:88px 5%;}
.s-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:12px;
}
.s-label::before{content:'';width:18px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;}
.s-title{font-size:clamp(1.75rem,3vw,2.6rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin-bottom:14px;}
.s-title .grad{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.s-title em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.s-desc{font-size:1rem;line-height:1.82;color:var(--text-muted);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-20px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.reveal-l.visible{opacity:1;transform:none;}
.reveal-r{opacity:0;transform:translateX(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.reveal-r.visible{opacity:1;transform:none;}

/* ─── WHAT WE DELIVER ─── */
#deliver{background:var(--surface);}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;}
.feat-card{
  background:var(--bg);border:1px solid var(--border2);
  border-radius:var(--radius-lg);padding:28px;
  transition:all .3s;position:relative;overflow:hidden;
}
.feat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--accent);background:var(--surface);}
.feat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.feat-card:hover::after{transform:scaleX(1);}
.fi{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.feat-card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;}
.feat-card p{font-size:.84rem;line-height:1.75;color:var(--text-muted);}

/* ─── HOW WE WORK ─── */
#process{background:var(--bg2);position:relative;overflow:hidden;}
.process-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start;}
.process-steps-col{position:sticky;top:88px;}
.steps-list{display:flex;flex-direction:column;gap:3px;margin-top:28px;}
.step-btn{
  display:flex;align-items:flex-start;gap:14px;
  padding:15px 18px;border-radius:12px;border:1.5px solid transparent;
  cursor:pointer;transition:all .25s;text-align:left;background:none;width:100%;
}
.step-btn:hover,.step-btn.active{background:var(--surface);border-color:var(--border2);box-shadow:var(--shadow);}
.step-btn.active{border-color:var(--accent-light);}
.step-n{
  width:34px;height:34px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;font-size:.8rem;font-weight:700;
  background:var(--bg2);border:1.5px solid var(--border2);color:var(--text-dim);
  transition:all .25s;
}
.step-btn.active .step-n{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 12px rgba(26,95,180,.3);}
.step-text h4{font-size:.9rem;font-weight:700;margin-bottom:3px;letter-spacing:-.01em;}
.step-text p{font-size:.78rem;line-height:1.6;color:var(--text-muted);}
/* detail pane */
.step-detail{display:flex;flex-direction:column;gap:14px;}
.step-pane{
  background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--radius-lg);padding:34px;
  position:relative;overflow:hidden;box-shadow:var(--shadow);
}
.step-pane::before{content:'';position:absolute;top:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--accent),var(--accent2),transparent);}
.ghost-n{
  position:absolute;right:20px;top:12px;
  font-family:'Bricolage Grotesque',sans-serif;font-size:5rem;font-weight:800;
  color:var(--bg2);line-height:1;letter-spacing:-.05em;user-select:none;pointer-events:none;
}
.step-pane h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin-bottom:11px;}
.step-pane > p{font-size:.88rem;line-height:1.8;color:var(--text-muted);margin-bottom:22px;}
.deliverables{display:flex;flex-wrap:wrap;gap:8px;}
.del-tag{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--accent-light);border:1px solid rgba(26,95,180,.18);
  color:var(--accent);font-size:.7rem;font-weight:600;
  padding:4px 11px;border-radius:6px;
}
.del-tag::before{content:'→';font-size:.58rem;}
/* preview card */
.step-pane.preview{opacity:.4;transform:scale(.98);pointer-events:none;transition:opacity .35s,transform .35s;}

/* ─── TECH STACK ─── */
#tech{background:var(--surface);}
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:44px;}
.tech-item{
  background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);
  padding:18px;display:flex;align-items:center;gap:13px;
  transition:all .25s;cursor:default;
}
.tech-item:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px);background:var(--accent-xlight);}
.ti-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ti-name{font-size:.86rem;font-weight:700;color:var(--text-mid);}
.ti-type{font-size:.7rem;color:var(--text-muted);margin-top:2px;}

/* ─── PACKAGES ─── */
#packages{background:var(--bg2);position:relative;overflow:hidden;}
.pkg-bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.pkg-header{text-align:center;max-width:520px;margin:0 auto 52px;position:relative;z-index:1;}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1;}
.pkg-card{
  background:var(--surface);border:1.5px solid var(--border2);
  border-radius:var(--radius-lg);padding:36px;
  position:relative;overflow:hidden;
  transition:all .32s;box-shadow:var(--shadow);
}
.pkg-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);}
.pkg-card.featured{background:linear-gradient(155deg,var(--accent) 0%,#0d47a1 100%);border-color:transparent;box-shadow:0 18px 56px rgba(26,95,180,.32);}
.pkg-card.featured:hover{box-shadow:0 28px 72px rgba(26,95,180,.42);}
.pkg-badge{position:absolute;top:-1px;right:26px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:0 0 9px 9px;}
.pkg-tier{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;}
.pkg-card:not(.featured) .pkg-tier{color:var(--text-muted);}
.pkg-card.featured .pkg-tier{color:rgba(255,255,255,.45);}
.pkg-name{font-family:'Bricolage Grotesque',sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;margin-bottom:16px;}
.pkg-card:not(.featured) .pkg-name{color:var(--text);}
.pkg-card.featured .pkg-name{color:#fff;}
.pkg-desc{font-size:.83rem;line-height:1.68;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid;}
.pkg-card:not(.featured) .pkg-desc{color:var(--text-muted);border-bottom-color:var(--border);}
.pkg-card.featured .pkg-desc{color:rgba(255,255,255,.58);border-bottom-color:rgba(255,255,255,.14);}
.pkg-feats{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:28px;}
.pkg-feats li{display:flex;gap:8px;font-size:.84rem;align-items:flex-start;line-height:1.5;}
.pkg-card:not(.featured) .pkg-feats li{color:var(--text-mid);}
.pkg-card.featured .pkg-feats li{color:rgba(255,255,255,.85);}
.pkg-feats li::before{
  content:'';width:16px;height:16px;border-radius:4px;flex-shrink:0;margin-top:1px;
  background-repeat:no-repeat;background-position:center;background-size:8.5px;
}
.pkg-card:not(.featured) .pkg-feats li::before{background-color:var(--accent-light);border:1px solid rgba(26,95,180,.2);background-image:url("data:image/svg+xml,%3Csvg width='9' height='7' viewBox='0 0 9 7' fill='none'%3E%3Cpath d='M1 3.5L3.5 6L8 1' stroke='%231a5fb4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.pkg-card.featured .pkg-feats li::before{background-color:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);background-image:url("data:image/svg+xml,%3Csvg width='9' height='7' viewBox='0 0 9 7' fill='none'%3E%3Cpath d='M1 3.5L3.5 6L8 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.pkg-btn{display:block;text-align:center;padding:12px;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.88rem;text-decoration:none;transition:all .25s;}
.pkg-btn-light{background:var(--bg2);color:var(--text-mid);border:1.5px solid var(--border2);}
.pkg-btn-light:hover{background:linear-gradient(135deg,var(--accent),var(--accent-mid));color:#fff;border-color:transparent;box-shadow:0 5px 18px rgba(26,95,180,.28);transform:translateY(-1px);}
.pkg-btn-white{background:#fff;color:var(--accent);}
.pkg-btn-white:hover{background:var(--accent-xlight);transform:translateY(-1px);}

/* ─── FAQ ─── */
#faq{background:var(--surface);}
.faq-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start;}
.faq-sticky{position:sticky;top:88px;}
.faq-side-desc{font-size:.95rem;line-height:1.8;color:var(--text-muted);margin:14px 0 28px;}
.faq-list{display:flex;flex-direction:column;gap:5px;}
.faq-item{background:var(--bg);border:1px solid var(--border2);border-radius:12px;overflow:hidden;transition:border-color .25s;}
.faq-item.open{border-color:var(--accent);background:var(--surface);}
.faq-q{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;user-select:none;transition:background .2s;}
.faq-q:hover{background:var(--accent-xlight);}
.faq-q span{font-size:.88rem;font-weight:600;letter-spacing:-.01em;}
.faq-icon{width:22px;height:22px;flex-shrink:0;border-radius:5px;background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .3s;}
.faq-item.open .faq-icon{background:var(--accent);color:#fff;transform:rotate(45deg);}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .38s ease;}
.faq-item.open .faq-ans{max-height:220px;}
.faq-ans p{padding:0 20px 16px;font-size:.83rem;line-height:1.82;color:var(--text-muted);}

/* ─── CTA ─── */
#cta-bottom{background:var(--bg2);}
.cta-box{
  background:linear-gradient(135deg,var(--accent) 0%,var(--sky) 55%,#0c6ea4 100%);
  border-radius:24px;padding:64px 72px;
  display:grid;grid-template-columns:1fr auto;gap:52px;align-items:center;
  position:relative;overflow:hidden;
  box-shadow:0 24px 72px rgba(26,95,180,.3);
}
.cta-box::before{content:'';position:absolute;top:-100px;right:-100px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent);pointer-events:none;}
.cta-text{position:relative;z-index:1;}
.cta-over{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;}
.cta-box h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-.04em;margin-bottom:10px;}
.cta-box h2 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;}
.cta-box p{font-size:.95rem;color:rgba(255,255,255,.62);line-height:1.72;}
.cta-btns{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;min-width:210px;}
.btn-white-solid{display:block;text-align:center;background:#fff;color:var(--accent);padding:13px 26px;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.88rem;text-decoration:none;transition:all .25s;box-shadow:0 5px 18px rgba(0,0,0,.12);}
.btn-white-solid:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.18);}
.btn-ghost{display:block;text-align:center;background:transparent;color:rgba(255,255,255,.78);border:1.5px solid rgba(255,255,255,.28);padding:13px 26px;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:.88rem;text-decoration:none;transition:all .25s;}
.btn-ghost:hover{border-color:rgba(255,255,255,.65);color:#fff;}

 /* ── FOOTER ── */
    footer {
      background: linear-gradient(160deg, #0d1b2e 0%, #0d2a4e 50%, #0a2540 100%);
      padding: 72px 5% 36px;
      position: relative;
      overflow: hidden;
    }

    .footer-svg-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }

    .foot-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 60px;
      padding-bottom: 56px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      margin-bottom: 36px;
      position: relative;
      z-index: 1;
    }

    .foot-brand {}

    .foot-logo {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 18px;
      text-decoration: none;
    }

    .foot-logo-mark {
      width: 34px;
      height: 34px;
      border-radius: 9px;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 14px rgba(26, 95, 180, 0.4);
    }

    .foot-brandname {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-weight: 700;
      font-size: 1.05rem;
      color: white;
    }

    .foot-brandname span {
      color: #7dd3fc;
    }

    .foot-desc {
      font-size: 0.85rem;
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.4);
      max-width: 280px;
      margin-bottom: 24px;
    }

    .foot-socials {
      display: flex;
      gap: 8px;
    }

    .fs-link {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.1);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s;
      text-decoration: none;
    }

    .fs-link:hover {
      background: rgba(45, 125, 210, 0.3);
      border-color: rgba(125, 211, 252, 0.3);
      transform: translateY(-2px);
    }

    .foot-col h4 {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(255, 255, 255, 0.3);
      margin-bottom: 18px;
    }

    .foot-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .foot-links a {
      color: rgba(255, 255, 255, 0.5);
      text-decoration: none;
      font-size: 0.85rem;
      transition: color 0.2s;
    }

    .foot-links a:hover {
      color: #7dd3fc;
    }

    .foot-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 16px;
      position: relative;
      z-index: 1;
    }

    .foot-copy {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.25);
    }

    .foot-copy span {
      color: #7dd3fc;
    }

    .foot-legal {
      display: flex;
      gap: 24px;
    }

    .foot-legal a {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.25);
      text-decoration: none;
      transition: color 0.2s;
    }

    .foot-legal a:hover {
      color: rgba(255, 255, 255, 0.55);
    }


/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;gap:44px;}
  .hero-right{max-width:600px;}
  .process-wrap{grid-template-columns:1fr;gap:44px;}
  .process-steps-col{position:static;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .tech-grid{grid-template-columns:repeat(3,1fr);}
  .faq-wrap{grid-template-columns:1fr;gap:40px;}
  .faq-sticky{position:static;}
  .cta-box{grid-template-columns:1fr;padding:48px 44px;}
  .cta-btns{flex-direction:row;}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:768px){
  nav.scrolled .nav-links{display:none;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .svc-hero{padding:100px 5% 60px;}
  .section-pad{padding:64px 5%;}
  .feat-grid{grid-template-columns:1fr;}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .pkg-grid{grid-template-columns:1fr;}
  .cta-box{padding:36px 28px;}
  .cta-btns{flex-direction:column;}
  .foot-top{grid-template-columns:1fr;gap:28px;}
  .card-stats{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:480px){
  .section-pad{padding:52px 5%;}
  .svc-hero h1{font-size:2.2rem;}
  .hero-actions{flex-direction:column;}
  .hero-actions a{justify-content:center;}
}