@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}

:root{
  --bg:#0b0a0d;
  --text-white:#ffffff;
  --text-muted:#c6c6ce;
  --text-footer:#9e9aa3;
  --badge-bg:rgba(238,242,246,0.45);
  --border-subtle:rgba(255,255,255,0.1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;
  background:var(--bg);
  color:var(--text-white);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:underline;}
img{display:block;max-width:100%;}

/* Navbar */
.navbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 80px;
  z-index:5;
}
.logo-word{
  font-weight:600;
  font-size:32px;
  letter-spacing:0.02em;
  color:var(--text-white);
}
.tm{
  font-size:0.4em;
  vertical-align:super;
  margin-left:2px;
}
.login-btn{
  background:var(--badge-bg);
  padding:6px 16px;
  font-weight:500;
  font-size:12px;
  color:var(--text-white);
  text-decoration:underline;
}

/* Hero */
.hero{
  position:relative;
  width:100%;
  aspect-ratio:1920/1012; /* matches hero.mp4's native aspect ratio so the video's box grows taller on wide screens instead of over-cropping */
  min-height:780px; /* floor for narrower viewports, so the aspect-ratio box never gets too short for the heading text */
  display:flex;
  align-items:center;
  padding:180px 80px 120px;
  overflow:hidden;
  background:#000;
}
.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:738px;
}
.hero-heading{
  font-weight:700;
  font-size:48px;
  line-height:1.1;
  letter-spacing:0.02em;
  color:var(--text-white);
}
.hero-subtitle{
  font-weight:400;
  font-size:18px;
  letter-spacing:0.02em;
  color:var(--text-muted);
}
.badge-row{
  display:flex;
  gap:5px;
  align-items:center;
  padding-top:12px;
}
.badge-pill{
  background:var(--badge-bg);
  padding:6px 16px;
  font-weight:600;
  font-size:12px;
  color:var(--text-white);
}

/* Footer */
.footer{
  background:var(--bg);
  border-top:1px solid var(--border-subtle);
  padding:40px 80px;
  display:flex;
  flex-direction:column;
  gap:40px;
}
.footer-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.brand-block{
  max-width:439px;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:14px;
  color:var(--text-footer);
}
.brand-block p{line-height:1.6;}
.brand-block a{text-decoration:underline;}
.brand-name{color:var(--text-white);font-weight:500;}
.brand-tagline{
  margin-top:12px;
  line-height:1.5;
  max-width:439px;
}
.footer-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
}
.copyright{
  font-size:13px;
  color:var(--text-footer);
  font-weight:400;
}
.footer-wordmark{
  font-weight:400;
  font-size:96px;
  letter-spacing:0.02em;
  color:var(--text-white);
  line-height:0.75;
}
.footer-wordmark .tm{
  font-size:0.25em;
}

/* Responsive */
@media (max-width:900px){
  .navbar,.hero,.footer{padding-left:24px;padding-right:24px;}
  .hero{padding-top:140px;padding-bottom:80px;min-height:560px;}
  .hero-heading{font-size:34px;}
  .footer-top{flex-direction:column;gap:24px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px;}
  .footer-wordmark{font-size:56px;}
}
