/*
Theme Name: Solar Tax Pros Cinematic
Theme URI: https://solartaxpros.com
Author: Solar Tax Pros
Description: Cinematic video-background theme for Solar Tax Pros. Scroll-parallax homepage with animated logo, Solar Tax Max Outputs card, and dark glass interior pages.
Version: 2.5.3
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: solartaxpros
*/

:root{
  --bg:#04060f;
  --blue:#2e7bff;
  --blue-bright:#5b9bff;
  --glow:rgba(46,123,255,.45);
  --white:#f4f7ff;
  --muted:#eef2fa;
  --line:rgba(91,155,255,.16);
  --panel:rgba(8,12,26,.55);
  --gold:#ffc233;
  --display:"Unbounded",sans-serif;
  --body:"Archivo",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--bg);color:var(--white);line-height:1.65;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
::selection{background:var(--blue);color:#fff}

/* ===== the film: fixed WebGL canvas behind everything ===== */
.bg-photo{position:fixed;top:-6%;left:-6%;width:112%;height:112%;object-fit:cover;z-index:0;will-change:transform;transform:scale(1.02)}
.bg-tint{position:fixed;inset:0;z-index:0;background:linear-gradient(180deg,rgba(3,5,12,.55) 0%,rgba(3,5,12,.48) 42%,rgba(3,5,12,.72) 100%)}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}



