/* ============================================================
   LASTLINE — Individual Air Defence
   Brand: Graphite #14171A · Signal Amber #C87D20 · Amber Light #E09230
          Bone #F5F3EF · Bone Deep #E8E4DC · Steel #6B7378
   Type:  Georgia (headlines) · Calibri (body)
   Amber is reserved: it marks the last line, kickers and rules only.
   ============================================================ */

:root{
  --graphite:#14171A;
  --graphite-2:#1C2024;
  --amber:#C87D20;
  --amber-light:#E09230;
  --bone:#F5F3EF;
  --bone-deep:#E8E4DC;
  --steel:#6B7378;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Calibri,'Segoe UI',-apple-system,Helvetica,Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  font-size:17px;line-height:1.6;
  color:var(--graphite);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}

.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

/* ---------- kickers, headings ---------- */
.kicker{
  font-family:var(--sans);
  font-size:12px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--amber);
  margin-bottom:14px;
}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.15;}
h1{font-size:clamp(34px,5vw,58px);}
h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:18px;}
h3{font-size:20px;margin-bottom:8px;}
.lede{font-size:19px;max-width:56em;color:#2b2f33;}
.on-dark{color:var(--bone);}
.on-dark .lede,.on-dark p{color:var(--bone-deep);}
.muted{color:var(--steel);}
.small{font-size:14px;}

/* ---------- header ---------- */
header.site{
  background:var(--graphite);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(255,255,255,.08);
}
header.site .bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:1240px;margin:0 auto;
}
header.site img.logo{height:34px;width:auto;}
nav.main{display:flex;gap:24px;align-items:center;}
nav.main a{
  color:var(--bone);text-decoration:none;white-space:nowrap;
  font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
}
nav.main a:hover{color:var(--amber-light);}
nav.main a.active{color:var(--amber-light);}
nav.main a.cta{
  border:1px solid var(--amber);color:var(--amber-light);
  padding:9px 18px;
}
nav.main a.cta:hover{background:var(--amber);color:var(--graphite);}
#navtoggle{display:none;}
label.navbtn{display:none;color:var(--bone);font-size:26px;cursor:pointer;line-height:1;}

/* ---------- hero ---------- */
.hero{
  background:var(--graphite);
  color:var(--bone);
  position:relative;overflow:hidden;
}
.hero .grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
  padding:84px 24px 90px;max-width:1240px;margin:0 auto;
}
.hero h1{color:#fff;margin:18px 0 22px;}
.hero .rule{width:64px;height:4px;background:var(--amber);margin-bottom:26px;}
.hero .lede,.page-hero .lede{color:var(--bone-deep);}
.hero img.photo{
  width:100%;height:100%;max-height:560px;object-fit:cover;object-position:top center;
  border-left:4px solid var(--amber);
}
.page-hero{
  background:var(--graphite);color:var(--bone);
  padding:66px 0 60px;
}
.page-hero .rule{width:64px;height:4px;background:var(--amber);margin:22px 0 0;}
.page-hero p.lede{margin-top:20px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--sans);font-weight:700;
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;padding:14px 28px;
}
.btn-amber{background:var(--amber);color:var(--graphite);}
.btn-amber:hover{background:var(--amber-light);}
.btn-ghost{border:1px solid var(--bone);color:var(--bone);}
.btn-ghost:hover{border-color:var(--amber-light);color:var(--amber-light);}
.btn-dark{border:1px solid var(--graphite);color:var(--graphite);}
.btn-dark:hover{background:var(--graphite);color:var(--bone);}
.btnrow{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;}

/* ---------- sections ---------- */
section.band{padding:72px 0;}
.band-bone{background:var(--bone);}
.band-deep{background:var(--bone-deep);}
.band-dark{background:var(--graphite);}
.band-dark h2,.band-dark h3{color:#fff;}
.sub{max-width:60em;}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;}
.pillar{border-left:3px solid var(--amber);padding-left:18px;}
.pillar .k{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-light);margin-bottom:6px;}
.pillar p{font-size:15px;color:var(--bone-deep);}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:40px;}
.card{
  background:#fff;border:1px solid var(--bone-deep);
  padding:26px 24px;
}
.card.on-deep{background:var(--bone);}
.card h3{font-family:var(--sans);font-size:17px;font-weight:700;margin-bottom:8px;}
.card h3.amber{color:var(--amber);}
.card p{font-size:15px;color:#3a3f43;}
.card .cardlink{
  display:inline-block;margin-top:14px;font-size:13px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--amber);text-decoration:none;
}
.card .cardlink:hover{color:var(--amber-light);}

/* definition box */
.definition{
  background:var(--bone);border-left:5px solid var(--amber);
  padding:30px 34px;margin:40px 0 0;
}
.definition .term{font-weight:700;font-size:18px;}
.definition .term em{font-weight:400;color:var(--steel);font-style:italic;font-size:15px;}
.definition p{margin-top:10px;max-width:52em;}

/* stat callout */
.stat-band{
  background:var(--graphite);color:var(--bone);
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
  padding:36px 40px;border-left:5px solid var(--amber);margin:42px 0;
}
.stat-band .big{font-family:var(--serif);font-size:64px;font-weight:700;color:var(--amber-light);line-height:1;}
.stat-band .lbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-deep);margin-top:6px;}
.stat-band p{color:var(--bone-deep);font-size:16px;}

