/* ─── SELF-HOSTED FONT ───
   We keep the Space Grotesk font file on OUR server instead of
   loading it from Google. Faster, and better for visitor privacy
   (no request to Google on every page view). "300 700" means this
   one file covers every thickness from light to bold. */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('../fonts/space-grotesk/space-grotesk-latin.woff2') format('woff2');
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* WordPress reference-inspired palette: deep slate + IntechNext mint */
  --navy:#181B2E;
  --navy2:#22253A;
  --navy3:#2D3148;
  --gold:#18D6B3;
  --gold2:#35E6C4;
  --gold3:rgba(24,214,179,.12);
  --slate:#7E8094;
  --slate2:#C3C8D8;
  --white:#FFFFFF;
  --light:#F7F7F3;
  --text:#323447;
  --mid:#63677A;
  --border:rgba(50,52,71,.10);
  --r:6px;
  --rl:10px;
}
html{scroll-behavior:smooth}
body{font-family:'Space Grotesk',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(7,17,31,.96);backdrop-filter:blur(20px);border-bottom:1px solid rgba(24,214,179,.1)}
.nav-in{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:66px}
.logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;color:var(--white);text-decoration:none;letter-spacing:-.4px;display:flex;align-items:center;gap:3px}
.logo b{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{color:var(--slate2);font-size:13.5px;font-weight:400;text-decoration:none;padding:7px 14px;border-radius:4px;transition:color .15s,background .15s;letter-spacing:.01em}
.nav-links a:hover{color:var(--white);background:rgba(255,255,255,.05)}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;font-weight:600!important;border-radius:4px;padding:7px 20px!important}
.nav-cta:hover{background:var(--gold2)!important}
.mob-btn{display:none;background:none;border:none;cursor:pointer;color:var(--white);padding:6px}

/* ─── HERO ─── */
.hero{min-height:100vh;background:var(--navy);display:flex;align-items:center;padding:0 48px;position:relative;overflow:hidden}
#heroCanvas{position:absolute;inset:0;opacity:.5;pointer-events:none}
.hero-img-overlay{position:absolute;inset:0;background:url('https://images.pexels.com/photos/3861969/pexels-photo-3861969.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;opacity:.07;pointer-events:none}
.hero-in{max-width:1280px;margin:0 auto;width:100%;position:relative;z-index:2;display:grid;grid-template-columns:1fr 440px;gap:72px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:9px;background:rgba(24,214,179,.1);border:1px solid rgba(24,214,179,.22);color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:5px 14px;border-radius:2px;margin-bottom:26px}
.hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 2.2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.8)}}
.hero h1{font-size:clamp(38px,5vw,68px);font-weight:700;line-height:1.06;letter-spacing:-.03em;color:var(--white);margin-bottom:22px}
.hero h1 em{color:var(--gold);font-style:normal}
.hero-sub{font-size:16.5px;font-weight:300;color:var(--slate2);line-height:1.75;margin-bottom:38px;max-width:460px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;padding:13px 28px;border-radius:var(--r);text-decoration:none;border:none;cursor:pointer;transition:all .18s;letter-spacing:.01em}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--slate2);border:1px solid rgba(107,133,163,.3)}
.btn-ghost:hover{color:var(--white);border-color:rgba(155,176,199,.6)}

