:root{
  --bg:#050505;
  --bg-soft:#111111;
  --bg-panel:rgba(18,18,18,.78);
  --white:#ffffff;
  --off:#f7f7f7;
  --ink:#121212;
  --muted:#bdbdbd;
  --line:rgba(255,255,255,.12);
  --line-dark:rgba(0,0,0,.10);
  --orange:#ff7a00;
  --orange-2:#ff9f1c;
  --orange-soft:rgba(255,122,0,.14);
  --shadow:0 24px 70px rgba(0,0,0,.28);
  --radius:24px;
  --container:min(1200px, 92vw);
  --headerH:84px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fff;
  color:var(--ink);
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
img,video{max-width:100%;display:block;border-radius: 10px;}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin:0 auto}

/* header */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  padding:18px 0;
  transition:.25s ease;
}
.site-header.is-condensed{
  padding:20px 0;
}
.site-header::before{
  content:"";
  position:absolute;
  inset:6px 24px;
  background:rgba(10,10,10,.72);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  box-shadow:0 20px 50px rgba(0,0,0,.24);
  z-index:-1;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

/*.brand{*/
/*  display:flex;*/
/*  align-items:center;*/
/*  gap:12px;*/
/*  color:#fff;*/
/*}*/
/*.brand-mark{*/
/*  width:42px;*/
/*  height:42px;*/
/*  display:grid;*/
/*  place-items:center;*/
/*  border-radius:14px;*/
/*  background:linear-gradient(135deg,var(--orange),var(--orange-2));*/
/*  color:#fff;*/
/*  font-weight:800;*/
/*  box-shadow:0 0 0 1px rgba(255,255,255,.10),0 0 22px rgba(255,122,0,.42);*/
/*}*/
/*.brand-text{*/
/*  display:flex;*/
/*  flex-direction:column;*/
/*  line-height:1;*/
/*}*/
/*.brand-text strong{font-size:1rem;letter-spacing:.18em}*/
/*.brand-text small{font-size:.82rem;color:rgba(255,255,255,.70);margin-top:4px}*/


.brand{
  display:flex;
  align-items:center;
  color:#fff;
}

.brand-logo{
  flex-shrink:0;
}

.brand-image{
  display:block;
  width:auto;
  height:46px;
  object-fit:contain;
}

.main-nav{margin-left:auto}
.nav-list{
  display:flex;
  align-items:center;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-item{position:relative}
.nav-link,.nav-button{
  color:#fff;
  background:none;
  border:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  transition:.2s ease;
}
.nav-link:hover,.nav-button:hover,.icon-btn:hover{
  background:rgba(255,255,255,.08);
}
.caret{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:700;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  box-shadow:0 0 20px rgba(255,122,0,.35);
}
.btn-secondary{
  color:#fff;
  background:transparent;
  border-color:rgba(255,255,255,.28);
}
.btn-dark{
  background:#111;
  color:#fff;
}

.icon-btn,
.social-link{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:6px;
}
.lang-btn{
  min-width:42px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
  color:#fff;
  font-weight:700;
}
.lang-btn.is-active{
  background:rgba(255,122,0,.18);
  border-color:rgba(255,122,0,.55);
  box-shadow:0 0 16px rgba(255,122,0,.28);
}

.dropdown-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:320px;
  background:rgba(14,14,14,.96);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.dropdown-link{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border-radius:14px;
  color:#fff;
}
.dropdown-link:hover{
  background:rgba(255,255,255,.05);
}
.dropdown-link strong{display:block;margin-bottom:4px}
.dropdown-link small{color:rgba(255,255,255,.65)}
.dropdown-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  color:var(--orange);
  filter:drop-shadow(0 0 10px rgba(255,122,0,.30));
}

/* mobile nav */
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
  border-radius:12px;
  padding:10px;
}
.menu-toggle span{
  display:block;
  width:100%;
  height:2px;
  background:#fff;
  border-radius:999px;
}

