:root{--primary:#333237;--accent:#e9a51e;--accent-ink:#8a5700;--bg:#fbfbfa;--surface:#f0f0eb;--text:#1b1b20;--muted:#686866;--side:280px;--pad:clamp(2rem,5vw,6rem)}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--bg);color:var(--text)}body{font:17px/1.65 Lato,sans-serif}img{max-width:100%;height:auto;display:block}button,a{font:inherit}.sprite{position:absolute;width:0;height:0}.sprite symbol{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:50;background:var(--primary);color:#fff;padding:2rem 1.5rem;display:flex;flex-direction:column}.side-brand,.footer-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.biz-logo{height:44px;width:auto;max-width:200px;object-fit:contain}.biz-logo[data-shape="tall"]{height:40px}.wordmark,.wordmark-footer{font:800 clamp(1.12rem,1.5vw,1.55rem)/1.1 Oswald,sans-serif;color:inherit;text-decoration:none;overflow-wrap:anywhere;hyphens:none}.side-nav{display:grid;gap:.5rem;margin:auto 0}.side-nav a{color:#f8f7f3;text-decoration:none;padding:.55rem 0;border-bottom:1px solid rgb(255 255 255/.18);font-size:.9rem;letter-spacing:.11em;font-variant:small-caps}.side-nav .side-call{background:var(--accent);color:#201b0b;padding:.7rem .9rem;margin-top:.6rem;border:0;font-weight:700}.side-nav .side-login{border:1px solid rgb(255 255 255/.5);padding:.6rem .9rem}.side-social,.footer-social{display:flex;gap:.6rem}.side-social a,.footer-social a{color:inherit;text-decoration:none;border:1px solid currentColor;width:30px;height:30px;display:grid;place-items:center;font-size:.75rem}.menu-btn{display:none}.main-content{margin-left:var(--side);min-width:0}.hero{min-height:100svh;position:relative;color:#fff;isolation:isolate;display:flex;align-items:end;padding:var(--pad);overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,20,.94) 0%,rgba(18,18,20,.72) 47%,rgba(18,18,20,.18) 100%);z-index:-2}.hero-copy{width:100%;max-width:680px;position:relative;z-index:2}.eyebrow{font:700 .76rem/1 Lato,sans-serif;letter-spacing:.17em;font-variant:small-caps;margin:0 0 1rem}.hero h1,h2,h3{font-family:Oswald,sans-serif;overflow-wrap:anywhere;hyphens:none}.hero h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.96;letter-spacing:-.025em;margin:.3rem 0 1.2rem;font-weight:800}.hero-copy>p:not(.eyebrow){font-size:1.2rem;max-width:48ch;margin:0 0 2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.1rem;text-decoration:none;font-weight:700}.btn-accent{background:var(--accent);color:#241b07}.btn-outline{border:1px solid #fff;color:#fff}.route-map{position:absolute;inset:0;pointer-events:none;z-index:-1}.route-map:before{content:"";position:absolute;width:42vw;height:42vw;border:2px solid rgb(233 165 30/.62);border-left:0;border-bottom:0;right:-10vw;top:16%;transform:rotate(35deg)}.route-map i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgb(233 165 30/.18);animation:route 4.2s ease-in-out infinite}.route-map i:nth-child(1){top:26%;right:25%}.route-map i:nth-child(2){top:43%;right:16%;animation-delay:.7s}.route-map i:nth-child(3){top:63%;right:29%;animation-delay:1.4s}.route-map i:nth-child(4){top:33%;right:8%;animation-delay:2.1s}.route-map i:nth-child(5){top:74%;right:13%;animation-delay:2.8s}@keyframes route{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.65);opacity:1}}.trust-bar{background:var(--accent);color:#2b210c;padding:1rem var(--pad);display:flex;gap:1.5rem;justify-content:space-between;flex-wrap:wrap;font-weight:700;font-size:.9rem}.trust-bar span{display:flex;align-items:center;gap:.5rem}.trust-bar svg,.amenity svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.band{padding:clamp(5rem,9vw,9rem) 0}.section-inner{width:min(1180px,calc(100% - 2*var(--pad)));margin:auto}.grain{background-color:var(--surface);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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:end;margin-bottom:3rem}.section-head h2,.about h2,.faq h2,.contact h2{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1;margin:0;font-weight:800;letter-spacing:-.02em}.section-head p{max-width:46ch;margin:0;color:var(--muted)}.service-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.service-card{flex:0 1 calc(33.333% - 1rem);min-width:240px;background:var(--bg);border:1px solid #d8d8d1;overflow:hidden}.service-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.service-card>div{padding:1.15rem}.card-index{font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--accent-ink)}.service-card h3{font-size:1.45rem;line-height:1.05;margin:.45rem 0}.service-card p{font-size:.95rem;line-height:1.55;margin:.5rem 0}.price{font-weight:700}.card-link{color:var(--accent-ink);font-weight:700}.divider{height:100px;line-height:0}.divider svg{display:block;width:100%;height:100%}.blob-dark{background:var(--surface)}.blob-dark path{fill:var(--primary)}.blob-light{background:var(--primary)}.blob-light path{fill:var(--bg)}.band-dark{background-color:var(--primary);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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");color:#fafaf8;padding:3rem 0 7rem}.about-grid,.expect-grid{width:min(1180px,calc(100% - 2*var(--pad)));margin:4rem auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:center}.about-copy p:not(.eyebrow),.expect-grid p:not(.eyebrow),.story p{max-width:68ch}.content-image{margin:0;position:relative}.content-image img,.contact-photo{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:22px}.content-image figcaption{font-size:.84rem;margin-top:.6rem;color:#deded7}.micro-list{display:grid;gap:.45rem;margin-top:2rem;font:500 1rem Oswald,sans-serif;letter-spacing:.05em}.amenities{width:min(1180px,calc(100% - 2*var(--pad)));margin:5rem auto}.amenities h3{font-size:2rem;margin-bottom:1.25rem}.amenity-row{display:flex;flex-wrap:wrap;gap:.7rem}.amenity{display:flex;gap:.55rem;align-items:center;border:1px solid rgb(255 255 255/.4);padding:.7rem 1rem;min-width:200px}.expect-grid{padding-top:3rem}.expect-grid article{min-width:0}.story{width:min(780px,calc(100% - 2*var(--pad)));margin:6rem auto 0;border-top:1px solid rgb(255 255 255/.35);padding-top:3rem}.promo-banner{position:relative;width:min(1180px,calc(100% - 2*var(--pad)));min-height:230px;margin:6rem auto;display:grid;place-items:center;color:#17120a;overflow:hidden}.promo-banner svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.ribbon-a{fill:var(--accent)}.ribbon-b{fill:#f6cf77}.fold{fill:#bd7911}.promo-banner div{max-width:600px;padding:2rem;text-align:center}.promo-banner span{font-weight:700;letter-spacing:.14em;font-size:.72rem}.promo-banner h2{font-size:3rem;line-height:1;margin:.5rem 0}.gallery,.reviews,.faq{width:min(1180px,calc(100% - 2*var(--pad)));margin:5rem auto}.gallery h2,.reviews h2{font-size:2.7rem}.gallery-grid,.review-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.gallery-item{flex:0 1 calc(33.333% - 1rem);min-width:220px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.gallery-item span{display:block;margin-top:.5rem}.review-grid article{flex:0 1 280px;background:#fff;padding:1.4rem;border-left:3px solid var(--accent)}.review-stars{color:var(--accent-ink)}.review-stars[data-rating] span{color:#b7b7af}.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:inherit}.faq{padding-bottom:1rem}.faq-list{margin-top:2rem;border-top:1px solid rgb(255 255 255/.35)}.faq-item{border-bottom:1px solid rgb(255 255 255/.35)}.faq-q{width:100%;background:none;border:0;color:#fff;text-align:left;padding:1.2rem 0;display:flex;justify-content:space-between;gap:1rem;font:500 1.35rem/1.25 Oswald,sans-serif;cursor:pointer}.faq-q span{color:var(--accent-ink);font:400 1.8rem Lato}.faq-a{display:none;max-width:66ch;padding-bottom:1rem}.faq-item.open .faq-a{display:block}.contact{background:var(--bg);padding:3rem 0 0}.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(1300px,calc(100% - 2*var(--pad)));margin:auto;overflow:hidden;border:1px solid #dadad3}.contact-info{background:var(--surface);padding:clamp(2rem,5vw,5rem);min-width:0}.contact-info h2{margin-bottom:1.5rem}.phone{color:var(--text);font:800 clamp(1.7rem,3vw,3rem)/1 Oswald,sans-serif;text-decoration:none;display:block;overflow-wrap:anywhere}.wa-text{display:inline-block;margin:1rem 0;color:var(--accent-ink);font-weight:700}.contact address{font-style:normal}.data-strip{border-top:1px solid #c5c5be;margin-top:1.5rem;padding-top:1rem;display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.85rem}.data-strip p{margin:0;display:grid}.data-strip b{font-variant:small-caps;letter-spacing:.1em}.contact-photo{margin-top:2rem;border-radius:0}.contact-map{min-height:450px}.map-embed{width:100%;height:100%;min-height:450px;border:0;display:block}.contact-form{display:none;padding:2rem;background:#fff}.contact-form form{display:grid;gap:1rem}.contact-form label{display:grid;gap:.3rem;font-weight:700}.contact-form input,.contact-form textarea{border:1px solid #bdbdb4;padding:.7rem;font:inherit;background:#fff}.contact-form button{background:var(--accent);border:0;min-height:46px;font-weight:700}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}[data-contact="form"] .contact-form{display:block}.branches,.hours{width:min(1180px,calc(100% - 2*var(--pad)));margin:4rem auto}.branches>div{display:flex;flex-wrap:wrap;gap:1rem}.branches article{flex:0 1 280px;padding:1.2rem;background:var(--surface)}.branches h2,.hours h3{font-size:2rem}.hours{max-width:680px;padding-bottom:4rem}.hours-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #d4d4cd}footer{background:#17171b;color:#f9f8f3;padding:3rem var(--pad);display:grid;gap:1.2rem}footer p{max-width:40ch;margin:0;color:#cacac4}footer>a{color:#fff;width:max-content;max-width:100%;overflow-wrap:anywhere}.lightbox{position:fixed;inset:0;z-index:9999;background:rgb(14 14 16/.94);padding:4rem 2rem;align-items:center;justify-content:center}.lightbox-img{max-height:85vh;max-width:min(1100px,100%);object-fit:contain}.lightbox-close{position:absolute;top:1rem;right:1rem;background:var(--accent);border:0;width:48px;height:48px}.lightbox-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}#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,25,29,.97);color:#f7f7f3;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:2px;background:var(--accent);color:#211807;font-weight:700;cursor:pointer}@media(hover:hover) and (prefers-reduced-motion:no-preference){.content-image img,.service-card>img,.gallery-item img,.contact-photo{transition:filter .25s ease}.content-image:hover img,.service-card:hover>img,.gallery-item:hover img,.contact-photo:hover{filter:sepia(.22) saturate(1.25)}}html.motion-init .reveal{opacity:0;transform:translateY(28px);transition:opacity .48s ease-out,transform .48s ease-out}html.motion-init .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:900px){:root{--side:0px}.sidebar{position:sticky;top:0;width:100%;height:auto;min-height:72px;flex-direction:row;align-items:center;justify-content:space-between;padding:1rem;gap:1rem}.side-brand{flex:1 1 auto;min-width:0}.sidebar .wordmark{font-size:1.1rem}.side-nav{display:none;position:fixed;top:72px;left:0;right:0;background:var(--primary);padding:1rem 1.5rem;box-shadow:0 14px 28px rgb(0 0 0/.25)}.side-nav.open{display:grid}.menu-btn{display:grid;place-items:center;background:transparent;color:#fff;border:1px solid rgb(255 255 255/.4);width:44px;height:44px;flex:0 0 auto}.menu-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}.side-social{display:none}.main-content{margin-left:0}.hero{min-height:calc(100svh - 72px)}.section-head,.about-grid,.expect-grid,.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-map{min-height:360px}.map-embed{min-height:360px}.service-card{flex-basis:calc(50% - .7rem)}}@media(max-width:560px){body{font-size:16px}.hero{padding:2rem}.hero h1{font-size:clamp(2.8rem,13vw,4.2rem)}.trust-bar{padding:1rem 1.5rem;gap:.7rem}.trust-bar span{width:100%}.band{padding:4rem 0}.section-head{gap:1rem}.service-card,.gallery-item{flex-basis:100%}.divider{height:55px}.about-grid,.expect-grid{margin:3rem auto}.promo-banner{width:calc(100% - 2rem)}.contact-layout{width:calc(100% - 2rem)}.footer-brand{align-items:flex-start}.hours-row{gap:1rem}.sidebar{min-height:64px}.side-nav{top:64px}}@media(min-width:1280px){.service-card{flex-basis:calc(25% - .95rem);min-width:0}}