.logo-img[data-astro-cid-tvrurpns]{width:auto;height:52px;display:block}.logo-lockup[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}.logo-mark[data-astro-cid-tvrurpns]{height:46px;width:auto;flex-shrink:0}.logo-words[data-astro-cid-tvrurpns]{display:flex;flex-direction:column;line-height:1}.logo-name[data-astro-cid-tvrurpns]{font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.45rem;letter-spacing:.01em}.logo-sub[data-astro-cid-tvrurpns]{display:flex;align-items:center;gap:.4rem;margin-top:.22rem;font-size:.62rem;font-weight:800;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}.logo-sub[data-astro-cid-tvrurpns] i[data-astro-cid-tvrurpns]{display:block;height:2px;flex:1;min-width:14px;background:currentColor;position:relative}.logo-sub[data-astro-cid-tvrurpns] i[data-astro-cid-tvrurpns]:after{content:"";position:absolute;right:-1px;top:-2.5px;border-left:5px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent}.logo-sub[data-astro-cid-tvrurpns] i[data-astro-cid-tvrurpns]:first-child:after{right:auto;left:-1px;transform:rotate(180deg)}:root{--brand: #6b1f2d;--brand-deep: #4a141f;--brand-light: #8a2c3b;--accent: #2f5d45;--accent-deep: #1f4231;--accent-dark: #234a35;--gold: #c99b3f;--ink: #2a2124;--ink-soft: #6b5d61;--paper: #fffdf9;--cream: #f7f0e2;--cream-deep: #efe5d0;--line: #e7ddcb;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 3px rgba(74, 20, 31, .08);--shadow: 0 6px 24px rgba(74, 20, 31, .1);--shadow-lg: 0 18px 50px rgba(42, 13, 19, .22);--maxw: 1140px;--font-display: "Oswald", "Arial Narrow", -apple-system, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root{--bg-rooftops: url(/photos/bg-rooftops.jpg);--bg-nailgun: url(/photos/bg-nailgun.jpg);--bg-ridge: url(/photos/img-4935.jpg)}@media(max-width:640px){:root{--bg-rooftops: url(/photos/bg-rooftops-sm.jpg);--bg-nailgun: url(/photos/bg-nailgun-sm.jpg);--bg-ridge: url(/photos/img-4935-sm.jpg)}}*{box-sizing:border-box}html{scroll-behavior:smooth}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}::selection{background:var(--brand);color:#fff}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:16.5px}img{max-width:100%;height:auto;display:block}a{color:var(--accent)}h1,h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.025em;line-height:1.08;color:var(--brand);margin:0 0 .5em;font-weight:600}h1{font-size:clamp(2.3rem,5vw,3.8rem)}h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}h3,h4{font-family:var(--font-body);font-weight:800;line-height:1.25;color:var(--brand);margin:0 0 .5em}h3{font-size:1.15rem}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem}.section{padding:4.5rem 0}.section-warm{background:linear-gradient(#f7f0e2d6,#f7f0e2d6),var(--bg-rooftops) center / cover no-repeat}.section-dark{background:linear-gradient(118deg,#181311e0,#221b18d6),var(--bg-nailgun) center / cover no-repeat;color:#f0e4d8;position:relative;overflow:hidden}.section-dark>*{position:relative}.section-dark h2{color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:var(--accent);margin-bottom:.6rem}.eyebrow:before{content:"";width:26px;height:2px;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.7rem;border-radius:var(--radius-sm);font-weight:700;font-size:1rem;font-family:var(--font-body);text-decoration:none;text-align:center;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-primary{background:linear-gradient(180deg,var(--brand-light),var(--brand));color:#fff;box-shadow:0 4px 14px #6b1f2d59}.btn-primary:after{content:"→";font-weight:800;transition:transform .15s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px #6b1f2d6b}.btn-primary:hover:after{transform:translate(3px)}.btn-green{background:linear-gradient(180deg,#3a6e52,var(--accent));color:#fff;box-shadow:0 4px 14px #2f5d4559}.btn-green:hover{transform:translateY(-2px)}.btn-outline{background:#ffffff0f;color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(2px)}.btn-outline:hover{border-color:#fff;background:#ffffff1f}.btn-white{background:#fff;color:var(--brand);font-weight:800;box-shadow:0 4px 14px #00000040}.btn-white:hover{transform:translateY(-2px);background:var(--cream)}.btn-lg{padding:1.05rem 2.1rem;font-size:1.08rem}.grid{display:grid;gap:1.6rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:880px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--cream);color:var(--accent);border:1px solid var(--line);margin-bottom:.9rem}.topbar{background:var(--accent-deep);color:#d9e6dd;font-size:.82rem;font-weight:600}.topbar .inner{max-width:var(--maxw);margin:0 auto;padding:.4rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none;font-weight:700}@media(max-width:640px){.topbar .left,.topbar .topbar-phone{display:none}.topbar .inner{justify-content:center}}.site-header{position:sticky;top:0;z-index:50;background:#fffdf9f5;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);box-shadow:0 1px 10px #4a141f0f}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.6rem 1.4rem;max-width:var(--maxw);margin:0 auto}.logo{text-decoration:none}.nav{display:flex;gap:1.2rem}.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem;padding:.3rem 0;white-space:nowrap;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.nav a:hover{color:var(--brand);border-bottom-color:var(--gold)}.header-cta{display:flex;align-items:center;gap:1rem}.header-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;text-decoration:none}.header-phone small{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-weight:700}.header-phone strong{color:var(--brand);font-size:1.05rem;font-weight:800;white-space:nowrap}.header-cta .btn{white-space:nowrap}.menu-toggle{display:none}@media(max-width:1020px){.nav{display:none}.menu-toggle{display:block;position:relative}.menu-toggle summary{list-style:none;cursor:pointer;font-size:1.6rem;color:var(--brand);padding:.2rem .5rem}.menu-toggle summary::-webkit-details-marker{display:none}.menu-toggle .menu-panel{position:absolute;right:0;top:calc(100% + .5rem);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-width:230px;padding:.5rem;z-index:60}.menu-toggle .menu-panel a{padding:.7rem .9rem;text-decoration:none;color:var(--ink);font-weight:600;border-radius:var(--radius-sm)}.menu-toggle .menu-panel a:hover{background:var(--cream);color:var(--brand)}}@media(max-width:640px){.header-cta .btn,.header-phone small{display:none}}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;grid-template-columns:1fr 1fr;box-shadow:0 -4px 18px #2a0d1340}.mobile-bar a{padding:1rem;text-align:center;font-weight:800;text-decoration:none;color:#fff;letter-spacing:.02em}.mobile-bar .call{background:linear-gradient(180deg,#3a6e52,var(--accent-deep))}.mobile-bar .quote{background:linear-gradient(180deg,var(--brand-light),var(--brand-deep))}@media(max-width:768px){.mobile-bar{display:grid}body{padding-bottom:3.6rem}}.hero{position:relative;color:#fff;padding:5rem 0 6.5rem;background:radial-gradient(900px 420px at 18% 0%,rgba(201,155,63,.12),transparent 60%),linear-gradient(118deg,#16110fe0,#1e1815b8 45%,#261f1b5c),var(--hero-img, var(--bg-rooftops));background-size:auto,auto,cover;background-position:center,center,center 35%;overflow:hidden}.hero>.container{position:relative;z-index:2}@media(max-width:640px){.hero-home{--hero-img: url(/photos/bg-rooftops-sm.jpg) !important}}.hero .eyebrow{color:var(--gold)}.hero .eyebrow:before{background:var(--gold)}.hero h1{color:#fff;max-width:680px;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.35)}.hero p.sub{font-size:1.18rem;max-width:560px;color:#eeddd2}.hero .trust-strip{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.9rem;font-size:.9rem;color:#dcc4ba}.hero .trust-strip strong{color:#fff}.hero .trust-strip-center{justify-content:center;max-width:560px;text-align:center;font-size:.95rem}.stars{color:var(--gold);letter-spacing:2px}.lead-form{display:grid;gap:.85rem}.lead-form input,.lead-form select{padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);width:100%;background:var(--paper);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.lead-form input:focus,.lead-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f5d4526}.form-card{background:var(--cream);color:var(--ink);border-radius:var(--radius);border-top:5px solid var(--gold);padding:1.9rem;box-shadow:var(--shadow-lg)}.form-card h3{margin-top:0;font-size:1.45rem}.form-note{font-size:.8rem;color:var(--ink-soft);margin:.25rem 0 0}.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.2rem;margin-bottom:.7rem;background:#fff;box-shadow:var(--shadow-sm)}.faq summary{font-weight:700;cursor:pointer;color:var(--brand);font-size:1.02rem}.faq details[open] summary{margin-bottom:.4rem}.faq p{margin:.4rem 0 0;color:var(--ink-soft)}.stats-band{background:linear-gradient(118deg,#1f4231e6,#163425de),var(--bg-nailgun) center / cover no-repeat;color:#e7f0e9;padding:2.6rem 0;position:relative;overflow:hidden}.stats-band .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 1.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}.stat-num{font-family:var(--font-display);font-weight:900;font-size:2.2rem;color:#fff;display:block}.stat-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#a9c6b3}@media(max-width:880px){.stats-band .inner{grid-template-columns:repeat(2,1fr)}}.photo-ph{position:relative;border-radius:var(--radius);min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;font-size:.85rem;font-weight:600;padding:1.25rem;color:#f3e5cf;background:radial-gradient(500px 240px at 75% 15%,rgba(201,155,63,.25),transparent 65%),linear-gradient(140deg,#2f5d45,#1f4231 45%,#4a141f);overflow:hidden;box-shadow:var(--shadow)}.photo-ph:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M0 240 L0 196 L70 196 L130 136 L190 196 L260 196 L330 120 L400 196 L400 240 Z' fill='%23ffffff' fill-opacity='0.07'/%3E%3Cpath d='M130 136 L124 142 L196 142 M330 120 L322 128 L408 128' stroke='%23ffffff' stroke-opacity='0.12' stroke-width='3' fill='none'/%3E%3Ccircle cx='340' cy='52' r='24' fill='%23c99b3f' fill-opacity='0.35'/%3E%3C/svg%3E");background-size:cover;pointer-events:none}.photo-ph>*{position:relative}.photo-ph:after{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(255,255,255,.35);border-radius:calc(var(--radius) - 6px);pointer-events:none}.photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.photo-label{display:inline-block;margin-top:.6rem;font-size:.82rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.ba-tag{position:absolute;top:.8rem;left:.8rem;background:var(--brand);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .8rem;border-radius:999px;box-shadow:var(--shadow-sm)}.ba-tag.after{background:var(--accent)}.steps{counter-reset:step}.step{position:relative;padding-left:3.6rem;margin-bottom:1.6rem}.step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(180deg,#3a6e52,var(--accent));color:#fff;font-weight:800;font-family:var(--font-display);font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #2f5d4559}.step:not(:last-child):after{content:"";position:absolute;left:1.22rem;top:2.7rem;bottom:-1.4rem;width:2px;background:var(--line)}.step h3{margin-bottom:.2rem}.step p{margin:0;color:var(--ink-soft)}.testimonial{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.5rem 1.5rem;margin:0;box-shadow:var(--shadow-sm)}.testimonial:before{content:"“";position:absolute;top:-1.4rem;left:1.1rem;font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--gold)}.testimonial p{margin:.4rem 0 0;color:var(--ink-soft)}.testimonial cite{font-style:normal;font-weight:700;color:var(--brand);display:block;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.92rem}.badge-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;font-size:.85rem;font-weight:700;color:var(--accent-deep);background:#fff;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .12s ease,border-color .12s ease}a.badge:hover{transform:translateY(-2px);border-color:var(--accent)}.site-footer{background:linear-gradient(180deg,#17241b,#101b14);color:#aebfb3;padding:3.5rem 0 5rem;font-size:.93rem;position:relative;overflow:hidden}.site-footer>*{position:relative}.site-footer h4{color:#fff;margin:0 0 .7rem;font-size:.98rem;font-family:var(--font-body);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.site-footer a{color:#cfdbd2;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.4rem}.footer-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:2.4rem;padding-top:1.4rem;font-size:.86rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.hic-line{font-weight:700;color:#fff;margin:0}.hic-line a{color:var(--gold);text-decoration:underline}
