/*
Theme Name: Vale
Theme URI: https://valepestgroup.com.au/
Author: Vale Pest Group
Description: Custom theme for Vale Pest Group: drafting-sheet design, redrawn termite details, declared termite area search.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: vale
*/

:root{
  --paper:#F6F5F3; --sheet:#FFFFFF; --ink:#18161C; --ink-2:#2E2C33; --graphite:#56535C; --mute:#8A868E;
  --rule:#DDD9D6; --rule-2:#ECE9E6; --dim:#D9D3D0; --pink:#ED0180; --pink-ink:#C0016A; --pink-btn:#E2007A; --pink-wash:#FCE8F2;
  --grid:rgba(24,22,28,.045);
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-body:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",Consolas,"Courier New",monospace;
  --bar:var(--wp-admin--admin-bar--height,0px); --hdr:72px;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:#fff}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--pink);outline-offset:2px}

/* ---------- site ---------- */
.site{container:site/inline-size;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;min-height:100vh}
.site a{color:inherit}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4cqi,48px)}
.mono{font-family:var(--f-mono)}
.eyebrow{font:500 12px/1.4 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--graphite)}
.eyebrow a{text-decoration:none}
.eyebrow a:hover{color:var(--pink-ink)}
.eyebrow .sep{color:var(--mute);margin-inline:8px}

