@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/parisienne-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/parisienne-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-display-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--sage:#8fa99b;--grey:#c9c9c6;--sage-light:#b7c9b5;--slate:#6f736e;--sand:#d9d0c8;--bg:#faf9f7;--surface:#fff;--ink:#2f3330;--body:#4c514c;--muted:#6f736e;--line:#6f736e2e;--accent:var(--sage);--accent-deep:var(--slate);--dark:#454944;--on-dark:#fff;--on-dark-muted:#b7c9b5;--heading:"Lato", ui-sans-serif, system-ui, -apple-system, sans-serif;--display:"Parisienne", "Brush Script MT", cursive;--serif:"Playfair Display", Georgia, "Times New Roman", serif;--sans:"Lato", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--body);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{min-width:320px;margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #6f736e9e}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-family:var(--heading);letter-spacing:0}h1{margin-bottom:1.35rem;font-size:clamp(3.4rem,8vw,6.6rem);font-weight:700;line-height:.94}h2{font-size:clamp(2.15rem,5vw,4.25rem);font-weight:700;line-height:1}h3{font-size:1.2rem;font-weight:700;line-height:1.2}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){:root{font-size:16px}}.site-shell{--content-width:78rem;--reading-width:70rem;--page-gutter:clamp(1rem, 4vw, 4rem);background:radial-gradient(circle at 8% 18%,#b7c9b524,#0000 28rem),linear-gradient(#faf9f7 0%,#f4f2ee 48%,#faf9f7 100%);min-height:100vh;overflow-x:clip}.site-header{z-index:20;width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto;padding:1rem 0;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{background:var(--sage-light);object-fit:contain;border:1px solid #6f736e2e;border-radius:50%;width:2.5rem;height:2.5rem;padding:.1rem;display:block}.brand strong,.brand small{line-height:1.15;display:block}.brand strong{font-family:var(--display);font-size:1.45rem;font-weight:400;line-height:1.1}.brand small{color:var(--muted);margin-top:.15rem;font-size:.82rem}.site-nav{align-items:center;gap:.25rem;display:flex}.site-nav a{color:var(--muted);border-radius:999px;padding:.65rem .85rem;font-size:.94rem;font-weight:700;text-decoration:none}.site-nav a:hover{color:var(--ink);background:#ffffff94}.site-nav .nav-cta{background:var(--ink);color:#faf9f7;margin-left:.35rem}.site-nav .nav-cta:hover{background:var(--accent-deep);color:#fff}.site-nav .nav-social{width:2.4rem;height:2.4rem;color:var(--accent-deep);background:#ffffff8a;border:1px solid #6f736e29;border-radius:50%;place-items:center;margin-left:.2rem;padding:0;display:inline-grid}.site-nav .nav-social:hover{background:var(--accent);color:var(--ink)}.icon{width:1.15rem;height:1.15rem}.language-switcher{background:#ffffff8a;border:1px solid #6f736e29;border-radius:999px;align-items:center;gap:.2rem;margin-left:.45rem;padding:.2rem;display:inline-flex}.site-nav .language-switcher a{min-width:2.25rem;color:var(--muted);letter-spacing:.05em;text-align:center;border-radius:999px;padding:.42rem .5rem;font-size:.72rem;font-weight:700}.site-nav .language-switcher a:hover{color:var(--accent-deep);background:#8fa99b1a}.site-nav .language-switcher a.is-active{background:var(--accent);color:var(--ink)}.menu-toggle{display:none}.section-pad{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));margin:0 auto;padding:clamp(4.5rem,7vw,7rem) 0}.hero-section{grid-template-columns:minmax(0,1fr) minmax(20rem,.78fr);align-items:center;gap:clamp(2.5rem,5vw,5rem);min-height:calc(100svh - 4.75rem);padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(4rem,7vw,6.5rem);display:grid}.hero-copy{justify-self:center;width:min(100%,43rem)}.hero-logo{object-fit:contain;width:min(100%,22rem);height:auto;margin-bottom:1.5rem;display:block}.hero-copy h1{font-size:clamp(2.9rem,6.2vw,5rem);line-height:1}.eyebrow,.section-kicker{color:var(--accent-deep);font-family:var(--display);margin:0 0 .9rem;font-size:1.35rem;font-weight:400;line-height:1.2}.hero-copy .eyebrow{font-family:var(--serif);letter-spacing:.01em;font-size:1.2rem;font-weight:500}.hero-subtitle{max-width:40rem;color:var(--ink);font-family:var(--heading);font-size:clamp(1.5rem,3vw,2.35rem);font-weight:700;line-height:1.14}.hero-text{max-width:36rem;color:var(--muted);margin-top:1.3rem;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.2rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--sage);color:var(--ink);box-shadow:0 14px 32px #2f33302e}.button-primary:hover{background:var(--slate);color:var(--on-dark)}.button-secondary{color:var(--ink);background:#ffffffad;border:1px solid #6f736e29}.portrait-card{aspect-ratio:4/5;isolation:isolate;background:linear-gradient(145deg,#ffffff47,#0000),#ded7cf;border:1px solid #6f736e26;border-radius:1.5rem;justify-self:center;width:min(100%,29rem);padding:1rem;position:relative;overflow:hidden;box-shadow:0 30px 80px #2f33302e}.portrait-image{z-index:0;opacity:0;object-fit:cover;object-position:center 25%;border-radius:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem);transition:opacity .7s,transform 4s;position:absolute;inset:1rem;transform:scale(1.025)}.portrait-image.is-active{z-index:1;opacity:1;transform:scale(1)}.portrait-indicators{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2f333061;border-radius:999px;gap:.45rem;padding:.45rem .55rem;display:flex;position:absolute;bottom:1.75rem;right:1.75rem}.portrait-indicators span{background:#faf9f77a;border-radius:50%;width:.5rem;height:.5rem;transition:width .3s,background-color .3s}.portrait-indicators span.is-active{background:#faf9f7;border-radius:999px;width:1.35rem}.about-section{border-top:1px solid var(--line)}.about-grid{width:min(100%, var(--reading-width));grid-template-columns:minmax(0,.78fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);margin-inline:auto;display:grid}.about-heading{position:sticky;top:6rem}.about-heading p{color:var(--muted);margin-top:1rem;font-size:1.12rem}.about-copy{color:var(--body);gap:1.05rem;font-size:1.04rem;display:grid}blockquote{border-left:4px solid var(--accent);color:var(--ink);font-family:var(--heading);margin:.5rem 0;padding:.45rem 0 .45rem 1rem;font-size:1.45rem;font-weight:700;line-height:1.22}.testimonials-section{border-top:1px solid var(--line)}.section-intro{text-align:center;max-width:42rem;margin:0 auto 2rem}.testimonials-intro{color:var(--muted);margin-top:.9rem}.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.testimonial-card{background:#ffffff9e;border:1px solid #6f736e21;border-radius:1rem;flex-direction:column;justify-content:space-between;gap:1.5rem;margin:0;padding:1.5rem;display:flex;box-shadow:0 18px 42px #2f333014}.testimonial-quote{color:var(--ink);font-family:var(--heading);margin:0;font-size:1.08rem;font-style:normal;line-height:1.6}.testimonial-quote:before{content:"“";color:var(--sage);font-family:var(--display);margin-bottom:.3rem;font-size:2.6rem;line-height:.6;display:block}.testimonial-author{border-top:1px solid var(--line);gap:.15rem;padding-top:1rem;display:grid}.testimonial-name{color:var(--ink);font-weight:700}.testimonial-context{color:var(--muted);font-size:.9rem}.course-section{border-top:1px solid var(--line)}.course-panel{background:var(--ink);color:#faf9f7;border-radius:1.5rem;grid-template-columns:minmax(0,1fr) minmax(17rem,.82fr) auto;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.course-panel .eyebrow{color:#c9c9c6}.course-panel h2,.course-panel p{color:inherit}.course-panel .button-primary{box-shadow:none;color:var(--ink);white-space:nowrap;background:#faf9f7}.contact-section{border-top:1px solid var(--line);text-align:center}.contact-copy{max-width:42rem;margin:0 auto}.contact-copy p:not(.eyebrow){color:var(--muted);margin:1rem auto 1.8rem;font-size:1.08rem}.email-link{width:fit-content;max-width:100%;color:var(--accent-deep);overflow-wrap:anywhere;text-underline-offset:.2em;margin:1rem auto 0;font-weight:700;text-decoration-thickness:.08em;display:block}.instagram-link{width:fit-content;color:var(--accent-deep);background:#ffffff9e;border:1px solid #6f736e29;border-radius:999px;align-items:center;gap:.5rem;margin:1.25rem auto 0;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.instagram-link:hover{background:var(--accent);color:var(--ink)}.footer-social-link{align-items:center;gap:.45rem;display:inline-flex}.site-footer{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(16rem,1.2fr) minmax(8rem,.5fr) minmax(8rem,.6fr);gap:2rem;margin:0 auto;padding:2rem 0;font-size:.92rem;display:grid}.footer-brand{max-width:24rem}.footer-brand p:first-child{color:var(--ink);font-family:var(--heading);font-size:1.15rem;font-weight:700}.footer-brand p+p{margin-top:.35rem}.footer-brand .email-link{margin:.75rem 0 0}.footer-nav{align-content:start;gap:.45rem;display:grid}.footer-nav a{color:var(--muted);font-weight:700;text-decoration:none}.footer-nav a:hover{color:var(--ink);text-underline-offset:.18em;text-decoration:underline}.footer-copy{color:var(--muted);grid-column:1/-1;font-size:.86rem}.legal-page{min-height:65vh;padding-top:5rem}.not-found-page{text-align:center;place-content:center;min-height:65vh;display:grid}.not-found-page h1{margin-bottom:1rem}.not-found-page>p:not(.eyebrow){max-width:38rem;color:var(--muted);margin:0 auto 1.75rem;font-size:1.08rem}.not-found-page .button{justify-self:center}.legal-header{max-width:44rem;margin-bottom:3rem}.legal-header h1{margin-bottom:1rem}.legal-header p:not(.eyebrow){max-width:42rem;color:var(--muted);font-size:1.12rem}.legal-section{border-top:1px solid var(--line);grid-template-columns:minmax(12rem,.38fr) minmax(0,1fr);gap:clamp(1.25rem,4vw,3rem);padding:2rem 0;display:grid}.legal-section h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.08}.legal-copy{color:var(--body);gap:1rem;max-width:42rem;display:grid}.legal-copy ul{margin:0;padding-left:1.2rem}.text-link{color:var(--accent-deep);overflow-wrap:anywhere;text-underline-offset:.2em;font-weight:700;text-decoration-thickness:.08em}.reveal{animation:.52s both fade-up}.page-header{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.page-header h1{margin-bottom:1rem}.page-header p:not(.eyebrow){color:var(--muted);font-size:1.12rem}.blog-page{min-height:65vh;padding-top:5rem}.post-grid{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.post-card{display:flex}.post-card-link{width:100%;color:inherit;background:#ffffffa8;border:1px solid #6f736e21;border-radius:1.25rem;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 18px 42px #2f333014}.post-card-link:hover{transform:translateY(-3px);box-shadow:0 26px 56px #2f333024}.post-card-cover{aspect-ratio:16/10;object-fit:cover;object-position:center 25%;width:100%}.post-card-body{flex-direction:column;flex:1;gap:.6rem;padding:1.35rem;display:flex}.post-card-date{color:var(--accent-deep);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.post-card-body h2{font-size:1.3rem;line-height:1.2}.post-card-body p{color:var(--muted);font-size:.98rem}.post-card-more{color:var(--accent-deep);text-underline-offset:.2em;margin-top:auto;padding-top:.6rem;font-weight:700;text-decoration:underline;text-decoration-thickness:.08em}.blog-empty{background:#ffffff9e;border:1px solid #6f736e21;border-radius:1.25rem;max-width:40rem;padding:clamp(1.5rem,4vw,2.5rem)}.blog-empty h1,.blog-empty h2{margin-bottom:.85rem}.blog-empty p{color:var(--muted);margin-bottom:1.5rem}.post-article{max-width:46rem;margin:0 auto}.post-back{color:var(--accent-deep);margin-bottom:2rem;font-weight:700;text-decoration:none;display:inline-block}.post-back:hover{text-underline-offset:.2em;text-decoration:underline}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:.85rem}.post-meta{color:var(--muted);font-size:.95rem}.post-cover{aspect-ratio:16/9;object-fit:cover;object-position:center 25%;border-radius:1.25rem;width:100%;margin-bottom:2.5rem}.post-body{color:var(--body);font-size:1.06rem}.post-body>*+*{margin-top:1.15rem}.post-body h2{margin-top:2.5rem;font-size:clamp(1.4rem,3vw,1.85rem)}.post-body h3{margin-top:2rem;font-size:1.25rem}.post-body ul,.post-body ol{gap:.5rem;padding-left:1.35rem;display:grid}.post-body li{padding-left:.2rem}.post-body a{color:var(--accent-deep);text-underline-offset:.2em;font-weight:700;text-decoration-thickness:.08em}.post-body blockquote{margin:1.75rem 0}.post-body img{border-radius:1rem;width:100%}.post-body code{background:#6f736e17;border-radius:.35rem;padding:.15rem .35rem;font-size:.92em}.post-body pre{background:var(--ink);color:#faf9f7;border-radius:.85rem;padding:1.1rem;overflow-x:auto}.post-body pre code{background:0 0;padding:0}.service-about{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.service-about-title{margin-bottom:1rem;font-size:1.25rem}.service-about-body{color:var(--body);font-size:1rem}.service-about-body>*+*{margin-top:1rem}.service-about-body h2{margin-top:1.75rem;font-size:1.2rem}.service-about-body h3{margin-top:1.4rem;font-size:1.08rem}.service-about-body ul,.service-about-body ol{gap:.45rem;padding-left:1.35rem;display:grid}.service-about-body li{padding-left:.2rem}.service-about-body a{color:var(--accent-deep);text-underline-offset:.2em;font-weight:700;text-decoration-thickness:.08em}.service-about-body img{vertical-align:-.2em;width:auto;max-width:100%;height:auto}.service-about-body code{background:#6f736e17;border-radius:.35rem;padding:.15rem .35rem;font-size:.92em}.booking-page{min-height:65vh;padding-top:5rem}.booking-layout{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.booking-picker,.booking-form-panel{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1.25rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 42px #2f333014}.booking-form-panel{position:sticky;top:6rem}.booking-step-title{letter-spacing:.01em;margin-bottom:1rem;font-size:1.05rem}.booking-step-title+.service-options{margin-bottom:2rem}.service-options{flex-wrap:wrap;gap:.5rem;display:flex}.service-option{color:var(--muted);background:#ffffffb3;border:1px solid #6f736e2e;border-radius:999px;justify-items:start;gap:.15rem;padding:.55rem .95rem;font-size:.92rem;font-weight:700;transition:background-color .16s,color .16s,border-color .16s;display:grid}.service-option-name{color:inherit}.service-option-meta{color:inherit;opacity:.78;font-size:.78rem;font-weight:400}.service-option:hover{border-color:var(--accent);color:var(--accent-deep)}.service-option.is-selected{border-color:var(--accent);background:var(--accent);color:var(--ink)}.service-option-tag{color:var(--muted);letter-spacing:.04em;background:#6f736e24;border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.service-option-tag.is-available{color:#3f5c48;background:#3f5c4829}.service-option.is-selected .service-option-tag{color:var(--ink);background:#2f333029}.service-option.is-unavailable{color:var(--muted);opacity:.72;border-style:dashed}.service-option.is-unavailable:hover{border-color:var(--muted);color:var(--body);opacity:1}.service-options-toggle{margin:.85rem 0 1.75rem;font-size:.85rem}.slot-days{gap:1.5rem;display:grid}.slot-day-label{color:var(--ink);font-family:var(--heading);text-transform:capitalize;margin-bottom:.7rem;font-size:1.05rem;font-weight:700}.slot-times{flex-wrap:wrap;gap:.5rem;display:flex}.slot-time{min-width:5.5rem;color:var(--ink);text-align:left;background:#fffc;border:1px solid #6f736e2e;border-radius:.85rem;gap:.1rem;padding:.6rem .8rem;transition:background-color .16s,border-color .16s,color .16s;display:grid}.slot-time:hover{border-color:var(--accent)}.slot-time.is-selected{border-color:var(--accent);background:var(--accent);color:var(--ink)}.slot-time-value{font-weight:700}.slot-time-meta{opacity:.78;font-size:.76rem}.booking-status{color:var(--muted);justify-items:start;gap:.85rem;display:grid}.booking-status-title{color:var(--ink);font-family:var(--heading);font-size:1.15rem;font-weight:700}.booking-status-error{color:#7d4a41}.booking-placeholder h2{margin-bottom:.6rem;font-size:1.35rem}.booking-placeholder p{color:var(--muted)}.booking-form{gap:1rem;display:grid}.booking-form h2{font-size:1.35rem}.booking-form-intro{color:var(--muted)}.booking-summary{background:#d9d0c852;border:1px solid #6f736e24;border-radius:.9rem;gap:.6rem;padding:1rem;display:grid}.booking-summary>div{gap:.1rem;display:grid}.booking-summary-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:700}.booking-summary-value{color:var(--ink);text-transform:capitalize;font-weight:700}.text-button{color:var(--accent-deep);text-underline-offset:.2em;background:0 0;border:none;justify-self:start;padding:0;font-size:.9rem;font-weight:700;text-decoration:underline}.booking-required-hint,.booking-fine-print{color:var(--muted);font-size:.84rem}.field{gap:.4rem;display:grid}.field>span{color:var(--ink);font-size:.92rem;font-weight:700}.field-optional{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;color:var(--ink);font:inherit;background:#ffffffe6;border:1px solid #6f736e33;border-radius:.7rem;padding:.7rem .85rem;font-size:.98rem}.field textarea{resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--accent);outline-offset:1px;outline:2px solid #8fa99b47}.form-error{color:#7d4a41;background:#7d4a411f;border-radius:.7rem;padding:.7rem .85rem;font-size:.92rem;font-weight:700}.field-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.booking-success{justify-items:start;gap:1rem;display:grid}.booking-success h2{font-size:1.35rem}.booking-success p{color:var(--muted)}.booking-success-slot{text-transform:capitalize;background:#d9d0c866;border-radius:.7rem;padding:.7rem .9rem;font-weight:700;color:var(--ink)!important}.admin-page{min-height:65vh;padding-top:5rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;display:flex}.admin-header h1{margin-bottom:.6rem}.admin-header p:not(.eyebrow){color:var(--muted)}.admin-header-actions{align-items:center;gap:.75rem;display:flex}.admin-user{color:var(--muted);font-size:.9rem;font-weight:700}.admin-signin{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1.25rem;gap:1rem;max-width:26rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.25rem);display:grid;box-shadow:0 18px 42px #2f333014}.admin-signin h1{font-size:1.6rem}.admin-signin p{color:var(--muted)}.admin-section{margin-bottom:3.5rem}.admin-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-section-header p{color:var(--muted);margin-top:.4rem}.admin-subheading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:2rem 0 1rem;font-size:.82rem;font-weight:700}.admin-tabs{border-bottom:1px solid #6f736e21;gap:.35rem;margin-bottom:2rem;padding-bottom:.6rem;display:flex;overflow-x:auto}.admin-tab{color:var(--muted);font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:.5rem 1rem;font-size:.92rem;font-weight:700;transition:background-color .16s,color .16s,border-color .16s}.admin-tab:hover{color:var(--accent-deep);border-color:#8fa99b4d}.admin-tab.is-selected{border-color:var(--accent);background:var(--accent);color:var(--ink)}.admin-panel{gap:1.5rem;margin-bottom:3rem;display:grid}.admin-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-panel-header h2{margin-bottom:.4rem;font-size:1.3rem}.admin-panel-header p{color:var(--muted)}.admin-empty{color:var(--muted);text-align:center;background:#ffffff80;border:1px dashed #6f736e38;border-radius:1rem;padding:1.5rem}.admin-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.admin-row{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.15rem 1.25rem;display:flex}.admin-row-main{flex:1;gap:.3rem;min-width:16rem;display:grid}.admin-row-title{color:var(--ink);font-family:var(--heading);font-size:1.05rem;font-weight:700}.admin-row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.84rem;display:flex}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.admin-locale{color:var(--muted);letter-spacing:.06em;background:#6f736e1a;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;font-weight:700}.text-button-danger{color:#7d4a41}.admin-saved{color:#3f5c48;font-size:.88rem;font-weight:700}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;display:grid}.admin-span-2{grid-column:1/-1}.admin-checkbox{grid-auto-flow:column;justify-content:start;align-items:center;gap:.6rem}.admin-checkbox input{width:auto;margin:0}.field-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.field-label-row .text-button{justify-self:auto}.field-hint{color:var(--muted);font-size:.82rem;line-height:1.5;display:block}.admin-body-input{min-height:20rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.65}.admin-preview{gap:1rem;display:grid}.admin-preview-block{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1rem;padding:1.25rem 1.4rem}.admin-preview-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem;font-size:.78rem;font-weight:700}.admin-course-preview{gap:.7rem;max-width:34rem;display:grid}.admin-course-preview .eyebrow{margin:0}.admin-course-preview h3{margin:0;font-size:1.35rem;line-height:1.25}.admin-course-preview p{color:var(--muted);margin:0}.booking-list,.slot-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.booking-item,.slot-item{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.15rem 1.25rem;display:flex}.booking-item-main{flex:1;gap:.3rem;min-width:16rem;display:grid}.booking-item-when,.slot-item-when{color:var(--ink);font-family:var(--heading);text-transform:capitalize;font-size:1.05rem;font-weight:700}.booking-item-service,.slot-item-meta{color:var(--accent-deep);font-size:.88rem;font-weight:700}.booking-item-name{color:var(--ink);font-weight:700}.booking-item-contact,.booking-item-message{color:var(--muted);font-size:.92rem}.booking-item-label{font-weight:700}.booking-item-side{justify-items:end;gap:.7rem;display:grid}.booking-item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.status-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.3rem .7rem;font-size:.74rem;font-weight:700}.status-pending{color:#6b5147;background:#b7c9b547}.status-confirmed{color:#3f5c48;background:#3f5c482e}.status-cancelled{color:var(--muted);background:#6f736e1f}.button-small{min-height:2.25rem;padding:.4rem .85rem;font-size:.85rem}.slot-form{background:#ffffffa8;border:1px solid #6f736e21;border-radius:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:grid}.slot-form h3{grid-column:1/-1;font-size:1.1rem}.slot-form .form-error,.slot-form .button{grid-column:1/-1;justify-self:start}.slot-item>div{gap:.25rem;display:grid}@media (width<=980px){.booking-layout{grid-template-columns:1fr}.booking-form-panel{position:static}.booking-item-side{justify-items:start}.admin-form-grid{grid-template-columns:1fr}}@media (width<=640px){.blog-page,.booking-page,.admin-page{padding-top:3rem}.admin-row{padding:1rem}.admin-row-main{min-width:0}.admin-row-actions{gap:.75rem}.admin-body-input{min-height:14rem}.post-grid{grid-template-columns:1fr}.booking-picker,.booking-form-panel{border-radius:1rem}.booking-form .button,.admin-signin .button{width:100%}.admin-header-actions{justify-content:space-between;width:100%}}@keyframes fade-up{0%{transform:translateY(14px)}to{transform:translateY(0)}}.booking-packages{grid-column:1/-1}.bundle-options{gap:1rem;margin-top:1.5rem;display:grid}.bundle-option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #6f736e2e;border-radius:1.1rem;gap:.75rem;padding:1.25rem 1.35rem;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.bundle-option:hover{background:#ffffffeb;border-color:#8fa99b8c;transform:translateY(-2px)}.bundle-option.is-selected{border-color:var(--sage);background:#b7c9b529;border-left-width:5px;box-shadow:0 16px 36px #2f33301a}.bundle-option-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.bundle-option-name{color:var(--ink);font-family:var(--heading);font-size:1.1rem;font-weight:700}.bundle-option-price{color:var(--ink);font-family:var(--heading);white-space:nowrap;font-size:1.35rem;font-weight:700}.bundle-option-desc{color:var(--body);font-size:.94rem;line-height:1.6}.bundle-option-items{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.bundle-option-items li{color:var(--body);padding-left:1.15rem;font-size:.92rem;line-height:1.6;position:relative}.bundle-option-items li:before{content:"–";color:var(--sage);font-weight:700;position:absolute;left:0}.bundle-option-foot{border-top:1px solid #6f736e21;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding-top:.75rem;display:flex}.bundle-option-parts,.bundle-option-saving{font-size:.85rem}.bundle-option-parts{color:var(--muted);text-decoration:line-through}.bundle-option-saving{color:var(--accent-deep);background:#8fa99b38;border-radius:999px;padding:.22rem .6rem;font-weight:700}.booking-packages-intro{color:var(--muted);font-size:.94rem;line-height:1.65}.bundle-form-title{margin-bottom:.35rem;font-size:1.05rem}.bundle-summary{background:#b7c9b524;border:1px solid #8fa99b66;border-radius:.9rem;gap:.3rem;padding:.9rem 1rem;display:grid}.bundle-summary-name{color:var(--ink);font-family:var(--heading);font-weight:700}.bundle-summary-price{color:var(--ink);font-family:var(--heading);flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:1.25rem;font-weight:700;display:flex}.bundle-summary-was{color:var(--muted);font-size:.9rem;font-weight:400;text-decoration:line-through}.bundle-summary-saving{color:var(--accent-deep);font-size:.85rem;font-weight:700}.consent{color:var(--body);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;font-size:.9rem;line-height:1.6;display:grid}.consent input{width:1.15rem;height:1.15rem;accent-color:var(--sage);cursor:pointer;margin:.15rem 0 0}.consent .text-link{color:var(--accent-deep);font-weight:700}.purchase-details{text-align:left;gap:.5rem;margin:0;display:grid}.purchase-details dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.purchase-details dd{color:var(--ink);margin:.1rem 0 0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:1rem;font-weight:700}.booking-complete{text-align:center;justify-items:center;gap:1.5rem;max-width:34rem;margin:0 auto;display:grid}.admin-items{gap:.85rem;display:grid}.field-label{color:var(--ink);font-size:.92rem;font-weight:700}.admin-item-row{grid-template-columns:minmax(0,1fr) 5.5rem auto;align-items:center;gap:.6rem;display:grid}.admin-item-row select,.admin-item-row input{width:100%;color:var(--ink);font:inherit;background:#ffffffe6;border:1px solid #6f736e33;border-radius:.7rem;padding:.6rem .75rem;font-size:.95rem}.admin-item-row select:focus-visible,.admin-item-row input:focus-visible{border-color:var(--accent);outline-offset:1px;outline:2px solid #8fa99b47}@media (width<=980px){.site-header{align-items:flex-start}.menu-toggle{width:2.75rem;height:2.75rem;color:var(--ink);background:#ffffffb8;border:1px solid #6f736e26;border-radius:50%;place-items:center;display:inline-grid}.menu-toggle span:not(.sr-only){background:currentColor;border-radius:999px;width:1.05rem;height:2px;margin:2px 0;display:block}.site-nav{background:#faf9f7f5;border:1px solid #6f736e21;border-radius:1rem;width:min(21rem,100vw - 2rem);padding:.55rem;display:none;position:absolute;top:calc(100% - .4rem);right:0;box-shadow:0 22px 60px #2f333024}.site-nav.is-open{display:grid}.site-nav a{border-radius:.75rem;padding:.8rem .9rem}.site-nav .nav-cta{text-align:center;margin:.25rem 0 0}.language-switcher{border-radius:.75rem;order:-1;justify-content:center;margin:0 0 .35rem;padding:.4rem}.site-nav .language-switcher a{flex:1;padding:.55rem .75rem}.hero-section,.about-grid,.course-panel{grid-template-columns:1fr}.hero-section{min-height:auto;padding-top:3rem}.portrait-card{justify-self:stretch;width:min(100%,30rem);max-width:none;margin:0 auto}.about-heading{position:static}.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-panel{align-items:start}.course-panel .button{justify-self:start}}@media (width<=640px){.site-shell{--page-gutter:.625rem}.section-pad{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding:4rem 0}.site-header{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding:.75rem 0}.brand-mark{width:2.25rem;height:2.25rem}.brand strong{font-size:.95rem}.hero-section{gap:2.5rem;padding-top:2rem}.hero-actions,.button{width:100%}.portrait-card{border-radius:1.15rem}.testimonials-grid{grid-template-columns:1fr}.course-panel{border-radius:1.15rem}.course-panel .button{width:100%}.site-footer{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));grid-template-columns:1fr;gap:1.5rem}.legal-page{padding-top:3rem}.legal-section{grid-template-columns:1fr;gap:.9rem}}@media (width>=1280px){.site-shell{--content-width:82rem;--reading-width:72rem;--page-gutter:clamp(1.5rem, 4vw, 5rem)}:root{font-size:18px}.portrait-card{width:min(100%,31rem)}}@media (width>=1600px){.site-shell{--content-width:88rem;--reading-width:76rem;--page-gutter:clamp(2rem, 5vw, 7rem)}:root{font-size:18px}.portrait-card{width:min(100%,33rem)}}@media (width>=1920px){.site-shell{--content-width:94rem;--reading-width:80rem;--page-gutter:clamp(2.5rem, 7vw, 10rem)}:root{font-size:19px}.portrait-card{width:min(100%,35rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.consent-banner{z-index:40;width:min(60rem, calc(100% - (2 * var(--page-gutter))));border:1px solid var(--line);background:var(--surface);border-radius:1.25rem;justify-content:space-between;align-items:flex-end;gap:1.25rem;padding:1.1rem 1.25rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 22px 60px #2f333038}.consent-copy{gap:.35rem;display:grid}.consent-title{color:var(--ink);margin:0;font-weight:700}.consent-text{max-width:44rem;color:var(--body);margin:0;font-size:.95rem}.consent-actions{flex-shrink:0;gap:.6rem;display:flex}@media (width<=720px){.consent-banner{flex-direction:column;align-items:stretch;gap:.9rem}.consent-actions{justify-content:flex-end}}
