:root{--primary:#ab381e;--accent:#e66330;--bg:#f8e9dd;--surface:#f0dac7;--text:#1d100a;--muted:#755341;--white:#fff;--radius:12px;--shadow:0 2px 12px rgba(29,16,10,.08);--transition:.3s ease}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{font-family:'Source Serif 4',Georgia,serif;font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4,.wordmark{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;line-height:1.15;overflow-wrap:anywhere;hyphens:none}h1{font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.02em}h2{font-size:clamp(1.7rem,3.5vw,2.2rem);letter-spacing:-.01em}h3{font-size:1.15rem}.section-inner{max-width:1200px;margin:0 auto;padding:0 24px}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:var(--white);padding:14px 32px;border-radius:var(--radius);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:1rem;border:0;cursor:pointer;transition:background var(--transition),transform var(--transition)}.btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--primary);border:2px solid var(--primary);padding:12px 28px;border-radius:var(--radius);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:background var(--transition),color var(--transition)}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-sm{display:inline-block;padding:8px 18px;background:var(--surface);color:var(--primary);border-radius:8px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:.88rem;transition:background var(--transition),color var(--transition)}.btn-sm:hover{background:var(--primary);color:var(--white)}[hidden]{display:none!important}.nav{position:sticky;top:0;z-index:1000;background:var(--bg);border-bottom:1px solid var(--surface);padding:0 24px}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.nav-brand{display:flex;align-items:center;gap:10px;flex-shrink:1;min-width:0}.nav-brand .wordmark{font-size:1.2rem;white-space:normal;overflow-wrap:anywhere;hyphens:none}.biz-logo{height:40px;width:auto;max-width:140px;object-fit:contain}[data-shape="tall"] .biz-logo,.biz-logo[data-shape="tall"]{height:44px}[data-shape="wide"] .biz-logo,.biz-logo[data-shape="wide"]{height:36px}.nav-links{display:flex;align-items:center;gap:24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:500}.nav-links a{font-size:.95rem;transition:color var(--transition)}.nav-links a:hover{color:var(--primary)}.nav-links .nav-login{color:var(--muted);font-size:.88rem}.nav-social{display:flex;align-items:center;gap:10px;margin-left:8px}.nav-social a{color:var(--muted);display:flex;align-items:center}.nav-actions{display:flex;align-items:center;gap:12px}.btn-nav-call{padding:8px 18px;background:var(--primary);color:var(--white);border-radius:var(--radius);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:.9rem;white-space:nowrap;transition:background var(--transition)}.btn-nav-call:hover{background:var(--accent)}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:var(--transition)}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;overflow:hidden}.hero-text{display:flex;flex-direction:column;justify-content:center;padding:80px 48px;background:var(--text);color:var(--bg);position:relative;z-index:2}.hero-text h1{color:var(--white);margin-bottom:16px}.hero-sub{font-family:'Source Serif 4',serif;font-size:1.15rem;color:var(--surface);margin-bottom:32px;line-height:1.5}.hero-cta{display:flex;flex-wrap:wrap;gap:14px}.hero-cta .btn-outline{border-color:var(--surface);color:var(--surface)}.hero-cta .btn-outline:hover{background:var(--surface);color:var(--text)}.hero-img{position:relative;overflow:hidden}.hero-img-wrap{width:100%;height:100%}.hero-img-wrap img{width:100%;height:100%;object-fit:cover}.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(171,56,30,.45),rgba(230,99,48,.25));mix-blend-mode:multiply;pointer-events:none}.hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.services{padding:80px 0 80px;margin-top:-40px;position:relative;z-index:4}.services .section-inner{background:var(--bg);border-radius:20px 20px 0 0;padding-top:48px}.services h2{text-align:center;margin-bottom:8px}.section-sub{text-align:center;color:var(--muted);max-width:600px;margin:0 auto 48px;font-size:1.05rem}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.service-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(29,16,10,.12)}.service-card-img{position:relative;overflow:hidden}.service-card-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}.service-card:hover .service-card-img img{transform:scale(1.04)}.service-card-body{padding:18px}.service-card-body h3{font-size:1.05rem;margin-bottom:6px}.service-card-body p{font-size:.92rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.service-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--surface)}.svc-price{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:var(--primary);font-size:.95rem}.trust{padding:28px 0;background:var(--white);border-top:1px solid var(--surface);border-bottom:1px solid var(--surface)}.trust-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:.92rem;color:var(--muted)}.trust-dot{color:var(--accent);font-weight:700}.about{padding:80px 0}.about-grid{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:center}.about-img{position:relative;overflow:hidden;border-radius:6px}.about-img img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}.about-img:hover img{transform:scale(1.04)}.about-body{font-size:1.05rem;line-height:1.75;color:var(--text)}.about-body p{margin-bottom:16px}.about-img{position:relative}.about-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,rgba(29,16,10,.45));opacity:0;transition:opacity .3s ease;pointer-events:none}.about-img:hover::after{opacity:1}.experience{padding:80px 0;background:var(--white)}.experience-grid{display:grid;grid-template-columns:360px 1fr;gap:60px;align-items:center}.experience-img{position:relative;overflow:hidden;border-radius:6px}.experience-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}.experience-img:hover img{transform:scale(1.04)}.experience-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,rgba(29,16,10,.45));opacity:0;transition:opacity .3s ease;pointer-events:none}.experience-img:hover::after{opacity:1}.experience-text h2{margin-bottom:16px}.experience-text p{font-size:1.05rem;line-height:1.75;color:var(--muted)}.story{padding:80px 0}.story-card{max-width:750px;margin:0 auto;text-align:center}.story-card img{border-radius:var(--radius);margin-bottom:24px}.story-card h2{margin-bottom:20px}.story-card p{font-size:1.05rem;line-height:1.8;color:var(--muted);font-style:italic}.amenities{padding:32px 0;background:var(--primary);overflow:hidden}.amenities-heading{text-align:center;color:var(--white);font-family:'Bricolage Grotesque',sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:16px}.amenities-track-wrap{width:100%;overflow:hidden}.amenities-track{display:flex;gap:48px;white-space:nowrap;animation:marquee 28s linear infinite}@media(prefers-reduced-motion:reduce){.amenities-track{animation:none;flex-wrap:wrap;justify-content:center;gap:24px;padding:0 24px}[data-dup]{display:none}}.amenity-chip{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:1.05rem}.amenity-chip:not(:last-child)::after{content:'◆';font-size:.45rem;margin-left:40px;opacity:.5}.amenity-icon{width:18px;height:18px;flex-shrink:0}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.promo{padding:60px 0}.promo-banner{max-width:500px;margin:0 auto;position:relative}.promo-fold-top{height:16px;background:var(--accent);clip-path:polygon(0 0,100% 0,90% 100%,10% 100%);filter:brightness(.85)}.promo-body{background:var(--accent);color:var(--white);text-align:center;padding:32px 28px}.promo-body h3{font-size:1.5rem;margin-bottom:8px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800}.promo-body p{font-size:1.05rem;opacity:.95}.promo-fold-bottom{height:16px;background:var(--accent);clip-path:polygon(0 0,100% 0,90% 100%,10% 100%);filter:brightness(1.15)}.gallery{padding:80px 0;background:var(--white)}.gallery h2{text-align:center;margin-bottom:40px}.gallery-swiper{display:none}.gallery-slide{position:relative;border-radius:var(--radius);overflow:hidden}.gallery-slide img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}.gallery-slide:hover img{transform:scale(1.04)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(29,16,10,.6);color:var(--white);padding:12px 16px;transform:translateY(100%);transition:transform .3s ease}.gallery-slide:hover .gallery-caption{transform:translateY(0)}.gallery-fallback{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.gallery-fb-item{border-radius:var(--radius);overflow:hidden}.gallery-fb-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-fb-item p{font-size:.88rem;color:var(--muted);text-align:center;margin-top:8px}.swiper-button-prev,.swiper-button-next{color:var(--primary)!important}.swiper-pagination-bullet-active{background:var(--primary)!important}.reviews{padding:80px 0}.reviews h2{text-align:center;margin-bottom:40px}.reviews-swiper{display:none}.review-card{background:var(--white);padding:28px 24px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.review-stars{color:var(--accent);font-size:1.2rem;margin-bottom:12px}.review-card blockquote{font-style:italic;color:var(--text);margin-bottom:12px;line-height:1.6}.review-card cite{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;color:var(--muted);font-style:normal}.reviews-fallback{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto}.faqs{padding:80px 0;background:var(--white)}.faqs h2{text-align:center;margin-bottom:40px}.faq-list{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--surface)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;background:none;border:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:1.05rem;color:var(--text);cursor:pointer;text-align:left;gap:16px}.faq-question:hover{color:var(--primary)}.faq-icon{font-size:1.4rem;font-weight:400;transition:transform .2s ease}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-answer.open{max-height:300px}.faq-answer p{padding:0 0 18px;color:var(--muted);line-height:1.65;font-size:.95rem}.coverage{padding:20px 0;background:var(--surface)}.coverage-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:'Bricolage Grotesque',sans-serif;font-size:.9rem;color:var(--muted)}.coverage-label{font-weight:700;color:var(--text)}.contact{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.contact-panel{background:var(--text);color:var(--white);padding:60px 48px;display:flex;align-items:center}.contact-info{width:100%;max-width:420px}.contact-info h2{color:var(--white);margin-bottom:28px}.contact-detail{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.95rem;color:var(--surface)}.contact-detail a{color:var(--surface);transition:color var(--transition)}.contact-detail a:hover{color:var(--white)}.contact-hours{margin-top:28px;padding-top:20px;border-top:1px solid var(--muted)}.contact-hours h4{font-size:.95rem;color:var(--accent);margin-bottom:12px}.hours-list{display:flex;flex-direction:column;gap:4px}.hours-row{display:flex;justify-content:space-between;font-size:.88rem;color:var(--surface)}.hours-row dt{font-weight:600}.contact-payment{margin-top:18px;padding-top:16px;border-top:1px solid var(--muted);font-size:.9rem;color:var(--surface)}.contact-social{display:flex;gap:14px;margin-top:18px}.contact-social a{color:var(--surface);transition:color var(--transition);display:flex;align-items:center}.contact-social a:hover{color:var(--accent)}.contact-map-panel{position:relative;min-height:400px}.contact-map{width:100%;height:100%}.contact-map .map-embed{width:100%;height:100%;border:0;filter:grayscale(.3) saturate(.9) contrast(1.02)}.contact-form{display:none;padding:60px 48px;height:100%;background:var(--surface)}.contact-form form{max-width:400px;display:flex;flex-direction:column;gap:16px}.contact-form h3{font-size:1.3rem;margin-bottom:8px}.contact-form label{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:.9rem;display:flex;flex-direction:column;gap:4px}.contact-form input,.contact-form textarea{padding:10px 14px;border:1px solid var(--surface);border-radius:8px;font-family:inherit;font-size:.95rem;background:var(--white)}.contact-form button{align-self:flex-start}[data-contact="form"] .contact-map{display:none}[data-contact="form"] .contact-form{display:flex;align-items:center}.branches{padding:80px 0;background:var(--white)}.branches h2{text-align:center;margin-bottom:40px}.branches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;max-width:900px;margin:0 auto}.branch-card{background:var(--bg);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow)}.branch-card h3{font-size:1.05rem;margin-bottom:8px}.branch-card p{font-size:.9rem;color:var(--muted);margin-bottom:8px}.branch-card a{color:var(--primary);font-weight:600;font-size:.9rem}.footer{background:var(--text);color:var(--surface);padding:48px 24px 24px}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto auto;gap:40px;align-items:start}.footer-brand .wordmark{font-size:1.1rem;color:var(--white);display:block;margin-bottom:8px}.footer-brand .biz-logo{height:48px;width:auto;max-width:160px;margin-bottom:8px}.footer-addr{font-size:.9rem;line-height:1.5}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{font-size:.92rem;transition:color var(--transition)}.footer-links a:hover{color:var(--white)}.footer-social h4{font-size:.9rem;color:var(--accent);margin-bottom:10px}.footer-social-icons{display:flex;gap:12px}.footer-social-icons a{color:var(--surface);transition:color var(--transition)}.footer-social-icons a:hover{color:var(--accent)}.footer-legal{font-size:.85rem;display:flex;flex-direction:column;gap:4px}.footer-legal a{color:var(--surface);text-decoration:underline;transition:color var(--transition)}.footer-legal a:hover{color:var(--white)}.footer-bottom{grid-column:1/-1;text-align:center;padding-top:24px;border-top:1px solid var(--muted);font-size:.85rem}#lb-cookie-notice{position:fixed;left:12px;right:12px;bottom:12px;z-index:9990;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(20,22,26,.96);color:#f2f4f7;padding:14px 18px;border-radius:10px;box-shadow:0 4px 18px rgba(0,0,0,.25);font-size:.85rem;line-height:1.45;font-family:inherit}#lb-cookie-notice[hidden]{display:none}#lb-cookie-notice p{margin:0;flex:1 1 260px}#lb-cookie-notice a{color:inherit;text-decoration:underline}#lb-cookie-btn{flex:0 0 auto;min-height:44px;padding:10px 22px;border:0;border-radius:8px;background:var(--white);color:var(--text);font-weight:600;cursor:pointer;font-family:'Bricolage Grotesque',sans-serif}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;flex-direction:column}.lightbox-img{max-width:92vw;max-height:85vh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:20px;right:28px;background:none;border:0;color:var(--white);font-size:2.5rem;cursor:pointer;z-index:1;line-height:1}.about-img,.experience-img,.story .section-inner{position:relative}.about-img img,.experience-img img,.service-card-img img,.gallery-slide img{transition:transform .5s ease}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-text{padding:60px 28px;min-height:50vh}.hero-img{height:50vh}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:40px}.about-img{max-width:400px;margin:0 auto}.experience-grid{grid-template-columns:1fr;gap:40px}.experience-img{max-width:340px;margin:0 auto}.contact{grid-template-columns:1fr}.contact-panel{padding:48px 28px}.contact-map-panel{height:350px}.footer-inner{grid-template-columns:1fr 1fr;gap:28px}}@media(max-width:640px){.nav-links{display:none;position:fixed;top:64px;left:0;right:0;background:var(--bg);flex-direction:column;padding:24px;gap:18px;border-bottom:2px solid var(--primary);z-index:999}.nav-links.open{display:flex}.menu-toggle{display:flex}.hero-text{padding:48px 20px}.hero-cta{flex-direction:column}.services-grid{grid-template-columns:1fr 1fr;gap:16px}.service-card-img img{aspect-ratio:3/4}.contact{grid-template-columns:1fr}.contact-panel{padding:40px 20px}.footer-inner{grid-template-columns:1fr;gap:24px;text-align:center}.footer-links{align-items:center}.footer-social-icons{justify-content:center}}@media(max-width:400px){.services-grid{grid-template-columns:1fr;max-width:320px;margin:0 auto}.btn-primary,.btn-outline{width:100%;justify-content:center}}