/*
Theme Name: VoltLegal Child
Template: dt-the7
Version: 1.0
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#0A0F1E;
  --navy-mid:#111827;
  --navy-light:#161f34;
  --nb:rgba(255,255,255,0.08);
  --volt:#B8FF57;
  --vdim:rgba(184,255,87,0.07);
  --vborder:rgba(184,255,87,0.28);
  --white:#FFFFFF;
  --gray:#8a95a8;
  --gl:#c0c8d4;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--navy);color:var(--white);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
.page{display:none;}.page.active{display:block;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:0 6vw;height:72px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:0.5px solid var(--nb);
  background:rgba(10,15,30,0.95);
  backdrop-filter:blur(16px);
}

/* LOGO SVG recreation */
.logo-wrap{
  display:flex;align-items:center;gap:0;cursor:pointer;
  text-decoration:none;flex-shrink:0;
}
.logo-svg{height:34px;width:auto;}

.nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
.nav-links a{
  font-size:12px;font-weight:400;color:var(--gl);
  text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;
  transition:color 0.2s;cursor:pointer;
}
.nav-links a:hover{color:var(--white);}
.nav-cta{
  background:var(--volt)!important;color:var(--navy)!important;
  padding:8px 22px!important;border-radius:2px;
  font-weight:500!important;text-transform:none!important;
  font-size:13px!important;letter-spacing:0.02em!important;
}

/* ── HERO ── */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:end;
  padding:0 6vw 9vw;
  position:relative;overflow:hidden;gap:60px;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 55% at 75% 35%,rgba(184,255,87,0.055) 0%,transparent 65%),
    radial-gradient(ellipse 40% 50% at 5% 80%,rgba(80,40,160,0.12) 0%,transparent 55%);
}
.hero-left{position:relative;z-index:1;}
.hero-tag{
  font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--volt);margin-bottom:28px;display:flex;align-items:center;gap:14px;
}
.hero-tag::before{content:'';display:block;width:28px;height:1px;background:var(--volt);}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(50px,7.5vw,108px);
  font-weight:400;line-height:0.9;letter-spacing:-0.02em;margin-bottom:40px;
}
.hero h1 em{font-style:italic;color:var(--gray);}
.hero-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.btn-primary{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--volt);color:var(--navy);
  padding:15px 36px;font-family:var(--sans);
  font-size:14px;font-weight:500;letter-spacing:0.02em;
  border:none;border-radius:2px;cursor:pointer;
  text-decoration:none;transition:opacity 0.2s;white-space:nowrap;
}
.btn-primary:hover{opacity:0.85;}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gray);font-size:13px;
  text-decoration:none;transition:color 0.2s;cursor:pointer;
}
.btn-ghost:hover{color:var(--white);}
.hero-right{
  position:relative;z-index:1;
  display:flex;flex-direction:column;justify-content:flex-end;gap:36px;padding-bottom:4px;
}
.hero-statement{
  font-family:var(--serif);font-size:clamp(17px,2vw,22px);
  font-style:italic;font-weight:400;color:var(--gl);line-height:1.65;
  border-left:2px solid var(--volt);padding-left:24px;max-width:440px;
}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;max-width:440px;}
.pill{
  font-size:12px;font-weight:400;letter-spacing:0.06em;
  padding:7px 16px;border:0.5px solid var(--nb);
  color:var(--gl);background:rgba(255,255,255,0.03);
  transition:border-color 0.2s,color 0.2s;
}
.pill:hover{border-color:var(--vborder);color:var(--volt);}
.hero-stat{display:flex;flex-direction:column;gap:4px;}
.hero-stat strong{font-family:var(--serif);font-size:52px;font-weight:400;line-height:1;color:var(--volt);}
.hero-stat span{font-size:13px;color:var(--gray);letter-spacing:0.04em;}

/* ── SECTIONS ── */
section{padding:120px 6vw;position:relative;}
.section-label{
  font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--volt);margin-bottom:56px;display:flex;align-items:center;gap:12px;
}
.section-label::before{content:'';display:block;width:24px;height:1px;background:var(--volt);}

/* ── SERVICES ── */
#services{border-top:0.5px solid var(--nb);}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px;gap:40px;flex-wrap:wrap;}
.services-header h2{font-family:var(--serif);font-size:clamp(38px,5vw,66px);font-weight:400;line-height:1.05;max-width:560px;}
.services-header h2 em{font-style:italic;color:var(--gray);}
.services-intro{font-size:15px;color:var(--gl);max-width:320px;font-weight:300;line-height:1.8;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:0.5px solid var(--nb);}
.service-card{padding:44px 38px;border-right:0.5px solid var(--nb);border-bottom:0.5px solid var(--nb);transition:background 0.25s;}
.service-card:nth-child(3n){border-right:none;}
.service-card:nth-child(n+4){border-bottom:none;}
.service-card:hover{background:var(--vdim);}
.service-num{font-size:11px;color:var(--volt);letter-spacing:0.12em;margin-bottom:28px;font-weight:500;}
.service-card h3{font-family:var(--serif);font-size:23px;font-weight:400;margin-bottom:14px;line-height:1.2;}
.service-card p{font-size:14px;color:var(--gray);line-height:1.8;}

