/*!
 * Theme Name: 		   OceanWP-CHILD
 * Text Domain: 	   oceanwp
 * Version:            4.2.5
 * Tested up to:       7.1
 * Requires at least:  5.9
 * Requires PHP:       7.4
 * Author:             OceanWP
 * Author URI:         https://oceanwp.org/about-oceanwp/
 * Template: oceanwp 
 * Theme URI:          https://oceanwp.org/
 * Description:        OceanWP is the perfect theme for your project. Lightweight and highly extendable, it will enable you to create almost any type of website such a blog, portfolio, business website and WooCommerce storefront with a beautiful & professional design. Very fast, responsive, RTL & translation ready, best SEO practices, unique WooCommerce features to increase conversion and much more. You can even edit the settings on tablet & mobile so your site looks good on every device. Work with the most popular page builders as Elementor, Beaver Builder, Brizy, Visual Composer, Divi, SiteOrigin, etc... Developers will love his extensible codebase making it a joy to customize and extend. Best friend of Elementor & WooCommerce. Looking for a Multi-Purpose theme? Look no further! Check the demos to realize that it's the only theme you will ever need: https://oceanwp.org/demos/
 * Tags:               two-columns, right-sidebar, footer-widgets, blog, news, custom-background, custom-menu, post-formats, rtl-language-support, sticky-post, editor-style, threaded-comments, translation-ready, buddypress, custom-colors, featured-images, full-width-template, theme-options, e-commerce, block-styles, wide-blocks, accessibility-ready
 *
 * License: GNU General Public License v2.0 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 *
 * All files, unless otherwise stated, are released under the GNU General Public
 * License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

 * This theme, like WordPress, is licensed under the GPL.
 * Use it to make something cool, have fun, and share what you've learned
 * with others.
 *
 * DO NOT ADD YOUR CSS TO THIS FILE - IT WILL BE LOST
 * To add your own CSS, use a child theme: https://github.com/oceanwp/oceanwp-child-theme
 *
 * CSS file is in "assets/css"
 */


    /* ─── RESET & ROOT ─────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --black:        #0a0a0a;
      --charcoal:     #111214;
      --graphite:     #1c1e22;
	  --gunmetal: 	  #1a1c1e;
      --mid:          #3d4145;
      --border:       #3a3d42;
      --steel:        #2e3238;
      --steel-light:  #3a3e47;
      --ink: #15181b;
        --ink-panel: #1e2227; /* raised panel on dark bg */
        --ink-line: #33383e; /* hairline on dark bg */
        --paper: #f6f3ec; /* warm off-white, primary light bg */
        --paper-alt: #ffffff;
        --card-line: #e4ddcc; /* hairline on light bg */
        --ink-soft: #43484d; /* body copy on light bg */
        --ink-mute: #5c6167; /* secondary copy */
        --gold: #EC1B34; /* #c8922a; */
        --gold-bright: #F2295B; /* #e3ae4c; */
        --gold-dim: #850B1A; /* #7a5a1a; */
      /* --accent:       #c8922a;
      --accent-light: #e8ad45; */
      --accent:       #cf312a; /* #a02924; */
      --accent-light: #df3f36; /* #c3332b; */
      --white:        #f0ede8;
	  --off-white:    #d8d4ce;
      --muted:        #8a8680;
      --copy:         #a8a4a0;
      --smoke:        #f7f7f7;

      --display: "Bebas Neue", Impact, sans-serif;
      --body: "Barlow", -apple-system, Segoe UI, sans-serif;
      --label: "Barlow Condensed", var(--body);
      --fontage:        'Montserrat', san-serif; /*'Bebas Neue', sans-serif;*/

      --max: 1140px;
      --radius: 2px;
    }

