/* kainar.space home page — cinematic night sky over Kazakhstan.
   Interactive components (games, AI, Hidden Orbit, comment panel) are styled in components.css. */

:root{
  --space:#050913;
  --navy:#0A1326;
  --panel:rgba(12,22,44,.62);
  --panel-solid:#0B1529;
  --edge:rgba(170,200,255,.14);
  --edge-hi:rgba(140,200,255,.38);
  --ice:#5CC8FF;
  --sun:#FEC50C;
  --dawn:#FFB547;
  --snow:#F2F6FC;
  --mist:#9FADC4;
  --font:'Montserrat','PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;
  --wrap:1280px;
  --gutter:clamp(16px,3.4vw,40px);
  --radius:20px;
  /* names still used inside component styles */
  --accent:var(--ice);--accent2:#2E7BEF;--gold:var(--sun);--muted:var(--mist);
  --glass:rgba(255,255,255,.05);--glass-b:rgba(255,255,255,.12);--r:16px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:var(--space);color:var(--snow);font-family:var(--font);font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:8px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--snow);color:var(--space);padding:8px 14px;border-radius:999px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}
.arr{width:18px;height:11px;flex:none}
.ic{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

#cursor,#cursor-ring,#mouse-glow{display:none}
.meteor{position:fixed;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(242,246,252,.7),transparent);border-radius:2px;animation:meteor linear forwards;opacity:.4}
#star-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.5}
#progress-bar{position:fixed;top:0;left:0;height:2px;width:0;z-index:120;background:linear-gradient(90deg,var(--dawn),var(--ice))}
main,.site-footer,header{position:relative;z-index:1}

