/* Readable branding and original banners across the public website. */
header nav{min-height:156px;gap:24px;flex-wrap:wrap;padding-block:12px}
header .brand{font-size:17px;line-height:1.5;letter-spacing:.035em;color:#173f40;gap:18px;max-width:100%;font-weight:600}
header nav .brand img{width:150px;height:150px;flex:0 0 150px;object-fit:contain}
header .brand strong{font-size:18px;font-weight:800;letter-spacing:.035em}
header .links{display:flex;flex-wrap:wrap;gap:20px;font-size:18px;font-weight:700;align-items:center}
header .links a{padding:10px 2px;min-height:44px;display:inline-flex;align-items:center}
header .links .button{display:inline-flex;padding:12px 20px;font-size:18px;line-height:1.4}
header .utility{font-size:14px;font-weight:600;padding-block:9px;flex-wrap:wrap}
header .utility select,header .motion-toggle{font-size:14px;min-height:38px}
footer,footer p,footer span,.home-footer,.home-footer p,.home-footer span{font-size:16px;line-height:1.7}
footer .footer-nav,.home-footer .footer-nav{font-size:18px;font-weight:700;gap:24px}
footer .license-service-area,.home-footer .license-service-area{font-size:16px;color:#254637}
footer .manage-link{font-size:16px;font-weight:700}
.restored-banner{width:min(1220px,calc(100% - 48px));margin:32px auto;padding:0;background:#fff9e8;border:2px solid #b08b4c;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px #62451e24}
.restored-banner img{display:block;width:100%;height:clamp(150px,22vw,280px);max-height:280px;object-fit:contain;object-position:center;transform:none;filter:none;opacity:1;border-radius:0}
.restored-banner figcaption{font-size:18px;line-height:1.6;padding:16px 24px;color:#3a3e2c;font-weight:600;text-align:center;background:#fff8e6}
.banner-led-page .page-hero{grid-template-columns:1fr}
.banner-led-page .page-hero>div{max-width:900px}
@media(max-width:1100px){header nav{justify-content:center}header .links{justify-content:center;width:100%;gap:22px}header .brand{font-size:18px}header .brand strong{font-size:20px}}
@media(max-width:700px){header{position:relative}header .wrap{padding-inline:20px}header nav{gap:12px;padding-block:14px}header nav .brand img{width:110px;height:110px;flex-basis:110px}header .brand{gap:12px;font-size:14px;letter-spacing:.02em}header .brand strong{font-size:15px}header .links{gap:10px 18px;padding:4px 0;font-size:17px;justify-content:center}header .links .button{font-size:17px;padding:10px 16px}header .utility{font-size:13px;gap:8px}header .utility select,header .motion-toggle{font-size:13px}.restored-banner{width:calc(100% - 24px);margin:22px auto;border-radius:8px}.restored-banner figcaption{font-size:16px;padding:12px 16px}}
@media(max-width:380px){header nav .brand img{width:90px;height:90px;flex-basis:90px}header .brand{font-size:12px}header .brand strong{font-size:13px}header .links{gap:8px 12px}}

/* Compact original artwork: preserve the complete banner without cropping. */
.restored-banner{margin-block:22px}
.restored-banner figcaption{font-size:16px;padding:9px 18px;line-height:1.5}
.photo-showcase .showcase-stage{height:300px;min-height:0;aspect-ratio:auto}
.photo-showcase .showcase-slide img{height:100%;object-fit:contain;transform:none}
.board-certification{max-width:850px;margin:16px auto;color:#254637;font-weight:600;text-align:center}
.certification-intro{font-size:18px;line-height:1.6;color:#633451;margin-block:18px 24px}
.portrait-certification{display:block;margin-top:6px;font-size:14px!important;line-height:1.4}
@media(max-width:700px){.restored-banner img{height:clamp(130px,38vw,210px);max-height:210px}.restored-banner figcaption{font-size:14px;padding:8px 12px}.photo-showcase .showcase-stage{height:220px}.certification-intro{font-size:16px}}

/* Frame each original banner with the practice logo. */
.banner-artwork{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1fr);align-items:center;gap:clamp(6px,1.5vw,20px);padding:12px clamp(8px,2vw,24px);width:100%;box-sizing:border-box}
.banner-artwork>img:not(.banner-side-logo){min-width:0;width:100%;object-fit:contain}
.restored-banner .banner-artwork>img:not(.banner-side-logo){height:clamp(150px,22vw,280px)}
.restored-banner .banner-side-logo,.photo-showcase .banner-side-logo{display:block;width:min(100%,170px);height:auto;max-height:170px;object-fit:contain;justify-self:center;border-radius:0;animation:none;transform:none;filter:none;opacity:1}
.photo-showcase .showcase-slide>.banner-artwork{height:calc(100% - 35px);min-height:0;flex:1;padding-block:4px}
.photo-showcase .banner-artwork>img:not(.banner-side-logo){height:100%;max-height:100%;animation:none;transform:none}
@media(max-width:700px){.banner-artwork{grid-template-columns:minmax(0,1fr) minmax(0,5fr) minmax(0,1fr);gap:6px;padding:8px}.restored-banner .banner-artwork>img:not(.banner-side-logo){height:clamp(110px,30vw,180px)}.restored-banner .banner-side-logo,.photo-showcase .banner-side-logo{max-height:80px}.photo-showcase .showcase-slide>.banner-artwork{padding-inline:0}}
