/* =======================================================
   TVA Cyber - landing page content only.
   Loaded ONLY on the "TVA Cyber Landing Page" template
   (see functions.php). Relies on the color variables and
   .tva-wrap container defined in site-header-footer.css,
   which is always loaded alongside this file.
   ======================================================= */

.tva-landing-page{margin:0;}
.tva-landing-page *{box-sizing:border-box;}
.tva-landing-page h1,
.tva-landing-page h2,
.tva-landing-page h3{font-family:'Space Grotesk',system-ui,sans-serif; margin:0; letter-spacing:-0.01em;}
.tva-landing-page img,
.tva-landing-page svg{max-width:100%; display:block;}
.tva-landing-page section{overflow-x:hidden;}

/* Hero */
.tva-landing-page .hero{position:relative; padding:88px 0 100px; overflow:hidden;}
.tva-landing-page .hero .tva-wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
.tva-landing-page .eyebrow{color:var(--tva-cyan); font-size:0.92rem; font-weight:500; margin-bottom:18px;}
.tva-landing-page h1.headline{font-size:clamp(2.3rem,4.6vw,3.6rem); font-weight:700; line-height:1.08; margin-bottom:22px; color:var(--tva-text);}
.tva-landing-page .hero p.lead{color:var(--tva-muted); font-size:1.12rem; max-width:520px; margin-bottom:34px;}
.tva-landing-page .cta-row{display:flex; gap:16px; flex-wrap:wrap;}
.tva-landing-page .btn-primary{
  padding:15px 28px; border-radius:8px; font-weight:600; font-size:0.98rem;
  background:linear-gradient(135deg,var(--tva-cyan),var(--tva-blue)); color:#03131c;
  text-decoration:none; display:inline-block;
  box-shadow:0 0 0 1px rgba(63,127,242,0.25), 0 18px 40px -14px rgba(47,216,232,0.45);
  transition:transform .2s, box-shadow .2s;
}
.tva-landing-page .btn-primary:hover{transform:translateY(-2px); box-shadow:0 0 0 1px rgba(63,127,242,0.4), 0 22px 46px -12px rgba(47,216,232,0.6); color:#03131c;}
.tva-landing-page .btn-secondary{
  padding:15px 28px; border-radius:8px; font-weight:600; font-size:0.98rem;
  border:1px solid var(--tva-border-strong); color:var(--tva-text);
  text-decoration:none; display:inline-block;
  transition:border-color .2s, background .2s;
}
.tva-landing-page .btn-secondary:hover{border-color:var(--tva-cyan); background:rgba(47,216,232,0.06); color:var(--tva-text);}

.tva-landing-page .hero-art{position:relative; aspect-ratio:1/1; max-width:480px; margin:0 auto;}
.tva-landing-page .hero-art svg{width:100%; height:100%;}
.tva-landing-page .pulse{animation:tvaPulseGlow 3.2s ease-in-out infinite;}
@keyframes tvaPulseGlow{
  0%,100%{opacity:0.5; r:4;}
  50%{opacity:1; r:6;}
}

/* Section headings */
.tva-landing-page .section-head{max-width:640px; margin-bottom:52px;}
.tva-landing-page .section-head h2{font-size:clamp(1.7rem,3vw,2.3rem); font-weight:700; margin-bottom:16px; color:var(--tva-text);}
.tva-landing-page .section-head p{color:var(--tva-muted); font-size:1.05rem;}

/* About */
.tva-landing-page .about{padding:110px 0; border-top:1px solid var(--tva-border);}
.tva-landing-page .about .grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.tva-landing-page .about p{color:var(--tva-muted); font-size:1.05rem; margin-bottom:20px;}
.tva-landing-page .about .highlight{
  margin-top:8px; padding:24px 26px; border-radius:10px;
  background:var(--tva-surface); border:1px solid var(--tva-border);
  border-left:3px solid var(--tva-cyan);
  font-family:'Space Grotesk',system-ui,sans-serif; font-size:1.2rem; font-weight:600; color:var(--tva-text);
}
.tva-landing-page .about-figure{position:relative; border-radius:14px; border:1px solid var(--tva-border); background:var(--tva-surface); padding:40px; height:100%;}
.tva-landing-page .stat-line{display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--tva-border); font-size:0.95rem; color:var(--tva-muted);}
.tva-landing-page .stat-line:last-child{border-bottom:none;}
.tva-landing-page .stat-line strong{color:var(--tva-text); font-weight:600;}

