
*{margin:0;padding:0;box-sizing:border-box}
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}
a{color:inherit;text-decoration:none}
img{display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.topbar{background:#151a20;color:#f7f5f1;font-size:13px;font-weight:400;letter-spacing:-0.13px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.topbar a{color:#f7f5f1;border-bottom:1px solid rgba(247,245,241,0.3)}
header.site{position:sticky;top:0;z-index:50;background:rgba(8,9,10,0.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.05)}
nav.main{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:590}
.brand .mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#5e6ad2,#7170ff);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:590;color:#fff}
nav.links{display:flex;gap:26px;font-size:13px;font-weight:510;color:#d0d6e0}
nav.links a:hover{color:#f7f8f8}
nav.links a[aria-current="page"]{color:#f7f8f8}
.btn{display:inline-block;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:510;letter-spacing:-0.13px;border:1px solid transparent;cursor:pointer}
.btn-primary{background:#5e6ad2;color:#fff}
.btn-primary:hover{background:#828fff}
.btn-ghost{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);color:#e2e4e7}
.btn-ghost:hover{background:rgba(255,255,255,0.05)}
.hero{text-align:center;padding:110px 0 90px;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(94,106,210,0.18),transparent 70%);pointer-events:none}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:510;color:#d0d6e0;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:9999px;padding:4px 12px;margin-bottom:28px}
.hero h1{font-size:64px;font-weight:510;line-height:1.05;letter-spacing:-1.408px;max-width:820px;margin:0 auto 20px}
.hero h1 .dim{color:#8a8f98}
.hero p{font-size:18px;font-weight:400;line-height:1.6;letter-spacing:-0.165px;color:#8a8f98;max-width:600px;margin:0 auto 36px}
.hero .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
section{padding:80px 0}
.kicker{font-size:12px;font-weight:510;letter-spacing:0.08em;text-transform:uppercase;color:#62666d;margin-bottom:14px}
h2{font-size:48px;font-weight:510;line-height:1.05;letter-spacing:-1.056px;margin-bottom:18px}
.lead{font-size:18px;line-height:1.6;letter-spacing:-0.165px;color:#8a8f98;max-width:640px;margin-bottom:48px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:26px;transition:background .2s}
.card:hover{background:rgba(255,255,255,0.04)}
.card h3{font-size:20px;font-weight:590;letter-spacing:-0.24px;margin:16px 0 8px}
.card p{font-size:15px;line-height:1.6;letter-spacing:-0.165px;color:#8a8f98}
.card .icon{width:36px;height:36px;border-radius:8px;background:rgba(94,106,210,0.15);border:1px solid rgba(113,112,255,0.25);display:flex;align-items:center;justify-content:center}
.card .icon svg{width:18px;height:18px;stroke:#7170ff;fill:none;stroke-width:1.6}
.card img{width:100%;height:200px;object-fit:cover;border-radius:12px;margin-bottom:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;height:200px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,0.08)}
.checklist{list-style:none;margin-top:24px}
.checklist li{display:flex;gap:12px;font-size:15px;font-weight:510;letter-spacing:-0.165px;color:#d0d6e0;padding:10px 0}
.checklist svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:#10b981;fill:none;stroke-width:2}
.areas-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.area{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:8px;padding:16px 18px;font-size:14px;font-weight:510;color:#d0d6e0;display:flex;align-items:center;gap:10px}
.area::before{content:"";width:6px;height:6px;border-radius:50%;background:#5e6ad2;flex:none}
.testimonial{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:28px}
.testimonial blockquote{font-size:16px;line-height:1.6;color:#d0d6e0;margin-bottom:18px}
.testimonial .who{font-size:13px;font-weight:510;letter-spacing:-0.13px;color:#62666d}
.cta{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:22px;padding:64px 40px;text-align:center}
.cta h2{margin-bottom:14px}
.cta .actions{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}
footer.site{background:#151a20;color:#f7f5f1;padding:56px 0 32px;border-top:1px solid rgba(255,255,255,0.05);font-size:14px}
footer.site a{color:#f7f5f1;opacity:.8}
footer.site a:hover{opacity:1}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px}
.fgrid h4{font-size:13px;font-weight:590;letter-spacing:-0.13px;margin-bottom:12px}
.fgrid ul{list-style:none}
.fgrid li{margin-bottom:8px;opacity:.8;font-size:13px}
.fbase{border-top:1px solid rgba(255,255,255,0.05);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;opacity:.7}
@media(max-width:900px){.hero h1{font-size:48px;letter-spacing:-1.056px}.grid3{grid-template-columns:1fr}.split{grid-template-columns:1fr}.areas-strip{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr}nav.links{display:none}h2{font-size:32px;letter-spacing:-0.704px}}

.contact-details{display:grid;gap:12px}
.contact-form-section{padding:56px 24px}
.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}
.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.map-placeholder{background:#e5e7eb;min-height:320px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#6b7280}
.nav-list{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.site-footer{background:#111827;color:#e5e7eb;padding:56px 24px 24px;margin-top:72px}

.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}
.compare-table{width:100%;border-collapse:collapse}.compare-table th,.compare-table td{border:1px solid #e5e7eb;padding:10px;text-align:left}
.consent{padding:24px}
.contact-grid{display:grid;gap:12px}
.contact-hours{display:grid;gap:12px}
.content-section{}
.cta-band{}
.cta-buttons{}
.cta-links{}
.engagement-models{}
.enquiry-form{}
.field{}
.field-check{}
.footer-brand{}
.footer-col{}
.footer-heading{}
.footer-legal{}
.footer-links{}
.footer-note{}
.form-note{}
.grid{}
.grid-2{}
.grid-3{}
.hero-actions{}
.hours-note{}
.hours-table{}
.lede{}
.legal-page{}
.link-grid{}
.main-nav{}
.mainnav{}
.model{}
.model-grid{}
.muted{}
.nav-cta{}
.next-steps{}
.note{}
.page-body{}
.page-hero{}
.process{}
.process-steps{}
.quick-links{}
.quote-form{}
.quote-form-card{}
.quote-intro{}
.quote-layout{}
.section{}
.section-alt{}
.section-cta{}
.service-card{}
.service-cards{}
.services-intro{}
.site-header{}
.site-nav{}
.split-media{}
.steps{}
.table-wrap{}
.topbar-inner{}
.topbar-note{}
.topnav{}
.value-card{}
.values-grid{}
.visually-hidden{}