/* ── Header ───────────────────────────────────────── */
header{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;gap:24px;padding:20px var(--gutter);transition:background .3s,padding .3s,border-color .3s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(5,9,19,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-top:12px;padding-bottom:12px;border-bottom-color:var(--edge)}
.logo{font-weight:800;font-size:19px;letter-spacing:.08em;color:var(--snow);cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap}
.logo span{font-weight:300;color:rgba(242,246,252,.78)}
header nav{display:flex;gap:32px;margin:0 auto}
header nav a{position:relative;text-decoration:none;color:rgba(242,246,252,.78);font-size:14.5px;font-weight:500;padding:6px 0;transition:color .2s;white-space:nowrap}
header nav a:hover,header nav a[aria-current="page"]{color:#fff}
header nav a[aria-current="page"]::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-6px;height:2px;border-radius:2px;background:var(--snow)}
.header-tools{display:flex;align-items:center;gap:14px;margin-left:auto}
nav+.header-tools{margin-left:0}
.auth-box{display:flex;align-items:center}
.login-btn,.logout-btn{border:1px solid rgba(242,246,252,.28);background:none;color:var(--snow);font-size:13.5px;font-weight:600;padding:7px 16px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.login-btn:hover,.logout-btn:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.user-profile{display:none;align-items:center;gap:10px}
.user-profile img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--edge)}
.user-profile span{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-menu{position:relative}
.lang-current{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--snow);font-size:14px;font-weight:600;padding:8px 4px;cursor:pointer}
.lang-current .globe{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.lang-current>svg:last-child{width:11px;height:7px}
.lang-pop{position:absolute;right:0;top:calc(100% + 8px);display:flex;flex-direction:column;min-width:140px;padding:6px;border-radius:14px;background:rgba(9,17,34,.97);border:1px solid var(--edge);box-shadow:0 18px 40px rgba(0,0,0,.5);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s,transform .2s}
.lang-menu.open .lang-pop{opacity:1;transform:none;pointer-events:auto}
.lang-btn{border:0;background:none;color:rgba(242,246,252,.78);font-size:14.5px;font-weight:500;padding:9px 12px;border-radius:9px;cursor:pointer;text-align:left;transition:background .2s,color .2s}
.lang-btn:hover{background:rgba(255,255,255,.06);color:#fff}
.lang-btn.active{color:#fff;background:rgba(92,200,255,.14)}
.hamburger{display:none;width:40px;height:40px;border:0;background:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer}
.hamburger span{display:block;width:24px;height:2px;background:var(--snow);border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-overlay{position:fixed;inset:0;z-index:98;background:rgba(2,4,10,.6);opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-overlay.open{opacity:1;pointer-events:auto}
.mobile-nav{position:fixed;top:0;right:0;bottom:0;z-index:99;width:min(300px,82vw);background:rgba(7,13,28,.98);border-left:1px solid var(--edge);padding:92px 26px 28px;display:flex;flex-direction:column;gap:2px;transform:translateX(100%);transition:transform .35s ease}
.mobile-nav.open{transform:none}
.mobile-nav a{text-decoration:none;color:var(--snow);font-weight:600;font-size:20px;padding:13px 0;border-bottom:1px solid var(--edge)}
.mobile-login{margin-top:22px;align-self:flex-start;border:1px solid rgba(242,246,252,.3);background:none;color:var(--snow);font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;cursor:pointer}

/* ── Hero ─────────────────────────────────────────── */
.hero{position:relative;min-height:min(100vh,940px);min-height:min(100svh,940px);overflow:hidden;background:var(--space)}
.hero-bg,.hero-bg img{position:absolute;inset:0;width:100%;height:100%}
.hero-bg img{object-fit:cover;object-position:50% 30%}
.hero-shade{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 30% 42% at 46% 42%,rgba(3,6,14,.78) 0%,rgba(3,6,14,.5) 50%,transparent 100%),
    linear-gradient(180deg,rgba(3,6,14,.6) 0%,transparent 16%,transparent 58%,rgba(5,9,19,.55) 78%,var(--space) 100%)}
.hero-content{position:absolute;z-index:2;left:max(var(--gutter),calc(50% - 300px));top:clamp(120px,19vh,190px);width:min(560px,100% - 2*var(--gutter))}
.kicker{font-size:12.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:rgba(242,246,252,.78);margin-bottom:14px}
.hero h1{font-weight:800;font-size:clamp(44px,5.6vw,80px);line-height:1;letter-spacing:-.02em;margin-bottom:18px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero h1 .name{font-weight:300;color:#B9D3F2}
.hero-desc{font-size:clamp(15.5px,1.25vw,18px);line-height:1.6;color:rgba(242,246,252,.86);max-width:470px;margin-bottom:28px;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.buttons{display:flex;flex-wrap:wrap;gap:14px}
.pill{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:15.5px;font-weight:600;padding:14px 28px;border-radius:999px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.pill:active{transform:translateY(1px)}
.pill.solid{background:#fff;color:#0A1428;box-shadow:0 8px 28px rgba(255,255,255,.14)}
.pill.solid:hover{box-shadow:0 8px 32px rgba(255,255,255,.28)}
.pill.line{border:1.5px solid rgba(242,246,252,.55);color:#fff;background:rgba(5,9,19,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pill.line:hover{border-color:#fff}
.hero-quote{position:absolute;z-index:2;left:max(var(--gutter),calc(50% - 300px));bottom:clamp(120px,17vh,170px);max-width:430px;font-size:14px;font-style:italic;line-height:1.6;color:rgba(242,246,252,.8);text-shadow:0 2px 12px rgba(0,0,0,.9)}
.scroll-indicator{display:none;position:absolute;z-index:2;left:50%;bottom:32px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:12.5px;color:rgba(242,246,252,.72);text-decoration:none;transition:opacity .3s}
.mouse{width:20px;height:32px;border:1.5px solid rgba(242,246,252,.6);border-radius:12px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:7px;width:2px;height:7px;margin-left:-1px;border-radius:2px;background:#fff;animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}100%{opacity:0;transform:translateY(7px)}}

/* ── Four image cards ─────────────────────────────── */
.hub{position:relative;z-index:3;max-width:calc(var(--wrap) + 2*var(--gutter));margin:-90px auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hub-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:7/8;padding:24px;border-radius:var(--radius);text-decoration:none;color:var(--snow);
  background:var(--panel-solid) var(--img) var(--pos,center)/cover no-repeat;border:1px solid var(--edge);box-shadow:0 24px 60px rgba(0,0,0,.45);transition:border-color .3s,transform .3s}
.hub-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,19,.35) 0%,transparent 22%,transparent 42%,rgba(5,9,19,.7) 70%,rgba(5,9,19,.94) 100%);transition:opacity .3s}
.hub-card>*{position:relative;z-index:1}
.hub-card:hover{border-color:var(--edge-hi);transform:translateY(-4px)}
.hub-num{position:absolute;top:22px;left:24px;font-size:14px;font-weight:500;letter-spacing:.06em;color:rgba(242,246,252,.85)}
.hub-body{display:block;margin-bottom:18px}
.hub-card h3{font-size:clamp(20px,1.7vw,24px);font-weight:700;line-height:1.2;margin-bottom:6px}
.hub-card p{font-size:14px;line-height:1.55;color:rgba(242,246,252,.8);max-width:28ch}
.circle-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(242,246,252,.75);display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s}
.circle-arrow svg{width:17px;height:10px}
.hub-card:hover .circle-arrow{background:#fff;color:#0A1428;border-color:#fff}

/* ── Sections ─────────────────────────────────────── */
.section{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:clamp(80px,9vw,120px) var(--gutter) clamp(40px,5vw,60px)}
.section-header{margin-bottom:clamp(26px,3vw,40px);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px}
.section-tag{display:none}
.section-title{font-size:clamp(28px,3.2vw,42px);font-weight:800;line-height:1.1;letter-spacing:-.015em}
.section-sub{color:var(--mist);font-size:16px;flex-basis:100%}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.learning{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mist);padding:6px 14px;border:1px solid var(--edge);border-radius:999px}
.learning strong{color:var(--snow);font-weight:600}
.learning-dot{width:7px;height:7px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 4px rgba(92,200,255,.18)}

/* About: bento of panels */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.panel{background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);padding:clamp(20px,2.2vw,28px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.panel-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;margin-bottom:20px}
.panel-title .ic{color:var(--ice)}
.story{grid-column:span 7;grid-row:span 2;padding:0;overflow:hidden;display:flex;flex-direction:column}
.goals{grid-column:span 5}
.langs{grid-column:span 5}
.skills{grid-column:span 4}
.interests{grid-column:span 4}
.news{grid-column:span 4}
.story-img{position:relative;aspect-ratio:16/8;overflow:hidden}
.story-img img{width:100%;height:100%;object-fit:cover;object-position:60% 45%}
.story-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,21,41,.95))}
.story-cap{position:absolute;z-index:1;left:clamp(20px,2.2vw,28px);bottom:14px;font-size:13px;font-weight:500;color:rgba(242,246,252,.85)}
.story-text{padding:clamp(20px,2.2vw,28px);padding-top:8px}
.story-text h3{font-size:20px;font-weight:700;margin-bottom:10px}
.story-text>p{color:rgba(242,246,252,.8);margin-bottom:22px;max-width:62ch;font-size:15px}
.timeline{list-style:none;position:relative;padding-left:26px}
.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:10px;width:2px;background:linear-gradient(var(--ice),var(--sun))}
.tl-item{position:relative;padding:0 0 14px}
.tl-item::before{content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--panel-solid);border:2px solid var(--ice)}
.tl-item.future::before{border-color:var(--sun);background:var(--sun);box-shadow:0 0 10px rgba(254,197,12,.6)}
.tl-item strong{display:block;font-weight:600;font-size:15px}
.tl-item span{color:var(--mist);font-size:14px}

.goal-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.goal-list li{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--edge);border-radius:14px;background:rgba(255,255,255,.02)}
.goal-list li>.ic{width:40px;height:40px;padding:9px;border:1px solid var(--edge);border-radius:11px;color:var(--snow)}
.goal-list strong{display:block;font-size:14.5px;font-weight:600}
.goal-list span{display:block;font-size:13px;color:var(--mist)}

.lang-bars{list-style:none;display:flex;flex-direction:column;gap:16px}
.lang-bars li{display:grid;grid-template-columns:110px 1fr 112px;align-items:center;gap:14px;font-size:14px}
.lang-bars em{font-style:normal;color:var(--mist);font-size:13px;text-align:right}
.bar{height:5px;border-radius:5px;background:rgba(159,173,196,.18);overflow:hidden}
.bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2E7BEF,var(--ice))}

