:root{
  --bg:#ffffff; --text:#111111; --muted:#6b7280; --line:#e5e7eb; --brand:#3aa4f6; --brand-600:#1f7fd1; --surface:#f8fafc;
  --fw-ultra:200; --fw-thin:300; --fw-regular:400; --track-wide:.35em; --track-mid:.22em; --track-nav:.12em;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:var(--text); background:var(--bg); line-height:1.6; font-weight:var(--fw-thin)}
.container{width:min(1200px,92%); margin-inline:auto}
.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.9); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid var(--line)}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.logo{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit}
.logo__mark{display:inline-grid; place-items:center; width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg, var(--brand), var(--brand-600)); color:white; font-weight:700}
.logo__text{font-weight:600; letter-spacing:.2px}
.nav__toggle{display:none}
.nav__list{display:flex; gap:1rem; list-style:none; padding:0; margin:0}
.nav__link{display:inline-block; padding:.6rem .8rem; border-radius:10px; text-decoration:none; color:#111; font-weight:var(--fw-thin); letter-spacing:var(--track-nav); text-transform:uppercase}
.nav__link:hover{background:var(--surface)}
.nav__link.is-active{background:var(--brand); color:#fff}
.site-main{min-height:60vh}
.card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-3px); box-shadow:0 10px 20px rgba(0,0,0,.06)}
.section{padding:42px 0}
.section__title{font-family:'Inter Tight', Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial; font-weight:var(--fw-thin); letter-spacing:var(--track-mid); text-transform:uppercase; font-size: clamp(20px, 2.6vw, 28px); margin:0}
.list-plain{list-style:none; padding:0; margin:0}
.site-footer{margin-top:40px; border-top:1px solid var(--line); background:#fff}
.footer__grid{display:grid; grid-template-columns:1fr; gap:18px; padding:28px 0}
.footer__cols{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.logo--footer .logo__mark{width:28px; height:28px}
.footer__tagline{color:var(--muted)}
.footer__copy{border-top:1px solid var(--line); padding:12px 0; background:#fff}
@media (max-width: 720px){
  .footer__cols{grid-template-columns:1fr}
  .nav__toggle{display:inline-block}
  .nav__list{display:none; flex-direction:column; background:#fff; position:absolute; right:4%; top:62px; border:1px solid var(--line); border-radius:14px; padding:8px}
  .nav__list.is-open{display:flex}
}
.button{display:inline-block; padding:.8rem 1.1rem; border-radius:12px; background:var(--brand); color:#fff; border:none; font-weight:600; cursor:pointer}
.button:hover{background:var(--brand-600)}
.muted{color:var(--muted)}
.kicker{letter-spacing:.40em; text-transform:uppercase}
/* Helpers */
.two-col{display:grid; grid-template-columns:1.1fr 1fr; gap:28px; align-items:center}
@media (max-width:900px){ .two-col{grid-template-columns:1fr} }
.card-video{padding:0; overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:18px}
.card-video video{display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:cover}

/* Logo image sizing */
.logo__img{height:36px;width:auto;display:block}
.logo--footer .logo__img{height:28px}


/* === Fix: constrain header/footer logo sizes strongly === */
.site-header .logo__img{ height:44px; max-height:44px; width:auto; display:block; object-fit:contain }
.logo--footer .logo__img{ height:26px; max-height:26px; width:auto; display:block; object-fit:contain }
@media (max-width: 900px){
  .site-header .logo__img{ height:34px; max-height:34px }
  .logo--footer .logo__img{ height:22px; max-height:22px }
}


/* hard clamp for logo image (redundant safeguard) */
.site-header .logo__img{height:40px !important; max-height:40px !important; width:auto !important; display:block; object-fit:contain}
.logo--footer .logo__img{height:24px !important; max-height:24px !important; width:auto !important; display:block; object-fit:contain}
@media (max-width:900px){
  .site-header .logo__img{height:32px !important; max-height:32px !important}
  .logo--footer .logo__img{height:22px !important; max-height:22px !important}
}


/* ===== Mobile Nav Off-canvas ===== */
.mnav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:92}
.mnav-overlay.is-open{opacity:1;visibility:visible}
.mnav-panel{position:fixed;top:0;right:0;height:100dvh;width:min(360px,92%);background:var(--surface-2);color:var(--text);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .25s ease;z-index:93;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:16px 18px}
.mnav-panel.is-open{transform:translateX(0)}
.mnav-head{display:flex;align-items:center;justify-content:space-between}
.mnav-title{font-family:'Inter Tight',Inter;letter-spacing:.22em;text-transform:uppercase;font-weight:300}
.mnav-close{background:#0d0f12;color:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 10px;cursor:pointer}
.mnav-list{list-style:none;margin:0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto}
.mnav-link{display:block;padding:14px 0;text-decoration:none;color:var(--inverse);text-transform:uppercase;letter-spacing:.18em;font-weight:300;border-bottom:1px solid var(--line)}
.mnav-list li:last-child .mnav-link{border-bottom:none}
.mnav-foot{display:flex;justify-content:flex-end;padding-top:8px}
@media (min-width:901px){ .mnav-overlay,.mnav-panel{display:none} }

@media (max-width:900px){
  .nav__list{display:none !important}
  .nav__toggle{display:inline-block}
}