/* ── PARTNER ── */
#partner{border-top:0.5px solid var(--nb);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:120px 6vw;}
.partner-img-wrap{position:relative;}
.partner-img-placeholder{
  width:100%;aspect-ratio:3/4;max-height:580px;
  background:var(--navy-light);border:0.5px solid var(--nb);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--gray);font-size:13px;gap:14px;
}
.partner-img-badge{
  position:absolute;bottom:-1px;right:-1px;
  background:var(--volt);color:var(--navy);
  padding:18px 24px;font-size:12px;font-weight:500;letter-spacing:0.06em;line-height:1.6;
}
.partner-name{font-family:var(--serif);font-size:clamp(38px,4.5vw,58px);font-weight:400;line-height:1.0;margin-bottom:10px;}
.partner-title{font-size:12px;color:var(--volt);letter-spacing:0.14em;text-transform:uppercase;font-weight:500;margin-bottom:40px;}
.partner-bio{font-size:16px;color:var(--gl);line-height:1.8;font-weight:300;margin-bottom:40px;}
.partner-tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{font-size:12px;padding:6px 14px;border:0.5px solid var(--vborder);color:var(--volt);letter-spacing:0.05em;}

/* ── TESTIMONIALS ── */
#testimonials{border-top:0.5px solid var(--nb);background:var(--navy-mid);}
.testimonials-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:20px;}
.testimonials-header h2{font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.05;}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nb);}
.testimonial{background:var(--navy-mid);padding:46px 38px;}
.t-quote{font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.65;color:var(--gl);margin-bottom:32px;font-weight:400;}
.t-quote::before{content:'\201C';font-size:52px;color:var(--volt);display:block;line-height:1;margin-bottom:8px;font-style:normal;}
.t-author{font-size:13px;font-weight:500;color:var(--white);margin-bottom:3px;}
.t-role{font-size:12px;color:var(--gray);letter-spacing:0.04em;}

/* ── BLOG PREVIEW ── */
#blog{border-top:0.5px solid var(--nb);}
.blog-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:20px;}
.blog-header h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:400;margin-top:18px;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nb);}
.blog-card{background:var(--navy);padding:38px;cursor:pointer;transition:background 0.2s;text-decoration:none;color:inherit;display:block;}
.blog-card:hover{background:var(--navy-light);}
.blog-tag{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--volt);margin-bottom:16px;}
.blog-card h3{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.25;margin-bottom:16px;}
.blog-card p{font-size:14px;color:var(--gray);line-height:1.75;margin-bottom:30px;}
.blog-date{font-size:12px;color:var(--gray);display:flex;align-items:center;gap:10px;}
.blog-date::before{content:'';display:inline-block;width:16px;height:1px;background:var(--gray);}

/* ── FAQ ── */
#faq{border-top:0.5px solid var(--nb);}
#faq h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:400;margin-bottom:56px;}
.faq-list{display:flex;flex-direction:column;max-width:800px;}
.faq-item{border-top:0.5px solid var(--nb);padding:28px 0;cursor:pointer;}
.faq-item:last-child{border-bottom:0.5px solid var(--nb);}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.3;}
.faq-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0.5px solid var(--nb);color:var(--volt);font-size:16px;transition:transform 0.25s;}
.faq-a{font-size:15px;color:var(--gl);line-height:1.8;font-weight:300;max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s;}
.faq-item.open .faq-a{max-height:220px;padding-top:18px;}
.faq-item.open .faq-icon{transform:rotate(45deg);}

/* ── CONTACT ── */
#contact{border-top:0.5px solid var(--nb);background:var(--navy-mid);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contact-left h2{font-family:var(--serif);font-size:clamp(40px,5vw,70px);font-weight:400;line-height:0.98;margin-bottom:28px;}
.contact-left h2 em{font-style:italic;color:var(--gray);}
.contact-left>p{font-size:16px;color:var(--gl);font-weight:300;line-height:1.8;margin-bottom:44px;max-width:400px;}
.contact-details{display:flex;flex-direction:column;gap:22px;}
.contact-item{display:flex;flex-direction:column;gap:4px;}
.contact-item span:first-child{font-size:11px;color:var(--volt);letter-spacing:0.15em;text-transform:uppercase;font-weight:500;}
.contact-item a,.contact-item span:last-child{font-size:15px;color:var(--gl);text-decoration:none;font-weight:300;}
.contact-item a:hover{color:var(--white);}
.contact-form{display:flex;flex-direction:column;gap:16px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray);font-weight:500;}
.form-group input,.form-group select,.form-group textarea{
  background:rgba(255,255,255,0.03);border:0.5px solid rgba(255,255,255,0.12);
  color:var(--white);padding:12px 16px;font-family:var(--sans);font-size:14px;font-weight:300;
  outline:none;transition:border-color 0.2s;border-radius:0;appearance:none;width:100%;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--vborder);}
