:root{--color-bg: #f0ece6;--color-surface: #e6e0d8;--color-surface-dark: #1c1c1c;--color-surface-inverse: #111111;--color-text: #1a1a1a;--color-text-muted: #5c5752;--color-text-inverse: #f0ece6;--color-text-inverse-muted: #9a948e;--color-primary: #111111;--color-primary-contrast: #f0ece6;--color-accent: #A70E13;--color-accent-light: #cc2a2f;--color-border: #cdc6bc;--color-border-dark: #2e2e2e;--font-heading: "Outfit", sans-serif;--font-body: "Hanken Grotesk", sans-serif;--font-size-base: 16px;--font-size-h1: clamp(3.5rem, 10vw, 8rem);--font-size-h2: clamp(2.2rem, 5vw, 3.5rem);--font-size-h3: clamp(1.4rem, 3vw, 1.9rem);--line-height-base: 1.6;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-button: 0px;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 16px rgba(0,0,0,.18);--shadow-heavy: 0 8px 40px rgba(0,0,0,.35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:var(--font-size-base)}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:var(--line-height-base);overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.animate-in{opacity:0;transform:translate3d(0,24px,0);transition:opacity .6s ease .25s,transform .6s ease .25s}.animate-in.visible{opacity:1;transform:none}.animate-in.delay-1{transition-delay:.35s}.animate-in.delay-2{transition-delay:.5s}.animate-in.delay-3{transition-delay:.65s}#menu-toggle,#services-mobile-toggle{display:none}.menu-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}.menu-btn span{display:block;width:26px;height:2px;background:var(--color-text-inverse);transition:all .3s}#menu-toggle:checked~.site-header .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}#menu-toggle:checked~.site-header .menu-btn span:nth-child(2){opacity:0}#menu-toggle:checked~.site-header .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}#menu-toggle:checked~.site-header .mobile-nav{max-height:600px;border-top:1px solid var(--color-border-dark)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#111111f5;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border-dark)}.header-inner{max-width:1320px;margin:0 auto;padding:0 var(--space-md);display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--space-md)}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.logo-text{font-family:var(--font-heading);font-weight:900;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-inverse);line-height:1.15;white-space:nowrap}.logo-text span{color:var(--color-accent)}.logo-sub{display:block;font-size:.6rem;letter-spacing:.18em;color:var(--color-text-inverse-muted);font-weight:600}.header-nav{display:flex;align-items:center;align-self:stretch;gap:var(--space-md)}.header-nav>a,.header-nav .nav-dropdown>a{font-family:var(--font-heading);font-weight:700;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted);transition:color .2s;display:flex;align-items:center;height:100%;gap:4px}.header-nav>a:hover,.header-nav .nav-dropdown>a:hover{color:var(--color-accent)}.nav-dropdown{position:relative;height:100%}.nav-dropdown-chevron{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s;flex-shrink:0}.nav-dropdown:hover .nav-dropdown-chevron{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:50%;margin-top:10px;transform:translate(-50%) translateY(-6px);background:#111111fa;border:1px solid var(--color-border-dark);border-top:2px solid var(--color-accent);min-width:220px;padding:var(--space-xs) 0;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow-md)}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-dropdown-menu a{display:block;font-family:var(--font-heading);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted);padding:10px 18px;transition:color .15s,background .15s;white-space:nowrap}.nav-dropdown-menu a:hover{color:var(--color-accent);background:#e07b2014}.mobile-services-check{display:none}.mobile-services-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-dark)}.mobile-services-row>a{flex:1;padding:14px var(--space-md);font-family:var(--font-heading);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted);font-size:1rem;display:block}.mobile-services-toggle-btn{padding:14px var(--space-md);cursor:pointer;user-select:none;flex-shrink:0}.mobile-services-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-text-inverse-muted);transition:transform .25s}.mobile-services-sub{max-height:0;overflow:hidden;transition:max-height .4s ease;background:#00000040}.mobile-services-sub a{display:block;font-family:var(--font-heading);font-weight:600;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted);padding:11px var(--space-md) 11px calc(var(--space-md) + 14px);border-bottom:1px solid rgba(255,255,255,.04);transition:color .2s}.mobile-services-sub a:hover{color:var(--color-accent)}.mobile-services-sub a:before{content:"— ";color:var(--color-accent)}#mobile-services-check:checked~.mobile-nav .mobile-services-sub{max-height:500px}#mobile-services-check:checked~.mobile-nav .mobile-services-arrow{transform:rotate(180deg)}.header-phone{font-family:var(--font-heading);font-weight:800;font-size:1rem;letter-spacing:.04em;color:var(--color-accent);white-space:nowrap;display:flex;align-items:center;gap:6px}.header-phone svg{flex-shrink:0}.mobile-nav{display:none;flex-direction:column;background:var(--color-surface-inverse);max-height:0;overflow:hidden;transition:max-height .35s ease}.mobile-nav>a{font-family:var(--font-heading);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted);padding:14px var(--space-md);border-bottom:1px solid var(--color-border-dark);font-size:1rem;transition:color .2s;display:block}.mobile-nav>a:hover{color:var(--color-accent)}@media(max-width:900px){.header-nav{display:none}.menu-btn,.mobile-nav{display:flex}}@media(max-width:900px){.header-phone{display:none}}@media(max-width:480px){.logo{font-size:1rem}.header-inner{padding:0 16px}}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--color-accent);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;padding:14px 28px;border-radius:var(--radius-button);transition:background .2s,transform .15s;border:2px solid transparent}.btn-primary:hover{background:var(--color-accent-light);transform:translateY(-1px)}.btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}.section-wrap{max-width:1320px;margin:0 auto;padding:0 var(--space-md)}.section-label{font-family:var(--font-heading);font-weight:700;font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-accent);display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.section-label:before{content:"";display:block;width:32px;height:2px;background:var(--color-accent)}.site-footer{background:#0a0a0a;border-top:1px solid var(--color-border-dark);padding:var(--space-md) 0}.footer-inner{max-width:1320px;margin:0 auto;padding:0 var(--space-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.footer-logo{font-family:var(--font-heading);font-weight:900;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse)}.footer-logo span{color:var(--color-accent)}.footer-copy{font-size:.8rem;color:var(--color-text-inverse-muted);text-align:center}.footer-ccb{font-family:var(--font-heading);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse-muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
