/* reusable typography */
.section{padding:115px 0}
.section-kicker,.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  line-height:1;
  letter-spacing:.17em;
  font-weight:800;
  color:var(--brand);
  text-transform:uppercase;
}
.section-kicker:before,.eyebrow:before{
  content:"";
  width:28px;height:2px;background:currentColor;
}
.section-kicker.light,.eyebrow.dark{color:#ff6a18}
.eyebrow{color:#ff6a18}
.eyebrow.dark{color:#ff6a18}
.section-title{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(40px,5vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
  margin:22px 0 0;
  max-width:820px;
}
.display-title{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(42px,5.5vw,78px);
  line-height:.92;
  letter-spacing:-.055em;
  margin:20px 0;
}
.section-intro{
  max-width:420px;
  color:#707277;
  font-size:15px;
  line-height:1.8;
  margin:0;
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink);
  border-bottom:1px solid #111;
  padding-bottom:8px;
  transition:.25s ease;
}
.text-link i{font-size:15px}
.text-link:hover{color:var(--brand);border-color:var(--brand);gap:15px}

.btn-brand{
  border:0;
  border-radius:0;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:15px 22px;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  transition:.25s ease;
}
.btn-brand:hover{background:var(--brand-dark);color:#fff;transform:translateY(-2px)}
.btn-outline-light{
  border-radius:0;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:14px 21px;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  transition:.25s ease;
}
.btn-outline-light:hover{background:#fff;color:#111;border-color:#fff}

/* header */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  transition:.3s ease;
}
.topbar{
  height:38px;
  background:#0c0c0d;
  color:#aaa;
  font-size:11px;
}
.topbar .container-xl{height:100%}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px;height:100%}
.top-link{color:#aaa;transition:.2s}
.top-link:hover{color:#fff}
.top-link i{color:var(--brand);margin-right:6px}
.topbar-right a{color:#888}
.topbar-right a:hover{color:#fff}
.main-nav{
  min-height:78px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(0,0,0,.07);
  backdrop-filter:blur(12px);
  transition:.3s ease;
}
.site-header.scrolled .main-nav{min-height:68px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{
  width:47px;height:47px;
  /* background:#111; */
  color:var(--brand);
  display:grid;place-items:center;
  font-family:"Space Grotesk",sans-serif;
  font-size:28px;font-weight:700;
  /* border:6px solid #111; */
  line-height:1;
}
.brand-copy{display:flex;flex-direction:column;line-height:.9}
.brand-copy strong{font-family:"Space Grotesk",sans-serif;font-size:20px;letter-spacing:-.04em}
.brand-copy small{font-size:8px;letter-spacing:.33em;color:var(--brand);font-weight:800;margin-top:6px}
.navbar-nav .nav-link{
  color:#171719;
  font-size:13px;
  font-weight:700;
  padding:28px 12px!important;
  position:relative;
}
.navbar-nav .nav-link:after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:18px;
  height:2px;background:var(--brand);
  transform:scaleX(0);
  transform-origin:left;
  transition:.25s;
}
.navbar-nav .nav-link:hover:after,.navbar-nav .nav-link.active:after{transform:scaleX(1)}
.navbar-toggler{border:0;box-shadow:none!important}
.nav-toggle i{font-size:29px}
.mobile-menu{width:min(390px,88vw);border:0}
.mobile-menu .offcanvas-header{padding:24px}
.mobile-menu .offcanvas-body{padding:10px 24px 30px}
.mobile-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;border-bottom:1px solid var(--line);
  font-size:18px;font-weight:700;
}
.mobile-link i{font-size:15px;color:var(--brand)}

/* hero */
.hero-section{
  min-height:820px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#151515;
  color:#fff;
  padding-top:116px;
}
.hero-image{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,8,9,.92) 0%,rgba(7,8,9,.72) 42%,rgba(7,8,9,.22) 100%),
    url("../images/hero.svg") center/cover no-repeat;
  transform:scale(1.02);
}
.hero-grid{
  position:absolute;inset:0;
  opacity:.15;
  background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:90px 90px;
  mask-image:linear-gradient(90deg,#000,transparent 85%);
}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:110px}
.hero-title{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(52px,7vw,105px);
  line-height:.9;
  letter-spacing:-.065em;
  max-width:940px;
  margin:25px 0;
}
.hero-title span{color:var(--brand)}
.hero-text{max-width:620px;color:#d0d0d0;font-size:16px;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-side-card{
  margin-left:auto;
  max-width:280px;
  padding:26px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
}

/* footer */
.site-footer{background:#0c0c0d;color:#fff}
.footer-main{padding:75px 0 60px;display:grid;grid-template-columns:2.1fr 1fr 1.4fr 1fr;gap:55px}
.brand-footer .brand-mark{background:#fff;border-color:#fff;color:var(--brand)}
.footer-brand p{color:#777;line-height:1.8;font-size:12px;max-width:330px;margin-top:25px}
.footer-col{display:flex;flex-direction:column;gap:11px}
.footer-col h4{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.footer-col a,.footer-col span{font-size:12px;color:#777;transition:.2s}
.footer-col a:hover{color:#fff}
.footer-social{display:flex;gap:8px}
.footer-social a{width:38px;height:38px;border:1px solid #303033;display:grid;place-items:center}
.footer-social a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.footer-bottom{border-top:1px solid #242426;padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#606064;font-size:10px}
.footer-bottom div{display:flex;gap:20px}
.footer-bottom a:hover{color:#fff}
.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;z-index:999;opacity:0;visibility:hidden;transition:.25s}
.back-top.show{opacity:1;visibility:visible}

/* animations */
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}
.reveal.in-view{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}

/* responsive */
@media(max-width:1199px){
  .feature-grid{grid-template-columns:repeat(3,1fr)}
  .feature-card:nth-child(4),.feature-card:nth-child(5){grid-column:span 1}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:991px){
  .desktop-menu{display:none!important}
  .main-nav{min-height:72px}
  .hero-section{min-height:760px}
  .hero-side-card{margin-left:0}
  .section{padding:85px 0}
  .section-heading-row{display:block !important}
  .section-intro{margin-top:22px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:2fr 1fr 1fr}
  .footer-col:last-child{grid-column:2}
  .contact-info,.contact-form-wrap{padding:45px 35px}
}
@media(max-width:767px){
  .topbar{height:auto;padding:8px 0}
  .topbar-left{gap:10px;flex-wrap:wrap}
  .topbar-right{display:none!important}
  .top-link{font-size:9px}
  .brand-mark{width:41px;height:41px;font-size:24px}
  .brand-copy strong{font-size:17px}
  .hero-section{min-height:760px;padding-top:110px}
  .hero-content{padding-bottom:75px}
  .hero-title{font-size:clamp(47px,14vw,72px)}
  .hero-text{font-size:14px}
  .hero-side-card{display:none}
  .scroll-cue{display:none}
  .section-title{font-size:clamp(38px,11vw,56px)}
  .feature-grid{grid-template-columns:1fr !important}
  .feature-card{min-height:290px}
  .feature-icon{margin-top:55px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:25px}
  .stat-item strong{font-size:48px}
  .product-media{height:280px}
  .application-list span{width:100%;font-size:17px}
  .footer-main{grid-template-columns:1fr 1fr;gap:35px}
  .footer-brand{grid-column:1/-1}
  .footer-col:last-child{grid-column:auto}
  .footer-bottom{display:block;line-height:2}
  .footer-bottom div{margin-top:5px}
}
@media(max-width:480px){
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .stats-panel{padding:50px 25px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item strong{font-size:40px}
  .contact-info,.contact-form-wrap{padding:38px 22px}
  .footer-main{grid-template-columns:1fr}
  .footer-brand,.footer-col:last-child{grid-column:auto}
}
