/* Patient journeys. All brand accents derive from the approved #eba000. */
.patient-section { padding:72px 0; }
.patient-hero p { max-width:740px; }
.patient-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.patient-heading > p { max-width:390px; color:var(--text-muted); line-height:1.75; }
.patient-entry-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.patient-card { display:flex; flex-direction:column; padding:28px; color:var(--dark); border:1px solid #dedee1; border-radius:24px; background:#fff; text-decoration:none; transition:border-color .2s,box-shadow .2s; }
.patient-card:hover { border-color:var(--orange); box-shadow:0 8px 28px rgba(var(--orange-rgb),.12); color:var(--dark); }
.patient-card:focus-visible { outline:3px solid var(--dark); outline-offset:4px; }
.patient-card-kicker { display:block; color:var(--text-muted); font-size:.8rem; font-weight:600; margin-bottom:24px; }
.patient-card h2,.patient-card h3 { font-family:'Figtree',sans-serif; font-size:1.4rem; line-height:1.25; margin:0 0 14px; }
.patient-card h2 span,.patient-card h3 span { color:var(--orange); white-space:nowrap; }
.patient-card p { color:var(--text-muted); font-size:.94rem; line-height:1.7; margin:0; }
.patient-quicklinks { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; padding:26px 30px; border-radius:20px; background:rgba(var(--orange-rgb),.08); }
.patient-quicklinks a { color:var(--dark); font-size:.94rem; text-decoration:none; }
.patient-quicklinks strong { display:block; margin-top:4px; }
.patient-quicklinks a:hover strong { text-decoration:underline; }
.patient-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.patient-two-col { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:64px; align-items:start; }
.patient-intro { color:var(--text-muted); line-height:1.75; margin:18px 0 24px; }
.patient-checklist { margin-top:20px; }
.patient-checklist label { display:flex; gap:16px; padding:22px 0; border-bottom:1px solid #e7e7e8; color:var(--text-muted); line-height:1.7; cursor:pointer; }
.patient-checklist strong { display:block; color:var(--dark); font-size:1.06rem; margin-bottom:3px; }
.patient-checklist input,.patient-consent input { width:21px; height:21px; flex-shrink:0; margin-top:4px; accent-color:var(--orange); }
.patient-checklist input:checked + span { opacity:.65; }
.patient-print { margin-top:24px; }
.patient-note { padding:36px; border-radius:28px; background:rgba(var(--orange-rgb),.09); border-top:4px solid var(--orange); }
.patient-note h2 { font-family:'Figtree',sans-serif; font-size:1.75rem; line-height:1.25; margin:0 0 16px; }
.patient-note p { color:var(--text-muted); line-height:1.75; margin:14px 0; }
.patient-note h3 { font-size:1.15rem; }
.patient-note hr { border:0; border-top:1px solid rgba(0,0,0,.1); margin:28px 0; }
.patient-note--plain { background:#fff; border:1px solid #e4e4e6; }
.patient-number { display:block; font-family:'Figtree',sans-serif; color:var(--orange); font-size:6rem; line-height:1; font-weight:800; margin-bottom:12px; }
.patient-link { color:var(--dark); font-weight:700; text-underline-offset:4px; }
.patient-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:38px; }
.patient-step { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--orange); color:var(--dark); font-weight:700; margin-bottom:24px; }
.patient-steps h3 { font-size:1.25rem; margin-bottom:12px; }
.patient-steps p,.patient-panel p { color:var(--text-muted); line-height:1.8; }
.patient-faq { border-bottom:1px solid #dedee1; padding:22px 0; }
.patient-faq summary { cursor:pointer; font-weight:700; font-size:1.08rem; }
.patient-faq p { color:var(--text-muted); margin-top:16px; line-height:1.8; }
.patient-faq a { display:inline-block; margin-top:12px; color:var(--dark); text-decoration:underline; text-underline-offset:4px; }
.patient-panel { padding:36px; border:1px solid #dedee1; border-radius:28px; height:100%; }
.patient-panel .display-md { font-size:2.2rem; margin:10px 0 20px; }
.patient-list { list-style:disc; padding-left:20px; margin-top:22px; line-height:1.8; }
.patient-list li { padding:5px 0 5px 3px; }
.patient-list li::marker { color:var(--orange); }
.patient-band { display:flex; gap:30px; justify-content:space-between; align-items:center; padding:30px 36px; margin-top:36px; background:rgba(var(--orange-rgb),.09); border-radius:24px; }
.patient-band h2 { font-size:1.3rem; margin-bottom:8px; }
.patient-band p { color:var(--text-muted); line-height:1.7; max-width:720px; }
.patient-band .btn { flex-shrink:0; }
.patient-narrow { max-width:840px; }
.patient-service-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.patient-service-options .patient-card[aria-current="true"] { border-color:var(--orange); background:rgba(var(--orange-rgb),.06); }
.patient-service-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:64px; align-items:start; }
.patient-service-layout aside > p { margin:20px 0; color:var(--text-muted); line-height:1.75; }
.patient-service-layout aside .patient-note { margin-top:28px; padding:26px; }
.patient-form-panel { background:white; border:1px solid #e4e4e6; border-radius:28px; padding:36px; }
.patient-form-branch { border:0; min-width:0; margin:0 0 24px; padding:20px; border-radius:16px; background:rgba(var(--orange-rgb),.06); }
.patient-form-branch .body-sm { margin:8px 0 16px; }
.patient-consent { display:flex; align-items:flex-start; gap:12px; font-size:.9rem; line-height:1.65; margin:20px 0; }
.patient-consent a { color:var(--dark); text-decoration:underline; }
.patient-optional { font-size:.8rem; font-weight:400; color:var(--text-muted); }
.patient-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#service-submit-note { margin:18px 0 24px; }
#service-form { scroll-margin-top:120px; }
.patient-contact-service { background:rgba(var(--orange-rgb),.08); border-radius:16px; padding:22px; margin-bottom:28px; font-size:.94rem; }
.patient-contact-service p { margin-top:8px; line-height:1.65; }
.patient-contact-service a { color:var(--dark); text-decoration:underline; font-weight:600; }
.patient-treatment-cta { display:block; margin-top:14px; font-size:.85rem; font-weight:700; color:var(--dark); text-decoration:underline; text-underline-offset:4px; }
.patient-demo-notice { padding:14px 20px; background:#fff7e5; border:1px solid var(--orange); border-radius:12px; margin-bottom:24px; color:var(--dark); font-size:.92rem; line-height:1.6; }
@media(max-width:1100px) { .patient-entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .patient-two-col,.patient-service-layout { gap:32px; } .patient-card,.patient-panel { padding:24px; } }
@media(max-width:760px) { .patient-section { padding:48px 0; } .patient-heading { display:block; } .patient-heading > p { margin-top:18px; } .patient-two-col,.patient-service-layout,.patient-steps,.patient-service-options { grid-template-columns:1fr; gap:28px; } .patient-quicklinks { grid-template-columns:1fr; gap:20px; padding:24px; } .patient-band { flex-direction:column; align-items:flex-start; padding:24px; } .patient-form-panel,.patient-note { padding:24px; } .patient-service-layout aside { order:2; } .patient-form-panel { order:1; } .patient-steps article { padding-bottom:20px; border-bottom:1px solid #e5e5e5; } }
@media(max-width:440px) { .patient-entry-grid { grid-template-columns:1fr; } .patient-card-kicker { margin-bottom:12px; } .patient-form-panel { padding:20px 16px; } .patient-form-branch { padding:16px 12px; } .patient-actions .btn { width:100%; white-space:normal; text-align:center; } }
@media print { nav,.nav__mobile,.footer,.patient-print,.patient-actions,.skip-link,.breadcrumb { display:none!important; } body { padding-top:0!important; color:#000; background:#fff; font-size:11pt; } .page-hero,.patient-section { padding:16px 0!important; background:#fff!important; } .container { max-width:none; width:100%; padding:0; } .patient-two-col { display:block; } .patient-two-col > aside { margin-top:20px; } .patient-checklist label,.patient-note,.patient-steps article { break-inside:avoid; } .display-lg { font-size:26pt!important; } .display-md { font-size:20pt!important; } .patient-checklist label { padding:10px 0; } .patient-checklist input:checked + span { opacity:1; } .patient-note { padding:16px; border:1px solid #aaa; } .patient-number { font-size:36pt; } details { display:block; } details > * { display:block!important; } }
/* The local preview inserts this notice; keep it clear of the fixed navigation. */
.patient-demo-notice { margin-top:100px; }
@media print { .patient-demo-notice { display:none!important; } }
