
:root{--ivory:#faf7f0;--cream:#f4ecdf;--card:#fffdf7;--stone:#d9cdbb;--charcoal:#182024;--slate:#263640;--lead:#536873;--olive:#53664a;--moss:#637854;--clay:#c66a32;--clay2:#9f4f35;--brass:#b99663;--muted:#626861;--shadow:0 20px 55px rgba(24,32,36,.16);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);line-height:1.55}body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(24,32,36,.12) .5px, transparent .7px);background-size:18px 18px}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,92vw);margin:auto}.serif,h1,h2,h3,.brand,.phone{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}.utility{background:var(--charcoal);color:#f7f1e5;font-size:.88rem}.utility .container{display:flex;gap:1rem;justify-content:space-between;padding:.55rem 0}.chips{display:flex;gap:.45rem;flex-wrap:wrap}.chip{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.2rem .55rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,247,240,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--stone)}.header-inner{display:flex;align-items:center;gap:1.4rem;min-height:76px}.brand{font-size:1.65rem;text-decoration:none;white-space:nowrap}.descriptor{border-left:1px solid var(--stone);padding-left:1rem;color:var(--muted);font-size:.9rem}.nav{margin-left:auto;display:flex;align-items:center;gap:1.25rem}.nav a{text-decoration:none;font-weight:700;font-size:.93rem}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.78rem 1.08rem;border-radius:6px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer}.btn-primary{background:var(--clay);color:#fff}.btn-primary:hover{background:#a94f22}.btn-dark{background:var(--charcoal);color:#fff}.btn-outline{border-color:rgba(255,255,255,.76);color:#fff;background:transparent}.btn-light{background:var(--card);color:var(--charcoal);border-color:var(--stone)}.hero{position:relative;min-height:720px;color:#fff;background:linear-gradient(90deg,rgba(12,17,20,.76),rgba(12,17,20,.36) 45%,rgba(12,17,20,.7)),url('images/hero-yorkshire-roofs.png') center/cover no-repeat}.hero:after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,rgba(24,32,36,.55))}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 395px;gap:4rem;align-items:center;min-height:720px;padding:4rem 0}.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--brass)}h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;margin:.6rem 0 1.2rem}.hero p.lead{font-size:1.28rem;max-width:580px;color:#f7f1e5}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.7rem 0}.trust-bullets{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.5rem}.trust-bullets span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.45rem .75rem;font-size:.9rem}.survey-card{background:rgba(24,32,36,.94);border:1px solid rgba(255,255,255,.15);box-shadow:var(--shadow);padding:1.55rem;border-radius:14px}.survey-card h2{font-size:2rem;line-height:1.05;margin:.2rem 0 .5rem;color:#fff}.survey-card p{color:#d8ddd7;margin:.2rem 0 1rem}.field{display:grid;gap:.35rem;margin:.72rem 0}.field label{font-weight:800;font-size:.88rem}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(217,205,187,.35);border-radius:7px;padding:.85rem;background:#fffaf0;color:var(--charcoal);font:inherit}.upload{border:1px dashed rgba(250,247,240,.55);border-radius:9px;padding:.85rem;color:#f7f1e5;background:rgba(255,255,255,.05)}.fine{font-size:.78rem;color:#c8cec8}.benefits{background:var(--card);border-bottom:1px solid var(--stone)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}.benefit{padding:1.45rem 1rem;display:flex;gap:.85rem;border-right:1px solid var(--stone)}.benefit:last-child{border-right:0}.icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef0e4;color:var(--olive);font-size:1.25rem;flex:0 0 auto}.section{padding:5rem 0}.section.alt{background:var(--cream)}.section-head{max-width:760px;margin:0 auto 2.2rem;text-align:center}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.45rem 0}.grid{display:grid;gap:1.2rem}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--card);border:1px solid var(--stone);border-radius:16px;overflow:hidden;box-shadow:0 12px 28px rgba(24,32,36,.07)}.card-body{padding:1.15rem}.image-card .media{height:190px;object-fit:cover;width:100%}.problem-card{position:relative}.badge{position:absolute;top:160px;left:1rem;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--charcoal);color:#fff;border:3px solid var(--card);font-size:1.35rem}.problem-card .card-body{padding-top:2.3rem}.card h3{font-size:1.45rem;margin:.15rem 0 .45rem}.card p{color:var(--muted)}.arrow{color:var(--clay);font-weight:900;text-decoration:none}.material-card{min-height:330px;display:flex;align-items:end;color:#fff;background-size:cover;background-position:center;position:relative}.material-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(24,32,36,.88))}.material-card>div{position:relative;padding:1.2rem}.dark{background:linear-gradient(135deg,var(--charcoal),#22343c);color:#f7f1e5}.dark h2,.dark h3{color:#fff}.dark .project-card h3{color:var(--charcoal)}.work-wrap{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}.project-card{background:#fffaf0;color:var(--charcoal)}.project-card img{height:170px;object-fit:cover;width:100%}.loc{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);font-weight:900}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.step{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:1rem;background:rgba(255,255,255,.055)}.num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--clay);color:#fff;font-weight:900}.areas-band{background:var(--olive);color:#fff;border-radius:22px;padding:2rem;position:relative;overflow:hidden}.areas-band:after{content:"";position:absolute;inset:auto -5% -30px 35%;height:130px;border:2px solid rgba(255,255,255,.17);border-radius:50% 50% 0 0}.area-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.area-chips a,.area-chips span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45rem .7rem;text-decoration:none}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}.photo-panel{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.photo-panel img{height:440px;object-fit:cover;width:100%}.cta-band{background:var(--olive);color:#fff}.cta-inner{display:grid;grid-template-columns:1fr 1fr auto;gap:1.5rem;align-items:center;padding:2rem 0}.phone{font-size:1.75rem}.footer{background:#11181b;color:#d9d1c6;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:1.4rem}.footer a{display:block;color:#f7f1e5;text-decoration:none;margin:.35rem 0}.page-hero{padding:5rem 0 3rem;background:linear-gradient(135deg,var(--charcoal),#2b414b);color:#fff}.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem)}.breadcrumbs{font-size:.85rem;margin-bottom:1rem;color:#d9d1c6}.breadcrumbs a{color:#fff}.faq button{width:100%;text-align:left;background:var(--card);border:1px solid var(--stone);border-radius:12px;padding:1rem;font:inherit;font-weight:900;margin:.45rem 0}.faq-panel{display:none;padding:0 1rem 1rem;color:var(--muted)}.faq button[aria-expanded=true]+.faq-panel{display:block}.mobile-sticky{display:none}.form-note{margin-top:.7rem;background:#eef0e4;border-left:4px solid var(--olive);padding:.8rem;color:var(--charcoal)}.two-col-list{columns:2}.callout{background:#fff7e8;border:1px solid var(--stone);border-radius:16px;padding:1.1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}@media(max-width:960px){.descriptor,.nav{display:none}.menu-toggle{display:inline-flex;margin-left:auto}.nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--ivory);padding:1rem;flex-direction:column;border-bottom:1px solid var(--stone)}.hero-inner,.split,.work-wrap,.cta-inner{grid-template-columns:1fr}.hero-inner{gap:1rem;padding:2rem 0}.survey-card{max-width:520px}.grid-4,.grid-3,.benefit-grid,.process,.footer-grid{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(2){border-right:0}.mobile-sticky{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--charcoal);padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));gap:.6rem}body{padding-bottom:72px}}@media(max-width:620px){.utility .container{display:block}.brand{font-size:1.28rem}.hero{min-height:auto}.hero-inner{min-height:auto}.hero h1{font-size:3rem}.grid-4,.grid-3,.benefit-grid,.process,.footer-grid{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid var(--stone)}.two-col-list{columns:1}.photo-panel img{height:300px}.section{padding:3rem 0}}
