
:root{
  --bg:#1f3b5c;          /* mid blue background */
  --panel:#284b73;       /* cards / panels */
  --text:#f1f5f9;        /* main text */
  --muted:#d1d5db;       /* secondary text */
  --line:#3a5f8f;        /* borders */
  --accent:#7cc6ff;      /* links / highlights */
  --accent2:#9fe3c0;     /* secondary accent */
  --warn:#ffd1d1;
  --max:1100px;
  --radius:18px;
  --shadow: 0 10px 24px rgba(0,0,0,.25);
  --pad: 18px;
  --pad2: 28px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}


*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;background:var(--panel);padding:10px 12px;border-radius:10px;z-index:50}

header{
  position:sticky;top:0;background:rgba(11,12,16,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  z-index:40;
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0; gap:12px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px}
.brand-badge{
  display:inline-block;
  width:28px;
  height:18px;
  background: url("../img/tsns-flag.jpg") no-repeat center / cover;
  border-radius:3px;
  margin-right:10px;
}

.hero-image{
  width:100%;
  height:220px;              /* ↓ smaller height */
  background:
    linear-gradient(
      rgba(31,59,92,0.25),
      rgba(31,59,92,0.25)
    ),
    url("/assets/img/ShetlandFirstHeader.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-bottom:1px solid var(--line);
}


.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:var(--pad2);
  box-shadow:var(--shadow);
.card.hero-image{
  padding: 0;   /* remove card padding */
}

}
.h1{font-size: clamp(30px, 3.5vw, 44px); margin:0 0 8px}
.lead{color:var(--muted);font-size: 1.08rem;margin:0 0 14px}
.kicker{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-weight:600;font-size:.92rem;margin-bottom:10px}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid var(--line); background:rgba(255,255,255,.02);
  color:var(--muted); font-size:.92rem;
}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.04); color:var(--text); font-weight:650;
}
.btn.primary{background:linear-gradient(135deg,rgba(125,211,252,.25),rgba(167,243,208,.18)); border-color:rgba(125,211,252,.35)}
.btn:hover{text-decoration:none;filter:brightness(1.05)}

.grid3{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 30px;
}
@media (max-width: 768px){
  .hero-image{
    height:160px;
  }
}


.h2{margin:0 0 8px;font-size:1.25rem}
.small{color:var(--muted);margin:0}
.notice{
  border-left:4px solid rgba(125,211,252,.55);
  padding:12px 14px;background:rgba(125,211,252,.07);
  border-radius:14px;border:1px solid rgba(125,211,252,.18);
}
footer{
  margin-top:32px;border-top:1px solid var(--line);
  padding:24px 0;color:var(--muted);font-size:.95rem;
}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}
@media (max-width: 900px){ .footer-grid{grid-template-columns:1fr} }
.footer-links{display:flex;flex-wrap:wrap;gap:12px}

.hero-img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  margin:18px 0;
}

/* Banner: flags + crisp text */
.banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  margin:18px 0;
  padding:14px 18px;

  border-radius:18px;
  border:1px solid var(--line);
  box-shadow: var(--shadow);

  /* panel-style background */
  background: rgba(255,255,255,0.06);
}

/* Keep flags crisp by avoiding upscaling too much */
.banner-flag{
  height:72px;           /* adjust to taste */
  width:auto;
  display:block;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.15);

  /* Helps some browsers keep edges sharper */
  image-rendering: -webkit-optimize-contrast;
}

/* Center title */
.banner-title{
  flex:1;
  text-align:center;
  font-family:"Times New Roman", Times, serif;
  font-weight:700;
  letter-spacing:.4px;
  font-size: clamp(36px, 5vw, 64px);
  line-height:1.05;
  color: var(--text);
  text-shadow: 0 3px 10px rgba(0,0,0,0.35);
}


/* Mobile: stack more cleanly */
@media (max-width: 640px){
  .banner{
    gap:10px;
    padding:12px 14px;
  }
  .banner-flag{
    height:52px;
  }
}

/* === Timeline layout === */

.timeline{
  position: relative;
  margin: 24px 0;
  padding-left: 28px;
  border-left: 3px solid var(--line);
}

.timeline-entry{
  position: relative;
  margin-bottom: 28px;
  padding-left: 18px;
}

.timeline-entry::before{
  content: "";
  position: absolute;
  left: -34px;
  top: 4px;
  width: 14px;
  height: 14px;
  background: var(--accent);
  border-radius: 50%;
  border: 3px solid var(--bg);
}

.timeline-date{
  font-weight: 600;
  font-size: .95rem;
  color: var(--muted);
  margin-bottom: 6px;
}

.timeline-title{
  font-weight: 700;
  margin: 0 0 6px;
}

.timeline-text{
  margin: 0 0 6px;
}

.timeline-links{
  font-size: .9rem;
}
.of-nav a, .of-nav a:visited { color:#ffffff !important; }

