/* Exams.co.ke — brand: navy #0B2A6F · blue #1565C0 · red #C8102E · gold #F5B800 */
:root{
  --navy:#0B2A6F;--navy-2:#13398F;--blue:#1565C0;--sky:#EAF2FE;--red:#C8102E;--red-2:#A50D26;--gold:#F5B800;
  --ink:#0E1630;--muted:#5A6480;--line:#E2E8F2;--bg:#F6F8FC;--card:#fff;--ok:#0F8A4B;--ok-bg:#E7F6EE;
  --r:14px;--r-sm:9px;--shadow:0 1px 2px rgba(14,22,48,.06),0 6px 22px rgba(14,22,48,.07);
  --font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--navy);letter-spacing:-.01em}
h1{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:800}
h2{font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* top strip + header */
.strip{background:var(--navy);color:#cfdaf5;font-size:.8rem}
.strip .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}
.strip a{color:#fff}
.mpesa-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3DBE5A;margin-right:6px;vertical-align:middle}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;gap:22px;height:70px}
.logo img{height:46px;width:auto}
nav.main{display:flex;gap:4px;flex:1}
nav.main a{color:var(--ink);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:8px}
nav.main a:hover,nav.main a.on{background:var(--sky);color:var(--navy);text-decoration:none}
nav.main a.ai{color:var(--red)}
.hdr-actions{display:flex;gap:8px;align-items:center}
.menu-btn{display:none}
@media(max-width:960px){
  nav.main{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 16px;border-bottom:1px solid var(--line)}
  details.menu[open] + nav.main, nav.main.open{display:flex}
  .menu-btn{display:inline-flex}
  .hdr-actions .hide-sm{display:none}
  .logo img{height:38px}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:inherit;font-weight:700;
  padding:11px 18px;border-radius:10px;background:var(--navy);color:#fff;transition:.15s;text-decoration:none!important;white-space:nowrap}
.btn:hover{background:var(--navy-2)}
.btn.red{background:var(--red)}.btn.red:hover{background:var(--red-2)}
.btn.green{background:#14A44D}.btn.green:hover{background:#0F8A3F}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}.btn.ghost:hover{border-color:var(--navy)}
.btn.gold{background:var(--gold);color:var(--ink)}
.btn.lg{padding:14px 24px;font-size:1.05rem}.btn.sm{padding:7px 12px;font-size:.85rem}.btn.block{width:100%}
.btn[disabled]{opacity:.6;cursor:wait}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#2457C5 0,transparent 60%),linear-gradient(135deg,#0B2A6F 0%,#0E3A93 60%,#1565C0 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6px;background:linear-gradient(90deg,var(--red),var(--gold) 50%,var(--red))}
.hero .wrap{padding-top:64px;padding-bottom:70px;display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem)}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.lead{font-size:1.15rem;color:#D6E2FF;max-width:600px}
.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px;backdrop-filter:blur(6px)}
.hero-card h3{color:#fff}
.hero-card li{margin:.35em 0;color:#E4ECFF}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-top:40px;padding-bottom:48px}}
.searchbox{display:flex;background:#fff;border-radius:14px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.18);max-width:640px;margin:22px 0 12px}
.searchbox input{flex:1;border:0;outline:0;font:inherit;font-size:1.05rem;padding:10px 14px;min-width:0;color:var(--ink)}
.searchbox select{border:0;background:var(--sky);border-radius:10px;padding:0 10px;font:inherit;color:var(--navy);font-weight:600;margin-right:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.88rem;font-weight:600;border:1px solid rgba(255,255,255,.2)}
.chip:hover{background:rgba(255,255,255,.22);text-decoration:none}
.chip.light{background:var(--sky);color:var(--navy);border-color:transparent}
.chip.light.on{background:var(--navy);color:#fff}
.stats{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap}
.stats b{display:block;font-size:1.6rem;color:#fff}.stats span{color:#B9C9F2;font-size:.85rem}

/* sections & cards */
section.block{padding:56px 0}
section.block.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.sec-head p{margin:0}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.card.flat{box-shadow:none}
.level-tile{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;color:var(--ink);transition:.15s;position:relative;overflow:hidden}
.level-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--red)}
.level-tile:hover{border-color:var(--blue);transform:translateY(-2px);text-decoration:none;box-shadow:var(--shadow)}
.level-tile b{font-size:1.15rem;color:var(--navy)}
.level-tile span{font-size:.85rem;color:var(--muted)}

.paper{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.15s;color:var(--ink)}
.paper:hover{box-shadow:var(--shadow);border-color:#C9D6EE;text-decoration:none;transform:translateY(-2px)}
.paper .thumb{aspect-ratio:4/3;background:#EEF2F9 center top/cover no-repeat;border-bottom:1px solid var(--line);position:relative}
.paper .thumb .yr{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-weight:800;font-size:.8rem;padding:3px 9px;border-radius:6px}
.paper .thumb .ms{position:absolute;top:10px;right:10px;background:var(--gold);color:var(--ink);font-weight:700;font-size:.72rem;padding:3px 8px;border-radius:6px}
.paper .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.paper h3{font-size:.98rem;margin:0;color:var(--ink)}
.paper .meta{font-size:.8rem;color:var(--muted)}
.paper .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.price{font-weight:800;color:var(--red)}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--sky);color:var(--navy)}
.badge.red{background:#FDE8EB;color:var(--red)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.gold{background:#FFF4CC;color:#7A5B00}

.qrow{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;color:var(--ink)}
.qrow:hover{border-color:var(--blue);text-decoration:none}
.qrow p{margin:.3em 0 0;font-weight:600}
.qrow .meta{font-size:.78rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* breadcrumbs */
.crumbs{font-size:.85rem;color:var(--muted);padding:16px 0 4px}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs li+li::before{content:"›";margin:0 6px;color:#A4AEC4}
.crumbs a{color:var(--muted)}

/* page layout */
.page-head{padding:10px 0 22px}
.layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;padding-bottom:56px}
@media(max-width:960px){.layout{grid-template-columns:1fr}}
.sticky{position:sticky;top:90px}
.prose p{color:#2B3553}
.prose h2{margin-top:1.4em}

/* question page */
.qbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.qbox .qtext{font-size:1.15rem;font-weight:600;white-space:pre-line;color:var(--ink)}
.answer{margin-top:22px;border-top:2px dashed var(--line);padding-top:20px}
.answer h2{font-size:1.15rem;display:flex;align-items:center;gap:8px}
.answer .free{white-space:pre-line}
.answer .full{white-space:pre-line}
.paywalled{position:relative}
.blurred{filter:blur(5px);user-select:none;-webkit-user-select:none;color:#3A4566;white-space:pre-line;pointer-events:none}
.ghost-lines span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#E6EBF4,#F1F4FA);margin:10px 0}
.unlock{position:relative;margin-top:-30px;background:linear-gradient(180deg,rgba(255,255,255,0) 0,#fff 34px);padding-top:40px}
.unlock .panel{border:2px solid var(--navy);border-radius:var(--r);padding:20px;background:#fff;text-align:center}
.unlock .panel h3{font-size:1.2rem}
.unlock .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
@media(max-width:560px){.unlock .opts{grid-template-columns:1fr}}
.opt{border:1.5px solid var(--line);border-radius:12px;padding:14px;text-align:left;background:#fff}
.opt b{display:block;color:var(--navy)}
.opt .price{font-size:1.25rem}
.ok-note{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:10px 14px;font-weight:600;font-size:.9rem;margin-bottom:12px}

/* paper page */
.preview-img{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.buybox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.buybox .price{font-size:2rem}
.buybox ul{padding-left:18px;margin:12px 0;color:var(--muted);font-size:.92rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.9rem}
.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}

/* forms */
label{font-weight:600;font-size:.9rem;display:block;margin-bottom:4px}
input[type=text],input[type=tel],input[type=number],input[type=search],input[type=password],select,textarea{
  width:100%;font:inherit;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,101,192,.15)}
textarea{min-height:120px;resize:vertical}
.field{margin-bottom:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:620px){.row2,.row3{grid-template-columns:1fr}}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{font-weight:500;display:inline-flex;gap:6px;align-items:center;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;background:#fff}
.checks input{accent-color:var(--navy)}
.seg{display:flex;background:var(--sky);border-radius:12px;padding:4px;gap:4px}
.seg button,.seg label{flex:1;border:0;background:transparent;font:inherit;font-weight:700;padding:10px;border-radius:9px;color:var(--navy);cursor:pointer;text-align:center;margin:0}
.seg .on,.seg input:checked+span{background:#fff;box-shadow:var(--shadow)}
.seg input{display:none}.seg span{display:block;padding:8px;border-radius:9px}

/* checkout */
.checkout{max-width:560px;margin:30px auto 60px}
.mpesa-head{display:flex;align-items:center;gap:12px}
.mpesa-logo{background:#14A44D;color:#fff;font-weight:900;border-radius:10px;padding:8px 12px;letter-spacing:.5px}
.amount{font-size:2.2rem;font-weight:900;color:var(--navy)}
.status{border-radius:12px;padding:14px;margin-top:14px;display:none;font-weight:600}
.status.show{display:block}.status.wait{background:#FFF8E1;color:#7A5B00}.status.err{background:#FDE8EB;color:var(--red)}.status.okk{background:var(--ok-bg);color:var(--ok)}
.spinner{display:inline-block;width:16px;height:16px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;padding-left:34px;position:relative;margin:8px 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;font-weight:700;display:grid;place-items:center}
.tabpane{display:none}.tabpane.on{display:block}

/* pricing */
.plan{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px}
.plan.hot{border-color:var(--red);box-shadow:0 10px 30px rgba(200,16,46,.12);position:relative}
.plan.hot::before{content:"Most popular";position:absolute;top:-12px;left:20px;background:var(--red);color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
.plan .price{font-size:2rem}
.plan ul{padding-left:18px;color:var(--muted);font-size:.92rem;flex:1}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;color:var(--navy);list-style:none}
.faq summary::after{content:"+";float:right;font-size:1.2rem;color:var(--red)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.6em 0 0;color:#2B3553}

/* how it works */
.how{counter-reset:h}
.how .card{position:relative;padding-top:44px}
.how .card::before{counter-increment:h;content:counter(h);position:absolute;top:14px;left:20px;width:28px;height:28px;border-radius:8px;background:var(--red);color:#fff;font-weight:800;display:grid;place-items:center}
.feature-ic{width:44px;height:44px;border-radius:12px;background:var(--sky);display:grid;place-items:center;font-size:1.3rem;margin-bottom:10px}

/* pagination, alerts */
.pager{display:flex;gap:8px;justify-content:center;margin:26px 0}
.pager a,.pager span{padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:#fff;font-weight:600}
.msgs{max-width:1180px;margin:14px auto 0;padding:0 20px}
.msg{padding:12px 16px;border-radius:10px;margin-bottom:8px;font-weight:600}
.msg.error{background:#FDE8EB;color:var(--red)}.msg.success{background:var(--ok-bg);color:var(--ok)}.msg.info{background:var(--sky);color:var(--navy)}

/* tables */
table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.9rem}
table.t th,table.t td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.t th{background:var(--sky);color:var(--navy)}

/* studio */
.studio-hero{background:linear-gradient(135deg,#0B2A6F,#1565C0);color:#fff}
.studio-hero .wrap{padding:48px 20px}
.studio-hero h1{color:#fff}.studio-hero p{color:#D6E2FF}
.exam-sheet{background:#fff;border:1px solid var(--line);border-radius:6px;padding:32px;box-shadow:var(--shadow);font-family:Georgia,"Times New Roman",serif}
.exam-sheet h2,.exam-sheet h3{font-family:var(--font)}
.exam-q{display:grid;grid-template-columns:34px 1fr auto;gap:8px;margin:14px 0;white-space:pre-line}
.exam-q .mk{font-weight:700;color:var(--navy);font-family:var(--font);font-size:.85rem}
.scheme{background:#F8FAFF;border-left:3px solid var(--ok);padding:8px 12px;margin:6px 0 0 34px;font-family:var(--font);font-size:.9rem}

/* footer */
footer.site{background:#081E52;color:#B9C7EA;padding:48px 0 20px;margin-top:0}
footer.site h4{color:#fff;font-size:.95rem}
footer.site a{color:#DCE5FB;display:block;padding:3px 0;font-size:.9rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
footer.site .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-logo{background:#fff;border-radius:12px;padding:8px 12px;display:inline-block;margin-bottom:12px}
.footer-logo img{height:40px}

/* fixes */
.searchbox select{width:auto;flex:none;padding:0 12px}
.searchbox input[type=search]{width:auto;border:0;box-shadow:none}
.btn.menu-btn{display:none}
nav.main a{white-space:nowrap;padding:8px 10px}
@media(max-width:1180px){
  nav.main{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  nav.main.open{display:flex}
  .btn.menu-btn{display:inline-flex}
}
.hero .wrap>*,.layout>*,.grid>*{min-width:0}
.checkout b{white-space:nowrap}
@media(max-width:620px){
  .strip .hide-sm{display:none}
  .searchbox select{display:none}
  .stats{gap:18px}.stats b{font-size:1.3rem}
  .hero h1{font-size:1.9rem}
  .sec-head{align-items:start}
}
.studio-hero .crumbs,.studio-hero .crumbs a{color:#C4D3F7}
