@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');

/* ═══════════════════════════════════════════════
   DADSON PROD — Design System v4
   Tokens → Components → Utilities
═══════════════════════════════════════════════ */
:root {
  /* Surfaces */
  --bg:    #09090b;
  --s1:    #111113;
  --s2:    #18181b;
  --s3:    #202024;
  --s4:    #2a2a2e;
  /* Borders */
  --b1:    rgba(255,255,255,.07);
  --b2:    rgba(255,255,255,.13);
  /* Text */
  --tw:    #f0ede6;
  --t2:    #9c9590;
  --t3:    #5e5a56;
  /* Brand */
  --gold:  #d4a054;
  --gold2: #eabf72;
  --gdim:  rgba(212,160,84,.11);
  --gglow: rgba(212,160,84,.05);
  /* Semantic */
  --green: #4ade80; --gbg: rgba(74,222,128,.08);
  --amber: #f59e0b; --abg: rgba(245,158,11,.08);
  --red:   #f87171; --rbg: rgba(248,113,113,.08);
  --blue:  #60a5fa; --bbg: rgba(96,165,250,.08);
  /* Geometry */
  --r:  8px;
  --r2: 14px;
  --r3: 22px;
}

/* ── Reset ── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { background:var(--bg); color:var(--tw); font-family:'Inter',sans-serif; overflow-x:hidden; line-height:1.6; }
button,input,select,textarea { font-family:'Inter',sans-serif; }
a { color:inherit; text-decoration:none; }
img,video { max-width:100%; display:block; }
::-webkit-scrollbar { width:3px; height:3px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--s4); border-radius:2px; }

/* ── Custom Cursor ── */
@media (pointer:fine) {
  body { cursor:none; }
  #dp-cur  { position:fixed; width:7px; height:7px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); top:0; left:0; }
  #dp-ring { position:fixed; width:32px; height:32px; border:1px solid rgba(212,160,84,.32); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); top:0; left:0; transition:width .22s,height .22s,border-color .22s; }
}

/* ── Typography ── */
.serif { font-family:'Instrument Serif',serif; }
.eyebrow {
  font-size:.6rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold);
  display:flex; align-items:center; gap:.6rem; margin-bottom:.55rem;
}
.eyebrow::before { content:''; width:18px; height:1px; background:var(--gold); flex-shrink:0; }

