*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}html[data-style=alpine]{--ink:#17221d;--paper:#f4f0e8;--accent:#a84b27;--deep:#172b24;--soft:#dce5dc;--display:"Newsreader",serif}html[data-style=atelier]{--ink:#24302d;--paper:#faf5eb;--accent:#c55c3b;--deep:#0e4a46;--soft:#e9d8c6;--display:"Newsreader",serif}html[data-style=water]{--ink:#102d3a;--paper:#f5faf9;--accent:#00a9a5;--deep:#073a50;--soft:#cce9e6;--display:"Manrope",sans-serif}html[data-style=current]{--ink:#161a23;--paper:#f6f4ef;--accent:#f5a000;--deep:#131a29;--soft:#dbe0e9;--display:"Manrope",sans-serif}a{color:inherit}.skip{position:fixed;top:-100px;left:1rem;z-index:99;background:#fff;padding:.7rem}.skip:focus{top:1rem}.demo-ribbon{text-align:center;padding:.35rem;background:#141414;color:#fff;font-size:.75rem;letter-spacing:.06em}.emergency{display:flex;justify-content:center;gap:.75rem;padding:.6rem 1rem;background:var(--accent);color:#fff;text-decoration:none;font-size:.83rem}.emergency span{margin-left:1rem;text-decoration:underline}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.2rem,5vw,5rem);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;line-height:1}.brand small{display:block;margin-top:.3rem;font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--deep);color:var(--paper)}nav{display:flex;align-items:center;gap:1.5rem}nav a{text-decoration:none;font-size:.88rem;font-weight:600}.nav-cta,.primary,button{border:0;border-radius:99px;background:var(--accent);color:#fff;padding:.9rem 1.2rem;font-weight:700;text-decoration:none;cursor:pointer}.menu{display:none}.hero{min-height:78vh;display:grid;grid-template-columns:1fr 1.12fr;overflow:hidden}.hero-copy{padding:clamp(4rem,9vw,9rem) clamp(1.4rem,6vw,7rem);align-self:center}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--accent)}h1,h2{font-family:var(--display);font-weight:700;line-height:.95;letter-spacing:-.045em;margin:.35em 0}h1{font-size:clamp(3.2rem,7vw,7.6rem)}h2{font-size:clamp(2.5rem,5vw,5.4rem)}h3{font-size:1.25rem;line-height:1.2}.hero-copy>p:not(.kicker){max-width:38rem;font-size:1.1rem}.hero-actions{display:flex;align-items:center;gap:1.4rem;margin:2rem 0}.call{text-decoration:none;font-weight:700}.call small{display:block;font-weight:400;font-size:.72rem}.proof{display:flex;flex-wrap:wrap;gap:.5rem}.proof span,.badges span{padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:99px;font-size:.72rem}.hero-photo,.crop{background-image:url('/img/trade-set.png');background-size:200% 200%;background-position:0 0}.hero-photo{position:relative;min-height:620px}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 18%);opacity:.35}.hero-photo span{position:absolute;right:1rem;bottom:1rem;background:#000b;color:#fff;padding:.5rem;font-size:.65rem;z-index:2}.intro,.trust,.projects,.reviews,.areas,.faq,.booking,.estimate,.page-content,.portal{padding:clamp(4rem,8vw,8rem) clamp(1.4rem,7vw,8rem)}.intro{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.intro>.kicker,.intro>h2{grid-column:1/-1}.service-card{padding:2rem;background:color-mix(in srgb,var(--paper) 86%,var(--soft));min-height:260px;border:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.service-card span{color:var(--accent);font-size:.7rem}.service-card a{display:block;margin-top:2rem;font-weight:700}.editorial{display:grid;grid-template-columns:1.2fr .8fr;min-height:620px;background:var(--deep);color:#fff}.editorial>div:last-child{padding:clamp(3rem,8vw,8rem);align-self:center}.crop.finished{background-position:0 100%}.estimate{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center;background:var(--soft)}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:700;font-size:.84rem}input,select,textarea{width:100%;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:.75rem;background:#fff;color:#111;padding:.9rem;font:inherit}.range{padding:1.3rem;border-radius:1rem;background:var(--deep);color:#fff}.range output{display:block;font:700 2rem var(--display)}.badges{display:flex;flex-wrap:wrap;gap:.5rem}.trust{background:var(--deep);color:#fff}.trust-grid,.review-grid,.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.trust article,.area-list article{padding:2rem;border:1px solid #ffffff30}.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1rem}.project-grid figure{min-height:420px;margin:0;position:relative}.project-grid.large figure{min-height:600px}.crop.crew{background-position:0 0}.crop.truck{background-position:100% 0}.crop.beforeafter{background-position:100% 100%}.crop figcaption{position:absolute;bottom:0;left:0;background:#000c;color:#fff;padding:.8rem}.reviews{background:color-mix(in srgb,var(--paper) 80%,var(--soft))}.review{margin:0;padding:2rem;background:var(--paper)}.review>div{color:var(--accent);letter-spacing:.15em}.review blockquote{margin:1.5rem 0;font:1.45rem/1.35 var(--display)}.review small{display:block;color:#777}.areas{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.areas>div:last-child{display:grid}.areas a{display:flex;justify-content:space-between;padding:1rem;border-bottom:1px solid #0002;text-decoration:none;font-weight:700}.faq details{max-width:900px;margin:auto;border-bottom:1px solid #0002;padding:1.3rem 0}.faq summary{cursor:pointer;font-weight:800}.booking{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;background:var(--deep);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.upload{border:1px dashed #ffffff70;padding:1rem}.upload input{display:none}.form-status{min-height:1.5rem}.final-cta{text-align:center;padding:10rem 1.4rem;background:var(--accent);color:#fff}.final-cta a{display:block;margin:.5rem auto}.page-hero,.portal-head{padding:clamp(5rem,10vw,10rem) clamp(1.4rem,8vw,10rem);background:var(--deep);color:#fff}.page-hero p,.portal-head p{max-width:48rem}.portal{min-height:55vh}.portal form{max-width:520px}.portal-top{display:flex;justify-content:space-between}.portal-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.portal-tabs button{background:var(--deep)}.list-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:1rem;border-bottom:1px solid #0002}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.metric{padding:1.4rem;background:var(--deep);color:#fff}.metric b{font:700 2.5rem var(--display)}.admin-warning{position:sticky;top:73px;z-index:19;padding:.65rem;text-align:center;background:#b00020;color:#fff;font-weight:800}.admin #service-editor{margin-top:2rem;padding:2rem;background:var(--soft)}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:4rem clamp(1.4rem,7vw,8rem);background:#0d1210;color:#fff}footer a{display:block;margin:.3rem 0}.reveal{transition:transform .6s,opacity .6s}.reveal:not(.seen){opacity:0;transform:translateY(25px)}@media(max-width:850px){.menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1.4rem;background:var(--paper);flex-direction:column;align-items:stretch}nav.open{display:flex}.emergency{font-size:.7rem;display:block;text-align:center}.emergency span{display:block}.hero,.editorial,.estimate,.booking,.areas{grid-template-columns:1fr}.hero-photo{min-height:420px;order:-1}.hero-copy{padding:3rem 1.4rem}.intro{grid-template-columns:1fr}.trust-grid,.review-grid,.area-list,.metrics{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-grid figure{min-height:360px}.form-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr}header{padding:.8rem 1rem}.brand{font-size:.85rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{transition:none!important}}