:root{

  --logo:#00269B;
  --navy:#0A1C4E;
  --navy-2:#0F2D80;
  --blue:#1D4FC4;
  --blue-soft:#DCE4F8;
  --gold:#F0C24B;

  --paper:#F4F6FA;
  --card:#FFFFFF;
  --ink:#10203A;
  --muted:#586A85;
  --line:#CBD5E4;
  --line-soft:#E2E8F1;

  --on-navy:#FFFFFF;
  --on-navy-muted:#B7C6E0;

  --radius:6px;
  --wrap:1180px;
  --measure:64ch;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --navy:#08182F;
    --navy-2:#0F2A52;
    --blue:#5C9BEA;
    --blue-soft:#14325C;
    --gold:#F0C24B;
    --paper:#0C1524;
    --card:#132036;
    --ink:#E6ECF5;
    --muted:#9AAAC4;
    --line:#2A3B57;
    --line-soft:#1D2C45;
    --on-navy:#FFFFFF;
    --on-navy-muted:#A9BAD6;
  }
}
:root[data-theme="dark"]{
  --navy:#08182F;
  --navy-2:#0F2A52;
  --blue:#5C9BEA;
  --blue-soft:#14325C;
  --gold:#F0C24B;
  --paper:#0C1524;
  --card:#132036;
  --ink:#E6ECF5;
  --muted:#9AAAC4;
  --line:#2A3B57;
  --line-soft:#1D2C45;
  --on-navy:#FFFFFF;
  --on-navy-muted:#A9BAD6;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Nunito Sans', 'Segoe UI', system-ui, sans-serif;
  font-size:17px;
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  line-height:1.1;
  margin:0;
  text-wrap:balance;
}
p{ margin:0; }
a{ color:var(--blue); text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible, button:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{ width:min(var(--wrap), 100% - 2.5rem); margin-inline:auto; }

.eyebrow{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--blue);
}
.hero .eyebrow, .navy .eyebrow{ color:var(--gold); }

