
/* Public design contract. Shared with the visual identity established on the home page. */
body:not(.admin-body){
 --saumea-heading:"DM Serif Display",Georgia,serif;
 --saumea-body:"DM Sans",Arial,sans-serif;
 --saumea-ink:#54415f;--saumea-muted:#796e7f;--saumea-accent:#80678d;
 --saumea-border:#e9dfea;--saumea-surface:#fffaf5;
 --ink:var(--saumea-ink);--muted:var(--saumea-muted);--lilac-deep:var(--saumea-accent);
 --line:var(--saumea-border);--cream:var(--saumea-surface);
 --legal-ink:var(--saumea-ink);--legal-muted:var(--saumea-muted);
 --legal-lilac:var(--saumea-accent);--legal-bg:var(--saumea-surface);--legal-line:var(--saumea-border);
 color:var(--saumea-ink);font-family:var(--saumea-body);font-size:16px;line-height:1.55;
}
body:not(.admin-body) :is(h1,h2,h3,dialog h2){
 font-family:var(--saumea-heading)!important;font-weight:400!important;color:var(--saumea-ink);letter-spacing:-.025em;
}
body:not(.admin-body) :is(.page-title h1,.school-intro h1,.legal-main h1){
 font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.025em;
}
body:not(.admin-body) #supportRoot .page-title h1{
 font-family:var(--saumea-heading);font-weight:400;font-size:2rem;line-height:1.15;letter-spacing:-.025em;color:var(--saumea-ink);
}
body:not(.admin-body) :is(.eyebrow,.legal-kicker){color:#8f729e;font:500 .7rem/1.5 var(--saumea-body);letter-spacing:.18em}
body:not(.admin-body) :is(.page-title>p:not(.eyebrow),.school-intro>p:not(.eyebrow),.support-intro,.legal-lead){color:var(--saumea-muted);font-family:var(--saumea-body)}
body:not(.admin-body) .button{
 font-family:var(--saumea-body);font-size:.9rem;font-weight:500;line-height:1.5;
 border-radius:7px;min-height:44px;padding:.82rem 1.25rem;gap:.7rem;letter-spacing:normal;
}
body:not(.admin-body) .button.primary{background:var(--saumea-accent);color:#fff;border:1px solid var(--saumea-accent)}
body:not(.admin-body) .button.secondary{background:transparent;color:#715b7c;border:1px solid #ab94b5}
body:not(.admin-body) .button:focus-visible{outline:2px solid var(--saumea-accent);outline-offset:3px}
body:not(.admin-body) #supportRoot{color:var(--saumea-ink)}
body:not(.admin-body) #supportRoot :is(input,textarea,select){color:var(--saumea-ink);font-family:var(--saumea-body);border-color:var(--saumea-border)}
body:not(.admin-body) #supportRoot :is(.support-box,.support-message,.support-order){border-color:var(--saumea-border)}
body:not(.admin-body) #supportRoot .support-item{color:var(--saumea-ink)}
body:not(.admin-body) #supportRoot .support-message small{color:var(--saumea-muted)}
body:not(.admin-body) .legal-brand img{object-fit:contain;object-position:center;border-radius:0}
@media(max-width:1024px){
 body:not(.admin-body) :is(.page-title h1,.school-intro h1,.legal-main h1){font-size:2.75rem}
}
@media(max-width:580px){
 body:not(.admin-body) :is(.page-title h1,.school-intro h1,.legal-main h1){font-size:2.5rem}
 body:not(.admin-body) #supportRoot .page-title h1{font-size:1.75rem}
 body:not(.admin-body) .button{font-size:.875rem}
}

body:not(.admin-body) #supportRoot.support-guest{display:block}
body:not(.admin-body) #supportRoot.support-guest>.button{margin-top:12px}
body:not(.admin-body) #supportRoot.support-guest>.page-title{margin-bottom:12px}

/* School catalogue follows the shared cream canvas and compact card rhythm. */
body.saumea-brand-match .school-page{background:var(--saumea-surface);padding-top:clamp(3.5rem,7vw,6.5rem)}
body.saumea-brand-match .course-catalogue{align-items:start}
body.saumea-brand-match .course-card{display:flex;flex-direction:column;gap:0;min-height:0;border:1px solid var(--saumea-border);border-radius:14px;padding:24px;box-shadow:none}
body.saumea-brand-match .course-card>.eyebrow{margin:0 0 10px}
body.saumea-brand-match .course-card h2{font-size:1.65rem;line-height:1.2;margin:0 0 12px}
body.saumea-brand-match .course-card>p:not(.eyebrow){font-size:.95rem;line-height:1.55;color:var(--saumea-muted);margin:0 0 18px}
body.saumea-brand-match .course-card strong{color:var(--saumea-ink);font:600 1.1rem/1.4 var(--saumea-body);margin:0 0 14px}
body.saumea-brand-match .course-card .button{margin:0;width:100%;min-height:44px}
@media(max-width:580px){
 body.saumea-brand-match .school-page{padding-top:2.5rem}
 body.saumea-brand-match .course-catalogue{gap:16px;margin-top:24px}
 body.saumea-brand-match .course-card{padding:20px}
 body.saumea-brand-match .course-card h2{font-size:1.5rem}
}

/* Optional course covers share a stable crop without stretching the source. */
body.saumea-brand-match .course-card .course-cover{display:block;width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:16/10;object-fit:cover;margin:-24px -24px 20px;border-radius:13px 13px 0 0}
body.saumea-brand-match .course-detail .course-cover-detail{display:block;width:100%;max-width:960px;height:auto;max-height:420px;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin:0 0 24px}
@media(max-width:580px){body.saumea-brand-match .course-card .course-cover{width:calc(100% + 40px);margin:-20px -20px 18px}}

body.saumea-brand-match .course-catalogue{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}

#supportRoot .support-inquiry{max-width:760px;margin-top:20px}
#supportRoot #guestInquiry{display:grid;gap:6px}
#supportRoot #guestInquiry .button{justify-self:start;margin-top:10px}
#supportRoot #guestInquiry .field-hint{color:var(--saumea-muted);font-size:.85rem}
#supportRoot #guestInquiry a{color:var(--saumea-accent)}