/* ── Urgency Bar ── */
.ub {
  background:linear-gradient(90deg,#0d0700,#160c00,#0d0700);
  border-bottom:1px solid rgba(212,160,84,.12);
  padding:.5rem 1.5rem;
  display:flex; align-items:center; justify-content:center; gap:1.1rem;
  font-size:.7rem; flex-wrap:wrap;
  position:sticky; top:0; z-index:500;
}
.ub strong { color:var(--gold2); }
.ub-pill {
  background:rgba(212,160,84,.1); border:1px solid rgba(212,160,84,.2);
  color:var(--gold); padding:.18rem .72rem; border-radius:100px;
  font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
}
.ub-cta {
  background:var(--gold); color:#09090b; padding:.22rem .88rem; font-size:.6rem;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:100px;
  transition:background .18s;
}
.ub-cta:hover { background:var(--gold2); }

/* ── Navigation ── */
.nav {
  position:sticky; top:30px; z-index:499;
  padding:.82rem 2.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  background:rgba(9,9,11,.88); backdrop-filter:blur(28px);
  border-bottom:1px solid var(--b1);
}
.nav-logo { font-family:'Instrument Serif',serif; font-size:1.22rem; letter-spacing:-.01em; display:flex; align-items:center; gap:.3rem; }
.nav-logo em { color:var(--gold); font-style:normal; }
.nl { display:flex; gap:.2rem; list-style:none; }
.nl a { font-size:.77rem; font-weight:500; color:var(--t2); padding:.38rem .82rem; border-radius:6px; transition:all .17s; }
.nl a:hover { color:var(--tw); background:rgba(255,255,255,.05); }
.nl a.on { color:var(--tw); }
.nav-acts { display:flex; gap:.55rem; align-items:center; }
.nav-tel { font-size:.73rem; color:var(--t3); }
.nav-tel a { color:var(--gold2); }
.ham { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:.4rem; cursor:pointer; }
.ham span { width:20px; height:1.5px; background:var(--tw); border-radius:1px; transition:all .25s; }
.ham.open span:nth-child(1) { transform:rotate(45deg) translate(4px,5px); }
.ham.open span:nth-child(2) { opacity:0; }
.ham.open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-5px); }
.mob {
  display:none; position:fixed; inset:0; z-index:498;
  background:rgba(9,9,11,.97); flex-direction:column;
  align-items:center; justify-content:center; gap:2.2rem;
  backdrop-filter:blur(20px);
}
.mob.open { display:flex; }
.mob a { font-family:'Instrument Serif',serif; font-size:2.1rem; color:var(--t2); transition:color .18s; }
.mob a:hover { color:var(--gold); }
.mob-x { position:absolute; top:1.5rem; right:1.5rem; background:none; border:none; color:var(--t3); font-size:1.5rem; cursor:pointer; }

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.42rem;
  padding:.68rem 1.45rem; border-radius:100px;
  font-size:.74rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  border:none; cursor:pointer; transition:all .18s; white-space:nowrap;
}
.btn-gold  { background:var(--gold); color:#09090b; }
.btn-gold:hover  { background:var(--gold2); box-shadow:0 6px 22px rgba(212,160,84,.2); }
.btn-ghost { background:transparent; color:var(--tw); border:1px solid var(--b2); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-sm    { padding:.42rem .95rem; font-size:.66rem; }
.btn-lg    { padding:.9rem 2rem;   font-size:.8rem; }
.btn-red   { background:var(--rbg); color:var(--red); border:1px solid rgba(248,113,113,.18); }
.btn-red:hover { background:rgba(248,113,113,.18); }
.btn:disabled { opacity:.32; pointer-events:none; }

/* ── Status Pills ── */
.pill { display:inline-flex; align-items:center; padding:.24rem .8rem; border-radius:100px; font-size:.59rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.pill-green  { background:var(--gbg); color:var(--green); border:1px solid rgba(74,222,128,.2); }
.pill-amber  { background:var(--abg); color:var(--amber); border:1px solid rgba(245,158,11,.2); }
.pill-gold   { background:var(--gdim); color:var(--gold);  border:1px solid rgba(212,160,84,.22); }
.pill-blue   { background:var(--bbg); color:var(--blue);   border:1px solid rgba(96,165,250,.2); }
.pill-muted  { background:var(--s3); color:var(--t3); border:1px solid var(--b1); }
.pill-live   { background:var(--gbg); color:var(--green); border:1px solid rgba(74,222,128,.2); }
.pill-live::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--green); animation:blink 2s infinite; margin-right:.4rem; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

/* ── Form elements ── */
.fg  { display:flex; flex-direction:column; gap:.36rem; margin-bottom:.88rem; }
.fl  { font-size:.59rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; color:var(--t3); }
.fi  { background:var(--s2); border:1px solid var(--b1); border-radius:var(--r); color:var(--tw); padding:.78rem 1rem; font-size:.83rem; outline:none; transition:border-color .18s; resize:vertical; width:100%; }
.fi::placeholder { color:var(--t3); }
.fi:focus { border-color:var(--gold); }
.fi option { background:var(--bg); }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:.88rem; }

/* ── Section layout ── */
.section { padding:5rem 1.5rem; }
.inner   { max-width:1100px; margin:0 auto; }
.sh-row  { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1rem; margin-bottom:2.5rem; }
.section-sub { font-size:.92rem; color:var(--t2); line-height:1.88; max-width:520px; }

/* ── Stats strip ── */
.stats-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--b1); }
.stat-box    { background:var(--s2); padding:2.25rem 1.5rem; text-align:center; }
.stat-n      { font-family:'Instrument Serif',serif; font-size:2.8rem; color:var(--gold); line-height:1; }
.stat-l      { font-size:.6rem; letter-spacing:.17em; text-transform:uppercase; color:var(--t3); margin-top:.4rem; }

