/*
Theme Name: AdSafe Installations
Theme URI: https://www.adsafeinstallations.co.uk
Author: AdSafe Installations Ltd
Description: Custom theme for AdSafe Installations: roof safety inspection, installation and telecoms. Pages are built from standard blocks; projects and FAQs are managed under Projects and FAQs in the dashboard; contact details under Appearance > Customise > AdSafe details.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: adsafe
*/

/* Layout: left-aligned engineering sheet set. Steel ink and galvanised grey carry the brand; hi-vis yellow is reserved for the inspection tag and primary buttons. */
:root{
  --zinc:#e9ecea;--panel:#f7f8f7;--ink:#1c2428;--muted:#56626a;--rule:#c6ccca;
  --signal:#f2b705;--signal-ink:#1c2428;--pass:#2f7d4f;--line:#3a4a52;--ph:#d7dcda;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --zinc:#161c1f;--panel:#1e262a;--ink:#e6eae8;--muted:#9aa6aa;--rule:#33403f;
  --signal:#f5c331;--signal-ink:#161c1f;--pass:#5cbf83;--line:#8fa3ab;--ph:#273034;color-scheme:dark}}
:root[data-theme="dark"]{
  --zinc:#161c1f;--panel:#1e262a;--ink:#e6eae8;--muted:#9aa6aa;--rule:#33403f;
  --signal:#f5c331;--signal-ink:#161c1f;--pass:#5cbf83;--line:#8fa3ab;--ph:#273034;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--zinc);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);line-height:1.05;text-wrap:balance;margin:0}
h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:850;font-stretch:112%;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;font-stretch:108%;letter-spacing:-.01em}
h3{font-size:1.3rem;font-weight:700}
p{margin:0;max-width:64ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.muted{color:var(--muted)}
section[id],div[id]{scroll-margin-top:120px}

/* Top bar */
.topbar{background:var(--ink);color:var(--zinc);font-size:.92rem}
.topbar .wrap{display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap;padding-block:8px}
.topbar a{text-decoration:none;font-weight:600}
.topbar span{opacity:.75}
@media (max-width:600px){.topbar .wrap{justify-content:flex-start;gap:6px 18px}.topbar span{display:none}}

/* Header */
header{border-bottom:1px solid var(--rule);background:var(--zinc);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:900;font-stretch:118%;font-size:1.35rem}
.logo .wordmark{height:32px;width:auto;display:block;color:var(--ink)}
@media (max-width:420px){.logo .wordmark{height:24px}}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{text-decoration:none;font-weight:500;font-size:.95rem;color:var(--muted)}
nav a:hover{color:var(--ink)}
nav a.portal{color:var(--ink);font-weight:600;border:1.5px solid var(--rule);border-radius:3px;padding:4px 10px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-stretch:105%;font-size:1rem;text-decoration:none;border:2px solid var(--ink);padding:11px 18px;border-radius:3px;background:transparent;color:var(--ink);cursor:pointer}
.btn.primary{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}
.btn:hover{filter:brightness(1.05)}
@media (max-width:900px){nav{display:none}}

/* Hero */
.hero{padding-block:52px 36px;display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:start}
.hero > *{min-width:0}
.lede{font-size:1.2rem;color:var(--muted);margin-top:22px}
.paths{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:620px}
.path{display:grid;gap:4px;text-decoration:none;border:2px solid var(--ink);border-radius:4px;padding:16px 18px;background:var(--panel)}
.path b{font-family:var(--display);font-stretch:108%;font-weight:800;font-size:1.2rem}
.path span{font-size:.92rem;color:var(--muted)}
.path.primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}
.path.primary span{color:var(--signal-ink);opacity:.8}
.path:hover{filter:brightness(1.04)}
@media (max-width:520px){.paths{grid-template-columns:1fr}}
.callnote{margin-top:16px;color:var(--muted);font-size:.98rem}
.callnote b{color:var(--ink)}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:36px}}

