:root{--site-context-theme-color:#ffffff;--site-context-highlight-color:#1c69d4;--site-context-focus-color:#0653b6;--site-context-metainfo-color:#757575;--ink:#262626;--silver:#bbbbbb;--dark:#151a20;--radius:0}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--site-context-theme-color);line-height:1.15}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--site-context-focus-color);outline-offset:2px}
img{display:block}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.topbar{background:#151a20;color:#f7f5f1;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 0}
.topbar .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar a{color:#f7f5f1}.topbar a:hover{color:var(--site-context-highlight-color)}
.topbar span{color:#9aa3ad}
header.site{background:var(--dark);position:sticky;top:0;z-index:50;border-bottom:1px solid #262c34}
header.site .container{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand-mark{width:54px;height:54px;flex:none;display:grid;place-items:center;border:1px solid #3a434d;background:#0f1318}
.brand-mark svg{display:block}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-weight:900;font-size:16px;letter-spacing:.06em;text-transform:uppercase}
.brand-text small{font-size:11px;color:#9aa3ad;letter-spacing:.12em;text-transform:uppercase}
nav.primary{display:flex;align-items:center;gap:28px}
nav.primary a{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#fff}
nav.primary a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
nav.primary a[aria-current="page"]{border-bottom:2px solid var(--site-context-highlight-color);padding-bottom:4px}
nav.primary a.navcta{color:#fff;background:var(--site-context-highlight-color);padding:10px 18px;font-size:14px}
nav.primary a.navcta:hover{background:var(--site-context-focus-color);text-decoration:none}
#navtoggle{display:none}
.burger{display:none;cursor:pointer;color:#fff;font-size:22px;font-weight:900;background:none;border:1px solid #3a434d;padding:8px 14px}
@media(max-width:920px){.burger{display:block}nav.primary{display:none;position:absolute;top:64px;left:0;right:0;background:var(--dark);flex-direction:column;align-items:flex-start;padding:24px;gap:18px;border-bottom:1px solid #262c34}#navtoggle:checked~.navwrap nav.primary{display:flex}}
.hero{position:relative;background:#0d1014;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:saturate(.7)}
.hero .container{position:relative;z-index:2;padding:120px 24px 100px}
.hero h1{font-size:clamp(34px,6vw,60px);font-weight:300;line-height:1.30;text-transform:uppercase;letter-spacing:.02em;max-width:900px;color:#fff}
.hero p{margin-top:24px;font-size:18px;line-height:1.30;max-width:640px;color:#d7dce2}
.hero .meta{margin-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9aa3ad}
.btnrow{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-block;font-size:16px;font-weight:700;line-height:1.20;padding:16px 32px;border-radius:var(--radius);letter-spacing:.04em;text-transform:uppercase}
.btn-primary{background:var(--site-context-highlight-color);color:#fff}
.btn-primary:hover{background:var(--site-context-focus-color)}
.btn-ghost{background:transparent;color:#fff;border:0;border-bottom:1px solid #ffffff;padding:16px 4px}
.btn-ghost:hover{text-decoration:none;border-bottom-color:var(--site-context-highlight-color)}
section{padding:72px 0}
.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--site-context-metainfo-color);margin-bottom:12px}
h2{font-size:32px;font-weight:400;line-height:1.30;text-transform:uppercase;letter-spacing:.02em}
h3{font-size:18px;font-weight:900;line-height:1.30;text-transform:uppercase;letter-spacing:.03em}
.grid{display:grid;gap:24px;margin-top:40px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #e8e8e8;padding:0;display:flex;flex-direction:column}
.card .body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.card p{font-size:16px;line-height:1.15;color:#4a4a4a}
.card .more{margin-top:auto;font-size:14px;font-weight:700;color:var(--site-context-highlight-color);text-transform:uppercase;letter-spacing:.06em}
.card .more:hover{color:var(--site-context-focus-color)}
.why{background:#f4f4f4}
.why-list{display:grid;gap:24px;margin-top:40px}
.why-item{display:flex;gap:16px;align-items:flex-start}
.why-item .num{font-size:32px;font-weight:300;color:var(--site-context-highlight-color);line-height:1.30;flex:none}
.why-item h3{font-size:16px}
.why-item p{margin-top:6px;font-size:16px;line-height:1.15;color:#4a4a4a}
.areas{background:var(--dark);color:#f7f5f1}
.areas h2{color:#fff}
.areas .kicker{color:#9aa3ad}
.areastrip{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.areastrip li{list-style:none;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid #3a434d;padding:12px 18px;color:#f7f5f1}
.areas .lead{margin-top:16px;font-size:16px;line-height:1.15;max-width:640px;color:#c3c9d1}
.testimonials .quote{background:#fff;border:1px solid #e8e8e8;padding:24px;display:flex;flex-direction:column;gap:16px}
.testimonials .quote p{font-size:16px;line-height:1.30;color:#4a4a4a;font-style:italic}
.testimonials .quote cite{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--site-context-metainfo-color);font-style:normal}
.cta{background:var(--dark);color:#f7f5f1;text-align:center}
.cta h2{color:#fff}
.cta p{margin:20px auto 0;max-width:560px;font-size:16px;line-height:1.15;color:#c3c9d1}
.cta .btnrow{justify-content:center;margin-top:40px}
footer.site{background:#151a20;color:#f7f5f1;padding:64px 0 32px}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
@media(max-width:920px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media(max-width:640px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
footer.site ul{list-style:none;display:grid;gap:10px}
footer.site li a{font-size:14px;color:#c3c9d1}
footer.site li a:hover{color:#fff;text-decoration:none}
footer.site .about{font-size:14px;line-height:1.3;color:#c3c9d1;max-width:340px}
footer.site .legal{margin-top:48px;padding-top:24px;border-top:1px solid #262c34;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#9aa3ad}
footer.site .legal a{color:#9aa3ad}
footer.site .legal a:hover{color:#fff}
/* auto-appended generic fallbacks */
.alt{background:#f5f7fa;}
.alt-bg{background:#f5f7fa;}
.btn-light{display:inline-block;padding:12px 24px;border-radius:8px;background:#f5f7fa;color:#151a20;font-weight:600;text-decoration:none;}
.btn-outline{display:inline-block;padding:12px 24px;border-radius:8px;border:2px solid currentColor;font-weight:600;text-decoration:none;}
.btn-secondary{display:inline-block;padding:12px 24px;border-radius:8px;background:#e3e7ee;color:#151a20;font-weight:600;text-decoration:none;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.check-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;}
.content-section{padding:56px 24px;}
.cta-band{padding:40px 24px;background:#151a20;color:#f7f5f1;text-align:center;margin:56px 0;}
.cta-section{padding:56px 24px;text-align:center;}
.footer{padding:40px 24px;}
.footer-abn{font-size:.85rem;opacity:.8;}
.footer-bottom{max-width:1100px;margin:24px auto 0;padding:16px 24px 0;border-top:1px solid #2a313a;font-size:.85rem;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;max-width:1100px;margin:0 auto;}
.footer-inner{max-width:1100px;margin:0 auto;padding:0 24px;}
.footer-legal{font-size:.85rem;opacity:.8;}
.form-note{font-size:.85rem;color:#3a4453;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1100px;margin:0 auto;padding:16px 24px;}
.logo{font-weight:700;text-decoration:none;color:inherit;}
.main-nav{display:flex;gap:22px;list-style:none;margin:0;padding:0;}
.mainnav{display:flex;gap:22px;list-style:none;margin:0;padding:0;}
.nav-cta{display:inline-block;padding:10px 18px;border-radius:8px;background:#151a20;color:#fff;font-weight:600;text-decoration:none;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1100px;margin:0 auto;padding:16px 24px;}
.page-hero{padding:64px 24px 40px;max-width:1100px;margin:0 auto;}
.process{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;}
.process-steps{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;}
.quote-form{display:grid;gap:16px;max-width:640px;}
.section{margin:56px 0;padding:0 24px;}
.section-alt{padding:56px 24px;background:var(--bg-alt,#f5f7fa);}
.service-card{background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:24px;}
.site-footer{background:#151a20;color:#f7f5f1;padding:40px 24px;margin-top:56px;}
.site-header{background:#fff;border-bottom:1px solid #e3e7ee;}
.steps-list{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;}
.table-wrap{overflow-x:auto;margin:24px 0;}
.testimonial{background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:24px;}
.topbar-brand{font-weight:700;}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto;padding:12px 24px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.wrap{max-width:1100px;margin:0 auto;}

/* auto-appended generic fallbacks 2 */
.brand-link{font-weight:700;text-decoration:none;color:inherit;}
.brand-name{font-weight:700;}
.brand-tag{font-size:.85rem;opacity:.85;}
.btn-outline-light{display:inline-block;padding:12px 24px;border-radius:8px;border:2px solid #fff;color:#fff;font-weight:600;text-decoration:none;}
.btn-quote{display:inline-block;padding:12px 24px;border-radius:8px;background:#151a20;color:#fff;font-weight:600;text-decoration:none;}
.center-cta{text-align:center;margin-top:32px;}
.content-block{max-width:800px;margin:0 auto 24px;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.feature-card{background:#fff;border:1px solid #e3e7ee;border-radius:10px;padding:18px;}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.footer-bottom-inner{max-width:1100px;margin:0 auto;padding:16px 24px 0;border-top:1px solid #2a313a;font-size:.85rem;}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.form-check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.ghost{background:transparent;border:2px solid #151a20;color:#151a20;}
.highlight{background:#fff8e6;border-left:4px solid #f59e0b;padding:14px 18px;border-radius:8px;}
.map-placeholder{background:#f5f7fa;border:1px dashed #c7cfd9;border-radius:12px;padding:24px;text-align:center;color:#6b7684;}
.quote-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;}
.quote-main{display:flex;flex-direction:column;gap:16px;}
.quote-sidebar{display:flex;flex-direction:column;gap:16px;}
.required{color:#dc2626;}
.reverse{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.section-intro{max-width:760px;color:#3a4453;}
.service-text{display:flex;flex-direction:column;gap:12px;}
.services{padding:56px 24px;max-width:1100px;margin:0 auto;}
.services-detail{display:flex;flex-direction:column;gap:28px;max-width:1100px;margin:0 auto;padding:0 24px;}
.sidebar{display:flex;flex-direction:column;gap:16px;}
.sidebar-card{background:#fff;border:1px solid #e3e7ee;border-radius:10px;padding:18px;}
.sidebar-dark{background:#151a20;color:#f7f5f1;border-radius:10px;padding:18px;}
.site-nav{display:flex;gap:22px;list-style:none;margin:0;padding:0;}
.split-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.topbar-contact{font-size:.85rem;opacity:.85;}
.topbar-item{font-size:.85rem;opacity:.85;}
.topbar-link{color:inherit;text-decoration:none;}
.topbar-tag{font-size:.85rem;opacity:.85;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:32px;}

/* final fallbacks */
.sidebar-image{width:100%;height:180px;object-fit:cover;border-radius:10px;}
