:root{
  --bg:#f4f1ea;
  --surface:#ffffff;
  --ink:#17231f;
  --text:#2e3a36;
  --muted:#66736f;
  --brand:#123c32;
  --brand-dark:#0b2923;
  --accent:#b8945d;
  --line:rgba(23,35,31,.13);
  --soft:#eef1ec;
  --shadow:0 18px 45px rgba(16,35,30,.12);
  --shadow-soft:0 8px 24px rgba(16,35,30,.08);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:auto}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
button,input,select,textarea{font:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.topbar{background:var(--brand-dark);color:rgba(255,255,255,.88);font-size:13px}.topbar .wrap{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar a{color:#fff;font-weight:700}
.header{position:sticky;top:0;z-index:20;background:rgba(244,241,234,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;font-size:17px;line-height:1;white-space:nowrap}.logo-text{display:inline-block;white-space:nowrap}.logo-mark{width:38px;height:38px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2)}.logo-mark svg{width:24px;height:24px}.logo-mark path:first-child{fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round}.logo-mark path:nth-child(2),.logo-mark path:nth-child(3){fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round}.logo.light{color:#fff}
.menu{display:flex;justify-content:center;align-items:center;gap:22px}.menu a{font-size:14px;color:#43514d;font-weight:600;white-space:nowrap}.menu a:hover{color:var(--brand)}
.phone{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:8px;background:var(--brand);color:#fff;border:1px solid var(--brand);font-size:14px;font-weight:700;white-space:nowrap}.phone span{margin-left:5px}.hamb{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font-weight:700;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:8px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-size:15px;font-weight:700;box-shadow:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark);transform:translateY(-1px)}.btn.secondary,.btn.light{background:#fff;color:var(--brand);border-color:rgba(18,60,50,.35)}.btn.secondary:hover,.btn.light:hover{background:#f4f7f4;border-color:var(--brand)}.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero{position:relative;min-height:680px;background:linear-gradient(90deg,rgba(7,23,20,.88),rgba(7,23,20,.70) 48%,rgba(7,23,20,.22)),url('hero-septic-service.jpg') center/cover no-repeat;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:88px;background:linear-gradient(transparent,var(--bg));pointer-events:none}.hero-grid{position:relative;z-index:1;min-height:650px;display:grid;grid-template-columns:minmax(0,720px) 1fr;gap:42px;align-items:center;padding-top:80px;padding-bottom:100px}.hero-media{display:none}.eyebrow{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:#d6bd91;margin-bottom:14px}h1{font-size:clamp(38px,4.1vw,56px);line-height:1.08;letter-spacing:-.005em;font-weight:700;max-width:760px;color:inherit}h2{font-size:clamp(28px,3vw,42px);line-height:1.14;letter-spacing:0;font-weight:700;color:var(--ink)}h3{font-size:20px;line-height:1.25;font-weight:700;color:var(--ink)}.lead{margin-top:20px;font-size:clamp(17px,1.2vw,20px);line-height:1.58;color:rgba(255,255,255,.88);max-width:660px}.hero .actions,.page-hero .actions{margin-top:30px}.hero .actions .btn,.page-hero .actions .btn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.52);backdrop-filter:blur(10px)}.hero .actions .btn.secondary,.page-hero .actions .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.52)}.hero .actions .btn:hover,.page-hero .actions .btn:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.78)}.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.trust-row span{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);border-radius:8px;padding:8px 11px;font-size:13px;font-weight:600;color:rgba(255,255,255,.88)}
.service-band{background:var(--brand);color:#fff}.service-band .wrap{min-height:94px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.service-band strong{font-size:18px;font-weight:700}.service-band p{color:rgba(255,255,255,.76);font-size:15px}.service-band .btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.48)}.service-band .btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.72)}
.section{padding:86px 0}.white{background:var(--bg)}.gum{background:#edf1ec}.section-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);gap:42px;align-items:start;margin-bottom:36px}.section-head p,.card p,.area-card p,.content p,.content li,.panel p,.legal p,.footer p,.note{color:var(--muted);font-size:16px;line-height:1.68}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}.card{grid-column:span 2;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-soft);transition:box-shadow .15s ease,transform .15s ease}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card:nth-child(4),.card:nth-child(5){grid-column:span 3}.card-photo{width:100%;height:224px;object-fit:cover;filter:saturate(.9) contrast(.98)}.card h3,.card p,.card a{margin-left:22px;margin-right:22px}.card h3{margin-top:22px;margin-bottom:10px}.card a,.area-card a,.content a{display:inline-flex;margin-top:16px;margin-bottom:22px;color:var(--brand);font-size:15px;font-weight:700;text-decoration:none}.card a::after,.area-card a::after{content:' →';margin-left:4px}
.area-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:stretch}.area-grid:before{content:"";display:block;grid-row:1 / span 5;background:url('gippsland-rural-property.jpg') center/cover no-repeat;border-radius:16px;min-height:560px;box-shadow:var(--shadow);border:1px solid var(--line)}.area-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:var(--shadow-soft)}.area-card img{display:none}.area-card h3{margin-bottom:8px}.area-card a{margin-bottom:0}
.split,.contact-grid,.content-layout{display:grid;gap:48px}.split{grid-template-columns:.85fr 1fr;align-items:start}.process{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.process article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow-soft)}.process strong{display:block;font-size:18px;font-weight:700;color:var(--brand);margin-bottom:6px}.contact{background:linear-gradient(135deg,#0d2f28,#17463d);color:#fff}.contact-grid{grid-template-columns:.72fr 1fr;align-items:start}.contact h2{color:#fff}.contact p{color:rgba(255,255,255,.76)}.big-phone{display:inline-flex;align-items:center;gap:16px;margin-top:28px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:20px 24px}.big-phone strong{font-size:28px;font-weight:700;letter-spacing:0}.big-phone small{display:block;color:rgba(255,255,255,.68)}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:#fff;color:var(--ink);border-radius:16px;padding:24px;border:1px solid var(--line);box-shadow:0 18px 50px rgba(8,28,24,.16)}.form label{font-size:13px;font-weight:700;color:#2e3e39}.wide{grid-column:1/-1}.field{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7;min-height:48px;padding:12px 14px;color:var(--ink)}textarea.field{min-height:118px;resize:vertical}.note{font-size:13px}.form .btn{width:100%;background:var(--brand);border-color:var(--brand);color:#fff}.form .btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.page-hero{position:relative;background:linear-gradient(90deg,rgba(9,28,24,.86),rgba(9,28,24,.58)),url('hero-septic-service.jpg') center/cover no-repeat;color:white}.page-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center;padding:78px 28px 84px}.page-hero .lead,.page-hero .content p{color:rgba(255,255,255,.84)}.hero-media.small{display:block;margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#dbe8d7;border:1px solid rgba(255,255,255,.2);max-width:560px;justify-self:end}.hero-media.small img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}.hero-media figcaption{padding:12px 18px;background:rgba(255,255,255,.94);font-size:13px;color:var(--muted);font-weight:600}
.content-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start}.content{max-width:760px}.content h2{font-size:32px;margin:34px 0 12px}.content h2:first-child{margin-top:0}.content ul{padding-left:22px}.link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;list-style:none;padding-left:0!important}.side{position:sticky;top:100px}.panel,.legal{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft)}.panel{padding:24px}.panel .form{box-shadow:none;padding:0;border:0;display:grid;grid-template-columns:1fr;background:transparent}.legal{padding:36px;max-width:850px}.legal h1{font-size:48px;margin-bottom:22px;color:var(--ink)}
.footer{background:#10241f;color:#fff;padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:36px}.footer h3{font-size:16px;margin-bottom:12px;font-weight:700;color:#fff}.footer a{display:block;color:rgba(255,255,255,.78);margin:8px 0;font-size:15px}.subfooter{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding:18px 28px 24px;color:rgba(255,255,255,.58);font-size:13px}
.chat-toggle{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:var(--brand);color:white;display:grid;place-items:center;box-shadow:0 14px 36px rgba(20,38,31,.22);z-index:30;cursor:pointer}.chat-icon{width:56px;height:56px;display:grid;place-items:center}.chat-toggle svg{width:27px;height:27px;display:block}.chatbot{position:fixed;right:22px;bottom:88px;width:min(380px,calc(100vw - 44px));background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:none;z-index:31}.chatbot.open{display:block}.chat-head{background:var(--brand);color:white;padding:16px;display:flex;justify-content:space-between;gap:12px}.chat-head small{display:block;color:rgba(255,255,255,.68)}.chat-head button{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.1);color:white;padding:8px 10px}.chat-body{padding:15px;height:220px;overflow:auto;background:#f8f7f2}.msg{padding:10px 12px;border-radius:12px;margin-bottom:9px;font-size:14px}.msg.bot{background:white;color:var(--ink)}.msg.user{background:var(--brand);color:white;margin-left:38px}.chat-input{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line)}.chat-input input{border:0;padding:13px}.chat-input button{border:0;background:var(--brand);color:white;padding:0 16px;font-weight:700}
@media (max-width:980px){.nav{grid-template-columns:auto 1fr auto}.phone{display:none}.hamb{display:inline-flex;justify-self:end}.menu{display:none;grid-column:1/-1;justify-content:start;flex-direction:column;align-items:flex-start;padding:0 0 18px}.menu.open{display:flex}.hero-grid,.page-grid,.section-head,.split,.contact-grid,.content-layout,.area-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{min-height:620px}.area-grid:before{grid-row:auto;min-height:320px}.cards{grid-template-columns:1fr 1fr}.card,.card:nth-child(4),.card:nth-child(5){grid-column:auto}.side{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hero-media.small{justify-self:start}}
@media (max-width:640px){.wrap{padding:0 20px}.topbar .wrap{display:block;padding-top:9px;padding-bottom:9px}.section{padding:62px 0}.cards,.process,.form,.link-list{grid-template-columns:1fr}.page-grid{padding:58px 20px 64px}h1{font-size:37px}.service-band .wrap{grid-template-columns:1fr;padding-top:20px;padding-bottom:20px}.footer-grid{grid-template-columns:1fr}.big-phone strong{font-size:22px}.logo{font-size:16px}.logo-mark{width:38px;height:38px}.chat-toggle{right:16px;bottom:16px}.chatbot{right:16px;bottom:82px;width:calc(100vw - 32px)}}

.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(184,148,93,.55);outline-offset:3px}

/* Legal page readability fix: normal readable copy, not oversized hero text and not tiny fine print. */
.legal{max-width:860px;padding:34px 38px}
.legal h1{font-size:clamp(32px,3.2vw,42px);line-height:1.14;margin-bottom:18px;color:var(--ink)}
.legal h2{font-size:clamp(21px,2vw,26px);line-height:1.22;margin:30px 0 10px;color:var(--ink)}
.legal p,.legal li{font-size:16px;line-height:1.75;color:var(--muted)}
.legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.legal{padding:28px 22px}.legal h1{font-size:31px}.legal h2{font-size:21px}.legal p,.legal li{font-size:16px;line-height:1.7}}

/* V4 hero background lock: keep the large rear hero image identical between service pages. */
.page-hero{
  position:relative;
  min-height:590px;
  background:none !important;
  overflow:hidden;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,28,24,.86),rgba(9,28,24,.58)),
    url('hero-septic-service.jpg') center center/cover no-repeat;
  z-index:0;
}
.page-hero > .wrap{
  position:relative;
  z-index:1;
}
.page-grid{
  min-height:590px;
  padding-top:72px;
  padding-bottom:72px;
}
.hero-media.small{
  width:100%;
}
.hero-media.small img{
  height:360px;
  aspect-ratio:auto;
  object-fit:cover;
}
@media (max-width:980px){
  .page-hero{min-height:auto;}
  .page-grid{min-height:auto;padding-top:64px;padding-bottom:64px;}
  .hero-media.small img{height:auto;aspect-ratio:16/10;}
}

/* V5 service area spacing polish: make the Area cards feel even and easier to scan. */
.area-grid{
  grid-template-columns:minmax(420px,1.05fr) minmax(360px,1fr);
  gap:18px 28px;
  align-items:stretch;
}
.area-grid:before{
  grid-row:1 / span 5;
  min-height:600px;
  background-position:center center;
}
.area-card{
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:118px;
  padding:20px 24px 18px;
}
.area-card h3{
  margin:0 0 8px;
  line-height:1.22;
}
.area-card p{
  margin:0;
  line-height:1.56;
}
.area-card a{
  margin-top:12px;
  margin-bottom:0;
  align-self:end;
}
@media (max-width:980px){
  .area-grid{grid-template-columns:1fr;gap:16px;}
  .area-grid:before{grid-row:auto;min-height:320px;}
  .area-card{min-height:auto;}
}