/* hero */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
  background:#000;
}
.hero-media{
  position:absolute;
  inset:0;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.2s ease;
}
.hero-video.active{opacity:1}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
          linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.58)),
          radial-gradient(circle at 20% 20%, rgba(255,122,0,.16), transparent 35%),
          radial-gradient(circle at 90% 10%, rgba(255,255,255,.14), transparent 28%);
}
.hero-content{
  /*position:relative;*/
  /*z-index:1;*/
  /*width:100%;*/
  /*display:grid;*/
  /*grid-template-columns:1.1fr .75fr;*/
  /*gap:34px;*/
  /*align-items:center;*/
  /*padding-top:calc(var(--headerH) + 40px);*/
  /*padding-bottom:60px;*/

  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .75fr);
  gap:34px;
  align-items:center;
  padding-top:calc(var(--headerH) + 56px);
  padding-bottom:72px;
  padding-left:clamp(16px, 2vw, 28px);
  padding-right:clamp(16px, 2vw, 28px);
}
.eyebrow{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.eyebrow-dark{
  background:rgba(255,122,0,.10);
  border-color:rgba(255,122,0,.22);
  color:var(--orange);
}
.hero-copy h1{
  margin:20px 0 16px;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(2.6rem,6vw,5.1rem);
  line-height:.98;
  letter-spacing:-.04em;
}
/*.hero-lead,*/
/*.section-lead{*/
/*  font-size:1.08rem;*/
/*  line-height:1.7;*/
/*  color:rgba(255,255,255,.80);*/
/*  max-width:62ch;*/
/*}*/

.hero-lead,
.section-lead{
  font-size:1.08rem;
  line-height:1.7;
  color:rgba(255,255,255,.80);
  max-width:60ch;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.hero-panel{
  padding:28px;
  border-radius:28px;
  background:rgba(18,18,18,.65);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.hero-copy{
  max-width:680px;
}

.hero-panel{
  max-width:520px;
  justify-self:end;
}

.panel-tag{
  display:inline-flex;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,122,0,.16);
  color:#ffd1ad;
  border:1px solid rgba(255,122,0,.28);
  font-weight:700;
}
.hero-panel h2{
  margin:0 0 12px;
  font-size:1.8rem;
  line-height:1.15;
}
.hero-panel p{
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.7;
}
.panel-list{
  list-style:none;
  padding:0;
  margin:22px 0 0;
  display:grid;
  gap:12px;
}
.panel-list li{
  position:relative;
  padding-left:22px;
  color:#fff;
}
.panel-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.6em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 14px rgba(255,122,0,.5);
}

/* bands */
.band{padding:92px 0}
.band-light{background:#f8f8f8}
.band-white{background:#fff}
.band-dark{
  background:linear-gradient(180deg,#111,#080808);
  color:#fff;
}
.band-dark-soft{
  background:
          radial-gradient(circle at 10% 10%, rgba(255,122,0,.12), transparent 32%),
          radial-gradient(circle at 90% 90%, rgba(255,255,255,.06), transparent 26%),
          linear-gradient(180deg,#0c0c0c,#151515);
  color:#fff;
}
.band-orange{
  background:linear-gradient(135deg,#fff3ea,#ffe1c5);
}

.section-head{
  margin-bottom:36px;
}
.section-head-center{
  text-align:center;
}
.section-head-center .section-lead{
  margin-left:auto;
  margin-right:auto;
}
.section-head h2{
  margin:16px 0 12px;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.06;
}
.section-lead{color:#4f4f4f}
.section-lead-light{color:rgba(255,255,255,.72)}

/* cards */
.card-grid{
  display:grid;
  gap:20px;
}
.card-grid-3{
  grid-template-columns:repeat(3,1fr);
}
.info-card{
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
}
.info-card.light{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
}
.info-card h3{
  margin:18px 0 10px;
  font-size:1.35rem;
}
.info-card p{
  margin:0;
  color:#505050;
  line-height:1.7;
}
.info-icon,.feature-icon,.mini-icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  color:var(--orange);
  filter:drop-shadow(0 0 12px rgba(255,122,0,.25));
}
.info-icon svg,
.feature-icon svg,
.mini-icon svg,
.dropdown-icon svg,
.icon-btn svg,
.social-link svg{
  width:48px;
  height:48px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* hardware */
.split-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
}
.feature-list{
  display:grid;
  gap:18px;
  margin-top:30px;
}
.feature-item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:16px;
  align-items:start;
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.feature-item h3{
  margin:0 0 8px;
  font-size:1.15rem;
}
.feature-item p{
  margin:0;
  line-height:1.65;
  color:rgba(255,255,255,.72);
}

.device-panel{
  display:grid;
  gap:20px;
}
/*.device-frame{*/
/*  position:relative;*/
/*  width:min(360px, 80%);*/
/*  height:520px;*/
/*  margin:0 auto;*/
/*  border-radius:40px 40px 28px 28px;*/
/*  background:linear-gradient(180deg,#d9f7ff,#8ed8ee 50%,#c7f5ff);*/
/*  border:8px solid rgba(255,255,255,.16);*/
/*  box-shadow:0 30px 70px rgba(0,0,0,.28);*/
/*  transform:perspective(900px) rotateY(-10deg);*/
/*}*/


/*.device-frame{*/
/*  position:relative;*/
/*  width:min(420px, 90%);*/
/*  margin:0 auto;*/

/*  display:flex;*/
/*  align-items:center;*/
/*  justify-content:center;*/

/*  transform:perspective(900px) rotateY(-8deg);*/
/*}*/

.device-frame{
  position:relative;
  width:min(420px, 90%);
  margin:0 auto;

  display:flex;
  align-items:center;
  justify-content:center;

  transform:perspective(900px) rotateY(-8deg);
}

.device-frame::before{
  content:"";
  position:absolute;
  inset:-20px;
  border-radius:40px;
  background:radial-gradient(circle at 50% 40%, rgba(255,122,0,.18), transparent 60%);
  filter:blur(20px);
  z-index:-1;
}



/*.device-screen{*/
/*  position:absolute;*/
/*  top:38px;*/
/*  left:34px;*/
/*  right:34px;*/
/*  height:250px;*/
/*  border-radius:18px;*/
/*  background:*/
/*          linear-gradient(135deg,#c6fff4,#7ae2ff 45%,#4bb8ef 70%,#2d70ff);*/
/*  border:6px solid rgba(0,0,0,.18);*/
/*}*/
/*.device-slot{*/
/*  position:absolute;*/
/*  left:50%;*/
/*  bottom:118px;*/
/*  transform:translateX(-50%);*/
/*  width:150px;*/
/*  height:54px;*/
/*  border-radius:16px;*/
/*  background:rgba(255,255,255,.34);*/
/*  border:2px solid rgba(0,0,0,.10);*/
/*}*/
/*.device-base{*/
/*  position:absolute;*/
/*  left:50%;*/
/*  bottom:-26px;*/
/*  transform:translateX(-50%);*/
/*  width:230px;*/
/*  height:28px;*/
/*  border-radius:18px;*/
/*  background:linear-gradient(180deg,#dfffff,#73d6ec);*/
/*  box-shadow:0 16px 34px rgba(0,0,0,.18);*/
/*}*/

.mini-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.mini-card{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.mini-card h4{
  margin:12px 0 8px;
  font-size:1.05rem;
}
.mini-card p{
  margin:0;
  color:rgba(255,255,255,.70);
  line-height:1.55;
}

/* timeline */
.timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.timeline-step{
  position:relative;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow);
}
.timeline-number{
  display:inline-grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  font-weight:800;
  box-shadow:0 0 20px rgba(255,122,0,.22);
}
.timeline-step h3{
  margin:18px 0 10px;
  font-size:1.2rem;
}
.timeline-step p{
  margin:0;
  color:#505050;
  line-height:1.7;
}

/* carousel */
.carousel{
  display:grid;
  grid-template-columns:60px 1fr 60px;
  gap:18px;
  align-items:center;
}
.carousel-arrow{
  width:60px;
  height:60px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:2rem;
}
.carousel-track{
  position:relative;
  min-height:360px;
}
.carousel-slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform:translateY(16px);
  transition:.45s ease;
}
.carousel-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.carousel-card{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:22px;
  height:100%;
  padding:24px;
  border-radius:28px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
}
.carousel-media{
  display:flex;
  align-items:center;
  justify-content:center;
}
.carousel-media-frame,
.carousel-fallback{
  /*width:100%;*/
  /*height:100%;*/
  /*min-height:300px;*/
  /*border-radius:22px;*/
  /*background:linear-gradient(135deg,rgba(255,122,0,.26),rgba(255,255,255,.08));*/
  /*border:1px solid rgba(255,255,255,.08);*/
}

.carousel-media-frame,
.carousel-fallback{
  width:100%;
  height:100%;
  min-height:300px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,122,0,.26),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  position:relative;
}

/*.carousel-media-frame img{*/
/*  width:100%;*/
/*  height:100%;*/
/*  object-fit:cover;*/
/*  border-radius:22px;*/
/*}*/
.carousel-media-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.carousel-media{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  overflow:hidden;
}
.carousel-fallback{
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:800;
  letter-spacing:.18em;
}
.carousel-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.carousel-tag{
  display:inline-flex;
  width:max-content;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,122,0,.14);
  color:#ffd0ad;
  border:1px solid rgba(255,122,0,.24);
  font-weight:700;
}
.carousel-body h3{
  margin:0 0 12px;
  font-size:2rem;
  line-height:1.08;
}
.carousel-body p{
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.75;
}
.carousel-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}
.carousel-dot{
  width:10px;
  height:10px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.22);
}
.carousel-dot.is-active{
  width:34px;
  border-radius:999px;
  background:var(--orange);
}

/* company + demo */
.company-grid,.demo-grid{
  align-items:start;
}
.company-boxes{
  display:grid;
  gap:18px;
}
.company-box{
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow);
}
.company-box h3{
  margin:0 0 10px;
}
.company-box p{
  margin:0;
  line-height:1.7;
  color:#4f4f4f;
}