/* ── Trust bar ── */
.trust-bar   { border-top:1px solid var(--b1); border-bottom:1px solid var(--b1); padding:1rem 1.5rem; }
.trust-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:2.5rem; flex-wrap:wrap; justify-content:center; }
.trust-lbl   { font-size:.57rem; letter-spacing:.22em; text-transform:uppercase; color:var(--t3); white-space:nowrap; }
.trust-brand { font-size:.7rem; font-weight:600; color:rgba(255,255,255,.14); letter-spacing:.06em; text-transform:uppercase; transition:color .2s; }
.trust-brand:hover { color:rgba(255,255,255,.32); }

/* ── CTA band ── */
.cta-band { background:linear-gradient(135deg,#0c0700,#180d00,#0c0700); border-top:1px solid rgba(212,160,84,.12); border-bottom:1px solid rgba(212,160,84,.12); padding:5rem 1.5rem; text-align:center; }
.cta-band .urg { font-size:.68rem; color:var(--amber); display:flex; align-items:center; justify-content:center; gap:.35rem; margin-top:1rem; }
.cta-band .urg::before { content:'⏰'; }

/* ── Testimonials ── */
.testi-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--b1); }
.testi { background:var(--s1); padding:2.25rem 2rem; }
.stars { color:var(--gold); font-size:.72rem; letter-spacing:.1em; margin-bottom:.82rem; }
.testi q { font-family:'Instrument Serif',serif; font-style:italic; font-size:1.02rem; line-height:1.78; color:var(--tw); display:block; margin-bottom:1.3rem; }
.t-auth  { display:flex; align-items:center; gap:.7rem; }
.t-av    { width:33px; height:33px; border-radius:50%; background:var(--gdim); border:1px solid rgba(212,160,84,.18); display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:700; color:var(--gold); flex-shrink:0; }
.t-name  { font-size:.78rem; font-weight:600; }
.t-proj  { font-size:.67rem; color:var(--t3); margin-top:.1rem; }
.t-ok    { font-size:.59rem; color:var(--green); margin-top:.1rem; }
.t-ok::before { content:'✓ '; font-weight:700; }

/* ── Guarantees ── */
.g-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--b1); }
.g-box { background:var(--s2); padding:2rem 1.5rem; text-align:center; }
.g-ic  { font-size:1.55rem; margin-bottom:.62rem; }
.g-t   { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:.4rem; }
.g-d   { font-size:.74rem; color:var(--t3); line-height:1.75; }

/* ── Process steps ── */
.process-row { display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; max-width:1100px; margin:2.5rem auto 0; position:relative; }
.process-row::before { content:''; position:absolute; top:25px; left:10%; width:80%; height:1px; background:linear-gradient(90deg,transparent,var(--b1),rgba(212,160,84,.25),var(--b1),transparent); }
.proc-step { text-align:center; padding:0 .5rem; }
.proc-n  { width:50px; height:50px; border-radius:50%; background:var(--s2); border:1px solid var(--b1); display:flex; align-items:center; justify-content:center; font-family:'Instrument Serif',serif; font-size:1.15rem; color:var(--gold); margin:0 auto .88rem; position:relative; z-index:1; }
.proc-t  { font-size:.74rem; font-weight:600; margin-bottom:.3rem; }
.proc-d  { font-size:.67rem; color:var(--t3); line-height:1.65; }