/* Hero right stat panel */
.hero-stats{display:flex;flex-direction:column;gap:1px;border-radius:var(--rl);overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.h-stat{padding:26px 30px;background:rgba(255,255,255,.025);transition:background .2s;border-left:2px solid transparent;cursor:default}
.h-stat:hover{background:rgba(255,255,255,.055);border-left-color:var(--gold)}
.h-stat-n{font-size:34px;font-weight:700;color:var(--white);line-height:1;letter-spacing:-.02em}
.h-stat-n span{color:var(--gold)}
.h-stat-l{font-size:12px;color:var(--slate);margin-top:5px;font-weight:400;line-height:1.4}

/* counter animation */
.count-up{transition:opacity .3s}

/* ─── TICKER ─── */
.ticker{background:var(--gold);overflow:hidden;padding:13px 0;position:relative;z-index:1}
.ticker-track{display:flex;animation:tick 32s linear infinite;white-space:nowrap}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-item{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:0 34px;display:inline-flex;align-items:center;gap:14px}
.t-item::after{content:'◆';font-size:7px;opacity:.3}

/* ─── SECTION BASE ─── */
.sec{padding:96px 48px}
.sec-alt{background:var(--light)}
.sec-dark{background:var(--navy2)}
.wrap{max-width:1280px;margin:0 auto}
.sec-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.sec-eyebrow::before{content:'';width:22px;height:1.5px;background:var(--gold);flex-shrink:0}
.sec-h{font-size:clamp(26px,3.2vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--text);margin-bottom:12px}
.sec-h.lt{color:var(--white)}
.sec-p{font-size:15.5px;font-weight:300;color:var(--mid);line-height:1.75;max-width:500px;margin-bottom:48px}
.sec-p.lt{color:var(--slate2)}

/* ─── WHO WE ARE ─── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-body{font-size:16.5px;font-weight:300;color:var(--mid);line-height:1.8;margin-bottom:32px}
.about-body strong{color:var(--text);font-weight:600}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pillar{padding:20px 18px;border:1px solid var(--border);border-radius:var(--r);background:var(--white);transition:border-color .2s,box-shadow .2s}
.pillar:hover{border-color:rgba(24,214,179,.35);box-shadow:0 4px 20px rgba(11,25,41,.06)}
.pillar h4{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:3px}
.pillar p{font-size:12px;color:var(--mid);line-height:1.55;font-weight:300}

/* About right dark card */
.about-dark{background:var(--navy2);border-radius:var(--rl);overflow:hidden;border:1px solid rgba(255,255,255,.07);position:relative}
.about-dark-img{height:220px;background:url('https://images.pexels.com/photos/325229/pexels-photo-325229.jpeg?auto=compress&cs=tinysrgb&w=900') center/cover no-repeat;position:relative}
.about-dark-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,17,31,.2),rgba(7,17,31,.85))}
.about-dark-body{padding:36px 36px 40px;position:relative;z-index:1}
.about-dark-body blockquote{font-size:20px;font-weight:600;color:var(--white);line-height:1.35;margin-bottom:24px;letter-spacing:-.01em}
.about-dark-body blockquote em{color:var(--gold);font-style:normal}
.chks{list-style:none;display:flex;flex-direction:column;gap:9px}
.chks li{display:flex;gap:10px;font-size:13px;color:var(--slate2);line-height:1.5;font-weight:300;align-items:baseline}
.chks li::before{content:'✓';color:var(--gold);font-weight:700;font-size:11px;flex-shrink:0;margin-top:1px}

/* ─── SERVICES ─── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--border);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
.svc{background:var(--white);position:relative;overflow:hidden;transition:background .2s;display:flex;flex-direction:column}
.svc:hover{background:#FDFCF8}
.svc-img{height:140px;background-size:cover;background-position:center;position:relative;flex-shrink:0}
.svc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,17,31,.25),rgba(7,17,31,.82))}
.svc-img-label{position:absolute;bottom:14px;left:18px;right:18px;z-index:1;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.svc-body{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.svc-num{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--gold);margin-bottom:8px}
.svc h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.3;letter-spacing:-.01em}
.svc p{font-size:12px;color:var(--mid);line-height:1.6;font-weight:300;flex:1}
.svc-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:4px}
.stag{font-size:10.5px;color:var(--slate);background:var(--light);padding:2px 8px;border-radius:2px;font-weight:400}

/* ─── INDUSTRIES ─── */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ind{border-radius:var(--r);overflow:hidden;position:relative;height:240px;cursor:default;transition:transform .25s}
.ind:hover{transform:translateY(-4px)}
.ind-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}
.ind:hover .ind-bg{transform:scale(1.05)}
.ind-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,17,31,.92) 40%,rgba(7,17,31,.3) 100%)}
.ind-content{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;z-index:1}
.ind h4{font-size:14px;font-weight:600;color:var(--white);margin-bottom:4px;letter-spacing:-.01em}
.ind p{font-size:11.5px;color:rgba(155,176,199,.8);line-height:1.5;font-weight:300}

/* ─── PROCESS ─── */
.proc-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.proc-wrap::before{content:'';position:absolute;top:30px;left:12.5%;right:12.5%;height:1px;background:linear-gradient(90deg,var(--gold) 0%,rgba(24,214,179,.15) 100%);z-index:0}
.step{text-align:center;padding:0 20px}
.step-n{width:60px;height:60px;border-radius:50%;background:var(--light);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:15px;font-weight:700;color:var(--gold);position:relative;z-index:1;transition:background .2s,color .2s}
.step:hover .step-n{background:var(--gold);color:var(--navy)}
.step h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:5px;letter-spacing:-.01em}
.step p{font-size:12px;color:var(--mid);line-height:1.6;font-weight:300}

