
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:"cv01","ss03";background:#08090a;color:#f7f8f8;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:#828fff;text-decoration:none}
a:hover{color:#a5a8ff}
img{max-width:100%}
.topbar{background:#151a20;color:#f7f5f1;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:50}
.topbar-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;color:#f7f5f1;font-weight:600;font-size:15px;letter-spacing:-.13px}
.brand-mark{width:26px;height:26px;border-radius:6px;background:#5e6ad2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-mark svg{width:16px;height:16px}
nav.main{display:flex;align-items:center;gap:4px}
nav.main a{color:#d0d6e0;font-size:13px;font-weight:500;padding:8px 12px;border-radius:6px;transition:background .15s,color .15s}
nav.main a:hover{color:#f7f8f8;background:rgba(255,255,255,.05)}
nav.main a[aria-current="page"]{color:#f7f8f8}
.top-cta{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;font-size:14px;font-weight:500;padding:8px 16px;cursor:pointer;border:none;font-family:inherit;transition:background .15s,color .15s}
.btn-primary{background:#5e6ad2;color:#fff}
.btn-primary:hover{background:#828fff;color:#fff}
.btn-ghost{background:rgba(255,255,255,.02);color:#e2e4e7;border:1px solid rgb(36,40,44)}
.btn-ghost:hover{background:rgba(255,255,255,.06);color:#fff}
.hero{padding:110px 24px 90px;text-align:center;position:relative;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(94,106,210,.22),transparent)}
.hero-inner{max-width:820px;margin:0 auto}
.hero .kicker{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8a8f98;margin-bottom:22px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.02)}
.dot{width:7px;height:7px;border-radius:50%;background:#10b981;display:inline-block}
.hero h1{font-size:72px;font-weight:500;line-height:1.0;letter-spacing:-1.584px;margin-bottom:24px}
.hero p.sub{font-size:18px;font-weight:400;line-height:1.6;letter-spacing:-.165px;color:#8a8f98;max-width:620px;margin:0 auto 36px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-actions .btn{padding:10px 20px;font-size:15px}
section{padding:88px 24px}
.wrap{max-width:1200px;margin:0 auto}
.eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7170ff;margin-bottom:14px}
h2{font-size:48px;font-weight:500;line-height:1.0;letter-spacing:-1.056px;margin-bottom:18px}
h3{font-size:20px;font-weight:600;line-height:1.33;letter-spacing:-.24px}
.lead{font-size:18px;color:#8a8f98;line-height:1.6;letter-spacing:-.165px;max-width:640px}
.sec-head{margin-bottom:48px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px;transition:background .2s,border-color .2s}
.card:hover{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.card p{color:#8a8f98;font-size:15px;line-height:1.6;letter-spacing:-.165px;margin-top:10px}
.card .tag{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:#62666d;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;display:block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.check-list{list-style:none;margin-top:24px}
.check-list li{display:flex;gap:12px;align-items:flex-start;color:#d0d6e0;font-size:15px;line-height:1.6;padding:9px 0}
.check-list svg{flex-shrink:0;margin-top:3px}
.areas-strip{background:#0f1011;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pill{border:1px solid rgb(35,37,42);border-radius:999px;padding:6px 14px;color:#d0d6e0;font-size:13px;font-weight:500;background:transparent}
.photo-band{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.testimonials .card{display:flex;flex-direction:column;gap:16px}
.quote-text{font-size:15px;line-height:1.65;color:#d0d6e0;letter-spacing:-.165px}
.quote-who{font-size:13px;color:#62666d}
.quote-who strong{color:#f7f8f8;font-weight:500}
.stars{color:#7170ff;font-size:13px;letter-spacing:2px}
.cta-band{background:radial-gradient(ellipse 70% 90% at 50% 120%,rgba(94,106,210,.25),transparent),#08090a;text-align:center;padding:96px 24px}
.cta-band h2{margin-bottom:16px}
.cta-band p{color:#8a8f98;font-size:18px;max-width:560px;margin:0 auto 32px;letter-spacing:-.165px;line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;border-top:1px solid rgba(255,255,255,.06);padding-top:40px}
.stat b{display:block;font-size:32px;font-weight:500;letter-spacing:-.7px;color:#f7f8f8}
.stat span{font-size:13px;color:#8a8f98}
footer.site{background:#151a20;color:#f7f5f1;border-top:1px solid rgba(255,255,255,.06);padding:64px 24px 36px}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
footer.site h4{font-size:13px;font-weight:600;letter-spacing:-.13px;margin-bottom:14px;color:#f7f5f1}
footer.site a{color:rgba(247,245,241,.62);font-size:13px;display:block;padding:5px 0}
footer.site a:hover{color:#f7f5f1}
.foot-brand p{color:rgba(247,245,241,.62);font-size:13px;line-height:1.6;margin-top:12px;max-width:300px}
.foot-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,.07);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(247,245,241,.5)}
@media(max-width:900px){.hero h1{font-size:48px;letter-spacing:-1.056px}.grid-3{grid-template-columns:1fr}.split{grid-template-columns:1fr}.photo-band{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}h2{font-size:32px;letter-spacing:-.704px}.foot-grid{grid-template-columns:1fr 1fr}nav.main{display:none}}
@media(max-width:600px){.hero{padding:70px 20px 60px}.hero h1{font-size:36px;letter-spacing:-.5px}.foot-grid{grid-template-columns:1fr}}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:780px;margin:0 auto;padding:0 24px}
.centre{text-align:center}
.section{padding:88px 24px}
.section-alt{background:#0f1011;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.services,.process{padding:88px 24px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(21,26,32,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar-brand{display:flex;align-items:center;gap:10px;color:#f7f5f1;font-weight:600;font-size:15px;letter-spacing:-.13px;text-decoration:none}
.nav,.main-nav{display:flex;align-items:center;gap:4px}
.nav-list{display:flex;align-items:center;gap:4px;list-style:none}
.nav a,.main-nav a,.nav-list a{color:#d0d6e0;font-size:13px;font-weight:500;padding:8px 12px;border-radius:6px;transition:background .15s,color .15s}
.nav a:hover,.main-nav a:hover,.nav-list a:hover{color:#f7f8f8;background:rgba(255,255,255,.05)}
.nav-list a[aria-current="page"]{color:#f7f8f8}
.nav-cta{margin-left:10px}
.btn-secondary{background:rgba(255,255,255,.06);color:#f7f8f8;border:1px solid rgba(255,255,255,.12)}
.btn-secondary:hover{background:rgba(255,255,255,.1);color:#fff}
.page-hero{padding:96px 24px 72px;text-align:center;position:relative;background:radial-gradient(ellipse 70% 60% at 50% -20%,rgba(94,106,210,.18),transparent)}
.page-hero h1{font-size:56px;font-weight:500;line-height:1.05;letter-spacing:-1.232px;margin-bottom:16px}
.page-hero .lead{margin:0 auto}
.tagline{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8a8f98;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.02);margin-bottom:22px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px}
.area-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px 28px;transition:background .2s,border-color .2s}
.area-card:hover{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.area-card h3{margin-bottom:8px}
.area-card p{color:#8a8f98;font-size:14px;line-height:1.6;letter-spacing:-.165px}
.step-list{list-style:none;counter-reset:step;margin-top:32px;display:grid;gap:14px}
.step-list li{counter-increment:step;display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px 24px}
.step-list li::before{content:counter(step,decimal-leading-zero);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#7170ff;border:1px solid rgba(113,112,255,.3);border-radius:999px;padding:4px 10px;flex-shrink:0;line-height:1.4}
.step-list h3{margin-bottom:6px}
.step-list p{color:#8a8f98;font-size:14px;line-height:1.6}
.tick-list{list-style:none;margin-top:24px}
.tick-list li{display:flex;gap:12px;align-items:flex-start;color:#d0d6e0;font-size:15px;line-height:1.6;padding:9px 0}
.tick-list svg{flex-shrink:0;margin-top:3px;color:#7170ff}
.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.contact-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px}
.contact-card h3{margin-bottom:8px}
.hours-list{list-style:none;margin-top:18px;display:grid;gap:0}
.hours-list li{display:flex;justify-content:space-between;gap:16px;color:#8a8f98;font-size:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hours-list li:last-child{border-bottom:none}
.hours-list span+span,.hours-list strong{color:#f7f8f8;font-weight:500}
.contact-form label{display:block;font-size:13px;font-weight:500;color:#d0d6e0;margin-bottom:8px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:rgba(255,255,255,.02);border:1px solid rgb(36,40,44);border-radius:6px;color:#f7f8f8;font-family:inherit;font-size:14px;padding:10px 12px;margin-bottom:16px;transition:border-color .15s,background .15s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:#5e6ad2;background:rgba(94,106,210,.06)}
.contact-form ::placeholder{color:#62666d}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:12px;color:#62666d;line-height:1.5;margin:-6px 0 16px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#8a8f98;line-height:1.5;margin:2px 0 18px}
.consent input{width:auto;margin:2px 0 0;accent-color:#5e6ad2}
.email-link{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;color:#828fff;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid rgba(130,143,255,.3);padding-bottom:2px;transition:color .15s,border-color .15s}
.email-link:hover{color:#a5a8ff;border-color:rgba(165,168,255,.4)}
.map-inner{max-width:900px;margin:0 auto}
.map-placeholder{border:1px dashed rgb(36,40,44);border-radius:12px;padding:64px 24px;text-align:center;background:rgba(255,255,255,.02)}
.map-title{font-size:18px;font-weight:600;letter-spacing:-.2px;margin-bottom:6px}
.map-sub{color:#62666d;font-size:14px}
.quote-form-section{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.quote-intro{max-width:520px}
.quote-image{display:block;width:100%;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.quote-image-2{display:block;width:100%;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08);margin-top:20px}
.what-next{margin-top:36px;background:rgba(94,106,210,.06);border:1px solid rgba(113,112,255,.2);border-radius:12px;padding:24px 28px}
.what-next h3{margin-bottom:8px}
.what-next p{color:#8a8f98;font-size:14px;line-height:1.6}
.cta-section{text-align:center;padding:96px 24px;background:radial-gradient(ellipse 70% 90% at 50% 120%,rgba(94,106,210,.25),transparent),#08090a}
.cta{color:#8a8f98;font-size:18px;line-height:1.6;letter-spacing:-.165px;max-width:560px;margin:0 auto 32px}
.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-buttons .btn{padding:10px 20px;font-size:15px}
.caption{font-size:13px;color:#62666d;line-height:1.5;text-align:center;margin-top:12px}
.legal-page{max-width:760px;margin:0 auto;padding:72px 24px 96px}
.legal-page h1{font-size:44px;font-weight:500;line-height:1.05;letter-spacing:-.924px;margin-bottom:14px}
.legal-page h2{font-size:24px;letter-spacing:-.288px;margin:40px 0 12px}
.legal-page p{color:#b6bcc6;font-size:15px;line-height:1.7;letter-spacing:-.165px;margin-bottom:14px}
.legal-page ul{margin:0 0 14px 20px;color:#b6bcc6;font-size:15px;line-height:1.7}
.legal-meta{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#62666d;letter-spacing:.02em;margin-bottom:40px}
.site-footer,.footer{border-top:1px solid rgba(255,255,255,.06);background:#0a0b0c;padding:64px 24px 32px}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px}
.footer-brand{display:flex;align-items:center;gap:10px;color:#f7f5f1;font-weight:600;font-size:15px;letter-spacing:-.13px;text-decoration:none}
.footer-details{color:#62666d;font-size:13px;line-height:1.7;margin-top:14px}
.footer-details a{color:#8a8f98}
.footer-details a:hover{color:#f7f8f8}
.footer-heading{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#62666d;margin-bottom:16px}
.footer-col .footer-links,.footer-nav{list-style:none;display:grid;gap:10px}
.footer-links a,.footer-nav a{color:#8a8f98;font-size:13px;transition:color .15s}
.footer-links a:hover,.footer-nav a:hover{color:#f7f8f8}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06);margin-top:52px;padding-top:24px}
.footer-legal{color:#62666d;font-size:12px}
@media(max-width:960px){.grid-3,.card-grid,.area-grid,.two-col,.split,.split-layout,.contact-grid,.quote-form-section{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.hero h1,.page-hero h1{font-size:44px}h2{font-size:36px}.contact-form-layout,.form-row{grid-template-columns:1fr}.hero{padding:80px 24px 64px}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:36px}h2{font-size:30px}.nav,.main-nav,.nav-list{display:none}.section,.services,.process{padding:64px 20px}.cta-buttons .btn{width:100%;justify-content:center}}
