:root{
  --h0:#04121f; --h1:#092b3d; --h2:#11475f;
  --f0:#04121f; --f1:#0a2333; --f2:#10394c;
  --ink:#0d2b3f; --ink-2:#0d3242;
  --accent:#1e88c6; --accent-lt:#2aa9e1;
  --hi:#f2711c; --hi-2:#e07a2f;
  --pill-bg:#eef3f9; --pill-br:#d5e2ee; --pill-ink:#133a48;
  --panel:#edf4fa;
  --maxw:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Lato',system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
img{max-width:100%;}
a{color:inherit;}

.skip{
  position:absolute; left:-9999px; top:0; background:#f2711c; color:#ffffff;
  padding:10px 16px; z-index:200; font-weight:700;
}
.skip:focus{left:8px; top:8px;}

/* ---------------- NAV + DROPDOWNS ---------------- */
.topnav{
  position:sticky; top:0; z-index:100;
  background:rgba(5,20,32,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid rgba(111,183,207,.22);
}
.navwrap{
  max-width:var(--maxw); margin:0 auto; padding:0 28px;
  display:flex; align-items:center; gap:6px; min-height:56px;
}
.navbrand{
  font-weight:900; letter-spacing:.12em; color:#fff; text-decoration:none;
  font-size:15px; margin-right:14px; white-space:nowrap;
}
.navlinks{margin-left:auto; display:flex; align-items:stretch;}
.navitem{position:relative; display:flex;}
.navitem > a{
  display:flex; align-items:center; gap:5px;
  color:#cbe1ea; text-decoration:none; font-size:13.5px; letter-spacing:.02em;
  padding:18px 11px; border-bottom:2px solid transparent; white-space:nowrap;
}
.navitem > a:hover, .navitem > a.active{color:#fff; border-bottom-color:#f2711c;}
.navitem > a .car{font-size:9px; opacity:.7;}
.dropdown{
  display:none; position:absolute; top:100%; left:0;
  background:#fff; border:1px solid #e2ebf2; min-width:290px;
  box-shadow:0 16px 34px rgba(0,0,0,.20); padding:6px 0; z-index:120;
}
.navitem:hover .dropdown, .navitem.open .dropdown{display:block;}
.dropdown a{
  display:block; padding:10px 18px; text-decoration:none;
  font-size:14px; color:var(--ink); line-height:1.35;
}
.dropdown a:hover, .dropdown a.active{background:var(--pill-bg); color:#09353e;}
.dropdown a small{
  display:block; font-size:11px; color:#5b6268; margin-top:2px; letter-spacing:.02em;
}
.navcta{
  background:#f2711c; color:#ffffff; font-weight:700; padding:8px 15px; border-radius:3px;
  text-decoration:none; font-size:13.5px; letter-spacing:.03em; margin-left:10px; white-space:nowrap;
  align-self:center;
}
.navcta:hover{background:#ff8330; color:#ffffff;}
.navtoggle{display:none; margin-left:auto; background:none; border:0; cursor:pointer; padding:14px 4px;}
.navtoggle span, .navtoggle span::before, .navtoggle span::after{
  content:''; display:block; width:24px; height:2px; background:#cbe1ea; position:relative;
}
.navtoggle span::before{position:absolute; top:-7px;}
.navtoggle span::after{position:absolute; top:7px;}

/* ---------------- HERO (home) ---------------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--h0) 0%, var(--h1) 48%, var(--h2) 100%);
  color:#fff;
  padding:34px 0 50px;
}
.hexes{position:absolute; inset:0; width:100%; height:100%; pointer-events:none;}
.hero-inner{position:relative; z-index:2; text-align:center;}

.topline{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  font-size:13.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
}
.topline .publisher{color:#eef6fa;}
.topline .issn{color:#cbe1ea; font-weight:400; letter-spacing:.08em; text-transform:none; font-size:14.5px;}
.topline-rule{
  height:1px; margin:14px 0 0;
  background:linear-gradient(90deg, rgba(150,200,220,.5), rgba(150,200,220,.10));
}

.emblem{display:block; margin:20px auto 16px; width:min(370px,62vw); height:auto;}

.kicker{
  margin:0; font-size:clamp(15px,2.2vw,25px); font-weight:700;
  letter-spacing:.30em; text-transform:uppercase; color:#cbe1ea;
}
.accent-rule{
  width:min(270px,42vw); height:3px; margin:16px auto 20px;
  background:linear-gradient(90deg, rgba(0,0,0,0), var(--hi-2) 25%, var(--hi-2) 75%, rgba(0,0,0,0));
}
.journal-title{margin:0; font-weight:900; line-height:1.08; letter-spacing:.005em;}
.journal-title span{display:block; text-transform:uppercase; font-size:clamp(27px,5.6vw,62px);}
.journal-title.solo{text-transform:uppercase; font-size:clamp(34px,7.4vw,82px); line-height:1.05;}
.journal-title .t1{font-size:clamp(26px,5.4vw,60px);}
.journal-title .t2{font-size:clamp(21px,4.3vw,48px);}
.subtitle{
  margin:18px 0 0; font-size:clamp(13px,2vw,22px); font-weight:700;
  letter-spacing:.26em; text-transform:uppercase; color:#7fc9dd;
}

/* ---------------- COMPACT HERO (inner pages) ---------------- */
.hero.compact{padding:22px 0 24px;}
.hero.compact .hero-inner{text-align:left;}
.hero.compact .emblem{
  display:inline-block; width:64px; margin:12px 14px 0 0; vertical-align:middle;
}
.hero.compact .titleblock{display:inline-block; vertical-align:middle; margin-top:12px;}
.hero.compact .kicker{font-size:12px; letter-spacing:.22em;}
.hero.compact .jname{
  margin:2px 0 0; font-size:clamp(17px,2.6vw,25px); font-weight:900;
  text-transform:uppercase; line-height:1.15; color:#fff;
}
.hero.compact .jname a{text-decoration:none;}

/* ---------------- DIVIDER ---------------- */
.divider{
  height:6px;
  background:linear-gradient(90deg, #72b254 0%, #2aa9e1 50%, #e07a2f 100%);
}

/* ---------------- LIGHT SECTION (home) ---------------- */
.light{
  background:linear-gradient(180deg, var(--pill-bg) 0%, #ffffff 16%, #ffffff 100%);
  padding:44px 0 56px;
}
.strapline{
  margin:0 0 34px; text-align:center; font-weight:700;
  font-size:clamp(15px,2vw,19.5px); color:#0f3a4c;
}
.pills{display:flex; flex-wrap:wrap; justify-content:center; gap:12px 14px; margin-bottom:38px;}
.pills span{
  background:var(--pill-bg); border:1px solid var(--pill-br); border-radius:999px;
  padding:9px 20px; font-size:15px; font-weight:700; color:var(--pill-ink); white-space:nowrap;
}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:34px;}
.card{
  background:#fff; border:1px solid #e2ebf2; border-top:3px solid var(--accent);
  border-radius:5px; padding:26px 20px 24px; text-align:center;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.card .icon{height:70px; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.card .icon svg{height:66px; width:auto;}
.card h3{margin:0 0 8px; font-size:22px; font-weight:700; color:#0d2b3f;}
.card p{margin:0; font-size:15.5px; line-height:1.6; color:#5b6268; font-weight:400;}

.aim{
  background:var(--panel); border-left:5px solid #f2711c;
  padding:20px 26px 22px; text-align:center; border-radius:0 4px 4px 0;
}
.aim h2{
  margin:0 0 8px; font-size:17px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:#09353e;
}
.aim p{margin:0; font-size:16px; color:#56646d; line-height:1.6;}

/* ---------------- INNER PAGE CONTENT ---------------- */
main.page{max-width:var(--maxw); margin:0 auto; padding:30px 28px 70px;}
.breadcrumb{font-size:12.5px; color:#5b6268; margin-bottom:20px; letter-spacing:.02em;}
.breadcrumb a{color:#5b6268; text-decoration:none;}
.breadcrumb a:hover{color:var(--accent);}

.subnav{
  display:flex; flex-wrap:wrap; border-bottom:1px solid var(--pill-br);
  margin-bottom:30px; gap:0 24px;
}
.subnav a{
  font-size:13px; letter-spacing:.03em; text-transform:uppercase; font-weight:700;
  color:#5b6268; text-decoration:none; padding:11px 0; border-bottom:2px solid transparent;
}
.subnav a:hover{color:var(--accent);}
.subnav a.active{color:#09353e; border-bottom-color:#f2711c;}

.block{margin-bottom:40px;}
.block h1{
  margin:0 0 14px; font-size:clamp(25px,3.6vw,34px); font-weight:900;
  color:#0d2b3f; line-height:1.2;
}
.block h2{margin:30px 0 10px; font-size:20px; font-weight:700; color:#09353e;}
.lead{font-size:18px; line-height:1.65; color:#56646d; max-width:760px; margin:0 0 16px;}
.block p{max-width:760px; line-height:1.7; font-size:16px; color:#56646d; margin:0 0 14px;}
.block ul, .block ol{max-width:750px; padding-left:22px; margin:0 0 16px;}
.block li{margin-bottom:9px; line-height:1.65; font-size:16px; color:#56646d;}
.block a{color:var(--accent);}
.block strong{color:#0d2b3f;}

.note{
  background:var(--panel); border-left:4px solid #f2711c;
  padding:16px 20px; margin:20px 0; max-width:760px; font-size:15.5px; color:#56646d;
}
.note strong{color:#0d2b3f;}

table.data{border-collapse:collapse; width:100%; max-width:800px; margin:18px 0;}
table.data th, table.data td{
  text-align:left; padding:11px 14px; border-bottom:1px solid var(--pill-br);
  font-size:15px; color:#56646d; vertical-align:top;
}
table.data th{
  font-size:11.5px; text-transform:uppercase; letter-spacing:.06em;
  color:#09353e; font-weight:700;
}
table.data td strong{color:#0d2b3f;}

.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin:20px 0;}
.tile{background:#fff; border:1px solid #e2ebf2; border-radius:5px; padding:16px 18px;}
.tile .role{
  font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--accent); font-weight:700; margin-bottom:4px;
}
.tile .who{font-size:16.5px; font-weight:700; color:#0d2b3f;}
.tile .aff{font-size:13.5px; color:#5b6268; margin-top:2px;}

.status{display:flex; flex-wrap:wrap; gap:12px; margin:18px 0;}
.status span{
  border:1px solid var(--pill-br); background:var(--pill-bg); border-radius:4px;
  padding:9px 15px; font-size:13.5px; color:#56646d;
}

.formgrid{display:grid; grid-template-columns:1fr 1fr; gap:34px; max-width:900px;}
.formgrid label{
  display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em;
  color:#09353e; font-weight:700; margin-bottom:6px;
}
.formgrid input, .formgrid textarea{
  width:100%; font-family:inherit; font-size:15px; padding:11px 12px;
  border:1px solid var(--pill-br); background:#fff; margin-bottom:14px; border-radius:3px;
}
.btn{
  background:#f2711c; color:#ffffff; border:0; border-radius:3px; cursor:pointer;
  font-family:inherit; font-weight:700; font-size:13.5px; letter-spacing:.03em;
  padding:12px 22px; text-decoration:none; display:inline-block;
}
.btn:hover{background:#ff8330;}

/* ---------------- FOOTER ---------------- */
.foot{
  background:linear-gradient(135deg, var(--f0) 0%, var(--f1) 55%, var(--f2) 100%);
  color:#cbe1ea; padding:34px 0 30px; text-align:center;
}
.badges{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:26px;}
.badges span{
  border:1px solid rgba(150,200,220,.42); border-radius:999px;
  padding:8px 20px; font-size:14.5px; font-weight:700; color:#eef6fa; white-space:nowrap;
}
.site{margin:0 0 4px; font-size:clamp(18px,2.6vw,25px); font-weight:900; letter-spacing:.02em;}
.site a{color:#fff; text-decoration:none;}
.site a:hover{color:var(--hi);}
.mail{margin:0; font-size:clamp(14px,1.8vw,17px); font-weight:300; color:#cbe1ea;}
.mail a{color:inherit; text-decoration:none;}
.mail a:hover{color:var(--hi);}
.footnav{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px;
  margin:22px auto 0; max-width:820px;
}
.footnav a{font-size:13.5px; color:#cbe1ea; text-decoration:none; opacity:.9;}
.footnav a:hover{color:#fff;}
.foot-rule{
  height:1px; max-width:520px; margin:24px auto 18px;
  background:linear-gradient(90deg, rgba(150,200,220,.06), rgba(150,200,220,.45), rgba(150,200,220,.06));
}
.pub{margin:0 0 4px; font-size:15.5px; font-weight:700; color:#b3cfdb;}
.copy{margin:0; font-size:13.5px; color:#87a8b6;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1040px){
  .navitem > a{padding:18px 8px; font-size:13px;}
  .navbrand{margin-right:8px;}
}
@media (max-width:900px){
  .cards{grid-template-columns:1fr; gap:16px;}
  .formgrid{grid-template-columns:1fr; gap:10px;}
  .navtoggle{display:block;}
  .navlinks{
    display:none; order:3; width:100%; flex-direction:column; align-items:stretch;
    padding-bottom:12px;
  }
  .topnav.open .navlinks{display:flex;}
  .navitem{display:block; width:100%;}
  .navitem > a{padding:12px 0; border-bottom:1px solid rgba(111,183,207,.22); justify-content:space-between;}
  .dropdown{
    position:static; display:none; border:0; box-shadow:none; background:transparent;
    padding:2px 0 8px 14px; min-width:0;
  }
  .navitem.open .dropdown{display:block;}
  .navitem:hover .dropdown{display:none;}
  .navitem.open > a{color:#fff;}
  .dropdown a{color:#cbe1ea; padding:8px 0; font-size:13.5px;}
  .dropdown a:hover, .dropdown a.active{background:transparent; color:#fff;}
  .dropdown a small{color:rgba(150,200,220,.7);}
  .navcta{margin:12px 0 0; text-align:center;}
}
@media (max-width:560px){
  .wrap, .navwrap, main.page{padding-left:18px; padding-right:18px;}
  .topline{flex-direction:column; align-items:center; gap:6px; text-align:center;}
  .topline .publisher{font-size:12px;}
  .topline .issn{font-size:13px;}
  .hero{padding:26px 0 38px;}
  .hero.compact .hero-inner{text-align:center;}
  .hero.compact .emblem{display:block; margin:10px auto 6px;}
  .hero.compact .titleblock{display:block;}
  .subtitle{letter-spacing:.18em; margin-top:14px;}
  .pills{gap:9px 10px;}
  .pills span{padding:8px 15px; font-size:13.5px;}
  .badges span{padding:7px 15px; font-size:13px;}
  .aim{padding:18px 18px 20px;}
  .subnav{gap:0 16px;}
}

@media print{
  .topnav,.skip,.subnav{display:none;}
  .hero,.foot{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
