:root{
  --bg:#f8fafc;          /* page background */
  --surface:#ffffff;      /* card background */
  --text:#0f172a;         /* slate-900 */
  --muted:#475569;        /* slate-600 */
  --line:#e2e8f0;         /* slate-200 */
  --accent:#0ea5e9;       /* sky-500 */
  --accent-strong:#0284c7;/* sky-600 */
  --danger:#e11d48;       /* rose-600 */
  --success:#0ea5a5;      /* teal-ish */
  --radius:14px;
  --shadow:0 1px 2px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.06);
  --max:1200px;          /* widened container */
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font:16px/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial;
}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-strong)}
.container{max-width:var(--max);margin-inline:auto;padding:28px}

/* Header / Nav */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;gap:18px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.2px;color:#0b1220}
.brand .logo{width:18px;height:18px;border-radius:6px;background:var(--accent)}
nav ul{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
nav a{display:inline-block;padding:10px 12px;border-radius:10px;color:var(--text)}
nav a:hover, nav a:focus{background:#eef2f7}
nav a.active{background:transparent;border-bottom:2px solid var(--accent); border-radius:0}

/* Hero */
.hero{display:grid;gap:16px;grid-template-columns:1fr;align-items:start;margin-top:16px}
.hero-photo{
  /* was: center/cover no-repeat */
  background:
    linear-gradient(to bottom, rgba(2,6,23,.06), rgba(2,6,23,.06)),
    url('/assets/hero.jpg') center/contain no-repeat;
  background-color: #0b1220; /* fill behind letterbox */
  border-radius: 10px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  aspect-ratio: 4 / 3;  /* closer to the photo’s shape = less letterbox */
  min-height: 320px;
}



/* Cards & headings */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
h1{margin:0 0 10px;font-size:clamp(32px,4vw,44px);line-height:1.15;color:#0b1220}
h2{margin:0 0 14px;font-size:clamp(22px,3vw,28px);color:#0b1220}
h3{margin:22px 0 10px;font-size:18px;color:#111827}
p.lead{color:#334155;max-width:65ch}

/* Grid helpers */
.two-col{display:grid;gap:18px;grid-template-columns:1fr 1fr}

/* Form styles */
form{display:grid;gap:12px}
label{font-weight:700;color:#0b1220}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input, textarea, select{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);
  background:#ffffff;color:var(--text);outline:none;transition:border-color .15s, box-shadow .15s, background .15s
}
input::placeholder, textarea::placeholder{color:#94a3b8}
input:focus, textarea:focus, select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(14,165,233,.15)}
textarea{min-height:130px;resize:vertical}

.btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;
  background:var(--accent);color:white;box-shadow:0 6px 18px rgba(14,165,233,.3);
  transition:transform .1s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(14,165,233,.35)}
.btn:active{transform:translateY(0)}
.btn.secondary{background:#eef2f7;color:#0b1220;border:1px solid var(--line);box-shadow:none}

.note{font-size:.92rem;color:var(--muted)}
.success{display:none;margin-top:8px;color:var(--success);font-weight:700}
.error{display:none;margin-top:8px;color:var(--danger);font-weight:700}

/* Sections */
section{scroll-margin-top:90px}
.section{margin-top:36px}

/* Alert card */
.alert{border-left:6px solid var(--danger);background:#fff1f2}
.alert h2{margin-top:0}

/* Lists */
.list{list-style:none;padding:0;margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff}
.list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line)}
.list li:first-child{border-top:0}
.list li a{flex:1;text-decoration:none;color:var(--text)}
.badge{font-size:.78rem;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:#0b1220;background:#f1f5f9}

/* Footer */
footer{margin-top:56px;border-top:1px solid var(--line)}

/* Small screens */
@media (max-width: 900px){
  .two-col{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
}

/* Utility */
.sr-only{position:absolute;left:-9999px}
.muted{color:var(--muted)}
.mt-8{margin-top:8px}
