/* Public site only: never loaded by the administrative/draft interface. */
.public-site.public-modal-open{overflow:hidden}
.public-image-zoom{display:none}
@media(max-width:800px){
 .public-site{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .public-site :is(.bio-dialog,.bio-document-dialog,.album-dialog){overflow:hidden;max-height:92vh;max-height:92dvh}
 .public-site :is(.bio-dialog,.bio-document-dialog,.album-dialog)[open]{display:flex;flex-direction:column}
 .public-site :is(.bio-close-bar,.album-modal-bar){flex-shrink:0}
 .public-site :is(.bio-scroll,.bio-document-body,.album-modal-body){min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .public-site :is(.bio-close,.album-modal-bar button,.album-zoom-controls button,.original-dialog button){min-width:48px;min-height:48px}
 .public-site .album-zoom-image{touch-action:pan-y pinch-zoom}
 .public-site .bio-heading>div{min-width:0}
 .public-site :is(.bio-dialog h2,.bio-dialog h4){overflow-wrap:anywhere}
 .public-site .bio-close-bar{gap:10px;flex-wrap:wrap}
 .public-site .public-image-zoom{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #a32929;background:transparent;color:#a32929;font:14px/1.4 Arial,sans-serif}
 .public-site .bio-document-body{touch-action:pan-x pan-y pinch-zoom}
 .public-site .bio-document-body.public-image-expanded img{max-width:none;width:auto;height:auto}
 .public-site .original-dialog{max-height:94vh;max-height:94dvh;overflow:auto;overscroll-behavior:contain}
 .public-site .original-dialog img{max-height:calc(94vh - 100px);max-height:calc(94dvh - 100px)}
 .public-site .original-dialog button{position:sticky;top:0;background:var(--paper,#f4f0e7);z-index:1}
}
@media(max-width:600px){
 .public-site{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 .public-site .footer{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}
 .public-site .hero-bottom{flex-wrap:wrap}
 .public-site .section-note{font-size:13px}
 .public-site .teacher .guide-role{font-size:12px}
}

/* Confirmed names only; absent numbers produce no dead links or fake digits. */
.phone-contacts{padding-top:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}.phone-contacts h2{font-size:32px;letter-spacing:0;margin-bottom:24px}.phone-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.phone-contact{min-width:0}.phone-contact h3{overflow-wrap:anywhere;font-size:25px;margin:0 0 12px}.phone-number{font-size:17px;overflow-wrap:anywhere;margin-bottom:12px}.phone-actions{display:flex;gap:12px}.phone-actions a,.phone-actions>span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid var(--line);color:var(--red)}.phone-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pending-contact-icons{color:#70685c}.pending-contact-icons>span{border:0;color:inherit}.phone-actions a:hover{background:#ebe7de}@media(max-width:430px){.phone-contact-grid{gap:24px}.phone-contacts{padding-top:32px;padding-bottom:32px}}

.phone-entry+.phone-entry{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.phone-contact-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
