:root{--b:#4285F4;--r:#EA4335;--y:#FBBC05;--g:#34A853;--ink:#0f172a;--mut:#475569;--bg:#fff;--alt:#f6f8fc;--line:#e2e8f0;--rad:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:16px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto}a{color:var(--b)}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:700}h3{font-size:1.15rem}
.grad{background:linear-gradient(90deg,var(--b),var(--r),var(--y),var(--g));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--b);margin:0 0 .6rem}
.sub,.lead{color:var(--mut);font-size:1.1rem;max-width:680px}
.btn{display:inline-block;background:var(--b);color:#fff;text-decoration:none;font-weight:600;padding:.85rem 1.5rem;border-radius:999px;border:0;cursor:pointer;font:600 1rem Inter,sans-serif;transition:.2s;box-shadow:0 6px 18px rgba(66,133,244,.3)}
.btn:hover{transform:translateY(-2px);background:#2f6fe0}.btn-sm{padding:.5rem 1.1rem;font-size:.9rem;box-shadow:none}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn-ghost:hover{background:var(--alt)}
:focus-visible{outline:3px solid var(--y);outline-offset:2px}

.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand img{height:34px;width:auto;display:block}
#menu{display:flex;gap:1.4rem;align-items:center}#menu a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}#menu a:not(.btn):hover{color:var(--b)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

.hero{padding:72px 0 56px;background:radial-gradient(900px 400px at 85% 0,#e8f0fe,transparent),var(--bg)}
.hero-in{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:1.6rem 0}
.trust{list-style:none;display:flex;gap:28px;flex-wrap:wrap;padding:0;margin:1.5rem 0 0;color:var(--mut);font-size:.9rem}.trust strong{display:block;font:800 1.6rem Poppins;color:var(--ink)}
.hero-card{position:relative;min-height:340px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 60px rgba(15,23,42,.1);display:grid;place-items:center;padding:20px}
.hero-card img{border-radius:50%}
.chip{position:absolute;padding:.5rem 1rem;border-radius:999px;font-weight:600;font-size:.85rem;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.chip.c-b{background:var(--b);top:8%;left:6%}.chip.c-r{background:var(--r);top:22%;right:5%}.chip.c-y{background:var(--y);color:#222;bottom:24%;left:4%}.chip.c-g{background:var(--g);bottom:8%;right:8%}

.sec{padding:84px 0}.alt{background:var(--alt)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:2.2rem}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:26px;border-top:4px solid var(--b);transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,23,42,.09)}
.card.c-r{border-top-color:var(--r)}.card.c-y{border-top-color:var(--y)}.card.c-g{border-top-color:var(--g)}
.card p{color:var(--mut);margin:0}.ic{font-size:1.8rem;margin-bottom:.5rem}
.more{margin-top:2rem;color:var(--mut)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.defs{margin:0;display:grid;gap:14px}.defs div{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:18px 22px}
.defs dt{font:800 1.3rem Poppins;color:var(--b)}.defs dd{margin:.2rem 0 0;color:var(--mut)}
.steps{list-style:none;padding:0;margin:2.2rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.steps li{position:relative}.steps span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--b);color:#fff;font:700 1.1rem Poppins;margin-bottom:.8rem}
.steps li:nth-child(2) span{background:var(--r)}.steps li:nth-child(3) span{background:var(--y);color:#222}.steps li:nth-child(4) span{background:var(--g)}
.steps p{color:var(--mut);margin:0}
.pledges{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;padding:0;font-weight:500}
.price .big{font:800 2rem Poppins;color:var(--ink)}.price small{font-size:1rem;color:var(--mut);font-weight:500}.price.hot{border-top-color:var(--g);box-shadow:0 14px 34px rgba(52,168,83,.15)}.g3{grid-template-columns:repeat(3,1fr)}
.quote{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.quote blockquote{margin:0 0 1rem;font-size:1.05rem}.quote blockquote::before{content:"“";font:800 3rem/0 Poppins;color:var(--y);display:block;margin-bottom:.8rem}
.quote figcaption{color:var(--mut);font-weight:600;font-size:.9rem}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:600}details p{margin:.7rem 0 0;color:var(--mut)}
.contact address{font-style:normal;margin:1.2rem 0}.contact address p{margin:.4rem 0}
.form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 14px 40px rgba(15,23,42,.07)}
.form label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.form input,.form select,.form textarea{font:1rem Inter,sans-serif;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--b);border-color:var(--b)}
.foot{background:#0f172a;color:#cbd5e1;padding:36px 0}.foot-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot img{height:34px;width:auto;background:#fff;padding:6px 12px;border-radius:10px}.foot p{margin:0;font-size:.9rem}
.wa{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--g);display:grid;place-items:center;font-size:1.5rem;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:40}

@media(max-width:900px){
 .hero-in,.two{grid-template-columns:1fr}.grid,.g3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}
 .burger{display:block}
 #menu{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--line);display:none}
 #menu.open{display:flex}
}
@media(max-width:600px){.grid,.g2,.g3,.steps,.pledges{grid-template-columns:1fr}.sec{padding:60px 0}.hero{padding:44px 0}.hero-card{min-height:280px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* multi-page additions */
.nav button{font:inherit}
#menu>a,.mega-btn{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;background:none;border:0;cursor:pointer;padding:0}
#menu>a:hover,.mega-btn:hover,.has-mega.open .mega-btn{color:var(--b)}
#menu .btn{color:#fff}
.has-mega{position:static}
.mega{position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(15,23,42,.12);display:none}
.has-mega.open .mega{display:block}
.mega-in{display:grid;grid-template-columns:repeat(5,1fr) 1.1fr;gap:24px;padding:28px 20px}
.mega h4{font:700 .72rem Inter;text-transform:uppercase;letter-spacing:.1em;color:var(--b);margin:0 0 10px}
.mega a{display:block;color:var(--ink);text-decoration:none;font-size:.9rem;padding:4px 0}.mega a:hover{color:var(--b)}
.mega .promo{background:var(--alt);border-radius:14px;padding:18px}.mega .promo p{margin:.3rem 0 .8rem;font-size:.85rem;color:var(--mut)}
.mega .promo .btn{display:inline-block;color:#fff;padding:.5rem 1rem;font-size:.85rem}
.crumbs{font-size:.85rem;color:var(--mut);margin-bottom:1rem}.crumbs a{color:var(--mut)}
.page-hero{padding:56px 0 40px;background:radial-gradient(800px 300px at 90% 0,#e8f0fe,transparent),var(--bg)}
.tight{padding:20px 0 40px}.g4{grid-template-columns:repeat(4,1fr)}
.quick .card{text-decoration:none;color:inherit;padding:20px}.quick h3{margin:0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ticks li{position:relative;padding:14px 16px 14px 46px;background:#fff;border:1px solid var(--line);border-radius:12px}
.ticks li::before{content:"✓";position:absolute;left:16px;top:13px;color:#fff;background:var(--g);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem}
.cat{margin-top:2.4rem}.cat>h3{font-size:1.3rem}
a.card{display:block;text-decoration:none;color:inherit}
.cta-band{background:linear-gradient(135deg,#4285F4,#2f6fe0);color:#fff;text-align:center}
.cta-band .btn{background:#fff;color:#1a56c4;box-shadow:none}.cta-band p{opacity:.9}.center{text-align:center}
.prose{max-width:760px}.prose h2{margin-top:2rem;font-size:1.6rem}.prose p,.prose li{color:#334155}
.prose-wide{max-width:1140px}.prose-wide>*{max-width:820px}
.founder{align-items:center}.founder-img{width:100%;max-width:460px;aspect-ratio:1;object-fit:cover;border-radius:20px;box-shadow:0 12px 32px rgba(15,23,42,.12)}
.timeline{list-style:none;padding:0;border-left:3px solid var(--b);margin:1.5rem 0}.timeline li{padding:0 0 18px 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--r)}
.timeline strong{display:block;font-family:Poppins}
.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.skills div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.skills h3{font-size:1rem;margin-bottom:.3rem;color:var(--b)}.skills p{margin:0;color:var(--mut);font-size:.92rem}
.meta{color:var(--mut);font-size:.85rem}
dialog{border:0;border-radius:20px;padding:0;width:min(520px,94vw);box-shadow:0 30px 80px rgba(15,23,42,.35)}
dialog::backdrop{background:rgba(15,23,42,.6);backdrop-filter:blur(3px)}
dialog .form{border:0;box-shadow:none;border-radius:0;padding:28px}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px 0}.dlg-head h2{margin:0;font-size:1.3rem}
.dlg-x{background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--mut)}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-bottom:28px;margin-bottom:24px;border-bottom:1px solid #1e293b;width:100%}
.foot h4{color:#fff;margin:0 0 10px;font:700 .9rem Inter}.foot a{color:#cbd5e1;text-decoration:none;display:block;padding:3px 0;font-size:.9rem}.foot a:hover{color:#fff}
.foot-in{flex-direction:column;align-items:flex-start}
@media(max-width:900px){
 .mega{position:static;box-shadow:none;border:0}.mega-in{grid-template-columns:1fr 1fr;padding:12px 0}.mega .promo{display:none}
 #menu{gap:.9rem}.g4{grid-template-columns:1fr 1fr}.foot-cols{grid-template-columns:1fr 1fr}.skills{grid-template-columns:1fr}
}
@media(max-width:600px){.mega-in,.g4,.foot-cols{grid-template-columns:1fr}}

/* mega menu behaviour fixes */
@media(min-width:901px){
 #menu{align-self:stretch}
 .has-mega{display:flex;align-items:center;align-self:stretch}
 .mega-btn{height:100%;display:flex;align-items:center;gap:4px}
 .mega{top:100%;max-height:calc(100vh - 80px);overflow:auto}
 .mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
}
.mega-btn[aria-expanded="true"]{color:var(--b)}
@media(max-width:900px){.mega-btn{width:100%;text-align:left;padding:4px 0}.has-mega{width:100%}}

/* long-form content */
.prose h3{font-size:1.15rem;margin:1.4rem 0 .4rem}
.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.35rem 0}
.prose a{text-decoration:underline}
.cmp{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem;display:block;overflow-x:auto}
.cmp th,.cmp td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.cmp thead th{background:var(--alt)}

/* ===== header & breadcrumb UX upgrade ===== */
.topbar{background:#0f172a;color:#cbd5e1;font-size:.8rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.tb-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar a{color:#e2e8f0;text-decoration:none}.topbar a:hover{color:#fff;text-decoration:underline}
.tb-hours{opacity:.8}
.nav{transition:box-shadow .25s,background .25s}
.nav.scrolled{box-shadow:0 8px 24px rgba(15,23,42,.1);background:rgba(255,255,255,.98)}
.nav-in{height:72px}.brand img{height:40px}
.mega{top:100%}
#menu>a:not(.btn),.mega-btn{position:relative;padding:8px 2px}
#menu>a:not(.btn)::after,.mega-btn::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--b);transform:scaleX(0);transform-origin:left;transition:transform .2s}
#menu>a:not(.btn):hover::after,.has-mega.open .mega-btn::after,#menu a[aria-current="page"]::after,.mega-btn.active::after{transform:scaleX(1)}
#menu a[aria-current="page"],.mega-btn.active{color:var(--b)!important;font-weight:600}
.mega a[aria-current="page"]{color:var(--b);font-weight:600}
.mega-in{box-shadow:inset 0 1px 0 var(--line)}
.mega h4{padding-bottom:6px;border-bottom:2px solid var(--alt)}
.mega a{padding:5px 8px;margin:0 -8px;border-radius:8px;transition:background .15s}.mega a:hover{background:var(--alt)}

/* breadcrumbs */
.crumbs{margin:0 0 1.1rem;font-size:.85rem}
.crumbs ol{list-style:none;margin:0;padding:6px 14px;display:inline-flex;align-items:center;flex-wrap:nowrap;gap:0;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.05);max-width:100%;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.crumbs ol::-webkit-scrollbar{display:none}
.crumbs li{display:inline-flex;align-items:center;color:var(--mut)}
.crumbs li+li::before{content:"";width:6px;height:6px;margin:0 10px;border-top:2px solid #94a3b8;border-right:2px solid #94a3b8;transform:rotate(45deg)}
.crumbs a{display:inline-flex;align-items:center;gap:6px;color:var(--mut);text-decoration:none;padding:2px 0}
.crumbs a:hover{color:var(--b);text-decoration:underline}
.crumbs li:first-child a{color:var(--b);font-weight:600}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600}

@media(max-width:900px){
 .topbar .tb-hours,.topbar-in>span:first-child{display:none}.topbar-in{justify-content:center}
 .nav-in{height:64px}.brand img{height:34px}
 #menu{top:64px;max-height:calc(100vh - 100px);overflow-y:auto;padding:8px 20px 20px;box-shadow:0 20px 40px rgba(15,23,42,.15)}
 #menu>a:not(.btn),.mega-btn{display:block;width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem}
 #menu>a:not(.btn)::after,.mega-btn::after{display:none}
 #menu .btn{width:100%;text-align:center;margin-top:12px;padding:.8rem 1rem}
 .mega-btn{display:flex;justify-content:space-between}
 .mega-in{padding:8px 0 4px}.mega a{padding:10px 8px}
}
@media(max-width:600px){.crumbs ol{padding:6px 12px}.crumbs{font-size:.8rem}}
