/*
Theme Name: Nexura University
Theme URI: https://nexura.id/
Author: PT Nexura Edu Teknologi
Author URI: https://nexura.id/
Description: Tema WordPress kampus modern, responsif, cepat, dan mudah dikustomisasi. Mendukung fakultas, program studi, dosen, agenda, pengumuman, unduhan, berita, PMB, serta enam preset warna.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nexura-university
Tags: education, university, blog, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/

:root {
  --nx-primary: #0b4dbb;
  --nx-primary-dark: #073785;
  --nx-secondary: #18a6d9;
  --nx-accent: #f4b223;
  --nx-ink: #10213b;
  --nx-muted: #60708a;
  --nx-surface: #ffffff;
  --nx-soft: #f3f7fc;
  --nx-border: #dce6f3;
  --nx-success: #12845a;
  --nx-danger: #c83a4a;
  --nx-radius: 18px;
  --nx-shadow: 0 18px 60px rgba(16, 33, 59, .12);
  --nx-container: 1200px;
}

body.nexura-theme-emerald { --nx-primary:#087f5b; --nx-primary-dark:#055e44; --nx-secondary:#18a999; --nx-accent:#f2b134; }
body.nexura-theme-burgundy { --nx-primary:#8d153a; --nx-primary-dark:#61102b; --nx-secondary:#c44869; --nx-accent:#eab84d; }
body.nexura-theme-purple { --nx-primary:#6037a8; --nx-primary-dark:#402578; --nx-secondary:#8e65ce; --nx-accent:#f2b441; }
body.nexura-theme-orange { --nx-primary:#c65316; --nx-primary-dark:#8e390d; --nx-secondary:#eb7b2d; --nx-accent:#173e72; }
body.nexura-theme-navy { --nx-primary:#112b54; --nx-primary-dark:#081a35; --nx-secondary:#2962a6; --nx-accent:#e7b84b; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--nx-surface);
  color: var(--nx-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: var(--nx-primary); text-decoration: none; transition: .2s ease; }
a:hover { color: var(--nx-primary-dark); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(244, 178, 35, .75); outline-offset: 3px; }

.nx-container { width: min(calc(100% - 32px), var(--nx-container)); margin-inline: auto; }
.nx-section { padding: 88px 0; }
.nx-section--soft { background: var(--nx-soft); }
.nx-section--dark { background: var(--nx-primary-dark); color: #fff; }
.nx-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; }
.nx-eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 10px; color:var(--nx-primary); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; }
.nx-eyebrow::before { content:""; width:28px; height:3px; border-radius:99px; background:var(--nx-accent); }
.nx-title { margin:0; font-size:clamp(2rem, 4.5vw, 3.5rem); line-height:1.1; letter-spacing:-.04em; }
.nx-lead { max-width:720px; color:var(--nx-muted); font-size:1.08rem; }
.nx-grid { display:grid; gap:24px; }
.nx-grid--2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.nx-grid--3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.nx-grid--4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
.nx-card { background:#fff; border:1px solid var(--nx-border); border-radius:var(--nx-radius); box-shadow:0 10px 35px rgba(16,33,59,.06); overflow:hidden; }
.nx-card__body { padding:26px; }
.nx-card__title { margin:0 0 10px; font-size:1.2rem; line-height:1.35; }
.nx-meta { display:flex; flex-wrap:wrap; gap:12px; color:var(--nx-muted); font-size:.9rem; }
.nx-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:12px; background:var(--nx-primary); color:#fff; font-weight:800; box-shadow:0 10px 25px rgba(11,77,187,.2); }
.nx-btn:hover { background:var(--nx-primary-dark); color:#fff; transform:translateY(-1px); }
.nx-btn--light { background:#fff; color:var(--nx-primary); box-shadow:none; }
.nx-btn--ghost { background:transparent; border-color:rgba(255,255,255,.42); color:#fff; box-shadow:none; }
.nx-btn--outline { background:transparent; border-color:var(--nx-border); color:var(--nx-ink); box-shadow:none; }
.nx-link { display:inline-flex; align-items:center; gap:8px; font-weight:800; }
.nx-link::after { content:"→"; transition:transform .2s; }
.nx-link:hover::after { transform:translateX(4px); }
.nx-pill { display:inline-flex; align-items:center; min-height:30px; padding:3px 11px; border-radius:99px; background:rgba(11,77,187,.08); color:var(--nx-primary); font-size:.8rem; font-weight:800; }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto!important; width:auto; height:auto; margin:12px; padding:12px 16px; background:#fff; color:#111; z-index:99999; }

.nx-topbar { background:var(--nx-primary-dark); color:rgba(255,255,255,.82); font-size:.88rem; }
.nx-topbar__inner { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nx-topbar__items, .nx-topbar__social { display:flex; align-items:center; gap:18px; }
.nx-topbar a { color:inherit; }
.nx-topbar a:hover { color:#fff; }

.nx-header { position:relative; z-index:50; background:#fff; border-bottom:1px solid rgba(220,230,243,.9); }
.nx-header.is-sticky { position:sticky; top:0; box-shadow:0 10px 30px rgba(16,33,59,.1); }
.nx-header__inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.nx-brand { display:flex; align-items:center; gap:13px; min-width:220px; }
.nx-brand .custom-logo { width:auto; max-height:56px; }
.nx-brand__mark { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--nx-primary),var(--nx-secondary)); color:#fff; font-weight:900; letter-spacing:-.05em; }
.nx-brand__name { display:block; color:var(--nx-ink); font-size:1.04rem; font-weight:900; line-height:1.1; }
.nx-brand__tagline { display:block; margin-top:4px; color:var(--nx-muted); font-size:.72rem; }
.nx-nav { margin-left:auto; }
.nx-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:6px; }
.nx-nav li { position:relative; }
.nx-nav a { display:flex; align-items:center; min-height:44px; padding:0 12px; color:var(--nx-ink); font-size:.94rem; font-weight:750; border-radius:9px; }
.nx-nav a:hover, .nx-nav .current-menu-item > a, .nx-nav .current-menu-ancestor > a { background:var(--nx-soft); color:var(--nx-primary); }
.nx-nav .sub-menu { position:absolute; top:calc(100% + 12px); left:0; min-width:240px; display:block; padding:10px; background:#fff; border:1px solid var(--nx-border); border-radius:14px; box-shadow:var(--nx-shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s; }
.nx-nav .sub-menu a { min-height:40px; }
.nx-nav li:hover > .sub-menu, .nx-nav li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.nx-header__actions { display:flex; align-items:center; gap:10px; }
.nx-menu-toggle { display:none; width:46px; height:46px; border:1px solid var(--nx-border); border-radius:12px; background:#fff; }
.nx-menu-toggle span, .nx-menu-toggle::before, .nx-menu-toggle::after { content:""; display:block; width:21px; height:2px; margin:5px auto; background:var(--nx-ink); border-radius:99px; transition:.2s; }

.nx-hero { position:relative; overflow:hidden; background:linear-gradient(115deg,var(--nx-primary-dark),var(--nx-primary) 58%,var(--nx-secondary)); color:#fff; }
.nx-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.16),transparent 30%), linear-gradient(90deg,rgba(5,23,55,.12),transparent); }
.nx-hero__inner { position:relative; min-height:690px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:42px; padding:74px 0 96px; }
.nx-hero__eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; padding:7px 13px; border:1px solid rgba(255,255,255,.24); border-radius:99px; background:rgba(255,255,255,.09); font-weight:800; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.nx-hero h1 { margin:0; font-size:clamp(2.7rem,6vw,5.7rem); line-height:.98; letter-spacing:-.06em; max-width:770px; }
.nx-hero__text { max-width:670px; margin:24px 0 30px; color:rgba(255,255,255,.84); font-size:1.12rem; }
.nx-hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.nx-hero__visual { position:relative; min-height:500px; display:flex; align-items:flex-end; justify-content:center; }
.nx-hero__visual img { width:100%; max-height:570px; object-fit:contain; filter:drop-shadow(0 30px 40px rgba(0,0,0,.22)); }
.nx-hero__badge { position:absolute; left:-10px; bottom:80px; width:170px; padding:18px; border-radius:18px; background:#fff; color:var(--nx-ink); box-shadow:var(--nx-shadow); }
.nx-hero__badge strong { display:block; color:var(--nx-primary); font-size:1.8rem; line-height:1; }
.nx-hero__badge span { display:block; margin-top:7px; color:var(--nx-muted); font-size:.82rem; }
.nx-wave { position:absolute; left:0; right:0; bottom:-1px; height:58px; background:#fff; clip-path:polygon(0 65%,12% 48%,26% 72%,41% 47%,56% 68%,73% 44%,87% 66%,100% 43%,100% 100%,0 100%); }

.nx-quicklinks { position:relative; z-index:3; margin-top:-35px; }
.nx-quicklinks__grid { display:grid; grid-template-columns:repeat(5,1fr); background:#fff; border:1px solid var(--nx-border); border-radius:20px; box-shadow:var(--nx-shadow); overflow:hidden; }
.nx-quicklink { display:flex; align-items:center; gap:13px; min-height:94px; padding:18px; border-right:1px solid var(--nx-border); color:var(--nx-ink); }
.nx-quicklink:last-child { border-right:0; }
.nx-quicklink:hover { background:var(--nx-soft); color:var(--nx-primary); }
.nx-icon { flex:0 0 auto; width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:rgba(11,77,187,.08); color:var(--nx-primary); font-weight:900; }
.nx-quicklink strong { display:block; line-height:1.25; }
.nx-quicklink small { display:block; margin-top:3px; color:var(--nx-muted); }

.nx-program { position:relative; min-height:330px; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; border-radius:20px; overflow:hidden; background:linear-gradient(160deg,var(--nx-primary),var(--nx-primary-dark)); color:#fff; box-shadow:0 16px 45px rgba(16,33,59,.18); }
.nx-program::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 8%,rgba(255,255,255,.23),transparent 29%); }
.nx-program > * { position:relative; }
.nx-program:nth-child(2) { background:linear-gradient(160deg,#1485a8,#0c4f71); }
.nx-program:nth-child(3) { background:linear-gradient(160deg,#6b3fc0,#3d2176); }
.nx-program__icon { width:58px; height:58px; margin-bottom:auto; display:grid; place-items:center; border-radius:17px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); font-size:1.5rem; }
.nx-program h3 { margin:28px 0 8px; font-size:1.45rem; }
.nx-program p { margin:0 0 18px; color:rgba(255,255,255,.78); }
.nx-program a { color:#fff; }

.nx-about { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.nx-about__visual { position:relative; }
.nx-about__visual > img { width:100%; border-radius:28px; box-shadow:var(--nx-shadow); }
.nx-about__award { position:absolute; right:-24px; bottom:32px; width:190px; padding:23px; border-radius:18px; background:var(--nx-accent); color:#15213a; box-shadow:var(--nx-shadow); }
.nx-about__award strong { display:block; font-size:2rem; line-height:1; }
.nx-checks { list-style:none; margin:26px 0 30px; padding:0; display:grid; gap:12px; }
.nx-checks li { display:flex; gap:12px; align-items:flex-start; font-weight:750; }
.nx-checks li::before { content:"✓"; width:25px; height:25px; flex:0 0 25px; display:grid; place-items:center; border-radius:50%; background:rgba(18,132,90,.11); color:var(--nx-success); }

.nx-stats { margin-top:64px; display:grid; grid-template-columns:repeat(4,1fr); border-radius:22px; overflow:hidden; background:var(--nx-primary); color:#fff; }
.nx-stat { min-height:150px; display:flex; flex-direction:column; justify-content:center; padding:28px; text-align:center; border-right:1px solid rgba(255,255,255,.18); }
.nx-stat:last-child { border-right:0; }
.nx-stat strong { font-size:2.55rem; line-height:1; }
.nx-stat span { margin-top:9px; color:rgba(255,255,255,.75); }

.nx-notice-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; }
.nx-notice-intro { min-height:410px; padding:42px; border-radius:24px; background:linear-gradient(160deg,var(--nx-primary-dark),var(--nx-primary)); color:#fff; overflow:hidden; position:relative; }
.nx-notice-intro::after { content:""; position:absolute; right:-80px; bottom:-100px; width:260px; height:260px; border-radius:50%; border:44px solid rgba(255,255,255,.09); }
.nx-notice-list { display:grid; gap:13px; }
.nx-notice { display:grid; grid-template-columns:74px 1fr auto; align-items:center; gap:18px; padding:18px; border:1px solid var(--nx-border); border-radius:15px; background:#fff; }
.nx-notice__date { min-height:62px; display:grid; place-items:center; text-align:center; border-radius:12px; background:var(--nx-soft); color:var(--nx-primary); line-height:1.15; font-weight:900; }
.nx-notice__date small { display:block; color:var(--nx-muted); text-transform:uppercase; font-size:.68rem; }
.nx-notice h3 { margin:0 0 4px; font-size:1rem; }
.nx-notice p { margin:0; color:var(--nx-muted); font-size:.84rem; }
.nx-notice__arrow { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:var(--nx-soft); }

.nx-event { display:grid; grid-template-columns:145px 1fr; min-height:245px; }
.nx-event__date { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:20px; background:var(--nx-primary); color:#fff; text-align:center; }
.nx-event__date strong { font-size:2.5rem; line-height:1; }
.nx-event__date span { text-transform:uppercase; font-size:.78rem; letter-spacing:.08em; }
.nx-event__body { padding:28px; }
.nx-event__body h3 { margin:9px 0 14px; font-size:1.25rem; }

.nx-rector { display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:54px; padding:52px; border-radius:28px; background:linear-gradient(120deg,#0a244b,var(--nx-primary-dark)); color:#fff; overflow:hidden; }
.nx-rector__photo { position:relative; min-height:420px; }
.nx-rector__photo img { position:absolute; inset:auto 0 0; width:100%; max-height:460px; object-fit:contain; }
.nx-quote { font-size:1.25rem; color:rgba(255,255,255,.84); }
.nx-signature { margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); }
.nx-signature strong { display:block; font-size:1.15rem; }
.nx-signature span { color:rgba(255,255,255,.65); }

.nx-life-grid { display:grid; grid-template-columns:1.35fr .65fr .65fr; grid-template-rows:220px 220px; gap:16px; }
.nx-life { position:relative; overflow:hidden; border-radius:18px; background:var(--nx-soft); }
.nx-life:first-child { grid-row:1 / 3; }
.nx-life img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.nx-life:hover img { transform:scale(1.05); }
.nx-life__label { position:absolute; left:16px; right:16px; bottom:16px; padding:12px 14px; border-radius:12px; background:rgba(7,22,45,.78); backdrop-filter:blur(8px); color:#fff; font-weight:800; }

.nx-person__image { position:relative; aspect-ratio:4/4.2; overflow:hidden; background:linear-gradient(160deg,var(--nx-soft),#dbe7f5); }
.nx-person__image img { width:100%; height:100%; object-fit:cover; }
.nx-person__body { padding:22px; }
.nx-person__body h3 { margin:0 0 4px; }
.nx-person__body p { margin:0; color:var(--nx-muted); }

.nx-admission { position:relative; overflow:hidden; border-radius:30px; background:linear-gradient(110deg,var(--nx-primary-dark),var(--nx-primary)); color:#fff; }
.nx-admission__inner { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; padding:58px; }
.nx-admission h2 { margin:0 0 16px; font-size:clamp(2rem,4vw,3.5rem); line-height:1.06; }
.nx-admission p { color:rgba(255,255,255,.8); }
.nx-admission__form { display:grid; gap:12px; padding:24px; border-radius:18px; background:#fff; box-shadow:var(--nx-shadow); }
.nx-admission__form input, .nx-admission__form select, .nx-admission__form textarea { width:100%; min-height:48px; padding:10px 13px; border:1px solid var(--nx-border); border-radius:10px; background:#fff; color:var(--nx-ink); }

.nx-post-card__image { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--nx-soft); }
.nx-post-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.nx-post-card:hover .nx-post-card__image img { transform:scale(1.04); }
.nx-post-card__body { padding:24px; }
.nx-post-card__body h3 { margin:10px 0 12px; font-size:1.22rem; }

.nx-page-hero { padding:72px 0; background:linear-gradient(115deg,var(--nx-primary-dark),var(--nx-primary)); color:#fff; }
.nx-page-hero h1 { margin:0; font-size:clamp(2.4rem,5vw,4.6rem); letter-spacing:-.05em; line-height:1.05; }
.nx-breadcrumbs { margin-top:14px; color:rgba(255,255,255,.72); font-size:.9rem; }
.nx-breadcrumbs a { color:#fff; }
.nx-content-wrap { padding:72px 0; }
.nx-content-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:46px; }
.nx-entry { max-width:850px; }
.nx-entry > *:first-child { margin-top:0; }
.nx-entry h2, .nx-entry h3, .nx-entry h4 { line-height:1.25; }
.nx-entry img { border-radius:16px; }
.nx-sidebar { display:grid; align-content:start; gap:22px; }
.nx-widget { padding:24px; border:1px solid var(--nx-border); border-radius:16px; background:#fff; }
.nx-widget h2, .nx-widget h3 { margin-top:0; font-size:1.08rem; }
.nx-pagination { margin-top:40px; }
.nx-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.nx-pagination a, .nx-pagination span { min-width:42px; min-height:42px; display:grid; place-items:center; padding:6px 12px; border:1px solid var(--nx-border); border-radius:10px; }
.nx-pagination .current { background:var(--nx-primary); color:#fff; border-color:var(--nx-primary); }

.nx-footer { background:#071b37; color:rgba(255,255,255,.72); }
.nx-footer__top { padding:70px 0 50px; display:grid; grid-template-columns:1.35fr repeat(3,1fr); gap:42px; }
.nx-footer h2, .nx-footer h3 { color:#fff; }
.nx-footer a { color:rgba(255,255,255,.75); }
.nx-footer a:hover { color:#fff; }
.nx-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.nx-footer__brand { max-width:380px; }
.nx-footer__bottom { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.11); font-size:.88rem; }
.nx-socials { display:flex; gap:8px; }
.nx-socials a { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:10px; }

.alignwide { width:min(1200px,calc(100vw - 32px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.wp-caption, .gallery-caption { color:var(--nx-muted); }
.sticky { border-color:var(--nx-accent); }
.bypostauthor { display:block; }

@media (max-width: 1050px) {
  .nx-nav { position:fixed; top:0; right:-100%; width:min(88vw,380px); height:100dvh; padding:90px 20px 30px; background:#fff; box-shadow:-20px 0 50px rgba(16,33,59,.18); transition:.3s; overflow-y:auto; }
  body.menu-open .nx-nav { right:0; }
  .nx-nav ul { display:block; }
  .nx-nav a { min-height:48px; }
  .nx-nav .sub-menu { position:static; display:none; min-width:0; padding:4px 0 4px 16px; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .nx-nav li.is-open > .sub-menu { display:block; }
  .nx-menu-toggle { display:block; position:relative; z-index:52; }
  .nx-header__actions .nx-btn { display:none; }
  .nx-hero__inner { grid-template-columns:1fr; min-height:auto; text-align:center; }
  .nx-hero__text { margin-inline:auto; }
  .nx-hero__actions { justify-content:center; }
  .nx-hero__visual { min-height:420px; }
  .nx-hero__badge { left:7%; }
  .nx-quicklinks__grid { grid-template-columns:repeat(3,1fr); }
  .nx-quicklink:nth-child(3) { border-right:0; }
  .nx-quicklink:nth-child(n+4) { border-top:1px solid var(--nx-border); }
  .nx-about, .nx-notice-layout, .nx-rector, .nx-admission__inner { grid-template-columns:1fr; }
  .nx-about__visual { max-width:720px; }
  .nx-rector__photo { min-height:360px; }
  .nx-footer__top { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 780px) {
  .nx-section { padding:64px 0; }
  .nx-topbar__inner { min-height:38px; }
  .nx-topbar__items span:nth-child(n+2), .nx-topbar__social { display:none; }
  .nx-header__inner { min-height:72px; }
  .nx-brand__tagline { display:none; }
  .nx-hero__inner { padding-top:56px; }
  .nx-hero__visual { min-height:320px; }
  .nx-hero__badge { bottom:25px; width:150px; }
  .nx-quicklinks { margin-top:-20px; }
  .nx-quicklinks__grid { grid-template-columns:1fr 1fr; }
  .nx-quicklink, .nx-quicklink:nth-child(3) { border-right:1px solid var(--nx-border); border-top:1px solid var(--nx-border); }
  .nx-quicklink:nth-child(1), .nx-quicklink:nth-child(2) { border-top:0; }
  .nx-quicklink:nth-child(even) { border-right:0; }
  .nx-grid--2, .nx-grid--3, .nx-grid--4 { grid-template-columns:1fr; }
  .nx-section-head { align-items:flex-start; flex-direction:column; }
  .nx-stats { grid-template-columns:1fr 1fr; }
  .nx-stat:nth-child(2) { border-right:0; }
  .nx-stat:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.18); }
  .nx-notice { grid-template-columns:62px 1fr; }
  .nx-notice__arrow { display:none; }
  .nx-event { grid-template-columns:105px 1fr; }
  .nx-rector { padding:30px; }
  .nx-life-grid { grid-template-columns:1fr 1fr; grid-template-rows:260px 190px 190px; }
  .nx-life:first-child { grid-column:1/3; grid-row:auto; }
  .nx-admission__inner { padding:34px 24px; }
  .nx-content-layout { grid-template-columns:1fr; }
  .nx-footer__top { grid-template-columns:1fr; }
  .nx-footer__bottom { align-items:flex-start; flex-direction:column; padding:22px 0; }
}

@media (max-width: 520px) {
  .nx-container { width:min(calc(100% - 24px), var(--nx-container)); }
  .nx-brand { min-width:0; }
  .nx-brand__mark { width:42px; height:42px; }
  .nx-brand__name { max-width:180px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nx-hero h1 { font-size:2.7rem; }
  .nx-hero__visual { min-height:260px; }
  .nx-hero__badge { display:none; }
  .nx-quicklinks__grid { grid-template-columns:1fr; }
  .nx-quicklink { border-right:0!important; border-top:1px solid var(--nx-border)!important; }
  .nx-quicklink:first-child { border-top:0!important; }
  .nx-stats { grid-template-columns:1fr; }
  .nx-stat { border-right:0; border-top:1px solid rgba(255,255,255,.18); }
  .nx-stat:first-child { border-top:0; }
  .nx-notice-intro { padding:30px; }
  .nx-event { grid-template-columns:1fr; }
  .nx-event__date { min-height:90px; flex-direction:row; gap:8px; }
  .nx-event__date strong { font-size:2rem; }
  .nx-life-grid { display:grid; grid-template-columns:1fr; grid-template-rows:repeat(4,230px); }
  .nx-life:first-child { grid-column:auto; }
}
