/* Softer, dimensional presentation; content and semantic structure stay intact. */
:root{--cream:#f5f8fa;--line:#dce6e8}
body{background:var(--cream)}
h1,h2,h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:650;letter-spacing:-.045em}
h1{font-size:clamp(2.5rem,4.7vw,4.25rem);line-height:1.08}
h2{font-size:clamp(1.9rem,3.1vw,2.85rem);line-height:1.17}
h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.025em}
.topbar{background:linear-gradient(100deg,#172e40,#245264)}
.header{box-shadow:0 5px 22px #172e4008;position:relative;z-index:2}
.header-inner{min-height:96px}
.brand strong{font-family:Georgia,"Times New Roman",serif}
.nav-list a{border-radius:10px;transition:background-color .18s ease,color .18s ease}
.nav-list .portal,.button{border-radius:999px;background:linear-gradient(180deg,#247770,#14534f);box-shadow:inset 0 1px 0 #ffffff35,0 5px 12px #14534f20;transition:transform .18s ease,box-shadow .18s ease}
.nav-list .portal:hover,.button:hover{background:linear-gradient(180deg,#1c6660,#104440);box-shadow:inset 0 1px 0 #ffffff35,0 7px 17px #14534f30;transform:translateY(-2px)}
.button.secondary{background:#ffffffb8;box-shadow:0 3px 10px #172e4008;border-color:#adc4c8}
.button.secondary:hover{background:#fff}
.hero{width:min(1320px,calc(100% - 48px));margin:28px auto 0;border-radius:28px;overflow:hidden;background:linear-gradient(125deg,#e4f3ee 0%,#eff6fb 58%,#e7f1f6 100%);box-shadow:0 16px 40px #172e4010;min-height:560px}
.hero-copy{padding:52px 48px}
.hero-copy .eyebrow{display:inline-block;padding:8px 12px;background:#ffffffb8;border:1px solid #cadfdc;border-radius:999px;font-size:.66rem;letter-spacing:.085em;margin-bottom:15px}
.hero-photo{min-height:520px}
.hero-caption{left:20px;right:20px;bottom:20px;border-radius:12px;background:#172e40;padding:15px 18px;font-size:.7rem;box-shadow:0 5px 18px #172e4020}
.quicklinks{background:transparent;border:0;padding-top:24px}
.quickgrid{gap:18px}
.quickgrid a,.quickgrid a:first-child{border:1px solid var(--line);border-radius:16px;padding:23px;background:#fff;box-shadow:0 5px 18px #172e4006;transition:transform .18s ease,box-shadow .18s ease}
.quickgrid a:hover{transform:translateY(-3px);box-shadow:0 10px 25px #172e4010}
.quickgrid b{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#e7f3ef;font-size:1.2rem}
.card{border-radius:20px;background:linear-gradient(160deg,#fff,#fbfdfd);box-shadow:0 8px 24px #172e4006;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #172e4010}
.card .number{display:inline-block;border-radius:8px;padding:6px 10px;background:#e7f3ef;margin-bottom:24px;font-size:.72rem}
.doctor-card{border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #172e4008}
.doctor-copy{padding:28px}
.doctor-copy h3{font-size:1.32rem}
.portal-band{background:radial-gradient(ellipse at top right,#246a73 0%,#1b465c 40%,#172e40 85%);box-shadow:inset 0 1px 0 #ffffff25}
.portal-band .button{background:linear-gradient(180deg,#fff,#e7f2ef);color:var(--navy);box-shadow:0 7px 22px #0002}
.portal-band .button:hover{background:#fff;color:var(--navy)}
.visit-image{border-radius:22px;box-shadow:0 12px 30px #172e4014}
.page-head{background:radial-gradient(ellipse at right top,#d4ece9 0%,#eaf3f7 55%,#f0f6f8 100%);border-bottom:1px solid #dce6e8;padding-block:44px 48px}
.page-head h1{font-size:clamp(2.3rem,4vw,3.65rem);margin-bottom:0}
.breadcrumbs{font-size:.85rem}
.page-head+.article{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 28px #172e4006;margin-top:32px;margin-bottom:60px;padding:36px 42px 48px;max-width:950px}
.article h2{font-size:1.7rem;letter-spacing:-.025em}
.article h2:first-child{margin-top:0}
.article>p{margin:0 0 16px}
.article>h2{margin:32px 0 12px}
.article>h2:first-child{margin-top:0}
.article>h3{margin:26px 0 10px}
.article>ul,.article>ol{margin:0 0 20px;padding-left:1.4em}
.article>ul>li,.article>ol>li{margin-bottom:10px}
.article>p:empty{display:none}
.article>:last-child{margin-bottom:0}
.article .profile{border-radius:18px;box-shadow:0 8px 20px #172e4010}
.article li::marker{color:var(--teal)}
.notice{border-radius:0 14px 14px 0;background:#edf6f3}
.contact-callout{border-radius:16px;background:linear-gradient(120deg,#edf6f3,#f0f6fb);border-color:#cee2e0}
.contact-callout p{margin-bottom:8px}
.menu-toggle{border-radius:999px;border-color:#b5c9cb;background:#f4f9f8;min-width:80px}
.footer{background:linear-gradient(115deg,#172e40,#1b4154)}
.footer h2{font-size:1.35rem;letter-spacing:-.025em}
@media(max-width:1050px){.hero-copy{padding:40px 30px}.hero-photo{min-height:480px}.hero-caption{font-size:.64rem}.quickgrid a{padding:19px}}
@media(max-width:860px){.hero{width:calc(100% - 32px);margin-top:20px;border-radius:22px}.hero-copy{padding:40px 30px}.hero-photo{min-height:340px}.hero-caption{left:14px;right:14px;bottom:14px}.quickgrid{gap:12px}.quickgrid a,.quickgrid a:first-child{padding:20px}.nav-list a{border-radius:8px}.nav-list .portal{border-radius:999px}.header-inner{min-height:86px}.page-head+.article{padding:30px;max-width:calc(100% - 40px)}.portal-band h2{font-size:2rem}}
@media(max-width:430px){.hero{width:calc(100% - 24px);border-radius:18px}.hero-copy{padding:28px 22px}.hero-copy .eyebrow{border-radius:10px;line-height:1.6}.hero-photo{min-height:285px}.hero-caption{font-size:.6rem;padding:12px}.quickgrid a,.quickgrid a:first-child{padding:18px}.page-head+.article{max-width:calc(100% - 24px);padding:24px 20px;border-radius:16px;margin-top:20px}.page-head h1{overflow-wrap:break-word}.page-head{padding-block:30px}.doctor-copy{padding:24px}.card{border-radius:16px}.button{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.button:hover,.nav-list .portal:hover,.quickgrid a:hover,.card:hover{transform:none}}