/* Inspection tag */
.tag{position:relative;background:var(--signal);color:var(--signal-ink);border-radius:6px 6px 14px 14px;padding:56px 26px 26px;clip-path:polygon(18% 0,82% 0,100% 9%,100% 100%,0 100%,0 9%);transform:rotate(1.6deg);transform-origin:50% 0;animation:swing 1.8s ease-out 1}
@keyframes swing{0%{transform:rotate(-5deg)}40%{transform:rotate(4deg)}70%{transform:rotate(.6deg)}100%{transform:rotate(1.6deg)}}
@media (prefers-reduced-motion:reduce){.tag{animation:none}}
.tag::before{content:"";position:absolute;top:18px;left:50%;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--zinc);box-shadow:inset 0 0 0 4px rgba(0,0,0,.18)}
.tag h3{font-stretch:118%;font-weight:900;font-size:1.55rem}
.tag .sub{font-size:.9rem;margin-top:4px;opacity:.85}
.tag form{display:grid;gap:14px;margin-top:20px}
.tag label{font-size:.82rem;font-weight:600;display:grid;gap:5px}
.tag select,.tag input{font:inherit;font-size:1rem;padding:10px 12px;border:2px solid #1c2428;border-radius:3px;background:rgba(255,255,255,.55);color:#1c2428;width:100%}
.result{margin-top:20px;border-top:2px dashed rgba(0,0,0,.35);padding-top:16px;display:grid;gap:8px}
.result .due{font-family:var(--display);font-weight:850;font-stretch:110%;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.pill{justify-self:start;font-family:var(--display);font-weight:700;font-size:.9rem;padding:4px 10px;border-radius:999px;color:#fff;background:#2f7d4f}
.pill.soon{background:#8a5200}.pill.over{background:#a3221b}
.result small{font-size:.85rem}
.tag .tagbtn{margin-top:8px;justify-self:start;background:#1c2428;color:#f2b705;border-color:#1c2428}

/* Proof strip */
.proof{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}
.proof .wrap{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:18px 28px;align-items:center;padding-block:22px}
.proof h3{font-size:.95rem;font-weight:600;font-stretch:96%;color:var(--muted)}
.marks{display:flex;flex-wrap:wrap;gap:10px 24px}
.badge{height:64px;width:auto;border-radius:4px;display:block;max-width:100%}
.marks span{font-family:var(--display);font-weight:800;font-stretch:112%;font-size:1.15rem;opacity:.85}
@media (max-width:900px){.proof .wrap{grid-template-columns:1fr}}

.drawing{width:100%;height:auto;max-width:100%;margin-top:28px;display:block}
.drawing text{font-family:var(--display);font-size:11px;fill:var(--muted)}

/* Sections */
section{padding-block:72px;border-top:1px solid var(--rule)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:end;margin-bottom:40px}
.sec-head p{color:var(--muted)}
@media (max-width:820px){.sec-head{grid-template-columns:1fr;gap:16px}}
.sheet-ref{font-family:var(--display);font-stretch:90%;font-weight:600;color:var(--muted);font-size:.9rem;margin-bottom:10px;display:block}

/* Inspection band */
.band{background:var(--ink);color:var(--zinc);border-top:none}
.band .sec-head p,.band .soft{color:color-mix(in srgb,var(--zinc) 74%,transparent)}
.band .sheet-ref{color:var(--signal)}
.shots{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:44px}
.shots figure{margin:0;display:grid;gap:10px;min-width:0}
.shots img{width:100%;max-width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px;display:block}
.shots figcaption{font-size:.9rem;color:color-mix(in srgb,var(--zinc) 72%,transparent)}
.shots figcaption b{color:var(--signal);font-family:var(--display);font-weight:800;font-stretch:108%;font-variant-numeric:tabular-nums;margin-right:6px}
@media (max-width:640px){.shots{grid-template-columns:1fr}}
.digital{border:1px solid color-mix(in srgb,var(--zinc) 25%,transparent);border-left:4px solid var(--signal);border-radius:3px;padding:22px 24px;margin-bottom:44px;display:grid;gap:12px;max-width:880px}
.digital p{color:color-mix(in srgb,var(--zinc) 80%,transparent)}
.digital ul{margin:0;padding-left:18px;display:grid;gap:4px;color:color-mix(in srgb,var(--zinc) 80%,transparent);font-size:.97rem}
.insp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid color-mix(in srgb,var(--zinc) 25%,transparent)}
.insp article{padding:26px 24px 28px;border-left:1px solid color-mix(in srgb,var(--zinc) 25%,transparent);display:grid;gap:14px;align-content:start;min-width:0}
.insp article:first-child{border-left:none;padding-left:0}
.insp ul{margin:0;padding-left:18px;color:color-mix(in srgb,var(--zinc) 80%,transparent);font-size:.97rem;display:grid;gap:4px}
.std{font-size:.88rem;border-top:1px dashed color-mix(in srgb,var(--zinc) 30%,transparent);padding-top:12px}
.std b{display:block;color:var(--signal);font-family:var(--display);font-weight:700}
@media (max-width:900px){.insp{grid-template-columns:1fr}.insp article{border-left:none;padding-left:0;border-top:1px solid color-mix(in srgb,var(--zinc) 25%,transparent)}.insp article:first-child{border-top:none}}
.steps{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:s}
.steps li{padding:22px 22px 24px;border-left:1px solid color-mix(in srgb,var(--zinc) 22%,transparent);counter-increment:s;min-width:0}
.steps li::before{content:counter(s);display:block;font-family:var(--display);font-weight:900;font-stretch:120%;font-size:2.4rem;color:var(--signal);line-height:1;margin-bottom:14px}
.steps h3{font-size:1.15rem;margin-bottom:8px}
.steps p{font-size:.97rem;color:color-mix(in srgb,var(--zinc) 72%,transparent)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li{border-top:1px solid color-mix(in srgb,var(--zinc) 22%,transparent)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.band .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.band .btn{border-color:var(--zinc);color:var(--zinc)}
.band .btn.primary{color:var(--signal-ink);border-color:var(--signal)}

/* Install schedule */
.schedule{border-top:2px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(0,1fr);gap:28px;padding-block:24px;border-bottom:1px solid var(--rule)}
.row > *{min-width:0}
.row p{color:var(--muted);font-size:1rem}
.row .use{font-size:.88rem;color:var(--muted)}
.row .use b{color:var(--ink);font-weight:600;display:block}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:8px}}

.spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:40px}
.spec h3{margin-bottom:14px}
.roofs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.roofs li{border:1.5px solid var(--ink);border-radius:3px;padding:6px 12px;font-family:var(--display);font-weight:600;font-stretch:96%;font-size:.95rem}
.handover{background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--signal);border-radius:3px;padding:22px 24px}
.handover p{color:var(--muted)}
@media (max-width:820px){.spec{grid-template-columns:1fr}}
.life{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start}
.points{list-style:none;margin:26px 0 0;padding:0;border-top:2px solid var(--ink)}
.points li{padding-block:14px;border-bottom:1px solid var(--rule);color:var(--muted)}
.points b{color:var(--ink);font-family:var(--display);font-stretch:104%}
.lifephoto{margin:0;position:relative;min-width:0}
.lifephoto img{width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block}
.helpcard{position:absolute;left:16px;right:16px;bottom:16px;background:var(--ink);color:var(--zinc);border-radius:4px;padding:18px 20px;display:grid;gap:12px}
.helpcard b{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:1.3rem}
.helpcard span{font-size:.9rem;opacity:.8}
.hc-btns{display:flex;flex-wrap:wrap;gap:10px}
.helpcard .btn{border-color:var(--zinc);color:var(--zinc)}
.helpcard .btn.primary{color:var(--signal-ink);border-color:var(--signal)}
@media (max-width:820px){.life{grid-template-columns:1fr;gap:32px}.helpcard{position:static;margin-top:12px}}
/* Telecoms */
.tele{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}
.tower{margin:0;display:grid;gap:10px}
.tower img{width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block}
.tower figcaption,.tstrip figcaption,.van figcaption{font-size:.9rem;color:var(--muted)}
.tstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.tstrip figure{margin:0;display:grid;gap:8px;min-width:0}
.tstrip img{width:100%;max-width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px;display:block}
@media (max-width:820px){.tstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.van{margin:24px 0 0;display:grid;gap:8px}
.van img{width:100%;max-width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 45%;border-radius:4px;display:block}
.exp > .van{display:grid;border-bottom:none;padding-block:0}
.tele ul{margin:22px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.tele li{padding-block:12px;border-bottom:1px solid var(--rule)}
.tele li b{font-family:var(--display);font-stretch:104%}
@media (max-width:820px){.tele{grid-template-columns:1fr}}

.herophoto{margin:8px 0 0;display:grid;gap:10px}
.herophoto img{width:100%;max-width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 60%;border-radius:4px;display:block}
.herophoto figcaption,.strip figcaption{font-size:.9rem;color:var(--muted)}
@media (max-width:640px){.herophoto img{aspect-ratio:4/3}}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:36px}
.strip figure{margin:0;display:grid;gap:8px;min-width:0}
.strip img{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
@media (max-width:640px){.strip{grid-template-columns:1fr}}
.pimg{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
/* Projects */
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}
.proj{display:grid;gap:12px;min-width:0}
.ph{aspect-ratio:4/3;max-width:100%;background:repeating-linear-gradient(135deg,var(--ph) 0 12px,transparent 12px 24px),var(--panel);border:1px solid var(--rule);border-radius:3px;display:grid;place-items:center;color:var(--muted);font-family:var(--display);font-weight:600;font-size:.9rem}
.proj .kind{font-size:.85rem;font-weight:600;color:var(--muted)}
.proj h3{font-size:1.15rem}
.proj p{font-size:.97rem;color:var(--muted)}
.proj .fig{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:1rem;border-left:3px solid var(--signal);padding-left:10px}
@media (max-width:900px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.projects{grid-template-columns:1fr}}

/* Competence */
.comp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.certs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.certs span{border:1.5px solid var(--ink);border-radius:3px;padding:6px 12px;font-family:var(--display);font-weight:600;font-stretch:96%;font-size:.95rem}
.exp{border-top:2px solid var(--ink)}
.exp div{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--rule)}
.exp b{font-family:var(--display);font-stretch:110%;font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums}
.exp span{color:var(--muted)}
@media (max-width:820px){.comp{grid-template-columns:1fr}}

/* FAQ */
.faq{border-top:2px solid var(--ink);max-width:880px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding-block:18px;font-family:var(--display);font-weight:700;font-stretch:104%;font-size:1.15rem;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:800;font-size:1.4rem;line-height:1;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:20px;color:var(--muted)}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px}
.contact form{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:28px;display:grid;gap:16px}
.contact label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.contact input,.contact select,.contact textarea{font:inherit;font-size:1rem;padding:11px 12px;border:1.5px solid var(--rule);border-radius:3px;background:var(--zinc);color:var(--ink);width:100%}
.contact textarea{min-height:120px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){.two{grid-template-columns:1fr}}
.sent{color:var(--pass);font-weight:600}
.lines{margin-top:24px;display:grid;gap:14px}
.lines div{display:grid;gap:2px}
.lines small{color:var(--muted);font-size:.85rem}
.lines b{font-family:var(--display);font-stretch:106%;font-size:1.3rem;user-select:all}
.addr{font-style:normal;color:var(--muted);line-height:1.7}
@media (max-width:820px){.contact{grid-template-columns:1fr}}

/* Footer title block */
footer{border-top:2px solid var(--ink);padding-block:0 32px}
.tblock{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-left:1px solid var(--rule)}
.tblock div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 14px;font-size:.88rem;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.tblock b{display:block;color:var(--ink);font-family:var(--display);font-stretch:105%;font-size:1rem}
@media (max-width:760px){.tblock{grid-template-columns:1fr 1fr}.tblock div:first-child{grid-column:1/-1}}

/* ---- Multi-page additions ---- */
.skip{position:absolute;left:-9999px;top:0;background:var(--signal);color:var(--signal-ink);padding:10px 16px;z-index:20;font-weight:700}
.skip:focus{left:16px;top:16px}
h1.pagehead{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;font-stretch:108%;letter-spacing:-.01em}
main > section:first-child{border-top:none}
.bar-end{display:flex;align-items:center;gap:10px}
nav a[aria-current="page"]{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:3px;text-underline-offset:6px}
.menu-btn{display:none;font:inherit;font-family:var(--display);font-weight:700;font-size:1rem;background:transparent;color:var(--ink);border:2px solid var(--ink);border-radius:3px;padding:9px 14px;cursor:pointer}
@media (max-width:900px){
  .menu-btn{display:inline-flex}
  header .bar{position:relative}
  header.open nav{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--zinc);border-bottom:1px solid var(--rule);padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));z-index:6}
  header.open nav a{padding:12px 0;border-bottom:1px solid var(--rule);font-size:1.05rem;color:var(--ink)}
  header.open nav a.portal{border:none;padding:12px 0}
}
@media (max-width:520px){.bar-end .btn.primary{display:none}}
.contact a,.tblock a{text-decoration:none}
.lines b a{text-decoration:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formstatus{font-weight:600}
.formstatus.ok{color:var(--pass)}
.formstatus.err{color:#b3261e}
.footlinks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:.92rem;max-width:none}
.footlinks a{color:var(--muted);text-decoration:none}
.footlinks a:hover{color:var(--ink)}
.copy{margin-top:10px;font-size:.85rem;color:var(--muted)}
.proof-about{border-top:none}
/* Services overview */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.svc-item{display:grid;gap:12px;align-content:start;text-decoration:none;min-width:0}
.svc-item img{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
.svc-item p{color:var(--muted);font-size:.98rem}
.svc-item .more{font-family:var(--display);font-weight:700;border-bottom:3px solid var(--signal);justify-self:start;padding-bottom:2px}
.svc-item:hover h3{text-decoration:underline}
@media (max-width:820px){.svc{grid-template-columns:1fr}}
/* Closing call to action */
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{color:var(--zinc)}
.cta .soft{margin-top:10px;color:color-mix(in srgb,var(--zinc) 74%,transparent)}
.cta .actions{margin-top:0}
@media (max-width:640px){.hero{padding-block:32px 28px}}

/* ---- WordPress block adjustments ---- */
main .wp-block-group,main .wp-block-image,main figure{margin:0}
main .wp-block-group.wrap,main .wrap{margin-inline:auto}
main img{height:auto}
main .wp-block-image img{display:block;max-width:100%;height:auto}
main .wp-element-caption{margin:8px 0 0;font-size:.9rem;color:var(--muted);text-align:left}
main ul.wp-block-list,main ol.wp-block-list{margin:0}
main p:empty{display:none}
.prose{max-width:72ch}
.prose > * + *{margin-top:1em}
.lead{margin-top:18px}

/* Buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-button{margin:0}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-stretch:105%;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid var(--ink);padding:11px 18px;border-radius:3px;background:transparent;color:var(--ink)}
.wp-block-button.primary .wp-block-button__link{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}
.wp-block-button .wp-block-button__link:hover{filter:brightness(1.05)}
.band .wp-block-button .wp-block-button__link,.helpcard .wp-block-button .wp-block-button__link{border-color:var(--zinc);color:var(--zinc)}
.band .wp-block-button.primary .wp-block-button__link,.helpcard .wp-block-button.primary .wp-block-button__link{color:var(--signal-ink);border-color:var(--signal)}
.band .actions{margin-top:36px}
.cta .actions{margin-top:0}

/* Hero path cards */
.paths .path{margin:0}
.paths .path a{display:grid;gap:4px;height:100%;text-decoration:none;border:2px solid var(--ink);border-radius:4px;padding:16px 18px;background:var(--panel);color:var(--ink);font-size:.92rem}
.paths .path a strong{font-family:var(--display);font-stretch:108%;font-weight:800;font-size:1.2rem}
.paths .path a{color:var(--muted)}
.paths .path a strong{color:var(--ink)}
.paths .path.primary a{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}
.paths .path.primary a strong{color:var(--signal-ink)}
.paths .path a:hover{filter:brightness(1.04)}
.callnote strong{color:var(--ink)}
.tag .tagbtn{display:inline-flex;font-family:var(--display);font-weight:700;text-decoration:none;padding:11px 18px;border-radius:3px;border:2px solid #1c2428}

/* Proof strip */
.proof .wrap > h3.proof-label{font-size:.95rem;font-weight:600;font-stretch:96%;color:var(--muted)}
.marks{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center}
.marks .badge img{height:64px;width:auto;border-radius:4px}

/* Inspection band */
.band h1,.band h2,.band h3{color:var(--zinc)}
.shots .wp-element-caption,.band .wp-element-caption{color:color-mix(in srgb,var(--zinc) 72%,transparent)}
.shots .wp-element-caption strong{color:var(--signal);font-family:var(--display);font-weight:800;font-stretch:108%;margin-right:6px}
.shots .wp-block-image img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:3px}
.digital > ul{padding-left:18px}
.insp article ul{padding-left:18px}
.std strong{display:block;color:var(--signal);font-family:var(--display);font-weight:700}
.steps li{color:color-mix(in srgb,var(--zinc) 72%,transparent);font-size:.97rem}
.steps li strong{display:block;font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--zinc);margin-bottom:8px}

/* Installation */
.strip .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:3px}
.row .use strong{color:var(--ink);font-weight:600;display:block}
.spec h3{margin-bottom:14px}
.roofs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.handover h3{margin-bottom:10px}

