/* ============================================================
   KRISHIV ASSOCIATES — Global Stylesheet
   Theme: Navy #0A2A5E | Gold #D4AF37 | White
   ============================================================ */

:root{
  --navy:#0A2A5E;
  --navy-deep:#071f44;
  --navy-soft:#13366f;
  --gold:#D4AF37;
  --gold-soft:#e7c95f;
  --white:#ffffff;
  --ink:#1b2333;
  --muted:#5b6577;
  --bg:#f6f8fc;
  --bg-alt:#eef2f9;
  --line:#e3e8f2;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 4px 14px rgba(10,42,94,.08);
  --shadow:0 14px 40px rgba(10,42,94,.12);
  --shadow-lg:0 24px 60px rgba(10,42,94,.18);
  --maxw:1200px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Plus Jakarta Sans','Inter',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font);color:var(--ink);
  background:var(--white);line-height:1.65;font-size:16px;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.01em}
h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1rem}
ul{margin:0;padding:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
section{position:relative}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;
  font-weight:700;font-size:.98rem;padding:.85rem 1.6rem;border-radius:50px;
  border:2px solid transparent;transition:transform .25s,box-shadow .25s,background .25s,color .25s;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 10px 24px rgba(212,175,55,.35)}
.btn-gold:hover{background:var(--gold-soft);color:var(--navy);transform:translateY(-3px);box-shadow:0 16px 32px rgba(212,175,55,.45)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-soft);color:#fff;transform:translateY(-3px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);transition:box-shadow .3s;
}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.6rem}
.brand img{height:52px;width:auto}
.brand .brand-text{display:flex;flex-direction:column;line-height:1}
.brand .brand-text b{font-family:var(--serif);color:var(--navy);font-size:1.05rem;letter-spacing:.04em}
.brand .brand-text span{font-size:.62rem;letter-spacing:.28em;color:var(--gold);font-weight:700;margin-top:3px}
.menu{display:flex;align-items:center;gap:.25rem;list-style:none}
.menu a{
  display:block;padding:.55rem .85rem;font-weight:600;font-size:.94rem;color:var(--ink);
  border-radius:8px;position:relative;
}
.menu a:hover,.menu a.active{color:var(--navy);background:var(--bg-alt)}
.menu a.active::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.32rem;height:2px;background:var(--gold);border-radius:2px}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.nav-phone{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--navy)}
.nav-phone svg{width:18px;height:18px;fill:var(--gold)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:3px;background:var(--navy);border-radius:3px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-soft) 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background:
   radial-gradient(620px 360px at 88% 8%,rgba(212,175,55,.28),transparent 60%),
   radial-gradient(520px 420px at 10% 95%,rgba(212,175,55,.16),transparent 60%);
}
.hero-grid-bg{position:absolute;inset:0;opacity:.06;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);
  background-size:46px 46px;mask-image:linear-gradient(180deg,#000,transparent)}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:.16em;font-size:.74rem;text-transform:uppercase;color:var(--gold);background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.35);padding:.45rem .9rem;border-radius:50px;margin-bottom:1.1rem}
.hero h1{color:#fff;margin-bottom:.4rem}
.hero h1 .gold{color:var(--gold)}
.hero .sub{font-size:1.18rem;font-weight:600;color:#dbe4f4;margin-bottom:.4rem}
.hero .lead{color:#b9c6e0;max-width:540px;margin-bottom:1.6rem}
.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .9rem;margin:0 0 1.8rem}
.hero-points li{display:flex;align-items:center;gap:.55rem;color:#e8eefb;font-weight:600;font-size:.96rem;list-style:none}
.hero-points li svg{width:20px;height:20px;flex:0 0 20px;fill:var(--gold)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-card{
  position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:22px;padding:26px;backdrop-filter:blur(6px);box-shadow:var(--shadow-lg);
}
.hero-card h3{color:#fff;font-size:1.1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.hero-card h3 svg{width:22px;height:22px;fill:var(--gold)}
.mini-form .fld{margin-bottom:.7rem}
.mini-form input,.mini-form select{
  width:100%;padding:.8rem .95rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.95);color:var(--ink);font-size:.95rem;font-family:inherit;
}
.mini-form input::placeholder{color:#8a93a6}
.mini-form .btn{width:100%;justify-content:center;margin-top:.3rem}
.hero-trust{display:flex;gap:1.4rem;margin-top:1.1rem;flex-wrap:wrap}
.hero-trust div{color:#cdd8ee;font-size:.82rem}
.hero-trust b{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--gold)}

/* wave divider */
.wave{display:block;width:100%;height:auto;margin-top:-2px}

/* ---------- Section helpers ---------- */
.sec{padding:84px 0}
.sec.alt{background:var(--bg)}
.sec.navy{background:var(--navy);color:#fff}
.sec.navy h2,.sec.navy h3{color:#fff}
.sec-head{max-width:720px;margin:0 auto 52px;text-align:center}
.sec-head.left{margin-left:0;text-align:left}
.eyebrow{display:inline-block;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;color:var(--gold);margin-bottom:.7rem}
.sec-head p{color:var(--muted);font-size:1.05rem}
.sec.navy .sec-head p{color:#c2cee6}

/* ---------- Stat strip ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center;box-shadow:var(--shadow-sm)}
.stat .num{font-family:var(--serif);font-size:2.4rem;font-weight:800;color:var(--navy);line-height:1}
.stat .num .suf{color:var(--gold)}
.stat p{margin:.4rem 0 0;color:var(--muted);font-weight:600;font-size:.92rem}

/* ---------- Service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden;
}
.card::after{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.card:hover::after{transform:scaleX(1)}
.card .ic{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-soft));margin-bottom:1.1rem}
.card .ic svg{width:30px;height:30px;fill:var(--gold)}
.card h3{margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.96rem;margin-bottom:1rem}
.card ul.tick{display:grid;gap:.45rem}
.card ul.tick li{display:flex;gap:.5rem;align-items:flex-start;color:var(--ink);font-size:.92rem;list-style:none}
.card ul.tick li svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;fill:var(--gold)}
.card .more{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.1rem;font-weight:700;color:var(--navy)}
.card .more svg{width:16px;height:16px;fill:currentColor;transition:transform .2s}
.card:hover .more svg{transform:translateX(4px)}

/* ---------- Why choose / feature list ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);transition:transform .3s}
.feat:hover{transform:translateY(-5px)}
.feat .fic{width:50px;height:50px;flex:0 0 50px;border-radius:12px;background:rgba(212,175,55,.14);display:grid;place-items:center}
.feat .fic svg{width:26px;height:26px;fill:var(--navy)}
.feat h3{font-size:1.05rem;margin-bottom:.3rem}
.feat p{color:var(--muted);font-size:.9rem;margin:0}

/* ---------- Split about ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.split .media{position:relative}
.split .media img{border-radius:var(--radius);box-shadow:var(--shadow)}
.about-badge{position:absolute;right:-14px;bottom:-22px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 22px;box-shadow:var(--shadow);text-align:center}
.about-badge b{font-family:var(--serif);font-size:2rem;color:var(--gold);display:block;line-height:1}
.about-badge span{font-size:.78rem;color:#cdd8ee}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;margin:1.3rem 0 1.8rem}
.check-list li{display:flex;gap:.55rem;align-items:center;font-weight:600;list-style:none;font-size:.96rem}
.check-list li svg{width:20px;height:20px;flex:0 0 20px;fill:var(--gold)}

/* ---------- Industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ind{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px 18px;text-align:center;transition:transform .3s,background .3s,color .3s}
.ind:hover{transform:translateY(-6px);background:var(--navy)}
.ind:hover h3,.ind:hover p{color:#fff}
.ind .iic{width:54px;height:54px;margin:0 auto .7rem;border-radius:50%;background:var(--bg-alt);display:grid;place-items:center;transition:background .3s}
.ind:hover .iic{background:rgba(212,175,55,.2)}
.ind .iic svg{width:28px;height:28px;fill:var(--navy);transition:fill .3s}
.ind:hover .iic svg{fill:var(--gold)}
.ind h3{font-size:1rem;margin:0 0 .15rem}
.ind p{font-size:.82rem;color:var(--muted);margin:0}

/* ---------- Testimonials ---------- */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm);position:relative}
.tcard .quote{font-size:3.2rem;font-family:Georgia,serif;color:var(--gold);line-height:.6;height:24px}
.tcard p{color:var(--ink);font-style:italic;margin:1rem 0}
.tcard .stars{color:var(--gold);letter-spacing:2px;margin-bottom:.6rem}
.tcard .who{display:flex;align-items:center;gap:.7rem}
.tcard .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--gold));display:grid;place-items:center;color:#fff;font-weight:800;font-family:var(--serif)}
.tcard .who b{display:block;color:var(--navy)}
.tcard .who span{font-size:.84rem;color:var(--muted)}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--navy),var(--navy-soft));color:#fff;border-radius:24px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.35),transparent 70%)}
.cta-band h2{color:#fff;margin:0 0 .4rem}
.cta-band p{color:#cdd8ee;margin:0;max-width:520px}
.cta-band .actions{display:flex;gap:.8rem;flex-wrap:wrap;position:relative;z-index:2}

/* ---------- Page hero (inner) ---------- */
.page-hero{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;padding:64px 0 76px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(600px 300px at 85% 10%,rgba(212,175,55,.25),transparent 60%)}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;margin-bottom:.5rem}
.page-hero p{color:#c2cee6;max-width:640px;font-size:1.08rem}
.crumbs{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:#aebbd6;margin-bottom:1rem}
.crumbs a{color:var(--gold)}
.crumbs span{opacity:.6}

/* ---------- Prose / legal ---------- */
.prose{max-width:860px;margin:0 auto}
.prose h2{margin-top:2.2rem;font-size:1.5rem}
.prose h3{margin-top:1.6rem}
.prose p,.prose li{color:#3a4458}
.prose ul{padding-left:1.2rem;margin:0 0 1rem}
.prose ul li{list-style:disc;margin-bottom:.4rem;color:var(--ink)}
.prose .updated{color:var(--muted);font-size:.9rem;margin-bottom:2rem}

/* ---------- Forms ---------- */
.form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.form-card h2{font-size:1.5rem;line-height:1.25}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{margin-bottom:16px}
.fld label{display:block;font-weight:700;font-size:.86rem;color:var(--navy);margin-bottom:.4rem}
.fld input,.fld select,.fld textarea{
  width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;
  font-family:inherit;font-size:.96rem;background:#fcfdff;color:var(--ink);transition:border .2s,box-shadow .2s;
}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:#e23b4e;box-shadow:0 0 0 3px rgba(226,59,78,.12)}
.fld .msg{font-size:.78rem;color:#e23b4e;margin-top:.3rem;display:none}
.fld.err .msg{display:block}
.form-note{font-size:.84rem;color:var(--muted);margin-top:.6rem}
.form-alert{display:none;padding:.9rem 1rem;border-radius:10px;font-weight:600;margin-bottom:1rem}
.form-alert.ok{display:block;background:#e7f7ee;color:#137a45;border:1px solid #b6e4c9}
.form-alert.bad{display:block;background:#fdeaec;color:#b21f31;border:1px solid #f4c2c8}

.info-list{display:grid;gap:18px}
.info-item{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px 20px;box-shadow:var(--shadow-sm);min-height:120px}
.info-item>div:last-child{display:flex;flex-direction:column;justify-content:center}
.info-item .iic{width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:rgba(10,42,94,.07);display:grid;place-items:center}
.info-item .iic svg{width:24px;height:24px;fill:var(--navy)}
.info-item b{display:block;color:var(--navy);font-family:var(--serif)}
.info-item span,.info-item a{color:var(--muted);font-size:.95rem}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-top:18px}
.map-embed iframe{display:block;width:100%;height:460px;border:0}

/* ---------- FAQ ---------- */
.faq{max-width:840px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 22px;font-weight:700;font-size:1rem;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--serif)}
.faq-q .pm{flex:0 0 22px;width:22px;height:22px;position:relative;transition:transform .3s}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--gold);border-radius:2px}
.faq-q .pm::before{left:0;right:0;top:10px;height:2px}
.faq-q .pm::after{top:0;bottom:0;left:10px;width:2px;transition:opacity .3s}
.faq-item.open .pm::after{opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--muted)}
.faq-a div{padding:0 22px 20px}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#c7d2e8;padding:64px 0 0}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:36px}
.foot-brand img{height:54px;background:#fff;border-radius:10px;padding:6px 10px;margin-bottom:1rem}
.foot-brand p{font-size:.92rem;color:#9fb0d0;max-width:300px}
.foot-soc{display:flex;gap:.6rem;margin-top:1rem}
.foot-soc a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07);display:grid;place-items:center;transition:background .25s}
.foot-soc a:hover{background:var(--gold)}
.foot-soc svg{width:18px;height:18px;fill:#fff}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:1.1rem;letter-spacing:.02em}
.foot-links{display:grid;gap:.6rem}
.foot-links a{color:#a8b7d6;font-size:.93rem}
.foot-links a:hover{color:var(--gold);padding-left:4px}
.foot-contact li{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.8rem;font-size:.92rem;color:#a8b7d6;list-style:none}
.foot-contact li svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;fill:var(--gold)}
.foot-contact a{color:#a8b7d6}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:54px;padding:22px 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#8497ba}
.foot-bottom a{color:#a8b7d6}

/* ---------- WhatsApp + back-to-top ---------- */
.wa-float{position:fixed;right:20px;bottom:22px;z-index:1100;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 28px rgba(37,211,102,.45);animation:pulse 2.4s infinite}
.wa-float svg{width:32px;height:32px;fill:#fff}
.wa-float::after{content:"Chat with us";position:absolute;right:70px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:600;padding:.4rem .7rem;border-radius:8px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:.25s;pointer-events:none}
.wa-float:hover::after{opacity:1;transform:translateX(0)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.to-top{position:fixed;right:22px;bottom:90px;z-index:1090;width:46px;height:46px;border-radius:12px;background:var(--navy);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;border:0}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top svg{width:20px;height:20px;fill:#fff}

/* ---------- Reveal animations ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.wa-float{animation:none}}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero .container{grid-template-columns:1fr;gap:32px}
  .hero-card{max-width:460px}
  .cards,.feat-grid,.tcards{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:34px}
  .about-badge{right:14px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .form-wrap{grid-template-columns:1fr}
}
@media (max-width:760px){
  .menu,.nav-phone{display:none}
  .menu{
    position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;
    padding:14px;gap:4px;box-shadow:var(--shadow);border-top:1px solid var(--line);
    transform:translateY(-120%);transition:transform .35s;height:calc(100vh - 76px);overflow:auto;display:flex;
  }
  .menu.open{transform:none}
  .menu a{padding:.9rem 1rem;font-size:1.05rem}
  .menu a.active::after{display:none}
  .burger{display:flex}
  .nav-cta .btn{padding:.6rem 1rem;font-size:.85rem}
}
@media (max-width:560px){
  .sec{padding:60px 0}
  .cards,.feat-grid,.tcards,.stats,.ind-grid,.form-row,.hero-points,.check-list{grid-template-columns:1fr}
  .cta-band{padding:34px;text-align:center;justify-content:center}
  .cta-band .actions{justify-content:center}
  .foot-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%;justify-content:center}
}

/* ============================================================
   COLOR ACCENTS v2 — subtle multi-hue layer
   Pillars: Accounting=blue · Finance=teal · Taxation=violet
   Navy + Gold remain the primary brand anchors.
   ============================================================ */
:root{
  --c1:#2f6fed; --c1-bg:#e9f1ff;   /* blue   */
  --c2:#0fb5a3; --c2-bg:#e0f6f2;   /* teal   */
  --c3:#7c5cff; --c3-bg:#eeeaff;   /* violet */
  --c4:#f59e0b; --c4-bg:#fef0d6;   /* amber  */
}

/* ---- Soft tint on alternating sections ---- */
.sec.alt{background:linear-gradient(180deg,#eef4ff 0%,#f6f8fc 60%)}

/* ---- Hero: add a faint blue glow alongside the gold ---- */
.hero::before{
  background:
   radial-gradient(620px 360px at 88% 8%,rgba(212,175,55,.28),transparent 60%),
   radial-gradient(560px 460px at 6% 90%,rgba(47,111,237,.30),transparent 62%),
   radial-gradient(420px 360px at 50% 120%,rgba(124,92,255,.18),transparent 60%);
  opacity:.6;
}
.page-hero::before{
  background:
   radial-gradient(600px 300px at 85% 10%,rgba(212,175,55,.25),transparent 60%),
   radial-gradient(520px 360px at 8% 95%,rgba(47,111,237,.28),transparent 62%);
}

/* ---- Service cards: pastel icon tiles + matching accents by position ---- */
.cards .card .ic{background:var(--c1-bg)}
.cards .card .ic svg{fill:var(--c1)}
.cards .card:nth-child(3n+2) .ic{background:var(--c2-bg)}
.cards .card:nth-child(3n+2) .ic svg{fill:var(--c2)}
.cards .card:nth-child(3n+3) .ic{background:var(--c3-bg)}
.cards .card:nth-child(3n+3) .ic svg{fill:var(--c3)}

.cards .card::after{background:linear-gradient(90deg,var(--c1),var(--gold))}
.cards .card:nth-child(3n+2)::after{background:linear-gradient(90deg,var(--c2),var(--gold))}
.cards .card:nth-child(3n+3)::after{background:linear-gradient(90deg,var(--c3),var(--gold))}

.cards .card .more{color:var(--c1)}
.cards .card:nth-child(3n+2) .more{color:var(--c2)}
.cards .card:nth-child(3n+3) .more{color:var(--c3)}

/* ---- Feature icons (light sections only): rotating pastel tints ---- */
.sec:not(.navy) .feat-grid .feat:nth-child(4n+1) .fic{background:var(--c1-bg)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+1) .fic svg{fill:var(--c1)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+2) .fic{background:var(--c2-bg)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+2) .fic svg{fill:var(--c2)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+3) .fic{background:var(--c3-bg)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+3) .fic svg{fill:var(--c3)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+4) .fic{background:var(--c4-bg)}
.sec:not(.navy) .feat-grid .feat:nth-child(4n+4) .fic svg{fill:var(--c4)}

/* ---- Stat cards: colored top accent + colored suffix ---- */
.stats .stat{border-top:3px solid var(--c1)}
.stats .stat:nth-child(2){border-top-color:var(--c2)}
.stats .stat:nth-child(3){border-top-color:var(--c3)}
.stats .stat:nth-child(4){border-top-color:var(--c4)}
.stats .stat:nth-child(1) .num .suf{color:var(--c1)}
.stats .stat:nth-child(2) .num .suf{color:var(--c2)}
.stats .stat:nth-child(3) .num .suf{color:var(--c3)}
.stats .stat:nth-child(4) .num .suf{color:var(--c4)}

/* ---- Testimonial avatars: rotating accent gradients ---- */
.tcards .tcard:nth-child(1) .av{background:linear-gradient(135deg,var(--c1),var(--navy))}
.tcards .tcard:nth-child(2) .av{background:linear-gradient(135deg,var(--c2),var(--navy))}
.tcards .tcard:nth-child(3) .av{background:linear-gradient(135deg,var(--c3),var(--navy))}

/* ---- Industry tiles: gentle pastel resting state (hover still navy) ---- */
.ind-grid .ind:nth-child(4n+1) .iic{background:var(--c1-bg)}
.ind-grid .ind:nth-child(4n+2) .iic{background:var(--c2-bg)}
.ind-grid .ind:nth-child(4n+3) .iic{background:var(--c3-bg)}
.ind-grid .ind:nth-child(4n+4) .iic{background:var(--c4-bg)}
.ind-grid .ind:nth-child(4n+1) .iic svg{fill:var(--c1)}
.ind-grid .ind:nth-child(4n+2) .iic svg{fill:var(--c2)}
.ind-grid .ind:nth-child(4n+3) .iic svg{fill:var(--c3)}
.ind-grid .ind:nth-child(4n+4) .iic svg{fill:var(--c4)}
/* keep the navy hover state winning over the resting tints */
.ind-grid .ind:hover .iic{background:rgba(212,175,55,.2)}
.ind-grid .ind:hover .iic svg{fill:var(--gold)}

/* ---- Contact info icons: rotating accents ---- */
.info-list .info-item:nth-child(4n+1) .iic{background:var(--c1-bg)}
.info-list .info-item:nth-child(4n+1) .iic svg{fill:var(--c1)}
.info-list .info-item:nth-child(4n+2) .iic{background:var(--c2-bg)}
.info-list .info-item:nth-child(4n+2) .iic svg{fill:var(--c2)}
.info-list .info-item:nth-child(4n+3) .iic{background:var(--c3-bg)}
.info-list .info-item:nth-child(4n+3) .iic svg{fill:var(--c3)}
.info-list .info-item:nth-child(4n+4) .iic{background:var(--c4-bg)}
.info-list .info-item:nth-child(4n+4) .iic svg{fill:var(--c4)}

/* ============================================================
   CAPTCHA
   ============================================================ */
.captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.captcha-img{height:48px;width:auto;border:1px solid var(--line);border-radius:8px;background:#fff;flex:0 0 auto}
.captcha-reload{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;display:grid;place-items:center;transition:transform .3s,border-color .2s,background .2s}
.captcha-reload:hover{border-color:var(--gold);background:var(--bg-alt)}
.captcha-reload:active{transform:rotate(180deg)}
.captcha-reload svg{width:20px;height:20px;fill:var(--navy)}
.captcha-row input{flex:1 1 110px;min-width:100px}
/* Hero (dark card) variant */
.hero-card .captcha-fld label{color:#dbe4f4}
.hero-card .captcha-img{border-color:rgba(255,255,255,.25)}
.hero-card .captcha-reload{border-color:rgba(255,255,255,.25)}

/* ============================================================
   SERVICES DROPDOWN NAV
   ============================================================ */
.menu .has-sub{position:relative}
.nav-parent{display:inline-flex;align-items:center;gap:.25rem}
.caret{width:15px;height:15px;fill:currentColor;transition:transform .25s;flex:0 0 15px}
.sub-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--navy)}
.submenu{list-style:none;position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;margin:0;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .22s,transform .22s,visibility .22s;z-index:1200}
.menu .has-sub:hover>.submenu,.menu .has-sub:focus-within>.submenu{opacity:1;visibility:visible;transform:none}
.menu .has-sub:hover .nav-parent .caret{transform:rotate(180deg)}
.submenu li{list-style:none}
.submenu a{display:block;padding:.62rem .85rem;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--ink);white-space:nowrap}
.submenu a:hover,.submenu a.active{background:var(--bg-alt);color:var(--navy)}
.submenu a.active::after{display:none}

@media (max-width:760px){
  .menu .has-sub{position:static;display:flex;flex-wrap:wrap;align-items:center}
  .menu .has-sub>.nav-parent{flex:1}
  .sub-toggle{display:grid;place-items:center;width:46px;height:46px}
  .sub-toggle .caret{width:20px;height:20px}
  .has-sub.open .sub-toggle .caret{transform:rotate(180deg)}
  .submenu{position:static;flex-basis:100%;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;border-left:2px solid var(--gold);border-radius:0;
    margin:2px 0 6px 14px;padding:0;max-height:0;overflow:hidden;transition:max-height .32s ease}
  .has-sub.open .submenu{max-height:680px;padding:4px 0}
  .submenu a{font-size:1rem;padding:.7rem 1rem}
}