/* header */
.hdr{position:sticky;top:var(--bar);z-index:60;background:var(--hdr-bg,rgba(246,245,243,.94));backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--ink)}
.hdr .wrap{display:flex;align-items:center;gap:30px;height:var(--hdr)}
.logo{display:block;flex:none}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.logo,.flogo{display:block;position:relative;overflow:hidden;height:var(--lh,38px);width:calc(var(--lh,38px) * 735 / 302)}
.logo img,.flogo img{position:absolute;max-width:none;height:calc(var(--lh,38px) * 588 / 302);width:auto;left:calc(var(--lh,38px) * -165 / 302);top:calc(var(--lh,38px) * -143 / 302);margin:0}
.main-nav{display:flex;align-items:center;gap:4px;font:500 14.5px/1 var(--f-body)}
.main-nav>a,.main-nav>button{background:none;border:0;color:var(--ink);text-decoration:none;padding:10px 11px;cursor:pointer;font:inherit;display:flex;align-items:center;gap:6px}
.main-nav>a:hover,.main-nav>button:hover,.main-nav>a.on,.main-nav>button.on,.hdr.open .main-nav>#sysbtn,.hdr.open-loc .main-nav>#locbtn{color:var(--pink-ink)}
.main-nav>button::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.hdr-phone{font:500 14px/1 var(--f-mono);text-decoration:none;white-space:nowrap}
.hdr-phone small{display:block;font-size:10px;letter-spacing:.08em;color:var(--mute);margin-bottom:4px}
.burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--ink);width:44px;height:40px;cursor:pointer;padding:0}
.burger i{display:block;width:18px;height:1.5px;background:var(--ink);margin:4px auto}
.mega{position:absolute;inset:100% 0 auto 0;background:var(--sheet);border-bottom:1px solid var(--ink);box-shadow:0 24px 48px rgba(24,22,28,.10);display:none}
.hdr.open .mega:not(.mega-loc),.hdr.open-loc .mega-loc{display:block}
.mega .wrap{display:grid;grid-template-columns:repeat(4,1fr);height:auto;gap:0;align-items:stretch;padding-block:0}
.mega a{display:grid;grid-template-columns:30px 1fr;gap:4px 12px;padding:22px 20px 24px;border-left:1px solid var(--rule);text-decoration:none}
.mega a:nth-child(4n+1){border-left:0}
.mega a:nth-child(n+5){border-top:1px solid var(--rule)}
.mega a:hover .mn{color:var(--pink-ink)}
.mega .mn{font:700 16px/1.25 var(--f-display);font-stretch:108%}
.mega .md{grid-column:2;font-size:13.5px;line-height:1.45;color:var(--graphite)}
.drawer{display:none;border-top:1px solid var(--rule);background:var(--sheet)}
.site.menu .drawer{display:block;max-height:calc(100vh - var(--bar,0px) - 68px);max-height:calc(100dvh - var(--bar,0px) - 68px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch} /* the open menu scrolls inside the sticky header, so its last items are reachable on short phones (30 Sep 2026) */
.drawer a{display:flex;align-items:center;gap:12px;padding:14px clamp(16px,4cqi,48px);border-bottom:1px solid var(--rule);text-decoration:none;font-weight:500}
.drawer .dh{padding:18px clamp(16px,4cqi,48px) 6px;font:500 11px var(--f-mono);letter-spacing:.09em;color:var(--mute);text-transform:uppercase}

/* bubbles = drawing callout / grid-line markers */
.bub{flex:none;width:26px;height:26px;border:1.5px solid var(--ink);border-radius:50%;display:inline-grid;place-items:center;font:600 11.5px/1 var(--f-mono);background:var(--sheet);color:var(--ink)}
.bub.pk{background:var(--pink);border-color:var(--pink);color:#fff}
.bub.lg{width:34px;height:34px;font-size:13px}

/* buttons: colour-only hover */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 22px;font:600 15px/1.2 var(--f-body);text-decoration:none;border:1.5px solid var(--ink);background:var(--ink);color:#fff!important;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn:hover{background:var(--pink-btn);border-color:var(--pink-btn)}
.btn.ghost{background:transparent;color:var(--ink)!important}
.btn.ghost:hover{border-color:var(--pink);color:var(--pink-ink)!important}
.btn.pink{background:var(--pink-btn);border-color:var(--pink-btn)}
.btn.pink:hover{background:#fff;border-color:#fff;color:var(--ink)!important}
.btn.line{background:transparent;border-color:#5C5862;color:#fff!important}
.btn.line:hover{border-color:#fff}
.arrow{font-family:var(--f-mono);font-weight:500}

/* hero */
.hero{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;border-bottom:1px solid var(--ink)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,12fr);gap:clamp(28px,5cqi,64px);align-items:center;padding-block:clamp(36px,6cqi,72px)}
.display{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:clamp(34px,4.3cqi,58px);line-height:1.02;letter-spacing:-.012em;text-wrap:balance;margin:18px 0 22px}
.display em{font-style:normal;color:var(--pink)}
.lead{font-size:clamp(17px,1.6cqi,19.5px);line-height:1.55;margin:0 0 14px;max-width:34em;text-wrap:pretty}
.sub{color:var(--graphite);font-size:15.5px;margin:0;max-width:38em;text-wrap:pretty}
.hero.home .wrap{grid-template-columns:minmax(0,10fr) minmax(0,13fr);align-items:start}
.hero.home .hl{grid-column:1/-1}
.hero.home .display{font-size:clamp(36px,6.2cqi,84px);max-width:19ch;margin-bottom:0}
.hero.home .copy{padding-top:6px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.proof{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:30px;padding-top:20px;border-top:1px solid var(--rule)}
/* totals strip in a page header (Projects): one row on desktop, 5 then 3 across as the screen narrows */
.hstats{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:22px 18px;margin:34px 0 0;padding-top:24px;border-top:1px solid var(--rule)}
.hstats div{min-width:0}
.hstats dd{margin:0;font:700 clamp(19px,1.7vw,23px)/1.1 var(--f-display);font-stretch:108%;color:var(--ink);white-space:nowrap}
.hstats dt{margin-top:7px;font:500 11px/1.35 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.site.t-ink .hero .hstats{border-top-color:#333}.site.t-ink .hero .hstats dd{color:#fff}.site.t-ink .hero .hstats dt{color:#C9C9C9}
@media (max-width:1180px){.hstats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:700px){.hstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}.hstats dd{font-size:21px}.hstats dt{font-size:10.5px}}
.proof span{font:500 12px/1.3 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:9px}
.proof span::before{content:"";width:16px;height:7px;background:linear-gradient(var(--pink) 0 2.5px,transparent 2.5px 4.5px,var(--pink) 4.5px 7px)}

/* brand stripe marks (from the logo) */
.sheet>.corner,.cert>.corner{position:absolute;top:-1.5px;left:-1.5px;width:46px!important;height:auto!important;display:block;z-index:2;pointer-events:none}
.cta .vmark{height:clamp(150px,16cqi,210px);width:auto;align-self:center;pointer-events:none}
.cta .wrap{position:relative;z-index:1}

/* drawing sheet */
.sheet{background:var(--sheet);border:1.5px solid var(--ink);position:relative;min-width:0}
.sheet svg{display:block;width:100%;height:auto}
.sheet .tag{position:absolute;top:10px;left:12px;font:500 10.5px/1 var(--f-mono);letter-spacing:.08em;color:var(--graphite);text-transform:uppercase}
.cap{display:flex;justify-content:space-between;gap:16px;border-top:1.5px solid var(--ink);font:500 10.5px/1.3 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;padding:10px 14px;color:var(--ink-2)}
.tblock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.tblock div{padding:10px 14px 11px;border-left:1px solid var(--ink);min-width:0}
.tblock div:first-child{border-left:0}
.tblock small{display:block;font:500 9.5px/1.2 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.tblock b{font:600 13.5px/1.3 var(--f-body);display:block}
.legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.legend li{border-left:1px solid var(--rule);border-top:1px solid var(--rule)}
.legend li:nth-child(3n+1){border-left:0}
.legend li:nth-child(-n+3){border-top:0}
.legend a{display:flex;align-items:center;gap:10px;padding:11px 12px;text-decoration:none;font:500 13.5px/1.25 var(--f-body)}
.legend a:hover,.legend a.hot{background:var(--pink-wash)}
.legend a:hover .bub,.legend a.hot .bub{background:var(--pink);border-color:var(--pink);color:#fff}


/* certificate illustration (compliance hero) */
.cert{background:var(--sheet);border:1.5px solid var(--ink);padding:26px 28px 22px;position:relative;box-shadow:12px 12px 0 -1px var(--paper),12px 12px 0 0 var(--ink)}
.cert h4{margin:0;font:800 20px/1.1 var(--f-display);font-stretch:118%;letter-spacing:.01em;text-transform:uppercase}
.cert .ct{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin-top:6px}
.cert dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:20px 0 0;border-top:1px solid var(--ink)}
.cert dt,.cert dd{margin:0;padding:9px 0;border-bottom:1px solid var(--rule);font-size:13.5px}
.cert dt{font:500 10.5px/1.9 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding-right:22px}
.cert dd .ln{display:inline-block;width:70%;height:10px;border-bottom:1px dashed var(--mute)}
.cert .areas{display:flex;flex-wrap:wrap;gap:6px}
.cert .areas span{font:500 11.5px/1 var(--f-mono);padding:5px 7px;border:1px solid var(--ink)}
.cert .areas span::before{content:"✓ ";color:var(--pink-ink)}
.stamp{position:absolute;right:22px;bottom:18px;transform:rotate(-9deg);border:2.5px solid var(--pink);color:var(--pink);padding:8px 12px;font:700 12px/1.15 var(--f-mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;background:rgba(255,255,255,.85)}
.cert .sig{display:flex;gap:28px;margin-top:22px;font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cert .sig span{flex:1;border-top:1px solid var(--ink);padding-top:6px;max-width:170px}

/* photo hero (locations) */
.photo{margin:0}
.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;background:var(--rule-2)}

/* section nav */
.snav{position:sticky;top:calc(var(--bar) + var(--hdr));z-index:50;background:var(--snav-bg,rgba(246,245,243,.96));border-bottom:1px solid var(--rule)}
.snav .wrap{display:flex;flex-wrap:wrap;gap:2px 0;min-height:50px;align-items:center;padding-block:6px} /* wraps to a second row rather than running off the page */
.snav .wrap::-webkit-scrollbar{display:none}
.snav button{flex:none;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 10px;font:500 13px/1 var(--f-body);color:var(--graphite);white-space:nowrap}
.snav button .bub{width:22px;height:22px;font-size:10.5px}
.snav button:hover{color:var(--ink)}
.snav button:hover .bub{border-color:var(--pink);color:var(--pink-ink)}

/* sections */
.sec{padding-block:clamp(52px,7cqi,88px);border-top:1px solid var(--rule);scroll-margin-top:calc(var(--bar) + var(--hdr) + var(--snav-h,50px))}
.sec.w{background:var(--band,var(--sheet))}
.sec:first-of-type{border-top:0}
.gl{display:flex;align-items:center;margin-bottom:18px}
.gl i{flex:1;height:0;border-top:1.5px dashed var(--rule);margin-left:0}
.gl .bub{width:34px;height:34px;font-size:13px}
h2.h{font-family:var(--f-display);font-stretch:112%;font-weight:760;font-size:clamp(25px,3cqi,38px);line-height:1.08;letter-spacing:-.006em;text-wrap:balance;margin:0}
.head{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4cqi,56px);align-items:end;margin-bottom:clamp(28px,4cqi,44px)}
.head .intro p{margin:0 0 12px;max-width:62ch;color:var(--graphite);font-size:16.5px}
.head .intro p:last-child{margin-bottom:0}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4cqi,56px);align-items:start}
.split>.l{position:sticky;top:calc(var(--bar) + var(--hdr) + var(--snav-h,50px) + 24px)}
.prose p{margin:0 0 16px;max-width:64ch;font-size:17px;line-height:1.65;color:var(--ink-2);text-wrap:pretty}
.prose p:first-child{font-size:19px;color:var(--ink)}
.fig{margin:30px 0 0;background:var(--sheet);border:1.5px solid var(--ink);max-width:720px}
.fig img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#fff}
.fig figcaption{display:flex;gap:12px;justify-content:space-between;border-top:1.5px solid var(--ink);padding:9px 14px;font:500 10.5px/1.35 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}

/* features (items with icons) */
.feat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,3cqi,36px)}
.feat>div{grid-column:span var(--s,4);border-top:1.5px solid var(--ink);padding:20px 0 34px;min-width:0}
.feat .ico{height:48px;display:flex;align-items:center}
.feat .ico svg{width:46px;height:46px;color:var(--ink)}
.feat h3,.defs h3,.det h3,.lists h3{font-family:var(--f-display);font-stretch:106%;font-weight:700;font-size:19px;line-height:1.25;margin:14px 0 8px;text-wrap:balance}
.feat p{color:var(--graphite);font-size:15.5px;margin:0 0 8px}
.feat .more{font:600 14px var(--f-body);text-decoration:none;color:var(--pink-ink);display:inline-flex;gap:8px;margin-top:6px}
.feat .more:hover{color:var(--ink)}

/* detail rows (items with drawings) */
.det-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4cqi,56px);padding-block:34px;border-top:1px solid var(--rule);align-items:start}
.det-row:first-child{border-top:1.5px solid var(--ink)}
.det-row .fig{margin:0}
.det-row .fig img{max-height:360px}
.det-row h3{margin-top:0;font-size:22px}
.det-row p{margin:0 0 12px;color:var(--ink-2);max-width:62ch}
.fig.dfig svg{display:block;width:100%;height:auto}
.dtag{font:500 11px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--pink-ink);margin-bottom:8px;display:block}

