:root{--brand: #BD3237;--brand-bright:#D94247;--brand-deep: #970100;--brand-soft: rgba(189,50,55,.1);--bg: #FAFAF7;--bg-warm: #F3EDE6;--bg-cool: #F6F2EE;--bg-elevated: #FFFFFF;--bg-elevated-2: #F0EAE3;--border: #E4D8CC;--border-strong: #CAB5A6;--text: #1A120C;--text-muted: #5C3E36;--text-dim: #8A6860;--accent-warm: #2C1A0E;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--container: 1200px;--container-narrow: 880px;--radius: 4px;--radius-lg: 10px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--brand)}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text)}h1{font-size:clamp(2.4rem,5.5vw,4.2rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:clamp(1.3rem,2.2vw,1.75rem)}h4{font-size:.8rem;font-family:var(--font-body);font-weight:700;letter-spacing:.12em;text-transform:uppercase}p{color:var(--text-muted);font-size:1.05rem;line-height:1.7}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-bottom:1rem}.lead{font-size:1.2rem;color:var(--text);max-width:42rem;line-height:1.6}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.5rem}section{padding:clamp(4rem,9vw,7rem) 0;position:relative}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.7rem;font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:.02em;border-radius:999px;border:2px solid transparent;transition:all .22s ease;text-decoration:none;cursor:pointer;white-space:nowrap}.btn svg{width:18px;height:18px}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 8px 24px -8px #bd323773}.btn-primary:hover{background:var(--brand-bright);border-color:var(--brand-bright);color:#fff;transform:translateY(-1px);box-shadow:0 12px 32px -8px #bd32378c}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--bg-elevated-2);border-color:var(--text-muted);color:var(--text)}.btn-ghost{background:transparent;color:var(--brand);padding:.5rem 0;border-radius:0;border-bottom:2px solid var(--brand);font-size:.9rem;font-weight:700;letter-spacing:.04em}.btn-ghost:hover{color:var(--brand-bright);border-color:var(--brand-bright)}.nav{position:sticky;top:0;z-index:100;background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:0 2px 16px -8px #1a120c1f}.nav-inner{max-width:var(--container);margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-logo{display:flex;align-items:center}.nav-logo img{height:56px;width:auto;display:block}@media(max-width:700px){.nav-logo img{height:44px}}.nav-links{list-style:none;display:flex;align-items:center;gap:1.4rem;flex-wrap:nowrap;flex:1}.nav-links li{flex-shrink:0}.nav-links>li:first-child{margin-left:auto}.nav-phone-li{margin-left:auto}.nav-link{font-size:.9rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em;transition:color .2s ease}.nav-link:hover,.nav-link.active{color:var(--brand)}.nav-phone{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--brand);letter-spacing:-.01em;white-space:nowrap;transition:color .2s ease}.nav-phone:hover{color:var(--brand-bright)}.nav-cta{background:var(--brand);color:#fff;padding:.6rem 1.25rem;border-radius:6px;font-size:.88rem;font-weight:700;border:2px solid var(--brand);white-space:nowrap;transition:all .2s ease}.nav-cta:hover{background:var(--brand-bright);border-color:var(--brand-bright);color:#fff;transform:translateY(-1px)}@media(max-width:900px){.nav-links li:not(.nav-cta-li):not(.nav-phone-li){display:none}.nav-phone{font-size:.92rem}.nav-cta{padding:.55rem 1rem;font-size:.82rem}}.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;padding:clamp(5rem,10vw,8rem) 0}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fafaf7f7,#fafaf7e0 28%,#fafaf78c 58%,#fafaf714),linear-gradient(180deg,#fafaf700 55%,#fafaf799);pointer-events:none}.hero-content{position:relative;z-index:2;width:100%}.hero-inner{max-width:38rem}.hero h1{margin:.5rem 0 1.4rem}.hero h1 .accent{color:var(--brand)}.hero .hero-sub{font-size:1.15rem;color:var(--text-muted);max-width:30rem;margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem}.hero-trust{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;padding-top:1.8rem;border-top:2px solid var(--border)}.hero-trust-item{display:flex;flex-direction:column;gap:.2rem}.hero-trust-num{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--brand)}.hero-trust-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.trust-bar{background:var(--bg-warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3.2rem 0}.trust-bar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}@media(max-width:700px){.trust-bar-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}.trust-stat{display:flex;flex-direction:column;gap:.35rem;align-items:center}.trust-stat-num{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:700;color:var(--brand);line-height:1}.trust-stat-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.section-head{text-align:center;max-width:38rem;margin:0 auto 3.5rem}.section-head .eyebrow{display:inline-block}.section-head h2{margin-bottom:1rem}.section-head p{font-size:1.08rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem}.service-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.2rem 2rem;transition:all .28s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--brand);transition:width .4s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -16px #bd32372e;border-color:var(--border-strong)}.service-card:hover:before{width:100%}.service-card-num{font-family:var(--font-display);font-size:.88rem;color:var(--brand);margin-bottom:.9rem;letter-spacing:.04em}.service-card h3{font-size:1.35rem;margin-bottom:.75rem}.service-card p{font-size:.95rem;margin-bottom:1.1rem}.service-card-link{font-size:.82rem;font-weight:700;color:var(--brand);letter-spacing:.06em;text-transform:uppercase}.service-card-link:hover{color:var(--brand-bright)}.featured-block-section{background:var(--bg-warm);padding:clamp(4rem,9vw,7rem) 0}.featured-block-section.alt{background:var(--bg)}.featured-block{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.featured-block.reverse{direction:rtl}.featured-block.reverse>*{direction:ltr}@media(max-width:850px){.featured-block{grid-template-columns:1fr;gap:2.5rem}.featured-block.reverse{direction:ltr}}.featured-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px -16px #1a120c33;border:1px solid var(--border)}.featured-img img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}.featured-text{padding:.5rem 0}.featured-text .eyebrow{display:inline-block}.featured-text h2{margin-bottom:1.2rem}.featured-text p{font-size:1.05rem;margin-bottom:1rem}.featured-list{list-style:none;margin:1.4rem 0 2rem;padding:0}.featured-list li{position:relative;padding-left:1.6rem;margin-bottom:.8rem;color:var(--text);font-size:1rem}.featured-list li:before{content:"";position:absolute;left:0;top:.6rem;width:8px;height:8px;border-radius:50%;background:var(--brand)}.cta-strip{background:var(--brand);padding:2.5rem 0;position:relative;overflow:hidden}.cta-strip:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(255,255,255,.1) 0%,transparent 60%)}.cta-strip-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.cta-strip h3{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,1.9rem);color:#fff;margin:0}.cta-strip p{color:#ffffffd9;margin:.3rem 0 0;font-size:.97rem}.cta-strip .btn{background:#fff;color:var(--brand);border-color:#fff;box-shadow:0 8px 24px -8px #1a120c40}.cta-strip .btn:hover{background:var(--bg-warm);border-color:var(--bg-warm);color:var(--brand-deep)}.gallery-section{background:var(--bg)}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}@media(max-width:850px){.photo-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.photo-gallery{grid-template-columns:1fr}}.gallery-tile{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);aspect-ratio:4/3;cursor:pointer}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-tile:hover img{transform:scale(1.06)}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(26,18,12,.55) 100%);pointer-events:none}.gallery-tile-label{position:absolute;bottom:1rem;left:1.2rem;z-index:1;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.reviews-section{background:var(--bg-cool);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.reviews-wrap{position:relative;overflow:hidden;margin-top:3rem}.reviews-track{display:flex;gap:1.5rem;transition:transform .5s ease}.rv-card{flex:0 0 calc(33.333% - 1rem);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 12px 32px -16px #1a120c1f;position:relative}.rv-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand);border-radius:var(--radius-lg) var(--radius-lg) 0 0}@media(max-width:850px){.rv-card{flex:0 0 calc(50% - .75rem)}}@media(max-width:600px){.rv-card{flex:0 0 100%}}.rv-stars{font-size:1.05rem;color:#d4840a;letter-spacing:.1em;margin-bottom:.8rem}.rv-quote{color:var(--text);font-style:italic;font-size:.97rem;line-height:1.65;margin-bottom:1.2rem}.rv-author{font-size:.85rem;color:var(--text-muted);font-weight:700}.rv-author-loc{font-size:.78rem;color:var(--text-dim);margin-top:.15rem}.reviews-arrows{display:flex;gap:.8rem;justify-content:center;margin-top:2rem}.rv-arrow{width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.rv-arrow:hover{background:var(--brand);border-color:var(--brand);color:#fff}.about-strip-v2{background:var(--bg-warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-strip-v2-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}@media(max-width:800px){.about-strip-v2-inner{grid-template-columns:1fr;gap:2.5rem}}.about-strip-v2-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 24px 56px -16px #1a120c2e;aspect-ratio:4/3}.about-strip-v2-image img{width:100%;height:100%;object-fit:cover}.faq-section{background:var(--bg-cool)}.faq-list{max-width:760px;margin:3rem auto 0}.faq-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:.7rem;overflow:hidden;transition:border-color .2s ease}.faq-item.open{border-color:var(--brand)}.faq-q{padding:1.3rem 1.5rem;font-family:var(--font-body);font-size:1.02rem;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none;transition:background .2s ease}.faq-q:hover{background:var(--bg-cool)}.faq-icon{width:22px;height:22px;flex-shrink:0;font-size:1.35rem;font-weight:300;color:var(--brand);display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-item.open .faq-a{max-height:400px}.faq-a-inner{padding:0 1.5rem 1.3rem;color:var(--text-muted);font-size:.97rem;line-height:1.72}.cta-final{position:relative;padding:clamp(5rem,10vw,7rem) 0;overflow:hidden;text-align:center}.cta-final-bg{position:absolute;inset:0;z-index:0}.cta-final-bg img{width:100%;height:100%;object-fit:cover;opacity:.35}.cta-final-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fafaf7eb,#fafaf7bf,#fafaf7f5)}.cta-final-content{position:relative;z-index:1}.cta-final h2{margin-bottom:1rem}.cta-final p{font-size:1.12rem;max-width:34rem;margin:0 auto 2.5rem}.footer{background:var(--text);border-top:1px solid rgba(255,255,255,.08);padding:4rem 0 2rem}.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}@media(max-width:800px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:480px){.footer-inner{grid-template-columns:1fr}}.footer-brand p{font-size:.9rem;color:#ffffff8c;line-height:1.7;margin-top:1rem}.footer-logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:#fff}.footer-logo-accent{color:var(--brand)}.footer h4{color:#ffffff80;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem}.footer ul{list-style:none}.footer li{margin-bottom:.6rem}.footer a{color:#ffffffa6;font-size:.9rem;transition:color .2s ease}.footer a:hover{color:var(--brand-bright)}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#fff6}.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fafaf7f7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:99;padding:.75rem 1rem;box-shadow:0 -6px 24px -4px #1a120c1f}.mobile-cta-inner{display:flex;gap:.7rem;align-items:center;max-width:600px;margin:0 auto}.mobile-phone{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:var(--bg-cool);color:var(--text);border-radius:999px;font-size:.9rem;font-weight:700;flex:1;justify-content:center;border:1px solid var(--border-strong)}.mobile-phone svg{width:16px;height:16px;color:var(--brand)}.mobile-cta-bar .btn-primary{padding:.7rem 1.2rem;font-size:.85rem}@media(max-width:768px){.mobile-cta-bar{display:block}body{padding-bottom:78px}}.reveal{opacity:0;transform:translateY(28px);will-change:opacity,transform}.reveal-child{opacity:0;transform:translateY(18px);will-change:opacity,transform}.page-hero{padding:clamp(4rem,8vw,6rem) 0 clamp(3rem,6vw,4rem);background:var(--bg-warm);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:-10%;width:50%;height:100%;background:radial-gradient(ellipse at 70% 50%,rgba(189,50,55,.06) 0%,transparent 60%);pointer-events:none}.page-hero h1{margin-bottom:1rem;position:relative;z-index:1}.page-hero p{max-width:38rem;font-size:1.12rem;position:relative;z-index:1}.prose{max-width:var(--container-narrow);margin:0 auto}.prose h2{margin:2.5rem 0 1rem}.prose h3{margin:2rem 0 .8rem}.prose p{margin-bottom:1.2rem;font-size:1.08rem;line-height:1.78}.prose ul{margin:1rem 0 1.5rem 1.5rem}.prose li{margin-bottom:.5rem;color:var(--text-muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}@media(min-width:701px)and (max-width:1024px){.hero{min-height:58vh;padding:clamp(3rem,6vw,4.5rem) 0}}.contact-info-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.contact-info-row:last-child{border-bottom:none}.contact-info-icon{width:36px;height:36px;flex-shrink:0;background:var(--bg-warm);border:1px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brand)}.contact-info-icon svg{width:16px;height:16px}.contact-info-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.2rem}.contact-info-value{font-size:1.05rem;color:var(--text)}.contact-info-value a:hover{color:var(--brand)}.area-pill{display:inline-block;background:var(--bg-warm);border:1px solid var(--border-strong);padding:.35rem .85rem;border-radius:999px;font-size:.82rem;color:var(--text-muted);margin:.25rem}.form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem}.form-row{margin-bottom:1.3rem}.form-row label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--text);margin-bottom:.45rem}.form-row input,.form-row select,.form-row textarea{width:100%;padding:.85rem 1rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.97rem;transition:border-color .2s ease}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #bd32371a}.form-row textarea{min-height:120px;resize:vertical}.form button[type=submit]{width:100%;background:var(--brand);color:#fff;padding:1rem;border:none;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:.02em;transition:all .2s ease;cursor:pointer}.form button[type=submit]:hover{background:var(--brand-bright);transform:translateY(-1px)}.storm-embed{background:#0b0606;color:#f5f0ef;border-radius:var(--radius-lg);overflow:hidden;margin:2rem 0;border:2px solid var(--brand)}.text-center{text-align:center}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.service-card-media{display:block;margin:-2.2rem -2rem 1.4rem;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.service-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.service-card:hover .service-card-media img{transform:scale(1.05)}.service-card-body{display:block}.service-card h3 a{color:inherit;transition:color .2s ease}.service-card h3 a:hover{color:var(--brand)}.service-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.75rem 2.5rem;margin-top:2.5rem}.service-directory-col h3{font-size:1.02rem;color:var(--brand);margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.service-directory-col ul{list-style:none;padding:0;margin:0}.service-directory-col li{margin-bottom:.5rem;line-height:1.35}.service-directory-col a{font-size:.92rem;color:var(--text-muted);transition:color .2s ease}.service-directory-col a:hover{color:var(--brand)}a.area-pill{transition:all .2s ease}a.area-pill:hover{background:var(--brand);border-color:var(--brand);color:#fff}.area-pill-static{opacity:.7}.container-prose{max-width:var(--container-narrow);margin:0 auto}.prose-cta{margin-top:2.5rem;padding:1.75rem 2rem;background:var(--bg-warm);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-lg);text-align:center}.prose-cta h3{font-size:1.2rem;margin-bottom:.4rem}.prose-cta p{color:var(--text-muted);margin-bottom:1.25rem}.prose-cta .btn{margin:.25rem}.footer-socials{display:flex;gap:.65rem;margin-top:1.2rem}.footer a.footer-social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:var(--brand);color:#fff;transition:background .2s ease,transform .2s ease}.footer a.footer-social:hover{background:var(--brand-bright);color:#fff;transform:translateY(-2px)}.footer-social svg{width:19px;height:19px}.footer-areas-state{color:#ffffff73;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}
