*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--fb);background:var(--bg);color:var(--ink);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}
section{padding:88px 0}
.alt{background:var(--bg2)}
h1,h2,h3{font-family:var(--fh);line-height:1.1;letter-spacing:var(--ls)}
h1{font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:var(--hw)}
h2{font-size:clamp(1.8rem,3.7vw,2.7rem);font-weight:var(--hw);margin-bottom:14px}
h3{font-size:1.2rem;font-weight:var(--hw3)}
.sec-head{max-width:680px;margin-bottom:44px}
.sec-head p{color:var(--muted);font-size:1.08rem}
.lead,.lead2{font-size:1.1rem;color:var(--muted);margin:18px 0}
.btn{display:inline-block;padding:15px 28px;border-radius:var(--btnr);font-weight:700;font-size:1rem;line-height:1.2;text-align:center;transition:transform .15s,background .15s,box-shadow .15s;border:2px solid transparent}
.btn-primary{background:var(--accent);color:var(--onaccent);box-shadow:var(--btnshadow)}
.btn-primary:hover{background:var(--accent-h);transform:translateY(-2px)}
.btn-ghost{border-color:var(--line2);background:transparent}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-t)}
.btn.sm{padding:10px 20px;font-size:.95rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}

/* header */
.top{position:sticky;top:0;z-index:50;background:var(--navbg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo img{height:46px;width:auto;background:var(--logochip);padding:5px 10px;border-radius:10px}
.links{display:flex;align-items:center;gap:26px;font-weight:600;font-size:.96rem}
.links a:not(.btn):hover{color:var(--accent-t)}
.burger{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:24px;height:2px;background:var(--ink);display:block}

/* hero shared */
.kicker{font-weight:700;color:var(--accent-t);margin-bottom:16px;font-size:1rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.chips li{padding:8px 16px;border:1px solid var(--line2);border-radius:99px;font-weight:600;font-size:.92rem;background:var(--chip)}
.tag{font-weight:700;font-size:1.1rem}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero-img{position:relative}
.hero-img img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover}
.float{position:absolute;background:var(--card);color:var(--ink);padding:14px 20px;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.22);display:flex;flex-direction:column;line-height:1.25}
.float b{font-family:var(--fh);font-size:1.5rem}
.float span{font-size:.85rem;color:var(--muted)}

/* calculator */
.calc{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}
.calc-in{padding:36px;display:flex;flex-direction:column;gap:30px}
.calc-in label,.calc-in legend{font-weight:700;display:block}
.calc-in output{float:right;font-family:var(--fh);font-size:1.15rem;color:var(--accent-t)}
.calc-in input[type=range]{width:100%;margin-top:14px;accent-color:var(--accent);height:6px}
fieldset{border:0}
legend{margin-bottom:12px}
.pk{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pk button{background:var(--bg);border:2px solid var(--line2);border-radius:14px;padding:12px 6px;font-weight:800;font-size:1.2rem;font-family:var(--fh);display:flex;flex-direction:column;align-items:center;line-height:1.2}
.pk button small{font-family:var(--fb);font-weight:600;font-size:.78rem;color:var(--muted)}
.pk button.on{border-color:var(--accent);background:var(--accent);color:var(--onaccent)}
.pk button.on small{color:inherit;opacity:.85}
.calc-out{padding:36px;background:var(--outbg);color:var(--outink)}
.big-l{font-weight:600;opacity:.85}
.big{font-family:var(--fh);font-size:clamp(2.6rem,6vw,3.8rem);font-weight:var(--hw);line-height:1.05;margin:6px 0 8px;color:var(--outbig)}
.fine-l{font-size:.88rem;opacity:.75;margin-bottom:22px}
.calc-out dl div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.18)}
.calc-out dt{opacity:.85}
.calc-out dd{font-weight:800}
.disc{font-size:.82rem;color:var(--muted);margin-top:18px;max-width:820px}

