/* ===== EndoHub design system v1.0 ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{
  /* navy */
  --navy-900:#0F2748; --navy-700:#1D3C5E; --navy-500:#365A7F; --navy-100:#EAF0F7; --navy-50:#F1F5F9;
  /* teal */
  --teal-50:#F0FDFA; --teal-100:#CCFBF1; --teal-200:#99F6E4; --teal-400:#2DD4BF;
  --teal-500:#22B8B0; --teal-600:#0F9F98; --teal-700:#0F766E; --teal-900:#134E4A;
  /* neutral */
  --bg:#F8FAFC; --surface:#FFFFFF; --ink:#111827; --ink2:#374151; --muted:#6B7280; --faint:#9AA4B2; --border:#E5E7EB;
  /* semantic */
  --success:#16A34A; --success-bg:#ECFDF3; --warning:#D97706; --warning-bg:#FFF7ED; --danger:#DC2626; --danger-bg:#FEF2F2; --info:#2563EB;
  /* radius */
  --r-btn:12px; --r-card:16px; --r-panel:22px; --r-pill:999px;
  /* shadow */
  --sh-card:0 8px 30px rgba(15,39,72,.06); --sh-soft:0 4px 16px rgba(15,39,72,.05); --sh-modal:0 24px 60px rgba(15,39,72,.16);
  --container:1200px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);
  font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
h1,h2,h3,h4{color:var(--navy-900);font-weight:600;line-height:1.2;margin:0}
h1{font-size:48px;line-height:56px;font-weight:700}
h2{font-size:36px;line-height:44px}
h3{font-size:28px;line-height:36px}
h4{font-size:22px;line-height:30px}
p{margin:0}
a{color:var(--teal-700);text-decoration:none}
a:hover{color:var(--teal-600)}
.eh-container{max-width:var(--container);margin:0 auto;padding:0 24px}
.eh-muted{color:var(--muted)}
.eh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--teal-700);
  background:var(--teal-50);border:1px solid var(--teal-100);padding:6px 12px;border-radius:var(--r-pill)}
.eh-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal-500)}
.teal{color:var(--teal-600)}
svg.ic{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
/* buttons */
.eh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:0;border-radius:var(--r-btn);
  font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .14s var(--ease),transform .14s var(--ease),box-shadow .14s var(--ease);white-space:nowrap}
.eh-btn-primary{background:var(--teal-600);color:#fff}
.eh-btn-primary:hover{background:var(--teal-700);color:#fff}
.eh-btn-primary:active{background:var(--teal-900)}
.eh-btn-ghost{background:var(--surface);color:var(--navy-900);border:1px solid var(--border)}
.eh-btn-ghost:hover{border-color:var(--teal-400);color:var(--navy-900)}
.eh-btn-nav{background:var(--surface);color:var(--navy-900);border:1px solid var(--border);height:40px}
.eh-btn-nav:hover{border-color:var(--teal-400)}
.eh-btn:focus-visible{outline:3px solid var(--teal-200);outline-offset:1px}
.eh-btn-lg{height:52px;padding:0 26px;font-size:15px}
/* card */
.eh-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-card)}
/* nav */
.eh-nav{position:sticky;top:0;z-index:50;background:rgba(248,250,252,.85);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
.eh-nav.scrolled{background:rgba(255,255,255,.92);border-bottom:1px solid var(--border)}
.eh-nav-inner{display:flex;align-items:center;gap:20px;height:72px}
.eh-logo{display:flex;align-items:center;gap:0}
.eh-logo img{height:34px;width:auto;display:block}
.eh-nav-links{display:flex;align-items:center;gap:28px;margin:0 auto}
.eh-nav-links a{color:var(--navy-700);font-size:14.5px;font-weight:500;padding:6px 0;position:relative}
.eh-nav-links a:hover{color:var(--navy-900)}
.eh-nav-links a.active{color:var(--teal-700);font-weight:600}
.eh-nav-links a.active:after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--teal-500);border-radius:2px}
.eh-nav-actions{display:flex;align-items:center;gap:10px}
.eh-nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:10px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;color:var(--navy-900)}
/* footer */
.eh-footer{background:var(--navy-900);color:#cdd8e6;margin-top:0}
.eh-footer a{color:#cdd8e6}
.eh-footer a:hover{color:#fff}
.eh-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:56px 0 40px}
.eh-footer h5{color:#fff;font-size:14px;font-weight:600;margin:0 0 14px}
.eh-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px}
.eh-footer .logo-w{filter:brightness(0) invert(1);height:30px;margin-bottom:14px}
.eh-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;justify-content:space-between;font-size:12.5px;color:#8fa0b5;flex-wrap:wrap;gap:8px}
/* section rhythm */
.eh-section{padding:96px 0}
.eh-section-sm{padding:64px 0}
.section-head h2{max-width:640px}
.section-head p{max-width:560px;margin-top:12px;color:var(--muted);font-size:17px}
/* pill/tag */
.eh-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill)}
.eh-tag-teal{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}
.eh-tag-soon{background:var(--navy-50);color:var(--navy-500);border:1px solid var(--navy-100)}
/* progress bar */
.eh-bar{height:8px;background:var(--navy-50);border-radius:var(--r-pill);overflow:hidden}
.eh-bar>i{display:block;height:100%;background:var(--teal-500);border-radius:var(--r-pill);transition:width .3s var(--ease)}
@media(max-width:960px){
  .eh-nav-links{display:none}
  .eh-nav-toggle{display:flex}
  .eh-footer-top{grid-template-columns:1fr 1fr}
  h1{font-size:38px;line-height:44px}
  h2{font-size:28px;line-height:36px}
  .eh-section{padding:64px 0}
}
@media(max-width:560px){
  .eh-footer-top{grid-template-columns:1fr}
  .eh-container{padding:0 18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
