/* ==========================================================================
   LedgerDomain — Webinars
   ONE shared stylesheet for the whole webinar family:

     • body.ld-webinar-gate  — the indexed promo / registration post
                               (e.g. /press/atp-confirmation-and-you), which
                               email-gates the recording via WPForms.
     • body.ld-webinar-page  — the noindex recording page reached after the
                               gate (e.g. /atp-confirmation-and-you-webinar),
                               with the video, the slides, and the demo CTA.

   Page STRUCTURE stays in Fusion Builder. This file supplies the branded
   styling, and the shortcodes registered in functions.php
   ([ld_webinar_video] / [ld_webinar_speaker] / [ld_webinar_gate] /
   [ld_webinar_takeaways] / [ld_webinar_more]) supply the markup Avada's kses
   filter would otherwise strip. Nothing here is authored in the DB, so any
   webinar can be restyled globally by editing this file alone.

   SAFE AS GLOBAL CSS: every selector is prefixed .ld-web-* and the handful of
   page-chrome overrides are gated behind the body classes above, so nothing
   leaks onto other pages.

   Brand: navy #051964 · coral #F55064 · blue #6991F0 · Chivo / Chivo Mono.
   Tokens are inherited from ledgerdomain-system.css; the --w-* aliases below
   keep this file readable and let it degrade gracefully on its own.
   ========================================================================== */

:root{
  --w-navy:#051964; --w-navy-2:#0e2f9e; --w-navy-deep:#03113f;
  --w-blue:#6991F0; --w-blue-2:#7ea2ff; --w-blue-soft:#e8eefd;
  --w-coral:#F55064; --w-coral-hover:#ec3d52; --w-coral-soft:#ffe7ea;
  --w-ink:#051964; --w-muted:#56689b; --w-bg-soft:#f4f6fb; --w-line:#e4e9f5;
  --w-sans:'Chivo', Arial, Helvetica, sans-serif;
  --w-mono:'Chivo Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --w-radius:14px; --w-radius-lg:18px;
  --w-shadow:0 26px 56px -44px rgba(5,25,100,.58);
  --w-shadow-strong:0 34px 76px -50px rgba(5,25,100,.65);
}

/* ==========================================================================
   1. PAGE CHROME
   Drop Avada's default title bar and content padding so the branded hero sits
   flush at the top, and hide the sidebar / blog meta furniture that made these
   pages look like stray blog posts.
   ========================================================================== */

body.ld-webinar-gate .fusion-page-title-bar,
body.ld-webinar-page .fusion-page-title-bar{display:none !important;}

body.ld-webinar-gate #content,
body.ld-webinar-page #content{padding-top:0 !important;padding-bottom:0 !important;}

body.ld-webinar-gate .fusion-sidebar,
body.ld-webinar-page .fusion-sidebar{display:none !important;}

/* Blog furniture that does not belong on a landing page: byline/date line,
   social sharing box, author box, related posts, comments. */
body.ld-webinar-gate .fusion-meta-info,
body.ld-webinar-gate .fusion-single-line-meta,
body.ld-webinar-gate .fusion-sharing-box,
body.ld-webinar-gate .about-author,
body.ld-webinar-gate .related-posts,
body.ld-webinar-gate .fusion-related-posts,
body.ld-webinar-gate #comments,
body.ld-webinar-gate .fusion-comments,
body.ld-webinar-gate .post-content > .fusion-title:first-child{display:none !important;}

/* The recording page is behind the gate: no share/meta chrome there either. */
body.ld-webinar-page .fusion-meta-info,
body.ld-webinar-page .fusion-sharing-box,
body.ld-webinar-page .fusion-single-line-meta{display:none !important;}

/* Full-bleed bands re-assert the 1366px site width on their inner row. */
body.ld-webinar-gate .ld-web-hero .fusion-row,
body.ld-webinar-gate .ld-web-body .fusion-row,
body.ld-webinar-gate .ld-web-proof .fusion-row,
body.ld-webinar-gate .ld-web-more .fusion-row,
body.ld-webinar-page .ld-web-hero .fusion-row,
body.ld-webinar-page .ld-web-body .fusion-row,
body.ld-webinar-page .ld-web-proof .fusion-row,
body.ld-webinar-page .ld-web-cta .fusion-row,
body.ld-webinar-page .ld-web-more .fusion-row{
  max-width:1366px !important;margin-left:auto !important;margin-right:auto !important;float:none !important;
}

