:root{--primary-color:#c20000;--primary-dark:#8f0000;--primary-light:#e63333;--secondary-color:#1a1a1a;--accent-color:#f5a623;--base-light:#faf6f3;--base-tint:#f7ece9;--base-dark:#141414;--surface:#fff;--surface-elevated:#fffdfc;--text-dark:#1e1a19;--text-light:#f8fafc;--text-muted:#726b68;--border-color:#ecdedb;--success:#15803d;--warning:#b45309;--shadow-primary:rgba(194,0,0,0.10);--shadow-primary-soft:rgba(194,0,0,0.06);--seam-angle:3deg;--sp-xs:0.5rem;--sp-sm:0.75rem;--sp-md:1rem;--sp-lg:1.5rem;--sp-xl:2.5rem;--sp-2xl:4rem;--sp-3xl:6rem;--r-sm:4px;--r-md:8px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--r-sig:4px 4px 4px 32px;--sh-sm:0 2px 4px -1px rgba(194,0,0,0.06),0 1px 2px -1px rgba(194,0,0,0.05);--sh-md:0 4px 6px -1px rgba(194,0,0,0.08),0 2px 4px -2px rgba(194,0,0,0.06);--sh-lg:0 12px 20px -6px rgba(194,0,0,0.12),0 6px 8px -4px rgba(194,0,0,0.08);--sh-xl:0 24px 40px -12px rgba(194,0,0,0.18),0 12px 16px -8px rgba(194,0,0,0.10);--head:'Montserrat',system-ui,sans-serif;--body:'Open Sans',system-ui,sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--body);font-size:1rem;line-height:1.65;color:var(--text-dark);background:var(--base-light);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--head);font-weight:700;line-height:1.15;letter-spacing:-0.02em;margin:0 0 .5em;color:var(--secondary-color)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(1.875rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}h4{font-size:1.125rem}p{margin:0 0 1rem}a{color:var(--primary-color);text-decoration:none}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}.container{max-width:1280px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0 2rem}}.section{padding:3.5rem 0}@media(min-width:768px){.section{padding:5rem 0}}.section-tint{background:var(--base-tint)}.section-dark{background:var(--base-dark);color:var(--text-light)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}.text-center{text-align:center}.text-white{color:var(--text-light)!important}.lead{font-size:1.125rem;line-height:1.7;color:var(--text-muted)}.small{font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.overlay{position:absolute;inset:0}.grid-2col,.grid-3col,.grid-4col{display:grid;gap:1.5rem}@media(min-width:768px){.grid-2col{grid-template-columns:repeat(2,1fr)}.grid-3col{grid-template-columns:repeat(2,1fr)}.grid-4col{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3col{grid-template-columns:repeat(3,1fr)}.grid-4col{grid-template-columns:repeat(4,1fr)}}.flex-row{display:flex;flex-wrap:wrap;gap:1rem}.rule-heading{position:relative;padding-top:1rem;margin-bottom:1.5rem}.rule-heading::before{content:'';position:absolute;top:0;left:0;width:54px;height:5px;background:var(--primary-color);border-radius:var(--r-pill)}.text-center .rule-heading::before{left:50%;transform:translateX(-50%)}.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;display:block}.est-badge{width:104px;height:104px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--head);font-weight:700;line-height:1.05;transform:rotate(-8deg);border:3px solid rgba(255,255,255,.85);box-shadow:var(--sh-lg)}.est-badge span{font-size:1.7rem}.est-badge small{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--head);font-weight:600;font-size:1rem;padding:.85rem 1.6rem;border-radius:var(--r-pill);border:2px solid transparent;cursor:pointer;text-align:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:var(--sh-md)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--sh-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover{background:#000;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.btn-outline{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.btn-outline:active{transform:translateY(0)}.btn-outline:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.btn-light{background:#fff;color:var(--primary-color)}.btn-light:hover{background:var(--base-tint);transform:translateY(-2px)}.btn-light:focus-visible{outline:3px solid #fff;outline-offset:2px}.btn-lg{padding:1.05rem 2.2rem;font-size:1.1rem}.topbar{background:var(--secondary-color);color:var(--text-light);font-size:.85rem}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;max-width:1280px;margin:0 auto}.topbar a{color:var(--text-light)}.topbar-info{display:flex;align-items:center;gap:.5rem;min-width:0}.topbar-info .addr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-phone{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-family:var(--head)}.topbar-phone:hover{color:var(--accent-color)}@media(max-width:768px){.topbar .addr{display:none}}.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.site-header.scrolled{box-shadow:var(--sh-md)}.site-header.hide{transform:translateY(-100%)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;max-width:1280px;margin:0 auto}.logo img{height:52px;width:auto}.main-nav{display:none}@media(min-width:1024px){.main-nav{display:flex;align-items:center;gap:.25rem}}.main-nav>li{position:relative}.nav-link{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .85rem;font-family:var(--head);font-weight:600;font-size:.95rem;color:var(--secondary-color);border-radius:var(--r-md);transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1)}.nav-link:hover,.nav-link:focus-visible{color:var(--primary-color);background:var(--base-tint)}.nav-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.has-dropdown>.nav-link svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#fff;border:1px solid var(--border-color);border-radius:var(--r-md);box-shadow:var(--sh-xl);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);z-index:210}.has-dropdown:hover>.dropdown,.has-dropdown:focus-within>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}.has-dropdown:hover>.nav-link svg,.has-dropdown:focus-within>.nav-link svg{transform:rotate(180deg)}.dropdown a{display:block;padding:.55rem .75rem;font-size:.9rem;font-weight:600;font-family:var(--head);color:var(--secondary-color);border-radius:var(--r-sm);transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1)}.dropdown a:hover,.dropdown a:focus-visible{background:var(--base-tint);color:var(--primary-color)}.dropdown a:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.header-cta{display:none}@media(min-width:768px){.header-cta{display:inline-flex}}.hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:10px;background:var(--primary-color);border:none;border-radius:var(--r-md);cursor:pointer}@media(min-width:1024px){.hamburger{display:none}}.hamburger span{display:block;height:3px;background:#fff;border-radius:2px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s}.mobile-nav{position:fixed;top:0;right:0;height:100vh;width:min(86%,360px);background:var(--secondary-color);color:var(--text-light);z-index:300;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:1.25rem;box-shadow:var(--sh-xl)}.mobile-nav.open{transform:translateX(0)}.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mobile-close{background:none;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;padding:.25rem .5rem}.mobile-nav a{color:var(--text-light)}.m-item{border-bottom:1px solid rgba(255,255,255,.12)}.m-link{display:block;padding:.9rem .25rem;font-family:var(--head);font-weight:600;font-size:1.05rem}.m-acc{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;color:#fff;font-family:var(--head);font-weight:600;font-size:1.05rem;padding:.9rem .25rem;cursor:pointer}.m-acc svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.m-acc[aria-expanded=true] svg{transform:rotate(180deg)}.m-sub{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.m-sub a{display:block;padding:.55rem .25rem .55rem 1rem;font-size:.9rem;color:rgba(255,255,255,.82)}.mobile-cta{margin-top:1.25rem;display:block;text-align:center}.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s;z-index:250}.nav-backdrop.open{opacity:1;visibility:visible}.home-hero{position:relative;min-height:100vh;display:flex;align-items:center;background-color:var(--secondary-color);background-size:cover;background-position:center center;overflow:hidden}.home-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(20,20,20,.92) 0%,rgba(143,0,0,.72) 55%,rgba(194,0,0,.45) 100%);z-index:1}.home-hero::after{content:'';position:absolute;inset:0;opacity:.5;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E")}.home-hero .container{position:relative;z-index:2;width:100%}.hero-grid{display:grid;gap:2.5rem;align-items:center;padding:6rem 0 4rem}@media(min-width:1024px){.hero-grid{grid-template-columns:1.1fr .9fr;padding:7rem 0 5rem}}.hero-copy{color:var(--text-light)}.hero-copy h1{color:#fff;margin-bottom:1rem}.hero-copy p{color:rgba(255,255,255,.9);font-size:1.15rem;line-height:1.6;max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.75rem}.hero-phone{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-family:var(--head);font-weight:700;padding:.85rem 1.4rem;border:2px solid rgba(255,255,255,.55);border-radius:var(--r-pill);transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.34,1.56,.64,1)}.hero-phone:hover{background:rgba(255,255,255,.14);transform:translateY(-2px);color:#fff}.hero-phone:focus-visible{outline:3px solid #fff;outline-offset:2px}.hero-badge-wrap{margin-top:2rem}.form-card{background:var(--surface);border-radius:var(--r-lg);border-bottom-left-radius:32px;box-shadow:var(--sh-xl);padding:1.5rem}.form-card h3{color:var(--secondary-color);margin-bottom:.25rem}.form-card .trustline{color:var(--success);font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.4rem;margin-bottom:1rem}.trust-strip{background:var(--secondary-color);color:var(--text-light)}.trust-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem 1rem;text-align:center}.trust-item{display:flex;flex-direction:column;align-items:center;gap:.3rem}.trust-item strong{font-family:var(--head);font-size:1.9rem;color:var(--accent-color);line-height:1}.trust-item span{font-size:.85rem;color:rgba(255,255,255,.85)}.trust-item svg{width:34px;height:34px;color:var(--accent-color)}.card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--r-md);border-bottom-left-radius:32px;box-shadow:var(--sh-sm);overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}.service-card{padding:1.75rem;display:flex;flex-direction:column;height:100%}.service-card .icon-badge{width:64px;height:64px;border-radius:var(--r-md);background:var(--base-tint);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.service-card svg,.feature-card svg{width:40px;height:40px;max-width:64px;max-height:64px;color:var(--primary-color)}.service-card h3{margin-bottom:.5rem}.service-card p{color:var(--text-muted);font-size:.95rem;flex:1}.card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-family:var(--head);font-weight:700;color:var(--primary-color);transition:gap .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.card-link:hover{gap:.75rem;color:var(--primary-dark)}.card-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.feature-card{padding:1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--r-md);border-bottom-left-radius:32px}.feature-card .icon-badge{width:54px;height:54px;border-radius:50%;background:var(--base-tint);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}.area-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1.1rem 1.35rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--r-md);border-bottom-left-radius:24px;font-family:var(--head);font-weight:600;color:var(--secondary-color);box-shadow:var(--sh-sm);transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s,border-color .2s}.area-card:hover{transform:translateY(-4px);color:var(--primary-color);border-color:var(--primary-color)}.area-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.area-card svg{width:20px;height:20px;color:var(--primary-color)}.photo{position:relative;overflow:hidden;border-radius:var(--r-md);border-bottom-left-radius:32px;box-shadow:var(--sh-md);aspect-ratio:4/3;background:var(--base-tint)}.photo::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(194,0,0,.10),rgba(20,20,20,.28));mix-blend-mode:multiply;pointer-events:none}.photo img,.photo>div{width:100%;height:100%;object-fit:cover}.photo-16x9{aspect-ratio:16/9}.photo-1x1{aspect-ratio:1/1}.gallery-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}form label{display:block;font-family:var(--head);font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--secondary-color)}form input,form textarea,form select{width:100%;padding:.75rem .9rem;font-family:var(--body);font-size:1rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:#fff;margin-bottom:1rem;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow-primary)}form textarea{min-height:120px;resize:vertical}.child-hero{position:relative;min-height:340px;display:flex;align-items:center;background-color:var(--secondary-color);background-size:cover;background-position:center center;overflow:hidden}.child-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(20,20,20,.9) 0%,rgba(143,0,0,.72) 60%,rgba(194,0,0,.5) 100%);z-index:1}.child-hero .container{position:relative;z-index:2;padding-top:3rem;padding-bottom:3rem}.child-hero h1{color:#fff;margin-bottom:.5rem}.child-hero p{color:rgba(255,255,255,.9);font-size:1.1rem;max-width:40rem;margin:0}.breadcrumb{color:rgba(255,255,255,.85);font-size:.85rem;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem}.breadcrumb a{color:rgba(255,255,255,.85)}.breadcrumb a:hover{color:#fff;text-decoration:underline}.breadcrumb span{margin:0 .4rem;color:var(--accent-color)}.cta-band{position:relative;background:var(--primary-color);color:#fff;overflow:hidden}.cta-band::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,var(--primary-dark),var(--primary-color));z-index:0}.cta-band .container{position:relative;z-index:1}.cta-band h2{color:#fff}.cta-band p{color:rgba(255,255,255,.9)}.quote-band{background:var(--secondary-color);color:var(--text-light);text-align:center}.quote-band h2{color:#fff}.quote-band p{color:rgba(255,255,255,.85);max-width:38rem;margin:0 auto 1.5rem}.split{display:grid;gap:2.5rem;align-items:center}@media(min-width:1024px){.split{grid-template-columns:1fr 1fr}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat{text-align:center;padding:1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--r-md);border-bottom-left-radius:24px}.stat strong{display:block;font-family:var(--head);font-size:2.5rem;color:var(--primary-color);line-height:1}.stat span{color:var(--text-muted);font-size:.9rem}.check-list li{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.85rem;line-height:1.55}.check-list svg{flex-shrink:0;width:24px;height:24px;color:var(--success);margin-top:2px}.faq-item{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--r-md);border-bottom-left-radius:24px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--sh-sm)}.faq-item h3{font-size:1.1rem;margin-bottom:.6rem;color:var(--secondary-color)}.faq-item p{margin:0;color:var(--text-muted)}.map-box{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);min-height:360px}.contact-info-list li{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.25rem}.contact-info-list svg{flex-shrink:0;width:24px;height:24px;color:var(--primary-color);margin-top:3px}.contact-info-list a{color:var(--text-dark)}.contact-info-list a:hover{color:var(--primary-color)}.divider{height:1px;background:var(--border-color);border:0;margin:0}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.34,1.56,.64,1)}.fade-in.visible{opacity:1;transform:none}.site-footer{background:var(--base-dark);color:var(--text-light);padding-top:3.5rem}.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}.site-footer h4{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.1rem}.site-footer p,.site-footer a,.site-footer li{color:rgba(255,255,255,.75);font-size:.92rem}.site-footer .footer-links a{display:block;padding:.35rem 0;transition:color .2s cubic-bezier(.4,0,.2,1),padding-left .2s cubic-bezier(.4,0,.2,1)}.site-footer .footer-links a:hover{color:#fff;padding-left:.35rem}.footer-logo img{height:56px;margin-bottom:1rem;background:#fff;padding:.4rem .6rem;border-radius:var(--r-sm)}.social-row{display:flex;gap:.6rem;margin-top:1rem}.social-row a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.34,1.56,.64,1)}.social-row a:hover{background:var(--primary-color);transform:translateY(-3px)}.social-row a:focus-visible{outline:2px solid #fff;outline-offset:2px}.social-row svg{width:20px;height:20px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding:1.5rem 0;font-size:.82rem;color:rgba(255,255,255,.6)}.footer-bottom .container{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:center}.footer-bottom a{color:rgba(255,255,255,.7)}.footer-bottom a:hover{color:#fff}.powered a{color:rgba(255,255,255,.5)}.mb-0{margin-bottom:0}.mt-2{margin-top:1.5rem}@media print{.site-header,.mobile-nav,.nav-backdrop,.cta-band,.quote-band,.topbar{display:none!important}body{color:#000}}
/* ApexOS repair: bridge the gap between a nav item and its drop-down so moving
   the pointer into the menu does not close it. */
.dropdown::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:18px;background:transparent;}
