/* V198 — Stable cross-browser UI cleanup. No content or workflow replacement. */
:root{
  --sv198-ink:#17243b;
  --sv198-muted:#607089;
  --sv198-border:#dce4ee;
  --sv198-purple:#5a2bcf;
  --sv198-orange:#f28b2d;
  --sv198-blue:#2457d6;
}
html{font-size:16px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;}
body{font-size:16px!important;line-height:1.5!important;color:var(--sv198-ink);overflow-x:hidden;}
img{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}

/* Landing/service pages: clear hierarchy without oversized headlines. */
.portalPage .svPageTitle h1,
.portalPage main>section:first-child h1,
.portalPage .detail-hero h1,
.portalPage .landingHero h1,
.portalPage .hero h1,
.portalPage .pageHero h1{
  font-size:clamp(28px,3.2vw,36px)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  margin:0 0 10px!important;
}
.portalPage .svPageTitle{padding:18px 18px 8px!important;}
.portalPage .svPageTitle p,
.portalPage .detail-hero p,
.portalPage .landingHero p,
.portalPage .pageHero p{font-size:16px!important;line-height:1.55!important;color:var(--sv198-muted)!important;max-width:760px;}
.portalPage h2{font-size:24px!important;line-height:1.22!important;}
.portalPage h3{font-size:18px!important;line-height:1.25!important;}

/* Auth: make both Login/Create Account controls unmistakably readable. */
.authShell .authCard{max-width:900px!important;margin-inline:auto!important;}
.authShell .authTabs,.authShell .employerAuthTabs{display:flex!important;gap:8px!important;padding:5px!important;background:#f5f7fb!important;border:1px solid var(--sv198-border)!important;border-radius:12px!important;}
.authShell .authTabs button,.authShell .employerAuthTabs button{
  flex:1 1 0!important;min-width:0!important;min-height:46px!important;padding:10px 16px!important;
  border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;
  color:#42536c!important;font-size:15px!important;font-weight:800!important;line-height:1.2!important;
  white-space:nowrap!important;cursor:pointer!important;
}
.authShell .authTabs button.active,.authShell .employerAuthTabs button.active{background:#fff!important;color:var(--sv198-purple)!important;border-color:#d9dfea!important;box-shadow:0 2px 8px rgba(20,35,60,.08)!important;}
.authShell .authSwitchHint{font-size:15px!important;color:#5b6a80!important;margin:14px 0 0!important;}
.authShell .authSwitchHint button{display:inline!important;padding:0!important;border:0!important;background:none!important;color:var(--sv198-purple)!important;font-size:15px!important;font-weight:800!important;text-decoration:underline;text-underline-offset:2px;cursor:pointer!important;}
.authShell .formSectionTitle,.authShell .loginIntro h2{font-size:22px!important;line-height:1.25!important;}
.authShell label{font-size:14px!important;font-weight:700!important;}
.authShell input,.authShell select,.authShell textarea{min-height:46px!important;font-size:16px!important;line-height:1.35!important;}
.authShell .primaryAuthBtn{min-height:46px!important;font-size:15px!important;font-weight:800!important;}

/* Remove obsolete personalization UI if an old JS bundle is accidentally served. */
.authShell [data-personalisation],
.authShell .personalisation,
.authShell .personalization{display:none!important;}

/* Shared tabs: medium rectangular controls, not tiny pills. */
.project-tabs,.tabs,.tool-tabs,.authTabs,.employerAuthTabs{min-width:0;}
.project-tabs button,.tabs a,.tool-tab{min-height:42px!important;padding:9px 14px!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;}

/* Keep hero artwork dimensions stable across browsers. */
.sv183-hero-image{min-width:0!important;overflow:hidden!important;}
.sv183-hero-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center bottom!important;}

/* Prevent legacy rules from creating giant section headings. */
.portalPage .portalContent h1{font-size:clamp(28px,3.2vw,36px)!important;line-height:1.12!important;}
.portalPage .portalContent h2{font-size:24px!important;}
.portalPage .portalContent h3{font-size:18px!important;}

@media(max-width:760px){
  body{font-size:15px!important;}
  .portalPage .svPageTitle{padding:14px 14px 6px!important;}
  .portalPage .svPageTitle h1,
  .portalPage main>section:first-child h1,
  .portalPage .detail-hero h1,
  .portalPage .landingHero h1,
  .portalPage .hero h1,
  .portalPage .pageHero h1,
  .portalPage .portalContent h1{font-size:28px!important;line-height:1.14!important;}
  .portalPage h2,.portalPage .portalContent h2{font-size:21px!important;}
  .authShell .authTabs,.authShell .employerAuthTabs{overflow:visible!important;}
  .authShell .authTabs button,.authShell .employerAuthTabs button{font-size:14px!important;padding:9px 10px!important;min-height:44px!important;}
  .authShell .authSwitchHint,.authShell .authSwitchHint button{font-size:14px!important;}
}
@media(max-width:390px){
  .authShell .authTabs button,.authShell .employerAuthTabs button{font-size:13px!important;padding-inline:7px!important;}
}
/* Direct public landing-page layouts use the same medium heading scale. */
.p-hero h1,.sv130-hero h1,.tool-hero h1,.hero h1,.detail-hero h1,.landing-hero h1{font-size:clamp(28px,3.2vw,38px)!important;line-height:1.12!important;letter-spacing:-.02em!important;}
.p-hero p,.sv130-hero .lead,.tool-hero p,.hero>p,.detail-hero p{font-size:16px!important;line-height:1.55!important;}
.section-head h2,.tool-head h2,.p-section .section-head h2{font-size:24px!important;line-height:1.22!important;}
@media(max-width:760px){.p-hero h1,.sv130-hero h1,.tool-hero h1,.hero h1,.detail-hero h1,.landing-hero h1{font-size:28px!important}.section-head h2,.tool-head h2,.p-section .section-head h2{font-size:21px!important}}
