
:root{--highlight:#1c69d4;--focus:#0653b6;--metainfo:#757575;--text:#262626;--silver:#bbbbbb;--dark:#151a20;--radius:0}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--text);line-height:1.3;background:#fff}
a{text-decoration:none;color:inherit}
img{display:block}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.topbar{background:#151a20;color:#f7f5f1;font-size:14px;line-height:1.15;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.topbar a{color:#f7f5f1}
.topbar a:hover{color:#fff;text-decoration:underline}
header.site{background:var(--dark);position:sticky;top:0;z-index:50;border-bottom:1px solid #2a3140}
header.site .container{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#f7f5f1}
.logo{width:54px;height:54px;flex:0 0 54px}
.brand-name{font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase;letter-spacing:.02em}
.brand-sub{font-weight:400;font-size:12px;color:var(--silver);line-height:1.15}
nav.main{display:flex;gap:24px;align-items:center}
nav.main a{color:#f7f5f1;font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase}
nav.main a:hover{color:#fff;text-decoration:none;border-bottom:1px solid #fff}
nav.main a.active{border-bottom:2px solid var(--highlight)}
.hero{background:#0d1014;color:#fff;position:relative;overflow:hidden}
.hero-media{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1600&q=60') center/cover no-repeat;opacity:.45}
.hero-inner{position:relative;padding:120px 24px;max-width:1280px;margin:0 auto}
.hero h1{font-weight:300;font-size:60px;line-height:1.15;text-transform:uppercase;max-width:820px}
.hero p{margin-top:24px;max-width:560px;font-size:16px;line-height:1.3;color:#e8e6e1}
.btn{display:inline-block;padding:14px 32px;font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase;background:var(--highlight);color:#fff;border:0;cursor:pointer}
.btn:hover{background:var(--focus)}
.btn.ghost{background:transparent;border:1px solid #fff;border-bottom:1px solid #fff}
.btn.ghost:hover{border-color:var(--highlight);color:var(--highlight)}
.hero .actions{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap}
section{padding:80px 0}
.eyebrow{color:var(--highlight);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.15}
h2{font-weight:300;font-size:32px;line-height:1.30;text-transform:uppercase;margin-top:8px}
.lead{color:var(--metainfo);font-size:16px;line-height:1.3;margin-top:16px;max-width:640px}
.grid{display:grid;gap:24px;margin-top:48px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #e6e6e6;padding:0 0 24px}
.card img{height:200px}
.card-body{padding:24px 24px 0}
.card h3{font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.card p{margin-top:12px;font-size:16px;line-height:1.3;color:var(--metainfo)}
.card a.more{display:inline-block;margin-top:16px;color:var(--highlight);font-weight:700;font-size:16px;line-height:1.2}
.card a.more:hover{color:var(--focus);text-decoration:underline}
.dark-section{background:var(--dark);color:#f7f5f1}
.dark-section h2{color:#fff}
.dark-section .lead{color:var(--silver)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.why-item{padding:24px;border:1px solid #2a3140}
.why-item h3{font-size:18px;font-weight:900;text-transform:uppercase;line-height:1.15}
.why-item p{margin-top:12px;color:var(--silver);font-size:16px;line-height:1.3}
.areas{background:#fff}
.area-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.area-list span{border:1px solid #e6e6e6;padding:10px 20px;font-size:16px;line-height:1.15;color:var(--text)}
.testi{background:#f7f7f7}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
blockquote{background:#fff;padding:32px;border:1px solid #e6e6e6}
blockquote p{font-size:16px;line-height:1.3;color:var(--text)}
blockquote cite{display:block;margin-top:16px;font-style:normal;font-size:14px;line-height:1.15;color:var(--metainfo);text-transform:uppercase;font-weight:700}
.cta{background:var(--dark);color:#f7f5f1;text-align:center}
.cta h2{color:#fff}
.cta .lead{margin:16px auto 0}
.cta .actions{margin-top:32px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
footer.site{background:#151a20;color:#f7f5f1;padding:64px 0 32px}
footer.site h4{font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase;margin-bottom:16px}
footer.site a{color:#f7f5f1;font-size:16px;line-height:1.15}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site ul{list-style:none}
footer.site li{margin-bottom:10px;font-size:16px;line-height:1.15}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.f-bottom{margin-top:48px;padding-top:24px;border-top:1px solid #2a3140;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;line-height:1.15;color:var(--silver)}
@media(max-width:920px){.g3,.g4,.testi-grid{grid-template-columns:repeat(2,1fr)}.f-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:44px}.hero-inner{padding:80px 24px}nav.main{display:none}}
@media(max-width:640px){.g3,.g4,.testi-grid,.why-grid,.f-grid{grid-template-columns:1fr}.hero h1{font-size:34px}}

.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-alt,.alt{background:#f7f7f7}
.muted{color:var(--metainfo)}
.last-updated{display:block;margin-top:24px;font-size:14px;line-height:1.15;color:var(--metainfo)}
.site-header{background:var(--dark);color:#f7f5f1;position:sticky;top:0;z-index:50;border-bottom:1px solid #2a3140}
.brand-mark{display:block;width:54px;height:54px;flex:0 0 54px}
.brand-mark img,.brand-mark svg{width:100%;height:100%}
.topbar-inner,.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar-email{color:#f7f5f1;font-size:14px;line-height:1.15}
.topbar-email:hover{color:#fff;text-decoration:underline}
.topbar-tag{font-size:12px;line-height:1.15;text-transform:uppercase;letter-spacing:.08em;color:var(--silver);border:1px solid #2a3140;padding:4px 10px}
.nav,.site-nav,.nav-inner,.nav-row{display:flex;align-items:center;gap:24px}
.site-nav,.nav-inner,.nav-row{justify-content:space-between;flex-wrap:wrap}
.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.main-nav,.mainnav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.main-nav a,.mainnav a,.nav-links a{color:#f7f5f1;font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase}
.main-nav a:hover,.mainnav a:hover,.nav-links a:hover{color:#fff;border-bottom:1px solid #fff}
.main-nav a.active,.mainnav a.active,.nav-links a.active{border-bottom:2px solid var(--highlight)}
.nav-cta,a.nav-cta,.btn-nav,a.btn-nav{display:inline-block;padding:10px 20px;background:var(--highlight);color:#fff;font-weight:700;font-size:14px;line-height:1.2;text-transform:uppercase;border:0;cursor:pointer}
.nav-cta:hover,a.nav-cta:hover,.btn-nav:hover,a.btn-nav:hover{background:var(--focus)}
.button,a.button,.btn-primary,a.btn-primary{display:inline-block;padding:14px 32px;font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase;background:var(--highlight);color:#fff;border:0;cursor:pointer}
.button:hover,a.button:hover,.btn-primary:hover,a.btn-primary:hover{background:var(--focus)}
.btn-secondary,a.btn-secondary,.button-secondary,a.button-secondary{display:inline-block;padding:14px 32px;font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase;background:var(--dark);color:#fff;border:1px solid var(--dark);cursor:pointer}
.btn-secondary:hover,a.btn-secondary:hover,.button-secondary:hover,a.button-secondary:hover{background:#2a3140;border-color:#2a3140}
.btn-outline,a.btn-outline{display:inline-block;padding:14px 32px;font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase;background:transparent;color:#fff;border:1px solid #fff;cursor:pointer}
.btn-outline:hover,a.btn-outline:hover{background:var(--highlight);border-color:var(--highlight);color:#fff}
.page-hero{background:#0d1014;color:#fff;padding:96px 0;overflow:hidden}
.page-hero .eyebrow{color:var(--highlight)}
.page-hero h1{font-weight:300;font-size:48px;line-height:1.15;text-transform:uppercase;max-width:760px}
.page-hero p{margin-top:16px;max-width:560px;font-size:16px;line-height:1.3;color:#e8e6e1}
.page-hero .actions{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap}
.page-head{padding:64px 0;background:#fff;border-bottom:1px solid #e6e6e6}
.page-head h1{font-weight:300;font-size:44px;line-height:1.15;text-transform:uppercase;margin-top:8px}
.page-head p{margin-top:12px;max-width:640px;font-size:16px;line-height:1.3;color:var(--metainfo)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-grid img{width:100%;height:420px;object-fit:cover}
.page-content{padding:64px 0}
.content{max-width:820px}
.content p{margin-top:12px;font-size:16px;line-height:1.3}
.content ul,.content ol{margin:12px 0 0 20px}
.content li{margin-bottom:8px;font-size:16px;line-height:1.3}
.content-section{margin-top:56px}
.content-section h2{margin-bottom:16px}
.content-section p{margin-top:12px;font-size:16px;line-height:1.3}
.content-section ul,.content-section ol{margin:12px 0 0 20px}
.content-section li{margin-bottom:8px;font-size:16px;line-height:1.3}
.policy{max-width:820px}
.policy h2{margin-top:48px}
.policy h2:first-of-type{margin-top:0}
.policy h3{margin-top:24px;font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.policy p{margin-top:12px;font-size:16px;line-height:1.3}
.policy ul,.policy ol{margin:12px 0 0 20px}
.policy li{margin-bottom:8px;font-size:16px;line-height:1.3}
.card-grid{display:grid;gap:24px;margin-top:48px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.services-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;align-items:start}
.services-overview ul{list-style:none;margin-top:24px}
.services-overview li{border-top:1px solid #e6e6e6;padding:14px 0;font-size:16px;line-height:1.3}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.service-card{background:#fff;border:1px solid #e6e6e6;padding:24px}
.service-card:hover{border-color:var(--highlight)}
.service-card h3{font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.service-card p{margin-top:12px;font-size:16px;line-height:1.3;color:var(--metainfo)}
.service-card a{display:inline-block;margin-top:16px;color:var(--highlight);font-weight:700;font-size:16px;line-height:1.2}
.service-card a:hover{color:var(--focus);text-decoration:underline}
.table-wrap{overflow-x:auto;margin-top:48px;border:1px solid #e6e6e6}
.compare-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.3;background:#fff}
.compare-table th{background:var(--dark);color:#fff;text-align:left;padding:14px 16px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.15}
.compare-table td{padding:14px 16px;border-top:1px solid #e6e6e6;vertical-align:top}
.compare-table tr:nth-child(even) td{background:#f7f7f7}
.process-steps,.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:48px}
.step{background:#fff;border:1px solid #e6e6e6;padding:24px}
.step h3{font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.step p{margin-top:12px;font-size:16px;line-height:1.3;color:var(--metainfo)}
.step-num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:16px;background:var(--highlight);color:#fff;font-weight:900;font-size:18px;line-height:1}
.next-steps{background:var(--dark);color:#f7f5f1;padding:40px;margin-top:48px}
.next-steps h3{font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.next-steps ol,.next-steps ul{margin:16px 0 0 20px}
.next-steps li{margin-bottom:8px;font-size:16px;line-height:1.3;color:var(--silver)}
.next-steps li::marker{color:var(--highlight);font-weight:700}
.suburb-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;list-style:none}
.suburb-list span,.suburb-list li{background:#fff;border:1px solid #e6e6e6;padding:10px 20px;font-size:16px;line-height:1.15;color:var(--text)}
.testimonial{background:#fff;border:1px solid #e6e6e6;padding:32px}
.testimonial p{font-size:16px;line-height:1.3;color:var(--text)}
.testimonial cite{display:block;margin-top:16px;font-style:normal;font-size:14px;line-height:1.15;color:var(--metainfo);text-transform:uppercase;font-weight:700}
.faq{max-width:820px;margin:48px auto 0}
.faq details{background:#fff;border:1px solid #e6e6e6;margin-bottom:12px}
.faq summary{position:relative;padding:18px 56px 18px 24px;font-size:16px;font-weight:900;line-height:1.15;text-transform:uppercase;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--highlight);font-size:20px;font-weight:700;line-height:1}
.faq details[open] summary{border-bottom:1px solid #e6e6e6}
.faq details[open] summary::after{content:"\2013"}
.faq details p{padding:16px 24px;font-size:16px;line-height:1.3;color:var(--metainfo)}
.enquiry{padding:80px 0;background:#f7f7f7}
.quote-form{max-width:820px;margin:0 auto;background:#fff;border:1px solid #e6e6e6;padding:32px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.form-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}
.form-row>*{flex:1 1 240px}
.quote-form label,.enquiry label,.form-grid label,.form-row label{display:block;margin-bottom:6px;font-size:14px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}
.quote-form input,.quote-form select,.quote-form textarea,.enquiry input,.enquiry select,.enquiry textarea,.form-grid input,.form-grid select,.form-grid textarea,.form-row input,.form-row select,.form-row textarea{width:100%;padding:12px 14px;background:#fff;border:1px solid var(--silver);border-radius:var(--radius);font:inherit;font-size:16px;line-height:1.3;color:var(--text)}
.quote-form textarea,.enquiry textarea,.form-grid textarea,.form-row textarea{min-height:120px;resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus,.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--highlight);outline-offset:0;border-color:var(--highlight)}
.form-note{margin-top:16px;font-size:14px;line-height:1.15;color:var(--metainfo)}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;margin-top:48px}
.contact-photo{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;border:1px solid #e6e6e6}
.map-placeholder{display:flex;align-items:center;justify-content:center;height:320px;padding:24px;background:#eef1f4;border:1px solid #e6e6e6;color:var(--metainfo);font-size:14px;line-height:1.15;text-transform:uppercase;letter-spacing:.06em;text-align:center}
.map-note{margin-top:12px;font-size:14px;line-height:1.15;color:var(--metainfo)}
.cta-section,.

.site-footer,footer.site,.footer{background:#151a20;color:#f7f5f1;padding:64px 0 32px}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-about{color:#f7f5f1}
.footer-about p{margin-top:16px;color:var(--silver);font-size:16px;line-height:1.3;max-width:360px}
.footer-col h4{font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase;margin-bottom:16px;color:#f7f5f1}
.footer-nav ul,.footer-links ul{list-style:none}
.footer-nav li,.footer-links li{margin-bottom:10px;font-size:16px;line-height:1.15}
.footer-nav a,.footer-links a{color:#f7f5f1;font-size:16px;line-height:1.15}
.footer-nav a:hover,.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-bottom{border-top:1px solid #2a3140;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;line-height:1.15;color:var(--silver)}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap}
.footer-legal a{color:var(--silver);font-size:14px;line-height:1.15}
.footer-legal a:hover{color:#fff;text-decoration:underline}
.cta-band{background:var(--highlight);color:#fff;text-align:center;padding:56px 0}
.cta-band h2{color:#fff;margin-top:8px}
.cta-band .lead{color:rgba(255,255,255,.85);margin:16px auto 0}
.cta-band .actions{margin-top:32px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta-band .btn{background:#fff;color:var(--focus)}
.cta-band .btn:hover{background:#e8e6e1}
.process{background:#f7f7f7}
.process .eyebrow{color:var(--highlight)}
.process h3{font-size:18px;font-weight:900;line-height:1.15;text-transform:uppercase}
.process p{margin-top:12px;font-size:16px;line-height:1.3;color:var(--metainfo)}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}

footer.site .f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer.site .f-grid>div:first-child p{margin-top:12px;font-size:16px;line-height:1.3;color:var(--silver);max-width:320px}
footer.site .bottom{margin-top:48px;padding-top:24px;border-top:1px solid #2a3140;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;line-height:1.15;color:var(--silver)}
footer.site .bottom a{color:var(--silver);font-size:14px}
footer.site .bottom a:hover{color:#fff}
@media(max-width:900px){footer.site .f-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){footer.site .f-grid{grid-template-columns:1fr}}

footer.site{background:#151a20;color:#f7f5f1;padding:64px 0 32px}
footer.site .f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
footer.site h4{font-weight:900;font-size:18px;line-height:1.15;text-transform:uppercase;margin-bottom:16px}
footer.site p{font-size:16px;line-height:1.3;color:var(--silver);max-width:360px}
footer.site ul{list-style:none}
footer.site li{margin-bottom:10px;font-size:16px;line-height:1.15}
footer.site a{color:#f7f5f1;font-size:16px;line-height:1.15}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site .brand{margin-bottom:16px}
footer.site .copy{margin-top:48px;padding-top:24px;border-top:1px solid #2a3140;font-size:14px;line-height:1.15;color:var(--silver)}
@media(max-width:900px){footer.site .f-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){footer.site .f-grid{grid-template-columns:1fr}}

footer.site{background:#151a20;color:#f7f5f1;padding:64px 0 32px}
footer.site .brand{margin-bottom:16px}
footer.site p{color:var(--silver);font-size:16px;line-height:1.3;margin-top:12px;max-width:320px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px 24px}
.f-col h4{color:#f7f5f1}
.f-bottom{margin-top:48px;padding-top:24px;border-top:1px solid #2a3140;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;line-height:1.15;color:var(--silver)}
.f-bottom p{max-width:none;margin:0;color:var(--silver)}
@media(max-width:960px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.f-grid{grid-template-columns:1fr;gap:32px}}

footer.site .container{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
footer.site p{color:var(--silver);font-size:16px;line-height:1.3;margin-top:12px}
footer.site .f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
footer.site .bottom{border-top:1px solid #2a3140;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;line-height:1.15;color:var(--silver)}
footer.site .bottom a{font-size:14px}
@media(max-width:900px){footer.site .container,footer.site .f-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){footer.site .container,footer.site .f-grid{grid-template-columns:1fr}}

.site-footer{background:#151a20;color:#f7f5f1;padding:48px 0 24px}
.skip-link{position:absolute;left:-9999px}
