/* Shared visual finish; content and exam behaviour stay in their own modules. */
:root{--muted:#5e6d64}
h1,h2,h3{text-wrap:balance}
.page-intro h1,.article-header h1{overflow-wrap:break-word}
.btn{border-radius:10px;min-height:44px}
.btn:not(.light){box-shadow:0 4px 12px #173b3510}
.section-heading h2{line-height:1.28}
.home-hero{background:radial-gradient(ellipse at 90% 15%,#e8efdc80,transparent 62%)}
.home-hero .eyebrow{display:inline-block;background:#eaf1dd;border:1px solid #d8e4c8;border-radius:20px;padding:6px 12px;line-height:1.6}
.sp-partner{box-shadow:0 12px 34px #173b3508}
.sp-free-tag{background:#fff4d5;border-color:#e9dbaf;color:#726030}
.entry-card,.sv-card,.nf-card,.knowledge-card{border-radius:15px;box-shadow:0 5px 20px #173b3505}
.home-student-benefits .entry-card{background:linear-gradient(145deg,#fff,#f0f5e7)}
.entry-icon,.sv-icon{border-radius:14px}
.exam-program-option,.exam-mode-card{border-radius:14px}
.exam-program-name{display:flex;align-items:center;gap:12px}
.exam-program-mark{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#e4eee4;color:#3c715c}
[data-exam-program="HSA"] .exam-program-mark{background:#eee9f5;color:#6d577e}
[data-exam-program="TSA"] .exam-program-mark{background:#fff0d5;color:#8b692d}
.exam-mode-price strong{font-variant-numeric:tabular-nums}
.exam-partner-offer{background:linear-gradient(145deg,#fff9e9,#eff4e3)}
.knowledge-table,.article-content .table-scroll,.st-rich-table{max-width:100%;border:1px solid #d5dfcc;border-radius:10px;background:#fff;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#91aa80 #edf2e5}
.article-content table,.st-rich table{margin:0}
.article-content th{background:#e9f0df;color:#214b3e;font-weight:650}
.article-content td,.article-content th{line-height:1.75;padding:13px 15px}
.article-content tr:nth-child(2n+1) td{background:#f7f9f1}
.knowledge-content figure>img,.sv-content figure img{border-radius:10px}
.article-content{overflow-wrap:break-word}
.article-content a{overflow-wrap:anywhere}
.table-scroll-guide{font-size:12px!important;line-height:1.7!important;color:var(--green);font-weight:600;margin:18px 0 8px!important}
.table-scroll-guide[hidden]{display:none}
.ct-form,.st-auth,.st-panel{box-shadow:0 7px 26px #173b3506}
@media(hover:hover) and (pointer:fine){
  .sv-card,.nf-card,.knowledge-card,.exam-program-option{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
  .sv-card:hover,.nf-card:hover,.knowledge-card:hover,.exam-program-option:hover{transform:translateY(-3px);box-shadow:0 12px 26px #173b350d}
}
@media(max-width:850px){
  .page-intro>p,.section-heading p{font-size:15px;line-height:1.8}
  .sv-section>.article-content,.knowledge-content,.nf-article-content{font-size:16px;line-height:1.9}
  .sv-toc a,.knowledge-mobile-toc,.knowledge-mobile-toc .toc a{font-size:13px}
  .table-scroll:focus-visible,.knowledge-table:focus-visible{outline:2px solid #759b3b;outline-offset:3px}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 36px)}
  .page-intro{padding-top:30px;padding-bottom:30px}
  .page-intro h1{font-size:clamp(31px,8.5vw,39px);line-height:1.25;letter-spacing:-1px}
  .page-intro>p{font-size:15px;line-height:1.8}
  .section-heading h2{font-size:clamp(26px,7.2vw,31px);line-height:1.32}
  .section-heading p{font-size:14px;line-height:1.8}
  .header-actions{gap:2px}
  .header-actions .icon-btn{width:44px;height:44px;padding:10px;flex-shrink:0}
  .header-actions .header-account{min-height:44px;padding:7px 9px}
  .header-inner{gap:6px}
  .topics{gap:7px;flex-wrap:wrap}
  .chip,.knowledge-pagination>a,.nf-page-number,.nf-page-step{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
  .text-link{white-space:normal;line-height:1.65}
  .btn{min-height:46px;font-size:13px}
  .home-free-trial{padding-top:20px}
  .home-hero{padding-top:30px;padding-bottom:36px}
  .home-hero h1{font-size:clamp(34px,10.4vw,43px);letter-spacing:-1.4px;line-height:1.17}
  .home-hero h1 em{letter-spacing:-1.3px}
  .home-hero>div:first-child>p:not(.home-service-note){font-size:15px;line-height:1.8}
  .home-hero>div:first-child>.home-service-note,.home-benefit-note{font-size:12px;line-height:1.8}
  .home-hero .hero-buttons{align-items:stretch;gap:10px}
  .home-hero .hero-buttons .btn{font-size:13px;min-height:46px}
  .home-programs>span,.home-programs>small{font-size:11px}
  .home-report{transform:none}
  .home-report .board-content{padding:22px 18px}
  .home-report-kicker{font-size:10px;letter-spacing:.6px}
  .home-report-summary>div>span{font-size:12px}
  .home-report-summary{gap:14px}
  .home-report-summary strong{font-size:38px}
  .home-report-summary .home-correct-total{padding-left:12px}
  .home-report-parts>div{grid-template-columns:92px minmax(0,1fr) 74px;gap:8px}
  .home-report-parts>div>span,.home-report-parts strong{font-size:12px}
  .home-report-parts strong small{font-size:10px}
  .home-report .home-report-disclaimer{font-size:11px;line-height:1.75}
  .home-report .board-footer,.home-report-note{font-size:11px}
  .home-report-note{right:0}
  .home-student-benefits .entry-card p{font-size:14px;line-height:1.8}
  .sp-action h2,.sp-partner-compact .sp-action h2{font-size:26px;line-height:1.32;letter-spacing:-.6px}
  .sp-action-heading>p,.sp-identity>p,.sp-partner-compact .sp-identity>p{font-size:14px;line-height:1.8}
  .sp-schedule,.sp-scope{font-size:12px;line-height:1.8}
  .sp-link-note,.sp-partner-compact .sp-link-note{font-size:11px}
  .sp-steps strong,.sp-partner-compact .sp-steps strong{font-size:11px;line-height:1.65}
  .sp-cta.btn{font-size:13px;min-height:46px}
  .sp-songpa-brand>small{font-size:10px}
  .exam-program-options{gap:10px}
  .exam-program-options .exam-program-option{display:grid;grid-template-columns:72px minmax(0,1fr);gap:5px 13px;padding:18px;min-height:0}
  .exam-program-option>.card-category{display:none}
  .exam-program-name{grid-column:1;grid-row:1/3;align-self:center;margin:0;font-size:25px;flex-direction:column;align-items:flex-start;gap:8px}
  .exam-program-mark{width:32px;height:32px;border-radius:10px}
  .exam-program-title{grid-column:2;margin:0;font-size:13px;line-height:1.6}
  .exam-program-parts{grid-column:2;font-size:12px;line-height:1.65;margin:0}
  .exam-choice-state{grid-column:1/-1;justify-self:end;margin:5px 0 0;font-size:12px}
  .exam-entrypoints .exam-mode-card p{font-size:13px}
  .exam-entrypoints .exam-mode-choice{font-size:12px;min-height:46px}
  .exam-mode-price small,.exam-partner-offer .exam-partner-note{font-size:12px}
  .exam-partner-offer p{font-size:14px}
  .knowledge-card .article-body>p,.nf-card>p{font-size:14px;line-height:1.8}
  .knowledge-card h3,.nf-card h3{font-size:20px;line-height:1.45}
  .card-meta,.nf-meta,.article-byline,.nf-reader .article-byline{font-size:12px;line-height:1.7;gap:8px 12px}
  .knowledge-read,.nf-meta .text-link{font-size:12px;min-height:36px}
  .knowledge-art-category,.knowledge-art-level{font-size:11px}
  .article-header h1,.nf-reader .article-header h1{font-size:29px;line-height:1.4;letter-spacing:-.6px}
  .knowledge-content,.nf-article-content,.sv-section>.article-content{font-size:16px;line-height:1.9}
  .knowledge-content h2,.knowledge-content h3,.sv-section>.article-content h3{line-height:1.5}
  .knowledge-table table{font-size:14px}
  .knowledge-table-hint,.nf-date-note,.nf-source-reference{font-size:12px;line-height:1.8}
  .knowledge-mobile-toc summary{min-height:28px;font-size:14px}
  .sv-brief p,.sv-card p{font-size:14px;line-height:1.8}
  .sv-brief span{font-size:10px}
  .sv-toc a{font-size:12px;min-height:44px}
  .ct-field input,.ct-field select,.ct-field textarea,.st-field input,.st-field textarea,.st-short-answer input,.search-field input,.nf-tools select{font-size:16px;min-height:48px}
  .ct-field label,.st-field>label{font-size:14px}
  .ct-help,.ct-small,.ct-sidebar-note,.ct-contact-card>.ct-small,.st-help{font-size:12px;line-height:1.8}
  .ct-contact-card>p,.ct-partner-card>p,.ct-partner-strengths span,.ct-partner-trial p{font-size:14px;line-height:1.8}
  .ct-partner-strengths strong{font-size:14px}
  .ct-partner-brand>span{font-size:12px}
  .ct-partner-card .text-link{font-size:13px;line-height:1.8}
  .st-choice{font-size:14px;line-height:1.75;min-height:48px}
  .st-prompt,.st-rich{font-size:16px;line-height:1.85}
  .st-choice-body>.st-rich{font-size:14px}
  .st-tabs button,.st-auth-tabs button{min-height:44px;font-size:13px}
}
@media(max-width:360px){
  .header-inner>.brand{font-size:17px;gap:4px}
  .header-inner>.brand .brand-symbol,.header-inner>.brand .brand-symbol>svg{width:27px;height:27px}
  .header-actions .header-account{padding-inline:6px;font-size:10px}
  .header-actions{gap:0}
  .home-report-summary strong{font-size:33px}
  .home-report-summary .home-correct-total strong{font-size:23px}
  .home-report-parts>div{grid-template-columns:83px minmax(0,1fr) 67px;gap:6px}
  .home-report-parts>div>span,.home-report-parts strong{font-size:11px}
  .exam-entrypoints .exam-mode-card{padding-inline:10px}
  .exam-entrypoints .exam-mode-card h3{font-size:17px}
  .exam-entrypoints .exam-mode-choice{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.sv-card,.nf-card,.knowledge-card,.exam-program-option{transition:none}.sv-card:hover,.nf-card:hover,.knowledge-card:hover,.exam-program-option:hover{transform:none}}
.public-preview-note{margin-top:22px;margin-bottom:6px;padding:14px 20px;border:1px solid #dce4c8;border-radius:12px;background:#f0f4e5;font-size:14px;line-height:1.7}
.public-preview-note strong{color:#173b35}
