:root{
  --bg:#ffffff;
  --ink:#0B1220;
  --muted:#4B5563;
  --line:#E5E7EB;
  --teal:#0EA5A8;
  --blue:#1D4ED8;
  --card:#F8FAFC;
  --shadow: 0 10px 30px rgba(2, 6, 23, .08);
  --radius: 18px;
  --max: 1160px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.92}

.container{max-width:var(--max);margin:0 auto;padding:0 20px}

.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.nav-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.nav-links a{font-weight:800;color:#111827;font-size:14px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:999px;font-weight:900;font-size:14px;
  border:1px solid var(--line);background:#fff;
}
.btn-primary{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-color:transparent}
.btn-muted{background:var(--card)}
.btn:focus{outline:2px solid rgba(14,165,168,.4);outline-offset:2px}

.hero{
  padding:64px 0 26px;
  background:
    radial-gradient(1000px 500px at 20% 0%, rgba(14,165,168,.16), transparent 60%),
    radial-gradient(900px 450px at 80% 10%, rgba(29,78,216,.12), transparent 55%);
  border-bottom:1px solid var(--line);
}
.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.h1{font-size:46px;line-height:1.08;margin:0 0 14px;letter-spacing:-.02em}
.lede{font-size:18px;color:var(--muted);margin:0 0 18px;max-width:62ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.badge{padding:8px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:#111827;background:#fff}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-card{padding:18px}

.section{padding:54px 0;border-bottom:1px solid var(--line)}
.h2{font-size:30px;margin:0 0 10px;letter-spacing:-.01em}
.p{color:var(--muted);margin:0;max-width:80ch}

.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}

.feature{padding:18px}
.feature h3{margin:10px 0 6px;font-size:16px}
.feature p{margin:0;color:var(--muted);font-size:14px}
.iconrow{display:flex;gap:10px;align-items:center}
.iconrow img{width:40px;height:40px}

.callout{padding:18px}
.small{font-size:12px;color:var(--muted)}
.note{font-size:12px;color:var(--muted);margin-top:8px}

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.kpi-link{
  display:block;
  padding:14px;border-radius:16px;border:1px solid var(--line);background:#fff;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.kpi-link:hover{transform: translateY(-1px);box-shadow: 0 14px 30px rgba(2,6,23,.10);border-color: rgba(14,165,168,.35)}
.kpi-link .n{font-size:18px;font-weight:950}
.kpi-link .l{font-size:12px;color:var(--muted);margin-top:4px}

.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:14px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.table th{background:var(--card);font-weight:900}
.table tr:last-child td{border-bottom:none}

.footer{padding:34px 0}
.footer-top{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer a{color:#111827;text-decoration:underline;text-decoration-color:rgba(17,24,39,.25)}
.footer a:hover{text-decoration-color:rgba(17,24,39,.6)}

.notice{
  padding:12px;border-radius:16px;border:1px solid rgba(229,231,235,1);
  background:rgba(248,250,252,.9);
  font-size:13px;color:#0b1220;margin-top:10px;
}

/* Equipment */
.equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}
.equip-card{overflow:hidden}
.equip-card img{width:100%;height:210px;object-fit:cover;display:block}
.equip-card.featured img{height:260px}
.equip-card .cap{padding:16px}
.bul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:14px}
.bul li{margin:6px 0}
.credit{margin-top:8px;font-size:12px;color:var(--muted)}
.credit a{text-decoration:underline}

/* Scheduling */
.scheduler{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;margin-top:18px}
.panel{padding:18px}
.field{display:grid;gap:6px;margin-bottom:10px}
.input,select,textarea{width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);font-size:14px;font-family:inherit;background:#fff}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.calendar{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.cal-head{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--line);background:var(--card)}
.dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}
.dow{padding:10px 0;text-align:center;font-size:12px;color:var(--muted);background:#fff}
.days-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.day{
  min-height:82px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  cursor:pointer;transition:background .15s;
  background:#fff;
}
.day:nth-child(7n){border-right:none}
.day:hover{background:rgba(14,165,168,.08)}
.day.muted{opacity:.45;cursor:not-allowed}
.day.sel{outline:2px solid rgba(14,165,168,.65);outline-offset:-2px;background:rgba(14,165,168,.08)}
.day .d{font-weight:900;font-size:12px}
.day .meta{font-size:11px;color:var(--muted);margin-top:6px}

.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.slot{
  padding:8px 10px;border-radius:999px;border:1px solid var(--line);
  background:#fff;font-weight:900;font-size:12px;cursor:pointer;
}
.slot.sel{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-color:transparent}
.slot.dis{opacity:.45;cursor:not-allowed}

.toast{
  position:fixed;right:18px;bottom:18px;max-width:340px;
  padding:14px 14px;border-radius:16px;background:#0B1220;color:#fff;
  box-shadow: 0 20px 50px rgba(2,6,23,.25);
  display:none;
}
.toast.show{display:block}

@media (max-width:980px){
  .grid-2{grid-template-columns:1fr}
  .cards-3{grid-template-columns:1fr}
  .cards-4{grid-template-columns:1fr 1fr}
  .equip-grid{grid-template-columns:1fr}
  .scheduler{grid-template-columns:1fr}
  .h1{font-size:38px}
}
@media (max-width:520px){
  .cards-4{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
}
