/* ════════════════════════════════════════════════
   KOVER — styles.css   v4
   Word-only export · Grouped student cards
   ════════════════════════════════════════════════ */

:root {
  --bg-base:        #09090d;
  --bg-card:        #0f1117;
  --bg-surface:     #161923;
  --bg-input:       #131620;
  --bg-input-focus: #1a1f2e;

  --border:         rgba(255,255,255,0.07);
  --border-focus:   rgba(0,212,170,0.5);
  --border-card:    rgba(255,255,255,0.06);

  --text-primary:   #eef0f8;
  --text-secondary: #8891a8;
  --text-muted:     #454d62;

  --accent:         #00d4aa;
  --accent-dim:     rgba(0,212,170,0.15);
  --accent-border:  rgba(0,212,170,0.3);
  --accent-hover:   #00b894;
  --accent-glow:    rgba(0,212,170,0.25);

  --danger:         #f87171;

  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  20px;
  --radius-xl:  26px;

  --shadow-lg:  0 24px 80px rgba(0,0,0,0.75);

  --font-display: 'Syne', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --transition:   0.22s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { display:block; max-width:100%; }
a { text-decoration:none; }
button { cursor:pointer; font-family:inherit; }
input,select,textarea { font-family:inherit; }
textarea { resize:vertical; }

/* ── PAGES ── */
.page { display:none; min-height:100vh; animation: fadeInPage .38s ease both; }
.page.active { display:block; }
@keyframes fadeInPage { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

/* ── NAVBAR ── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(1.5rem,5vw,4rem); height:66px;
  background:rgba(9,9,13,0.9); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--border);
}
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo-img { width:46px; height:46px; object-fit:contain; border-radius:10px; }
.nav-logo-text {
  font-family:var(--font-display); font-size:1.28rem;
  font-weight:800; letter-spacing:-.02em;
}
.btn-nav-cta {
  padding:9px 22px; background:var(--accent); color:#071a15;
  border:none; border-radius:50px; font-size:.9rem; font-weight:700;
  transition:var(--transition); box-shadow:0 0 22px var(--accent-glow);
}
.btn-nav-cta:hover { background:var(--accent-hover); transform:translateY(-1px); }

/* ── HERO ── */
.hero {
  position:relative; min-height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:3rem;
  padding:100px clamp(1.5rem,6vw,5rem) 80px; overflow:hidden;
}
.hero-bg-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.022) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);
}
.hero-glow { position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; }
.glow-1 { width:480px;height:480px; background:radial-gradient(circle,rgba(0,212,170,.1) 0%,transparent 70%); top:-80px;left:-100px; }
.glow-2 { width:380px;height:380px; background:radial-gradient(circle,rgba(13,71,161,.12) 0%,transparent 70%); bottom:0;right:160px; }

.hero-content { z-index:2; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 16px; background:var(--accent-dim); border:1px solid var(--accent-border);
  border-radius:50px; font-size:.78rem; font-weight:600; color:var(--accent);
  letter-spacing:.04em; margin-bottom:2rem; animation:fadeUp .6s .1s both;
}
.hero-title {
  font-family:var(--font-display); font-size:clamp(2.8rem,5.5vw,4.4rem);
  font-weight:800; line-height:1.07; letter-spacing:-.03em; animation:fadeUp .6s .2s both;
}
.hero-title-accent {
  background:linear-gradient(135deg,#00d4aa 0%,#00b8d9 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-subtitle { font-size:1.02rem; color:var(--text-secondary); line-height:1.7; margin-top:1.4rem; max-width:460px; animation:fadeUp .6s .3s both; }
.hero-actions { display:flex; align-items:center; gap:1rem; margin-top:2.5rem; flex-wrap:wrap; animation:fadeUp .6s .4s both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px; padding:13px 28px;
  background:var(--accent); color:#071a15; border:none; border-radius:50px;
  font-size:.95rem; font-weight:700; transition:var(--transition); box-shadow:0 0 24px var(--accent-glow);
}
.btn-primary:hover { background:var(--accent-hover); transform:translateY(-2px); }
.btn-primary.large { padding:15px 36px; font-size:1.02rem; }
.btn-ghost {
  display:inline-flex; align-items:center; gap:6px; padding:13px 22px;
  background:transparent; color:var(--text-secondary); border:1px solid var(--border);
  border-radius:50px; font-size:.95rem; font-weight:500; transition:var(--transition);
}
.btn-ghost:hover { color:var(--text-primary); border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.04); }

/* ── PREVIEW CARD ── */
.hero-preview-wrap {
  position:relative; z-index:2; display:flex; align-items:center; justify-content:center;
  animation:fadeUp .7s .5s both;
}
.hero-preview-card {
  position:relative; width:min(310px,88vw); background:#fff; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.07); overflow:hidden;
  animation:float 4.5s ease-in-out infinite;
}
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-13px)} }
.preview-shine {
  position:absolute; top:0; left:-60%; width:35%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-15deg); animation:shine 4s 1.2s ease-in-out infinite; z-index:10; pointer-events:none;
}
@keyframes shine { 0%{left:-60%} 60%{left:130%} 100%{left:130%} }