a { color: var(--accent);}
a:hover { color: var(--accent-light);}
    .charcoal { color: var(--charcoal); }
    .accent { color: var(--accent); }
    .accent-light { color: var(--accent-light); }
    .white { color: var(--white); }
    .off-white { color: var(--off-white); }
    .graphite { color: var(--graphite); }
    .black { color: var(--black); }
    .gunmetal { color: var(--gunmetal); }
    .mid { color: var(--mid); }
    .muted { color: var(--muted); }
    .steel { color: var(--steel); }
    .steel-light { color: var(--steel-light); }
    .smoke { color: var(--smoke); }
    .ink { color: var(--ink); }
	.mid {color: var(--mid);}
	.paper {color: var(--paper);}
    .paper-alt {color: var(--paper-alt);}
/* Hide Title */
.page-header { display: none; }
/* End Hide Title */

/* Initial header background */
.sticky-header {
  transition: all 0.3s ease-in-out;
  background-color: transparent;
}

/* Header background and padding change on scroll */
.sticky-topbar.elementor-sticky--effects .elementor-section .elementor-inner-section {
  background: var(--ink) !important;
  display: none !important;
}
.sticky-navtext.elementor-sticky--effects {
  color: var(--ink) !important;
}
.sticky-header.elementor-sticky--effects {
  background-color: var(--smoke) !important;
  /* padding-top: 10px;
  padding-bottom: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);*/
}

/* Change menu text color on scroll */
.elementor-sticky--effects .elementor-nav-menu a {
  color: #000000 !important;
}
.elementor-sticky--effects .elementor-nav-menu--burger {
  color: var(--accent) !important;
}

/* password protected styles, Onboarding */
.post-password-form {
	padding-top:10%;
	padding-right:10%;
	padding-bottom:10%;
	padding-left:10%;
}

