/* Shared phone layout, loaded after page-specific styles. */
.page-topics>summary{display:none}
.page-topics:not([open])>.cardiac-page-nav{display:block}
@media(max-width:1200px){
  html.menu-open{overflow:hidden;overscroll-behavior:none}
  #navigation{top:100%;max-height:calc(100dvh - var(--menu-offset,115px));overscroll-behavior:contain}
  #navigation.open{max-height:calc(100dvh - var(--menu-offset,115px))}
  #navigation .dropdown-toggle,#navigation>a:not(.button){min-height:48px;font-size:15px}
  #navigation .dropdown-panel a{min-height:44px;font-size:14px}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}
  body{font-size:16px;line-height:1.75}
  .container{width:calc(100% - 36px)}
  .container>*,.doctor-details,.contact-doctor-heading>div{min-width:0}
  .topbar{display:none}
  .header-inner{height:72px;gap:12px}
  .brand{gap:8px;min-width:0}
  .brand img{width:32px;height:43px;flex-shrink:0}
  .brand>span{font-size:20px;letter-spacing:-.85px}
  .brand small{font-size:7px;letter-spacing:1.2px;margin-top:7px}
  .menu-toggle{min-width:58px;min-height:44px;justify-content:center;gap:8px;font-size:12px;padding:8px;flex-shrink:0}
  #navigation{top:100%;padding:12px 18px 24px;max-height:calc(100dvh - var(--menu-offset,72px))}
  #navigation.open{max-height:calc(100dvh - var(--menu-offset,72px));padding-bottom:max(24px,env(safe-area-inset-bottom))}
  #navigation>a:not(.button),#navigation .dropdown-toggle{font-size:16px;min-height:50px;padding:13px 0}
  #navigation .dropdown-panel{padding:5px 12px;margin-bottom:12px}
  #navigation .dropdown-panel a{font-size:14px;line-height:1.65;min-height:48px;padding:12px 8px}
  #navigation .dropdown-panel small{font-size:12px}
  #navigation .button{width:100%;margin-top:18px;min-height:48px;font-size:14px}
  .button{min-height:48px;font-size:14px;padding:13px 20px}
  .text-link{min-height:44px;font-size:13px;line-height:1.6;gap:13px}
  .eyebrow{font-size:10px;letter-spacing:1.6px;line-height:1.8}
  h1{font-size:clamp(32px,8.3vw,42px);line-height:1.2;letter-spacing:-1.5px;overflow-wrap:break-word}
  h2{font-size:30px;line-height:1.3}
  .section{padding-block:40px}
  .section-heading{display:block;margin-bottom:25px}
  .section-heading>p{font-size:14px;margin-top:17px}
  .desktop-break{display:none}
  .hero{grid-template-columns:1fr;gap:25px;padding-block:30px}
  .hero .eyebrow{font-size:9px;letter-spacing:1.2px}
  .hero-intro{font-size:16px;line-height:1.8}
  .hero-actions{flex-direction:column;align-items:stretch;gap:8px}
  .hero-actions .button{font-size:14px;min-height:48px}
  .hero-actions .text-link{font-size:13px;justify-content:center}
  .hero-note{font-size:11px;line-height:1.6;margin-top:16px}
  .hero-photo{height:260px;border-top-left-radius:80px}
  .care-stamp{right:9px;bottom:85px;padding:13px 15px;font-size:11px}
  .photo-caption{font-size:8px;letter-spacing:1px;left:18px}
  .visual-foot{font-size:7px;letter-spacing:.7px}
  .specialty-strip .container{grid-template-columns:1fr 1fr}
  .specialty-strip a{padding:17px 12px;gap:10px}
  .specialty-strip strong{font-size:13px}
  .specialty-strip small{font-size:11px;line-height:1.5}
  .strip-arrow{display:none}
  .doctors-grid,.specialty-grid{grid-template-columns:1fr;gap:23px}
  .doctor-profile{display:grid;grid-template-columns:86px minmax(0,1fr);gap:17px;align-items:start}
  .portrait{height:112px;border-radius:35px 5px 5px 5px;margin:0}
  .portrait img{object-position:center center}
  .doctor-details .eyebrow{font-size:9px;margin:0 0 8px}
  .doctor-details h3{font-size:20px;margin-bottom:10px;line-height:1.4}
  .doctor-details>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-bottom:9px}
  .doctor-details .text-link{font-size:13px}
  .specialty-card{padding:25px 23px 0}
  .specialty-card>p{font-size:15px;line-height:1.8;min-height:0}
  .specialty-card h3{font-size:26px}
  .treatment-list :is(a,button){font-size:14px;min-height:48px;padding-block:13px;gap:15px;line-height:1.6}
  .card-doctor{font-size:13px}
  .card-doctor small{font-size:12px}
  .about-layout{grid-template-columns:1fr;gap:28px}
  .about-section{padding-block:40px}
  .about-intro,.approach-list p{font-size:15px;line-height:1.85}
  .approach-list h3{font-size:19px}
  .visit-section{width:calc(100% - 24px);grid-template-columns:1fr;padding:28px 20px;gap:25px;margin-top:30px}
  .visit-copy h2{font-size:35px}
  .visit-copy>p:not(.eyebrow){font-size:15px}
  .specialty-choice{gap:10px;flex-wrap:wrap;margin-top:20px}
  .specialty-choice button{min-height:46px;font-size:14px;padding:11px 15px}
  .visit-panel{padding:23px 20px}
  .visit-label{font-size:10px}
  .visit-panel h3{font-size:25px}
  .visit-panel>p,.visit-panel #selected-hours{font-size:14px;line-height:1.8}
  .visit-contact>a{min-height:44px;display:inline-flex;align-items:center;font-size:17px}
  .visit-contact>a[href^="mailto"]{font-size:14px}
  .visit-panel #selected-contact{font-size:13px}
  .visit-panel .button{font-size:13px;min-height:46px}
  .questions{grid-template-columns:1fr;gap:20px}
  .faq-list summary,.cardiac-faqs .faq-list summary{font-size:15px;line-height:1.6;min-height:50px;gap:15px}
  .faq-list details p,.cardiac-faqs .faq-list details p{font-size:15px;line-height:1.85;padding-right:5px}
  .footer-main{padding-block:27px;flex-wrap:wrap;gap:15px}
  .footer-main .brand{width:100%}
  .footer-main>p{font-size:17px}
  .back-top{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
  .footer-contact-row{grid-template-columns:1fr;gap:23px;padding-block:26px}
  .footer-contact-row>div:first-child{grid-column:auto}
  .footer-contact-row strong{font-size:15px;margin-bottom:6px}
  .footer-contact-row p{font-size:13px;line-height:1.8}
  .footer-contact-row a,.footer-contact-row a[href^="mailto"]{font-size:14px;min-height:40px;display:flex;align-items:center;overflow-wrap:anywhere}
  .footer-bottom{display:block;font-size:11px;line-height:1.9;padding-block:17px}
  .footer-bottom>span{display:block}
  dialog{max-height:calc(100dvh - 36px);overflow-y:auto;padding:40px 24px 27px}
  .dialog-close{width:44px;height:44px;top:4px;right:6px}
  dialog>p:not(.eyebrow){font-size:16px}
  .cardiac-breadcrumb,.breadcrumb,.clinic-breadcrumb{font-size:11px;gap:8px;padding-block:18px;line-height:1.7;overflow-wrap:anywhere}
  .cardiac-hero{grid-template-columns:1fr;padding-block:10px 28px;gap:25px}
  .cardiac-hero h1,.dermatology-page .cardiac-hero h1{font-size:clamp(29px,7.8vw,38px);line-height:1.25;letter-spacing:-1.1px;margin-bottom:18px}
  .cardiac-intro{font-size:16px;line-height:1.8;margin-bottom:24px}
  .cardiac-facts{padding:20px 22px;border-radius:35px 6px 6px 6px}
  .cardiac-facts .eyebrow{font-size:10px;margin-bottom:12px}
  .cardiac-heart{font-size:43px;top:7px;right:20px}
  .cardiac-facts>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;padding-block:11px;align-items:baseline}
  .cardiac-facts>div>span{font-size:12px}
  .cardiac-facts strong{font-size:14px;line-height:1.7;margin:0}
  .cardiac-body{grid-template-columns:1fr;grid-template-areas:'sidebar' 'article';gap:28px;padding-block:26px}
  .cardiac-sidebar-inner{position:static}
  .cardiac-doctor{display:none}
  .page-topics{border:1px solid var(--line);border-radius:6px;background:var(--cream)}
  .page-topics>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-size:15px;font-weight:600;min-height:50px;padding:13px 18px}
  .page-topics>summary::-webkit-details-marker{display:none}
  .page-topics>summary>span{font-size:22px;color:var(--wine)}
  .page-topics[open]>summary>span{transform:rotate(45deg)}
  .page-topics:not([open])>.cardiac-page-nav{display:none}
  .page-topics>.cardiac-page-nav{display:block;position:static;border:0;box-shadow:none;padding:0 18px 10px;background:none}
  .page-topics .cardiac-page-nav .eyebrow{display:none}
  .page-topics .cardiac-page-nav a{font-size:14px;line-height:1.6;min-height:46px;padding:12px 0!important}
  .cardiac-article>section{margin-bottom:30px;scroll-margin-top:92px}
  .cardiac-article h2{font-size:25px;line-height:1.35;letter-spacing:-.5px}
  .cardiac-article p,.cardiac-article li{font-size:16px;line-height:1.85}
  .cardiac-faqs{padding-top:26px}
  .cardiac-information{padding:20px}
  .cardiac-information strong{font-size:14px}
  .cardiac-information p{font-size:14px;line-height:1.85}
  .cardiac-references h3{font-size:14px}
  .cardiac-references a{font-size:13px;line-height:1.8;min-height:40px;padding-block:7px;overflow-wrap:anywhere}
  .cardiac-related{padding-block:38px}
  .cardiac-related h2{font-size:31px}
  .related-grid{grid-template-columns:1fr;gap:11px}
  .related-grid>a{min-height:56px;font-size:15px;line-height:1.6;padding:15px 18px}
  .profile-hero{grid-template-columns:1fr;gap:28px;padding-block:14px 32px}
  .profile-hero h1{font-size:clamp(30px,8vw,40px)}
  .profile-role{font-size:17px}
  .profile-qualifications{font-size:14px}
  .profile-intro,.profile-prose p{font-size:16px;line-height:1.85}
  .profile-picture{max-width:none;justify-self:stretch;display:grid;grid-template-columns:120px minmax(0,1fr);border-top-left-radius:50px}
  .profile-picture>img{height:155px;object-position:center}
  .profile-picture figcaption{padding:20px}
  .profile-picture strong{font-size:19px}
  .profile-picture .eyebrow{font-size:9px}
  .profile-contact-bar{display:block;margin-bottom:25px;font-size:14px;padding-block:20px}
  .profile-contact-bar>div{margin-bottom:14px}
  .profile-contact-bar>div>span{font-size:10px}
  .profile-contact-bar>div a{font-size:14px;line-height:2.5}
  .profile-contact-bar .text-link{font-size:13px}
  nav.profile-jump{gap:23px;padding-block:0;scrollbar-width:thin}
  .profile-jump a{font-size:13px!important;min-height:46px;padding-block:13px!important}
  .profile-background,.credentials-layout,.recognition-layout,.academic-layout,.profile-next{grid-template-columns:1fr;gap:27px}
  .interest-grid{gap:25px 20px}
  .interest-grid h3{font-size:18px}
  .interest-grid p,.profile-timeline p,.historical-note,.award-list p,.professional-panel li,.academic-intro,.academic-list p,.profile-date-note p{font-size:14px;line-height:1.85}
  .profile-timeline article{display:grid;grid-template-columns:75px minmax(0,1fr);gap:15px}
  .profile-timeline h3,.academic-list h3{font-size:17px}
  .timeline-date,.award-list article>span,.academic-list article>span{font-size:12px}
  .professional-panel{padding:25px}
  .membership-note{font-size:13px;line-height:1.85}
  .other-doctor strong{font-size:20px}
  .other-doctor small{font-size:13px}
  .contact-hero{padding-block:32px}
  .contact-hero h1{font-size:39px}
  .contact-hero>p:last-child{font-size:16px}
  .contact-doctors,.location-grid{grid-template-columns:1fr;gap:20px}
  .contact-doctor{padding:25px}
  .contact-doctor-heading{gap:14px;align-items:center}
  .contact-doctor h2{font-size:23px}
  .contact-doctor-heading img{width:58px;height:58px;flex-shrink:0}
  .contact-doctor-heading p:last-child{font-size:13px;line-height:1.7}
  .contact-methods span{font-size:13px}
  .contact-methods a{min-height:44px;line-height:2.5;font-size:17px}
  .contact-methods a[href^="mailto"]{font-size:14px}
  .contact-timing-note{font-size:14px}
  .contact-locations{padding-block:40px}
  .location-card{padding:25px}
  .location-card h3{font-size:25px}
  .location-doctor{font-size:14px}
  .location-card address{font-size:16px;min-height:0;line-height:1.8}
  .location-card dl>div{font-size:14px;gap:15px}
  .location-card dl>div>dd{min-width:0}
  .location-card .button{font-size:13px}
  .map-search-tip{font-size:13px}
  .contact-before{grid-template-columns:1fr;gap:24px;padding-block:40px}
  .contact-before>div>p:not(.eyebrow){font-size:16px}
  .clinic-hero{grid-template-columns:1fr;gap:28px;padding-block:12px 35px}
  .clinic-hero h1{font-size:clamp(32px,8vw,40px)}
  .clinic-hero p:not(.eyebrow){font-size:16px;line-height:1.8}
  .clinic-visual{height:260px}
  .clinic-visual figcaption{font-size:9px}
  .clinic-doctor-grid,.clinic-approach{grid-template-columns:1fr;gap:25px}
  .clinic-doctor h3{font-size:23px}
  .clinic-doctor-top p:last-child{font-size:13px}
  .clinic-doctor>p,.clinic-approach>div>p:not(.eyebrow),.clinic-steps p{font-size:16px;line-height:1.8}
  .clinic-card-links .text-link{font-size:13px}
  .clinic-visit{width:calc(100% - 24px);grid-template-columns:1fr;padding:28px 22px;gap:27px}
  .clinic-visit address{font-size:16px;line-height:1.8}
  .clinic-phone{font-size:16px}
  .clinic-visit .text-link{font-size:13px}
  .clinic-hours{padding:24px 20px}
  .clinic-hours p:not(.eyebrow){font-size:15px;line-height:1.8}
  .clinic-hours .button{font-size:13px}
  .clinic-bottom{display:block;padding-block:28px 40px}
  .clinic-bottom>p{font-size:15px}
  .clinic-bottom .text-link{margin-top:16px}
}
@media(max-width:360px){
  .container{width:calc(100% - 32px)}
  .brand>span{font-size:18px}
  .brand small{font-size:6.5px;letter-spacing:1px}
  .brand img{width:29px}
  .header-inner{gap:8px}
  .menu-toggle{min-width:53px;font-size:11px;gap:5px}
  .doctor-profile{grid-template-columns:72px minmax(0,1fr);gap:14px}
  .doctor-details h3{font-size:18px}
  .portrait{height:100px}
  .specialty-choice button{padding-inline:12px;font-size:13px}
  .interest-grid{grid-template-columns:1fr}
  .contact-doctor{padding:22px}
  .location-card{padding:22px}
  .location-card dl>div{display:block}
  .location-card dd{text-align:left;margin-top:4px}
}
@media(min-width:761px) and (max-width:1024px){
  .cardiac-article p,.cardiac-article li,.profile-prose p{font-size:16px;line-height:1.85}
  .cardiac-intro,.profile-intro,.clinic-hero p:not(.eyebrow){font-size:16px}
  .cardiac-faqs .faq-list summary,.cardiac-faqs .faq-list details p{font-size:15px}
  .cardiac-page-nav a{font-size:12px;line-height:1.7;min-height:44px}
  .cardiac-facts strong{font-size:14px}
}

/* Preserve the complete supplied doctor photographs at every screen size. */
.portrait{height:auto;border-radius:6px;background:#fff;align-self:start}
.portrait img,.profile-picture>img{width:100%;height:auto;object-fit:contain;object-position:center}
.profile-picture{border-radius:6px;background:#fff}
.card-doctor img,.cardiac-doctor img,.contact-doctor-heading img,.clinic-doctor-top img,.other-doctor img{object-fit:contain;object-position:center;border-radius:4px;background:#fff}
