/* Adelaide Hot Water: town template (the /plumbers/ towns, the /hotwatersystems/ towns + hub).
   Loaded after shell.css. Same tokens, type and buttons as the approved homepage; brand row + section rules copied from front-page.css. */
.sec{padding:76px 0}
.sec-h{font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.lead{color:var(--muted);margin-top:8px;font-size:17px}
.prose p{margin:0}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:16px}
.prose a,.dv a:not(.btn){color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.deep_red{color:var(--red);font-weight:700}
sup{font-size:.6em;line-height:0}

/* hero */
.thero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.thero:before{content:"";position:absolute;inset:auto -10% -55% 35%;height:120%;background:radial-gradient(closest-side,rgba(34,62,146,.55),rgba(34,62,146,0));pointer-events:none}
.thero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;padding-top:48px;padding-bottom:64px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;list-style:none;font-size:13.5px;color:#aab3c9}
.crumbs li+li:before{content:"/";margin-right:6px;color:#6f7a96}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs li:last-child a{color:#dbe1f0}
.kick{display:block;font-size:14px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--yellow);margin:0 0 16px}
.th-title{font-size:52px;line-height:1.04;font-weight:800;letter-spacing:-.025em;margin:0;color:#fff;text-wrap:balance}
.th-title2{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em;color:#dbe1f0;margin:12px 0 0;text-wrap:balance}
.th-sub{font-size:19px;color:#dbe1f0;margin:20px 0 0;max-width:34em}
.th-sub p+p{margin-top:12px}
.th-row{display:flex;align-items:center;gap:24px;margin-top:30px}
.th-row small{font-size:15px;color:#c8cfdf;line-height:1.4}
.th-row small b{color:#fff}
.th-photo{margin:0;position:relative}
.th-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;box-shadow:0 24px 50px rgba(0,0,0,.4)}
.th-photo figcaption,.pstrip figcaption,.dv-photo figcaption{font-size:13.5px;color:#c8cfdf;margin-top:10px;font-weight:600}
.th-photo figcaption span{display:inline-block;background:var(--yellow);color:var(--ink);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;padding:3px 7px;border-radius:3px;margin-right:8px}

/* brand row (from front-page.css) */
.brandrow{position:relative;z-index:3;background:#fff;border-bottom:1px solid var(--rule)}
.brandrow .wrap{display:flex;align-items:center;gap:44px;min-height:100px;padding-top:14px;padding-bottom:14px}
.brandrow p{flex:0 0 auto;font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.logos{display:flex;align-items:center;justify-content:space-between;flex:1;gap:30px;min-width:0}
.logos img{width:auto;mix-blend-mode:multiply;min-width:0}
.l-bosch{height:46px}.l-rheem{height:62px}.l-rinnai{height:40px;mix-blend-mode:normal!important}.l-dux{height:50px}.l-vulcan{height:50px}
.brandrow.in-content{border:1px solid var(--rule);border-radius:6px;margin-top:8px}
.brandrow.in-content .wrap{padding-left:28px;padding-right:28px}

/* /plumbers/ body: page copy + sticky call card */
.tb-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;align-items:start}
.tb-main .prose{font-size:17.5px;line-height:1.62;max-width:46em}
.tb-main .prose+.prose,.tb-main .local+.prose{margin-top:16px}
.local{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;align-items:center;background:var(--grey);border-radius:6px;padding:28px 30px;margin:30px 0}
.local-list ul{columns:2;column-gap:28px}
.local-list li{padding:5px 0 5px 22px;position:relative;break-inside:avoid;font-weight:600;color:var(--ink)}
.local-list li:before{content:"";position:absolute;left:2px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--red)}
.map{margin:0}.map img{width:100%;height:auto;border-radius:6px;border:1px solid var(--rule)}
.callcard{position:sticky;top:20px;background:var(--navy);color:#e4e8f5;border-radius:6px;padding:30px 28px}
.cc-k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--yellow)}
.cc-num{display:block;font-size:34px;font-weight:800;color:#fff;letter-spacing:-.02em;margin:6px 0 18px;white-space:nowrap}
.callcard .btn{width:100%}
.callcard .alt{display:block;text-align:center;margin-top:14px;font-weight:700;color:#fff;text-decoration:underline}
.empty-note{color:var(--muted)}

/* what we do */
.tsvc{background:var(--grey)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.tiles a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--rule);border-left:4px solid var(--navy);border-radius:6px;padding:22px 22px;font-size:19px;color:var(--ink);transition:border-color .18s ease,color .18s ease}
.tiles a:after{content:"";width:9px;height:9px;flex:0 0 9px;border-right:2.5px solid var(--red);border-top:2.5px solid var(--red);transform:rotate(45deg)}
.tiles a:hover{color:var(--navy);border-color:var(--navy)}
.tiles b{font-weight:800}

/* photo strip */
.pstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}
.pstrip figure{margin:0}
.pstrip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.pstrip figcaption,.dv-photo figcaption{color:var(--muted)}

/* areas */
.tareas{background:var(--grey)}
.ar-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:26px}
.ar-grid h3{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
.ar-grid h3 a:hover{color:var(--navy);text-decoration:underline}
.ar-list{columns:2;column-gap:28px}
.ar-list a{display:block;padding:9px 0;border-bottom:1px solid var(--rule);font-weight:700;color:var(--ink);break-inside:avoid}
.ar-list a:hover{color:var(--navy)}
.ar-list a[aria-current]{color:var(--red)}
.ar-list a[aria-current]:after{content:" (this page)";font-weight:500;color:var(--muted);font-size:14px}
.ar-all{margin-top:24px}.ar-all a{font-weight:800;color:var(--navy);text-decoration:underline}


/* footer band: the H1 on /plumbers/ pages, styled like the homepage's text line */
.fband .band-h1{font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.015em;max-width:30em;margin:0}

/* ---------- sub-site content (Divi markup rendered clean) ---------- */
.dv{padding:64px 0}
.dv h2{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0 0 14px}
.dv h3{font-size:21px;line-height:1.2;font-weight:800;color:var(--ink);margin:0 0 8px}
.dv h4{font-size:14px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 10px}
.dv h5{font-size:17px;font-weight:800;color:var(--ink);margin:0}
.dv h6{font-size:16px;font-weight:600;color:var(--text);margin:0;line-height:1.45}
.dv p{margin:0 0 14px}
.dv-row{display:grid;gap:32px;align-items:start}
.dv-row+.dv-row{margin-top:40px}
.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:repeat(3,1fr)}.c4{grid-template-columns:repeat(4,1fr)}
.dv-col>*:last-child{margin-bottom:0}
.dv-btn{margin:18px 0 0}
.dv-btn .btn{white-space:normal;text-align:center}
.dv-ico{display:none}
/* blurbs: list rows with a tick or a cross */
.dv-blurb{position:relative}
.b-tick,.b-cross{padding:10px 0 10px 30px;border-top:1px solid var(--rule)}
.b-tick:before{content:"";position:absolute;left:4px;top:17px;width:11px;height:6px;border-left:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(-45deg)}
.b-cross:before{content:"!";position:absolute;left:0;top:12px;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:800;text-align:center;line-height:20px}
.b-cross h3{display:inline;font-size:18px}.b-cross p{display:inline}
.b-cross h3:after{content:" "}
/* intro: three service tiles, then "since 1985" + three lists */
.dv-intro .dv-row.c4:first-child{gap:16px}
.dv-intro .dv-row.c4:first-child .dv-col:first-child{padding-right:12px}
.dv-intro .dv-row.c4:first-child .dv-col:not(:first-child){background:var(--grey);border-radius:6px;padding:24px;border-top:4px solid var(--navy);min-height:100%}
.dv-intro .dv-row.c4:first-child .dv-col:not(:first-child) h3{font-size:22px}
.dv-intro .dv-row.c4:nth-child(2) .dv-col:first-child{background:var(--navy);color:#e4e8f5;border-radius:6px;padding:28px}
.dv-intro .dv-row.c4:nth-child(2) .dv-col:first-child h3,.dv-intro .dv-row.c4:nth-child(2) .dv-col:first-child h2{color:#fff}
.dv-intro .dv-row.c4:nth-child(2) .dv-col:not(:first-child) .dv-text h3{font-size:19px;padding-bottom:6px}
/* bands */
.dv-band{background:var(--ink);color:#fff;padding:52px 0}
.dv-band h2,.dv-band h3,.dv-band h4{color:#fff}
.dv-band h4{color:var(--yellow)}
.dv-band .dv-col{display:grid;grid-template-columns:1fr auto;gap:4px 32px;align-items:center}
.dv-band .dv-text:last-child{grid-row:1/span 3;grid-column:2}
.dv-band .dv-text:last-child p,.dv-band .dv-text:last-child h3,.dv-band .dv-text:last-child h4{font-size:30px;font-weight:800;color:var(--yellow);margin:0;letter-spacing:-.01em;text-transform:none}
.dv-band p{color:#dbe1f0;margin:0}
/* split: photo + copy */
.dv-split .c2{grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.dv-photo{margin:0}.dv-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.dv-photo.tall img{aspect-ratio:3/4}
.b-dollar,.b-ico{background:var(--yellow);border-radius:6px;padding:20px 22px;margin-top:10px}
.b-dollar h4,.b-ico h4{color:var(--ink);letter-spacing:0;text-transform:none;font-size:17px;margin:0;line-height:1.4}
/* signs */
.dv-signs{background:var(--grey)}
.dv-signs .c2 .dv-col{background:#fff;border-radius:6px;padding:8px 24px}
.dv-signs .c2 .dv-blurb:first-child{border-top:0}
.dv-signs .b-ico{background:#fff;border-left:4px solid var(--navy)}
/* types */
.dv-types .c3 .dv-col{border-top:4px solid var(--navy);padding-top:20px;display:flex;flex-direction:column}
.dv-types .c3 .dv-col .dv-btn{margin-top:auto;padding-top:14px}
.dv-types .c1 .dv-col{max-width:820px}
.dv-types .c1:first-child .dv-col{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:56px;align-items:start}
.dv-types .c1:first-child .dv-col>*{grid-column:1}
.dv-types .c1:first-child .dv-photo{grid-column:2;grid-row:1/span 6}
.dv-toggle{border-top:2px solid var(--rule);margin-top:6px}
.dv-toggle summary{list-style:none;cursor:pointer;padding:13px 30px 13px 0;position:relative}
.dv-toggle summary::-webkit-details-marker{display:none}
.dv-toggle summary:after{content:"";position:absolute;right:6px;top:18px;width:8px;height:8px;border-right:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(45deg)}
.dv-toggle[open] summary:after{transform:rotate(225deg);top:22px}
.dv-toggle summary h5,.dv-toggle summary h3{display:inline}
.dv-tc{padding:0 0 12px}
/* popular */
.dv-popular{background:var(--grey)}
.dv-popular .c4 .dv-col{background:#fff;border-radius:6px;padding:20px;display:flex;flex-direction:column;position:relative;min-height:100%}
.dv-popular .c4 .dv-col>.dv-text:first-child p{position:absolute;top:14px;left:16px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;text-align:center;line-height:30px;margin:0}
.dv-prodimg{height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.dv-prodimg img{max-height:174px;width:auto}
.dv-popular .c4 .dv-btn{margin-top:auto}
.dv-popular .c4 .btn{width:100%;min-height:48px;font-size:15.5px}
/* faq */
.dv-faq .c2{grid-template-columns:5fr 7fr;gap:56px}
.dv-acc .dv-toggle summary h5{font-size:18px}
/* contact */
.dv-contact{background:var(--grey)}
.dv-contact .dv-row{grid-template-columns:7fr 5fr;gap:48px}
.dv-form{background:#fff;border-radius:6px;padding:26px;box-shadow:0 10px 26px rgba(5,12,40,.08);margin-top:6px}
.form-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 14px}
.dv-form form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dv-form .full{grid-column:1/-1}
.dv-form .form-note{color:var(--red-d)}
.dv-contact .b-ico{background:#fff;margin-top:14px}
.dv-contact .b-ico p{margin:4px 0 0;font-weight:800;font-size:20px;color:var(--navy)}
.dv-map{margin-top:18px;border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.dv-map iframe{border:0;width:100%;height:100%}
/* hub */
.dv-hub .dv-text p{max-width:46em}
.dv-posts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.dv-posts h2{font-size:19px;margin:0}
.dv-posts a{display:block;background:var(--grey);border-left:4px solid var(--navy);border-radius:6px;padding:18px 18px;color:var(--ink)!important;text-decoration:none!important}
.dv-posts a:hover{color:var(--navy)!important}

@media (max-width:1240px){
  .th-title{font-size:4.2vw}
  .thero .wrap,.tb-grid{gap:40px}
  .brandrow .wrap{gap:28px}.logos{gap:18px}
  .l-bosch{height:38px}.l-rheem{height:52px}.l-rinnai{height:33px}.l-dux{height:42px}.l-vulcan{height:42px}
  .c4{grid-template-columns:repeat(2,1fr)}
  .dv-intro .dv-row.c4:first-child .dv-col:first-child{grid-column:1/-1}
  .dv-posts{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .dv-types .c1:first-child .dv-col{display:block}
  .dv-types .c1:first-child .dv-photo{max-width:420px;margin-bottom:24px}
  .thero .wrap,.tb-grid,.c2,.c3,.dv-split .c2,.dv-faq .c2,.dv-contact .dv-row,.ar-grid,.dv-types .c1:first-child{grid-template-columns:minmax(0,1fr)}
  .thero .wrap{padding-top:26px;padding-bottom:36px;gap:28px}
  .th-title{font-size:clamp(30px,8.4vw,46px)}
  .th-title2{font-size:20px}
  .th-sub{font-size:16.5px;margin-top:14px}
  .th-row{display:block;margin-top:22px}
  .th-row .btn{width:100%;min-height:58px;font-size:18px}
  .th-row small{display:block;margin-top:12px;font-size:14px}
  .callcard{position:static}
  .local{grid-template-columns:minmax(0,1fr);padding:22px 20px}
  .local .map{max-width:300px}
  .tiles{grid-template-columns:1fr 1fr}
  .pstrip{grid-template-columns:1fr 1fr}
  .brandrow .wrap{display:block;padding-top:18px;padding-bottom:22px}
  .brandrow p{font-size:14.5px;margin-bottom:14px}
  .dv-band .dv-col{display:block}
  .dv-band .dv-text:last-child{margin-top:14px}
  .dv-band .dv-text:last-child p,.dv-band .dv-text:last-child h3,.dv-band .dv-text:last-child h4{font-size:24px}
  .dv-posts{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .sec,.dv{padding:48px 0}
  .sec-h{font-size:27px}
  .dv h2{font-size:27px}
  .crumbs ol{margin-bottom:14px;font-size:13px}
  .kick{font-size:12px;margin-bottom:10px}
  .tiles{grid-template-columns:1fr;gap:10px}
  .tiles a{padding:17px 18px;font-size:18px}
  .local-list ul,.ar-list{columns:2;column-gap:16px}
  .l-bosch{height:27px}.l-rheem{height:40px}.l-rinnai{height:23px}.l-dux{height:29px}.l-vulcan{height:29px}
  .logos{gap:8px}
  .dv-row{gap:22px}
  .c4,.c1{grid-template-columns:minmax(0,1fr)}
  .dv-popular .c4{grid-template-columns:1fr 1fr;gap:12px}
  .dv-popular .c4 .dv-col{padding:14px}
  .dv-prodimg{height:140px}.dv-prodimg img{max-height:134px}
  .dv-form{padding:18px 16px}
  .dv-form form{grid-template-columns:1fr}
  .fband .band-h1{font-size:21px;margin-bottom:16px}
  .brandrow.in-content .wrap{padding-left:16px;padding-right:16px}
}
@media (max-width:560px){.pstrip{grid-template-columns:1fr}.dv-posts{grid-template-columns:1fr}.dv-popular .c4{grid-template-columns:1fr}}
@media (max-width:430px){.l-bosch{height:6.92vw}.l-rheem{height:10.25vw}.l-rinnai{height:5.9vw}.l-dux{height:7.44vw}.l-vulcan{height:7.44vw}}
/* intro tiles: compact, with an icon */
.dv-intro .dv-row.c4:first-child .dv-col:not(:first-child){min-height:0;display:flex;align-items:center;gap:14px;padding:20px 22px}
.dv-intro .dv-row.c4:first-child .dv-col:not(:first-child) .dv-ico{display:block;order:-1;flex:0 0 40px;height:40px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f9ec00'%3E%3Cpath d='M12 2c3 4 6 7.4 6 11a6 6 0 0 1-12 0c0-3.6 3-7 6-11z'/%3E%3C/svg%3E") center/20px no-repeat}
.dv-intro .dv-row.c4:first-child .dv-col:not(:first-child) h3{margin:0}
.dv-contact,.foot{overflow-wrap:anywhere}
.dv-map[data-map-src]{display:flex;align-items:center;justify-content:center;background:var(--grey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5cad5'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") center 30%/64px no-repeat;border:1px solid var(--rule)}
.dv-map[data-map-src] .btn{margin-top:90px}
.dv-posts h4{margin:0;letter-spacing:0;text-transform:none;font-size:17px}
.dv-posts h4 a{color:var(--ink)!important}
.dv-hub .dv-posts{grid-template-columns:repeat(3,1fr)}
.dv-hub h2{font-size:28px;margin-top:28px}
@media (max-width:900px){.dv-hub .dv-posts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
