@font-face{font-family:"URW Gothic";src:url(/fonts/urw-gothic-book.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"URW Gothic";src:url(/fonts/urw-gothic-demi.otf) format("opentype");font-weight:600 900;font-style:normal;font-display:swap}
:root{--ink:#0c0e0f;--ink2:#141718;--ink3:#191c1d;--line:#2b2f30;--copper:#c96936;--copper2:#e18953;--muted:#a9afb1;--text:#f6f6f4;--white:#fff;
--grad:linear-gradient(100deg,#c55e2c,#e18953);--grad-h:linear-gradient(100deg,#da7440,#eda06a);--r:2px;--wrap:1180px;--ff:"URW Gothic","Trebuchet MS",Arial,sans-serif;--star:#f5b301}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--ff);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
h1,h2,h3,h4{font-weight:700;color:var(--white);line-height:1.08;letter-spacing:-.035em}
h1{font-size:clamp(38px,5.2vw,62px)}
h2{font-size:clamp(28px,3.6vw,46px)}
h3{font-size:20px;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
.i{width:18px;height:18px;flex:none}
.wrap{width:min(var(--wrap),100% - 48px);margin:0 auto}
.skip{position:absolute;left:-999px;top:0;background:var(--copper);color:#000;padding:10px 16px;z-index:100}.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--copper2);outline-offset:3px}
.muted{color:var(--muted)}
/* type helpers */
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.eyebrow span{width:26px;height:2px;background:var(--copper2)}
.eyebrow-l{color:#1a0d06}.eyebrow-l span{background:#1a0d06}
.lead{color:#d6dada;font-size:19px;line-height:1.6;max-width:640px;margin-top:18px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:var(--r);background:var(--grad);color:#120905;font-weight:800;font-size:14px;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:filter .15s,transform .15s}
.btn:hover{background:var(--grad-h);transform:translateY(-1px)}
.btn .i{width:17px;height:17px}
.btn-sm{min-height:42px;padding:0 16px;font-size:13px}
.btn-lg{min-height:58px;padding:0 28px;font-size:15px}
.btn-line{background:transparent;color:var(--white);border-color:#ffffff3d}
.btn-line:hover{background:#ffffff0d;border-color:var(--copper2)}
.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:#1a1d1f}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.link{display:inline-flex;align-items:center;gap:8px;color:var(--copper2);font-weight:800;font-size:14px}
.link .i{width:16px;height:16px}
.more{display:inline-flex;align-items:center;gap:8px;color:var(--copper2);font-weight:800;font-size:13px;margin-top:auto;padding-top:18px}
.more .i{width:15px;height:15px}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:#0c0e0fe8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:22px;min-height:84px}
.logo img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav>a,.dd>a{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:700;color:#d8dcdc;padding:8px 0;border-bottom:2px solid transparent}
.nav>a:hover,.nav>a[aria-current=page],.dd>a:hover,.dd>a[aria-current=page]{color:var(--white);border-color:var(--copper)}
.dd>a .i{width:14px;height:14px;transition:transform .2s}
.dd{position:static}
.dd-panel{position:absolute;left:0;right:0;top:100%;background:#0f1213;border-top:1px solid var(--copper);border-bottom:1px solid var(--line);padding:30px 0 34px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s}
.dd:hover .dd-panel,.dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:none}
.dd:hover>a .i{transform:rotate(180deg)}
.dd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.dd-col p{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.dd-col a{display:block;color:#d8dcdc;font-size:14.5px;padding:7px 0;border-bottom:1px solid #1f2324}
.dd-col a:hover{color:var(--copper2)}
.hdr-tel{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-weight:800;font-size:15px;white-space:nowrap}
.hdr-tel .i{color:var(--copper2)}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 520px at 88% 10%,#c9693624,transparent 60%),var(--ink);border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:64px 64px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 80%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:76px 0 84px}
.hero h1 span{display:block;color:transparent;background:linear-gradient(90deg,var(--copper),#ef9a61);-webkit-background-clip:text;background-clip:text}
.hero-note{margin-top:22px;color:var(--muted);font-size:15px}
.hero-img img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.hero-img{position:relative}
.hero-tag{position:absolute;left:18px;bottom:18px;background:#0c0e0fd9;border:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--copper2);backdrop-filter:blur(8px)}
/* trust + brands */
.trust{background:var(--ink2);border-bottom:1px solid var(--line)}
.trust-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid li{display:flex;gap:14px;align-items:flex-start;padding:24px 22px;border-right:1px solid var(--line)}
.trust-grid li:first-child{padding-left:0}.trust-grid li:last-child{border:0}
.trust-grid .i{width:26px;height:26px;color:var(--copper2);margin-top:2px}
.trust-grid strong{display:block;color:var(--white);font-size:15.5px}
.trust-grid span{color:var(--muted);font-size:13.5px}
.brands{border-bottom:1px solid var(--line)}
.brands-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:40px 0;align-items:center}
.gs{display:flex;gap:20px;align-items:center}
.gs img{width:92px;height:auto;border-radius:var(--r);background:#fff;padding:6px}
.gs span{display:block;color:var(--muted);font-size:13.5px}
.gs strong{display:block;color:var(--white);font-size:17px;margin:2px 0 6px}
.gs a{display:inline-flex;gap:6px;align-items:center;color:var(--copper2);font-weight:800;font-size:13px}
.gs a .i{width:14px;height:14px}
.brand-logos>p{font-size:13.5px;color:var(--muted);margin-bottom:12px}
.brand-logos ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.brand-logos li{background:#f5f5f3;border-radius:var(--r);height:64px;display:flex;align-items:center;justify-content:center;padding:10px 14px}
.brand-logos li img{max-height:36px;width:auto;object-fit:contain}
.brand-logos small{display:block;color:#8a9092;font-size:12.5px;margin-top:12px;line-height:1.5}
/* sections */
.sec{padding:100px 0}
.sec-alt{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-tight{padding:64px 0}
.sec-head{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;margin-bottom:44px}
.sec-head>p{color:var(--muted);font-size:17px}
.sec-foot{margin-top:32px}
.prose-narrow{max-width:760px}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:flex;flex-direction:column;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--copper);transform:translateY(-3px)}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.card-top .i{width:44px;height:44px;padding:11px;border-radius:var(--r);background:#c969361f;color:var(--copper2)}
.num{color:#8a9092;font-size:12px;font-weight:800;letter-spacing:.12em}
.card h3{margin-bottom:8px}
.card p{color:var(--muted);font-size:15px;line-height:1.6}
.card-img{padding:0;overflow:hidden}
.card-img img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-img>div{padding:24px;display:flex;flex-direction:column;flex:1}
/* pillar groups */
.pillar{margin-top:52px}
.pillar-h{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pillar-h .i{width:38px;height:38px;padding:9px;background:#c969361f;color:var(--copper2);border-radius:var(--r)}
.pillar-h h3{font-size:24px}
/* icon grid */
.igrid{display:grid;gap:16px}
.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}
.ig{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.ig-ic{display:inline-flex;width:46px;height:46px;padding:12px;border-radius:var(--r);background:var(--grad);color:#120905;margin-bottom:16px}
.ig-ic .i{width:22px;height:22px}
.ig h3{font-size:18px;margin-bottom:8px}
.ig p{color:var(--muted);font-size:15px;line-height:1.6}
/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.steps li{position:relative;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px 24px}
.steps li::after{content:"";position:absolute;right:-16px;top:44px;width:16px;height:2px;background:var(--copper)}
.steps li:last-child::after{display:none}
.st-n{position:absolute;top:18px;right:20px;color:#8a9092;font-size:12px;font-weight:800;letter-spacing:.12em}
.st-ic{display:inline-flex;width:44px;height:44px;padding:11px;border-radius:var(--r);background:var(--grad);color:#120905;margin-bottom:18px}
.st-ic .i{width:22px;height:22px}
.steps h3{font-size:18px;margin-bottom:8px}
.steps p{color:var(--muted);font-size:14.5px;line-height:1.6}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:linear-gradient(160deg,#c9693626,#191c1d 60%);border:1px solid #c9693655;border-radius:var(--r);padding:26px 24px}
.stat .i{width:24px;height:24px;color:var(--copper2);margin-bottom:14px}
.stat strong{display:block;color:var(--white);font-size:34px;letter-spacing:-.04em;line-height:1}
.stat span{display:block;color:var(--muted);font-size:13.5px;margin-top:8px}
/* lists */
.ticks{list-style:none;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.ticks .i{width:20px;height:20px;color:var(--copper2);flex:none;margin-top:3px}
.cgrid{list-style:none;padding:0;display:grid;gap:10px 18px}
.cgrid li{display:flex;gap:12px;align-items:flex-start;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;font-size:15px}
.cgrid .i{width:20px;height:20px;color:var(--copper2);flex:none;margin-top:2px}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills span{border:1px solid var(--line);background:var(--ink3);color:var(--white);padding:10px 16px;border-radius:var(--r);font-size:14.5px;font-weight:700}
/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);margin:28px 0}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.tbl th,.tbl td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl thead th{background:var(--ink2);color:var(--copper2);font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tbl tbody tr:last-child td,.tbl tbody tr:last-child th{border-bottom:0}
.tbl td{color:#d6dada}.tbl tbody th{color:var(--white);font-weight:700;background:#111415}
/* diagrams */
.diagram{margin:32px 0;background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.diagram svg{width:100%;height:auto;display:block}
.diagram figcaption{margin-top:14px}
/* offer */
.offer{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin-top:40px;padding:32px;border-radius:var(--r);border:1px solid #c9693680;background:linear-gradient(120deg,#c969361c,#141718 60%)}
.offer-ic .i{width:54px;height:54px;padding:13px;border-radius:var(--r);background:var(--grad);color:#120905}
.offer-k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.offer h2{font-size:clamp(22px,2.4vw,28px);margin-bottom:10px}
.offer p{color:var(--muted);font-size:15.5px;max-width:640px}
.offer .acts{margin-top:20px}
/* reviews */
.stars{display:inline-flex;gap:2px}.star{width:16px;height:16px;fill:var(--star)}
.rbadge{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin-top:18px}
.rbadge strong{color:var(--white);font-size:15px}
.rbadge-lg{margin:0}.rbadge-lg .star{width:20px;height:20px}.rbadge-lg{font-size:15px}.rbadge-lg strong{font-size:18px}
.revs{columns:3 300px;column-gap:16px}
.rev{break-inside:avoid;display:block;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin:0 0 16px}
.rev blockquote{margin:14px 0 18px;color:var(--text);font-size:15.5px;line-height:1.6}
.rev figcaption{display:flex;flex-direction:column;gap:2px}
.rev figcaption strong{color:var(--white);font-size:15px}.rev figcaption span{color:var(--muted);font-size:13px}
/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-media{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:end}
.split-media img{border-radius:var(--r);width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line)}
.split-media figure:last-child img{aspect-ratio:1/1}
.split h2{margin-bottom:18px}.split>div>p{color:var(--muted);font-size:17px;margin-bottom:22px}
/* advice */
.acards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.acards-2{grid-template-columns:repeat(2,1fr)}
.acard{display:flex;flex-direction:column;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.acard:hover{border-color:var(--copper)}
.acard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.acard>div{display:flex;flex-direction:column;flex:1;padding:22px}
.k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.acard h3{font-size:18px}.acard p:not(.k){color:var(--muted);font-size:14.5px;margin-top:8px}
/* faq */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.faq-wrap h2{margin-bottom:18px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:17px;font-weight:700;color:var(--white)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{color:var(--copper2);transition:transform .2s}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq details p{color:var(--muted);font-size:15.5px;padding:0 40px 22px 0}
/* band */
.band{background:var(--grad);color:#1a0d06}
.band-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:72px 0}
.band h2{color:#0c0e0f}.band p{color:#1a0d06;margin-top:10px;font-size:16.5px}
.band .acts{margin-top:0;flex-direction:column}
.band .btn-line{color:#0c0e0f;border-color:#0c0e0f55}.band .btn-line:hover{border-color:#0c0e0f;background:#0c0e0f10}
/* page hero */
.phero{border-bottom:1px solid var(--line);background:radial-gradient(800px 420px at 90% 0%,#c969361f,transparent 60%),var(--ink)}
.phero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding:56px 0 64px}
.phero-s{padding:56px 0 64px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13.5px;margin-top:22px}
.meta .i{width:15px;height:15px;color:var(--copper2)}
.phero-img img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
figcaption{color:#8a9092;font-size:13px;margin-top:10px}
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--muted);margin-bottom:22px}
.crumbs li+li::before{content:"/";margin-right:8px;color:#5d6466}
.crumbs a:hover{color:var(--copper2)}
/* article layout */
.art{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;padding:72px 0 96px}
.prose{max-width:780px}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:52px 0 16px}
.prose>h2:first-child,.prose>.lead-p+h2{margin-top:0}
.prose>*+h2{margin-top:52px}
.prose p{color:#d6dada;font-size:16.5px;margin:14px 0}
.prose .lead-p,.prose .guide-lead{font-size:20px;color:var(--white);line-height:1.55;margin-top:0}
.prose a:not(.btn){color:var(--copper2);text-decoration:underline;text-underline-offset:3px}
.prose .igrid,.prose .steps,.prose .stats,.prose .cgrid,.prose .pills{margin:26px 0}
.prose .steps{grid-template-columns:repeat(2,1fr)}
.prose .stats{grid-template-columns:repeat(3,1fr)}
.prose ul:not(.ticks):not(.cgrid){list-style:none;padding:0;margin:18px 0}
.prose ul:not(.ticks):not(.cgrid) li{position:relative;padding-left:26px;margin:9px 0;font-size:16px}
.prose ul:not(.ticks):not(.cgrid) li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,var(--copper2) 35%,#c969362e 40%)}
.pair,.article-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}
.pair img,.article-image-pair img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.wide-fig{margin:30px 0}.wide-fig img{border-radius:var(--r);width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.note,.guide-note{border-left:3px solid var(--copper);background:var(--ink2);padding:24px 26px;margin:36px 0}
.note.warn{border-color:#e05252}
.note strong,.guide-note strong{color:var(--white);font-size:17px;display:block}
.note p,.guide-note p{color:var(--muted);margin:8px 0 0;font-size:15.5px}
.further{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.further h2{font-size:20px;margin:0 0 10px}
.further a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none!important;font-size:15.5px}
.further a:hover{color:var(--copper2)}
.side{display:flex;flex-direction:column;gap:20px;position:sticky;top:104px;align-self:start}
.side-fig img{border-radius:var(--r);width:100%;border:1px solid var(--line)}
.help{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:grid;gap:12px}
.help-k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.help h2{font-size:22px}.help p{color:var(--muted);font-size:15px}
.help .rbadge{margin:0 0 4px}.help .btn{width:100%}
.rel{border:1px solid var(--line);border-radius:var(--r);padding:8px 22px}
.rel p{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:14px 0 6px}
.rel a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:14.5px;font-weight:700}
.rel a:hover{color:var(--copper2)}.rel .i{width:15px;height:15px;color:var(--copper2)}
.svc-revs{margin:48px 0 8px}
.svc-revs-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.prose .svc-revs-h h2{margin:0}
/* enquiry form */
.enq{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:32px;display:grid;gap:14px}
.enq-k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.enq h2{font-size:clamp(24px,2.6vw,30px)}
.enq-p{color:var(--muted);font-size:14.5px;margin-bottom:6px}
.enq label{display:grid;gap:6px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.enq input,.enq select,.enq textarea{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:var(--r);color:var(--white);padding:14px;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none}
.enq select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--copper2) 50%),linear-gradient(135deg,var(--copper2) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.enq input:focus,.enq select:focus,.enq textarea:focus{border-color:var(--copper2);outline:none}
.enq .acts{margin-top:6px}.enq .acts .btn{flex:1}
.enq-alt{color:var(--muted);font-size:14px}.enq-alt a{color:var(--copper2);font-weight:800}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.cboxes{display:grid;gap:12px}
.cbox{display:flex;align-items:center;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink3);transition:border-color .2s}
.cbox:hover{border-color:var(--copper)}
.cbox>.i:first-child{width:46px;height:46px;padding:12px;border-radius:var(--r);background:var(--grad);color:#120905}
.cbox span{flex:1;color:var(--muted);font-size:13.5px}
.cbox strong{display:block;color:var(--white);font-size:17px;margin-top:2px}
.cbox>.i:last-child{color:var(--copper2)}
/* consent */
[hidden]{display:none!important}
/* footer */
.ftr{background:#08090a;border-top:1px solid var(--line);padding-top:64px}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}
.ftr-brand img{height:40px;width:auto;margin-bottom:18px}
.ftr-brand p{color:var(--muted);font-size:14.5px}
.ftr-contact{display:grid;gap:8px;margin-top:16px!important}
.ftr-contact a{display:inline-flex;align-items:center;gap:10px;color:var(--white);font-weight:700;font-size:15px}
.ftr-contact .i{color:var(--copper2)}
.ftr-h{color:var(--white);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.ftr ul{list-style:none;padding:0;display:grid;gap:8px}
.ftr li,.ftr li a{color:var(--muted);font-size:14.5px}
.ftr li a:hover{color:var(--copper2)}
.ftr-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:48px;padding:22px 0;color:#6f7678;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.ftr-legal{color:#6f7678;font-size:13px;line-height:1.6;padding-bottom:28px;margin-top:-6px}
.mbar{display:none}
/* responsive */
@media (max-width:1100px){.nav{gap:16px}.nav>a,.dd>a{font-size:13.5px}.hdr-tel span{display:none}.cards{grid-template-columns:repeat(2,1fr)}.acards{grid-template-columns:repeat(2,1fr)}
.art{grid-template-columns:1fr;gap:40px}.side{position:static}.ftr-grid{grid-template-columns:1fr 1fr 1fr}.steps{grid-template-columns:repeat(2,1fr)}.steps li::after{display:none}.cols-4{grid-template-columns:repeat(2,1fr)}.dd-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:940px){.nav,.hdr-cta,.hdr-tel{display:none}
.hero-grid,.phero-grid,.brands-in,.sec-head,.split,.faq-wrap,.contact-grid,.band-in{grid-template-columns:1fr}
.hero-grid{padding:44px 0 56px;gap:36px}.hero-img img{aspect-ratio:4/3}.phero-grid{padding:36px 0 44px;gap:32px}.phero-s{padding:36px 0 44px}
.trust-grid{grid-template-columns:1fr 1fr}.trust-grid li{border-right:0;border-bottom:1px solid var(--line);padding:18px 12px 18px 0}
.sec{padding:68px 0}.sec-head{gap:14px;margin-bottom:30px}.split{gap:36px}.cols-3{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}
.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;border-top:1px solid var(--line)}
.mbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;font-weight:800;font-size:15px;background:var(--ink2);color:var(--white)}
.mbar a:first-child{background:var(--grad);color:#120905}
body{padding-bottom:60px}}
@media (max-width:620px){body{font-size:16px}.wrap{width:min(var(--wrap),100% - 36px)}
.cards,.acards,.acards-2,.cols-2,.cols-3,.igrid,.steps,.prose .steps,.stats,.prose .stats,.cgrid{grid-template-columns:1fr}
.pair,.article-image-pair,.brand-logos ul{grid-template-columns:1fr 1fr}
.trust-grid{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}.offer{grid-template-columns:1fr;padding:24px}.split-media{grid-template-columns:1fr 1fr}
.acts .btn{width:100%}.card{padding:24px}.logo img{height:34px}.gs{align-items:flex-start}.art{padding:48px 0 64px}.prose .lead-p,.prose .guide-lead{font-size:18px}.enq{padding:22px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.svc-revs-top{margin:30px 0 12px}.hero-note .i{width:16px;height:16px;vertical-align:-3px;color:var(--copper2)}
@media (max-width:1100px){.art{grid-template-columns:minmax(0,1fr)}}
.em-line{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:14.5px}.em-line .i{width:16px;height:16px;color:var(--copper2)}.em-line a{color:var(--white);font-weight:800;white-space:nowrap}
.band .em-line{color:#1a0d06}.band .em-line a{color:#0c0e0f}.band .em-line .i{color:#0c0e0f}
.help .em-line{margin-top:2px}
.hdr-tel small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper2);font-weight:800;line-height:1}
.hdr-tel span{display:flex;flex-direction:column;line-height:1.15}
@media (max-width:940px){.mbar{grid-template-columns:2fr 1fr}}
.acards-3{grid-template-columns:repeat(3,1fr)}
.revs-3{columns:3 280px}
.sec-foot.muted{margin-top:22px}
@media (max-width:940px){.acards-3{grid-template-columns:1fr}}
.dd-grid{grid-template-columns:repeat(3,minmax(0,260px))}
.steps-3{grid-template-columns:repeat(3,1fr)}
.revs-2{columns:2 300px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;color:var(--white);background:var(--ink3)}
.chips a:hover{border-color:var(--copper);color:var(--copper2)}
.chips-lg a{font-size:15.5px;padding:11px 18px}
.jlink{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--muted)}
.jlink>.i{width:20px;height:20px;color:var(--copper2);flex:none;margin-top:3px}
@media (max-width:940px){.steps-3{grid-template-columns:1fr}}
.brand-txt{color:var(--white);font-size:16px;margin:6px 0 10px;max-width:640px}

/* area checker */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.phero-ck .lead{margin-bottom:34px}
.ck{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.ck-panel{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.ck-f{display:grid;gap:10px;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.ck-f label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--copper2)}
.ck-row{display:flex;gap:10px}
.ck-row input,.pcbar-f input{flex:1;min-width:0;width:0;min-height:54px;padding:0 16px;background:var(--ink);border:1px solid #3a3f41;border-radius:var(--r);font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--white)}
.ck-row input::placeholder,.pcbar-f input::placeholder{text-transform:none;letter-spacing:0;font-weight:400;color:#7d8486}
.ck-row input:focus,.pcbar-f input:focus{outline:none;border-color:var(--copper2);box-shadow:0 0 0 3px #e1895333}
.ck-geo{display:inline-flex;align-items:center;gap:8px;justify-self:start;background:none;border:0;padding:6px 0;color:var(--copper2);font-weight:800;font-size:14px;cursor:pointer}
.ck-geo .i{width:17px;height:17px}
.ck-hint{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:15px;padding:4px 2px}
.ck-hint .i{color:var(--copper2);width:20px;height:20px;margin-top:2px}
.ck-err p{color:#f0b38f}
.ck-res{border:1px solid var(--line);border-left:4px solid #3fb27f;background:var(--ink3);border-radius:var(--r);padding:20px 20px 22px;animation:ckin .35s ease}
.ck-res.z-mid,.ck-res.z-far{border-left-color:var(--copper2)}
@keyframes ckin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ck-k{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ck-big{font-size:17px;color:var(--white);margin-top:4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.ck-big b{font-size:44px;line-height:1.05;letter-spacing:-.03em}
.ck-big span{color:var(--muted);font-size:15px;width:100%}
.ck-badge{display:inline-block;margin-top:12px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;background:#3fb27f22;color:#7fdcb0}
.z-mid .ck-badge,.z-far .ck-badge{background:#e1895322;color:#f2b48b}
.ck-list{list-style:none;padding:0;margin:16px 0 18px;display:grid;gap:12px}
.ck-list li{display:flex;gap:12px;align-items:flex-start}
.ck-list .i{width:20px;height:20px;flex:none;margin-top:3px}
.ck-list .ok .i{color:#5fcf98}.ck-list .warn .i{color:var(--copper2)}.ck-list .info .i{color:var(--muted)}
.ck-list strong{display:block;color:var(--white);font-size:15.5px}
.ck-list span{display:block;color:#c9cecf;font-size:14.5px;line-height:1.5}
.ck-res .btn{width:100%}
.ck-map{margin:0;position:sticky;top:96px}
.ck-svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:var(--r);cursor:crosshair;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.ck-map figcaption{color:var(--muted);font-size:12.5px;margin-top:10px;line-height:1.5}
.ck-svg .bg{fill:#111415}.ck-svg .dots{fill:#2a2f30}
.ck-svg .dots circle{fill:#262a2b}
.ck-svg .roads polyline{fill:none;stroke:#343a3c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.ck-svg .rlbl text{fill:#6c7376;font-size:12px;font-weight:800;letter-spacing:.08em}
.ck-svg .ring{stroke:#3fb27f;stroke-width:2;stroke-dasharray:7 7}
.ck-svg .ring-l{fill:#7fdcb0;font-size:12px;font-weight:800;letter-spacing:.18em}
.ck-svg .mt{cursor:pointer;outline:none}
.ck-svg .hit{fill:transparent}
.ck-svg .dot{fill:#f6f6f4;stroke:#111415;stroke-width:3;transition:r .15s}
.ck-svg .mt text{fill:#e9ecec;font-size:17px;font-weight:700;paint-order:stroke;stroke:#111415;stroke-width:5px;stroke-linejoin:round}
.ck-svg .mt:hover .dot,.ck-svg .mt:focus .dot{fill:var(--copper2);r:8}
.ck-svg .mt:hover text,.ck-svg .mt:focus text{fill:var(--copper2)}
.ck-svg .mt-off text{font-size:15px}
.ck-svg .arr{fill:none;stroke:#e9ecec;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ck-svg .base circle{fill:var(--copper);stroke:#111415;stroke-width:3}
.ck-svg .base path{fill:#120905}
.ck-svg .base text{fill:var(--copper2);font-size:14px;font-weight:800;paint-order:stroke;stroke:#111415;stroke-width:5px}
.ck-svg .pline{stroke:var(--copper2);stroke-width:2.5;stroke-dasharray:3 6;stroke-linecap:round}
.ck-svg .pin path{fill:var(--copper2);stroke:#111415;stroke-width:2.5}
.ck-svg .pin circle{fill:#111415}
.ck-svg .pin{transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
/* travel infographic */
.tinfo{display:grid;gap:26px;max-width:980px}
.tbar-row{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:center}
.tbar-h{display:flex;gap:12px;align-items:center;font-size:14.5px;color:var(--muted)}
.tbar-h .i{width:22px;height:22px;color:var(--copper2)}
.tbar-h strong{display:block;color:var(--white);font-size:16px}
.tbar{position:relative;height:46px;background:#0f1112;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbar b{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 14px;font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbar .t-in{background:linear-gradient(90deg,#3fb27f40,#3fb27f26);color:#9be6c2;border-right:2px solid #3fb27f}
.tbar .t-mid{background:repeating-linear-gradient(135deg,#e1895322 0 10px,#e189531a 10px 20px);color:#f2b48b}
.tscale{margin-left:260px;position:relative;height:58px}
.tticks span,.tplaces span{position:absolute;transform:translateX(-50%);font-size:12px;white-space:nowrap}
.tticks span{color:var(--muted);font-weight:800;top:0}
.tticks span:first-child{transform:none}.tticks span:last-child{transform:translateX(-100%)}
.tplaces span{top:24px;color:#c9cecf;display:flex;flex-direction:column;align-items:center;gap:3px}
.tplaces i{width:2px;height:8px;background:#4a5052}
.tnote{display:flex;gap:12px;align-items:flex-start;color:#d6dada;font-size:15.5px;border-top:1px solid var(--line);padding-top:20px}
.tnote .i{width:22px;height:22px;color:var(--copper2);margin-top:1px}
/* town rows */
.trows{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;border-top:1px solid var(--line)}
.trow{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line);transition:background .15s}
.trow:hover{background:#ffffff06}.trow:hover .tn strong{color:var(--copper2)}
.trow>.i{width:16px;height:16px;color:var(--copper2)}
.tn{flex:1;display:grid}.tn strong{font-size:17px;color:var(--white)}.tn small{color:var(--muted);font-size:12.5px}
.td{color:#c9cecf;font-size:14px;white-space:nowrap}
.tz{width:12px;height:12px;border-radius:50%;flex:none;display:inline-block}
.tz-in{background:#3fb27f}.tz-edge{background:linear-gradient(90deg,#3fb27f 50%,var(--copper2) 50%)}.tz-out{background:var(--copper2)}
.tleg{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;color:var(--muted);font-size:13.5px}
.tleg span{display:inline-flex;align-items:center;gap:8px}
/* town page local block */
.loc{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.loc h2{margin-bottom:24px}
.loc-l li{font-size:16.5px}
.loc-k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--copper2);margin:6px 0 14px}
.loc-k .i{width:16px;height:16px}
.loc .chips{margin-top:0}.loc .pills{margin-bottom:26px}
/* homepage postcode bar */
.pcbar{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#3fb27f14,transparent 60%),var(--ink2)}
.pcbar-in{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:22px 0}
.pcbar-in>p{display:flex;gap:14px;align-items:flex-start;color:#c9cecf;font-size:15px}
.pcbar-in>p .i{width:22px;height:22px;color:#5fcf98;margin-top:2px}
.pcbar-in strong{color:var(--white);margin-right:6px}
.pcbar-f{display:flex;gap:10px;width:380px}
.pcbar-f input{min-height:44px;font-size:16px}
@media (max-width:940px){.ck{grid-template-columns:minmax(0,1fr)}.ck-map{position:static;order:2}.ck-panel{order:1}
.loc{grid-template-columns:1fr;gap:34px}.pcbar-in{grid-template-columns:1fr;gap:14px}.pcbar-f{width:100%}
.tbar-row{grid-template-columns:1fr;gap:10px}.tscale{margin-left:0}}
@media (max-width:620px){.trows{grid-template-columns:1fr}.ck-f{padding:16px}.ck-big b{font-size:38px}
.tbar b{font-size:11.5px;padding:0 8px;white-space:normal;line-height:1.2}.tplaces span:nth-child(2){display:none}}

/* v25: mobile menu */
.mbtn{display:none;margin-left:auto;align-items:center;gap:10px;height:46px;padding:0 14px 0 12px;border:1px solid #ffffff2e;border-radius:var(--r);background:#ffffff08;color:var(--white);font-size:14px;cursor:pointer}
.mb-ic{display:grid;gap:4px}.mb-ic i{display:block;width:18px;height:2px;background:var(--white)}
.mbtn b{font-weight:800;letter-spacing:.02em}
.mm{position:fixed;inset:0;z-index:90;background:var(--ink);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:mmin .2s ease}
@keyframes mmin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
html.mopen,html.mopen body{overflow:hidden}
.mm-top{position:sticky;top:0;z-index:2;background:var(--ink);border-bottom:1px solid var(--line)}
.mm-top-in{display:flex;align-items:center;justify-content:space-between;min-height:72px}
.mm-top .logo img{height:34px;width:auto}
.mclose{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff2e;border-radius:var(--r);background:#ffffff08;color:var(--white);cursor:pointer}
.mclose .i{width:22px;height:22px}
.mm-body{padding:20px 0 48px}
.mm-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mm-acts .btn{min-height:52px;padding:0 10px;font-size:14px;width:auto}
.mm-h{margin:30px 0 6px;color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.mgrp{border-top:1px solid var(--line)}
.mgrp summary,.mrow{display:flex;align-items:center;gap:14px;min-height:62px;padding:8px 0;cursor:pointer;list-style:none;color:var(--white)}
.mgrp summary::-webkit-details-marker{display:none}
.mgrp summary>.i:first-child,.mrow>.i:first-child{width:38px;height:38px;padding:9px;border-radius:var(--r);background:#c969361f;color:var(--copper2);flex:none}
.mgrp summary span,.mrow span{flex:1;font-size:17px;font-weight:700;display:flex;flex-direction:column;line-height:1.25}
.mgrp summary small{font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px}
.mchev{width:18px;height:18px;color:var(--muted);transition:transform .2s;flex:none}
.mrow .mchev{transform:rotate(-90deg)}
.mgrp[open] summary .mchev{transform:rotate(180deg);color:var(--copper2)}
.mgrp-list{padding:0 0 12px 52px}
.mgrp-list .mrow{min-height:50px;border-top:1px solid #1f2324;padding:4px 0}
.mgrp-list .mrow>.i:first-child{width:26px;height:26px;padding:5px;background:none}
.mgrp-list .mrow span{font-size:15.5px;font-weight:600;color:#dfe2e2}
.mrow-all{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mm-pages .mrow{border-top:1px solid var(--line)}.mm-pages{border-bottom:1px solid var(--line)}
.mrow[aria-current=page] span{color:var(--copper2)}
.mrow:active,.mgrp summary:active{background:#ffffff08}
.mm-foot{display:flex;gap:12px;align-items:flex-start;margin-top:26px;color:var(--muted);font-size:13.5px;line-height:1.55}
.mm-foot .i{color:var(--copper2);width:20px;height:20px;flex:none;margin-top:1px}
@media (max-width:940px){.mbtn{display:inline-flex}.hdr-in{min-height:72px}}
@media (min-width:941px){.mm{display:none!important}}
.dd-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dd-col a{display:flex;align-items:center;gap:10px}.dd-col a .i{width:16px;height:16px;color:var(--copper2);flex:none}
/* v25: spacing and alignment */
.sec{padding:96px 0}
.sec:not(.sec-alt)+.sec:not(.sec-alt){padding-top:0}
.sec-head>div:nth-child(2){justify-self:end}
.pillar:first-child{margin-top:0}
.sec .wrap>h2{margin-bottom:20px}
.sec-p{color:var(--muted);font-size:16.5px;max-width:760px;margin:-8px 0 26px}
.h2s{font-size:clamp(26px,2.8vw,34px);margin-bottom:22px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.duo-note{margin-top:44px}.duo-note .note{margin:0}
/* lists without boxes */
.cgrid{gap:0 36px;border-top:1px solid var(--line)}
.cgrid li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 0;font-size:16px}
.nlist{list-style:none;padding:0;margin:0;counter-reset:n;border-top:1px solid var(--line)}
.nlist li{counter-increment:n;display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}
.nlist li::before{content:counter(n);flex:none;width:26px;height:26px;border-radius:50%;background:#c9693629;color:var(--copper2);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.callout{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:28px;border:1px solid #c9693666;border-radius:var(--r);background:linear-gradient(140deg,#c969361f,#141718 65%)}
.callout>.i{width:48px;height:48px;padding:12px;border-radius:var(--r);background:var(--grad);color:#120905}
.callout h3{font-size:20px;margin-bottom:8px}.callout p{color:#c9cecf;font-size:15.5px}
/* icon features: open rows, no boxes */
.igrid{gap:0 40px}
.ig{display:grid;grid-template-columns:46px 1fr;column-gap:16px;align-content:start;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 0}
.ig-ic{grid-row:1/3;margin:0}
.ig h3{margin:2px 0 4px;font-size:17px}
.ig p{grid-column:2}
/* related chips under FAQs */
.relchips{margin-top:30px}
.relchips>p{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--copper2)}
.relchips .chips{margin-top:12px}
.faq-wrap .jlink{margin-top:4px}
/* footer */
.ftr-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}
@media (max-width:1100px){.ftr-grid{grid-template-columns:repeat(4,1fr)}.ftr-brand{grid-column:1/-1}.ftr-brand p{max-width:520px}}
.prose .ig h3{margin:2px 0 4px}.prose .ig p{margin:0;font-size:15px;color:var(--muted)}
.prose>.lead-p+h2{margin-top:40px}
.meta{display:block;line-height:2}.meta .i{display:inline-block;vertical-align:-3px;margin-right:5px}.meta span{white-space:nowrap}
.prose .steps p{margin:0}.stat strong{white-space:nowrap}
@media (max-width:1100px){.side-fig{display:none}}
.ufh-fig img{border-radius:var(--r);border:1px solid var(--line);width:100%;max-width:480px;margin-left:auto;aspect-ratio:1/1;object-fit:cover}.ufh-fig figcaption{text-align:right}
.ufh .ticks{margin-top:22px}
.chain-k{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#e07a6a;margin-bottom:18px}
.steps.chain li{background:none;border:0;padding:0 14px 0 0}.steps.chain .st-n{display:none}
.steps.chain li::after{left:58px;right:-2px;width:auto;top:22px;background:linear-gradient(90deg,#ffffff30,#ffffff10)}
.steps.chain .st-ic{border-radius:50%}
.steps.chain li:nth-child(1) .st-ic{background:#3b6ea8;color:#fff}.steps.chain li:nth-child(2) .st-ic{background:#7a6a5a;color:#fff}.steps.chain li:nth-child(3) .st-ic{background:#3a302a;color:#e9ddd2;box-shadow:inset 0 0 0 1px #6b5a4c}.steps.chain li:nth-child(4) .st-ic{background:#b8452f;color:#fff}
.inh-duo{margin-top:48px}.h3s{font-size:22px;margin-bottom:14px}
@media (max-width:940px){.ufh-fig img{margin:0;max-width:100%}.ufh-fig figcaption{text-align:left}}
@media (max-width:620px){.steps.chain li{padding:0 0 22px}.steps.chain li::before{background:linear-gradient(#3b6ea8,#b8452f)}}
.revs-1{columns:1;max-width:760px}
/* tablet and phone */
@media (max-width:940px){.sec{padding:64px 0}.duo{grid-template-columns:1fr;gap:48px}.sec-head>div:nth-child(2){justify-self:start}
.phero-img img{aspect-ratio:16/10}.band-in{padding:56px 0}}
@media (max-width:620px){h1{font-size:34px}.lead{font-size:17.5px}.sec{padding:52px 0}.sec-head{margin-bottom:24px}.duo{gap:40px}
.ftr{padding-top:48px}.ftr-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.ftr-base{flex-direction:column;gap:6px;margin-top:34px}
.trust-grid{grid-template-columns:1fr 1fr}.trust-grid li{flex-direction:column;gap:8px;padding:18px 12px 18px 0}.trust-grid li:nth-child(odd){border-right:1px solid var(--line)}.trust-grid li:nth-child(even){padding-left:14px}
.cards{gap:0;border-top:1px solid var(--line)}
.card{display:grid;grid-template-columns:44px 1fr 18px;column-gap:14px;row-gap:2px;align-items:start;padding:18px 0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0}
.card:hover{transform:none}.card-top{display:contents}.card-top .i{grid-column:1;grid-row:1/3}.card .num{display:none}
.card h3{grid-column:2;margin:0;font-size:17px}.card p{grid-column:2;font-size:14.5px}
.card .more{grid-column:3;grid-row:1/3;align-self:center;padding:0;margin:0;font-size:0}.card .more .i{width:18px;height:18px}
.acard{display:grid;grid-template-columns:118px 1fr}.acard img{height:100%;aspect-ratio:auto;min-height:118px}.acard>div{padding:14px 16px}
.acard h3{font-size:16.5px}.acard p:not(.k){font-size:14px;margin-top:6px}.acard .more{padding-top:10px}
.steps{gap:0}
.steps li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;background:none;border:0;border-radius:0;padding:0 0 26px}
.steps li::before{content:"";position:absolute;left:21px;top:50px;bottom:6px;width:2px;background:linear-gradient(var(--copper),#c969361a)}
.steps li:last-child{padding-bottom:0}.steps li:last-child::before{display:none}
.st-n{display:none}.st-ic{grid-row:1/3;margin:0}.steps h3{grid-column:2;margin:9px 0 4px}.steps p{grid-column:2}
.stats{grid-template-columns:1fr;gap:10px}.stat{display:flex;align-items:center;gap:14px;padding:16px 18px}.stat .i{margin:0}.stat strong{font-size:24px}.stat span{margin:0}
.tbl.kv{min-width:0}.tbl.kv tr{display:block;padding:12px 16px;border-bottom:1px solid var(--line)}.tbl.kv tr:last-child{border-bottom:0}
.tbl.kv th,.tbl.kv td{display:block;padding:0;border:0;background:none}.tbl.kv tbody th{color:var(--copper2);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.enq .acts .btn{flex:1 1 100%}.callout{padding:22px;gap:14px}.callout>.i{width:42px;height:42px;padding:10px}
.faq-wrap{gap:26px}.faq summary{font-size:16px;padding:19px 0}.faq details p{padding-right:0}}

/* v26: photos */
.phero-img img.pt{aspect-ratio:3/4}
@media (min-width:941px){.phero-grid:has(.phero-img img.pt){grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
.acard img{aspect-ratio:1/1}
.pair-pt img{aspect-ratio:3/4}.pair-sq img{aspect-ratio:1/1}.pair-ls img{aspect-ratio:4/3}
.brand-logos li img{max-height:32px;max-width:100%}
@media (max-width:940px){.hero-img img{aspect-ratio:4/5}.hero-img{max-width:460px}
.phero-img img.pt{aspect-ratio:4/5}.phero-img:has(img.pt){max-width:440px}}
@media (max-width:620px){.acard{grid-template-columns:96px 1fr;gap:14px;padding:12px;align-items:start}
.acard img{width:96px;height:96px;min-height:0;aspect-ratio:1/1}.acard>div{padding:0}}
/* v26b: photo slots */
.phero-img img.sq{aspect-ratio:1/1}
@media (min-width:941px){.phero-grid:has(.phero-img img.sq){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
@media (max-width:940px){.phero-img img.ls{aspect-ratio:4/3}.phero-img img.sq{aspect-ratio:1/1}.phero-img:has(img.sq){max-width:440px}}
/* v26c: icon alignment */
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;line-height:1.5}
.meta .mi{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.meta .i{margin:0;vertical-align:0}
.cgrid .i{margin-top:3px}
.trust-grid .i{margin-top:0}
.pcbar-in>p .i{margin-top:1px}
.em-line{align-items:flex-start}.em-line .i{margin-top:4px}
.hero-note{display:flex;gap:8px;align-items:flex-start}.hero-note .i{margin-top:4px;vertical-align:0}

/* v27: boxes and tap targets */
.card .more{gap:0;justify-self:end}
.brand-logos li{background:#fff;border:1px solid #e6e6e2}
.logo{display:inline-flex;align-items:center;min-height:44px}
.ck-geo{min-height:44px;padding:0}
.rbadge{position:relative}.rbadge::after{content:"";position:absolute;inset:-10px -4px}
.tbl td a{padding:10px 0}
.prose .steps li:nth-child(2n)::after{display:none}
/* v27b: type */
h1,h2,h3,.ftr-h{text-wrap:balance}
p,li,figcaption{text-wrap:pretty}
.eyebrow{align-items:flex-start;line-height:1.6}.eyebrow span{flex:none;margin-top:calc(.8em - 1px)}
/* v27c: hero quick routes */
.hero-go{margin-top:26px;max-width:491px}
.hero-go>p{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.hero-go>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hero-go a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:76px;padding:12px 8px;text-align:center;
background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);color:var(--white);font-weight:800;font-size:13.5px;line-height:1.25;transition:border-color .2s,background .2s}
.hero-go a .i{width:20px;height:20px;margin:0;color:var(--copper2)}
.hero-go a:hover{border-color:var(--copper);background:#c969360f}
.nw{white-space:nowrap}.tel-l{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* v27d: reviews in equal rows, quote box */
.revs-2,.revs-3{columns:auto;display:grid;gap:16px;align-items:stretch}
.revs-2{grid-template-columns:repeat(2,minmax(0,1fr))}.revs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.revs-2 .rev,.revs-3 .rev{margin:0;display:flex;flex-direction:column}.revs-2 .rev figcaption,.revs-3 .rev figcaption{margin-top:auto}
@media (max-width:940px){.revs-2,.revs-3{grid-template-columns:minmax(0,1fr)}}
.qbox{margin-top:16px;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink3)}
.qbox h3{margin:0 0 6px}.qbox>p{color:var(--muted);font-size:15px;line-height:1.6}
.qbox-ph{list-style:none;padding:0;margin:18px 0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qbox-ph li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:76px;padding:12px 8px;text-align:center;
border:1px dashed #ffffff26;border-radius:var(--r);font-weight:800;font-size:13.5px;color:var(--white)}
.qbox-ph .i{width:20px;height:20px;margin:0;color:var(--copper2)}
.qbox .btn{width:100%;justify-content:center}
@media (max-width:620px){.qbox{padding:22px}}
/* v27e: tablet */
@media (min-width:621px) and (max-width:940px){
.hero-grid,.phero-grid:has(.phero-img img.pt),.phero-grid:has(.phero-img img.sq){grid-template-columns:minmax(0,1fr) minmax(0,270px);gap:32px;align-items:center}
.hero-img,.phero-img:has(img.pt),.phero-img:has(img.sq){max-width:none}
.hero-img img,.phero-img img.pt{aspect-ratio:3/4}
.hero .acts .btn,.phero .acts .btn{flex:1 1 auto}
.acards-3 .acard{display:grid;grid-template-columns:200px minmax(0,1fr)}
.acards-3 .acard{align-items:center}.acards-3 .acard img{width:200px;height:200px;min-height:0;aspect-ratio:1/1}
.acards-3 .acard>div{padding:20px 24px}}
/* v27f: logos */
.brand-logos li img{height:28px;max-height:none;width:auto;max-width:100%}
.brand-logos li img[alt="Glow-worm"]{height:24px}.brand-logos li img[alt="Baxi"]{height:21px}.brand-logos li img[alt="Worcester Bosch"]{height:34px}
/* v27g: eyebrows consistent */
.split>div>p.eyebrow,.band p.eyebrow{font-size:11px;letter-spacing:.16em;margin-top:0;margin-bottom:18px}
.split>div>p.eyebrow{color:var(--copper2)}.band p.eyebrow{color:#1a0d06}
.pair-mix img{aspect-ratio:auto;height:auto}
/* v27h: beyond economical repair */
.prose .callout.ber{margin:26px 0}.prose .callout.ber h3{margin:2px 0 8px;font-size:19px;line-height:1.35}.prose .callout.ber p{margin:0;font-size:15.5px}
.prose .callout.ber + p + .acts{margin:18px 0 8px}
.prose .callout.ber h3 span{display:block}
/* v28: link rows + CTA panel */
.lrows{list-style:none;padding:0;margin:12px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--ink3);overflow:hidden}
.lrows li+li{border-top:1px solid var(--line)}
.lrows a{display:flex;align-items:center;gap:14px;min-height:58px;padding:10px 18px 10px 12px;color:var(--white);font-weight:700;font-size:15px;transition:background .2s}
.lrows .lr-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r);background:#c969361f;color:var(--copper2)}
.lrows .lr-ic .i{width:18px;height:18px;margin:0}
.lrows .lr-t{flex:1;min-width:0}
.lrows a>.i{flex:none;width:18px;height:18px;margin:0;color:var(--copper2);transition:transform .2s}
.lrows a:hover{background:#c969360d}.lrows a:hover>.i{transform:translateX(3px)}
.loc .lrows{margin-top:0}
.cta{padding:72px 0 88px}
.sec:not(.sec-alt)+.cta{padding-top:0}
.cta-box{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:center;padding:48px 52px;
border:1px solid #c9693659;border-radius:var(--r);background:radial-gradient(90% 140% at 100% 0%,#c969362e,transparent 60%),var(--ink3)}
.cta-box::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.cta-box h2{margin:0}.cta-box .cta-txt>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.6;margin-top:12px;max-width:560px}
.cta-box .meta{margin-top:22px}
.cta-box .qb,.cta-box .acts{margin:0}.cta-box .acts{display:flex;flex-direction:column;gap:12px}.cta-box .btn{width:100%;justify-content:center}
@media (max-width:940px){.cta-box{grid-template-columns:minmax(0,1fr);gap:28px;padding:36px 32px}}
@media (max-width:620px){.cta{padding:52px 0 64px}.cta-box{padding:30px 22px 24px}.cta-box .cta-txt>p:not(.eyebrow){font-size:16px}}
@media (min-width:621px) and (max-width:940px),(min-width:1200px){.loc .lrows{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.loc .lrows li{border-top:1px solid var(--line)}.loc .lrows li:nth-child(-n+2){border-top:0}.loc .lrows li:nth-child(odd){border-right:1px solid var(--line)}.loc .lrows a{font-size:14.5px;gap:12px;padding-right:14px}}
/* v29 footer: six columns with the Areas list */
.ftr-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr}
@media (max-width:1100px){.ftr-grid{grid-template-columns:repeat(5,1fr)}}
@media (max-width:620px){.ftr-grid{grid-template-columns:1fr 1fr}}
/* v29 home areas: four columns on desktop, two on tablet */
@media (min-width:621px){.lrows-4 .lrows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lrows-4 .lrows li{border-top:1px solid var(--line)}.lrows-4 .lrows li:nth-child(-n+2){border-top:0}.lrows-4 .lrows li:nth-child(odd){border-right:1px solid var(--line)}}
@media (min-width:941px){.lrows-4 .lrows{grid-template-columns:repeat(4,minmax(0,1fr))}.lrows-4 .lrows li:nth-child(-n+4){border-top:0}.lrows-4 .lrows li{border-right:1px solid var(--line)}.lrows-4 .lrows li:nth-child(4n){border-right:0}}
/* v29 footer small print: AA contrast on the dark background */
.ftr-base,.ftr-legal{color:#9aa1a3}

/* v30 quote flow, tiers, comparison (ported from the 7 Oct redesign) */

/* ===== Quote flow (v30) ===== */
.qf{min-height:70vh}
.qf-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding:40px 0 140px;align-items:start}
.qf-main{max-width:640px}
.qf-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.02em}
.qf-top a{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.qf-top a:hover{color:var(--copper2)}
.qf-top .i{width:15px;height:15px}
.qf-prog{height:3px;background:var(--line);margin-bottom:28px;position:relative;overflow:hidden}
.qf-prog i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad);transition:width .35s ease}
.qf-q{margin-bottom:26px}
.qf-q h1,.qf-q h2{font-size:clamp(28px,4vw,40px)}
.qf-q .lead{margin-top:12px;font-size:17px}
.qf-why{display:flex;gap:10px;align-items:flex-start;margin-top:14px;color:var(--muted);font-size:14px;line-height:1.5}
.qf-why .i{width:16px;height:16px;color:var(--copper2);margin-top:3px}
.qo-grid{display:grid;gap:10px}
.qo-grid.cols{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.qo{position:relative;display:flex;gap:16px;align-items:center;text-align:left;width:100%;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;cursor:pointer;color:var(--text);transition:border-color .15s,transform .15s,background .15s}
@media (hover:hover){.qo:hover{border-color:var(--copper);transform:translateY(-2px)}}
.qo.sel{border-color:var(--copper2);background:#c969361a}
.qo.sel::after{content:"";position:absolute;right:16px;top:50%;width:22px;height:22px;transform:translateY(-50%);border-radius:50%;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23000'/%3E%3Cpath d='m8 12 3 3 5-6' stroke='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23000'/%3E%3Cpath d='m8 12 3 3 5-6' stroke='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
.qo.sel::after{background:var(--copper2)}
.qo .qo-ic{flex:none;width:46px;height:46px;padding:10px;border-radius:var(--r);background:#c969361f;color:var(--copper2)}
.qo .qo-ic svg{width:100%;height:100%}
.qo.sel .qo-ic{background:var(--grad);color:#120905}
.qo .qo-t{display:block;font-weight:800;font-size:16px;color:var(--white);letter-spacing:-.01em}
.qo .qo-s{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:3px}
.qo.sel .qo-t{padding-right:28px}
.qo.sm{padding:14px 16px;justify-content:center;text-align:center}
.qo.sm .qo-t{font-size:15px}
.qo.sm.sel::after{display:none}
.qf-group{margin-bottom:22px}
.qf-group>label{display:block;color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.qf-field{display:grid;gap:8px;margin-bottom:18px}
.qf-field label{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.qf-in{width:100%;background:var(--ink3);border:1px solid #5d6466;border-radius:var(--r);padding:16px 16px;font-size:17px;color:var(--white);min-height:56px}
.qf-in::placeholder{color:#6b7375}
.qf-in:focus{outline:none;border-color:var(--copper2);box-shadow:0 0 0 3px #c9693633}
textarea.qf-in{min-height:110px;resize:vertical;line-height:1.5}
.qf-hint{color:var(--muted);font-size:13.5px;margin-top:8px}
.qf-ph{display:grid;gap:10px}
.qf-ph button{display:flex;gap:14px;align-items:center;text-align:left;width:100%;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;color:var(--text);transition:border-color .15s}
.qf-ph button:hover{border-color:var(--copper)}
.qf-ph button.sel{border-color:var(--copper2);background:#c969361a}
.qf-ph .n{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);font-weight:800;font-size:13px;color:var(--copper2)}
.qf-ph button.sel .n{background:var(--grad);color:#120905;border-color:transparent}
.qf-ph .t{display:block;font-weight:800;color:var(--white)}
.qf-ph .d{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.qf-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:16px 18px;border:1px solid #c9693659;border-radius:var(--r);background:#c969360f;font-size:14.5px;line-height:1.55}
.qf-note .i{color:var(--copper2);width:18px;height:18px;margin-top:2px}
.qf-note.warn{border-color:#e0574a66;background:#e0574a12}.qf-note.warn .i{color:#ff8a7a}
.qf-note a{color:var(--copper2);font-weight:800}
/* side trust */
.qf-side{position:sticky;top:110px;display:grid;gap:14px}
.qf-side .card{padding:22px}
.qf-side .card h3{font-size:16px;margin-bottom:10px}
.qf-side .ticks{margin:0}
.qf-side .ticks li{font-size:14px}
.qf-side .rbadge{margin:0}
.qf-mini{display:none}
/* summary */
.qf-sum{border:1px solid var(--line);border-radius:var(--r);background:var(--ink3);overflow:hidden}
.qf-sum .r{display:grid;grid-template-columns:38% 1fr auto;gap:12px;align-items:start;padding:13px 18px;border-top:1px solid var(--line);font-size:14.5px}
.qf-sum .r:first-child{border-top:0}
.qf-sum .k{color:var(--muted)}
.qf-sum .v{color:var(--white);font-weight:700;min-width:0;overflow-wrap:anywhere}
.qf-sum button{background:none;border:0;padding:0;color:var(--copper2);font-weight:800;font-size:13px;cursor:pointer}
.qf-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.qf-tiers .card{padding:22px}
.qf-tiers .card.rec{border-color:var(--copper);background:#c969360f}
.qf-tiers .k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.qf-tiers strong{display:block;color:var(--white);font-size:17px;letter-spacing:-.01em;margin-bottom:6px}
.qf-tiers p{color:var(--muted);font-size:14px;line-height:1.5}
.qf-next{display:grid;gap:12px;margin-top:14px}
.qf-next li{display:flex;gap:14px;align-items:flex-start;list-style:none}
.qf-next .n{flex:none;width:30px;height:30px;display:grid;place-items:center;background:var(--grad);color:#120905;border-radius:var(--r);font-weight:800;font-size:13px}
.qf-next p{color:#d6dada;font-size:15px;line-height:1.5}
.qf-copy{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 12px 18px;font-size:15px;color:var(--white);margin-top:12px}
.qf-copy .btn-sm{min-height:40px}
.qf-h3{margin:34px 0 6px;font-size:20px}
.qf-p{color:var(--muted);font-size:15px}
/* bottom bar */
.qf-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#0c0e0ff2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))}
.qf-bar .wrap{display:flex;gap:12px;align-items:center}
.qf-bar .btn{min-height:60px;font-size:17px;letter-spacing:.01em}.qf-bar .btn .i{width:20px;height:20px}
.qf-bar .btn-back{flex:0 0 auto;padding:0 22px;font-size:16px}
.qf-bar .btn-next{flex:1;max-width:480px;margin-left:auto;box-shadow:0 6px 24px #c9693655}
.qf-bar .btn[disabled]{opacity:1;cursor:not-allowed;transform:none;background:#1f2426;color:#8a9092;border:1px solid #2f3537;box-shadow:none}
.qf-bar .qf-sec{color:var(--muted);font-size:13px;display:none}
.qf-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--white);color:var(--ink);padding:10px 16px;border-radius:var(--r);font-size:14px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
.qf-toast.show{opacity:1}
body.has-qf{padding-bottom:0}
body.has-qf .mbar,body.has-qf .cta,body.has-qf .ftr-grid{display:none}
body.has-qf .ftr{padding-top:0}
.qf-intro .qf-ticks{margin-top:26px}
.qf-intro .meta{margin-top:26px}
.qf-time{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink3);color:var(--muted);font-size:14px}
.qf-time .i{width:16px;height:16px;color:var(--copper2)}
.qf-time b{color:var(--white)}
@keyframes qfin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qf-step{animation:qfin .28s ease both}
@media (prefers-reduced-motion:reduce){.qf-step{animation:none}}
/* choose page */
.qf-choose{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.qf-choose a{display:flex;flex-direction:column;gap:12px;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:border-color .2s,transform .2s}
.qf-choose a:hover{border-color:var(--copper);transform:translateY(-3px)}
.qf-choose .st-ic{margin:0}
.qf-choose h2{font-size:26px}
.qf-choose p{color:var(--muted);font-size:15px;line-height:1.6}
.qf-choose .more{padding-top:6px}
.qf-choose a:nth-child(3){grid-column:1/-1}
/* service page additions */
.tiers3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tiers3 .card{position:relative}
.tiers3 .card.rec{border-color:var(--copper);background:linear-gradient(180deg,#c969361a,transparent 60%),var(--ink3)}
.tiers3 .k{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.tiers3 .k em{font-style:normal;background:var(--grad);color:#120905;padding:3px 8px;font-size:10px;letter-spacing:.1em}
.tiers3 .price{display:block;color:var(--white);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:6px 0 14px}
.tiers3 .price small{display:block;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:0;margin-top:2px}
.tiers3 .ticks{margin-top:auto}
.tiers3 .ticks li{font-size:14px}
.incl{margin-top:22px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink2)}
.incl p{color:var(--copper2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.incl ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px 20px}
.incl li{display:flex;gap:8px;align-items:flex-start;color:#d6dada;font-size:14px;line-height:1.45}
.incl .i{width:16px;height:16px;color:var(--copper2);margin-top:3px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vs .card h3{display:flex;gap:10px;align-items:center}
.vs .card h3 .i{width:20px;height:20px;color:var(--copper2)}
.vs .card ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:9px}
.vs .card li{display:flex;gap:10px;align-items:flex-start;color:#d6dada;font-size:14.5px;line-height:1.5}
.vs .card li .i{width:16px;height:16px;margin-top:3px;flex:none}
.vs .card.them li .i{color:#6b7375}.vs .card.them{opacity:.85}
.vs .card.us li .i{color:var(--copper2)}
.hero .acts .btn-quote,.phero .acts .btn-quote{min-width:240px}
@media (max-width:940px){
 .qf-wrap{grid-template-columns:1fr;gap:28px;padding:28px 0 150px}
 .qf-side{display:none}
 .qf-mini{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px;margin-top:22px}
 .qf-mini span{display:inline-flex;gap:6px;align-items:center}.qf-mini .i{width:14px;height:14px;color:var(--copper2)}
 .qf-tiers{grid-template-columns:1fr}
 .qf-choose{grid-template-columns:1fr}
 .tiers3{grid-template-columns:1fr}
 .incl ul{grid-template-columns:1fr 1fr}
 .vs{grid-template-columns:1fr}
}
@media (max-width:620px){
 .qf-q h1,.qf-q h2{font-size:26px}
 .qo{padding:15px 16px;gap:13px}
 .qo .qo-ic{width:40px;height:40px;padding:9px}
 .qo-grid.cols{grid-template-columns:1fr 1fr}
 .qf-sum .r{grid-template-columns:1fr auto;}
 .qf-sum .k{grid-column:1/-1;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:-6px}
 .qf-bar .btn-back{padding:0 16px}
 .incl ul{grid-template-columns:1fr}
}
@media (max-width:620px){
 .qf-tiers .card,.tiers3 .card,.vs .card,.qf-side .card{display:flex;flex-direction:column;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:20px;row-gap:0}
 .qf-tiers .card.rec,.tiers3 .card.rec{border-color:var(--copper)}
 .qf-tiers .card p,.tiers3 .card p,.vs .card p,.qf-tiers .card strong,.tiers3 .card h3,.vs .card h3,.tiers3 .card ul,.vs .card ul{grid-column:auto}
 .tiers3 .card h3{font-size:19px;margin-bottom:4px}
}

body.has-qf main{min-height:70vh}
.btn-quote{font-weight:800}

/* v31 reviews link (no rating badges) */
.rlink{display:inline-flex;align-items:center;gap:8px;color:var(--copper2);font-weight:700;font-size:14px;margin-top:14px}.rlink .i{width:16px;height:16px}.rlink:hover{text-decoration:underline}

/* v31 photo upload tiles + postcode notes */
.qf-up label{display:flex;gap:14px;align-items:center;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;margin-bottom:10px;position:relative}
.qf-up label:hover{border-color:var(--copper)}
.qf-up label.sel{border-color:var(--copper2);background:#c969361a}
.qf-up input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.qf-up .n{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r);background:#c969361f;color:var(--copper2)}
.qf-up .n .i{width:24px;height:24px}
.qf-up img{flex:none;width:56px;height:56px;object-fit:cover;border-radius:var(--r)}
.qf-up .t{display:block;font-weight:800;color:var(--white)}
.qf-up .t em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--copper2);margin-left:6px}
.qf-up .d{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.qf-hint.z-ok{color:#7fd19b}.qf-hint.z-info{color:var(--text)}.qf-hint.z-warn{color:#f0a36b}
#f_own_note{color:#f0a36b}

#qf-fail .btn{color:#120905}#qf-fail .btn .i{color:#120905}

/* v35 audit fixes: form errors, focus, footer links, consent on quote pages */
.qf-err{color:#f0a070;font-size:14px;margin:8px 0 0;font-weight:600}.qf-err[hidden]{display:none}
.qf-in.bad,.qf-in[aria-invalid="true"]{border-color:#e18953;box-shadow:0 0 0 3px #c9693633}
.qf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.qf-up label:focus-within{outline:2px solid var(--copper2);outline-offset:3px}
.qf-step h1:focus,.qf-step h2:focus{outline:none}
.mt:focus-visible .dot{stroke:#fff;stroke-width:4}
.ftr li a{display:inline-block;padding:4px 0}.ftr li a:hover,.ftr li a:focus-visible{text-decoration:underline;color:var(--copper2)}
.ftr-grid ul a[href^="http"]{color:var(--copper2)}

body.has-qf{padding-bottom:0}

/* consent: compact bar */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#111415;border-top:1px solid var(--line);padding:12px 16px;display:flex;flex-wrap:nowrap;gap:16px;align-items:center;justify-content:center;box-shadow:0 -6px 30px #0007}
.consent p{color:var(--muted);font-size:13.5px;line-height:1.45;margin:0;max-width:620px}
.consent p strong{color:var(--white)}
.consent a{color:var(--copper2);text-decoration:underline}
.consent div{display:flex;gap:8px;flex:0 0 auto}.consent .btn-sm{padding:0 16px;font-size:13px;min-height:44px;min-width:108px}
body.has-qf .consent{display:none}
@media (max-width:700px){.consent{bottom:60px;flex-wrap:wrap;gap:10px;padding:10px 12px}.consent p{font-size:13px;flex:1 1 100%}.consent div{flex:1 1 100%}.consent .btn-sm{flex:1;min-width:0;padding:0 8px}}
/* consent: settings dialog */
.cdlg{position:fixed;inset:0;z-index:80;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px}
.cdlg-box{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);max-width:560px;width:100%;max-height:calc(100vh - 32px);overflow:auto;padding:26px 24px}
.cdlg-box h2{font-size:22px;margin:0 0 8px}.cdlg-p{color:var(--muted);font-size:14.5px;margin:0 0 18px}
.csw{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer}
.csw span{flex:1;color:var(--muted);font-size:14px;line-height:1.45}.csw strong{display:block;color:var(--white);font-size:16px;margin-bottom:2px}
.csw input{position:absolute;opacity:0;width:1px;height:1px}
.csw i{flex:0 0 auto;width:52px;height:30px;border-radius:15px;background:#3a3f41;position:relative;transition:background .15s}
.csw i:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}
.csw input:checked+i{background:var(--copper)}.csw input:checked+i:after{transform:translateX(22px)}
.csw input:disabled+i{opacity:.55}.csw input:focus-visible+i{outline:2px solid var(--copper2);outline-offset:3px}
.cdlg-a{display:flex;gap:10px;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.cdlg-a .btn-sm{min-height:46px;flex:1}
html.cdlg-open{overflow:hidden}

/* v36 bottom bars: one consistent style, bigger clearer labels */
.mbar{background:var(--ink);box-shadow:0 -8px 30px #0008}
.mbar a{min-height:64px;font-size:17px;letter-spacing:.01em}
.mbar a .i{width:20px;height:20px}
.qf-bar{background:var(--ink);box-shadow:0 -8px 30px #0008;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))}
.qf-bar .btn{min-height:64px;font-size:18px;font-weight:800;border-radius:12px}
.qf-bar .btn-next{background:var(--grad);color:#120905;box-shadow:0 8px 28px #c9693666;text-shadow:none}
.qf-bar .btn-next .i{width:22px;height:22px}
.qf-bar .btn-back{font-size:16px;font-weight:700}
@media (max-width:600px){.qf-bar .btn-next{max-width:none}.qf-bar .btn{font-size:17px}}

/* v36b: sticky bars slide away while the footer is on screen */
.mbar,.qf-bar{transition:transform .25s ease}
html.ftr-in .mbar,html.ftr-in .qf-bar{transform:translateY(110%)}
@media (max-width:860px){body{padding-bottom:64px}}

/* v37: quote-flow buttons sit in the page under each question (not floating) */
.qf-bar{position:static;left:auto;right:auto;bottom:auto;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid var(--line);box-shadow:none;padding:22px 0 0;margin-top:28px;transform:none!important}
.qf-bar .wrap{padding:0;max-width:none}
.qf-bar .btn-next{max-width:none}
html.ftr-in .qf-bar{transform:none}
body.has-qf{padding-bottom:0}

/* v42 quote escape line */
.qf-alt{margin:14px 0 0;text-align:center;color:var(--muted);font-size:14.5px;line-height:1.5}
.qf-alt a{color:var(--copper2);text-decoration:underline;text-underline-offset:3px;font-weight:600;display:inline-block;padding:6px 2px}
.qf-alt[hidden]{display:none}

.ctab{width:100%;border-collapse:collapse;font-size:14.5px;margin:14px 0 18px}.ctab th,.ctab td{text-align:left;vertical-align:top;padding:10px 10px 10px 0;border-top:1px solid var(--line)}.ctab th{color:var(--white);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}.ctab td{color:var(--muted)}.ctab td:first-child{color:var(--white);font-weight:700;white-space:nowrap}@media (max-width:600px){.ctab td:first-child{white-space:normal}}

.cm-grid{display:grid;gap:12px}
.qo.cm{padding:18px 18px;gap:16px}
.qo.cm.sel::after{display:none}
.cm-box{flex:none;width:34px;height:34px;border:3px solid #8a9295;border-radius:8px;background:var(--ink3);display:flex;align-items:center;justify-content:center;color:transparent}
.cm-box svg{width:24px;height:24px}
.qo.cm.sel .cm-box{background:var(--grad);border-color:var(--copper2);color:#120905}
.qo.cm .qo-t{font-size:18px}
