:root{--ink:#293f39;--muted:#626d65;--paper:#faf9f5;--sage:#e6eadd;--line:#d8dcd2;--gold:#9a7452}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{max-width:1440px;margin:auto;padding:31px 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{font:25px Georgia,serif;white-space:nowrap}.brand span{display:block;font:9px/2.8 Arial,sans-serif;letter-spacing:2.1px}nav{display:flex;gap:30px;font-size:13px}nav a{padding:10px 0;position:relative}nav a.active:after{content:'';position:absolute;bottom:2px;left:0;right:0;height:1px;background:var(--ink)}nav a:last-child span{margin-left:12px}.menu{display:none}main{min-height:65vh}.wrap{max-width:1180px;margin:auto;padding:72px 40px}.eyebrow{text-transform:uppercase;letter-spacing:2.6px;font-size:10px;font-weight:600;color:var(--muted);margin:0 0 28px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13;margin:0}h1{font-size:clamp(44px,5vw,72px);letter-spacing:-2px}h2{font-size:38px;letter-spacing:-.8px}h3{font-size:27px}p{margin:20px 0}.lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:580px}.hero{display:grid;grid-template-columns:1.25fr .8fr;gap:85px;align-items:center;padding-top:80px;padding-bottom:75px}.hero h1 em{color:#7a8169;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:white;padding:15px 23px;font-size:13px;border:1px solid var(--ink);cursor:pointer;margin-top:18px}.btn:hover{background:#41584d}.quiet{font-size:12px;color:var(--muted);margin-top:18px}.landscape{height:420px;position:relative;overflow:hidden;border-radius:48% 48% 2px 2px;background:linear-gradient(#e3e7dc 0%,#f0ece0 50%,#c0c7ae 51%,#9aa58e 100%)}.landscape:before{content:'';position:absolute;inset:40% -50% -10%;background:linear-gradient(140deg,#aab69a,#d4d6bd);border-radius:50% 40% 0 0;transform:rotate(-12deg)}.landscape:after{content:'';position:absolute;width:72%;height:80%;bottom:-55%;left:3%;border:38px solid #f4efddec;border-bottom:0;border-radius:55% 50% 0 0;transform:rotate(19deg)}.visual-caption{font:italic 17px Georgia,serif;margin-top:18px;color:#7b806e;text-align:center}.band{background:var(--sage)}.intro-row{display:flex;align-items:baseline;justify-content:space-between;gap:40px;margin-bottom:38px}.intro-row p{max-width:390px;color:var(--muted);font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:65px}.dimension{border-top:1px solid #b9c2b2;padding-top:25px}.number{font-size:11px;color:var(--gold);letter-spacing:2px;margin-bottom:20px}.dimension p{max-width:420px;color:var(--muted);font-size:15px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px;margin-top:12px}.page-head{max-width:780px;padding-bottom:42px}.page-head h1{font-size:58px}.editorial{display:grid;grid-template-columns:.65fr 1.4fr;gap:80px;border-top:1px solid var(--line);padding:40px 0}.editorial p{margin-top:0;color:var(--muted)}.editorial h3{font-size:25px}.note{border-left:2px solid #a5b091;padding:17px 24px;background:#f0f1e9;color:var(--muted);font-size:14px}.portrait{min-height:320px;background:var(--sage);display:flex;align-items:center;justify-content:center;color:#6d7867;font:italic 23px Georgia,serif;flex-direction:column;gap:15px}.portrait small{font:11px Arial,sans-serif;letter-spacing:1px}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0 28px}.offer{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.offer.selected{border-color:var(--ink);background:#f0f2e9}.offer h3{font-size:25px;min-height:60px}.offer p{font-size:14px;color:var(--muted)}.price{font:35px Georgia,serif;margin:22px 0 0}.price small{font:13px Arial,sans-serif;color:var(--muted)}.offer button{margin-top:auto;background:transparent;color:var(--ink);border:1px solid #b7c0b3;padding:11px;cursor:pointer}.offer button:hover{background:var(--sage)}.booking{margin-top:55px;border-top:1px solid var(--line);padding-top:40px}.steps{font-size:11px;letter-spacing:1px;color:var(--muted);margin:20px 0 32px}.booking-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:45px}.calendar{border:1px solid var(--line);padding:25px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:7px}.week{font-size:10px;color:var(--muted);margin:18px 0 8px}.days span{padding:6px;color:#899082;font-size:13px}.days .range{background:#edf0e4;color:var(--ink)}.disabled{border:1px solid var(--line);background:#e8ebe3;color:#737b71;padding:12px 18px;cursor:not-allowed}.prep{margin-top:36px;display:block}.prep summary{cursor:pointer;border-bottom:1px solid var(--line);padding:15px 0}.prep label{display:block;font-size:14px;margin:18px 0}textarea{width:100%;border:1px solid var(--line);background:white;padding:12px;min-height:75px;color:var(--ink)}footer{max-width:1440px;margin:auto;padding:45px 5.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}footer p{font-size:12px;color:var(--muted);margin:0}.draft{text-align:right} @media(min-width:1500px){.wrap{max-width:1280px}}@media(max-width:900px){header{padding:24px 6%;flex-wrap:wrap}.menu{display:block;border:0;background:transparent;color:var(--ink);font-size:13px}nav{display:none;width:100%;flex-direction:column;gap:8px}nav.open{display:flex}.wrap{padding:50px 6%}.hero{gap:35px}.landscape{height:340px}.hero h1{font-size:50px}.offers{grid-template-columns:1fr}.offer h3{min-height:0}.offer button{margin-top:20px}.editorial{gap:35px}.brand{font-size:22px}}@media(max-width:600px){.hero,.two,.editorial,.booking-grid{grid-template-columns:1fr}.hero{padding-top:45px;gap:38px}.hero h1,.page-head h1{font-size:43px;letter-spacing:-1.3px}.landscape{height:270px;max-width:340px;margin:auto}.hero-art{margin:0 20px}.intro-row{display:block}h2{font-size:32px}.two{gap:30px}.editorial{gap:20px}.lead{font-size:16px}.page-head{padding-bottom:20px}footer{flex-direction:column;padding:35px 6%}.draft{text-align:left}.portrait{min-height:240px}.booking-grid{gap:24px}}
/* Palette horizon — version de travail */
:root{--ink:#383334;--muted:#706665;--paper:#fcf8f2;--sage:#f2e7df;--line:#e2d7cf;--gold:#a05d4b;--wine:#713b46}nav a.active:after{background:var(--wine)}.hero{grid-template-columns:1.2fr .8fr;gap:70px}.hero h1{font-size:clamp(48px,5.2vw,76px);line-height:1.12}.hero h1 em{color:var(--wine);font-style:normal}.hero-photo{display:block;width:100%;height:480px;object-fit:cover;object-position:50% 57%;border-radius:2px}.hero-art{max-width:430px}.visual-caption{color:#8c6860}.btn{background:var(--wine);border-color:var(--wine)}.btn:hover{background:#8b4953}.band{background:linear-gradient(110deg,#f1e8e0,#f7eae0 65%,#f0e5e4)}.dimension{border-color:#cfb9ad}.number{line-height:1.8;font-size:10px;letter-spacing:1.5px}.note{border-color:#b46e5b;background:#f3eae3}.portrait-frame{margin:0}.portrait-frame img{width:100%;height:540px;object-fit:cover;object-position:center 60%;display:block}.portrait-frame figcaption{font:italic 16px Georgia,serif;color:var(--muted);margin-top:15px}.biography{grid-template-columns:.85fr 1.15fr;align-items:start;gap:65px}.biography h2{font-size:32px}.biography p{color:var(--muted)}.approach-list{padding-left:20px;color:var(--muted)}.approach-list li{margin:10px 0}.service-group{border-top:1px solid var(--line);padding:38px 0 30px}.service-group h2{font-size:32px}.service-intro{max-width:780px;color:var(--muted)}.offers.decrypt{grid-template-columns:1fr 1fr;max-width:900px}.offer{background:#fffaf6}.offer h3{min-height:0}.offer button{margin-top:25px;border-color:#cbb5ac}.offer button:hover{background:#f3e4da}.offer.selected{border-color:var(--wine);background:#f7ece5}.accompaniment{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:25px;max-width:900px}.accompaniment button{margin:0;flex-shrink:0}.days .range{background:#f0e2d7}.disabled{background:#eee4dd;color:#82716a}.steps{line-height:2}.brand span{letter-spacing:1.8px}@media(max-width:900px){.hero{gap:35px}.hero-photo{height:400px}.hero h1{font-size:50px}}@media(max-width:600px){.hero,.biography{grid-template-columns:1fr}.hero h1{font-size:47px}.hero-art{margin:0;max-width:none}.hero-photo{height:390px;object-position:50% 58%}.portrait-frame img{height:450px}.offers.decrypt{grid-template-columns:1fr}.accompaniment{flex-direction:column;align-items:stretch}.hero .eyebrow{max-width:280px}.biography{gap:35px}.service-group h2{font-size:28px}}
/* Single page: native anchors and compact, touch-friendly sections. */
html{scroll-behavior:smooth;scroll-padding-top:115px}header{position:sticky;top:0;z-index:20;background:var(--paper)}.site-section{scroll-margin-top:10px;min-width:0}.site-section+.site-section{border-top:1px solid var(--line)}.section-title{font-size:52px;line-height:1.13;letter-spacing:-1.4px}.site-section .page-head{padding-bottom:28px}.site-section .editorial{padding:30px 0}.reservation-section{background:#f5ede7}.reservation-section .booking{margin:0;border:0;padding:0}.offer button,.menu{min-height:44px}.hero-photo{max-width:100%}nav{gap:23px}.site-section .wrap{min-width:0}.calendar,.booking-grid>div{min-width:0}textarea{max-width:100%}@media(max-width:900px){header{padding:16px 6%}nav{gap:3px}nav a{padding:9px 0;min-height:44px}html{scroll-padding-top:100px}.site-section .wrap{padding-top:42px;padding-bottom:42px}.section-title{font-size:42px}}@media(max-width:600px){body{font-size:16px}.hero h1{font-size:clamp(34px,10.4vw,47px)}.hero{grid-template-columns:minmax(0,1fr)}.two,.editorial,.biography,.booking-grid{grid-template-columns:minmax(0,1fr)}.brand{font-size:21px}.brand span{font-size:8px;letter-spacing:1.4px}.menu{padding:8px 0 8px 12px}.intro-row{margin-bottom:25px}.intro-row p,.dimension p,.offer p,.service-intro,.lead{font-size:16px}.dimension{padding-top:20px}.section-title{font-size:36px}.page-head .lead{margin-bottom:10px}.editorial h3{font-size:25px}.biography{gap:25px}.portrait-frame img{height:350px}.offer{padding:24px}.accompaniment h3{font-size:25px}.offer button{width:100%;font-size:15px}.offers.decrypt{grid-template-columns:minmax(0,1fr)}.calendar{padding:18px}.steps{font-size:10px;letter-spacing:.4px}.service-group{padding:28px 0}.hero-photo{height:370px}.quiet{font-size:13px}.note{padding:16px 18px}.number{overflow-wrap:anywhere}header{gap:10px}.page-head h2{overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Simplified editorial rhythm; existing palette and typography preserved. */
.hero-identity{font:25px/1.3 Georgia,serif;margin:0 0 30px}.hero-identity span{display:block;font:14px/1.7 Arial,sans-serif;color:var(--muted);margin-top:7px}.essential-copy{max-width:820px;color:var(--muted)}.essential-copy>p:first-child{margin-top:0}.essential-copy .note{margin-top:28px}#approche{background:#f5ede7}.site-section .page-head{padding-bottom:20px}.service-group:first-of-type{border-top:0}.booking-grid{margin-top:30px}footer{padding-top:28px;padding-bottom:28px}@media(max-width:600px){.hero-identity{font-size:23px;margin-bottom:24px}.hero{gap:25px}.hero .quiet{margin-bottom:0}.site-section .page-head{padding-bottom:15px}.essential-copy{font-size:16px}.site-section .wrap{padding-top:36px;padding-bottom:36px}}
/* Compact tariffs, scoped to services; one choice control in booking. */
#prestations .wrap{max-width:1180px}#prestations .page-head{padding-bottom:6px}.compact-service{max-width:900px;margin:22px 0 28px}.compact-service h3{font-size:28px;line-height:1.3}.compact-service>p{color:var(--muted);margin:14px 0}.compact-service .formula-label{margin-bottom:6px}.tariff-list{max-width:900px}.tariff-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.tariff-row strong{font-weight:600}.tariff-row strong:last-child{white-space:nowrap}.service-conditions{max-width:900px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.service-conditions p{margin:10px 0;font-size:15px}.booking-label{display:block;font-weight:600;margin-bottom:12px}#service-choice{display:block;width:100%;max-width:100%;min-height:48px;padding:10px;background:var(--paper);color:var(--ink);border:1px solid #cbb5ac;font:inherit;font-size:14px}#service-choice:focus-visible{outline:3px solid var(--gold);outline-offset:3px}#chosen:empty{display:none}@media(max-width:600px){.compact-service{margin:18px 0 26px}.compact-service h3{font-size:24px}.tariff-row{flex-wrap:wrap;gap:3px 12px;padding:10px 0;font-size:15px}.tariff-row strong:first-child{flex:1 1 190px}.tariff-row strong:last-child{flex:0 0 auto;margin-left:auto}.service-conditions p{font-size:15px}#service-choice{font-size:13px}}
/* Requested home spacing and sequential booking, scoped to these sections. */
#accueil .hero{padding-top:55px;padding-bottom:55px}#accueil .hero-photo{height:420px}#accueil .lead{margin-bottom:0}.booking-sequence{max-width:850px;margin-top:30px}.service-options{border:0;padding:0;margin:0 0 28px;min-width:0}.service-options legend{font:26px/1.3 Georgia,serif;padding:0;margin-bottom:18px}.service-options label{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.service-options input{accent-color:var(--wine);width:18px;height:18px;flex-shrink:0;margin:0}.service-options input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}#date-step{margin:24px 0}#date-title{font-size:26px;margin-bottom:20px}#date-step .calendar{max-width:480px}.booking-sequence [hidden]{display:none!important}@media(max-width:600px){#accueil .hero{padding-top:32px;padding-bottom:36px;gap:26px}#accueil .hero-photo{height:340px}.service-options legend,#date-title{font-size:23px}.service-options label{font-size:15px;line-height:1.6;align-items:flex-start}.service-options input{margin-top:3px}}
/* Compact footer and separate legal documents; main menu unchanged. */
.site-footer{display:block;padding:30px 5.5% 22px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px}.site-footer .brand span{font-size:12px;letter-spacing:.4px;line-height:2;text-transform:none}.footer-contact{font-size:14px;padding:10px 0;color:var(--wine)}.footer-bottom{margin-top:18px;font-size:12px;color:var(--muted)}.footer-legal{white-space:nowrap}.footer-legal a{padding:10px 0;display:inline-block}.site-footer a:hover,.legal-page a{text-decoration:underline;text-underline-offset:4px}.site-footer small{font-size:11px}.legal-page{max-width:960px;min-height:65vh}.legal-page h1{font-size:48px;margin-bottom:30px}.legal-page h2{font-size:27px;margin:32px 0 15px}.legal-page h3{font-size:22px;margin-top:24px}.legal-page p,.legal-page li,.legal-page dd{color:var(--muted)}.legal-page dt{font-weight:600;margin-top:16px}.legal-page dd{margin-left:0;overflow-wrap:anywhere}.legal-page .note{margin-bottom:30px}@media(max-width:600px){.site-footer{padding:25px 6% 20px}.footer-top{align-items:flex-start}.footer-bottom{display:block;margin-top:14px}.footer-bottom small{display:block;margin-top:10px}.footer-legal{font-size:12px}.legal-page h1{font-size:36px}.legal-page h2{font-size:25px}}
/* Hierarchy limited to the two personality consultation tariffs. */
#prestations .tariff-primary{font-size:20px;line-height:1.5;padding:12px 0 9px;color:var(--wine)}#prestations .tariff-primary strong{font-weight:600}#prestations .tariff-alternative{font-size:15px;color:var(--muted);padding:9px 0;line-height:1.6}#prestations .tariff-alternative span:last-child{white-space:nowrap}@media(max-width:600px){#prestations .tariff-primary{font-size:18px;gap:2px 12px}#prestations .tariff-alternative{font-size:14px;gap:2px 12px}#prestations .tariff-alternative span:first-child{flex:1 1 185px}#prestations .tariff-alternative span:last-child{margin-left:auto}}
/* Reservation workflow only. */
.booking-test-note{font-size:14px;color:var(--muted);margin:15px 0 25px}#booking-form{max-width:900px}#booking-form section{margin:30px 0}#booking-form h3{font-size:26px;margin-bottom:18px}#available-dates,#available-times{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}#available-dates button,#available-times button{font:inherit;font-size:14px;padding:11px 16px;min-height:44px;background:var(--paper);border:1px solid var(--line);color:var(--ink);cursor:pointer}#available-dates button[aria-pressed=true],#available-times button[aria-pressed=true]{border-color:var(--wine);color:var(--wine);font-weight:bold}.client-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.client-fields label,.admin-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px}.client-fields input,.admin-fields input{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);font:inherit;min-height:46px;box-sizing:border-box}.terms-check{display:flex;align-items:flex-start;gap:12px;font-size:14px}.terms-check input{margin-top:6px;accent-color:var(--wine)}#booking-error{color:var(--wine)}#checkout-button:disabled{opacity:.5;cursor:not-allowed}.booking a{ text-decoration:underline;text-underline-offset:3px}.manage-wrap{max-width:1050px}.manage-wrap h1{font-size:40px}.manage-wrap h2{font-size:28px;margin:30px 0 18px}.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.manage-item{border-bottom:1px solid var(--line);padding:20px 0}.manage-item p{margin:8px 0}.manage-item button{font:inherit;font-size:13px;min-height:44px;padding:8px 14px;margin:5px 10px 0 0;background:var(--paper);border:1px solid var(--line);cursor:pointer}.config-list{padding-left:20px;font-size:14px}.manage-item a{overflow-wrap:anywhere}.result-copy{max-width:700px}.result-copy h1{font-size:42px}.result-copy dl{margin:28px 0}.result-copy dt{font-weight:bold}.result-copy dd{margin:0 0 16px}[hidden]{display:none!important}@media(max-width:600px){.client-fields,.admin-fields{grid-template-columns:minmax(0,1fr)}#booking-form h3{font-size:23px}.manage-wrap h1,.result-copy h1{font-size:34px}.manage-wrap .btn{max-width:100%}#booking-form input{font-size:16px}}
/* Public, non-editable questionnaire preview; independent of booking form. */
.questionnaire-preview{margin-top:28px;border-top:1px solid var(--line);padding-top:16px}.questionnaire-preview summary{display:list-item;cursor:pointer;color:var(--wine);font-size:14px;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}.questionnaire-preview fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}.preview-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.preview-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px}.preview-fields input,.preview-fields textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);background:var(--paper);font:inherit;min-height:46px;opacity:1;color:var(--muted);-webkit-text-fill-color:var(--muted);cursor:default}.preview-full{grid-column:1/-1}@media(max-width:600px){.preview-fields{grid-template-columns:minmax(0,1fr)}.preview-fields input,.preview-fields textarea{font-size:16px}}
/* Responsive layout: intrinsic image ratio, fluid text, safe grid tracks. */
html{scroll-padding-top:108px}body{font-size:clamp(16px,.25vw + 14px,18px)}
.wrap,.site-section .wrap{width:100%;max-width:1280px;padding:clamp(32px,4.5vw,64px) clamp(20px,4vw,48px)}
#prestations .wrap{max-width:1280px}
#accueil .hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);padding-top:clamp(32px,4.5vw,64px);padding-bottom:clamp(32px,4.5vw,64px);align-items:center}
#accueil .hero>div{min-width:0}#accueil .hero-art{width:100%;max-width:none;margin:0}
#accueil .hero-photo{display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
#accueil h1{font-size:clamp(32px,4.1vw,64px);line-height:1.1;letter-spacing:-.035em;word-break:normal;overflow-wrap:normal;hyphens:none}
#accueil .hero-identity{font-size:clamp(22px,2vw,27px);margin:0 0 clamp(18px,2.3vw,30px)}
#accueil .lead{font-size:clamp(16px,1.35vw,18px);line-height:1.7;margin-top:clamp(16px,2vw,24px);max-width:52ch}
.section-title{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-.025em}
.compact-service h3,#booking-form h3,.service-options legend{font-size:clamp(23px,2.2vw,28px);line-height:1.3}
.essential-copy{max-width:72ch}.compact-service>p{max-width:78ch}.compact-service,.service-conditions,.tariff-list{max-width:100%}
.site-section p,.site-section h2,.site-section h3{word-break:normal;hyphens:none}
.site-section .page-head h2{overflow-wrap:normal}
.tariff-row{gap:8px 24px;min-width:0;flex-wrap:wrap}.tariff-row>:first-child{flex:1 1 210px;min-width:0}.tariff-row>:last-child{flex:0 0 auto;margin-left:auto;white-space:nowrap}
#prestations .tariff-primary{font-size:clamp(18px,1.6vw,21px)}#prestations .tariff-alternative{font-size:clamp(14px,1.15vw,16px)}
.client-fields,.preview-fields,.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.client-fields label,.preview-fields label,.admin-fields label{min-width:0}
#booking-form,.booking-sequence,.booking-test-note,#date-step,.calendar{max-width:100%;min-width:0}
#available-dates,#available-times{max-width:100%}#available-dates button,#available-times button{max-width:100%;min-height:46px;white-space:normal}
.client-fields input,.admin-fields input,.preview-fields input,.preview-fields textarea{max-width:100%;min-width:0}
.service-options label{align-items:flex-start}.service-options input{margin-top:4px}.service-options label span{min-width:0}
.btn{max-width:100%;min-height:46px;white-space:normal;text-align:center;gap:14px}.terms-check span{min-width:0}
.week,.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(2px,1vw,7px)}.days span{padding:6px 2px}
.footer-top,.footer-bottom{flex-wrap:wrap}.footer-legal{white-space:normal}
@media(max-width:1100px){header{padding:16px clamp(20px,4vw,44px);flex-wrap:wrap;gap:12px}.menu{display:block;background:transparent;border:0;color:var(--ink);font-size:14px;min-height:44px;padding:8px 0 8px 12px}header nav{display:none;width:100%;flex-direction:column;gap:2px}header nav.open{display:flex}header nav a{min-height:44px;padding:9px 0}.brand{font-size:clamp(21px,2.3vw,25px)}}
@media(max-width:1050px){#accueil .hero{grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,32px)}#accueil h1{font-size:clamp(32px,5.5vw,56px)}#accueil .hero-art{width:100%}#accueil .lead{max-width:65ch}.two,.editorial,.biography,.booking-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.client-fields,.preview-fields,.admin-fields{grid-template-columns:minmax(0,1fr)}.preview-full{grid-column:auto}.site-section .wrap{padding:32px clamp(18px,5vw,28px)}#accueil h1{font-size:clamp(28px,7.7vw,44px)}#accueil .hero{padding-top:28px;padding-bottom:32px;gap:24px}#accueil .hero-identity{margin-bottom:20px}#accueil .hero-identity span{font-size:14px}.compact-service{margin:18px 0 24px}.compact-service h3{font-size:clamp(22px,5vw,26px)}.tariff-row{gap:3px 12px}#prestations .tariff-primary strong:first-child,.tariff-row strong:first-child,#prestations .tariff-alternative span:first-child{flex-basis:190px}.service-options label{font-size:16px;line-height:1.6}.service-options input{margin-top:4px}.calendar{padding:16px}.site-footer{padding:24px clamp(18px,5vw,28px) 20px}.footer-bottom{display:block}.footer-bottom small{margin-top:10px;display:block}.footer-top{gap:10px}.brand{white-space:normal;min-width:0}.brand span{font-size:8px;letter-spacing:1.2px}.site-footer .brand span{font-size:12px;letter-spacing:.4px}.questionnaire-preview{margin-top:24px}}

#prestations .tariff-description{margin:4px 0 8px;max-width:76ch;font-size:13px;font-weight:400;line-height:1.55;color:#756e6b}

#approche .observatory-title{margin:26px 0 12px;font-size:clamp(23px,2.4vw,30px);line-height:1.3;font-weight:400;color:var(--wine)}#approche .approach-question{margin-top:24px;font-size:clamp(17px,1.5vw,19px);line-height:1.6}#approche .approach-question strong{font-weight:500}

.site-footer .brand .footer-website{display:block;width:fit-content;margin-top:7px;font-family:Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.2px;color:var(--muted);text-decoration:none}.site-footer .brand .footer-website:hover{text-decoration:underline;text-underline-offset:3px}.site-footer .brand .footer-website:focus-visible{outline:2px solid var(--wine);outline-offset:4px}

/* Contact: the message is composed locally and sent by the visitor's mail app. */
.contact-page{max-width:900px}.contact-page h1{font-size:clamp(34px,4vw,54px);letter-spacing:-1px}.contact-page .eyebrow{margin-bottom:14px}.contact-intro{max-width:58ch;color:var(--muted);margin:18px 0 28px}.contact-page form>label,.contact-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;margin:0 0 18px}.contact-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.contact-page input,.contact-page textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);padding:11px 13px;font-size:16px;line-height:1.6}.contact-page textarea{resize:vertical;min-height:150px}.contact-help,.contact-direct{font-size:13px;color:var(--muted);line-height:1.65}.contact-help{margin:10px 0 0}.contact-page .btn{margin-top:20px}.contact-direct{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.contact-page a{text-decoration:underline;text-underline-offset:3px}.contact-page header a{text-decoration:none}@media(max-width:600px){.contact-fields{grid-template-columns:minmax(0,1fr);gap:0}.contact-page .btn{width:100%}}

.weekly-hours{font-size:16px;line-height:1.85;margin:22px 0 26px}.weekly-hours strong{font-weight:500;color:var(--wine)}.weekly-hours span{font-size:13px;color:var(--muted)}

#preparation-form{margin-top:20px}#preparation-form input,#preparation-form textarea{color:var(--ink);-webkit-text-fill-color:var(--ink);cursor:auto}#preparation-form .btn:disabled{opacity:.5;cursor:not-allowed}#preparation-form label .quiet{margin:0;font-size:12px}#questionnaire-appointment{color:var(--wine);font-size:15px}

/* Make the preparation form's disclosure as visible as other booking headings. */
.questionnaire-preview summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;font-family:Georgia,serif;font-size:clamp(21px,2.2vw,27px);font-weight:600;line-height:1.35;color:var(--wine);padding:16px 0;min-height:60px;text-decoration:none}
.questionnaire-preview summary::-webkit-details-marker{display:none}
.questionnaire-preview summary::after{content:'+';flex:0 0 32px;text-align:center;font-family:Arial,sans-serif;font-size:28px;font-weight:400;line-height:1}
.questionnaire-preview[open] summary::after{content:'−'}
.questionnaire-preview summary:hover{color:var(--ink)}
.questionnaire-preview summary:focus-visible{outline:2px solid var(--wine);outline-offset:5px}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

#preparation-form .form-field-error{color:#8b293c;font-size:14px;line-height:1.5}#preparation-form .form-field-error:empty{display:none}#preparation-form [aria-invalid="true"]{border:2px solid #8b293c}#preparation-status{font-size:15px;line-height:1.6;font-weight:500}
