:root{--paper:#f4f5ee;--ink:#293c32;--green:#40594a;--sage:#dce4d7;--muted:#657166;--line:#d4dacf;--white:#fffef9;--font:'Avenir Next',Avenir,'Segoe UI',sans-serif;--pad:clamp(22px,5vw,84px);color-scheme:light;font-family:var(--font);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default}img{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:#b8ccb7}.skip-link{position:fixed;left:20px;top:10px;transform:translateY(-150%);padding:15px;background:var(--ink);color:white;z-index:50}.skip-link:focus{transform:none}.site-header{height:106px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:32px;letter-spacing:.05em;line-height:1;font-weight:500;display:flex;align-items:center;gap:20px}.brand>span{font-size:11px;letter-spacing:0;max-width:70px;line-height:1.5;font-weight:400}.site-header nav{display:flex;gap:35px;font-size:13px}.site-header nav a{padding:15px 0}.site-header nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:53px;padding:16px 25px;background:var(--green);color:var(--white);font-size:13px;border:1px solid var(--green);border-radius:30px;line-height:1.4;transition:background .15s}.button:hover{background:#293f32}.button>span{font-size:18px;line-height:1}.button.small{min-height:45px;padding:12px 21px;font-size:12px;gap:25px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:32px var(--pad) 64px;gap:50px;max-width:1600px;margin:auto}.hero-copy{padding:35px 0}.intro{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:23px}.hero h1{font-size:clamp(48px,6.4vw,94px);font-weight:400;letter-spacing:-.065em;line-height:1.02;margin-bottom:27px}.hero-description{font-size:16px;line-height:1.8;max-width:375px;margin-bottom:30px;color:#566458}.hero-details{margin-top:24px;font-size:12px;line-height:1.6;color:#5a695c}.hero-details span{color:#a0aa9a;margin:0 11px}.hero-visual{position:relative;min-width:0;height:540px;display:flex;align-items:center;justify-content:center}.image-shape{position:relative;width:94%;height:100%;max-width:490px;background:var(--sage);border-radius:220px 220px 24px 24px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-shape img{width:87%;height:90%;object-fit:contain;filter:drop-shadow(0 20px 22px #34453120)}.visual-note{position:absolute;left:-13px;bottom:38px;display:flex;align-items:center;gap:15px;padding:17px 23px;background:var(--white);border-radius:8px;box-shadow:0 4px 24px #293c3208;font-size:12px;line-height:1.6}.quiet-mark{font-family:Georgia,serif;font-size:40px;font-weight:400;color:#74896c;line-height:1}.image-note{position:absolute;bottom:14px;right:30px;font-size:9px;color:#60705c}.service-line{padding:25px var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:14px}.service-line p{display:flex;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.service-line p span{font-size:20px;color:#78906e}.section{padding:100px var(--pad);max-width:1600px;margin:auto}h2{font-size:clamp(34px,4vw,55px);font-weight:400;letter-spacing:-.05em;line-height:1.12}.experience{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-heading>p:last-child{max-width:320px;font-size:15px;line-height:1.8;color:var(--muted);margin-top:24px}.experience-steps{list-style:none;margin:0;padding:0}.experience-steps li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:25px 0}.experience-steps li:first-child{padding-top:0}.step-number{font-size:11px;color:#829078;padding-top:6px}.experience-steps h3{font-size:20px;letter-spacing:-.025em;font-weight:500;margin-bottom:11px}.experience-steps p{font-size:14px;line-height:1.8;color:var(--muted);max-width:400px}.booking-section{background:#e8edE2;max-width:none}.booking-heading{max-width:1200px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.booking-heading .intro{margin-bottom:14px}.booking-heading>p{text-align:right;display:flex;flex-direction:column;font-size:12px;line-height:1.8;color:var(--muted)}.booking-heading strong{font-size:33px;font-weight:400;letter-spacing:-.04em;color:var(--ink);line-height:1.4}.booking-shell{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:auto;border-radius:20px;overflow:hidden;background:var(--white);border:1px solid #cdd7c7}.calendar-side{padding:35px;min-width:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-header h3{font-size:19px;font-weight:500;letter-spacing:-.02em}.icon-button{border:1px solid var(--line);background:none;border-radius:50%;height:42px;width:42px;font-size:20px}.icon-button:hover:not(:disabled){background:#edf1e8}.icon-button:disabled{opacity:.3}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{font-size:11px;color:var(--muted);text-align:center;margin-bottom:12px}.calendar-weekdays span{padding:6px}.calendar-day{border:0;aspect-ratio:1;background:#edf1e7;border-radius:50%;font-size:14px;position:relative;min-height:36px}.calendar-day:hover:not(:disabled){background:#d6e2cd}.calendar-day:disabled{background:none;color:#b1b7ad}.calendar-day.is-selected{background:var(--green);color:white}.calendar-day.is-today::after{content:'';width:3px;height:3px;background:currentColor;position:absolute;left:calc(50% - 1.5px);bottom:8px;border-radius:50%}.calendar-status{font-size:12px;line-height:1.7;color:var(--muted);margin-top:20px;min-height:20px}.calendar-timezone{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#time-title{font-size:13px;font-weight:500;margin:23px 0 13px}.time-slot{border:1px solid #b8c8ad;background:none;border-radius:7px;min-height:44px;font-size:12px;padding:9px 3px}.time-slot:hover{background:#edf1e7}.time-slot[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.booking-details{background:#f3f5ed;padding:40px;border-left:1px solid #dce3d5;min-width:0}.booking-details h3{font-size:35px;font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:23px 0 20px}.booking-details p{font-size:13px;line-height:1.8;color:var(--muted)}.availability-note{border-top:1px solid var(--line);padding-top:22px;margin-top:32px}.availability-note p+p{margin-top:18px;font-size:12px}.booking-details form h3{font-size:27px;margin:0 0 10px}.selection-summary{margin-bottom:25px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 13px}.form-fields label{font-size:12px;line-height:1.6;display:flex;flex-direction:column;gap:6px}.form-fields label:last-child{grid-column:1/-1}input:not([type=checkbox]),select{width:100%;min-width:0;min-height:45px;padding:10px 12px;color:var(--ink);background:var(--white);border:1px solid #b9c6b1;border-radius:7px;font-size:13px}input::placeholder{color:#7b8676;font-size:12px}.consent{display:flex;align-items:flex-start;gap:9px;margin:20px 0;font-size:11px;line-height:1.7;color:var(--muted)}.consent input{accent-color:var(--green);width:16px;height:16px;flex:none;margin:2px 0 0}.booking-details .button{width:100%}.booking-details .privacy-note{font-size:10px;line-height:1.7;margin-top:13px}.honeypot{position:absolute;left:-9999px}.booking-details .form-error{padding:12px;background:#f6e9df;color:#874c33;margin-bottom:15px;border-radius:5px;font-size:12px}.button:disabled{opacity:.55;cursor:wait}.success-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dce8d1;font-size:24px;margin-bottom:25px}.booking-details .reference{font-size:10px;margin:20px 0}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:5px;border:0;background:none;padding:12px 0;color:var(--green)}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{font-size:15px;padding:24px 28px 24px 0;cursor:pointer;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:3px;font-size:22px;font-weight:300;top:20px}details[open] summary::after{content:'−'}.faq-list p{font-size:14px;line-height:1.8;color:var(--muted);padding:0 30px 24px 0}.closing{background:var(--green);color:var(--white);text-align:center;padding:75px 22px}.closing>p{font-size:clamp(28px,3.5vw,43px);line-height:1.3;letter-spacing:-.04em;font-weight:400}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:30px}.button.light:hover{background:#dce4d7}footer{padding:38px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}footer .brand{font-size:27px}footer .brand span{font-size:10px}
@media(min-width:1600px){.booking-section{padding-left:max(var(--pad),calc((100% - 1400px)/2));padding-right:max(var(--pad),calc((100% - 1400px)/2))}}@media(max-width:1000px){.hero{gap:20px}.hero-visual{height:460px}.hero h1{font-size:65px}.hero-description{font-size:14px}.experience{gap:50px}.calendar-side,.booking-details{padding:25px}.faq-section{gap:45px}.site-header nav{gap:20px}.brand{gap:12px}}@media(max-width:760px){.site-header{height:85px}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:10px;padding-bottom:40px;gap:20px}.hero-copy{padding:15px 0}.hero h1{font-size:clamp(50px,10vw,75px)}.hero-description{max-width:420px;font-size:15px}.hero .intro{margin-bottom:18px}.hero-visual{height:420px;max-width:500px;width:100%;margin:auto}.image-shape{width:89%;border-radius:210px 210px 20px 20px}.image-shape img{height:92%}.visual-note{left:0;bottom:30px}.service-line{align-items:flex-start;gap:14px;flex-direction:column;padding-top:22px;padding-bottom:22px}.service-line p{font-size:11px;gap:16px}.section{padding:65px var(--pad)}.experience{grid-template-columns:1fr;gap:35px}.section-heading h2 br{display:none}.section-heading>p:last-child{max-width:420px;margin-top:17px}.experience-steps p{max-width:none}.booking-heading{align-items:flex-start;gap:20px;margin-bottom:28px}.booking-heading h2{font-size:34px;max-width:280px}.booking-heading>p{min-width:105px;font-size:10px}.booking-heading strong{font-size:29px}.booking-shell{grid-template-columns:1fr;border-radius:15px}.booking-details{border-left:0;border-top:1px solid #dce3d5;padding:28px}.calendar-side{padding:25px}.calendar-day{font-size:14px;max-height:53px}.calendar-days{gap:7px}.calendar-weekdays{gap:7px}.calendar-header{margin-bottom:20px}.calendar-status{margin-top:15px}.calendar-timezone{margin-top:20px;padding-top:15px}#booking-intro{display:grid;grid-template-columns:40px 1fr;gap:0 12px}#booking-intro .quiet-mark{grid-row:1/3;font-size:32px}#booking-intro h3{font-size:27px;margin:0 0 12px}#booking-intro h3 br{display:none}#booking-intro>p{grid-column:2;font-size:12px}#booking-intro>p br{display:none}.availability-note{grid-column:1/-1;margin-top:23px;display:flex;gap:25px}.availability-note p{font-size:11px;flex:1}.availability-note p+p{margin:0;font-size:11px}.booking-details h3{font-size:32px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2 br{display:none}.faq-section .intro{margin-bottom:15px}.closing{padding:60px 22px}footer{flex-wrap:wrap;padding-top:28px;padding-bottom:28px}footer .brand{width:100%}footer p,footer>a:last-child{font-size:11px}}@media(max-width:380px){.brand>span{display:none}.hero h1{font-size:49px}.site-header .button{font-size:11px;padding:11px 17px}.hero-visual{height:360px}.booking-heading h2{font-size:30px}.booking-heading>p{min-width:92px;font-size:9px}.booking-heading{gap:12px}.calendar-side,.booking-details{padding:20px}.calendar-days{gap:5px}.calendar-day{min-height:33px}.form-fields{grid-template-columns:1fr}.form-fields label:last-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.calendar-day.is-selected:hover:not(:disabled){background:var(--green);color:var(--white)}
