:root {
  --red:#e1161d;
  --ink:#070b10;
  --panel:#101820;
  --panel2:#131d27;
  --muted:#aeb8c2;
  --line:rgba(255,255,255,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.container{width:min(1220px,92vw);margin:auto}

.topbar{
  padding:8px 16px;
  text-align:center;
  background:linear-gradient(90deg,#730000,var(--red),#730000);
  font-size:13px;font-weight:900;letter-spacing:.18em
}
header{
  position:sticky;top:0;z-index:20;
  background:rgba(6,9,13,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)
}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px}
.va{position:relative;font:700 46px Georgia,serif;letter-spacing:-.08em}
.va:after{content:"";position:absolute;left:-5px;right:-10px;top:50%;height:5px;background:var(--red);transform:rotate(-5deg);border-radius:10px}
.brand-copy strong{display:block;font-size:16px;letter-spacing:.07em}
.brand-copy span{font-size:9px;color:#ff4c50;letter-spacing:.16em}
.menu{display:flex;gap:24px;font-size:12px;font-weight:800}
.demo{background:var(--red);padding:13px 18px;font-size:12px;font-weight:900}

.hero{
  min-height:760px;
  position:relative;
  background:
    linear-gradient(90deg,rgba(5,8,12,.96) 0%,rgba(5,8,12,.78) 33%,rgba(5,8,12,.12) 62%,rgba(5,8,12,.1) 100%),
    url("/assets/img/install_01.jpg") center/cover no-repeat;
  display:flex;align-items:center;
  border-bottom:1px solid var(--line)
}
.hero-inner{width:min(1180px,92vw);margin:auto;padding:80px 0}
.eyebrow{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:18px}
h1{font-size:clamp(54px,6.8vw,96px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;margin:0;max-width:630px}
.hero h2{font-size:clamp(26px,3vw,40px);max-width:620px;margin:18px 0}
.hero p{max-width:580px;color:#e1e6ea;font-size:18px;line-height:1.6}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.meta{padding:13px 16px;background:rgba(7,11,15,.75);border:1px solid rgba(255,255,255,.25);font-weight:800;font-size:13px}

.section{padding:78px 0}
.alt{background:#0a1016;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kicker{text-align:center;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.15em}
.section h2{text-align:center;margin:10px auto 15px;font-size:clamp(36px,4.3vw,58px);text-transform:uppercase}
.lead{max-width:820px;margin:0 auto 36px;text-align:center;color:var(--muted);font-size:18px;line-height:1.6}

.hardware-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{position:relative;padding:28px;min-height:220px;background:linear-gradient(155deg,#151e27,#0b1015);border:1px solid var(--line)}
.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--red)}
.card h3{font-size:25px;margin:0 0 10px}
.card p{margin:0;color:var(--muted);line-height:1.55}
.number{position:absolute;right:18px;top:10px;font-size:54px;font-weight:900;color:rgba(255,255,255,.05)}

.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.step{padding:24px 16px;text-align:center;background:#111922;border:1px solid var(--line);position:relative}
.step b{display:block;color:var(--red);font-size:14px;margin-bottom:8px}
.step strong{display:block;font-size:18px}
.step span{display:block;color:var(--muted);font-size:13px;margin-top:7px;line-height:1.4}

.compat{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.compat div{padding:24px 10px;text-align:center;background:linear-gradient(145deg,#141c24,#0c1116);border:1px solid var(--line);font-weight:800}

.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit{padding:26px;background:linear-gradient(145deg,#141c24,#0c1116);border-left:4px solid var(--red);min-height:150px}
.benefit h3{margin:0 0 8px;font-size:23px}
.benefit p{margin:0;color:var(--muted);line-height:1.5}

.cta{padding:72px 0;text-align:center;background:linear-gradient(90deg,#410203,#b70a0f 50%,#410203)}
.cta h2{font-size:clamp(36px,4.8vw,62px);margin:0 0 14px;text-transform:uppercase}
.cta p{color:#f5d8d9;font-size:19px;margin:0 0 26px}
.btn{display:inline-block;padding:15px 22px;border:1px solid rgba(255,255,255,.45);font-size:13px;font-weight:900}

footer{padding:27px 4vw;display:flex;justify-content:space-between;color:#8e99a3;font-size:13px;border-top:1px solid var(--line)}

@media(max-width:900px){
  .menu{display:none}
  .hero{min-height:920px;background-position:64% center}
  .hero-inner{padding-top:60px;padding-bottom:60px}
  .hardware-grid,.timeline,.compat,.benefits{grid-template-columns:1fr}
}

.proof-strip{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}
.photo-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:#0b1015;
}
.photo-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.photo-card.tall img{min-height:460px}
.photo-overlay{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:24px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));
}
.photo-overlay h3{margin:0 0 7px;font-size:27px}
.photo-overlay p{margin:0;color:#d2d9df;line-height:1.45}
.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.architecture-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:22px;
  align-items:start;
}
.architecture-main,.architecture-side{
  border:1px solid var(--line);
  background:#0b1015;
}
.architecture-main img{display:block;width:100%;height:auto}
.architecture-side{display:grid;gap:0}
.architecture-side article{padding:24px;border-bottom:1px solid var(--line)}
.architecture-side article:last-child{border-bottom:0}
.architecture-side h3{margin:0 0 8px;font-size:21px}
.architecture-side p{margin:0;color:var(--muted);line-height:1.5}
.field-components{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.field-component{
  border:1px solid var(--line);
  background:linear-gradient(155deg,#151e27,#0b1015);
}
.field-component img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.field-component div{padding:18px}
.field-component h3{margin:0 0 7px;font-size:20px}
.field-component p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.yard-hero{
  position:relative;
  min-height:540px;
  border:1px solid var(--line);
  overflow:hidden;
}
.yard-hero img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
}
.yard-hero:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,8,12,.9),rgba(5,8,12,.25));
}
.yard-copy{
  position:relative;z-index:2;
  max-width:560px;
  padding:70px 55px;
}
.yard-copy h3{font-size:42px;margin:0 0 14px;text-transform:uppercase}
.yard-copy p{color:#e2e6ea;font-size:18px;line-height:1.55}
.validation{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}
.validation img{
  width:100%;height:100%;min-height:470px;object-fit:cover;
  border:1px solid var(--line);
}
.validation-copy{
  padding:36px;
  background:linear-gradient(145deg,#151e27,#0b1015);
  border-left:4px solid var(--red);
}
.validation-copy h3{font-size:34px;margin:0 0 14px}
.validation-copy p{color:var(--muted);line-height:1.6}
.validation-flow{display:grid;gap:14px;margin-top:24px}
.validation-flow div{padding:16px;border-top:1px solid var(--line)}
.validation-flow strong{color:var(--red);margin-right:10px}
@media(max-width:900px){
  .proof-strip,.architecture-grid,.validation{grid-template-columns:1fr}
  .photo-stack,.field-components{grid-template-columns:1fr}
  .yard-copy{padding:40px 28px}
}


.architecture-integrated{
  position:relative;
  min-height:720px;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    linear-gradient(90deg,rgba(5,8,12,.98) 0%,rgba(5,8,12,.92) 36%,rgba(5,8,12,.55) 70%,rgba(5,8,12,.74) 100%),
    url('/assets/img/install_02.jpg') right center/cover no-repeat;
}
.architecture-integrated:before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.65),transparent);
}
.arch-copy{
  position:absolute;
  left:0;top:0;bottom:0;
  width:39%;
  padding:58px 44px;
  z-index:3;
  background:linear-gradient(90deg,rgba(5,8,12,.98),rgba(5,8,12,.84),transparent);
}
.arch-copy h3{
  font-size:38px;
  line-height:1.05;
  margin:0 0 16px;
  text-transform:uppercase;
}
.arch-copy p{
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
  margin:0 0 24px;
}
.arch-points{display:grid;gap:13px}
.arch-point{
  padding:13px 14px;
  border-left:3px solid var(--red);
  background:rgba(10,15,20,.62);
  backdrop-filter:blur(6px);
}
.arch-point strong{display:block;margin-bottom:3px}
.arch-point span{color:var(--muted);font-size:13px;line-height:1.4}
.arch-diagram{
  position:absolute;
  right:1.5%;
  top:8%;
  width:67%;
  max-height:84%;
  object-fit:contain;
  z-index:2;
  filter:drop-shadow(0 18px 35px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(225,22,29,.10));
}
.arch-label{
  position:absolute;
  z-index:4;
  padding:8px 11px;
  background:rgba(7,11,15,.86);
  border:1px solid rgba(225,22,29,.65);
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  backdrop-filter:blur(6px);
}
.arch-label:after{
  content:"";
  position:absolute;
  height:1px;
  background:var(--red);
  top:50%;
}
.label-1{right:7%;top:15%}
.label-1:after{width:70px;right:100%}
.label-2{right:3%;top:43%}
.label-2:after{width:90px;right:100%}
.label-3{right:24%;bottom:13%}
.label-3:after{width:80px;left:100%}
.label-4{right:48%;bottom:8%}
.label-4:after{width:60px;left:100%}
@media(max-width:900px){
  .architecture-integrated{min-height:auto;padding-bottom:30px}
  .arch-copy{position:relative;width:auto;padding:34px 24px;background:rgba(5,8,12,.92)}
  .arch-diagram{position:relative;right:auto;top:auto;width:96%;max-height:none;margin:10px auto 0;display:block}
  .arch-label{display:none}
}


/* Home page additions */
.card-link{display:inline-block;color:var(--red);font-weight:800;font-size:13px;letter-spacing:.03em}
.card-link:hover{text-decoration:underline}
.field-component p{margin:0 0 4px}

/* One full-width image filling the hero. Taller than the default so the aerial
   photo reads as a proper banner instead of a thin, over-broad slice. */
.hero{min-height:680px;background-position:center 42% !important}
@media(max-width:900px){.hero{min-height:520px}}
