:root{--font-head: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--bg: #fbf9f6;--nav-bg: #fbf9f6;--surface: #f2ede5;--surface-2: #e8e1d6;--input-bg: #f4efe8;--border: #e6ded2;--border-md: #d3c8b8;--accent: #B5392E;--accent-hover: #97291f;--accent-dark: #5a1109;--accent-light: #f6e7e3;--steel: #292524;--steel-hover: #161312;--steel-light: #efe9e1;--text-primary: #211d1a;--text-body: #57514a;--text-muted: #8c8378}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--text-body);background:var(--bg);margin:0;padding:0;-webkit-font-smoothing:antialiased}h1{font-family:var(--font-head);font-size:clamp(38px,5.4vw,62px);font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:1.05;margin:0 0 22px}h2{font-family:var(--font-head);font-size:clamp(28px,3.2vw,42px);font-weight:500;letter-spacing:-.012em;color:var(--text-primary);line-height:1.15;margin:0 0 18px}h3{font-family:var(--font-head);font-size:22px;font-weight:600;letter-spacing:-.005em;color:var(--text-primary);margin:0 0 10px}p{margin:0 0 16px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}.sec-label{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:16px}.sec-label:before{content:"";width:24px;height:1.5px;background:var(--accent);display:inline-block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:80px 0}.section-sm{padding:48px 0}.btn-g{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:15px 30px;border-radius:3px;font-size:14px;font-weight:600;letter-spacing:.02em;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .1s;min-height:46px}.btn-g:hover{background:var(--accent-hover);transform:translateY(-1px);text-decoration:none;color:#fff}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--steel);border:1.5px solid var(--steel);padding:14px 28px;border-radius:3px;font-size:14px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .2s,color .2s;min-height:46px}.btn-outline:hover{background:var(--steel);color:#fff;text-decoration:none}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);padding:14px 28px;border-radius:3px;font-size:14px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .2s;min-height:46px}.btn-ghost:hover{background:#ffffff26;text-decoration:none;color:#fff}.reveal{transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.anim{opacity:0;transform:translateY(30px)}.reveal.visible{opacity:1!important;transform:translateY(0)!important}.stagger>*{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.stagger.visible>*{opacity:1;transform:translateY(0)}.stagger.visible>*:nth-child(1){transition-delay:.05s}.stagger.visible>*:nth-child(2){transition-delay:.15s}.stagger.visible>*:nth-child(3){transition-delay:.25s}.stagger.visible>*:nth-child(4){transition-delay:.35s}.stagger.visible>*:nth-child(5){transition-delay:.45s}.stagger.visible>*:nth-child(6){transition-delay:.55s}@keyframes heroRise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.hero-rise>*{opacity:0;animation:heroRise .85s cubic-bezier(.16,1,.3,1) forwards}.hero-rise>*:nth-child(1){animation-delay:.1s}.hero-rise>*:nth-child(2){animation-delay:.22s}.hero-rise>*:nth-child(3){animation-delay:.36s}.hero-rise>*:nth-child(4){animation-delay:.5s}.hero-rise>*:nth-child(5){animation-delay:.64s}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.07)}}.ken-burns{animation:kenBurns 18s ease-out forwards;transform-origin:center 40%;will-change:transform}.sec-label:before{transition:width .7s cubic-bezier(.16,1,.3,1) .15s}.reveal.anim .sec-label:before{width:0}.reveal.visible .sec-label:before{width:24px}.stat-count{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.reveal,.reveal.anim,.reveal.visible,.stagger>*,.stagger.visible>*,.hero-rise>*{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.ken-burns{animation:none!important}html{scroll-behavior:auto}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav{position:sticky;top:0;z-index:9999;background:#fbf9f6d9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border);box-shadow:0 1px 8px #0000000a;transition:box-shadow .25s ease,background .25s ease}nav.scrolled{box-shadow:0 6px 22px #2925241a;background:#fbf9f6f0}nav.scrolled .nav-inner{height:64px}.nav-inner{transition:height .25s ease}.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:72px}.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-logo img{height:46px;width:auto}.nav-logo:hover{text-decoration:none}.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{font-size:14px;font-weight:500;color:var(--text-body);text-decoration:none;padding:6px 14px;border-radius:6px;transition:color .15s,background .15s;position:relative}.nav-links a:hover{color:var(--text-primary);background:var(--surface);text-decoration:none}.nav-links a[aria-current=page]{color:var(--accent);font-weight:600}.nav-links a[aria-current=page]:after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:2px;background:var(--accent);border-radius:2px}.nav-cta{background:var(--accent)!important;color:#fff!important;padding:9px 22px!important;border-radius:8px;font-weight:600!important;transition:background .2s!important}.nav-cta:hover{background:var(--accent-hover)!important;color:#fff!important}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;min-height:44px;min-width:44px;align-items:center;justify-content:center}.hamburger span{width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .2s}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}#mobileMenu{display:none;position:fixed;inset:72px 0 0;background:var(--bg);z-index:10000;overflow-y:auto;padding:24px;border-top:1px solid var(--border)}#mobileMenu.open{display:block}.mob-menu-links{list-style:none;margin:0 0 24px;padding:0}.mob-menu-links li{border-bottom:1px solid var(--border)}.mob-menu-links a{display:block;padding:16px 0;font-size:18px;font-weight:600;color:var(--text-primary);text-decoration:none}.mob-menu-links a[aria-current=page]{color:var(--accent)}.mob-cta{display:flex;flex-direction:column;gap:12px;margin-top:24px}.mob-contact{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.mob-contact p{font-size:13px;color:var(--text-muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em}.mob-contact a{color:var(--text-primary);font-weight:700;font-size:18px;text-decoration:none}.skip-link{position:absolute;top:-100px;left:16px;z-index:9999;background:var(--accent);color:#fff;padding:8px 16px;border-radius:4px;font-weight:600;transition:top .2s}.skip-link:focus{top:16px}.stats-bar{background:var(--steel);padding:40px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.stat-num{display:block;font-size:clamp(24px,4vw,40px);font-weight:900;color:#fff}.stat-label{display:block;font-size:12px;color:#ffffffbf;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.svc-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:34px;transition:border-color .2s,box-shadow .2s,transform .2s}.svc-card:hover{border-color:var(--accent);box-shadow:0 10px 34px #29252417;transform:translateY(-3px)}.svc-icon-wrap{width:52px;height:52px;border-radius:4px;background:var(--accent-light);border:1px solid #ecc9c3;display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0}.svc-icon-wrap svg{width:26px;height:26px}.cta-band{background:transparent;padding:56px 0 0;text-align:center}.cta-band>.container{background:var(--accent);border-radius:16px;padding:60px 40px;position:relative;z-index:3;margin-bottom:-56px;box-shadow:0 30px 66px #b5392e42}.cta-band h2{color:#fff}.cta-band p{color:#ffffffeb;margin-bottom:32px}@media (max-width: 600px){.cta-band>.container{padding:40px 24px;border-radius:14px;margin-left:4px;margin-right:4px}}.dark-band{background:var(--steel);padding:80px 0;text-align:center}.dark-band h2{color:#fff}.dark-band p{color:#ffffffe0;margin-bottom:32px}.contact-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:5px}.contact-form input,.contact-form textarea{background:#fff;border:1.5px solid var(--border-md);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:16px;font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b5392e1f}.contact-form textarea{resize:vertical;min-height:100px}.form-consent{font-size:12px;color:var(--text-muted);margin:0}.form-consent a{color:var(--text-muted);text-decoration:underline}.form-success{background:#ecf6ec;border:1px solid #a8d4a4;border-radius:8px;padding:16px;color:#256020}.form-error{background:#fef2ec;border:1px solid #f5c4a4;border-radius:8px;padding:16px;color:#a03808}.form-success p,.form-error p{margin:0}.page-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:72px 0}.page-hero-inner{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center}.page-hero-full{text-align:center;max-width:720px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{overflow:hidden;border-radius:4px;aspect-ratio:1;background:var(--surface-2)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.04)}.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-badge{display:flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--border);border-radius:40px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--text-body);box-shadow:0 1px 4px #0000000d}.trust-badge .check{color:var(--accent);font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-photo{border-radius:4px;overflow:hidden;box-shadow:0 14px 44px #29252429}.about-photo img{width:100%;height:460px;object-fit:cover}.val-grid,.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.col-2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}#fab-phone{position:fixed;bottom:24px;left:24px;z-index:990;background:var(--accent);color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #b5392e66;text-decoration:none;transition:background .2s,transform .15s}#fab-phone:hover{background:var(--accent-hover);transform:scale(1.08)}#fab-phone svg{width:22px;height:22px;fill:#fff}#cookieBanner{position:fixed;bottom:24px;right:24px;max-width:420px;background:#fff;border:1px solid var(--border-md);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;z-index:9999;box-shadow:0 8px 32px #0000001f}#cookieBanner p{margin:0;font-size:13px;color:var(--text-body);flex:1;min-width:200px}.cookie-btns{display:flex;gap:8px;flex-shrink:0}footer{background:#1a1d21;color:#ccc;padding:104px 0 32px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;margin-bottom:48px}.footer-brand p{font-size:14px;color:#999;margin-top:14px;max-width:290px}.footer-logo-chip{display:inline-block;background:#fff;padding:10px 14px;border-radius:10px}.footer-logo-chip img{height:40px;width:auto}.footer-col h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#888;margin:0 0 16px}.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.footer-col ul li a{font-size:14px;color:#aaa;text-decoration:none;transition:color .15s}.footer-col ul li a:hover{color:var(--accent);text-decoration:none}.footer-contact-item{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.footer-contact-item .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#666}.footer-contact-item a{font-size:15px;font-weight:600;color:#ddd;text-decoration:none}.footer-contact-item a:hover{color:var(--accent)}.footer-areas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:22px 0;border-top:1px solid #333;margin-bottom:4px}.footer-areas-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#777}.footer-areas a{font-size:13px;color:#aaa;text-decoration:none}.footer-areas a:hover{color:var(--accent)}.footer-areas-all{font-weight:600;color:#ccc!important}.footer-bottom{border-top:1px solid #333;padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-bottom p{font-size:13px;color:#666;margin:0}.footer-bottom a{color:#888}.footer-legal{display:flex;gap:20px;list-style:none;margin:0;padding:0}.footer-legal a{font-size:13px;color:#666;text-decoration:none}.footer-legal a:hover{color:var(--accent)}.footer-social{display:flex;gap:12px;margin-top:16px}.social-icon{color:#666;transition:color .2s;display:flex;align-items:center}.social-icon:hover{color:var(--accent)}.social-icon svg{width:20px;height:20px;fill:currentColor}@media (max-width: 1100px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 960px){nav[aria-label=Breadcrumb]{display:none!important}.nav-links{display:none}.hamburger{display:flex}.page-hero-inner{grid-template-columns:1fr}.sidebar-form{order:2}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr!important;gap:40px;text-align:center}.about-grid .trust-strip{justify-content:center}.val-grid,.step-grid{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)}.about-photo img{height:auto;max-height:360px}}@media (max-width: 600px){.services-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;padding-bottom:12px;margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.services-grid::-webkit-scrollbar{height:4px}.services-grid::-webkit-scrollbar-track{background:var(--surface-2);border-radius:2px}.services-grid::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px}.svc-card{min-width:260px;max-width:280px;flex-shrink:0;scroll-snap-align:start}.val-grid,.step-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;padding-bottom:12px}.val-grid>*,.step-grid>*{min-width:240px;flex-shrink:0;scroll-snap-align:start}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}#cookieBanner{left:16px;right:16px;bottom:16px;max-width:none}.section{padding:44px 0}.section-sm{padding:28px 0}.page-hero{padding:40px 0}.cta-band,.dark-band{padding:44px 0}.svc-card{padding:20px}}@media (max-width: 480px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 760px){.section .sec-label,.reveal .sec-label{justify-content:center}.svc-card{text-align:center}.svc-icon-wrap{margin-left:auto;margin-right:auto}.why-list{align-items:center}.why-item{justify-content:center;text-align:left;max-width:340px;margin:0 auto}.loc-body,.loc-body .sec-label{text-align:center}.loc-body .sec-label{justify-content:center}.loc-fact{text-align:left}.loc-svc-grid,.loc-nearby{justify-content:center}}
