/* Penyempurnaan 2026-10-18. Tidak mengganti style.css yang lama. */
:root{--jhi-prose-width:74ch}
body{line-height:1.65}
.site-container{width:min(1160px,calc(100% - 44px))}
.section-block{padding-top:58px;padding-bottom:58px}
.section-top{margin-bottom:22px}
.section-top p,.intro-text p{font-size:14px;line-height:1.8}
.hero-refined .hero-copy h1{font-size:clamp(28px,3.15vw,45px);line-height:1.25;letter-spacing:-1px;overflow-wrap:normal;word-break:normal;hyphens:none}
.hero-refined .hero-layout{gap:42px;min-height:0}
.hero-refined .hero-copy p{font-size:14px;line-height:1.8}
.intro-grid{gap:44px}
.intro-text h2{font-size:clamp(26px,2.5vw,35px);line-height:1.35;letter-spacing:-.6px}
.intro-text p{max-width:65ch}
.program-grid{align-items:stretch}
.program-tile{display:flex;flex-direction:column;padding:22px;min-height:218px}
.program-tile h3{margin:27px 0 10px;font-size:15px;line-height:1.45}
.program-tile p{font-size:12.5px;line-height:1.75;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.program-more{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:11px;font-weight:800;margin-top:auto;padding-top:18px}
.program-more:hover{text-decoration:underline}
.public-programs .program-tile p{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}
.news-content p{font-size:12.5px;line-height:1.7;min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.news-content h3{font-size:15px;line-height:1.45;min-height:0}
.home-agenda-row p{max-width:90ch;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.home-agenda-row{padding:17px 21px}
.profile-section-heading{max-width:760px;margin:0 auto 26px;text-align:center}
.profile-section-heading h2{font-size:clamp(25px,3vw,34px);margin:8px 0 0}
.profile-story{display:grid;grid-template-columns:minmax(260px,0.78fr) minmax(0,1.22fr);gap:38px;align-items:start}
.profile-photo{position:sticky;top:92px}
.profile-photo img{width:100%;height:auto;max-height:420px;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.profile-story-copy{min-width:0}
.profile-story-copy h3{font-size:21px;margin:2px 0 15px}
.prose-body{font-size:15px;line-height:1.9;color:var(--gray);overflow-wrap:break-word;text-align:left}
.prose-body p{font-size:inherit;line-height:inherit;color:inherit;margin:0 0 1.2em;white-space:normal}
.prose-body p:last-child{margin-bottom:0}
.profile-values{grid-template-columns:1fr 1.3fr;align-items:start;gap:22px;margin-top:38px;margin-bottom:38px}
.profile-values .panel-public{padding:30px}
.profile-values .prose-body{font-size:14px;line-height:1.85}
.profile-values .panel-public h2{margin-bottom:16px}
.mission-list{margin:0;padding-left:22px;display:grid;gap:12px}
.mission-list li{padding-left:5px;line-height:1.8}
.profile-headmaster{grid-template-columns:210px minmax(0,1fr);align-items:start;padding:30px;gap:32px}
.profile-headmaster>img{width:210px;height:280px;position:sticky;top:92px}
.profile-headmaster .prose-body{font-size:14px;line-height:1.85;margin-bottom:20px}
.profile-headmaster .prose-body p{color:var(--gray);margin-bottom:15px}
.profile-headmaster strong{font-size:13px}
.article-layout{max-width:920px}
.article-body{max-width:var(--jhi-prose-width);margin-inline:auto;font-size:16px;line-height:1.95;padding:25px 0}
.article-body .prose-body{font-size:inherit;line-height:inherit;color:#3e5768}
.article-intro h1{line-height:1.35;letter-spacing:-.7px}
.article-photo{max-height:510px}
.agenda-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.agenda-switch a{display:inline-block;padding:10px 17px;border:1px solid var(--line);border-radius:99px;font-size:12px;font-weight:700}
.agenda-switch a.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}
.agenda-list-body p{font-size:13px;line-height:1.7}
.location-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,0.65fr);gap:22px;align-items:stretch}
.location-map{background:var(--light);overflow:hidden;border:1px solid var(--line);border-radius:15px;min-height:305px}
.location-map iframe{display:block;width:100%;height:100%;min-height:305px;border:0}
.location-info{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:15px;padding:29px;background:#f7fbfc}
.location-info h3{font-size:20px;line-height:1.45;margin:12px 0}
.location-info p{font-size:14px;line-height:1.8;color:var(--gray);margin-bottom:17px}
.location-info .btn{margin-top:auto}
.map-disclaimer{display:block;font-size:11px;line-height:1.65;margin-top:15px;color:var(--gray)}
.visitor-stats{border-top:1px solid var(--line);background:#f5f9fa}
.visitor-stats-inner{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(100px,1fr));gap:20px;align-items:center;padding-top:28px;padding-bottom:28px}
.visitor-stats-title h2{font-size:21px;margin:5px 0}
.visitor-stats-title p{font-size:12px;margin:0;color:var(--gray)}
.visitor-stat{border-left:1px solid #d8e5ea;text-align:center;padding:4px 10px}
.visitor-stat strong{font:800 clamp(20px,2.3vw,29px) 'Plus Jakarta Sans',sans-serif;color:var(--blue);display:block}
.visitor-stat span{font-size:11px;font-weight:700;color:var(--gray)}
@media(max-width:900px){
 .profile-story{grid-template-columns:1fr;gap:22px}.profile-photo{position:static}.profile-photo img{max-height:365px;aspect-ratio:16/9}
 .profile-values{grid-template-columns:1fr 1fr}.profile-headmaster{grid-template-columns:160px 1fr}.profile-headmaster>img{width:160px;height:210px;position:static}
 .location-grid{grid-template-columns:1fr}.location-info{min-height:230px}
 .visitor-stats-inner{grid-template-columns:repeat(3,1fr)}.visitor-stats-title{grid-column:1/-1;text-align:center}
}
@media(max-width:650px){
 .site-container{width:min(100% - 30px,1160px)}.section-block{padding-top:40px;padding-bottom:40px}
 .hero-refined .hero-copy h1{font-size:clamp(26px,7vw,35px);letter-spacing:-.6px}
 .intro-grid{gap:25px}.program-grid{gap:14px}.program-tile{min-height:0;padding:20px}
 .profile-section-heading{text-align:left}.profile-story-copy h3{font-size:20px}
 .prose-body{font-size:14px;line-height:1.85}.profile-values{grid-template-columns:1fr;gap:15px;margin-top:28px}
 .profile-values .panel-public{padding:22px}.profile-headmaster{grid-template-columns:1fr;padding:20px}.profile-headmaster>img{width:100%;height:270px;object-fit:contain;background:#e7f1f4}
 .article-body{font-size:15px;line-height:1.9}.article-layout{padding-top:28px;padding-bottom:45px}
 .home-agenda-row{align-items:flex-start;gap:12px;padding:15px}.home-agenda-row .agenda-date-box{min-width:56px;width:56px;height:58px}
 .home-agenda-row .agenda-arrow{display:none}.agenda-list-card{align-items:flex-start;flex-wrap:wrap}
 .location-map,.location-map iframe{min-height:270px}.location-info{padding:22px}
 .visitor-stats-inner{gap:12px}.visitor-stat{padding:5px;border-left:0}.visitor-stat strong{font-size:20px}.visitor-stat span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.program-tile,.news-card{transition:none}}

/* Format editorial tersanitasi dari CMS, konsisten di artikel, profil, agenda, program, pengumuman dan PPDB */
.prose-body,.jhi-rich-view{overflow-wrap:anywhere;min-width:0}
.prose-body p,.jhi-rich-view p{margin:0 0 1em;line-height:1.85}
.prose-body :is(h2,h3),.jhi-rich-view :is(h2,h3){color:#163f50;font-weight:800;line-height:1.4;margin:1.25em 0 .55em}
.prose-body h2,.jhi-rich-view h2{font-size:clamp(19px,2vw,24px)}
.prose-body h3,.jhi-rich-view h3{font-size:clamp(16px,1.7vw,20px)}
.prose-body :is(ul,ol),.jhi-rich-view :is(ul,ol){padding-left:1.6em;margin:0 0 1.15em;list-style-position:outside}
.prose-body li,.jhi-rich-view li{margin-bottom:.45em;line-height:1.7}
.prose-body blockquote,.jhi-rich-view blockquote{border-left:3px solid #1f7d99;padding:9px 0 9px 18px;margin:16px 0;background:#f2f8fa}
.prose-body a,.jhi-rich-view a{color:#14769b;text-decoration:underline;text-underline-offset:3px}
.jhi-rich-view>.prose-body{font:inherit;color:inherit}
.jhi-rich-view :is(p,li,blockquote){font-size:inherit;color:inherit}
.program-tile .jhi-rich-view p{font-size:13px;line-height:1.75}
.video-info .jhi-rich-view,.agenda-list-body .jhi-rich-view{font-size:13px;line-height:1.75}
