/* Patient access addition. Preserve the approved Version A+ design system. */
.access-wrap { --access-teal:#0A6B6F; --access-gold:#C49A22; --access-cream:#FAF8F4; --access-ink:#233333; max-width:1120px; margin:auto; padding:clamp(24px,5vw,64px) 24px; color:var(--access-ink); }
.access-intro { max-width:760px; margin-bottom:32px; }
.access-intro h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(30px,4vw,44px); line-height:1.12; margin:8px 0 16px; color:var(--access-teal); }
.access-intro p,.access-card p,.access-note p,.access-step p,.access-faq p { font-size:1rem; line-height:1.7; }
.access-kicker { color:var(--access-teal); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.access-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.access-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.access-card { padding:28px; border:1px solid #d8dfdc; border-radius:16px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; }
.access-card--primary { background:var(--access-teal); border-color:var(--access-teal); color:#fff; }
.access-card h3 { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.75rem; line-height:1.15; margin:0; }
.access-card p { margin:0; }
.access-card .btn { margin-top:auto; white-space:normal; text-align:center; min-height:44px; }
.access-card--primary .btn { background:var(--access-gold); color:#182b2b; }
.access-card a:not(.btn) { text-underline-offset:4px; }
.access-label { font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; }
.access-note { margin-top:24px; padding:24px; background:var(--access-cream); border-left:3px solid var(--access-gold); border-radius:0 12px 12px 0; }
.access-note p { margin:0; }
.access-section { border-top:1px solid #d8dfdc; padding-top:48px; margin-top:48px; scroll-margin-top:120px; }
.access-steps { list-style:none; padding:0; margin:0; display:grid; gap:0; counter-reset:access-step; }
.access-step { counter-increment:access-step; position:relative; padding:20px 0 20px 64px; border-bottom:1px solid #e4e8e5; }
.access-step:before { content:counter(access-step,decimal-leading-zero); position:absolute; left:0; top:20px; color:var(--access-teal); font-weight:700; font-size:.9rem; border:1px solid #ccdcd9; border-radius:50%; width:40px; height:40px; display:grid; place-items:center; }
.access-step h3 { font:700 1.05rem/1.5 "DM Sans",sans-serif; margin:0 0 4px; }
.access-step p { margin:0; max-width:800px; }
.access-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; align-items:center; }
.access-faq { border-bottom:1px solid #d8dfdc; padding:20px 0; }
.access-faq summary { cursor:pointer; font-weight:600; font-size:1rem; line-height:1.5; min-height:32px; }
.access-faq p { max-width:800px; padding-top:12px; margin:0; }
.access-footer { background:var(--access-cream); padding:32px 24px; text-align:center; font-size:.9rem; line-height:1.7; }
.access-footer a { text-decoration:underline; text-underline-offset:3px; }
.access-quick { display:flex; flex-wrap:wrap; gap:8px 24px; padding:16px 24px; justify-content:center; background:#faf8f4; border-bottom:1px solid #ddd; }
.access-quick a { min-height:44px; display:flex; align-items:center; color:#0A6B6F; text-underline-offset:4px; font-size:.95rem; font-weight:600; }
.access-wrap a:focus-visible,.access-quick a:focus-visible,.access-faq summary:focus-visible { outline:3px solid var(--access-gold,#C49A22); outline-offset:5px; }
@media(max-width:760px) { .access-grid,.access-grid--two { grid-template-columns:1fr; } .access-card { padding:24px; } .access-wrap { padding:32px 20px; } .access-section { padding-top:32px; margin-top:32px; } .access-actions { align-items:stretch; flex-direction:column; } .access-quick { justify-content:flex-start; gap:0 20px; } }
