.patient-page { color:var(--ink); }
.patient-journey { position:relative; margin-top:-2rem; padding:1.75rem; background:#fff; border:1px solid var(--border); border-radius:1rem; box-shadow:var(--shadow); }
.patient-journey__heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.75rem; }
.patient-journey__heading h2 { margin-top:.375rem; }
.patient-journey__count { font-size:.875rem; color:var(--muted); }
.patient-journey__steps { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:1.25rem; }
.patient-journey__steps li { position:relative; display:flex; flex-direction:column; align-items:center; gap:.75rem; text-align:center; min-width:0; }
.patient-journey__steps li:not(:last-child)::after { content:'›'; position:absolute; right:-.9rem; top:2.75rem; color:var(--blue); font-size:1.5rem; line-height:1; }
.patient-journey__number { font:700 .8125rem var(--latin); color:var(--muted); }
.patient-journey__steps h3 { font-size:.9375rem; line-height:1.65; margin:0; overflow-wrap:break-word; }
.patient-journey__steps li:last-child .patient-icon { background:var(--blue); color:#fff; }
@media(max-width:1100px) { .patient-journey__steps { grid-template-columns:1fr; gap:0; } .patient-journey__steps li { display:grid; grid-template-columns:2rem 3rem 1fr; text-align:left; gap:1rem; padding:1rem 0; } .patient-journey__steps h3 br { display:none; } .patient-journey__steps li:not(:last-child)::after { content:''; top:auto; bottom:-.5rem; left:4.45rem; right:auto; height:1rem; border-left:2px solid var(--border); } }
@media(max-width:640px) { .patient-journey { padding:1.25rem; } .patient-journey__heading { margin-bottom:.75rem; } }
.patient-page h2 { font-size:clamp(1.5rem,2.6vw,2.125rem); line-height:1.45; }
.patient-page h3 { font-size:1.25rem; line-height:1.5; }
.patient-page p { color:var(--ink-2); }
.patient-page section[id],.patient-page article[id] { scroll-margin-top:7rem; }
.patient-hero { background:linear-gradient(115deg,#edf5ff,#f6f9fe); padding:2rem 0 5.5rem; overflow:hidden; }
.patient-hero__grid { display:grid; grid-template-columns:1.4fr 1fr; gap:4rem; align-items:center; }
.patient-hero h1 { font-size:clamp(2rem,3.7vw,3.375rem); line-height:1.4; margin:.75rem 0 1.25rem; }
.patient-hero h1 span { color:var(--blue); }
.patient-lead { font-size:1.0625rem; line-height:1.85; }
.patient-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.patient-start { position:relative; border-radius:1.25rem; padding:2rem; color:#fff; background:linear-gradient(135deg,var(--blue-900),#174eab); box-shadow:var(--shadow-lg); }
.patient-start p,.patient-start .eyebrow { color:#dbe7ff; }
.patient-start h2 { margin:.75rem 0 1.25rem; }
.patient-start ul { padding-left:1.25rem; display:grid; gap:.5rem; margin-bottom:1.25rem; }
.patient-start a { color:#fff; display:inline-flex; align-items:center; gap:.5rem; text-decoration:underline; text-underline-offset:.25rem; }
.patient-icon { display:grid; place-items:center; width:3rem; height:3rem; border-radius:.875rem; color:var(--blue); background:var(--pale); flex-shrink:0; }
.patient-icon svg { width:1.5rem; height:1.5rem; }
.patient-start .patient-icon { color:#fff; background:#ffffff20; margin-bottom:1.25rem; }
.patient-shortcuts { position:relative; margin-top:-2rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#fff; border:1px solid var(--border); border-radius:.875rem; box-shadow:var(--shadow); overflow:hidden; }
.patient-shortcuts a { padding:1.375rem; display:grid; grid-template-columns:2rem 1fr; column-gap:.75rem; align-items:center; border-right:1px solid var(--border); min-height:6rem; }
.patient-shortcuts a:last-child { border:0; }.patient-shortcuts a:hover { background:var(--pale); }
.patient-shortcuts svg { grid-row:span 2; color:var(--blue); width:1.625rem; height:1.625rem; }
.patient-shortcuts small { color:var(--muted); font-size:.8125rem; }
.patient-section { padding-block:4.5rem; }
.patient-types,.patient-hours { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.patient-type,.patient-hour { padding:1.75rem; border:1px solid var(--border); background:#fff; border-radius:.875rem; }
.patient-type { display:flex; flex-direction:column; border-top:3px solid var(--blue); }
.patient-type .patient-icon,.patient-hour .patient-icon { margin-bottom:1.25rem; }
.patient-type small { color:var(--muted); }.patient-type h3 { margin:.375rem 0 .75rem; }
.patient-type ul { padding-left:1.25rem; margin:1rem 0 1.5rem; display:grid; gap:.625rem; color:var(--ink-2); }
.patient-type a { margin-top:auto; color:var(--blue); display:flex; align-items:center; gap:.5rem; font-weight:600; }
.patient-note { display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; color:var(--muted); margin-top:1.25rem; }.patient-note svg { flex-shrink:0; }
.patient-band { background:var(--pale-2); border-block:1px solid var(--border); }
.patient-hour { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; }.patient-hour .btn { margin-top:auto; }
.patient-pending { font-size:.8125rem; padding:.25rem .625rem; background:#fff3dc; color:#785300; border-radius:999px; }
.patient-hour--emergency { background:var(--red-50); border-color:#efccc7; }.patient-hour--emergency .patient-icon { color:var(--red); background:#fff; }.patient-emergency-phone { font:700 3rem var(--latin); color:var(--red); }
.patient-two-col { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.patient-detail { border:1px solid var(--border); padding:2rem; border-radius:1rem; }.patient-detail--blue { background:var(--pale); }
.patient-detail .eyebrow { margin:1.25rem 0 .75rem; }.patient-detail h2 { margin-bottom:1rem; }
.patient-steps { list-style:none; counter-reset:step; display:grid; gap:1.25rem; margin:1.75rem 0; padding:0; }
.patient-steps li { counter-increment:step; display:grid; grid-template-columns:2rem 1fr; column-gap:.75rem; }.patient-steps li:before { content:counter(step); grid-row:span 2; display:grid; place-items:center; align-self:start; width:2rem; height:2rem; background:var(--pale); color:var(--blue); border:1px solid var(--border); border-radius:50%; font-family:var(--latin); font-weight:700; }
.patient-steps span { color:var(--muted); font-size:.9375rem; }
.patient-travel { display:flex; align-items:center; gap:1.5rem; padding:2rem; border:1px solid var(--border); border-radius:1rem; background:var(--pale); }.patient-travel>div { flex:1; }.patient-travel h2 { margin:.5rem 0 .75rem; }.patient-travel .btn { flex-shrink:0; }
.patient-faq { display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; }.patient-faq h2 { margin:.75rem 0 1rem; }
.patient-faq details { border-bottom:1px solid var(--border); }.patient-faq summary { padding:1.25rem .5rem; cursor:pointer; font-weight:600; min-height:2.75rem; }.patient-faq details p { padding:0 .5rem 1.25rem; }
html.hc .patient-hero,html.hc .patient-band,html.hc .patient-detail--blue,html.hc .patient-travel { background:#fff; } html.hc .patient-start { background:#000; } html.hc .patient-pending { background:#fff; color:#000; border:1px solid #000; } html.hc .patient-hour--emergency { background:#fff; border-color:#000; }
@media(max-width:960px) { .patient-hero__grid { gap:2rem; grid-template-columns:1.2fr 1fr; }.patient-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }.patient-shortcuts a { border-bottom:1px solid var(--border); }.patient-shortcuts a:nth-child(even) { border-right:0; }.patient-types,.patient-hours { grid-template-columns:1fr; }.patient-travel { flex-wrap:wrap; }.patient-travel .btn { margin-left:4.5rem; } }
@media(max-width:640px) { .patient-hero__grid,.patient-two-col,.patient-faq { grid-template-columns:1fr; gap:1.5rem; }.patient-hero { padding-top:1.25rem; }.patient-start { padding:1.5rem; }.patient-section { padding-block:3rem; }.patient-shortcuts a { padding:1rem .75rem; grid-template-columns:1.5rem 1fr; gap:.5rem; }.patient-shortcuts b { font-size:.875rem; }.patient-shortcuts small { font-size:.75rem; }.patient-detail,.patient-type,.patient-hour { padding:1.5rem; }.patient-travel { padding:1.5rem; align-items:flex-start; }.patient-travel>div { flex-basis:100%; }.patient-travel .btn { margin-left:0; }.patient-lead br { display:none; } }
