.portal-link-directory { background: linear-gradient(180deg,#f2f7f7 0,#fff 420px); min-height: 65vh; }
.portal-link-directory #hospitalList { scroll-margin-top: 100px; }
.portal-link-directory-heading { text-align: center; margin-bottom: 28px; }
.portal-link-eyebrow { display: block; color: var(--portal-point); font-size: 12px; font-weight: 750; letter-spacing: .18em; margin-bottom: 12px; }
.portal-link-directory-heading h1 { margin-bottom: 14px; }
.portal-link-directory-heading .portal-lead { line-height: 1.8; }
.portal-link-search { display: flex; align-items: center; gap: 12px; width: min(100%,640px); margin: 0 auto 44px; padding: 8px 8px 8px 20px; border: 1px solid var(--portal-line-strong); border-radius: 18px; background: white; box-shadow: 0 8px 28px #17374606; }
.portal-link-search > .portal-icon { flex: 0 0 20px; color: var(--portal-point); }
.portal-link-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 10px 0; }
.portal-link-search .portal-button { flex-shrink: 0; }
.portal-link-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.portal-link-directory-card { display: flex; align-items: center; min-width: 0; gap: 16px; padding: 22px; border: 1px solid var(--portal-line); border-radius: 20px; background: white; transition: border-color .18s,box-shadow .18s; }
.portal-link-directory-card:hover { border-color: #a3cbc7; box-shadow: 0 8px 24px #1c47450a; }
.portal-link-directory-card > img { width: 64px; height: 64px; object-fit: cover; border-radius: 16px; flex-shrink: 0; background: #f2f5f5; }
.portal-link-directory-card > div { min-width: 0; flex: 1; }
.portal-link-card-meta { color: var(--portal-muted); font-size: 12px; }
.portal-link-directory-card h3 { margin: 5px 0; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.portal-link-directory-card p { margin: 0; font-size: 12px; color: var(--portal-point); }
.portal-link-directory-card > .portal-icon { flex: 0 0 18px; color: #94a3ad; }
.search-portal.portal-link-page { --link-ink:#193345; --link-muted:#607783; --link-line:#dcebef; --link-accent:#16babe; --link-accent-strong:#087f83; --portal-dark:#193345; --portal-point:#087f83; --portal-blue:#087f83; background:radial-gradient(ellipse at 0 0,#bce9e280,transparent 55%),linear-gradient(105deg,#e1f4f0 0%,#edf8f6 43%,#f6f9fc 58%,#edf3f8 100%); color:var(--link-ink); min-height:100vh; }
.portal-link-shell { width:min(1120px,100% - 80px); margin:0 auto; }
.portal-link-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:96px; border-bottom:1px solid var(--link-line); }
.portal-link-toolbar > a { display:flex; align-items:center; gap:10px; font-size:15px; min-height:44px; }
.portal-link-brand-logo { display:block; width:120px; height:auto; object-fit:contain; }
.portal-link-toolbar-label { border-left:1px solid #cde7e8; padding-left:12px; margin-left:2px; font-size:12px; color:var(--link-muted); }
.portal-link-share { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid var(--link-accent); border-radius:8px; padding:8px 16px; color:var(--link-accent-strong); background:transparent; font-size:13px !important; font-weight:650 !important; }
.portal-link-share .portal-icon { width:17px; height:17px; }
.portal-link-share:hover { background:#edfbfb; }
.portal-link-workspace { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:76px; padding:54px 0 64px; align-items:start; }
.portal-link-profile { position:sticky; top:32px; min-width:0; }
.portal-link-identity { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.portal-link-kicker { font-size:12px; font-weight:700; letter-spacing:.04em; color:#087f83; margin:0 0 8px; }
.portal-link-context { font-size:12px; color:var(--link-muted); }
.portal-link-profile-header .portal-link-logo { width:48px; height:48px; border-radius:8px; background:#fff; border:0; flex-shrink:0; }
.portal-link-logo img { padding:3px; }
.portal-link-logo > .portal-icon { width:28px; height:28px; }
.portal-link-name-row { display:flex; align-items:center; gap:12px; margin-bottom:20px; min-width:0; }
.portal-link-profile-header h1 { min-width:0; font-size:clamp(26px,2.5vw,32px); line-height:1.35; margin:0; letter-spacing:-.045em; }
.portal-link-profile .portal-link-intro { font-size:14px; line-height:1.85; color:var(--link-muted); margin:0 0 24px; white-space:pre-line; }
.portal-link-homepage-row { display:flex; align-items:center; border-top:1px solid var(--link-line); border-bottom:1px solid var(--link-line); min-width:0; }
.portal-link-homepage { display:flex; align-items:center; gap:10px; min-height:58px; flex:1; min-width:0; font-size:13px; font-weight:650; }
.portal-link-homepage > .portal-icon { width:17px; height:17px; }
.portal-link-homepage > .portal-icon:last-child { width:13px; margin-left:auto; margin-right:16px; color:var(--link-muted); }
.portal-link-cover { margin:28px 0 0; }
.portal-link-cover > img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; background:#ecf6f6; }
.portal-link-cover figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; color:var(--link-muted); font-size:11px; }
.portal-link-cover figcaption > span:last-child { display:flex; align-items:center; gap:5px; }
.portal-link-cover figcaption .portal-icon { width:14px; height:14px; }
.portal-link-detail { display:flex; align-items:center; justify-content:space-between; min-height:50px; font-size:13px; font-weight:650; margin-top:14px; }
.portal-link-detail .portal-icon { width:18px; height:18px; }
.portal-link-content { min-width:0; }
.portal-link-content-heading h2 { margin:0 0 8px; font-size:27px; letter-spacing:-.045em; color:var(--link-accent-strong); }
.portal-link-content-heading > p:last-child { margin:0; font-size:13px; color:var(--link-muted); line-height:1.7; }
.portal-link-jump { display:flex; gap:8px; margin:22px 0 30px; }
.portal-link-jump a { display:flex; align-items:center; min-height:44px; padding:8px 17px; border:1px solid var(--link-line); border-radius:6px; font-size:12px; background:#fff9; }
.portal-link-jump a:hover { border-color:#16babe; background:white; }
.portal-link-group { margin-top:30px; }
.portal-link-section-title { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.portal-link-section-title > span { font-size:11px; font-weight:700; color:#087f83; font-variant-numeric:tabular-nums; }
.portal-link-section-title h2 { margin:0; font-size:17px; scroll-margin-top:24px; }
.portal-link-group ul { display:grid; gap:0; padding:0; margin:0; list-style:none; }
.portal-link-row { display:flex; align-items:center; min-width:0; border-bottom:1px solid var(--link-line); background:#fff; }
.portal-link-row:first-child { border-top:1px solid var(--link-line); }
.portal-link-card { display:flex; align-items:center; gap:12px; padding:17px 16px; min-height:82px; flex:1; min-width:0; }
.portal-link-card:hover { background:#edfbfb; }
.portal-link-card-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; color:#087f83; }
.portal-link-card-icon img { width:30px; height:30px; object-fit:contain; }
.portal-link-card-icon > .portal-icon { width:23px; height:23px; }
.portal-link-card-copy { min-width:0; flex:1; }
.portal-link-card-copy strong { display:block; font-size:14px; font-weight:700; line-height:1.5; }
.portal-link-card-copy small { display:block; font-size:11px; margin-top:4px; color:var(--link-muted); line-height:1.5; }
.portal-link-card-arrow .portal-icon { width:14px; height:14px; color:#63838b; }
.portal-link-item-share { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:50px; min-height:50px; border:0; border-left:1px solid var(--link-line); border-radius:0; background:transparent; color:#087f83; margin:0 8px 0 0; padding:5px 9px; font-size:10px !important; line-height:1.4; }
.portal-link-item-share .portal-icon { width:17px; height:17px; }
.portal-link-item-share:hover { background:#e7f9f9; color:#193345; }
.portal-link-item-share:disabled,.portal-link-share:disabled { opacity:.5; cursor:wait; }
.portal-link-group--consultation ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.portal-link-group--consultation .portal-link-row { grid-column:1/-1; }
.portal-link-group--consultation .is-priority { grid-column:auto; display:flex; flex-wrap:wrap; position:relative; border:1px solid var(--link-accent); border-radius:8px; margin-bottom:14px; overflow:hidden; }
.portal-link-group--consultation ul[data-priority-count="1"] .is-priority { grid-column:1/-1; }
.portal-link-empty { font-size:14px; line-height:1.8; color:var(--link-muted); }
.portal-link-row.is-phone { background:#f0fbfb; color:var(--link-ink); }
.portal-link-row.is-booking { background:#fff; }
.is-priority .portal-link-card { display:grid; grid-template-columns:1fr auto; gap:10px; width:100%; flex-basis:100%; padding:18px 20px 12px; }
.is-priority .portal-link-card-icon { grid-column:1; grid-row:1; }
.is-priority .portal-link-card-copy { grid-column:1/-1; grid-row:2; }
.is-priority .portal-link-card-arrow { grid-column:2; grid-row:1; }
.is-priority .portal-link-card-copy strong { font-size:18px; color:var(--link-accent-strong); }
.is-priority .portal-link-card-copy small { font-size:12px; }
.is-priority .portal-link-item-share { flex-direction:row; gap:6px; border:0; border-top:1px solid #c5e9eb; border-radius:0; width:100%; min-height:44px; margin:0; font-size:11px !important; }
.is-phone .portal-link-card-icon,.is-phone .portal-link-card-arrow .portal-icon,.is-phone .portal-link-item-share { color:var(--link-accent-strong); }
.is-phone .portal-link-card-copy small { color:var(--link-muted); }
.is-phone .portal-link-item-share { border-top-color:#c5e9eb; }
.is-priority .portal-link-card:hover,.is-priority .portal-link-item-share:hover { background:#e8fafa; }
.is-priority .portal-link-card:focus-visible,.is-priority .portal-link-item-share:focus-visible { outline:3px solid currentColor; outline-offset:-4px; }
.portal-link-address { display:flex; align-items:flex-start; gap:8px; font-style:normal; margin:14px 0 0; font-size:12px; line-height:1.8; color:var(--link-muted); }
.portal-link-address .portal-icon { flex:0 0 16px; height:16px; margin-top:3px; }
.portal-link-photos { margin-top:30px; border-top:1px solid var(--link-line); border-bottom:1px solid var(--link-line); }
.portal-link-photos summary { padding:18px 0; font-size:13px; font-weight:650; }
.portal-link-photos summary span { margin-left:8px; color:var(--link-muted); font-weight:400; font-size:12px; }
.portal-link-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; padding:0 0 22px; }
.portal-link-photo-grid figure { min-width:0; margin:0; scroll-margin-top:24px; }
.portal-link-photo-grid a { display:block; border-radius:5px; overflow:hidden; }
.portal-link-photo-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#ecf6f6; }
.portal-link-photo-grid figcaption { margin-top:8px; color:#35535d; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.portal-link-photo-grid small { display:block; margin-top:3px; color:var(--link-muted); font-size:11px; }
.portal-link-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 0 32px; border-top:1px solid var(--link-line); background:transparent !important; color:var(--link-muted); font-size:11px; }
.portal-link-footer a { display:flex; align-items:center; gap:6px; min-height:44px; }
.portal-link-footer a:first-child { font-weight:700; color:var(--link-ink); }
.portal-link-footer .portal-icon { width:14px; height:14px; }
.portal-link-quickbar { display:none; }
@media(max-width:1023px) {
 .portal-link-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .portal-link-shell { width:calc(100% - 48px); }
 .portal-link-workspace { gap:36px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .is-priority .portal-link-card { padding:16px 14px 12px; }
}
@media(max-width:767px) {
 .search-portal.portal-link-page { background:radial-gradient(ellipse at 0 0,#bce9e280,transparent 42%),linear-gradient(180deg,#e1f4f0 0,#f0f9f7 380px,#edf3f8 780px); }
 .portal-link-shell { width:calc(100% - 40px); }
 .portal-link-toolbar { min-height:76px; gap:12px; }
 .portal-link-toolbar-label { display:none; }
 .portal-link-share { padding:8px 12px; font-size:12px !important; }
 .portal-link-workspace { display:block; padding:28px 0 32px; }
 .portal-link-profile { position:static; }
 .portal-link-identity { margin-bottom:14px; }
 .portal-link-profile-header .portal-link-logo { width:42px; height:42px; border-radius:8px; }
 .portal-link-name-row { gap:10px; margin-bottom:16px; }
 .portal-link-profile-header h1 { font-size:25px; }
 .portal-link-brand-logo { width:106px; height:auto; }
 .portal-link-profile .portal-link-intro { font-size:13px; margin-bottom:18px; }
 .portal-link-cover { display:none; }
 .portal-link-detail { margin-top:8px; min-height:44px; font-size:12px; }
 .portal-link-content { margin-top:26px; }
 .portal-link-content-heading { display:none; }
 .portal-link-content-heading .portal-link-kicker { display:none; }
 .portal-link-content-heading h2 { font-size:22px; }
 .portal-link-content-heading > p:last-child { font-size:12px; }
 .portal-link-jump { margin:18px 0 24px; }
 .portal-link-group { margin-top:24px; }
 .portal-link-section-title h2 { font-size:16px; }
 .portal-link-card { padding:14px 12px; min-height:76px; gap:10px; }
 .portal-link-card-copy strong { font-size:14px; }
 .portal-link-card-arrow { display:none; }
 .is-priority .portal-link-card-arrow { display:block; }
 .is-priority .portal-link-card-copy strong { font-size:17px; }
 .portal-link-item-share { margin-right:4px; min-width:48px; }
 .portal-link-quickbar { display:flex; position:fixed; z-index:90; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); max-width:520px; margin:0 auto; gap:6px; padding:7px; border:1px solid #a9dcdf; border-radius:13px; background:#fffffff5; box-shadow:0 4px 24px #143e4c12; }
 .portal-link-quickbar a { display:flex; flex:1; min-width:0; align-items:center; justify-content:center; gap:7px; min-height:46px; border-radius:7px; font-size:13px; font-weight:650; }
 .portal-link-quickbar .portal-link-quick-book { background:var(--link-accent-strong); color:#fff; }
 .portal-link-quickbar .portal-icon { width:18px; height:18px; }
 .portal-link-footer { flex-wrap:wrap; gap:2px 14px; padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
 .portal-link-footer > span { display:none; }
}
@media(max-width:639px) {
 .portal-link-directory-grid { grid-template-columns:minmax(0,1fr); }
 .portal-link-directory-card { padding:18px; }
 .portal-link-search { padding-left:14px; gap:8px; }
 .portal-link-search .portal-button { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .portal-link-page * { scroll-behavior:auto !important; transition:none !important; } }

.portal-link-selected-channel { display:inline-block; margin-top:12px; padding:4px 10px; border:1px solid #b8dedf; border-radius:6px; color:#087f83; background:#fff; font-size:12px; font-weight:700; }
