/* CAT homepage, practice columns and compact mock listing. No player/payment rules. */
body:is([data-page="home"],[data-page="practice"],[data-page="mocks"]) .header-inner{min-height:76px}
body:is([data-page="home"],[data-page="practice"],[data-page="mocks"]) .nav a{padding-top:25px;padding-bottom:25px}

.home-compact{padding:26px 0 20px}
.home-compact>.container{position:relative;max-width:1260px}
.home-overview{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);align-items:center;gap:52px}
.home-compact .hero-copy{padding:0;min-width:0}
.home-compact .hero-copy>.kicker{font-size:10px;margin:0 0 13px}
.home-compact h1{font-size:clamp(34px,3.7vw,48px);line-height:1.08;max-width:610px}
.home-compact h1 span{max-width:590px}
.home-compact .hero-intro{font-size:14px;line-height:1.65;margin:15px 0 13px;max-width:525px}
.home-compact .subject-strip{display:flex;margin:0;gap:7px}
.home-compact .subject-strip a{padding:4px 10px;font-size:10px}
.home-start{display:grid;gap:14px;min-width:0}
.home-compact .countdown-card{padding:16px 20px;border-radius:15px;box-shadow:0 3px 0 #b1c5dc70,0 8px 20px #0001}
.home-compact .countdown-card strong{font-size:19px}
.home-compact .countdown-card .kicker{font-size:8px;margin-bottom:5px;display:block}
.home-compact .day-counter{min-width:76px;padding-left:17px}
.home-compact .day-counter b{font-size:36px}
.home-compact .countdown-links{margin-top:10px;padding-top:9px;font-size:10px}
.home-compact .diagnostic-ribbon{padding:12px 17px;border-radius:13px;font-size:17px;line-height:1.3;margin:0;border-color:#dcc192;box-shadow:inset 0 1px 0 #fff,0 6px 20px #0001}
.home-compact .diagnostic-ribbon .diagnostic-label{font-size:8px;letter-spacing:.13em;margin:0 0 5px;color:#79603c}
.home-compact .diagnostic-ribbon>span:last-child{font-size:11px;margin-top:5px;display:flex;justify-content:space-between;gap:12px}
.home-compact .diagnostic-ribbon b{font-size:19px;line-height:1}
.home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:25px}
.home-path{display:flex;flex-direction:column;min-width:0;padding:19px 22px 17px;border:1px solid #e1e6ee;border-radius:17px;background:linear-gradient(135deg,#fff,#f6f8fb);box-shadow:0 8px 24px #06192b20;transition:transform .15s,border-color .15s}
.home-path:hover{transform:translateY(-3px);border-color:#e4bd75}
.home-path-top{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.home-path-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:#eaf1f9;color:#3a6188}
.home-path-icon svg{width:19px;height:19px}
.home-path:nth-child(2) .home-path-icon{background:#fcf0db;color:#93651f}
.home-path:nth-child(3) .home-path-icon{background:#ebf4f1;color:#31675e}
.home-path .step-no{font-size:8px;font-weight:700;letter-spacing:.075em;color:#687c93}
.home-path-arrow{margin-left:auto;color:#8b9aab;font-size:17px}
.home-path h2{font-size:25px;line-height:1.15;color:var(--ink);letter-spacing:-.035em}
.home-path h3{font-size:13px;line-height:1.4;letter-spacing:-.01em;margin-top:6px;color:#334e6c}
.home-path p{font-size:12px;line-height:1.6;margin:7px 0 11px;color:#63758a}
.home-path-link{display:flex;justify-content:space-between;gap:12px;margin-top:auto;font-size:11px;font-weight:700;color:#8c6429}
.home-reassurance{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:17px}
.home-reassurance>span{color:#efd3a1;font-size:11px;font-weight:600}
.home-reassurance p{font-size:11px;color:#c6d2df;text-align:right}
.home-faq{padding-top:0}
.home-faq h2{font-size:28px;margin-bottom:24px}
.home-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.home-faq details{border:1px solid var(--line);border-radius:13px;padding:19px 21px;background:#fafbfd}
.home-faq summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.5}
.home-faq details p{font-size:13px;margin-top:13px;line-height:1.8}
.home-faq details a{text-decoration:underline;text-underline-offset:3px;color:#875e23}

body[data-page="practice"] .page-head{padding:25px 0 19px;background:#f7f8fa}
body[data-page="practice"] .page-head .kicker{margin-bottom:9px;font-size:9px}
body[data-page="practice"] .page-head h1{font-size:31px}
body[data-page="practice"] .page-head p{font-size:13px;margin-top:10px;max-width:800px}
body[data-page="practice"] #main>.section{padding:25px 0 45px}
#practice-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px}
#practice-topics>.notice,#practice-topics>.panel{grid-column:1/-1}
#practice-topics>.topic-section{margin:0;min-width:0;padding:17px 14px 14px;background:#f3f6fa;border:1px solid #dee6ef;border-top:3px solid #567b9d;border-radius:15px}
#practice-topics>.topic-section:nth-child(2){background:#f4f8f6;border-top-color:#568b7a}
#practice-topics>.topic-section:nth-child(3){background:#faf7f0;border-top-color:#bd934c}
#practice-topics .topic-section>h2{min-height:59px;font-size:20px;line-height:1.35;letter-spacing:-.025em;margin:0 4px 15px;display:flex;align-items:center}
#practice-topics .topic-grid{grid-template-columns:minmax(0,1fr);gap:12px}
#practice-topics .topic-card{padding:19px;border-radius:12px;box-shadow:0 3px 12px #10284304;min-width:0}
#practice-topics .topic-card .tag{font-size:8px;letter-spacing:.07em}
#practice-topics .topic-card h3{font-size:19px;line-height:1.3;margin:11px 0 8px}
#practice-topics .topic-card p{font-size:12px;line-height:1.6;margin-bottom:16px}
#practice-topics .topic-card .button{width:100%;font-size:11px;padding:10px 12px;border-radius:8px}
#practice-topics:has(>.topic-section:only-child){grid-template-columns:minmax(0,1fr)}
#practice-topics>.topic-section:only-child .topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#practice-topics>.topic-section:only-child>h2{min-height:0;margin-bottom:20px}

body[data-page="mocks"] .mock-workspace{padding:24px 0 44px}
body[data-page="mocks"] .diagnostic-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;padding:20px 25px;margin-bottom:23px;border-radius:16px;border-color:#e6d4b4;background:linear-gradient(120deg,#fffbf3,#fff)}
body[data-page="mocks"] .diagnostic-card .kicker{font-size:9px;margin-bottom:8px}
body[data-page="mocks"] .diagnostic-card h1{font-size:28px;line-height:1.2}
body[data-page="mocks"] .diagnostic-card p{font-size:12px;line-height:1.55;margin-top:7px}
body[data-page="mocks"] .diagnostic-card .small-note{font-size:10px;margin-top:7px!important}
body[data-page="mocks"] .diagnostic-card .button{font-size:12px;padding:12px 17px;white-space:nowrap}
body[data-page="mocks"] #mock-list .topic-section{margin-bottom:0}
body[data-page="mocks"] #mock-list h2{font-size:25px;margin-bottom:18px}
body[data-page="mocks"] #mock-list .topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body[data-page="mocks"] #mock-list .topic-card{padding:21px;min-width:0;border-radius:15px}
body[data-page="mocks"] #mock-list .tag{font-size:8px;letter-spacing:.055em;white-space:normal}
body[data-page="mocks"] #mock-list h3{font-size:22px;margin:13px 0 10px}
body[data-page="mocks"] #mock-list .topic-card p{font-size:12px;margin-bottom:18px}
body[data-page="mocks"] #mock-list .button{padding:10px 15px;font-size:11px}

@media(max-width:1100px){
  .home-overview{gap:30px}
  .home-compact h1{font-size:39px}
  .home-path{padding:17px}
  .home-path .step-no{font-size:7px;letter-spacing:.04em}
  #practice-topics{gap:14px}
  #practice-topics>.topic-section{padding:14px 10px 10px}
  #practice-topics .topic-card{padding:16px}
  #practice-topics .topic-section>h2{font-size:18px;min-height:54px}
}
@media(max-width:760px){
  body:is([data-page="home"],[data-page="practice"],[data-page="mocks"]) .header-inner{min-height:70px}
  body:is([data-page="home"],[data-page="practice"],[data-page="mocks"]) .nav a{padding:10px}
  body:is([data-page="home"],[data-page="practice"],[data-page="mocks"]) .nav.open{top:70px}
  .home-compact{padding-top:25px}
  .home-overview{grid-template-columns:1fr;gap:22px}
  .home-compact h1{font-size:36px;max-width:480px}
  .home-compact .hero-intro{font-size:13px;margin-top:13px}
  .home-compact .subject-strip{display:flex}
  .home-paths{grid-template-columns:1fr;margin-top:22px;gap:12px}
  .home-path{padding:18px 20px}
  .home-path .step-no{font-size:8px;letter-spacing:.07em}
  .home-path h2{font-size:25px}
  .home-path p{max-width:450px}
  .home-reassurance{align-items:start;flex-direction:column;gap:6px}
  .home-reassurance p{text-align:left}
  .home-faq-grid{grid-template-columns:1fr}
  #practice-topics{grid-template-columns:1fr;gap:20px}
  #practice-topics>.topic-section{padding:17px 13px 13px}
  #practice-topics .topic-section>h2{min-height:0;margin-bottom:16px;font-size:22px}
  #practice-topics>.topic-section:only-child .topic-grid{grid-template-columns:1fr}
  body[data-page="practice"] .page-head h1{font-size:28px}
  body[data-page="mocks"] .mock-workspace{padding-top:20px}
  body[data-page="mocks"] .diagnostic-card{grid-template-columns:1fr;gap:15px;padding:20px}
  body[data-page="mocks"] .diagnostic-card h1{font-size:26px}
  body[data-page="mocks"] .diagnostic-card .button{justify-self:start}
  body[data-page="mocks"] #mock-list .topic-grid{grid-template-columns:1fr;gap:14px}
}
