:root {
    --esne-navy: #020b16;
    --esne-navy-2: #071829;
    --esne-blue: #0c4d78;
    --esne-cyan: #16d7df;
    --esne-teal: #009eae;
    --esne-orange: #ff6519;
    --esne-gold: #f7a34b;
    --esne-light: #f4f8fb;
    --esne-text: #17212b;
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--esne-text); background: #fff; }
h1, h2, h3, .display-4 { letter-spacing: -0.03em; }
h2 { font-weight: 800; }
a { text-decoration: none; }

.topbar { background: #010812; border-bottom: 1px solid rgba(255,255,255,.08); }
.top-link { color: rgba(255,255,255,.7); }
.top-link:hover { color: var(--esne-cyan); }
.language-select { width: auto; background-color: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.15); }
.language-select option { color: #111; }
.journal-navbar { background: rgba(3,16,30,.97); backdrop-filter: blur(12px); box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.navbar-brand strong { display:block; font-size: 1.45rem; letter-spacing:.02em; }
.navbar-brand strong span { color: var(--esne-orange); }
.navbar-brand small { display:block; font-size:.65rem; color:rgba(255,255,255,.55); letter-spacing:.16em; text-transform:uppercase; }
.brand-mark { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--esne-cyan),var(--esne-blue)); color:#00131e; font-size:1.5rem; }
.navbar .nav-link { color: rgba(255,255,255,.75); font-size:.9rem; font-weight:600; }
.navbar .nav-link:hover, .navbar .nav-link.active { color:#fff; }
.btn-submit { background: var(--esne-orange); color:#fff; border-radius:999px; padding:.65rem 1rem; font-weight:700; }
.btn-submit:hover { background:#ff7a3a; color:#fff; transform:translateY(-1px); }

.landing-body { background: var(--esne-navy); }
.landing-page { position:relative; overflow:hidden; color:#fff; background:
    radial-gradient(circle at 15% 20%, rgba(22,215,223,.18), transparent 30%),
    radial-gradient(circle at 80% 65%, rgba(255,101,25,.13), transparent 30%),
    linear-gradient(135deg,#020810 0%,#071b2f 55%,#020810 100%); }
.landing-page::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:40px 40px; }
.landing-orb { position:absolute; border-radius:50%; filter:blur(10px); opacity:.3; }
.landing-orb-one { width:360px;height:360px;background:var(--esne-cyan);left:-180px;top:-100px; }
.landing-orb-two { width:260px;height:260px;background:var(--esne-orange);right:-100px;bottom:-80px; }
.eyebrow, .eyebrow-dark { display:inline-flex; align-items:center; gap:.5rem; text-transform:uppercase; letter-spacing:.18em; font-size:.75rem; font-weight:800; }
.eyebrow { color:var(--esne-cyan); }
.eyebrow-dark { color:var(--esne-teal); }
.landing-title { font-size:clamp(2.5rem,6vw,5rem); font-weight:800; max-width:900px; }
.landing-lead { color:rgba(255,255,255,.7); font-size:1.1rem; max-width:720px; line-height:1.8; }
.btn-primary-esne { background:linear-gradient(135deg,var(--esne-orange),#ff7d35); border:none; color:#fff; border-radius:12px; font-weight:800; box-shadow:0 12px 28px rgba(255,101,25,.25); }
.btn-primary-esne:hover { color:#fff; transform:translateY(-2px); box-shadow:0 16px 35px rgba(255,101,25,.32); }
.stat-card { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); border-radius:16px; padding:1rem; backdrop-filter:blur(8px); }
.stat-card strong { display:block; font-size:.95rem; }
.stat-card span { color:rgba(255,255,255,.52); font-size:.78rem; }
.cover-link { position:relative; border-radius:24px; }
.journal-cover { max-height:720px; border-radius:20px; box-shadow:0 35px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.12); transition:.45s ease; }
.cover-link:hover .journal-cover { transform:translateY(-8px) scale(1.015); box-shadow:0 45px 110px rgba(0,0,0,.65),0 0 35px rgba(22,215,223,.18); }
.cover-action { position:absolute; left:50%; bottom:20px; transform:translateX(-50%) translateY(10px); background:rgba(1,10,18,.88); color:#fff; border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:.7rem 1rem; font-size:.8rem; font-weight:700; white-space:nowrap; opacity:0; transition:.3s; }
.cover-link:hover .cover-action { opacity:1; transform:translateX(-50%) translateY(0); }
.cover-note { color:rgba(255,255,255,.55); font-size:.85rem; }

.hero-journal { position:relative; overflow:hidden; color:#fff; background:
    radial-gradient(circle at 75% 25%, rgba(22,215,223,.16), transparent 28%),
    radial-gradient(circle at 20% 70%, rgba(255,101,25,.12), transparent 26%),
    linear-gradient(135deg,#020b16 0%,#08233d 55%,#02101f 100%); }
.hero-journal::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent); }
.hero-kicker { color:var(--esne-cyan); text-transform:uppercase; letter-spacing:.18em; font-weight:800; font-size:.8rem; }
.hero-text { color:rgba(255,255,255,.72); font-size:1.08rem; line-height:1.8; max-width:760px; }
.hero-meta span { color:rgba(255,255,255,.7); font-weight:600; }
.journal-cover-small { max-height:580px; }
.journal-strip { background:#05111e; color:#d6faff; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.journal-strip span { font-size:.85rem; font-weight:700; letter-spacing:.03em; }
.journal-strip i { color:var(--esne-cyan); margin-right:.4rem; }

.section-space { padding:90px 0; }
.bg-light-soft { background:var(--esne-light); }
.bg-dark-esne { background:linear-gradient(135deg,#03101d,#08263f); }
.section-heading { max-width:700px; }
.section-heading h2 { margin-top:.75rem; }
.section-heading p { color:#73808c; }
.issue-card { background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 24px 70px rgba(17,38,58,.12); border:1px solid rgba(8,49,78,.08); }
.issue-cover-panel { background:#04111f; display:grid; place-items:center; padding:2rem; }
.issue-cover-panel img { max-height:560px; border-radius:12px; box-shadow:0 20px 50px rgba(0,0,0,.35); }
.issue-badge { background:rgba(0,158,174,.12); color:var(--esne-teal); padding:.6rem .8rem; border-radius:999px; }
.info-box { padding:1rem; border-radius:14px; background:#f7fafc; border:1px solid #edf2f5; }
.info-box small { display:block; color:#7c8993; }
.info-box strong { display:block; margin-top:.3rem; }
.btn-dark-esne { background:#04111f; color:#fff; border-radius:10px; font-weight:700; padding:.8rem 1.1rem; }
.btn-dark-esne:hover { background:var(--esne-blue); color:#fff; }
.text-link { color:var(--esne-teal); font-weight:700; }
.article-card { padding:1.8rem; border-radius:20px; border:1px solid #e7edf1; background:#fff; transition:.3s; }
.article-card:hover { transform:translateY(-7px); box-shadow:0 20px 50px rgba(13,56,87,.12); border-color:rgba(0,158,174,.35); }
.article-icon { width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(22,215,223,.16),rgba(12,77,120,.12));color:var(--esne-teal);font-size:1.35rem; }
.article-category { display:block; margin-top:1.2rem; color:var(--esne-orange); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.article-card h3 { font-size:1.23rem; line-height:1.45; margin-top:.8rem; }
.article-card p { color:#6f7c86; font-size:.92rem; line-height:1.7; }
.article-card a { color:var(--esne-teal); font-weight:700; }
.value-card { height:100%; padding:1.5rem; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); color:#fff; }
.value-card i { color:var(--esne-cyan); font-size:1.6rem; }
.value-card h4 { font-size:1rem; margin-top:1rem; }
.value-card p { color:rgba(255,255,255,.55); font-size:.85rem; margin-bottom:0; }
.submission-box { padding:2.5rem; border-radius:24px; background:linear-gradient(135deg,#ecfbfc,#fff4ec); border:1px solid rgba(0,158,174,.13); }
.team-card { height:100%; padding:1.5rem; background:#fff; border-radius:18px; border:1px solid #e6edf1; text-align:center; }
.team-avatar { width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--esne-blue),var(--esne-teal));color:#fff;font-weight:800;font-size:1.1rem;box-shadow:0 10px 30px rgba(0,158,174,.2); }
.team-card h4 { font-size:1rem; }
.team-card p { color:var(--esne-orange); margin-bottom:0; font-size:.85rem; font-weight:700; }
.policy-card { height:100%; padding:1.8rem; border-radius:18px; background:#fff; border:1px solid #e5edf1; }
.policy-card i { font-size:1.8rem; color:var(--esne-teal); }
.policy-card h4 { margin-top:1rem; }
.policy-card p { color:#6e7b85; }
.policy-card a { color:var(--esne-orange); font-weight:700; }
.footer-section { background:#010812; color:#fff; }
.footer-brand { font-weight:800; font-size:1.5rem; }
.footer-brand span { color:var(--esne-orange); }
.footer-section h6 { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; color:var(--esne-cyan); }
.footer-section a { display:block; color:rgba(255,255,255,.55); margin:.55rem 0; font-size:.88rem; }
.footer-section a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); }

@media (max-width: 991.98px) {
    .journal-navbar .navbar-collapse { padding:1rem 0; }
    .landing-page { text-align:center; }
    .landing-lead { margin-left:auto; margin-right:auto; }
    .landing-page .d-flex { justify-content:center; }
    .journal-cover { max-height:620px; }
    .section-space { padding:70px 0; }
}

@media (max-width: 575.98px) {
    .landing-title { font-size:2.45rem; }
    .display-4 { font-size:2.25rem; }
    .journal-cover { border-radius:14px; }
    .submission-box { padding:1.5rem; }
    .section-space { padding:58px 0; }
}
