:root{--ink:#263f54;--cream:#f0f6fb;--muted:#506578;--line:#cedee9;--sage:#e2edf6;--gold:#577c9c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px 5%;gap:25px}.brand{font:28px/1.2 Georgia,serif;text-decoration:none;white-space:nowrap}.brand span{display:block;font:11px Arial,sans-serif;letter-spacing:2px;margin-top:10px}header nav{display:flex;align-items:center;gap:25px;font-size:14px}header nav a{text-decoration:none}.nav-cta{border:1px solid;padding:10px 18px;border-radius:30px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(44px,4.4vw,70px);letter-spacing:-2px}h2{font-size:clamp(33px,3vw,47px);letter-spacing:-1px}h3{font-size:25px}h1 em,h2 em{font-weight:400;color:#547894}p{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 20px}.section{max-width:1500px;margin:auto;padding:55px 5%}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-bottom:30px}.section-heading>p{max-width:470px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;padding-top:25px;padding-bottom:35px}.hero p{max-width:700px}.hero .lead{font:28px Georgia,serif;color:var(--ink);margin:25px 0 12px}.hero .training{margin-bottom:0;max-width:550px}.hero-portrait{position:relative;margin:0;height:480px;border-radius:130px 130px 8px 8px;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 25px;border:1px solid var(--ink);border-radius:28px;background:var(--ink);color:white;text-decoration:none;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#3d607c;transform:translateY(-2px)}.ribbon{display:flex;align-items:center;justify-content:center;gap:40px;padding:14px;background:var(--sage);font:22px Georgia,serif}.ribbon span{color:var(--gold)}.small{font-size:14px}.lead{font-size:21px}.space{display:grid;grid-template-columns:.6fr 1.4fr;gap:7%;background:var(--sage);align-items:center;border-radius:18px;padding-top:38px;padding-bottom:38px}.space>img{width:100%;height:300px;object-fit:cover;border-radius:80px 80px 5px 5px}.space-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #bdcfde;padding-top:20px;margin-top:22px}.space-details p{font-size:15px;margin-bottom:0}.contact{max-width:none;background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:45px;padding-left:max(5%,calc((100vw - 1350px)/2));padding-right:max(5%,calc((100vw - 1350px)/2))}.contact p{color:#d8e6f1}.contact h2 em{color:#bed8ed}.contact-actions{display:flex;flex-wrap:wrap;gap:14px}.button.light{background:var(--cream);color:var(--ink)}.button.outline{background:transparent;border-color:#abc9df}.question-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form label:not(.check):not(.trap){display:grid;gap:7px;font-size:14px}.form input:not([type=checkbox]):not([type=radio]),.form textarea,.form select{width:100%;padding:11px 13px;background:#fbfdff;border:1px solid #b5cbdd;color:var(--ink);border-radius:7px;font-size:16px}.form textarea{resize:vertical;min-height:110px}.form .check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;color:var(--muted)}.check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink);margin-top:2px}.form p{margin:0}.form>.button{justify-self:start}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success,.soft-box,.empty{padding:24px;background:var(--sage);border-radius:12px}.copy-link{overflow-wrap:anywhere;font-size:13px}.error{color:#9b322d;padding:12px;background:#f7e7df;border-radius:5px}.massage-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding:40px 0 20px}.massage-detail h1{font-size:60px}.massage-detail h2{font-size:37px}.massage-detail .soft-box{margin:22px 0}.soft-box p{margin-bottom:0}.session-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:28px 0;margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.session-notes p{font-size:15px;margin-bottom:0}.source-note{font-size:12px;margin-bottom:0}.reviews-layout,.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.form-panel{padding:28px;background:#e8f1f8;border:1px solid var(--line);border-radius:14px;margin-bottom:24px}.form-panel>h3{margin-bottom:22px}.review{border-top:1px solid var(--line);padding:25px 0}.review-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.review-top strong{font:23px Georgia,serif}.stars{color:var(--gold);font-size:23px;letter-spacing:3px}.user-text{white-space:pre-wrap;overflow-wrap:anywhere}.reply{background:#e1edf7;border-left:3px solid #769cbb;padding:18px;margin:20px 0}.reply p{margin-bottom:0}.rating{border:0;padding:0;margin:0;display:flex;gap:9px}.rating legend{font-size:14px;margin-bottom:8px}.rating label{display:inline-block!important;position:relative;cursor:pointer}.rating input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.rating span:not(.sr-only){font-size:36px;color:#859aad;line-height:1.25;display:block}.rating .filled{color:var(--gold)!important}.rating input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.text-button{background:none;border:0;padding:5px 0;text-decoration:underline;text-underline-offset:4px;color:var(--ink);font-size:14px}.danger{color:#8b3a31}.admin-grid h2{font-size:33px;margin:30px 0 20px}.admin-grid .form-panel p{margin-top:0}.admin-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;font-size:14px}.narrow{max-width:950px}.narrow>h1{margin-bottom:30px}.narrow>h2{font-size:30px;margin-top:28px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 5%;border-top:1px solid var(--line)}footer .brand{font-size:25px}footer p{font-size:12px;max-width:280px}footer>div{display:flex;gap:20px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){header{flex-wrap:wrap}header nav{gap:20px}.hero{gap:5%}.hero-portrait{height:430px}.question-section{gap:5%}}@media(max-width:700px){header{padding:20px 6%;gap:20px}.brand{font-size:26px}header nav{width:100%;display:flex;flex-wrap:wrap;gap:13px 20px;font-size:14px}.nav-cta{padding:8px 12px}.section{padding:38px 6%}.hero,.space,.question-section,.contact,.massage-detail,.reviews-layout,.admin-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:46px}.hero-portrait{height:370px;max-width:440px;width:100%;margin:auto}.ribbon{gap:22px;font-size:19px}.section-heading{display:block;margin-bottom:20px}.section-heading>p{margin-top:18px}.space{border-radius:0}.space>img{height:250px}.space-details{gap:18px}.contact{margin-top:0}.contact h2{font-size:38px}.form-row{grid-template-columns:1fr}.form-panel{padding:22px}.massage-detail{padding-top:20px}.massage-detail h1{font-size:48px}.session-notes{grid-template-columns:1fr;gap:22px}.session-notes p{margin-top:9px}footer{display:block;padding:25px 6%}footer p{max-width:none}footer>div{flex-wrap:wrap}.reviews-layout{gap:25px}.question-section h1{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Onglets de navigation permanents vers les pages des massages. */
.massage-navigation{position:sticky;top:0;z-index:20;background:#e8f1f8;border-bottom:2px solid var(--ink);padding-top:13px}
.massage-navigation-inner{max-width:1500px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:center}
.massage-navigation nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;flex:1}
.massage-navigation nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:57px;padding:13px 18px;background:#f8fbfe;border:1px solid #91aabd;border-bottom:0;border-radius:7px 7px 0 0;font:22px/1.25 Georgia,serif;text-decoration:none;color:var(--ink);transition:background .2s,color .2s}
.massage-navigation nav a:hover{background:#d8e9f6}
.massage-navigation nav a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.massage-navigation nav a:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}
html{scroll-padding-top:105px}
.space{margin-top:30px}
@media(max-width:900px){.massage-navigation nav a{font-size:20px}}
@media(max-width:700px){.massage-navigation{padding-top:9px}.massage-navigation-inner{padding:0 4%}.massage-navigation nav{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.massage-navigation nav a{flex:0 1 calc((100% - 10px)/3);font-size:16px;padding:11px 5px;min-height:59px}.space{margin-top:0}.hero{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.massage-navigation nav a{transition:none}}

/* Formation et avis de fin de page */
.training-intro{max-width:900px;margin-bottom:60px}.training-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start}.training-grid .button{margin-top:15px}.training-grid .soft-box{margin-top:0}
@media(max-width:900px){.training-grid{gap:35px}}
@media(max-width:700px){.training-grid{grid-template-columns:1fr}.training-intro{margin-bottom:35px}}

.massage-pillars{margin-top:28px}.massage-pillars>h3{font-size:25px;margin-bottom:24px}.massage-pillars>div{margin-top:22px}.massage-pillars>div h3{font-size:21px}.massage-pillars>div p{margin-top:10px}

/* Les captures sont cadrées dans la page pour ne montrer que les visuels. */
.hero-portrait.portrait-cadre{position:relative;height:auto;aspect-ratio:899/600;align-self:center;overflow:hidden}
.hero-portrait.portrait-cadre .portrait-source{position:absolute;left:-1.89099%;top:-120.83334%;display:block;width:105.1168%;max-width:none;height:auto;object-fit:initial}
.tarifs-page{max-width:1250px}
.tarifs-visual{position:relative;width:100%;margin:35px 0 0;aspect-ratio:945/609;overflow:hidden;border-radius:12px;background:var(--cream)}
.tarifs-visual img{position:absolute;left:0;top:-118.22661%;display:block;width:100%;max-width:none;height:auto}

.google-reviews-page{max-width:1200px}.google-reviews-intro{max-width:780px}.google-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin:28px 0 16px}.google-review-actions .button{gap:14px}.google-review-write{font-size:16px}.google-review-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}.google-review-card{padding:28px;background:#e8f1f8;border:1px solid var(--line);border-radius:14px}.google-review-card .review-top{flex-wrap:wrap;gap:12px}@media(max-width:700px){.google-review-cards{grid-template-columns:1fr}.google-review-actions{align-items:flex-start;flex-direction:column}}

.email-choice{position:relative}.email-choice summary{list-style:none;cursor:pointer;user-select:none}.email-choice summary::-webkit-details-marker{display:none}.email-choice summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.email-options{position:absolute;z-index:30;left:0;top:calc(100% + 10px);width:310px;max-width:calc(100vw - 48px);padding:14px;background:#f8fbfe;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #263f5426;color:var(--ink)}.contact .email-options p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 10px}.email-options a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 12px;border-radius:7px;text-decoration:none;font-size:15px;line-height:1.4}.email-options a:hover,.email-options a:focus-visible{background:#e2edf6}.contact .email-options .email-recipient{border-top:1px solid var(--line);padding-top:12px;margin:10px 0 0;overflow-wrap:anywhere}