/* ── Client Portal ── */
.portal-box { background:var(--s1); border:1px solid var(--b1); border-radius:var(--r2); overflow:hidden; }
.p-tabs     { display:flex; border-bottom:1px solid var(--b1); }
.p-tab      { flex:1; background:none; border:none; color:var(--t3); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.92rem; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all .18s; }
.p-tab:hover { color:var(--t2); }
.p-tab.on   { color:var(--gold); border-bottom-color:var(--gold); }
.p-body     { display:none; padding:1.65rem; }
.p-body.on  { display:block; }
.code-row   { display:flex; gap:.6rem; margin-bottom:.6rem; }
.code-in    { flex:1; background:var(--bg); border:1px solid var(--b1); border-radius:var(--r); color:var(--tw); padding:.78rem 1rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; outline:none; transition:border-color .18s; }
.code-in:focus { border-color:var(--gold); }
.demo-hint  { font-size:.67rem; color:var(--t3); }
.demo-hint code { background:var(--gdim); color:var(--gold2); padding:.1rem .38rem; border-radius:4px; }
/* Portal states */
.p-err  { display:none; background:var(--rbg); border:1px solid rgba(248,113,113,.18); border-radius:var(--r); padding:.9rem 1.1rem; font-size:.79rem; color:var(--red); margin-top:1rem; }
.p-err.on  { display:block; }
.p-res  { display:none; margin-top:1.3rem; }
.p-res.on  { display:block; animation:rise .32s both; }
@keyframes rise { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
/* Result header */
.rh       { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding-bottom:1.3rem; border-bottom:1px solid var(--b1); margin-bottom:1.65rem; flex-wrap:wrap; }
.rh-name  { font-family:'Instrument Serif',serif; font-size:1.3rem; margin-bottom:.18rem; }
.rh-code  { font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--t3); }
/* Steps track */
.steps-track { display:flex; margin-bottom:1.65rem; overflow-x:auto; padding-bottom:.2rem; }
.stn         { flex:1; min-width:66px; text-align:center; position:relative; }
.stn:not(:last-child)::after { content:''; position:absolute; top:14px; left:50%; width:100%; height:1px; background:var(--b1); }
.stn.done:not(:last-child)::after   { background:var(--gold); }
.stn.active:not(:last-child)::after { background:linear-gradient(90deg,var(--gold),var(--b1)); }
.stn-dot    { width:27px; height:27px; border-radius:50%; margin:0 auto .52rem; display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:700; position:relative; z-index:1; }
.stn.done   .stn-dot { background:var(--gold); color:#09090b; }
.stn.active .stn-dot { background:transparent; border:2px solid var(--gold); color:var(--gold); animation:ring 2s infinite; }
.stn.pending .stn-dot { background:var(--s3); border:1px solid var(--b1); color:var(--t3); }
@keyframes ring { 0%,100%{box-shadow:0 0 0 0 rgba(212,160,84,.4)} 50%{box-shadow:0 0 0 7px rgba(212,160,84,0)} }
.stn-lbl { font-size:.56rem; letter-spacing:.06em; text-transform:uppercase; color:var(--t3); }
.stn.done .stn-lbl,.stn.active .stn-lbl { color:var(--t2); }
/* Progress */
.prog-wrap { margin-bottom:1.65rem; }
.prog-head { display:flex; justify-content:space-between; margin-bottom:.52rem; }
.prog-lbl  { font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); }
.prog-pct  { font-size:.74rem; font-weight:700; color:var(--gold); }
.prog-bar  { height:3px; background:var(--s3); border-radius:100px; overflow:hidden; }
.prog-fill { height:100%; background:linear-gradient(90deg,var(--gold),var(--gold2)); border-radius:100px; transition:width 1.4s cubic-bezier(.4,0,.2,1); }
/* File cards */
.file-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:.62rem; margin-bottom:1.5rem; }
.fc         { background:var(--bg); border:1px solid var(--b1); border-radius:var(--r); padding:.92rem; }
.fc-lbl     { font-size:.57rem; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); margin-bottom:.32rem; }
.fc-val     { font-size:.86rem; font-weight:700; }
.fc-sub     { font-size:.62rem; color:var(--t3); margin-top:.14rem; }
/* Messaging */
.msg-thread { display:flex; flex-direction:column; gap:.62rem; margin-bottom:1rem; max-height:280px; overflow-y:auto; }
.msg-bub    { padding:.82rem 1.05rem; border-radius:var(--r); font-size:.8rem; line-height:1.72; }
.msg-bub.pro    { background:var(--gdim); border-left:2px solid rgba(212,160,84,.35); }
.msg-bub.client { background:var(--s2); border-left:2px solid rgba(255,255,255,.1); }
.msg-meta   { font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; color:var(--t3); margin-top:.3rem; }
.msg-compose { display:flex; gap:.58rem; }
.msg-ta     { flex:1; background:var(--bg); border:1px solid var(--b1); border-radius:var(--r); color:var(--tw); padding:.75rem 1rem; font-size:.8rem; resize:none; height:74px; outline:none; transition:border-color .18s; }
.msg-ta:focus { border-color:var(--gold); }