.form-group select option{background:var(--navy-mid);}
.form-group textarea{resize:vertical;min-height:100px;}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray);}
.form-submit{
  background:var(--volt);color:var(--navy);border:none;
  padding:15px 36px;font-family:var(--sans);font-size:14px;font-weight:500;
  letter-spacing:0.04em;cursor:pointer;align-self:flex-start;transition:opacity 0.2s;border-radius:0;
}
.form-submit:hover{opacity:0.85;}

/* ── FOOTER ── */
footer{border-top:0.5px solid var(--nb);padding:64px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:start;}
.footer-brand p{font-size:13px;color:var(--gray);line-height:1.75;margin-top:18px;max-width:280px;font-weight:300;}
.footer-col h4{font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--gray);margin-bottom:20px;}
.footer-links{display:flex;flex-direction:column;gap:10px;list-style:none;}
.footer-links a{font-size:14px;color:var(--gl);text-decoration:none;font-weight:300;transition:color 0.2s;cursor:pointer;}
.footer-links a:hover{color:var(--white);}
.footer-bottom{border-top:0.5px solid var(--nb);padding:24px 6vw;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:12px;color:var(--gray);}

/* ── BLOG PAGE ── */
.blog-page-hero{padding:155px 6vw 80px;border-bottom:0.5px solid var(--nb);}
.blog-page-hero h1{font-family:var(--serif);font-size:clamp(44px,6.5vw,88px);font-weight:400;line-height:0.95;margin-bottom:24px;}
.blog-page-hero h1 em{font-style:italic;color:var(--gray);}
.blog-page-hero p{font-size:17px;color:var(--gl);font-weight:300;max-width:520px;line-height:1.75;}
.blog-full-wrap{padding:0 6vw 80px;}
.blog-featured{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  background:var(--navy-light);padding:56px;cursor:pointer;transition:background 0.2s;
  border-bottom:0.5px solid var(--nb);
}
.blog-featured:hover{background:rgba(184,255,87,0.04);}
.blog-featured-label{font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--volt);margin-bottom:18px;}
.blog-featured h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,46px);font-weight:400;line-height:1.12;margin-bottom:20px;}
.blog-featured>div>p{font-size:15px;color:var(--gl);line-height:1.8;font-weight:300;margin-bottom:24px;}
.blog-img-ph{width:100%;aspect-ratio:16/10;background:var(--navy);border:0.5px solid var(--nb);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:13px;}
.blog-rest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nb);border:0.5px solid var(--nb);margin-top:1px;}

/* BLOG ADMIN NOTE */
.blog-admin-note{
  margin:40px 6vw 0;
  padding:20px 24px;
  background:var(--vdim);
  border:0.5px solid var(--vborder);
  font-size:13px;color:var(--gl);line-height:1.7;
}
.blog-admin-note strong{color:var(--volt);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.hero-tag{animation:fadeUp 0.7s ease both;}
.hero h1{animation:fadeUp 0.7s 0.1s ease both;}
.hero-actions{animation:fadeUp 0.7s 0.2s ease both;}
.hero-right{animation:fadeUp 0.7s 0.3s ease both;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:48px;}
  .hero-right{display:none;}
  .services-grid{grid-template-columns:1fr;}
  .service-card{border-right:none;}
  .service-card:nth-child(n+4){border-bottom:0.5px solid var(--nb);}
  .service-card:last-child{border-bottom:none;}
  #partner{grid-template-columns:1fr;gap:48px;}
  .testimonials-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .blog-rest-grid{grid-template-columns:1fr;}
  .blog-featured{grid-template-columns:1fr;gap:30px;}
  .contact-inner{grid-template-columns:1fr;gap:60px;}
  footer{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;}
  .nav-links{display:none;}
}

/* ── GLOBAL BACKGROUND OVERRIDE ── */
html, body, #page, #content, .site, .ast-container,
.ast-page-builder-template, .entry-content,
.ast-separate-container, .ast-plain-container {
  background-color: #0A0F1E !important;
  background: #0A0F1E !important;
}

/* ── ASTRA HEADER/FOOTER OVERRIDE ── */
.site-header, #masthead, .ast-primary-header-bar,
.ast-above-header-bar, .ast-below-header-bar,
.site-footer, #colophon, .footer-widget-area,
.ast-footer-copyright {
  display: none !important;
}

/* ── PAGE VISIBILITY FIX ── */
.page { display: block !important; }
#page-home { display: block !important; }

/* ── REMOVE ASTRA BODY MARGINS ── */
.ast-page-builder-template .site-content,
.ast-page-builder-template #primary,
body.ast-page-builder-template {
  padding: 0 !important;
  margin: 0 !important;
}