.skill-bar-wrap{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.skill-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:7px}
.skill-label span:last-child{color:var(--mist);font-variant-numeric:tabular-nums}
.skill-track{height:4px;border-radius:4px;background:rgba(159,173,196,.18);overflow:hidden}
.skill-fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#2E7BEF,var(--ice));transition:width 1.2s cubic-bezier(.3,.7,.3,1)}
.tech-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.tech-list li{font-size:12.5px;font-weight:500;padding:5px 11px;border:1px solid var(--edge);border-radius:999px;color:rgba(242,246,252,.8)}

.interest-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.interest-grid li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:1/.92;padding:10px 6px;border:1px solid var(--edge);border-radius:14px;background:rgba(255,255,255,.02);font-size:12.5px;text-align:center;color:rgba(242,246,252,.85)}
.interest-grid .ic{width:28px;height:28px;color:var(--snow)}

.news-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.news-list li{display:flex;align-items:center;gap:14px;padding:8px;border:1px solid var(--edge);border-radius:14px;background:rgba(255,255,255,.02)}
.news-list img{width:78px;height:60px;border-radius:10px;object-fit:cover;flex:none}
.news-list strong{display:block;font-size:14px;font-weight:600;line-height:1.35}
.news-list time{display:block;font-size:12.5px;color:var(--mist);margin-top:3px}