/* tables */
table{width:100%;border-collapse:collapse;margin-top:28px;font-size:15px;}
table th{
  background:var(--graphite);color:var(--bone);
  text-align:left;padding:13px 16px;font-family:var(--sans);
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;
}
table td{padding:13px 16px;border-bottom:1px solid var(--bone-deep);vertical-align:top;}
table tr:nth-child(even) td{background:var(--bone);}
td.strong,.day{font-weight:700;}
.day{color:var(--amber);white-space:nowrap;}
td.num{color:var(--amber);font-weight:700;}
tr.highlight td{background:var(--graphite)!important;color:#fff;border-bottom:none;}
tr.highlight td .accent{color:var(--amber-light);}

/* feature rows / method list */
.rows{margin-top:34px;}
.row-item{
  display:grid;grid-template-columns:230px 1fr;gap:24px;
  padding:16px 0;border-bottom:1px solid var(--bone-deep);
}
.row-item .t{font-weight:700;}
.row-item .t .sq{color:var(--amber);margin-right:10px;}
.row-item p{color:#3a3f43;font-size:15.5px;}

/* two-col media */
.media2{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-top:44px;}
.media2 img{width:100%;border:1px solid var(--bone-deep);}
.media2 img.dark-frame{border-color:transparent;border-left:4px solid var(--amber);}
figcaption{font-size:13px;color:var(--steel);margin-top:10px;font-style:italic;}

/* variant list */
.variant{
  display:grid;grid-template-columns:150px 1fr 260px;gap:26px;align-items:center;
  border:1px solid var(--bone-deep);background:#fff;
  padding:22px 26px;margin-top:18px;
}
.variant.lead{background:var(--graphite);color:var(--bone);border-color:var(--graphite);border-left:5px solid var(--amber);}
.variant .code{font-family:var(--serif);font-size:30px;font-weight:700;}
.variant.lead .code{color:var(--amber-light);}
.variant .role{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--steel);}
.variant.lead .role{color:var(--bone-deep);}
.variant p{font-size:15px;color:#3a3f43;}
.variant.lead p{color:var(--bone-deep);}
.variant img{max-height:110px;width:auto;margin:0 auto;mix-blend-mode:multiply;}
.variant.lead img{mix-blend-mode:normal;}

/* dark pull-quote band */
.quote-band{
  background:var(--graphite);color:#fff;
  padding:26px 34px;margin-top:46px;
  font-weight:700;font-size:18px;
  border-left:5px solid var(--amber);
}

/* callout pair */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px;}
.pair .box{padding:28px 30px;}
.pair .box.light{background:var(--bone);}
.pair .box.dark{background:var(--graphite);color:var(--bone);}
.pair .box.dark h3{color:#fff;}
.pair .box.dark p{color:var(--bone-deep);}
.pair .box p{font-size:15.5px;}

/* tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px;}
.tile{background:var(--bone);padding:24px 26px;border:1px solid var(--bone-deep);}
.tile h3{font-family:var(--sans);font-size:16px;color:var(--amber);}
.tile p{font-size:15px;color:#3a3f43;}

/* steps */
.steps .row-item{grid-template-columns:130px 180px 1fr;}
.stepnum{font-weight:700;color:var(--amber);white-space:nowrap;}

/* engagement CTA */
.demo-band{background:var(--graphite);color:var(--bone);padding:64px 0;}
.demo-band h2{font-size:clamp(28px,3.6vw,42px);color:#fff;}
.demo-band .inner{border-left:5px solid var(--amber);padding-left:34px;}
.demo-band p{max-width:52em;color:var(--bone-deep);margin-top:14px;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:44px;}
.contact-card{background:var(--bone);padding:34px 36px;border-top:4px solid var(--amber);}
.contact-card h3{margin-bottom:14px;}
.contact-card dl{margin-top:6px;}
.contact-card dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--steel);margin-top:16px;}
.contact-card dd{font-size:17px;margin-top:2px;}
.contact-card a{color:var(--graphite);}

/* footer */
footer.site{background:var(--graphite);color:var(--bone-deep);margin-top:0;}
footer.site .top{
  display:grid;grid-template-columns:280px 1fr 1fr;gap:48px;
  padding:56px 24px 40px;max-width:1240px;margin:0 auto;
}
footer.site img{height:110px;width:auto;}
footer.site h4{
  font-family:var(--sans);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amber-light);margin-bottom:14px;
}
footer.site a{color:var(--bone-deep);text-decoration:none;font-size:15px;}
footer.site a:hover{color:#fff;}
footer.site ul{list-style:none;}
footer.site li{margin-bottom:8px;}
footer.site p{font-size:15px;}
footer.site .legal{
  border-top:1px solid rgba(255,255,255,.12);
  padding:26px 24px 34px;max-width:1240px;margin:0 auto;
  font-size:12.5px;color:var(--steel);line-height:1.7;
}
footer.site .legal strong{color:var(--bone-deep);}

/* utility */
.mt0{margin-top:0;}
.imgnote{font-size:12.5px;color:var(--steel);font-style:italic;margin-top:8px;}

/* ---------- responsive ---------- */
@media (max-width:1120px){
  label.navbtn{display:block;}
  nav.main{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--graphite);flex-direction:column;align-items:flex-start;
    padding:18px 24px 26px;gap:18px;border-bottom:1px solid rgba(255,255,255,.1);
  }
  #navtoggle:checked ~ nav.main{display:flex;}
  header.site .bar{position:relative;}
}

@media (max-width:900px){
  .hero .grid{grid-template-columns:1fr;padding:56px 24px;}
  .hero img.photo{max-height:420px;}
  .pillars{grid-template-columns:1fr;}
  .media2,.pair,.tiles,.contact-grid{grid-template-columns:1fr;}
  .row-item{grid-template-columns:1fr;gap:6px;}
  .steps .row-item{grid-template-columns:1fr;}
  .variant{grid-template-columns:1fr;text-align:left;}
  .variant img{margin:0;}
  .stat-band{grid-template-columns:1fr;gap:16px;}
  footer.site .top{grid-template-columns:1fr;gap:34px;}
}
