@font-face{font-family:system-fallback;src:local('Arial')}*{box-sizing:border-box} :root{color-scheme:dark;--bg:#171518;--silver:#c0c0c0;--accent:#d8b4fe;--brown:#6b4f3b}body{margin:0;background:var(--bg);color:#f5f1f4;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}header,footer,main{max-width:1440px;margin:auto}header{padding:36px 6%;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-size:19px;font-weight:900;letter-spacing:-.8px;line-height:1}.brand>span{display:block;color:var(--accent);font-size:11px;letter-spacing:4px;margin-top:8px}.brand-dot{font-size:9px;letter-spacing:0;vertical-align:top;margin-left:4px}.header-note{color:var(--silver);font-size:10px;letter-spacing:2px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;padding:35px 6% 55px;align-items:center;min-height:calc(100svh - 175px)}.eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.7;color:var(--silver)}.eyebrow>span{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin-right:8px}h1{font-size:clamp(42px,4.5vw,72px);letter-spacing:-3px;line-height:1.07;font-weight:600;margin:28px 0}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:20px;margin:0 0 13px}.description{font-size:15px;line-height:1.75;color:var(--silver);max-width:430px}.offer{margin:30px 0 22px;display:grid;gap:9px;font-size:13px}.offer strong{font-size:23px;font-weight:500}.offer-note{color:var(--silver);font-size:12px}.primary{background:var(--accent);border:1px solid var(--accent);color:#211828;border-radius:6px;min-height:54px;padding:16px 22px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:28px}.primary:hover{background:#e5cdff}.primary:disabled{opacity:.5;cursor:not-allowed}.reassurance{color:var(--silver);font-size:11px;margin:13px 0 34px}.method{display:flex;gap:22px;border-top:1px solid #393139;padding-top:20px}.method span{font-size:10px;color:var(--accent)}.method b{display:block;color:var(--silver);font-size:11px;font-weight:400;margin-top:8px}.portrait{height:570px;position:relative;background:linear-gradient(145deg,#49372c,#2a2428 65%,#372a3b);overflow:hidden;border-radius:3px}.portrait-lines{position:absolute;inset:25px;border:1px solid #c0c0c02a}.photo-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.monogram{font-family:Georgia,serif;font-style:italic;color:#d8b4fe80;font-size:180px;line-height:1.2}.photo-placeholder p{font-size:10px;letter-spacing:3px;line-height:1.8;color:#c0c0c0}.photo-placeholder small{color:#c0c0c0;font-size:11px;margin-top:15px}.portrait img{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:24px;font-size:8px;letter-spacing:1.3px;background:linear-gradient(transparent,#171518cc)}footer{padding:20px 6%;border-top:1px solid #332c33;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--silver)}.text-button{border:0;background:none;color:var(--silver);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0;font-size:12px}dialog{background:#211d23;color:#f5f1f4;border:1px solid #4d414f;border-radius:12px;width:min(94vw,540px);max-height:92svh;padding:28px}dialog::backdrop{background:#0c0a0dde;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.close{width:44px;height:44px;border:1px solid #514453;border-radius:50%;background:transparent;color:white;font-size:25px;flex-shrink:0}h2{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:18px 0 10px}dialog p,dialog li{font-size:14px;color:var(--silver);line-height:1.6}.progress{height:2px;background:#4a3c48;margin:16px 0}.progress span{display:block;height:100%;width:33.33%;background:var(--accent)}.step-label{font-size:10px!important;letter-spacing:2px}fieldset{padding:0;border:0;margin:24px 0}label:not(.checkbox){display:block;margin:20px 0 9px;font-size:13px;line-height:1.5}input:not([type=checkbox]),select{width:100%;padding:13px;background:#171518;border:1px solid #66566a;border-radius:5px;color:#f5f1f4;min-height:48px}select{font-size:16px}input{font-size:16px}.checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:12px;color:var(--silver);margin-top:24px}.checkbox input{min-width:20px;min-height:20px;accent-color:var(--accent)}.field-note{font-size:12px!important}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.form-actions .primary{flex:1}.secondary{border:1px solid #736277;border-radius:6px;background:none;color:#eee;padding:12px;min-height:48px}.slot{display:block;width:100%;text-align:left;background:#171518;color:#eee;border:1px solid #66566a;border-radius:5px;margin:8px 0;padding:14px;min-height:48px}.slot[aria-pressed=true]{border-color:var(--accent);background:#3d2e49}.success-mark{font-size:38px!important;color:var(--accent)!important}#form-status{color:#e7c5fd}.skip{position:absolute;left:10px;top:-100px;background:#d8b4fe;color:#171518;padding:15px;z-index:5}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:760px){header{padding:24px 7%}.header-note{font-size:8px;letter-spacing:1px}.hero{padding:18px 7% 30px;display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:0}h1{font-size:clamp(37px,8.6vw,60px);letter-spacing:-1.8px;margin:20px 0}.eyebrow{font-size:8px;letter-spacing:1px}.intro{font-size:18px}.description{font-size:14px;line-height:1.65}.offer{margin:23px 0 18px}#book{width:100%;font-size:14px}.reassurance{text-align:center;margin-bottom:24px}.method{justify-content:space-between;gap:10px}.portrait{height:290px}.monogram{font-size:115px}.photo-placeholder small{margin-top:4px}.photo-caption{padding:18px;font-size:7px}footer{padding:12px 7%;font-size:9px}dialog{padding:22px}h2{font-size:25px}}@media(prefers-reduced-motion:no-preference){dialog[open]{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
.slot-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.slot-times .slot{text-align:center;margin:0;font-size:14px;padding:12px 5px}
.portrait:has(img) .portrait-lines{display:none}.portrait img{object-position:50% 42%}@media(max-width:760px){.portrait:has(img){height:420px}.portrait img{object-position:50% 38%}}
.hero.hero-text-only{grid-template-columns:minmax(0,780px);justify-content:center}.hero-text-only .description{max-width:510px}.hero-text-only h1{font-size:clamp(42px,5.5vw,76px)}.hero-text-only .method{max-width:510px}@media(max-width:760px){.hero-text-only h1{font-size:clamp(37px,8.6vw,60px)}}
.booking-price{padding:14px 16px;background:#302637;border:1px solid #66516c;border-radius:6px;color:#eee}.booking-price strong{color:var(--accent)}.booking-price small{font-size:12px;color:var(--silver)}.selected-summary{padding:12px 14px;border-left:2px solid var(--accent);font-size:12px!important}.question{margin:0 0 22px}.question legend{font-size:13px;line-height:1.5;margin-bottom:10px}.choice-list{display:grid;gap:8px}.choice-list label{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:12px;border:1px solid #66566a;border-radius:6px;min-height:48px;cursor:pointer;font-size:13px!important}.choice-list label:has(:checked){border-color:var(--accent);background:#3d2e49}.choice-list input[type=radio]{width:18px;min-height:18px;height:18px;flex:0 0 18px;accent-color:var(--accent);padding:0}.choice-list label:focus-within{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.progress span{transition:width .16s ease}fieldset[data-step]:not([hidden]){animation:appear .14s ease-out}.choice-list label,.slot{transition:background-color .12s,border-color .12s}}
.slot-times{max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.form-actions{position:sticky;bottom:-22px;background:#211d23;padding:12px 0;z-index:1}
.calcom-dialog{width:min(96vw,1080px)}#calcom-inline{width:100%;min-height:560px;overflow:auto}#calcom-panel>a{display:inline-block;margin-top:12px}@media(max-width:760px){.calcom-dialog{padding:18px}#calcom-inline{min-height:580px}}
.calcom-dialog .dialog-top .eyebrow{display:none}.calcom-dialog .dialog-top{justify-content:flex-end}.calcom-dialog h2{margin-top:0}.calcom-dialog #step-intro{font-size:12px;margin:8px 0}.calcom-dialog .booking-price{padding:10px 12px;margin:10px 0}.calcom-dialog .booking-price small{display:none}.calcom-dialog #calcom-panel>.field-note{font-size:11px!important;margin:8px 0}
.confirmation-dialog .dialog-top .eyebrow{display:none}.confirmation-dialog .dialog-top{justify-content:flex-end}.confirmation-dialog #booking-title{margin-top:10px}.confirmation-dialog #booking-title::before{content:'✓';display:inline-block;color:var(--accent);margin-right:10px}.confirmation-dialog #step-intro:empty{display:none}.confirmation-details{background:#302637;border:1px solid #66516c;border-radius:8px;padding:18px;margin:24px 0 18px}.confirmation-details #confirmed-time{font-size:21px;line-height:1.4;font-weight:700;color:#f5f1f4;margin:0 0 8px}.confirmation-meta{font-size:12px!important;margin:0}.instagram-cta{text-decoration:none;width:100%;font-size:15px}.instagram-instruction{font-size:12px!important;margin:10px 0 24px}.confirmation-email{border-top:1px solid #4d414f;padding-top:16px;margin-top:22px}.confirmation-dialog h3{font-size:16px;margin-bottom:8px}

/* Accents de marque : marron, argent et lavande sur fond charbon. */
.offer{border-left:3px solid var(--brown);padding-left:16px}.method,footer{border-top-color:var(--brown)}.booking-price,.confirmation-details{background:#6b4f3b24;border-color:var(--brown)}dialog{border-color:var(--brown)}

.confirmation-details #confirmed-time{white-space:pre-line}.confirmation-details #confirmed-time::first-letter{text-transform:uppercase}

.booking-manage{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:24px}.booking-manage .secondary{text-decoration:none;font-size:13px;display:inline-flex;align-items:center}.booking-manage a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
