@font-face{font-family:Cormorant;src:url(/fonts/cormorant.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost.woff2)format("woff2");font-weight:300 600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant-fallback;src:local(Georgia),local(Times New Roman),local(Times);size-adjust:88.1%;ascent-override:104.9%;descent-override:32.6%;line-gap-override:0%}@font-face{font-family:Jost-fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:92.2%;ascent-override:116.1%;descent-override:40.7%;line-gap-override:0%}:root{--primary:#2a1d1d;--on-primary:#fdfcfb;--accent:#c12128;--on-accent:#fff;--dark:#161616;--on-dark:#f4efed;--muted:#8a7f7d;--surface:#f8f3f1;--text-soft:#463d3b;--error:#c0392b;--success:#2e7d52;--serif:"Cormorant","Cormorant-fallback",Georgia,"Times New Roman",serif;--sans:"Jost","Jost-fallback","Segoe UI",sans-serif;--maxw:1180px;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--dark);background:#fff;font-size:1.0625rem;font-weight:300;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}ul{list-style:none}h1,h2,h3{font-family:var(--serif);letter-spacing:.005em;font-weight:500;line-height:1.15}h2{margin-bottom:1.1rem;font-size:clamp(1.9rem,4.2vw,3rem)}h3{margin-bottom:.6rem;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:600}p{margin-bottom:1.1rem}p:last-child{margin-bottom:0}strong{color:inherit;font-weight:600}.eyebrow{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.78rem;font-weight:500;display:block}.lead{color:var(--text-soft);font-size:1.15rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{background:var(--dark);color:var(--on-dark);border-radius:var(--radius);z-index:200;padding:.6rem 1rem;transition:top .2s;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}section{padding:clamp(3rem,8vw,6rem) 0}.section-narrow{max-width:760px}.ico{stroke-width:1.5px;width:24px;height:24px;color:var(--accent);flex-shrink:0}.ico-lg{stroke-width:1.5px;width:40px;height:40px;color:var(--accent)}.site-header{z-index:100;background:#fffffff7;border-bottom:1px solid #efe8e5;transition:box-shadow .2s,border-color .2s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:#0000;box-shadow:0 4px 16px #1616160f}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;height:76px;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand img{width:auto;height:64px}.nav{align-items:center;gap:.3rem;display:flex}.nav a{color:var(--dark);border-radius:6px;padding:.5rem .85rem;font-size:.95rem;font-weight:400;text-decoration:none;transition:color .2s,background .2s}.nav>ul{align-items:center;gap:.2rem;display:flex}.nav>ul>li{position:relative}.nav a:hover{color:var(--accent)}.nav a.btn-primary,.nav a.btn-primary:hover{color:var(--on-accent)}.has-sub>a:after{content:"";vertical-align:middle;border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;margin-left:6px;display:inline-block;transform:rotate(45deg)translateY(-2px)}.submenu{border-radius:var(--radius);opacity:0;visibility:hidden;background:#fff;border:1px solid #efe8e5;min-width:250px;padding:.5rem;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(6px);box-shadow:0 14px 34px #1616161a}.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateY(0)}.submenu a{padding:.6rem .8rem;font-size:.92rem;display:block}.submenu a:hover{background:var(--surface)}.nav-cta{margin-left:.6rem}.burger{cursor:pointer;color:var(--dark);background:0 0;border:0;padding:.4rem;display:none}.burger .ico{width:28px;height:28px}.btn{font-family:var(--sans);cursor:pointer;border-radius:var(--radius);border:1.5px solid #0000;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn .ico{color:currentColor;width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover,.btn-primary:focus-visible{background:color-mix(in oklch,var(--accent),black 15%);color:var(--on-accent);border-color:color-mix(in oklch,var(--accent),black 15%)}.btn-secondary{color:var(--accent);border-color:var(--accent);background:0 0}.btn-secondary:hover{background:var(--accent);color:var(--on-accent)}.btn-ghost-light{color:#fff;background:0 0;border-color:#ffffff80}.btn-ghost-light:hover{color:var(--dark);background:#fff;border-color:#fff}.hero{color:#fff;background-position:58%;background-size:cover;align-items:center;min-height:68svh;padding:4.6rem 0 4rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(#0f0c0c47 0%,#0f0c0c9e 52%,#0f0c0cc7 100%),linear-gradient(105deg,#0f0c0cb8 0%,#0f0c0c61 58%,#0f0c0c2e 100%);position:absolute;inset:0}.hero .wrap{z-index:2;position:relative}.hero .hero-content,.hero.hero-inner .hero-content{border-radius:var(--radius);background:#161616c7;width:100%;max-width:680px;padding:1.35rem;box-shadow:0 18px 54px #0000003d}.hero h2{color:#fff;margin-bottom:1.15rem;font-size:2.35rem;font-weight:500;line-height:1.08}.hero .eyebrow{color:#fff;opacity:.9}.hero p{color:#fffffff0;max-width:560px;font-size:1.05rem}.hero-actions{flex-direction:column;gap:.85rem;margin-top:1.45rem;display:flex}.hero-actions .btn{justify-content:center;width:100%}.hero-micro{display:none}.hero-alt-link{color:#ffffffe0;margin-top:.9rem;font-size:.95rem}.hero-alt-link a{color:#fff;text-decoration:underline}.hero-alt-link a:hover{color:#ffffffd9}.hero-inner{min-height:56svh;padding:4.2rem 0 3.6rem}.hero-client{background-position:50% 34%}.hero-client-portrait{background-position:50% 28%}.hero-client-wellness{background-position:50% 24%}.hero-tools{background-position:50%}.hero-tools-coupe{background-position:42%}.breadcrumb{color:#ffffffd1;z-index:2;margin-bottom:.85rem;font-size:.85rem;position:relative}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span[aria-current]{opacity:.75}.surface-bg{background:var(--surface)}.dark-bg{background:var(--dark);color:var(--on-dark)}.dark-bg h2,.dark-bg h3{color:var(--on-dark)}.dark-bg .eyebrow{color:color-mix(in oklch,var(--accent),white 38%)}.intro{text-align:center;max-width:760px;margin:0 auto}.intro p{color:var(--text-soft);font-size:1.18rem}.dark-bg .intro p{color:#f4efede0}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.split.reverse .split-media{order:2}.split-media img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 22px 50px #1616161f}.split-media img.img-focus-head{object-position:center 34%}.split-media img.img-focus-top{object-position:center 18%}.split-media-portrait img{aspect-ratio:3/4;width:auto;max-width:100%;max-height:560px;margin:0 auto}.split-body h2{margin-bottom:1.2rem}.split-body a.more-link{color:var(--accent);align-items:center;gap:.4rem;margin-top:.4rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.split-body a.more-link .ico{width:18px;height:18px}.split-body a.more-link:hover{text-decoration:underline}.media-wide{margin:0}.media-wide img{object-fit:cover;border-radius:var(--radius);width:auto;max-width:100%;max-height:620px;margin:0 auto;display:block;box-shadow:0 22px 50px #1616161f}.split-body a,.intro a,.section-narrow a,.presta-desc a,.hero p a{text-decoration:underline}.badge-feature{background:var(--surface);border-radius:var(--radius);justify-content:center;align-items:center;padding:2.5rem;display:flex}.badge-feature img{box-shadow:none;aspect-ratio:auto;border-radius:0;width:100%;max-width:320px}.pullquote{font-family:var(--serif);color:var(--dark);text-align:center;max-width:820px;margin:0 auto;font-size:clamp(1.5rem,3vw,2rem);font-style:italic;line-height:1.35}.pullquote .ico{width:34px;height:34px;margin:0 auto 1rem;display:block}.split-body .pullquote{text-align:left;max-width:none;margin:0;font-size:clamp(1.35rem,2.4vw,1.7rem)}.split-body .pullquote .ico{margin:0 0 .85rem}.dark-bg .pullquote{color:var(--on-dark)}.author-sign{align-items:center;gap:1rem;margin-top:1.6rem;display:flex}.author-logo{flex-shrink:0;width:96px;height:96px}.author-name{font-family:var(--serif);color:var(--primary);margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1}.duo{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-top:2.5rem;display:grid}.duo-item{border-top:2px solid var(--accent);padding-top:1.5rem}.duo-item .ico-lg{margin-bottom:1rem}.duo-item h3,.duo-item h2{margin-bottom:.5rem}.duo-item h2{font-size:1.25rem;line-height:1.25}.duo-item .presta-dur{margin-bottom:.9rem;display:block}.duo-item p{color:var(--text-soft);font-size:.98rem}.duo-item a{color:var(--accent);align-items:center;gap:.35rem;margin-top:.6rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.duo-item a .ico{width:16px;height:16px}.duo-item a:hover{text-decoration:underline}.reassur{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;display:grid}.reassur-item{align-items:flex-start;gap:1rem;display:flex}.reassur-item .ico-lg{width:32px;height:32px;margin-top:2px}.reassur-item h3{margin-bottom:.3rem;font-size:1.2rem}.reassur-item p{color:var(--text-soft);font-size:.95rem}.presta-list{gap:0;margin-top:2.5rem;display:grid}.presta{border-top:1px solid #e7ddd9;grid-template-columns:1fr auto;align-items:baseline;gap:1.5rem 2rem;padding:1.8rem 0;display:grid}.presta:last-child{border-bottom:1px solid #e7ddd9}.presta-head{flex-wrap:wrap;align-items:baseline;gap:.8rem;display:flex}.presta h3{margin-bottom:0}.presta-dur{color:var(--muted);letter-spacing:.03em;font-size:.85rem}.presta-desc{color:var(--text-soft);grid-column:1/2;max-width:35.96em;margin-top:.6rem}.presta-desc a{color:inherit;text-decoration:underline}.presta-price{font-family:var(--serif);color:var(--accent);white-space:nowrap;text-align:right;font-size:1.7rem;font-weight:600}.presta-note{margin-top:2.5rem}.presta-note p+p{margin-top:1rem}.presta-note a{color:inherit;text-decoration:underline}.zones{flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;display:flex}.zone-link{color:var(--dark);padding:.45rem 0;font-size:.98rem;text-decoration:none;position:relative}.zone-link:after{content:"·";color:var(--muted);margin-left:.7rem}.zone-link:last-child:after{content:""}.zone-link.is-home{color:var(--accent);font-weight:500}.certifs{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,6vw,5rem);margin-top:2.5rem;display:flex}.certif{text-align:center;max-width:220px}.certif img{width:auto;height:92px;margin:0 auto .8rem}.certif p{color:var(--text-soft);font-size:.9rem}.certif-wide{max-width:240px}.certif-card{border-radius:var(--radius);width:100%;height:auto}.badge-pair{flex-wrap:wrap;gap:1.25rem}.badge-pair img{border-radius:var(--radius);max-width:300px}.testimonials{grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem;display:grid}.testimonial blockquote{font-family:var(--serif);color:var(--dark);border-left:2px solid var(--accent);padding-left:1.2rem;font-size:1.3rem;font-style:italic;line-height:1.4}.testimonial .ico{width:26px;height:26px;margin-bottom:.8rem}.testimonial cite{font-family:var(--sans);color:var(--muted);margin-top:.9rem;padding-left:1.2rem;font-size:.88rem;font-style:normal;display:block}.faq{max-width:820px;margin:2.5rem auto 0}.faq details{border-bottom:1px solid #e7ddd9}.faq summary{cursor:pointer;font-family:var(--serif);color:var(--dark);padding:1.3rem 2.5rem 1.3rem 0;font-size:1.3rem;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);width:11px;height:11px;transition:transform .25s;position:absolute;top:1.65rem;right:.3rem;transform:rotate(45deg)}.faq details[open] summary:after{transform:rotate(-135deg)}.faq details p{color:var(--text-soft);max-width:39.44em;padding:0 0 1.4rem}.cta-banner{background:var(--accent);color:var(--on-accent);text-align:center}.cta-banner-photo{isolation:isolate;background:linear-gradient(90deg,#292b26e0,#292b269e),var(--cta-photo)center 42%/cover no-repeat,var(--accent);position:relative}.cta-banner-photo:before{content:"";z-index:-1;background:#292b262e;position:absolute;inset:0}.cta-banner h2{color:#fff}.cta-banner p{color:#ffffffeb;max-width:600px;margin:0 auto 2rem;font-size:1.15rem}.cta-banner .btn-ghost-light{color:var(--accent);background:#fff;border-color:#fff}.cta-banner .btn-ghost-light:hover{color:var(--accent);background:#f2f2f2;border-color:#f2f2f2}.cta-micro{color:#ffffffd9;margin-top:1.4rem;font-size:.92rem}.cta-micro a{color:#fff}.cta-banner .contact-simple .lead,.cta-banner .contact-simple p{color:#ffffffeb}.cta-banner .contact-simple a:not(.btn){color:#fff}.cta-banner .contact-lines{color:#ffffffe0}.cta-dark{background:var(--primary);color:var(--on-primary);text-align:center;border-bottom:3px solid var(--accent)}.cta-dark h2{color:var(--on-primary)}.cta-dark p{color:#fdfcfbd9;max-width:600px;margin:0 auto 2rem;font-size:1.15rem}.cta-dark .cta-micro{color:#fdfcfbc7}.cta-dark .cta-micro a{color:var(--on-primary)}.contact-grid{grid-template-columns:1fr 1.15fr;align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.contact-simple{text-align:center}.contact-simple .btn{margin:.5rem 0 1.3rem;text-decoration:none}.contact-simple a:not(.btn){text-decoration:underline}.contact-lines{color:var(--text-soft);flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin-top:1.1rem;font-size:.98rem;display:flex}.contact-info dl{gap:1.4rem;margin-top:1.5rem;display:grid}.contact-info .row{grid-template-columns:24px minmax(0,1fr);align-items:flex-start;column-gap:.9rem;display:grid}.contact-info dt{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);grid-column:1/-1;grid-template-columns:24px minmax(0,1fr);column-gap:.9rem;margin-bottom:.15rem;font-size:.78rem;font-weight:500;display:grid}.contact-info dt .ico{margin-top:3px}.contact-info dd{grid-column:2}.contact-info dd a{color:inherit;text-decoration:underline}.form-note{color:var(--muted);margin-top:.3rem;font-size:.85rem}.disclaimer{max-width:40.6em;color:var(--muted);margin-top:2.2rem;font-size:.9rem;font-style:italic;line-height:1.6}.site-footer{background:var(--dark);color:var(--on-dark);padding:clamp(3rem,7vw,4.5rem) 0 2rem}.footer-top{border-bottom:1px solid #ffffff1f;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;display:grid}.footer-logo-text{font-family:var(--serif);color:#fff;margin-bottom:1.1rem;font-size:1.75rem;line-height:1}.footer-brand p{color:#f4efedb3;max-width:17.4em;font-size:.95rem}.footer-col .footer-title{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;color:color-mix(in oklch,var(--accent),white 38%);margin-bottom:1rem;font-size:.78rem;font-weight:500}.footer-col ul{gap:.6rem;display:grid}.footer-col .footer-title.mt{margin-top:1.6rem}.footer-col a{color:#f4efedd1;font-size:.95rem;text-decoration:none}.footer-col a:hover{color:#fff;text-decoration:underline}.footer-contact li{color:#f4efedd1;align-items:flex-start;gap:.6rem;margin-bottom:.6rem;font-size:.95rem;display:flex}.footer-contact .ico{width:18px;height:18px;color:color-mix(in oklch,var(--accent),white 38%);margin-top:2px}.footer-contact a{color:inherit;text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-social{gap:.8rem;margin-top:.4rem;display:flex}.footer-social a{display:inline-flex}.footer-social .ico{color:#f4efedd1;width:22px;height:22px}.footer-social a:hover .ico{color:#fff}.footer-bottom{color:#f4efed99;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.8rem;font-size:.85rem;display:flex}.footer-bottom a{color:inherit;text-decoration:underline}.footer-legal{flex-wrap:wrap;gap:1.2rem;display:flex}.breadcrumb-dark{color:var(--muted)}.breadcrumb-dark a{color:var(--dark)}.legal h2{margin-top:2.6rem}.legal h2:first-of-type{margin-top:0}.legal h3{margin-top:1.8rem}.legal p,.legal .legal-list{color:var(--text-soft)}.legal a{text-decoration:underline}.legal-list{gap:.5rem;margin:0 0 1.1rem;display:grid}.legal-list li{padding-left:1rem;position:relative}.legal-list li:before{content:"—";color:var(--accent);position:absolute;left:0}.legal .faq{margin-top:1.5rem}.sticky-cta{z-index:90;background:#fffffffa;border-top:1px solid #efe8e5;padding:.7rem 1rem;display:none;position:fixed;bottom:0;left:0;right:0}.sticky-cta .btn{justify-content:center;width:100%}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(22px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transition:none;transform:none}}@media (max-width:900px){.duo,.reassur,.testimonials{grid-template-columns:1fr;gap:2rem}.split{grid-template-columns:1fr}.split.reverse .split-media{order:0}.contact-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}@media (max-width:760px){.nav{display:none}.burger{display:inline-flex}.nav-cta{display:none}.nav.open{z-index:101;height:calc(100svh - 76px);padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));background:#fff;display:block;position:fixed;inset:76px 0 0;overflow-y:auto}.nav.open>ul{flex-direction:column;align-items:stretch;gap:0}.nav.open>ul>li{border-bottom:1px solid #efe8e5}.nav.open a{padding:.8rem 0;font-size:1.1rem;display:block}.nav.open .has-sub>a:after{float:right}.nav.open .submenu{opacity:1;visibility:visible;box-shadow:none;border:0;min-width:0;padding:0 0 .5rem 1rem;position:static;transform:none}.nav.open .nav-cta{margin:1.2rem 0 0;display:block}.nav.open .nav-cta .btn{justify-content:center;width:100%}body.has-sticky-cta{padding-bottom:76px}.sticky-cta{display:block}.presta{grid-template-columns:1fr;gap:.5rem}.presta-price{text-align:left;grid-column:1}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}@media (min-width:520px){.hero h2{font-size:2.8rem}}@media (min-width:761px){.nav-toggle-open{display:none}.hero{background-position:50%;min-height:74svh;padding:6rem 0 5.5rem}.hero .hero-content,.hero.hero-inner .hero-content{padding:clamp(1.5rem,4vw,2.5rem)}.hero h2{font-size:3.4rem}.hero p{font-size:1.15rem}.hero-actions{flex-flow:wrap;margin-top:1.9rem}.hero-actions .btn{width:auto}.hero-micro{color:#ffffffd1;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.92rem;display:flex}.hero-micro .ico{color:#fff;opacity:.85;width:17px;height:17px}.hero-inner{min-height:56svh;padding:5.2rem 0 4.6rem}.hero-tools,.hero-tools-coupe{background-position:50%}}@media (min-width:1100px){.hero h2{font-size:4rem}}:is(section:has(>.hero-cover-img),div:has(>.hero-cover-img)){isolation:isolate;position:relative;overflow:hidden}.hero-cover-img{object-fit:cover;z-index:-2;filter:blur(.1px);width:100%;height:100%;position:absolute;inset:0}.hero-stacked{background:var(--surface);text-align:center;padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2.8rem,6vw,4.5rem)}.hero-stacked .hero-photo{max-width:460px;margin:0 auto clamp(2rem,5vw,3rem)}.hero-stacked .hero-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:var(--radius);width:100%;box-shadow:0 26px 60px #16161629}.hero-stacked .hero-text{max-width:660px;margin:0 auto}.hero-stacked .eyebrow{color:var(--accent)}.hero-stacked h2{font-family:var(--serif);color:var(--primary);margin:.4rem 0 1.1rem;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:600;line-height:1.12}.hero-stacked .hero-text p{color:var(--text-soft);max-width:580px;margin:0 auto 1.1rem;font-size:1.1rem}.hero-stacked .hero-actions{flex-flow:wrap;justify-content:center;margin-top:1.6rem}.hero-stacked .hero-actions .btn{width:auto}.hero-stacked .hero-alt-link{color:var(--text-soft);margin-top:1rem}.hero-stacked .hero-alt-link a{color:var(--accent);text-decoration:underline}.hero-stacked .hero-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:1.4rem;font-size:.82rem}.price-list{margin-top:clamp(1.8rem,4vw,2.6rem)}.price-row{border-top:1px solid #e7ddd9;grid-template-columns:1fr auto;align-items:baseline;gap:.4rem 2rem;padding:1.5rem 0;display:grid}.price-row:last-child{border-bottom:1px solid #e7ddd9}.price-name{font-family:var(--serif);color:var(--primary);margin:0;font-size:clamp(1.25rem,2.2vw,1.5rem);font-weight:600;line-height:1.2}.price-amount{font-family:var(--serif);color:var(--accent);white-space:nowrap;text-align:right;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:600}.price-amount .price-amount-pre{color:var(--text-soft);font-size:.72em;font-weight:400}.price-dur{font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);grid-column:1/2;margin:.35rem 0 0;font-size:.82rem;font-weight:400}.price-desc{color:var(--text-soft);grid-column:1/2;max-width:34.8em;margin:.55rem 0 0;font-size:.98rem}.price-note{color:var(--text-soft);margin-top:1.8rem}.price-note a{color:inherit;text-decoration:underline}@media (max-width:600px){.price-row{grid-template-columns:1fr;gap:.25rem}.price-amount{text-align:left;grid-column:1;margin-top:.3rem}}
.booking-modal-overlay{z-index:9999;opacity:0;pointer-events:none;background:#00000080;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.booking-modal-overlay.open{opacity:1;pointer-events:auto}.booking-modal{background:#fff;border-radius:12px;width:min(95vw,480px);max-height:90vh;animation:.25s bookFadeIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0003}@keyframes bookFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.booking-modal-close{cursor:pointer;color:var(--muted,#888);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-self:flex-start;padding:6px;transition:background .15s}.booking-modal-close:hover{background:var(--surface,#f5f5f5)}.booking-widget{padding:1.5rem}.booking-header{border-bottom:1px solid var(--surface,#eee);justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.booking-steps{flex-wrap:wrap;flex:1;gap:.5rem;min-width:0;display:flex}.booking-step{color:var(--muted,#888);white-space:nowrap;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s}.booking-step.active{background:var(--accent,#2563eb);color:var(--on-accent,#fff)}.booking-step.done{color:var(--accent,#2563eb)}.booking-back{color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:0;font-size:.9rem;font-weight:500;display:inline-block}.booking-back:hover{opacity:.7}.booking-services-title{color:var(--dark,#333);margin:0 0 .35rem;font-size:1.1rem}.booking-services-help{color:var(--muted,#888);margin:0 0 1rem;font-size:.9rem}.booking-services-list{grid-template-columns:1fr;gap:.6rem;display:grid}.booking-service-option{text-align:left;border:1px solid var(--surface,#ddd);width:100%;color:var(--dark,#333);font:inherit;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:.2rem;padding:.85rem 1rem;font-weight:600;transition:all .15s;display:flex}.booking-service-option:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb)}.booking-service-option--selected{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:var(--on-accent,#fff)}.booking-service-option--selected:hover{color:var(--on-accent,#fff)}.booking-service-name{line-height:1.25}.booking-service-meta{opacity:.8;font-size:.84rem;font-weight:500;line-height:1.3}.booking-services-recap{border-bottom:1px solid var(--surface,#eee);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.booking-recap-chip{background:var(--surface,#f0f0f0);color:var(--dark,#333);border-radius:16px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.82rem;display:inline-flex}.booking-recap-chip button{cursor:pointer;color:var(--muted,#888);background:0 0;border:none;padding:0;font-size:1rem;line-height:1;display:flex}.booking-recap-chip button:hover{color:var(--accent,#2563eb)}.booking-recap-total{color:var(--dark,#333);font-size:.85rem;font-weight:600}.booking-recap-add{border:1px dashed var(--surface,#ccc);font:inherit;color:var(--accent,#2563eb);cursor:pointer;background:0 0;border-radius:16px;padding:.3rem .7rem;font-size:.82rem;font-weight:600;transition:all .15s}.booking-recap-add:hover{border-color:var(--accent,#2563eb)}.cal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cal-header span{font-size:1.1rem;font-weight:700}.cal-header button{border:1px solid var(--surface,#eee);cursor:pointer;color:var(--dark,#333);background:0 0;border-radius:6px;padding:.4rem .75rem;font-size:1rem;transition:background .15s}.cal-header button:hover:not(:disabled){background:var(--surface,#f5f5f5)}.cal-header button:disabled{opacity:.3;cursor:default}.cal-weekdays{text-align:center;color:var(--muted,#888);grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:grid}.cal-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;color:var(--dark,#333);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.cal-day:hover:not(:disabled):not(.cal-day--empty){background:var(--surface,#f0f0f0)}.cal-day:disabled{opacity:.25;cursor:default}.cal-day--empty{cursor:default}.cal-day--today{box-shadow:inset 0 0 0 1px var(--accent,#2563eb);font-weight:700}.cal-day--selected{font-weight:600;background:var(--accent,#2563eb)!important;color:var(--on-accent,#fff)!important}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:1rem;display:grid}.slot-btn{border:1px solid var(--surface,#eee);cursor:pointer;color:var(--dark,#333);background:#fff;border-radius:8px;padding:.6rem;font-size:.9rem;font-weight:500;transition:all .15s}.slot-btn:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb)}.slot-btn--selected{background:var(--accent,#2563eb);color:var(--on-accent,#fff);border-color:var(--accent,#2563eb)}.slots-loading,.slots-empty{text-align:center;color:var(--muted,#888);padding:2rem 0;font-size:.95rem}#booking-summary{background:var(--surface,#f8f8f8);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.booking-field{margin-bottom:1rem}.booking-field label{color:var(--dark,#333);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.booking-field input,.booking-field textarea{border:1px solid var(--surface,#ddd);border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent,#2563eb),transparent 85%);outline:none}#booking-form button[type=submit]{background:var(--accent,#2563eb);color:var(--on-accent,#fff);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:600;transition:background .15s}#booking-form button[type=submit]:hover:not(:disabled){background:color-mix(in oklch,var(--accent,#2563eb),black 15%)}#booking-form button[type=submit]:disabled{opacity:.6;cursor:wait}.booking-phone-cta{text-align:center;border-top:1px solid #e5e5e5;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1.25rem 1rem 1rem;display:flex}.booking-phone-sep{color:var(--dark,#333);margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:block}.btn-phone{background:var(--dark,#1a1a1a);color:#fff;white-space:nowrap;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-phone:hover{background:color-mix(in oklch,var(--dark,#1a1a1a),white 20%)}.btn-phone svg{flex-shrink:0;width:18px;height:18px}.booking-phone-hours{color:var(--muted,#888);margin-top:.25rem;font-size:.8rem;display:block}