/* Lifetime support */
.points{list-style:none;padding:0}
.points strong{color:var(--ink);font-family:var(--display);font-stretch:104%}
.lifephoto .wp-block-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.helpcard .hc-title{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:1.3rem}
.helpcard .hc-small{font-size:.9rem;opacity:.8}
.helpcard{color:var(--zinc)}

/* Telecoms */
.tele .wp-block-image.tower img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.tele .lined{margin:22px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.tele .lined li{padding-block:12px;border-bottom:1px solid var(--rule)}
.tele .lined strong{font-family:var(--display);font-stretch:104%}
.tstrip .wp-block-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px}

/* Services overview */
.svc-item{display:grid;gap:12px;align-content:start}
.svc-item .wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.svc-item h3 a{text-decoration:none}
.svc-item h3 a:hover{text-decoration:underline}
.svc-item .more a{font-family:var(--display);font-weight:700;border-bottom:3px solid var(--signal);text-decoration:none;padding-bottom:2px}

/* Hero photo */
.herophoto img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 60%;border-radius:4px}
@media (max-width:640px){.herophoto img{aspect-ratio:4/3}}
.wrap > .herophoto{margin-top:8px}

/* About */
.certs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.certs li{border:1.5px solid var(--ink);border-radius:3px;padding:6px 12px;font-family:var(--display);font-weight:600;font-stretch:96%;font-size:.95rem}
.exp > p{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--rule);color:var(--muted);max-width:none}
.exp > p strong{font-family:var(--display);font-stretch:110%;font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.exp .van{margin-top:24px}
.exp .van img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 45%;border-radius:4px}