.contact-form{
  display:grid;
  gap:14px;
  padding:26px;
  border-radius:26px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow);
}
.contact-form input,
.contact-form textarea{
  /*width:100%;*/
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#111;
  border-radius:16px;
  padding:14px 16px;
  outline:none;
}
.contact-form textarea{
  min-height:140px;
  resize:vertical;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(255,122,0,.42);
  box-shadow:0 0 0 4px rgba(255,122,0,.10);
}
.checkbox-line{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  text-align:left;
  color:#222;
}
.checkbox-line span{
  text-align:left;
  line-height:1.4;
}
.form-feedback{
  min-height:24px;
  font-weight:600;
  color:#111;
}

/* footer */
.site-footer{
  background:#0a0a0a;
  color:#fff;
  padding:34px 0 20px;
}
.footer-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:20px;
  align-items:center;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.footer-brand div{
  display:flex;
  flex-direction:column;
  line-height:1;
}
.footer-brand small{
  margin-top:4px;
  color:rgba(255,255,255,.65);
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}
.footer-link{
  background:none;
  border:0;
  color:rgba(255,255,255,.72);
}
.footer-link:hover{color:#fff}
.footer-social{
  display:flex;
  gap:10px;
}
.footer-bottom{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
  color:rgba(255,255,255,.54);
}

/* modal */
.modal-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.60);
  backdrop-filter:blur(8px);
  z-index:1200;
}
.modal-overlay.is-open{display:flex}
.modal{
  width:min(880px, 96vw);
  max-height:88vh;
  overflow:auto;
  padding:28px;
  border-radius:24px;
  background:#fff;
  color:#111;
  position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.modal h3{
  margin:0 42px 16px 0;
  font-size:1.6rem;
}
.modal p{
  line-height:1.75;
  color:#444;
}
.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:1.4rem;
}



