/* Shared public-page finish; layout remains fluid at browser zoom and mobile sizes. */
body.site-page .site-icon--pixel { image-rendering:auto; object-fit:contain; }
body.site-page .support-quick-card > .site-icon--pixel:first-child,
body.site-page .legal-summary-card > .site-icon--pixel,
body.site-page .about-pillars .site-icon--pixel,
body.site-page .about-links-stack > a > .site-icon--pixel:first-child {
    width:48px; height:48px; flex:0 0 48px; padding:0; border:0; border-radius:0; background:none;
}
body.site-page .support-card-icon { width:56px; height:56px; }
body.site-page .support-card-icon .site-icon--pixel { width:40px; height:40px; }
body.site-page .btn .site-icon--pixel { width:28px; height:28px; }
body.site-page .about-intro-copy h2 { font-size:clamp(26px,3vw,40px); }
body.site-page .page-hero { padding-block:40px; }
body.legal-page .legal-hero .about-actions { justify-content:center; }
.site-page .page-shell { padding-block: 40px; }
.site-page .content-grid { align-items:start; gap:24px; }
.site-page .auth-panel { width:100%; max-width:620px; justify-self:center; }
.site-page .ornate-panel { border-radius:10px; box-shadow:0 3px 0 #c69d5840; }
.site-page .panel-heading { padding:32px 28px 20px; }
.site-page .panel-heading h1,
.site-page .page-hero h1,
.site-page .section-heading h2,
.site-page .mini-panel h2,
.site-page .support-layout h2 { font-family:Tahoma,Arial,sans-serif; letter-spacing:-.025em; line-height:1.2; }
.site-page .panel-heading h1 { font-size:clamp(25px,3vw,36px); }
.site-page .page-hero h1 { font-size:clamp(30px,4vw,46px); }
/* Keep the frame and artwork under one sizing rule; legacy specificity must not
   leave a 48px icon inside a 54px frame with borders and inherited padding. */
body.site-page:not(.district-landing-page) .auth-panel .panel-heading__badge {
    width:64px; height:64px; top:-32px; padding:0; margin:0;
    display:grid; place-items:center; box-sizing:border-box;
    line-height:0; transform:translateX(-50%);
}
body.site-page:not(.district-landing-page) .auth-panel .panel-heading__badge > .site-icon {
    display:block; width:36px; height:36px; max-width:100%; max-height:100%;
    padding:0; margin:0; border:0; box-sizing:border-box;
    object-fit:contain; object-position:center; transform:none;
}
body.site-page .support-card-icon { box-sizing:border-box; padding:0; line-height:0; place-items:center; }
body.site-page .support-card-icon > .site-icon { display:block; margin:0; padding:0; object-fit:contain; object-position:center; }
.site-page .feature-card__icon .site-icon--pixel { width:32px; height:32px; display:block; margin:0; padding:0; transform:rotate(-45deg); }
.site-page .conduct-list .site-icon--pixel,
.site-page .legal-summary-card .site-icon--pixel { width:32px; height:32px; }
.site-page .input-shell { overflow:hidden; min-width:0; }
.site-page .input-shell input { flex:1 1 0; width:0; min-width:0; max-width:100%; }
.site-page .input-shell .site-icon { flex-shrink:0; }
.site-page .form-stack { box-sizing:border-box; max-width:100%; }
.site-page .form-field { min-width:0; }
.site-page .captcha-img { max-width:100%; height:auto; }
.district-rule { margin:10px 0; border:1px solid #d4b578; border-radius:6px; background:#fffaf0; }
.district-rule summary { padding:15px 18px; cursor:pointer; font-weight:700; color:#553718; }
.district-rule[open] summary { border-bottom:1px solid #e7d8b8; }
.district-rule p { margin:0; padding:16px 18px; line-height:1.7; }
.district-rulebook h2 { display:flex; gap:12px; align-items:center; }
.site-page :focus-visible { outline:3px solid #008f9b; outline-offset:3px; }
@media(max-width:700px) {
    .site-page .page-shell { padding-block:24px; }
    .site-page .content-grid { grid-template-columns:minmax(0,1fr); }
    .site-page .auth-panel { justify-self:stretch!important; max-width:none; }
    .site-page .auth-panel .form-stack { padding:20px!important; }
    .site-page .side-stack { min-width:0; }
    .site-page .panel-heading { padding-inline:20px; }
}