/* Avada zeroes paragraph margins inside custom bands; restore rhythm. */
body.ld-webinar-gate .ld-web-band p,
body.ld-webinar-page .ld-web-band p{margin:0 0 1em !important;}
body.ld-webinar-gate .ld-web-band p:last-child,
body.ld-webinar-page .ld-web-band p:last-child{margin-bottom:0 !important;}

/* ==========================================================================
   2. SHARED TYPE
   ========================================================================== */

.ld-web-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--w-mono);font-size:12.5px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:#bcd0ff;background:rgba(105,145,240,.16);
  border:1px solid rgba(105,145,240,.4);
  padding:7px 14px;border-radius:100px;
}
.ld-web-eyebrow--light{
  color:#2a52c9;background:var(--w-blue-soft);border-color:rgba(105,145,240,.45);
}
/* The status dot is drawn with ::before, NOT an empty <span>: Avada's kses
   filter deletes attribute-less / empty inline elements from post_content on
   every Builder re-save, so a <span class="ld-web-dot"></span> authored in the
   page would silently disappear the first time Alex edited the page. */
.ld-web-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--w-coral);
  box-shadow:0 0 0 4px rgba(245,80,100,.25);flex:0 0 auto;
}
.ld-web-eyebrow--light::before{background:var(--w-blue);box-shadow:0 0 0 4px rgba(105,145,240,.22);}
/* Kept for markup generated in PHP, where the span survives. */
.ld-web-dot{
  width:7px;height:7px;border-radius:50%;background:var(--w-coral);
  box-shadow:0 0 0 4px rgba(245,80,100,.25);flex:0 0 auto;
}
.ld-web-eyebrow:has(.ld-web-dot)::before{display:none;}

.ld-web-band{font-family:var(--w-sans);}
.ld-web-band h2{font-family:var(--w-sans);font-weight:800;letter-spacing:-.4px;}
.ld-web-lead{font-size:18.5px;line-height:1.62;color:var(--w-muted);}

/* ==========================================================================
   3. HERO
   Dark navy band. Two columns: copy + a card (gate form on the promo page,
   video on the recording page). Collapses to one column on mobile.
   ========================================================================== */

.ld-web-hero{
  background:
    radial-gradient(1100px 520px at 88% -8%, rgba(105,145,240,.30) 0%, rgba(105,145,240,0) 62%),
    radial-gradient(760px 420px at 4% 108%, rgba(245,80,100,.16) 0%, rgba(245,80,100,0) 60%),
    linear-gradient(148deg, var(--w-navy) 0%, var(--w-navy-deep) 100%);
  color:#fff;padding:0;overflow:hidden;position:relative;
}
.ld-web-hero-inner{padding:76px 0 72px;}
.ld-web-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:56px;align-items:start;
}

