:root{--primary:#b25a34;--primary-deep:#8e4326;--accent:#e48f58;--accent-ink:#98461f;--bg:#fcf8f2;--surface:#f6ede1;--text:#2c2017;--muted:#75604e;--dark:#342016;--max:1160px;--ink:44 32 23}*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:'Nunito Sans',sans-serif;font-size:17px;line-height:1.62}img{display:block;max-width:100%;object-fit:cover}.sprite{position:absolute;width:0;height:0;overflow:hidden}a{color:inherit}h1,h2,h3,.wordmark{font-family:'Fjalla One',sans-serif;font-weight:400;line-height:1.04;hyphens:none;overflow-wrap:anywhere}h2{font-size:clamp(2.1rem,4vw,3.35rem);margin:.1em 0 .4em}p{max-width:70ch}.eyebrow{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin:0 0 .8rem;color:var(--accent-ink)}.nav{position:absolute;top:0;left:0;right:0;z-index:20;color:#fff}.nav-inner{width:min(var(--max),calc(100% - 40px));min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2.5rem)}.nav-brand,.footer-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:1;min-width:0}.nav-brand img,.footer-brand img{height:44px;width:auto;max-width:68px;object-fit:contain}.wordmark{font-size:1.35rem;line-height:1.1;overflow-wrap:anywhere;hyphens:none}.nav-links{display:flex;align-items:center;gap:1.2rem;font-size:.92rem}.nav-links a{text-decoration:none}.nav-links a.nav-cta{color:#fff;background:var(--primary);padding:.65rem 1rem}.login{border-bottom:1px solid currentColor}.menu-btn{display:none}.hero{height:58vh;min-height:510px;position:relative;isolation:isolate;overflow:hidden;color:#fff;display:grid;place-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-3}#crumb-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(30,16,10,.88),rgba(30,16,10,.65) 50%,rgba(30,16,10,.35))}.hero-copy{width:min(760px,calc(100% - 40px));text-align:center;padding-top:4rem}.hero .eyebrow{color:#ffe7c9}.hero h1{font-size:clamp(3.1rem,6.1vw,5.1rem);margin:0 auto .28em;max-width:12ch}.hero-copy>p:not(.eyebrow){margin:0 auto 1.5rem;font-size:clamp(1rem,1.5vw,1.2rem)}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.85rem}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.05rem;border:2px solid transparent;font-weight:800;text-decoration:none;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button--light{background:#fff;color:var(--primary-deep)}.button--outline{border-color:#fff;color:#fff}.button--warm{background:var(--primary);color:#fff}.trust{position:relative;z-index:5;margin-top:-34px;padding:0 20px}.trust-card{width:min(var(--max),100%);margin:auto;background:var(--surface);padding:1.1rem 1.4rem;display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap;border-bottom:3px solid var(--accent)}.trust-card span{display:flex;gap:.45rem;align-items:center;font-size:.9rem}.trust svg,.amenity svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.social-head{gap:.65rem!important}.social-head a{font-size:.78rem}.divider{height:76px;line-height:0;overflow:hidden}.divider svg{width:100%;height:100%;display:block}.divider--cream{background:var(--bg)}.divider--cream path{fill:var(--surface)}.divider--surface{background:var(--surface)}.divider--surface path{fill:var(--bg)}.divider--dark{background:var(--bg)}.divider--dark path{fill:var(--dark)}.services,.about,.contact,.footer,.branches{padding:4rem 20px}.services{background-color:var(--surface)}.section-head{width:min(var(--max),100%);margin:0 auto 2.4rem}.section-head>p{color:var(--muted)}.service-grid{width:min(var(--max),100%);margin:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.service-card{flex:0 1 calc(33.333% - .9rem);min-width:min(100%,250px);background:var(--bg);overflow:hidden;transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease;will-change:transform}.service-card:hover{transform:perspective(850px) rotateX(3deg) rotateY(-4deg) translateY(-5px);box-shadow:16px 18px 0 rgba(142,67,38,.16)}.service-photo{height:180px;overflow:hidden}.service-photo img,.about-image img,.expectation img,.gallery-card img{width:100%;height:100%;transition:transform .28s ease,filter .28s ease;will-change:transform}.service-card:hover .service-photo img,.about-image:hover img,.expectation:hover img,.gallery-card:hover img{transform:scale(1.045);filter:saturate(1.08)}.service-copy{padding:1.25rem}.service-copy h3{font-size:1.6rem;margin:0 0 .5rem}.service-copy p{font-size:.96rem;margin:.4rem 0}.price{font-weight:800;color:var(--accent-ink)}.text-link{font-weight:800;color:var(--accent-ink);text-decoration-thickness:2px;text-underline-offset:4px}.amenities{width:min(var(--max),100%);margin:4rem auto 0;text-align:center}.amenities h2{font-size:2.1rem}.amenity-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.amenity{display:flex;align-items:center;gap:.5rem;background:var(--bg);padding:.65rem .85rem;border:1px solid rgba(44,32,23,.12);font-size:.9rem}.promo{margin:4rem auto 0;width:min(var(--max),100%);min-height:250px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff}.origami{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.promo-copy{text-align:center;padding:2.5rem;max-width:680px}.promo-copy p{margin:.3rem auto}.promo-copy h2{font-size:clamp(2rem,4vw,3.5rem)}.promo-copy small{text-transform:uppercase;letter-spacing:.1em}.about{background:var(--bg)}.about-grid,.expectation{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}.about-image{height:410px;border-radius:28px;overflow:hidden}.about-grid>div{min-width:0}.about-grid p:not(.eyebrow),.expectation p{font-size:1.05rem}.expectation{margin-top:5rem;padding:2.2rem;background:var(--dark);color:#fff}.expectation .eyebrow{color:#ffd0a5}.expectation img{height:290px;border-radius:20px}.story{width:min(760px,100%);margin:4rem auto 0;border-left:4px solid var(--accent);padding:1rem 0 1rem 1.5rem}.gallery,.reviews,.faq{width:min(var(--max),100%);margin:4rem auto 0}.gallery-grid,.review-grid,.branch-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.gallery-card{flex:1 1 260px;max-width:360px;border:0;background:var(--dark);color:#fff;padding:0;text-align:left;cursor:pointer;overflow:hidden}.gallery-card img{height:230px}.gallery-card span{display:block;padding:.85rem}.review{flex:1 1 250px;padding:1.4rem;background:var(--surface)}.review-stars{color:var(--accent-ink)}.review-stars span{color:#c7b9ad}.review-stars[data-rating="1"] span:nth-child(-n+1),.review-stars[data-rating="2"] span:nth-child(-n+2),.review-stars[data-rating="3"] span:nth-child(-n+3),.review-stars[data-rating="4"] span:nth-child(-n+4),.review-stars[data-rating="5"] span:nth-child(-n+5){color:currentColor}.faq{padding:3rem;position:relative}.faq-list{max-width:820px;margin:auto}.faq-item{border-top:1px solid rgba(44,32,23,.25)}.faq-question{width:100%;border:0;background:none;text-align:left;display:flex;justify-content:space-between;gap:1rem;padding:1.05rem 0;font:700 1rem 'Nunito Sans',sans-serif;color:var(--text);cursor:pointer}.faq-question b{font-size:1.4rem;color:var(--accent-ink)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer>p{overflow:hidden;min-height:0;margin:0}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding-bottom:1.1rem}.band-texture{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}.contact{background:var(--dark);color:#fff}.contact .eyebrow{color:#ffd0a5}.contact-title{width:min(var(--max),100%);margin:0 auto 2rem}.contact-layout{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:0;align-items:stretch}.contact-map{min-height:480px}.map-embed{border:0;width:100%;height:100%;min-height:480px}.contact-info{background:var(--surface);color:var(--text);padding:2rem;display:flex;flex-direction:column;gap:1rem}.contact-info .phone{font:2rem/1 'Fjalla One',sans-serif;overflow-wrap:anywhere}.contact-info address{font-style:normal}.contact-strip{border-top:1px solid rgba(44,32,23,.2);margin-top:auto}.contact-strip p{display:flex;flex-direction:column;margin:.75rem 0}.contact-strip b{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.contact-form{display:none;background:var(--surface);color:var(--text);padding:2rem}.contact-form form{display:grid;gap:.8rem}.contact-form label{display:grid;gap:.25rem;font-weight:700}.contact-form input,.contact-form textarea{font:inherit;padding:.65rem;border:1px solid var(--muted);background:#fff}.contact-form button{min-height:44px;border:0;background:var(--primary);color:#fff;font:700 1rem 'Nunito Sans',sans-serif}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}[data-contact="form"] .contact-map{display:block}[data-contact="form"] .contact-form{display:block}.footer{background:var(--surface)}.footer-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:2rem}.footer h3{font-size:1.2rem}.footer a{overflow-wrap:anywhere}.footer-brand .wordmark{font-size:1.7rem}.socials{display:flex;gap:.7rem;flex-wrap:wrap}.socials a,.social-head a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid currentColor}.socials svg,.social-head svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.socials a:first-child svg{fill:currentColor;stroke:none}.hours-row{display:flex;justify-content:space-between;gap:.7rem;padding:.27rem 0;border-bottom:1px solid rgba(44,32,23,.12);font-size:.87rem}.footer-bottom{width:min(var(--max),100%);margin:2rem auto 0;padding-top:1rem;border-top:1px solid rgba(44,32,23,.2);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}.branches{background:var(--bg)}.branch-card{flex:1 1 240px;background:var(--surface);padding:1.4rem}.lightbox{position:fixed;z-index:9999;inset:0;background:rgba(20,12,8,.94);display:flex;align-items:center;justify-content:center;padding:30px}.lightbox-img{max-width:min(100%,1100px);max-height:88vh}.lightbox-close{position:absolute;right:20px;top:15px;background:none;color:#fff;border:0;font-size:2rem;cursor:pointer}#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(52,32,22,.97);color:#fff;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],[hidden]{display:none!important}#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;background:#ffe1c0;color:var(--dark);font-weight:800;cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.service-card:hover{transform:none}.service-card:hover .service-photo img,.about-image:hover img,.expectation:hover img,.gallery-card:hover img{transform:none;filter:none}}@media(max-width:800px){body{font-size:16px}.nav{position:absolute}.nav-inner{width:calc(100% - 28px);min-height:66px}.wordmark{font-size:1rem;max-width:min(52vw,280px)}.menu-btn{display:block;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;min-height:40px;padding:.3rem .6rem}.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:66px;left:0;right:0;padding:1rem 14px;background:var(--bg);color:var(--text);flex-direction:column;align-items:stretch;box-shadow:0 10px 20px rgba(0,0,0,.12)}.nav-links a.nav-cta{color:#fff;text-align:center}.hero{min-height:464px;height:58svh}.hero-copy{padding-top:3.3rem}.hero h1{font-size:clamp(2.85rem,12vw,4rem)}.trust{margin-top:-20px;padding:0 14px}.trust-card{justify-content:flex-start}.divider{height:52px}.services,.about,.contact,.footer,.branches{padding:3rem 14px}.service-card{flex-basis:calc(50% - .7rem)}.about-grid,.expectation{grid-template-columns:1fr;gap:1.5rem}.about-image{height:290px}.expectation img{height:230px}.contact-layout{grid-template-columns:1fr}.contact-map,.map-embed{min-height:340px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq{padding:2rem 1rem}}@media(max-width:520px){.service-card{flex-basis:100%}.hero-actions{flex-direction:column;align-items:stretch}.footer-grid{grid-template-columns:1fr}.trust-card{padding:1rem}.amenity-row{justify-content:flex-start}.amenity{width:100%}.contact-info .phone{font-size:1.7rem}.promo-copy{padding:1.5rem}.lightbox{padding:20px 12px}}