:root{--primary:#a75d1d;--primary-dark:#8b4a15;--accent:#e5952b;--bg:#f7efd8;--surface:#efe4c3;--text:#191308;--muted:#715f3f;--text-on-dark:#f7efd8;--font-display:'Bricolage Grotesque',system-ui,sans-serif;--font-body:'Source Serif 4',Georgia,serif;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 4px rgba(25,19,8,.06);--shadow-md:0 4px 16px rgba(25,19,8,.1);--shadow-lg:0 8px 32px rgba(25,19,8,.14);--transition:250ms ease-out}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{overflow-x:clip}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}address{font-style:normal}button{cursor:pointer;font:inherit}ul{list-style:none}[hidden]{display:none!important}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;hyphens:none;overflow-wrap:anywhere}h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}h3{font-size:clamp(1.15rem,2vw,1.4rem)}h4{font-size:1rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.btn-primary{display:inline-flex;align-items:center;gap:.35em;padding:.65em 1.4em;background:var(--primary);color:#fff;border:0;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:.95rem;transition:background var(--transition),transform var(--transition);white-space:nowrap}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-lg{padding:.85em 2em;font-size:1.05rem}.btn-wa{display:inline-flex;align-items:center;gap:.5em;padding:.65em 1.4em;background:#25d366;color:#fff;border:0;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:.95rem;transition:background var(--transition),transform var(--transition)}.btn-wa:hover{background:#20bd5a;transform:translateY(-1px)}.btn-block{display:flex;justify-content:center;width:100%}.btn-outline-sm{display:inline-flex;align-items:center;padding:.45em 1em;border:1.5px solid var(--muted);border-radius:var(--radius);font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text);transition:background var(--transition),color var(--transition)}.btn-outline-sm:hover{background:var(--primary);border-color:var(--primary);color:#fff}section{padding:clamp(3rem,8vw,5.5rem) clamp(1rem,5vw,2rem)}.section-header{text-align:center;max-width:700px;margin:0 auto 3rem}.section-header h2{margin-bottom:.35em}.section-sub{color:var(--muted);font-size:1.05rem}.section-divider{position:relative;width:100%;height:clamp(5rem,10vw,8rem);overflow:hidden;background:var(--bg)}.section-divider svg{position:absolute;bottom:0;left:0;width:100%;height:100%}.section-divider.divider-down svg{color:var(--surface)}.section-divider:first-of-type{background:transparent}.section-divider:first-of-type svg{color:var(--bg)}.trust+.section-divider{background:var(--bg)}.trust+.section-divider svg{color:var(--surface)}.amenities+.section-divider{background:var(--text)}.amenities+.section-divider svg{color:var(--bg)}.promo+.section-divider{background:var(--surface)}.promo+.section-divider svg{color:var(--bg)}.services+.section-divider{background:var(--bg)}.services+.section-divider svg{color:var(--text)}.experience+.section-divider{background:var(--surface)}.experience+.section-divider svg{color:var(--bg)}.story+.section-divider{background:var(--surface)}.story+.section-divider svg{color:var(--bg)}.gallery+.section-divider{background:var(--bg)}.gallery+.section-divider svg{color:var(--surface)}.reviews+.section-divider{background:var(--surface)}.reviews+.section-divider svg{color:var(--bg)}.faqs+.section-divider{background:var(--bg)}.faqs+.section-divider svg{color:var(--surface)}.nav{position:sticky;top:0;z-index:1000;background:rgba(247,239,216,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(113,95,63,.12)}.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.6rem clamp(1rem,4vw,2rem);gap:1rem}.nav-brand{display:flex;align-items:center;gap:.5em;flex-shrink:1;min-width:0}.nav-wordmark{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--text);overflow-wrap:anywhere;hyphens:none;white-space:normal;line-height:1.2}.biz-logo{height:42px;width:auto;max-width:160px;object-fit:contain;flex-shrink:0}.biz-logo[data-shape="square"]{height:48px}.biz-logo[data-shape="tall"]{height:44px;max-width:100px}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a{font-family:var(--font-display);font-weight:500;font-size:.9rem;color:var(--muted);transition:color var(--transition);white-space:nowrap}.nav-links a:hover{color:var(--primary)}.nav-login-li{margin-left:.5rem}.nav-login{font-weight:600!important;color:var(--primary)!important}.nav-social-row{display:flex;align-items:center;gap:.5rem}.nav-social-icon{display:flex;align-items:center;padding:.25rem;color:var(--muted);transition:color var(--transition)}.nav-social-icon:hover{color:var(--primary)}.nav-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.nav-cta{font-size:.85rem!important;padding:.5em 1.2em!important}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:0;padding:4px}.nav-toggle span{display:block;width:100%;height:2.5px;background:var(--text);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-img{width:100%;height:100%;object-fit:cover}.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,8,.55) 0%,rgba(25,19,8,.45) 50%,rgba(25,19,8,.65) 100%);z-index:1}.hero-fog{position:absolute;inset:0;z-index:2;opacity:.42;mix-blend-mode:soft-light}.hero-content{position:relative;z-index:3;text-align:center;max-width:700px;padding:2rem clamp(1rem,4vw,2rem);color:#fff}.hero-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,6vw,3.5rem);line-height:1.1;margin-bottom:.4em;text-shadow:0 2px 12px rgba(0,0,0,.35);color:#fff;hyphens:none;overflow-wrap:anywhere}.hero-sub{font-size:clamp(1rem,2vw,1.2rem);opacity:.92;margin-bottom:2rem;text-shadow:0 1px 6px rgba(0,0,0,.3)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.trust{background:var(--bg);padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}.trust-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,3vw,2.5rem);max-width:1000px;margin:0 auto}.trust-item{display:flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--muted)}.trust-item svg{flex-shrink:0;color:var(--primary)}.promo{background:var(--surface);padding:clamp(2rem,4vw,3rem) clamp(1rem,5vw,2rem)}.promo-inner{position:relative;max-width:700px;margin:0 auto}.promo-ribbon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110%;max-width:820px;z-index:0;pointer-events:none}.promo-ribbon svg{width:100%;height:auto}.promo-content{position:relative;z-index:1;text-align:center;padding:2.5rem 1.5rem}.promo-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--primary);padding:.3em 1em;border-radius:20px;margin-bottom:1rem}.promo-title{font-size:clamp(1.4rem,3vw,2rem);color:#fff;margin-bottom:.35em;text-shadow:0 1px 4px rgba(0,0,0,.2)}.promo-text{font-size:1.05rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.15)}.services{background:var(--bg)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);max-width:1100px;margin:0 auto}.service-card{background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1.2rem,2vw,1.8rem);transition:box-shadow var(--transition);position:relative}.service-card:hover{box-shadow:var(--shadow-md)}.service-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);background:var(--primary);color:#fff;margin-bottom:1rem}.service-card-name{font-size:1.1rem;margin-bottom:.4em}.service-card-desc{font-size:.9rem;color:var(--muted);line-height:1.5;margin-bottom:1rem}.service-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.service-card-price{font-family:var(--font-display);font-weight:700;color:var(--primary);font-size:.95rem}.service-card-cta{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--primary);transition:color var(--transition)}.service-card-cta:hover{color:var(--primary-dark)}.tilt-card{transition:transform .15s ease-out,box-shadow .15s ease-out;transform-style:preserve-3d;perspective:800px}@media(hover:hover){.tilt-card:hover{transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));z-index:2}}.amenities{background:var(--text);padding:clamp(1.5rem,3vw,2.5rem) 0;overflow:hidden}.amenities-ribbon{display:flex;align-items:center;gap:2rem}.amenities-title{flex-shrink:0;font-size:1.1rem;color:var(--text-on-dark);padding-left:clamp(1rem,4vw,2rem);white-space:nowrap}.amenities-track-wrap{flex:1;overflow:hidden}.amenities-track{display:flex;gap:1.5rem;white-space:nowrap;animation:amenities-scroll 30s linear infinite;width:max-content}.amenity-chip{display:inline-flex;align-items:center;gap:.45em;padding:.45em 1em;background:rgba(247,239,216,.12);border:1px solid rgba(247,239,216,.18);border-radius:40px;color:var(--text-on-dark);font-family:var(--font-display);font-weight:500;font-size:.85rem}.amenity-icon{width:18px;height:18px;flex-shrink:0;color:var(--accent)}.amenity-chip::after{content:'◆';margin-left:.6em;font-size:.4rem;opacity:.4;color:var(--accent)}.amenity-chip:last-child::after{display:none}@keyframes amenities-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.about{background:var(--bg)}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center;max-width:1100px;margin:0 auto}.about-image{overflow:hidden;border-radius:var(--radius-lg)}.about-text h2{margin-bottom:.5em}.about-body{font-size:1.05rem;line-height:1.7;color:var(--muted)}.experience,.story{background:var(--surface)}.experience-inner,.story-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center;max-width:1100px;margin:0 auto}.experience-image,.story-image{overflow:hidden;border-radius:var(--radius-lg)}.experience-text h2,.story-text h2{margin-bottom:.5em}.experience-body,.story-body{font-size:1.05rem;line-height:1.7;color:var(--muted)}.gallery{background:var(--bg)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);max-width:1100px;margin:0 auto}.gallery-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}.gallery-img{width:100%;aspect-ratio:16/9;object-fit:cover}.gallery-caption{font-family:var(--font-display);font-size:.85rem;color:var(--muted);padding:.6rem .8rem;text-align:center}.reviews{background:var(--surface)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);max-width:1100px;margin:0 auto}.review-card{background:var(--bg);border-radius:var(--radius-lg);padding:clamp(1.2rem,2vw,1.8rem)}.review-stars{margin-bottom:.6rem;font-size:1.1rem;color:var(--accent)}.review-text{font-size:.95rem;line-height:1.6;color:var(--muted);margin-bottom:.8rem}.review-author{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--primary)}.faqs{background:var(--bg)}.faqs-list{max-width:760px;margin:0 auto}.faq-item{border-bottom:1px solid rgba(113,95,63,.15)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.1rem 0;background:none;border:0;text-align:left;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text);line-height:1.35}.faq-question:hover{color:var(--primary)}.faq-chevron{flex-shrink:0;transition:transform .25s ease;color:var(--muted)}.faq-question[aria-expanded="true"] .faq-chevron{transform:rotate(180deg)}.faq-answer{display:none;padding:0 0 1.2rem}.faq-answer p{font-size:.95rem;line-height:1.6;color:var(--muted)}.contact{background:var(--surface)}.contact-layout{display:grid;grid-template-columns:400px 1fr;gap:clamp(1.5rem,3vw,2.5rem);max-width:1100px;margin:0 auto}.contact-info-card{background:var(--bg);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2rem)}.contact-map-card,.contact-form-card{background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;min-height:300px}.map-wrap{width:100%;height:100%;min-height:300px}.map-embed{width:100%;height:100%;border:0;filter:grayscale(.3) saturate(.9) contrast(1.02)}.contact-info-block{display:flex;align-items:flex-start;gap:.65em;margin-bottom:1rem;font-size:.95rem}.contact-info-block svg{flex-shrink:0;color:var(--primary);margin-top:2px}.contact-phone{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--primary)}.contact-placeholder{color:var(--muted);font-style:italic}.contact-info-hours{margin-top:1.5rem;margin-bottom:1.5rem}.contact-info-hours h4{margin-bottom:.6rem}.hours-list{display:flex;flex-direction:column;gap:.3rem}.hours-row{display:flex;justify-content:space-between;font-size:.88rem;padding:.25rem 0}.hours-day{color:var(--muted)}.hours-time{font-weight:600}.hours-scalar{font-size:.95rem;color:var(--muted)}.contact-payments{margin-bottom:1.5rem}.contact-payments p,.contact-coverage p{font-size:.92rem;color:var(--muted)}.contact-coverage{margin-bottom:1.5rem}.contact-wa-block{margin-top:1.5rem}.contact-form-card{display:none}[data-contact="form"] .contact-map-card{display:none}[data-contact="form"] .contact-form-card{display:block}.contact-form-card form{padding:clamp(1.5rem,3vw,2rem)}.contact-form-card h3{font-size:1.3rem;margin-bottom:1.2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--muted);margin-bottom:.35em}.form-group input,.form-group textarea{width:100%;padding:.65em .8em;border:1.5px solid rgba(113,95,63,.2);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;background:var(--surface);color:var(--text);transition:border-color var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--primary)}.branches{background:var(--surface)}.branches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1rem,2vw,1.5rem);max-width:1100px;margin:0 auto}.branch-card{background:var(--bg);border-radius:var(--radius-lg);padding:clamp(1.2rem,2vw,1.8rem);text-align:center}.branch-card h3{color:var(--primary);margin-bottom:.4em}.branch-address{font-size:.9rem;color:var(--muted);margin-bottom:.5em}.branch-phone{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--primary)}.footer{background:var(--text);color:var(--text-on-dark);padding:clamp(2.5rem,6vw,4rem) clamp(1rem,5vw,2rem) 0}.footer-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(1.5rem,3vw,2.5rem);max-width:1100px;margin:0 auto;padding-bottom:2rem}.footer h4{color:var(--accent);margin-bottom:.8rem;font-size:.85rem}.footer a{display:block;font-family:var(--font-display);font-size:.9rem;color:rgba(247,239,216,.75);margin-bottom:.4em;transition:color var(--transition);width:fit-content;overflow-wrap:anywhere;hyphens:none}.footer a:hover{color:var(--text-on-dark)}.footer-wordmark{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:.5em 0;overflow-wrap:anywhere;hyphens:none}.footer-tagline{font-size:.85rem;color:rgba(247,239,216,.6);line-height:1.5}.footer-phone{font-size:1.1rem!important;font-weight:700!important;color:var(--accent)!important}.footer-wa-link{color:rgba(247,239,216,.75)!important}.footer address{font-size:.85rem;color:rgba(247,239,216,.6)}.footer-login .btn-outline-sm{color:var(--text-on-dark);border-color:rgba(247,239,216,.3)}.footer-login .btn-outline-sm:hover{background:var(--accent);color:var(--text);border-color:var(--accent)}.footer-social-icons{display:flex;gap:.6rem;margin-top:.3rem}.footer-social-icons a{display:flex;align-items:center;padding:.3rem;color:rgba(247,239,216,.55);transition:color var(--transition)}.footer-social-icons a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid rgba(247,239,216,.1);padding:1.2rem 0;text-align:center;font-size:.8rem;color:rgba(247,239,216,.45)}.footer .biz-logo{height:48px}#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(25,19,8,.96);color:var(--text-on-dark);padding:14px 18px;border-radius:10px;box-shadow:0 4px 18px rgba(0,0,0,.25);font-size:.85rem;line-height:1.45}#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(--primary);color:#fff;font-family:var(--font-display);font-weight:600;cursor:pointer}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(25,19,8,.94);display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:0;color:var(--text-on-dark);font-size:2rem;line-height:1;z-index:1}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius)}.content-img{border-radius:var(--radius-lg);width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease-out}@media(hover:hover){.content-img:hover{transform:rotate(1.5deg) scale(1.02)}}@media(prefers-reduced-motion:reduce){.content-img:hover{transform:none}}svg:has(use[href^="#icon-"]){fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)}.about-inner,.experience-inner,.story-inner{grid-template-columns:1fr}.about-image,.experience-image,.story-image{order:-1}.gallery-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr}.contact-map-card{min-height:240px}}@media(max-width:640px){.nav{backdrop-filter:none;-webkit-backdrop-filter:none}.nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:999;padding:2rem}.nav-links.open{display:flex}.nav-toggle{display:flex;z-index:1000}.services-grid{grid-template-columns:1fr}.gallery-grid,.reviews-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn-wa,.hero-actions .btn-primary{text-align:center;justify-content:center}.trust-inner{flex-direction:column;align-items:center;text-align:center}.amenities-ribbon{flex-direction:column;gap:1rem;align-items:flex-start}.amenities-title{padding-left:clamp(1rem,4vw,2rem)}.contact-layout{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.amenities-track{animation:none;flex-wrap:wrap;justify-content:center}.amenity-chip::after{display:inline}.tilt-card:hover{transform:none!important}}.services-grid:has(>:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}.services-grid:has(>:last-child:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}.services-grid:has(>:last-child:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.services-grid:has(>:last-child:nth-child(7)){grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.services-grid:has(>:last-child:nth-child(n)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}@media(max-width:600px){.services-grid:has(>:last-child:nth-child(n)){grid-template-columns:1fr}}