/* ═══ POPUPS ═══════════════════════════════════ */

/* ── Exit Intent ── */
.exit-bg  { display:none; position:fixed; inset:0; background:rgba(0,0,0,.82); z-index:2000; backdrop-filter:blur(16px); align-items:center; justify-content:center; padding:2rem; }
.exit-bg.open { display:flex; }
.exit-box { background:var(--s2); border:1px solid rgba(212,160,84,.22); border-radius:var(--r3); padding:2.65rem 2.2rem; max-width:415px; width:100%; text-align:center; animation:rise .28s both; }
.exit-box h3 { font-family:'Instrument Serif',serif; font-size:1.95rem; margin-bottom:.65rem; }
.exit-box p  { font-size:.83rem; color:var(--t2); line-height:1.82; margin-bottom:1.45rem; }
.exit-offer  { background:var(--gglow); border:1px solid rgba(212,160,84,.15); border-radius:var(--r2); padding:1.3rem; margin-bottom:1.45rem; }
.exit-old    { font-size:.82rem; color:var(--t3); text-decoration:line-through; margin-bottom:.28rem; }
.exit-new    { font-family:'Instrument Serif',serif; font-size:2.9rem; color:var(--gold); line-height:1; }
.exit-hint   { font-size:.67rem; color:var(--t3); margin-top:.28rem; }
.exit-skip   { background:none; border:none; color:var(--t3); font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; margin-top:.88rem; text-decoration:underline; display:block; width:100%; }

/* ── Download modal ── */
.dl-bg  { display:none; position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:2100; backdrop-filter:blur(14px); align-items:center; justify-content:center; padding:2rem; }
.dl-bg.open { display:flex; }
.dl-box { background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2); padding:2.2rem 2rem; max-width:430px; width:100%; animation:rise .28s both; position:relative; }
.dl-x   { position:absolute; top:1.1rem; right:1.2rem; background:none; border:none; color:var(--t3); font-size:1.3rem; cursor:pointer; transition:color .18s; line-height:1; }
.dl-x:hover { color:var(--tw); }
.dl-box h3 { font-family:'Instrument Serif',serif; font-size:1.6rem; margin-bottom:.55rem; }
.dl-box p  { font-size:.82rem; color:var(--t2); line-height:1.82; margin-bottom:1.65rem; }
.dl-acts   { display:flex; gap:.65rem; }

/* ── Contact Success modal ── */
.success-bg  { display:none; position:fixed; inset:0; background:rgba(0,0,0,.82); z-index:2200; backdrop-filter:blur(16px); align-items:center; justify-content:center; padding:2rem; }
.success-bg.open { display:flex; }
.success-box { background:var(--s2); border:1px solid rgba(74,222,128,.18); border-radius:var(--r3); padding:2.65rem 2.2rem; max-width:400px; width:100%; text-align:center; animation:rise .28s both; }
.success-ic  { font-size:2.8rem; margin-bottom:.85rem; }
.success-box h3 { font-family:'Instrument Serif',serif; font-size:1.9rem; margin-bottom:.65rem; }
.success-box p  { font-size:.83rem; color:var(--t2); line-height:1.82; margin-bottom:1.65rem; }

