
:root{
  --bg:#f5f7fb;--paper:#fff;--text:#111827;--muted:#667085;--line:#e5e7eb;
  --ink:#0f3d63;--accent:#0b69a3;--soft:#eaf4fb;--good:#087f5b;--bad:#b42318;
  --warn:#a15c00;--review:#6941c6;--shadow:0 18px 50px rgba(15,23,42,.09)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em;margin-right:auto}
.brandmark{width:36px;height:36px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}
.navlinks{display:flex;gap:22px;font-size:14px;color:#475467}
.navlinks a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;background:var(--ink);color:#fff}
.btn.secondary{background:#fff;color:var(--ink);border:1px solid #cbd5e1}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.hero{padding:86px 0 54px;background:radial-gradient(circle at 75% 15%,#dff1fb 0,transparent 34%),linear-gradient(#fff,#f7fbff)}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;max-width:900px;margin:16px 0 20px;letter-spacing:-.045em}
.lead{font-size:20px;color:#475467;max-width:780px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.metric b{display:block;font-size:28px}
.metric span{font-size:13px;color:var(--muted)}
section{padding:64px 0}
.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.sectionhead h2{font-size:34px;margin:0;letter-spacing:-.03em}
.sectionhead p{max-width:660px;color:var(--muted);margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 1px 0 rgba(15,23,42,.02);transition:.2s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.tag{display:inline-block;font-size:12px;padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--accent);font-weight:700}
.card h3{margin:14px 0 8px}
.card p{color:var(--muted);font-size:14px}
.arrow{margin-top:24px;color:var(--accent);font-weight:800}
.checker{background:#0f2f4c;color:#fff;border-radius:28px;padding:36px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.checker p{color:#d7e4ef}
.checker .mini{display:grid;gap:10px}
.minirow{display:flex;justify-content:space-between;gap:18px;background:rgba(255,255,255,.08);padding:12px 14px;border-radius:12px;font-size:14px}
.pagehead{padding:54px 0 26px}
.pagehead h1{font-size:44px;letter-spacing:-.035em;margin:10px 0}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.uploadzone{border:2px dashed #b8c7d6;border-radius:18px;padding:34px;text-align:center;background:#fbfdff}
.uploadzone.drag{border-color:var(--accent);background:#eef8ff}
.uploadzone input{display:none}
.filelabel{display:inline-flex;margin-top:14px}
.small{font-size:13px;color:var(--muted)}
.checks{display:flex;align-items:flex-start;gap:10px;margin:18px 0}
.checks input{margin-top:4px}
.progress{display:none;margin-top:20px}
.progress.on{display:block}
.bar{height:8px;background:#edf2f7;border-radius:99px;overflow:hidden}
.bar>i{display:block;height:100%;width:35%;background:var(--accent);animation:run 1.2s infinite ease-in-out}
@keyframes run{0%{margin-left:-35%}100%{margin-left:100%}}
.results{display:none;margin-top:28px}
.results.on{display:block}
.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.sum{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.sum b{display:block;font-size:26px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}
.filter.active{background:var(--ink);color:#fff}
.finding{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:10px}
.findingtop{display:flex;justify-content:space-between;gap:14px}
.status{font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;white-space:nowrap}
.status.pass{background:#ecfdf3;color:var(--good)}
.status.fail{background:#fff1f0;color:var(--bad)}
.status.warning{background:#fff8e7;color:var(--warn)}
.status.review,.status.not_checked{background:#f4f0ff;color:var(--review)}
.finding h4{margin:0 0 5px}
.finding p{margin:8px 0;color:#475467}
.finding details{margin-top:10px}
.finding summary{cursor:pointer;font-weight:700;color:#344054}
.alert{border-radius:14px;padding:14px 16px;background:#fff8e7;color:#7a4b00;margin:16px 0}
.errorbox{display:none;border-radius:14px;padding:14px 16px;background:#fff1f0;color:var(--bad);margin-top:16px}
.errorbox.on{display:block}
.rule-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}
.rule-table th,.rule-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}
.rule-table th{background:#f8fafc;position:sticky;top:72px}
.rule-table td:first-child{font-weight:700;white-space:nowrap}
.footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:13px;margin-top:50px}
.twocol{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.note{padding:14px;border-left:3px solid var(--accent);background:#f4f9fd;border-radius:8px}
.exportrow{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.rulecount{font-size:13px;color:var(--muted);margin-top:10px}
.searchbox{width:100%;max-width:420px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ai-note{margin-top:28px}
@media print{
  .topbar,.pagehead,.twocol,.filters,.exportrow,.footer{display:none!important}
  body{background:#fff}
  .results{display:block!important;margin:0}
  .finding{break-inside:avoid}
}
@media(max-width:900px){
  .navlinks{display:none}
  .grid,.metrics,.summary{grid-template-columns:1fr 1fr}
  .checker,.twocol{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wrap{padding:0 16px}
  .hero{padding-top:52px}
  .grid,.metrics,.summary{grid-template-columns:1fr}
  .pagehead h1{font-size:36px}
  .checker{padding:24px}
  .findingtop{display:block}
  .status{display:inline-block;margin-top:8px}
}
.stageprogress{display:grid;gap:7px;margin-top:14px}
.stage{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;background:#f8fafc;color:#667085;font-size:13px}
.stage span{width:18px;text-align:center;font-weight:900}
.stage.running{background:#eef8ff;color:var(--accent)}
.stage.done{background:#ecfdf3;color:var(--good)}
.stage.error{background:#fff1f0;color:var(--bad)}
.aihead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.stagecounter{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:800}

/* SCIENCES.KZ home refresh v1.2.0 */
.home-hero{position:relative;overflow:hidden}
.home-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-110px;bottom:-250px;border:1px solid rgba(11,105,163,.12);box-shadow:0 0 0 42px rgba(11,105,163,.035),0 0 0 88px rgba(11,105,163,.025);pointer-events:none}
.platforms-section{padding-top:74px}
.platform-grid{align-items:stretch}
.platform-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:300px;padding:26px;isolation:isolate}
.platform-card:before{content:"";position:absolute;right:-70px;top:-75px;width:180px;height:180px;border-radius:50%;background:var(--platform-soft,#edf6fb);z-index:-1;transition:transform .25s ease}
.platform-card:hover:before{transform:scale(1.12)}
.platform-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--platform-color,#0f3d63);color:#fff;font-size:13px;font-weight:900;letter-spacing:-.02em;box-shadow:0 10px 25px rgba(15,61,99,.13)}
.platform-card .tag{background:var(--platform-soft,#eaf4fb);color:var(--platform-color,#0b69a3)}
.platform-card h3{font-size:22px;line-height:1.15;margin:24px 0 5px;letter-spacing:-.025em}
.platform-domain{font-size:12px;color:#98a2b3;margin-bottom:14px}
.platform-card p{margin:0;line-height:1.62;flex:1}
.platform-card .arrow{display:flex;justify-content:space-between;align-items:center;margin-top:24px;color:var(--platform-color,#0b69a3)}
.platform-card-1{--platform-color:#0b69a3;--platform-soft:#eaf4fb}
.platform-card-2{--platform-color:#5b4bc4;--platform-soft:#f0edff}
.platform-card-3{--platform-color:#137a72;--platform-soft:#e8f7f5}
.platform-card-4{--platform-color:#9b3f50;--platform-soft:#fbeef1}
.platform-card-5{--platform-color:#647343;--platform-soft:#f1f5e8}
.platform-card-6{--platform-color:#9a6518;--platform-soft:#fff5df}

.campus-section{background:#eeeae1;padding:78px 0 82px;border-top:1px solid #e5e0dc;border-bottom:1px solid #ddd6cd}
.campus-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:end;margin-bottom:28px}
.campus-eyebrow{color:#774967}
.campus-intro h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1.04;letter-spacing:-.045em;margin:12px 0 16px;color:#2f2832;max-width:830px}
.campus-intro p{font-size:17px;color:#6f6670;max-width:830px;margin:0;line-height:1.7}
.campus-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.campus-btn{background:#774967;border:1px solid #774967}
.campus-btn:hover{background:#633b56}
.campus-btn-secondary{background:#fbf9f4;color:#774967;border:1px solid #d6ccd2}
.campus-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.campus-chips span{font-size:12px;color:#6d5667;background:#fbf9f4;border:1px solid #ddd3d8;border-radius:999px;padding:7px 10px}
.campus-browser{background:#fbf9f4;border:1px solid #d8d0ca;border-radius:24px;overflow:hidden;box-shadow:0 26px 70px rgba(54,39,48,.16)}
.campus-browser-bar{height:48px;display:grid;grid-template-columns:100px 1fr 100px;align-items:center;padding:0 15px;background:#f7f3ec;border-bottom:1px solid #e3ddd5}
.browser-dots{display:flex;gap:6px}.browser-dots i{width:9px;height:9px;border-radius:50%;display:block;background:#cfc5bd}.browser-dots i:nth-child(2){background:#b9aca4}.browser-dots i:nth-child(3){background:#9e8f99}
.browser-address{justify-self:center;min-width:270px;max-width:520px;width:54%;text-align:center;background:#fff;border:1px solid #e4ded8;border-radius:8px;color:#847a72;font-size:11px;padding:6px 10px;letter-spacing:.02em}
.browser-open{justify-self:end;width:30px;height:30px;display:grid;place-items:center;color:#774967;border:1px solid #dbd2d7;border-radius:8px;background:#fff}
.campus-frame-wrap{position:relative;height:660px;background:#e9e4da;overflow:hidden}
.campus-frame-wrap iframe{width:100%;height:100%;border:0;display:block;background:#e9e4da}
.campus-frame-overlay{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;background:rgba(47,40,50,.91);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);border-radius:12px;padding:11px 14px;font-size:12px;font-weight:800;box-shadow:0 8px 28px rgba(29,20,27,.26)}
.campus-frame-overlay b{font-size:17px}
.campus-note{font-size:11px;color:#81766f;margin:12px 4px 0}
.checker-section{padding-top:76px}
.checker-title{font-size:38px;margin:12px 0;letter-spacing:-.03em}
.checker-primary{background:#fff;color:#0f2f4c}
.checker-ghost{color:#fff!important;border-color:#52718d!important}
.footer-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.footer-row a{color:var(--accent);font-weight:700}
@media(max-width:1050px){
  .campus-intro{grid-template-columns:1fr}.campus-actions{justify-content:flex-start}.campus-frame-wrap{height:590px}
}
@media(max-width:900px){
  .platform-card{min-height:270px}
  .campus-frame-wrap{height:540px}
}
@media(max-width:700px){
  .campus-section{padding:58px 0}
  .campus-intro h2{font-size:38px}
  .campus-intro p{font-size:15px}
  .campus-browser{border-radius:18px}
  .campus-browser-bar{grid-template-columns:76px 1fr 46px;padding:0 10px}.browser-address{min-width:0;width:100%;font-size:9px}
  .campus-frame-wrap{height:560px}
  .campus-frame-wrap iframe{pointer-events:none}
  .campus-frame-overlay{left:14px;right:14px;justify-content:center}
  .checker-title{font-size:32px}
  .footer-row{display:block}.footer-row a{display:inline-block;margin-top:8px}
}
