:root{--ink:#172a3c;--muted:#5e6a71;--gold:#c5a47c;--line:#e2dfd8;--paper:#f2f0eb;--navy:#14263a;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #947450;outline-offset:5px}
.booking-page:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 5% 45%,#e8e3d8 0,transparent 55%),radial-gradient(ellipse at 100% 0,#faf8f4 0,transparent 60%)}
.booking-header{width:min(1140px,calc(100% - 64px));margin:0 auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dcd7ce}.booking-header img{display:block;width:205px;height:62px;object-fit:contain}.back-link{font-size:13px;font-weight:600;display:flex;align-items:center;gap:16px}.back-link span{font-size:21px;font-weight:400}
.booking-layout{width:min(1140px,calc(100% - 64px));margin:52px auto 40px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:start}.eyebrow{margin:0 0 18px;font-size:11px;line-height:1.5;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:#806645}.clinic-panel{padding-top:22px;min-width:0}.clinic-panel h2{font-size:clamp(28px,2.6vw,36px);font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:0 0 18px}.clinic-intro{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 30px}.clinic-photo{margin:0;position:relative;overflow:hidden;background:#ddd5c7}.clinic-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}.clinic-photo figcaption{padding:14px 18px;color:#fff;font-size:12px;letter-spacing:.045em;background:var(--navy)}.clinic-address{padding:25px 0 0}.clinic-address .eyebrow{font-size:10px}.clinic-address p{font-size:14px;margin:8px 0}.clinic-address a{font-size:16px;font-weight:600}
.booking{min-width:0;background:#fff;border:1px solid #e8e3dc;padding:40px 42px;box-shadow:0 16px 48px #28313a08;position:relative}.booking:before{content:"";position:absolute;right:24px;top:24px;width:145px;height:72px;background:url('/assets/vivendi-logo.svg') center/contain no-repeat;opacity:.035;pointer-events:none}.booking h1{font-size:clamp(30px,3vw,41px);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin:0 0 18px}.booking>p:not(.eyebrow):not(.notice){font-size:14px;color:var(--muted);margin:0 0 22px}.booking .notice{background:#f5f3ee;border-left:2px solid var(--gold);padding:13px 16px;margin:0 0 26px;font-size:12px;line-height:1.65;color:#5d625f}.field{margin:0 0 21px}.booking label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.booking small{font-size:11px;color:var(--muted);font-weight:400}.booking label small{margin-left:5px}.booking input,.booking select,.booking textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid #cdd2d3;background:#fcfcfb;color:var(--ink);border-radius:2px;font-size:16px;line-height:1.5}.booking textarea{resize:vertical;min-height:100px}.booking input:focus,.booking select:focus,.booking textarea:focus{outline:2px solid #a78a66;outline-offset:2px;background:white}.booking .consent{display:flex;align-items:flex-start;gap:11px;font-weight:400;font-size:11px;line-height:1.65;color:var(--muted)}.booking .consent input{width:18px;height:18px;min-width:18px;padding:0;margin:3px 0 0;accent-color:var(--navy)}.btn{width:100%;min-height:54px;border:1px solid var(--navy);background:var(--navy);color:white;padding:14px 20px;font-size:14px;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){background:#294358}.btn:disabled{background:#e8ebed;border-color:#e0e4e6;color:#6b7882;cursor:not-allowed}.booking form>p{text-align:center;line-height:1.45;margin:11px 0 0}.alternatives{border-top:1px solid var(--line);margin-top:24px;padding-top:21px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}.alternatives a{font-size:12px;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:3px}.booking-footer{text-align:center;font-size:11px;color:#737771;padding:0 24px 32px;letter-spacing:.04em}
@media(min-width:1500px){.booking-layout{margin-top:64px}}@media(max-width:1000px){.booking-layout{gap:32px;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}.booking{padding:32px 26px}.clinic-panel h2{font-size:28px}}
@media(max-width:760px){.booking-header{width:calc(100% - 40px);min-height:86px}.booking-header img{width:160px;height:52px}.back-link{font-size:12px;gap:9px}.booking-layout{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:28px;margin:24px auto 28px}.booking{grid-row:1;padding:29px 23px}.booking h1{font-size:32px}.booking .eyebrow{margin-bottom:14px}.clinic-panel{padding:0 8px}.clinic-panel h2,.clinic-intro,.clinic-panel>.eyebrow,.clinic-photo{display:none}.clinic-address{padding:0;text-align:center}.clinic-address p{font-size:13px}.booking-footer{font-size:10px;padding-bottom:24px}.booking:before{width:110px;right:16px;top:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
