
:root{--ink:#293034;--steel:#56636C;--galv:#E4E8EB;--paper:#F5F7F8;--white:#fff;--amber:#E5A50A;--amber-d:#B98300;--line:#C9D1D6;--ok:#2E6A4D;--d-fill:#F0F3F5;
--head:'Barlow Condensed','Arial Narrow','Roboto Condensed',sans-serif;--body:'Barlow','Segoe UI',Helvetica,Arial,sans-serif;--r:6px;--wrap:1180px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper)}
img,svg{max-width:100%}
a{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
h1,h2,h3{font-family:var(--head);line-height:1.08;margin:0 0 .5em;font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.35rem;font-weight:600}
p{margin:0 0 1em;max-width:70ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--amber);padding:8px 12px;z-index:99}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:18px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--head);font-size:1.45rem;font-weight:700;white-space:nowrap}
.logo .emblem{width:36px;height:36px;flex:none}
.logo b{color:var(--amber-d);font-weight:700}
.nav{display:flex;gap:18px;margin-left:auto}
.nav a{text-decoration:none;font-weight:600;font-size:.97rem}
.nav a:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
.hdr-call{font-weight:700;text-decoration:none;white-space:nowrap}
.btn{display:inline-block;background:var(--amber);color:var(--ink);font-weight:700;text-decoration:none;padding:12px 20px;border-radius:var(--r);border:0;font-size:1rem;cursor:pointer;font-family:var(--body)}
.btn:hover{background:#F2B81F}
.btn-ghost{background:transparent;border:2px solid currentColor}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:var(--r);padding:6px 10px;font-weight:700}
.strip{background:var(--ink);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.strip a{display:inline-block;color:var(--galv);text-decoration:none;font-size:.9rem;padding:9px 14px}
.strip a:hover{color:var(--amber)}
@media(max-width:980px){.nav,.hdr-call,.hdr .btn{display:none}.menu-btn{display:block}.nav.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:var(--white);padding:16px 20px;border-bottom:1px solid var(--line)}}
/* hero */
.hero{background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding:56px 20px 64px}
.hero p.lead{font-size:1.18rem;color:#D8DEE2;max-width:52ch}
.hero a{color:var(--white)}
.card a{color:var(--ink)}
.ticks{list-style:none;padding:0;margin:18px 0 26px}
.ticks li{padding-left:28px;position:relative;margin:6px 0}
.ticks li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:3px solid var(--amber);border-bottom:3px solid var(--amber);transform:rotate(-45deg)}
.hero-door{position:absolute;right:-60px;bottom:-10px;width:520px;opacity:.07;color:#fff;pointer-events:none}
.card{background:var(--white);color:var(--ink);border-radius:var(--r);padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.card h2{font-size:1.7rem}
.crumbs{font-size:.88rem;color:#B8C1C7;margin-bottom:14px}.crumbs a{color:#DDE3E6}
/* lift door visual */
.liftdoor{width:100%;max-width:440px;margin:6px 0 0}
.liftdoor .panels{animation:lift 1.8s cubic-bezier(.3,.7,.2,1) .4s both}
@keyframes lift{from{transform:translateY(0)}to{transform:translateY(-150px)}}
@media(prefers-reduced-motion:reduce){.liftdoor .panels{animation:none;transform:translateY(-150px)}}
/* forms */
form label{display:block;font-weight:600;font-size:.92rem;margin:10px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--white);color:var(--ink)}
textarea{min-height:88px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;font-weight:400;margin-top:12px}
.consent input{width:auto;margin-top:4px}
.hp{position:absolute;left:-9999px}
form .btn{width:100%;margin-top:14px;font-size:1.08rem}
.small{font-size:.85rem;color:var(--steel)}
/* bands */
section{padding:64px 0}
.trust{background:var(--white);border-bottom:1px solid var(--line);padding:0}
.trust ul{list-style:none;margin:0;padding:16px 20px;display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:space-between}
.trust li{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px}
.trust li:before{content:"";width:10px;height:10px;background:var(--amber);transform:rotate(45deg)}
.usp{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.usp div{border-top:4px solid var(--ink);padding-top:14px}
.usp h3{margin-bottom:.3em}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.tile{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;text-decoration:none}
.tile .door{color:var(--ink);height:110px;margin-bottom:10px}
.tile img.ph{width:calc(100% + 36px);max-width:none;margin:-18px -18px 14px;height:180px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;background:var(--galv);display:block}
img.side{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:16px;background:var(--galv)}
.hero-photo{background:linear-gradient(90deg,rgba(33,39,42,.95) 0%,rgba(33,39,42,.86) 45%,rgba(33,39,42,.55) 100%),var(--bg) center/cover no-repeat,var(--ink)}
@media(max-width:900px){.hero-photo{background:linear-gradient(rgba(33,39,42,.9),rgba(33,39,42,.9)),var(--bg) center/cover no-repeat,var(--ink)}}
.tile{overflow:hidden}
.tile h3{margin:0 0 .3em}
.tile p{font-size:.95rem;color:var(--steel);flex:1}
.tile .more{font-weight:700;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
.tile:hover{border-color:var(--ink)}
.tile .price{font-weight:700;font-size:.95rem}
.grp{margin-top:34px}.grp>h3{font-size:1.5rem;border-bottom:2px solid var(--line);padding-bottom:6px;margin-bottom:16px}
.alt{background:var(--galv)}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reviews blockquote{margin:0;background:var(--white);padding:20px;border-left:5px solid var(--amber);border-radius:0 var(--r) var(--r) 0}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding-top:54px}
.steps li:before{content:counter(s);position:absolute;top:0;left:0;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--amber);font-family:var(--head);font-size:1.5rem;font-weight:700;display:grid;place-items:center}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin:10px 0;max-width:860px}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:600;font-size:1.05rem;list-style:none;position:relative;padding-right:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:12px;font-size:1.5rem;color:var(--amber-d)}
.faq details[open] summary:after{content:"−"}
.faq details p{padding:0 18px 16px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips a{display:inline-block;background:var(--white);border:1px solid var(--line);border-radius:30px;padding:6px 14px;text-decoration:none;font-size:.93rem}
.chips a:hover{border-color:var(--ink)}
.cta{background:var(--ink);color:var(--white);text-align:left}
.cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cta h2{margin:0}.cta a{color:var(--white)}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:start}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.opts div{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px}
table.prices{width:100%;border-collapse:collapse;background:var(--white)}
table.prices th,table.prices td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
table.prices th{background:var(--galv)}
.tblwrap{overflow-x:auto}
.prose{max-width:760px}
.prose h2{margin-top:1.4em}
.facts{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.facts dt{font-weight:700;font-size:.9rem;color:var(--steel)}.facts dd{margin:0 0 10px}
/* footer */
.ftr{background:#1F2528;color:#C9D1D6;padding:54px 0 90px;font-size:.93rem}
.ftr a{color:#E9EDEF;text-decoration:none}.ftr a:hover{text-decoration:underline}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.ftr h3{color:var(--white);font-size:1.15rem}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:5px 0}
.ftr .logo{color:var(--white);margin-bottom:12px}
.psb{display:inline-flex;align-items:center;gap:8px;background:var(--white);color:var(--ink)!important;border-radius:30px;padding:6px 14px;font-weight:600;margin:4px 0 14px}
.legal{border-top:1px solid #3A4347;margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
/* sticky mobile */
.mbar{display:none}
@media(max-width:720px){.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;box-shadow:0 -4px 14px rgba(0,0,0,.18)}.mbar a{padding:14px;text-align:center;font-weight:700;text-decoration:none}.mbar .c{background:var(--ink);color:#fff}.mbar .q{background:var(--amber);color:var(--ink)}}
.wa{position:fixed;left:16px;bottom:18px;z-index:45;width:54px;height:54px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.wa svg{width:30px;height:30px}
@media(max-width:720px){.wa{bottom:70px}}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;z-index:60;background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:16px;display:none}
.cookie.show{display:block}.cookie p{font-size:.92rem}.cookie .btn{padding:8px 16px;margin-right:8px}
@media(max-width:900px){.hero-in,.two{grid-template-columns:1fr}.usp{grid-template-columns:1fr 1fr}.reviews,.steps{grid-template-columns:1fr 1fr}.ftr-grid{grid-template-columns:1fr 1fr}.hero-door{display:none}}
@media(max-width:560px){.logo{font-size:1.2rem}.cookie{bottom:66px}.usp,.reviews,.steps,.opts,.row2,.ftr-grid{grid-template-columns:1fr}section{padding:46px 0}body{font-size:16px}}
/* quote tool */
.qt{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:start}
.qt fieldset{border:0;padding:0;margin:0}
.qt legend{font-family:var(--head);font-size:1.7rem;font-weight:700;margin-bottom:12px}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.choices label{margin:0;border:2px solid var(--line);border-radius:var(--r);padding:12px;background:var(--white);cursor:pointer;font-weight:600}
.choices input{position:absolute;opacity:0;width:1px;height:1px}
.choices input:checked+span{color:var(--ink)}
.choices label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--amber)}
.choices label:has(input:focus-visible){outline:3px solid var(--amber)}
.qstep{display:none}.qstep.on{display:block}
.qnav{display:flex;gap:10px;margin-top:20px}.qnav .btn{width:auto}
.qprev{position:sticky;top:130px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.qprev .door{color:var(--ink)}
.qrange{font-family:var(--head);font-size:2.2rem;font-weight:700}
.qbar{height:6px;background:var(--galv);border-radius:3px;margin-bottom:24px}.qbar i{display:block;height:100%;background:var(--amber);border-radius:3px;width:25%;transition:width .3s}
@media(max-width:900px){.qt{grid-template-columns:1fr}.qprev{position:static}}
.err{color:#9B1C1C;font-weight:600;font-size:.9rem}