.rp-cover { width:100%; display:flex; flex-direction:column; align-items:center; font-family:'Times New Roman',Times,serif; background:#fff; }
.rp-top-bar { width:100%; height:6px; background:linear-gradient(90deg,#0d47a1,#1565c0,#0d47a1); }
.rp-logo-area { margin:10px 0 6px; display:flex; justify-content:center; }
.rp-logo-circle { width:36px;height:36px; border-radius:50%; border:1.5px solid #c5cae9; display:flex; align-items:center; justify-content:center; background:#f5f7ff; }
.rp-uni   { font-size:7px;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:0 12px;margin-bottom:2px; }
.rp-faculty { font-size:5.5px;color:#283593;text-align:center;padding:0 10px;margin-bottom:1px; }
.rp-dept  { font-size:5.5px;color:#3949ab;text-align:center;padding:0 10px;margin-bottom:6px; }
.rp-hr { width:calc(100% - 24px); margin:0 12px; }
.rp-hr.thick { height:1.5px;background:#0d47a1;margin-bottom:2px; }
.rp-hr.thin  { height:.8px;background:#c5cae9;margin-bottom:6px; }
.rp-hr.mid   { height:.8px;background:#dde4f0;margin:5px 12px 6px;width:calc(100% - 24px); }
.rp-type  { font-size:5.5px;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:1.2px;text-align:center;margin-bottom:3px; }
.rp-title { font-size:7px;font-weight:700;color:#111;text-align:center;line-height:1.3;padding:0 14px;margin-bottom:2px; }
.rp-grid  { display:grid;grid-template-columns:1fr 1fr;gap:0 8px;padding:0 12px;width:100%;margin-bottom:8px; }
.rp-col   { display:flex;flex-direction:column;gap:4px; }
.rp-f     { display:flex;flex-direction:column; }
.rp-l     { font-size:4.5px;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:.6px;margin-bottom:1px; }
.rp-v     { font-size:5px;color:#1a1a1a;border-bottom:.6px solid #e8ecf5;padding-bottom:2px;line-height:1.3; }
.rp-bottom-bar { width:100%;height:4px;background:#0d47a1;margin-top:auto; }
.preview-orbit { position:absolute;border-radius:50%;border:1px solid rgba(0,212,170,.12);pointer-events:none; }
.orbit-1 { width:420px;height:420px;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 28s linear infinite; }
.orbit-2 { width:560px;height:560px;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 45s linear infinite reverse; }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }

/* ── FEATURES ── */
.features { padding:100px clamp(1.5rem,6vw,5rem); }
.features-inner { max-width:1100px; margin:0 auto; }
.section-eyebrow { font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem; }
.section-title { font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:3.5rem; }
.features-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem; }
.feature-card {
  position:relative; background:var(--bg-card); border:1px solid var(--border-card);
  border-radius:var(--radius-xl); padding:2.2rem; transition:var(--transition); overflow:hidden;
}
.feature-card::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(0,212,170,.05) 0%,transparent 60%); opacity:0; transition:var(--transition); }
.feature-card:hover { transform:translateY(-4px); border-color:var(--accent-border); }
.feature-card:hover::before { opacity:1; }
.feature-card.featured { background:linear-gradient(135deg,rgba(0,212,170,.07) 0%,rgba(0,184,148,.04) 100%); border-color:var(--accent-border); }
.feature-badge-top { position:absolute;top:1.2rem;right:1.2rem;padding:4px 10px;background:var(--accent);color:#071a15;border-radius:50px;font-size:.7rem;font-weight:700;letter-spacing:.05em; }
.feature-icon { width:52px;height:52px;border-radius:var(--radius-md);background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:1.3rem; }
.feature-title { font-family:var(--font-display);font-size:1.12rem;font-weight:700;margin-bottom:.65rem; }
.feature-desc  { font-size:.88rem;color:var(--text-secondary);line-height:1.65;margin-bottom:1.2rem; }
.feature-tag   { display:inline-block;padding:4px 12px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:50px;font-size:.73rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em; }

/* ── FOOTER ── */
.footer { padding:1.8rem clamp(1.5rem,6vw,5rem); border-top:1px solid var(--border); }
.footer-inner { max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem; }
.footer-logo { display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:1rem; }
.footer-logo-img { width:34px;height:34px;object-fit:contain;border-radius:8px; }
.footer-copy { font-size:.86rem;color:var(--text-muted); }
.footer-author { color:var(--accent);font-weight:600;transition:color var(--transition); }
.footer-author:hover { color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px; }
.form-footer { margin-top:3rem; }

/* ── FORM PAGE ── */
.form-nav { background:rgba(9,9,13,.95); }
.btn-back { display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:50px;color:var(--text-secondary);font-size:.86rem;font-weight:500;transition:var(--transition); }
.btn-back:hover { color:var(--text-primary); }
.nav-spacer { width:100px; }
.form-page-body { max-width:860px;margin:0 auto;padding:100px clamp(1rem,4vw,2.5rem) 60px; }
.form-header { text-align:center;margin-bottom:3rem; }
.form-page-title { font-family:var(--font-display);font-size:clamp(2rem,4vw,2.7rem);font-weight:800;letter-spacing:-.02em; }
.form-page-subtitle { color:var(--text-secondary);font-size:.98rem;margin-top:.7rem; }
.req-star { color:#f87171; }

/* Form sections */
.form-section { background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:2.2rem;margin-bottom:1.4rem;transition:var(--transition); }
.form-section:hover { border-color:rgba(0,212,170,.12); }
.section-header { display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.8rem; }
.section-num { min-width:38px;height:38px;border-radius:10px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:800;color:var(--accent); }
.section-title-sm { font-family:var(--font-display);font-size:1.02rem;font-weight:700;margin-bottom:3px; }
.section-hint { font-size:.83rem;color:var(--text-muted); }

/* Input grid */
.input-grid { display:grid;gap:1.2rem; }
.two-col { grid-template-columns:1fr 1fr; }
.full-span { grid-column:1/-1; }

/* Input groups */
.input-group { position:relative;display:flex;flex-direction:column;gap:6px; }
.input-group label { font-size:.83rem;font-weight:600;color:var(--text-secondary); }
.input-group input,.input-group select,.input-group textarea {
  padding:11px 14px; background:var(--bg-input); border:1px solid var(--border);
  border-radius:var(--radius-sm); color:var(--text-primary); font-size:.9rem;
  transition:var(--transition); outline:none; width:100%;
}
.input-group input::placeholder,.input-group textarea::placeholder { color:var(--text-muted);font-size:.86rem; }
.input-group input:focus,.input-group select:focus,.input-group textarea:focus { background:var(--bg-input-focus);border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(0,212,170,.08); }
.input-group input.invalid,.input-group select.invalid { border-color:var(--danger); }
.err-msg { font-size:.76rem;color:var(--danger);display:none; }
.input-group.has-error .err-msg,.err-msg.visible { display:block; }
.optional-tag { font-size:.72rem;color:var(--text-muted);letter-spacing:.04em; }

.select-wrap { position:relative; }
.select-wrap select { appearance:none;cursor:pointer;padding-right:36px; }
.select-arrow { position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none; }
select option { background:#1a1e28;color:var(--text-primary); }

.date-input-wrap { position:relative; }
.date-input-wrap input[type="date"] { padding-right:36px;color-scheme:dark; }
.date-icon { position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none; }

/* Upload */
.upload-zone { border:2px dashed var(--border);border-radius:var(--radius-lg);padding:2.4rem 2rem;text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg-input); }
.upload-zone:hover { border-color:var(--accent);background:rgba(0,212,170,.04); }
.upload-zone.drag-over { border-color:var(--accent);background:rgba(0,212,170,.08);transform:scale(1.01); }
.upload-zone.has-error { border-color:var(--danger); }
.upload-icon { width:56px;height:56px;border-radius:50%;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--accent); }
.upload-text { font-size:.93rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px; }
.upload-hint-text { font-size:.78rem;color:var(--text-muted); }
.logo-preview-img { max-height:110px;width:auto;margin:0 auto;border-radius:var(--radius-sm);object-fit:contain; }
.btn-remove-logo { margin-top:8px;padding:6px 14px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);border-radius:6px;color:var(--danger);font-size:.78rem;font-weight:600;transition:var(--transition);display:inline-flex; }
.btn-remove-logo:hover { background:rgba(248,113,113,.2); }

/* ── STUDENT CARDS — 2-column grouped layout ── */
.students-group {
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin-bottom:1rem;
}
.students-group.two-students {
  grid-template-columns:1fr 1fr;
}
.student-card {
  background:var(--bg-surface); border:1px solid var(--border);
  border-radius:var(--radius-md); padding:1.4rem;
  display:flex; flex-direction:column; gap:.9rem;
}
.student-card-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem; }
.student-label { font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent); }
.btn-remove-student { padding:4px 10px;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.2);border-radius:6px;color:var(--danger);font-size:.74rem;font-weight:600;transition:var(--transition); }
.btn-remove-student:hover { background:rgba(248,113,113,.15); }

.btn-add-student {
  display:flex;align-items:center;gap:8px;padding:10px 18px;
  background:var(--accent-dim);border:1px dashed var(--accent-border);
  border-radius:var(--radius-md);color:var(--accent);
  font-size:.86rem;font-weight:600;width:100%;justify-content:center;transition:var(--transition);
}
.btn-add-student:hover { background:rgba(0,212,170,.22); }
.btn-add-student:disabled { opacity:.4;cursor:not-allowed; }

/* Generate */
.form-generate-bar { text-align:center;padding:2rem 0 1rem; }
.btn-generate {
  display:inline-flex;align-items:center;gap:12px;padding:17px 48px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);
  color:#071410;border:none;border-radius:50px;font-size:1.02rem;font-weight:700;
  transition:var(--transition);box-shadow:0 8px 32px var(--accent-glow);position:relative;overflow:hidden;
}
.btn-generate::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 100%);opacity:0;transition:var(--transition); }
.btn-generate:hover { transform:translateY(-3px);box-shadow:0 16px 48px var(--accent-glow); }
.btn-generate:hover::before { opacity:1; }

/* ── MODAL ── */
.modal-overlay { position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s; }
.modal-overlay.open { opacity:1;pointer-events:all; }
.modal-container { width:100%;max-width:700px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);margin:auto;transform:scale(.95) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.modal-overlay.open .modal-container { transform:scale(1) translateY(0); }
.modal-header { display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.7rem;border-bottom:1px solid var(--border);gap:1rem;flex-wrap:wrap; }
.modal-title { display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.98rem;font-weight:700; }
.modal-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.btn-download { display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:50px;font-size:.85rem;font-weight:600;border:none;transition:var(--transition);cursor:pointer; }
.btn-download.word { background:rgba(0,212,170,.12);border:1px solid rgba(0,212,170,.3);color:var(--accent); }
.btn-download.word:hover { background:rgba(0,212,170,.2);transform:translateY(-1px); }
.btn-close-modal { width:35px;height:35px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0; }
.btn-close-modal:hover { color:var(--text-primary);background:rgba(255,255,255,.08); }
.modal-body { padding:1.8rem;background:#d4d8e2;display:flex;justify-content:center; }
.cover-page-wrapper { width:100%;max-width:580px;box-shadow:0 8px 40px rgba(0,0,0,.4); }

/* ══════════════════════════════════════════════
   COVER PAGE OUTPUT — White, Formal, Aesthetic
══════════════════════════════════════════════ */
.cover-page-output {
  background:#ffffff; width:100%; padding:0;
  font-family:'Times New Roman',Times,serif; color:#111; position:relative; overflow:hidden;
}
.cp-stripe-top { width:100%;height:8px;background:linear-gradient(90deg,#0d47a1,#1565c0,#0d47a1); }
.cp-inner { padding:2rem 2.8rem 1.8rem;display:flex;flex-direction:column;align-items:center; }
.cp-logo-wrap { margin-bottom:.7rem; }
.cp-logo-img { max-height:68px;max-width:104px;width:auto;height:auto;object-fit:contain;display:block;margin:0 auto; }
.cp-logo-placeholder { width:58px;height:58px;border-radius:50%;border:1.5px solid #c5cae9;display:flex;align-items:center;justify-content:center;color:#9fa8da;font-size:.58rem;font-weight:700;text-align:center;background:#f5f7ff;margin:0 auto; }
.cp-uni-name { font-size:.9rem;font-weight:700;color:#0d47a1;text-align:center;text-transform:uppercase;letter-spacing:.05em;line-height:1.3;margin-bottom:2px; }
.cp-faculty-name { font-size:.72rem;color:#1a237e;text-align:center;margin-bottom:2px; }
.cp-dept-name    { font-size:.75rem;color:#283593;text-align:center;margin-bottom:.9rem; }
.cp-div-thick { width:100%;height:2px;background:#0d47a1;margin-bottom:3px; }
.cp-div-thin  { width:100%;height:1px;background:#c5cae9;margin-bottom:.9rem; }
.cp-div-light { width:100%;height:1px;background:#e0e6f0;margin:.65rem 0; }
.cp-doc-eyebrow { font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#546e7a;margin-bottom:4px;text-align:center; }
.cp-doc-type  { font-size:.8rem;font-weight:700;color:#0d47a1;text-align:center;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem; }
.cp-doc-title { font-size:1rem;font-weight:700;color:#0d1b3e;text-align:center;line-height:1.38;margin-bottom:.25rem;max-width:94%; }
.cp-body { width:100%; }
.cp-two-col { display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.4rem;width:100%; }
.cp-field { display:flex;flex-direction:column;margin-bottom:.42rem; }
.cp-label { font-size:.58rem;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px; }
.cp-value { font-size:.72rem;color:#1a1a1a;font-weight:400;line-height:1.38;border-bottom:1px solid #e8edf8;padding-bottom:3px; }
.cp-value.sub { font-size:.64rem;color:#546e7a;border:none;padding:0; }
.cp-section-label { font-size:.58rem;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem; }
/* Two-student side-by-side on cover page */
.cp-students-grid { display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.2rem;width:100%; }
.cp-student-col { display:flex;flex-direction:column;background:#f9fbff;border-radius:4px;padding:6px 8px; }
.cp-student-col-label { font-size:.56rem;font-weight:700;color:#0d47a1;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;border-bottom:1px solid #dde4f0;padding-bottom:3px; }
.cp-student-row { display:flex;flex-direction:column;margin-bottom:4px; }
.cp-student-row .cp-label { font-size:.54rem; }
.cp-student-row .cp-value { font-size:.68rem;border-bottom:none;padding-bottom:0; }
.cp-stripe-bottom { width:100%;height:5px;background:#0d47a1; }

/* Scroll reveal */
[data-reveal] { opacity:0;transform:translateY(22px);transition:opacity .48s ease,transform .48s ease; }
[data-reveal].revealed { opacity:1;transform:none; }

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */

/* ── Tablet / small laptop ── */
@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 100px 2rem 60px;
    min-height: auto;
  }
  .hero-subtitle { margin: 1.2rem auto 0; max-width: 520px; }
  .hero-actions   { justify-content: center; }
  .hero-preview-wrap { display: none; }
  .features-grid  { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
}

/* ── Mobile large (≤ 640px) ── */
@media (max-width: 640px) {

  /* Navbar */
  .navbar { padding: 0 1.1rem; height: 58px; }
  .nav-logo-img  { width: 36px; height: 36px; }
  .nav-logo-text { font-size: 1.08rem; }
  .btn-nav-cta   { padding: 7px 16px; font-size: .82rem; }
  .nav-spacer    { display: none; }

  /* Hero */
  .hero {
    padding: 86px 1.2rem 50px;
    gap: 1.6rem;
  }
  .hero-badge    { font-size: .7rem; padding: 5px 12px; margin-bottom: 1.2rem; }
  .hero-title    { font-size: 2rem; letter-spacing: -.025em; line-height: 1.1; }
  .hero-title-accent { font-size: inherit; }
  .hero-subtitle { font-size: .88rem; line-height: 1.65; margin-top: 1rem; }
  .hero-actions  { gap: .75rem; margin-top: 1.6rem; flex-direction: column; align-items: center; }

  .btn-primary      { padding: 11px 24px; font-size: .88rem; width: 100%; max-width: 280px; justify-content: center; }
  .btn-primary.large{ padding: 13px 28px; font-size: .92rem; }
  .btn-ghost        { padding: 11px 20px; font-size: .88rem; width: 100%; max-width: 280px; justify-content: center; }

  /* Features section */
  .features { padding: 60px 1.2rem; }
  .section-title  { font-size: 1.6rem; margin-bottom: 2rem; }
  .feature-card   { padding: 1.6rem; }
  .feature-title  { font-size: 1rem; }
  .feature-desc   { font-size: .84rem; }

  /* Footer */
  .footer { padding: 1.4rem 1.2rem; }
  .footer-inner   { flex-direction: column; align-items: center; text-align: center; gap: .6rem; }
  .footer-logo    { font-size: .92rem; }
  .footer-logo-img{ width: 28px; height: 28px; }
  .footer-copy    { font-size: .8rem; }

  /* Form page */
  .form-page-body { padding: 82px 1rem 50px; }
  .form-page-title{ font-size: 1.7rem; }
  .form-page-subtitle { font-size: .86rem; }
  .form-section   { padding: 1.4rem 1.1rem; margin-bottom: 1rem; }
  .section-num    { min-width: 32px; height: 32px; font-size: .7rem; border-radius: 8px; }
  .section-title-sm { font-size: .94rem; }

  /* Form inputs: always single column on mobile */
  .two-col         { grid-template-columns: 1fr; }
  .full-span       { grid-column: auto; }
  .input-group input,
  .input-group select,
  .input-group textarea { font-size: .88rem; padding: 10px 12px; }

  /* Students */
  .students-group.two-students { grid-template-columns: 1fr; }
  .student-card   { padding: 1.1rem; }

  /* Generate button */
  .btn-generate   { padding: 14px 28px; font-size: .92rem; width: 100%; }

  /* Modal */
  .modal-overlay  { padding: .8rem; }
  .modal-container{ border-radius: var(--radius-lg); }
  .modal-header   { flex-direction: column; align-items: flex-start; padding: 1rem 1.1rem; gap: .7rem; }
  .modal-title    { font-size: .9rem; }
  .modal-actions  { width: 100%; justify-content: space-between; }
  .btn-download   { padding: 8px 14px; font-size: .8rem; flex: 1; justify-content: center; }
  .btn-close-modal{ width: 32px; height: 32px; flex-shrink: 0; }
  .modal-body     { padding: 1rem; }

  /* Cover page preview in modal */
  .cp-inner       { padding: 1.3rem 1.2rem 1rem; }
  .cp-uni-name    { font-size: .78rem; }
  .cp-dept-name   { font-size: .68rem; }
  .cp-faculty-name{ font-size: .65rem; }
  .cp-doc-title   { font-size: .88rem; }
  .cp-two-col,
  .cp-students-grid { grid-template-columns: 1fr; }

  /* Back button */
  .btn-back       { padding: 7px 13px; font-size: .82rem; }
  .btn-back span  { display: none; }   /* hide "Back" text, keep arrow only */
}

/* ── Mobile small (≤ 400px) ── */
@media (max-width: 400px) {
  .hero-title  { font-size: 1.75rem; }
  .hero-subtitle { font-size: .82rem; }
  .btn-primary,
  .btn-ghost   { max-width: 100%; }
  .form-section{ padding: 1.1rem .9rem; }
  .cp-inner    { padding: 1rem .9rem .8rem; }
  .cp-uni-name { font-size: .72rem; }
  .cp-doc-title{ font-size: .8rem; }
}