/* ==========================================================================
   Genrsus Marketing — enqueued stylesheet (all pages)
   Scoped under .gs-lp. Loaded only on pages using a [genrsus_*] shortcode.
   ========================================================================== */

/* ---- seamless dark page ----------------------------------------------
   Force the theme's page/content wrappers dark on Genrsus pages, so the
   rounded card blends into the page instead of sitting inside a light frame. */
body.genrsus-page,
body.genrsus-page .site,
body.genrsus-page .site-content,
body.genrsus-page #content,
body.genrsus-page #primary,
body.genrsus-page .ast-container,
body.genrsus-page .entry-content,
body.genrsus-page .wp-block-post-content,
body.genrsus-page .site-main,
body.genrsus-page article{background:#161719 !important}

/* ---- base ------------------------------------------------------------- */
.gs-lp *{box-sizing:border-box;margin:0;padding:0}
.gs-lp{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:#161719;color:#F3F5F5;line-height:1.55;border-radius:16px;overflow:hidden;
  --teal:#0C9C90;--cyan:#18F0F0;--accent:#16D0C6;--muted:#A7AFB1;--card:#202225;--line:#2E3135}
.gs-lp .gs-wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* ---- buttons ---------------------------------------------------------- */
.gs-lp .gs-btn{display:inline-block;font-weight:700;font-size:16px;padding:15px 30px;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s}
.gs-lp .gs-btn:hover{transform:translateY(-2px)}
.gs-lp .gs-btn-primary{background:linear-gradient(120deg,#0C9C90,#18F0F0,#0C9C90);background-size:200% auto;color:#0C1112;box-shadow:0 10px 30px -10px rgba(24,240,240,.5);animation:gsShift 6s linear infinite}
.gs-lp .gs-btn-ghost{border:1.5px solid #cfeee9;color:#eafffb;background:rgba(0,0,0,.2)}
.gs-lp .gs-btn-ghost:hover{background:rgba(22,208,198,.18)}

/* ---- landing: photo hero (background-image set inline in the markup) --- */
.gs-lp .gs-hero{position:relative;overflow:hidden;text-align:center;padding:78px 24px 84px}
.gs-lp .gs-hero .gs-herobg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.03)}
.gs-lp .gs-hero .gs-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,19,21,.72),rgba(18,19,21,.82) 55%,rgba(18,19,21,.92)),radial-gradient(circle at 78% 18%,rgba(24,240,240,.18),transparent 55%)}
.gs-lp .gs-hero .inner{position:relative;z-index:2}
.gs-lp .gs-logo{width:320px;max-width:78%;height:auto;margin:0 auto 30px;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
.gs-lp .gs-hero h1{font-size:48px;line-height:1.07;font-weight:800;letter-spacing:-.02em;margin:0 auto 18px;max-width:780px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.gs-lp .gs-hero h1 em{font-style:normal;background:linear-gradient(120deg,#0C9C90,#18F0F0,#0C9C90);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gsShift 6s linear infinite}
.gs-lp .gs-hero p{font-size:19px;color:#dfe4e5;max-width:620px;margin:0 auto 30px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.gs-lp .gs-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- simple centred head (FAQ / About / Contact heros) --------------- */
.gs-lp .gs-head{position:relative;text-align:center;padding:60px 24px 34px}
.gs-lp .gs-head::before{content:"";position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:640px;height:640px;max-width:120%;background:radial-gradient(circle,rgba(24,240,240,.13),transparent 62%);pointer-events:none;animation:gsDrift 16s ease-in-out infinite}
.gs-lp .gs-head h1{position:relative;font-size:40px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.gs-lp .gs-head h1 em{font-style:normal;background:linear-gradient(120deg,#0C9C90,#18F0F0,#0C9C90);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gsShift 6s linear infinite}
.gs-lp .gs-head p{position:relative;color:var(--muted);font-size:18px;max-width:600px;margin:0 auto}

/* ---- value bar -------------------------------------------------------- */
.gs-lp .gs-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#1B1D1F;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 44px;padding:20px 24px;text-align:center}
.gs-lp .gs-bar span{font-size:15px;color:#D6DBDC;font-weight:600}
.gs-lp .gs-bar b{color:var(--accent)}

/* ---- sections + feature grid ----------------------------------------- */
.gs-lp .gs-sec{padding:64px 0}
.gs-lp .gs-sec h2{font-size:33px;font-weight:800;letter-spacing:-.01em;text-align:center;margin-bottom:12px}
.gs-lp .gs-sec .gs-lead{color:var(--muted);font-size:17px;text-align:center;max-width:600px;margin:0 auto 44px}
.gs-lp .gs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:860px){.gs-lp .gs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gs-lp .gs-grid{grid-template-columns:1fr}}
.gs-lp .gs-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 22px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gs-lp .gs-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px -22px rgba(24,240,240,.4);border-color:var(--accent)}
.gs-lp .gs-card .gs-ic{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(22,208,198,.12);color:var(--accent);margin-bottom:16px}
.gs-lp .gs-card .gs-ic svg{width:26px;height:26px}
.gs-lp .gs-card h3{font-size:18px;margin-bottom:6px}
.gs-lp .gs-card p{color:var(--muted);font-size:14.5px}

/* ---- showcase image bands -------------------------------------------- */
.gs-lp .gs-show{padding:56px 0}
.gs-lp .gs-show .row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.gs-lp .gs-show .row.rev .pic{order:2}
@media(max-width:780px){.gs-lp .gs-show .row{grid-template-columns:1fr;gap:26px}.gs-lp .gs-show .row.rev .pic{order:0}}
.gs-lp .gs-show .pic{border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px -28px rgba(0,0,0,.7);background:#1B1D1F}
.gs-lp .gs-show .pic img{width:100%;display:block;transition:transform .6s ease}
.gs-lp .gs-show .pic:hover img{transform:scale(1.045)}
.gs-lp .gs-show h2{font-size:31px;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.gs-lp .gs-show p{color:var(--muted);font-size:17px;margin-bottom:20px}
.gs-lp .gs-show .eyebrow{color:var(--accent);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:12px;margin-bottom:10px}

/* ---- steps ------------------------------------------------------------ */
.gs-lp .gs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:760px){.gs-lp .gs-steps{grid-template-columns:1fr}}
.gs-lp .gs-step{padding:26px 22px;background:#1B1D1F;border-radius:14px;border:1px solid var(--line);transition:transform .25s,border-color .25s}
.gs-lp .gs-step:hover{transform:translateY(-4px);border-color:var(--accent)}
.gs-lp .gs-step .gs-n{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0C9C90,#18F0F0);color:#0C1112;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.gs-lp .gs-step h3{font-size:18px;margin-bottom:6px}
.gs-lp .gs-step p{color:var(--muted);font-size:14.5px}

/* ---- band + final CTA ------------------------------------------------- */
.gs-lp .gs-band{background:#1B1D1F;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:60px 24px}
.gs-lp .gs-band h2{font-size:30px;font-weight:800;margin-bottom:12px}
.gs-lp .gs-band p{color:var(--muted);font-size:17px;max-width:640px;margin:0 auto}
.gs-lp .gs-final{text-align:center;padding:72px 24px}
.gs-lp .gs-final h2{font-size:34px;font-weight:800;margin-bottom:14px}
.gs-lp .gs-final p{color:var(--muted);font-size:18px;max-width:520px;margin:0 auto 30px}

/* ---- contact page ----------------------------------------------------- */
.gs-lp .gs-cgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}
@media(max-width:760px){.gs-lp .gs-cgrid{grid-template-columns:1fr;gap:24px}}
.gs-lp .gs-cinfo{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px}
.gs-lp .gs-cinfo h3{font-size:16px;margin-bottom:4px}
.gs-lp .gs-cinfo a{color:var(--accent);text-decoration:none}
.gs-lp .gs-cinfo .gs-block{margin-bottom:20px}
.gs-lp .gs-cinfo .gs-block:last-child{margin-bottom:0}
.gs-lp .gs-cinfo span{color:var(--muted);font-size:14px}
.gs-lp .gs-form{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px}
.gs-lp .gs-form input,.gs-lp .gs-form textarea{width:100%;background:#161719;border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:#fff;font-size:15px;font-family:inherit}
.gs-lp .gs-form input:focus,.gs-lp .gs-form textarea:focus{outline:none;border-color:var(--accent)}
.gs-lp .gs-form textarea{resize:vertical}

/* ---- FAQ accordion ---------------------------------------------------- */
.gs-lp details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;transition:border-color .25s ease}
.gs-lp details:hover{border-color:var(--accent)}
.gs-lp summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;align-items:center}
.gs-lp summary::-webkit-details-marker{display:none}
.gs-lp summary::after{content:"+";color:var(--accent);font-size:24px;font-weight:400;line-height:1}
.gs-lp details[open] summary::after{content:"\2013"}
.gs-lp details .gs-a{padding:0 24px 22px;color:var(--muted);font-size:15px}

/* ---- About prose + values -------------------------------------------- */
.gs-lp .gs-prose{max-width:720px;margin:0 auto}
.gs-lp .gs-prose h2{font-size:26px;margin:34px 0 10px}
.gs-lp .gs-prose p{color:#D2D7D8;font-size:17px;margin-bottom:14px}
.gs-lp .gs-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
@media(max-width:640px){.gs-lp .gs-vals{grid-template-columns:1fr}}
.gs-lp .gs-val{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gs-lp .gs-val:hover{transform:translateY(-4px);box-shadow:0 16px 40px -22px rgba(24,240,240,.4);border-color:var(--accent)}
.gs-lp .gs-val h3{font-size:17px;margin-bottom:6px}
.gs-lp .gs-val p{color:var(--muted);font-size:14.5px;margin:0}

/* ---- generic CTA + footer -------------------------------------------- */
.gs-lp .gs-cc{text-align:center;padding:48px 24px 8px}
.gs-lp .gs-cc h2{font-size:28px;font-weight:800;margin-bottom:20px}
.gs-lp .gs-foot{border-top:1px solid var(--line);text-align:center;padding:30px 24px;color:var(--muted);font-size:13px}

/* ---- motion (progressive enhancement) --------------------------------
   Content is visible by default. Only when the JS adds .gs-js to the root
   do the .reveal elements start hidden and fade in on scroll — so if the
   script ever fails to load, nothing is hidden. */
.gs-lp.gs-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.gs-lp.gs-js .reveal.in{opacity:1;transform:none}
@keyframes gsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes gsDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,16px)}}
@keyframes gsShift{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* ---- responsive ------------------------------------------------------- */
@media(max-width:600px){.gs-lp .gs-hero h1{font-size:34px}.gs-lp .gs-sec h2,.gs-lp .gs-show h2{font-size:26px}}
@media (prefers-reduced-motion: reduce){.gs-lp *{animation:none!important;transition:none!important}.gs-lp.gs-js .reveal{opacity:1;transform:none}}