.topbar{
  background:var(--navy);
  color:var(--on-navy);
  position:sticky; top:0; z-index:20;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  min-height:64px;
}
.brand{
  display:flex; align-items:center; gap:.7rem;
  color:var(--on-navy); text-decoration:none;
}
.brand .logo{ width:auto; height:30px; flex:none; color:#fff; display:block; }
.brand .sub{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-weight:600; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--on-navy-muted); line-height:1.25;
  border-left:1px solid rgba(255,255,255,.25); padding-left:.7rem;
}
.brand .sub b{ display:block; color:var(--on-navy); font-weight:600; }
.footer .logo{ height:34px; width:auto; color:#fff; display:block; margin-bottom:1rem; }

.watermark{
  position:absolute; pointer-events:none;
  color:#fff; opacity:.06; width:min(52vw, 620px); height:auto;
  right:-2%; top:-6%;
}
.nav{ display:flex; gap:1.6rem; flex-wrap:wrap; justify-content:flex-end; }
.nav a{
  color:var(--on-navy); text-decoration:none;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:500; font-size:.92rem;
  padding:.4rem 0; border-bottom:2px solid transparent;
}
.nav a:hover, .nav a[aria-current="page"]{ border-bottom-color:var(--gold); }
.nav a.cta{
  background:var(--gold); color:var(--navy); font-weight:700;
  padding:.45rem .9rem; border-radius:var(--radius); border-bottom:0;
}
.nav a.cta:hover{ filter:brightness(1.06); }

.nav a.cta-2{
  border:2px solid rgba(255,255,255,.7); color:var(--on-navy); font-weight:700;
  padding:.36rem .85rem; border-radius:var(--radius); margin-left:.4rem;
}
.nav a.cta-2:hover{ border-color:#fff; background:rgba(255,255,255,.1); }
.nav a.cta-2[aria-current="page"]{ background:#fff; color:var(--navy); border-color:#fff; }
.nav a.cta[aria-current="page"]{ box-shadow:0 0 0 2px rgba(255,255,255,.6); }
@media (max-width: 760px){
  .topbar .wrap{ flex-wrap:wrap; padding-block:.6rem; }
  .nav{ gap:1rem; justify-content:flex-start; }
}

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:.95rem;
  padding:.75rem 1.3rem; border-radius:var(--radius);
  text-decoration:none; border:2px solid transparent;
}
.btn-gold{ background:var(--gold); color:#10203A; }
.btn-gold:hover{ filter:brightness(1.06); }
.btn-ghost{ border-color:rgba(255,255,255,.55); color:var(--on-navy); }
.btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.btn-blue{ background:var(--blue); color:#fff; }
.btn-blue:hover{ filter:brightness(1.08); }
.btn-outline{ border-color:var(--blue); color:var(--blue); }

.section{ padding-block:4.5rem; }
.section + .section{ border-top:1px solid var(--line-soft); }
.section-head{
  display:flex; flex-direction:column; gap:.6rem; margin-bottom:2.2rem;
}
.section-head h2{ font-size:clamp(1.7rem, 3vw, 2.4rem); font-weight:700; }
.section-head p{ color:var(--muted); max-width:var(--measure); }
.navy{ background:var(--navy); color:var(--on-navy); }
.navy .section-head p{ color:var(--on-navy-muted); }

.footer{
  background:var(--navy); color:var(--on-navy-muted);
  padding-block:3rem 2rem; font-size:.95rem;
}
.footer .wrap{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; }
.footer h4{ color:var(--on-navy); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.8rem; }
.footer a{ color:var(--on-navy); }
.footer .legal{
  grid-column:1/-1; border-top:1px solid rgba(255,255,255,.12);
  padding-top:1.2rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem;
  font-size:.85rem;
}
@media (max-width: 760px){ .footer .wrap{ grid-template-columns:1fr; } }

.dates{
  display:grid; grid-template-columns:repeat(7, 1fr); gap:0;
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:var(--card);
}
.dates li{
  padding:1.1rem .95rem; border-right:1px solid var(--line-soft);
  display:flex; flex-direction:column; gap:.35rem;
}
.dates li:last-child{ border-right:0; }
.dates .d{
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:1.1rem;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em; white-space:nowrap;
}
.dates .l{ font-size:.92rem; color:var(--muted); line-height:1.3; }

.dates li.proslo .d{ color:var(--muted); text-decoration:line-through; text-decoration-thickness:1px; }
.dates li.proslo .l{ color:var(--muted); opacity:.75; }
.dates li.now{ background:var(--blue-soft); box-shadow:inset 0 3px 0 var(--blue); }
.dates li.now .d{ color:var(--blue); }
.dates li.now .l::after, .dates.zavrseno li.event .l::after{
  content:"u tijeku"; display:inline-block; margin-left:.45rem; vertical-align:middle;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--blue); padding:.12rem .45rem; border-radius:3px;
}
.dates li.event.now{ box-shadow:inset 0 3px 0 var(--gold); }
.dates li.event.now .d{ color:var(--gold); }
.dates li.event.now .l::after{ content:"uskoro"; background:var(--gold); color:#10203A; }
.dates.zavrseno li.event .l::after{ content:"održano"; background:var(--gold); color:#10203A; }
.dates li.event.proslo .d{ text-decoration:none; color:var(--gold); }
.dates li.event.proslo .l{ opacity:1; color:var(--on-navy-muted); }
.dates li.event{ background:var(--navy); color:var(--on-navy); }
.dates li.event .d{ color:var(--gold); }
.dates li.event .l{ color:var(--on-navy-muted); }
@media (max-width: 1100px){ .dates{ grid-template-columns:repeat(4,1fr); } .dates li{ border-bottom:1px solid var(--line-soft); } }
@media (max-width: 760px){ .dates{ grid-template-columns:repeat(3,1fr); } }
@media (max-width: 560px){ .dates{ grid-template-columns:1fr 1fr; } }

.badge{
  display:inline-block; background:var(--blue-soft); color:var(--blue);
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:.75rem;
  letter-spacing:.08em; text-transform:uppercase; padding:.25rem .6rem; border-radius:3px;
}