/* ─── HERO WRAPPER ─────────────────────────────────────────────────── */
    .shero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 640px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }

    /* ─── KEN BURNS BACKGROUND ─────────────────────────────────────────── */
    .hero__bg {
      position: absolute;
      inset: -8%;
      background: linear-gradient(to bottom, rgba(10,10,10,0.97), rgba(10,10,10,0.4)),
      url('img/HERO-default-ragnartactical-BG.png');
      background-size: cover;
      background-position: center;
      animation: kenBurns 24s ease-in-out infinite alternate;
      transform-origin: center center;
      will-change: transform;
    }

    @keyframes kenBurns {
      0%   { transform: scale(1.00) translate(  0%,    0%); }
      25%  { transform: scale(1.06) translate( -1.5%,  0.8%); }
      50%  { transform: scale(1.10) translate(  0.8%, -1.2%); }
      75%  { transform: scale(1.06) translate(  1.5%,  0.5%); }
      100% { transform: scale(1.00) translate(  0%,    0%); }
    }

    /* ─── LAYERED OVERLAYS ─────────────────────────────────────────────── */
    .hero__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        105deg,
        rgba(10,10,10,0.92)  0%,
        rgba(10,10,10,0.76) 36%,
        rgba(10,10,10,0.32) 62%,
        rgba(10,10,10,0.10) 100%
      );
    }

    /* SVG noise grain */
    .hero__grain {
      position: absolute;
      inset: 0;
      opacity: 0.045;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 200px;
      pointer-events: none;
    }

    /* left brand bar */
    .hero__edge-bar {
      position: absolute;
      left: 0; top: 0; bottom: 0;
      width: 4px;
      background: linear-gradient(
        180deg,
        transparent       0%,
        var(--accent)    30%,
        var(--accent-light) 65%,
        transparent      100%
      );
    }

    /* ─── ENTRANCE ANIMATIONS ───────────────────────────────────────────── */
    .fade-up {
      opacity: 0;
      transform: translateY(30px);
      animation: fadeUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }

    @keyframes fadeUp {
      to { opacity: 1; transform: translateY(0); }
    }

    /* individual delays */
    .delay-1 { animation-delay: 0.30s; }
    .delay-2 { animation-delay: 0.45s; }
    .delay-3 { animation-delay: 0.58s; }
    .delay-4 { animation-delay: 0.68s; }
    .delay-5 { animation-delay: 0.78s; }
    .delay-6 { animation-delay: 0.90s; }
    .delay-7 { animation-delay: 1.05s; }
    .delay-8 { animation-delay: 1.15s; }

    /* ─── CONTENT PANEL ─────────────────────────────────────────────────── */
    .hero__content {
      position: relative;
      z-index: 10;
      padding: clamp(2rem, 6vw, 5rem) clamp(2rem, 8vw, 7rem);
      max-width: 820px;
    }

    /* eyebrow */
    .hero__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 0.79rem;
      font-weight: 600;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.4rem;
    }

    .hero__eyebrow::before {
      content: '';
      display: block;
      width: 28px;
      height: 2px;
      background: var(--accent);
      flex-shrink: 0;
    }
    .eyebrow {
    font-family: var(--label);
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
    display: block;
    margin-bottom: 0.75rem;
    }
    .eyebrow.on-dark {
    color: var(--gold-bright);
    }

    /* headline */
    h1.hero__headline, h1.entry-title {
      font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(3.6rem, 8.5vw, 7.6rem);
      line-height: 0.92;
      letter-spacing: 0.02em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
    h2.hero__headline {
      font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(3.2rem, 7.7vw, 6.5rem);
      line-height: 0.82;
      letter-spacing: 0.02em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
	h1.sm {
	  font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(2.9rem, 5.6vw, 3.9rem);
      line-height: 0.92;
      letter-spacing: 0.017em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
h1.sm em {
	font-style: normal;
	color: var(--accent);
}
h2.mid {
    font-family: var(--fontage);
        font-weight: 600;
        font-size: clamp(2.3rem, 5.2vw, 3.5rem);
        line-height: 1.15;
        letter-spacing: 0.017em;
        color: var(--white);
        margin-bottom: 0.2em;
}
h2.mid.blk {
    color: var(--charcoal);
}
    h2.sm, 
	h3.sm {
	  font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(.88rem, 1.9rem, 2.6rem);
      line-height: 0.88;
      letter-spacing: 0.017em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
    h3.hero__headline {
      font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(2.1rem, 6.2vw, 4.9rem);
      line-height: 0.70;
      letter-spacing: 0.02em;
      color: var(--white);
      margin-bottom: 0.2em;
    }

    h3.hero__headline.sm {
      font-size: clamp(.9rem, 2.2rem, 3.3rem)!important;
      line-height: 0.88;
      letter-spacing: 0.017em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
    h3.hero__headline.smd {
      font-size: clamp(1.4rem, 2.8rem, 3.8rem)!important;
      line-height: 0.88;
      letter-spacing: 0.017em;
      color:var(--accent);
      margin-bottom: 0.2em;
    }
   .hero__headline em {
      font-style: normal;
      color: var(--accent);
    }

    /* italic sub */
    .hero__sub {
      font-size: clamp(0.95rem, 1.8vw, 1.2rem);
      font-weight: 300;
      font-style: italic;
      color: var(--muted);
      letter-spacing: 0.05em;
      margin-bottom: 1.8rem;
    }

    /* divider */
    .hero__divider {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 1.8rem;
    }

    .hero__divider-line {
      width: 48px;
      height: 1px;
      background: var(--steel);
    }

    .hero__divider-diamond {
      width: 6px;
      height: 6px;
      background: var(--accent);
      transform: rotate(45deg);
      flex-shrink: 0;
    }

    /* body copy */
    .hero__copy {
      font-size: clamp(1.32rem, 1.83vw, 1.63rem); /* clamp(0.875rem, 1.3vw, 1rem); */
      font-weight: 400;
      line-height: 1.56;
      color: var(--off-white);
      max-width: 680px;
      margin-bottom: 2.6rem;
    }

    .hero__copy.blk {
      color: var(--charcoal);
    }

    ul, li {
      font-size: clamp(1.32rem, 1.83vw, 1.63rem); /* clamp(0.875rem, 1.3vw, 1rem); */
      font-weight: 400;
      line-height: 1.56;   
    }

    h4.sm {
	  font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(.8rem, 1.8rem, 2.3rem);
      line-height: 0.88;
      letter-spacing: 0.017em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
    .titles {
	  font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(.8rem, 1.8rem, 2.3rem);
      line-height: 0.88;
      letter-spacing: 0.017em;
      color: var(--white);
      margin-bottom: 0.2em;
    }
	.titles.yell {
		color: #e3ae4c;
	}
.booton--gold {
    background: #c8922a;
    color: #15181b;
}
.booton {
    /* font-family: var(--label); */
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1.6rem;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}



    /* ─── CTA BUTTONS ───────────────────────────────────────────────────── */
    .hero__cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: 'Barlow', sans-serif;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 14px 32px;
      border: none;
      cursor: pointer;
      transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
      position: relative;
      overflow: hidden;
      /* tactical clipped corner */
      clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
    }

    /* shimmer layer on primary */
    .btn--primary {
      background: var(--gold);
      color: var(--black);
    }

    .btn--primary::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255,255,255,0.20) 0%, transparent 55%);
      opacity: 0;
      transition: opacity 0.22s ease;
    }

    .btn--primary:hover {
      background: var(--accent-light);
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(200, 146, 42, 0.38);
    }

    .btn--primary:hover::after { opacity: 1; }

    .btn--ghost {
      background: transparent;
      color: var(--white);
      border: 1px solid rgba(240, 237, 232, 0.22);
    }

    .btn--ghost:hover {
      border-color: var(--accent);
      color: var(--accent);
      transform: translateY(-2px);
    }

    .btn__arrow {
      transition: transform 0.2s ease;
      flex-shrink: 0;
    }

    .btn:hover .btn__arrow { transform: translateX(4px); }

    /* ─── STAT BAR ──────────────────────────────────────────────────────── */
    .hero__stat-bar {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 10;
      padding: 0 clamp(2rem, 8vw, 7rem) 2.4rem;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      pointer-events: none;
    }

    .hero__stats {
      display: flex;
      align-items: center;
      gap: clamp(1.4rem, 3.5vw, 3.2rem);
      pointer-events: auto;
    }

    .stat {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .stat__num {
      font-family: var(--fontage);
      font-weight: 600;
      font-size: clamp(2rem, 3.2vw, 2.8rem);
      color: var(--accent);
      line-height: 1;
      letter-spacing: 0.04em;
    }

    .stat__label {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--muted);
    }

    .stat__sep {
      width: 1px;
      height: 42px;
      background: var(--steel);
      flex-shrink: 0;
      align-self: center;
    }

    /* scroll cue */
    .hero__scroll {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      pointer-events: auto;
    }

    .hero__scroll-text {
      font-size: 0.58rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--muted);
      writing-mode: vertical-rl;
    }

    .hero__scroll-line {
      width: 1px;
      height: 50px;
      background: linear-gradient(180deg, var(--accent) 0%, transparent 100%);
      animation: scrollPulse 2.2s ease-in-out infinite;
    }

    @keyframes scrollPulse {
      0%, 100% { opacity: 0.35; transform: scaleY(1.0); }
      50%       { opacity: 1.00; transform: scaleY(0.55); }
    }

/* ============================================================
     SIGNATURE ELEMENT — QUALIFICATION-CARD PROCESS STEPPER
     ============================================================ */
.path {
  position: relative;
  margin-top: 3rem;
}
.path__rail {
  position: absolute;
  left: 27px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: repeating-linear-gradient(
    to bottom,
    var(--gold) 0 8px,
    transparent 8px 16px
  );
  display: none;
}
@media (min-width: 640px) {
  .path__rail {
    display: block;
  }
}

.qcard {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 1.25rem;
  background: var(--ink-panel);
  border: 1px solid var(--ink-line);
  border-radius: 6px;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.qcard:last-child {
  margin-bottom: 0;
}
.qcard__badge {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--ink);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--display);
  font-size: 1.4rem;
  color: var(--gold-bright);
  position: relative;
  z-index: 2;
}
.qcard__body h3 {
  color: var(--paper);
  font-family: var(--body);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0;
  margin-bottom: 0.4rem;
  text-transform: none;
}
.qcard__body p {
  color: #c3c7cc;
  font-size: 0.97rem;
}
.qcard__body p strong {
  color: var(--gold-bright);
  font-weight: 700;
}
.qcard::after {
  content: "";
  position: absolute;
  top: 1.6rem;
  right: 1.25rem;
  width: 34px;
  height: 34px;
  opacity: 0.5;
  background-image: radial-gradient(
    circle at center,
    transparent 40%,
    var(--ink-line) 41% 55%,
    transparent 56%
  );
  display: none;
}
@media (min-width: 640px) {
  .qcard::after {
    display: block;
  }
}
a article.qcard {
margin-top: 1.5rem;
}
/* ============================================================
     CURRICULUM
     ============================================================ */