/* Mission */
.mission{padding:clamp(50px,6vw,80px) var(--gutter) 0}
.mission-inner{position:relative;max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--radius);overflow:hidden;
  background:radial-gradient(ellipse 50% 140% at 0% 50%,rgba(255,181,71,.16),transparent 70%),var(--panel);border:1px solid var(--edge)}
.mission-year{font-size:clamp(76px,10vw,140px);font-weight:800;line-height:.85;letter-spacing:-.04em;background:linear-gradient(180deg,#FFE29A,var(--sun) 45%,var(--dawn));-webkit-background-clip:text;background-clip:text;color:transparent}
.mission-text h2{font-size:clamp(22px,2.3vw,28px);font-weight:700;line-height:1.25;margin-bottom:12px}
.mission-text p{color:rgba(242,246,252,.82);max-width:58ch;margin-bottom:18px}
.mission-link{color:var(--sun);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(254,197,12,.4);padding-bottom:2px}

/* Play zone */
.play{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:clamp(70px,8vw,110px) var(--gutter) 0;display:flex;flex-direction:column;gap:clamp(70px,8vw,110px)}
.play .ai-section,.play .game-section,.play .dock-section{max-width:none;margin:0;padding:0}
.play .section-header{display:block;margin-bottom:24px!important}
.play .section-title{font-size:clamp(26px,2.8vw,36px);margin-bottom:8px}

/* Contact */
.contact{padding:clamp(80px,9vw,120px) var(--gutter) clamp(40px,5vw,60px)}
.contact-inner{max-width:var(--wrap);margin:0 auto;padding:clamp(30px,5vw,56px);border-radius:var(--radius);border:1px solid var(--edge);position:relative;overflow:hidden;
  background:linear-gradient(90deg,rgba(11,21,41,.96) 30%,rgba(11,21,41,.55) 70%,rgba(11,21,41,.25)),url(/img/banner-contact.webp) 100% 35%/cover}
.contact-inner .section-tag{display:none}
.contact-inner h2{font-size:clamp(28px,3.2vw,42px);font-weight:800;line-height:1.1;margin-bottom:14px}
.contact-inner>p{color:rgba(242,246,252,.85);max-width:46ch;margin-bottom:26px}
.contact-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.contact .btn{display:inline-flex;align-items:center;text-decoration:none;font-size:15px;font-weight:600;padding:13px 26px;border-radius:999px;transition:border-color .2s}
.contact .btn.primary{background:#fff;color:#0A1428}
.contact .btn.secondary{border:1.5px solid rgba(242,246,252,.5);color:#fff}
.contact .btn.secondary:hover{border-color:#fff}
.contact-email{font-size:14.5px;color:var(--mist)}
.contact-email a{color:var(--ice)}

/* Footer */
.site-footer{position:relative;overflow:hidden;padding:clamp(160px,18vw,260px) var(--gutter) 30px}
.footer-art{position:absolute;inset:0;background:linear-gradient(180deg,var(--space) 0%,rgba(5,9,19,.2) 35%,rgba(5,9,19,.55) 70%,var(--space) 100%),url(/img/footer-night.webp) 50% 60%/cover}
.footer-inner{position:relative;max-width:var(--wrap);margin:0 auto}
.footer-quote{text-align:center;font-size:clamp(14px,1.3vw,17px);font-style:italic;color:rgba(242,246,252,.88);max-width:52ch;margin:0 auto clamp(60px,7vw,90px);text-shadow:0 2px 14px rgba(0,0,0,.9)}
.footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding-top:22px;border-top:1px solid var(--edge);font-size:13.5px;color:var(--mist)}
.footer-brand{font-weight:800;color:var(--snow);font-size:14px;letter-spacing:.08em}
.footer-brand span{font-weight:300;color:rgba(242,246,252,.75)}
.visitor-line{display:flex;align-items:center;gap:8px}
.visitor-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.visitor-count{color:var(--snow);font-weight:600;font-variant-numeric:tabular-nums}
.socials{display:flex;gap:6px;margin-left:auto}
.socials a,.copy-email{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:0;background:none;color:rgba(242,246,252,.85);cursor:pointer;transition:background .2s,color .2s}
.socials a:hover,.copy-email:hover{background:rgba(255,255,255,.08);color:#fff}
.socials svg{width:20px;height:20px}
.copy-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--snow);color:var(--space);font-size:12px;font-weight:600;padding:4px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}
.copy-email.copied .copy-tooltip{opacity:1}

/* ── Responsive ───────────────────────────────────── */
@media (max-width:1180px){
  header nav{gap:22px}
  .bento .story{grid-column:span 12;grid-row:auto}
  .goals,.langs{grid-column:span 6}
  .story{flex-direction:row}
  .story-img{aspect-ratio:auto;flex:0 0 42%}
  .story-img::after{background:linear-gradient(90deg,transparent 60%,rgba(11,21,41,.95))}
  .story-text{padding-top:clamp(20px,2.2vw,28px)}
}
@media (max-width:1020px){
  header nav,.auth-box{display:none}
  .header-tools,nav+.header-tools{margin-left:auto}
  .hamburger{display:flex}
  .hub{grid-template-columns:repeat(2,1fr)}
  .hub-card{aspect-ratio:auto;min-height:340px}
  .skills,.interests,.news{grid-column:span 6}
  .news{grid-column:span 12}
}
@media (max-width:720px){
  body{font-size:15.5px}
  header{padding:14px var(--gutter);gap:10px}
  .logo{font-size:17px}
  .header-tools{gap:6px}
  .hero{min-height:0;display:flex;flex-direction:column}
  .hero-content{position:relative;inset:auto;order:1;width:auto;padding:92px var(--gutter) 0}
  .kicker{font-size:11.5px;letter-spacing:.28em;margin-bottom:12px;max-width:16em;line-height:1.9}
  .hero h1{font-size:clamp(40px,12vw,52px);margin-bottom:14px}
  .hero-desc{font-size:15px;margin-bottom:20px;max-width:34ch}
  .buttons{gap:10px;flex-wrap:nowrap}
  .pill{padding:11px 18px;font-size:14px;gap:9px}
  .hero-bg{order:2;position:relative;inset:auto;display:block;margin-top:-120px}
  .hero-bg img{position:relative;inset:auto;width:100%;height:auto;object-fit:initial}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--space) 0%,rgba(5,9,19,.55) 12%,transparent 26%,transparent 70%,rgba(5,9,19,.85) 90%,var(--space) 100%)}
  .hero-shade{display:none}
  .hero-quote{order:3;position:relative;left:auto;bottom:auto;margin:-150px var(--gutter) 0;font-size:14.5px;max-width:32ch}
  .scroll-indicator{display:flex;order:4;position:relative;left:auto;bottom:auto;transform:none;margin:26px auto 30px;width:max-content}
  .hub{margin-top:0;grid-template-columns:1fr;gap:14px}
  .hub-card{min-height:0;aspect-ratio:1/.9;padding:22px}
  .hub-card::before{background:linear-gradient(180deg,rgba(5,9,19,.35) 0%,transparent 18%,transparent 30%,rgba(5,9,19,.78) 58%,rgba(5,9,19,.96) 100%)}
  .hub-num{top:20px;left:22px}
  .bento{display:flex;flex-direction:column;gap:14px}
  .story{flex-direction:column}
  .story-img{flex:none;aspect-ratio:16/9}
  .story-img::after{background:linear-gradient(180deg,transparent 55%,rgba(11,21,41,.95))}
  .story-text{padding-top:8px}
  .lang-bars li{grid-template-columns:96px 1fr 92px;gap:10px;font-size:13.5px}
  .mission-inner{grid-template-columns:1fr;gap:10px}
  .contact-inner{background:linear-gradient(180deg,rgba(11,21,41,.65) 0%,rgba(11,21,41,.96) 55%),url(/img/banner-contact.webp) 50% 20%/cover}
  .footer-row{flex-direction:column;text-align:center}
  .socials{margin:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .meteor,.mouse::after{display:none}
  .hub-card{transition:none}
}
