:root{
  --navy:#1c3f92; --navy-dark:#183477; --navy-deeper:#133153; --navy-darkest:#0d1e45;
  --off:#fbfcff; --gray:#e6e6e6;
  --mint:#c8efb5; --sage:#a1d08b; --green:#89c46e;
  --sky-l:#a0cdf9; --sky:#79b8f6; --sky-v:#4099f2;
  --ink:#0d1e45; --muted:#5a6b8c;
  --amber:#e8a33d; --rose:#e06b6b;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--off); color:var(--ink);
  font-family:'Poppins',Montserrat,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
.boot{padding:80px; text-align:center; color:var(--muted)}
h1,h2,h3,h4{font-weight:600; line-height:1.22; margin:0 0 .5em; letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,4vw,2.6rem)}
h2{font-size:clamp(1.4rem,3vw,1.9rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--navy)}
.eyebrow{
  font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; font-size:.9rem; color:var(--green); display:block; margin-bottom:.7em;
}
.eyebrow.light{color:var(--mint)}
.muted{color:var(--muted)}
.small{font-size:.88rem}
.center{text-align:center}

/* shell */
.shell{max-width:720px; margin:0 auto; padding:0 20px}
.shell.wide{max-width:1060px}
.topbar{
  background:linear-gradient(120deg,var(--navy-darkest),var(--navy-deeper) 55%,var(--navy));
  color:#fff; padding:18px 0;
}
.topbar .row{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.tb-logo{height:34px; width:auto; display:block}
.tb-venue{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.13em;
  font-size:.82rem; color:var(--sky-l); font-weight:600;
}
.venue-logo{max-height:44px; max-width:190px; width:auto; background:#fff; padding:5px 9px; border-radius:8px}

/* banners */
.banner{
  padding:11px 20px; font-size:.87rem; text-align:center; font-weight:500;
}
.banner.preview{background:var(--mint); color:var(--navy-darkest)}
.banner.warn{background:#fdf1dc; color:#7a5312}

/* card */
.card{
  background:#fff; border:1px solid var(--gray); border-radius:18px;
  padding:34px 36px; margin:26px 0; box-shadow:0 1px 3px rgba(13,30,69,.04);
}
@media(max-width:640px){ .card{padding:24px 20px; border-radius:14px} }

/* progress */
.progress{height:5px; background:var(--gray); border-radius:99px; overflow:hidden; margin:0 0 26px}
.progress i{
  display:block; height:100%; border-radius:99px; transition:width .35s ease;
  background:linear-gradient(90deg,var(--green),var(--sky-v));
}
.stepno{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.14em;
  font-size:.8rem; color:var(--muted); font-weight:600; margin-bottom:14px;
}

/* context box */
.context{
  background:rgba(64,153,242,.08); border-radius:12px; padding:16px 20px;
  font-size:.95rem; margin:0 0 22px; line-height:1.62;
}
.context.green{background:rgba(137,196,110,.15)}
.context p:last-child{margin-bottom:0}

/* options */
.opts{display:grid; gap:10px; margin:22px 0 0}
.opt{
  display:flex; gap:13px; align-items:flex-start; cursor:pointer;
  border:1.5px solid var(--gray); border-radius:12px; padding:14px 17px;
  background:#fff; transition:border-color .14s, background .14s;
  font-size:.97rem; line-height:1.5;
}
.opt:hover{border-color:var(--sky)}
.opt.on{border-color:var(--navy); background:rgba(28,63,146,.05)}
.opt input{margin:4px 0 0; accent-color:var(--navy); flex:none; width:17px; height:17px}
.opt .txt{flex:1}
.opt .sub{display:block; font-size:.85rem; color:var(--muted); margin-top:2px}

input[type=text], input[type=email], input[type=number], textarea, select{
  width:100%; padding:12px 15px; border:1.5px solid var(--gray); border-radius:10px;
  font-family:inherit; font-size:.97rem; color:var(--ink); background:#fff;
}
input:focus, textarea:focus, select:focus{outline:none; border-color:var(--sky-v)}
textarea{min-height:86px; resize:vertical}
label.fld{display:block; margin:0 0 16px}
label.fld > span{
  display:block; font-size:.85rem; font-weight:500; margin-bottom:6px; color:var(--navy-deeper);
}
label.fld .hint{font-weight:400; color:var(--muted)}
.sub-input{margin:10px 0 0 30px}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 16px}
@media(max-width:600px){ .grid2{grid-template-columns:1fr} }

/* buttons */
.nav{display:flex; gap:12px; align-items:center; margin-top:28px; flex-wrap:wrap}
.btn{
  display:inline-block; border:none; cursor:pointer; font-family:inherit; font-weight:600;
  font-size:.98rem; padding:13px 30px; border-radius:40px; text-decoration:none; text-align:center;
  background:linear-gradient(90deg,var(--green),var(--sky)); color:var(--navy-darkest);
  transition:opacity .14s;
}
.btn:hover{opacity:.9}
.btn:disabled{opacity:.4; cursor:not-allowed}
.btn.solid{background:var(--navy); color:#fff}
.btn.ghost{background:transparent; color:var(--muted); border:1.5px solid var(--gray)}
.btn.sm{padding:9px 18px; font-size:.87rem}
.btn.block{display:block; width:100%}
.err{color:var(--rose); font-size:.9rem; margin-top:12px}

/* video */
.video{
  position:relative; padding-top:56.25%; border-radius:14px; overflow:hidden;
  background:var(--navy-darkest); margin:0 0 22px;
}
.video iframe{position:absolute; inset:0; width:100%; height:100%; border:0}

/* result / link boxes */
.linkbox{
  background:var(--navy-darkest); color:#fff; border-radius:14px; padding:20px 22px; margin:0 0 14px;
}
.linkbox .lbl{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.14em;
  font-size:.76rem; color:var(--mint); font-weight:600; margin-bottom:8px;
}
.linkbox .url{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.84rem;
  word-break:break-all; color:#dce8fb; margin-bottom:12px; line-height:1.5;
}
.linkbox .note{font-size:.83rem; color:#9db3d8; margin:10px 0 0}

/* dashboard */
.kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:14px; margin:0 0 24px}
.kpi{background:#fff; border:1px solid var(--gray); border-radius:14px; padding:20px}
.kpi .n{font-size:2rem; font-weight:600; line-height:1; color:var(--navy)}
.kpi .n.good{color:#2e8b3d}
.kpi .n.warn{color:var(--amber)}
.kpi .l{font-size:.8rem; color:var(--muted); margin-top:8px; line-height:1.4}
.bars{margin:0 0 8px}
.bar{display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; margin-bottom:9px; font-size:.9rem}
.bar .track{background:var(--gray); border-radius:99px; height:22px; position:relative; overflow:hidden}
.bar .fill{
  position:absolute; inset:0 auto 0 0; border-radius:99px;
  background:linear-gradient(90deg,var(--sky-v),var(--sky)); min-width:2px;
}
.bar .cap{position:relative; padding:0 11px; line-height:22px; font-size:.85rem; color:var(--ink)}
.bar .ct{font-variant-numeric:tabular-nums; color:var(--muted); font-size:.85rem; min-width:38px; text-align:right}
.qblock{margin:0 0 30px}
.qblock h3{font-size:1rem; margin-bottom:14px}
.tags{display:flex; flex-wrap:wrap; gap:8px}
.tag{
  background:rgba(28,63,146,.07); border-radius:8px; padding:6px 12px; font-size:.87rem;
}
.tbl{width:100%; border-collapse:collapse; font-size:.87rem}
.tbl th,.tbl td{padding:11px 13px; text-align:left; border-bottom:1px solid var(--gray); vertical-align:top}
.tbl th{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.09em;
  font-size:.83rem; color:var(--muted); font-weight:600;
}
.tbl-wrap{overflow-x:auto}
.pill{
  display:inline-block; font-size:.76rem; padding:2px 9px; border-radius:20px; font-weight:600;
  background:var(--gray); color:var(--muted);
}
.pill.hot{background:#dff3e2; color:#2e8b3d}
.pill.warm{background:#fdf1dc; color:#8a5e18}
footer.f{
  text-align:center; color:var(--muted); font-size:.82rem; padding:34px 20px 46px; line-height:1.7;
}
footer.f a{color:var(--navy)}