.curriculum__grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media (min-width: 640px) {
  .curriculum__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .curriculum__grid.twocols {
    grid-template-columns: 1fr 1fr;
  }
  .curriculum__grid.unocol {
    grid-template-columns: 1fr;
  }
}

.curriculum__item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--paper-alt);
  border: 1px solid var(--card-line);
  border-radius: 6px;
  padding: 1.25rem;
}
.curriculum__item svg {
  flex: none;
  width: 26px;
  height: 26px;
  stroke: var(--gold);
  margin-top: 2px;
}
.curriculum__item h3 {
  font-family: var(--body);
      font-size: clamp(1.52rem, 1.93vw, 1.83rem); /* clamp(0.875rem, 1.3vw, 1rem); */
      font-weight: 700;
      line-height: 1.66;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0.25rem;
}
.curriculum__item p {
        font-size: clamp(1.32rem, 1.83vw, 1.63rem); /* clamp(0.875rem, 1.3vw, 1rem); */
      font-weight: 400;
      line-height: 1.56;
  color: var(--ink-mute);
}
/* ============================================================
     FAQ
     ============================================================ */
.faq-list {
  margin-top: 2rem;
  border-top: 1px solid var(--card-line);
}
.faq-item {
  border-bottom: 1px solid var(--card-line);
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1.25rem 0.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary h3 {
  font-family: var(--body);
  font-weight: 600;
  font-size: clamp(1.62rem, 1.91vw, 1.83rem); /* clamp(0.875rem, 1.3vw, 1rem); */
  line-height: 1.76;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}
.faq-item summary .chev {
  flex: none;
  width: 20px;
  height: 20px;
  stroke: var(--gold-dim);
  transition: transform 0.2s ease;
}
.faq-item[open] summary .chev {
  transform: rotate(180deg);
}
.faq-item__body {
  padding: 0 0.25rem 1.4rem;
  max-width: 82ch;
  color: var(--ink-mute);
  font-size: clamp(1.32rem, 1.83vw, 1.63rem); /* clamp(0.875rem, 1.3vw, 1rem); */
  font-weight: 400;
  line-height: 1.56;
}
/* WPFORMS STYLES */
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form button[type="submit"] {
	background-color: #B82029 ;
  border: 1px solid #B82029 ;
  color: #fff;
  font-size: 1.4em;
  font-family: inherit;
	font-weight:600;
  padding: 20px 25px;
	width: 100%;
}

button[type="submit"], button, body div.wpforms-container-full .wpforms-form button[type="submit"] {
	background: var(--accent);
	width:100%;
	padding-top:4%;
	padding-bottom:4%;
}
button[type="submit"], button, body div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background: #EC1B34;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-page-button {
	background-color: #B82029 ;
  border: 1px solid #B82029 ;
  color: #fff;
  font-size: 1.4em;
  font-family: inherit;
	font-weight:600;
  padding: 20px 25px;
	width: 100%;
}