/* ─── WHY US ─── */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.why-list{display:flex;flex-direction:column}
.why-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.why-item:last-child{border-bottom:none}
.why-img{width:44px;height:44px;flex-shrink:0;border-radius:var(--r);overflow:hidden;position:relative}
.why-img img{width:100%;height:100%;object-fit:cover;display:block}
.why-img::after{content:'';position:absolute;inset:0;background:rgba(24,214,179,.25)}
.why-text h4{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:3px;letter-spacing:-.01em}
.why-text p{font-size:12.5px;color:var(--mid);line-height:1.55;font-weight:300}
.cta-panel{background:var(--navy2);border-radius:var(--rl);overflow:hidden;border:1px solid rgba(255,255,255,.06);position:relative}
.cta-panel-img{height:180px;background:url('https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=900') center/cover no-repeat;position:relative;flex-shrink:0}
.cta-panel-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,17,31,.3),rgba(11,25,41,.9))}
.cta-body{padding:36px 36px 40px;position:relative;z-index:1}
.cta-body h3{font-size:22px;font-weight:700;color:var(--white);line-height:1.25;margin-bottom:12px;letter-spacing:-.02em}
.cta-body h3 em{color:var(--gold);font-style:normal}
.cta-body p{font-size:13.5px;color:var(--slate2);line-height:1.7;margin-bottom:24px;font-weight:300}
.partner-row{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.partner-row p{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.partner-row a{font-size:13px;color:var(--gold);text-decoration:none;font-weight:500}
.partner-row a:hover{color:var(--gold2)}

/* ─── UPDATES ─── */
.upd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.upd{border-radius:var(--rl);overflow:hidden;border:1px solid var(--border);background:var(--white);transition:transform .22s,box-shadow .22s}
.upd:hover{transform:translateY(-4px);box-shadow:0 10px 40px rgba(11,25,41,.09)}
.upd-img{height:170px;background-size:cover;background-position:center;position:relative}
.upd-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,17,31,.1),rgba(7,17,31,.65))}
.upd-tag{position:absolute;top:14px;left:14px;z-index:1;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:var(--gold);color:var(--navy);padding:3px 9px;border-radius:2px}
.upd-body{padding:22px 20px}
.upd h4{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:7px;letter-spacing:-.01em}
.upd p{font-size:12px;color:var(--mid);line-height:1.6;font-weight:300}
.upd-meta{margin-top:14px;font-size:11px;color:rgba(78,96,117,.6);font-weight:400}

/* ─── CONTACT ─── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.c-list{display:flex;flex-direction:column}
.c-item{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.c-item:last-child{border-bottom:none}
.c-ico{width:40px;height:40px;flex-shrink:0;border-radius:var(--r);background:rgba(24,214,179,.1);display:flex;align-items:center;justify-content:center;font-size:16px}
.c-item label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:3px;display:block}
.c-item a,.c-item span{font-size:14px;color:var(--white);font-weight:500;text-decoration:none}
.c-item a:hover{color:var(--gold)}
.c-pts{margin-top:28px}
.c-pts-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:12px}
.c-pts ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.c-pts li{font-size:13px;color:var(--slate2);display:flex;gap:9px;align-items:baseline;font-weight:300;line-height:1.5}
.c-pts li::before{content:'◆';color:var(--gold);font-size:6px;flex-shrink:0;margin-top:5px}
.form-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--rl);padding:38px}
.form-card h3{font-size:18px;font-weight:700;color:var(--white);margin-bottom:22px;letter-spacing:-.02em}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--slate);margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:10px 13px;font-size:13.5px;color:var(--white);font-family:'Space Grotesk',sans-serif;font-weight:300;outline:none;transition:border-color .2s}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.2);font-weight:300}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:rgba(24,214,179,.45)}
.fg select{appearance:none;color:rgba(255,255,255,.45)}
.fg select option{background:var(--navy2);color:var(--white)}
.fg textarea{resize:vertical;min-height:82px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:11px;color:var(--slate);text-align:center;margin-top:10px;font-weight:300}

/* ─── FOOTER ─── */
footer{background:#111426;padding:60px 48px 30px;border-top:1px solid rgba(255,255,255,.04)}
.foot-in{max-width:1280px;margin:0 auto}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:48px}
.foot-brand .logo{display:block;margin-bottom:14px}
.foot-brand p{font-size:13px;color:var(--slate);line-height:1.7;max-width:270px;font-weight:300}
.foot-brand-email{margin-top:12px;font-size:12px;color:rgba(107,133,163,.7)}
.foot-col h5{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--white);margin-bottom:16px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot-col ul a{font-size:13px;color:var(--slate);text-decoration:none;font-weight:300;transition:color .15s}
.foot-col ul a:hover{color:var(--white)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:12px}
.foot-bot p{font-size:12px;color:rgba(107,133,163,.6);font-weight:300}
.foot-links{display:flex;gap:18px}
.foot-links a{font-size:12px;color:rgba(107,133,163,.6);text-decoration:none;font-weight:300}
.foot-links a:hover{color:var(--white)}

