*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--burgundy: #8E2335;--burgundy-dark: #6B1A28;--burgundy-light: #A82D42;--burgundy-bg: #FDF5F6;--burgundy-bg-deep: #F8ECED;--slate-900: #0F172A;--slate-800: #1E293B;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748B;--slate-400: #94A3B8;--slate-300: #CBD5E1;--slate-200: #E2E8F0;--slate-100: #F1F5F9;--slate-50: #F8FAFC;--white: #FFFFFF;--gold: #C5993A;--gold-light: #F5ECD7;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container: 1400px;--container-narrow: 1060px;--header-height: 80px;--top-bar-height: 36px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1);--shadow-xl: 0 24px 64px rgba(15, 23, 42, .12);--transition: .25s cubic-bezier(.4, 0, .2, 1)}html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--slate-800);background:var(--white);min-height:100%;line-height:1.6;font-size:16px;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--slate-900)}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.container{max-width:var(--container);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1;letter-spacing:.01em}.btn-primary{background:var(--burgundy);color:var(--white);border-color:var(--burgundy)}.btn-primary:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);transform:translateY(-1px);box-shadow:0 8px 24px #8e23354d}.btn-outline{background:transparent;color:var(--burgundy);border-color:var(--burgundy)}.btn-outline:hover{background:var(--burgundy);color:var(--white);transform:translateY(-1px)}.btn-white{background:var(--white);color:var(--burgundy);border-color:var(--white)}.btn-white:hover{background:var(--slate-50);transform:translateY(-1px);box-shadow:0 8px 24px #00000026}.btn-ghost{background:#ffffff1f;color:var(--white);border-color:#ffffff4d;backdrop-filter:blur(8px)}.btn-ghost:hover{background:#fff3;border-color:#ffffff80}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:1.125rem 2.25rem;font-size:1rem}.section{padding:clamp(4rem,8vw,7rem) 0}.section-label{font-family:var(--font-body);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--burgundy);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.section-label:before{content:"";display:block;width:24px;height:2px;background:var(--burgundy)}.section-heading{margin-bottom:1.25rem}.section-subheading{font-family:var(--font-body);font-size:clamp(1.0625rem,1.5vw,1.1875rem);font-weight:400;color:var(--slate-600);line-height:1.7;max-width:640px;margin-bottom:1rem}.site-header{position:sticky;top:0;z-index:1000;transition:box-shadow var(--transition)}.site-header.scrolled{box-shadow:var(--shadow-md)}.header-top-bar{background:var(--slate-900);color:var(--slate-300);font-size:.8125rem;padding:.5rem 0}.header-top-inner{display:flex;justify-content:space-between;align-items:center}.top-bar-text{font-weight:500;letter-spacing:.03em}.top-bar-phone{display:flex;align-items:center;gap:.375rem;color:var(--white);font-weight:600;transition:color var(--transition)}.top-bar-phone:hover{color:var(--burgundy-light)}.main-nav{background:var(--white);border-bottom:1px solid var(--slate-200);position:relative}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.nav-logo img{height:48px;width:auto}.nav-links{display:flex;gap:.25rem}.nav-link{padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:var(--slate-700);border-radius:var(--radius-sm);transition:all var(--transition);position:relative}.nav-link:hover{color:var(--burgundy);background:var(--burgundy-bg)}.nav-link.active{color:var(--burgundy);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:1rem;right:1rem;height:2px;background:var(--burgundy);border-radius:1px}.nav-actions{display:flex;align-items:center;gap:1rem}.nav-phone{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--burgundy);background:var(--burgundy-bg);transition:all var(--transition)}.nav-phone:hover{background:var(--burgundy);color:var(--white)}.nav-cta{padding:.625rem 1.5rem}.nav-item-dropdown{position:static;display:flex;align-items:center}.has-dropdown{display:inline-flex;align-items:center;gap:.3rem}.dropdown-chevron{transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.5}.nav-item-dropdown.open .dropdown-chevron{transform:rotate(180deg);opacity:1}.nav-item-dropdown.open .has-dropdown{color:var(--burgundy);background:var(--burgundy-bg)}.mega-menu{position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:3px solid var(--burgundy);box-shadow:0 20px 60px #0f172a1a,0 4px 16px #0f172a0d;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),visibility .25s;z-index:100;pointer-events:none}.mega-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.mega-menu-content{padding:1.75rem 0 1.5rem}.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}.mega-card{display:flex;align-items:center;gap:.875rem;padding:.75rem .875rem;border-radius:var(--radius-md);transition:all var(--transition)}.mega-card:hover{background:var(--burgundy-bg)}.mega-card-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--burgundy-bg);color:var(--burgundy);transition:all var(--transition)}.mega-card-icon svg{width:24px;height:24px}.mega-card:hover .mega-card-icon{background:var(--burgundy);color:var(--white)}.mega-card-label{font-size:.9375rem;font-weight:600;color:var(--slate-800);transition:color var(--transition)}.mega-card:hover .mega-card-label{color:var(--burgundy)}.mega-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;margin-top:1rem;border-top:1px solid var(--slate-200)}.mega-footer-text{font-size:.875rem;color:var(--slate-500);font-weight:500}.mega-footer-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--burgundy);font-size:.9375rem;transition:all var(--transition)}.mega-footer-link:hover{gap:.75rem;color:var(--burgundy-dark)}.mega-footer-link svg{transition:transform var(--transition)}.mega-footer-link:hover svg{transform:translate(2px)}.mega-menu--dark{background:var(--white);box-shadow:0 20px 60px #0f172a1a,0 4px 16px #0f172a0d}.loc-bg-pattern{position:absolute;inset:0;opacity:.03;background-image:radial-gradient(circle at 1px 1px,var(--burgundy) .5px,transparent 0);background-size:20px 20px;pointer-events:none}.loc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.loc-region{padding:0 1.125rem;border-right:1px solid var(--slate-200)}.loc-region:first-child{padding-left:0}.loc-region:last-child{border-right:none;padding-right:0}.loc-region-name{font-family:var(--font-body);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--burgundy-bg-deep);display:flex;align-items:center;gap:.375rem}.loc-region-name svg{opacity:.7}.loc-state-link{display:block;padding:.3125rem 0;font-size:.875rem;font-weight:450;color:var(--slate-600);transition:all .2s ease}.loc-state-link:hover{color:var(--burgundy);padding-left:4px}.loc-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid var(--slate-200)}.loc-footer-stat{font-size:.875rem;color:var(--slate-500);font-weight:500}.loc-footer-stat strong{color:var(--slate-800);font-weight:700}.loc-footer-link{color:var(--burgundy)!important}.loc-footer-link:hover{color:var(--burgundy-dark)!important}.mobile-sub-icon--loc{background:var(--slate-100);color:var(--slate-600)}@media(max-width:1024px)and (min-width:769px){.mega-grid{grid-template-columns:repeat(2,1fr)}.loc-grid{grid-template-columns:repeat(3,1fr);gap:1rem 0}}.mobile-fac-toggle{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;font-size:1.0625rem;font-weight:500;color:var(--slate-700);border-bottom:1px solid var(--slate-100);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.mobile-chevron{transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-fac-toggle.open .mobile-chevron{transform:rotate(180deg)}.mobile-fac-toggle.open{color:var(--burgundy);border-bottom-color:transparent}.mobile-fac-submenu{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1);border-bottom:1px solid var(--slate-100)}.mobile-fac-submenu.open{max-height:500px}.mobile-sub-link{display:flex;align-items:center;gap:.75rem;padding:.5rem 0 .5rem .5rem;font-size:.9375rem;color:var(--slate-600);transition:color var(--transition)}.mobile-sub-link:hover,.mobile-sub-link:active{color:var(--burgundy)}.mobile-sub-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--burgundy-bg);color:var(--burgundy);flex-shrink:0}.mobile-sub-icon svg{width:18px;height:18px}.mobile-see-all{font-weight:600;color:var(--burgundy);padding-left:.5rem;padding-top:.625rem;padding-bottom:.75rem;gap:.5rem}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger span{display:block;width:24px;height:2px;background:var(--slate-800);transition:all .3s;border-radius:1px}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{display:none;background:var(--white);border-bottom:1px solid var(--slate-200);overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.mobile-menu.open{max-height:700px}.mobile-menu-inner{padding:1rem clamp(1.25rem,4vw,3rem) 1.5rem;display:flex;flex-direction:column;gap:.25rem}.mobile-link{padding:.75rem 0;font-size:1.0625rem;font-weight:500;color:var(--slate-700);border-bottom:1px solid var(--slate-100)}.mobile-divider{border:none;border-top:1px solid var(--slate-200);margin:.5rem 0}.mobile-phone{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-weight:600;color:var(--burgundy)}@media(max-width:768px){.nav-links,.nav-actions{display:none}.hamburger{display:flex}.mobile-menu{display:block}.top-bar-text{display:none}.header-top-inner{justify-content:center}.nav-logo img{height:40px}}.site-footer{background:var(--slate-900);color:var(--slate-400)}.footer-main{padding:clamp(3rem,6vw,5rem) 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}.footer-logo{height:48px;width:auto;filter:brightness(0) invert(1);margin-bottom:1.25rem}.footer-tagline{font-size:.9375rem;line-height:1.7;margin-bottom:1.5rem;color:var(--slate-400)}.footer-certifications{display:flex;flex-wrap:wrap;gap:.5rem}.cert-badge{display:inline-block;padding:.375rem .75rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--slate-300)}.footer-col h4{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--white);margin-bottom:1.25rem}.footer-col a{display:block;font-size:.9375rem;color:var(--slate-400);padding:.25rem 0;transition:color var(--transition)}.footer-col a:hover{color:var(--white)}.footer-phone-link{display:flex!important;align-items:center;gap:.5rem;font-weight:600;color:var(--white)!important}.footer-address{font-size:.9375rem;margin:.5rem 0 1.25rem}.footer-cta{display:inline-flex;border-color:#ffffff40!important;color:var(--white)!important}.footer-cta:hover{background:var(--white)!important;color:var(--slate-900)!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 0}.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.footer-note{color:var(--slate-500)}@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom-inner{flex-direction:column;gap:.5rem;text-align:center}}.img-placeholder{background:linear-gradient(135deg,var(--slate-100) 0%,var(--slate-200) 100%);display:flex;align-items:center;justify-content:center;color:var(--slate-400);font-size:.875rem;font-weight:500;text-align:center;padding:1rem;overflow:hidden;position:relative}.img-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(142,35,53,.04) 100%)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}
