/* ==========================================================================
   NewStarts — design system
   Deep navy base, royal → electric blue gradients, soft-blue surfaces.
   Part 1 = structure & components, Part 2 (bottom) = premium visual layer.
   ========================================================================== */
@font-face{font-family:"Bricolage";src:url(../assets/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument";src:url(../assets/fonts/instrument.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  /* NewStarts premium palette — deep navy base, royal → electric blue accents,
     with very subtle cyan and lavender used only inside gradients. */
  --navy-950:#021436; --navy-900:#041B4D; --navy-800:#072A74; --navy-700:#0B3690;
  --royal:#0340A7; --royal-d:#003096; --electric:#2F78E0; --electric-2:#5C93E6;
  --soft:#F3F7FF; --soft-2:#E8F0FF; --soft-3:#D9E6FF;
  --cyan:#FF8A2B; --lavender:#FFB36B;
  /* Legacy token names kept so every existing component re-colours at once. */
  --ink:#051C55; --ink-2:#0A2A72; --ink-3:#1D3D86;
  --orange:#FE6D01; --orange-d:#DB5400; --orange-dd:#B84500; --orange-tint:#FFF1E6; --orange-line:#FFD2B0;
  --paper:#FFFFFF; --mist:#F3F7FF; --mist-2:#E6EEFD; --line:#E3E9F5; --line-2:#CAD5EC;
  --text:#0B1433; --slate:#46506E; --muted:#6B7494;
  --green:#15803D; --green-tint:#E8F6EE; --wa:#25D366; --wa-d:#128C4B;
  --f-display:"Bricolage", "Segoe UI", system-ui, sans-serif;
  --f-body:"Instrument", "Segoe UI", system-ui, -apple-system, sans-serif;
  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px;
  --sh-1:0 1px 2px rgba(8,18,51,.05);
  --sh-2:0 1px 2px rgba(8,18,51,.04), 0 12px 32px -16px rgba(8,18,51,.22);
  --sh-3:0 2px 6px rgba(8,18,51,.05), 0 30px 64px -28px rgba(8,18,51,.40);
  --g-primary:linear-gradient(120deg,#E85A00 0%,#FE6D01 55%,#FF8A2B 100%);
  --g-primary-h:linear-gradient(120deg,#C94D00 0%,#E85A00 45%,#FE6D01 100%);
  --g-text:linear-gradient(95deg,#FFB36B 0%,#FF8A2B 50%,#FE6D01 100%);
  --g-navy:linear-gradient(160deg,#031640 0%,#051C55 55%,#06307F 100%);
  --g-icon:linear-gradient(140deg,#F2F6FD 0%,#DCE7F8 100%);
  --card-bd:#E3EAF7; --card-bd-h:rgba(254,109,1,.55);
  --card-sh:0 1px 2px rgba(8,18,51,.04), 0 10px 28px -18px rgba(8,18,51,.20);
  --card-sh-h:0 28px 56px -28px rgba(254,109,1,.50), 0 0 0 1px rgba(254,109,1,.28), 0 0 42px -12px rgba(254,109,1,.35);
  --ease:cubic-bezier(.2,.7,.2,1); --ease-spring:cubic-bezier(.34,1.56,.64,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --container:1220px; --gutter:clamp(18px,4vw,32px);
  --hdr:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 64px)}
html,body{overflow-x:clip}
body{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01"}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:680;line-height:1.12;letter-spacing:-.022em;margin:0 0 .5em;font-variation-settings:"opsz" 48}
h1{font-size:clamp(2.3rem,4.8vw,3.9rem);letter-spacing:-.035em;line-height:1.04}
h2{font-size:clamp(1.8rem,3vw,2.55rem)}
h3{font-size:1.18rem;letter-spacing:-.012em;line-height:1.25;font-variation-settings:"opsz" 24}
p{margin:0 0 1em}
.ic{width:1.15em;height:1.15em;flex:none}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:999;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-sm)}
.skip:focus{top:12px}
:focus-visible{outline:2.5px solid var(--orange-d);outline-offset:2px;border-radius:4px}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.muted{color:var(--muted)}
kbd{font-family:var(--f-body);font-size:.72rem;font-weight:600;padding:2px 6px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;color:var(--slate);background:#fff}

/* ---------- Buttons ---------- */
.btn{--bg:var(--paper);--fg:var(--ink);--bd:var(--line-2);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:.7em 1.25em;border-radius:var(--r);border:1.5px solid var(--bd);background:var(--bg);color:var(--fg);font-weight:600;font-size:.98rem;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease),box-shadow .2s;isolation:isolate;overflow:hidden}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn svg{width:1.1em;height:1.1em}
.btn-primary{--bg:var(--orange-d);--fg:#fff;--bd:var(--orange-d);box-shadow:0 6px 16px -8px rgba(254,109,1,.55)}
.btn-primary:hover{--bg:var(--orange-dd);--bd:var(--orange-dd);box-shadow:0 10px 22px -8px rgba(254,109,1,.5)}
.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost:hover{--bd:var(--ink);--bg:var(--mist)}
.btn-wa{--bg:var(--wa-d);--fg:#fff;--bd:var(--wa-d)}
.btn-wa:hover{--bg:#0E7A40;--bd:#0E7A40}
.btn-dark{--bg:var(--ink);--fg:#fff;--bd:var(--ink)}
.btn-sm{min-height:38px;padding:.5em .95em;font-size:.9rem;border-radius:10px}
.btn-lg{min-height:52px;padding:.8em 1.5em;font-size:1.02rem}
.btn-block{width:100%}
.btn.icon-only{padding:0;width:40px}
.btn .spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
.btn.is-loading .btn-txt{opacity:.6}.btn.is-loading .spinner{display:inline-block}.btn.is-loading{pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:600;color:var(--orange-d);text-decoration:none}
.link-arrow svg{transition:transform .25s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}
.text-btn{background:none;border:0;padding:0;color:var(--orange-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;border:1.5px solid var(--line);background:#fff;transition:border-color .2s,background .2s}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn svg{width:20px;height:20px}

/* ---------- Top bar & header ---------- */
.topbar{background:var(--ink);color:#D5DEF5;font-size:.86rem;overflow:hidden;transition:margin .35s var(--ease)}
.topbar-inner{display:flex;align-items:center;gap:20px;min-height:40px}
.topbar p{margin:0;display:flex;align-items:center;gap:8px;flex:1}
.topbar a{color:#fff;font-weight:600}
.topbar-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(254,109,1,.7);animation:ping 2s infinite}
.topbar-contact{display:flex;gap:18px}
.topbar-contact a{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:#D5DEF5;text-decoration:none}
.topbar-contact a:hover{color:#fff}
.topbar-close{background:none;border:0;color:#8FA0CC;display:grid;place-items:center;padding:4px}
.topbar.is-hidden{display:none}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(254,109,1,.6)}80%,100%{box-shadow:0 0 0 8px rgba(254,109,1,0)}}

.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.site-header.is-scrolled{border-color:var(--line);box-shadow:0 8px 24px -18px rgba(8,18,51,.3)}
.header-inner{display:flex;align-items:center;gap:22px;height:var(--hdr)}
.brand{display:block;flex:none}
.brand-logo{display:block;height:44px;width:auto}
.nav{display:flex;align-items:center;gap:2px;margin-left:8px}
.nav-link{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 13px;border:0;background:none;border-radius:10px;font-weight:550;font-size:.97rem;color:var(--slate);text-decoration:none;transition:color .2s,background .2s}
.nav-link svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.nav-link:hover,.nav-link[aria-expanded="true"],.nav-link[aria-current]{color:var(--ink);background:var(--mist)}
.nav-link[aria-expanded="true"] svg{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.search-btn{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 10px 0 13px;border:1.5px solid var(--line);border-radius:11px;background:var(--mist);color:var(--muted);font-size:.92rem;transition:border-color .2s,background .2s}
.search-btn:hover{border-color:var(--line-2);background:#fff}
.search-btn svg{width:18px;height:18px}
.burger{display:none}

.nav-drop{position:relative}
.drop{position:absolute;top:calc(100% + 10px);left:-10px;width:320px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.nav-drop.is-open .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:flex;gap:12px;padding:12px;border-radius:12px;text-decoration:none;color:var(--ink)}
.drop a:hover{background:var(--mist)}
.drop a>svg{width:20px;height:20px;color:var(--orange-d);margin-top:2px}
.drop strong{display:block;font-size:.96rem}
.drop small{color:var(--muted);font-size:.85rem}

/* Mega menu */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(8,18,51,.35);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .3s var(--ease),visibility .22s}
.mega.is-open{opacity:1;visibility:visible;transform:none}
.mega-inner{display:grid;grid-template-columns:290px 1fr;gap:28px;padding-block:24px}
.mega-tabs{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);padding-right:18px}
.mega-tab{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;border-radius:12px;text-align:left;transition:background .2s}
.mega-tab-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--mist);color:var(--slate);transition:background .2s,color .2s}
.mega-tab-ic svg{width:20px;height:20px}
.mega-tab-txt{flex:1;display:flex;flex-direction:column;line-height:1.25}
.mega-tab-txt strong{font-size:.95rem;font-weight:600}
.mega-tab-txt small{font-size:.8rem;color:var(--muted)}
.mega-tab-chev{width:16px;height:16px;color:var(--line-2);transition:transform .2s,color .2s}
.mega-tab.is-active{background:var(--orange-tint)}
.mega-tab.is-active .mega-tab-ic{background:var(--orange-d);color:#fff}
.mega-tab.is-active .mega-tab-chev{color:var(--orange-d);transform:translateX(3px)}
.mega-panel{display:none}
.mega-panel.is-active{display:block;animation:megaIn .35s var(--ease)}
@keyframes megaIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.mega-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.mega-panel-title{font-family:var(--f-display);font-weight:650;font-size:1.25rem;margin:0 0 2px;letter-spacing:-.015em}
.mega-panel-desc{margin:0;color:var(--muted);font-size:.93rem}
.mega-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2px 20px}
.mega-list a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 12px;margin-inline:-12px;border-radius:10px;text-decoration:none;font-size:.95rem;font-weight:500;transition:background .15s,color .15s}
.mega-list a small{color:var(--muted);font-size:.8rem;white-space:nowrap}
.mega-list a:hover{background:var(--mist);color:var(--orange-d)}
.mega-foot{background:var(--mist);border-top:1px solid var(--line)}
.mega-foot-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;font-size:.93rem;color:var(--slate)}
.mega-foot-inner>span{display:inline-flex;gap:8px;align-items:center}
.mega-foot-actions{display:flex;gap:8px}

/* Mobile drawer */
.m-drawer{position:fixed;inset:0;z-index:90;background:rgba(8,18,51,.45);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.m-drawer.is-open{opacity:1;visibility:visible}
.m-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;overflow-y:auto;padding:14px 18px 28px;transform:translateX(100%);transition:transform .4s var(--ease)}
.m-drawer.is-open .m-drawer-panel{transform:none}
.m-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.m-drawer-head .brand-logo{height:38px}
.m-search{display:flex;align-items:center;gap:10px;width:100%;height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--mist);color:var(--muted);text-align:left}
.m-label{margin:22px 0 6px;font-size:.85rem;font-weight:600;color:var(--muted)}
.m-acc{border-bottom:1px solid var(--line)}
.m-acc summary{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;font-weight:600;list-style:none;cursor:pointer}
.m-acc summary::-webkit-details-marker{display:none}
.m-acc summary span{display:inline-flex;gap:10px;align-items:center}
.m-acc summary span svg{color:var(--orange-d)}
.m-acc summary>svg{transition:transform .25s}
.m-acc[open] summary>svg{transform:rotate(180deg)}
.m-acc ul{list-style:none;margin:0 0 12px;padding:0 0 0 30px}
.m-acc li a{display:block;padding:8px 0;color:var(--slate);text-decoration:none;font-size:.96rem}
.m-acc .m-acc-all{color:var(--orange-d);font-weight:600}
.m-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin:18px 0}
.m-links a{padding:10px 0;font-weight:550;text-decoration:none}
.m-drawer-cta{display:grid;gap:10px}

/* ---------- Sections ---------- */
.section{padding-block:clamp(64px,8vw,104px)}
.section-tight{padding-block:clamp(40px,5vw,64px)}
.section-mist{background:var(--mist)}
.section-ink{background:var(--ink);color:#E4EBFA}
.section-ink h2,.section-ink h3{color:#fff}
.sec-head{max-width:640px;margin-bottom:clamp(28px,4vw,44px)}
.sec-head>p{color:var(--slate);font-size:1.07rem;margin:0}
.section-ink .sec-head>p{color:#A9B8DB}
.sec-head-center{margin-inline:auto;text-align:center}
.sec-head-row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.sec-head-row>div{max-width:640px}
.sec-head-row p{color:var(--slate);font-size:1.07rem;margin:0}

/* ---------- Hero ---------- */
.hero{position:relative;padding:clamp(40px,6vw,72px) 0 0;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--mist-2) 1px,transparent 1px),linear-gradient(90deg,var(--mist-2) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 70% at 70% 30%,#000 30%,transparent 75%);opacity:.8}
.hero-inner{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border:1px solid var(--line);background:#fff;border-radius:99px;font-size:.88rem;font-weight:550;color:var(--slate);margin-bottom:22px;box-shadow:var(--sh-1)}
.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--green);animation:pingG 2s infinite}
@keyframes pingG{0%{box-shadow:0 0 0 0 rgba(21,128,61,.55)}80%,100%{box-shadow:0 0 0 8px rgba(21,128,61,0)}}
.hero h1{font-size:clamp(2.2rem,4.3vw,3.55rem)}
.type-wrap{display:block;position:relative;white-space:nowrap;min-height:1.1em}
.type-word{color:var(--orange-d);background:linear-gradient(transparent 72%,var(--orange-tint) 72%);padding:0 .06em}
.type-caret{display:inline-block;width:3px;height:.9em;margin-left:3px;background:var(--orange);vertical-align:-.08em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero-lede{font-size:clamp(1.05rem,1.4vw,1.18rem);color:var(--slate);max-width:36em;margin-bottom:26px}
.hero-search{position:relative;display:flex;align-items:center;gap:10px;max-width:560px;padding:7px 7px 7px 16px;background:#fff;border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--sh-2);transition:border-color .2s,box-shadow .2s}
.hero-search:focus-within{border-color:var(--orange-d);box-shadow:0 0 0 4px var(--orange-tint),var(--sh-2)}
.hero-search>svg{width:20px;height:20px;color:var(--muted)}
.hero-search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:1rem;height:42px}
.hero-suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-3);max-height:340px;overflow:auto}
.hero-suggest a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none}
.hero-suggest a small{color:var(--muted)}
.hero-suggest a:hover,.hero-suggest a.is-active{background:var(--mist)}
.hero-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 28px;font-size:.88rem}
.hero-chips>span{color:var(--muted);margin-right:2px}
.hero-chips a{padding:5px 12px;border:1px solid var(--line);border-radius:99px;background:#fff;text-decoration:none;font-weight:550;color:var(--slate);transition:border-color .2s,color .2s,transform .2s}
.hero-chips a:hover{border-color:var(--orange-d);color:var(--orange-d);transform:translateY(-1px)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{position:relative;min-height:470px}
.tracker{position:relative;z-index:2;margin:34px 0 130px auto;max-width:410px;padding:26px 26px 78px;border-radius:var(--r-xl);background:var(--ink);color:#fff;box-shadow:0 40px 80px -30px rgba(8,18,51,.55);transform:rotate(1.2deg)}
.tracker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.tracker-tag{font-size:.8rem;font-weight:600;color:#A9B8DB;padding:4px 10px;border:1px solid var(--ink-3);border-radius:99px}
.tracker-live{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:#8FE3AF;font-weight:600}
.tracker-live span{width:7px;height:7px;border-radius:50%;background:#34D17A;animation:pingG 1.6s infinite}
.tracker-svc{font-family:var(--f-display);font-size:1.55rem;font-weight:650;letter-spacing:-.02em;margin:0 0 4px;min-height:1.3em;transition:opacity .3s,transform .3s}
.tracker-time{display:flex;gap:7px;align-items:center;color:#A9B8DB;font-size:.9rem;margin:0 0 20px;min-height:1.5em}
.tracker-time svg{color:var(--orange)}
.tracker.is-swapping .tracker-svc,.tracker.is-swapping .tracker-time{opacity:0;transform:translateY(6px)}
.tracker-steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tracker-steps li{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:0 12px;padding:9px 0;position:relative}
.tracker-steps li:not(:last-child)::after{content:"";position:absolute;left:13px;top:36px;bottom:-9px;width:2px;background:var(--ink-3)}
.ts-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--ink-3);background:var(--ink);color:transparent;transition:all .4s var(--ease)}
.ts-dot svg{width:15px;height:15px;stroke-width:2.5}
.ts-t{font-weight:550;color:#7D8DB8;transition:color .3s}
.ts-bar{grid-column:2;height:3px;border-radius:3px;background:var(--ink-3);overflow:hidden;margin-top:7px;display:none}
.ts-bar span{display:block;height:100%;width:0;background:var(--orange);border-radius:3px}
.tracker-steps li.is-done .ts-dot{background:var(--orange);border-color:var(--orange);color:#fff;transform:scale(1.05)}
.tracker-steps li.is-done .ts-t{color:#fff}
.tracker-steps li.is-now .ts-dot{border-color:var(--orange);box-shadow:0 0 0 5px rgba(254,109,1,.18)}
.tracker-steps li.is-now .ts-t{color:#fff}
.tracker-steps li.is-now .ts-bar{display:block}
.tracker-steps li.is-now .ts-bar span{animation:bar 1.3s var(--ease) forwards}
@keyframes bar{to{width:100%}}
.tracker-stamp{position:absolute;right:20px;bottom:22px;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;border:3px solid var(--orange);color:var(--orange);font-family:var(--f-display);font-weight:750;font-size:1.02rem;letter-spacing:.02em;opacity:0;transform:scale(1.9) rotate(-22deg);pointer-events:none}
.tracker-stamp::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px dashed var(--orange)}
.tracker-stamp.is-on{animation:stamp .55s var(--ease-spring) forwards}
@keyframes stamp{0%{opacity:0;transform:scale(1.9) rotate(-22deg)}60%{opacity:1}100%{opacity:1;transform:scale(1) rotate(-14deg)}}
.doc-card{position:absolute;z-index:3;left:0;bottom:0;width:236px;padding:16px 16px 12px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-3);animation:floaty 6s ease-in-out infinite}
.doc-card>p{margin:0 0 8px;font-weight:650;font-size:.86rem;color:var(--muted)}
.doc-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.doc-card li{display:flex;gap:8px;align-items:center;font-size:.9rem;font-weight:550;opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s var(--ease)}
.doc-card li.is-on{opacity:1;transform:none}
.doc-card li svg{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--green-tint);color:var(--green);stroke-width:2.6}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.seal svg{width:100%;height:100%;overflow:visible}
.seal-ring{fill:none;stroke:var(--line-2);stroke-width:1}
.seal-core{fill:var(--orange-d)}
.seal-text{font-family:var(--f-body);font-size:10.6px;font-weight:700;letter-spacing:2.2px;fill:var(--slate)}
.seal-mark{fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.seal svg text,.seal svg .seal-ring{transform-origin:60px 60px;animation:rot 26s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.seal-hero{position:absolute;z-index:3;top:150px;left:-6px;width:108px;height:108px;background:#fff;border-radius:50%;box-shadow:var(--sh-2)}
.hero-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.hero-stats>div{display:flex;flex-direction:column;padding:22px 0 26px;border-right:1px solid var(--line);padding-left:24px}
.hero-stats>div:first-child{padding-left:0}
.hero-stats>div:last-child{border-right:0}
.hero-stats strong{font-family:var(--f-display);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.hero-stats>div>span{color:var(--muted);font-size:.92rem}

/* Page-load choreography (only the first screen; everything else reveals on scroll) */
.js [data-load]{opacity:0;transform:translateY(16px)}
.js.is-loaded [data-load]{animation:rise .8s var(--ease) forwards;animation-delay:calc(var(--i,0) * 1ms)}
.js.is-loaded [data-load="1"]{--i:0}.js.is-loaded [data-load="2"]{--i:90}.js.is-loaded [data-load="3"]{--i:180}.js.is-loaded [data-load="4"]{--i:270}.js.is-loaded [data-load="5"]{--i:360}.js.is-loaded [data-load="6"]{--i:450}.js.is-loaded [data-load="7"]{--i:540}
@keyframes rise{to{opacity:1;transform:none}}
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Partners marquee ---------- */
.partners{padding:34px 0 38px;border-bottom:1px solid var(--line);background:#fff}
.partners-t{text-align:center;color:var(--muted);font-size:.9rem;font-weight:550;margin:0 0 18px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.partner{display:grid;place-items:center;height:58px;padding:0 26px;border:1px solid var(--line);border-radius:14px;background:#fff}
.partner img{height:26px;width:auto;max-width:120px;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.partner:hover img{filter:none;opacity:1}
@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;text-decoration:none;overflow:hidden;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease)}
.cat-tile:hover{border-color:var(--orange-line);box-shadow:var(--sh-2);transform:translateY(-3px)}
.cat-tile-body{display:flex;flex-direction:column;flex:1;padding:22px}
.cat-tile h3{margin:14px 0 6px}
.cat-tile p{color:var(--slate);font-size:.93rem;margin:0 0 12px}
.cat-tile ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:4px;font-size:.88rem;color:var(--muted)}
.cat-tile li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--line-2);margin-right:8px;vertical-align:.2em}
.cat-tile-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.86rem;font-weight:600;color:var(--slate);padding-top:14px;border-top:1px dashed var(--line)}
.cat-tile-foot svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--mist);transition:background .25s,color .25s,transform .3s var(--ease)}
.cat-tile:hover .cat-tile-foot svg{background:var(--orange-d);color:#fff;transform:rotate(45deg)}
.cat-tile-lg{grid-column:span 2;grid-row:span 2}
.cat-tile-img{height:230px;overflow:hidden}
.cat-tile-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cat-tile-lg:hover .cat-tile-img img{transform:scale(1.04)}
.cat-tile-lg h3{font-size:1.5rem}
.cat-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--orange-tint);color:var(--orange-d);flex:none}
.cat-ic svg{width:22px;height:22px}
.cat-ic-lg{width:56px;height:56px;border-radius:15px;margin-bottom:18px}
.cat-ic-lg svg{width:28px;height:28px}

/* ---------- Tabs ---------- */
.tab-bar{position:relative;display:flex;gap:4px;padding:5px;margin-bottom:26px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%}
.tab-bar::-webkit-scrollbar{display:none}
.tab{position:relative;z-index:1;flex:none;padding:9px 16px;border:0;background:none;border-radius:10px;font-weight:600;font-size:.94rem;color:var(--slate);transition:color .25s}
.tab.is-active{color:#fff}
.tab-ink{position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:0;border-radius:10px;background:var(--ink);transition:transform .4s var(--ease),width .4s var(--ease)}
.tab-panel{display:none}
.tab-panel.is-active{display:block;animation:fadeUp .45s var(--ease)}
.tab-panel .link-arrow{margin-top:22px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-card{position:relative;display:flex;flex-direction:column;padding:20px 20px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease)}
.svc-card::before{content:"";position:absolute;left:20px;right:20px;top:-1px;height:2px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.svc-card:hover{border-color:var(--line-2);box-shadow:var(--sh-2);transform:translateY(-3px)}
.svc-card:hover::before{transform:scaleX(1)}
.svc-card-cat{font-size:.78rem;font-weight:600;color:var(--orange-d);margin-bottom:8px}
.svc-card h3{font-size:1.06rem;margin:0 0 8px}
.svc-card p{font-size:.9rem;color:var(--slate);margin:0 0 16px;line-height:1.5}
.svc-card-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--mist-2)}
.price-from{font-weight:700;font-variant-numeric:tabular-nums;font-size:1rem}
.price-from small{font-weight:500;color:var(--muted);font-size:.8rem;margin-right:2px}
.svc-card-go{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--mist);color:var(--ink);transition:background .25s,color .25s,transform .35s var(--ease)}
.svc-card-go svg{width:16px;height:16px}
.svc-card:hover .svc-card-go{background:var(--orange-d);color:#fff;transform:rotate(45deg)}

/* ---------- Why ---------- */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
.why-media{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5}
.why-media img{width:100%;height:100%;object-fit:cover}
.why-badge{position:absolute;left:20px;bottom:20px;padding:14px 18px;background:#fff;border-radius:14px;box-shadow:var(--sh-3);display:flex;flex-direction:column}
.why-badge strong{font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.02em}
.why-badge span{font-size:.85rem;color:var(--muted)}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}
.why-item{display:flex;gap:14px}
.why-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mist);color:var(--orange-d);flex:none}
.why-ic svg{width:21px;height:21px}
.why-item h3{font-size:1.04rem;margin:2px 0 4px}
.why-item p{font-size:.93rem;color:var(--slate);margin:0}

/* ---------- Flow (5 steps) ---------- */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;counter-reset:f}
.flow::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:linear-gradient(90deg,var(--orange) var(--flow,0%),var(--ink-3) var(--flow,0%));transition:--flow 1s}
.flow-step{position:relative;padding-right:22px}
.flow-n{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ink-2);border:2px solid var(--ink-3);font-family:var(--f-display);font-weight:700;font-size:1.05rem;color:#fff;margin-bottom:20px;transition:background .4s,border-color .4s,transform .4s var(--ease-spring)}
.flow-step.is-lit .flow-n{background:var(--orange-d);border-color:var(--orange);transform:scale(1.06)}
.flow-step h3{font-size:1.1rem;margin-bottom:6px}
.flow-step p{font-size:.93rem;color:#A9B8DB;margin:0}
.flow-cta{margin-top:44px;text-align:center}
.flow-light::before{background:linear-gradient(90deg,var(--orange) var(--flow,0%),var(--line) var(--flow,0%))}
.flow-light .flow-n{background:#fff;border-color:var(--line-2);color:var(--ink)}
.flow-light .flow-step.is-lit .flow-n{color:#fff}
.flow-light .flow-step p{color:var(--slate)}

/* ---------- Reviews ---------- */
.reviews{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,64px);align-items:start}
.reviews-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.reviews-stats>div{padding:16px;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column}
.reviews-stats strong{font-family:var(--f-display);font-size:1.7rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.reviews-stats>div>span{font-size:.82rem;color:var(--muted)}
.review-list{display:grid;gap:16px}
.review{margin:0;padding:26px 28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-1)}
.review-lg{background:var(--ink);color:#fff;border-color:var(--ink)}
.review-lg blockquote{color:#E4EBFA;font-size:1.12rem}
.stars{display:flex;gap:2px;color:#F5A524;margin-bottom:14px}
.stars svg{width:18px;height:18px;fill:currentColor;stroke:none}
.review blockquote{margin:0 0 20px;font-size:1rem;line-height:1.65}
.review figcaption{display:flex;gap:12px;align-items:center}
.review figcaption strong{display:block;font-size:.97rem}
.review figcaption small{color:var(--muted);font-size:.84rem}
.review-lg figcaption small{color:#A9B8DB}
.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange-d);color:#fff;font-weight:700;font-size:.9rem}

/* ---------- FAQ ---------- */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.faq-wrap .sec-head{position:sticky;top:calc(var(--hdr) + 80px)}
.faq{display:grid;gap:10px}
.faq-item{border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .25s,box-shadow .25s}
.faq-item.is-open{border-color:var(--line-2);box-shadow:var(--sh-1)}
.faq-item h3{margin:0;font-size:1rem}
.faq-item button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 20px;border:0;background:none;text-align:left;font-weight:600;font-family:var(--f-body);font-size:1rem;letter-spacing:0;line-height:1.4}
.faq-ic{position:relative;flex:none;width:26px;height:26px;border-radius:50%;background:var(--mist);transition:background .25s,transform .35s var(--ease)}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--ink);border-radius:2px;transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .25s}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.is-open .faq-ic{background:var(--orange-d)}
.faq-item.is-open .faq-ic::before,.faq-item.is-open .faq-ic::after{background:#fff}
.faq-item.is-open .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 20px 18px;margin:0;color:var(--slate);font-size:.97rem}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.help-card{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.help-card p{font-size:.95rem;color:var(--slate)}
.help-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}

/* ---------- Consultation section / forms ---------- */
.consult-sec{background:var(--ink);color:#E4EBFA;position:relative;overflow:hidden}
.consult-sec::before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(254,109,1,.22),transparent);pointer-events:none}
.consult{position:relative;display:grid;grid-template-columns:1fr minmax(0,470px);gap:clamp(32px,5vw,72px);align-items:center}
.consult h2{color:#fff}
.consult-copy>p{color:#A9B8DB;font-size:1.07rem;max-width:32em}
.contact-rows{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-rows a{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--ink-3);border-radius:var(--r);text-decoration:none;transition:border-color .2s,background .2s}
.contact-rows a:hover{border-color:var(--orange);background:var(--ink-2)}
.contact-rows svg{width:22px;height:22px;color:var(--orange);flex:none}
.contact-rows span{display:flex;flex-direction:column;font-size:.93rem;font-weight:550;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.contact-rows small{color:#8797C0;font-weight:500;font-size:.8rem}
.lead-card{position:relative;padding:20px;background:#fff;color:var(--text);border-radius:var(--r-xl);box-shadow:var(--sh-3)}
.lead-t{font-family:var(--f-display);font-size:1.2rem;font-weight:680;letter-spacing:-.02em;margin:0 0 4px}
.lead-s{color:var(--slate);font-size:.86rem;margin:0 0 12px}
.form-body{display:flex;flex-wrap:wrap;gap:10px 10px}
.form-body>*{flex:1 1 100%}
.field{position:relative;display:flex;flex-direction:column;gap:4px}
.field-half{flex:1 1 calc(50% - 6px)}
.field label,.field-label{font-size:.82rem;font-weight:600;color:var(--ink)}
.field-label{margin:4px 0 0}
.opt{font-weight:500;color:var(--muted)}
.field input,.field select,.field textarea,.input-prefix{width:100%;min-height:40px;padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:.93rem;transition:border-color .2s,box-shadow .2s;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2346506E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.field textarea{resize:vertical;min-height:64px}
.field input:focus,.field select:focus,.field textarea:focus,.input-prefix:focus-within{outline:0;border-color:var(--orange-d);box-shadow:0 0 0 4px var(--orange-tint)}
.input-prefix{display:flex;align-items:center;padding:0;overflow:hidden}
.input-prefix span{padding:0 12px;align-self:stretch;display:grid;place-items:center;background:var(--mist);border-right:1.5px solid var(--line);font-weight:600;color:var(--slate);font-size:.95rem}
.input-prefix input{border:0!important;box-shadow:none!important;min-height:37px}
.err{display:none;margin:0;font-size:.83rem;color:#B42318;font-weight:550}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea,.field.is-invalid .input-prefix,.field.is-invalid .file-drop{border-color:#D92D20}
.field.is-invalid .err{display:block;animation:shake .35s}
.field.is-valid input,.field.is-valid .input-prefix{border-color:#86CFA5}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.form-fine{display:flex;align-items:center;gap:6px;justify-content:center;font-size:.82rem;color:var(--muted);margin:0}
.form-fine svg{width:14px;height:14px}
.form-done{text-align:center;padding:14px 6px 6px;animation:fadeUp .5s var(--ease)}
.form-done h3{font-size:1.4rem;margin:14px 0 6px}
.form-done p{color:var(--slate)}
.done-check{width:72px;height:72px;margin:0 auto}
.done-check svg{width:100%;height:100%}
.done-check circle{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:draw .6s var(--ease) forwards}
.done-check path{fill:none;stroke:var(--green);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:draw .4s .45s var(--ease) forwards}
.done-check-lg{width:92px;height:92px}
@keyframes draw{to{stroke-dashoffset:0}}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:var(--slate);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--orange-d);margin-top:2px;flex:none}
.err-check{display:none}
.wizard.consent-invalid .err-check{display:block}
.file-drop{display:flex;align-items:center;gap:10px;padding:16px;border:1.5px dashed var(--line-2);border-radius:11px;background:var(--mist);color:var(--slate);cursor:pointer;font-weight:550;font-size:.93rem;transition:border-color .2s,background .2s}
.file-drop:hover{border-color:var(--orange-d);background:var(--orange-tint)}
.file-drop svg{width:22px;height:22px;color:var(--orange-d)}
.file-drop.has-file{border-style:solid;border-color:#86CFA5;background:var(--green-tint)}

/* ---------- CTA band ---------- */
.cta-band{padding:clamp(40px,6vw,72px) 0}
.cta-band-inner{position:relative;display:flex;align-items:center;gap:32px;padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--ink);color:#fff;overflow:hidden}
.cta-band-inner::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 120%,rgba(254,109,1,.28),transparent 45%);pointer-events:none}
.seal-cta{flex:none;width:104px;height:104px}
.seal-cta .seal-ring{stroke:var(--ink-3)}
.seal-cta .seal-text{fill:#A9B8DB}
.cta-band-copy{flex:1}
.cta-band-copy h2{color:#fff;font-size:clamp(1.5rem,2.4vw,2.05rem);margin-bottom:6px}
.cta-band-copy p{color:#A9B8DB;margin:0}
.cta-band-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Page heroes ---------- */
.page-hero{padding:clamp(28px,4vw,44px) 0 clamp(32px,4vw,52px);background:linear-gradient(180deg,#fff,var(--mist));border-bottom:1px solid var(--line)}
.page-lede{font-size:clamp(1.03rem,1.4vw,1.15rem);color:var(--slate);max-width:40em;margin-bottom:24px}
.crunewstarts ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.87rem;color:var(--muted)}
.crunewstarts li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--line-2)}
.crunewstarts a{text-decoration:none;color:var(--slate)}
.crunewstarts a:hover{color:var(--orange-d)}
.crunewstarts [aria-current]{color:var(--ink);font-weight:550}

/* Services page filter */
.filter{display:grid;gap:14px}
.filter-search{display:flex;align-items:center;gap:10px;max-width:560px;padding:0 16px;height:54px;border:1.5px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--sh-1);transition:border-color .2s,box-shadow .2s}
.filter-search:focus-within{border-color:var(--orange-d);box-shadow:0 0 0 4px var(--orange-tint)}
.filter-search svg{width:20px;height:20px;color:var(--muted)}
.filter-search input{flex:1;border:0;outline:0;font-size:1rem;background:none;min-width:0}
.filter-count{font-size:.85rem;color:var(--muted);white-space:nowrap}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:.9rem;color:var(--slate);transition:all .2s}
.pill span{font-size:.78rem;padding:1px 7px;border-radius:99px;background:var(--mist);color:var(--muted)}
.pill:hover{border-color:var(--ink)}
.pill.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.pill.is-active span{background:var(--ink-3);color:#fff}
.svc-groups{padding-block:clamp(36px,5vw,64px)}
.svc-group{margin-bottom:clamp(40px,5vw,60px)}
.svc-group-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.svc-group-head h2{font-size:1.45rem;margin:0}
.svc-group-head p{margin:2px 0 0;color:var(--slate);font-size:.94rem}
.svc-group-head .link-arrow{margin-left:auto;font-size:.92rem;white-space:nowrap}
.svc-card.is-hidden,.svc-group.is-hidden{display:none}
.empty{text-align:center;padding:48px 20px;border:1.5px dashed var(--line-2);border-radius:var(--r-lg)}
.empty>svg{width:40px;height:40px;color:var(--muted);margin:0 auto 10px}
.empty h2,.empty h1{font-size:1.4rem}
.empty p{color:var(--slate)}
.empty>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.empty-left{text-align:left}
.empty-left>svg{margin:0 0 10px}
.empty-left>div{justify-content:flex-start}

/* Category page */
.cat-hero{padding:clamp(28px,4vw,44px) 0 clamp(40px,5vw,64px);background:linear-gradient(180deg,#fff,var(--mist));border-bottom:1px solid var(--line)}
.cat-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.cat-hero-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sh-3)}
.cat-hero-img img{width:100%;height:100%;object-fit:cover}
.cat-meta{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cat-meta li{padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:.92rem;color:var(--slate)}
.cat-meta strong{color:var(--ink)}
.cat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cat-strip a{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;text-decoration:none;transition:border-color .2s,transform .25s var(--ease)}
.cat-strip a:hover{border-color:var(--orange-line);transform:translateY(-2px)}
.cat-strip a>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.cat-strip small{color:var(--muted);font-size:.84rem}
.cat-strip a>svg{width:20px;height:20px;color:var(--muted)}

/* ---------- Service detail ---------- */
.svc-hero{padding:clamp(24px,3vw,36px) 0 clamp(40px,5vw,64px);background:linear-gradient(180deg,#fff,var(--mist));border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.svc-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(254,109,1,.10),transparent);pointer-events:none}
.svc-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(28px,5vw,64px);align-items:start}
.cat-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:99px;background:var(--orange-tint);color:var(--orange-d);font-weight:600;font-size:.88rem;text-decoration:none;margin-bottom:18px;transition:background .2s}
.cat-tag:hover{background:#DCE7FF}
.cat-tag svg{width:18px;height:18px}
.svc-hero h1{font-size:clamp(2.2rem,4.4vw,3.5rem)}
.svc-lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--slate);max-width:34em}
.svc-facts{list-style:none;margin:26px 0 28px;padding:0;display:grid;gap:10px;max-width:560px}
.svc-facts li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.svc-facts li>svg{width:22px;height:22px;color:var(--orange-d);margin-top:2px}
.svc-facts span{display:flex;flex-direction:column;font-weight:600;font-size:.97rem;line-height:1.4}
.svc-facts small{font-weight:500;color:var(--muted);font-size:.8rem}
.svc-facts em{font-style:normal;font-weight:500;color:var(--muted);font-size:.84rem}
.svc-ctas{display:flex;flex-wrap:wrap;gap:12px}
.svc-hero-form{position:sticky;top:calc(var(--hdr) + 16px)}
.svc-hero-form .lead-card{border:1px solid var(--line)}
.subnav{position:sticky;top:var(--hdr);z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.subnav-inner{display:flex;align-items:center;gap:16px;height:56px}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{position:relative;display:block;padding:8px 14px;border-radius:9px;text-decoration:none;font-weight:600;font-size:.93rem;color:var(--slate);white-space:nowrap;transition:color .2s,background .2s}
.subnav a:hover{color:var(--ink);background:var(--mist)}
.subnav a.is-active{color:var(--orange-d);background:var(--orange-tint)}
.subnav-cta{opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s,transform .25s}
.subnav.is-stuck .subnav-cta{opacity:1;transform:none;pointer-events:auto}
.overview{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:start}
.overview-copy p{color:var(--slate);font-size:1.05rem;max-width:40em}
.overview-copy h3{margin-top:28px}
.overview-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;margin-bottom:14px}
.overview-img img{width:100%;height:100%;object-fit:cover}
.glance{margin:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.glance>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:.94rem}
.glance>div:last-child{border-bottom:0}
.glance dt{color:var(--muted)}
.glance dd{margin:0;font-weight:600}
.glance a{color:var(--orange-d);text-decoration:none}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.benefit{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:transform .3s var(--ease),box-shadow .3s}
.benefit:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.benefit-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--ink);color:#fff;margin-bottom:18px;transition:background .3s,transform .4s var(--ease-spring)}
.benefit:hover .benefit-ic{background:var(--orange-d);transform:rotate(-6deg) scale(1.05)}
.benefit-ic svg{width:23px;height:23px}
.benefit h3{font-size:1.1rem;margin-bottom:6px}
.benefit p{color:var(--slate);font-size:.95rem;margin:0}
.docs{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.docs .sec-head{position:sticky;top:calc(var(--hdr) + 80px)}
.docs .sec-head p{margin-bottom:20px}
.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.doc-list li{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .25s,box-shadow .25s}
.doc-list li:hover{border-color:var(--line-2);box-shadow:var(--sh-1)}
.doc-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--mist);color:var(--ink);flex:none}
.doc-ic svg{width:22px;height:22px}
.doc-list h3{font-size:1.02rem;margin:1px 0 4px}
.doc-list p{margin:0;color:var(--slate);font-size:.93rem}
.doc-check{margin-left:auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);color:transparent;flex:none;transition:all .4s var(--ease-spring)}
.doc-check svg{width:14px;height:14px;stroke-width:2.8}
.doc-list li.is-in .doc-check{background:var(--green);border-color:var(--green);color:#fff;transition-delay:calc(var(--d,0ms) + 350ms)}
.proc{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.proc .sec-head{position:sticky;top:calc(var(--hdr) + 80px)}
.eta{display:flex;gap:14px;margin-top:24px;padding:18px;border:1px solid var(--ink-3);border-radius:var(--r);background:var(--ink-2)}
.eta>svg{width:26px;height:26px;color:var(--orange);flex:none}
.eta div{display:flex;flex-direction:column}
.eta small{color:#8797C0;font-size:.82rem}
.eta strong{color:#fff;font-size:1.05rem;margin:2px 0 6px}
.eta span{color:#8797C0;font-size:.84rem}
.steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:8px}
.steps-line{position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:var(--ink-3)}
.steps-line span{display:block;width:100%;height:var(--p,0%);background:var(--orange);transition:height .15s linear}
.step{position:relative;z-index:1;display:flex;gap:20px;align-items:flex-start;padding:10px 0}
.step-n{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--ink-2);border:1.5px solid var(--ink-3);font-family:var(--f-display);font-weight:700;color:#fff;flex:none;transition:background .4s,border-color .4s}
.step.is-lit .step-n{background:var(--orange-d);border-color:var(--orange)}
.step h3{margin:6px 0 4px;font-size:1.1rem}
.step p{margin:0;color:#A9B8DB;font-size:.96rem}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:20px}
.plans-1{grid-template-columns:minmax(0,440px)}
.plan{position:relative;display:flex;flex-direction:column;padding:32px;border:1.5px solid var(--line);border-radius:var(--r-xl);background:#fff;transition:transform .3s var(--ease),box-shadow .3s}
.plan:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.plan-hi{border-color:var(--ink);background:var(--ink);color:#fff}
.plan-flag{position:absolute;top:-13px;left:32px;padding:4px 12px;border-radius:99px;background:var(--orange-d);color:#fff;font-size:.8rem;font-weight:650}
.plan-name{font-family:var(--f-display);font-weight:650;font-size:1.2rem;margin:0 0 10px}
.plan-price{font-family:var(--f-display);font-size:2.9rem;font-weight:720;letter-spacing:-.04em;line-height:1;margin:0 0 6px;font-variant-numeric:tabular-nums}
.plan-fine{font-size:.84rem;color:var(--muted);margin:0 0 14px}
.plan-hi .plan-fine{color:#8797C0}
.plan-sum{color:var(--slate);margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.plan-hi .plan-sum{color:#C5D0EC;border-color:var(--ink-3)}
.plan ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem}
.plan li svg{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--green-tint);color:var(--green);stroke-width:2.6;flex:none;margin-top:1px}
.plan-hi li svg{background:rgba(254,109,1,.2);color:#8DB3EE}
.plan .btn{margin-top:auto}
.plan-hi .btn-ghost{--bg:transparent;--fg:#fff;--bd:var(--ink-3)}
.plans-note{display:flex;gap:8px;align-items:center;justify-content:center;margin:26px 0 0;color:var(--muted);font-size:.9rem;text-align:center}
.plans-note svg{width:16px;height:16px;flex:none}
.mbar{display:none}

/* ---------- Pricing page ---------- */
.ptable{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.ptable-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:20px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.ptable-row:last-child{border-bottom:0}
.ptable-row:not(.ptable-head):hover{background:#F7FAFF}
.ptable-head{background:var(--mist);font-size:.85rem;font-weight:650;color:var(--muted);padding-block:12px}
.ptable-svc a{font-weight:650;text-decoration:none}
.ptable-svc a:hover{color:var(--orange-d)}
.ptable-svc small,.ptable-price small{display:block;color:var(--muted);font-size:.83rem;line-height:1.4;margin-top:2px}
.ptable-price strong{font-size:1.12rem;font-variant-numeric:tabular-nums}
.ptable-act{display:flex;gap:8px}
.note-card{margin-top:28px;padding:26px 28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--mist)}
.note-card h2{font-size:1.3rem}
.note-card ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.note-card li{display:flex;gap:10px;color:var(--slate)}
.note-card li svg{color:var(--orange-d);margin-top:4px}
.note-card p{margin:0}

/* ---------- About ---------- */
.about-hero{padding:clamp(28px,4vw,44px) 0 clamp(48px,6vw,80px);background:linear-gradient(180deg,#fff,var(--mist))}
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.about-collage{position:relative;min-height:440px}
.about-img{position:absolute;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-3)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img.a1{left:0;top:0;width:76%;height:74%}
.about-img.a2{right:0;bottom:0;width:52%;height:48%;border:6px solid #fff}
.seal-about{position:absolute;left:8%;bottom:4%;width:118px;height:118px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-row>div{display:flex;flex-direction:column;padding:10px 0;border-left:2px solid var(--orange);padding-left:18px}
.stat-row strong{font-family:var(--f-display);font-size:clamp(2rem,3vw,2.6rem);color:#fff;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat-row>div>span{color:#A9B8DB}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillar{padding:28px;border:1px solid var(--line);border-radius:var(--r-lg)}
.pillar-n{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--orange-tint);color:var(--orange-d);margin-bottom:18px}
.pillar-n svg{width:24px;height:24px}
.pillar p{color:var(--slate);margin:0}
.office{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}
.office>div>p{color:var(--slate);font-size:1.05rem}
.office .hero-ctas{margin:20px 0}
.map{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--mist-2)}
.map iframe{width:100%;height:100%;border:0;display:block}
.map-tall{aspect-ratio:auto;height:360px}

/* ---------- Contact ---------- */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
.contact-card{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;text-decoration:none;transition:border-color .25s,transform .3s var(--ease),box-shadow .3s}
.contact-card:hover{border-color:var(--orange-line);transform:translateY(-3px);box-shadow:var(--sh-2)}
.contact-card>span:last-child{color:var(--slate);font-size:.93rem;overflow-wrap:anywhere}
.contact-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--orange-tint);color:var(--orange-d);margin-bottom:10px}
.contact-ic svg{width:23px;height:23px}
.contact-ic.is-wa{background:#E7F9EE;color:var(--wa-d)}
.contact-grid{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:24px;align-items:start}
.contact-grid .lead-card{border:1px solid var(--line);box-shadow:var(--sh-2)}
.contact-side address{display:flex;gap:12px;font-style:normal;color:var(--slate);margin-top:16px}
.contact-side address svg{color:var(--orange-d);margin-top:3px}

/* ---------- FAQ page ---------- */
.faq-page{display:grid;grid-template-columns:220px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.faq-nav{position:sticky;top:calc(var(--hdr) + 24px);display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line)}
.faq-nav a{padding:8px 16px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--slate);font-weight:550;font-size:.95rem}
.faq-nav a:hover,.faq-nav a.is-active{color:var(--orange-d);border-color:var(--orange-d)}
.faq-group{margin-bottom:40px}
.faq-group h2{font-size:1.4rem;margin-bottom:14px}

/* ---------- Careers ---------- */
.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.job{padding:26px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease)}
.job:hover{border-color:var(--line-2);box-shadow:var(--sh-2);transform:translateY(-3px)}
.job-top{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:14px}
.job-badge{padding:3px 10px;border-radius:99px;background:var(--orange-tint);color:var(--orange-d);font-weight:650;font-size:.8rem}
.job-meta{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.87rem}
.job-meta svg{width:15px;height:15px}
.job p{color:var(--slate);font-size:.96rem}
.job-actions{display:flex;gap:8px;margin-top:16px}
.job-detail h2{margin:4px 0 10px}
.job-detail h3{margin:22px 0 10px;font-size:1.02rem}
.job-detail>p{color:var(--slate)}
.job-detail .btn{margin-top:26px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{padding:5px 11px;border-radius:99px;background:var(--mist);font-size:.87rem;font-weight:550;color:var(--slate)}
.tick-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tick-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.tick-list li svg{width:18px;height:18px;color:var(--green);margin-top:3px;stroke-width:2.4;flex:none}

/* ---------- Flow pages (get started / checkout / account) ---------- */
.flow-page{padding:clamp(24px,3vw,40px) 0 clamp(56px,7vw,96px);background:linear-gradient(180deg,#fff,var(--mist) 60%);min-height:70vh}
.flow-grid{display:grid;grid-template-columns:1fr minmax(0,370px);gap:clamp(24px,4vw,56px);align-items:start}
.flow-main h1{font-size:clamp(2rem,3.4vw,2.8rem)}
.flow-main>.form,.flow-main .wizard,[data-co-main]>.form{padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-2)}
.stepper{list-style:none;margin:0 0 20px;padding:0;display:flex;gap:6px}
.stepper li{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:.92rem;color:var(--muted);transition:all .35s var(--ease)}
.stepper li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--mist);font-size:.85rem;flex:none;transition:all .35s var(--ease)}
.stepper li span svg{width:14px;height:14px;stroke-width:2.8}
.stepper li.is-active{border-color:var(--ink);color:var(--ink)}
.stepper li.is-active span{background:var(--ink);color:#fff}
.stepper li.is-done{color:var(--green);border-color:#BFE5CE;background:var(--green-tint)}
.stepper li.is-done span{background:var(--green);color:#fff}
.wz-step{border:0;margin:0;padding:0;min-width:0;display:none;flex-wrap:wrap;gap:14px 12px}
.wz-step.is-active{display:flex;animation:fadeUp .45s var(--ease)}
.wz-step>*{flex:1 1 100%}
.wz-step.back{animation:fadeDown .45s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.wz-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.combo{position:relative}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3);max-height:300px;overflow:auto}
.combo-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:.96rem}
.combo-list li small{color:var(--muted)}
.combo-list li:hover,.combo-list li.is-active{background:var(--mist)}
.combo-list .combo-cat{padding:8px 12px 4px;font-size:.78rem;font-weight:650;color:var(--muted);cursor:default;background:none!important}
.plan-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.plan-opt{position:relative;display:block;cursor:pointer}
.plan-opt input{position:absolute;opacity:0}
.plan-opt>span{display:flex;flex-direction:column;gap:2px;padding:16px;border:1.5px solid var(--line);border-radius:14px;transition:all .25s}
.plan-opt strong{font-size:1rem}
.plan-opt b{font-family:var(--f-display);font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-opt small{color:var(--muted);font-size:.84rem}
.plan-opt input:checked+span{border-color:var(--orange-d);background:var(--orange-tint);box-shadow:0 0 0 3px var(--orange-tint)}
.plan-opt input:focus-visible+span{outline:2.5px solid var(--orange-d);outline-offset:2px}
.review-list-dl{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.review-list-dl>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.96rem}
.review-list-dl>div:last-child{border-bottom:0}
.review-list-dl dt{color:var(--muted)}
.review-list-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.wz-done{text-align:center;padding:10px 0;animation:fadeUp .5s var(--ease)}
.wz-done h2{margin:16px 0 8px}
.wz-done>p{color:var(--slate)}
.wz-done .hero-ctas{justify-content:center;margin:20px 0 14px}
.next-steps{list-style:none;counter-reset:n;margin:22px auto 0;padding:0;max-width:440px;text-align:left;display:grid;gap:10px}
.next-steps li{counter-increment:n;display:flex;gap:12px;align-items:baseline;color:var(--slate);font-size:.96rem}
.next-steps li::before{content:counter(n);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700;flex:none;transform:translateY(5px)}
.flow-side{position:sticky;top:calc(var(--hdr) + 20px);display:grid;gap:14px}
.sum-card{padding:24px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-2)}
.sum-t{font-size:.86rem;font-weight:650;color:var(--muted);margin:0 0 12px}
.sum-empty{color:var(--slate);font-size:.95rem;margin:0}
.sum-svc{font-family:var(--f-display);font-size:1.35rem;font-weight:680;letter-spacing:-.02em;margin:0}
.sum-cat{color:var(--orange-d);font-weight:600;font-size:.9rem;margin:2px 0 14px}
.sum-card dl{margin:0 0 14px;display:grid;gap:8px}
.sum-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:8px;font-size:.92rem}
.sum-card dt{color:var(--muted)}
.sum-card dd{margin:0;font-weight:550}
.sum-inc{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;font-size:.92rem;color:var(--slate)}
.sum-inc li{display:flex;gap:8px}
.sum-inc svg{width:16px;height:16px;color:var(--green);margin-top:4px;stroke-width:2.4;flex:none}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px dashed var(--line-2)}
.sum-total strong{font-family:var(--f-display);font-size:1.7rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sum-fine{font-size:.82rem;color:var(--muted);margin:4px 0 12px}
.assure{padding:16px 18px;border-radius:var(--r);background:var(--mist);font-size:.9rem;color:var(--slate)}
.assure p{display:flex;gap:8px;align-items:flex-start;margin:0 0 6px}
.assure p:last-child{margin:0}
.assure svg{color:var(--orange-d);margin-top:3px}
.pay-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pay-opt{position:relative;cursor:pointer}
.pay-opt input{position:absolute;opacity:0}
.pay-opt>span{display:flex;align-items:center;gap:10px;padding:14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;font-size:.95rem;transition:all .2s}
.pay-opt>span svg{color:var(--slate)}
.pay-opt input:checked+span{border-color:var(--orange-d);background:var(--orange-tint)}
.pay-opt input:checked+span svg{color:var(--orange-d)}
.pay-opt input:focus-visible+span{outline:2.5px solid var(--orange-d);outline-offset:2px}
.pay-info{display:flex;gap:12px;padding:14px 16px;border-radius:12px;background:#FFF8E6;border:1px solid #F5DDA0;font-size:.92rem;color:#5B4A1B}
.pay-info svg{color:#B7791F;margin-top:3px}
.pay-info p{margin:0}
.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.dash-head h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:0}
.dash-head p{margin:4px 0 0}
.dash-actions{display:flex;gap:8px}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.dash-stats>div{padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.dash-stats strong{display:block;font-family:var(--f-display);font-size:1.8rem;letter-spacing:-.03em}
.dash-stats span{color:var(--muted);font-size:.9rem}
.dash-list{display:grid;gap:12px}
.dash-note{display:flex;gap:10px;margin-top:20px;color:var(--muted);font-size:.9rem}
.dash-note svg{margin-top:3px;flex:none}

/* ---------- Legal / 404 ---------- */
.legal{max-width:760px}
.legal h2{font-size:1.35rem;margin-top:32px}
.legal p{color:var(--slate)}
.legal-note{display:flex;gap:10px;margin-top:36px;padding:16px;border-radius:var(--r);background:var(--mist)}
.legal-note svg{color:var(--orange-d);margin-top:4px;flex:none}
.nf{padding:clamp(64px,10vw,120px) 0;text-align:center}
.nf-inner{display:flex;flex-direction:column;align-items:center}
.seal-nf{width:140px;height:140px;margin-bottom:26px}
.nf .hero-ctas{justify-content:center}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#A9B8DB;padding:clamp(48px,6vw,80px) 0 28px;font-size:.94rem}
.footer-top{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(32px,5vw,64px)}
.footer-logo{display:inline-block;margin-bottom:18px}
.footer-logo .brand-logo{height:46px}
.footer-brand>p{margin-bottom:18px}
.footer-contact{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.footer-contact li{display:flex;gap:10px;align-items:flex-start}
.footer-contact svg{color:var(--orange);margin-top:3px}
.footer-contact a{color:#E4EBFA;text-decoration:none}
.footer-contact a:hover{color:#fff;text-decoration:underline}
.socials{display:flex;gap:8px}
.socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;border:1px solid var(--ink-3);color:#E4EBFA;transition:all .25s}
.socials a:hover{background:var(--orange-d);border-color:var(--orange-d);transform:translateY(-2px)}
.socials svg{width:18px;height:18px}
.footer-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.footer-h{color:#fff;font-weight:650;margin:0 0 14px;font-size:.95rem}
.footer-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer-cols a{text-decoration:none;color:#A9B8DB;transition:color .2s}
.footer-cols a:hover{color:#fff}
.footer-news{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin:clamp(36px,5vw,56px) 0 0;padding:24px 26px;border:1px solid var(--ink-3);border-radius:var(--r-lg);background:var(--ink-2)}
.footer-news-t{color:#fff;font-weight:650;font-size:1.08rem;margin:0 0 2px}
.footer-news p{margin:0}
.news-form{position:relative;display:flex;gap:8px;flex:1;max-width:440px}
.news-form input{flex:1;min-width:0;height:48px;padding:0 14px;border:1.5px solid var(--ink-3);border-radius:11px;background:var(--ink);color:#fff}
.news-form input:focus{outline:0;border-color:var(--orange)}
.news-form input::placeholder{color:#7D8DB8}
.news-msg{position:absolute;left:0;top:calc(100% + 6px);font-size:.85rem;margin:0}
.news-msg.ok{color:#8FE3AF}.news-msg.bad{color:#FDA29B}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid var(--ink-3);font-size:.86rem}
.footer-bottom p{margin:0}
.footer-bottom nav{display:flex;gap:18px}
.footer-bottom a{color:#A9B8DB;text-decoration:none}
.footer-bottom a:hover{color:#fff}

/* ---------- Floating: WhatsApp + assistant ---------- */
.float-stack{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.float-btn{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:0;box-shadow:0 12px 28px -8px rgba(8,18,51,.45);transition:transform .3s var(--ease-spring),box-shadow .3s}
.float-btn:hover{transform:scale(1.07)}
.float-wa{background:var(--wa);color:#fff;text-decoration:none}
.float-wa>svg{width:30px;height:30px;position:relative;z-index:1}
.float-ping{position:absolute;inset:0;border-radius:50%;background:var(--wa);animation:waPing 2.4s var(--ease) infinite}
@keyframes waPing{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.7);opacity:0}}
.float-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(8px,-50%);padding:7px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:.86rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}
.float-wa:hover .float-label,.float-wa:focus-visible .float-label{opacity:1;transform:translate(0,-50%)}
.float-bot{background:var(--ink);color:#fff}
.float-bot svg{width:26px;height:26px}
.float-bot-x{position:absolute;opacity:0;transform:rotate(-90deg);transition:all .3s var(--ease)}
.float-bot-ic{transition:all .3s var(--ease)}
.float-bot[aria-expanded="true"] .float-bot-ic{opacity:0;transform:rotate(90deg)}
.float-bot[aria-expanded="true"] .float-bot-x{opacity:1;transform:none}
.float-badge{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--orange);color:#fff;font-size:.72rem;font-weight:700;border:2px solid #fff;animation:pop .5s var(--ease-spring)}
.float-badge.is-hidden{display:none}
@keyframes pop{0%{transform:scale(0)}100%{transform:scale(1)}}
.float-hello{position:relative;max-width:270px;padding:14px 34px 14px 16px;background:#fff;border:1px solid var(--line);border-radius:16px 16px 4px 16px;box-shadow:var(--sh-3);font-size:.92rem;animation:helloIn .5s var(--ease-spring)}
.float-hello p{margin:0;color:var(--slate)}
.float-hello strong{color:var(--ink)}
.float-hello-x{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:var(--mist);color:var(--slate)}
.float-hello-x svg{width:14px;height:14px}
@keyframes helloIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}
.bot{position:fixed;right:20px;bottom:92px;z-index:85;display:flex;flex-direction:column;width:min(390px,calc(100vw - 24px));height:min(600px,calc(100vh - 120px));background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -20px rgba(8,18,51,.45);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .3s,transform .35s var(--ease-spring),visibility .3s}
.bot.is-open{opacity:1;visibility:visible;transform:none}
.bot-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--ink);color:#fff}
.bot-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;flex:none}
.bot-avatar img{width:26px;height:26px}
.bot-head>div{flex:1;min-width:0}
.bot-name{margin:0;font-weight:650}
.bot-status{margin:0;font-size:.8rem;color:#A9B8DB;display:flex;align-items:center;gap:6px}
.bot-status span{width:7px;height:7px;border-radius:50%;background:#34D17A}
.bot-wa,.bot-close{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:0;background:var(--ink-2);color:#fff}
.bot-wa{color:var(--wa)}
.bot-wa svg,.bot-close svg{width:19px;height:19px}
.bot-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--mist),#fff 30%);scroll-behavior:smooth}
.msg{max-width:86%;padding:10px 14px;border-radius:16px;font-size:.94rem;line-height:1.5;white-space:pre-line;animation:msgIn .35s var(--ease-spring) both;overflow-wrap:anywhere}
.msg-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}
.msg-user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:5px}
.msg a{color:var(--orange-d);font-weight:600}
@keyframes msgIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.typing{align-self:flex-start;display:flex;gap:4px;padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;border-bottom-left-radius:5px}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--line-2);animation:tdot 1.1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{transform:translateY(0);background:var(--line-2)}30%{transform:translateY(-5px);background:var(--orange)}}
.chips-row{display:flex;flex-wrap:wrap;gap:6px;animation:msgIn .4s var(--ease) both}
.chip{padding:7px 12px;border:1.5px solid var(--line);border-radius:99px;background:#fff;font-size:.86rem;font-weight:600;color:var(--ink);transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--orange-d);color:var(--orange-d)}
.chip-primary{background:var(--orange-d);border-color:var(--orange-d);color:#fff}
.chip-primary:hover{background:var(--orange-dd);color:#fff}
.chip-wa{background:var(--wa-d);border-color:var(--wa-d);color:#fff}
.chip-wa:hover{color:#fff;background:#0E7A40}
.chip-wa svg{width:15px;height:15px}
.svc-mini{align-self:flex-start;width:86%;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;animation:msgIn .4s var(--ease-spring) both}
.svc-mini strong{display:block;font-size:.98rem}
.svc-mini p{margin:4px 0 10px;font-size:.86rem;color:var(--slate)}
.svc-mini-meta{display:flex;gap:12px;font-size:.82rem;color:var(--muted);margin-bottom:10px}
.svc-mini-meta b{color:var(--ink)}
.svc-mini .chips-row{animation:none}
.bot-lead{align-self:stretch;display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;animation:msgIn .4s var(--ease-spring) both}
.bot-lead input{height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;font-size:.93rem}
.bot-lead input:focus{outline:0;border-color:var(--orange-d)}
.bot-lead .is-bad{border-color:#D92D20}
.bot-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}
.bot-input input{flex:1;min-width:0;height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;font-size:.95rem}
.bot-input input:focus{outline:0;border-color:var(--orange-d)}
.bot-input button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:var(--orange-d);color:#fff;transition:transform .2s}
.bot-input button:hover{transform:scale(1.05)}
.bot-input svg{width:19px;height:19px}

/* ---------- Modals ---------- */
.modal,.palette{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.modal.is-open,.palette.is-open{opacity:1;visibility:visible}
.modal-scrim{position:absolute;inset:0;background:rgba(8,18,51,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-card{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:var(--r-xl);box-shadow:0 40px 100px -30px rgba(0,0,0,.5);transform:translateY(24px) scale(.97);transition:transform .45s var(--ease-spring)}
.modal.is-open .modal-card{transform:none}
.modal-card-narrow{display:block;width:min(540px,100%);padding:24px}
.modal-x{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--mist);transition:background .2s,transform .3s var(--ease)}
.modal-x:hover{background:var(--mist-2);transform:rotate(90deg)}
.modal-x svg{width:18px;height:18px}
.modal-side{padding:26px 24px;background:var(--ink);color:#C5D0EC;position:relative;overflow:hidden}
.modal-side::after{content:"";position:absolute;right:-120px;bottom:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(254,109,1,.3),transparent)}
.modal-kicker{display:inline-block;padding:4px 10px;border-radius:99px;background:var(--orange-d);color:#fff;font-size:.8rem;font-weight:650;margin-bottom:16px}
.modal-side h2{color:#fff;font-size:1.5rem}
.modal-side .tick-list{margin:22px 0 26px}
.modal-side .tick-list li svg{color:#8DB3EE}
.modal-wa{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;font-size:.93rem}
.modal-wa svg{width:20px;height:20px;color:var(--wa)}
.modal-wa:hover{text-decoration:underline}
.modal-form{padding:26px 24px 20px}
.modal-sheet .modal-card{max-height:calc(100vh - 40px)}
.palette{place-items:start center;padding-top:12vh}
.palette-card{position:relative;width:min(640px,100%);background:#fff;border-radius:18px;box-shadow:0 40px 100px -30px rgba(0,0,0,.5);overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform .35s var(--ease-spring)}
.palette.is-open .palette-card{transform:none}
.palette-input{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}
.palette-input>svg{width:22px;height:22px;color:var(--muted)}
.palette-input input{flex:1;height:62px;border:0;outline:0;font-size:1.08rem;background:none;min-width:0}
.palette-results{list-style:none;margin:0;padding:8px;max-height:min(420px,55vh);overflow:auto}
.palette-results .pr-cat{padding:10px 12px 4px;font-size:.78rem;font-weight:650;color:var(--muted)}
.palette-results a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;text-decoration:none}
.palette-results a .pr-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--mist);color:var(--slate);flex:none}
.palette-results a .pr-ic svg{width:18px;height:18px}
.palette-results a span.pr-t{flex:1;display:flex;flex-direction:column;min-width:0}
.palette-results a strong{font-weight:600;font-size:.97rem}
.palette-results a small{color:var(--muted);font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette-results a em{font-style:normal;font-size:.85rem;font-weight:650;color:var(--ink);white-space:nowrap}
.palette-results a.is-active{background:var(--orange-tint)}
.palette-results a.is-active .pr-ic{background:var(--orange-d);color:#fff}
.palette-results mark{background:none;color:var(--orange-d)}
.palette-empty{padding:28px 16px;text-align:center;color:var(--slate)}
.palette-foot{display:flex;gap:18px;padding:10px 18px;border-top:1px solid var(--line);background:var(--mist);font-size:.8rem;color:var(--muted)}
.palette-foot span{display:inline-flex;gap:4px;align-items:center}

/* Toasts */
.toasts{position:fixed;left:50%;bottom:24px;z-index:120;display:grid;gap:8px;transform:translateX(-50%);pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;background:var(--ink);color:#fff;font-weight:550;font-size:.94rem;box-shadow:var(--sh-3);animation:toastIn .45s var(--ease-spring) both;pointer-events:auto}
.toast svg{width:20px;height:20px;color:#8FE3AF}
.toast.bad svg{color:#FDA29B}
.toast.out{animation:toastOut .3s var(--ease) forwards}
@keyframes toastIn{from{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(10px)}}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1180px){
  .search-btn span,.search-btn kbd{display:none}
  .search-btn{width:42px;padding:0;justify-content:center}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .footer-cols{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  :root{--hdr:66px}
  .nav,.hide-sm,.mega{display:none}
  .burger{display:inline-grid}
  .brand .brand-logo{height:38px}
  .topbar-contact{display:none}
  .hero-inner,.why,.reviews,.faq-wrap,.consult,.svc-hero-grid,.overview,.docs,.proc,.cat-hero-grid,.about-hero-grid,.office,.contact-grid,.flow-grid{grid-template-columns:1fr}
  .hero-visual{min-height:440px;max-width:560px;width:100%;margin-inline:auto}
  .faq-wrap .sec-head,.docs .sec-head,.proc .sec-head{position:static}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .benefit-grid,.pillars{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:1fr;gap:4px}
  .flow::before{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto;background:linear-gradient(180deg,var(--orange) var(--flow,0%),var(--ink-3) var(--flow,0%))}
  .flow-light::before{background:linear-gradient(180deg,var(--orange) var(--flow,0%),var(--line) var(--flow,0%))}
  .flow-step{display:grid;grid-template-columns:56px 1fr;gap:0 18px;padding:0 0 18px}
  .flow-step .flow-n{grid-row:span 2;margin:0}
  .flow-step h3{margin-top:8px}
  .svc-hero-form{position:static;max-width:560px}
  .flow-side{position:static}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .faq-page{grid-template-columns:1fr}
  .faq-nav{position:static;flex-direction:row;flex-wrap:wrap;border:0;gap:6px}
  .faq-nav a{border:1.5px solid var(--line);border-radius:99px;margin:0;padding:6px 14px}
  .cat-strip{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr}
  .about-collage{min-height:380px}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px -15px rgba(8,18,51,.3);transform:translateY(110%);transition:transform .35s var(--ease)}
  .mbar.is-on{transform:none}
  .mbar>div{flex:1;display:flex;flex-direction:column;line-height:1.1}
  .mbar small{font-size:.75rem;color:var(--muted)}
  .mbar strong{font-size:1.2rem;font-variant-numeric:tabular-nums}
  .page-service .float-stack{bottom:84px}
  .page-service .bot{bottom:156px}
  .page-service.mbar-on .toasts{bottom:92px}
}
@media (max-width:760px){
  body{font-size:16px}
  .topbar-inner{font-size:.8rem}
  .hero{padding-top:28px}
  .hero h1{font-size:clamp(2.3rem,8vw,2.7rem)}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:18px 0}
  .hero-stats>div{padding:10px 8px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.10)}
  .hero-stats>div:nth-last-child(-n+2){border-bottom:0}
  .hero-search{flex-wrap:nowrap}
  .hero-search .btn{padding-inline:14px}
  .cat-grid,.svc-grid,.benefit-grid,.pillars,.jobs,.cat-strip{grid-template-columns:1fr}
  .cat-tile-lg{grid-column:auto;grid-row:auto}
  .why-list{grid-template-columns:1fr}
  .why-media{aspect-ratio:4/3}
  .reviews-stats{grid-template-columns:repeat(3,1fr)}
  .contact-rows{grid-template-columns:1fr}
  .sec-head-row{flex-direction:column;align-items:flex-start}
  .cta-band-inner{flex-direction:column;align-items:flex-start;gap:18px}
  .seal-cta{width:80px;height:80px}
  .plans{grid-template-columns:1fr}
  .plan{padding:26px}
  .ptable-head{display:none}
  .ptable-row{grid-template-columns:1fr 1fr;gap:12px 16px;padding:18px}
  .ptable-svc,.ptable-act{grid-column:1/-1}
  .ptable-price::before{content:attr(data-label);display:block;font-size:.78rem;color:var(--muted);font-weight:600}
  .ptable-act .btn{flex:1}
  .field-half{flex-basis:100%}
  .modal{padding:0;place-items:end center}
  .modal-card{grid-template-columns:1fr;max-height:92vh;border-radius:24px 24px 0 0;transform:translateY(100%)}
  .modal-side{padding:28px 24px 22px}
  .modal-side h2{font-size:1.5rem}
  .modal-side .tick-list{margin:14px 0 16px}
  .modal-side>p:not(.modal-kicker){display:none}
  .modal-form{padding:18px 16px 22px}
  .modal-card-narrow{padding:26px 20px 30px}
  .palette{padding:0;place-items:start stretch}
  .palette-card{border-radius:0 0 18px 18px;width:100%}
  .palette-foot{display:none}
  .contact-cards{grid-template-columns:1fr 1fr}
  .dash-stats{grid-template-columns:1fr 1fr 1fr}
      .review-list-dl>div,.glance>div{grid-template-columns:1fr;gap:2px}
  .stepper li{font-size:0;justify-content:center}
  .stepper li span{font-size:.85rem}
  .flow-main>.form,.flow-main .wizard,[data-co-main]>.form{padding:20px}
  .footer-cols{grid-template-columns:repeat(2,1fr)}
  .footer-news{padding:20px}
  .news-form{max-width:none;flex-basis:100%}
  .footer-logo .brand-logo{height:34px}
  .float-stack{right:14px;bottom:14px}
  .float-btn{width:54px;height:54px}
  .bot{right:12px;left:12px;width:auto;bottom:82px;height:min(560px,calc(100vh - 110px))}
  .float-hello{max-width:230px}
  .about-collage{min-height:320px}
  .seal-about{width:88px;height:88px}
  .map-tall{height:280px}
  .subnav-cta{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-load],.js [data-reveal]{opacity:1!important;transform:none!important}
  .marquee-track{animation:none}
  .doc-card li{opacity:1;transform:none}
}

/* ---------- Additions after visual review ---------- */
.cat-cta{grid-column:span 2;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:26px;border-radius:var(--r-lg);background:var(--ink);color:#C5D0EC;position:relative;overflow:hidden}
.cat-cta::after{content:"";position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(254,109,1,.35),transparent)}
.cat-cta h3{color:#fff;font-size:1.4rem}
.cat-cta p{margin:0;max-width:30em}
.cat-cta-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}
.btn-ghost-dark{--bg:transparent;--fg:#fff;--bd:var(--ink-3)}
.btn-ghost-dark:hover{--bd:#fff}
.site-footer{background:#021436}
.footer-news{background:#05205E}
.news-form input{background:#021436}
@media (max-width:760px){.cat-cta{grid-column:auto}}

/* ==========================================================================
   PART 2 — NewStarts PREMIUM VISUAL LAYER
   One design language: navy + royal/electric blue gradients + soft-blue
   surfaces. Every card family shares the same surface, radius, shadow and
   hover; same-series cards are locked to equal sizes with grid-auto-rows.
   ========================================================================== */

/* ---------- Base & typography ---------- */
::selection{background:#CFE0FF;color:var(--navy-900)}
body{color:var(--text);background:#fff}
h1,h2,h3,h4{color:var(--navy-900);font-weight:700}
h1{font-size:clamp(2.5rem,5vw,4.1rem);letter-spacing:-.04em;line-height:1.02}
h2{font-size:clamp(1.95rem,3.2vw,2.75rem);letter-spacing:-.03em;line-height:1.08}
h3{font-size:1.14rem;letter-spacing:-.015em}
.sec-head{margin-bottom:clamp(32px,4.5vw,52px)}
.sec-head>p,.sec-head-row p{font-size:1.08rem;line-height:1.65;color:var(--slate)}
.grad-text,.type-word{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
:focus-visible{outline-color:var(--electric)}

/* ---------- Buttons (one system) ---------- */
.btn{border-radius:14px;font-weight:650;letter-spacing:-.005em;transition:background-position .6s var(--ease-out),border-color .25s,color .25s,transform .3s var(--ease-out),box-shadow .3s var(--ease-out),background-color .25s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{--fg:#fff;--bd:transparent;background-color:var(--orange-d);background-image:linear-gradient(110deg,#E85A00 0%,#FF8A2B 45%,#E85A00 100%);background-size:220% 100%;background-position:0% 0;border-color:transparent;box-shadow:0 10px 26px -12px rgba(254,109,1,.75),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:hover{--bd:transparent;background-position:100% 0;box-shadow:0 18px 38px -14px rgba(254,109,1,.85),0 0 0 4px rgba(254,109,1,.14),inset 0 1px 0 rgba(255,255,255,.22)}
/* arrow that slides on hover (sits after the label via flex order) */
.btn-primary:not(.btn-sm):not(.icon-only)::before,.btn-ghost.btn-lg::before,.btn-ghost-dark::before{content:"";order:3;width:1.05em;height:1.05em;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .35s var(--ease-out)}
.btn:hover::before{transform:translateX(4px)}
.btn.is-loading::before{display:none}
.btn-ghost{--bg:#fff;--fg:var(--royal);--bd:#C9D8F6}
.btn-ghost:hover{--bg:var(--soft);--bd:var(--electric);--fg:var(--royal-d);box-shadow:0 0 0 4px rgba(254,109,1,.10),0 12px 26px -16px rgba(254,109,1,.5)}
.btn-ghost-dark,.on-dark .btn-ghost,.hero .btn-ghost,.svc-hero .btn-ghost,.cat-hero .btn-ghost,.page-hero .btn-ghost,.about-hero .btn-ghost,.section-ink .btn-ghost,.plan-hi .btn-ghost,.cta-band .btn-ghost,.consult-sec .btn-ghost{--bg:rgba(255,255,255,.04);--fg:#fff;--bd:rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.btn-ghost-dark:hover,.hero .btn-ghost:hover,.svc-hero .btn-ghost:hover,.cat-hero .btn-ghost:hover,.page-hero .btn-ghost:hover,.about-hero .btn-ghost:hover,.section-ink .btn-ghost:hover,.plan-hi .btn-ghost:hover,.cta-band .btn-ghost:hover,.consult-sec .btn-ghost:hover{--bg:rgba(255,255,255,.10);--bd:rgba(141,179,238,.7);--fg:#fff;box-shadow:0 0 0 4px rgba(254,109,1,.16)}
.btn-wa{box-shadow:0 10px 24px -14px rgba(18,140,75,.7)}
.btn-dark{--bg:var(--navy-900);--bd:var(--navy-900)}
.link-arrow{color:var(--royal)}
.icon-btn{border-radius:12px;border-color:var(--line)}
.icon-btn:hover{border-color:var(--electric);color:var(--royal)}

/* ---------- Top bar ---------- */
.topbar{background:linear-gradient(90deg,#020E2A 0%,#0B1A52 50%,#020E2A 100%);color:#C5D0EC;border-bottom:1px solid rgba(255,255,255,.06)}
.topbar a{color:#fff}
.topbar-dot{background:var(--cyan);animation:pingC 2s infinite}
@keyframes pingC{0%{box-shadow:0 0 0 0 rgba(255,138,43,.6)}80%,100%{box-shadow:0 0 0 8px rgba(255,138,43,0)}}

/* ---------- Header: navy glass, connected to the dark heroes ---------- */
.site-header{background:#031640;border-bottom:1px solid rgba(255,255,255,.06);transition:background .35s,box-shadow .35s,border-color .35s}
.site-header.is-scrolled{background:rgba(6,12,38,.78);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-color:rgba(141,179,238,.14);box-shadow:0 14px 40px -24px rgba(0,0,0,.7)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(254,109,1,.55),rgba(255,138,43,.4),transparent);opacity:0;transition:opacity .35s}
.site-header.is-scrolled::after{opacity:1}
.brand-logo{height:46px}
.nav-link{color:rgba(228,235,250,.78);font-weight:560;position:relative;border-radius:10px}
.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:var(--g-primary);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.nav-link:hover,.nav-link[aria-expanded="true"],.nav-link[aria-current]{color:#fff;background:rgba(255,255,255,.06)}
.nav-link:hover::after,.nav-link[aria-current]::after,.nav-link[aria-expanded="true"]::after{transform:scaleX(1)}
.search-btn{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:rgba(228,235,250,.7)}
.search-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(141,179,238,.45);color:#fff}
.search-btn kbd{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#C5D0EC}
.site-header .icon-btn{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#fff}
.site-header .icon-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(141,179,238,.5)}
/* dropdowns */
.drop{border-radius:20px;border-color:var(--line);box-shadow:0 30px 70px -30px rgba(8,18,51,.55)}
.drop::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:2px;background:var(--g-primary)}
.drop a{transition:background .2s,transform .25s var(--ease-out)}
.drop a:hover{background:var(--soft);transform:translateX(3px)}
.drop a>svg{box-sizing:content-box;padding:8px;border-radius:10px;background:var(--g-icon);color:var(--royal);margin-top:0}
.mega{border-top:0;border-radius:0 0 24px 24px;box-shadow:0 40px 80px -40px rgba(8,18,51,.65);overflow:hidden}
.mega::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--electric),var(--cyan),transparent)}
.mega-tab:hover{background:var(--soft)}
.mega-tab-ic{background:var(--g-icon);color:var(--royal)}
.mega-tab.is-active{background:linear-gradient(90deg,var(--soft-2),rgba(232,240,255,.3))}
.mega-tab.is-active .mega-tab-ic{background:var(--g-primary);color:#fff;box-shadow:0 8px 18px -8px rgba(254,109,1,.8)}
.mega-list a:hover{background:var(--soft);color:var(--royal)}
.mega-foot{background:linear-gradient(90deg,var(--soft),#fff)}

/* ---------- Section rhythm ---------- */
.section{position:relative;padding-block:clamp(72px,9vw,120px)}
.section-tight{padding-block:clamp(44px,5.5vw,72px)}
.section-mist{background:radial-gradient(900px 420px at 85% 0%,rgba(254,109,1,.08),transparent 70%),radial-gradient(700px 380px at 0% 100%,rgba(157,140,255,.07),transparent 70%),linear-gradient(180deg,#F5F8FF 0%,#EEF4FF 100%)}
.section-ink,.consult-sec{position:relative;isolation:isolate;overflow:hidden;background:var(--g-navy);color:#DCE5F8}
.section-ink::before,.consult-sec::before,.svc-hero::before,.cat-hero::before,.page-hero::before,.about-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(640px 360px at 12% 8%,rgba(254,109,1,.28),transparent 70%),radial-gradient(560px 340px at 92% 95%,rgba(157,140,255,.18),transparent 70%),radial-gradient(420px 260px at 88% 10%,rgba(255,138,43,.10),transparent 70%);
  animation:meshDrift 22s ease-in-out infinite alternate}
.section-ink::after,.svc-hero::after,.cat-hero::after,.page-hero::after,.about-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 20%,transparent 75%)}
@keyframes meshDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-3%,2%,0) scale(1.08)}}
.section-ink h2,.section-ink h3{color:#fff}
.section-ink .sec-head>p{color:#A9B8DB}

/* ---------- Home hero (v2 — centered, no side illustration) ---------- */
.hero{background:var(--g-navy);color:#DCE5F8;padding:clamp(40px,5vw,64px) 0 0;isolation:isolate;border-radius:0 0 clamp(28px,4vw,56px) clamp(28px,4vw,56px)}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.hb-1{width:620px;height:620px;right:-120px;top:-180px;background:radial-gradient(closest-side,rgba(254,109,1,.45),transparent);animation:blobA 18s ease-in-out infinite alternate}
.hb-2{width:520px;height:520px;left:-180px;bottom:-200px;background:radial-gradient(closest-side,rgba(157,140,255,.28),transparent);animation:blobB 22s ease-in-out infinite alternate}
.hb-3{width:380px;height:380px;right:22%;bottom:-120px;background:radial-gradient(closest-side,rgba(255,138,43,.16),transparent);animation:blobA 26s ease-in-out infinite alternate-reverse}
@keyframes blobA{to{transform:translate3d(-60px,50px,0) scale(1.12)}}
@keyframes blobB{to{transform:translate3d(70px,-40px,0) scale(1.08)}}
.hero-grid-bg{z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;opacity:1;-webkit-mask-image:radial-gradient(ellipse 75% 75% at 50% 20%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 75% 75% at 50% 20%,#000 25%,transparent 78%)}

/* extremely subtle arcs, network lines and particles — decorative only */
.hero-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-arcs{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.hero-arcs circle{fill:none;stroke:rgba(141,179,238,.14);stroke-width:1}
.hero-lines{position:absolute;inset:0;width:100%;height:100%;opacity:.22}
.hero-lines path{fill:none;stroke:url(#none);stroke:rgba(255,138,43,.4);stroke-width:1.2}
.hero-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px 2px rgba(255,138,43,.7);opacity:.55;animation:dotDrift 14s ease-in-out infinite alternate}
.hero-dot.hd-gold{background:#F2C879;box-shadow:0 0 8px 2px rgba(242,200,121,.6)}
.hd-1{left:12%;top:22%;animation-duration:16s}
.hd-2{left:82%;top:18%;animation-duration:20s;animation-delay:-4s}
.hd-3{left:68%;top:68%;animation-duration:18s;animation-delay:-8s}
.hd-4{left:24%;top:72%;animation-duration:22s;animation-delay:-2s}
.hd-5{left:90%;top:52%;animation-duration:19s;animation-delay:-6s}
@keyframes dotDrift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(14px,-18px,0)}}

/* centered layout — single column, no right-side visual */
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;max-width:860px;margin-inline:auto}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.2vw,4.6rem);max-width:19em;margin-bottom:18px}
.hero-pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#C5D0EC;box-shadow:none;backdrop-filter:blur(8px);margin-bottom:22px}
.pulse-dot{background:#34D399}
.hero-lede{color:#B4C2E4;font-size:clamp(1.02rem,1.3vw,1.15rem);max-width:38em;margin:0 auto 30px;text-align:center}
.hero-search{border:1px solid rgba(255,255,255,.4);border-radius:18px;box-shadow:0 24px 60px -24px rgba(254,109,1,.7),0 0 0 6px rgba(255,255,255,.05);width:100%;max-width:800px;margin:0 auto}
.hero-search:focus-within{border-color:var(--electric);box-shadow:0 0 0 5px rgba(254,109,1,.35),0 24px 60px -24px rgba(254,109,1,.8)}
.hero-chips{justify-content:center;margin-top:20px}
.hero-chips>span{color:#8FA0CC}
.hero-chips a{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#DCE5F8;backdrop-filter:blur(6px)}
.hero-chips a:hover{border-color:rgba(141,179,238,.7);color:#fff;background:rgba(254,109,1,.18)}
.hero-ctas{justify-content:center;margin-top:28px}

/* glass statistics panel */
.hero-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:0;margin-top:clamp(36px,5vw,56px);padding:26px clamp(18px,3vw,32px);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 30px 60px -32px rgba(0,0,0,.6),0 0 0 1px rgba(254,109,1,.06) inset;backdrop-filter:blur(14px)}
.hero-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 12px;border-right:1px solid rgba(255,255,255,.10)}
.hero-stats>div:last-child{border-right:0}
.hero-stats .hs-ic{display:grid;place-items:center;width:30px;height:30px;color:var(--electric-2);opacity:.9}
.hero-stats .hs-ic svg{width:18px;height:18px}
.hero-stats strong{font-family:var(--f-display);font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;background:linear-gradient(95deg,#fff 30%,#8DB3EE);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-stats>div>span{color:#8FA0CC;font-size:.86rem}

/* ---------- Partners ---------- */
.partners{background:#fff;border-bottom:0;padding:44px 0 40px}
.partners-t{color:var(--muted);font-weight:600}
.partner{border-color:var(--line);border-radius:16px;height:62px;background:linear-gradient(180deg,#fff,#F8FAFF);transition:border-color .3s,box-shadow .3s,transform .3s var(--ease-out)}
.partner:hover{border-color:var(--orange-line);box-shadow:0 12px 26px -18px rgba(254,109,1,.5);transform:translateY(-2px)}

/* ==========================================================================
   Card system — shared surface for every card family
   ========================================================================== */
.cat-tile,.svc-card,.benefit,.doc-list li,.contact-card,.job,.pillar,.why-item,.review,.plan,.cat-strip a,.help-card,.note-card,.dash-stats>div,.reviews-stats>div,.faq-item,.sum-card,.lead-card,.ptable,.glance{
  --mx:50%;--my:50%;position:relative;background:#fff;border:1px solid var(--card-bd);border-radius:var(--r-lg);box-shadow:var(--card-sh)}
.cat-tile,.svc-card,.benefit,.doc-list li,.contact-card,.job,.pillar,.why-item,.review:not(.review-lg),.plan,.cat-strip a{
  isolation:isolate;overflow:hidden;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s}
/* spotlight + gradient wash revealed on hover */
.cat-tile::after,.svc-card::after,.benefit::after,.doc-list li::after,.contact-card::after,.job::after,.pillar::after,.why-item::after,.review:not(.review-lg)::after,.plan:not(.plan-hi)::after,.cat-strip a::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(360px circle at var(--mx) var(--my),rgba(254,109,1,.11),transparent 60%),linear-gradient(160deg,rgba(232,240,255,.9),rgba(255,255,255,0) 55%)}
.cat-tile:hover,.svc-card:hover,.benefit:hover,.doc-list li:hover,.contact-card:hover,.job:hover,.pillar:hover,.why-item:hover,.review:not(.review-lg):hover,.plan:not(.plan-hi):hover,.cat-strip a:hover{
  transform:translateY(-6px);border-color:var(--card-bd-h);box-shadow:var(--card-sh-h)}
.cat-tile:hover::after,.svc-card:hover::after,.benefit:hover::after,.doc-list li:hover::after,.contact-card:hover::after,.job:hover::after,.pillar:hover::after,.why-item:hover::after,.review:not(.review-lg):hover::after,.plan:not(.plan-hi):hover::after,.cat-strip a:hover::after{opacity:1}

/* shared icon tile: soft → gradient on hover */
.cat-ic,.benefit-ic,.why-ic,.doc-ic,.contact-ic,.pillar-n{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:var(--g-icon);color:var(--royal);box-shadow:inset 0 0 0 1px rgba(254,109,1,.10);transition:background .4s,color .4s,box-shadow .4s,transform .5s var(--ease-spring)}
.cat-ic svg,.benefit-ic svg,.why-ic svg,.doc-ic svg,.contact-ic svg,.pillar-n svg{width:23px;height:23px}
.cat-tile:hover .cat-ic,.benefit:hover .benefit-ic,.why-item:hover .why-ic,.doc-list li:hover .doc-ic,.contact-card:hover .contact-ic,.pillar:hover .pillar-n{background:var(--g-primary);color:#fff;box-shadow:0 10px 22px -10px rgba(254,109,1,.9);transform:translateY(-2px) rotate(-4deg)}
.contact-ic.is-wa{background:#E7F9EE;color:var(--wa-d)}
.contact-card:hover .contact-ic.is-wa{background:var(--wa-d);color:#fff}
/* shared arrow chip */
.cat-tile-foot svg,.svc-card-go{display:grid;place-items:center;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--soft-2);color:var(--royal);transition:background .3s,color .3s,transform .45s var(--ease-out)}
.cat-tile:hover .cat-tile-foot svg,.svc-card:hover .svc-card-go{background:var(--g-primary);color:#fff;transform:translateX(3px) rotate(45deg);box-shadow:0 8px 18px -8px rgba(254,109,1,.9)}

/* ---------- Category grid: 4 equal columns, equal rows ---------- */
.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:20px}
.cat-tile{display:flex;flex-direction:column;height:100%}
.cat-tile-lg{grid-column:auto;grid-row:auto}
.cat-tile-img{position:relative;height:auto;aspect-ratio:16/10;overflow:visible;background:var(--soft-2)}
.cat-tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),filter .6s}
.cat-tile-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,51,0) 40%,rgba(8,18,51,.45) 100%),linear-gradient(135deg,rgba(254,109,1,.18),transparent 55%);pointer-events:none}
.cat-tile{overflow:hidden}
.cat-tile:hover .cat-tile-img img{transform:scale(1.06)}
.cat-tile-img .cat-ic{position:absolute;z-index:2;left:20px;bottom:-22px;width:48px;height:48px;background:#fff;box-shadow:0 12px 24px -12px rgba(8,18,51,.5),inset 0 0 0 1px rgba(254,109,1,.12)}
.cat-tile-body{padding:36px 22px 20px}
.cat-tile h3{margin:0 0 8px;font-size:1.12rem;min-height:2.5em;display:flex;align-items:flex-end}
.cat-tile p{font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}
.cat-tile ul{gap:5px}
.cat-tile li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-tile li::before{background:var(--electric);opacity:.6}
.cat-tile-foot{border-top:1px solid var(--line);color:var(--royal)}
.cat-cta{grid-column:auto;border-radius:var(--r-lg);padding:28px 24px;background:radial-gradient(420px 260px at 100% 100%,rgba(254,109,1,.45),transparent 70%),radial-gradient(300px 200px at 0% 0%,rgba(157,140,255,.25),transparent 70%),var(--g-navy);border:1px solid rgba(141,179,238,.16);box-shadow:var(--card-sh);color:#C5D0EC}
.cat-cta::after{display:none}
.cat-cta h3{font-size:1.35rem;line-height:1.2}
.cat-cta-actions{flex-direction:column;align-items:stretch}

/* ---------- Tabs ---------- */
.tab-bar{border-radius:16px;border-color:var(--card-bd);box-shadow:var(--card-sh);padding:6px}
.tab{border-radius:11px}
.tab:hover{color:var(--royal)}
.tab-ink{background:var(--g-primary);box-shadow:0 8px 18px -8px rgba(254,109,1,.9);border-radius:11px}

/* ---------- Service cards: identical size in every grid ---------- */
.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:18px}
.svc-card{height:100%;padding:24px 22px 20px;border-radius:var(--r-lg)}
.svc-card::before{left:0;right:0;top:0;height:3px;border-radius:0;background:var(--g-primary)}
.svc-card-cat{display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:99px;background:var(--soft-2);color:var(--royal);font-size:.76rem}
.svc-card h3{font-size:1.06rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.svc-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.5em}
.svc-card-meta{border-top:1px solid var(--line)}
.price-from{color:var(--navy-900)}

/* ---------- Why ---------- */
.why{grid-template-columns:.92fr 1.08fr;align-items:center}
.why-media{border-radius:32px;box-shadow:0 40px 80px -40px rgba(8,18,51,.55);isolation:isolate}
.why-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(200deg,rgba(254,109,1,.25),transparent 45%,rgba(8,18,51,.45));pointer-events:none}
.why-media::after{content:"";position:absolute;z-index:-1;inset:-18px -18px auto auto;width:60%;height:60%;border-radius:32px;background:var(--g-primary);opacity:.18;filter:blur(30px)}
.why-badge{z-index:2;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:16px}
.why-badge strong{color:var(--navy-900)}
.why-list{grid-auto-rows:1fr;gap:16px}
.why-item{padding:20px;align-items:flex-start;height:100%}
.why-item h3{font-size:1.02rem}

/* ---------- Flow (How it works) ---------- */
.flow::before{background:linear-gradient(90deg,var(--electric) var(--flow,0%),rgba(141,179,238,.16) var(--flow,0%))}
.flow-n{background:rgba(255,255,255,.04);border:1px solid rgba(141,179,238,.22);backdrop-filter:blur(6px)}
.flow-step.is-lit .flow-n{background:var(--g-primary);border-color:transparent;box-shadow:0 0 0 6px rgba(254,109,1,.14),0 0 30px -4px rgba(254,109,1,.8)}
.flow-step p{color:#A9B8DB}

/* ---------- Reviews ---------- */
.reviews-stats>div{padding:18px;border-radius:16px}
.reviews-stats strong{color:var(--royal)}
.review{padding:28px 30px;border-radius:22px}
.review-lg{background:radial-gradient(420px 240px at 100% 0%,rgba(254,109,1,.35),transparent 70%),var(--g-navy);border-color:rgba(141,179,238,.16);box-shadow:0 40px 80px -40px rgba(8,18,51,.7)}
.avatar{background:var(--g-primary);box-shadow:0 8px 18px -8px rgba(254,109,1,.8)}

/* ---------- FAQ ---------- */
.faq{gap:12px}
.faq-item{border-radius:16px;transition:border-color .3s,box-shadow .3s}
.faq-item:hover{border-color:var(--orange-line)}
.faq-item.is-open{border-color:var(--card-bd-h);box-shadow:0 18px 40px -26px rgba(254,109,1,.55)}
.faq-item button:hover{color:var(--royal)}
.faq-ic{background:var(--soft-2)}
.faq-ic::before,.faq-ic::after{background:var(--royal)}
.faq-item.is-open .faq-ic{background:var(--g-primary)}
.help-card{border-radius:20px;background:linear-gradient(160deg,#fff,var(--soft))}

/* ---------- Consultation band: premium blue ---------- */
.consult-sec{background:linear-gradient(120deg,#051C55 0%,#02307F 55%,#1F66D8 100%)}
.consult-sec::before{background:radial-gradient(520px 320px at 90% 10%,rgba(255,138,43,.25),transparent 70%),radial-gradient(520px 360px at 5% 100%,rgba(157,140,255,.30),transparent 70%)}
.consult-copy>p{color:#D2DDF7}
.contact-rows a{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05);backdrop-filter:blur(8px);border-radius:16px;transition:border-color .25s,background .25s,transform .35s var(--ease-out)}
.contact-rows a:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.12);transform:translateY(-3px)}
.contact-rows svg{color:#A9C7F2}
.contact-rows small{color:#B4C2E4}
.lead-card{border-radius:18px;border:1px solid rgba(255,255,255,.6);box-shadow:0 50px 100px -40px rgba(0,0,0,.6)}
.lead-t{color:var(--navy-900)}
.field input,.field select,.field textarea,.input-prefix{border-radius:12px;border-color:var(--line);background:#FBFCFF}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line-2)}
.field input:focus,.field select:focus,.field textarea:focus,.input-prefix:focus-within{border-color:var(--electric);box-shadow:0 0 0 4px rgba(254,109,1,.14);background:#fff}

/* ---------- CTA band ---------- */
.cta-band-inner{border-radius:32px;isolation:isolate;background:radial-gradient(500px 300px at 100% 100%,rgba(255,138,43,.25),transparent 70%),radial-gradient(500px 300px at 0% 0%,rgba(157,140,255,.28),transparent 70%),linear-gradient(120deg,#051C55 0%,#02307F 55%,#1F66D8 100%);box-shadow:0 40px 80px -40px rgba(22,56,168,.7)}
.cta-band-inner::after{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 60% 90% at 80% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 90% at 80% 50%,#000,transparent 75%);z-index:-1}
.cta-band-copy p{color:#D2DDF7}
.seal-cta .seal-ring{stroke:rgba(255,255,255,.25)}.seal-cta .seal-text{fill:#D2DDF7}
.seal-core{fill:var(--royal)}

/* ---------- Page heroes (inner pages) — navy, connected to header ---------- */
.page-hero,.cat-hero,.svc-hero,.about-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--g-navy);border-bottom:0;color:#DCE5F8}
.page-hero{padding:clamp(36px,5vw,60px) 0 clamp(48px,6vw,76px)}
.page-hero h1,.cat-hero h1,.svc-hero h1,.about-hero h1{color:#fff}
.page-lede,.svc-lede{color:#B4C2E4}
.crunewstarts ol{color:#8FA0CC}
.crunewstarts a{color:#C5D0EC}.crunewstarts a:hover{color:#fff}
.crunewstarts [aria-current]{color:#fff}
.crunewstarts li:not(:last-child)::after{color:rgba(255,255,255,.25)}
.page-hero .filter-search{border-color:rgba(255,255,255,.35);box-shadow:0 20px 50px -24px rgba(254,109,1,.7)}
.page-hero .filter-count{color:#8FA0CC}
.page-hero .pill{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#DCE5F8}
.page-hero .pill span{background:rgba(255,255,255,.08);color:#C5D0EC}
.page-hero .pill:hover{border-color:rgba(141,179,238,.6)}
.page-hero .pill.is-active{background:var(--g-primary);border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px rgba(254,109,1,.9)}
.page-hero .pill.is-active span{background:rgba(255,255,255,.2);color:#fff}
.page-hero .legal-note,.page-hero p{color:#B4C2E4}
.cat-meta li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#C5D0EC}
.cat-meta strong{color:#fff}
.cat-hero .cat-ic-lg{background:var(--g-primary);color:#fff;box-shadow:0 14px 30px -12px rgba(254,109,1,.9)}
.cat-hero-img,.about-img{position:relative;border-radius:30px;box-shadow:0 50px 90px -40px rgba(0,0,0,.8),0 0 0 1px rgba(141,179,238,.18);isolation:isolate}
.cat-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(254,109,1,.25),transparent 50%,rgba(8,18,51,.35));pointer-events:none}
.cat-hero-img{transform:perspective(1200px) rotateY(-5deg);transition:transform .8s var(--ease-out)}
.cat-hero-img:hover{transform:perspective(1200px) rotateY(0)}
.about-img.a2{border-color:#051C55}
.seal-about{background:#fff;border-radius:50%;box-shadow:var(--sh-3)}
.cat-strip a{border-radius:18px}
.cat-strip a>svg{transition:transform .35s var(--ease-out),color .3s}
.cat-strip a:hover>svg{transform:translateX(4px);color:var(--royal)}

/* ---------- Service detail ---------- */
.svc-hero{padding:clamp(28px,3.5vw,44px) 0 clamp(56px,6vw,88px)}
.cat-tag{background:rgba(254,109,1,.16);color:#BFD6FF;border:1px solid rgba(141,179,238,.25)}
.cat-tag:hover{background:rgba(254,109,1,.28);color:#fff}
.svc-facts{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:12px}
.svc-facts li{flex-direction:column;gap:10px;padding:16px;height:100%;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;transition:border-color .3s,background .3s,transform .4s var(--ease-out)}
.svc-facts li:hover{border-color:rgba(141,179,238,.5);background:rgba(255,255,255,.08);transform:translateY(-3px)}
.svc-facts li>svg{box-sizing:content-box;padding:8px;border-radius:11px;background:var(--g-primary);color:#fff;margin:0}
.svc-facts span{font-size:.93rem}
.svc-facts small,.svc-facts em{color:#8FA0CC}
.svc-hero-form .lead-card{border:1px solid rgba(255,255,255,.6)}
.subnav{background:rgba(255,255,255,.85);border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(8,18,51,.4)}
.subnav a:hover{color:var(--royal);background:var(--soft)}
.subnav a.is-active{color:#fff;background:var(--g-primary);box-shadow:0 8px 18px -10px rgba(254,109,1,.9)}

/* overview: image composition left, copy right */
.overview{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:center}
.overview-side{order:-1;position:relative;padding:0 0 56px 0}
.overview-side::before{content:"";position:absolute;z-index:-1;left:-24px;top:-24px;width:62%;height:70%;border-radius:32px;background:linear-gradient(135deg,rgba(254,109,1,.20),rgba(157,140,255,.14));filter:blur(2px)}
.overview-img{position:relative;aspect-ratio:5/4;border-radius:30px;margin:0;box-shadow:0 40px 80px -40px rgba(8,18,51,.6);isolation:isolate}
.overview-img::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(254,109,1,.22),transparent 45%,rgba(8,18,51,.35));pointer-events:none}
.overview-img img{transition:transform 1.2s var(--ease-out)}
.overview-side:hover .overview-img img{transform:scale(1.04)}
.ov-badge{position:absolute;z-index:2;left:18px;top:18px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:99px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);font-size:.85rem;font-weight:650;color:var(--navy-900);box-shadow:0 12px 26px -14px rgba(8,18,51,.6)}
.ov-badge svg{width:18px;height:18px;color:var(--royal)}
.glance{position:absolute;right:-20px;bottom:0;width:min(330px,78%);border-radius:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 30px 60px -28px rgba(8,18,51,.55),0 0 0 1px rgba(254,109,1,.10);animation:hvFloat 8s ease-in-out infinite}
.glance>div{grid-template-columns:104px 1fr;padding:11px 16px;font-size:.88rem}
.glance dd{color:var(--navy-900)}
.overview-copy p{font-size:1.05rem;line-height:1.7}
.ov-why{margin-top:26px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,var(--soft),#fff);border:1px solid var(--card-bd);position:relative;overflow:hidden}
.ov-why::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--g-primary)}
.ov-why h3{margin:0 0 6px;font-size:1.08rem;color:var(--royal)}
.ov-why p{margin:0!important;font-size:1rem!important}

.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:20px}
.benefit{padding:30px 28px;height:100%;border-radius:22px}
.benefit-ic{width:54px;height:54px;border-radius:16px;margin-bottom:20px}

/* documents: visual checklist of document cards */
.docs{grid-template-columns:1fr;gap:0}
.docs .sec-head{position:static;max-width:none;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:32px}
.docs .sec-head h2{grid-column:1}
.docs .sec-head p{grid-column:1;margin:0;max-width:40em}
.docs .sec-head .btn{grid-column:2;grid-row:1/3;align-self:end}
.doc-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.doc-list li{height:100%;padding:22px 20px 20px;border-radius:18px;flex-direction:column;gap:14px}
.doc-list li::before{content:"";position:absolute;right:0;top:0;width:34px;height:34px;background:linear-gradient(225deg,var(--soft-3) 50%,transparent 50%);border-bottom-left-radius:10px}
.doc-list li>div{flex:1}
.doc-check{position:absolute;right:16px;bottom:16px;margin:0}
.doc-list li.is-in .doc-check{background:var(--g-primary);border-color:transparent;box-shadow:0 6px 14px -6px rgba(254,109,1,.8)}
.doc-list p{padding-right:30px}

/* process: timeline on navy */
.eta{border-color:rgba(141,179,238,.2);background:rgba(255,255,255,.05);backdrop-filter:blur(8px);border-radius:18px}
.eta>svg{color:#A9C7F2}
.steps-line{background:rgba(141,179,238,.16)}
.steps-line span{background:linear-gradient(180deg,var(--cyan),var(--electric))}
.step{padding:6px 0}
.step>div{flex:1;padding:16px 20px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(141,179,238,.12);transition:background .3s,border-color .3s,transform .4s var(--ease-out)}
.step h3{margin:0 0 4px}
.step:hover>div{background:rgba(255,255,255,.07);border-color:rgba(141,179,238,.35);transform:translateX(4px)}
.step-n{background:#05205E;border:1px solid rgba(141,179,238,.25)}
.step.is-lit .step-n{background:var(--g-primary);border-color:transparent;box-shadow:0 0 0 6px rgba(254,109,1,.14),0 0 26px -4px rgba(254,109,1,.8)}
.step p{color:#A9B8DB}

/* pricing plans */
.plans{grid-template-columns:repeat(2,minmax(0,440px));grid-auto-rows:1fr;gap:24px}
.plans-1{grid-template-columns:minmax(0,460px)}
.plan{padding:34px;border-radius:28px;height:100%}
.plan-hi{isolation:isolate;overflow:visible;background:radial-gradient(360px 240px at 100% 0%,rgba(254,109,1,.45),transparent 70%),radial-gradient(300px 200px at 0% 100%,rgba(157,140,255,.25),transparent 70%),var(--g-navy);border:1px solid rgba(141,179,238,.3);box-shadow:0 40px 80px -36px rgba(22,56,168,.8);transition:transform .45s var(--ease-out),box-shadow .45s}
.plan-hi:hover{transform:translateY(-6px);box-shadow:0 50px 90px -36px rgba(254,109,1,.8),0 0 0 1px rgba(141,179,238,.5)}
.plan-flag{background:var(--g-primary);box-shadow:0 8px 18px -8px rgba(254,109,1,.9)}
.plan-price{background:linear-gradient(95deg,var(--navy-900),var(--royal));-webkit-background-clip:text;background-clip:text;color:transparent}
.plan-hi .plan-price{background:linear-gradient(95deg,#fff 30%,#8DB3EE);-webkit-background-clip:text;background-clip:text}
.plan li svg{background:var(--soft-2);color:var(--royal)}
.plan-hi li svg{background:rgba(254,109,1,.25);color:#A9C7F2}

/* pricing table page */
.ptable{border-radius:22px;overflow:hidden}
.ptable-head{background:linear-gradient(90deg,var(--soft),#fff)}
.ptable-row:not(.ptable-head){transition:background .25s}
.ptable-row:not(.ptable-head):hover{background:linear-gradient(90deg,var(--soft),#fff)}
.note-card{background:linear-gradient(135deg,var(--soft),#fff)}

/* about / contact / careers / faq */
.stat-row>div{border-left:2px solid transparent;border-image:linear-gradient(180deg,var(--cyan),var(--electric)) 1}
.pillars{grid-auto-rows:1fr;gap:20px}
.pillar{height:100%;padding:30px}
.map{border-radius:28px;box-shadow:var(--card-sh)}
.contact-cards{grid-auto-rows:1fr;gap:18px}
.contact-card{height:100%;padding:24px}
.jobs{grid-auto-rows:1fr;gap:20px}
.job{height:100%;display:flex;flex-direction:column}
.job-actions{margin-top:auto;padding-top:16px}
.job-badge,.chips span{background:var(--soft-2);color:var(--royal)}
.faq-nav a:hover,.faq-nav a.is-active{color:var(--royal);border-color:var(--electric)}

/* flow pages (get started / account) stay light */
.flow-page{background:radial-gradient(800px 360px at 90% 0%,rgba(254,109,1,.10),transparent 70%),linear-gradient(180deg,var(--soft) 0%,#fff 70%)}
.flow-main>.form,.flow-main .wizard{border-radius:26px;border-color:var(--card-bd);box-shadow:var(--card-sh)}
.stepper li{border-radius:14px;border-color:var(--card-bd)}
.stepper li.is-active{border-color:var(--electric);color:var(--royal);box-shadow:0 0 0 4px rgba(254,109,1,.10)}
.stepper li.is-active span{background:var(--g-primary)}
.plan-opt>span{border-radius:16px}
.plan-opt input:checked+span{border-color:var(--electric);background:var(--soft);box-shadow:0 0 0 4px rgba(254,109,1,.12)}
.next-steps li::before{background:var(--g-primary)}

/* legal & 404 */
.legal-note{background:var(--soft);border-radius:16px}

/* ---------- Footer ---------- */
.site-footer{position:relative;isolation:isolate;background:radial-gradient(700px 300px at 85% 0%,rgba(254,109,1,.16),transparent 70%),#021436;color:#A9B8DB}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(254,109,1,.6),rgba(255,138,43,.4),transparent)}
.footer-contact svg{color:#8DB3EE}
.footer-cols a{position:relative}
.footer-cols a:hover{color:#fff}
.socials a{border-color:rgba(141,179,238,.18)}
.socials a:hover{background:var(--g-primary);border-color:transparent;box-shadow:0 10px 22px -10px rgba(254,109,1,.9)}
.footer-news{background:linear-gradient(120deg,rgba(22,56,168,.35),rgba(11,22,64,.6));border-color:rgba(141,179,238,.16);border-radius:22px}
.footer-bottom{border-top-color:rgba(141,179,238,.12)}

/* ---------- Floating widgets & overlays ---------- */
.float-bot{background:var(--g-primary);box-shadow:0 14px 30px -10px rgba(254,109,1,.8)}
.bot-head{background:var(--g-navy)}
.msg-user{background:var(--g-primary)}
.bot-input button{background:var(--g-primary)}
.modal-side{background:radial-gradient(360px 240px at 100% 100%,rgba(254,109,1,.4),transparent 70%),var(--g-navy)}
.modal-kicker{background:var(--g-primary)}
.modal-side .tick-list li svg{color:#A9C7F2}
.palette-results a.is-active .pr-ic{background:var(--g-primary)}
.toast{background:var(--navy-900);border:1px solid rgba(141,179,238,.16)}
.mbar{backdrop-filter:blur(12px);background:rgba(255,255,255,.92)}

/* ---------- Reveal: fade + slide, staggered via --d ---------- */
.js [data-reveal]{transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0ms)}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1280px){
  .hv-stage{--hv-w:192px;--hv-h:64px;width:316px}
  .hv-card{gap:10px}
}
@media (max-width:1180px){
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{max-width:680px}
  .hero-visual{width:100%;max-width:720px;margin:10px auto 0;min-height:560px}
  .cat-grid,.svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doc-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .site-header{background:#031640}
  .overview-side{order:0;max-width:640px}
  .glance{right:0}
  .cat-hero-img{transform:none}
  .svc-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .docs .sec-head{grid-template-columns:1fr}
  .docs .sec-head .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:16px}
}
@media (max-width:900px){
  .cat-grid,.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  h1{font-size:clamp(2.05rem,8.6vw,2.6rem)}
  .hero{border-radius:0 0 28px 28px}
  .hero h1{font-size:clamp(2rem,8.6vw,2.5rem)}
  .type-wrap{white-space:normal}
  .hero-visual{min-height:0;display:block;margin-top:8px}
  .hv-glow,.hv-ring{display:none}
  .hv-stage{width:100%;--hv-w:100%;--hv-h:64px;display:grid;grid-template-columns:1fr 1fr;gap:10px;transform:none}
  .tracker{grid-column:1/-1;margin-bottom:6px}
  .hv-card{position:relative;inset:auto!important;width:100%;transform:none;animation:hvIn .7s var(--ease-out) forwards;animation-delay:calc(300ms + var(--i) * 90ms)}
  .hv-card .hv-go{display:none}
  .hv-5{display:none}
  .cat-grid,.svc-grid,.benefit-grid,.doc-list,.pillars,.jobs{grid-template-columns:1fr;grid-auto-rows:auto}
  .cat-tile h3,.cat-tile p,.svc-card h3,.svc-card p{min-height:0}
  .why-list{grid-auto-rows:auto}
  .svc-facts{grid-template-columns:1fr}
  .svc-facts li{flex-direction:row;align-items:center}
  .plans{grid-template-columns:1fr;grid-auto-rows:auto}
  .overview-side{padding-bottom:0}
  .overview-side::before{display:none}
  .glance{position:relative;right:auto;width:100%;margin-top:-40px;animation:none}
  .ov-badge{left:12px;top:12px}
  .cta-band-inner{border-radius:24px}
  .partners{padding:32px 0}
}
@media (hover:none){
  .cat-tile:hover,.svc-card:hover,.benefit:hover,.doc-list li:hover,.contact-card:hover,.job:hover,.pillar:hover,.why-item:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .hv-card{opacity:1;scale:1;animation:none!important;transform:none!important}
  .hv-stage,.hero-visual{transform:none!important}
  .hero-blob,.hv-glow,.hv-ring,.section-ink::before,.glance{animation:none!important}
}

/* ---- hero composition tuning (keeps every floating card inside its column) ---- */
.hero-copy{max-width:560px}
.hero h1{font-size:clamp(2.4rem,3.5vw,3.15rem)}
.hero-lede{max-width:31em}
.hero-visual{display:flex;align-items:center;justify-content:flex-end}
.hv-glow,.hv-ring{left:50%;top:50%;translate:-50% -50%}
.hv-stage{--hv-w:232px;width:300px;margin-right:88px}
.hv-go{display:none}
.hv-1{left:calc(var(--hv-w) * -1 + 26px);top:44px}
.hv-2{right:calc(var(--hv-w) * -1 + 120px);top:-46px}
.hv-3{right:calc(var(--hv-w) * -1 + 104px);top:176px}
.hv-4{left:calc(var(--hv-w) * -1 + 26px);top:284px}
.hv-5{right:calc(var(--hv-w) * -1 + 128px);bottom:-48px}
@media (max-width:1280px){.hv-stage{--hv-w:220px;--hv-h:66px;width:290px;margin-right:76px}}
@media (max-width:1180px){.hero-copy{max-width:680px}.hero-visual{justify-content:center}.hv-stage{margin-right:0;left:-30px}}
@media (max-width:760px){.hv-stage{left:0;width:100%;margin:0}.hero h1{font-size:clamp(1.9rem,8.2vw,2.4rem)}}
.hv-stage{--hv-w:244px}
.hv-txt strong{font-size:.9rem}
.hv-3{right:calc(var(--hv-w) * -1 + 80px);top:338px}
.hv-stage{margin-right:120px}
@media (max-width:1280px){.hv-stage{--hv-w:228px;margin-right:110px}}
@media (max-width:1180px){.hv-stage{margin-right:0}}
@media (max-width:760px){.hv-stage{--hv-w:100%}}
.consult-sec::before{width:auto;height:auto;right:0;top:0;border-radius:0}
.subnav a.subnav-cta{color:#fff;padding:.5em 1em;border-radius:12px;background-color:var(--orange-d);background-image:linear-gradient(110deg,#E85A00 0%,#FF8A2B 45%,#E85A00 100%);background-size:220% 100%}
.subnav a.subnav-cta:hover{color:#fff;background-color:var(--orange-d);background-image:linear-gradient(110deg,#E85A00 0%,#FF8A2B 45%,#E85A00 100%);background-position:100% 0}
.overview-side::before{filter:blur(28px);opacity:.8;border-radius:50%}
.hero-inner>*,.overview>*,.docs>*,.proc>*,.cat-hero-grid>*,.svc-hero-grid>*,.why>*,.reviews>*,.faq-wrap>*,.consult>*,.about-hero-grid>*,.office>*,.contact-grid>*,.flow-grid>*{min-width:0}
@media (max-width:760px){.type-wrap{white-space:normal;min-height:2.1em}.hero h1{overflow-wrap:anywhere}}
@media (max-width:760px){
  .hv-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-stage>*{min-width:0}
  .tracker{padding:22px 20px 80px}
  .glance>div{grid-template-columns:1fr;gap:2px}
  .glance dd{overflow-wrap:anywhere}
  .news-form{flex-wrap:wrap}
  .news-form input{flex:1 1 100%}
  .news-form .btn{width:100%}
}
@media (max-width:1024px){.overview,.why{grid-template-columns:1fr}}
@media (max-width:760px){
  .hv-card{padding:0 10px;gap:9px}
  .hv-ic{width:36px;height:36px;border-radius:11px}
  .hv-ic svg{width:18px;height:18px}
  .hv-txt strong{white-space:normal;font-size:.84rem;line-height:1.2}
  .hv-txt small{display:none}
}
.hv-3{right:calc(var(--hv-w) * -1 + 56px)}
@media (max-width:1280px){.hv-stage{--hv-w:212px;margin-right:124px}}
@media (max-width:1180px){.hv-stage{margin-right:0}}
@media (max-width:760px){.hv-stage{--hv-w:100%}}
.hero-copy{max-width:540px}
.hero-lede{max-width:29em}
.hv-stage{margin-right:90px}
@media (max-width:1280px){.hv-stage{margin-right:140px}}
@media (max-width:1180px){.hv-stage{margin-right:0}}
@media (max-width:1280px){
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{max-width:680px}
  .hero-lede{max-width:34em}
  .hero-visual{width:100%;max-width:720px;margin:10px auto 0;min-height:560px;justify-content:center}
  .hv-stage{margin-right:0;--hv-w:228px;left:-10px}
}
@media (max-width:760px){.hv-stage{--hv-w:100%;left:0}.hero-visual{min-height:0}}
@media (max-width:1400px){
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{max-width:680px}
  .hero-lede{max-width:34em}
  .hero-visual{width:100%;max-width:720px;margin:10px auto 0;min-height:560px;justify-content:center}
  .hv-stage{margin-right:0;--hv-w:228px;left:-10px}
}
@media (max-width:760px){.hv-stage{--hv-w:100%;left:0}.hero-visual{min-height:0}}

/* ==========================================================================
   White glass navbar
   ========================================================================== */
.site-header{background:rgba(255,255,255,.74);-webkit-backdrop-filter:saturate(1.8) blur(20px);backdrop-filter:saturate(1.8) blur(20px);border-bottom:1px solid rgba(10,20,64,.07);box-shadow:0 12px 32px -26px rgba(8,18,51,.45)}
.site-header.is-scrolled{background:rgba(255,255,255,.84);border-color:rgba(10,20,64,.09);box-shadow:0 14px 36px -24px rgba(8,18,51,.5)}
.site-header::after{background:linear-gradient(90deg,transparent,rgba(254,109,1,.35),rgba(255,138,43,.3),transparent)}
.nav-link{color:var(--ink-3)}
.nav-link:hover,.nav-link[aria-expanded="true"],.nav-link[aria-current]{color:var(--royal-d);background:rgba(254,109,1,.08)}
.search-btn{background:rgba(255,255,255,.7);border-color:rgba(10,20,64,.12);color:var(--muted)}
.search-btn:hover{background:#fff;border-color:rgba(254,109,1,.4);color:var(--ink)}
.search-btn kbd{background:#fff;border-color:var(--line);color:var(--slate)}
.site-header .icon-btn{background:rgba(255,255,255,.7);border-color:rgba(10,20,64,.12);color:var(--ink)}
.site-header .icon-btn:hover{background:#fff;border-color:rgba(254,109,1,.4)}
@media (max-width:1024px){.site-header{background:rgba(255,255,255,.82)}}

/* ===== Services mega menu v2: multi-column, category → individual services ===== */
.mega{max-height:calc(100vh - var(--hdr,72px) - 12px);overflow-y:auto;overscroll-behavior:contain}
.mega-inner{display:block;padding-block:22px 26px}
.mega-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--line)}
.mega-heading{margin:0;font-family:var(--f-display);font-weight:650;font-size:1.35rem;letter-spacing:-.015em}
.mega-sub{margin:2px 0 0;color:var(--muted);font-size:.93rem}
.mega-search{display:flex;align-items:center;gap:10px;width:min(340px,100%);height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--mist);color:var(--muted);font:inherit;font-size:.92rem;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.mega-search:hover{border-color:var(--line-2);background:#fff}
.mega-search span{flex:1}
.mega-search svg{width:18px;height:18px}
.mega-search kbd{font:inherit;font-size:.72rem;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;align-items:start}
.mega-col{display:block;margin:0 0 22px;padding:0}
.mega-col-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:6px 8px;margin-inline:-8px;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s}
.mega-col-head:hover{background:var(--mist)}
.mega-col-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--g-icon,var(--mist));color:var(--royal,var(--slate))}
.mega-col-ic svg{width:19px;height:19px}
.mega-col-txt{display:flex;flex-direction:column;line-height:1.25}
.mega-col-txt strong{font-family:var(--f-display);font-size:.98rem;font-weight:650}
.mega-col-txt small{font-size:.78rem;color:var(--muted)}
.mega .mega-list{display:block;list-style:none;margin:0;padding:0}
.mega .mega-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin-inline:-8px;border-radius:8px;font-size:.9rem;line-height:1.35;font-weight:500;color:var(--slate);text-decoration:none;transition:background .15s,color .15s}
.mega .mega-list a svg{flex:none;width:14px;height:14px;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .18s}
.mega .mega-list a:hover,.mega .mega-list a:focus-visible{background:var(--soft,var(--mist));color:var(--royal,var(--orange-d))}
.mega .mega-list a:hover svg,.mega .mega-list a:focus-visible svg{opacity:1;transform:none}
.mega-all{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 0;font-size:.86rem;font-weight:600;color:var(--royal,var(--orange-d));text-decoration:none}
.mega-all svg{width:15px;height:15px;transition:transform .18s}
.mega-all:hover svg{transform:translateX(3px)}

/* ===== Category dropdowns (Startup, Trademark & IP, Tax, GST, ...) — reuse the existing .drop design ===== */
.drop-svc{width:330px;max-height:calc(100vh - var(--hdr,76px) - 30px);overflow-y:auto;overscroll-behavior:contain}
.drop-svc a{align-items:center;padding:9px 12px}
.drop-svc strong{font-size:.93rem;font-weight:550}
.drop-svc .drop-all{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--royal,var(--orange-d))}
.drop-svc .drop-all strong{font-weight:650}
.drop-end{left:auto;right:-10px}
@media (max-width:1280px){.nav{margin-left:0}.nav-link{padding:0 9px;font-size:.92rem}}
.nav{flex:1;min-width:0;justify-content:center;margin-left:0;gap:0}
.nav-link{white-space:nowrap;padding:0 11px;font-size:.95rem}
.header-actions{flex:none}
@media (max-width:1319px){.nav,.hide-sm{display:none}.burger{display:inline-grid}.site-header .header-inner{justify-content:space-between}}
.site-header .header-inner{max-width:1440px;gap:12px}
.site-header .brand{flex:none}
.site-header .nav{flex:1 1 auto}

/* ===== Two-pane dropdown panels (left rail of sub-groups + service grid + advisor strip) ===== */
.nav-drop.has-panel{position:static}
.drop.drop-panel{left:50%;right:auto;top:100%;width:min(960px,calc(100vw - 40px));padding:0;overflow:hidden;border-radius:18px;transform:translate(-50%,-6px);margin-top:-2px}
.nav-drop.is-open .drop.drop-panel{transform:translate(-50%,0)}
.drop.drop-panel::before{display:none}
.drop.drop-panel::after{content:"";position:absolute;left:0;right:0;top:-28px;height:28px}
.drop-panel-solo{width:min(700px,calc(100vw - 40px))}
.dp-body{display:grid;grid-template-columns:290px 1fr;min-height:320px}
.dp-body.dp-solo{grid-template-columns:1fr;min-height:0}
.dp-rail{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}
.drop .dp-tab{display:flex;align-items:center;gap:12px;width:100%;padding:16px 18px;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s,color .15s}
.drop .dp-tab:last-child{border-bottom:0}
.dp-tab-ic{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:var(--mist);color:var(--slate)}
.dp-tab-ic svg{width:18px;height:18px}
.dp-tab-txt{flex:1}
.dp-tab-chev{color:var(--line-2);font-size:1.2rem;line-height:1;transition:transform .15s,color .15s}
.drop .dp-tab:hover,.drop .dp-tab.is-active{background:var(--soft,var(--mist));color:var(--royal,var(--orange-d));border-left-color:var(--royal,var(--orange-d))}
.dp-tab.is-active .dp-tab-ic{background:var(--royal,var(--orange-d));color:#fff}
.dp-tab.is-active .dp-tab-chev{color:var(--royal,var(--orange-d));transform:translateX(2px)}
.dp-panes{padding:22px 26px 18px;min-width:0}
.dp-pane{display:none}
.dp-pane.is-active{display:block;animation:megaIn .28s var(--ease)}
.dp-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.drop .dp-title{display:inline;padding:0;border-radius:0;font-family:var(--f-display);font-weight:650;font-size:1.08rem;color:var(--royal,var(--orange-d));text-decoration:none}
.drop .dp-title:hover{background:none;transform:none;text-decoration:underline;text-underline-offset:4px}
.drop .dp-all{display:inline;padding:0;font-size:.85rem;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}
.drop .dp-all:hover{background:none;transform:none;color:var(--royal,var(--orange-d))}
.dp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 18px}
.drop-panel-solo .dp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.drop .dp-grid a{display:block;padding:9px 10px;margin-inline:-10px;border-radius:9px;font-size:.93rem;font-weight:500;line-height:1.35;color:var(--ink);text-decoration:none}
.drop .dp-grid a:hover,.drop .dp-grid a:focus-visible{background:var(--soft,var(--mist));color:var(--royal,var(--orange-d));transform:translateX(2px)}
.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line);background:var(--soft,var(--mist));font-size:.93rem;color:var(--slate)}
.dp-foot button{border:0;background:none;font:inherit;font-weight:650;color:var(--royal,var(--orange-d));cursor:pointer;white-space:nowrap}
.dp-foot button:hover{text-decoration:underline;text-underline-offset:4px}

/* About section on the homepage — copy left, animated request tracker + floating service cards right */
.about-home{position:relative;padding:clamp(56px,7vw,104px) 0;background:linear-gradient(180deg,#fff 0%,var(--mist) 100%);overflow:hidden;scroll-margin-top:84px}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.ab-tag{display:inline-block;padding:6px 14px;border-radius:99px;background:rgba(254,109,1,.08);color:var(--royal-d,#1439B0);font-weight:650;font-size:.85rem;margin-bottom:16px}
.about-copy h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 16px}
.ab-lede{font-size:clamp(1.02rem,1.3vw,1.14rem);color:var(--slate);max-width:52ch;margin:0 0 26px}
.ab-pillars{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:16px}
.ab-pillars li{display:flex;gap:14px;align-items:flex-start}
.ab-pill-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#2F78E0,#0340A7);color:#fff;box-shadow:0 10px 22px -10px rgba(254,109,1,.6)}
.ab-pill-ic svg{width:22px;height:22px}
.ab-pillars h3{font-size:1.05rem;margin:0 0 2px}
.ab-pillars p{margin:0;color:var(--slate);font-size:.95rem}
.ab-ctas{display:flex;flex-wrap:wrap;gap:12px}
.ab-visual{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center}
.ab-glow{position:absolute;left:50%;top:50%;width:80%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(254,109,1,.28),rgba(254,109,1,0));filter:blur(6px);animation:abPulse 6s ease-in-out infinite}
.ab-ring{position:absolute;left:50%;top:50%;width:88%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1.5px dashed rgba(254,109,1,.28);animation:abSpin 60s linear infinite}
.ab-ring::after{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:#2F78E0;box-shadow:0 0 0 6px rgba(254,109,1,.18)}
.ab-visual .tracker{position:relative;z-index:2;width:100%;max-width:390px;margin:0;transform:none;background:linear-gradient(160deg,#0F1D55,#091238);box-shadow:0 44px 80px -32px rgba(8,18,51,.7),0 0 0 1px rgba(141,179,238,.16)}
.ab-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;padding:11px 18px 11px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 44px -22px rgba(8,18,51,.45);animation:floaty 6s ease-in-out infinite;white-space:nowrap}
.ab-chip-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2F78E0,#0340A7);color:#fff}
.ab-chip-ic svg{width:20px;height:20px}
.ab-chip-tx{display:flex;flex-direction:column;line-height:1.25}
.ab-chip-tx strong{font-size:.95rem;color:var(--ink)}
.ab-chip-tx small{font-size:.82rem;color:var(--slate)}
.abc-1{left:-4%;top:17%;animation-duration:6.4s}
.abc-2{right:-2%;top:2%;animation-duration:5.6s;animation-delay:-1.4s}
.abc-3{left:-6%;bottom:14%;animation-duration:7s;animation-delay:-2.8s}
.abc-4{right:-4%;bottom:5%;animation-duration:6s;animation-delay:-.7s}
@keyframes abSpin{to{rotate:360deg}}
@keyframes abPulse{0%,100%{opacity:.75;scale:1}50%{opacity:1;scale:1.06}}
@media (max-width:1100px){.abc-1{left:-2%}.abc-3{left:-2%}.abc-2,.abc-4{right:0}}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.ab-visual{max-width:560px;margin:8px auto 0}}
@media (max-width:600px){
  .ab-visual{min-height:0;flex-direction:column;gap:14px}
  .ab-glow,.ab-ring{display:none}
  .ab-chip{position:relative;inset:auto;width:100%;animation:none}
  .ab-visual .tracker{max-width:none}
}
@media (prefers-reduced-motion:reduce){.ab-glow,.ab-ring,.ab-chip{animation:none!important}}

/* Header: room for the "Calculators" link. Slightly tighter link padding, and the
   burger menu takes over below 1440px, where the full link row no longer fits. */
.nav-link{padding:0 6px}.nav-link::after{left:7px;right:7px}
@media (max-width:1319px){.nav,.hide-sm{display:none}.burger{display:inline-grid}.site-header .header-inner{justify-content:space-between}}
/* Service pages, "How we handle it": overflow:hidden on the dark section made it a scroll
   container, which stopped the left heading from sticking. overflow:clip still clips the
   background glow but lets position:sticky work, so the heading stays put while the steps scroll. */
@supports (overflow:clip){#process.section-ink{overflow:clip}}

/* ===== Navbar: spacious and arrow-free =====
   Seven top-level items (Registrations, Trademark & IP, Taxation, Compliance, Consultation, Tools,
   Login) instead of nine, so the row can breathe. Item padding and gaps grow with the
   viewport (1320px to 1440px) and then stay fixed, because the header column stops at 1440px.
   Dropdown triggers carry no arrows; they still open on hover / click, and Esc closes them. */
.site-header{--nav-pad:clamp(9px,calc(9px + (100vw - 1320px) * .0667),17px);--nav-gap:clamp(5px,calc(5px + (100vw - 1320px) * .0583),12px)}
.site-header .header-inner{gap:20px}
.site-header .nav{flex:1 1 auto;justify-content:center;gap:var(--nav-gap)}
.site-header .nav-link{height:44px;gap:0;padding:0 var(--nav-pad);font-size:.95rem;letter-spacing:.005em}
.site-header .nav-link::after{left:var(--nav-pad);right:var(--nav-pad);bottom:6px}
.site-header .nav-link svg{display:none}
.site-header .header-actions{gap:14px}
.dp-tab-chev{display:none}
@media (min-width:1440px){.site-header .nav-link{font-size:.98rem}}

/* Mobile menu: a plain plus/minus replaces the old chevron */
.m-acc summary>svg{display:none}
.m-acc-mark{position:relative;flex:none;width:14px;height:14px;margin-right:4px}
.m-acc-mark::before,.m-acc-mark::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:var(--slate,#44506b);transition:transform .25s var(--ease,ease),opacity .25s}
.m-acc-mark::after{transform:rotate(90deg)}
.m-acc[open] .m-acc-mark::after{transform:rotate(0);opacity:0}
@media (prefers-reduced-motion:reduce){.m-acc-mark::before,.m-acc-mark::after{transition:none}}

/* ---- Search dropdowns: solid white, dark text, always above the hero content ---- */
.hero-search{z-index:60}
.hero-suggest{z-index:70;padding:8px;background:#fff!important;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #E3E9F5;border-radius:16px;box-shadow:0 26px 60px -22px rgba(8,18,51,.5);text-align:left;max-height:320px}
.hero-suggest li{margin:0}
.hero-suggest a{display:block;padding:12px 14px;border-radius:11px;color:var(--ink)!important;font-size:.98rem;font-weight:600;line-height:1.35;text-decoration:none}
.hero-suggest a:hover,.hero-suggest a.is-active{background:#EAF1FF;color:var(--ink)!important}
.hero-suggest mark{background:none;color:var(--royal);font-weight:750}
.hero-suggest small{display:none}
.palette-card{background:#fff!important;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}
.palette-results a,.palette-results a strong{color:var(--ink)}
.palette-results a small{color:var(--muted)}
.palette-results a em{display:none}
.palette-results a:hover{background:var(--mist)}

/* Service pages: normal full-width content (sticky quote rail removed) */
.svc-shell{position:relative}
#government .overview-side::before{display:none}
#government .glance{position:static;width:100%;animation:none;margin:0}
#government .overview-side{padding:0}

/* ---- Sub-nav: every section always visible / reachable ---- */
.subnav-inner{gap:12px}
.subnav-scroll{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.subnav-scroll ul{flex:1;min-width:0;gap:2px;scroll-behavior:smooth}
.subnav a{padding:8px 11px;font-size:.9rem}
.subnav a.subnav-cta{flex:none;white-space:nowrap}
.subnav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px -8px rgba(8,18,51,.35);padding:0}
.subnav-arrow svg{width:16px;height:16px}
.subnav-arrow-l{left:-4px}.subnav-arrow-r{right:-4px}
.subnav-scroll.can-l .subnav-arrow-l,.subnav-scroll.can-r .subnav-arrow-r{display:inline-flex}
.subnav-scroll::before,.subnav-scroll::after{content:"";position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:1;opacity:0;transition:opacity .2s}
.subnav-scroll::before{left:0;background:linear-gradient(90deg,#fff 40%,rgba(255,255,255,0))}
.subnav-scroll::after{right:0;background:linear-gradient(270deg,#fff 40%,rgba(255,255,255,0))}
.subnav-scroll.can-l::before,.subnav-scroll.can-r::after{opacity:1}
@media (min-width:1200px){.subnav a{padding:8px 9px;font-size:.88rem}}

/* ---- About visual: floating cards sit above/below the process card, never on top of its text ---- */
.ab-visual{min-height:0;padding:104px 0}
.ab-visual .tracker{max-width:360px}
.abc-1{left:0;top:0;right:auto;bottom:auto}
.abc-2{right:0;top:34px;left:auto;bottom:auto}
.abc-3{left:0;bottom:34px;top:auto;right:auto}
.abc-4{right:0;bottom:0;top:auto;left:auto}
@media (max-width:1100px){
  .ab-visual{padding:0;flex-direction:column;gap:14px;max-width:560px;margin:8px auto 0}
  .ab-glow,.ab-ring{display:none}
  .ab-chip{position:relative;inset:auto;width:100%;animation:none}
  .ab-visual .tracker{max-width:none;width:100%}
}

/* ===== Footer: nav-menu columns, pure white text, map ===== */
.site-footer,.site-footer p,.site-footer li,.site-footer span,.site-footer small,.site-footer address,
.site-footer a,.footer-brand>p,.footer-cols a,.footer-contact a,.footer-bottom,.footer-bottom p,.footer-bottom a,
.footer-news,.footer-news p,.footer-news-t,.footer-h,.footer-h a{color:#fff !important}
.site-footer a:hover{color:#fff !important;text-decoration:underline}
.footer-contact svg,.socials svg{color:#fff}
.footer-news input::placeholder{color:rgba(255,255,255,.7)}
.footer-cols{grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important}
.footer-map{margin-top:36px}
.footer-map-frame{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.18);height:260px;background:#051C55}
.footer-map-frame iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:700px){.footer-map-frame{height:220px}}

/* Compact forms */
.lead-card .btn,.modal-form .btn,.form .btn-block{min-height:42px;padding-top:9px;padding-bottom:9px}
.svc-hero-form{max-width:400px}

/* Fix: display:flex on .form-body was overriding the [hidden] attribute, so the form stayed visible under the success panel. */
.form-body[hidden],.form-done[hidden]{display:none!important}
.done-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;text-align:left;margin:14px auto 18px;padding:14px 16px;max-width:380px;background:var(--mist,#f4f7fb);border-radius:12px;font-size:.9rem}
.done-summary dt{color:var(--slate);font-weight:500}
.done-summary dd{margin:0;font-weight:600;word-break:break-word}

/* ==========================================================================
   Homepage — "Where is your business right now?"
   Founder journey (illustrated picks + winding route) and Categories view.
   ========================================================================== */
.fj{padding-block:clamp(64px,8vw,104px);background:#fff}
.fj-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-bottom:clamp(24px,3.5vw,36px)}
.fj-head>div{max-width:760px}
.fj-head h2{margin-bottom:10px}
.fj-head p{color:var(--slate);font-size:1.07rem;margin:0}
.fj-views{display:none;flex:none;padding:5px;border-radius:99px;background:var(--mist);border:1px solid var(--card-bd)}
.js .fj-views{display:inline-flex}
.fj-views button{padding:9px 20px;border:0;border-radius:99px;background:transparent;font-weight:620;color:var(--slate);transition:background .2s var(--ease),color .2s var(--ease)}
.fj-views button[aria-selected="true"]{background:var(--navy-900);color:#fff}
.fj-view[hidden],.fj-pane[hidden]{display:none}
.js .fj-view+.fj-view{margin-top:0}
.fj-view+.fj-view{margin-top:48px}

/* Situation picks: illustrated tiles */
.fj-picks{display:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.fj-wrap.is-ready .fj-picks{display:grid}
.fj-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px 14px;text-align:left;border:1.5px solid var(--card-bd);border-radius:var(--r-lg);background:#fff;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}
.fj-pick:hover{border-color:var(--card-bd-h)}
.fj-pick-art{width:100%;max-width:120px;height:auto;aspect-ratio:120/96;margin:0 auto 8px;transition:transform .35s var(--ease-spring)}
.fj-pick:hover .fj-pick-art{transform:translateY(-3px)}
.fj-pick-t{font-weight:650;color:var(--text);line-height:1.25}
.fj-pick-h{font-size:.84rem;color:var(--muted);line-height:1.35}
.fj-pick[aria-selected="true"]{border-color:var(--royal);background:var(--mist);box-shadow:0 0 0 3px rgba(254,109,1,.14)}
.fj-pick[aria-selected="true"] .fj-pick-t{color:var(--royal-d)}

/* Route panel */
.fj-panes{border:1px solid var(--card-bd);border-radius:var(--r-xl);background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);box-shadow:var(--sh-2);overflow:hidden}
.fj-wrap:not(.is-ready) .fj-pane+.fj-pane{border-top:1px solid var(--card-bd)}
.fj-pane{padding:clamp(24px,3.6vw,44px)}
.fj-pane:focus-visible{outline-offset:-4px}
.fj-pane-head{display:flex;align-items:center;gap:20px;margin-bottom:8px}
.fj-pane-art{width:96px;height:auto;flex:none}
.fj-pane-head h3{font-size:clamp(1.4rem,2.2vw,1.85rem);letter-spacing:-.025em;margin:0 0 6px}
.fj-pane-head p{color:var(--slate);margin:0;max-width:60ch}
.fj-road{position:relative;padding-right:40px}
.fj-road-svg{position:absolute;left:0;right:40px;top:0;width:calc(100% - 40px);height:200px;overflow:visible}
.fj-road-band{fill:none;stroke:var(--soft-3);stroke-width:26;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fj-road-dash{fill:none;stroke:var(--royal);stroke-width:2;stroke-dasharray:8 9;vector-effect:non-scaling-stroke}
.fj-flag{position:absolute;right:0;top:62px;width:32px;height:40px}
.fj-stops{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fj-stop{display:flex;flex-direction:column;align-items:center;padding-top:20px}
.fj-stop:nth-child(even){padding-top:140px}
.fj-pin{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--royal);color:#fff;font-family:var(--f-display);font-weight:700;box-shadow:0 0 0 5px #fff,0 6px 16px -4px rgba(254,109,1,.5)}
.fj-card{display:block;width:100%;margin-top:16px;padding:16px 16px 14px;border-radius:var(--r);background:#fff;border:1px solid var(--card-bd);box-shadow:var(--sh-1);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.fj-card strong{display:block;font-weight:650;line-height:1.3}
.fj-card>span{display:block;font-size:.92rem;color:var(--slate);line-height:1.5;margin-top:4px}
.fj-card .fj-card-go{margin-top:10px;font-size:.88rem;font-weight:620;color:var(--royal-d)}
.fj-card:hover{border-color:var(--card-bd-h);box-shadow:var(--card-sh)}
.fj-card:hover strong{color:var(--royal-d)}
.fj-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:28px;padding-top:20px;border-top:1px dashed var(--line-2)}
.fj-foot p{margin:0;color:var(--slate)}

/* Categories view */
.fc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fc-card{display:flex;flex-direction:column;padding:20px 20px 18px;border:1px solid var(--card-bd);border-radius:var(--r-lg);background:#fff}
.fc-card h3{font-size:1.08rem;margin:0 0 2px}
.fc-card h3 a{text-decoration:none}
.fc-card h3 a:hover{color:var(--royal-d)}
.fc-n{margin:0 0 12px;font-size:.86rem;color:var(--muted)}
.fc-card ul{list-style:none;margin:0 0 14px;padding:0;display:grid;align-content:start;gap:6px;flex:1}
.fc-card li a{font-size:.95rem;color:var(--slate);text-decoration:none}
.fc-card li a:hover{color:var(--royal-d);text-decoration:underline}
.fc-all{font-size:.9rem;font-weight:620;color:var(--royal-d);text-decoration:none;padding-top:12px;border-top:1px solid var(--line)}
.fc-all:hover{text-decoration:underline}

@media (max-width:1100px){
  .fj-picks{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .fj-head{flex-direction:column;align-items:flex-start}
  .fj-road{padding-right:0}
  .fj-road-svg,.fj-flag{display:none}
  .fj-stops{grid-template-columns:1fr;gap:0;padding-left:4px}
  .fj-stops::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;border-left:2px dashed var(--royal);opacity:.5}
  .fj-stop,.fj-stop:nth-child(even){flex-direction:row;align-items:flex-start;gap:16px;padding:8px 0}
  .fj-card{margin-top:0}
  .fj-pane-head{align-items:flex-start}
}
@media (max-width:620px){
  .fj-picks{display:none}
  .fj-wrap.is-ready .fj-picks{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter)}
  .fj-picks::-webkit-scrollbar{display:none}
  .fj-pick{flex:none;width:150px;scroll-snap-align:start}
  .fj-pane-art{width:72px}
  .fj-foot .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.fj-pick-art{transition:none}}

/* ==========================================================================
   Homepage — "Deadlines coming up" (reads data/compliance-dates.js)
   ========================================================================== */
.dl{--dl-soon:#FFC46B}
.dl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-bottom:28px}
.dl-head>div{max-width:600px}
.dl-head h2{margin-bottom:10px}
.dl-head p{color:#A9B8DB;font-size:1.07rem;margin:0}
.dl-head .btn{flex:none}
.dl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.dl-filters{display:flex;flex-wrap:wrap;gap:8px}
.dl-chip{padding:8px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.03);color:#DCE5F8;font-size:.93rem;font-weight:560;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.dl-chip:hover{border-color:rgba(141,179,238,.6)}
.dl-chip[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--navy-900)}
.dl-today{margin:0;color:#A9B8DB;font-size:.93rem}
.dl :focus-visible{outline-color:var(--electric-2)}
.dl-rail{position:relative;height:58px;margin:30px 6px 6px}
.dl-rail-line{position:absolute;left:0;right:0;top:14px;height:2px;border-radius:2px;background:rgba(255,255,255,.16)}
.dl-tick{position:absolute;top:8px;width:1px;height:14px;background:rgba(255,255,255,.3)}
.dl-tick span{position:absolute;top:18px;left:0;transform:translateX(-50%);font-size:.8rem;color:#8C9BC0;white-space:nowrap}
.dl-mark{position:absolute;top:15px;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--electric-2);box-shadow:0 0 0 4px rgba(91,155,255,.22)}
.dl-mark.is-urgent{background:var(--dl-soon);box-shadow:0 0 0 4px rgba(255,196,107,.25)}
.dl-mark i{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-style:normal;font-size:.72rem;font-weight:700;color:#fff;line-height:1}
.dl-rail-now,.dl-rail-end{position:absolute;top:34px;font-size:.8rem;color:#8C9BC0}
.dl-rail-now{left:0;color:#DCE5F8;font-weight:600}
.dl-rail-end{right:0}
.dl-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dl-row{display:grid;align-content:start;grid-template-columns:62px 1fr;grid-template-areas:"date meta" "date main";column-gap:16px;row-gap:6px;height:100%;padding:16px 18px 16px 14px;border-radius:var(--r);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);text-decoration:none;color:inherit;transition:background .2s var(--ease),border-color .2s var(--ease)}
.dl-row:hover{background:rgba(255,255,255,.08);border-color:rgba(141,179,238,.5)}
.dl-date{grid-area:date;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;padding:8px 0;border-radius:12px;background:rgba(255,255,255,.06)}
.dl-date b{font-family:var(--f-display);font-size:1.75rem;font-weight:680;line-height:1;color:#fff;letter-spacing:-.02em}
.dl-date span{font-size:.82rem;color:#A9B8DB;margin-top:3px}
.dl-row.is-urgent .dl-date{background:rgba(255,196,107,.14)}
.dl-row.is-urgent .dl-date b{color:var(--dl-soon)}
.dl-meta{grid-area:meta;display:flex;align-items:center;justify-content:space-between;gap:10px}
.dl-cat{padding:2px 10px;border-radius:99px;background:rgba(255,255,255,.08);color:#CFE0FF;font-size:.78rem;font-weight:600}
.dl-when{font-size:.86rem;font-weight:620;color:#8DB3EE;white-space:nowrap}
.dl-row.is-urgent .dl-when{color:var(--dl-soon)}
.dl-main{grid-area:main;min-width:0}
.dl-main strong{display:block;color:#fff;font-weight:640;line-height:1.3}
.dl-main span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:.92rem;line-height:1.5;color:#A9B8DB}
.dl-empty{grid-column:1/-1;padding:18px;border-radius:var(--r);border:1px dashed rgba(255,255,255,.2);color:#A9B8DB}
.dl-empty a{color:#fff}
.dl-note{margin:22px 0 0;font-size:.86rem;color:#8C9BC0;max-width:72ch}
@media (max-width:860px){
  .dl-head{flex-direction:column;align-items:flex-start}
  .dl-list{grid-template-columns:1fr}
}
@media (max-width:520px){
  .dl-rail{display:none}
  .dl-row{grid-template-columns:52px 1fr;column-gap:12px}
  .dl-date b{font-size:1.45rem}
}

/* Chat auto pop-up: a thin bar that runs down over the 10 seconds before it closes itself */
.bot.is-auto::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--g-primary);transform-origin:left;animation:botDrain 10s linear forwards;z-index:2;pointer-events:none}
@keyframes botDrain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.bot.is-auto::after{animation:none;display:none}}

/* ==========================================================================
   Motion — hero runners and the journey road "moment"
   ========================================================================== */
/* Hero: five dots travelling the three lines in opposite directions (positioned by js/home-paths.js) */
.hero.has-runners .hero-lines{opacity:.34}
.hero.has-runners .hero-runner{left:0;top:0;width:6px;height:6px;opacity:0;animation:none;will-change:transform,opacity;box-shadow:0 0 12px 3px rgba(255,138,43,.75)}
.hero.has-runners .hero-runner.hd-gold{box-shadow:0 0 12px 3px rgba(242,200,121,.7)}

/* Journey: marker that drives the road */
.fj-traveler{position:absolute;left:0;top:0;z-index:1;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#FFC46B;border:3px solid #fff;box-shadow:0 0 0 6px rgba(255,196,107,.28),0 6px 18px -4px rgba(8,18,51,.45);opacity:0;transition:opacity .3s var(--ease);pointer-events:none;will-change:transform}
.fj-road.is-playing .fj-traveler,.fj-road.is-done .fj-traveler{opacity:1}

/* Stops wait until the marker reaches them, then rise in */
.fj-card{transition:opacity .5s var(--ease),translate .7s var(--ease-spring),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.fj-pin{transition:scale .45s var(--ease-spring),opacity .3s var(--ease)}
.fj-wrap.is-ready .fj-road:not(.is-done) .fj-stop:not(.is-reached) .fj-card{opacity:0;translate:0 16px}
.fj-wrap.is-ready .fj-road:not(.is-done) .fj-stop:not(.is-reached) .fj-pin{opacity:.35;scale:.7}
.fj-stop.is-reached .fj-pin{animation:fjPing .9s var(--ease-out) 1}
@keyframes fjPing{0%{box-shadow:0 0 0 5px #fff,0 0 0 5px rgba(254,109,1,.55)}100%{box-shadow:0 0 0 5px #fff,0 0 0 22px rgba(254,109,1,0)}}

/* Flag waves when the marker arrives */
.fj-flag path:last-child{transform-origin:7px 12px;transform-box:view-box}
.fj-road.is-done .fj-flag path:last-child{animation:fjWave 1.1s ease-in-out 2}
@keyframes fjWave{0%,100%{transform:skewY(0)}50%{transform:skewY(-12deg) scaleX(.9)}}

/* Cards float gently once the route is complete */
.fj-road.is-done .fj-card{animation:fjFloat 5.5s ease-in-out infinite alternate}
.fj-road.is-done .fj-stop:nth-child(2) .fj-card{animation-delay:-1.4s}
.fj-road.is-done .fj-stop:nth-child(3) .fj-card{animation-delay:-2.8s}
.fj-road.is-done .fj-stop:nth-child(4) .fj-card{animation-delay:-4.2s}
.fj-road.is-done .fj-card:hover,.fj-road.is-done .fj-card:focus-visible{animation-play-state:paused}
@keyframes fjFloat{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@media (max-width:860px){
  .fj-traveler{display:none}
  @keyframes fjFloat{from{transform:translateY(0)}to{transform:translateY(-4px)}}
}
@media (prefers-reduced-motion:reduce){
  .fj-traveler{display:none}
  .fj-road.is-done .fj-card,.fj-stop.is-reached .fj-pin,.fj-road.is-done .fj-flag path:last-child{animation:none}
  .fj-card,.fj-pin{transition:none}
}

/* Hero headline: the last words swap between services */
.hero-rot{position:relative;display:grid;justify-items:center;overflow:hidden;padding-bottom:.08em;margin-top:.04em}
.hero-rot-w{grid-area:1/1;white-space:nowrap;background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(105%);transition:opacity .45s var(--ease),transform .6s var(--ease-out)}
.hero-rot-w::after{content:"."}
.hero-rot-w.is-on{opacity:1;transform:none}
.hero-rot-w.is-out{opacity:0;transform:translateY(-105%)}
@media (prefers-reduced-motion:reduce){.hero-rot-w{transition:opacity .3s linear;transform:none!important}}

/* Hero: no grid lines */
.hero-grid-bg{display:none}

/* ===== Mobile: compact AI chatbot popup + lead form (reduced size) ===== */
@media (max-width:640px){
  .bot,.page-service .bot{left:auto;right:12px;width:min(310px,calc(100vw - 24px));height:min(410px,calc(100vh - 200px));height:min(410px,calc(100dvh - 200px));bottom:80px;border-radius:18px;transform-origin:bottom right;box-shadow:0 18px 44px -16px rgba(8,18,51,.5)}
  .page-service .bot{bottom:146px;height:min(410px,calc(100vh - 270px));height:min(410px,calc(100dvh - 270px))}
  .bot-head{gap:9px;padding:9px 10px 9px 12px}
  .bot-avatar{width:32px;height:32px}
  .bot-avatar img{width:21px;height:21px;object-fit:contain}
  .bot-name{font-size:.9rem}
  .bot-status{font-size:.7rem;gap:5px}
  .bot-status span{width:6px;height:6px}
  .bot-wa,.bot-close{width:30px;height:30px;border-radius:8px}
  .bot-wa svg,.bot-close svg{width:16px;height:16px}
  .bot-body{padding:10px;gap:7px}
  .msg{padding:7px 11px;font-size:.84rem;line-height:1.4;border-radius:13px;max-width:90%}
  .chips-row{gap:5px}
  .chip{padding:5px 10px;font-size:.78rem;gap:4px}
  .svc-mini{width:92%;padding:10px}
  .svc-mini strong{font-size:.88rem}
  .svc-mini p{font-size:.78rem;margin:3px 0 7px}
  .svc-mini-meta{font-size:.74rem;gap:9px;margin-bottom:7px}
  .bot-lead{gap:6px;padding:10px;border-radius:12px}
  .bot-lead input{height:36px;padding:0 10px;font-size:.84rem;border-radius:8px}
  .bot-input{padding:8px;gap:6px}
  .bot-input input{height:38px;padding:0 11px;font-size:.84rem;border-radius:10px}
  .bot-input button{width:38px;height:38px;border-radius:10px}
  .bot-input svg{width:16px;height:16px}
}
@media (max-width:640px) and (max-height:600px){
  .bot,.page-service .bot{height:calc(100vh - 150px);height:calc(100dvh - 150px);bottom:76px}
}

/* ===== Mobile fixes: contact cards, category headers, logo sizing ===== */
@media (max-width:560px){
  .contact-cards{grid-template-columns:1fr;gap:12px}
  .contact-card{padding:18px;height:auto}
  .contact-card>span:last-child{overflow-wrap:anywhere;word-break:break-word}
  .svc-group-head{flex-wrap:wrap;row-gap:8px}
  .svc-group-head .link-arrow{margin-left:0}
  .brand .brand-logo{height:36px}
  .m-drawer-head .brand-logo{height:36px}
}
@media (max-width:360px){
  .brand .brand-logo{height:32px}
}
