/* Shared UzemGO identity. Keep learning content separate from visual theme. */
@font-face{font-family:'UzemGO Sans';src:url('/assets/brand/uzemgo-sans-regular.woff') format('woff');font-weight:400 500;font-display:swap}
@font-face{font-family:'UzemGO Sans';src:url('/assets/brand/uzemgo-sans-bold.woff') format('woff');font-weight:600 900;font-display:swap}
:root{--ink:#10233f;--muted:#52647a;--blue:#005bd7;--deep:#0045a3;--red:#ce1e30;--paper:#f7faff;--line:#dce6f3;--soft:#eaf3ff;--radius:22px}
body{font-family:'UzemGO Sans','DejaVu Sans',Arial,sans-serif;background:var(--paper)}
h1,h2,h3{font-family:inherit;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
img{max-width:100%}.wrap{max-width:1240px}.narrow{max-width:860px}
.topline{background:#eff6ff;color:var(--deep);font-size:12px;letter-spacing:0;padding:8px 16px;font-weight:700}
.site-header{background:#fff}.nav{min-height:90px}.brand{flex-shrink:0}.brand img{width:172px;height:auto}.navlinks{gap:24px}.navlinks a{font-size:13px}.navlinks a:hover{color:var(--blue)}
.button,button.primary{border-radius:12px;min-height:48px;padding:13px 20px;transition:background .15s,box-shadow .15s}
.button.secondary:hover{background:var(--soft);color:var(--deep);border-color:#b4d0f4}.button.ghost:hover{background:var(--soft);color:var(--deep)}
.hero{padding:54px 0 40px;background:linear-gradient(115deg,#fff 10%,#eef5ff 100%)}
.hero-grid{grid-template-columns:1fr 1fr;gap:42px}.hero h1{font-size:clamp(36px,4.1vw,56px);line-height:1.13;margin-bottom:24px}.hero h1 em{font-weight:700}
.hero .intro{font-size:16px;max-width:540px;line-height:1.8}.hero .button:not(.secondary){background:var(--red);box-shadow:0 6px 16px #ce1e3015}.hero .button:not(.secondary):hover{background:#ac1526}
.hero-visual{min-height:360px}.hero-visual img{height:350px;border-radius:28px;box-shadow:0 12px 36px #10233f0d}.visual-top{top:18px;left:18px;font-size:10px;letter-spacing:.07em;border:0;border-radius:10px;padding:10px 14px;color:var(--deep)}
.visual-bottom{margin:-35px 20px 0;padding:18px;border-radius:16px;border:1px solid var(--line);box-shadow:0 12px 30px #10233f0b}.visual-bottom b{font-size:14px}.visual-bottom p{font-size:11px}.step-circle{background:var(--soft);color:var(--blue)}
.hero-foot{font-size:12px;line-height:1.7}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:.08em}
.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:24px;padding-bottom:24px;background:transparent}.stat-strip strong{font-size:25px;color:var(--deep)}.stat-strip span{font-size:12px}
.course-card{border-radius:18px;box-shadow:0 4px 18px #10233f04;min-width:0}.course-card h3{font-size:20px;line-height:1.35;overflow-wrap:anywhere}.course-card:hover{border-color:#8bb8f2;box-shadow:0 10px 24px #005bd70b}.course-top{flex-wrap:wrap;gap:6px}.course-card .card-bottom{font-size:12px;gap:8px}
.badge{border-radius:7px}.badge.blue{background:var(--soft);color:var(--deep)}.pill[aria-pressed=true]{background:var(--blue);border-color:var(--blue)}.pill{min-height:44px}.pill:hover{border-color:#87b1ea}
.soft-panel{background:#fff}.dark-panel{background:#102a4e;border-radius:22px}.dark-panel h2{color:white}.form-card,.notice{border-radius:14px}.form-card{min-width:0}.form-card h3{overflow-wrap:anywhere}
.page-hero{padding:12px 0 32px}.page-hero h1{font-size:clamp(30px,3.6vw,46px);line-height:1.2}.page-hero .intro{line-height:1.8}.callout{background:#edf5ff;border-left:3px solid var(--blue);padding:20px;border-radius:0 14px 14px 0}
.editorial-feature{display:grid;grid-template-columns:.95fr 1fr;gap:44px;align-items:center;padding-top:52px;padding-bottom:16px}.feature-art{position:relative;min-width:0}.feature-art img{display:block;width:100%;height:300px;object-fit:cover;border-radius:24px}.feature-number{display:none}.feature-copy h2{font-size:34px;line-height:1.25;margin-bottom:18px}.feature-copy p{color:var(--muted);font-size:15px}.feature-copy .small{font-size:12px;margin-top:16px}
.editorial-course{display:grid;grid-template-columns:.75fr 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:22px;margin:4px 0 32px;padding:24px;align-items:center}.editorial-course img{width:100%;height:240px;object-fit:cover;border-radius:16px}.editorial-course h2{font-size:32px}.editorial-course p{font-size:14px}.editorial-course .actions a:not(.button){font-size:13px}
.question-card{background:#fff;border-radius:20px;border-color:var(--line);min-width:0}.question-head{align-items:flex-start}.question-head h2{font-size:25px;line-height:1.35}.question-head .badge{flex-shrink:0}
.question-card figure{margin:0 0 20px}.question-card figure .q-image{display:block;max-width:100%;width:auto;height:auto;max-height:360px;object-fit:contain;margin:16px auto;border-radius:12px}.question-card .question-figure .q-image{width:100%;max-height:420px;background:#fff}.question-card figure figcaption{font-size:12px;line-height:1.6;color:var(--muted)}.question-text{line-height:1.8}.question-card textarea{font-size:16px;min-height:155px}
.question-card .solution{background:#f4f9ff;padding:24px;border-top:3px solid var(--blue);border-radius:14px}.q-nav button{min-width:40px;min-height:40px}.score-options button{min-height:44px}
.faq{border:0;display:grid;gap:12px}.faq details{padding:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font-size:15px;line-height:1.6;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--blue);font-size:20px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq details[open]{border-color:#b2cdf0}.faq details p{font-size:14px;padding:0 22px 20px;margin:0;line-height:1.8}
.site-footer{background:#10233f;color:#fff;padding:44px 0 24px;border-top:0}.footer-top{gap:40px}.footer-brand{display:inline-block}.footer-logo{display:block;width:172px;height:auto;background:none;padding:0;border:0;border-radius:0;filter:brightness(0) invert(1)}.footer-top p{font-size:13px;color:#c9d6e8;line-height:1.85;max-width:500px;margin:18px 0 0}.footer-top .footer-tagline{font-size:15px;font-weight:700;color:#fff}.footer-links{gap:12px 24px;max-width:370px;align-content:start}.site-footer a{color:#e6efff;text-decoration:none}.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.site-footer a:hover{text-decoration:underline;color:#fff}.footer-bottom{border-color:#ffffff24;font-size:11px;color:#bacce3;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;line-height:1.8;padding-top:20px;margin-top:26px}
.filters label{min-width:0}.filters input,.filters select{font-size:16px}.steps-grid article{border-top-color:#a6c8f3}.steps-grid h3{font-size:20px;line-height:1.35}
@media(max-width:1000px){.hero-grid{gap:28px}.hero h1{font-size:40px}.nav{gap:20px}.navlinks{gap:16px}.navlinks a{font-size:12px}.course-layout{grid-template-columns:minmax(0,1fr) 260px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{padding-left:20px;padding-right:20px}.nav{padding-top:18px;padding-bottom:14px;gap:16px;min-height:0}.brand img{width:146px}.navlinks{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.navlinks a{font-size:12px;min-height:38px;display:inline-flex;align-items:center}.navlinks .nav-hide{display:inline-flex}.hero{padding:32px 0}.hero-grid{grid-template-columns:1fr;gap:26px}.hero h1{font-size:clamp(32px,7.6vw,44px)}.hero .intro{font-size:15px}.hero .actions{gap:10px}.hero .button{font-size:12px;padding:12px 16px}.hero-visual{min-height:0}.hero-visual img{height:285px;border-radius:22px}.visual-top{font-size:9px;top:14px;left:14px}.visual-bottom{margin:-24px 12px 0;padding:15px;gap:10px}.visual-bottom b{font-size:13px}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:22px;padding-bottom:22px}.stat-strip strong{font-size:24px}.stat-strip span{font-size:12px}.editorial-feature{grid-template-columns:1fr;gap:24px;padding-top:36px}.feature-art img{height:240px}.feature-copy h2{font-size:29px}.editorial-course{grid-template-columns:1fr;padding:18px;gap:20px}.editorial-course img{height:220px}.editorial-course h2{font-size:28px}.course-layout{grid-template-columns:1fr}.course-card h3{font-size:18px}.course-card{padding:20px;min-height:210px}.question-card{padding:22px 18px}.question-head h2{font-size:23px}.question-text{font-size:16px}.question-card .solution{padding:20px 14px}.question-actions{gap:8px}.question-actions .button{padding:12px;font-size:12px}.page-hero h1{font-size:31px}.page-hero .intro{font-size:15px}.faq summary{padding:17px 18px;font-size:14px;gap:12px}.faq details p{padding:0 18px 18px;font-size:13px}.site-footer{padding:36px 0 24px}.footer-top{gap:22px}.footer-logo{width:164px}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none;gap:0 18px}.footer-links a{font-size:12px}.footer-bottom{font-size:11px;gap:8px}.topline{font-size:10px}.course-top{margin-bottom:16px}}
@media(max-width:480px){.course-grid{grid-template-columns:1fr}.course-card{min-height:180px}.course-card h3{font-size:20px}.form-grid{grid-template-columns:1fr}.grade-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grade-pills .pill{text-align:center;padding:9px 6px;font-size:12px}.hero .actions{align-items:stretch}.hero .actions .button{flex:1 1 100%}.filters{align-items:stretch}.filters label{width:100%}.hero-visual img{height:250px}.footer-top p{font-size:12px}.question-head{gap:8px}.question-head h2{font-size:21px}.stat-strip strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-card,.button,button.primary{transition:none}}
@media print{body{background:#fff}.site-footer,.site-header,.topline{display:none!important}.question-card,.soft-panel,.outcome{box-shadow:none}.question-card .solution{background:#fff}}

/* The learning hub uses the same brand layer as courses and assessments. */
:root{--go:#005bd7}
.app-sidebar~main .wrap,.app-footer .wrap{padding-left:0;padding-right:0}
.hub-wrap>.section>.wrap{width:100%}
.app-top>.top-caption{margin-right:auto}.app-top>a:has(.mobile-logo){display:none}
.app-hero .hero-tag{color:var(--deep)}.app-hero .hero-tag:before{background:var(--red)}
.app-hero .hero-actions .button:not(.secondary){background:var(--red)}
.app-hero .hero-actions .button:not(.secondary):hover{background:#ac1526}
.app-footer .footer-links{display:flex;gap:12px 24px;flex-wrap:wrap}
.note-line{flex-wrap:wrap}.hub-heading>div,.panel,.stat-card,.publisher-mini{min-width:0}
@media(max-width:800px){.app-top>a:has(.mobile-logo){display:block}.app-top .mobile-logo{width:128px;height:auto}.app-footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}}
@media(max-width:540px){.app-hero h1{font-size:32px}.app-hero p{max-width:100%}.app-hero .buddy{position:static;width:135px;grid-row:2;margin:10px auto 0}.app-hero>div{z-index:1}.app-hero .hero-actions{display:grid;grid-template-columns:1fr}.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:16px 10px}.hub-heading{align-items:flex-start;flex-wrap:wrap}.hub-heading>a{min-height:32px;display:inline-flex;align-items:center}}
@media(max-width:480px){.publisher-mini{display:flex;flex-direction:column;justify-content:center;gap:7px;text-align:center}.publisher-mini img,.publisher-mini .logo-fallback{margin:0;width:72px;height:38px}.publisher-mini strong,.publisher-mini span{max-width:100%;overflow-wrap:anywhere}}
