/*
Theme Name: Neve Child - Lightwave
Template: neve
Description: Lightwave front page on top of Neve. Uses Neve's own fonts and colors.
Version: 1.0.0
Text Domain: neve-child-lightwave
*/

/* Everything below inherits Neve fonts and uses Neve's color variables. */
.lw-home{--lw-accent:var(--nv-primary-accent,#2f5aae);--lw-text:var(--nv-text-color,#272626);--lw-bg:var(--nv-site-bg,#fff);--lw-light:var(--nv-light-bg,#f4f5f7);--lw-dark:var(--nv-dark-bg,#121212);--lw-onDark:var(--nv-text-dark-bg,#fff);--lw-line:rgba(0,0,0,.1);color:var(--lw-text)}
.lw-home *{box-sizing:border-box}
.lw-wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.lw-section{padding-block:72px}
.lw-alt{background:var(--lw-light)}
.lw-home h1,.lw-home h2,.lw-home h3{margin:0 0 12px;line-height:1.15}
.lw-home h1{font-size:clamp(34px,5vw,58px);font-weight:800}
.lw-home h2{font-size:clamp(26px,3.4vw,38px);font-weight:800}
.lw-home h3{font-size:19px}
.lw-home p{margin:0 0 16px}
.lw-eyebrow{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--lw-accent);margin-bottom:10px}
.lw-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:4px;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;border:2px solid var(--lw-accent);background:var(--lw-accent);color:#fff;transition:transform .2s,opacity .2s}
.lw-btn:hover{opacity:.9;transform:translateY(-2px);color:#fff}
.lw-btn.ghost{background:transparent;color:var(--lw-accent)}.lw-btn.ghost:hover{background:var(--lw-accent);color:#fff}
.lw-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.lw-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}.lw-head p{max-width:460px;margin:0}
/* hero */
.lw-hero{padding-block:84px 70px;border-bottom:1px solid var(--lw-line)}
.lw-hero .lw-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.lw-hero .lead{font-size:18px;max-width:560px;margin-top:18px;opacity:.85}
.lw-hero-card{background:var(--lw-light);border:1px solid var(--lw-line);border-radius:6px;padding:30px}
.lw-hero-card ul{list-style:none;margin:0;padding:0}.lw-hero-card li{padding:12px 0;border-bottom:1px solid var(--lw-line);font-weight:600}.lw-hero-card li:last-child{border:0}
.lw-hero-card li span{display:block;font-weight:400;font-size:14px;opacity:.75}
/* tags */
.lw-tags{display:flex;gap:10px;flex-wrap:wrap}.lw-tags span{border:1px solid var(--lw-line);border-radius:99px;padding:8px 16px;font-weight:600;font-size:14px;background:var(--lw-bg)}
/* cards */
.lw-grid{display:grid;gap:20px}.lw-g4{grid-template-columns:repeat(4,1fr)}.lw-g3{grid-template-columns:repeat(3,1fr)}
.lw-card{background:var(--lw-bg);border:1px solid var(--lw-line);border-radius:6px;padding:26px;display:flex;flex-direction:column}
.lw-card p{font-size:15px;opacity:.85}.lw-card a.more{margin-top:auto;font-weight:700;color:var(--lw-accent);text-decoration:none}
.lw-alt .lw-card{background:var(--lw-bg)}
.lw-num{font-size:14px;font-weight:800;color:var(--lw-accent);margin-bottom:10px}
/* stats */
.lw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.lw-stats strong{display:block;font-size:clamp(26px,3vw,38px);color:var(--lw-accent);line-height:1.1}.lw-stats span{font-size:14px;opacity:.8}
/* woo grid inside */
.lw-home ul.products{margin-top:0}
/* CTA + contact */
.lw-cta{background:var(--lw-dark);color:var(--lw-onDark)}.lw-cta .lw-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.lw-cta h2,.lw-cta p{color:var(--lw-onDark)}.lw-cta p{opacity:.8;max-width:520px}
.lw-cta .lw-btn.ghost{color:var(--lw-onDark);border-color:var(--lw-onDark)}.lw-cta .lw-btn.ghost:hover{background:var(--lw-onDark);color:var(--lw-dark)}
.lw-contact .lw-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.lw-contact .custom-logo-link img,.lw-contact img.custom-logo{max-height:60px;width:auto;margin-bottom:18px}
.lw-contact dl{margin:20px 0 0}.lw-contact dl div{padding:14px 0;border-bottom:1px solid var(--lw-line)}.lw-contact dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.lw-contact dd{margin:3px 0 0;font-weight:600}.lw-contact dd a{color:inherit;text-decoration:none}.lw-contact dd a:hover{color:var(--lw-accent)}
.lw-mapbox{background:var(--lw-light);border:1px solid var(--lw-line);border-radius:6px;padding:34px;text-align:center}
@media(max-width:900px){.lw-hero .lw-wrap,.lw-contact .lw-wrap{grid-template-columns:1fr}.lw-g4,.lw-g3,.lw-stats{grid-template-columns:repeat(2,1fr)}.lw-section{padding-block:52px}}
@media(max-width:520px){.lw-g4,.lw-g3{grid-template-columns:1fr}.lw-btn{width:100%;justify-content:center}}