/* definition rows */
.defs>div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4cqi,56px);padding-block:22px;border-top:1px solid var(--rule)}
.defs>div:first-child{border-top:1.5px solid var(--ink)}
.defs h3{margin:0}
.defs p{margin:0 0 10px;color:var(--ink-2);max-width:64ch}
.defs p:last-child{margin-bottom:0}

/* tick lists */
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ticks li{background:var(--sheet);border:1px solid var(--rule);padding:13px 16px;font-weight:500;display:flex;gap:12px;align-items:center}
.sec.w .ticks li{background:var(--paper)}
.ticks li::before{content:"";flex:none;width:9px;height:9px;background:var(--pink)}
/* service-area tiles: fixed columns so the rows come out even (QLD 6 = one row, VIC 11 = 6 + 5) */
.ticks.pins{grid-template-columns:repeat(6,minmax(0,1fr))}
.lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3cqi,40px)}
.lists>div{border-top:1.5px solid var(--ink);padding:18px 0 26px}
.lists ul{margin:10px 0 0;padding:0;list-style:none}
.lists li{padding:7px 0;border-top:1px solid var(--rule-2);font-size:15.5px;color:var(--ink-2)}
.lists p{color:var(--graphite);margin:0 0 8px}

/* programme (process steps) */
.prog{border-top:1.5px solid var(--ink)}
.prog-h,.prog-r{display:grid;grid-template-columns:44px minmax(0,6fr) minmax(0,5fr);gap:clamp(16px,3cqi,32px);align-items:center}
.prog-h{padding:10px 0;border-bottom:1px solid var(--rule);font:500 10.5px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.prog-h .ticks-axis{display:grid;grid-template-columns:repeat(var(--n),1fr)}
.prog-h .ticks-axis span{border-left:1px solid var(--rule);padding-left:6px}
.prog-r{padding:20px 0;border-bottom:1px solid var(--rule);align-items:start}
.prog-r h3{font-family:var(--f-display);font-stretch:106%;font-weight:700;font-size:19px;line-height:1.25;margin:2px 0 6px}
.prog-r p{margin:0;color:var(--graphite);font-size:15.5px;max-width:60ch}
.track{position:relative;height:100%;min-height:52px;background-image:linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:calc(100% / var(--n)) 100%}
.track i{position:absolute;top:8px;height:14px;background:var(--pink);left:calc(100% / var(--n) * var(--i));width:calc(100% / var(--n))}
.track i::after{content:"";position:absolute;right:-5px;top:3px;width:0;height:0;border:4px solid transparent;border-left:5px solid var(--pink)}

/* related systems */
.rel a{display:grid;grid-template-columns:40px minmax(0,4fr) minmax(0,7fr) 30px;gap:clamp(14px,3cqi,32px);align-items:center;padding:22px 0;border-top:1px solid var(--rule);text-decoration:none}
.rel a:first-child{border-top:1.5px solid var(--ink)}
.rel a:last-child{border-bottom:1px solid var(--rule)}
.rel .rt{font:700 20px/1.2 var(--f-display);font-stretch:108%}
.rel .rd{color:var(--graphite);font-size:15px}
.rel .arrow{font-size:20px;text-align:right}
.rel a:hover .rt,.rel a:hover .arrow{color:var(--pink-ink)}
.rel a:hover .bub{border-color:var(--pink);color:var(--pink-ink)}

/* document register */
.reg{overflow-x:auto;border-top:1.5px solid var(--ink)}
.reg table{width:100%;border-collapse:collapse;min-width:640px}
.reg th{font:500 10.5px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute);text-align:left;padding:11px 14px;border-bottom:1px solid var(--ink)}
.reg td{padding:17px 14px;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15px;color:var(--ink-2)}
.reg td:first-child{font:500 13px var(--f-mono);color:var(--ink);white-space:nowrap}
.reg td b{font:700 16.5px/1.25 var(--f-display);font-stretch:106%;color:var(--ink)}
.reg td:last-child{white-space:nowrap;text-align:right}
.reg .dl{font:600 13px var(--f-mono);text-decoration:none;color:var(--pink-ink);background:none;border:1.5px solid currentColor;padding:7px 10px;display:inline-block;cursor:pointer;margin-left:6px}
.reg .dl:hover{color:var(--ink)}
.reg .dl.solid{background:var(--ink);border-color:var(--ink);color:#fff}
.reg .dl.solid:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.pdfv{width:min(1040px,94vw);height:min(88vh,1200px);padding:0;border:1.5px solid var(--ink);background:var(--paper)}
.pdfv::backdrop{background:rgba(24,22,28,.55)}
.pdfv-h{display:flex;align-items:center;gap:12px;height:58px;padding:0 10px 0 18px;border-bottom:1.5px solid var(--ink);background:var(--sheet)}
.pdfv-h b{font:700 17px var(--f-display);font-stretch:108%;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdfv-h .btn{min-height:38px;padding:6px 14px;font-size:14px;white-space:nowrap}
@media (max-width:640px){.pdfv-h .btn.ghost{display:none}}
.pdfv-x{width:40px;height:40px;background:none;border:0;font:400 26px/1 var(--f-body);cursor:pointer;color:var(--ink)}
.pdfv-x:hover{color:var(--pink-ink)}
.pdfv iframe{display:block;width:100%;height:calc(100% - 58px);border:0;background:#fff}
.pdfv-b{height:calc(100% - 58px);overflow:auto;padding:12px;background:#E9E7E4;-webkit-overflow-scrolling:touch}
.pdfv-p{width:min(900px,100%);margin:0 auto 12px;background:#fff;box-shadow:0 1px 3px rgba(24,22,28,.18)}
.pdfv-p canvas{display:block;width:100%;height:auto}
.pdfv-b iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.pdfv-l{margin:40px auto;text-align:center;font:500 13px var(--f-mono);color:var(--mute)}
/* Phones (owner, 1 Oct 2026): the document fills the whole screen, with Download and a large × kept in the bar. */
@media (max-width:760px){
  .pdfv{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;border:0}
  .pdfv-h{height:auto;min-height:58px;padding:env(safe-area-inset-top,0px) 6px 0 16px;gap:8px}
  .pdfv-h b{font-size:16px}
  .pdfv-h .btn{min-height:44px}
  .pdfv-x{width:44px;height:44px;font-size:30px}
  .pdfv iframe,.pdfv-b{height:calc(100dvh - 58px - env(safe-area-inset-top,0px))}
  .pdfv-b{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
}
.reg .na{font:500 12px var(--f-mono);color:var(--mute)}

/* faq */
.faq-list details{border-top:1px solid var(--rule)}
.faq-list details:first-child{border-top:1.5px solid var(--ink)}
.faq-list details:last-child{border-bottom:1px solid var(--rule)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font:600 17.5px/1.4 var(--f-body)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;font:400 24px/1 var(--f-mono);color:var(--pink)}
.faq-list details[open] summary::after{content:"−"}
.faq-list summary:hover{color:var(--pink-ink)}
.faq-list .ans{padding:0 48px 22px 0}
.faq-list .ans p{margin:0 0 12px;color:var(--ink-2);max-width:66ch}
.aside-note{margin-top:26px;padding-top:18px;border-top:1px solid var(--rule);font-size:15px;color:var(--graphite)}
.aside-note b{display:block;font:500 20px/1.3 var(--f-mono);color:var(--ink);margin-top:6px;user-select:all}

/* projects gallery */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6cqi,30px)}
.gal figure{margin:0}
.gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;background:var(--rule-2);border:1px solid var(--ink)}
.gal figcaption{padding-top:12px;display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:12px}
.gal figcaption b{font:600 15.5px/1.35 var(--f-body)}
.gal figcaption span{font:500 11px var(--f-mono);letter-spacing:.08em;color:var(--graphite);white-space:nowrap}
.gal-more{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* logo wall */
.logos{display:grid;grid-template-columns:repeat(var(--c,5),minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.logos>*{height:108px;display:grid;place-items:center;overflow:hidden;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px}
.logos img{max-height:46px;max-width:78%;width:auto;mix-blend-mode:multiply} /* full colour always (owner, 28 Sep) */
.logos a:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
/* partner slider */
/* styled after GS Logo Slider (the WordPress plugin the live site will use): large logos, no cell borders, round grey arrows */
.slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.slider-track::-webkit-scrollbar{display:none}
.slider-track>*{flex:0 0 calc(100% / var(--per,5));scroll-snap-align:start;height:190px;display:grid;place-items:center;padding:20px 24px;overflow:hidden}
.slider-track img{max-height:100px;max-width:100%;width:auto;mix-blend-mode:multiply}
.slider-track a:focus-visible,.slider-track:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
.slider-nav{display:flex;justify-content:center;gap:12px;margin-top:22px}
.slider-nav button{width:36px;height:36px;border:0;border-radius:50%;background:#EAEAEA;color:#555;font:600 15px var(--f-mono);cursor:pointer;transition:background .15s,color .15s}
.slider-nav button:hover,.slider-nav button:focus-visible{background:var(--ink);color:#fff}
.trust{padding-block:34px 42px;border-bottom:1px solid var(--rule);background:var(--sheet)}
.trust .row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}

/* service areas */
/* home: the two states side by side as ruled lists (location pages use tiles); buttons line up along the bottom */
.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4cqi,56px)}
.areas>div{display:flex;flex-direction:column;align-items:flex-start}
.areas>div>.btn{margin-top:auto}
.areas h4.sub-area{font:700 17px/1.2 var(--f-display);font-stretch:106%;margin:10px 0 0;display:flex;align-items:center;gap:10px}
.area-head.sub{margin-top:30px}
.areas ul{list-style:none;margin:14px 0 20px;padding:0;border-top:1.5px solid var(--ink);align-self:stretch}
.areas li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);font-weight:500}
.areas h3{font:700 21px/1.2 var(--f-display);font-stretch:108%;margin:0 0 4px;display:flex;align-items:center;gap:12px}
.areas h3 svg,.area-map svg{flex:none}
.area-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.area-head b{font:700 18px var(--f-display);font-stretch:106%}
.areas li small{font:400 13.5px var(--f-body);color:var(--graphite);text-align:right}
.national{margin-top:34px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:20px 22px;border:1px dashed var(--ink);background:var(--sheet)}
.national b{font:700 17px var(--f-display);font-stretch:106%}
.national p{margin:2px 0 0;color:var(--graphite);font-size:15px}

/* system index (home) */
.sys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6cqi,30px)}
.sys a{display:flex;flex-direction:column;text-decoration:none;background:var(--sheet);border:1.5px solid var(--ink);transition:border-color .15s}
.sys a:hover{border-color:var(--pink)}
.sys a:hover .st{color:var(--pink-ink)}
.sys .thumb{border-bottom:1.5px solid var(--ink);aspect-ratio:16/10;overflow:hidden;background:#fff}
.sys .thumb svg{width:100%;height:100%;display:block}
.sys .bd{padding:16px 18px 20px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:start}
.sys .st{font:700 19px/1.2 var(--f-display);font-stretch:108%;margin-top:2px}
.sys .sd{grid-column:2;color:var(--graphite);font-size:15px;line-height:1.5}

/* statement (home intro) */
.statement{font:760 clamp(26px,3.3cqi,42px)/1.12 var(--f-display);font-stretch:112%;letter-spacing:-.008em;margin:0 0 26px;text-wrap:balance;max-width:22ch}
.statement em{font-style:normal;background:linear-gradient(transparent 78%,var(--pink) 78% 90%,transparent 90%)}
.callout{border-left:4px solid var(--pink);padding:4px 0 4px 18px;margin:26px 0 0;font-size:17px;color:var(--ink);max-width:60ch}

/* lookup proposal */
.proposal{margin-top:34px;border:1.5px dashed var(--pink);background:var(--sheet);padding:22px 24px 24px;max-width:760px}
.proposal .eyebrow{color:var(--pink-ink)}
.proposal h3{font:700 20px/1.25 var(--f-display);font-stretch:108%;margin:8px 0 6px}
.proposal p{margin:0 0 16px;color:var(--graphite);font-size:15px}
.lk{display:flex;gap:0}
.lk input{flex:1;min-width:0;height:50px;border:1.5px solid var(--ink);border-right:0;padding:0 14px;font:500 16px var(--f-body);background:#fff}
.lk .btn{min-height:50px}
.lk-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;border:1px solid var(--rule)}
.lk-out div{padding:10px 12px;border-left:1px solid var(--rule)}
.lk-out div:first-child{border-left:0}
.lk-out small{display:block;font:500 9.5px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.lk-out span{font:500 14px var(--f-mono);color:var(--mute)}

/* declared termite area search */
.dta{margin-top:30px;max-width:760px;background:var(--sheet);border:1.5px solid var(--ink);padding:22px 24px 24px;position:relative}
.dta.full{margin-top:28px;max-width:860px}
.dta h3{font:700 21px/1.25 var(--f-display);font-stretch:108%;margin:0 0 4px}
.dta>p{margin:0 0 14px;color:var(--graphite)}
.dta-sample{margin:-22px -24px 18px;padding:9px 24px;background:var(--pink-wash);border-bottom:1px dashed var(--pink);font:600 11.5px var(--f-mono);letter-spacing:.05em;color:var(--pink-ink)}
.dta .lk input{height:54px;font-size:17px}
.dta .lk .btn{min-height:54px}
.dta-list{list-style:none;margin:0;padding:0;border:1.5px solid var(--ink);border-top:0;background:#fff;max-height:320px;overflow:auto}
.dta-list li{padding:11px 14px;cursor:pointer;border-top:1px solid var(--rule-2);display:flex;gap:10px;align-items:baseline}
.dta-list li:hover{background:var(--pink-wash)}
.dta-list li span{font:500 12.5px var(--f-mono);color:var(--graphite)}
.dta-card{margin-top:18px;border-top:1.5px solid var(--ink);padding-top:18px}
.dta-card h3{margin-top:4px}
.dta-card p{margin:10px 0 0;color:var(--ink-2);max-width:62ch}
.dta-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.dta-chip{display:inline-block;font:600 12px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;padding:8px 10px;border:1.5px solid var(--ink);white-space:nowrap}
.dta-chip.yes{background:var(--pink);border-color:var(--pink);color:#fff}
.dta-chip.part{border-color:var(--pink);color:var(--pink-ink);background:var(--pink-wash)}
.dta-chip.no{background:var(--paper)}
.dta-chip.unk{border-style:dashed;color:var(--graphite)}
.dta-chip.lead-yes{border:1.5px dashed var(--pink);color:var(--pink-ink);background:#fff}
.dta-chip.lead-part{border:1.5px dashed var(--pink);color:var(--pink-ink);background:var(--pink-wash)}
.dta-chip.lead-no{border:1.5px dashed var(--mute);color:var(--graphite);background:var(--paper)}
/* council page header: the status is a label beside the button, not a second button (owner, 10 Oct 2026) */
.hero-cta .dta-chip{align-self:center;background:transparent;border-color:#6E6E6E;color:#fff}
.hero-cta .dta-chip::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#9A9A9A}
.hero-cta .dta-chip.yes::before,.hero-cta .dta-chip.part::before{background:var(--pink)}
.dta-need{border-left:4px solid var(--pink);padding-left:14px}
.dta-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.dta-foot .mono{font-size:12px;color:var(--graphite)}
.dta-split{margin:18px 0 0;padding:12px 14px;background:var(--pink-wash);border:1px solid var(--pink);font-size:15px}
.dta-more{display:inline-block;margin-top:16px;font-weight:600;color:var(--pink-ink);text-decoration:none}

/* guides: prose lists, sub-headings, tables, spec clause, link buttons */
.prose.guide ul,.prose.guide ol{margin:0 0 18px;padding-left:22px;max-width:64ch;color:var(--ink-2);font-size:16.5px;line-height:1.6}
.prose.guide li{margin:0 0 7px}
.prose.guide h3.gh3{font:700 20px/1.25 var(--f-display);font-stretch:106%;margin:28px 0 10px;color:var(--ink)}
.prose.guide a:not(.btn){color:var(--pink-ink);font-weight:600}
.prose.guide p:first-child{font-size:17px;color:var(--ink-2)}
.prose.guide .callout{margin:4px 0 20px}
.prose.guide .reg{margin:6px 0 22px}
.prose.guide .reg table{min-width:520px}
.prose.guide .reg td{font-size:14.5px}
.prose.guide .reg td:first-child{font:600 14.5px var(--f-body);white-space:normal}
/* a table whose last column is a sentence (project lists): it wraps and reads left to right */
.reg.wraps td:last-child{white-space:normal;text-align:left}
.reg.wraps td:first-child{width:34%}
.reg.wraps td:nth-child(2){width:22%}
.prose.guide .reg.cmp td{white-space:normal;text-align:left;width:41%}
.prose.guide .reg.cmp td:first-child{width:18%;font:600 14px var(--f-body);color:var(--ink)}
.prose.guide .reg.cmp th:nth-child(n+2){font-size:12px;color:var(--ink)}
/* Kordon column heading in Kordon's orange (owner, 11 Oct 2026); also the phone label for that column */
.prose.guide .reg.cmp th:nth-child(2),.prose.guide .reg.cmp td:nth-child(2)[data-l]::before{color:#E8730C;font-weight:700}
/* project quantities table: one column per barrier type, numbers right-aligned so they can be compared down the page */
.ptab{margin:6px 0 22px;border-top:1.5px solid var(--ink)}
.ptab table{width:100%;border-collapse:collapse}
.ptab th{font:500 10px/1.3 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 8px;border-bottom:1px solid var(--ink);vertical-align:bottom}
.ptab th.n,.ptab td.n{text-align:right}
.ptab td{padding:13px 8px;border-bottom:1px solid var(--rule);vertical-align:top;font-size:14.5px;color:var(--ink-2)}
.ptab th:first-child,.ptab td:first-child{padding-left:0}
.ptab td.pn{width:36%}
.ptab td.pn b{display:block;font:600 14.5px/1.3 var(--f-body);color:var(--ink)}
.ptab td.pn span{display:block;margin-top:3px;font:500 11.5px/1.4 var(--f-mono);letter-spacing:.03em;color:var(--mute)}
.ptab td.n{font:500 14px/1.5 var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.ptab td.n i{display:none;font-style:normal;color:var(--mute)}
.ptab th small{display:block;font:inherit;margin-top:2px}
.ptab td.z{color:#C9C6CC}
.ptab td.o{font-size:13px;line-height:1.4;width:17%}
.ptab tbody tr:hover td{background:var(--paper)}
.pm-t:not(:checked) ~ .ptab tr.pmore{display:none}
.pm-l{display:inline-block;margin:-8px 0 22px;padding:11px 16px;border:1.5px solid var(--ink);font:600 14px var(--f-body);color:var(--ink);cursor:pointer}
.pm-l:hover{background:var(--ink);color:#fff}
.pm-t:focus-visible ~ .pm-l{outline:2px solid var(--pink);outline-offset:2px}
.pm-l .z,.pm-t:checked ~ .pm-l .a{display:none}
.pm-t:checked ~ .pm-l .z{display:inline}
@container site (max-width:820px){
  .ptab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ptab table,.ptab tbody{display:block}
  .ptab tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--rule)}
  .ptab td{display:block;padding:0;border:0;width:auto!important}
  .ptab td.pn{grid-column:1/-1;margin-bottom:6px}
  .ptab td.z{display:none!important}
  .ptab td.n i{display:inline}
  .ptab td.n,.ptab td.o{display:flex;justify-content:space-between;gap:10px;text-align:left;white-space:normal;font-size:13.5px}
  .ptab td.n::before,.ptab td.o::before{content:attr(data-l);font:400 13px var(--f-body);color:var(--ink-2)}
  .ptab td.o{grid-column:1/-1}
}
.glinks{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 6px}
.glinks .btn{min-height:42px;padding:9px 16px;font-size:14px}
.spec{background:var(--sheet);border:1.5px solid var(--ink);margin:0 0 20px}
.spec-h{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--rule);padding:9px 14px;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.spec-h .copy{background:none;border:1px solid var(--ink);font:500 11px var(--f-mono);padding:5px 9px;cursor:pointer}
.spec-h .copy:hover{background:var(--ink);color:#fff}
.spec pre{margin:0;padding:14px 16px;white-space:pre-wrap;font:500 13px/1.65 var(--f-mono);color:var(--ink)}
.sub-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.sub-list li{padding:9px 12px;font-size:14.5px}
.sub-list small{margin-left:auto;font:500 11.5px var(--f-mono);color:var(--graphite)}
.dta-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.dta-acts .dta-more{margin-top:0}

/* cta band */
.cta{background:var(--ink);color:#fff;position:relative;padding-block:clamp(56px,7cqi,88px)}
.cta::before{content:"";position:absolute;inset:0 0 auto 0;height:11px;background:linear-gradient(var(--pink) 0 3px,transparent 3px 8px,var(--pink) 8px 11px)}
.cta .wrap{display:grid;grid-template-columns:auto minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5cqi,64px);align-items:end}
.cta h2{font-family:var(--f-display);font-stretch:118%;font-weight:800;font-size:clamp(30px,4cqi,52px);line-height:1.04;margin:14px 0 18px;text-wrap:balance}
.cta p{color:#C9C4CE;margin:0 0 10px;max-width:56ch}
.cta .eyebrow{color:#9C97A2}
.cta .acts{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.cta .acts .btn{justify-content:space-between}
.cta .direct{margin-top:10px;display:grid;gap:4px;font:500 13.5px/1.5 var(--f-mono);color:#C9C4CE}
.cta .direct b{color:#fff;font-weight:500;user-select:all}

/* contact */
.chero{padding-block:clamp(32px,5cqi,56px) clamp(28px,4cqi,44px)}
.chero .wrap{display:block}
.region{display:inline-flex;border:1.5px solid var(--ink);margin-top:22px}
.region a{padding:10px 18px;font:600 14px/1 var(--f-body);text-decoration:none}
.region a.on{background:var(--ink);color:#fff}
.region a:not(.on):hover{color:var(--pink-ink)}
.cgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4cqi,48px);align-items:start;padding-block:clamp(32px,5cqi,56px) clamp(56px,7cqi,88px)}
.qf{background:var(--sheet);border:1.5px solid var(--ink)}
.qf-h{display:flex;justify-content:space-between;gap:12px;border-bottom:1.5px solid var(--ink);padding:12px 22px;font:500 11px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.qf-b{padding:24px 22px 26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 18px}
.qf-b .full{grid-column:1/-1}
.qf label.l,.qf legend{display:block;font:600 13.5px/1.3 var(--f-body);margin-bottom:7px;padding:0}
.qf label.l i{font-style:normal;color:var(--pink-ink)}
.qf input[type=text],.qf input[type=email],.qf input[type=tel],.qf select,.qf textarea{width:100%;height:48px;border:1px solid #C9C4C0;background:#fff;padding:0 13px;font:400 15.5px var(--f-body);color:var(--ink);border-radius:0}
.qf textarea{height:120px;padding:12px 13px;resize:vertical}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:2px solid var(--pink);outline-offset:-1px;border-color:var(--pink)}
.qf fieldset{border:0;margin:0;padding:0}
.chk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chk label{display:flex;gap:10px;align-items:center;border:1px solid var(--rule);padding:11px 12px;font-size:14.5px;cursor:pointer;background:#fff}
.chk label:has(input:checked){border-color:var(--ink);background:var(--pink-wash)}
.chk input{accent-color:var(--pink);width:16px;height:16px;margin:0}
.drop{display:grid;place-items:center;text-align:center;border:1.5px dashed #B9B3AF;padding:26px 16px;background:var(--paper);cursor:pointer;font-size:14.5px;color:var(--graphite)}
.drop b{color:var(--ink)}
.drop input{display:none}
.qf-f{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding:18px 22px}
.qf-f small{color:var(--graphite);font-size:13px;max-width:34ch}
.sent{font:500 13px var(--f-mono);color:var(--pink-ink)}
.ccard{background:var(--ink);color:#fff;padding:24px 24px 26px}
.ccard .row{padding:14px 0;border-top:1px solid #3A363F}
.ccard .row:first-of-type{border-top:0;padding-top:4px}
.ccard small{display:block;font:500 10.5px var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:#9C97A2;margin-bottom:6px}
.ccard .big{font:800 28px/1.1 var(--f-display);font-stretch:112%;user-select:all}
.ccard .mid{font:500 16px var(--f-mono);user-select:all;word-break:break-all}
.ccard .copy{margin-left:10px;background:none;border:1px solid #5C5862;color:#C9C4CE;font:500 11px var(--f-mono);padding:4px 8px;cursor:pointer;vertical-align:middle}
.ccard .copy:hover{border-color:#fff;color:#fff}
.regions{margin-top:28px}
.regions h3{font:700 19px/1.2 var(--f-display);font-stretch:108%;margin:0 0 6px}
.regions p.i{color:var(--graphite);font-size:14.5px;margin:0 0 12px}
.regions dl{margin:0;border-top:1.5px solid var(--ink)}
.regions dl div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.regions dt{font-weight:600}
.regions dd{margin:0;color:var(--graphite)}

/* footer */
.ftr{background:var(--ink);color:#B7B2BC;border-top:1px solid #34313A;padding-block:56px 0;font-size:14.5px}
.ftr .top{display:grid;grid-template-columns:minmax(0,3fr) repeat(5,minmax(0,2fr));gap:clamp(20px,3cqi,40px)}
.ftr .flogo{--lh:40px;margin-bottom:20px}
.ftr p{margin:0 0 14px;max-width:34ch}
.ftr h2{font:500 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#7F7A85;margin:4px 0 14px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
/* long email addresses wrap inside their column instead of pushing the page wider than the screen */
.ftr li{min-width:0;overflow-wrap:anywhere}
.ftr a{text-decoration:none;color:#E4E0E7}
.ftr a:hover{color:var(--pink)}
.ftr .soc{display:inline-flex;align-items:center;gap:8px}
.ftr .ph{font:500 19px var(--f-mono);color:#fff;user-select:all}
.ftr .bot{margin-top:48px;border-top:1px solid #34313A;display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:12px;padding-block:18px 22px;font:500 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:#7F7A85}

/* ---------- colour: ink headers (chosen 28 Sep 2026) ---------- */
.site.t-ink{--paper:#FFFFFF;--sheet:#FFFFFF;--band:#F6F5F3;--ink:#141312;--ink-2:#2A2826;--graphite:#57534F;--mute:#706B65;--rule:#E4E0DB;--rule-2:#EFECE8;--grid:rgba(40,30,20,.04);--snav-bg:rgba(255,255,255,.97)}
.site.t-ink .sec.w .ticks li{background:#fff}
.site.t-ink .ftr{background:#111;color:#BDBDBD;border-top-color:#2B2B2B}.site.t-ink .ftr h2,.site.t-ink .ftr .bot{color:#8A8A8A}.site.t-ink .ftr .bot{border-top-color:#2B2B2B}.site.t-ink .ftr a{color:#EDEDED}
.site.t-ink .cta{background:#111}.site.t-ink .cta p,.site.t-ink .cta .direct{color:#C7C7C7}.site.t-ink .cta .eyebrow{color:#9A9A9A}
.site.t-ink .hdr{background:#111;border-bottom:3px solid var(--pink)}
.site.t-ink .main-nav>a,.site.t-ink .main-nav>button,.site.t-ink .hdr-phone{color:#fff}
.site.t-ink .main-nav>a:hover,.site.t-ink .main-nav>button:hover,.site.t-ink .main-nav>a.on,.site.t-ink .main-nav>button.on,.site.t-ink .hdr.open .main-nav>#sysbtn,.site.t-ink .hdr.open-loc .main-nav>#locbtn{color:#FF5AAE}
.site.t-ink .hdr-phone small{color:#8A8A8A}
.site.t-ink .hdr .btn{background:var(--pink-btn);border-color:var(--pink-btn)}
.site.t-ink .hdr .btn:hover{background:#fff;border-color:#fff;color:var(--ink)!important}
.site.t-ink .burger{border-color:#fff}.site.t-ink .burger i{background:#fff}
.logo .l-white{display:none}
.site.t-ink .logo .l-dark{display:none}.site.t-ink .logo .l-white{display:block}
.site.t-ink .hero{background-color:#111;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);border-bottom-color:#000}
.site.t-ink .hero .display,.site.t-ink .hero .lead,.site.t-ink .hero h1{color:#fff}
.site.t-ink .hero .sub,.site.t-ink .hero>.wrap>div>.eyebrow,.site.t-ink .hero .hl .eyebrow,.site.t-ink .hero .eyebrow a{color:#BDBDBD}
.site.t-ink .hero .eyebrow .sep{color:#6E6E6E}
.site.t-ink .hero .sub a{color:#FF5AAE!important}
.site.t-ink .hero .hero-cta .btn{background:var(--pink-btn);border-color:var(--pink-btn)}
.site.t-ink .hero .hero-cta .btn:hover{background:#fff;border-color:#fff;color:var(--ink)!important}
.site.t-ink .hero .hero-cta .btn.ghost{background:transparent;border-color:#6E6E6E;color:#fff!important}
.site.t-ink .hero .hero-cta .btn.ghost:hover{border-color:#fff}
.site.t-ink .hero .proof{border-top-color:#333}.site.t-ink .hero .proof span{color:#E6E6E6}
.site.t-ink .region{border-color:#fff}.site.t-ink .region a{color:#fff}.site.t-ink .region a.on{background:#fff;color:var(--ink)}

/* ---------- responsive (container queries so the mobile preview is exact) ---------- */
@container site (max-width:1080px){
  .main-nav>a.opt{display:none}
}
@container site (max-width:960px){
  .main-nav,.hdr-phone,.hdr-right{display:none}
  .burger{display:block}
  .hero .wrap,.hero.home .wrap,.head,.split,.cta .wrap,.cgrid,.det-row{grid-template-columns:minmax(0,1fr)}
  .cta .vmark{display:none}
  .split>.l{position:static}
  .feat>div{grid-column:span 6}
  .feat[data-n="3"]>div{grid-column:span 4}
  .feat[data-odd]>div:last-child{grid-column:span 12}
  .gal,.sys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logos{--c:3!important}
  .slider{--per:3!important}
  .ticks.pins{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr .top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mega .wrap{grid-template-columns:repeat(2,1fr)}
}
@container site (max-width:620px){
  .prose.guide .reg.cmp td,.prose.guide .reg.cmp td:first-child{width:100%}
  .prose.guide .reg.cmp td[data-l]{padding-top:8px}
  .prose.guide .reg.cmp td[data-l]::before{content:attr(data-l);display:block;font:500 10.5px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}
  .ticks.pins{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slider{--per:2!important}
  :root{--hdr:64px}
  .hdr .wrap{height:64px}
  .snav{top:calc(var(--bar) + 64px)}
  /* phones: no sideways scrolling anywhere. The section nav becomes a wrapped "on this page" list (not sticky) */
  .snav{position:static}
  .snav .wrap{padding-block:10px;gap:4px 2px}
  .snav button{padding:6px 8px;font-size:12.5px}
  .sec{scroll-margin-top:calc(var(--bar) + 72px)}
  /* document registers and the council table stack into one card per row */
  .reg{overflow:visible}
  .reg table{min-width:0}
  .reg thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .reg table,.reg tbody,.reg tr,.reg td{display:block;width:100%}
  .reg tr{padding:14px 0;border-bottom:1px solid var(--rule)}
  .reg td{padding:3px 0;border:0;white-space:normal!important}
  .reg td:first-child{font-size:12px}
  .reg td:last-child{text-align:left;padding-top:10px}
  /* guide tables: the desktop minimum width and column widths must not apply once rows stack, or the page scrolls sideways */
  .prose.guide .reg table{min-width:0}
  .reg.wraps td:first-child,.reg.wraps td:nth-child(2){width:100%}
  /* project lists on a phone: name, then location in grey, then what was installed */
  .prose.guide .reg.wraps tr{padding:13px 0}
  .prose.guide .reg.wraps td:first-child{font:700 15.5px/1.3 var(--f-body);color:var(--ink)}
  .prose.guide .reg.wraps td:nth-child(2){font:500 12.5px/1.4 var(--f-mono);letter-spacing:.03em;color:var(--mute);padding-top:2px}
  .prose.guide .reg.wraps td:last-child{font-size:14.5px;line-height:1.45;padding-top:6px}
  .reg .dl:first-child{margin-left:0}
  .logo{--lh:31px}
  .feat>div,.feat[data-n="3"]>div{grid-column:span 12}
  .gal,.sys,.areas,.lists,.chk,.qf-b,.lk-out{grid-template-columns:minmax(0,1fr)}
  .defs>div{grid-template-columns:minmax(0,1fr);gap:8px}
  .tblock{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tblock div:nth-child(3){border-left:0}
  .tblock div:nth-child(n+3){border-top:1px solid var(--ink)}
  .legend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legend li{border-left:1px solid var(--rule)!important;border-top:1px solid var(--rule)!important}
  .legend li:nth-child(2n+1){border-left:0!important}
  .legend li:nth-child(-n+2){border-top:0!important}
  .prog-h,.prog-r{grid-template-columns:36px minmax(0,1fr)}
  .prog-h .ticks-axis,.track{display:none}
  .rel a{grid-template-columns:36px minmax(0,1fr) 24px}
  .rel .rd{grid-column:2;grid-row:2}
  .rel .arrow{grid-row:1/3;grid-column:3}
  .logos{--c:2!important}
  .faq-list .ans{padding-right:0}
  .ftr .top{grid-template-columns:minmax(0,1fr)}
  .ftr .bot{grid-template-columns:minmax(0,1fr)}
  .national{grid-template-columns:minmax(0,1fr)}
  .cta .vmark{display:none}
  .cert{padding:20px 18px;box-shadow:none}
  .stamp{position:static;display:inline-block;margin-top:16px}
  .display{font-stretch:108%}
}

/* ---------- drawings (from drawings.js) ---------- */
:root{--dwg-conc:#EFECE9;--dwg-agg:#A39D99;--dwg-new:#E3DED9;--dwg-nagg:#9A938E}
.dwg .cf{fill:var(--dwg-conc)} .dwg .ca{fill:var(--dwg-agg)} .dwg .cas{fill:none;stroke:var(--dwg-agg);stroke-width:.6}
.dwg .nf{fill:var(--dwg-new)} .dwg .na{fill:var(--dwg-nagg)} .dwg .nas{fill:none;stroke:var(--dwg-nagg);stroke-width:.6}
.dwg{font-family:"IBM Plex Mono",Consolas,monospace}
.dwg .ink{fill:none;stroke:#18161C;stroke-width:1.4;stroke-linejoin:miter}
.dwg .fine{fill:none;stroke:#18161C;stroke-width:.8}
.dwg .hair{fill:none;stroke:#6E6A73;stroke-width:.7}
.dwg .dpm{fill:none;stroke:#18161C;stroke-width:1;stroke-dasharray:6 4}
.dwg .reo{fill:none;stroke:#18161C;stroke-width:1;stroke-dasharray:9 5}
.dwg .t{font-size:10.5px;font-weight:500;letter-spacing:.06em;fill:#56535C;stroke:#fff;stroke-width:3.5px;paint-order:stroke;stroke-linejoin:round}
.dwg .lt{font-size:11px;font-weight:500;letter-spacing:.03em;fill:#18161C;stroke:#fff;stroke-width:4px;paint-order:stroke;stroke-linejoin:round}
.dwg .lt.pk{fill:#C0016A;font-weight:600}
.dwg .ld{fill:none;stroke:#18161C;stroke-width:.8}
.dwg .ldot{fill:#18161C}
.dwg .dim{fill:none;stroke:#18161C;stroke-width:.8}
.dwg .b{fill:none;stroke:#ED0180;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter;transition:stroke .2s}
.dwg .bf{fill:#ED0180;stroke:none;transition:fill .2s}
.dwg .b,.dwg .bf{mix-blend-mode:multiply} /* like a highlighter: linework under the barrier stays visible */
.dwg:not([data-hl="all"]) .b{stroke:#D9D3D0}
.dwg:not([data-hl="all"]) .bf{fill:#D9D3D0}
.dwg[data-hl="pen"] .b-pen,.dwg[data-hl="cj"] .b-cj,.dwg[data-hl="cut"] .b-cut,.dwg[data-hl="us"] .b-us,.dwg[data-hl="per"] .b-per,.dwg[data-hl="sub"] .b-sub,.dwg[data-hl="one"] .b{stroke:#ED0180}
.dwg[data-hl="cj"] .bf.b-cj,.dwg[data-hl="cut"] .bf.b-cut,.dwg[data-hl="one"] .bf{fill:#ED0180}
.dwg .mk{transition:opacity .2s}
.dwg .mk circle{fill:#fff;stroke:#18161C;stroke-width:1.5}
.dwg .mk .n{font-size:12.5px;font-weight:600;fill:#18161C}
.dwg .mk .mld{stroke:#18161C;stroke-width:.9;stroke-dasharray:3 2}
.dwg .mk .ml{display:none;font-size:11px;font-weight:600;letter-spacing:.07em;fill:#18161C;stroke:#fff;stroke-width:4px;paint-order:stroke}
.dwg:not([data-hl="all"]) .mk{opacity:0}
.dwg[data-hl="pen"] .mk-pen,.dwg[data-hl="cj"] .mk-cj,.dwg[data-hl="cut"] .mk-cut,.dwg[data-hl="us"] .mk-us,.dwg[data-hl="per"] .mk-per,.dwg[data-hl="sub"] .mk-sub{opacity:1}
.dwg:not([data-hl="all"]) .mk .ml{display:block}
.dwg:not([data-hl="all"]) .mk circle{fill:#ED0180;stroke:#ED0180}
.dwg:not([data-hl="all"]) .mk .n{fill:#fff}
.dwg a{cursor:pointer}
.dwg.mini .mk,.dwg.mini .t{display:none}
.dwg.anim .b{stroke-dasharray:1000;animation:dwgdraw 1.3s cubic-bezier(.3,.6,.2,1) calc(var(--d,0s) + 2.5s) both}
.dwg-go .dwg.anim .b{animation-delay:var(--d,0s)} /* drawn once the page has loaded (phones paint the text first); 2.5s is the fallback */
@keyframes dwgdraw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.dwg.anim .b{animation:none;stroke-dasharray:none}}

/* ---------- WordPress additions ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink);color:#fff;padding:12px 16px}
.skip:focus{left:12px;top:12px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.qf .files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.qf .files span{font:500 12px var(--f-mono);border:1px solid var(--rule);padding:4px 8px;background:#fff}
.qf .err{border-color:var(--pink)!important}
.qf-done{padding:34px 22px 38px}
.qf-done h2{font:800 26px/1.1 var(--f-display);font-stretch:112%;margin:0 0 10px}
.qf-done p{margin:0 0 10px;color:var(--ink-2);max-width:56ch}
.qf button[disabled]{opacity:.6;cursor:wait}
.sent.bad{color:#B00020}
.gs-partners{min-height:150px}
/* GS Logo Slider: keep every logo inside the same height, as in the mockup (no borders, full colour) */
.gs-partners .gs_logo_single--wrapper{height:auto!important}
.gs-partners .gs_logo_single{height:150px;display:flex!important;align-items:center;justify-content:center;border:0!important;box-shadow:none!important;background:transparent!important}
.gs-partners .gs_logo_single--inner,.gs-partners .gs_logo_single--inner a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.gs-partners .gs_logo_single img{max-height:96px!important;max-width:88%!important;width:auto!important;height:auto!important;object-fit:contain;filter:none!important;opacity:1!important;mix-blend-mode:multiply}
.plain{padding-block:clamp(52px,7cqi,88px)}
.plain h1{font:800 clamp(30px,4cqi,48px)/1.05 var(--f-display);font-stretch:112%;margin:0 0 18px}
.plain p{max-width:64ch;color:var(--ink-2)}
