/* =====================================================================
   Accountibles: compact service pages (Audit, Tax, Automation, Web & Design, Social)
   Shared base. Each page sets its own accent in :root (--acc, --acc-2, --acc-ink, --acc-rgb).
   ===================================================================== */
@font-face{font-family:'Bespoke Sans';src:url('fonts/BespokeSans-Variable.woff2') format('woff2'),url('fonts/BespokeSans-Variable.woff') format('woff');font-weight:300 800;font-style:normal;font-display:swap}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:#0B0B14}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(61,46,140,0.5),rgba(41,171,226,0.3));border-radius:10px}
*{scrollbar-width:thin;scrollbar-color:rgba(61,46,140,0.5) #0B0B14}
:root{
  --font:'Bespoke Sans',sans-serif;--max-w:1200px;--pad:clamp(1rem,5vw,2rem);
  --dark:#0B0B14;--card:#13131F;--indigo:#3D2E8C;--indigo-l:#5B4BB8;
  --text:#F0F0F8;--ink:#141420;--light:#F4F5FB;--line:rgba(255,255,255,0.07);--line-dk:rgba(20,20,32,0.08);
  --ok:#5CCB3A;--wa:#25D366;
  --acc:#7FD0F5;--acc-2:#3FB0E8;--acc-ink:#1A6E9F;--acc-rgb:63,176,232;
}
body{font-family:var(--font);background:var(--dark);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
h1,h2{font-weight:700;letter-spacing:-0.03em;line-height:1.06}
h3,h4{font-weight:600;letter-spacing:-0.015em;line-height:1.25}
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
svg{max-width:100%}
.ico{width:1em;height:1em;display:block}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.eyebrow svg{width:14px;height:14px}
.on-light{background:var(--light);color:var(--ink)}
.on-light .eyebrow{color:var(--acc-ink)}
.h2{font-size:clamp(1.9rem,3.3vw,2.7rem);margin-bottom:14px}
.intro{font-size:1.04rem;color:rgba(240,240,248,0.7);max-width:640px;line-height:1.7}
.on-light .intro{color:rgba(20,20,32,0.68)}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;margin-bottom:40px}
.side-note{max-width:330px;font-size:.92rem;color:rgba(240,240,248,0.66);line-height:1.6;border-left:2px solid rgba(var(--acc-rgb),0.5);padding-left:16px}
.on-light .side-note{color:rgba(20,20,32,0.68)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:50px;font-weight:600;font-size:15px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;text-align:center}
.btn svg{width:16px;height:16px}
.btn-primary{background:linear-gradient(135deg,#3D2E8C,#5a45b5);color:#fff;box-shadow:0 10px 30px rgba(61,46,140,0.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(61,46,140,0.45)}
.btn-ghost{border:1px solid rgba(255,255,255,0.18);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.3)}
.btn:focus-visible{outline:2px solid #13D6FF;outline-offset:3px}

/* Navbar (site standard) */
.navbar{position:fixed;top:0;left:0;right:0;z-index:200;height:72px;padding:0 clamp(1.25rem,5vw,2.5rem);display:flex;align-items:center;background:transparent;transition:background .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
.navbar.scrolled{background:rgba(11,11,20,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,0.06)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;width:100%}
.navbar-logo{display:flex;align-items:center;gap:10px}
.navbar-logo img{height:32px;width:auto;display:block}
.navbar-brand-text{font-weight:700;font-size:15px;letter-spacing:0.12em;text-transform:uppercase;line-height:1}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{font-size:15px;font-weight:500;color:rgba(240,240,248,0.65);position:relative;padding-bottom:2px;transition:color .25s ease}
.nav-links > li > a::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,#29ABE2 50%,transparent 100%);transform:scaleX(0);transition:transform .3s cubic-bezier(0.22,1,0.36,1);opacity:.8}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links > li > a:hover::after{transform:scaleX(1)}
.nav-links a.nav-hc{color:rgba(110,220,205,0.85)}
.nav-links a.nav-hc:hover{color:#8EEBDD}
.nav-links > li > a.nav-hc::after{background:linear-gradient(90deg,transparent 0%,#16C2B0 50%,transparent 100%)}
.nav-hc-icon{width:13px;height:13px;vertical-align:-1px;margin-right:6px;opacity:.9}
.nav-cta{background:var(--indigo);color:#fff;padding:9px 22px;border-radius:50px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--indigo-l);transform:translateY(-1px)}
@media (max-width:1100px){ .nav-links{gap:20px} }
@media (max-width:768px){ .navbar{height:60px} .nav-links,.navbar .nav-cta{display:none} }

/* Shared mobile navigation */
.acc-mnav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;margin-right:-10px;padding:0;background:none;border:none;cursor:pointer;border-radius:10px}
.acc-mnav-toggle span{display:block;width:22px;height:2px;background:#F0F0F8;border-radius:2px}
.acc-mnav-toggle:focus-visible,.acc-mnav-close:focus-visible{outline:2px solid #16C2B0;outline-offset:2px}
@media (max-width:768px){ .acc-mnav-toggle{display:flex} }
.acc-mnav{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;padding:0 clamp(1.25rem,5vw,2.5rem) 28px;background:#0B0B14;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;font-family:'Bespoke Sans',sans-serif}
.acc-mnav[hidden]{display:none}
.acc-mnav.open{opacity:1;visibility:visible}
.acc-mnav-head{display:flex;align-items:center;justify-content:space-between;height:64px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,0.07)}
.acc-mnav-logo{display:flex;align-items:center;gap:10px;color:#F0F0F8;text-decoration:none}
.acc-mnav-logo img{height:30px;width:auto;display:block}
.acc-mnav-logo span{font-weight:700;font-size:15px;letter-spacing:.12em;line-height:1}
.acc-mnav-close{width:42px;height:42px;margin-right:-10px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#F0F0F8;cursor:pointer;border-radius:10px}
.acc-mnav-close svg{width:24px;height:24px}
.acc-mnav-links{display:flex;flex-direction:column;margin-top:12px}
.acc-mnav-links a{display:flex;align-items:center;gap:10px;padding:15px 2px;font-size:19px;font-weight:500;line-height:1.2;color:rgba(240,240,248,0.88);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.06);transition:color .2s}
.acc-mnav-links a:hover,.acc-mnav-links a:focus-visible{color:#fff;outline:none}
.acc-mnav-links a svg{width:18px;height:18px;flex-shrink:0}
.acc-mnav-links a.acc-mnav-hc{color:#5FD6C6}
.acc-mnav-links a[aria-current="page"]::after{content:'';margin-left:auto;width:7px;height:7px;border-radius:50%;background:#16C2B0}
.acc-mnav-cta{display:block;margin-top:28px;flex-shrink:0;text-align:center;background:#3D2E8C;color:#fff !important;font-weight:600;font-size:16px;padding:15px 20px;border-radius:50px;text-decoration:none;transition:background .2s}
.acc-mnav-cta:hover{background:#5B4BB8}
@media (max-height:640px){ .acc-mnav-links a{padding:11px 2px;font-size:17px} .acc-mnav-cta{margin-top:18px;padding:12px 18px} }
@media (max-width:340px){ .acc-mnav-links a{font-size:17px} .acc-mnav-logo span{font-size:13px} }
html.acc-mnav-lock,html.acc-mnav-lock body{overflow:hidden !important}

/* Skip link */
.skip-nav{position:absolute;top:-100px;left:12px;z-index:100000;background:#fff;color:#0B0B14;padding:10px 16px;border-radius:0 0 8px 8px;font:600 14px/1.2 'Bespoke Sans',system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.skip-nav:focus{top:0;outline:3px solid #13D6FF;outline-offset:2px}
#main-content:focus{outline:none}

/* ===== HERO ===== */
.hero{position:relative;padding:144px 0 92px;overflow:hidden;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(var(--acc-rgb),0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--acc-rgb),0.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 30%,transparent 75%)}
.hero::after{content:'';position:absolute;z-index:-1;width:680px;height:680px;right:-180px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(61,46,140,0.34),transparent 65%)}
.hero .container{display:grid;grid-template-columns:1.02fr 0.98fr;gap:60px;align-items:center}
.hero .container > *{min-width:0}
.hero h1{font-size:clamp(2.4rem,4.4vw,3.9rem);font-weight:800;margin-bottom:22px}
.hero h1 .hl{display:block;background:linear-gradient(90deg,var(--acc) 0%,var(--acc-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:1.1rem;color:rgba(240,240,248,0.72);max-width:540px;line-height:1.7}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-trust{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 22px}
.hero-trust span{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:rgba(240,240,248,0.78)}
.hero-trust svg{width:16px;height:16px;color:var(--acc)}
.illus{position:relative;width:100%;max-width:520px;justify-self:end}
.illus-note{margin-top:12px;text-align:right;font-size:12px;color:rgba(240,240,248,0.56);letter-spacing:.03em}
.panel{background:linear-gradient(180deg,rgba(26,26,42,0.96),rgba(18,18,30,0.96));border:1px solid rgba(255,255,255,0.09);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,0.45);padding:16px 18px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.panel-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,240,248,0.72)}
.panel-title svg{width:15px;height:15px;color:var(--acc)}
.chip-sm{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:20px;white-space:nowrap}
.chip-ok{color:#8BE070;background:rgba(92,203,58,0.12);border:1px solid rgba(92,203,58,0.3)}
.chip-acc{color:var(--acc);background:rgba(var(--acc-rgb),0.12);border:1px solid rgba(var(--acc-rgb),0.32)}
.chip-mute{color:rgba(240,240,248,0.72);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12)}
.bar{height:7px;border-radius:4px;background:rgba(255,255,255,0.13)}

/* ===== FOR / PROBLEMS (light) ===== */
.for{padding:100px 0;clip-path:polygon(0 40px,100% 0,100% 100%,0 100%)}
.for-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.for-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.for-card{background:#fff;border:1px solid var(--line-dk);border-radius:18px;padding:24px 22px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.for-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(61,46,140,0.08)}
.for-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(var(--acc-rgb),0.12);color:var(--acc-ink);margin-bottom:14px}
.for-ico svg{width:21px;height:21px}
.for-card h3{font-size:1.05rem;color:var(--ink);margin-bottom:6px}
.for-card p{font-size:.94rem;color:rgba(20,20,32,0.68);line-height:1.62}

/* ===== SERVICES (dark) ===== */
.services{padding:100px 0 90px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.svc-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.svc{background:var(--card);border:1px solid rgba(255,255,255,0.07);border-radius:16px;padding:22px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}
.svc::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--acc),var(--acc-2));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.svc:hover{transform:translateY(-4px);border-color:rgba(var(--acc-rgb),0.28);box-shadow:0 18px 40px rgba(0,0,0,0.35)}
.svc:hover::before{transform:scaleX(1)}
.svc-ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:rgba(var(--acc-rgb),0.12);color:var(--acc)}
.svc-ico svg{width:20px;height:20px}
.svc h3{font-size:1.04rem;margin-bottom:7px}
.svc p{font-size:.93rem;color:rgba(240,240,248,0.7);line-height:1.6}
.svc-group-title{display:flex;align-items:center;gap:10px;margin:8px 0 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.svc-group-title::after{content:'';flex:1;height:1px;background:var(--line)}
.svc-group-title + .svc-grid{margin-bottom:30px}
.note{margin-top:24px;display:flex;gap:12px;padding:16px 18px;border-radius:14px;border:1px solid rgba(var(--acc-rgb),0.28);background:rgba(var(--acc-rgb),0.06);font-size:.93rem;color:rgba(240,240,248,0.8);line-height:1.6;max-width:900px}
.note svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--acc)}
.on-light .note{background:#fff;border-color:rgba(20,20,32,0.1);color:rgba(20,20,32,0.78)}
.on-light .note svg{color:var(--acc-ink)}

.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.svc-col{background:var(--card);border:1px solid rgba(255,255,255,0.07);border-radius:20px;padding:24px 24px 10px}
.svc-col .svc-group-title{margin-top:0}
.svc-rows{list-style:none}
.svc-row{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 0;border-top:1px solid rgba(255,255,255,0.06)}
.svc-row:first-child{border-top:0;padding-top:4px}
.svc-row .svc-ico{margin:0}
.svc-row h3{font-size:1.02rem;margin-bottom:4px}
.svc-row p{font-size:.92rem;color:rgba(240,240,248,0.7);line-height:1.58}
.who-h{margin:16px 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(20,20,32,0.62)}
.tool-panel h3 + .who-h{margin-top:10px}
/* ===== TOOLS / DELIVERABLES (light) ===== */
.tools{padding:100px 0;clip-path:polygon(0 0,100% 40px,100% 100%,0 100%)}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tool-panel{background:#fff;border:1px solid var(--line-dk);border-radius:20px;padding:26px}
.tool-panel h3{display:flex;align-items:center;gap:10px;font-size:1.06rem;color:var(--ink);margin-bottom:6px}
.tool-panel h3 .pi{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(var(--acc-rgb),0.12);color:var(--acc-ink)}
.tool-panel h3 .pi svg{width:18px;height:18px}
.tool-panel > p{font-size:.94rem;color:rgba(20,20,32,0.68);margin:6px 0 16px;line-height:1.6}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:10px;border:1px solid rgba(20,20,32,0.1);background:#FAFBFE;font-size:.92rem;font-weight:600;color:var(--ink)}
.chips li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--acc-ink);opacity:.55}
.ticks{list-style:none;display:flex;flex-direction:column;gap:9px}
.ticks li{display:flex;gap:10px;font-size:.95rem;color:rgba(20,20,32,0.82);line-height:1.5}
.ticks li svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:#2E8A12}
.ticks.x li svg{color:#B4364E}
.tool-foot{margin-top:20px;font-size:.86rem;color:rgba(20,20,32,0.66);line-height:1.6}

/* ===== PROCESS (dark) ===== */
.process{padding:100px 0}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none}
.step{position:relative}
.step:not(:last-child)::after{content:'';position:absolute;top:27px;left:64px;right:-14px;height:2px;background:linear-gradient(90deg,rgba(var(--acc-rgb),0.6),rgba(var(--acc-rgb),0.15))}
.step .dot{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--dark);border:2px solid rgba(var(--acc-rgb),0.6);font-weight:800;font-size:1rem;color:var(--acc);margin-bottom:18px;position:relative;z-index:1;box-shadow:0 0 0 6px var(--dark)}
.step h3{font-size:1.08rem;margin-bottom:8px}
.step p{font-size:.94rem;color:rgba(240,240,248,0.7);line-height:1.62}

/* ===== ENQUIRY ===== */
.enquiry{padding:96px 0 110px;position:relative;border-top:1px solid var(--line)}
#services,#enquiry,#deliverables,#ai{scroll-margin-top:76px}
.enq-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start}
.enq-info h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:14px}
.enq-info > p{color:rgba(240,240,248,0.72);line-height:1.7}
.enq-list{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:12px}
.enq-list li{display:flex;gap:12px;font-size:.97rem;color:rgba(240,240,248,0.84)}
.enq-list svg{width:19px;height:19px;color:var(--ok);flex-shrink:0;margin-top:2px}
.safe-note{margin-top:24px;display:flex;gap:12px;padding:15px 16px;border-radius:12px;background:rgba(var(--acc-rgb),0.06);border:1px solid rgba(var(--acc-rgb),0.24);font-size:.9rem;color:rgba(240,240,248,0.8);line-height:1.6}
.safe-note svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--acc)}
.enq-wa{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:rgba(240,240,248,0.8);font-size:.95rem;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(37,211,102,0.5)}
.enq-wa svg{width:18px;height:18px;fill:var(--wa)}
.enq-wa:hover{color:var(--wa)}
.form-card{background:var(--card);border:1px solid rgba(255,255,255,0.09);border-radius:22px;padding:32px;box-shadow:0 30px 60px rgba(0,0,0,0.3)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:16px;min-width:0;border:0}
.fg > label,.fg > legend{display:block;font-size:.84rem;font-weight:500;color:rgba(240,240,248,0.74);margin-bottom:7px;padding:0}
.req{color:var(--acc)}
.opt{color:rgba(240,240,248,0.58);font-weight:400}
.fi{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.14);border-radius:10px;padding:12px 14px;font-size:.95rem;font-family:var(--font);color:#fff;outline:none;transition:border-color .25s,box-shadow .25s}
.fi::placeholder{color:rgba(255,255,255,0.42)}
.fi:focus{border-color:rgba(var(--acc-rgb),0.7);box-shadow:0 0 0 3px rgba(var(--acc-rgb),0.16)}
.fi[aria-invalid="true"]{border-color:rgba(240,104,125,0.75);box-shadow:0 0 0 3px rgba(240,104,125,0.14)}
select.fi{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-opacity='.55' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
select.fi option{background:#13131F;color:#fff}
textarea.fi{resize:vertical;min-height:104px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills label{display:inline-flex;align-items:center;padding:8px 14px;border-radius:50px;border:1px solid rgba(255,255,255,0.16);font-size:.87rem;color:rgba(240,240,248,0.8);cursor:pointer;transition:all .2s;margin:0}
.pills input:checked + label{background:rgba(var(--acc-rgb),0.16);border-color:rgba(var(--acc-rgb),0.6);color:#fff}
.pills input:focus-visible + label{box-shadow:0 0 0 3px rgba(var(--acc-rgb),0.35)}
.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn-submit{width:100%;padding:15px;margin-top:6px;border-radius:12px;background:linear-gradient(135deg,#3D2E8C,#5a45b5);color:#fff;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(61,46,140,0.35)}
.btn-submit:focus-visible{outline:2px solid #13D6FF;outline-offset:3px}
.btn-submit[disabled]{opacity:.6;cursor:wait;transform:none}
.form-error{display:none;margin-top:12px;font-size:.9rem;color:#F0687D;text-align:center}
.form-fine{margin-top:12px;font-size:.8rem;color:rgba(240,240,248,0.6);text-align:center}
.form-fine a{text-decoration:underline}
.form-thanks{display:none;text-align:center;padding:40px 10px;outline:none}
.form-thanks .tickbig{width:62px;height:62px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:rgba(92,203,58,0.14);color:var(--ok)}
.form-thanks .tickbig svg{width:28px;height:28px}
.form-thanks h3{font-size:1.3rem;margin-bottom:8px}
.form-thanks p{color:rgba(240,240,248,0.72)}

/* ===== FOOTER ===== */
.footer{background:var(--dark);padding:40px 0 32px;border-top:1px solid rgba(255,255,255,0.04)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-logo img{height:28px;width:auto}
.footer-logo span{font-weight:700;font-size:14px;letter-spacing:0.08em}
.footer-tagline{font-size:14px;color:rgba(240,240,248,0.6);line-height:1.6;margin-bottom:20px}
.footer-wa{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,0.6);font-size:14px;transition:color .3s}
.footer-wa:hover{color:var(--wa)}
.footer-wa svg{width:16px;height:16px;fill:var(--wa)}
.footer h3{font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.9);margin-bottom:20px;letter-spacing:0.1em;text-transform:uppercase}
.footer ul{list-style:none}
.footer ul li{margin-bottom:12px;line-height:1.4}
.footer ul a{font-size:0.9rem;color:rgba(255,255,255,0.6);transition:color .3s}
.footer ul a:hover{color:rgba(255,255,255,0.9)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid rgba(255,255,255,0.06);font-size:0.8rem;color:rgba(255,255,255,0.56)}
.footer-legal{display:flex;gap:24px}
.footer-legal a{color:rgba(255,255,255,0.56)}
.footer-legal a:hover{color:rgba(255,255,255,0.85)}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:500;display:flex;align-items:center;gap:12px;transition:transform .22s cubic-bezier(0.22,1,0.36,1)}
.wa-float-tooltip{background:#1A1A2E;color:var(--text);font-size:13px;font-weight:500;padding:6px 12px;border-radius:8px;opacity:0;transform:translateX(8px);transition:opacity .2s,transform .2s;white-space:nowrap}
.wa-float:hover .wa-float-tooltip{opacity:1;transform:translateX(0)}
.wa-float-btn{width:56px;height:56px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,0.35);animation:waPulse 2s ease-in-out infinite}
.wa-float-btn svg{width:28px;height:28px;fill:#fff}
.wa-float:focus-visible{outline:2px solid #13D6FF;outline-offset:4px;border-radius:50%}
@keyframes waPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.13);opacity:.7}}

/* Reveal */
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:none}
body{opacity:0;animation:pageFadeIn .3s ease forwards}
@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){ .for-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .svc-grid.four{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:1024px){
  .hero .container{grid-template-columns:1fr;gap:52px}
  .illus{justify-self:center;max-width:520px}
  .illus-note{text-align:left}
  .svc-grid,.svc-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .enq-grid{grid-template-columns:1fr;gap:40px}
  .sec-head{grid-template-columns:1fr;gap:16px}
  .side-note{max-width:none}
}
@media(max-width:860px){
  .svc-cols{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr;row-gap:32px}
  .step::after{display:none}
  .tool-grid{grid-template-columns:1fr}
  .for-grid.three{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .hero{padding:108px 0 70px}
  .for,.tools{clip-path:polygon(0 24px,100% 0,100% 100%,0 100%);padding:78px 0}
  .services,.process{padding:76px 0}
  .enquiry{padding:76px 0 90px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
  .wa-float{bottom:20px;right:20px}
  .wa-float-tooltip{display:none}
}
@media(max-width:600px){
  .h2{font-size:1.75rem;line-height:1.14}
  .intro{font-size:1rem}
  .hero h1{font-size:2.2rem}
  .hero .lead{font-size:1.02rem}
  .hero-ctas .btn{width:100%}
  .for-grid,.for-grid.three,.svc-grid,.svc-grid.four,.timeline{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr;gap:0}
  .form-card{padding:24px 18px}
  .tool-panel{padding:22px 18px}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:480px){ .wa-float{bottom:16px;right:16px} .wa-float-btn{width:50px;height:50px} .wa-float-btn svg{width:26px;height:26px} }
@media(max-width:360px){ .hero h1{font-size:1.95rem} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body{animation:none;opacity:1}
  .fade-up{opacity:1;transform:none;transition:none}
  .wa-float-btn{animation:none}
  .svc,.for-card,.btn,.wa-float{transition:none}
  .anim,.anim *{animation:none !important}
  .anim .rt,.anim .nd,.anim .jr,.anim .pt{opacity:1 !important;transform:none !important}
  .anim .au-track i{width:84% !important}
  .anim .sb{width:var(--w) !important}
  .anim .tx-lines path{stroke-dasharray:none}
}