/* features */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feat li{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);font-weight:700;display:flex;gap:12px;align-items:flex-start;line-height:1.35}
.feat li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.6 2.6L10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* built for */
.built{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.bcard img{width:100%;aspect-ratio:3/2;object-fit:cover}
.bcard div{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1}
.bcard p{color:var(--muted);flex:1}
.bcard .btn{align-self:flex-start}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.media img{border-radius:var(--r);width:100%}
.media.sm{margin-top:28px}
.two{font-family:var(--fh);font-size:1.4rem;margin:6px 0 26px;font-weight:var(--hw3)}
.two b{display:block}
.tick{margin:10px 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.tick li{font-weight:700;padding-left:30px;position:relative}
.tick li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--accent) no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.6 2.6L10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* setup */
.setup-box{background:var(--setupbg);color:var(--setupink);border-radius:var(--r);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.setup-box h2{margin-bottom:6px}
.setup-p{opacity:.8;margin-top:10px}
.setup-price{font-family:var(--fh);font-size:clamp(3.4rem,8vw,5.2rem);font-weight:var(--hw);line-height:1;margin:2px 0 14px}
.promo{opacity:.85;font-size:.95rem;margin-bottom:22px;max-width:380px}
.incl{display:grid;gap:10px}
.incl li{background:rgba(255,255,255,.1);padding:12px 18px;border-radius:12px;font-weight:600}

/* pricing */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.tab{padding:11px 22px;border-radius:99px;border:2px solid var(--line2);background:transparent;font-weight:700}
.tab.on{background:var(--accent);border-color:var(--accent);color:var(--onaccent)}
.panel{display:none}.panel.on{display:block}
.pgrid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.pgrid.n4{grid-template-columns:repeat(4,1fr)}
.pgrid.n5{grid-template-columns:repeat(3,1fr)}
.pgrid.n6{grid-template-columns:repeat(3,1fr)}
.price{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 24px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}
.price.feat{border:2px solid var(--accent)}
.price .badge{position:absolute;top:-13px;left:24px;background:var(--accent);color:var(--onaccent);font-size:.8rem;font-weight:800;padding:4px 12px;border-radius:99px}
.price .each{color:var(--muted);font-weight:600}
.price .amt{font-family:var(--fh);font-size:2.1rem;font-weight:var(--hw);margin:8px 0 14px}
.price .btn{margin-top:auto}

/* forms */
.formcard{padding:30px;margin-top:30px}
.cta .formcard{margin-top:0}
.formcard h3{margin-bottom:14px;font-size:1.4rem}
.ghl iframe{width:100%;min-height:520px;border:0;display:block}
.ghl-placeholder{border:2px dashed var(--line2);border-radius:14px;padding:34px 22px;text-align:center;background:var(--bg);display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.ghl-placeholder strong{color:var(--ink);font-size:1.05rem}
.ghl-placeholder code{background:var(--bg2);padding:2px 6px;border-radius:6px;font-size:.85em}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;box-shadow:var(--shadow)}
.steps .n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--onaccent);font-family:var(--fh);font-weight:800;font-size:1.2rem;margin-bottom:16px}
.steps p{color:var(--muted);margin-top:8px}
.closer{margin-top:38px;font-family:var(--fh);font-size:clamp(1.3rem,2.6vw,1.8rem);max-width:760px;font-weight:var(--hw3);line-height:1.3}

/* testimonials */
.mason{columns:3;column-gap:20px}
.mason a{display:block;break-inside:avoid;margin-bottom:20px;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}
.mason img{width:100%;height:auto}