/* ─── ANIMATIONS ─── */
.fade{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.fade.in{opacity:1;transform:none}

/* ─── ANIMATED BACKGROUND ELEMENTS ─── */
.circuit-line{position:absolute;background:rgba(24,214,179,.07);pointer-events:none}

/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  .hero-in{grid-template-columns:1fr;gap:44px}
  .hero-stats{display:grid;grid-template-columns:repeat(2,1fr)}
  .about-grid,.why-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px}
  .foot-brand{grid-column:1/-1}
}
@media(max-width:768px){
  .sec{padding:64px 24px}
  .hero{padding:0 24px}
  .nav-in{padding:0 24px}
  .nav-links{display:none}
  .mob-btn{display:block}
  .svc-grid,.ind-grid,.upd-grid{grid-template-columns:1fr}
  .proc-wrap{grid-template-columns:1fr 1fr;gap:36px}
  .proc-wrap::before{display:none}
  .pillars{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  footer{padding:44px 24px 26px}
  .foot-top{grid-template-columns:1fr;gap:28px}
  .foot-bot{flex-direction:column;align-items:flex-start}
}

/* ─── INNER PAGE ADDITIONS ─── */
.page-hero{background:var(--navy);padding:150px 48px 70px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(24,214,179,.08),transparent 55%)}
.page-hero-in{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.page-hero h1{font-size:clamp(32px,4.2vw,54px);font-weight:700;line-height:1.08;letter-spacing:-.03em;color:var(--white);margin-bottom:14px}
.page-hero h1 em{color:var(--gold);font-style:normal}
.page-hero p{font-size:16px;font-weight:300;color:var(--slate2);line-height:1.7;max-width:640px}
.crumbs{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:20px}
.crumbs a{color:var(--gold);text-decoration:none}
.crumbs span{margin:0 8px;opacity:.4}

/* Service detail blocks */
.svc-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--border)}
.svc-detail:last-child{border-bottom:none}
.svc-detail.rev .svc-detail-img{order:2}
.svc-detail-img{height:300px;border-radius:var(--rl);background-size:cover;background-position:center;position:relative;overflow:hidden}
.svc-detail-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,17,31,.25),rgba(24,214,179,.12))}
.svc-detail-num{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--gold);margin-bottom:10px}
.svc-detail h3{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:12px}
.svc-detail>div>p{font-size:14.5px;font-weight:300;color:var(--mid);line-height:1.75;margin-bottom:18px}
.svc-detail .chks li{color:var(--mid)}
.svc-detail .chks{gap:8px}

/* Blog listing */
.blog-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.cat-pill{font-size:12px;font-weight:600;padding:7px 16px;border-radius:99px;border:1px solid var(--border);color:var(--mid);text-decoration:none;transition:all .15s;background:var(--white)}
.cat-pill:hover{border-color:rgba(24,214,179,.5);color:var(--text)}
.cat-pill.on{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:48px}
.pagination a,.pagination span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r);font-size:13px;font-weight:600;text-decoration:none;color:var(--mid);border:1px solid var(--border)}
.pagination .cur{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.pagination a:hover{border-color:rgba(24,214,179,.5);color:var(--text)}

/* Blog post / legal prose */
.prose{max-width:760px;margin:0 auto;font-size:16px;font-weight:300;color:var(--text);line-height:1.85}
.prose h2{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:40px 0 14px}
.prose h3{font-size:18px;font-weight:600;margin:30px 0 10px}
.prose p{margin-bottom:16px;color:var(--mid)}
.prose ul,.prose ol{margin:0 0 16px 22px;color:var(--mid)}
.prose li{margin-bottom:8px}
.prose strong{color:var(--text);font-weight:600}
.prose blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 20px;margin:24px 0;color:var(--text);font-weight:400;font-style:italic}
.prose a{color:#0da88b;text-decoration:underline;text-underline-offset:3px}
.post-meta-row{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--slate);margin-bottom:8px}
.post-cover{max-width:980px;margin:0 auto 48px;height:380px;border-radius:var(--rl);background-size:cover;background-position:center}
.disclaimer-box{max-width:760px;margin:48px auto 0;background:var(--light);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:var(--r);padding:20px 24px;font-size:12.5px;color:var(--mid);line-height:1.7}
.disclaimer-box b{color:var(--text)}

