/* RC17.3 — public layout containment. Fix the cause of escaped text, not the font size. */
.public-site-body :is(.page-hero,.section,.container,.content-panel,.prose-card,.card,.school-profile-card,.principal-letter-card,.principal-followup-card) {box-sizing:border-box;min-width:0}
.public-site-body :is(.prose,.principal-letter-prose,.section-copy,.card-body,.content-panel,.school-profile-card) {min-width:0;max-width:100%}
.public-site-body :is(.prose,.principal-letter-prose,.content-panel,.school-profile-card) :is(h1,h2,h3,h4,p,li,dd,dt,a,strong,small,span,blockquote){overflow-wrap:anywhere;min-width:0}
.public-site-body :is(.prose,.principal-letter-prose,.content-panel) :is(img,video,canvas,svg,iframe,embed,object){max-width:100%!important;height:auto}
.public-site-body :is(.prose,.principal-letter-prose,.content-panel) :is(pre,table){display:block;max-width:100%!important;overflow-x:auto;overscroll-behavior-inline:contain}
.public-site-body :is(.prose,.principal-letter-prose,.content-panel) :is(pre,code){white-space:pre-wrap;overflow-wrap:anywhere}
.public-site-body :is(.prose,.principal-letter-prose,.content-panel) [style*="width:"]{max-width:100%!important}

body.page-sambutan-kepala-madrasah .principal-message-layout {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:clamp(18px,2.6vw,34px);width:calc(100% - 32px);max-width:1280px;min-width:0;margin-inline:auto}
body.page-sambutan-kepala-madrasah .principal-message-layout > :is(.principal-profile-panel,.principal-letter-card){min-width:0;max-width:100%;width:100%}
body.page-sambutan-kepala-madrasah .principal-profile-panel{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px}
body.page-sambutan-kepala-madrasah .principal-message-photo{min-width:0;width:100%}
body.page-sambutan-kepala-madrasah .principal-message-photo :is(img,a){max-width:100%}
body.page-sambutan-kepala-madrasah .principal-message-photo figcaption{min-width:0;overflow-wrap:anywhere}
body.page-sambutan-kepala-madrasah .school-profile-card{width:100%;min-width:0;overflow:hidden}
body.page-sambutan-kepala-madrasah .school-profile-card dl{display:grid;min-width:0;width:100%}
body.page-sambutan-kepala-madrasah .school-profile-card dl>div{display:grid;grid-template-columns:minmax(75px,30%) minmax(0,1fr);gap:clamp(7px,1vw,14px);min-width:0;max-width:100%;align-items:start}
body.page-sambutan-kepala-madrasah .school-profile-card :is(dd,dt){min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
body.page-sambutan-kepala-madrasah .principal-letter-card{overflow:hidden;isolation:isolate;padding:clamp(18px,2.3vw,34px)!important}
body.page-sambutan-kepala-madrasah .principal-letter-head,body.page-sambutan-kepala-madrasah .principal-letter-prose,body.page-sambutan-kepala-madrasah .principal-letter-signature{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere}
body.page-sambutan-kepala-madrasah .principal-letter-head h2{font-size:clamp(1.45rem,2.2vw,2.35rem);line-height:1.25;max-width:100%;overflow-wrap:anywhere}
body.page-sambutan-kepala-madrasah .principal-letter-prose{line-height:1.8;word-break:normal;hyphens:auto}
body.page-sambutan-kepala-madrasah .principal-letter-prose :is(table,pre){max-width:100%!important}
body.page-sambutan-kepala-madrasah .principal-letter-prose :is(td,th){overflow-wrap:anywhere;max-width:100%}
body.page-sambutan-kepala-madrasah .principal-followup-grid{min-width:0}
body.page-sambutan-kepala-madrasah .principal-followup-card>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:850px){
 body.page-sambutan-kepala-madrasah .principal-message-layout{grid-template-columns:minmax(0,1fr);width:calc(100% - 24px)}
 body.page-sambutan-kepala-madrasah .principal-profile-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}
@media(max-width:550px){
 body.page-sambutan-kepala-madrasah .principal-message-layout{width:calc(100% - 20px);gap:14px}
 body.page-sambutan-kepala-madrasah .principal-profile-panel{grid-template-columns:minmax(0,1fr)}
 body.page-sambutan-kepala-madrasah .principal-letter-card{padding:clamp(14px,3.5vw,20px)!important}
 body.page-sambutan-kepala-madrasah .principal-letter-prose{font-size:.96rem;line-height:1.7}
 body.page-sambutan-kepala-madrasah .school-profile-card dl>div{grid-template-columns:minmax(75px,31%) minmax(0,1fr)}
}
/* Keep the decorative quote ring inside the card's actual scrollable box. */
body.page-sambutan-kepala-madrasah .principal-letter-card::after{right:0!important;bottom:0!important;width:180px;height:180px;border-width:36px;opacity:.55}
body.page-sambutan-kepala-madrasah .principal-letter-prose p:has(a[href]){text-align:left!important}