.foot{padding:44px 0;background:var(--footbg);color:var(--footink)}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot p{opacity:.8;font-size:.92rem}
.foot .logo img{background:#fff}

@media(max-width:960px){
  .hero-grid,.split,.calc,.setup-box{grid-template-columns:1fr}
  .hero-grid{gap:40px}
  .feat{grid-template-columns:repeat(2,1fr)}
  .built,.steps{grid-template-columns:1fr}
  .pgrid,.pgrid.n4,.pgrid.n5,.pgrid.n6{grid-template-columns:repeat(2,1fr)}
  .mason{columns:2}
  section{padding:68px 0}
  .burger{display:flex}
  .links{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;padding:20px 22px 26px;gap:16px;border-bottom:1px solid var(--line)}
  .links.open{display:flex}
}
@media(max-width:560px){
  body{font-size:16px}
  .feat,.pgrid,.pgrid.n4,.pgrid.n5,.pgrid.n6,.tick{grid-template-columns:1fr}
  .mason{columns:1}
  .calc-in,.calc-out{padding:24px}
  .setup-box{padding:30px 24px}
  .pk{grid-template-columns:repeat(2,1fr)}
  .cta-row .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


:root{
  --bg:#070633;--bg2:#0b0947;--card:#100d66;--ink:#ffffff;--muted:#bdbcf2;
  --accent:#49C94C;--accent-h:#66DB69;--accent-t:#6FE072;--onaccent:#032108;
  --line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.24);--chip:rgba(255,255,255,.05);
  --fh:'Fraunces',Georgia,serif;--fb:'Figtree',system-ui,sans-serif;--ls:-.02em;--hw:700;--hw3:600;
  --r:22px;--r2:16px;--btnr:99px;--btnshadow:0 10px 26px rgba(73,201,76,.28);--shadow:0 20px 50px rgba(0,0,0,.28);
  --navbg:rgba(7,6,51,.88);--logochip:#fff;
  --outbg:linear-gradient(160deg,#120DC6,#0A0788);--outink:#ffffff;--outbig:#49C94C;
  --setupbg:linear-gradient(135deg,#120DC6,#0B08A0);--setupink:#ffffff;
  --footbg:#040320;--footink:#ffffff}
.hero-a{padding:80px 0 96px;background:radial-gradient(900px 500px at 85% -10%,rgba(73,201,76,.22),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(90,110,255,.2),transparent 60%)}
.hero-a h1{margin-bottom:6px}
.hero-a .float{left:-28px;bottom:-28px}
.hero-a .hero-img img{border:1px solid var(--line2);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.hero-a .float{background:var(--accent);color:var(--onaccent)}
.hero-a .float span{color:rgba(3,33,8,.75)}
.calc-sec{padding-top:40px}
.calc-out .big{color:#49C94C}
.calc-out dl div{border-top-color:rgba(3,33,8,.2)}
.btn-ghost:hover{color:var(--accent-t)}
.setup-box .btn-primary{background:#070633;color:#ffffff;box-shadow:none}
.setup-box .btn-primary:hover{background:#100d66}
.setup-box .incl li{background:rgba(3,33,8,.12)}
.pk button{background:var(--bg2);color:var(--ink)}
.pk button.on{color:var(--onaccent)}
.feat li::before{background-color:var(--accent)}
.ghl-placeholder{background:var(--bg2)}
.price.feat{background:linear-gradient(180deg,#1c18a0,#100d66)}

.chips .chip-solar{border-color:var(--accent)}
.chips .chip-solar a{color:var(--accent-t);font-weight:700}
.chips .chip-solar:hover{background:var(--accent)}
.chips .chip-solar:hover a{color:var(--onaccent)}
.video-sec{padding-top:40px}
.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;max-width:960px;margin:0 auto;border:2px solid var(--accent)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,#120DC6,#0A0788);color:#fff}
.video-ph .play{width:84px;height:84px;border-radius:50%;background:var(--accent);position:relative;box-shadow:var(--btnshadow)}
.video-ph .play:after{content:"";position:absolute;left:34px;top:25px;border-left:26px solid var(--onaccent);border-top:17px solid transparent;border-bottom:17px solid transparent}
.chips li a{display:block}
.chips .chip-solar{border-color:var(--accent)}
.chips .chip-solar a{color:var(--accent-t);font-weight:700}

/* get started */
.start{padding:60px 0 88px}
.start-banner{position:relative;border-radius:var(--r);overflow:hidden;padding:56px 32px;text-align:center;background:linear-gradient(rgba(7,6,51,.82),rgba(7,6,51,.82)),url("https://theaptgenies.com/wp-content/uploads/2026/07/2849dd74-e69c-450f-a1ee-9f875dc88575.png") center/cover;border:1px solid var(--line)}
.start-banner h2{text-transform:uppercase;letter-spacing:.04em;margin-bottom:32px}
.start-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:980px;margin:0 auto}
.start-steps li{padding:8px 22px;font-weight:700;font-size:1.05rem;border-left:2px solid var(--accent);text-align:center}
.start-steps li:first-child{border-left:0}
.start-steps .n{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 12px;border-radius:50%;background:var(--accent);color:var(--onaccent);font-family:var(--fh);font-weight:800}
.start-form{max-width:780px;margin:32px auto 0;background:#fff;border-radius:12px;padding:14px;min-height:640px}
.start-form{min-height:0}
.start-form iframe{display:block;width:100%!important;height:1850px!important}
@media(max-width:560px){.start-form iframe{height:2300px!important}}
@media(max-width:960px){.start-steps{grid-template-columns:repeat(2,1fr);row-gap:24px}.start-steps li:nth-child(3){border-left:0}}
@media(max-width:560px){.start-steps{grid-template-columns:1fr}.start-steps li{border-left:0}.start-banner{padding:40px 18px}}

/* solar page */
.sol-hero{padding:72px 0 56px}
.sol-kicker{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.14em;font-size:.78rem;color:var(--accent-t);margin-bottom:18px}
.sol-kicker:before{content:"";width:28px;height:2px;background:var(--accent)}
.sol-hero h1 .hl{color:var(--accent)}
.sol-note{font-size:.88rem;color:var(--muted);margin-top:18px}
.sol-card{padding:30px}
.sol-card .lab{color:var(--muted);font-weight:600;font-size:.92rem}
.sol-card .big-p{font-family:var(--fh);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:var(--hw);line-height:1.05;margin:6px 0 18px}
.sol-card .big-p small{font-family:var(--fb);font-size:1rem;color:var(--muted);font-weight:600}
.sol-card dl div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.sol-card dd{font-weight:800;color:var(--accent-t)}
.sol-card .fine{font-size:.85rem;color:var(--muted);margin-top:14px}
.sol-grid{display:grid;gap:20px}
.sol-grid.g3{grid-template-columns:repeat(3,1fr)}
.sol-grid.g4{grid-template-columns:repeat(4,1fr)}
.sol-grid.g5{grid-template-columns:repeat(5,1fr)}
.sol-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;box-shadow:var(--shadow)}
.sol-item .tagn{font-family:var(--fh);font-weight:800;color:var(--accent);font-size:1.05rem;letter-spacing:.04em;display:block;margin-bottom:10px}
.sol-item h3{margin-bottom:8px}
.sol-item p{color:var(--muted);font-size:.97rem}
.sol-eq{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;margin:8px 0 34px}
.sol-eq .t{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;text-align:center;box-shadow:var(--shadow)}
.sol-eq .t b{display:block;font-family:var(--fh);font-size:2rem;font-weight:var(--hw)}
.sol-eq .t span{color:var(--muted);font-weight:600}
.sol-eq .plus{font-size:2rem;font-weight:800;color:var(--accent)}
.sol-center{text-align:center}
.sol-cta{background:var(--setupbg);color:var(--setupink);border-radius:var(--r);padding:52px 32px;text-align:center}
.sol-cta p{opacity:.9;max-width:620px;margin:10px auto 24px}
@media(max-width:960px){.sol-grid.g3,.sol-grid.g4{grid-template-columns:repeat(2,1fr)}.sol-grid.g5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sol-grid.g3,.sol-grid.g4,.sol-grid.g5{grid-template-columns:1fr}}
