/* ====== Theme tokens ====== */
:root{
  --bg:#ffffff;
  --card:#f9fafb;
  --muted:#475569;
  --text:#0b0e14;
  --brand:#0ea5e9;
  --brand-2:#0369a1;
  --accent:#14b8a6;
  --border:#e5e7eb;
}

/* ====== Base ====== */
*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}

/* ====== Header (desktop + mobile) ====== */
.site-header{
  border-bottom:1px solid var(--border);
  background:#ffffffcc;
  backdrop-filter:blur(6px);
  position:sticky; top:0; z-index:5;
  padding:12px 0;
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:nowrap;                 /* never wrap rows */
}

.brand{
  display:flex; align-items:center; gap:10px;
  font-weight:700; color:var(--text);
  white-space:nowrap;
}
.brand img{display:block;height:28px;width:28px}

/* Keep nav in ONE row; allow sideways scroll on small screens */
.site-header nav{
  display:flex; align-items:center; gap:18px;
  margin-left:auto;
  flex-wrap:nowrap;                 /* critical: do not stack */
  overflow-x:auto;                  /* swipe horizontally on mobile */
  -webkit-overflow-scrolling:touch;
  white-space:nowrap;
  max-width:100%; min-width:0;
  scrollbar-width:none;             /* Firefox: hide scrollbar */
}
.site-header nav::-webkit-scrollbar{display:none} /* Chrome/Safari: hide scrollbar */

.site-header nav a{
  display:inline-flex;              /* keep on one line */
  flex:0 0 auto;                    /* no grow/shrink unevenly */
  white-space:nowrap;
  color:var(--text); text-decoration:none;
  font-weight:500; font-size:.95rem;
  padding:.25rem .1rem;
}
.site-header nav a:hover{color:var(--brand-2);text-decoration:none}

/* ====== Layout / components ====== */
.hero{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:24px; align-items:center;
  margin-top:28px;
}
.hero h1{font-size:42px;line-height:1.15;margin:0}
.hero p{color:var(--muted);font-size:18px}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;
}

.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.section{margin:36px 0}
.kicker{color:var(--brand-2);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:12px}
.list-plain{list-style:none;margin:0;padding:0}

/* ====== Footer (compact centered) ====== */
.compact-footer{border-top:1px solid var(--border);background:#fafafa;text-align:center;padding:20px 0}
.center-footer a{color:var(--muted);margin:0 6px;font-size:14px}
.center-footer a:hover{color:var(--brand-2);text-decoration:none}
.center-footer .footnote{margin-top:6px;color:#64748b;font-size:13px}

/* ====== Notices / form controls ====== */
.notice{border:1px solid var(--border);border-left:4px solid var(--brand-2);padding:14px;border-radius:10px;background:#f8fafc}
.notice.success{border-left-color:#22c55e}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:#ffffff;color:var(--text)}
label{display:block;margin:10px 0 6px}
form .row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
button{background:#ffffff;color:var(--text);border:1px solid var(--border);padding:12px 16px;border-radius:12px;font-weight:600;cursor:pointer}
button:hover{background:#f1f5f9}
.badge{display:inline-block;background:#eef2f7;border:1px solid var(--border);padding:6px 10px;border-radius:999px;color:#475569;font-size:12px}

/* ====== Responsive tweaks ====== */
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr}
}

@media (max-width:480px){
  /* brand above a thin horizontally-scrollable nav */
  .nav-wrap{flex-direction:column;align-items:flex-start;gap:8px}
  .site-header nav{
    width:100%;
    border-top:1px solid var(--border);
    padding-top:4px; padding-bottom:4px;
    gap:14px;
  }
  .site-header nav a{font-size:.9rem}
}
