/* V199 — Global readable/professional design system. Visual-only; preserves content, links, images and workflows. */
:root{
  --sv-ink:#17243b;
  --sv-body:#33425b;
  --sv-muted:#66758d;
  --sv-border:#dce5f0;
  --sv-purple:#5a2bcf;
  --sv-orange:#f28b2d;
  --sv-blue:#2457d6;
  --sv-green:#128653;
  --sv-surface:#ffffff;
  --sv-soft:#f6f8fc;
}
html{font-size:16px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:16px!important;line-height:1.55!important;color:var(--sv-ink);overflow-x:hidden;}
button,input,select,textarea{font:inherit;}
input,select,textarea{font-size:16px!important;line-height:1.4!important;}
img,svg,video{max-width:100%;}
img{height:auto;}
a{color:var(--sv-blue);text-underline-offset:2px;}
p{font-size:16px!important;line-height:1.55!important;color:var(--sv-body);}
small{font-size:13px!important;line-height:1.45!important;}
label{font-size:14px!important;line-height:1.4!important;font-weight:700;}
h1{font-size:clamp(28px,3vw,36px)!important;line-height:1.15!important;letter-spacing:-.018em!important;color:var(--sv-ink);}
h2{font-size:24px!important;line-height:1.25!important;letter-spacing:-.01em!important;color:var(--sv-ink);}
h3{font-size:18px!important;line-height:1.3!important;color:var(--sv-ink);}
h4{font-size:16px!important;line-height:1.35!important;color:var(--sv-ink);}
button,[role="button"],input[type="submit"],input[type="button"]{min-height:42px;font-size:15px!important;font-weight:750;}
button,a.btn,.btn,.cta,.primary,.secondary{line-height:1.25!important;}
/* Common navigation/action controls: bright, readable and consistent. */
nav a,.nav a,.header a,.topbar a,.tabs a,.tab,.action-link{font-size:14px!important;line-height:1.25!important;}
.tabs a,.tabs button,.tab,.nav-tab{min-height:42px!important;padding:9px 14px!important;font-weight:750!important;}
/* Make muted text remain readable instead of grey-on-grey. */
.muted,.text-muted,.secondary-text,.help-text,.meta,.description{color:#5f6e86!important;}
/* Brand accents: use the StudentsVidya purple/orange family without neon saturation. */
.eyebrow,.kicker,.section-kicker,.tagline{color:var(--sv-purple)!important;}
.brand-accent,.highlight,.accent{color:var(--sv-purple);}
.brand-orange{color:var(--sv-orange);}
/* Cards stay white and crisp; borders/shadows are subtle. */
.card,.panel,.box,.section-card,.tool,.domain,.list-card{border-color:var(--sv-border)!important;background:var(--sv-surface);}
/* Never distort the approved hero/artwork. */
.hero img,.hero-image img,.sv183-hero-image img,.sv183-hero img,.hero-art img,.hero-media img{object-fit:contain!important;max-width:100%;}
/* Long words/URLs must not break mobile layouts. */
p,a,span,small,h1,h2,h3,h4,label,button{overflow-wrap:anywhere;}
/* Keep touch targets comfortable. */
a,button,input,select,textarea{touch-action:manipulation;}
@media(max-width:760px){
  body{font-size:15.5px!important;line-height:1.55!important;}
  p{font-size:15.5px!important;}
  h1{font-size:28px!important;line-height:1.17!important;}
  h2{font-size:21px!important;}
  h3{font-size:17px!important;}
  small{font-size:13px!important;}
  button,[role="button"],input[type="submit"],input[type="button"]{min-height:44px;font-size:15px!important;}
  .tabs{overflow-x:auto;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
}
@media(max-width:390px){
  h1{font-size:27px!important;}
  h2{font-size:20px!important;}
  .tabs a,.tabs button,.tab,.nav-tab{font-size:13.5px!important;padding-inline:11px!important;}
}