/* Avada forces heading colour on non-!important rules inside dark bands. */
.ld-web-hero h1,
.ld-web-hero .ld-web-h1{
  color:#fff !important;
  font-family:var(--w-sans);font-size:clamp(31px,4vw,50px);line-height:1.1;
  font-weight:900;letter-spacing:-1.1px;margin:20px 0 0 !important;
  text-wrap:balance;
}
.ld-web-hero h2{color:#fff !important;}
.ld-web-hero-sub{
  margin:20px 0 0 !important;font-size:18.5px;line-height:1.62;
  color:#cfdaf7 !important;max-width:60ch;
}
.ld-web-hero-sub strong{color:#fff;font-weight:700;}
.ld-web-hero-sub a{color:#a8c2ff;text-decoration:underline;text-underline-offset:3px;}
.ld-web-hero-sub a:hover{color:#fff;}

/* Status/format chips: "Recorded", "42 min", "Slides included".
   Cut from the Abha pages 2026-08-01 (Alex: too chatty). Kept here because the
   markup is authored in the page, so any webinar can opt back in with a
   <ul class="ld-web-facts"> without touching this file. */
.ld-web-facts{
  display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none;
}
.ld-web-facts li{
  display:inline-flex;align-items:center;gap:8px;margin:0 !important;
  font-family:var(--w-mono);font-size:12.5px;font-weight:600;letter-spacing:.6px;
  text-transform:uppercase;color:#dce6ff;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  padding:8px 13px;border-radius:8px;
}
.ld-web-facts li::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--w-blue-2);flex:0 0 auto;
}
.ld-web-facts li.is-live::before{background:var(--w-coral);box-shadow:0 0 0 3px rgba(245,80,100,.3);}

/* ==========================================================================
   4. SPEAKER CARDS  ([ld_webinar_speaker])
   Used in the hero on dark, and in the body on light. The .is-dark variant is
   set automatically by the shortcode when nested inside the hero.
   ========================================================================== */

.ld-web-speakers{display:flex;flex-direction:column;gap:14px;margin:30px 0 0;}
.ld-web-speakers--row{flex-direction:row;flex-wrap:wrap;}
.ld-web-speakers--row .ld-web-speaker{flex:1 1 260px;}

.ld-web-speaker{
  display:flex;gap:15px;align-items:flex-start;
  background:#fff;border:1px solid var(--w-line);
  border-radius:var(--w-radius);padding:16px 18px;box-shadow:var(--w-shadow);
}
.ld-web-speaker.is-dark{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);
  box-shadow:none;backdrop-filter:blur(2px);
}
.ld-web-speaker-photo{
  width:58px;height:58px;flex:0 0 58px;border-radius:50%;overflow:hidden;
  background:var(--w-blue-soft);position:relative;
}
.ld-web-speaker-photo img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;
}
/* Initials fallback when no headshot is supplied. */
.ld-web-speaker-initials{
  width:58px;height:58px;flex:0 0 58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--w-mono);font-size:17px;font-weight:700;letter-spacing:.5px;
  color:#2a52c9;background:var(--w-blue-soft);
}
.ld-web-speaker.is-dark .ld-web-speaker-initials{
  color:#dce6ff;background:rgba(105,145,240,.24);
}
.ld-web-speaker-body{min-width:0;flex:1 1 auto;}
.ld-web-speaker-name{
  display:block;font-family:var(--w-sans);font-size:16.5px;font-weight:800;
  line-height:1.25;color:var(--w-ink);margin:1px 0 0;letter-spacing:-.2px;
}
.ld-web-speaker.is-dark .ld-web-speaker-name{color:#fff;}
.ld-web-speaker-role{
  display:block;margin:5px 0 0;font-size:14px;line-height:1.45;color:var(--w-muted);
}
.ld-web-speaker.is-dark .ld-web-speaker-role{color:#bcd0ff;}
.ld-web-speaker-org{font-weight:600;color:var(--w-ink);}
.ld-web-speaker.is-dark .ld-web-speaker-org{color:#e4ecff;}
.ld-web-speaker-flag{
  display:inline-block;margin:8px 0 0;
  font-family:var(--w-mono);font-size:11px;font-weight:600;letter-spacing:1.4px;
  text-transform:uppercase;color:#2a52c9;background:var(--w-blue-soft);
  border-radius:6px;padding:4px 9px;
}
.ld-web-speaker.is-dark .ld-web-speaker-flag{
  color:#dce6ff;background:rgba(105,145,240,.24);
}
.ld-web-speaker-link{
  display:inline-block;margin:9px 0 0;font-size:13.5px;font-weight:600;
  color:#2a52c9;text-decoration:none;
}
.ld-web-speaker-link:hover{text-decoration:underline;text-underline-offset:3px;}
.ld-web-speaker.is-dark .ld-web-speaker-link{color:#a8c2ff;}
.ld-web-speaker.is-dark .ld-web-speaker-link:hover{color:#fff;}

/* ==========================================================================
   5. GATE CARD  ([ld_webinar_gate])
   Wraps the WPForms registration form on the promo page. Sits in the hero's
   right column as a white card so it reads as the page's single action.
   ========================================================================== */

.ld-web-gate{
  background:#fff;border-radius:var(--w-radius-lg);
  box-shadow:var(--w-shadow-strong);padding:30px 30px 26px;
  border:1px solid rgba(255,255,255,.6);
}
.ld-web-gate-head{margin:0 0 20px;}
.ld-web-gate-title{
  font-family:var(--w-sans);font-size:23px;font-weight:800;line-height:1.22;
  letter-spacing:-.4px;color:var(--w-ink) !important;margin:0 !important;
}
.ld-web-gate-sub{
  margin:9px 0 0 !important;font-size:15px;line-height:1.55;color:var(--w-muted) !important;
}
.ld-web-gate-trust{
  display:flex;align-items:center;gap:8px;margin:18px 0 0;
  font-family:var(--w-mono);font-size:11.5px;font-weight:600;letter-spacing:1.1px;
  text-transform:uppercase;color:var(--w-muted);
  border-top:1px solid var(--w-line);padding-top:15px;
}
.ld-web-gate-trust::before{
  content:"";width:14px;height:14px;flex:0 0 14px;background:var(--w-blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4Zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4Zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* --- WPForms inside the gate card --------------------------------------- */
.ld-web-gate .wpforms-container{margin:0 !important;}
.ld-web-gate .wpforms-form .wpforms-field{padding:0 0 15px !important;}
.ld-web-gate .wpforms-form .wpforms-field-label{
  font-family:var(--w-sans) !important;font-size:13.5px !important;
  font-weight:700 !important;color:var(--w-ink) !important;
  margin:0 0 7px !important;letter-spacing:.1px;
}
.ld-web-gate .wpforms-form .wpforms-field-sublabel{
  font-family:var(--w-sans) !important;font-size:11.5px !important;
  color:var(--w-muted) !important;margin-top:5px !important;
}
.ld-web-gate .wpforms-form input[type=text],
.ld-web-gate .wpforms-form input[type=email],
.ld-web-gate .wpforms-form input[type=tel],
.ld-web-gate .wpforms-form select,
.ld-web-gate .wpforms-form textarea{
  width:100% !important;box-sizing:border-box !important;
  font-family:var(--w-sans) !important;font-size:15.5px !important;
  color:var(--w-ink) !important;background:#fbfcfe !important;
  border:1px solid var(--w-line) !important;border-radius:9px !important;
  padding:12px 14px !important;height:auto !important;min-height:46px !important;
  box-shadow:none !important;transition:border-color .16s, box-shadow .16s, background .16s;
}
.ld-web-gate .wpforms-form input:focus,
.ld-web-gate .wpforms-form select:focus,
.ld-web-gate .wpforms-form textarea:focus{
  border-color:var(--w-blue) !important;background:#fff !important;
  box-shadow:0 0 0 3px rgba(105,145,240,.18) !important;outline:none !important;
}
.ld-web-gate .wpforms-form input::placeholder,
.ld-web-gate .wpforms-form textarea::placeholder{color:#8d9cc4 !important;}
.ld-web-gate .wpforms-form .wpforms-required-label{color:var(--w-coral) !important;}

.ld-web-gate .wpforms-form .wpforms-submit-container{padding:6px 0 0 !important;}
.ld-web-gate .wpforms-form button[type=submit]{
  width:100% !important;display:block !important;
  font-family:var(--w-sans) !important;font-size:16px !important;
  font-weight:800 !important;letter-spacing:.2px;
  color:#fff !important;background:var(--w-coral) !important;
  border:0 !important;border-radius:10px !important;
  padding:15px 22px !important;cursor:pointer;
  box-shadow:0 16px 30px -18px rgba(245,80,100,.85) !important;
  transition:background .16s, transform .16s, box-shadow .16s;
}
.ld-web-gate .wpforms-form button[type=submit]:hover{
  background:var(--w-coral-hover) !important;transform:translateY(-1px);
  box-shadow:0 20px 36px -18px rgba(245,80,100,.95) !important;
}
.ld-web-gate .wpforms-confirmation-container-full{
  background:var(--w-blue-soft) !important;border:1px solid rgba(105,145,240,.4) !important;
  border-radius:10px !important;color:var(--w-ink) !important;
}
.ld-web-gate .wpforms-confirmation-container-full p{color:var(--w-ink) !important;margin:0 !important;}

/* No-JS notice WPForms prints; keep it from looking like broken copy. */
.ld-web-gate .wpforms-container noscript,
.ld-web-gate .wpforms-error-noscript{
  display:block;font-size:13.5px;color:var(--w-muted);
}

/* ==========================================================================
   6. VIDEO  ([ld_webinar_video])
   Replaces the hand-rolled base64 [fusion_code] iframe. Click-to-load facade
   keeps YouTube's scripts (and cookies) off the page until the visitor asks
   for the recording, which also keeps the page fast.
   ========================================================================== */

.ld-web-video{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:var(--w-radius-lg);overflow:hidden;
  background:#03113f;box-shadow:var(--w-shadow-strong);
  border:1px solid rgba(255,255,255,.1);
}
/* Fallback for browsers without aspect-ratio. */
@supports not (aspect-ratio:16/9){
  .ld-web-video{height:0;padding-top:56.25%;}
}
.ld-web-video iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;display:block;
}
/* NOTE: this selector must stay at least as specific as the iframe rule above.
   Written as a bare .ld-web-video-facade it loses the display fight (0,1,0 vs
   0,2,0) and the play button ends up jammed against the left edge. */
.ld-web-video .ld-web-video-facade{
  position:absolute;inset:0;width:100%;height:100%;border:0;
  padding:0;margin:0;cursor:pointer;background:#03113f;
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
}
.ld-web-video-facade::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(3,17,63,.15) 0%, rgba(3,17,63,.62) 100%);
}
.ld-web-video-play{
  position:relative;z-index:2;width:74px;height:74px;border-radius:50%;
  background:var(--w-coral);display:flex;align-items:center;justify-content:center;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.7);
  transition:transform .18s, background .18s;
}
.ld-web-video-facade:hover .ld-web-video-play{transform:scale(1.07);background:var(--w-coral-hover);}
.ld-web-video-play::before{
  content:"";width:0;height:0;margin-left:5px;
  border-style:solid;border-width:13px 0 13px 21px;
  border-color:transparent transparent transparent #fff;
}
.ld-web-video-label{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  padding:18px 22px;color:#fff;font-family:var(--w-sans);
  font-size:15px;font-weight:700;line-height:1.35;text-align:left;
}
.ld-web-video-cap{
  margin:14px 0 0 !important;font-size:13.5px;line-height:1.5;
  color:var(--w-muted) !important;
}
.ld-web-hero .ld-web-video-cap{color:#bcd0ff !important;}

/* ==========================================================================
   7. BODY BANDS: takeaways, slides, prose
   ========================================================================== */

.ld-web-body{background:#fff;}
.ld-web-body-inner{padding:70px 0;}
.ld-web-proof{background:var(--w-bg-soft);}
.ld-web-proof-inner{padding:66px 0;}

.ld-web-h2{
  font-family:var(--w-sans);font-size:clamp(25px,2.6vw,35px);line-height:1.16;
  font-weight:800;letter-spacing:-.7px;color:var(--w-ink) !important;
  margin:0 !important;text-wrap:balance;
}
.ld-web-sub{
  margin:14px 0 0 !important;font-size:17.5px;line-height:1.62;
  color:var(--w-muted) !important;max-width:70ch;
}

/* --- Takeaways  ([ld_webinar_takeaways]) --------------------------------- */
/* 340px keeps this to 3 columns at full site width, so the common 5- and
   6-item lists break 3+2 / 3+3 instead of leaving a single orphan card. */
.ld-web-takeaways{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:14px;margin:30px 0 0;padding:0;list-style:none;
}
.ld-web-takeaways li{
  display:flex;gap:13px;align-items:flex-start;margin:0 !important;
  background:#fff;border:1px solid var(--w-line);border-radius:var(--w-radius);
  padding:17px 19px;font-size:15.5px;line-height:1.5;color:var(--w-ink);
  box-shadow:0 18px 40px -40px rgba(5,25,100,.5);
}
.ld-web-takeaways li::before{
  content:"";width:21px;height:21px;flex:0 0 21px;margin-top:1px;
  border-radius:50%;background:var(--w-blue-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232a52c9'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-size:14px 14px;background-position:center;background-repeat:no-repeat;
}
/* Dark variant, for takeaways placed inside the hero. */
.ld-web-hero .ld-web-takeaways li,
.ld-web-takeaways.is-dark li{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);
  color:#e4ecff;box-shadow:none;
}
.ld-web-hero .ld-web-takeaways li::before,
.ld-web-takeaways.is-dark li::before{
  background-color:rgba(105,145,240,.28);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23dce6ff'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}
/* Single-column variant for narrow columns (hero right rail). */
.ld-web-takeaways--stack{grid-template-columns:1fr;}

/* --- Slides / resource row ---------------------------------------------- */
.ld-web-res{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:28px 0 0;
}
.ld-web-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--w-sans);font-size:15.5px;font-weight:800;letter-spacing:.2px;
  text-decoration:none;border-radius:10px;padding:14px 24px;
  transition:background .16s, transform .16s, box-shadow .16s, color .16s;
}
.ld-web-btn--primary{
  color:#fff !important;background:var(--w-coral);
  box-shadow:0 16px 30px -18px rgba(245,80,100,.85);
}
.ld-web-btn--primary:hover{
  background:var(--w-coral-hover);transform:translateY(-1px);color:#fff !important;
}
.ld-web-btn--ghost{
  color:var(--w-ink) !important;background:#fff;border:1px solid var(--w-line);
  box-shadow:0 18px 40px -40px rgba(5,25,100,.5);
}
.ld-web-btn--ghost:hover{border-color:var(--w-blue);color:#2a52c9 !important;transform:translateY(-1px);}
.ld-web-hero .ld-web-btn--ghost{
  color:#fff !important;background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.28);box-shadow:none;
}
.ld-web-hero .ld-web-btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff !important;}
.ld-web-btn--pdf::before{
  content:"";width:17px;height:17px;flex:0 0 17px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20h14v-2H5v2ZM19 9h-4V3H9v6H5l7 7 7-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20h14v-2H5v2ZM19 9h-4V3H9v6H5l7 7 7-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ld-web-res-note{
  font-family:var(--w-mono);font-size:12px;font-weight:600;letter-spacing:1.1px;
  text-transform:uppercase;color:var(--w-muted);
}

/* --- Prose inside the body band ---------------------------------------- */
.ld-web-prose{max-width:74ch;}
.ld-web-prose p{font-size:17px;line-height:1.72;color:#33406b;}
.ld-web-prose h3{
  font-family:var(--w-sans);font-size:21px;font-weight:800;letter-spacing:-.3px;
  color:var(--w-ink) !important;margin:34px 0 10px !important;
}
.ld-web-prose a{color:#2a52c9;text-decoration:underline;text-underline-offset:3px;}
.ld-web-prose a:hover{color:var(--w-coral);}
.ld-web-prose blockquote{
  margin:26px 0 !important;padding:20px 24px;background:var(--w-bg-soft) !important;
  border:0;border-left:3px solid var(--w-blue);border-radius:0 10px 10px 0;
  font-size:17.5px;line-height:1.6;color:var(--w-ink);font-style:normal;
}

/* ==========================================================================
   8. MORE WEBINARS RAIL  ([ld_webinar_more])
   Cross-links the rest of the family so every webinar page is an entry point
   to the others instead of a dead end.
   ========================================================================== */

/* !important is load-bearing: Avada prints an inline background-color on every
   fullwidth container, which beats any stylesheet rule. The hero gets away
   without it only because its gradients set background-IMAGE, which an inline
   background-color cannot override. Without this the band renders white and the
   white heading and card titles disappear. The container attribute in the page
   is also set to #051964 so the Builder shows the right colour. */
.ld-web-more{background-color:var(--w-navy) !important;color:#fff;}
.ld-web-more-inner{padding:62px 0;}
.ld-web-more h2,.ld-web-more .ld-web-h2{color:#fff !important;}
.ld-web-more .ld-web-sub{color:#bcd0ff !important;}
.ld-web-more-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:14px;margin:32px 0 0;
}
.ld-web-card{
  display:flex;flex-direction:column;gap:9px;text-decoration:none;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--w-radius);padding:20px 21px;
  transition:background .16s, border-color .16s, transform .16s;
}
.ld-web-card:hover{
  background:rgba(255,255,255,.11);border-color:rgba(105,145,240,.55);
  transform:translateY(-2px);
}
.ld-web-card-date{
  font-family:var(--w-mono);font-size:11.5px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:#8fadf5;
}
.ld-web-card-title{
  font-family:var(--w-sans);font-size:16.5px;font-weight:800;line-height:1.34;
  letter-spacing:-.2px;color:#fff;
}
.ld-web-card-guest{font-size:13.5px;line-height:1.45;color:#bcd0ff;}
.ld-web-card-go{
  margin-top:auto;padding-top:8px;
  font-family:var(--w-mono);font-size:11.5px;font-weight:600;letter-spacing:1.3px;
  text-transform:uppercase;color:#a8c2ff;
}
.ld-web-card:hover .ld-web-card-go{color:#fff;}

/* ==========================================================================
   9. CTA BAND (Calendly on the recording page)
   ========================================================================== */

/* Centring lives on the BAND, not on a -inner wrapper: the pages are built
   from native Fusion containers, which carry their own padding and have no
   inner div to hang this on. */
.ld-web-cta{background:#fff;text-align:center;}
.ld-web-cta-inner{padding:66px 0 76px;text-align:center;}
.ld-web-cta .ld-web-h2{margin:0 auto !important;}
.ld-web-cta .ld-web-sub{margin:14px auto 0 !important;text-align:center;}
/* The band-wide `p{margin:0 0 1em !important}` reset further up is both
   !important AND more specific (body.ld-webinar-page .ld-web-band p), so it
   wins the margin fight and kills the auto-margin centring above. Drop the
   max-width instead and let the inherited text-align do the centring, at a
   specificity that clears the band rule. */
body.ld-webinar-gate .ld-web-cta .ld-web-sub,
body.ld-webinar-page .ld-web-cta .ld-web-sub{
  max-width:none;text-align:center;
}
/* The CTA is a button pair out to Calendly, not an inline widget: embedded
   inline, Calendly renders its own landing-page card plus a "Powered by
   Calendly" ribbon, which floats in the band and reads as broken. */
.ld-web-cta .ld-web-res{justify-content:center;}
.ld-web-res--center{justify-content:center;}

/* Retained in case an inline scheduler is ever wanted back. */
.ld-web-cta-frame{
  margin:34px auto 0;max-width:1000px;
  border:1px solid var(--w-line);border-radius:var(--w-radius-lg);
  overflow:hidden;box-shadow:var(--w-shadow);background:#fff;
}
.ld-web-cta-frame .calendly-inline-widget{min-width:320px;}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */

@media (max-width:1024px){
  .ld-web-hero-grid{grid-template-columns:1fr;gap:38px;}
  .ld-web-hero-inner{padding:58px 0 56px;}
  .ld-web-body-inner,.ld-web-proof-inner{padding:54px 0;}
  .ld-web-more-inner{padding:52px 0;}
  .ld-web-cta-inner{padding:52px 0 60px;}
}

@media (max-width:782px){
  .ld-web-hero h1,.ld-web-hero .ld-web-h1{letter-spacing:-.6px;}
  .ld-web-hero-sub,.ld-web-lead{font-size:17px;}
  .ld-web-gate{padding:24px 21px 22px;border-radius:var(--w-radius);}
  .ld-web-gate-title{font-size:21px;}
  .ld-web-takeaways{grid-template-columns:1fr;}
  .ld-web-speakers--row{flex-direction:column;}
  .ld-web-res{gap:10px;}
  .ld-web-btn{width:100%;justify-content:center;padding:14px 18px;}
  .ld-web-res-note{width:100%;}
  .ld-web-video{border-radius:var(--w-radius);}
  .ld-web-video-play{width:60px;height:60px;}
  .ld-web-video-play::before{border-width:11px 0 11px 17px;}
}

@media (max-width:480px){
  .ld-web-hero-inner{padding:46px 0 44px;}
  .ld-web-facts li{font-size:11.5px;padding:7px 11px;}
  .ld-web-speaker{padding:14px 15px;gap:12px;}
  .ld-web-speaker-photo,.ld-web-speaker-initials{width:48px;height:48px;flex-basis:48px;}
}

/* Motion / contrast preferences. */
@media (prefers-reduced-motion:reduce){
  .ld-web-card,.ld-web-btn,.ld-web-video-play,
  .ld-web-gate .wpforms-form button[type=submit]{transition:none !important;}
  .ld-web-card:hover,.ld-web-btn:hover,
  .ld-web-gate .wpforms-form button[type=submit]:hover{transform:none !important;}
}

/* Print: drop the video facade and chrome, keep the substance. */
@media print{
  .ld-web-video,.ld-web-cta,.ld-web-more,.ld-web-gate{display:none !important;}
  .ld-web-hero{background:none !important;color:#000 !important;}
  .ld-web-hero h1,.ld-web-hero .ld-web-h1,.ld-web-hero-sub{color:#000 !important;}
}
