:root{--ink:#102b35;--muted:#5a7079;--line:#dce5e8;--lime:#eaff57;--bg:#f3f7f8;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--ink)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #4c819c;outline-offset:4px}[hidden]{display:none!important}.test-banner{background:var(--lime);padding:7px 16px;display:flex;gap:12px;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.4px}.test-banner span{font-weight:400;letter-spacing:0}header{max-width:1120px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{text-decoration:none;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand span{font-weight:400}.specialist-access{font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line)}main{max-width:1056px;margin:28px auto 60px;padding:0 24px}.profile-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.profile-card{background:var(--white);padding:40px;border:1px solid var(--line);border-radius:28px;box-shadow:0 16px 48px #17374807}.monogram{width:78px;height:78px;border-radius:24px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:29px;font-weight:600;letter-spacing:-1px;margin-bottom:30px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin:0 0 12px}h1{font-size:38px;line-height:1.12;letter-spacing:-1.5px;margin:0 0 14px;font-weight:650}h2{font-size:30px;line-height:1.18;letter-spacing:-.9px;margin:0 0 28px;font-weight:650}.specialty{font-size:18px;color:var(--muted);margin:0 0 30px}.profile-facts{display:flex;flex-direction:column;gap:12px;padding:22px 0;border-top:1px solid var(--line);margin-bottom:20px;font-size:14px}.profile-facts span::before{content:'✓';display:inline-block;margin-right:12px;color:#2d7960}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;min-height:54px;border-radius:12px;padding:14px 22px;border:1px solid transparent;font-size:16px;font-weight:650}.primary{color:var(--lime);background:var(--ink)}.primary:hover{background:#20444f}.secondary{background:white;border-color:var(--line);color:var(--ink)}.secondary:hover{background:#edf3f5}.profile-card>.primary{width:100%;justify-content:space-between}.profile-card>.primary span{font-size:22px}.quiet{color:var(--muted);font-size:14px;margin:16px 0 0}.profile-card>.quiet{text-align:center;font-size:13px}.profile-note h2{font-size:43px;letter-spacing:-1.5px;line-height:1.1;margin:0 0 22px}.profile-note>p:not(.eyebrow){color:var(--muted);max-width:355px;line-height:1.7;margin:0 0 32px}.how{display:flex;gap:18px;align-items:center;margin:22px 0}.how>span{font-size:14px;color:#5a777f;border:1px solid #cbd9de;width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.how strong,.how small{display:block}.how strong{font-size:16px}.how small{font-size:14px;color:var(--muted);margin-top:3px}footer{display:flex;justify-content:space-between;gap:24px;max-width:1056px;margin:auto;padding:22px 24px 32px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer details{max-width:480px}footer summary{cursor:pointer;min-height:36px}footer p{font-size:14px;line-height:1.6}footer a{display:inline-block;margin:4px 20px 10px 0;font-size:14px}.booking{max-width:620px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 34px 32px}.booking-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;font-size:14px;color:var(--muted)}.back-link,.text-button{background:none;border:0;color:var(--muted);padding:6px 0;min-height:44px;text-align:left;font-size:14px;cursor:pointer}.text-button{color:#225b70;text-decoration:underline;text-underline-offset:4px}.mini-profile{display:flex;align-items:center;gap:12px}.mini-avatar{background:var(--ink);color:var(--lime);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:16px}.mini-profile strong,.mini-profile small{display:block}.mini-profile strong{font-size:16px}.mini-profile small{font-size:13px;color:var(--muted);margin-top:2px}.steps{padding:22px 0;margin:22px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;list-style:none;font-size:14px;color:var(--muted)}.steps li{display:flex;gap:8px;align-items:center}.steps span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid #c9d6dc;font-size:13px}.steps [aria-current=step]{color:var(--ink);font-weight:700}.steps [aria-current=step] span{background:var(--ink);border-color:var(--ink);color:var(--lime)}.steps .completed span{background:#edf6d8;border-color:#edf6d8;color:#345621}fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}legend,label{font-size:14px;font-weight:600}legend{margin-bottom:12px}label{display:block;margin-bottom:18px}input,textarea{display:block;width:100%;font-size:16px;background:#fff;color:var(--ink);border:1px solid #becdd4;border-radius:10px;padding:13px 14px;min-height:50px;margin-top:8px}textarea{resize:vertical}input[type=radio]{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--ink)}.visit-options{display:flex;flex-direction:column;gap:9px}.visit-options label{display:flex;align-items:center;gap:12px;padding:15px 16px;min-height:52px;border:1px solid var(--line);border-radius:12px;margin:0;font-size:16px;font-weight:450;cursor:pointer}.visit-options label:has(input:checked),.channel-options label:has(input:checked){border-color:#365766;background:#f0f5f7;box-shadow:0 0 0 1px #365766}form details{margin:4px 0 18px}form summary{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px;list-style:none}form summary::before{content:'+';font-size:21px}form details[open] summary::before{content:'−'}form summary span{font-size:13px;color:var(--muted);font-weight:400}form details label{margin-top:16px}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions .primary{flex:1}.form-error{font-size:14px;line-height:1.5;color:#a52934;margin:12px 0}.form-error:empty{display:none}.slot-header{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;font-size:14px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-height:54px}.slots button{font-size:16px;font-weight:550;min-height:50px;border:1px solid #ccd7db;border-radius:10px;background:#fff;color:var(--ink);padding:10px}.slots button:hover{background:#edf4f6}.slots button[aria-pressed=true]{background:var(--ink);color:var(--lime);border-color:var(--ink)}.slots p{grid-column:1/-1;color:var(--muted);font-size:14px;margin:12px 0}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.channel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.channel-options label{font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 7px;min-height:48px;border:1px solid var(--line);border-radius:10px;margin:0;cursor:pointer}.review{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:18px;background:#f1f6f7;border-radius:14px;margin-top:24px}.review small,.review strong,.review span{display:block}.review small{font-size:13px;color:var(--muted);margin-bottom:6px}.review strong{font-size:17px}.review span{font-size:13px;color:var(--muted);margin-top:4px}.mode-note{font-size:14px;color:var(--muted);margin-top:18px}.receipt{background:white;max-width:600px;margin:50px auto;border:1px solid var(--line);border-radius:24px;padding:40px;text-align:center}.receipt-mark{width:64px;height:64px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:30px;margin:0 auto 24px}.receipt h1{font-size:32px}.receipt>p:not(.eyebrow){color:var(--muted);font-size:16px}.receipt-summary{padding:22px;background:#f0f5f6;border-radius:14px;margin:24px 0;display:flex;flex-direction:column;gap:8px}.receipt-summary strong{font-size:20px}.receipt-summary span{font-size:14px;color:var(--muted)}.receipt .primary,.receipt .secondary{width:100%;margin-top:10px}
@media(max-width:760px){header{padding:14px 20px;gap:12px}.brand{font-size:18px}.brand span{display:block;font-size:13px;letter-spacing:0}.specialist-access{font-size:13px}.test-banner{font-size:11px;gap:8px;padding:6px 10px}main{margin:12px auto 30px;padding:0 16px}.profile-layout{display:block}.profile-card{padding:28px 24px;border-radius:22px}.monogram{width:64px;height:64px;border-radius:20px;font-size:25px;margin-bottom:24px}h1{font-size:34px;letter-spacing:-1.1px}.specialty{font-size:17px;margin-bottom:20px}.profile-facts{padding:18px 0;margin-bottom:8px;gap:10px}.profile-note{display:none}.profile-card>.quiet{font-size:13px}.booking{padding:18px 20px 24px;border-radius:20px}.booking-top{margin-bottom:16px}.mini-profile strong{font-size:14px}.mini-profile small{font-size:12px}.steps{margin:18px 0 24px;padding:17px 0;font-size:13px;gap:5px}.steps li{gap:6px}.steps span{width:25px;height:25px}.booking h2{font-size:27px;letter-spacing:-.7px;margin-bottom:24px}.eyebrow{font-size:11px}.contact-fields{grid-template-columns:1fr;gap:0}.slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.channel-options{gap:6px}.channel-options label{font-size:12px;padding:13px 5px;gap:5px}.channel-options input{width:15px;height:15px;min-height:15px}.form-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 calc(6px + env(safe-area-inset-bottom));margin-top:16px;z-index:1}.form-actions button{min-height:52px;font-size:15px;padding:12px 16px}.review{padding:14px}.review strong{font-size:16px}.review .text-button{font-size:13px}.receipt{padding:30px 22px;margin:20px auto}.receipt h1{font-size:29px}.receipt-summary strong{font-size:18px}footer{margin:0 20px;display:block;padding:20px 0 calc(24px + env(safe-area-inset-bottom))}footer>span{display:block;margin-bottom:12px}footer summary{font-size:13px}footer p{font-size:14px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease}}
