:root{--page:#fafbf9;--surface:#fff;--ink:#161616;--muted:#626b63;--accent:#ed6f2d;--accent-dark:#b34a18;--success:#23694b;color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}body,button,input,select,textarea{font-size:16px;line-height:1.5}button,input,select,textarea{font-family:inherit}img{max-width:100%}#root{min-height:100vh}.site-shell{--page-gutter:clamp(20px, 4vw, 72px);--page-gutters:clamp(40px, 8vw, 144px);--content-max:1600px;background:linear-gradient(180deg, #fafbf9f5, #fafbf9), var(--page);min-height:100vh}.site-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafbf9db;width:100%;position:sticky;top:0}.header-inner{width:min(var(--content-max), calc(100% - var(--page-gutters)));justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:18px 0;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{flex:0 0 104px;place-items:center;width:104px;height:78px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px;font-size:.78rem}.nav-links{align-items:center;gap:10px;display:flex}.nav-links a{color:var(--muted);padding:10px 12px;font-size:.92rem;font-weight:700;text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink)}.menu-toggle{display:none}.hero-section{width:min(var(--content-max), calc(100% - var(--page-gutters)));grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:clamp(28px,5vw,72px);margin:0 auto;padding:clamp(22px,4vw,56px) 0 56px;display:grid}.hero-copy{max-width:650px}.eyebrow{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;font-size:.78rem;font-weight:800}.hero-copy h1{max-width:720px;color:var(--ink);margin:0;font-size:clamp(2.7rem,6vw,5.7rem);line-height:1.02}.hero-text{max-width:600px;color:var(--muted);margin:24px 0 0;font-size:clamp(1rem,1.4vw,1.2rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:2px solid var(--ink);min-height:48px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 18px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover,.button:focus-visible{box-shadow:5px 5px 0 var(--ink);transform:translateY(-2px)}.primary-button{background:var(--accent)}.secondary-button{background:var(--surface)}.hero-visual{border:2px solid var(--ink);min-height:520px;box-shadow:14px 14px 0 var(--ink);background:var(--ink);border-radius:8px;position:relative;overflow:hidden}.hero-visual img{object-fit:cover;opacity:.92;width:100%;height:100%;min-height:520px}.hero-stat{border:2px solid var(--ink);background:var(--surface);width:min(210px,100% - 44px);color:var(--ink);border-radius:6px;padding:18px;position:absolute;bottom:22px;right:22px}.hero-stat strong{font-size:2.5rem;line-height:1;display:block}.hero-stat span{color:var(--muted);margin-top:6px;font-weight:700;display:block}.trust-strip{width:min(var(--content-max), calc(100% - var(--page-gutters)));border:2px solid var(--ink);background:var(--ink);color:var(--surface);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.trust-strip div{padding:22px}.trust-strip div+div{border-left:1px solid #ffffff3d}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{color:#fff;margin-bottom:6px}.trust-strip span{color:#ffffffbd}.section{width:min(var(--content-max), calc(100% - var(--page-gutters)));margin:0 auto;padding:clamp(68px,9vw,112px) 0 0}.section-heading{max-width:760px;margin-bottom:28px}.section-heading h2,.contact-copy h2{color:var(--ink);margin:0;font-size:clamp(2rem,4vw,3.55rem);line-height:1.02}.wide-heading{justify-content:space-between;align-items:end;gap:28px;max-width:none;display:flex}.wide-heading>div{max-width:670px}.wide-heading>p{max-width:390px;color:var(--muted);margin:0 0 4px}.service-grid,.project-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;max-width:960px;margin:0 auto}.service-card,.project-card,.contact-form{border:2px solid var(--ink);background:var(--surface);border-radius:8px}.service-card{flex-direction:column;min-height:280px;padding:clamp(24px,2.4vw,34px);display:flex}.service-card span{border:2px solid var(--ink);background:linear-gradient(135deg, transparent 45%, var(--ink) 46%, var(--ink) 54%, transparent 55%), var(--accent);border-radius:4px;width:38px;height:38px;margin-bottom:34px;display:block}.service-card h3,.project-card h3{color:var(--ink);margin:0;font-size:1.14rem;line-height:1.18}.service-card p,.project-card p{color:var(--muted);margin:12px 0 0}.service-list{color:var(--muted);margin:12px 0 0;padding-left:20px;line-height:1.55}.service-list li{margin-bottom:8px}.service-list li::marker{color:var(--accent)}.waterproofing-section{width:min(var(--content-max), calc(100% - var(--page-gutters)));margin:0 auto;padding:clamp(72px,9vw,132px) 0 32px}.glazing-detail-section{padding-bottom:clamp(56px,7vw,96px)}.glazing-detail-section+.waterproofing-section{border-top:1px solid #121d2329}.waterproofing-intro{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:clamp(32px,7vw,110px);margin-bottom:clamp(40px,6vw,72px);display:grid}.waterproofing-intro h2{max-width:690px;color:var(--ink);margin:0;font-size:clamp(2rem,4vw,4rem);line-height:1}.waterproofing-copy p{color:var(--muted);margin:0;font-size:1.05rem}.waterproofing-copy{padding-top:30px}.waterproofing-copy p+p{margin-top:18px}.waterproofing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.waterproofing-card{border:2px solid var(--ink);background:var(--surface);border-radius:8px;padding:clamp(24px,3vw,40px)}.waterproofing-card:last-child{grid-column:1/-1}.service-number{color:var(--accent-dark);letter-spacing:.08em;margin-bottom:24px;font-size:.8rem;font-weight:800;display:inline-block}.service-card-heading{width:100%;color:inherit;font:inherit;text-align:left;pointer-events:none;background:0 0;border:0;padding:0;list-style:none;display:block}.service-card-heading::-webkit-details-marker{display:none}.accordion-icon{display:none}.waterproofing-card h3{color:var(--ink);margin:0;font-size:clamp(1.35rem,2vw,1.8rem)}.waterproofing-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.waterproofing-card:last-child .waterproofing-items{grid-template-columns:repeat(3,minmax(0,1fr))}.waterproofing-items h4{color:var(--ink);margin:0 0 7px;font-size:.98rem}.waterproofing-items p{color:var(--muted);margin:0;font-size:.9rem}.projects-section{padding-bottom:clamp(68px,8vw,104px)}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card{animation:.32s both project-reveal;overflow:hidden}.project-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.project-content{padding:20px}.project-content span{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.76rem;font-weight:800;display:inline-block}.projects-actions{justify-content:center;margin-top:32px;display:flex}.projects-actions .button{background:var(--surface)}@keyframes project-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.contact-section{padding:clamp(68px, 8vw, 104px) max(var(--page-gutter), calc((100vw - var(--content-max)) / 2));border-top:2px solid var(--ink);background:#e8efe8;grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);align-items:start;gap:clamp(28px,6vw,78px);display:grid}.contact-copy p:not(.eyebrow){max-width:540px;color:var(--muted);margin:20px 0 0}address{color:var(--ink);gap:8px;margin-top:32px;font-style:normal;font-weight:700;display:grid}address a{color:var(--ink)}.contact-form{box-shadow:10px 10px 0 var(--ink);grid-template-columns:repeat(2,1fr);gap:16px;padding:clamp(18px,3vw,28px);display:grid}label{color:var(--ink);gap:8px;font-size:.9rem;font-weight:800;display:grid}input,select,textarea{border:2px solid var(--ink);width:100%;color:var(--ink);font:inherit;box-sizing:border-box;background:#fff;border-radius:6px;padding:12px 14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,.button:focus-visible,.nav-links a:focus-visible{outline-offset:3px;outline:3px solid #ed6f2d61}.full-field,.form-status{grid-column:1/-1}.form-status{color:var(--success);margin:0;font-weight:800}@media (width<=900px){.header-inner,.hero-section,.section,.trust-strip{width:min(100% - 28px, var(--content-max))}.header-inner{flex-direction:column;align-items:flex-start}.site-header{position:sticky;top:0}.nav-links{justify-content:space-between;width:100%}.hero-section,.contact-section{grid-template-columns:1fr}.hero-visual,.hero-visual img{min-height:360px}.trust-strip,.service-grid,.project-grid,.waterproofing-intro,.waterproofing-grid{grid-template-columns:1fr}.waterproofing-card:last-child{grid-column:auto}.waterproofing-card:last-child .waterproofing-items{grid-template-columns:repeat(2,minmax(0,1fr))}.waterproofing-copy{padding-top:0}.trust-strip div+div{border-top:1px solid #ffffff3d;border-left:0}.wide-heading{flex-direction:column;align-items:start}.contact-form{grid-template-columns:1fr}}@media (width<=560px){.header-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:10px 0;display:grid;position:relative}.brand{align-items:center;min-width:0}.brand-mark{flex-basis:76px;width:76px;height:57px}.nav-links{border-top:1px solid #121d2329;flex-direction:column;grid-column:1/-1;align-items:stretch;gap:2px;width:100%;padding-top:8px;display:none}.nav-links.is-open{z-index:20;clip-path:inset(0 -100vmax);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafbf9f5;padding-bottom:8px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 0 0 100vmax #fafbf9f5}.nav-links a{padding:11px 6px;font-size:.9rem}.menu-toggle{border:2px solid var(--ink);background:var(--surface);cursor:pointer;border-radius:6px;place-content:center;gap:5px;width:44px;height:44px;padding:10px;display:grid}.menu-toggle span{background:var(--ink);width:20px;height:2px;transition:transform .16s,opacity .16s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:last-child{transform:translateY(-7px)rotate(-45deg)}.hero-copy h1{font-size:2.6rem;line-height:1.1}.hero-actions,.button{width:100%}.contact-section{padding-inline:14px}.hero-visual,.contact-form{box-shadow:none}.waterproofing-items,.waterproofing-card:last-child .waterproofing-items{grid-template-columns:1fr}.waterproofing-card{padding:22px}.service-card-heading{pointer-events:auto;cursor:pointer;justify-content:space-between;align-items:center;gap:20px;display:flex}.service-card-heading .service-number{margin-bottom:8px}.accordion-icon{flex:0 0 22px;width:22px;height:22px;display:block;position:relative}.accordion-icon:before,.accordion-icon:after{background:var(--ink);content:"";width:16px;height:2px;transition:transform .16s;position:absolute;top:10px;left:3px}.accordion-icon:after{transform:rotate(90deg)}.waterproofing-card.is-open .accordion-icon:after{transform:rotate(0)}.waterproofing-card:not(.is-open)>.waterproofing-items{display:none}}
