:root{--ink:#292625;--muted:#77706d;--ivory:#fbf8f5;--paper:#fffdfa;--rose:#ead2cf;--rose-light:#f4e8e4;--gold:#b99a60;--line:#e8dfda;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:88px;padding:0 max(6.5vw,28px);display:flex;align-items:center;justify-content:space-between;background:#fffdfaee;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee7e1;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{font-family:var(--serif);font-size:31px;letter-spacing:-4px;line-height:1;color:#5b4644}.brand-mark span{color:var(--gold);font-size:17px;vertical-align:middle;letter-spacing:0}.brand-name{font-size:9px;line-height:1.35;letter-spacing:1.8px;font-weight:700}.main-nav{display:flex;gap:39px;color:#665f5b;font-size:12px}.main-nav a:hover,.footer-bottom a:hover{color:#ad817e}.button{height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:11px;letter-spacing:.3px;font-weight:600;transition:all .2s}.button span{font-size:16px}.button-dark{color:white;background:#38312e}.button-dark:hover{background:#9e7673}.button-light{color:#3d3330;background:#fbf8f5}.button-light:hover{background:#fff}.menu-toggle{display:none;background:none;border:0;font-size:22px}.section-shell{width:min(1120px,87%);margin-inline:auto}.hero{min-height:590px;padding-top:58px;padding-bottom:74px;display:grid;grid-template-columns:.92fr 1.08fr;gap:8.5%;align-items:center}.hero-copy{padding-top:0}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#91827c;margin:0 0 18px}.eyebrow-line{width:23px;height:1px;background:var(--gold);display:inline-block;vertical-align:middle;margin-right:9px}.hero h1,.intro h2,.section-heading h2,.why h2,.booking-banner h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.5px;font-size:clamp(46px,5.3vw,69px);line-height:1.13;margin:0}.hero h1 em,.intro h2 em,.section-heading h2 em,.why h2 em,.booking-banner h2 em{font-weight:400;color:#a9817d}.hero-lead{max-width:420px;color:#746c68;font-size:14px;line-height:1.9;margin:23px 0 27px}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{font-size:11px;font-weight:600;letter-spacing:.1px;white-space:nowrap}.text-link span{font-size:16px;margin-left:8px;color:#a9817d}.hero-note{display:flex;align-items:center;gap:13px;margin-top:49px}.gold-stars{color:var(--gold);letter-spacing:2px;font-size:12px}.hero-note b,.hero-note small,.reviewer b,.reviewer small{display:block}.hero-note b{font-size:11px}.hero-note small{font-size:9px;color:#918984;margin-top:2px}.hero-visual{height:465px;position:relative}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.image-caption{position:absolute;bottom:13px;left:18px;right:18px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:1px;text-shadow:0 1px 5px #333}.floating-card{position:absolute;bottom:53px;left:-36px;background:#fffdfa;padding:14px 19px;display:flex;gap:13px;align-items:center;box-shadow:0 9px 30px #312b2917}.floating-card .sparkle{font-size:26px;color:var(--gold)}.floating-card b,.floating-card small{display:block}.floating-card b{font-family:var(--serif);font-size:15px}.floating-card small{font-size:9px;color:var(--muted)}.intro{text-align:center;padding:78px 0 104px}.intro h2,.section-heading h2,.why h2,.booking-banner h2{font-size:42px}.intro>p:not(.eyebrow){max-width:420px;margin:19px auto 17px;color:var(--muted);font-size:12px}.services-preview{padding:5px 0 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px}.section-heading .eyebrow{margin-bottom:11px}.section-heading h2{font-size:39px}.section-heading>.text-link{margin-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{min-height:235px;padding:23px 25px 18px;border:1px solid var(--line);position:relative;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #5b46440d}.service-card-blush{background:#f8efec;border-color:#f8efec}.service-number{position:absolute;right:23px;top:20px;color:#b9aaa4;font-size:9px;letter-spacing:1px}.service-icon{font-size:27px;color:#b08b83;margin-bottom:13px}.service-card h3{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2;margin:0 0 7px}.service-card p{margin:0;color:#837a75;font-size:11px}.service-meta{border-top:1px solid #e5d9d3;margin-top:17px;padding-top:10px;display:flex;justify-content:space-between;font-size:9px;color:#6b625d}.quote-band{background:#f5eae6;padding:54px 0;text-align:center}.quote-inner{position:relative}.quote-mark{font-family:var(--serif);font-size:50px;line-height:.8;color:#c29c91}.quote-band blockquote{font-family:var(--serif);font-size:28px;line-height:1.4;margin:8px 0 18px}.quote-band blockquote em{color:#a9817d;font-weight:400}.quote-rule{display:block;width:33px;height:1px;background:var(--gold);margin:auto}.why{padding:104px 0;display:grid;grid-template-columns:.88fr 1fr;gap:9%;align-items:center}.why-photo{position:relative;height:510px}.why-photo img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:17px;left:17px;color:white;font-size:9px;letter-spacing:1.5px}.why-copy h2{font-size:40px}.feature-list{margin:27px 0 21px}.feature-list article{display:grid;grid-template-columns:31px 1fr;gap:9px;padding:13px 0;border-bottom:1px solid var(--line)}.feature-list article>span{color:var(--gold);font-size:9px;padding-top:2px}.feature-list h3{font-size:11px;margin:0 0 3px;font-weight:600}.feature-list p{font-size:10px;margin:0;color:var(--muted)}.review-preview{padding:76px 0 89px;background:#fbf8f5}.review-summary{display:flex;align-items:center;gap:16px;margin:25px 0 27px}.google-mark{font-size:21px;letter-spacing:-1.7px;font-weight:600}.google-mark span{color:#4285f4}.google-mark i{color:#ea4335;font-style:normal}.google-mark b{color:#fbbc05}.google-mark strong{color:#4285f4}.google-mark em{color:#34a853;font-style:normal}.rating-score{font-family:var(--serif);font-size:35px}.review-summary small{display:block;font-size:9px;color:var(--muted)}.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-cards article{background:white;border:1px solid #eee7e1;padding:20px 22px;min-height:183px}.review-cards article>p{font-family:var(--serif);font-size:14px;line-height:1.65;min-height:66px;margin:10px 0}.reviewer{display:flex;gap:10px;align-items:center}.reviewer img{width:31px;height:31px;object-fit:cover;border-radius:50%}.reviewer b{font-size:9px}.reviewer small{font-size:8px;color:#918984}.booking-banner{margin-top:83px;margin-bottom:83px;background:#a77e7a;color:white;padding:43px 57px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.booking-banner .eyebrow{color:#f0deda;margin-bottom:8px}.booking-banner h2{font-size:37px}.booking-banner h2 em{color:#f3ded8}.booking-banner p:last-child{font-size:11px;color:#f1e6e2;margin:8px 0 0}.banner-flower{position:absolute;right:280px;top:-29px;font-size:160px;color:#ffffff10}.site-footer{padding:43px max(6.5vw,28px) 0;background:#f8f3ef}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr 40px;align-items:start;gap:25px;padding-bottom:33px}.brand-footer{align-self:center}.footer-top>p{font-family:var(--serif);font-size:16px;line-height:1.5;color:#716561;margin:0}.footer-top .eyebrow{font-size:8px;margin:0 0 9px}.footer-top div p{font-size:10px;line-height:1.9;color:#716964;margin:0}.back-top{border:1px solid #d8cbc4;width:32px;height:32px;text-align:center;line-height:30px;color:#8a756f}.footer-bottom{border-top:1px solid #e6dcd6;min-height:47px;display:flex;align-items:center;justify-content:space-between;color:#968a84;font-size:8px}.footer-bottom span:nth-child(2){display:flex;gap:20px}.page-hero{padding:83px 0 62px;text-align:center;background:#fbf6f3}.page-hero .eyebrow{margin-bottom:12px}.page-hero h1{font:400 clamp(42px,5vw,60px)/1.16 var(--serif);margin:0}.page-hero h1 em{color:#a9817d}.page-hero p:last-child{max-width:540px;margin:15px auto 0;color:var(--muted);font-size:12px}.content-section{padding:65px 0 100px}.full-service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.full-service{padding:23px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:5px 20px}.full-service h2{font:400 23px var(--serif);margin:0}.full-service p{font-size:11px;color:var(--muted);margin:0}.full-service strong{grid-column:2;grid-row:1;font:400 20px var(--serif);color:#90716a}.full-service span{grid-column:2;grid-row:2;color:#938984;font-size:9px;text-align:right}.note{margin-top:24px;color:#938984;font-size:10px}.page-cta{text-align:center;padding:30px;background:#f7eeea;margin-top:50px}.page-cta h2{font:400 30px var(--serif);margin:0 0 15px}.reviews-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reviews-page-grid article{min-height:220px}.reviews-page-grid article>p{min-height:100px}.rating-large{text-align:center;margin:25px auto 40px}.rating-large strong{font:400 46px var(--serif)}.rating-large p{margin:4px;color:var(--muted);font-size:10px}.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding-top:58px;padding-bottom:95px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1/-1}.field label{font-size:10px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #e4d9d3;background:#fffdfa;font:11px var(--sans);color:var(--ink);border-radius:0}.field textarea{min-height:86px;resize:vertical}.booking-form .button{grid-column:1/-1;width:max-content;border:0;cursor:pointer}.form-message{grid-column:1/-1;color:#477351;font-size:12px;min-height:20px}.booking-aside{background:#f8f1ed;padding:27px;height:max-content}.booking-aside h2{font:400 25px var(--serif);margin:0 0 12px}.booking-aside p{font-size:11px;color:#6d635e}.booking-aside hr{border:0;border-top:1px solid #e4d8d2;margin:20px 0}.hours-row{display:flex;justify-content:space-between;font-size:10px;padding:5px 0}.hours-row span:last-child{font-weight:600}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:65px 0 100px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-details article{padding:20px;background:#faf5f2}.contact-details h2{font:400 22px var(--serif);margin:0 0 6px}.contact-details p{font-size:11px;color:var(--muted);margin:0}.map-panel{min-height:330px;background:linear-gradient(135deg,#eee3dc,#f7f1ec);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.map-panel:before{content:'';position:absolute;width:170%;height:1px;background:#d7c7bd;transform:rotate(-20deg);box-shadow:0 50px #d7c7bd,0 -70px #d7c7bd}.map-marker{position:relative;background:#fffdfa;padding:17px 23px;box-shadow:0 10px 35px #513e3517}.map-marker b{display:block;font:400 20px var(--serif)}.map-marker small{font-size:9px;color:var(--muted)}.legal-copy{max-width:760px;margin:auto}.legal-copy h2{font:400 25px var(--serif);margin:33px 0 8px}.legal-copy p,.legal-copy li{font-size:12px;color:#665e5a}.legal-copy ul{padding-left:18px}.legal-copy .fiction-note{padding:15px;background:#f8efec;color:#735b56}.mobile-bottom{display:none}@media(max-width:800px){.site-header{height:72px;padding-inline:6%}.main-nav{gap:18px}.header-cta{padding-inline:13px;gap:7px}.hero{gap:5%;min-height:540px}.hero-visual{height:400px}.floating-card{left:-20px}.why{gap:6%}.why-photo{height:440px}.footer-top{grid-template-columns:1fr 1fr 1fr}.back-top{display:none}}@media(max-width:620px){body{font-size:13px}.site-header{height:68px;padding-inline:5%}.menu-toggle{display:block;order:3;color:#403a36}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:#fffdfa;padding:20px 7%;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.header-cta{margin-left:auto;margin-right:15px;height:39px;font-size:9px}.header-cta span{display:none}.brand-mark{font-size:27px}.brand-name{font-size:8px}.section-shell{width:88%}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:46px;padding-bottom:53px;gap:33px}.hero h1{font-size:48px}.hero-lead{font-size:12px;margin:17px 0 21px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:14px;gap:8px;font-size:9px}.hero-actions .text-link{font-size:9px}.hero-note{margin-top:23px}.hero-visual{height:350px;margin-left:9px}.floating-card{left:-9px;bottom:34px;padding:11px 14px}.intro{padding:66px 0 78px}.intro h2,.section-heading h2,.why h2,.booking-banner h2{font-size:34px}.intro>p:not(.eyebrow){font-size:11px}.services-preview{padding-bottom:73px}.section-heading{align-items:start;gap:15px}.section-heading>.text-link{font-size:9px;margin-top:34px}.section-heading h2{font-size:31px}.service-grid{grid-template-columns:1fr;gap:10px}.service-card{min-height:190px;padding:20px}.service-card h3{font-size:22px}.service-icon{margin-bottom:7px}.service-meta{margin-top:12px}.quote-band{padding:43px 0}.quote-band blockquote{font-size:22px}.why{padding:72px 0;display:flex;flex-direction:column;align-items:stretch;gap:31px}.why-photo{height:370px}.why-copy h2{font-size:34px}.feature-list{margin:18px 0}.review-preview{padding:61px 0}.review-cards{grid-template-columns:1fr}.review-cards article{min-height:0;padding:19px}.review-cards article>p{min-height:0}.review-summary{gap:11px}.rating-score{font-size:30px}.review-summary small{font-size:8px}.booking-banner{width:100%;margin:58px 0;padding:32px 6%;align-items:flex-start;flex-direction:column;gap:21px}.booking-banner h2{font-size:32px}.banner-flower{right:20px;top:0;font-size:90px}.site-footer{padding:35px 6% 0}.footer-top{grid-template-columns:1fr 1fr;gap:23px 14px}.footer-top>p{font-size:14px}.footer-bottom{padding:11px 0;gap:8px;align-items:flex-start;flex-direction:column}.footer-bottom span:nth-child(2){gap:15px}.page-hero{padding:62px 6% 45px}.page-hero h1{font-size:41px}.page-hero p:last-child{font-size:11px}.content-section{padding:43px 0 70px}.full-service-list{grid-template-columns:1fr}.full-service{padding:18px 0}.reviews-page-grid{grid-template-columns:1fr}.reviews-page-grid article{min-height:0}.reviews-page-grid article>p{min-height:0}.booking-layout{grid-template-columns:1fr;gap:25px;padding-top:37px;padding-bottom:65px}.booking-form{grid-template-columns:1fr}.field-full,.booking-form .button,.form-message{grid-column:1}.booking-form .button{width:100%}.contact-layout{grid-template-columns:1fr;gap:25px;padding:40px 0 70px}.contact-details{gap:10px}.contact-details article{padding:15px}.map-panel{min-height:270px}.legal-copy h2{font-size:22px}.legal-copy p,.legal-copy li{font-size:11px}}

/* Finitions transversales : lisibilité, clavier, petits écrans et impression. */
:root{--muted:#625b57;--rose-ink:#805956;--gold-ink:#765c29}
html{scroll-padding-top:96px}
body{overflow-x:hidden}
:focus-visible{outline:3px solid #755844;outline-offset:4px;border-radius:2px}
a,button,input,select,textarea{touch-action:manipulation}
.button,.menu-toggle,.back-top{min-height:44px}
.main-nav a,.footer-bottom a,.text-link,.contact-details a{display:inline-flex;align-items:center;min-height:44px}
.menu-toggle{width:44px;padding:0;align-items:center;justify-content:center}
.hero h1 em,.intro h2 em,.section-heading h2 em,.why h2 em,.page-hero h1 em,.text-link span{color:var(--rose-ink)}
.eyebrow,.hero-note small,.floating-card small,.service-card p,.service-number,.feature-list article>span,.feature-list p,.review-summary small,.reviewer small,.footer-bottom,.footer-top div p,.page-hero p:last-child,.full-service p,.full-service span,.note,.rating-large p,.field label,.field input,.field select,.field textarea,.booking-aside p,.hours-row,.contact-details p,.map-marker small{color:var(--muted)}
.gold-stars{color:var(--gold-ink)}
.service-icon{color:var(--rose-ink)}
.full-service strong{color:var(--rose-ink)}
.booking-banner{background:#805956}
.booking-banner .eyebrow,.booking-banner p:last-child,.booking-banner h2 em{color:#fff}
.booking-form .field input,.booking-form .field select,.booking-form .field textarea{font-size:16px;min-height:48px}
.booking-form .field textarea{min-height:100px}
.field [aria-invalid="true"]{border-color:#a52626;outline-color:#a52626}
.field-error{margin:0;color:#9b2424;font-size:14px}
.form-message{font-size:14px}
.service-card,.contact-details article,.page-cta,.floating-card{border-radius:2px}
.back-top{width:44px;height:44px;line-height:42px}
@media(max-width:800px){
 .site-header{height:72px;padding-inline:20px;gap:8px}
 .menu-toggle{display:flex;order:3;color:#403a36;flex:0 0 44px}
 .main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fffdfa;padding:8px 6% 16px;flex-direction:column;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #29262512}
 .main-nav.open{display:flex}
 .main-nav a{font-size:16px}
 .header-cta{margin-left:auto;margin-right:0;height:44px;font-size:12px;padding-inline:14px;gap:8px;white-space:nowrap}
 .hero{gap:5%;min-height:0}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-layout{grid-template-columns:1fr;gap:25px}
}
@media(max-width:620px){
 .site-header{height:68px;padding-inline:16px;gap:6px}
 .brand{gap:8px;flex-shrink:0}
 .brand-mark{font-size:27px}
 .brand-name{font-size:8px;letter-spacing:1.4px}
 .header-cta{font-size:11px;padding-inline:10px;min-width:0}
 .section-shell{width:calc(100% - 32px)}
 .hero h1{font-size:clamp(40px,12vw,48px)}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .button{font-size:11px;min-height:48px}
 .hero-actions .text-link{font-size:11px}
 .hero-visual{margin-left:0;height:clamp(260px,85vw,350px)}
 .floating-card{left:8px;bottom:16px}
 .section-heading{flex-wrap:wrap;align-items:center}
 .section-heading>.text-link{margin:0}
 .page-hero{padding-inline:16px}
 .page-hero h1{font-size:clamp(36px,10vw,43px)}
 .full-service{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
 .full-service h2{font-size:21px}
 .contact-details{grid-template-columns:1fr}
 .booking-form .button{min-height:48px}
 .footer-top{grid-template-columns:1fr 1fr;gap:20px 12px}
 .footer-bottom{font-size:12px}
 .footer-bottom span:nth-child(2){flex-wrap:wrap;gap:4px 12px}
}
@media(max-width:360px){
 .site-header{padding-inline:10px;gap:4px}
 .brand{gap:6px}.brand-name{font-size:7px;letter-spacing:1px}
 .header-cta{font-size:10px;padding-inline:8px}
 .hero-actions .button{width:100%}
 .section-heading h2{font-size:29px}
 .review-summary{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@page{margin:18mm}
@media print{
 body{background:#fff;color:#111;font:11pt/1.5 Georgia,serif}
 .site-header,.site-footer,.page-hero,.page-cta,.note,.booking-banner{display:none!important}
 .content-section{width:100%;padding:0;margin:0}
 .full-service-list{grid-template-columns:1fr 1fr;gap:0 12mm}
 .full-service{break-inside:avoid;padding:6mm 0;border-color:#aaa}
 .full-service h2{font-size:15pt}.full-service p,.full-service span{font-size:9pt;color:#333}
 .full-service strong{font-size:13pt;color:#111}
 a{color:inherit;text-decoration:none}
}

/* Les textes secondaires restent dans la gamme typographique du site, avec une taille lisible. */
.eyebrow{font-size:11px;line-height:1.5}
.main-nav{font-size:14px}
.button{font-size:14px}
.text-link{font-size:14px}
.hero-lead{font-size:16px;line-height:1.75}
.hero-note b{font-size:13px}.hero-note small,.floating-card small{font-size:12px}
.service-card p{font-size:14px}.service-meta{font-size:12px}
.service-number{font-size:11px}
.feature-list h3{font-size:14px}.feature-list p{font-size:13px}.feature-list article>span{font-size:11px}
.gold-stars{font-size:14px}.review-summary small{font-size:12px}
.reviewer b{font-size:12px}.reviewer small{font-size:11px}
.footer-top .eyebrow{font-size:10px}.footer-top div p{font-size:12px}.footer-bottom{font-size:11px}
.page-hero p:last-child{font-size:15px}
.full-service p{font-size:14px}.full-service span{font-size:12px}
.note{font-size:13px}
.field label{font-size:14px}
.booking-aside p{font-size:14px}.hours-row{font-size:13px}
.contact-details p{font-size:14px}.map-marker small{font-size:12px}
.intro>p:not(.eyebrow){font-size:15px}
.review-cards article>p{font-size:16px}
html{text-wrap:pretty}
h1,h2,h3,blockquote{text-wrap:balance}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 16px;background:#fff;color:#292625;transform:translateY(-160%);border:2px solid #755844}
.skip-link:focus{transform:translateY(0)}
.brand{min-height:44px}
.footer-top div p a,.legal-copy a{display:inline-flex;align-items:center;min-height:44px}
.booking-aside a{display:inline-flex;align-items:center;min-height:44px}

/* Accueil aligné sur la maquette Figma desktop, traduit en CSS natif. */
:root{--fig-bg:#fbf7f4;--fig-ink:#2b2a28;--fig-muted:#68605b;--fig-rose:#7a484d;--fig-pink:#d8a7a7;--fig-line:#e5d7d0;--fig-gold:#c9a227}
body.figma-home{background:var(--fig-bg);color:var(--fig-ink);font-family:Inter,Arial,sans-serif}
.fig-header{height:auto;min-height:95px;padding:20px max(6.667vw,32px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--fig-line);position:relative;background:var(--fig-bg);z-index:5}
.fig-brand{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.fig-brand span,.fig-footer-brand>a{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;line-height:1.1}.fig-brand small,.fig-footer-brand small{font-size:9px;color:var(--fig-rose);letter-spacing:.4px}.fig-header .main-nav{display:flex;align-items:center;gap:32px;color:var(--fig-ink);font-size:14px}.fig-header .main-nav a,.fig-footer a{min-height:0;display:inline-flex;align-items:center}.fig-header .header-cta{margin:0}.fig-button{height:54px;padding:0 24px;border:1px solid var(--fig-pink);border-radius:16px;background:var(--fig-pink);color:var(--fig-ink);font-size:14px;font-weight:500;letter-spacing:0;gap:12px;white-space:nowrap}.fig-button:hover{background:#ce999b;border-color:#ce999b;color:var(--fig-ink)}.fig-button span{font-size:16px}.fig-button .fig-arrow{width:16px;height:16px;flex:none}.fig-header .menu-toggle{display:none}
.fig-eyebrow{display:flex;align-items:center;gap:12px;color:var(--fig-rose);font-size:11px;line-height:1.4;letter-spacing:.35px;text-transform:uppercase;margin:0}.fig-eyebrow i,.fig-card-label i{display:block;width:26px;height:1px;background:var(--fig-gold);flex:none}
.fig-hero{padding:64px max(6.667vw,32px) 48px}.fig-hero-row{display:grid;grid-template-columns:minmax(0,580px) minmax(0,1fr);gap:72px;align-items:center}.fig-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.fig-hero h1,.fig-section-heading h2,.fig-wellness h2,.fig-reviews h2,.fig-booking h2,.fig-contact h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--fig-ink);font-weight:400;letter-spacing:-1px;margin:0}.fig-hero h1{font-size:clamp(56px,5.28vw,76px);line-height:1.01;max-width:580px}.fig-lead{font-size:16px;line-height:1.65;color:var(--fig-muted);margin:0}.fig-actions{display:flex;align-items:center;gap:12px;padding-top:8px}.fig-button.secondary{background:var(--fig-bg);border-color:var(--fig-line)}.fig-button.secondary:hover{background:#f3e7e3;border-color:#dfc9c3}.fig-hours{font-size:13px;line-height:1.5;color:var(--fig-muted);margin:0}.fig-hero-image{position:relative;height:596px;min-width:0;border-radius:18px}.fig-hero-image>img{width:100%;height:100%;object-fit:cover;border-radius:18px}.trust-pill{position:absolute;display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--fig-bg);border-radius:100px;box-shadow:0 10px 32px #533a300f;font-size:12px;font-weight:500;white-space:nowrap}.trust-pill img{width:17px;height:17px}.pill-rating{left:-28px;top:40px}.pill-care{right:24px;bottom:36px}.fig-signature{border-top:1px solid var(--fig-line);margin-top:44px;padding-top:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.fig-signature p{font:italic 25px 'Cormorant Garamond',Georgia,serif;color:var(--fig-rose);margin:0}.fig-signature small{font-size:11px;color:var(--fig-muted);text-align:right;max-width:450px;line-height:1.5}
.fig-services{padding:96px max(6.667vw,32px);display:flex;flex-direction:column;gap:44px}.fig-section-heading{display:grid;grid-template-columns:1fr 410px;gap:80px;align-items:end}.fig-section-heading>div{display:flex;flex-direction:column;gap:16px}.fig-section-heading h2,.fig-wellness h2,.fig-contact h2{font-size:52px;line-height:1.08}.fig-section-heading>p{font-size:15px;line-height:1.65;color:var(--fig-muted);margin:0 0 2px}.fig-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fig-service{padding:28px;display:flex;flex-direction:column;gap:20px;background:#fff;border-radius:18px;box-shadow:0 10px 32px #533a300f;min-width:0}.fig-card-label{display:flex;align-items:center;justify-content:space-between;color:var(--fig-rose);font-size:10px;text-transform:uppercase}.fig-card-label i{width:24px}.fig-service h3{font:500 31px/1.1 'Cormorant Garamond',Georgia,serif;margin:0}.fig-service>p{font-size:14px;line-height:1.65;color:var(--fig-muted);margin:0;min-height:46px}.fig-price{display:flex;align-items:baseline;justify-content:space-between;padding-top:4px;white-space:nowrap}.fig-price b{font:500 34px 'Cormorant Garamond',Georgia,serif}.fig-price span{font-size:13px;color:var(--fig-muted)}.fig-service>a{height:54px;display:flex;align-items:center;justify-content:center;border:1px solid var(--fig-line);border-radius:16px;background:var(--fig-bg);font-size:14px;font-weight:500}.fig-service>a:hover{background:#f3e7e3}.fig-disclaimer{text-align:center;font-size:11px;color:var(--fig-muted);margin:-4px 0 0}
.fig-wellness{background:#f3e7e3;padding:96px;display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:80px;align-items:center}.fig-wellness-photo img{width:100%;height:572px;object-fit:cover;border-radius:18px}.fig-wellness-photo p{font:italic 23px 'Cormorant Garamond',Georgia,serif;color:var(--fig-rose);margin:18px 0 0}.fig-wellness-copy{display:flex;flex-direction:column;gap:24px}.fig-wellness-copy>.fig-lead{font-size:15px}.fig-features{display:flex;flex-direction:column;gap:16px}.fig-features article{display:flex;gap:14px;align-items:flex-start}.fig-features img{width:26px;height:26px;flex:none}.fig-features h3{font-size:14px;margin:0 0 4px}.fig-features p{font-size:12px;color:var(--fig-muted);line-height:1.5;margin:0}
.fig-reviews{padding:96px;display:flex;flex-direction:column;gap:44px}.fig-reviews-heading{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.fig-reviews-heading .fig-eyebrow{justify-content:center}.fig-reviews h2{font-size:52px;line-height:1.1}.fig-reviews-heading>p:last-child{font-size:13px;color:var(--fig-muted);margin:0}.fig-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fig-review-grid article{background:#fff;border:1px solid var(--fig-line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:20px;min-height:260px}.fig-review-score{display:flex;align-items:center;justify-content:space-between}.fig-review-score b{font-size:15px;color:var(--fig-rose);letter-spacing:2px}.fig-review-score span{font-size:13px}.fig-review-grid article>p{font-size:14px;line-height:1.65;margin:0;flex:1}.fig-reviewer{display:flex;align-items:center;gap:12px}.fig-reviewer>i{width:40px;height:40px;border-radius:100%;background:#f3e7e3;display:flex;align-items:center;justify-content:center;font:18px 'Cormorant Garamond',Georgia,serif;color:var(--fig-rose);font-style:normal}.fig-reviewer span{display:flex;flex-direction:column;gap:4px}.fig-reviewer b{font-size:13px}.fig-reviewer small,.fig-review-type{font-size:11px;color:var(--fig-muted)}.fig-review-type{color:var(--fig-rose)}
.fig-booking{padding:96px;background:#f3e7e3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:80px;align-items:center}.fig-booking-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.fig-booking h2{font-size:48px;line-height:1.1}.fig-booking-copy>p:not(.fig-eyebrow){font-size:15px;line-height:1.65;color:var(--fig-muted);margin:0}.fig-hours-block{display:flex;flex-direction:column;gap:8px;width:100%;font-size:13px}.fig-hours-block small{color:var(--fig-muted);font-size:11px;margin-top:10px}.fig-hours-block span{display:flex;justify-content:space-between}.fig-hours-block>a{font:32px 'Cormorant Garamond',Georgia,serif}.fig-hours-block em{font:italic 20px 'Cormorant Garamond',Georgia,serif;color:var(--fig-rose);margin-top:12px}.fig-form-card{padding:36px;background:#fff;border-radius:18px;min-width:0}.fig-booking-form{display:flex;flex-direction:column;gap:22px}.form-intro h3{font:500 34px 'Cormorant Garamond',Georgia,serif;margin:0 0 6px}.form-intro p,.fig-form-note{font-size:12px;line-height:1.5;color:var(--fig-muted);margin:0}.fig-fields{display:grid;gap:18px}.fig-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fig-booking-form .field{display:flex;flex-direction:column;gap:8px;min-width:0}.fig-booking-form .field label{font-size:12px;font-weight:500}.fig-booking-form input,.fig-booking-form select,.fig-booking-form textarea{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--fig-line);border-radius:16px;background:var(--fig-bg);color:var(--fig-ink);font:13px Inter,Arial,sans-serif}.fig-booking-form input[type=date]{font-size:13px}.fig-booking-form textarea{min-height:100px;resize:vertical}.fig-booking-form .field small{font-size:11px;line-height:1.5;color:var(--fig-muted)}.fig-booking-form button{width:100%;cursor:pointer}.fig-booking-form .form-message{min-height:0;margin:0}.fig-booking-form .form-disclaimer{text-align:center;font-size:11px}
.fig-contact{padding:96px;display:grid;grid-template-columns:minmax(0,490px) minmax(0,1fr);gap:88px;align-items:center}.fig-contact-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.fig-contact h2{font-size:52px}.fig-address{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.65}.fig-address img{width:22px;height:22px}.fig-contact-copy>p:not(.fig-eyebrow){font-size:15px;line-height:1.65;color:var(--fig-muted);margin:0}.fig-contact-copy>small{font-size:13px}.fig-contact-photo{min-width:0;margin:0}.fig-contact-photo img{width:100%;height:394px;object-fit:cover;border-radius:18px}.fig-contact-photo figcaption{margin-top:12px;font-size:11px;color:var(--fig-muted)}
.fig-footer{padding:56px 96px 32px;background:var(--fig-ink);color:var(--fig-bg)}.fig-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:48px}.fig-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.fig-footer-brand>a{color:var(--fig-bg)}.fig-footer-brand small{color:#e8c4c4}.fig-footer-brand p{font:italic 24px 'Cormorant Garamond',Georgia,serif;color:#e8c4c4;margin:18px 0 0}.fig-footer nav,.fig-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:13px}.fig-footer nav>b,.fig-footer-contact>b{font-size:10px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:#e8c4c4}.fig-footer-contact{font-size:12px}.fig-footer-bottom{border-top:1px solid #68605b;padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:11px}.fig-footer-bottom>span:last-child{display:flex;gap:28px}
@media(max-width:900px){.fig-header{padding-inline:32px}.fig-hero{padding-inline:48px}.fig-hero-row{grid-template-columns:.95fr 1fr;gap:38px}.fig-hero-image{height:500px}.fig-hero h1{font-size:58px}.fig-services,.fig-reviews{padding:72px 48px}.fig-wellness,.fig-booking,.fig-contact{padding:72px 48px;gap:40px}.fig-wellness{grid-template-columns:.9fr 1fr}.fig-wellness-photo img{height:470px}.fig-section-heading{grid-template-columns:1fr 320px;gap:38px}.fig-section-heading h2,.fig-contact h2{font-size:44px}.fig-service{padding:22px;gap:16px}.fig-service h3{font-size:25px}.fig-review-grid{gap:14px}.fig-review-grid article{padding:20px;gap:15px}.fig-footer{padding-inline:48px}}
@media(max-width:620px){
 .fig-header{min-height:70px;padding:10px 16px;gap:8px}.fig-brand span,.fig-footer-brand>a{font-size:21px}.fig-brand small{font-size:7px;letter-spacing:.3px}.fig-header .menu-toggle{display:flex;order:3;flex:0 0 40px;width:40px;height:44px;align-items:center;justify-content:center}.fig-header .main-nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--fig-bg);padding:8px 20px 18px;flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 12px 24px #29262512}.fig-header .main-nav.open{display:flex}.fig-header .main-nav a{width:100%;min-height:44px}.fig-header .header-cta{height:44px;min-height:44px;padding:0 12px;font-size:11px;border-radius:12px;gap:5px;margin-left:auto}.fig-header .header-cta span{display:none}
 .fig-hero{padding:42px 20px 38px}.fig-hero-row{display:flex;flex-direction:column;align-items:stretch;gap:32px}.fig-hero-copy{gap:19px}.fig-hero h1{font-size:clamp(48px,13vw,58px);line-height:1.02}.fig-lead{font-size:15px;line-height:1.6}.fig-actions{padding-top:2px;gap:9px;flex-wrap:wrap}.fig-actions .fig-button{height:48px;padding:0 15px;font-size:12px;gap:7px}.fig-hours{font-size:12px}.fig-hero-image{height:clamp(320px,105vw,410px);margin:0 0 0 8px}.pill-rating{left:-8px;top:16px}.pill-care{right:9px;bottom:16px}.trust-pill{padding:11px 14px;font-size:10px;gap:7px}.trust-pill img{width:15px;height:15px}.fig-signature{margin-top:28px;padding-top:18px;gap:10px;flex-direction:column}.fig-signature p{font-size:21px}.fig-signature small{text-align:left;font-size:10px}
 .fig-services{padding:64px 20px;gap:28px}.fig-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.fig-section-heading>div{gap:13px}.fig-section-heading h2,.fig-contact h2{font-size:38px}.fig-section-heading>p{font-size:14px}.fig-service-grid{grid-template-columns:1fr;gap:14px}.fig-service{padding:22px;border-radius:16px;gap:14px}.fig-service h3{font-size:27px}.fig-service>p{min-height:0}.fig-price b{font-size:31px}.fig-price span{font-size:12px}.fig-disclaimer{font-size:10px}
 .fig-wellness{padding:58px 20px;display:flex;flex-direction:column;align-items:stretch;gap:32px}.fig-wellness-photo img{height:clamp(340px,100vw,420px)}.fig-wellness-photo p{font-size:19px}.fig-wellness-copy{gap:19px}.fig-wellness h2{font-size:39px}.fig-features{gap:18px}.fig-features h3{font-size:14px}.fig-features p{font-size:12px}
 .fig-reviews{padding:62px 20px;gap:30px}.fig-reviews-heading{gap:12px}.fig-reviews h2{font-size:39px}.fig-reviews-heading>p:last-child{font-size:12px}.fig-review-grid{grid-template-columns:1fr;gap:14px}.fig-review-grid article{min-height:0;padding:22px}.fig-review-grid article>p{flex:initial}
 .fig-booking{padding:60px 20px;grid-template-columns:1fr;gap:30px}.fig-booking h2{font-size:40px}.fig-booking-copy{gap:17px}.fig-hours-block{font-size:13px}.fig-hours-block>a{font-size:29px}.fig-form-card{padding:23px 17px;border-radius:16px}.fig-booking-form{gap:18px}.form-intro h3{font-size:28px}.fig-fields.two{grid-template-columns:1fr;gap:18px}.fig-booking-form input,.fig-booking-form select,.fig-booking-form textarea{font-size:16px}.fig-booking-form .field label{font-size:13px}.fig-booking-form .fig-button{height:52px}
 .fig-contact{padding:60px 20px;display:flex;flex-direction:column;align-items:stretch;gap:30px}.fig-contact-copy{gap:18px}.fig-contact h2{font-size:39px}.fig-contact-copy>p:not(.fig-eyebrow){font-size:14px}.fig-contact-photo img{height:clamp(260px,75vw,340px)}
 .fig-footer{padding:42px 20px 25px}.fig-footer-top{grid-template-columns:1fr 1fr;gap:32px 18px;padding-bottom:32px}.fig-footer-brand{grid-column:1/-1}.fig-footer nav,.fig-footer-contact{gap:12px;font-size:12px}.fig-footer-contact{font-size:11px}.fig-footer-bottom{padding-top:18px;flex-direction:column;font-size:10px;gap:14px}.fig-footer-bottom>span:last-child{gap:16px;flex-wrap:wrap}
}
@media(max-width:370px){.fig-header{padding-inline:11px}.fig-brand span{font-size:19px}.fig-header .header-cta{font-size:10px;padding-inline:9px}.fig-hero{padding-inline:16px}.fig-actions{align-items:stretch}.fig-actions .fig-button{font-size:11px;padding-inline:12px}.fig-hero h1{font-size:46px}.trust-pill{padding-inline:11px;font-size:9px}}
.fig-booking-form select{appearance:none;padding-right:44px;background-image:url('assets/figma/imgChevronDown.svg');background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}
.fig-booking-form input[type=date]::-webkit-calendar-picker-indicator{width:16px;height:16px;cursor:pointer;background:transparent url('assets/figma/imgCalendarDays.svg') center/16px 16px no-repeat;opacity:.85}

/* Ajustements salon: largeur, mouvement discret et interactions cohérentes. */
.fig-header{position:sticky;top:0;backdrop-filter:blur(14px);background:#fbf7f4ed;transition:box-shadow .2s ease}
.fig-header.is-scrolled{box-shadow:0 8px 24px #33252012}
.fig-header,.fig-footer{padding-inline:clamp(18px,4vw,64px)}
.fig-hero,.fig-services,.fig-reviews,.fig-wellness,.fig-booking,.fig-contact{padding-inline:clamp(18px,4vw,64px)}
.fig-service,.fig-review-grid article,.fig-wellness-photo img,.fig-contact-photo img,.trust-pill{transition:transform .2s ease,box-shadow .2s ease}
.fig-service:hover,.fig-review-grid article:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 36px #533a3019}
.fig-review-carousel{position:relative;padding:0 48px}
.fig-review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:20px;padding:4px 2px 15px}
.fig-review-grid::-webkit-scrollbar{display:none}
.fig-review-grid article{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
.fig-reviewer>img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.review-arrow{position:absolute;top:calc(50% - 22px);z-index:2;width:42px;height:42px;border:1px solid var(--fig-line);border-radius:50%;background:#fff;color:var(--fig-rose);font-size:25px;cursor:pointer;transition:background .18s,transform .18s}
.review-arrow:hover{background:#f3e7e3;transform:scale(1.06)}
.review-arrow.previous{left:0}.review-arrow.next{right:0}
.review-dots{display:flex;justify-content:center;gap:9px;margin-top:12px}
.review-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d8c6bf;cursor:pointer}
.review-dots button[aria-current=true]{background:var(--fig-rose);transform:scale(1.25)}
.hours-grid{display:grid;grid-template-columns:1fr auto;gap:0 16px;width:100%;margin-top:5px}
.hours-grid span,.hours-grid b{padding:7px 10px;border-bottom:1px solid var(--fig-line);font-size:13px;font-weight:400}
.hours-grid b{text-align:right;font-weight:500}.hours-grid [data-today=true]{background:#fff;border-radius:6px;color:var(--fig-rose);font-weight:600}
.fig-service>a,.fig-header .main-nav a,.fig-footer a,.fig-contact-photo img{transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
.fig-service>a:hover{transform:translateY(-2px)}
.fig-header .main-nav a:hover,.fig-footer a:hover{color:#a45e65}
.fig-contact-photo:hover img{transform:scale(1.015);box-shadow:0 15px 32px #533a3018}
.reveal-ready{animation:soft-in .42s cubic-bezier(.2,.7,.25,1) both}
@keyframes soft-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.fig-review-grid article{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:620px){.fig-header,.fig-footer{padding-inline:16px}.fig-hero,.fig-services,.fig-reviews,.fig-wellness,.fig-booking,.fig-contact{padding-inline:20px}.fig-review-carousel{padding:0 0 32px}.fig-review-grid{gap:12px}.fig-review-grid article{flex-basis:88%;min-height:260px}.review-arrow{top:auto;bottom:-1px;width:36px;height:36px}.review-arrow.previous{left:calc(50% - 48px)}.review-arrow.next{right:calc(50% - 48px)}.review-dots{margin-top:13px}.hours-grid span,.hours-grid b{padding:8px 9px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{animation-duration:1ms;transform:none}.fig-service,.fig-review-grid article,.fig-contact-photo img,.review-arrow{transition-duration:1ms}}

/* Finitions Lovable : mouvement progressif, navigation précise et états tactiles. */
.fig-header,.site-header{transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.site-header{background:#fffdfaf2}
.site-header.is-scrolled,.fig-header.is-scrolled{background:#fffdfaf2;box-shadow:0 8px 28px #33252012}
.fig-header.is-scrolled{background:#fbf7f4e8}
.main-nav a,.fig-header .main-nav a{position:relative;transition:color .2s ease}
.main-nav a::after,.fig-header .main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:#a45e65;transition:right .2s ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.fig-header .main-nav a:hover::after,.fig-header .main-nav a:focus-visible::after{right:0}
.button,.fig-button,.fig-service>a,.review-arrow{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.button:hover,.fig-button:hover{transform:translateY(-2px);box-shadow:0 9px 20px #533a3020}
.button span,.fig-button .fig-arrow{transition:transform .2s ease}
.button:hover span,.fig-button:hover .fig-arrow{transform:translate(2px,-2px)}
.service-card,.contact-details article,.full-service,.reviews-page-grid article{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.service-card:hover,.contact-details article:hover,.reviews-page-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #533a3014}
.fig-service:hover,.fig-review-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 36px #533a3019}
.fig-service>a:hover{background:#f1e4e0;border-color:#dfc9c3;transform:translateY(-2px);box-shadow:0 7px 16px #533a3010}
.fig-review-grid article,.fig-service,.fig-hero-copy,.fig-hero-image,.fig-signature,.fig-wellness-photo,.fig-wellness-copy,.fig-booking-copy,.fig-form-card,.fig-contact-copy,.fig-contact-photo{--reveal-delay:0ms}
.has-reveal .fig-hero-copy,.has-reveal .fig-hero-image,.has-reveal .fig-signature,.has-reveal .fig-service,.has-reveal .fig-wellness-photo,.has-reveal .fig-wellness-copy,.has-reveal .fig-review-grid article,.has-reveal .fig-booking-copy,.has-reveal .fig-form-card,.has-reveal .fig-contact-copy,.has-reveal .fig-contact-photo{opacity:0;transform:translateY(16px);transition:opacity .48s ease var(--reveal-delay),transform .48s cubic-bezier(.2,.7,.25,1) var(--reveal-delay)}
.has-reveal .reveal-ready{opacity:1;transform:translateY(0)}
.fig-header .header-cta{box-shadow:0 5px 16px #a45e651c}
.fig-header .menu-toggle,.site-header .menu-toggle{border-radius:12px;transition:background-color .2s ease,transform .2s ease}
.fig-header .menu-toggle:hover,.site-header .menu-toggle:hover{background:#f3e7e3;transform:scale(1.04)}
.review-arrow{min-width:44px;min-height:44px}
.review-dots button{width:44px;height:44px;min-width:44px;min-height:44px;background:radial-gradient(circle,#d8c6bf 4px,transparent 4.5px)}
.review-dots button[aria-current=true]{background:radial-gradient(circle,var(--fig-rose) 4px,transparent 4.5px)}
@media(max-width:800px){
 .site-header .main-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;max-height:0;overflow:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,max-height .22s ease,visibility .2s ease}
 .site-header .main-nav.open{visibility:visible;opacity:1;pointer-events:auto;max-height:240px;transform:translateY(0)}
 .site-header .main-nav a{min-height:48px;width:100%}
}
@media(max-width:620px){
 .fig-header{position:sticky;top:0;z-index:30;background:#fbf7f4ed}
 .fig-header .main-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;max-height:0;overflow:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,max-height .22s ease,visibility .2s ease}
 .fig-header .main-nav.open{display:flex;visibility:visible;opacity:1;pointer-events:auto;max-height:220px;transform:translateY(0)}
 .fig-header .main-nav a{min-height:48px}
 .fig-header .main-nav a::after{bottom:5px}
 .fig-header .menu-toggle{flex-basis:44px;width:44px;height:44px}
 .fig-review-grid article{min-height:260px}
}
@media(max-width:360px){.fig-header{gap:5px}.fig-brand span{font-size:17px}.fig-header .header-cta{padding-inline:8px;font-size:10px;gap:4px}.fig-header .header-cta .fig-arrow{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){
 .has-reveal .fig-hero-copy,.has-reveal .fig-hero-image,.has-reveal .fig-signature,.has-reveal .fig-service,.has-reveal .fig-wellness-photo,.has-reveal .fig-wellness-copy,.has-reveal .fig-review-grid article,.has-reveal .fig-booking-copy,.has-reveal .fig-form-card,.has-reveal .fig-contact-copy,.has-reveal .fig-contact-photo{opacity:1;transform:none;transition:none}
 .main-nav a::after,.fig-header .main-nav a::after{transition:none}
}