/* WPForm submit buttons SM */
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button {
	width:46%;
}

/* PWD Protected L&R Padding */
.post-password-required .et_pb_row {
    padding: 20px !important;
}

/* Confirmation MSG */
.et-db #et-boc .et-l .et_pb_module .wpforms-confirmation-container-full {
	background: #fffef1;
  border: 1px solid #d5d2af;
  box-sizing: border-box;
}

/* BEGIN TICKER TAPE CSS */

.ticker-container {
  width: 100%;
  overflow: hidden;
  background: #fff;
  padding: 20px 0;
  white-space: nowrap;
  position: relative;
}

.ticker-container:before,
.ticker-container:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 210px;
  z-index: 2;
  pointer-events: none;
}

.ticker-container:before {
  left: 0;
  background: linear-gradient(
    to right,
    #fff,
    rgba(255, 255, 255, 0)
  ); /* rgba 248 - #f8f8f8 */
}

.ticker-container:after {
  right: 0;
  background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0));
}

.ticker-wrap {
  display: inline-block;
  white-space: nowrap;
  animation: ticker 30s linear infinite;
}

.ticker-item {
  display: inline-block;
  padding: 0 30px;
  vertical-align: middle;
}

.ticker-item img {
  max-height: 130px;
  max-width: 210px;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.ticker-item img:hover {
  filter: grayscale(0);
  opacity: 1;
}

.cc-rowz {
	width: 100%; display: flex; flex-direction: row;
}
.cc-halfcol {
	width: 50%;
}
.cc-spcr {
	width: 5%; height: 5%;
}

/* CC Child Thumb Sizes */
.ccchildpages.ccflex.threecol .ccchildpage.ccpage-id-1385,
.ccchildpages.ccflex.threecol .ccchildpage.ccpage-id-633,
.ccchildpages.ccflex.threecol .ccchildpage.ccpage-id-7366,
.ccchildpages.ccflex.threecol .ccchildpage.ccpage-id-651,
.ccchildpages.ccflex.threecol .ccchildpage.ccpage-id-635 {
	width:90%!important;
}

@keyframes ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Pause on hover */
.ticker-wrap:hover {
  animation-play-state: paused;
}
/* Responsive adjustments */
@media (max-width: 768px) {
  .ticker-item {
    padding: 0 15px;
  }

  .ticker-item img {
    max-height: 50px;
    max-width: 100px;
  }
}

/* Silo Pricing / Plan Data Boxes */

.section__head {
  max-width: 64ch;
  margin-bottom: 2.25rem;
}
.section__head h2 {
  font-size: clamp(1.9rem, 4vw, 2.6rem);
}
.section__head p {
  margin-top: 0.85rem;
  font-size: 1.02rem;
  color: var(--ink-mute);
}
.section--dark .section__head p {
  color: #c3c7cc;
}
/* ============================================================
     COURSE COMPARISON CARDS
     ============================================================ */
.courses__grid {
  display: grid;
  gap: 1.75rem;
  margin-top: 2rem;
}
@media (min-width: 760px) {
  .courses__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .courses__grid.twocols {
    grid-template-columns: 1fr 1fr;
  }
}

.containerz {
  /* max-width: auto; /* var(--max); */
  margin: 0 auto;
  padding: 0 1.5rem;
}

.course-card {
  background: var(--paper-alt);
  border: 1px solid var(--card-line);
  border-radius: 6px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  position: relative;
}
.course-card--featured {
  border: 2px solid var(--gold);
  box-shadow: 0 10px 30px -18px rgba(200, 146, 42, 0.55);
}
.course-card__tag {
  position: absolute;
  top: -13px;
  left: 1.75rem;
  background: var(--gold);
  color: var(--smoke);
  font-family: var(--label);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
  border-radius: 2px;
}
.course-card h3 {
      font-family: var(--fontage);
      font-weight: 700;
      font-size: clamp(1.8rem,5.8vw,2.6rem);
      line-height: 1.07;
      letter-spacing: 0.02em;
      margin-bottom: 0.2em;
}
.course-card__hours {
  font-family: var(--label);
  font-weight: 600;
  color: var(--gold-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  margin-bottom: 1.1rem;
  display: block;
}
.course-card__price {
  font-family: var(--display);
  font-size: 2.1rem;
  color: var(--ink);
  margin: 0.25rem 0 0.1rem;
}
.course-card__price sup {
  font-family: var(--body);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ink-mute);
}
.course-card__price-note {
  font-size: 0.82rem;
  color: var(--ink-mute);
  font-style: italic;
  margin-bottom: 1.4rem;
}
.course-card ul {
  margin-bottom: 1.6rem;
  flex: 1;
}
.course-card ul li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: 0.95rem;
  margin-bottom: 0.7rem;
}
.course-card ul li svg {
  flex: none;
  width: 18px;
  height: 18px;
  stroke: var(--gold-dim);
  margin-top: 2px;
}
.btnz {
  font-family: var(--label);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.6rem;
  border-radius: var(--radius);
  border: 2px solid transparent;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}