.timeline-image{
  width:100%;
  height:240px;
  margin-top:16px;
  margin-bottom:12px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,122,0,.08), rgba(0,0,0,.03));
  border:1px solid rgba(0,0,0,.05);

  overflow:hidden;
}

.timeline-image img{
  max-width:80%;
  max-height:80%;
  object-fit:contain;
}



.footer-brand {
  display: flex;
  align-items: center;
}

.footer-logo {
  height: 40px;      /* ajusta según diseño */
  width: auto;
  object-fit: contain;
}


.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1s ease-in-out;
  will-change:opacity;
}

.hero-video.active{
  opacity:1;
}


/* responsive */
@media (min-width: 1440px){
  .hero-copy h1{
    max-width:11ch;
  }

  .hero-lead{
    max-width:58ch;
  }
}

@media (max-width: 1100px){
  .hero-content,
  .split-grid{
    grid-template-columns:1fr;
  }

  .hero-panel{
    max-width:680px;
    justify-self:start;
  }

  .card-grid-3,
  .timeline,
  .mini-features{
    grid-template-columns:1fr 1fr;
  }
  .carousel-card{
    grid-template-columns:1fr;
  }
  .carousel-track{
    min-height:520px;
  }
}

@media (max-width: 920px){
  .menu-toggle{display:flex}
  .main-nav{
    width: 200px;
    position:absolute;
    top:calc(100% + 14px);
    left:16px;
    right:16px;
    display:none;
    padding:16px;
    border-radius:20px;
    background:rgba(12,12,12,.96);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 60px rgba(0,0,0,.35);
  }
  .main-nav.is-open{display:block}
  .nav-list{
    flex-direction:column;
    align-items:stretch;
  }
  .dropdown-menu{
    position:static;
    min-width:unset;
    margin-top:10px;
    box-shadow:none;
  }
  .footer-top{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-brand,
  .footer-social{
    justify-content:center;
  }
}

@media (max-width: 640px){
  .brand-image{
    height:38px;
  }
  .hero-copy h1{
    font-size:clamp(2.2rem,11vw,3.4rem);
  }
  .band{padding:72px 0}
  .card-grid-3,
  .timeline,
  .mini-features{
    grid-template-columns:1fr;
  }
  .carousel{
    grid-template-columns:1fr;
  }
  .carousel-arrow{
    display:none;
  }
  .carousel-track{
    min-height:560px;
  }
  .hero-panel,
  .info-card,
  .timeline-step,
  .company-box,
  .contact-form,
  .modal{
    border-radius:20px;
  }
  .hero-content{
    padding-left:16px;
    padding-right:16px;
    padding-top:calc(var(--headerH) + 34px);
    padding-bottom:56px;
  }

  .hero-copy,
  .hero-panel{
    max-width:100%;
  }
}