/* ===== minimal chrome ===== */
header.stp-header{position:fixed;top:0;left:0;right:0;z-index:10;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
header.stp-header>*{pointer-events:auto}
.brand img{height:54px;width:auto;filter:drop-shadow(0 0 14px var(--glow))}
.chrome-right{display:flex;align-items:center;gap:14px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:.92rem;text-decoration:none;border-radius:12px;padding:14px 26px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;letter-spacing:.01em}
.btn-glow{background:linear-gradient(135deg,var(--blue),#1a5cff);color:#fff;box-shadow:0 0 26px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 44px var(--glow)}
.btn-ghost{border-color:rgba(91,155,255,.4);color:var(--white);background:rgba(7,11,24,.62)}
.btn-ghost:hover{border-color:var(--blue-bright);box-shadow:0 0 22px rgba(46,123,255,.25)}
.menu-btn{width:48px;height:48px;border-radius:12px;border:1px solid rgba(91,155,255,.4);background:rgba(7,11,24,.62);cursor:pointer;display:grid;place-items:center;gap:0}
.menu-btn span{display:block;width:20px;height:2px;background:var(--white);margin:2.5px 0;transition:transform .25s ease,opacity .25s ease}
body.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-btn span:nth-child(2){opacity:0}
body.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* fullscreen menu */
.menu{position:fixed;inset:0;z-index:9;background:rgba(3,5,12,.9);backdrop-filter:blur(18px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .35s ease}
body.menu-open .menu{opacity:1;pointer-events:auto}
.menu nav{display:grid;gap:6px;text-align:center}
.menu .group{font-family:var(--display);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue-bright);margin:22px 0 8px}
.menu a{font-family:var(--display);font-weight:700;font-size:clamp(1.1rem,3.4vw,1.7rem);text-decoration:none;padding:4px 10px;transition:color .15s ease,letter-spacing .2s ease}
.menu a:hover{color:var(--blue-bright);letter-spacing:.02em}

/* ===== scenes (content floats over the film) ===== */
main{position:relative;z-index:2}
.scene-slide{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 24px;position:relative}
.inner{width:100%;max-width:1100px;margin:0 auto}
.center{text-align:center}
.kicker{font-family:var(--display);font-size:.7rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px;text-shadow:0 0 20px var(--glow)}
h1{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,5.8vw,4.3rem);line-height:1.1;letter-spacing:-.01em;margin:0 auto 24px;max-width:56rem;text-shadow:0 4px 40px rgba(0,0,0,.8)}
h1 .electric{background:linear-gradient(100deg,var(--blue-bright),#a8c8ff 55%,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px rgba(46,123,255,.55))}
h2{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.16;text-shadow:0 4px 30px rgba(0,0,0,.8)}
.lead{color:#ffffff;font-size:1.12rem;max-width:38rem;margin:0 auto 40px;text-shadow:0 2px 16px rgba(0,0,0,.9)}
.sub{color:var(--muted);max-width:38rem;margin-top:16px;font-size:1rem}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-bright);border:1px solid rgba(46,123,255,.4);border-radius:999px;padding:9px 20px;background:rgba(7,11,24,.7);margin-bottom:32px}
.badge svg{width:13px;height:13px;fill:var(--blue-bright);filter:drop-shadow(0 0 6px var(--glow))}
.ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.scroll-cue{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:grid;justify-items:center;gap:10px}
.scroll-cue::after{content:"";width:1px;height:44px;background:linear-gradient(180deg,var(--blue-bright),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1)}100%{transform:scaleY(.2);transform-origin:bottom}}

/* glass cards */
.glass{background:rgba(7,11,24,.82);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
.stat{padding:30px 22px;text-align:center}
.stat .num{font-family:var(--display);font-weight:800;font-size:2.2rem;color:var(--blue-bright);text-shadow:0 0 30px var(--glow);font-variant-numeric:tabular-nums}
.stat .cap{font-size:.8rem;color:var(--muted);margin-top:10px;line-height:1.5}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px}
.card{padding:34px 30px}
.card .num{font-family:var(--display);font-size:.7rem;color:var(--blue-bright);letter-spacing:.22em;display:block;margin-bottom:18px}
.card h3{font-family:var(--display);font-weight:700;font-size:1.05rem;margin-bottom:12px;line-height:1.35}
.card p{font-size:.9rem;color:var(--muted)}
.step-num{font-family:var(--display);font-weight:800;font-size:2.4rem;color:transparent;-webkit-text-stroke:1px rgba(91,155,255,.6);display:block;margin-bottom:14px}

/* ledger */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ledger{padding:32px 34px 26px;position:relative}
.tledger-title{font-family:var(--display);font-weight:700;font-size:1.12rem;text-align:center;color:var(--blue-bright);text-shadow:0 0 18px var(--glow);margin-bottom:5px}
.tledger-sub{text-align:center;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.trow{display:grid;grid-template-columns:1fr 64px 104px;gap:12px;align-items:center;padding:11px 16px;border-radius:9px;margin-bottom:6px;font-size:.88rem;line-height:1.3}
.trow .tl{font-weight:600}
.trow .tp,.trow .ta{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.trow .ta{font-size:1.02rem}
.t-base{background:rgba(255,255,255,.05);border:1px solid var(--line)}
.t-lblue{background:linear-gradient(135deg,#6b8df5,#597ceb);box-shadow:0 4px 16px rgba(89,124,235,.28)}
.t-dblue{background:linear-gradient(135deg,#2e55e8,#1f43cc);box-shadow:0 4px 16px rgba(31,67,204,.32)}
.t-total{background:linear-gradient(135deg,#1f8a5c,#156945);box-shadow:0 4px 18px rgba(31,138,92,.32)}
.t-total .ta{filter:drop-shadow(0 0 10px rgba(63,190,130,.55))}
.t-net{background:linear-gradient(135deg,#ffe95c,#ffd21f);box-shadow:0 4px 20px rgba(255,210,31,.4)}
.t-net .tl,.t-net .tp,.t-net .ta{color:#000}
.trow.t-net{margin-bottom:2px}
.ledger-foot{margin-top:14px;font-size:.75rem;color:var(--muted)}

/* video */
.video-frame{position:relative;aspect-ratio:16/9;max-width:860px;margin:52px auto 0;border-radius:20px;overflow:hidden;border:1px solid rgba(46,123,255,.4);box-shadow:0 0 80px rgba(46,123,255,.2),0 40px 90px rgba(0,0,0,.7);background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* reviews */
.review{padding:28px}
.review .stars{color:var(--gold);letter-spacing:3px;font-size:.9rem;margin-bottom:14px;filter:drop-shadow(0 0 10px rgba(255,194,51,.4))}
.review p{font-size:.92rem;margin-bottom:18px}
.review .who{display:flex;align-items:center;gap:10px}
.review .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#0a2a66);display:grid;place-items:center;font-size:.68rem;font-weight:700;flex-shrink:0}
.review .name{font-weight:600;font-size:.86rem}
.review .date{font-size:.7rem;color:var(--muted)}

/* FAQ */
.faq-box{max-height:64vh;overflow:auto;padding:8px 26px;scrollbar-width:thin;scrollbar-color:var(--blue) transparent;margin-top:44px}
.faq{border-bottom:1px solid var(--line)}
.faq:last-child{border-bottom:none}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:20px 4px;font-weight:600;font-size:.98rem}
.faq summary:hover{color:var(--blue-bright)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{margin-left:auto;flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue-bright);transition:transform .2s ease}
.faq[open] summary .plus{transform:rotate(45deg);border-color:var(--blue);box-shadow:0 0 16px rgba(46,123,255,.35)}
.faq .a{padding:0 4px 22px;color:var(--muted);font-size:.92rem}
.faq .a p + p{margin-top:10px}
.faq .a ul{margin:10px 0 0 18px}
.faq .a li{margin-bottom:6px}

/* CTA + footer */
.logo-orbit{position:relative;display:inline-block;margin-bottom:30px}
.logo-orbit img{width:110px;height:110px;filter:drop-shadow(0 0 40px var(--glow))}
.orbit-ring{position:absolute;left:50%;top:50%;width:168px;height:168px;transform:translate(-50%,-50%);border:1px dashed rgba(91,155,255,.45);border-radius:50%;animation:spin 16s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.orbit-dot{position:absolute;left:50%;top:0;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#5b9bff 60%,#1a3f8f);box-shadow:0 0 12px 4px rgba(91,155,255,.7)}
footer.stp-footer{position:relative;z-index:2;background:rgba(3,5,12,.94);border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:56px 0 44px}
.foot-grid h4{color:var(--white);font-family:var(--display);font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:10px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:var(--blue-bright)}
.foot-logo img{width:96px;filter:drop-shadow(0 0 16px var(--glow))}
.socials{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.socials a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none}
.socials a:hover{border-color:var(--blue);box-shadow:0 0 14px rgba(46,123,255,.25)}
.si{width:15px;height:15px;fill:var(--muted)}
.socials a:hover .si{fill:var(--blue-bright)}
.foot-bar{border-top:1px solid var(--line);padding:20px 0;font-size:.8rem}
.foot-bar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot-bar a{text-decoration:none;margin-left:18px}
.foot-bar a:hover{color:var(--blue-bright)}

/* ===== animated brand logo ===== */

.alogo{position:relative;display:inline-block}
.alogo .ll{position:absolute;inset:0;background:center/contain no-repeat}
.alogo .base{position:relative;display:block;width:100%;height:100%;background:center/contain no-repeat;animation:aAmbient 5.2s ease-in-out infinite}
.alogo-full,.alogo-full .ll,.alogo-full .base{background-image:var(--logo-full)}
.alogo-mark,.alogo-mark .ll,.alogo-mark .base{background-image:var(--logo-mark)}
.alogo .sunfx{clip-path:circle(34% at 50% 41%);filter:blur(8px) brightness(1.55);mix-blend-mode:screen;opacity:.25;transform-origin:50% 41%;animation:aSun 5.2s ease-in-out infinite}
.alogo .strikefx{filter:brightness(2.7) saturate(.35) blur(.5px);mix-blend-mode:screen;opacity:0;animation:aStrike 4.8s infinite}
.alogo .namefx{clip-path:inset(72% 4% 0 4%);filter:blur(6px) brightness(1.8);mix-blend-mode:screen;opacity:.2;animation:aName 3.4s ease-in-out infinite alternate}
@keyframes aAmbient{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
@keyframes aSun{0%,100%{opacity:.22;transform:scale(1)}50%{opacity:.6;transform:scale(1.035)}}
@keyframes aStrike{0%,75%{opacity:0}77%{opacity:.75}79%{opacity:.08}81.5%{opacity:1}84%{opacity:.25}87%,100%{opacity:0}}
@keyframes aName{from{opacity:.15}to{opacity:.7}}
.brand .alogo{width:52px;height:49px;filter:drop-shadow(0 0 12px var(--glow))}
.cta-logo{width:240px;height:230px;margin:0 auto 28px;filter:drop-shadow(0 0 40px var(--glow))}
@media (prefers-reduced-motion:reduce){.alogo .base,.alogo .sunfx,.alogo .strikefx,.alogo .namefx{animation:none}.alogo .strikefx{opacity:0}}

/* scene entrance */
.fx{opacity:1;transform:none}
.fx.in{opacity:1;transform:none}
.fx.d1{transition-delay:.12s}.fx.d2{transition-delay:.24s}.fx.d3{transition-delay:.36s}

@media (max-width:960px){
  .stat-grid{grid-template-columns:1fr 1fr}
  .card-grid{grid-template-columns:1fr}
  .calc-grid{grid-template-columns:1fr;gap:40px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .trow{grid-template-columns:1fr 50px 86px;padding:12px 12px;font-size:.82rem}
  .trow .ta{font-size:.92rem}
  header{padding:16px 18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fx{opacity:1;transform:none;transition:none}
  .orbit-ring,.scroll-cue::after{animation:none}
}

/* ===== centered content everywhere ===== */
.scene-slide .inner{text-align:center}
.kicker{display:block;text-align:center;margin-bottom:18px}
.kicker::after{display:none}
h2{margin-left:auto;margin-right:auto}
.sub,.section-intro{margin-left:auto;margin-right:auto}
.calc-grid{align-items:center}
.calc-grid > div:first-child .btn{margin:0 auto}
.card,.stat,.step{text-align:center}
.card .num,.step-num{display:block}
.review{text-align:center}
.review .who{justify-content:center}
.trow{text-align:left}      /* table rows stay tabular */
.trow .tp,.trow .ta{text-align:right}
.faq summary{text-align:left}
.faq .a{text-align:left;margin:0 auto}
.ledger{margin-left:auto;margin-right:auto;max-width:600px}

/* ===== mobile polish ===== */
@media (max-width:760px){
  .scene-slide{padding:92px 16px;min-height:92vh}
  .lead{font-size:.98rem}
  .ctas .btn{padding:13px 22px;font-size:.88rem}
  .stat-grid{gap:10px;margin-top:38px}
  .stat{padding:20px 12px}
  .stat .num{font-size:1.55rem}
  .card-grid{gap:12px;margin-top:38px}
  .card{padding:26px 20px}
  .video-frame{margin-top:36px}
  .faq-box{max-height:66vh;padding:4px 14px}
  .faq summary{font-size:.9rem;padding:16px 2px}
  .cta-logo{width:176px;height:169px}
  header{padding:14px 14px}
  .brand .alogo{width:42px;height:39px}
  header .btn-glow{padding:10px 16px;font-size:.82rem}
  .menu-btn{width:42px;height:42px}
  .scroll-cue{bottom:36px}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr;gap:28px;padding:44px 0 36px;text-align:center}
  .socials{justify-content:center}
  .foot-bar .wrap{flex-direction:column;align-items:center;gap:8px;text-align:center}
  .foot-bar a{margin:0 9px}
  .trow{grid-template-columns:1fr 46px 78px;gap:8px;padding:10px 10px;font-size:.78rem}
  .trow .ta{font-size:.86rem}
  .tledger-title{font-size:.98rem}
  h1{font-size:clamp(1.7rem,8vw,2.3rem)}
  h2{font-size:clamp(1.35rem,6.4vw,1.8rem)}
  .badge{font-size:.66rem;padding:8px 14px}
}


/* ===== compact spacing ===== */
.scene-slide{min-height:0;padding:72px 24px}
.scene-slide:first-of-type{min-height:88vh;padding-top:120px}   /* hero keeps presence */
.stat-grid,.card-grid{margin-top:34px}
.video-frame{margin-top:34px}
.faq-box{margin-top:30px}
.gal-wrap{margin-top:34px}
h2{margin-bottom:6px}
.lead{margin-bottom:28px}
.badge{margin-bottom:22px}
.scroll-cue{bottom:28px}
@media (max-width:760px){
  .scene-slide{padding:52px 16px;min-height:0}
  .scene-slide:first-of-type{min-height:82vh;padding-top:104px}
  .stat-grid,.card-grid,.video-frame{margin-top:26px}
}

/* ===== interior pages ===== */
body:not(.home){background:radial-gradient(ellipse 80% 50% at 50% -10%,#0a1430 0%,#04060f 60%,var(--bg) 100%)}
.page-shell{max-width:880px;margin:0 auto;padding:150px 24px 90px;position:relative;z-index:2}
.page-shell .glass{padding:44px}
.entry-title{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin-bottom:28px}
.entry-content{color:#f2f5fc}
.entry-content h2,.entry-content h3{font-family:var(--display);color:var(--white);margin:34px 0 14px;line-height:1.25;text-align:left}
.entry-content p{margin-bottom:16px}
.entry-content a{color:var(--blue-bright)}
.entry-content ul,.entry-content ol{margin:0 0 16px 22px}
.entry-content img{border-radius:14px;margin:20px 0}
.post-card{padding:30px;margin-bottom:18px;display:block;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.post-card:hover{border-color:rgba(46,123,255,.5);transform:translateY(-2px)}
.post-card h2{font-size:1.2rem;margin-bottom:8px;text-align:left}
.post-card .meta{font-size:.78rem;color:var(--muted);margin-bottom:10px}
.post-card p{color:var(--muted);font-size:.92rem}

/* ===== hard guards vs Elementor kit / plugin styles ===== */
header.stp-header{display:flex !important;visibility:visible !important;opacity:1 !important}
footer.stp-footer{display:block !important;visibility:visible !important}
body h1,body h2,body h3,body .card h3,body .entry-title{color:var(--white) !important;font-family:var(--display) !important}
body h1 .electric{color:transparent !important}
body .kicker{color:var(--blue-bright) !important}
body .btn-glow, body .btn-glow *{color:#fff !important}
body .btn-ghost, body .btn-ghost *{color:var(--white) !important}
body .btn{text-decoration:none !important}
.stp-header a,.stp-header button,.menu a{color:var(--white) !important}
.menu a:hover{color:var(--blue-bright) !important}
footer.stp-footer a{color:var(--muted) !important}
footer.stp-footer a:hover{color:var(--blue-bright) !important}
body .lead,body .sub,body .section-intro,body .stat .cap,body .card p,body .faq .a,body .review p{color:var(--muted) !important}
.lead{color:#fff !important}
/* Elementor-built front page content sits above the film */
.stp-elementor-main{position:relative;z-index:2;padding-top:96px}
.stp-elementor-main .elementor-section{background:transparent}

/* guard: never let un-styled SVG icons explode to full width on Elementor-built pages */
.stp-elementor-main svg,.entry-content svg{max-width:80px;max-height:80px}
.stp-elementor-main .elementor-icon svg{width:1em;height:1em;max-width:none;max-height:none}

/* ===== Elementor-native homepage support ===== */
.stp-elementor-main{padding-top:0}
.stp-elementor-main .elementor-section{padding:56px 20px}
.stp-elementor-main .elementor-section:first-child{padding-top:140px}
.stp-elementor-main .elementor-heading-title{color:var(--white)}
.stp-elementor-main .elementor-widget-heading.kicker .elementor-heading-title,
.stp-elementor-main .kicker .elementor-heading-title{font-family:var(--display);font-size:.7rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--blue-bright) !important}
.stp-elementor-main h1.elementor-heading-title{font-size:clamp(2.1rem,5.8vw,4.3rem)}
.stp-elementor-main .elementor-widget-text-editor{color:var(--white)}

/* ===== Elementor-built header/footer support ===== */
.stp-header-el{position:fixed !important;top:0;left:0;right:0;z-index:60;background:rgba(4,6,15,.6);backdrop-filter:blur(10px)}
.stp-header-el .elementor-widget-image img{height:52px;width:auto;filter:drop-shadow(0 0 12px var(--glow))}
.stp-header-el .elementor-column{display:flex;align-items:center}
.stp-footer-el{background:rgba(3,5,12,.96);border-top:1px solid var(--line);color:var(--muted);position:relative;z-index:2}
.stp-footer-el .elementor-heading-title{font-family:var(--display);font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--white)}
.stp-footer-el a{color:var(--muted) !important;text-decoration:none}
.stp-footer-el a:hover{color:var(--blue-bright) !important}
.stp-footer-el p{margin-bottom:9px}

/* ===== final text-color enforcement (beats kit CSS load order) ===== */
html body .faq summary{color:var(--white) !important}
html body .faq summary:hover{color:var(--blue-bright) !important}
html body .faq .a, html body .faq .a p, html body .faq .a li{color:var(--muted) !important}
html body .stp-elementor-main .elementor-heading-title{color:var(--white) !important}
html body .stp-elementor-main .elementor-widget-heading.kicker .elementor-heading-title,
html body .stp-elementor-main .kicker .elementor-heading-title,
html body p.kicker{color:var(--blue-bright) !important}
html body .stat .num{color:var(--blue-bright) !important}
html body .stat .cap, html body .card p, html body .step p, html body .review p,
html body .ledger-foot, html body .tledger-sub{color:var(--muted) !important}
html body .tledger-title{color:var(--blue-bright) !important}
html body .trow .tl, html body .trow .tp, html body .trow .ta{color:#fff !important}
html body .t-base .tl, html body .t-base .tp, html body .t-base .ta{color:#e8eefc !important}
html body .t-net .tl, html body .t-net .tp, html body .t-net .ta{color:#000 !important}
html body .review .stars{color:var(--gold) !important}

/* ===== center content inside Elementor widgets ===== */
.stp-elementor-main .elementor-widget-html .elementor-widget-container,
.stp-elementor-main .elementor-widget-text-editor .elementor-widget-container{text-align:center}
.stp-elementor-main .ledger,.stp-elementor-main .faq-box{margin-left:auto;margin-right:auto;text-align:left}
.stp-elementor-main .trow .tp,.stp-elementor-main .trow .ta{text-align:right}
.stp-elementor-main .btn{margin-left:auto;margin-right:auto}

/* ===== simple reliable CTA logo ===== */
.cta-logo-img{display:block;width:220px;height:auto;margin:0 auto 28px;filter:drop-shadow(0 0 40px rgba(46,123,255,.45));animation:logoPulse 5s ease-in-out infinite}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 28px rgba(46,123,255,.4)) brightness(1)}50%{filter:drop-shadow(0 0 52px rgba(46,123,255,.65)) brightness(1.12)}}
@media (prefers-reduced-motion:reduce){.cta-logo-img{animation:none}}

/* ===== v2.3.4 layout + gradient enforcement ===== */
html body .ctas{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:14px !important;width:auto !important}
html body .ctas .btn{flex:0 0 auto !important;margin:0 !important}
html body .ledger{margin-left:auto !important;margin-right:auto !important;float:none !important}
html body h1 .electric,
html body .elementor-heading-title .electric{
  background:linear-gradient(100deg,#8ab6ff 0%,#cfe2ff 45%,#2e7bff 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  color:transparent !important;-webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 0 26px rgba(46,123,255,.65)) !important;
}

/* ===== Elementor layout corrections ===== */
/* buttons: keep pairs together, centered */
html body .ctas{display:flex !important;justify-content:center !important;align-items:center;gap:14px !important;flex-wrap:wrap;width:100% !important}
html body .ctas .btn{flex:0 0 auto !important;width:auto !important;margin:0 !important}
html body .stp-elementor-main .elementor-widget-html .ctas{max-width:none}

/* outputs card + faq: truly centered blocks */
html body .ledger{position:relative !important;margin:0 auto !important;max-width:620px !important;float:none !important}
html body .faq-box{margin-left:auto !important;margin-right:auto !important;max-width:820px !important}

/* IRS Refund stamp: restore the badge */
html body .ledger .stamp{position:absolute !important;right:22px !important;top:-15px !important;left:auto !important;
  background:var(--blue) !important;color:#fff !important;font-family:var(--body) !important;font-size:.64rem !important;
  font-weight:700 !important;letter-spacing:.18em !important;text-transform:uppercase !important;
  padding:8px 15px !important;border-radius:7px !important;transform:rotate(3deg) !important;
  box-shadow:0 0 24px var(--glow) !important;white-space:nowrap;z-index:3;display:inline-block !important}

/* paragraphs centered inside Elementor text widgets */
html body .stp-elementor-main .elementor-widget-text-editor p,
html body .stp-elementor-main .elementor-widget-html p.lead,
html body .lead,html body .sub{text-align:center !important;margin-left:auto !important;margin-right:auto !important;max-width:44rem}

/* ===== force heading blocks to center (Elementor kills auto margins) ===== */
html body .stp-elementor-main .elementor-section,
html body .stp-elementor-main .elementor-column,
html body .stp-elementor-main .elementor-widget-wrap,
html body .stp-elementor-main .elementor-widget-heading .elementor-widget-container{text-align:center !important}
html body .stp-elementor-main .elementor-widget-heading{width:100% !important}
html body .stp-elementor-main h1.elementor-heading-title{max-width:56rem !important}
html body .stp-elementor-main h2.elementor-heading-title{max-width:40rem !important}
html body .stp-elementor-main .elementor-heading-title{
  display:block !important;float:none !important;width:auto !important;
  margin-left:auto !important;margin-right:auto !important;text-align:center !important}
html body h1,html body h2{margin-left:auto !important;margin-right:auto !important;text-align:center !important}
/* keep genuinely-left content left */
html body .faq summary,html body .faq .a,html body .trow .tl,
html body .entry-content,html body .entry-content h2,html body .entry-content h3{text-align:left !important}
html body .trow .tp,html body .trow .ta{text-align:right !important}

/* ===== style ANY Elementor-built header to match the design ===== */
html body .elementor-location-header{
  position:fixed !important;top:0;left:0;right:0;width:100% !important;z-index:60;
  background:rgba(4,6,15,.55) !important;backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line) !important;box-shadow:none !important;
  margin:0 !important;border-radius:0 !important}
html body .elementor-location-header .elementor-section,
html body .elementor-location-header .elementor-container,
html body .elementor-location-header .elementor-column,
html body .elementor-location-header .elementor-widget-wrap{background:transparent !important;box-shadow:none !important;border-radius:0 !important}
html body .elementor-location-header .elementor-section{padding:10px 26px !important;max-width:1400px;margin:0 auto}

/* logo: proper size, never squashed */
html body .elementor-location-header .elementor-widget-image img,
html body .elementor-location-header .elementor-widget-theme-site-logo img{
  height:58px !important;width:auto !important;max-width:none !important;object-fit:contain !important;
  filter:drop-shadow(0 0 14px var(--glow))}

/* nav links */
html body .elementor-location-header .elementor-nav-menu a,
html body .elementor-location-header .elementor-nav-menu a:visited,
html body .elementor-location-header a:not(.elementor-button){
  color:#fff !important;font-family:var(--body) !important;font-weight:500 !important;font-size:.92rem !important}
html body .elementor-location-header .elementor-nav-menu a:hover{color:var(--blue-bright) !important}

/* buttons: brand blue, never green */
html body .elementor-location-header .elementor-button,
html body .elementor-location-header .elementor-button-link,
html body .elementor-location-header a.elementor-button{
  background:linear-gradient(135deg,var(--blue),#1a5cff) !important;background-color:transparent !important;
  color:#fff !important;border:none !important;border-radius:12px !important;
  padding:13px 26px !important;font-family:var(--body) !important;font-weight:700 !important;
  box-shadow:0 0 26px var(--glow) !important;text-shadow:none !important}
html body .elementor-location-header .elementor-button:hover{transform:translateY(-1px)}

/* push page content below the fixed header */
html body.elementor-page .stp-elementor-main > .elementor-section:first-child,
html body .stp-elementor-main > .elementor-element > .elementor-section:first-child{padding-top:150px !important}

/* Elementor-built footer */
html body .elementor-location-footer{background:rgba(3,5,12,.96) !important;border-top:1px solid var(--line);position:relative;z-index:2}
html body .elementor-location-footer .elementor-section{background:transparent !important}

/* ===== hamburger button: never inherit kit button styles ===== */
html body .stp-header .menu-btn,
html body button.menu-btn{
  background:rgba(7,11,24,.62) !important;background-image:none !important;background-color:rgba(7,11,24,.62) !important;
  border:1px solid rgba(91,155,255,.45) !important;border-radius:12px !important;
  width:48px !important;height:48px !important;min-height:0 !important;padding:0 !important;
  box-shadow:none !important;color:#fff !important;display:grid !important;place-items:center !important;
  transition:background .2s ease,border-color .2s ease}
html body button.menu-btn:hover{background:rgba(46,123,255,.22) !important;border-color:var(--blue-bright) !important}
html body button.menu-btn span{
  display:block !important;width:20px !important;height:2px !important;margin:2.5px auto !important;
  background:#fff !important;background-image:none !important;border-radius:2px}
/* header logo a touch larger */
html body .stp-header .brand .alogo{width:58px !important;height:55px !important}

/* ===== header position: clear the WP admin bar, never clip ===== */
html body .stp-header{
  top:0 !important;left:0;right:0;width:100% !important;
  min-height:78px !important;display:flex !important;align-items:center !important;
  padding:12px 26px !important;box-sizing:border-box;overflow:visible !important}
html body.admin-bar .stp-header,
html body.admin-bar .elementor-location-header{top:32px !important}
@media screen and (max-width:782px){
  html body.admin-bar .stp-header,
  html body.admin-bar .elementor-location-header{top:46px !important}
}
html{scroll-padding-top:96px}

/* ===== Trustindex reviews -> dark design (v3: outranks plugin CSS) ===== */
html body .ti-widget[data-set-id] .ti-widget-container,
html body .ti-widget[data-set-id] .ti-reviews-container,
html body .ti-widget[data-set-id] .ti-reviews-container-wrapper{background:transparent !important}

/* the card */
html body .ti-widget[data-set-id][data-layout-id] .ti-review-item > .ti-inner{
  background:rgba(7,11,24,.9) !important;
  background-color:rgba(7,11,24,.9) !important;
  background-image:none !important;
  border:1px solid rgba(91,155,255,.2) !important;
  border-radius:20px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.55) !important;
  padding:24px !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-review-item > .ti-inner:hover{
  border-color:rgba(46,123,255,.5) !important}

/* text */
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-name,
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-name *,
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-review-text-container,
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-review-content{
  color:#fff !important;-webkit-text-fill-color:#fff !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-date{
  color:#9fb0cc !important;-webkit-text-fill-color:#9fb0cc !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-read-more,
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-read-more *{
  color:#5b9bff !important;-webkit-text-fill-color:#5b9bff !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-inner .ti-empty-text{
  color:#9fb0cc !important;-webkit-text-fill-color:#9fb0cc !important}

/* avatars / platform icons / stars stay as-is */
html body .ti-widget[data-set-id][data-layout-id] .ti-inner img{background:transparent !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-profile-img img{border-radius:50% !important}

/* carousel arrows */
html body .ti-widget[data-set-id][data-layout-id] .ti-next,
html body .ti-widget[data-set-id][data-layout-id] .ti-prev{
  background:rgba(7,11,24,.92) !important;background-color:rgba(7,11,24,.92) !important;
  border:1px solid rgba(91,155,255,.45) !important;border-radius:50% !important;
  box-shadow:0 0 18px rgba(46,123,255,.25) !important;filter:invert(0) !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-next::before,
html body .ti-widget[data-set-id][data-layout-id] .ti-prev::before{
  border-color:#fff !important;color:#fff !important}
html body .ti-widget[data-set-id][data-layout-id] .ti-controls-line .dot{background:#5b9bff !important}
