/* New Way Olympiad — logo ranglari: to'q ko'k, quyosh (sariq→to'q sariq), qizil lenta */
:root{
  --navy:#0A2466; --navy-2:#13358f; --navy-ink:#ffffff;
  --sun:#F9A825; --sun-2:#F26B1D; --red:#E5361B;
  --bg:#F5F7FC; --card:#ffffff; --ink:#0E1A3A; --muted:#5B6787; --line:#DFE5F1;
  --ok:#17834A; --okbg:#E3F5EA; --bad:#C7321D; --badbg:#FDEBE7; --warn:#9A5B00; --warnbg:#FFF3DA;
  --pri:var(--navy); --pri2:var(--navy-2);
  --r:14px;
  --f-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--f-body)}
a{color:var(--navy-2)}
h1,h2,h3{font-family:var(--f-display);letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(24px,3.4vw,32px);font-weight:800;margin:4px 0 14px;color:var(--navy)}
h2{font-size:20px;font-weight:700;margin:28px 0 12px;color:var(--navy)}
.muted{color:var(--muted)} .small{font-size:14px} .right{text-align:right}

/* ---------- header ---------- */
header.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top::after{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--navy) 0 40%,var(--sun) 40% 70%,var(--sun-2) 70% 85%,var(--red) 85%)}
header.top .in{max-width:1120px;margin:0 auto;padding:10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header.top .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
header.top .brand img{height:46px;width:auto;aspect-ratio:480/390;object-fit:contain;flex:none;display:block}
header.top .brand span{font:800 15px/1.1 var(--f-display);letter-spacing:.02em}
header.top .brand small{display:block;font:600 11px var(--f-body);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
header.top nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
header.top nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:15px;padding:8px 12px;border-radius:9px}
header.top nav a:hover{background:#EEF2FB;color:var(--navy)}
header.top nav a.cta{background:var(--navy);color:#fff}
header.top nav a.cta:hover{background:var(--navy-2);color:#fff}
@media(max-width:820px){header.top{position:static}}
@media(max-width:640px){header.top .brand span{display:none} header.top nav{margin-left:0;width:100%} header.top nav a{padding:7px 10px;font-size:14px}}

main{max-width:1120px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-left)) 64px}
main.narrow{max-width:660px}

/* ---------- cards, forms ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 16px;box-shadow:0 1px 2px rgba(10,36,102,.04)}
label{display:block;font-weight:700;margin:14px 0 5px;font-size:15px}
input[type=text],input[type=tel],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:12px 13px;border:1.5px solid #CBD4E6;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-2);box-shadow:0 0 0 3px rgba(19,53,143,.15)}
input[type=file]{font:inherit;max-width:100%}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:14px}
.check input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;border:0;background:var(--navy);color:#fff;font:700 16px var(--f-body);cursor:pointer;text-decoration:none;transition:transform .08s,filter .15s}
.btn:hover{filter:brightness(1.12)} .btn:active{transform:translateY(1px)}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn.sun{background:linear-gradient(135deg,var(--sun),var(--sun-2));color:#1d1200}
.btn.sec{background:#EAEFF9;color:var(--navy)}
.btn.ok{background:var(--ok)} .btn.bad{background:var(--bad)}
.btn.big{padding:15px 22px;font-size:18px;width:100%}
.btn:disabled{opacity:.6;cursor:default}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.flash{padding:12px 15px;border-radius:10px;margin:0 0 14px;font-weight:600}
.flash.error{background:var(--badbg);color:var(--bad)} .flash.ok{background:var(--okbg);color:var(--ok)} .flash.warn{background:var(--warnbg);color:var(--warn)}
table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.tablewrap{overflow-x:auto}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:13px;font-weight:700;background:#EEF1F7;color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--okbg);color:var(--ok)} .pill.bad{background:var(--badbg);color:var(--bad)} .pill.warn{background:var(--warnbg);color:var(--warn)}
.stat{font-size:30px;font-weight:800}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.stats .card{margin:0}
.keygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.keygrid div{display:flex;align-items:center;gap:6px}
.keygrid b{width:26px;text-align:right}
.keygrid select{padding:6px}
.qr svg{width:220px;height:220px;max-width:100%}
.ans{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.ans div{border-radius:8px;padding:6px;text-align:center;font-weight:800;border:1px solid var(--line)}
.ans div small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.ans .y{background:var(--okbg);border-color:#bfe5cd;color:var(--ok)}
.ans .n{background:var(--badbg);border-color:#f4c7c2;color:var(--bad)}
.ans .e{background:var(--warnbg);border-color:#f2d6a6;color:var(--warn)}
.score{font:800 54px/1 var(--f-display);color:var(--navy)}
img.fit{max-width:100%;border-radius:10px;border:1px solid var(--line)}

/* ---------- bosh sahifa ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff 0%,#FFF8EC 55%,#FFEFD9 100%);border:1px solid #F4E3C6;border-radius:22px;padding:34px 34px 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;margin-bottom:22px}
.hero::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(249,168,37,.35),rgba(249,168,37,0) 70%);pointer-events:none}
.hero h1{font-size:clamp(28px,4.4vw,46px);line-height:1.08;margin:0 0 12px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--sun-2),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18px;color:#34406a;max-width:46ch;margin:0 0 20px}
.hero .logo{justify-self:center;max-width:100%;width:380px;height:auto;aspect-ratio:480/390;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(10,36,102,.15))}
.hero .ctas{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding:24px 20px;text-align:center}.hero .logo{width:260px;order:-1}.hero p.lead{margin-inline:auto}.hero .ctas{justify-content:center}}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 28px}
.numbers div{background:var(--navy);color:#fff;border-radius:16px;padding:16px 18px;position:relative;overflow:hidden}
.numbers div::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--sun),var(--sun-2),var(--red))}
.numbers b{display:block;font:800 30px/1.1 var(--f-display);color:var(--sun)}
.numbers span{font-size:14px;opacity:.9}
@media(max-width:720px){.numbers{grid-template-columns:repeat(2,1fr)}}
.ol-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ol-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.ol-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--sun),var(--sun-2),var(--red))}
.ol-card h3{margin:0;font-size:20px;color:var(--navy)}
.ol-card .meta{display:flex;gap:8px;flex-wrap:wrap}
.ol-card .meta span{background:#F1F4FB;border-radius:8px;padding:4px 10px;font-weight:700;font-size:14px;color:#2a3769}
.ol-card .meta .price{background:#FFF1D6;color:#8A4B00}
.ol-card .btn{margin-top:auto}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.steps3 div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.steps3 b{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:var(--sun);color:#1d1200;font:800 15px var(--f-display);margin-bottom:6px}
@media(max-width:720px){.steps3{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.site{background:var(--navy);color:#C9D3F0;margin-top:20px}
footer.site .in{max-width:1120px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-left));display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center}
footer.site b{color:#fff;font-family:var(--f-display)}
footer.site a{color:#fff;text-decoration:none;font-weight:700}
footer.site a:hover{color:var(--sun)}
footer.site .links{display:flex;gap:18px;flex-wrap:wrap}
@media print{header.top,footer.site,.noprint{display:none!important}body{background:#fff}.card{border:0;box-shadow:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- yangi bo'limlar ---------- */
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 6px}
.quick a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.quick a:hover{border-color:var(--sun);transform:translateY(-2px)}
.quick b{font:800 17px var(--f-display);color:var(--navy)} .quick span{color:var(--muted);font-size:14px}
@media(max-width:720px){.quick{grid-template-columns:1fr}}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.news-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,36,102,.08)}
.news-card>img,.news-card .ph{width:100%;aspect-ratio:16/9;object-fit:cover;max-width:100%}
.news-card .ph{background:linear-gradient(135deg,#FFF6E6,#EEF2FB);display:flex;align-items:center;justify-content:center}
.news-card .ph img{width:40%;height:auto;opacity:.9}
.news-card .tx{padding:14px 16px 16px}
.news-card h3{margin:2px 0 6px;font-size:17px;color:var(--navy)} .news-card p{margin:0;color:var(--muted);font-size:14px}
.prose p{margin:0 0 12px} .prose.lead p{font-size:16.5px;color:#34406a}
.mat-list{display:flex;flex-direction:column;gap:10px}
.mat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;flex-wrap:wrap}
.mat h3{margin:0;font-size:16px;color:var(--navy)}
.mat .ext{width:50px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;font:800 12px var(--f-display);color:#fff;background:var(--navy);flex:none}
.mat .e-pdf{background:var(--red)} .mat .e-docx,.mat .e-doc{background:#2B5CC5} .mat .e-xlsx,.mat .e-xls{background:#1E7E45} .mat .e-pptx,.mat .e-ppt{background:var(--sun-2)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.member{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;text-align:center}
.member img,.member .avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--sun)}
.member .avatar{display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--sun);font:800 36px var(--f-display)}
.member h3{margin:0;font-size:17px;color:var(--navy)} .member .pos{color:var(--sun-2);font-weight:800;font-size:14px;margin-top:2px}
/* hamkorlar — aylanib turadigan lenta */
.partners{margin:0 0 14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 0;overflow:hidden}
.partners .ptitle{font:800 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 20px 8px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:46px;width:max-content;align-items:center;padding:6px 23px;animation:scrollx calc(var(--n) * 4s + 12s) linear infinite}
.marquee.rev .track{animation-direction:reverse}
.marquee:hover .track{animation-play-state:paused}
.plogo{flex:none;display:flex;align-items:center;height:64px}
.plogo img{max-height:64px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s,transform .2s}
.plogo:hover img{filter:none;opacity:1;transform:scale(1.06)}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none;flex-wrap:wrap;width:auto}}
/* reyting */
.podium{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;align-items:end;margin:6px 0 16px}
.podium>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 14px;text-align:center}
.podium .p1{order:2;border-color:#F3D27A;background:linear-gradient(180deg,#FFF8E1,#fff);padding-top:26px}
.podium .p2{order:1} .podium .p3{order:3}
.podium .place{width:42px;height:42px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font:800 18px var(--f-display);color:#fff;background:#B8733B}
.podium .p1 .place{background:#D4A017;width:52px;height:52px;font-size:22px} .podium .p2 .place{background:#9AA3AF}
.podium .nm{font:800 16px var(--f-display);color:var(--navy)} .podium .avg{font:800 26px var(--f-display);color:var(--sun-2);margin:4px 0}
@media(max-width:640px){.podium{grid-template-columns:1fr}.podium>div{order:0!important}}
.bar{display:inline-block;width:70px;height:7px;border-radius:9px;background:#EEF1F7;margin-right:8px;vertical-align:middle;overflow:hidden}
.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--sun),var(--sun-2))}
/* natija / diplom */
.award.win{border-color:#F3D27A;background:linear-gradient(180deg,#FFFBEF,#fff)}
.medal{display:inline-block;padding:6px 12px;border-radius:99px;font-weight:800;color:#fff;background:#D4A017}
.medal.m2{background:#8C96A3} .medal.m3{background:#B8733B}
