:root{--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ink: #071013;--charcoal: #101820;--slate: #23313b;--cyan: #08afd0;--cyan-dark: #057891;--tile: #c8693f;--tile-deep: #8e3f27;--paper: #f7f3ee;--white: #ffffff;--muted: #66727c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background:var(--paper);color:var(--ink)}a{color:inherit;min-height:44px}button{min-height:44px;font:inherit}img{max-width:100%;display:block}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ts-logo{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--cyan);color:var(--white);font-weight:950;letter-spacing:-.08em;box-shadow:0 18px 40px #08afd042}.gate{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 10%,rgb(8 175 208 / 25%),transparent 28%),radial-gradient(circle at 88% 86%,rgb(200 105 63 / 20%),transparent 30%),linear-gradient(135deg,#071013,#14202a);padding:1.2rem;color:var(--white)}.gate.flex{display:flex}.gate-card{width:min(100%,27rem);border:1px solid rgb(255 255 255 / 16%);border-radius:28px;background:#101820e0;box-shadow:0 28px 90px #00000073;padding:1.35rem;backdrop-filter:blur(16px)}.gate-card h1{margin:1rem 0 .45rem;font-size:clamp(2rem,9vw,3.1rem);line-height:.95;letter-spacing:-.07em}.gate-card p{color:#cbd5db;line-height:1.5}.gate-card input{width:100%;min-height:54px;margin:.8rem 0;border:1px solid #344552;border-radius:16px;background:#071013;color:#fff;padding:0 1rem;font-size:1.05rem}.gate-card button{width:100%;min-height:54px;border:0;border-radius:16px;background:var(--cyan);color:#fff;font-weight:900;cursor:pointer}#gate-err{color:#fecaca}.section-pad{padding:3.7rem 1.05rem}.roof-site{min-height:100vh;overflow-x:clip;background:var(--paper)}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;background:#071013e5;color:#fff;border-bottom:1px solid rgb(255 255 255 / 12%);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:950;letter-spacing:-.04em}.brand img{width:42px;height:auto;border-radius:8px;background:#fff;padding:.15rem}.nav-links{display:none;align-items:center;gap:1rem;color:#dbe5ea;font-size:.95rem}.nav-links a{display:inline-flex;align-items:center;text-decoration:none}.top-call{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--cyan);color:#fff;padding:0 .85rem;text-decoration:none;font-weight:900;white-space:nowrap}.hero{position:relative;display:grid;gap:2rem;min-height:calc(100vh - 70px);align-items:center;color:#fff;background:linear-gradient(135deg,#071013f5,#101820ed 55%,#23313be0),url(/images/roof-work.jpg) center/cover}.hero:before{content:"";position:absolute;inset:auto -10% -12%;height:36%;background:linear-gradient(135deg,transparent 0 22%,rgb(200 105 63 / 92%) 22% 28%,transparent 28% 100%);opacity:.55;pointer-events:none}.hero-copy,.hero-media{position:relative;z-index:1}.eyebrow{margin:0 0 .8rem;color:#72e6fb;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:950}.eyebrow.dark{color:var(--cyan-dark)}.hero h1{max-width:8.8ch;margin:0;font-size:clamp(3rem,8vw,5.8rem);line-height:.86;letter-spacing:-.08em}.lead{max-width:40rem;color:#d7e0e5;font-size:clamp(1.05rem,4vw,1.25rem);line-height:1.55}.hero-actions{display:flex;flex-direction:column;gap:.75rem;margin:1.35rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;padding:0 1rem;text-decoration:none;font-weight:950}.btn-primary{background:var(--cyan);color:#fff;box-shadow:0 18px 44px #08afd047}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgb(255 255 255 / 18%)}.proof-chips{display:flex;flex-wrap:wrap;gap:.55rem}.proof-chips span{border:1px solid rgb(255 255 255 / 18%);border-radius:999px;background:#ffffff17;padding:.55rem .75rem;color:#f1f7fa;font-size:.92rem}.hero-media{align-self:stretch;display:grid;align-items:end;min-height:380px}.hero-img{width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:30px;border:1px solid rgb(255 255 255 / 14%);box-shadow:0 28px 80px #0006}.media-panel{position:absolute;right:.85rem;bottom:.85rem;left:.85rem;display:grid;gap:.15rem;border-radius:22px;background:#071013db;color:#fff;padding:1rem;backdrop-filter:blur(12px)}.media-panel strong{font-size:1.15rem}.media-panel span{color:#72e6fb;font-weight:900}.media-panel small{color:#cbd5db}.proof-band{background:#fff;display:grid;gap:1.5rem}.proof-band h2,.section-heading h2,.area-card h2,.process h2,.final-cta h2{margin:0;font-size:clamp(2rem,9vw,4.4rem);line-height:.95;letter-spacing:-.07em}.proof-list{display:grid;grid-template-columns:1fr;gap:.65rem}.proof-list span{border-left:5px solid var(--cyan);background:#eefafe;border-radius:16px;padding:.9rem 1rem;font-weight:850}.services{background:var(--paper)}.section-heading{max-width:780px;margin-bottom:1.5rem}.section-heading p{color:var(--muted);line-height:1.6}.service-grid{display:grid;grid-template-columns:1fr;gap:.85rem}.service-card{position:relative;overflow:hidden;min-height:210px;border-radius:26px;background:#fff;padding:1.1rem;box-shadow:0 18px 60px #10182017}.service-card:nth-child(3n+1){background:var(--charcoal);color:#fff}.service-card:nth-child(3n+2){background:var(--cyan);color:#fff}.service-card span{color:var(--tile);font-weight:950;letter-spacing:-.06em;font-size:2.5rem}.service-card:nth-child(3n+1) span,.service-card:nth-child(3n+2) span{color:#ffffffb3}.service-card h3{margin:1.7rem 0 .45rem;font-size:1.35rem;letter-spacing:-.04em}.service-card p{margin:0;color:inherit;opacity:.78;line-height:1.55}.image-split{display:grid;gap:1rem;background:#101820;color:#fff}.image-stack{position:relative;min-height:420px}.image-stack img{object-fit:cover;border-radius:28px;box-shadow:0 22px 70px #0000004d}.image-stack .wide{width:88%;height:390px}.image-stack .small{position:absolute;right:0;bottom:0;width:52%;height:210px;border:8px solid #101820}.area-card{align-self:center;border-radius:30px;background:#fff;color:var(--ink);padding:1.2rem}.area-card p,.area-card li{color:#4b5962;line-height:1.62}.area-card ul{padding-left:1.1rem}.area-card li+li{margin-top:.45rem}.process{background:#fff}.steps{display:grid;grid-template-columns:1fr;gap:.85rem;margin-top:1.4rem}.steps article{border-radius:26px;background:var(--paper);padding:1.05rem}.steps strong{color:var(--tile);font-size:2.2rem;letter-spacing:-.07em}.steps h3{margin:1rem 0 .4rem;font-size:1.25rem;letter-spacing:-.04em}.steps p{color:var(--muted);line-height:1.55}.final-cta{display:grid;gap:1rem;align-items:center;background:linear-gradient(135deg,var(--cyan),var(--cyan-dark));color:#fff}.final-cta .eyebrow{color:#ffffffbf}.final-cta .btn-primary{background:#fff;color:var(--cyan-dark);box-shadow:none}.footer{display:grid;gap:1.2rem;padding-bottom:6rem;background:var(--charcoal);color:#e6eef2}.footer img{width:72px;height:auto;border-radius:12px;background:#fff;padding:.25rem}.footer p{margin:.45rem 0;color:#c8d4dc;line-height:1.5}.footer a,.footer strong{color:#fff}.mobile-call{position:fixed;z-index:45;left:.75rem;right:.75rem;bottom:.75rem}.mobile-call a{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:var(--tile);color:#fff;text-decoration:none;font-weight:950;box-shadow:0 16px 40px #00000040}@media(min-width:700px){.section-pad{padding:5.5rem 2rem}.nav-links{display:flex}.hero{grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);padding-top:6.2rem;padding-bottom:6.2rem}.hero-actions{flex-direction:row;flex-wrap:wrap}.btn{padding-inline:1.25rem}.proof-band{grid-template-columns:.75fr 1.25fr;align-items:start}.proof-list{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-split{grid-template-columns:1fr .86fr;align-items:center}.area-card{padding:2rem}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.final-cta{grid-template-columns:1fr auto}.footer{grid-template-columns:1fr 1fr 1fr;padding-bottom:3rem}.mobile-call{display:none}}@media(min-width:1120px){.topbar{padding-inline:max(2rem,calc((100vw - 1180px)/2))}.section-pad{padding-left:max(2rem,calc((100vw - 1180px)/2));padding-right:max(2rem,calc((100vw - 1180px)/2))}}