/* Legal page updated stamp */
.legal-updated{font-size:12px;color:var(--slate);margin-bottom:32px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* Cookie banner */
.cookie-bar{position:fixed;bottom:16px;left:16px;right:16px;max-width:680px;margin:0 auto;background:var(--navy2);border:1px solid rgba(24,214,179,.25);border-radius:var(--rl);padding:20px 24px;z-index:1000;display:flex;gap:18px;align-items:center;box-shadow:0 16px 60px rgba(0,0,0,.35)}
.cookie-bar p{font-size:12.5px;color:var(--slate2);line-height:1.6;font-weight:300;flex:1}
.cookie-bar p a{color:var(--gold)}
.cookie-bar .btn{padding:9px 18px;font-size:12.5px}
.btn-ghost-dark{background:transparent;color:var(--slate2);border:1px solid rgba(255,255,255,.18)}

/* 404 */
.err-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--navy);padding:120px 24px 60px}
.err-wrap .n{font-size:120px;font-weight:700;color:var(--gold);letter-spacing:-.05em;line-height:1}
.err-wrap h1{font-size:26px;color:var(--white);margin:10px 0 12px}
.err-wrap p{color:var(--slate2);font-weight:300;margin-bottom:28px}

/* WhatsApp float */
.wa-float{position:fixed;bottom:22px;right:22px;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:0 8px 24px rgba(0,0,0,.25);text-decoration:none;font-size:26px}

@media(max-width:900px){
  .svc-detail{grid-template-columns:1fr;gap:24px;padding:40px 0}
  .svc-detail.rev .svc-detail-img{order:0}
  .page-hero{padding:120px 24px 52px}
  .post-cover{height:220px}
  .cookie-bar{flex-direction:column;align-items:flex-start}
}

/* 5-column service grid (10 services) */
.svc-grid.cols-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.svc-grid.cols-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.svc-grid.cols-5{grid-template-columns:1fr}}

