/* Content below the shared medical-index-hero; the hero itself has no visual overrides. */
.hospital-content { padding-top:64px; }
.greeting-page h1, .greeting-page h2, .greeting-page p, .greeting-page figcaption, .greeting-page .greeting-signoff { word-break:keep-all; overflow-wrap:break-word; text-wrap:pretty; }
.greeting-letter { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); align-items:start; gap:clamp(36px,5vw,80px); }
.greeting-portraits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.greeting-portrait { margin:0; overflow:hidden; border-radius:20px 50px 20px 20px; background:#f4f7f9; }
.greeting-portrait-frame { height:clamp(240px,23vw,350px); position:relative; overflow:hidden; margin:34px 0 0; -webkit-mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%); mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%); }
.greeting-portrait-frame img { display:block; position:absolute; top:0; left:50%; width:auto; max-width:none; height:112.2951%; transform:translateX(-50%); }
.greeting-portrait-frame img[src*="doctor-2-full"] { rotate:-3deg; transform-origin:50% 80%; }
.greeting-portrait figcaption { padding:20px 10px 28px; color:#123e60; text-align:center; }
.greeting-portrait figcaption span { display:block; margin-bottom:12px; font-size:14px; line-height:1.6; color:#5b7182; }
.greeting-portrait figcaption strong { font-size:29px; font-weight:700; letter-spacing:.12em; }
.greeting-copy { padding-top:12px; word-break:keep-all; overflow-wrap:break-word; }
.greeting-copy h2 { margin:0 0 32px; color:#123e60; font-size:clamp(28px,2.4vw,36px); font-weight:500; letter-spacing:-.04em; line-height:1.5; }
.greeting-copy h2 strong { font-weight:750; color:#126f72; }
.greeting-copy > p { margin:0 0 24px; color:#536e80; font-size:17px; line-height:1.95; }
.greeting-copy .greeting-opening { color:#123e60; font-size:19px; line-height:1.8; }
.greeting-as-of { display:block; margin-top:8px; color:#71818e; font-size:12px; line-height:1.6; }
.greeting-signoff { margin-top:38px; padding-top:26px; border-top:1px solid #dce5e8; display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:14px; color:#123e60; }
.greeting-signoff span { font-size:15px; }
.greeting-signoff strong { font-size:27px; font-weight:700; letter-spacing:.15em; }
@media (min-width:761px) and (max-width:1100px) {
 .greeting-letter { grid-template-columns:1fr; }
 .greeting-portraits { width:min(100%,680px); margin-inline:auto; }
 .greeting-portrait-frame { height:350px; }
}
@media (max-width:760px) {
 .hospital-content { padding-top:36px; }
 .greeting-letter { grid-template-columns:minmax(0,1fr); gap:34px; }
 .greeting-portraits { width:min(100%,600px); margin-inline:auto; gap:10px; }
 .greeting-portrait { width:100%; border-top-right-radius:40px; }
 .greeting-portrait-frame { height:clamp(210px,52vw,310px); margin-top:28px; }
 .greeting-portrait figcaption span { font-size:11px; }
 .greeting-portrait figcaption strong { font-size:23px; }
 .greeting-portrait figcaption { padding-bottom:28px; }
 .greeting-copy { padding-top:0; }
 .greeting-copy h2 { font-size:28px; margin-bottom:26px; }
 .greeting-copy > p { font-size:16px; line-height:1.9; }
 .greeting-copy .greeting-opening { font-size:18px; }
}
