
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#08090a;color:#f7f8f8;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:'cv01','ss03';font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid #7170ff;outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#5e6ad2;color:#fff;padding:8px 14px}
.skip:focus{left:0}
/* Topbar */
.topbar{background:#151a20;color:#f7f5f1;border-bottom:1px solid rgba(255,255,255,.05)}
.tb-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:34px;font-size:12px;font-weight:510;letter-spacing:-.1px}
.tb-in a{color:rgba(247,245,241,.65)}
.tb-in a:hover{color:#f7f5f1}
.tb-meta{color:rgba(247,245,241,.5);font-weight:400}
/* Header */
.site-head{position:sticky;top:0;z-index:60;background:rgba(8,9,10,.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:590;letter-spacing:-.2px;color:#f7f8f8}
.brand svg{display:block;border-radius:6px}
.nav{display:flex;align-items:center;gap:26px}
.nav>a{font-size:13px;font-weight:510;color:#d0d6e0}
.nav>a:hover{color:#f7f8f8}
.nav>a[aria-current]{color:#f7f8f8}
.nav-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);cursor:pointer}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:6px;font-size:14px;font-weight:510;letter-spacing:-.1px;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.btn-primary{background:#5e6ad2;color:#fff}
.btn-primary:hover{background:#828fff;color:#fff}
.btn-ghost{background:rgba(255,255,255,.02);color:#e2e4e7;border-color:rgb(36,40,44)}
.btn-ghost:hover{background:rgba(255,255,255,.05);color:#f7f8f8}
.btn-sm{padding:6px 12px;font-size:13px}
/* Type & sections */
.eyebrow{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7170ff;display:block;margin-bottom:12px}
h2{font-size:32px;line-height:1.13;letter-spacing:-.704px;font-weight:510}
.sec{padding:88px 0;border-top:1px solid rgba(255,255,255,.05)}
.sec-alt{background:#0f1011}
.sec-head{max-width:660px;margin:0 auto 44px;text-align:center}
.sec-head p{margin-top:12px;font-size:15px;line-height:1.6;letter-spacing:-.165px;color:#8a8f98}
.center{text-align:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:9999px;border:1px solid #23252a;font-size:12px;font-weight:510;color:#d0d6e0}
.dot{width:6px;height:6px;border-radius:50%;background:#27a644;flex:none}
/* Hero */
.hero{position:relative;padding:112px 0 88px;text-align:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(640px 320px at 50% -80px,rgba(94,106,210,.20),transparent 70%);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(40px,6.4vw,72px);line-height:1.02;letter-spacing:-.022em;font-weight:510;max-width:840px;margin:22px auto 0}
.lede{font-size:18px;line-height:1.6;letter-spacing:-.165px;color:#8a8f98;max-width:640px;margin:20px auto 0}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
.hero-note{margin-top:20px;font-size:13px;color:#62666d;letter-spacing:-.1px}
/* Cards */
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,1fr)}
.card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:24px;transition:background .15s,border-color .15s}
.card:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.card h3{font-size:16px;font-weight:590;letter-spacing:-.2px;margin-bottom:8px}
.card p{font-size:14px;line-height:1.55;letter-spacing:-.1px;color:#8a8f98}
.tag{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#62666d;display:block;margin-bottom:14px}
.more{display:inline-block;margin-top:16px;font-size:13px;font-weight:510;color:#7170ff}
.more:hover{color:#828fff}
.pad-b{margin-top:36px}
/* Why us */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.ticks{list-style:none;margin:26px 0 30px;display:grid;gap:14px}
.ticks li{position:relative;padding-left:28px;font-size:15px;line-height:1.55;letter-spacing:-.165px;color:#d0d6e0}
.ticks li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:rgba(94,106,210,.16);color:#9aa0ff;font-size:11px;font-weight:590;display:flex;align-items:center;justify-content:center}
.stack{display:grid;gap:16px}
/* Areas */
.areas-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.area-note{margin-top:20px;font-size:13px;color:#62666d}
.link-row{margin-top:24px}
/* Testimonials */
blockquote{font-size:15px;line-height:1.6;letter-spacing:-.165px;color:#d0d6e0}
.q-meta{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);display:flex;gap:10px;font-size:12px;color:#62666d}
/* CTA band */
.cta-band{padding:104px 0;text-align:center;position:relative;border-top:1px solid rgba(255,255,255,.05);overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 260px at 50% 0,rgba(94,106,210,.16),transparent 70%);pointer-events:none}
.cta-band .wrap{position:relative}
.cta-band h2{font-size:clamp(34px,5vw,48px);letter-spacing:-.022em;font-weight:510;line-height:1.05}
.cta-band p{margin:16px auto 0;max-width:560px;font-size:15px;color:#8a8f98;line-height:1.6;letter-spacing:-.165px}
.mail-note{margin-top:22px;font-size:13px;color:#62666d}
.mail-note a{color:#8a8f98}
.mail-note a:hover{color:#f7f8f8}
/* Footer */
footer.site{background:#151a20;color:#f7f5f1;border-top:1px solid rgba(255,255,255,.05);padding:56px 0 28px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:32px}
.f-col h4{font-size:13px;font-weight:590;letter-spacing:-.1px;margin-bottom:14px}
.f-col a,.f-col p{display:block;font-size:13px;padding:5px 0;color:rgba(247,245,241,.6)}
.f-col a:hover{color:#f7f5f1}
.f-blurb{font-size:13px;line-height:1.6;color:rgba(247,245,241,.6);max-width:280px;margin-top:12px}
.f-bottom{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:rgba(247,245,241,.45)}
.f-bottom a{color:rgba(247,245,241,.6)}
.f-bottom a:hover{color:#f7f5f1}
.f-legal{display:flex;gap:18px}
/* Responsive */
@media(max-width:960px){.g3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:36px}.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
.nav{display:none}
.nav.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:16px;background:#0f1011;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-toggle{display:inline-flex}
.g3{grid-template-columns:1fr}
.tb-meta{display:none}
.f-grid{grid-template-columns:1fr}
.sec{padding:64px 0}
.hero{padding:80px 0 64px}
}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.cta-section{padding:64px 24px;text-align:center}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 24px}
.map-placeholder{background:#e5e7eb;min-height:320px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#6b7280}
.site-footer{background:#111827;color:#e5e7eb;padding:56px 24px 24px;margin-top:72px}

.abn{font-size:12px;color:#9ca3af}
.approach{padding:24px}
.area-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.area-groups{}
.brand-sub{font-weight:700;color:var(--text,#111)}
.btn-outline{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none}
.btn-secondary{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none}
.cards-row{}
.checkbox-label{}
.content-grid{}
.content-main{}
.content-section{}
.content-side{}
.coverage-photo{}
.credential-card{}
.credentials{}
.cta{}
.cta-box{}
.cta-buttons{}
.footer-col{}
.footer-copy{}
.footer-legal{}
.footer-links{}
.form-note{}
.form-row{}
.grid-2{}
.grid-3{}
.hero-actions{}
.lead{}
.local-knowledge{}
.logo{}
.main-nav{}
.mainnav{}
.map-section{}
.meta-note{}
.mini-card{}
.narrow{}
.nav-cta{}
.nav-links{}
.page{}
.page-hero{}
.process-steps{}
.quote-form{}
.section{}
.section-alt{}
.service-body{}
.service-card{}
.service-media{}
.site-header{}
.site-title{}
.steps{}
.story{}
.topbar-contact{}
.topbar-inner{}
.topbar-note{}
.two-col{}
.value-card{}
.values{}
