:root{--ease:cubic-bezier(0.2,0.6,0.2,1);--ease-in:cubic-bezier(0.4,0,0.6,1);--t-fast:140ms;--t-base:220ms;--t-slow:360ms}a,button{transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease),opacity var(--t-fast) var(--ease)}.btn{transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease)}.btn-brand:hover,.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px -8px rgba(31,42,36,.35)}.btn-brand:active,.btn-primary:active{transform:translateY(0);box-shadow:none;transition-duration:60ms}.blog-card-link svg,.blog-index-arrow svg,.btn-link svg,.service-card-link svg,.services-index-arrow svg{transition:transform var(--t-base) var(--ease)}.blog-card:hover .blog-card-link svg,.blog-index-row:hover .blog-index-arrow svg,.btn-link:hover svg,.service-card:hover .service-card-link svg,.services-index-row:hover .services-index-arrow svg{transform:translateX(4px)}.b2b-card,.blog-card,.blog-index-row,.bundle-card,.review-card,.service-card,.services-index-row,.step-card,.team-cred,.value-card{transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.commune-chip{transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.nav a:after{transition:transform var(--t-base) var(--ease)}.nav a:hover:after{transition-duration:var(--t-fast)}.input,.select,.textarea{transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px rgba(45,110,71,.16);transition:border-color 80ms var(--ease),box-shadow .2s var(--ease)}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{animation:hm-shake .32s var(--ease)}@keyframes hm-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.checkbox-row input[type=checkbox]{transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.checkbox-row input[type=checkbox]:after{opacity:0;transform:rotate(45deg) scale(.5);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.checkbox-row input[type=checkbox]:checked:after{opacity:1;transform:rotate(45deg) scale(1)}.accordion-icon{transition:transform var(--t-base) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.accordion-content{animation:hm-accordion-in .28s var(--ease);transform-origin:top}@keyframes hm-accordion-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dialog-backdrop{animation:hm-fade-in .24s var(--ease)}.dialog{animation:hm-dialog-in .32s var(--ease);transform-origin:center top}@keyframes hm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hm-dialog-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-dialog>.booking-dates,.booking-dialog>.booking-services,.booking-dialog>.booking-slots,.booking-dialog>.booking-slots-label,.booking-dialog>.booking-success,.booking-dialog>.form-grid,.booking-dialog>h3,.booking-dialog>p{animation:hm-step-in .32s var(--ease)}@keyframes hm-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-step-num{transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}.booking-date,.booking-service-row,.booking-slot{transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.booking-date:hover:not(.is-active),.booking-service-row:hover,.booking-slot:hover:not(.is-active){transform:translateY(-1px)}.wa-float{animation:hm-wa-rest 4s ease-in-out infinite;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}@keyframes hm-wa-rest{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.wa-float:hover{transform:scale(1.06) translateY(-3px);box-shadow:0 12px 28px -8px rgba(37,211,102,.5);animation-play-state:paused}.hero-type-bottom,.hero-type-headline,.hero-type-meta,.page-hero .lede,.page-hero h1{opacity:0;transform:translateY(12px);animation:hm-fade-up .6s var(--ease) forwards}.hero-type-meta{animation-delay:60ms}.hero-type-headline{animation-delay:.12s}.hero-type-bottom{animation-delay:.24s}.page-hero .lede{animation-delay:.1s}@keyframes hm-fade-up{to{opacity:1;transform:translateY(0)}}.hero-type-bottom,.hero-type-headline,.hero-type-meta,.page-hero .lede,.page-hero h1{animation-fill-mode:forwards}.hero-type-headline em,.page-hero h1 em,.section-header h2 em{background-image:linear-gradient(transparent 88%,currentColor 0,currentColor 92%,transparent 0);background-size:0 100%;background-repeat:no-repeat;background-position:0 0;transition:background-size .7s var(--ease) .2s}.is-visible .hero-type-headline em,.is-visible h1 em,.is-visible h2 em{background-size:0 100%}.sheet{animation:hm-sheet-in .32s var(--ease)}@keyframes hm-sheet-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.sheet-backdrop{animation:hm-fade-in .24s var(--ease)}.faq-side-link,.tab-trigger{transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),padding-left var(--t-fast) var(--ease)}.leaflet-marker-icon.zone-marker .dot{transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.leaflet-marker-icon.zone-marker:hover .dot{transform:scale(1.35);box-shadow:0 2px 8px rgba(0,0,0,.3)}html{scroll-behavior:smooth}.zone-marker-primary .ring{animation:hm-pulse 2.6s var(--ease) infinite}@keyframes hm-pulse{0%{transform:scale(.85);opacity:.45}60%{transform:scale(1.7);opacity:0}to{transform:scale(.85);opacity:0}}.blog-index-row,.services-index-row{transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease),padding var(--t-base) var(--ease)}.phone-mockup{animation:hm-phone-drift 9s ease-in-out infinite}@keyframes hm-phone-drift{0%,to{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-4px)}}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.legal-page{padding:64px 0 96px}.legal-section{padding:56px 0;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:80px 1fr;grid-gap:32px;gap:32px;align-items:start}.legal-section:last-child{border-bottom:0}.legal-section-num{font-style:italic;font-size:28px;color:var(--color-primary);line-height:1;padding-top:8px}.legal-section h2,.legal-section-num{font-family:var(--font-serif);letter-spacing:-.02em}.legal-section h2{font-size:30px;font-weight:500;line-height:1.1;margin:0 0 24px;padding:0;color:var(--color-fg);grid-column:2}.legal-section-body{grid-column:2;font-size:16px;line-height:1.7;color:var(--color-fg)}.legal-section-body p{margin:0 0 16px;max-width:65ch}.legal-section-body p:last-child{margin-bottom:0}.legal-section-body ul{padding-left:22px;margin:0 0 16px;max-width:65ch}.legal-section-body li{margin-bottom:8px}.legal-section-body li::marker{color:var(--color-primary)}.legal-section-body strong{color:var(--color-fg);font-weight:600}.legal-section-body code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;background:var(--color-surface-alt);padding:1px 6px;border-radius:2px}.legal-section-body a{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:rgba(45,110,71,.4);text-decoration-color:rgba(45,110,71,.4)}.legal-section-body a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.legal-section-body .placeholder{color:#6a766f;font-style:italic;font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px}.legal-section-body .callout-warn{background:var(--color-surface-alt);border-left:3px solid var(--color-warning,#b97a2a)}.legal-section-body .callout-info,.legal-section-body .callout-warn{padding:16px 20px;margin:20px 0;font-size:15px;max-width:65ch;color:var(--color-fg)}.legal-section-body .callout-info{background:var(--color-primary-soft);border-left:3px solid var(--color-primary)}.legal-section-body .callout-info strong{color:var(--color-primary)}.legal-section-body .legal-cta{margin:20px 0}.legal-section-body .legal-cta .btn{font-size:14px;padding:12px 20px}@media (max-width:720px){.legal-section{grid-template-columns:1fr;gap:12px;padding:40px 0}.legal-section-num{font-size:22px;padding-top:0}.legal-section h2{grid-column:1;font-size:24px}.legal-section-body{grid-column:1;font-size:15px}}.legal-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.legal-table th{text-align:left;background:var(--color-fg);color:var(--color-bg);padding:12px 16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.legal-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);vertical-align:top;line-height:1.5}.legal-table tr:last-child td{border-bottom:0}.legal-table .opt{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary);font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.08em;text-transform:uppercase;margin-left:6px}@media (max-width:720px){.legal-table{font-size:13px}.legal-table td,.legal-table th{padding:10px 12px}}.cookie-backdrop{position:fixed;inset:0;z-index:99;background:rgba(31,42,36,.35);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);animation:hm-cookie-backdrop-in .36s cubic-bezier(.2,.6,.2,1)}@keyframes hm-cookie-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%)}to{opacity:1;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;pointer-events:none;animation:hm-cookie-in .36s cubic-bezier(.2,.6,.2,1)}@keyframes hm-cookie-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-banner-inner{pointer-events:auto;background:var(--color-fg);color:var(--color-bg);width:100%;max-width:none;display:grid;grid-template-columns:1fr auto;grid-template-areas:"text actions" "prefs prefs";grid-gap:32px;gap:32px;padding:24px max(32px,calc((100vw - 1200px) / 2));box-shadow:0 -8px 32px -8px rgba(0,0,0,.35);border-top:1px solid hsla(38,44%,96%,.12)}.cookie-banner-text{grid-area:text}.cookie-banner-actions{grid-area:actions}.cookie-banner-prefs{grid-area:prefs}.cookie-banner-title{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.01em;margin-bottom:6px;display:flex;align-items:center;gap:8px}.cookie-banner-title svg{color:#d9a87c}.cookie-banner-text p{font-size:13px;line-height:1.55;color:hsla(38,44%,96%,.85);margin:0 0 8px;max-width:56ch}.cookie-banner-link{font-size:12px;letter-spacing:.04em;color:#d9a87c!important;font-weight:500;text-decoration:underline;text-underline-offset:3px}.cookie-banner-link:hover{color:var(--color-bg)!important}.cookie-banner-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:flex-end}.cookie-btn{font-family:var(--font-sans);font-weight:500;font-size:13px;padding:10px 16px;border:1px solid transparent;cursor:pointer;letter-spacing:.02em;white-space:nowrap;transition:background-color .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}.cookie-btn:hover{transform:translateY(-1px)}.cookie-btn:active{transform:translateY(0)}.cookie-btn-primary{background:#d9a87c;color:var(--color-fg);border-color:#d9a87c;font-weight:600}.cookie-btn-primary:hover{background:#c99566;border-color:#c99566}.cookie-btn-secondary{background:transparent;color:var(--color-bg);border-color:hsla(38,44%,96%,.3)}.cookie-btn-secondary:hover{border-color:var(--color-bg)}.cookie-btn-ghost{background:transparent;color:hsla(38,44%,96%,.7);border-color:transparent;text-decoration:underline;text-underline-offset:3px;font-size:12px}.cookie-btn-ghost:hover{color:var(--color-bg)}.cookie-banner-prefs{border-top:1px solid hsla(38,44%,96%,.12);padding-top:20px;display:flex;flex-direction:column;gap:12px}.cookie-pref{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.cookie-pref input[type=checkbox]{margin-top:3px;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid hsla(38,44%,96%,.5);background:transparent;position:relative;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.cookie-pref input[type=checkbox]:checked{background:#d9a87c;border-color:#d9a87c}.cookie-pref input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--color-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}.cookie-pref input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.cookie-pref-name{font-size:13px;font-weight:600;color:var(--color-bg);margin-bottom:4px}.cookie-pref-tag{display:inline-block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:hsla(38,44%,96%,.15);color:hsla(38,44%,96%,.6);padding:2px 6px;margin-left:6px;font-weight:600}.cookie-pref-desc{font-size:12px;color:hsla(38,44%,96%,.65);line-height:1.5}.cookie-pref-disabled .cookie-pref-desc,.cookie-pref-disabled .cookie-pref-name{opacity:.5}@media (max-width:720px){.cookie-banner-inner{grid-template-columns:1fr;grid-template-areas:"text" "actions" "prefs";padding:20px;gap:16px}.cookie-banner-actions{flex-direction:row;flex-wrap:wrap}.cookie-btn{flex:1 1;min-width:0}}