/* =========================
   COLOR SYSTEM
========================= */
:root {
  --bg:#ffffff;            /* white */
  --brand:#2f6bff;         /* blue */
  --brand2:#ffb3d9;        /* light pink */
  --card:#fff3f9;          /* soft pink */
  --gray:#6b7280;          /* gray text */

  --text:#0b1220;          /* dark text */
  --border:rgba(47,107,255,.2);
  --shadow:0 10px 25px rgba(47,107,255,.15);

  --radius:16px;
  --max:1100px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

/* =========================
   GLOBAL
========================= */
* { box-sizing:border-box; }

body {
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

a {
  color:var(--brand);
  text-decoration:none;
}
a:hover { text-decoration:underline; }

.container {
  max-width:var(--max);
  margin:0 auto;
  padding:0 18px;
}

/* =========================
   HEADER / LOGO
========================= */
.site-header {
  background:#ffffff;
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:100;
}

.header-inner {
  display:flex;
  align-items:center;
  gap:24px;
  padding:18px 0;        /* more vertical room */
}

/* 🔥 LOGO FIX — BIGGER & CLEAR */
.site-logo {
  height:88px;          /* BIG & CLEAR */
  width:auto;
  display:block;
}

.brand {
  display:flex;
  align-items:center;
  gap:18px;
  min-width: 340px;      /* prevents shrink */
}

.brand__name {
  font-weight:800;
  font-size:20px;
  color:var(--brand);
}

.brand__tag {
  font-size:13px;
  color:var(--gray);
}

/* =========================
   NAVIGATION
========================= */
.nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-left:auto;
}

.nav__link {
  padding:8px 12px;
  border-radius:999px;
  font-size:14px;
  color:var(--gray);
}

.nav__link:hover {
  background:rgba(47,107,255,.08);
  color:var(--brand);
}

.nav__link--active {
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  color:#ffffff;
}

/* =========================
   HERO
========================= */
.hero {
  padding:40px 0 20px;
}

.hero h1 {
  font-size:36px;
  margin-bottom:10px;
}

.hero__sub {
  color:var(--gray);
  max-width:700px;
}

.hero__cta {
  margin-top:20px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* =========================
   BUTTONS
========================= */
.btn {
  padding:12px 18px;
  border-radius:12px;
  border:none;
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  color:#ffffff;
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--shadow);
}

.btn:hover { filter:brightness(1.05); }

.btn--ghost {
  background:#ffffff;
  border:1px solid var(--brand);
  color:var(--brand);
  box-shadow:none;
}

/* =========================
   CARDS
========================= */
.card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px;
  margin:18px 0;
}

.grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}

/* =========================
   FORMS
========================= */
label {
  font-size:14px;
  color:var(--gray);
  display:block;
  margin-bottom:6px;
}

input, textarea, select {
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#ffffff;
  margin-bottom:14px;
  font-family:var(--font);
}

textarea { resize:vertical; min-height:120px; }

.form__row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

/* =========================
   FOOTER
========================= */
.site-footer {
  background:#ffffff;
  border-top:1px solid var(--border);
  padding:22px 0;
  margin-top:40px;
}

.footer-inner {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
}

.footer-title {
  font-weight:800;
  color:var(--brand);
}

.fine {
  font-size:12px;
  color:var(--gray);
}

/* =========================
   MOBILE
========================= */
@media (max-width: 900px) {
  .site-logo {
    height: 72px;   /* still large on mobile */
  }
.upload-box {
  border:1px dashed var(--border);
  border-radius:16px;
  padding:16px;
  margin:20px 0;
  background:#ffffff;
}

.upload-box legend {
  padding:0 8px;
  font-weight:700;
  color:var(--brand);
}

.upload-box label {
  margin-bottom:12px;
  display:block;
}