/* ─── FLASH MESSAGES (one-time notices after form submits) ─── */
.flash-ok,.flash-error{max-width:1280px;margin:0 auto 18px;padding:13px 18px;border-radius:6px;font-size:13.5px;font-weight:500}
.flash-ok{background:rgba(24,214,179,.12);border:1px solid rgba(24,214,179,.4);color:#0b8f77}
.flash-error{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#C0392B}
.sec-dark .flash-ok{color:var(--gold)}
.sec-dark .flash-error{color:#ff9b8e}

/* ─── HONEYPOT ───
   The invisible trap field for spam robots. Humans never see it,
   robots fill it, and we quietly ignore their submission.
   (display:none would be too obvious to clever robots — moving it
   far off screen works better.) */
.hp-field{position:absolute !important;left:-9999px !important;top:-9999px !important}

/* ─── ARTICLE BODY IMAGES (from the editor) ─── */
.prose img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}

/* ─── SMOOTH PAGE TRANSITIONS ───
   Modern browsers can gently crossfade between pages of the same
   website instead of "blinking" — this one rule turns that on. */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.22s}
::view-transition-new(root){animation-duration:.22s}

/* Fallback for older browsers: every page softly fades IN when it
   opens, and site.js fades the page OUT before leaving it. */
body{animation:pageIn .3s ease}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
body.page-leave{opacity:0;transition:opacity .18s ease}

/* When a menu link jumps to a section (like #industries), leave
   space at the top so the fixed menu bar doesn't cover the heading. */
section[id]{scroll-margin-top:76px}

/* When the cookie bar is switched off (hidden), REALLY hide it.
   (Our display:flex above would otherwise win over the browser's
   built-in hiding — this line settles the argument properly.) */
.cookie-bar[hidden]{display:none}

/* ─── MOBILE POLISH (phones only, max-width 768px) ───
   Fixes: 1) headline no longer hides under the floating menu
          2) compact stat tiles  3) calmer section spacing */
@media(max-width:768px){
  /* 1. Hero: stop forcing "exactly one screen + centered".
     Give it a real top gap that clears the fixed menu bar,
     and let it grow as tall as its content needs. */
  .hero{min-height:auto;padding:112px 22px 56px;align-items:flex-start}
  .hero h1{font-size:clamp(32px,8.5vw,44px)}
  .hero-sub{font-size:15px}
  /* The moving-dots animation is decoration — phones skip it
     (saves battery; site.js sees it hidden and does no work). */
  #heroCanvas{display:none}

  /* 2. Stat tiles: smaller number, tighter label, less padding —
     four neat tiles instead of four tall paragraphs. */
  .h-stat{padding:14px 16px}
  .h-stat-n{font-size:26px}
  .h-stat-l{font-size:10.5px;line-height:1.35;margin-top:3px}

  /* 3. Calmer rhythm: a bit less empty space between sections. */
  .sec{padding:52px 20px}
  .page-hero{padding:104px 20px 44px}
}

/* ═══ MOBILE EDITORIAL REDESIGN (phones only) ═══
   Same brand, fewer words per screen — consultancy style.
   Desktop is completely untouched by everything below. */
.swipe-hint{display:none}
@media(max-width:768px){

  /* Utility: hide decorative extras on phones */
  .m-hide{display:none !important}

  /* ── HERO: statement + one button + credentials bar ── */
  .hero-btns .btn-ghost{display:none}          /* one confident CTA only */
  .hero-sub{font-size:14.5px;max-width:100%}

  /* The credentials bar: four mint numbers on one line —
     the proof-points every great consulting pitch opens with. */
  .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
              background:transparent;border:none;border-radius:0;margin-top:26px}
  .h-stat{padding:2px 8px 2px 10px;background:transparent !important;
          border-left:2px solid rgba(24,214,179,.4)}
  .h-stat:hover{background:transparent}
  .h-stat-n{font-size:21px}
  .h-stat-l{font-size:8px;letter-spacing:.06em;text-transform:uppercase;
            line-height:1.35;margin-top:4px;color:var(--slate);
            display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  /* ── WHO WE ARE: intro + pillar TITLES only; hide the twin dark card ── */
  #about .about-grid > div:last-child{display:none}
  .pillars{grid-template-columns:1fr 1fr;gap:8px}
  .pillar{padding:13px 12px}
  .pillar p{display:none}

  /* ── SWIPE CAROUSELS: services, industries, blog cards ──
     Native sideways scrolling with snap — no libraries.
     The row bleeds to the screen edge so the next card "peeks",
     which quietly teaches thumbs to swipe. */
  .svc-grid.cols-5, .ind-grid, .upd-grid{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:12px;background:transparent;border:none;border-radius:0;
    margin:0 -20px;padding:2px 20px 14px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .svc-grid.cols-5::-webkit-scrollbar,
  .ind-grid::-webkit-scrollbar,
  .upd-grid::-webkit-scrollbar{display:none}

  .svc{flex:0 0 74%;scroll-snap-align:start;border:1px solid var(--border);border-radius:10px}
  .svc-img{height:88px;border-radius:9px 9px 0 0}
  .svc-body{padding:14px 16px 16px}
  .svc p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .svc-tags{display:none}

  .ind{flex:0 0 68%;scroll-snap-align:start;height:190px}
  .upd{flex:0 0 80%;scroll-snap-align:start}

  /* The small "swipe →" teacher, shown only on phones */
  .swipe-hint{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;
              text-transform:uppercase;color:var(--slate);text-align:right;
              margin:-30px 0 14px}
  .sec-dark .swipe-hint{color:var(--slate)}

  /* ── PARTNERSHIP: heading + paragraph + CTA card; list hides ── */
  #partnership .chks{display:none}

  /* ── PROCESS: numbered circles + titles; descriptions hide ── */
  .step p{display:none}
  .proc-wrap{gap:24px}

  /* ── WHY US: title rows only; the quote card stays ── */
  .why-item{padding:13px 0}
  .why-text p{display:none}

  /* ── CONTACT: form is the hero here; the extra list hides ── */
  .c-pts{display:none}
}