.btnz:hover {
  transform: translateY(-1px);
}
.btnz:focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: 2px;
}

.btnz--gold {
  background: var(--gold);
  color: var(--smoke);
}
.btnz--gold:hover {
  background: var(--gold-bright);
  color: var(--ink);
}
.btnz--ghost-dark {
  border-color: rgba(246, 243, 236, 0.4);
  color: var(--paper);
}
.btnz--ghost-dark:hover {
  border-color: var(--gold-bright);
  color: var(--gold-bright);
}
.btnz--ghost-light {
  border-color: var(--ink);
  color: var(--ink);
}
.btnz--ghost-light:hover {
  border-color: var(--gold-dim);
  color: var(--gold-dim);
}

/* END Silo Pricing / Plan Data Boxes */

@media screen and (max-width: 479px) {
.cc-rowz {
	flex-direction: column;
}
.cc-halfcol {
	width: 100%;
}
}
/* END TICKER TAPE CSS */
    .iconrowz {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: left;
		width:100%;
    }

    .iconcol {
        width: auto;
		margin-right:2%;
		align-content: center;
	  	display: flex;
        justify-content: center;
    }
    .headercol {
        width: auto;
		align-content: center;
	  	display: flex;
        justify-content: center;
    }
	div.headercol > h3 { margin: 0 auto;}

    .rowz {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
		width:100%;
    }

    .lcol {
        width: 48%;
		margin-right:2%;
    }

    .rcol {
        width: 48%
    }
    .noshow {
        display: none;
    }


    /* ─── RESPONSIVE ────────────────────────────────────────────────────── */
      /* ═══════════════════════════════════════════════════════════════
     RESPONSIVE
  ═══════════════════════════════════════════════════════════════ */
  @media (max-width: 900px) {
    .offer__layout,
    .ragnar__layout,
    .signup__layout,
    .contact__layout,
    .calendar__layout  { grid-template-columns: 1fr; }

    .offer__image-wrap { max-width: 500px; }
    .offer__badge      { left: 0; }

    .footer__grid { grid-template-columns: 1fr 1fr; }
  }

  /* reveal-on-scroll (progressive enhancement only) */
[data-reveal] {
  opacity: 1;
  transform: none;
}
.js-ready [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}
.js-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

.multiline {
	width:auto;
}

@media (max-width: 640px) {

}

@media screen and (max-width: 479px) {
	.multiline {
		cursor:pointer;
		color:var(--accent);
		margin-bottom:2%;
	}
  	.multiline-collapsed {
	  display: -webkit-box;
	  -webkit-box-orient: vertical;
	  -webkit-line-clamp: 4;        /* Show only 4 lines */
	  overflow: hidden;
	  width:100%;
	}
	.multiline-expand {
	  display: block;            
    }
		.rowz {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .lcol {
            width: 100%;
			margin-right:auto;
			margin-bottom:2%;
        }

        .rcol {
            width: 100%
        }
}