/* Contact */
.lines > p{display:grid;gap:2px}
.lines small{color:var(--muted);font-size:.85rem}
.lines strong{font-family:var(--display);font-stretch:106%;font-size:1.3rem}
.lines a{text-decoration:none}
.lines .addr{color:var(--muted);line-height:1.7}
.contact form.enq{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:28px;display:grid;gap:16px;align-self:start}

/* Section spacing when the first block is a group */
main > .wp-block-group:first-child,main > section:first-child{border-top:none}
.proof{border-top:1px solid var(--rule)}

/* Restore spacing removed by the block reset */
main .wp-block-group.sec-head{margin-bottom:40px}
main .wp-block-group.shots{margin-bottom:44px}
main .wp-block-group.digital{margin-bottom:44px}
main .wp-block-group.strip{margin-bottom:36px}
main .wp-block-group.spec{margin-top:40px}
main .wp-block-group.tstrip{margin-top:40px}
main .wp-block-group.lines{margin-top:24px}
main .wp-block-group.paths{margin-top:30px}
main .callnote{margin-top:16px}
main .lede{margin-top:22px}
main ul.points{margin-top:26px}
main ul.certs{margin-top:22px}
main ol.steps{margin-top:48px}
main .exp .van{margin-top:24px}
main .wp-block-group.helpcard{display:grid;gap:12px}
