*{box-sizing:border-box}body{margin:0;background:#f3efe8;color:#292824;font:16px/1.6 Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9a7137;outline-offset:4px}.booking-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(280px,34%) minmax(0,1fr)}.booking-intro{background:#20211f;color:#f5efe4;padding:clamp(32px,5vw,76px);display:flex;flex-direction:column;justify-content:space-between;gap:70px;position:sticky;top:0;height:100dvh}.wordmark{font-size:29px;letter-spacing:.12em;text-decoration:none;line-height:1.2}.wordmark span{display:block;font-size:9px;letter-spacing:.32em;margin-top:12px;color:#cbbb9f}.eyebrow{font-size:10px;letter-spacing:.2em;color:#bda984;margin:0 0 20px}h1{font:normal clamp(40px,4vw,65px)/1.12 Georgia,serif;letter-spacing:-.04em;margin:0 0 24px}h1 em{font-weight:normal;color:#d0bb96}.intro-copy{max-width:270px;font-size:14px;color:#c7c5bf;line-height:1.8}.return-link{font-size:12px;text-decoration:none;color:#d5cbbb}main{padding:38px clamp(24px,5vw,80px);min-width:0;max-width:1100px;width:100%;margin:auto}.preview-note{font-size:12px;color:#6d6558;padding-bottom:24px;border-bottom:1px solid #ded6c8}.preview-note span{font-size:9px;letter-spacing:.13em;margin-right:12px;color:#66543b}#journey-steps{list-style:none;padding:28px 0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}#journey-steps li{font-size:10px;color:#817c72;line-height:1.4}#journey-steps .step-number{display:block;font-size:11px;margin-bottom:9px;color:#8a8375}#journey-steps li:before{content:'';display:block;height:2px;background:#ddd6ca;margin-bottom:12px}#journey-steps li[aria-current]{color:#272722;font-weight:700}#journey-steps li[aria-current]:before,#journey-steps li.complete:before{background:#9d8258}.booking-panel{background:#fcfaf6;border:1px solid #e4ded3;border-radius:22px;padding:clamp(24px,3.5vw,48px);box-shadow:0 16px 45px #463a2410}h2{font:normal clamp(29px,3vw,40px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 12px}h3{font:normal 23px Georgia,serif}.step-description{font-size:14px;color:#746d61;margin:0 0 30px}.choice{position:relative;display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #ddd5c8;border-radius:12px;margin:12px 0;cursor:pointer;background:#fffdfa;transition:background .2s,border-color .2s}.choice:has(input:checked){border-color:#8b724f;background:#f0e8db;box-shadow:0 0 0 1px #8b724f}.choice:hover{border-color:#a58e6b}.choice input{width:18px;height:18px;accent-color:#6f5b3b;flex:none}.choice strong{display:block;font-size:15px;font-weight:500}.choice small{display:block;color:#786f61;font-size:12px;margin-top:5px}.choice-price{margin-left:auto;font-size:15px;white-space:nowrap}.actions{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:25px;border-top:1px solid #e5dfd4}button{min-height:48px;border:1px solid #cfc5b4;border-radius:8px;padding:10px 20px;background:transparent;color:#37332b}#journey-next{background:#252622;color:#fff8eb;border-color:#252622;min-width:156px}#journey-back{border-color:transparent;padding-left:0}#journey-stage>label:not(.choice){display:block;font-size:13px;margin:20px 0}input:not([type=radio]),select{display:block;width:100%;padding:13px;border:1px solid #cfc5b4;border-radius:8px;background:#fffdfa;color:#292824;margin-top:7px}#journey-stage>p,.card p{font-size:13px;color:#71695c}.card{background:#f1ebe1;padding:22px;border-radius:12px;margin:24px 0}.card h3{margin:0 0 12px}.card button{font-size:12px;padding:8px 12px;margin:4px 0}.card p{overflow-wrap:anywhere}#journey-error:empty{display:none}#journey-error{font-size:13px;color:#983c2e}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7d7465;padding:24px 2px}@media(max-width:1000px){.booking-shell{grid-template-columns:280px 1fr}.booking-intro{padding:32px}main{padding:28px 24px}}@media(max-width:760px){.booking-shell{display:block}.booking-intro{position:relative;height:auto;padding:25px;gap:25px}.booking-intro h1{font-size:36px;margin:0}.booking-intro h1 br{display:none}.intro-copy,.booking-intro .eyebrow{display:none}.wordmark{font-size:22px}.return-link{position:absolute;right:24px;top:28px;font-size:10px}main{padding:24px 18px}.booking-panel{padding:26px 20px}#journey-steps{gap:6px}#journey-steps li{font-size:9px}.choice{padding:18px 14px;gap:12px}footer{flex-direction:column;gap:3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep long treatment names and progress labels readable on narrow screens. */
.choice>span:not(.choice-price){min-width:0;flex:1;overflow-wrap:anywhere}
.choice-price{flex:none}
#journey-stage>.eyebrow{color:#78603e}
#journey-steps li,#journey-steps .step-number,footer{color:#6d6558}
@media(max-width:520px){#journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}#journey-steps li{font-size:11px;overflow-wrap:anywhere}#journey-steps .step-number{margin-bottom:5px}.actions{gap:12px}#journey-next{min-width:0}}
.visit-summary{margin:0;display:grid;gap:0}.visit-summary>div{display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #d9d0c0}.visit-summary dt{font-size:12px;color:#665b4b}.visit-summary dd{margin:0;font-size:14px;color:#292824;overflow-wrap:anywhere}.booking-consent{display:flex!important;align-items:flex-start;gap:10px;line-height:1.6}.booking-consent input[type=checkbox]{display:inline-block!important;width:18px!important;flex:0 0 18px;margin:4px 0 0!important;padding:0!important}.visit-recap~p a{overflow-wrap:anywhere}@media(max-width:420px){.visit-summary>div{grid-template-columns:1fr;gap:3px}}
