/* RESTORRA production stylesheet — brand: Signal Yellow / Restorra Black, Barlow Condensed + Inter */
:root{--y:#FDBD02;--yp:#E2A800;--k:#0A0A0A;--w:#FEFEFE;--g:#4E4E4E;--m:#6E6A64;--panel:#F6F4EF;--line:rgba(10,10,10,.12);--fh:"Barlow Condensed",sans-serif;--fb:Inter,sans-serif;--err:#B3261E;--err-bg:#FBEAEA}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--w);color:var(--k);font-family:var(--fb);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--k)}a:hover{color:var(--yp)}
::selection{background:var(--y);color:var(--k)}
:focus-visible{outline:2px solid var(--y);outline-offset:2px}
h1,h2,h3{font-family:var(--fh);text-transform:uppercase;letter-spacing:.01em;margin:0;text-wrap:balance}
h1{font-weight:900;font-size:clamp(52px,6.6vw,92px);line-height:.92}
h2{font-weight:900;font-size:clamp(36px,4.4vw,56px);line-height:.98}
h3{font-weight:800;font-size:26px;line-height:1.05}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--y);color:var(--k);font-weight:800;font-size:14px;padding:12px 20px;text-decoration:none;border-radius:0 0 8px 0}
.skip:focus{left:0}
/* Buttons */
/* One button geometry everywhere: flex centring + a shared min-height means a solid and
   an outlined button are always the same height, whatever their border or padding. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:58px;text-decoration:none;font-family:var(--fb);font-size:16px;font-weight:700;line-height:1.25;padding:14px 30px;border-radius:8px;border:none;cursor:pointer;text-align:center}
.btn-y{background:var(--y);color:var(--k)}.btn-y:hover{background:var(--yp);color:var(--k)}
.btn-k{background:var(--k);color:var(--y)}.btn-k:hover{background:#242424;color:var(--y)}
.btn-o{background:transparent;color:var(--k);border:2px solid var(--k);padding:12px 28px}.btn-o:hover{background:var(--k);color:var(--w)}
.btn-ow{background:transparent;color:var(--w);border:2px solid var(--w);padding:12px 28px}.btn-ow:hover{background:var(--w);color:var(--k)}
/* Header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(254,254,254,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;line-height:1}
.brand img{width:44px;height:44px;display:block;flex-shrink:0}
.brand-name{font-family:var(--fh);font-weight:800;font-size:26px;letter-spacing:.05em;color:var(--k);display:block}
.brand-sub{display:flex;align-items:center;gap:8px;margin-top:4px}
.brand-sub span{font-size:8.5px;font-weight:800;letter-spacing:.28em;color:var(--m)}
.brand-sub img{height:7px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:26px}
.nav a:not(.btn){color:var(--g);text-decoration:none;font-size:15px;font-weight:600;padding-bottom:3px;border-bottom:2px solid transparent}
.nav a:not(.btn):hover{color:var(--k)}
.nav a[aria-current="page"]{color:var(--k);font-weight:700;border-bottom-color:var(--y)}
.nav .btn{padding:10px 22px;min-height:44px;font-size:15px}
.burger{display:none;width:46px;height:46px;border-radius:8px;border:1px solid rgba(10,10,10,.18);background:transparent;color:var(--k);cursor:pointer;align-items:center;justify-content:center;padding:0;flex-shrink:0}
.mnav{display:none;background:var(--w);border-bottom:1px solid var(--line);padding:6px 20px 22px;flex-direction:column}
.mnav a:not(.btn){color:var(--k);text-decoration:none;font-size:18px;font-weight:700;padding:16px 4px;border-bottom:1px solid rgba(10,10,10,.08);display:block}
.mnav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--y);padding-left:14px}
.mnav .btn{margin-top:16px;font-size:17px}
.mnav.open{display:flex}
/* Kickers, pills, chips */
.kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.kicker img{height:10px;width:auto;display:block}
.kicker span{font-size:12.5px;font-weight:800;letter-spacing:.2em;color:var(--m)}
.pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--g);padding:8px 16px;border-radius:999px}
.pill img{height:8px;width:auto}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 17px;font-size:14px;font-weight:600}
.hl{background:var(--y);color:var(--k);padding:.02em .16em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* A highlighted run paints a box roughly 1.25em tall, so any heading containing one needs
   at least that much leading or the box collides with the line above it. */
h1:has(.hl),h2:has(.hl),h1:has(.yy),h2:has(.yy){line-height:1.32}
/* Page heads: one rhythm on every page — chevrons + label, no border, no pill.
   Where breadcrumbs sit above the head they already contribute the top space, so the
   head's own top padding is reduced by the same amount and the distance from the site
   header to the kicker stays constant across the site. */
.pagehead,.pagehead-tight{padding-top:clamp(52px,6.4vw,76px);padding-bottom:clamp(54px,6.4vw,74px)}
.crumbs+.pagehead,.crumbs+.pagehead-tight,.crumbs+.eq-wrap,.crumbs+.legal{padding-top:clamp(20px,2.6vw,34px)}
.pagehead .kicker,.pagehead-tight .kicker{margin-bottom:clamp(14px,2.2vw,20px)}
.pagehead .lead{margin-top:clamp(16px,2.4vw,22px)}
/* Paired CTAs sit on one uniform grid everywhere they appear. */
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-row .btn{flex:1 1 200px;max-width:300px}
@media (max-width:560px){.btn-row .btn{flex-basis:100%;max-width:none}}
/* Sections */
.sec{padding:92px 0}.sec-panel{background:var(--panel)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:46px}
.arrow-link{color:var(--k);font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid var(--y);padding-bottom:2px}
/* Keep the arrow on the same line as its label in the roomy contexts. Narrow grid cells
   (the service-areas cards) still wrap, otherwise long link labels overflow at 320px. */
.sec-head .arrow-link,.band-k .arrow-link{white-space:nowrap}
.arrow-link:hover{color:var(--yp)}
.lead{font-size:18px;line-height:1.65;color:var(--g);max-width:660px}
.tlink{color:var(--k);font-weight:700;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px}
/* Hero */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;position:relative;padding:84px 24px 76px;max-width:1240px;margin:0 auto}
.hero h1{font-size:clamp(52px,7vw,102px);position:relative;z-index:0;margin:28px 0 26px}
.hero .lead{font-size:18.5px;max-width:540px;margin-bottom:34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.tagline{display:flex;align-items:center;gap:12px}
.tagline img{height:10px;width:auto}
.tagline span{font-size:12.5px;font-weight:800;letter-spacing:.2em;color:var(--m)}
.hero-photo{position:relative}
.hero-photo .ph{aspect-ratio:4/5;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative;background:var(--panel)}
.hero-photo .ph img{width:100%;height:100%;object-fit:cover;display:block}
/* Cards & grids */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards3.two-col{grid-template-columns:1fr 1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;gap:14px;color:var(--k);text-decoration:none}
a.card{transition:transform .2s,box-shadow .2s,border-color .2s}
a.card:hover{border-color:var(--y);transform:translateY(-3px);box-shadow:0 16px 36px rgba(10,10,10,.10);color:var(--k)}
.card p{font-size:14.5px;color:var(--g)}
.card-tag{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.14em;padding-top:6px}
.card-tag img{height:7px;width:auto}
.card-dash{border:1.5px dashed rgba(10,10,10,.25);border-radius:12px;padding:30px;display:flex;flex-direction:column;gap:13px}
.card-dash .tag{align-self:flex-start;background:var(--y);color:var(--k);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:5px}
.chips{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
.chips>span:first-child{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--m)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px}
.step{display:flex;flex-direction:column;gap:11px;border-top:4px solid var(--y);padding-top:18px}
.step .num{font-family:var(--fh);font-weight:900;font-size:40px;color:var(--y);line-height:1}
.step h3{font-size:23px}
.step p{font-size:14.5px;color:var(--g)}
.rule-col{border-top:4px solid var(--y);padding-top:22px;display:flex;flex-direction:column;gap:11px}
.rule-col h3{font-size:25px}
.rule-col p{font-size:15px;color:var(--g)}
.chev{width:30px;height:30px;flex-shrink:0}
.note{color:var(--g);font-size:14px;margin-top:16px;max-width:720px}
/* Bands */
.band-k{background:var(--k);padding:64px 0}
.band-k-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.band-k img.rmark{width:150px;height:150px}
.band-k h2{color:var(--w);font-size:clamp(30px,3.4vw,44px);line-height:1.32}
.band-k h2 .yy{background:var(--y);color:var(--k);padding:.02em .16em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.band-k p{color:#B8B4AC;font-size:15.5px;max-width:640px}
.band-k .arrow-link{color:var(--y);border-bottom-color:var(--y)}.band-k .arrow-link:hover{color:var(--w)}
.band-y{background:var(--y);padding:76px 0;position:relative;overflow:hidden}
.band-y-in{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;z-index:1}
.band-y h2{max-width:680px;line-height:.95}
.band-y .chevb{height:12px;width:auto;display:block;margin-top:14px}
.band-y .r-decor{position:absolute;right:-120px;bottom:-190px;width:440px;height:440px;pointer-events:none;z-index:0}
/* FAQ */
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{border:1px solid var(--line);border-radius:10px;padding:18px 22px;background:#fff}
.faq summary{font-size:16px;font-weight:700;cursor:pointer;list-style-position:inside}
.faq p{font-size:15px;color:var(--g);margin-top:12px}
/* Two-col features */
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.two-center{align-items:center}
.ph16{aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative;background:#fff}
.ph16 img{width:100%;height:100%;object-fit:cover;display:block}
.ph1{aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative;background:#fff}
.accent-card{background:#fff;border:1px solid var(--line);border-left:6px solid var(--y);border-radius:12px;padding:28px 30px}
.accent-card p{font-size:15px;color:var(--g)}
.sflags{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sflag{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:14.5px;font-weight:600}
.sflag svg{flex-shrink:0}
.placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--m);font-size:14px;font-weight:600;background:repeating-linear-gradient(45deg,#f2efe8,#f2efe8 14px,#f6f4ef 14px,#f6f4ef 28px)}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.area{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;font-size:16px;font-weight:600}
.area:hover{border-color:var(--y)}
/* Form */
.flabel{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.flabel .req{color:var(--yp)}
.fhint{font-size:13px;color:var(--m)}
input[type="radio"],input[type="checkbox"]{accent-color:var(--y);width:18px;height:18px}
.form-errors{background:var(--err-bg);border:1.5px solid var(--err);color:var(--err);border-radius:8px;padding:14px 18px;font-size:14.5px;font-weight:700;line-height:1.5;margin-bottom:4px}
.ferr{display:block;color:var(--err);font-size:13px;font-weight:700;margin-top:4px}
fieldset{border:none;margin:0;padding:0}
legend{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:0;margin-bottom:8px}
.side-card-k{background:var(--k);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:16px}
.side-card-k h3{color:var(--w);font-size:24px}
.side-card-k p,.side-card-k .soft{color:#B8B4AC;font-size:14.5px}
.side-card-k a.mail{color:#B8B4AC;font-size:15px;text-decoration:none}.side-card-k a.mail:hover{color:var(--y)}
.side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:12px}
.side-card h3{font-size:21px}
.side-card p{font-size:14.5px;color:var(--g)}
.hidden{display:none !important}
/* The HTML `hidden` attribute must always win over component classes like .btn/.ferr/label
   that set their own `display` — the enquiry form's conditional contact fields rely on it. */
[hidden]{display:none !important}
/* Footer */
.foot{background:var(--k);padding:60px 0 32px}
@media (max-width:640px){.foot{padding:34px 0 26px}.foot-grid-4{gap:30px}}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.foot-col{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.foot img.lockup{width:225px;height:auto}
.foot p,.foot .soft{color:#B8B4AC;font-size:14.5px}
.foot .promise{color:var(--y);font-size:12px;font-weight:800;letter-spacing:.18em}
.foot h3{color:var(--w);font-size:13px;font-family:var(--fb);letter-spacing:.12em;font-weight:800}
.foot a{color:#B8B4AC;text-decoration:none;font-size:14.5px}.foot a:hover{color:var(--y)}
.foot a.quote-link{color:var(--y);font-weight:700}.foot a.quote-link:hover{color:var(--w)}
.foot .dim{color:var(--m);font-size:13.5px}
.foot-legal{margin-top:36px;padding-top:22px;border-top:1px solid rgba(254,254,254,.12);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-legal span{color:var(--m);font-size:13px}
.foot-legal nav{display:flex;align-items:center;gap:22px}
.foot-legal a{font-size:13px}
.foot-legal img{height:8px;width:auto}
/* Long-form legal pages */
.legal{max-width:820px;margin:0 auto;padding:72px 24px 96px}
.legal h1{font-size:clamp(44px,5.6vw,72px)}
.legal .body{display:flex;flex-direction:column;gap:34px;font-size:15.5px;line-height:1.75;color:var(--g);margin-top:40px}
.legal h2{font-size:27px;font-weight:800;margin-bottom:10px}

/* ---- Local service pages (added for the 10 local landing pages) ---- */
.nav a.tel{display:flex;align-items:center;gap:7px;color:var(--k);font-weight:800;border-bottom:2px solid var(--y)}
.nav a.tel:hover{color:var(--yp)}
.mnav a.tel{display:flex;align-items:center;gap:9px;color:var(--k)}
.crumbs{padding-top:16px;font-size:13px;color:var(--m)}
.crumbs a{color:var(--m);text-decoration:none}
.crumbs a:hover{color:var(--k)}
.crumbs span{margin:0 9px;color:rgba(10,10,10,.28)}
.lhero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start;padding:34px 24px 68px}
.lhero h1{font-size:clamp(40px,5.4vw,74px);margin:20px 0 22px}
.lhero .lead+.lead{margin-top:16px}
.lhero .side-card-k{position:sticky;top:96px}
.trust{list-style:none;margin:4px 0 6px;padding:0;display:grid;gap:11px}
.trust li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.55;color:#B8B4AC}
.trust li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--y);border-radius:2px}
.trust li strong{color:var(--w);font-weight:700}
.baslots{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.slot{position:relative;margin:0;aspect-ratio:4/3;border:1.5px dashed rgba(10,10,10,.28);border-radius:12px;background:var(--panel);overflow:hidden}
.slot-tag{position:absolute;top:12px;left:12px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.14em;padding:6px 11px;border-radius:5px}
.slot-tag.before{background:var(--k);color:var(--w)}
.slot-tag.after{background:var(--y);color:var(--k)}
.slot .placeholder{flex-direction:column;gap:2px;font-size:13px;line-height:1.6;font-family:var(--fb)}
a.area{text-decoration:none;color:var(--k);justify-content:space-between;gap:14px;align-items:center}
a.area:hover{border-color:var(--y);color:var(--k)}
.area-sub{display:block;font-size:13px;font-weight:500;color:var(--m);margin-top:4px;line-height:1.45}
.band-y p{color:var(--k)}
.numlist{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:n}
.numlist li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px}
.numlist li b{display:block;font-size:16px;margin-bottom:4px}
.numlist li p{font-size:14.5px;color:var(--g)}
.numlist .n{font-family:var(--fh);font-weight:900;font-size:30px;color:var(--y);line-height:1}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checklist li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.6;color:var(--g)}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--y);border-radius:2px}
.checklist li strong{color:var(--k)}
.mcta{display:none}
/* Enquiry page — narrow, centred, minimal lead capture */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eq-wrap{max-width:560px;margin:0 auto;padding:64px 20px 80px}
.eq-h1{font-size:clamp(34px,5vw,46px);line-height:1.02}
.eq-sub{margin-top:12px;font-size:16px;line-height:1.6;color:var(--g)}
.eq-form{display:flex;flex-direction:column;gap:26px;margin-top:32px}
.eq-set{display:flex;flex-direction:column;gap:10px}
.eq-field{display:flex;flex-direction:column;gap:8px}
.eq-field input{border:1.5px solid rgba(10,10,10,.18);border-radius:8px;padding:13px 15px;font-size:16px;font-family:var(--fb);color:var(--k);background:#fff;width:100%}
.eq-field input:focus{border-color:var(--y);outline:none}
.eq-field input[aria-invalid="true"]{border-color:var(--err)}
.chk-list{display:flex;flex-direction:column;gap:0}
.chk-row{display:flex;flex-wrap:wrap;gap:6px 24px}
.chk{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;min-height:40px;font-size:15.5px;font-weight:600;color:var(--k);cursor:pointer}
.chk span{flex:1 1 auto;min-width:0}
.chk-row .chk span{flex:0 1 auto}
.chk input{flex:0 0 auto;width:20px;height:20px;margin:0}
.chk input:checked+span{font-weight:800;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
.chk input:focus-visible+span{outline:2px solid var(--k);outline-offset:3px}
.eq-submit{font-size:16.5px;font-weight:800;padding:17px 28px;width:100%;margin-top:8px}
.eq-note{font-size:13px;line-height:1.6;color:var(--m);text-align:center;margin-top:0}
.eq-note+.eq-note{margin-top:-8px}
@media (max-width:700px){.eq-wrap{padding:40px 20px 60px}.eq-form{gap:22px}}
.foot-grid-4{grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:36px}
.foot-links{display:grid;gap:10px}
.foot-links a{line-height:1.35}
.foot-tel{color:var(--y)!important;font-weight:800;font-size:17px!important;letter-spacing:.01em}
.foot-tel:hover{color:var(--w)!important}
@media (max-width:1080px){.foot-grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.foot-grid-4{grid-template-columns:1fr}}
.hero-tel{display:inline-flex;align-items:center;gap:9px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.rel{grid-template-columns:1fr}}
.slot-cap{display:block;font-size:13px;color:var(--m);margin-top:9px;line-height:1.5}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--m);font-weight:800}
/* Row headers identify the row but must keep the plain body-cell look they had as <td> */
.tbl th[scope="row"]{font-weight:400}
.tbl td strong,.tbl th strong{font-weight:700}
@media (max-width:920px){.lhero{grid-template-columns:1fr;gap:32px;padding:24px 24px 52px}.lhero .side-card-k{position:static}}
@media (max-width:700px){
.baslots{grid-template-columns:1fr}
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;background:rgba(254,254,254,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px)}
.mcta .btn{padding:12px 8px;min-height:50px;font-size:14.5px}
body.has-mcta{padding-bottom:82px}
.numlist li{grid-template-columns:1fr;gap:6px}
}

/* Responsive */
.nav a{white-space:nowrap}
@media (max-width:1119px){.nav{display:none}.burger{display:flex}}
@media (max-width:920px){
.two{grid-template-columns:1fr}
.band-k-grid{grid-template-columns:1fr}
}

/* ---- V1.3 editorial redesign: Home / Services / About ---- */
.sentence{text-transform:none}
/* Trust strip: four left-aligned statements on a yellow spine. The spine sits on every
   item at every breakpoint, so the pattern never depends on which column an item lands in. */
.trust-strip{background:var(--k);padding:clamp(38px,5vw,58px) 0;border-top:3px solid var(--y)}
.trust-strip-in{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(26px,3.2vw,38px) clamp(24px,3vw,40px);margin:0}
.trust-item{display:flex;flex-direction:column;gap:9px;min-width:0;text-align:left;border-left:3px solid var(--y);padding:2px 0 4px clamp(16px,1.6vw,22px)}
.trust-item b{font-family:var(--fh);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(21px,1.8vw,26px);line-height:1.02;color:var(--w);text-wrap:balance}
.trust-item span{font-size:14.5px;line-height:1.6;color:#B0ABA2;text-wrap:pretty}
@media (max-width:900px){.trust-strip-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.trust-strip-in{grid-template-columns:1fr;gap:22px}}
.hero2{position:relative}
.hero2-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:72px 24px 84px;max-width:1240px;margin:0 auto}
/* text-wrap:pretty (not balance) so the headline fills the available measure on narrow
   screens instead of leaving a ragged gutter down the right-hand side. */
.hero2 h1{text-transform:uppercase;font-weight:900;font-size:clamp(44px,7.2vw,80px);line-height:1.32;letter-spacing:.005em;margin:0 0 22px;text-wrap:pretty}
.hero2 h1 .hl{padding:.02em .12em}
.hero2 .lead{font-size:18.5px;max-width:520px;margin-bottom:34px}
.hero2-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero2-ctas .btn,.hero-ctas .btn{flex:1 1 200px;max-width:300px}
@media (max-width:560px){.hero2-ctas .btn,.hero-ctas .btn{flex-basis:100%;max-width:none}}
.hero2-photo .ph{aspect-ratio:4/5;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--panel);position:relative}
.svc-photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.svc-tile{color:var(--k);text-decoration:none;display:flex;flex-direction:column;gap:16px}
.svc-tile .ph16{transition:border-color .2s}
.svc-tile:hover .ph16{border-color:var(--y)}
.svc-tile:hover{color:var(--k)}
.tile-title{text-transform:none;font-family:var(--fb);font-weight:700;font-size:19px;letter-spacing:0}
.tile-desc{font-size:14.5px;color:var(--g);line-height:1.55;margin:0}
.calm-areas{display:flex;flex-wrap:wrap;gap:10px}
.calm-areas a,.calm-areas span{color:var(--k);text-decoration:none;font-size:15px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;display:inline-block}
.calm-areas a:hover{border-color:var(--y);color:var(--k)}
.svc-panel{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.svc-panel.rev .svc-panel-photo{order:2}
.num-tag{display:block;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:14px}
.proof-card{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;background:var(--panel);border-radius:14px;padding:32px}
.proof-facts{display:grid;gap:16px;margin:0}
.proof-facts>div{display:flex;flex-direction:column;gap:4px}
.proof-facts dt{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--m)}
.proof-facts dd{margin:0;font-size:15.5px;color:var(--k);font-weight:600}
@media (max-width:920px){.proof-card{grid-template-columns:1fr}}
@media (max-width:920px){
.hero2-grid{grid-template-columns:1fr;gap:32px;padding:44px 24px 48px}
.hero2 .lead{max-width:none}
.svc-photogrid{grid-template-columns:1fr}
.svc-panel{grid-template-columns:1fr}
.svc-panel.rev .svc-panel-photo{order:0}
}
@media (max-width:700px){
.sec{padding:56px 0}
.band-k{padding:48px 0}
.band-y{padding:52px 0}
}
@media (max-width:980px){.cards3,.grid3,.areas{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr}}
@media (max-width:760px){.band-y .r-decor{display:none}.sflags{grid-template-columns:1fr}}
@media (max-width:640px){.cards3,.grid3,.grid4,.areas{grid-template-columns:1fr}}
@media (max-width:700px){.cards3.two-col{grid-template-columns:1fr}}
/* Condition tables stack on mobile */
@media (max-width:700px){
.tbl,.tbl tbody,.tbl tr{display:block;width:100%}
.tbl tr{border-bottom:1px solid var(--line);padding:14px 0}
.tbl td,.tbl th{display:block;width:auto!important;padding:4px 0;border-bottom:none}
.tbl tr>:first-child{padding-bottom:2px}
.tbl tr>:first-child strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--m);font-weight:800}
}
/* Thank-you page head: the brand mark needs equal breathing room above and below on
   narrow screens, where the two columns stack. */
.ty-head{padding-top:clamp(26px,6vw,80px);padding-bottom:clamp(44px,8vw,104px)}
@media (max-width:920px){.ty-head{gap:clamp(26px,6vw,34px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