/* ── Lightbox ── */
.lb-bg   { display:none; position:fixed; inset:0; background:rgba(0,0,0,.95); z-index:2300; backdrop-filter:blur(20px); align-items:center; justify-content:center; }
.lb-bg.open { display:flex; }
.lb-wrap { position:relative; max-width:90vw; max-height:90vh; }
.lb-wrap img,.lb-wrap video { max-width:90vw; max-height:85vh; border-radius:var(--r); object-fit:contain; }
.lb-x    { position:absolute; top:-2.1rem; right:0; background:none; border:none; color:var(--t2); font-size:1.35rem; cursor:pointer; transition:color .18s; }
.lb-x:hover { color:var(--tw); }
.lb-nav  { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.07); border:1px solid var(--b2); border-radius:50%; width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--tw); font-size:.9rem; backdrop-filter:blur(8px); transition:background .18s; }
.lb-nav:hover { background:rgba(255,255,255,.14); }
.lb-prev { left:-3.2rem; } .lb-next { right:-3.2rem; }
.lb-info { position:absolute; bottom:-2.1rem; left:0; right:0; text-align:center; font-size:.7rem; color:var(--t3); }

/* ── Toast ── */
.toast   { position:fixed; bottom:1.35rem; right:1.35rem; background:var(--s2); border:1px solid var(--b2); border-left:3px solid var(--gold); border-radius:var(--r2); padding:.88rem 1.3rem; z-index:3000; min-width:252px; transform:translateX(calc(100% + 2rem)); transition:transform .32s cubic-bezier(.4,0,.2,1); }
.toast.on { transform:translateX(0); }
.toast-t { font-size:.8rem; font-weight:600; margin-bottom:.13rem; }
.toast-s { font-size:.67rem; color:var(--t3); }

/* ── Footer ── */
.footer { background:var(--s1); border-top:1px solid var(--b1); padding:3.25rem 1.5rem 1.5rem; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; max-width:1100px; margin:0 auto 2.5rem; }
.footer-brand { font-family:'Instrument Serif',serif; font-size:1.28rem; margin-bottom:.52rem; }
.footer-brand em { color:var(--gold); font-style:normal; }
.footer-tag  { font-size:.78rem; color:var(--t3); line-height:1.8; margin-bottom:1.2rem; }
.footer-socs { display:flex; gap:.42rem; }
.soc         { width:30px; height:30px; border-radius:var(--r); border:1px solid var(--b1); display:flex; align-items:center; justify-content:center; font-size:.66rem; color:var(--t3); transition:all .18s; }
.soc:hover   { border-color:var(--gold); color:var(--gold); }
.footer-col h5 { font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:1.05rem; font-weight:700; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.52rem; }
.footer-col a  { font-size:.77rem; color:var(--t3); transition:color .18s; }
.footer-col a:hover { color:var(--tw); }
.footer-bot  { max-width:1100px; margin:0 auto; border-top:1px solid var(--b1); padding-top:1.15rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem; }
.footer-bot p { font-size:.64rem; color:var(--t3); }

/* ── Reveal ── */
.reveal { opacity:0; transform:translateY(16px); transition:opacity .58s ease,transform .58s ease; }
.reveal.visible { opacity:1; transform:none; }

/* ── Responsive ── */
@media (max-width:900px) {
  .nav { padding:.8rem 1.25rem; }
  .nl,.nav-tel { display:none; }
  .ham { display:flex; }
  .section { padding:3.5rem 1.25rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .g-row { grid-template-columns:1fr; }
  .file-cards { grid-template-columns:1fr; }
  .row2 { grid-template-columns:1fr; }
  .process-row { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .process-row::before { display:none; }
}
@media (max-width:480px) {
  .stats-strip { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
}