/* Services */
.tva-landing-page .services{padding:110px 0; background:var(--tva-surface); border-top:1px solid var(--tva-border); border-bottom:1px solid var(--tva-border);}
.tva-landing-page .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.tva-landing-page .service-card{
  background:var(--tva-surface-2); border:1px solid var(--tva-border); border-radius:12px;
  padding:30px 26px; transition:border-color .25s, transform .25s;
}
.tva-landing-page .service-card:hover{border-color:rgba(47,216,232,0.4); transform:translateY(-3px);}
.tva-landing-page .service-icon{width:42px; height:42px; margin-bottom:20px;}
.tva-landing-page .service-card h3{font-size:1.12rem; margin-bottom:10px; font-weight:600; color:var(--tva-text);}
.tva-landing-page .service-card p{color:var(--tva-muted); font-size:0.95rem; margin:0;}

/* Why */
.tva-landing-page .why{padding:110px 0;}
.tva-landing-page .why .intro{display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:64px; align-items:end;}
.tva-landing-page .why .intro p{color:var(--tva-muted); font-size:1.05rem;}
.tva-landing-page .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--tva-border); border:1px solid var(--tva-border); border-radius:12px; overflow:hidden;}
.tva-landing-page .pillar{background:var(--tva-bg); padding:36px 30px;}
.tva-landing-page .pillar-index{font-family:'Space Grotesk',system-ui,sans-serif; color:var(--tva-muted-dim); font-size:0.85rem; margin-bottom:14px;}
.tva-landing-page .pillar h3{font-size:1.25rem; margin-bottom:12px; color:var(--tva-text);}
.tva-landing-page .pillar p{color:var(--tva-muted); font-size:0.95rem; margin:0;}

/* CTA */
.tva-landing-page .cta-section{padding:100px 0; text-align:center; position:relative; border-top:1px solid var(--tva-border);}
.tva-landing-page .cta-section h2{font-size:clamp(1.8rem,3.4vw,2.5rem); margin-bottom:16px; color:var(--tva-text);}
.tva-landing-page .cta-section p.lead{color:var(--tva-muted); font-size:1.08rem; margin-bottom:36px;}
.tva-landing-page .contact-info{margin-top:44px; display:flex; gap:36px; justify-content:center; flex-wrap:wrap; color:var(--tva-muted); font-size:0.98rem;}
.tva-landing-page .contact-info a{color:var(--tva-text); font-weight:500; text-decoration:none;}
.tva-landing-page .contact-info a:hover{color:var(--tva-cyan);}

@media (max-width:900px){
  .tva-landing-page .hero .tva-wrap{grid-template-columns:1fr; text-align:left;}
  .tva-landing-page .hero-art{max-width:340px; margin-top:20px;}
  .tva-landing-page .about .grid, .tva-landing-page .why .intro{grid-template-columns:1fr; gap:32px;}
  .tva-landing-page .service-grid{grid-template-columns:1fr 1fr;}
  .tva-landing-page .pillars{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .tva-landing-page .service-grid{grid-template-columns:1fr;}
  .tva-landing-page .cta-row{flex-direction:column;}
  .tva-landing-page .btn-primary,.tva-landing-page .btn-secondary{text-align:center;}
  .tva-landing-page .contact-info{flex-direction:column; gap:14px;}
}
