/* ==========================================================================
   Spanish Studio - "Blueprint" design system (v3)
   Scoped entirely under .ss3-root so the rest of the site is untouched.
   Every selector targets markup that native Elementor / Elementor Pro
   widgets already output (container, heading, text-editor, image, button,
   html, shortcode) - no custom widget markup is required.
   ========================================================================== */

.ss3-root {
  --ss3-bg: #f6f7fb;
  --ss3-surface: #ecf0fa;
  --ss3-text: #0e1533;
  --ss3-line: rgba(36, 55, 155, .22);
  --ss3-accent: #24379b;
  --ss3-accent-700: #1c2c7c;
  --ss3-ink: #0b1240;
  --ss3-gold: #ffd400;
  --ss3-gold-deep: #e0b400;
  --ss3-pad: 1320px;

  background: var(--ss3-bg);
  color: var(--ss3-text);
  font-family: "Barlow", Arial, sans-serif;
  overflow: hidden;
}
.ss3-root * { box-sizing: border-box; }
.ss3-root a { color: var(--ss3-accent-700); text-decoration: none; }
.ss3-root h1, .ss3-root h2, .ss3-root h3, .ss3-root h4, .ss3-root h5, .ss3-root h6,
.ss3-root .elementor-heading-title {
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.01em;
  margin: 0;
  color: var(--ss3-text);
}
.elementor-page .ss3-root .site-header,
.elementor-page .ss3-root .site-footer { display: none; }
body.elementor-page .entry-header,
body.elementor-page .page-header { display: none; }
body.elementor-page .site-content,
body.elementor-page .content-area,
body.elementor-page .entry-content { margin: 0; padding: 0; max-width: none; }
body.elementor-page-3843 { overflow-x: hidden; }
body.page-id-3843 .ss3-root {
  --ss3-bg: #f7f8fb;
  --ss3-surface: #eef6f5;
  --ss3-text: #14213d;
  --ss3-ink: #14213d;
  --ss3-accent: #0f9f9a;
  --ss3-accent-700: #0c817d;
  --ss3-gold: #ff5a3d;
  --ss3-gold-deep: #df452e;
  --ss3-line: rgba(15,159,154,.22);
}
body.page-id-3843 .ss3-hero {
  background:
    linear-gradient(115deg, rgba(20,33,61,.98) 0%, rgba(20,33,61,.92) 42%, rgba(15,159,154,.82) 100%),
    radial-gradient(circle at 82% 24%, rgba(255,90,61,.28), transparent 34%);
}
body.page-id-3843 .ss3-hero-inner {
  min-height: 680px;
  align-items: center;
  padding-top: 96px;
  padding-bottom: 86px;
}
body.page-id-3843 .ss3-hero-title .elementor-heading-title {
  max-width: 820px;
  font-size: clamp(56px, 7vw, 102px);
  line-height: .92;
}
body.page-id-3843 .ss3-hero-copy .elementor-widget-container {
  max-width: 620px;
  font-size: 18px;
  color: rgba(255,255,255,.82);
}
body.page-id-3843 .ss3-hero-figure {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
body.page-id-3843 .ss3-hero-figure::after {
  background: linear-gradient(135deg, rgba(20,33,61,.08), rgba(15,159,154,.16));
  mix-blend-mode: multiply;
}
body.page-id-3843 .ss3-hero-figure img {
  min-height: 500px;
  object-fit: cover;
}
body.page-id-3843 .ss3-surface {
  background: #eef6f5;
}
body.page-id-3843 .ss3-pillar,
body.page-id-3843 .ss3-level-card,
body.page-id-3843 .ss3-price-card,
body.page-id-3843 .ss3-mini-card,
body.page-id-3843 .ss3-basic-card {
  border-radius: 14px;
  border-color: rgba(15,159,154,.2);
  box-shadow: 0 18px 45px rgba(20,33,61,.08);
}
body.page-id-3843 .ss3-level-card:hover,
body.page-id-3843 .ss3-price-card:hover,
body.page-id-3843 .ss3-mini-card:hover,
body.page-id-3843 .ss3-basic-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(20,33,61,.12);
}
body.page-id-3843 .ss3-gift {
  background: #f7f8fb;
  padding: 96px 32px;
}
body.page-id-3843 .ss3-gift > .e-con-inner,
body.page-id-3843 .ss3-gift > .elementor-container {
  max-width: var(--ss3-pad);
}
body.page-id-3843 .ss3-gift .ss3-blueprint {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(20,33,61,.12);
  overflow: hidden;
}
body.page-id-3843 .ss3-about-image,
body.page-id-3843 .ss3-duotone-gold {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 68px rgba(20,33,61,.12);
}

/* Layout helpers ----------------------------------------------------- */
.ss3-pad { max-width: var(--ss3-pad); margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.ss3-root .e-con.ss3-pad { width: 100%; max-width: var(--ss3-pad); margin-left: auto; margin-right: auto; padding-left: 32px; padding-right: 32px; --padding-left: 32px; --padding-right: 32px; }
.ss3-root .e-con > .e-con-inner { width: 100%; max-width: 100%; padding: 0; }
.ss3-root .e-con.ss3-pad > .e-con-inner { max-width: var(--ss3-pad); margin-left: auto; margin-right: auto; }
.ss3-section { padding-top: 100px; padding-bottom: 100px; }
.ss3-section-sm { padding-top: 72px; padding-bottom: 72px; }
.ss3-surface { background: var(--ss3-surface); border-top: 1px solid var(--ss3-line); border-bottom: 1px solid var(--ss3-line); }
.ss3-dark { background: var(--ss3-ink); color: #fff; }
.ss3-dark h1, .ss3-dark h2, .ss3-dark h3, .ss3-dark .elementor-heading-title { color: #fff; }
.ss3-dark a { color: rgba(255, 255, 255, .84); }
.ss3-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: start; }
.ss3-split-even { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.ss3-root .e-con.ss3-split { display: grid !important; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: start; }
.ss3-root .e-con.ss3-split-even { display: grid !important; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.ss3-root .e-con.ss3-split > .e-con-inner { display: grid !important; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: start; }
.ss3-root .e-con.ss3-split-even > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.ss3-root .e-con.ss3-pillars,
.ss3-root .e-con.ss3-stat-grid,
.ss3-root .e-con.ss3-levels-grid,
.ss3-root .e-con.ss3-session-grid,
.ss3-root .e-con.ss3-steps-grid,
.ss3-root .e-con.ss3-price-grid,
.ss3-root .e-con.ss3-mini-grid,
.ss3-root .e-con.ss3-basics-grid,
.ss3-root .e-con.ss3-podcast-grid,
.ss3-root .e-con.ss3-footer-grid { display: grid !important; }
.ss3-root .e-con.ss3-pillars > .e-con-inner,
.ss3-root .e-con.ss3-stat-grid > .e-con-inner,
.ss3-root .e-con.ss3-levels-grid > .e-con-inner,
.ss3-root .e-con.ss3-session-grid > .e-con-inner,
.ss3-root .e-con.ss3-steps-grid > .e-con-inner,
.ss3-root .e-con.ss3-price-grid > .e-con-inner,
.ss3-root .e-con.ss3-mini-grid > .e-con-inner,
.ss3-root .e-con.ss3-basics-grid > .e-con-inner,
.ss3-root .e-con.ss3-podcast-grid > .e-con-inner,
.ss3-root .e-con.ss3-footer-grid > .e-con-inner { display: grid !important; }
.ss3-root .e-con.ss3-pillars { grid-template-columns: repeat(4, 1fr); }
.ss3-root .e-con.ss3-stat-grid { grid-template-columns: repeat(4, 1fr); }
.ss3-root .e-con.ss3-levels-grid { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
.ss3-root .e-con.ss3-session-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ss3-root .e-con.ss3-steps-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.ss3-root .e-con.ss3-price-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.ss3-root .e-con.ss3-mini-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ss3-root .e-con.ss3-basics-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.ss3-root .e-con.ss3-podcast-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.ss3-root .e-con.ss3-footer-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.ss3-root .e-con.ss3-pillars > .e-con-inner { grid-template-columns: repeat(4, 1fr); }
.ss3-root .e-con.ss3-stat-grid > .e-con-inner { grid-template-columns: repeat(4, 1fr); }
.ss3-root .e-con.ss3-levels-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px; }
.ss3-root .e-con.ss3-session-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.ss3-root .e-con.ss3-steps-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.ss3-root .e-con.ss3-price-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; align-items: stretch; }
.ss3-root .e-con.ss3-mini-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.ss3-root .e-con.ss3-basics-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1px; }
.ss3-root .e-con.ss3-podcast-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.ss3-root .e-con.ss3-footer-grid > .e-con-inner { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 40px; }
.ss3-root .e-con.ss3-hero,
.ss3-root .e-con.ss3-section,
.ss3-root .e-con.ss3-section-sm,
.ss3-root .e-con.ss3-surface,
.ss3-root .e-con.ss3-dark,
.ss3-root .e-con.ss3-gift { display: block !important; width: 100%; }
.ss3-rule { height: 1px; background: var(--ss3-line); }
.ss3-eyebrow .elementor-heading-title { font-family: "Barlow Condensed"; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--ss3-accent-700); margin-bottom: 8px; }
.ss3-dark .ss3-eyebrow .elementor-heading-title { color: var(--ss3-gold); }
.ss3-title .elementor-heading-title { font-size: clamp(34px, 4.2vw, 52px); line-height: 1.02; margin-bottom: 14px; }
.ss3-copy .elementor-widget-container { font-size: 16px; line-height: 1.7; color: rgba(14, 21, 51, .8); max-width: 62ch; }
.ss3-dark .ss3-copy .elementor-widget-container { color: rgba(255, 255, 255, .78); }

/* Blueprint card frame (hairline border, square corners) ------------- */
.ss3-blueprint { position: relative; border: 1px solid var(--ss3-line); }
.ss3-dark .ss3-blueprint { border-color: rgba(255, 255, 255, .32); }

/* Duotone photo treatment -------------------------------------------- */
.ss3-duotone { position: relative; overflow: hidden; background: var(--ss3-ink); }
.ss3-duotone .elementor-widget-image,
.ss3-duotone .elementor-widget-container { height: 100%; }
.ss3-duotone img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss3-duotone::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--ss3-ink); mix-blend-mode: color; }
.ss3-duotone-gold::after { background: var(--ss3-gold); mix-blend-mode: multiply; opacity: .12; }

/* Buttons -------------------------------------------------------------*/
.ss3-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; padding: 0 24px; border-radius: 0; border: 1px solid var(--ss3-ink);
  font-family: "Barlow Condensed"; font-weight: 600; font-size: 15px; letter-spacing: .04em;
  line-height: 1; transition: transform .18s ease, background .18s ease;
}
.ss3-btn .elementor-button:hover { transform: translateY(-2px); }
.ss3-btn-primary .elementor-button { background: var(--ss3-ink) !important; color: #fff !important; }
.ss3-btn-gold .elementor-button { background: var(--ss3-gold) !important; color: var(--ss3-ink) !important; border-color: var(--ss3-gold) !important; }
.ss3-btn-secondary .elementor-button { background: transparent !important; color: var(--ss3-ink) !important; }
.ss3-dark .ss3-btn-secondary .elementor-button { color: #fff; border-color: rgba(255, 255, 255, .5); }
.ss3-dark .ss3-btn-secondary .elementor-button { color: #fff !important; border-color: rgba(255, 255, 255, .55) !important; background: transparent !important; }
.ss3-btn-block .elementor-button { width: 100%; }

/* Tags ------------------------------------------------------------- */
.ss3-tag .elementor-widget-container span,
.ss3-tag-inline { display: inline-flex; align-items: center; font-family: "Barlow Condensed"; font-weight: 600; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; background: var(--ss3-gold); color: var(--ss3-ink); }

/* ===================== Header ===================== */
.ss3-header { position: sticky; top: 0; z-index: 200; background: rgba(246, 247, 251, .94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ss3-line); }
.ss3-topbar { background: var(--ss3-ink); color: rgba(255, 255, 255, .82); font-size: 12px; letter-spacing: .04em; }
.ss3-topbar .elementor-widget-container { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; max-width: var(--ss3-pad); margin: 0 auto; padding: 9px 32px; }
.ss3-topbar .elementor-widget-container span:first-child { display: flex; gap: 22px; flex-wrap: wrap; }
.ss3-topbar .gold { color: var(--ss3-gold); }
.ss3-nav-row { min-height: 74px; display: flex; align-items: center; gap: 28px; }
.ss3-root .e-con.ss3-nav-row { min-height: 74px; display: flex !important; flex-direction: row !important; align-items: center; gap: 28px; }
.ss3-root .e-con.ss3-nav-row > .e-con-inner { min-height: 74px; display: flex !important; flex-direction: row !important; align-items: center; gap: 28px; }
.ss3-brand .elementor-widget-container { display: flex; align-items: center; gap: 12px; }
.ss3-brand-mark { width: 44px; height: 44px; display: grid; place-items: center; background: var(--ss3-ink); color: var(--ss3-gold); font-family: "Barlow Condensed"; font-size: 20px; font-weight: 600; flex: none; }
.ss3-brand-text strong { display: block; font-family: "Barlow Condensed"; font-size: 21px; line-height: 1.05; }
.ss3-brand-text span { display: block; font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: rgba(14, 21, 51, .55); }
.ss3-menu { margin-left: auto; display: flex; align-items: center; gap: 26px; }
.ss3-root .e-con.ss3-menu { margin-left: auto; display: flex !important; flex-direction: row !important; align-items: center; gap: 26px; width: auto; }
.ss3-root .e-con.ss3-menu > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center; gap: 26px; width: auto; }
.ss3-menu .elementor-widget-container { display: flex; align-items: center; gap: 26px; }
.ss3-menu .elementor-widget-html { width: auto !important; }
.ss3-menu .elementor-widget-html .elementor-widget-container { display: flex !important; align-items: center; gap: 24px !important; white-space: nowrap; }
.ss3-menu a { font-family: "Barlow Condensed"; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ss3-text); position: relative; padding: 4px 0; }
.ss3-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--ss3-gold); transition: right .25s ease; }
.ss3-menu a:hover::after { right: 0; }
.ss3-header .ss3-nav-row { flex-wrap: nowrap; }
.ss3-header .ss3-nav-row > .elementor-widget-html:first-child { flex: 0 0 auto; }
.ss3-header .ss3-menu .ss3-elementor-nav { flex: 1 1 auto; min-width: 0; width: auto !important; }
.ss3-header .ss3-menu > .elementor-widget-button,
.ss3-header .ss3-menu .ss3-btn { flex: 0 0 auto; }
.ss3-header .ss3-menu .elementor-nav-menu--main .elementor-nav-menu { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; }
.ss3-header .ss3-menu .elementor-nav-menu--main .elementor-item { white-space: nowrap; font-family: "Barlow Condensed"; font-size: 19px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; color: var(--ss3-text); padding: 8px 0; }
.ss3-header .ss3-menu .elementor-nav-menu--main .elementor-item::after { background: var(--ss3-gold); height: 2px; }
.ss3-header .ss3-menu .ss3-btn .elementor-button { min-height: 46px; padding: 0 22px; }
.ss3-global-header { position: sticky; top: 0; z-index: 999; }
.ss3-global-header .ss3-header { position: relative; }
.ss3-global-header .ss3-elementor-nav { margin-left: auto; width: auto; }
.ss3-global-header .elementor-nav-menu--main .elementor-nav-menu { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; }
.ss3-global-header .elementor-nav-menu--main .elementor-item { font-family: "Barlow Condensed"; font-size: 19px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; color: var(--ss3-text); padding: 8px 0; white-space: nowrap; }
.ss3-global-header .elementor-nav-menu--main .elementor-item:hover,
.ss3-global-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ss3-ink); }
.ss3-global-header .elementor-nav-menu--main .elementor-item::after { background: var(--ss3-gold); height: 2px; }
.ss3-global-header .elementor-menu-toggle { border-radius: 8px; color: var(--ss3-ink); background: rgba(255,90,61,.12); }

/* mobile toggle - pure CSS checkbox, no JS */
.ss3-burger-toggle { display: none; }
.ss3-burger-label { display: none; width: 46px; height: 44px; border: 1px solid var(--ss3-line); align-items: center; justify-content: center; cursor: pointer; margin-left: auto; }
.ss3-burger-label span, .ss3-burger-label span::before, .ss3-burger-label span::after { content: ""; display: block; width: 20px; height: 2px; background: var(--ss3-ink); position: relative; }
.ss3-burger-label span::before { position: absolute; top: -6px; }
.ss3-burger-label span::after { position: absolute; top: 6px; }
.ss3-mobile-panel { display: none; border-top: 1px solid var(--ss3-line); padding: 14px 0 22px; }
.ss3-mobile-panel .elementor-widget-container { display: grid; gap: 4px; }
.ss3-mobile-panel a { font-family: "Barlow Condensed"; font-size: 17px; padding: 11px 0; color: var(--ss3-text); border-bottom: 1px solid var(--ss3-line); }
/* :has() on the shared header ancestor - robust regardless of exact Elementor nesting depth between the checkbox and the panel */
.ss3-header:has(.ss3-burger-toggle:checked) .ss3-mobile-panel { display: block; }

/* ===================== Hero ===================== */
.ss3-hero { position: relative; background: var(--ss3-ink); color: #fff; overflow: hidden; }
.ss3-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px); background-size: 88px 88px; pointer-events: none; }
.ss3-hero-inner { position: relative; padding: 84px 0 92px; }
.ss3-hero-kicker .elementor-widget-container { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.ss3-hero-kicker .bar { display: inline-block; width: 56px; height: 2px; background: var(--ss3-gold); margin-right: 14px; }
.ss3-hero-title .elementor-heading-title { font-size: clamp(46px, 6vw, 84px); line-height: .98; letter-spacing: -.015em; color: #fff; }
.ss3-hero-title .gold { color: var(--ss3-gold); }
.ss3-hero-copy .elementor-widget-container { font-size: 18px; line-height: 1.65; color: rgba(255, 255, 255, .8); max-width: 54ch; margin-top: 22px; }
.ss3-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.ss3-root .e-con.ss3-hero-actions { display: flex !important; flex-direction: row !important; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.ss3-root .e-con.ss3-hero-actions > .e-con-inner { display: flex !important; flex-direction: row !important; gap: 14px; flex-wrap: wrap; align-items: center; }
.ss3-root .ss3-hero-actions > .elementor-widget-button { width: auto !important; max-width: none !important; }
.ss3-root .ss3-hero-actions .elementor-button { width: auto !important; }
.ss3-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .18); margin-top: 40px; }
.ss3-stat { background: var(--ss3-ink); padding: 18px 16px; }
.ss3-stat .num { font-family: "Barlow Condensed"; font-size: 32px; color: var(--ss3-gold); line-height: 1; }
.ss3-stat .label { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .64); margin-top: 6px; }
.ss3-hero-figure { position: relative; aspect-ratio: 4/5; min-height: 420px; border-color: rgba(255, 255, 255, .4) !important; }
.ss3-gold-bar { height: 6px; background: var(--ss3-gold); }
.ss3-visual-card .elementor-widget-container { min-height: 420px; display: grid; align-content: end; padding: 28px; background: linear-gradient(135deg, rgba(255,212,0,.9), rgba(255,212,0,.22)), linear-gradient(160deg, #172260, #0b1240); color: #fff; }
.ss3-visual-card strong { display: block; font-family: "Barlow Condensed"; font-size: 54px; line-height: .9; color: var(--ss3-gold); }
.ss3-visual-card span { display: block; max-width: 18ch; margin-top: 10px; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.78); }

/* ===================== Trust / pillars strip ===================== */
.ss3-pillars { display: grid; grid-template-columns: repeat(4, 1fr); }
.ss3-pillar { padding: 40px 30px 42px; border-left: 1px solid var(--ss3-line); }
.ss3-pillar .n { font-family: "Barlow Condensed"; font-size: 11px; letter-spacing: .2em; color: var(--ss3-accent); margin-bottom: 12px; }
.ss3-pillar h3 { font-size: 27px; margin-bottom: 8px; }
.ss3-pillar p { font-size: 14.5px; line-height: 1.6; color: rgba(14, 21, 51, .7); margin: 0; }

/* ===================== Offer aside (dark blueprint card) ===================== */
.ss3-offer { padding: 34px 30px; }
.ss3-offer .elementor-heading-title { font-size: 28px; margin-bottom: 8px; }

/* ===================== Levels grid ===================== */
.ss3-levels-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px; margin-top: 24px; }
.ss3-level-card { padding: 30px 28px 28px; display: flex; flex-direction: column; gap: 12px; transition: background .25s ease; }
.ss3-level-card:hover { background: rgba(36, 55, 155, .06); }
.ss3-level-top { display: flex; align-items: center; justify-content: space-between; }
.ss3-level-num { font-family: "Barlow Condensed"; font-size: 42px; line-height: .9; color: rgba(36, 55, 155, .3); }
.ss3-level-card h3 { font-size: 27px; }
.ss3-level-card .body { font-size: 14px; line-height: 1.65; color: rgba(14, 21, 51, .72); flex: 1; }
.ss3-level-card .spacer { height: 1px; background: var(--ss3-line); margin-top: auto; }

/* ===================== Schedule ===================== */
.ss3-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 30px 0 26px; }
.ss3-filter-input { position: absolute; opacity: 0; width: 0; height: 0; }
.ss3-filter-label { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; font-family: "Barlow Condensed"; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; border: 1px solid var(--ss3-line); cursor: pointer; background: transparent; color: var(--ss3-text); }
.ss3-filter-input:checked + .ss3-filter-label { background: var(--ss3-ink); color: var(--ss3-gold); border-color: var(--ss3-ink); }

.ss3-schedule-groups [data-level] { display: block; }
/* :has() on the shared .ss3-schedule-wrap ancestor - the radios and the group cards don't need to be literal siblings */
.ss3-schedule-wrap:has(#ss3-f-beg1:checked) [data-level]:not([data-level="Beginning 1"]) { display: none; }
.ss3-schedule-wrap:has(#ss3-f-beg2:checked) [data-level]:not([data-level="Beginning 2"]) { display: none; }
.ss3-schedule-wrap:has(#ss3-f-int1:checked) [data-level]:not([data-level="Intermediate I"]) { display: none; }
.ss3-schedule-wrap:has(#ss3-f-int2:checked) [data-level]:not([data-level="Intermediate II"]) { display: none; }
.ss3-schedule-wrap:has(#ss3-f-int3:checked) [data-level]:not([data-level="Intermediate III"]) { display: none; }
.ss3-schedule-wrap:has(#ss3-f-adv:checked) [data-level]:not([data-level="Advanced Conversation"]) { display: none; }

.ss3-schedule-group { padding: 28px; background: var(--ss3-bg); margin-bottom: 24px; }
.ss3-schedule-group-head { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; flex-wrap: wrap; border-bottom: 1px solid var(--ss3-line); padding-bottom: 16px; margin-bottom: 22px; }
.ss3-schedule-group-head h3 { font-size: 28px; }
.ss3-schedule-group-head .meta { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: rgba(14, 21, 51, .55); }
.ss3-session-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.ss3-session { border: 1px solid var(--ss3-line); border-top: 3px solid var(--ss3-accent); padding: 20px; }
.ss3-session .row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.ss3-session .day { font-family: "Barlow Condensed"; font-size: 21px; }
.ss3-session-status.open { background: var(--ss3-gold); color: var(--ss3-ink); }
.ss3-session-status.closed { background: transparent; color: rgba(14, 21, 51, .5); border: 1px solid var(--ss3-line); }
.ss3-session dl { margin: 0 0 14px; font-size: 14px; line-height: 1.6; }
.ss3-session dt { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: rgba(14, 21, 51, .5); }
.ss3-session dd { margin: 0 0 8px; }
.ss3-schedule-note .elementor-widget-container { margin-top: 4px; font-size: 14.5px; line-height: 1.6; padding-left: 16px; border-left: 3px solid var(--ss3-gold); color: rgba(14, 21, 51, .78); }

.ss3-steps { padding: 34px 30px; margin-top: 28px; }
.ss3-steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: rgba(255, 255, 255, .2); border: 1px solid rgba(255, 255, 255, .2); margin-top: 20px; }
.ss3-step { background: var(--ss3-ink); padding: 22px 20px; }
.ss3-step .n { font-family: "Barlow Condensed"; font-size: 28px; color: var(--ss3-gold); }
.ss3-step h4 { font-size: 18px; color: #fff; margin: 8px 0; }
.ss3-step p { font-size: 13.5px; line-height: 1.6; color: rgba(255, 255, 255, .74); margin: 0; }

/* ===================== Pricing ===================== */
.ss3-price-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; margin-top: 24px; align-items: stretch; }
.ss3-price-card { padding: 34px 30px; display: flex; flex-direction: column; gap: 14px; }
.ss3-price-card h3 { font-size: 28px; }
.ss3-price-card .big { font-family: "Barlow Condensed"; font-size: 58px; line-height: .9; }
.ss3-price-card ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.65; display: grid; gap: 8px; }

/* ===================== Gift band ===================== */
.ss3-gift { background: var(--ss3-gold); }
.ss3-gift .ss3-split { align-items: stretch; }
.ss3-gift-copy { padding: 56px 0; color: var(--ss3-ink); }
.ss3-gift-copy h2 { color: var(--ss3-ink); }

/* ===================== Resources ===================== */
.ss3-mini-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin: 24px 0; }
.ss3-mini-card { padding: 28px; }
.ss3-mini-card h3 { font-size: 22px; margin-bottom: 8px; }
.ss3-mini-card p { font-size: 14px; line-height: 1.6; color: rgba(14, 21, 51, .68); margin: 0; }
.ss3-basics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1px; background: var(--ss3-line); border: 1px solid var(--ss3-line); margin-top: 18px; }
.ss3-basic-card { background: var(--ss3-bg); padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; }
.ss3-basic-card .n { font-family: "Barlow Condensed"; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--ss3-accent); }
.ss3-basic-card h4 { font-size: 19px; }
.ss3-basic-card p { font-size: 13px; line-height: 1.55; color: rgba(14, 21, 51, .68); flex: 1; margin: 0; }
.ss3-topics .elementor-widget-container { display: flex; flex-wrap: wrap; gap: 10px; }
.ss3-topics span { border: 1px solid var(--ss3-line); padding: 9px 14px; font-family: "Barlow Condensed"; font-size: 13px; font-weight: 600; }
.ss3-quiz-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; margin-top: 20px; }
.ss3-quiz-card { padding: 24px; display: flex; flex-direction: column; gap: 12px; background: var(--ss3-bg); }
.ss3-quiz-card h3 { font-size: 24px; }
.ss3-quiz-card p { margin: 0; color: rgba(14,21,51,.7); line-height: 1.55; font-size: 14px; }
.ss3-quiz-card .ss3-quiz-link { margin-top: auto; font-family: "Barlow Condensed"; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: 13px; }
.ss3-podcast-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 24px; }
.ss3-podcast-card { padding: 28px; background: rgba(255,255,255,.04); }
.ss3-podcast-card h3 { font-size: 24px; color: #fff; margin-bottom: 8px; }
.ss3-podcast-card p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.6; font-size: 14px; }

/* ===================== Best Spanish Classes duplicate page ===================== */
.ss3-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.ss3-video-card { padding: 20px; background: var(--ss3-bg); }
.ss3-video-card video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--ss3-ink); }
.ss3-video-card h3 { font-size: 22px; margin: 16px 0 6px; }
.ss3-video-card p { margin: 0; color: rgba(14,21,51,.68); line-height: 1.55; font-size: 14px; }
.ss3-hero-video-frame { min-height: 520px; overflow: hidden; }
.ss3-hero-video-frame .elementor-widget-html,
.ss3-hero-video-frame .elementor-widget-container { height: 100%; }
.ss3-hero-video-frame video { width: 100%; height: 100%; min-height: 520px; display: block; object-fit: cover; background: #080f22; }
.ss3-reviews-with-video { display: grid; grid-template-columns: .92fr 1.35fr; gap: 28px; align-items: center; margin-top: 24px; }
.ss3-root .e-con.ss3-reviews-with-video,
.ss3-root .e-con.ss3-reviews-with-video > .e-con-inner { display: grid !important; grid-template-columns: .92fr 1.35fr; gap: 28px; align-items: center; }
.ss3-review-video { padding: 20px; background: var(--ss3-bg); position: static; top: auto; align-self: center; }
.ss3-review-video video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--ss3-ink); }
.ss3-review-video h3 { font-size: 28px; margin: 18px 0 8px; }
.ss3-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-top: 26px; }
.ss3-link-tile { min-height: 108px; display: flex; align-items: end; padding: 18px; background: var(--ss3-ink); color: #fff; border: 1px solid var(--ss3-line); }
.ss3-link-tile a { color: #fff; font-family: "Barlow Condensed"; font-size: 22px; line-height: 1.05; text-transform: uppercase; }
.ss3-link-tile:nth-child(2n) { background: var(--ss3-gold); }
.ss3-link-tile:nth-child(2n) a { color: var(--ss3-ink); }
.ss3-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 24px; }
.ss3-review-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 2); gap: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 4px 4px 22px; margin-top: 0; }
.ss3-root .e-con.ss3-review-carousel,
.ss3-root .e-con.ss3-review-carousel > .e-con-inner { display: grid !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 2); grid-template-columns: none !important; gap: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 4px 4px 22px; }
.ss3-review-carousel .ss3-review-card { min-width: 0; scroll-snap-align: start; }
.ss3-review-carousel::-webkit-scrollbar { height: 10px; }
.ss3-review-carousel::-webkit-scrollbar-track { background: rgba(20,33,61,.08); border-radius: 999px; }
.ss3-review-carousel::-webkit-scrollbar-thumb { background: linear-gradient(90deg, var(--ss3-gold), var(--ss3-accent)); border-radius: 999px; }
.ss3-review-card { padding: 28px; background: var(--ss3-bg); display: flex; flex-direction: column; gap: 14px; }
.ss3-review-card p { margin: 0; font-size: 14.5px; line-height: 1.68; color: rgba(14,21,51,.75); }
.ss3-review-card .name { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ss3-line); font-family: "Barlow Condensed"; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ss3-accent); }
.ss3-client-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ss3-client-card li { font-size: 14px; line-height: 1.45; color: rgba(20,33,61,.76); }
.ss3-client-card li::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: linear-gradient(135deg, var(--ss3-gold), var(--ss3-accent)); vertical-align: .08em; }
.ss3-client-carousel { margin-top: 18px; }
.ss3-photo-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.ss3-root .e-con.ss3-photo-strip,
.ss3-root .e-con.ss3-photo-strip > .e-con-inner { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ss3-photo-strip .elementor-widget-container { height: 100%; }
.ss3-photo-strip img { width: 100%; height: 340px; object-fit: cover; display: block; filter: saturate(.75) contrast(1.04); }
.ss3-price-image img { width: 100%; height: auto; border: 1px solid var(--ss3-line); }

/* ===================== About / clients ===================== */
.ss3-about-image { aspect-ratio: 4/5; min-height: 380px; }
.ss3-clients-title .elementor-heading-title {
  margin-top: 56px;
  margin-bottom: 18px;
  padding-top: 28px;
  border-top: 1px solid var(--ss3-line);
  font-size: clamp(28px, 3vw, 38px);
}
.ss3-clients .elementor-widget-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--ss3-line);
  border: 1px solid var(--ss3-line);
  margin-top: 0;
}
.ss3-clients span {
  display: flex;
  align-items: center;
  min-height: 58px;
  background: var(--ss3-bg);
  padding: 14px 18px;
  font-size: 13.5px;
  line-height: 1.35;
  color: rgba(14, 21, 51, .78);
}

/* ===================== Contact ===================== */
.ss3-contact-list dl { display: grid; gap: 1px; background: var(--ss3-line); border: 1px solid var(--ss3-line); margin: 26px 0 0; font-size: 15px; }
.ss3-contact-list .row { background: var(--ss3-bg); padding: 18px 20px; }
.ss3-contact-list dt { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(14, 21, 51, .5); margin-bottom: 4px; }
.ss3-contact-list dd { margin: 0; }
.ss3-contact-form { padding: 32px; }
.ss3-contact-form .wpcf7-form p { margin: 0 0 16px; }
.ss3-contact-form .wpcf7-form label { display: block; font-size: 12px; margin-bottom: 5px; color: rgba(14, 21, 51, .7); }
.ss3-contact-form .wpcf7-form input[type="text"],
.ss3-contact-form .wpcf7-form input[type="email"],
.ss3-contact-form .wpcf7-form input[type="tel"],
.ss3-contact-form .wpcf7-form textarea {
  width: 100%; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 14px;
  border: 1px solid var(--ss3-line); background: #fff; border-radius: 0;
}
.ss3-contact-form .wpcf7-form textarea { min-height: 110px; }
.ss3-contact-form .wpcf7-form input[type="submit"] {
  min-height: 50px; width: 100%; border: 1px solid var(--ss3-ink); background: var(--ss3-ink); color: var(--ss3-gold);
  font-family: "Barlow Condensed"; font-weight: 600; letter-spacing: .04em; font-size: 15px; cursor: pointer; border-radius: 0;
}

/* ===================== Footer ===================== */
.ss3-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 40px; padding: 64px 0 32px; }
.ss3-footer-grid h4 { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ss3-gold); margin-bottom: 14px; }
.ss3-footer-grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14.5px; }
.ss3-footer-grid a { color: #fff; }
.ss3-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .2); padding: 20px 0; font-size: 12px; color: rgba(255, 255, 255, .6); display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.ss3-global-footer {
  position: relative;
  background: #262424;
  color: #fff;
  border-top: 0;
  overflow: hidden;
  min-height: 178px;
  padding: 58px 20px 42px;
  text-align: center;
}
.ss3-global-footer::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 50%;
  width: 118px;
  height: 88px;
  transform: translateX(-50%) rotate(45deg);
  background: #262424;
  border-radius: 16px;
}
.ss3-global-footer.e-con,
.ss3-root.ss3-global-footer.e-con {
  display: block !important;
  width: 100%;
}
.ss3-global-footer .ss3-footer-legacy,
.ss3-global-footer .ss3-footer-legacy > .e-con-inner {
  display: grid !important;
  justify-items: center;
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}
.ss3-global-footer .ss3-footer-powered .elementor-widget-container {
  color: #9da5b3;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.ss3-global-footer .ss3-footer-powered a,
.ss3-global-footer .ss3-footer-powered .gold {
  color: #d99832 !important;
}
.ss3-global-footer .ss3-footer-menu .elementor-widget-container,
.ss3-global-footer .ss3-footer-menu ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ss3-global-footer .ss3-footer-menu a {
  color: #a7b0be !important;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0;
  text-decoration: none;
  padding: 0 13px;
}
.ss3-global-footer .ss3-footer-menu a:hover {
  color: #d99832 !important;
}
.ss3-global-footer .ss3-footer-menu li {
  color: #686f78;
  font-size: 14px;
  line-height: 1.4;
}
.ss3-global-footer .ss3-footer-menu li + li::before {
  content: "•";
  color: #777;
}

@media (max-width: 640px) {
  .ss3-global-footer { padding: 54px 16px 34px; }
  .ss3-global-footer .ss3-footer-menu a { font-size: 12px; padding: 0 8px; }
  .ss3-global-footer .ss3-footer-powered .elementor-widget-container { font-size: 12px; }
}

/* Standalone homepage redesign matched to the supplied index.html reference. */
.ss4-home {
  --ss4-ink:#1E1230;
  --ss4-ink-soft:#382A4C;
  --ss4-paper:#F7F3EC;
  --ss4-paper-dim:#EFE9DD;
  --ss4-line:#DCD3C2;
  --ss4-marigold:#E6A339;
  --ss4-marigold-dark:#C7862A;
  --ss4-sienna:#D6472B;
  --ss4-teal:#1F6F63;
  --ss4-teal-dark:#164F47;
  --ss4-cream:#FBF8F2;
  --ss4-serif:"Fraunces", serif;
  --ss4-sans:"Public Sans", Arial, sans-serif;
  --ss4-mono:"JetBrains Mono", monospace;
  background: var(--ss4-paper);
  color: var(--ss4-ink);
  font-family: var(--ss4-sans);
  overflow: hidden;
}
.ss4-home * { box-sizing: border-box; }
.ss4-home img { max-width: 100%; display: block; }
.ss4-home a { color: inherit; text-decoration: none; }
.ss4-home ul { margin: 0; padding: 0; list-style: none; }
.ss4-home h1,.ss4-home h2,.ss4-home h3,.ss4-home h4 { font-family: var(--ss4-serif); margin: 0; font-weight: 600; letter-spacing: 0; color: inherit; }
.ss4-home section { padding: 96px 0; }
.ss4-home .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss4-home .eyebrow { font-family: var(--ss4-mono); font-size: 13px; letter-spacing: .02em; color: var(--ss4-teal-dark); }
.ss4-home .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; border-radius: 2px; font-family: var(--ss4-sans); font-weight: 600; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss4-home .btn:hover { transform: translateY(-2px); }
.ss4-home .btn-primary { background: var(--ss4-sienna); color: var(--ss4-cream); }
.ss4-home .btn-dark { background: var(--ss4-ink); color: var(--ss4-cream); }
.ss4-home .btn-outline { background: transparent; border-color: var(--ss4-ink); color: var(--ss4-ink); }
.ss4-home .btn-outline:hover { background: var(--ss4-ink); color: var(--ss4-cream); }
.ss4-home .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.5); color: var(--ss4-cream); }
.ss4-home .btn-outline-light:hover { background: var(--ss4-cream); color: var(--ss4-ink); }
body.page-id-3843 .ss3-global-header {
  background: rgba(247,243,236,.92);
  border-bottom: 1px solid #DCD3C2;
  backdrop-filter: blur(8px);
}
body.page-id-3843 .ss3-global-header .ss3-topbar { display: none; }
body.page-id-3843 .ss3-global-header .ss3-header { background: transparent; border: 0; }
body.page-id-3843 .ss3-global-header .ss3-nav-row { min-height: 78px; max-width: 1180px; padding-left: 32px; padding-right: 32px; }
body.page-id-3843 .ss3-global-header .ss3-brand-mark { width: 38px; height: 38px; border-radius: 50%; background: #1E1230; color: #E6A339; font-family: "Fraunces", serif; font-size: 18px; }
body.page-id-3843 .ss3-global-header .ss3-brand-text strong { font-family: "Fraunces", serif; font-size: 18px; color: #1E1230; text-transform: none; }
body.page-id-3843 .ss3-global-header .ss3-brand-text span { font-family: "JetBrains Mono", monospace; color: #382A4C; font-size: 10.5px; letter-spacing: .04em; }
body.page-id-3843 .ss3-global-header .elementor-nav-menu--main .elementor-nav-menu { gap: 24px; }
body.page-id-3843 .ss3-global-header .elementor-nav-menu--main .elementor-item { font-family: "Public Sans", sans-serif; font-size: 14.5px; font-weight: 600; color: #382A4C; text-transform: none; }
body.page-id-3843 .ss3-global-header .ss3-btn .elementor-button { min-height: 50px; border-radius: 2px; background: #1E1230 !important; font-family: "Public Sans", sans-serif; font-size: 15px; }
.ss4-hero { background: var(--ss4-ink); color: var(--ss4-cream); padding: 76px 0 0 !important; position: relative; }
.ss4-hero .wrap { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.ss4-hero .eyebrow { color: var(--ss4-marigold); }
.ss4-hero h1 { font-size: clamp(40px,5vw,64px); line-height: 1.03; margin-top: 18px; font-weight: 600; }
.ss4-hero .lede { font-size: 18px; line-height: 1.6; color: #D9D1EA; max-width: 46ch; margin: 22px 0 0; }
.ss4-hero-ctas { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
.ss4-hero-photo { position: relative; border-radius: 6px 40px 6px 6px; overflow: hidden; aspect-ratio: 4/5; min-height: 560px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); background: #28183d; }
.ss4-hero-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: center center; display: block; }
.ss4-hero-stats { margin-top: 56px; border-top: 1px solid rgba(247,243,236,.16); display: grid; grid-template-columns: repeat(4,1fr); }
.ss4-hero-stats div { padding: 26px 28px; border-right: 1px solid rgba(247,243,236,.16); }
.ss4-hero-stats div:last-child { border-right: 0; }
.ss4-hero-stats .num { font-family: var(--ss4-mono); font-size: 26px; color: var(--ss4-marigold); font-weight: 600; }
.ss4-hero-stats .label { font-size: 13px; color: #C6BEDA; margin-top: 4px; }
.ss4-feature-strip { background: var(--ss4-paper-dim); border-bottom: 1px solid var(--ss4-line); padding: 0 !important; }
.ss4-feature-strip .wrap { display: grid; grid-template-columns: repeat(4,1fr); }
.ss4-feature-strip .feat { padding: 38px 30px; border-right: 1px solid var(--ss4-line); }
.ss4-feature-strip .feat:last-child { border-right: 0; }
.ss4-feature-strip .fnum { font-family: var(--ss4-mono); font-size: 12px; color: var(--ss4-sienna); }
.ss4-feature-strip h3 { font-size: 19px; margin-top: 10px; }
.ss4-feature-strip p { font-size: 14.5px; color: var(--ss4-ink-soft); margin: 8px 0 0; line-height: 1.5; }
.ss4-section-head { max-width: 640px; margin-bottom: 48px; }
.ss4-section-head h2 { font-size: clamp(30px,3.6vw,42px); margin-top: 14px; line-height: 1.12; }
.ss4-section-head p { font-size: 16.5px; color: var(--ss4-ink-soft); margin: 16px 0 0; line-height: 1.6; }
.ss4-offer { background: var(--ss4-sienna); color: var(--ss4-cream); border-radius: 4px; padding: 30px 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 64px; }
.ss4-offer .tag,.ss4-quiz-card .tag { font-family: var(--ss4-mono); font-size: 12.5px; background: rgba(255,255,255,.18); padding: 4px 10px; border-radius: 2px; }
.ss4-offer h3 { font-size: 22px; margin-top: 12px; max-width: 44ch; }
.ss4-levels { border-top: 1px solid var(--ss4-line); }
.ss4-level-row { display: grid; grid-template-columns: 90px 1fr 200px; align-items: center; border-bottom: 1px solid var(--ss4-line); cursor: pointer; transition: background .15s ease; }
.ss4-level-row:hover,.ss4-level-row.open { background: var(--ss4-paper-dim); }
.ss4-level-num { font-family: var(--ss4-mono); font-size: 15px; color: var(--ss4-sienna); padding: 28px 0; }
.ss4-level-main { padding: 28px 0; }
.ss4-level-main .tier { font-family: var(--ss4-mono); font-size: 11.5px; color: var(--ss4-teal-dark); letter-spacing: .02em; }
.ss4-level-main h3 { font-size: 23px; margin-top: 6px; }
.ss4-level-detail { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; grid-column: 1/-1; }
.ss4-level-row.open .ss4-level-detail { max-height: 240px; padding-bottom: 28px; }
.ss4-level-detail p { font-size: 15px; color: var(--ss4-ink-soft); line-height: 1.65; max-width: 70ch; margin: 0 0 0 90px; }
.ss4-level-toggle { justify-self: end; display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; color: var(--ss4-ink); }
.ss4-plus { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--ss4-ink); display: flex; align-items: center; justify-content: center; font-size: 16px; transition: transform .25s ease; }
.ss4-level-row.open .ss4-plus { transform: rotate(45deg); }
.ss4-schedule { background: var(--ss4-ink); color: var(--ss4-cream); }
.ss4-schedule .ss4-section-head p { color: #C6BEDA; }
.ss4-schedule .eyebrow { color: var(--ss4-marigold); }
.ss4-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 40px; }
.ss4-tab { font-family: var(--ss4-mono); font-size: 12.5px; padding: 9px 16px; border: 1px solid rgba(247,243,236,.3); border-radius: 20px; cursor: pointer; background: #fffaf1; color: #1E1230; transition: all .15s ease; }
.ss4-tab.active,.ss4-tab:hover { background: var(--ss4-marigold); border-color: var(--ss4-marigold); color: var(--ss4-ink); }
.ss4-timetable { display: grid; grid-template-columns: 180px repeat(6,1fr); border: 1px solid rgba(247,243,236,.18); border-radius: 4px; overflow: hidden; font-size: 13.5px; }
.ss4-timetable .cell { padding: 16px 14px; border-right: 1px solid rgba(247,243,236,.12); border-bottom: 1px solid rgba(247,243,236,.12); min-height: 70px; }
.ss4-timetable .head-row { background: rgba(255,255,255,.06); color: var(--ss4-marigold); font-family: var(--ss4-mono); font-size: 12px; min-height: auto; }
.ss4-timetable .row-label { font-family: var(--ss4-serif); font-size: 17px; color: var(--ss4-cream); background: rgba(255,255,255,.04); }
.ss4-timetable .sub { display: block; font-family: var(--ss4-sans); font-size: 11px; color: #BDB3D3; margin-top: 5px; }
.ss4-slot { background: var(--ss4-teal); color: #fff; border-radius: 3px; padding: 10px; display: grid; gap: 4px; }
.ss4-slot.full { background: rgba(214,71,43,.28); color: #FFD9D1; }
.ss4-slot .tm { font-weight: 700; }
.ss4-slot .dt { font-size: 11.5px; opacity: .86; }
.ss4-full-tag { font-family: var(--ss4-mono); font-size: 10px; color: var(--ss4-marigold); }
.ss4-empty-cell { color: rgba(247,243,236,.22); }
.ss4-note-line { color: #C6BEDA; margin: 22px 0 0; font-size: 14.5px; line-height: 1.6; }
.ss4-note-line a { color: var(--ss4-marigold); }
.ss4-steps { margin-top: 58px; background: rgba(255,255,255,.06); border: 1px solid rgba(247,243,236,.14); border-radius: 4px; padding: 34px; }
.ss4-steps h2 { font-size: 26px; margin-top: 10px; }
.ss4-steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 26px; }
.ss4-step .snum { font-family: var(--ss4-mono); color: var(--ss4-marigold); font-size: 13px; }
.ss4-step h4 { font-size: 18px; margin-top: 8px; }
.ss4-step p { color: #C6BEDA; font-size: 13.5px; line-height: 1.5; margin: 8px 0 0; }
.ss4-tuition-ledger { border-top: 1px solid var(--ss4-line); }
.ss4-ledger-row { display: grid; grid-template-columns: 1fr 220px 1.25fr; gap: 28px; align-items: center; padding: 34px 0; border-bottom: 1px solid var(--ss4-line); }
.ss4-ledger-row.featured { color: var(--ss4-sienna); }
.ss4-ledger-name h3 { font-size: 26px; }
.ss4-ledger-name .sub { font-family: var(--ss4-mono); font-size: 11px; color: var(--ss4-teal-dark); margin-top: 8px; }
.ss4-ledger-price { font-family: var(--ss4-serif); font-size: 52px; line-height: 1; color: var(--ss4-sienna); }
.ss4-ledger-price .per { font-size: 18px; color: var(--ss4-ink-soft); }
.ss4-ledger-points { display: grid; gap: 8px; color: var(--ss4-ink-soft); font-size: 14.5px; line-height: 1.45; }
.ss4-ledger-points li::before { content: "— "; color: var(--ss4-sienna); }
.ss4-private-banner { background: var(--ss4-teal-dark); color: var(--ss4-cream); padding: 58px 0 !important; }
.ss4-private-banner .wrap { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.ss4-private-banner h3 { font-size: clamp(26px,3vw,40px); max-width: 720px; margin-top: 12px; line-height: 1.15; }
.ss4-private-banner .phone { font-family: var(--ss4-serif); font-size: 34px; color: var(--ss4-marigold); }
.ss4-gift { background: var(--ss4-paper-dim); }
.ss4-gift .wrap,.ss4-about .wrap,.ss4-contact .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ss4-gift h2,.ss4-about h2,.ss4-contact h2 { font-size: clamp(32px,4vw,48px); margin-top: 14px; line-height: 1.1; }
.ss4-gift p,.ss4-about p { font-size: 16px; color: var(--ss4-ink-soft); line-height: 1.7; margin: 16px 0 0; }
.ss4-gift-ctas { display: flex; gap: 14px; margin-top: 28px; flex-wrap: wrap; }
.ss4-gift-photo,.ss4-about-photo { border-radius: 40px 6px 6px 6px; overflow: hidden; aspect-ratio: 1.05/1; box-shadow: 0 24px 50px -28px rgba(30,18,48,.45); }
.ss4-about-photo { border-radius: 6px 6px 40px 6px; }
.ss4-gift-photo img,.ss4-about-photo img { width: 100%; height: 100%; object-fit: cover; }
.ss4-resources { background: var(--ss4-paper); }
.ss4-res-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.ss4-res-panel { display: none; }
.ss4-res-panel.active { display: block; }
.ss4-res-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--ss4-line); border: 1px solid var(--ss4-line); margin-top: 24px; }
.ss4-res-card { background: var(--ss4-paper); min-height: 170px; padding: 24px; transition: background .15s ease; }
.ss4-res-card:hover { background: var(--ss4-paper-dim); }
.ss4-res-card h4 { font-size: 19px; line-height: 1.15; }
.ss4-res-card p { color: var(--ss4-ink-soft); font-size: 14px; line-height: 1.5; margin: 12px 0 18px; }
.ss4-res-link { font-family: var(--ss4-mono); font-size: 12px; color: var(--ss4-sienna); }
.ss4-quiz-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 46px; }
.ss4-quiz-card { background: var(--ss4-ink); color: var(--ss4-cream); padding: 26px; border-radius: 4px; min-height: 190px; display: flex; flex-direction: column; justify-content: space-between; }
.ss4-quiz-card h4 { font-size: 24px; line-height: 1.12; margin-top: 18px; }
.ss4-contact { background: var(--ss4-ink); color: var(--ss4-cream); }
.ss4-contact .eyebrow { color: var(--ss4-marigold); }
.ss4-contact .wpcf7-form { display: grid; gap: 16px; }
.ss4-contact input,.ss4-contact textarea { width: 100%; background: rgba(255,255,255,.08); border: 1px solid rgba(247,243,236,.25); color: #fff; padding: 14px 16px; border-radius: 2px; font-family: var(--ss4-sans); }
.ss4-contact .wpcf7-submit { background: var(--ss4-sienna); border-color: var(--ss4-sienna); font-weight: 700; cursor: pointer; }
.ss4-contact-info { display: grid; gap: 20px; }
.ss4-contact-info .line { border-bottom: 1px solid rgba(247,243,236,.18); padding-bottom: 18px; }
.ss4-contact-info .lbl { font-family: var(--ss4-mono); color: var(--ss4-marigold); font-size: 12px; }
.ss4-contact-info .val { font-family: var(--ss4-serif); font-size: 24px; margin-top: 7px; color: var(--ss4-cream); }
@media (max-width: 980px) {
  .ss4-hero .wrap,.ss4-gift .wrap,.ss4-about .wrap,.ss4-contact .wrap { grid-template-columns: 1fr; }
  .ss4-hero-photo { order: -1; max-width: 420px; }
  .ss4-hero-stats,.ss4-feature-strip .wrap,.ss4-steps-grid,.ss4-res-grid,.ss4-quiz-strip { grid-template-columns: repeat(2,1fr); }
  .ss4-ledger-row { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 640px) {
  .ss4-home section { padding: 70px 0; }
  .ss4-home .wrap { padding: 0 22px; }
  .ss4-hero { padding-top: 42px !important; }
  .ss4-hero h1 { font-size: 40px; }
  .ss4-hero-stats,.ss4-feature-strip .wrap,.ss4-steps-grid,.ss4-res-grid,.ss4-quiz-strip { grid-template-columns: 1fr; }
  .ss4-level-row { grid-template-columns: 54px 1fr; }
  .ss4-level-toggle { grid-column: 2; justify-self: start; padding-bottom: 16px; }
  .ss4-level-detail p { margin-left: 54px; }
  .ss4-timetable { overflow-x: auto; grid-template-columns: 135px repeat(6,110px); }
}

/* ===================== Responsive ===================== */
@media (max-width: 1100px) {
  .ss3-menu,
  .ss3-root .e-con.ss3-menu,
  .ss3-root .e-con.ss3-menu > .e-con-inner { display: none !important; }
  .ss3-burger-label { display: inline-flex !important; }
  .ss3-hero-inner .ss3-split, .ss3-split { grid-template-columns: 1fr; }
  .ss3-root .e-con.ss3-split > .e-con-inner,
  .ss3-root .e-con.ss3-split-even > .e-con-inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .ss3-pad { padding-left: 20px; padding-right: 20px; }
  .ss3-root .e-con.ss3-pad { padding-left: 20px; padding-right: 20px; --padding-left: 20px; --padding-right: 20px; }
  .ss3-split, .ss3-split-even, .ss3-pillars, .ss3-stat-grid { grid-template-columns: 1fr !important; }
  .ss3-root .e-con.ss3-pillars > .e-con-inner,
  .ss3-root .e-con.ss3-stat-grid > .e-con-inner { grid-template-columns: 1fr; }
  .ss3-section { padding-top: 60px; padding-bottom: 60px; }
  .ss3-pillar { border-left: none; border-top: 1px solid var(--ss3-line); }
  .ss3-topbar .elementor-widget-container { padding-left: 20px; padding-right: 20px; font-size: 11px; line-height: 1.45; }
  .ss3-topbar .elementor-widget-container span:first-child { gap: 8px; }
  .ss3-hero-title .elementor-heading-title { font-size: clamp(42px, 14vw, 58px); }
  .ss3-clients .elementor-widget-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ss3-video-grid, .ss3-photo-strip { grid-template-columns: 1fr; }
  .ss3-root .e-con.ss3-reviews-with-video,
  .ss3-root .e-con.ss3-reviews-with-video > .e-con-inner,
  .ss3-root .e-con.ss3-photo-strip,
  .ss3-root .e-con.ss3-photo-strip > .e-con-inner { grid-template-columns: 1fr; }
  .ss3-review-video { position: static; }
}

@media (max-width: 480px) {
  .ss3-root { max-width: 100vw; overflow-x: hidden; }
  .ss3-topbar .elementor-widget-container { display: block; overflow-wrap: anywhere; }
  .ss3-brand-text strong { font-size: 18px; }
  .ss3-brand-text span { font-size: 8px; letter-spacing: .16em; }
  .ss3-hero-inner { padding-top: 56px; padding-bottom: 64px; }
  .ss3-hero-title .elementor-heading-title { font-size: 34px; line-height: 1.04; overflow-wrap: normal; }
  .ss3-hero-copy .elementor-widget-container { max-width: 100%; font-size: 15.5px; }
  .ss3-root .e-con.ss3-stat-grid,
  .ss3-root .e-con.ss3-stat-grid > .e-con-inner { width: 100%; max-width: 100%; min-width: 0; }
  .ss3-hero-figure { min-height: 280px; aspect-ratio: 4 / 3; }
  .ss3-clients-title .elementor-heading-title { margin-top: 38px; font-size: 27px; }
  .ss3-clients .elementor-widget-container { grid-template-columns: 1fr; }
  .ss3-clients span { min-height: 48px; padding: 12px 14px; }
  .ss3-review-grid { grid-template-columns: 1fr; }
  .ss3-root .e-con.ss3-review-carousel,
  .ss3-root .e-con.ss3-review-carousel > .e-con-inner { grid-auto-columns: minmax(280px, 88%); }
  .ss3-link-grid { grid-template-columns: 1fr 1fr; }
}

/* Unique redesign for duplicate page: best-spanish-classes-in-chicago-elementor */
body.page-id-3849 .ss3-root {
  --ss3-bg: #f7f9fc;
  --ss3-surface: #eef6f5;
  --ss3-text: #14213d;
  --ss3-line: rgba(20, 33, 61, .16);
  --ss3-accent: #0f9f9a;
  --ss3-accent-700: #087571;
  --ss3-ink: #111827;
  --ss3-gold: #ff5a3d;
  --ss3-gold-deep: #d93e25;
  background:
    linear-gradient(90deg, rgba(15,159,154,.08) 1px, transparent 1px),
    linear-gradient(rgba(20,33,61,.06) 1px, transparent 1px),
    #f7f9fc;
  background-size: 64px 64px;
}
body.page-id-49 .ss3-root {
  --ss3-bg: #f7f9fc;
  --ss3-surface: #eef6f5;
  --ss3-text: #14213d;
  --ss3-line: rgba(20, 33, 61, .16);
  --ss3-accent: #0f9f9a;
  --ss3-accent-700: #087571;
  --ss3-ink: #111827;
  --ss3-gold: #ff5a3d;
  --ss3-gold-deep: #d93e25;
  background:
    linear-gradient(90deg, rgba(15,159,154,.08) 1px, transparent 1px),
    linear-gradient(rgba(20,33,61,.06) 1px, transparent 1px),
    #f7f9fc;
  background-size: 64px 64px;
}
body.page-id-3849 .ss3-root h1,
body.page-id-3849 .ss3-root h2,
body.page-id-3849 .ss3-root h3,
body.page-id-3849 .ss3-root .elementor-heading-title,
body.page-id-49 .ss3-root h1,
body.page-id-49 .ss3-root h2,
body.page-id-49 .ss3-root h3,
body.page-id-49 .ss3-root .elementor-heading-title {
  font-family: "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 0;
}
body.page-id-3849 .ss3-topbar,
body.page-id-49 .ss3-topbar {
  background: #0f9f9a;
  color: rgba(255,255,255,.86);
}
body.page-id-3849 .ss3-topbar .gold,
body.page-id-49 .ss3-topbar .gold { color: #fff04a; }
body.page-id-3849 .ss3-header,
body.page-id-49 .ss3-header {
  position: sticky;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(20,33,61,.14);
  box-shadow: 0 14px 36px rgba(20,33,61,.08);
}
body.page-id-3849 .ss3-brand-mark,
body.page-id-49 .ss3-brand-mark {
  background: #ff5a3d;
  color: #fff;
  border-radius: 8px;
  transform: rotate(-4deg);
}
body.page-id-3849 .ss3-menu a,
body.page-id-49 .ss3-menu a { color: #14213d; }
body.page-id-3849 .ss3-btn .elementor-button,
body.page-id-49 .ss3-btn .elementor-button {
  min-height: 54px;
  border-radius: 8px;
  border: 0;
  box-shadow: 0 12px 28px rgba(20,33,61,.12);
}
body.page-id-3849 .ss3-btn-primary .elementor-button,
body.page-id-49 .ss3-btn-primary .elementor-button {
  background: #14213d !important;
  color: #fff !important;
}
body.page-id-3849 .ss3-btn-gold .elementor-button,
body.page-id-49 .ss3-btn-gold .elementor-button {
  background: #ff5a3d !important;
  color: #fff !important;
}
body.page-id-3849 .ss3-btn-secondary .elementor-button,
body.page-id-49 .ss3-btn-secondary .elementor-button {
  background: #fff !important;
  color: #14213d !important;
  border: 1px solid rgba(20,33,61,.18);
}
body.page-id-3849 .ss3-hero,
body.page-id-49 .ss3-hero {
  background:
    radial-gradient(circle at 82% 12%, rgba(255,90,61,.34), transparent 26%),
    radial-gradient(circle at 10% 80%, rgba(15,159,154,.28), transparent 28%),
    linear-gradient(135deg, #14213d 0%, #111827 52%, #0b3b4a 100%);
}
body.page-id-3849 .ss3-hero::before,
body.page-id-49 .ss3-hero::before {
  background-image:
    linear-gradient(120deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(30deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 72px 72px;
}
body.page-id-3849 .ss3-hero-inner,
body.page-id-49 .ss3-hero-inner { padding-top: 70px; padding-bottom: 78px; }
body.page-id-3849 .ss3-hero-title .elementor-heading-title {
  font-size: clamp(52px, 6.4vw, 92px);
  line-height: .94;
  color: #fff;
}
body.page-id-49 .ss3-hero-title .elementor-heading-title {
  font-size: clamp(52px, 6.4vw, 92px);
  line-height: .94;
  color: #fff;
}
body.page-id-3849 .ss3-hero-copy .elementor-widget-container {
  color: rgba(255,255,255,.82);
  font-size: 18px;
}
body.page-id-49 .ss3-hero-copy .elementor-widget-container {
  color: rgba(255,255,255,.82);
  font-size: 18px;
}
body.page-id-3849 .ss3-hero-figure {
  border: 0 !important;
  border-radius: 8px;
  min-height: 520px;
  box-shadow: 22px 22px 0 #ff5a3d, -18px -18px 0 rgba(15,159,154,.55);
  transform: rotate(1.5deg);
}
body.page-id-3849 .ss3-hero-video-frame,
body.page-id-49 .ss3-hero-video-frame {
  border: 0 !important;
  border-radius: 8px;
  min-height: 520px;
  box-shadow: 22px 22px 0 #ff5a3d, -18px -18px 0 rgba(15,159,154,.55);
  transform: rotate(1.5deg);
  background: #080f22;
}
body.page-id-3849 .ss3-duotone::after,
body.page-id-49 .ss3-duotone::after {
  background: linear-gradient(135deg, rgba(15,159,154,.25), rgba(20,33,61,.55));
  mix-blend-mode: multiply;
}
body.page-id-3849 .ss3-stat-grid,
body.page-id-49 .ss3-stat-grid {
  background: transparent;
  border: 0;
  gap: 12px;
}
body.page-id-3849 .ss3-stat,
body.page-id-49 .ss3-stat {
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
}
body.page-id-3849 .ss3-stat .num,
body.page-id-49 .ss3-stat .num { color: #fff04a; }
body.page-id-3849 .ss3-gold-bar,
body.page-id-49 .ss3-gold-bar {
  height: 10px;
  background: linear-gradient(90deg, #ff5a3d, #fff04a, #0f9f9a);
}
body.page-id-3849 .ss3-surface,
body.page-id-49 .ss3-surface {
  background: #eef6f5;
  border-color: rgba(15,159,154,.22);
}
body.page-id-3849 .ss3-title .elementor-heading-title,
body.page-id-49 .ss3-title .elementor-heading-title {
  color: #14213d;
}
body.page-id-49 .ss3-dark .ss3-title .elementor-heading-title,
body.page-id-49 .ss3-dark h2.elementor-heading-title {
  color: #fff !important;
}
body.page-id-49 .ss3-dark .ss3-eyebrow .elementor-heading-title {
  color: #ff5a3d !important;
}
body.page-id-3849 .ss3-eyebrow .elementor-heading-title,
body.page-id-3849 .ss3-hero-kicker .elementor-widget-container span:last-child,
body.page-id-49 .ss3-eyebrow .elementor-heading-title,
body.page-id-49 .ss3-hero-kicker .elementor-widget-container span:last-child {
  color: #ff5a3d !important;
}
body.page-id-3849 .ss3-link-tile,
body.page-id-49 .ss3-link-tile {
  min-height: 74px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #14213d;
  box-shadow: 0 14px 30px rgba(20,33,61,.10);
  align-items: center;
  position: relative;
  overflow: hidden;
}
body.page-id-3849 .ss3-link-tile:nth-child(2n),
body.page-id-49 .ss3-link-tile:nth-child(2n) {
  background: #fff;
}
body.page-id-3849 .ss3-link-tile::before,
body.page-id-49 .ss3-link-tile::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, #ff5a3d, #0f9f9a);
}
body.page-id-3849 .ss3-link-tile::after,
body.page-id-49 .ss3-link-tile::after {
  content: ">";
  margin-left: auto;
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
}
body.page-id-3849 .ss3-link-tile a,
body.page-id-3849 .ss3-link-tile:nth-child(2n) a,
body.page-id-49 .ss3-link-tile a,
body.page-id-49 .ss3-link-tile:nth-child(2n) a {
  color: #14213d;
  font-size: 18px;
}
body.page-id-3849 .ss3-video-card,
body.page-id-3849 .ss3-review-card,
body.page-id-3849 .ss3-review-video,
body.page-id-3849 .ss3-price-card,
body.page-id-3849 .ss3-contact-form,
body.page-id-49 .ss3-video-card,
body.page-id-49 .ss3-review-card,
body.page-id-49 .ss3-review-video,
body.page-id-49 .ss3-price-card,
body.page-id-49 .ss3-contact-form {
  border: 0 !important;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
body.page-id-3849 .ss3-review-card {
  position: relative;
  overflow: hidden;
}
body.page-id-49 .ss3-review-card {
  position: relative;
  overflow: hidden;
}
body.page-id-3849 .ss3-review-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
body.page-id-49 .ss3-review-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
body.page-id-3849 .ss3-review-card .name,
body.page-id-49 .ss3-review-card .name { color: #ff5a3d; }
body.page-id-3849 .ss3-photo-strip img,
body.page-id-49 .ss3-photo-strip img {
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  filter: saturate(.9) contrast(1.05);
}
body.page-id-3849 .ss3-gift,
body.page-id-49 .ss3-gift {
  background:
    linear-gradient(135deg, rgba(255,240,74,.9), rgba(255,90,61,.86)),
    #fff04a;
}
body.page-id-3849 .ss3-contact-list dl,
body.page-id-49 .ss3-contact-list dl {
  border: 0;
  background: transparent;
  gap: 10px;
}
body.page-id-3849 .ss3-contact-list .row,
body.page-id-49 .ss3-contact-list .row {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(20,33,61,.08);
}

@media (max-width: 900px) {
  body.page-id-3849 .ss3-hero-figure {
    min-height: 360px;
    box-shadow: 10px 10px 0 #ff5a3d;
    transform: none;
  }
  body.page-id-3849 .ss3-hero-video-frame,
  body.page-id-3849 .ss3-hero-video-frame video,
  body.page-id-49 .ss3-hero-video-frame,
  body.page-id-49 .ss3-hero-video-frame video {
    min-height: 300px;
    box-shadow: 10px 10px 0 #ff5a3d;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ss3-btn .elementor-button { transition: none; }
}

/* Spanish duplicate page: reusable version of the Best Spanish/About visual system */
.ss3-spanish-page {
  --ss3-bg: #f7f9fc;
  --ss3-surface: #eef6f5;
  --ss3-text: #14213d;
  --ss3-line: rgba(20, 33, 61, .16);
  --ss3-accent: #0f9f9a;
  --ss3-accent-700: #087571;
  --ss3-ink: #111827;
  --ss3-gold: #ff5a3d;
  --ss3-gold-deep: #d93e25;
  background:
    linear-gradient(90deg, rgba(15,159,154,.08) 1px, transparent 1px),
    linear-gradient(rgba(20,33,61,.06) 1px, transparent 1px),
    #f7f9fc;
  background-size: 64px 64px;
}
.ss3-spanish-page h1,
.ss3-spanish-page h2,
.ss3-spanish-page h3,
.ss3-spanish-page .elementor-heading-title {
  font-family: "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 0;
}
.ss3-spanish-page .ss3-topbar {
  background: #0f9f9a;
  color: rgba(255,255,255,.86);
}
.ss3-spanish-page .ss3-topbar .elementor-widget-container {
  color: rgba(255,255,255,.88) !important;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.ss3-spanish-page .ss3-topbar .elementor-widget-container > span:first-child {
  display: inline-flex;
  gap: 18px;
}
.ss3-spanish-page .ss3-topbar .gold { color: #fff04a; }
.ss3-spanish-page .ss3-header {
  position: sticky;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(20,33,61,.14);
  box-shadow: 0 14px 36px rgba(20,33,61,.08);
}
.ss3-spanish-page .ss3-brand-mark {
  background: #ff5a3d;
  color: #fff;
  border-radius: 8px;
  transform: rotate(-4deg);
}
.ss3-spanish-page .ss3-menu a { color: #14213d; }
.ss3-spanish-page .ss3-btn .elementor-button {
  min-height: 54px;
  border-radius: 8px;
  border: 0;
  box-shadow: 0 12px 28px rgba(20,33,61,.12);
}
.ss3-spanish-page .ss3-btn-primary .elementor-button { background: #14213d !important; color: #fff !important; }
.ss3-spanish-page .ss3-btn-gold .elementor-button { background: #ff5a3d !important; color: #fff !important; }
.ss3-spanish-page .ss3-btn-secondary .elementor-button {
  background: #fff !important;
  color: #14213d !important;
  border: 1px solid rgba(20,33,61,.18);
}
.ss3-spanish-page .ss3-hero {
  background:
    radial-gradient(circle at 82% 12%, rgba(255,90,61,.34), transparent 26%),
    radial-gradient(circle at 10% 80%, rgba(15,159,154,.28), transparent 28%),
    linear-gradient(135deg, #14213d 0%, #111827 52%, #0b3b4a 100%);
}
.ss3-spanish-page .ss3-hero::before {
  background-image:
    linear-gradient(120deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(30deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 72px 72px;
}
.ss3-spanish-page .ss3-hero-inner { padding-top: 70px; padding-bottom: 78px; }
.ss3-spanish-page .ss3-hero-title .elementor-heading-title {
  font-size: clamp(52px, 6.4vw, 92px);
  line-height: .94;
  color: #fff;
}
.ss3-spanish-page .ss3-hero-copy .elementor-widget-container {
  color: rgba(255,255,255,.82);
  font-size: 18px;
}
.ss3-spanish-page .ss3-hero-video-frame {
  border: 0 !important;
  border-radius: 8px;
  min-height: 520px;
  box-shadow: 22px 22px 0 #ff5a3d, -18px -18px 0 rgba(15,159,154,.55);
  transform: rotate(1.5deg);
  background: #080f22;
}
.ss3-spanish-page .ss3-hero-video-frame video {
  width: 100%;
  min-height: 520px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.ss3-spanish-page .ss3-duotone::after {
  background: linear-gradient(135deg, rgba(15,159,154,.25), rgba(20,33,61,.55));
  mix-blend-mode: multiply;
}
.ss3-spanish-page .ss3-about-image {
  min-height: 520px;
  overflow: hidden;
  background: #111827;
}
.ss3-spanish-page .ss3-about-image .elementor-widget-image,
.ss3-spanish-page .ss3-about-image .elementor-widget-container {
  height: 100%;
}
.ss3-spanish-page .ss3-about-image img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}
.ss3-spanish-page .ss3-stat-grid { background: transparent; border: 0; gap: 12px; }
.ss3-spanish-page .ss3-stat {
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
}
.ss3-spanish-page .ss3-stat .num { color: #fff04a; }
.ss3-spanish-page .ss3-gold-bar {
  height: 10px;
  background: linear-gradient(90deg, #ff5a3d, #fff04a, #0f9f9a);
}
.ss3-spanish-page .ss3-surface {
  background: #eef6f5;
  border-color: rgba(15,159,154,.22);
}
.ss3-spanish-page .ss3-title .elementor-heading-title { color: #14213d; }
.ss3-spanish-page .ss3-dark .ss3-title .elementor-heading-title,
.ss3-spanish-page .ss3-dark h2.elementor-heading-title { color: #fff !important; }
.ss3-spanish-page .ss3-dark .ss3-eyebrow .elementor-heading-title,
.ss3-spanish-page .ss3-eyebrow .elementor-heading-title,
.ss3-spanish-page .ss3-hero-kicker .elementor-widget-container span:last-child {
  color: #ff5a3d !important;
}
.ss3-spanish-page .ss3-link-tile {
  min-height: 74px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #14213d;
  box-shadow: 0 14px 30px rgba(20,33,61,.10);
  align-items: center;
  position: relative;
  overflow: hidden;
}
.ss3-spanish-page .ss3-link-tile:nth-child(2n) { background: #fff; }
.ss3-spanish-page .ss3-link-tile::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, #ff5a3d, #0f9f9a);
}
.ss3-spanish-page .ss3-link-tile::after {
  content: ">";
  margin-left: auto;
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
}
.ss3-spanish-page .ss3-link-tile a,
.ss3-spanish-page .ss3-link-tile:nth-child(2n) a {
  color: #14213d;
  font-size: 18px;
}
.ss3-spanish-page .ss3-video-card,
.ss3-spanish-page .ss3-review-card,
.ss3-spanish-page .ss3-review-video,
.ss3-spanish-page .ss3-price-card,
.ss3-spanish-page .ss3-contact-form,
.ss3-spanish-page .ss3-offer-media {
  border: 0 !important;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-spanish-page .ss3-review-card {
  position: relative;
  overflow: hidden;
}
.ss3-spanish-page .ss3-review-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
.ss3-spanish-page .ss3-review-card .name { color: #ff5a3d; }
.ss3-spanish-page .ss3-list-copy ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.ss3-spanish-page .ss3-list-copy li {
  position: relative;
  padding-left: 22px;
}
.ss3-spanish-page .ss3-list-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5a3d, #0f9f9a);
}
.ss3-spanish-page .ss3-offer-media {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 16px;
  align-items: center;
}
.ss3-spanish-page .ss3-offer-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}
.ss3-spanish-page .ss3-photo-strip img {
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  filter: saturate(.9) contrast(1.05);
}
.ss3-spanish-page .ss3-gift {
  background:
    linear-gradient(135deg, rgba(255,240,74,.9), rgba(255,90,61,.86)),
    #fff04a;
}
.ss3-spanish-page .ss3-contact-list dl {
  border: 0;
  background: transparent;
  gap: 10px;
}
.ss3-spanish-page .ss3-contact-list .row {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(20,33,61,.08);
}

@media (max-width: 900px) {
  .ss3-spanish-page .ss3-hero-video-frame,
  .ss3-spanish-page .ss3-hero-video-frame video {
    min-height: 300px;
    box-shadow: 10px 10px 0 #ff5a3d;
    transform: none;
  }
  .ss3-spanish-page .ss3-offer-media { grid-template-columns: 1fr; }
  .ss3-spanish-page .ss3-topbar .elementor-widget-container,
  .ss3-spanish-page .ss3-topbar .elementor-widget-container > span:first-child {
    display: grid;
    gap: 6px;
  }
}

/* Spanish schedule Elementor duplicate */
.ss3-schedule-page .ss3-schedule-note .elementor-widget-container {
  max-width: 760px;
  padding: 20px 24px;
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.84);
}
.ss3-schedule-page .ss3-schedule-table-grid,
.ss3-schedule-page .e-con.ss3-schedule-table-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 22px;
}
.ss3-schedule-page .ss3-schedule-card {
  padding: 26px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  border: 1px solid rgba(20,33,61,.08);
  overflow: hidden;
}
.ss3-schedule-page .ss3-schedule-card h3 {
  margin: 0 0 10px;
  color: #14213d;
  font-size: 30px;
  line-height: 1;
}
.ss3-schedule-page .ss3-schedule-card a {
  color: #ff5a3d;
  font-weight: 700;
}
.ss3-schedule-page .ss3-schedule-card .elementor-shortcode {
  margin-top: 18px;
  overflow-x: auto;
}
.ss3-schedule-page .ss3-schedule-card table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: #14213d;
}
.ss3-schedule-page .ss3-schedule-card th,
.ss3-schedule-page .ss3-schedule-card td {
  padding: 12px 14px;
  border: 1px solid rgba(20,33,61,.14);
  vertical-align: top;
  font-size: 14px;
}
.ss3-schedule-page .ss3-schedule-card th {
  background: #eef6f5;
  color: #14213d;
  font-weight: 700;
}
.ss3-schedule-page .ss3-schedule-extra-grid,
.ss3-schedule-page .e-con.ss3-schedule-extra-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.ss3-schedule-page .ss3-schedule-extra-card {
  padding: 24px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-schedule-page .ss3-schedule-extra-card .elementor-shortcode {
  overflow-x: auto;
}
.ss3-schedule-page .ss3-schedule-media-grid,
.ss3-schedule-page .e-con.ss3-schedule-media-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ss3-schedule-page .ss3-schedule-media {
  padding: 14px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-schedule-page .ss3-schedule-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .ss3-schedule-page .ss3-schedule-extra-grid,
  .ss3-schedule-page .e-con.ss3-schedule-extra-grid > .e-con-inner,
  .ss3-schedule-page .ss3-schedule-media-grid,
  .ss3-schedule-page .e-con.ss3-schedule-media-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
}

/* Description of Levels Elementor duplicate */
.ss3-level-description-page .ss3-level-nav,
.ss3-level-description-page .e-con.ss3-level-nav > .e-con-inner {
  width: 100% !important;
  display: block !important;
  gap: 12px;
}
.ss3-level-description-page .ss3-level-nav .elementor-widget-html,
.ss3-level-description-page .ss3-level-nav .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
}
.ss3-level-description-page .ss3-level-nav .elementor-widget-html {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  overflow-x: auto;
  padding: 8px 4px 18px;
}
.ss3-level-description-page .ss3-level-nav .elementor-widget-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch;
  justify-content: flex-start;
  gap: 4px !important;
  overflow-x: auto;
  padding: 8px 4px 18px;
}
.ss3-level-description-page .ss3-level-nav a {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 11px 14px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: #14213d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(20,33,61,.10);
  white-space: nowrap;
}
.ss3-level-description-page .ss3-level-card {
  padding: 30px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  border: 1px solid rgba(20,33,61,.08);
  position: relative;
  overflow: hidden;
}
.ss3-level-description-page .ss3-level-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
.ss3-level-description-page .ss3-level-card h3 {
  margin: 0 0 12px;
  color: #14213d;
  font-size: 36px;
  line-height: 1;
}
.ss3-level-description-page .ss3-level-card p {
  margin: 0;
  color: rgba(20,33,61,.76);
  font-size: 16px;
  line-height: 1.75;
}
.ss3-level-description-page .ss3-level-card + .ss3-level-card { margin-top: 20px; }
.ss3-level-description-page .ss3-level-art-grid,
.ss3-level-description-page .e-con.ss3-level-art-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ss3-level-description-page .ss3-level-art {
  padding: 14px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-level-description-page .ss3-level-art img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .ss3-level-description-page .ss3-level-art-grid,
  .ss3-level-description-page .e-con.ss3-level-art-grid > .e-con-inner {
    grid-template-columns: 1fr 1fr;
  }
  .ss3-level-description-page .ss3-level-nav .elementor-widget-container {
    display: flex !important;
    flex-direction: row !important;
  }
  .ss3-level-description-page .ss3-level-nav .elementor-widget-html {
    display: flex !important;
    flex-direction: row !important;
  }
}

@media (max-width: 520px) {
  .ss3-level-description-page .ss3-level-art-grid,
  .ss3-level-description-page .e-con.ss3-level-art-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .ss3-level-description-page .ss3-level-nav a {
    flex-basis: auto;
  }
}

/* Pricing Elementor duplicate */
.ss3-pricing-page .ss3-rate-grid,
.ss3-pricing-page .e-con.ss3-rate-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.ss3-pricing-page .ss3-price-model,
.ss3-pricing-page .e-con.ss3-price-model > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(320px, .95fr) minmax(360px, 1.45fr);
  gap: 22px;
  align-items: stretch;
}
.ss3-pricing-page .ss3-rate-stack,
.ss3-pricing-page .e-con.ss3-rate-stack > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.ss3-pricing-page .ss3-rate-card {
  min-height: 230px;
  padding: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  position: relative;
  overflow: hidden;
}
.ss3-pricing-page .ss3-rate-featured {
  min-height: 100%;
  padding: 34px;
  background:
    linear-gradient(135deg, rgba(20,33,61,.98), rgba(11,59,74,.96)),
    #14213d;
  color: #fff;
}
.ss3-pricing-page .ss3-rate-featured h3,
.ss3-pricing-page .ss3-rate-featured p,
.ss3-pricing-page .ss3-rate-featured li {
  color: rgba(255,255,255,.88) !important;
}
.ss3-pricing-page .ss3-rate-featured h3 {
  color: #fff !important;
  font-size: 42px;
}
.ss3-pricing-page .ss3-rate-featured .elementor-widget-container,
.ss3-pricing-page .ss3-rate-featured .elementor-widget-container p,
.ss3-pricing-page .ss3-rate-featured .elementor-widget-container li {
  color: rgba(255,255,255,.88) !important;
}
.ss3-pricing-page .ss3-rate-featured .elementor-widget-container h3 {
  color: #fff !important;
}
.ss3-pricing-page .ss3-rate-featured .price {
  color: #ff5a3d !important;
  font-size: 78px;
  text-shadow: 0 2px 18px rgba(255,90,61,.22);
}
.ss3-pricing-page .ss3-rate-compact {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.ss3-pricing-page .ss3-pricing-badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,90,61,.12);
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.ss3-pricing-page .ss3-rate-featured .ss3-pricing-badge {
  background: rgba(255,255,255,.12);
  color: #fff04a;
}
.ss3-pricing-page .ss3-rate-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
.ss3-pricing-page .ss3-rate-card h3 {
  margin: 0 0 12px;
  color: #14213d;
  font-size: 32px;
  line-height: 1;
}
.ss3-pricing-page .ss3-rate-card .price {
  margin: 0 0 10px;
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 54px;
  font-weight: 700;
  line-height: .95;
}
.ss3-pricing-page .ss3-rate-card p,
.ss3-pricing-page .ss3-rate-card li {
  color: rgba(20,33,61,.74);
  font-size: 15px;
  line-height: 1.65;
}
.ss3-pricing-page .ss3-rate-card ul {
  margin: 14px 0 0;
  padding-left: 18px;
}
.ss3-pricing-page .ss3-pricing-policy {
  padding: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-pricing-page .ss3-pricing-policy ul {
  margin: 0;
  padding-left: 18px;
}
.ss3-pricing-page .ss3-pricing-policy li {
  margin-bottom: 10px;
  color: rgba(20,33,61,.76);
  line-height: 1.7;
}
.ss3-pricing-page .ss3-payment-steps {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}
.ss3-pricing-page .ss3-payment-steps div {
  display: grid;
  grid-template-columns: 54px 1fr;
  column-gap: 16px;
  padding: 16px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(20,33,61,.07);
}
.ss3-pricing-page .ss3-payment-steps span {
  grid-row: span 2;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #ff5a3d;
  color: #fff;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
}
.ss3-pricing-page .ss3-payment-steps strong {
  color: #14213d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 22px;
  line-height: 1;
}
.ss3-pricing-page .ss3-payment-steps p {
  margin: 6px 0 0;
  color: rgba(20,33,61,.72);
  line-height: 1.55;
}
.ss3-pricing-page .ss3-special-offer {
  padding: 30px;
  border-radius: 8px;
  background: #14213d;
  color: #fff;
  box-shadow: 0 18px 46px rgba(20,33,61,.18);
}
.ss3-pricing-page .ss3-special-offer h3,
.ss3-pricing-page .ss3-special-offer p {
  color: #fff;
}
.ss3-pricing-page .ss3-special-offer strong {
  color: #fff04a;
}
.ss3-pricing-page .ss3-pricing-media-grid,
.ss3-pricing-page .e-con.ss3-pricing-media-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ss3-pricing-page .ss3-pricing-media {
  padding: 14px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-pricing-page .ss3-pricing-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .ss3-pricing-page .ss3-rate-grid,
  .ss3-pricing-page .e-con.ss3-rate-grid > .e-con-inner,
  .ss3-pricing-page .ss3-price-model,
  .ss3-pricing-page .e-con.ss3-price-model > .e-con-inner,
  .ss3-pricing-page .ss3-rate-stack,
  .ss3-pricing-page .e-con.ss3-rate-stack > .e-con-inner,
  .ss3-pricing-page .ss3-pricing-media-grid,
  .ss3-pricing-page .e-con.ss3-pricing-media-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .ss3-pricing-page .ss3-rate-featured .price { font-size: 58px; }
}

/* Resources and Exercises Elementor duplicate */
.ss3-resources-page .ss3-resource-grid,
.ss3-resources-page .e-con.ss3-resource-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.ss3-resources-page .ss3-resource-card {
  min-height: 310px;
  padding: 0;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  overflow: hidden;
  position: relative;
}
.ss3-resources-page .ss3-resource-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
  z-index: 2;
}
.ss3-resources-page .ss3-resource-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.ss3-resources-page .ss3-resource-card .elementor-widget-text-editor {
  padding: 24px 28px 4px;
}
.ss3-resources-page .ss3-resource-card h3 {
  margin: 0 0 10px;
  color: #14213d;
  font-size: 34px;
  line-height: 1;
}
.ss3-resources-page .ss3-resource-card p {
  margin: 0;
  color: rgba(20,33,61,.72);
  font-size: 15px;
  line-height: 1.65;
}
.ss3-resources-page .ss3-resource-card .elementor-widget-button {
  padding: 0 28px 28px;
}
.ss3-resources-page .ss3-early-bird {
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-resources-page .ss3-early-bird img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}
.ss3-resources-page .ss3-original-button-grid,
.ss3-resources-page .e-con.ss3-original-button-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.ss3-resources-page .ss3-original-button {
  padding: 12px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
}
.ss3-resources-page .ss3-original-button img {
  width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .ss3-resources-page .ss3-resource-grid,
  .ss3-resources-page .e-con.ss3-resource-grid > .e-con-inner,
  .ss3-resources-page .ss3-original-button-grid,
  .ss3-resources-page .e-con.ss3-original-button-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .ss3-resources-page .ss3-early-bird img { min-height: 280px; }
}

/* Gift Certificates Elementor duplicate */
.ss3-gift-page .ss3-gift-hero-card {
  padding: 16px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 22px 22px 0 #ff5a3d, -18px -18px 0 rgba(15,159,154,.55);
  transform: rotate(1.5deg);
}
.ss3-gift-page .ss3-gift-hero-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
}
.ss3-gift-page .ss3-gift-purchase-card {
  padding: 34px;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  position: relative;
  overflow: hidden;
}
.ss3-gift-page .ss3-gift-purchase-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
}
.ss3-gift-page .ss3-gift-purchase-card h3 {
  margin: 0 0 18px;
  color: #14213d;
  font-size: 38px;
  line-height: 1;
}
.ss3-gift-page .ss3-gift-purchase-card p {
  color: rgba(20,33,61,.76);
  font-size: 17px;
  line-height: 1.7;
}
.ss3-gift-page .ss3-gift-contact-grid,
.ss3-gift-page .e-con.ss3-gift-contact-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.ss3-gift-page .ss3-gift-contact-box {
  padding: 22px;
  border-radius: 8px;
  background: #eef6f5;
}
.ss3-gift-page .ss3-gift-contact-box span {
  display: block;
  margin-bottom: 8px;
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.ss3-gift-page .ss3-gift-contact-box strong,
.ss3-gift-page .ss3-gift-contact-box a {
  color: #14213d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
}

@media (max-width: 900px) {
  .ss3-gift-page .ss3-gift-hero-card {
    transform: none;
    box-shadow: 10px 10px 0 #ff5a3d;
  }
  .ss3-gift-page .ss3-gift-contact-grid,
  .ss3-gift-page .e-con.ss3-gift-contact-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
}

/* Beginners resources Elementor duplicate */
.ss3-beginners-page .ss3-basics-index,
.ss3-beginners-page .e-con.ss3-basics-index > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ss3-beginners-page .ss3-basics-index {
  display: block !important;
  width: 100% !important;
}
.ss3-beginners-page .ss3-basics-index > .elementor-widget-html,
.ss3-beginners-page .ss3-basics-index .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ss3-beginners-page .ss3-basics-index a {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: #14213d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(20,33,61,.10);
}
.ss3-beginners-page .ss3-course-grid,
.ss3-beginners-page .e-con.ss3-course-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ss3-beginners-page .ss3-course-grid {
  display: block !important;
  width: 100% !important;
}
.ss3-beginners-page .ss3-course-grid > .elementor-widget-html,
.ss3-beginners-page .ss3-course-grid .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.ss3-beginners-page .ss3-course-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 46px rgba(20,33,61,.10);
  overflow: hidden;
  position: relative;
}
.ss3-beginners-page .ss3-course-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(#ff5a3d, #0f9f9a);
  z-index: 2;
}
.ss3-beginners-page .ss3-course-card img {
  width: 100%;
  display: block;
  background: #eef6f5;
}
.ss3-beginners-page .ss3-course-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 22px 22px;
}
.ss3-beginners-page .ss3-course-type {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,90,61,.12);
  color: #ff5a3d;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.ss3-beginners-page .ss3-course-card h3 {
  margin: 0;
  color: #14213d;
  font-size: 24px;
  line-height: 1.05;
}
.ss3-beginners-page .ss3-course-card p {
  margin: 0;
  color: rgba(20,33,61,.7);
  font-size: 14px;
  line-height: 1.55;
}
.ss3-beginners-page .ss3-course-card .ss3-course-link {
  margin-top: auto;
  color: #0f9f9a;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
}
.ss3-beginners-page .ss3-course-card-static {
  cursor: default;
}
.ss3-beginners-page .ss3-course-card-static .ss3-course-link {
  color: rgba(20,33,61,.46);
}
.ss3-beginners-page .ss3-course-section {
  padding-top: 72px;
  padding-bottom: 72px;
}
.ss3-beginners-page .ss3-course-section:nth-child(2n) {
  background: #eef6f5;
}

@media (max-width: 1000px) {
  .ss3-beginners-page .ss3-course-grid,
  .ss3-beginners-page .e-con.ss3-course-grid > .e-con-inner,
  .ss3-beginners-page .ss3-course-grid > .elementor-widget-html,
  .ss3-beginners-page .ss3-course-grid .elementor-widget-container,
  .ss3-beginners-page .ss3-basics-index,
  .ss3-beginners-page .e-con.ss3-basics-index > .e-con-inner,
  .ss3-beginners-page .ss3-basics-index > .elementor-widget-html,
  .ss3-beginners-page .ss3-basics-index .elementor-widget-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .ss3-beginners-page .ss3-course-grid,
  .ss3-beginners-page .e-con.ss3-course-grid > .e-con-inner,
  .ss3-beginners-page .ss3-course-grid > .elementor-widget-html,
  .ss3-beginners-page .ss3-course-grid .elementor-widget-container,
  .ss3-beginners-page .ss3-basics-index,
  .ss3-beginners-page .e-con.ss3-basics-index > .e-con-inner,
  .ss3-beginners-page .ss3-basics-index > .elementor-widget-html,
  .ss3-beginners-page .ss3-basics-index .elementor-widget-container {
    grid-template-columns: 1fr;
  }
}

/* Home v4 readability polish */
body.page-id-3843 .ss4-home {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body.page-id-3843 .ss4-hero .lede,
body.page-id-3843 .ss4-schedule .ss4-section-head p,
body.page-id-3843 .ss4-note-line,
body.page-id-3843 .ss4-step p {
  color: #eee8ff;
}

body.page-id-3843 .ss4-hero-stats .label,
body.page-id-3843 .ss4-timetable .sub {
  color: #ded6f2;
}

body.page-id-3843 .ss4-feature-strip p,
body.page-id-3843 .ss4-section-head p,
body.page-id-3843 .ss4-level-detail p,
body.page-id-3843 .ss4-ledger-points,
body.page-id-3843 .ss4-ledger-price .per,
body.page-id-3843 .ss4-gift p,
body.page-id-3843 .ss4-about p,
body.page-id-3843 .ss4-res-card p {
  color: #3d3350;
}

body.page-id-3843 .ss4-contact {
  background:
    linear-gradient(135deg, rgba(230,163,57,.08), transparent 38%),
    #1E1230;
}

body.page-id-3843 .ss4-contact .wrap {
  align-items: start;
}

body.page-id-3843 .ss4-contact .wpcf7 {
  width: 100%;
  padding: 30px;
  border: 1px solid rgba(247,243,236,.22);
  border-radius: 8px;
  background: rgba(247,243,236,.08);
  box-shadow: 0 28px 60px -38px rgba(0,0,0,.7);
}

body.page-id-3843 .ss4-contact .wpcf7-form {
  display: grid;
  gap: 14px;
}

body.page-id-3843 .ss4-contact .wpcf7-form p {
  margin: 0;
}

body.page-id-3843 .ss4-contact .wpcf7-form label {
  display: grid;
  gap: 8px;
  color: #f7f3ec;
  font-family: var(--ss4-mono);
  font-size: 12px;
  line-height: 1.4;
}

body.page-id-3843 .ss4-contact input,
body.page-id-3843 .ss4-contact textarea,
body.page-id-3843 .ss4-contact select {
  min-height: 52px;
  width: 100%;
  background: #fffaf1;
  border: 1px solid rgba(247,243,236,.48);
  color: #1E1230;
  padding: 14px 16px;
  border-radius: 5px;
  font-family: var(--ss4-sans);
  font-size: 15px;
  outline: none;
  box-shadow: none;
}

body.page-id-3843 .ss4-contact textarea {
  min-height: 132px;
  resize: vertical;
}

body.page-id-3843 .ss4-contact input::placeholder,
body.page-id-3843 .ss4-contact textarea::placeholder {
  color: #746985;
  opacity: 1;
}

body.page-id-3843 .ss4-contact input:focus,
body.page-id-3843 .ss4-contact textarea:focus,
body.page-id-3843 .ss4-contact select:focus {
  border-color: #E6A339;
  box-shadow: 0 0 0 3px rgba(230,163,57,.22);
}

body.page-id-3843 .ss4-contact .wpcf7-submit {
  min-height: 54px;
  background: #D6472B;
  border-color: #D6472B;
  color: #fffaf1;
  font-family: var(--ss4-mono);
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
}

body.page-id-3843 .ss4-contact .wpcf7-submit:hover {
  background: #E6A339;
  border-color: #E6A339;
  color: #1E1230;
}

body.page-id-3843 .ss4-contact .wpcf7-spinner {
  margin: 8px 0 0;
}

body.page-id-3843 .ss4-contact .wpcf7-not-valid-tip,
body.page-id-3843 .ss4-contact .wpcf7-response-output {
  color: #fffaf1;
  font-size: 13px;
}

body.page-id-3843 .ss4-contact .wpcf7-response-output {
  margin: 12px 0 0;
  border-color: #E6A339;
}

body.page-id-3843 .ss4-hero-photo {
  min-height: clamp(440px, 46vw, 620px);
}

body.page-id-3843 .ss4-hero-photo img,
body.page-id-3843 .ss4-hero-photo .elementor-widget-container img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center;
}

body.page-id-3843 .ss4-schedule .ss4-tab,
body.page-id-3843 .ss4-res-tabs .ss4-tab {
  background: #fffaf1;
  border-color: rgba(255,250,241,.78);
  color: #1E1230 !important;
  font-weight: 700;
}

body.page-id-3843 .ss4-schedule .ss4-tab.active,
body.page-id-3843 .ss4-schedule .ss4-tab:hover,
body.page-id-3843 .ss4-res-tabs .ss4-tab.active,
body.page-id-3843 .ss4-res-tabs .ss4-tab:hover {
  background: #E6A339;
  border-color: #E6A339;
  color: #1E1230 !important;
}

body.page-id-3843 .ss4-quiz-card,
body.page-id-3843 .ss4-quiz-card:visited,
body.page-id-3843 .ss4-quiz-card:hover,
body.page-id-3843 .ss4-quiz-card:focus {
  background: #1E1230;
  color: #fffaf1 !important;
}

body.page-id-3843 .ss4-quiz-card .tag {
  background: rgba(255,250,241,.18);
  color: #E6A339 !important;
  font-weight: 700;
}

body.page-id-3843 .ss4-quiz-card h4 {
  color: #E6A339 !important;
}

body.page-id-3843 .ss4-quiz-card .btn,
body.page-id-3843 .ss4-quiz-card .btn:visited,
body.page-id-3843 .ss4-quiz-card .btn:hover {
  border-color: rgba(255,250,241,.72);
  background: transparent;
  color: #fffaf1 !important;
  opacity: 1;
}

body.page-id-3843 .ss4-quiz-card:hover .btn {
  background: #fffaf1;
  color: #1E1230 !important;
}

@media (max-width: 700px) {
  body.page-id-3843 .ss4-contact .wpcf7 {
    padding: 22px;
  }

  body.page-id-3843 .ss4-hero-photo {
    min-height: 380px;
    aspect-ratio: 4 / 3;
  }
}

/* Spanish page v5 from supplied spanish-home.html design */
body.page-id-3862 .site-content,
body.page-id-3862 .entry-content,
body.page-id-3862 .elementor,
body.page-id-3862 .elementor-section-wrap {
  background: #F7F3EC;
}

.ss5-spanish {
  --ss5-ink: #1E1230;
  --ss5-ink-soft: #382A4C;
  --ss5-paper: #F7F3EC;
  --ss5-paper-dim: #E9F2EE;
  --ss5-line: #DCD3C2;
  --ss5-marigold: #E6A339;
  --ss5-sienna: #D6472B;
  --ss5-teal: #1F6F63;
  --ss5-teal-dark: #134039;
  --ss5-cream: #FBF8F2;
  --ss5-serif: "Fraunces", serif;
  --ss5-sans: "Public Sans", sans-serif;
  --ss5-mono: "JetBrains Mono", monospace;
  color: var(--ss5-ink);
  background: var(--ss5-paper);
  font-family: var(--ss5-sans);
  -webkit-font-smoothing: antialiased;
}

.ss5-spanish * { box-sizing: border-box; }
.ss5-spanish img, .ss5-spanish video { max-width: 100%; display: block; }
.ss5-spanish a { color: inherit; text-decoration: none; }
.ss5-spanish ul { margin: 0; padding: 0; list-style: none; }
.ss5-spanish section { padding: 100px 0; }
.ss5-spanish .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss5-spanish h1, .ss5-spanish h2, .ss5-spanish h3, .ss5-spanish h4 { font-family: var(--ss5-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss5-spanish .eyebrow { font-family: var(--ss5-mono); font-size: 13px; color: var(--ss5-sienna); letter-spacing: .02em; }
.ss5-spanish .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss5-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss5-spanish .btn:hover { transform: translateY(-2px); }
.ss5-spanish .btn-primary { background: var(--ss5-sienna); color: var(--ss5-cream); }
.ss5-spanish .btn-primary:hover { background: #B93A22; }
.ss5-spanish .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.62); color: var(--ss5-cream); }
.ss5-spanish .btn-outline-light:hover { background: var(--ss5-cream); color: var(--ss5-ink); }
.ss5-spanish .btn-outline { background: transparent; border-color: var(--ss5-ink); color: var(--ss5-ink); }
.ss5-spanish .btn-outline:hover { background: var(--ss5-ink); color: var(--ss5-cream); }
.ss5-spanish .btn-dark { background: var(--ss5-ink); color: var(--ss5-cream); }

.ss5-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss5-ink) 55%); color: var(--ss5-cream); padding: 92px 0 62px !important; overflow: hidden; }
.ss5-hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss5-hero-label { display: flex; align-items: center; gap: 12px; }
.ss5-hero-label .dash { width: 28px; height: 2px; background: var(--ss5-sienna); }
.ss5-hero .eyebrow { color: var(--ss5-marigold); }
.ss5-hero h1 { font-size: clamp(42px,5.4vw,66px); line-height: 1.02; margin-top: 20px; }
.ss5-hero .lede { font-size: 16.5px; line-height: 1.65; color: #EEE8FF; max-width: 48ch; margin-top: 20px; }
.ss5-hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss5-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss5-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss5-hero-stats .num { font-family: var(--ss5-mono); font-size: 19px; color: var(--ss5-marigold); font-weight: 700; }
.ss5-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss5-video-stack { position: relative; padding: 30px 30px 30px 0; }
.ss5-stack-panel { position: absolute; border-radius: 8px; }
.ss5-stack-panel.teal { background: var(--ss5-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss5-stack-panel.sienna { background: var(--ss5-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .85; }
.ss5-hero-video { position: relative; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: #0C0C10; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); }
.ss5-hero-video video, .ss5-hero-video img { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: .72; }
.ss5-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.ss5-play span { width: 64px; height: 64px; border-radius: 50%; background: rgba(247,243,236,.94); color: var(--ss5-ink); display: flex; align-items: center; justify-content: center; font-size: 22px; }
.ss5-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss5-sienna),var(--ss5-marigold),var(--ss5-teal)); }

.ss5-program .wrap, .ss5-actions .wrap, .ss5-offers .wrap, .ss5-enroll .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.ss5-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 17ch; }
.ss5-program .body, .ss5-path-card p, .ss5-res-card p, .ss5-info-row .val { color: var(--ss5-ink-soft); }
.ss5-program .body { font-size: 15.5px; line-height: 1.65; margin-top: 18px; max-width: 49ch; }
.ss5-check-list { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.ss5-check-list li { display: flex; gap: 12px; font-size: 15px; color: var(--ss5-ink-soft); align-items: flex-start; }
.ss5-check-list .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ss5-teal); margin-top: 7px; flex-shrink: 0; }
.ss5-program-photo { border-radius: 4px; overflow: hidden; aspect-ratio: 4/5; border: 2px solid var(--ss5-ink); }
.ss5-program-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

.ss5-learning { background: var(--ss5-paper-dim); }
.ss5-path-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 44px; }
.ss5-path-card { background: var(--ss5-paper); border: 1px solid var(--ss5-line); border-radius: 4px; padding: 30px; }
.ss5-path-tag { display: inline-block; font-family: var(--ss5-mono); font-size: 11px; padding: 4px 10px; border-radius: 2px; color: var(--ss5-cream); margin-bottom: 16px; background: var(--ss5-teal); }
.ss5-path-card:nth-child(2) .ss5-path-tag { background: var(--ss5-marigold); color: var(--ss5-ink); }
.ss5-path-card:nth-child(3) .ss5-path-tag { background: var(--ss5-sienna); }
.ss5-path-card h3 { font-size: 20px; }
.ss5-path-card p { font-size: 14.5px; margin-top: 12px; line-height: 1.6; }

.ss5-action-list { border: 1px solid var(--ss5-line); border-radius: 6px; overflow: hidden; background: var(--ss5-paper); }
.ss5-action-row { display: flex; justify-content: space-between; align-items: center; padding: 20px 26px; border-bottom: 1px solid var(--ss5-line); font-family: var(--ss5-mono); font-size: 13.5px; font-weight: 700; letter-spacing: .03em; transition: background .15s ease; }
.ss5-action-row:last-child { border-bottom: 0; }
.ss5-action-row:hover { background: var(--ss5-paper-dim); }
.ss5-action-row .arrow { color: var(--ss5-sienna); font-family: var(--ss5-sans); font-size: 18px; }
.ss5-action-row:nth-child(odd) { border-left: 4px solid var(--ss5-sienna); }
.ss5-action-row:nth-child(even) { border-left: 4px solid var(--ss5-teal); }

.ss5-offers { background: linear-gradient(120deg,var(--ss5-marigold) 0%,var(--ss5-sienna) 100%); color: var(--ss5-ink); }
.ss5-offers .eyebrow { color: var(--ss5-ink); opacity: .78; }
.ss5-offers h2 { color: var(--ss5-cream); }
.ss5-offers .italic-line { font-style: italic; font-size: 16px; margin-top: 20px; color: var(--ss5-cream); max-width: 48ch; line-height: 1.6; }
.ss5-offers .bold-line { font-weight: 700; font-size: 16px; margin-top: 18px; color: #1B1027; max-width: 44ch; line-height: 1.6; background: rgba(255,255,255,.38); padding: 16px 18px; border-radius: 4px; }
.ss5-offers .btn { margin-top: 26px; }
.ss5-offer-photos { display: flex; flex-direction: column; gap: 16px; }
.ss5-offer-photo-card { border-radius: 6px; overflow: hidden; position: relative; aspect-ratio: 16/9; box-shadow: 0 20px 40px -16px rgba(0,0,0,.4); background: #150C22; }
.ss5-offer-photo-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss5-offer-photo-card .cap { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(to top,rgba(20,10,30,.9),transparent); color: var(--ss5-cream); padding: 14px 18px; font-size: 14px; font-weight: 700; }

.ss5-review-banner { position: relative; margin-top: 44px; border-radius: 6px; overflow: hidden; aspect-ratio: 21/8; background: #0C0C10; }
.ss5-review-banner video, .ss5-review-banner img { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: .56; }
.ss5-review-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg,rgba(20,10,30,.88) 0%,rgba(20,10,30,.35) 55%,transparent 85%); pointer-events: none; }
.ss5-review-banner .ss5-play, .ss5-banner-cap { z-index: 2; }
.ss5-banner-cap { position: absolute; left: 0; bottom: 0; padding: 28px 34px; max-width: 460px; }
.ss5-banner-cap h4 { color: var(--ss5-cream); font-size: 21px; }
.ss5-banner-cap p { color: #EEE8FF; font-size: 13.5px; margin-top: 8px; line-height: 1.55; }
.ss5-quote-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 0; border-top: 1px solid var(--ss5-line); }
.ss5-quote-block { padding: 44px 44px 40px 0; position: relative; }
.ss5-quote-block:first-child { padding-right: 56px; border-right: 1px solid var(--ss5-line); }
.ss5-quote-block:nth-child(2) { padding-left: 56px; }
.ss5-quote-block .mark { font-family: var(--ss5-serif); font-size: 70px; line-height: .6; color: var(--ss5-sienna); opacity: .35; display: block; margin-bottom: 10px; }
.ss5-quote-block:nth-child(2) .mark { color: var(--ss5-teal); }
.ss5-quote-block p { font-family: var(--ss5-serif); font-style: italic; font-size: 19px; line-height: 1.55; color: var(--ss5-ink); font-weight: 450; margin: 0; }
.ss5-quote-block .who { font-family: var(--ss5-mono); font-size: 12.5px; color: var(--ss5-sienna); margin-top: 22px; font-weight: 700; letter-spacing: .03em; }
.ss5-quote-block:nth-child(2) .who { color: var(--ss5-teal-dark); }
.ss5-review-carousel { position: relative; margin-top: 0; border-top: 1px solid var(--ss5-line); }
.ss5-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 24px) / 2); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 34px 0 18px; }
.ss5-review-track::-webkit-scrollbar { display: none; }
.ss5-review-slide { scroll-snap-align: start; min-height: 250px; padding: 34px; border: 1px solid var(--ss5-line); border-radius: 6px; background: var(--ss5-paper); box-shadow: 0 18px 44px rgba(30,18,48,.08); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.ss5-review-slide::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--ss5-sienna), var(--ss5-teal)); }
.ss5-review-slide .mark { font-family: var(--ss5-serif); font-size: 70px; line-height: .55; color: var(--ss5-sienna); opacity: .30; display: block; margin-bottom: 10px; }
.ss5-review-slide p { font-family: var(--ss5-serif); font-style: italic; font-size: 18px; line-height: 1.55; color: var(--ss5-ink); font-weight: 450; margin: 0; }
.ss5-review-slide .who { font-family: var(--ss5-mono); font-size: 12.5px; color: var(--ss5-sienna); margin-top: 22px; font-weight: 700; letter-spacing: .03em; }
.ss5-review-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 4px; }
.ss5-review-dots { display: flex; gap: 8px; }
.ss5-review-dot { width: 8px; height: 8px; border-radius: 999px; border: 0; background: rgba(30,18,48,.22); padding: 0; cursor: pointer; }
.ss5-review-dot.active { width: 28px; background: var(--ss5-sienna); }
.ss5-review-arrows { display: flex; gap: 8px; }
.ss5-review-arrow { width: 38px; height: 38px; border: 1px solid var(--ss5-line); border-radius: 50%; background: var(--ss5-paper); color: var(--ss5-ink); cursor: pointer; font-family: var(--ss5-sans); font-weight: 700; }
.ss5-review-arrow:hover { background: var(--ss5-ink); color: var(--ss5-cream); }

.ss5-studio { background: var(--ss5-ink); color: var(--ss5-cream); }
.ss5-studio .eyebrow { color: var(--ss5-marigold); }
.ss5-studio h2 { color: var(--ss5-cream); font-size: clamp(28px,3.4vw,40px); margin-top: 14px; max-width: 20ch; }
.ss5-studio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 44px; }
.ss5-studio-grid .ph { border-radius: 6px; overflow: hidden; aspect-ratio: 4/5; background: rgba(255,255,255,.05); }
.ss5-studio-grid .ph img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

.ss5-enroll { background: var(--ss5-paper-dim); }
.ss5-enroll .wrap { grid-template-columns: .9fr 1.1fr; align-items: start; }
.ss5-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss5-line); border: 1px solid var(--ss5-line); border-radius: 4px; overflow: hidden; }
.ss5-info-row { background: var(--ss5-paper); padding: 18px 22px; }
.ss5-info-row .lbl { font-family: var(--ss5-mono); font-size: 11px; color: var(--ss5-teal-dark); letter-spacing: .03em; }
.ss5-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; }
.ss5-enroll .wpcf7 { background: var(--ss5-paper); border: 1px solid var(--ss5-line); border-radius: 6px; padding: 34px; }
.ss5-enroll .wpcf7-form { display: grid; gap: 16px; }
.ss5-enroll .wpcf7-form p { margin: 0; }
.ss5-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss5-mono); font-size: 11.5px; color: var(--ss5-ink-soft); }
.ss5-enroll input, .ss5-enroll textarea { width: 100%; border: 1px solid var(--ss5-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss5-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss5-ink); }
.ss5-enroll textarea { min-height: 110px; resize: vertical; }
.ss5-enroll .wpcf7-submit { min-height: 52px; background: var(--ss5-ink); color: var(--ss5-cream); border-color: var(--ss5-ink); font-weight: 700; cursor: pointer; }

@media (max-width: 960px) {
  .ss5-hero .wrap,
  .ss5-program .wrap,
  .ss5-actions .wrap,
  .ss5-offers .wrap,
  .ss5-enroll .wrap {
    grid-template-columns: 1fr;
  }
  .ss5-path-grid,
  .ss5-studio-grid {
    grid-template-columns: 1fr;
  }
  .ss5-hero-stats {
    grid-template-columns: repeat(2,1fr);
  }
  .ss5-review-banner {
    aspect-ratio: 4/3;
  }
  .ss5-quote-grid {
    grid-template-columns: 1fr;
  }
  .ss5-review-track {
    grid-auto-columns: minmax(320px, 82%);
  }
  .ss5-quote-block:first-child {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid var(--ss5-line);
  }
  .ss5-quote-block:nth-child(2) {
    padding-left: 0;
  }
}

@media (max-width: 620px) {
  .ss5-spanish section {
    padding: 68px 0;
  }
  .ss5-spanish .wrap {
    padding: 0 22px;
  }
  .ss5-hero {
    padding-top: 62px !important;
  }
  .ss5-hero h1 {
    font-size: 42px;
  }
  .ss5-hero-stats {
    grid-template-columns: 1fr;
  }
  .ss5-video-stack {
    padding: 18px 18px 18px 0;
  }
}

/* Schedule page v6 from supplied spanish-schedule.html design */
body.page-id-3863 .site-content,
body.page-id-3863 .entry-content,
body.page-id-3863 .elementor,
body.page-id-3863 .elementor-section-wrap {
  background: #F7F3EC;
}

.ss6-schedule {
  --ss6-ink: #1E1230;
  --ss6-ink-soft: #382A4C;
  --ss6-paper: #F7F3EC;
  --ss6-paper-dim: #E9F2EE;
  --ss6-line: #DCD3C2;
  --ss6-marigold: #E6A339;
  --ss6-sienna: #D6472B;
  --ss6-teal: #1F6F63;
  --ss6-teal-dark: #134039;
  --ss6-cream: #FBF8F2;
  --ss6-serif: "Fraunces", serif;
  --ss6-sans: "Public Sans", sans-serif;
  --ss6-mono: "JetBrains Mono", monospace;
  color: var(--ss6-ink);
  background: var(--ss6-paper);
  font-family: var(--ss6-sans);
  -webkit-font-smoothing: antialiased;
}

.ss6-schedule * { box-sizing: border-box; }
.ss6-schedule img { max-width: 100%; display: block; }
.ss6-schedule a { color: inherit; text-decoration: none; }
.ss6-schedule section { padding: 96px 0; }
.ss6-schedule .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss6-schedule h1, .ss6-schedule h2, .ss6-schedule h3, .ss6-schedule h4 { font-family: var(--ss6-serif); margin: 0; font-weight: 700; letter-spacing: 0; color: inherit; }
.ss6-schedule .eyebrow { font-family: var(--ss6-mono); font-size: 13px; color: var(--ss6-sienna); letter-spacing: .02em; }
.ss6-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 23ch; }
.ss6-section-head p { font-size: 15.5px; color: var(--ss6-ink-soft); margin-top: 16px; max-width: 66ch; line-height: 1.65; }
.ss6-schedule .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss6-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss6-schedule .btn:hover { transform: translateY(-2px); }
.ss6-schedule .btn-primary { background: var(--ss6-sienna); color: var(--ss6-cream); }
.ss6-schedule .btn-dark { background: var(--ss6-ink); color: var(--ss6-cream); }
.ss6-schedule .btn-outline { background: transparent; border-color: var(--ss6-ink); color: var(--ss6-ink); }
.ss6-schedule .btn-outline:hover { background: var(--ss6-ink); color: var(--ss6-cream); }
.ss6-schedule .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.6); color: var(--ss6-cream); }
.ss6-schedule .btn-outline-light:hover { background: var(--ss6-cream); color: var(--ss6-ink); }

.ss6-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss6-ink) 55%); color: var(--ss6-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss6-hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.ss6-hero-label { display: flex; align-items: center; gap: 12px; }
.ss6-hero-label .dash { width: 28px; height: 2px; background: var(--ss6-sienna); }
.ss6-hero .eyebrow { color: var(--ss6-marigold); }
.ss6-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; }
.ss6-hero .lede { font-size: 15.5px; line-height: 1.65; color: #EEE8FF; max-width: 50ch; margin-top: 20px; }
.ss6-hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss6-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss6-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss6-hero-stats .num { font-family: var(--ss6-mono); font-size: 19px; color: var(--ss6-marigold); font-weight: 700; }
.ss6-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss6-hero-stack { position: relative; padding: 30px 30px 30px 0; }
.ss6-stack-panel { position: absolute; border-radius: 8px; }
.ss6-stack-panel.teal { background: var(--ss6-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss6-stack-panel.sienna { background: var(--ss6-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .86; }
.ss6-hero-card { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #0C0C10; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); }
.ss6-hero-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss6-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss6-sienna),var(--ss6-marigold),var(--ss6-teal)); }

.ss6-actions .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ss6-action-list { border: 1px solid var(--ss6-line); border-radius: 6px; overflow: hidden; background: var(--ss6-paper); }
.ss6-action-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-bottom: 1px solid var(--ss6-line); font-family: var(--ss6-mono); font-size: 13px; font-weight: 700; letter-spacing: .03em; transition: background .15s ease; }
.ss6-action-row:last-child { border-bottom: 0; }
.ss6-action-row:hover { background: var(--ss6-paper-dim); }
.ss6-action-row .arrow { color: var(--ss6-sienna); font-family: var(--ss6-sans); font-size: 18px; }
.ss6-action-row:nth-child(odd) { border-left: 4px solid var(--ss6-sienna); }
.ss6-action-row:nth-child(even) { border-left: 4px solid var(--ss6-teal); }

.ss6-tables { background: var(--ss6-paper-dim); }
.ss6-level-layout { display: grid; grid-template-columns: 320px 1fr; gap: 34px; align-items: start; margin-top: 36px; }
.ss6-level-graphic { position: sticky; top: 110px; border-radius: 8px; overflow: hidden; border: 1px solid var(--ss6-line); box-shadow: 0 20px 46px rgba(30,18,48,.10); }
.ss6-level-graphic img { width: 100% !important; aspect-ratio: 4 / 3; object-fit: cover !important; }
.ss6-level-stack { display: grid; gap: 28px; }
.ss6-level-block { background: var(--ss6-paper); border: 1px solid var(--ss6-line); border-radius: 6px; overflow: hidden; box-shadow: 0 16px 40px rgba(30,18,48,.06); }
.ss6-level-head { padding: 26px 30px 18px; border-left: 5px solid var(--ss6-teal); }
.ss6-level-block:nth-child(3n) .ss6-level-head { border-left-color: var(--ss6-sienna); }
.ss6-level-block:nth-child(3n+2) .ss6-level-head { border-left-color: var(--ss6-marigold); }
.ss6-level-tag { font-family: var(--ss6-mono); font-size: 11px; color: var(--ss6-ink-soft); letter-spacing: .03em; }
.ss6-level-head h3 { font-size: 22px; margin-top: 6px; }
.ss6-level-link { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--ss6-sienna); font-weight: 700; }
.ss6-table-title { font-family: var(--ss6-mono); font-size: 12px; color: var(--ss6-teal-dark); background: var(--ss6-paper-dim); padding: 8px 30px; border-top: 1px solid var(--ss6-line); border-bottom: 1px solid var(--ss6-line); }
.ss6-session-grid { padding: 20px 30px 8px; display: grid; gap: 12px; }
.ss6-session-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 14px 16px; background: var(--ss6-paper-dim); border-radius: 4px; }
.ss6-session-row .when { font-weight: 700; font-size: 14.5px; min-width: 190px; }
.ss6-session-row .dates { font-family: var(--ss6-mono); font-size: 12.5px; color: var(--ss6-ink-soft); }
.ss6-chip { font-family: var(--ss6-mono); font-size: 10.5px; padding: 3px 9px; border-radius: 20px; border: 1px solid var(--ss6-line); color: var(--ss6-ink-soft); }
.ss6-policy-note { padding: 16px 30px 26px; font-size: 13.5px; color: var(--ss6-ink-soft); line-height: 1.65; border-top: 1px dashed var(--ss6-line); margin-top: 8px; }
.ss6-policy-note strong { color: var(--ss6-ink); }
.ss6-no-data { padding: 22px 30px 30px; font-size: 14px; color: var(--ss6-ink-soft); font-style: italic; }

.ss6-remaining-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; margin-top: 36px; }
.ss6-rt-card { background: var(--ss6-paper); border: 1px solid var(--ss6-line); border-radius: 4px; padding: 22px 24px; }
.ss6-rt-card h4 { font-size: 14.5px; font-family: var(--ss6-mono); letter-spacing: .02em; }
.ss6-rt-card p { font-size: 13.5px; color: var(--ss6-ink-soft); margin: 10px 0 0; line-height: 1.55; }
.ss6-rt-card.found { background: #EAF3F0; border-color: var(--ss6-teal); }

.ss6-graphics { background: linear-gradient(120deg,var(--ss6-marigold) 0%,var(--ss6-sienna) 100%); }
.ss6-graphics .eyebrow { color: var(--ss6-ink); opacity: .78; }
.ss6-graphics h2 { color: var(--ss6-cream); }
.ss6-graphics .lead { color: var(--ss6-cream); opacity: .94; margin-top: 14px; font-size: 15px; max-width: 64ch; line-height: 1.6; }
.ss6-gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 40px; }
.ss6-gal-card { border-radius: 6px; overflow: hidden; background: var(--ss6-ink); box-shadow: 0 18px 42px rgba(30,18,48,.20); }
.ss6-gal-card .ph { aspect-ratio: 4 / 3; overflow: hidden; }
.ss6-gal-card .ph img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss6-gal-card .cap { padding: 12px 14px; font-size: 13px; color: var(--ss6-cream); font-weight: 700; text-align: center; }

.ss6-enroll { background: var(--ss6-paper-dim); }
.ss6-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss6-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss6-line); border: 1px solid var(--ss6-line); border-radius: 4px; overflow: hidden; }
.ss6-info-row { background: var(--ss6-paper); padding: 18px 22px; }
.ss6-info-row .lbl { font-family: var(--ss6-mono); font-size: 11px; color: var(--ss6-teal-dark); letter-spacing: .03em; }
.ss6-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; color: var(--ss6-ink-soft); }
.ss6-enroll-ctas { margin-top: 24px; display: flex; gap: 14px; flex-wrap: wrap; }
.ss6-form-card { display: grid; grid-template-columns: .95fr 1.05fr; gap: 0; overflow: hidden; background: var(--ss6-paper); border: 1px solid var(--ss6-line); border-radius: 6px; }
.ss6-form-card .graphic img { width: 100% !important; height: 100% !important; min-height: 100%; object-fit: cover !important; }
.ss6-form-card .form { padding: 30px; }
.ss6-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss6-enroll .wpcf7-form p { margin: 0; }
.ss6-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss6-mono); font-size: 11.5px; color: var(--ss6-ink-soft); }
.ss6-enroll input, .ss6-enroll textarea { width: 100%; border: 1px solid var(--ss6-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss6-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss6-ink); }
.ss6-enroll textarea { min-height: 110px; resize: vertical; }
.ss6-enroll .wpcf7-submit { min-height: 52px; background: var(--ss6-sienna); color: var(--ss6-cream); border-color: var(--ss6-sienna); font-weight: 700; cursor: pointer; }

@media (max-width: 1000px) {
  .ss6-hero .wrap,
  .ss6-actions .wrap,
  .ss6-enroll .wrap,
  .ss6-level-layout {
    grid-template-columns: 1fr;
  }
  .ss6-level-graphic {
    position: relative;
    top: auto;
  }
  .ss6-hero-stats,
  .ss6-remaining-grid,
  .ss6-gallery-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 640px) {
  .ss6-schedule section {
    padding: 68px 0;
  }
  .ss6-schedule .wrap {
    padding: 0 22px;
  }
  .ss6-hero {
    padding-top: 62px !important;
  }
  .ss6-hero-stats,
  .ss6-remaining-grid,
  .ss6-gallery-grid,
  .ss6-form-card {
    grid-template-columns: 1fr;
  }
  .ss6-session-row .when {
    min-width: 100%;
  }
}

/* Pricing page v7 from supplied spanish-pricing.html design */
body.page-id-3865 .site-content,
body.page-id-3865 .entry-content,
body.page-id-3865 .elementor,
body.page-id-3865 .elementor-section-wrap { background: #F7F3EC; }

.ss7-pricing {
  --ss7-ink: #1E1230;
  --ss7-ink-soft: #382A4C;
  --ss7-paper: #F7F3EC;
  --ss7-paper-dim: #E9F2EE;
  --ss7-line: #DCD3C2;
  --ss7-marigold: #E6A339;
  --ss7-sienna: #D6472B;
  --ss7-teal: #1F6F63;
  --ss7-teal-dark: #134039;
  --ss7-cream: #FBF8F2;
  --ss7-serif: "Fraunces", serif;
  --ss7-sans: "Public Sans", sans-serif;
  --ss7-mono: "JetBrains Mono", monospace;
  color: var(--ss7-ink);
  background: var(--ss7-paper);
  font-family: var(--ss7-sans);
  -webkit-font-smoothing: antialiased;
}
.ss7-pricing * { box-sizing: border-box; }
.ss7-pricing img { max-width: 100%; display: block; }
.ss7-pricing a { color: inherit; text-decoration: none; }
.ss7-pricing ul { margin: 0; padding: 0; list-style: none; }
.ss7-pricing section { padding: 96px 0; }
.ss7-pricing .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss7-pricing h1, .ss7-pricing h2, .ss7-pricing h3, .ss7-pricing h4 { font-family: var(--ss7-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss7-pricing .eyebrow { font-family: var(--ss7-mono); font-size: 13px; color: var(--ss7-sienna); letter-spacing: .02em; }
.ss7-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 23ch; }
.ss7-section-head p { font-size: 15.5px; color: var(--ss7-ink-soft); margin-top: 16px; max-width: 64ch; line-height: 1.65; }
.ss7-pricing .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss7-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss7-pricing .btn:hover { transform: translateY(-2px); }
.ss7-pricing .btn-primary { background: var(--ss7-sienna); color: var(--ss7-cream); }
.ss7-pricing .btn-dark { background: var(--ss7-ink); color: var(--ss7-cream); }
.ss7-pricing .btn-outline { background: transparent; border-color: var(--ss7-ink); color: var(--ss7-ink); }
.ss7-pricing .btn-outline:hover { background: var(--ss7-ink); color: var(--ss7-cream); }
.ss7-pricing .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.6); color: var(--ss7-cream); }
.ss7-pricing .btn-outline-light:hover { background: var(--ss7-cream); color: var(--ss7-ink); }

.ss7-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss7-ink) 55%); color: var(--ss7-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss7-hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.ss7-hero-label { display: flex; align-items: center; gap: 12px; }
.ss7-hero-label .dash { width: 28px; height: 2px; background: var(--ss7-sienna); }
.ss7-hero .eyebrow { color: var(--ss7-marigold); }
.ss7-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; }
.ss7-hero .lede { font-size: 15.5px; line-height: 1.65; color: #EEE8FF; max-width: 50ch; margin-top: 20px; }
.ss7-hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss7-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss7-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss7-hero-stats .num { font-family: var(--ss7-mono); font-size: 19px; color: var(--ss7-marigold); font-weight: 700; }
.ss7-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss7-hero-stack { position: relative; padding: 30px 30px 30px 0; }
.ss7-stack-panel { position: absolute; border-radius: 8px; }
.ss7-stack-panel.teal { background: var(--ss7-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss7-stack-panel.sienna { background: var(--ss7-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .86; }
.ss7-price-visual { position: relative; min-height: 420px; border-radius: 8px; overflow: hidden; background: linear-gradient(135deg, rgba(230,163,57,.18), transparent), #150C22; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); padding: 30px; display: grid; align-content: center; gap: 18px; }
.ss7-price-visual::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(247,243,236,.16); border-radius: 6px; pointer-events: none; }
.ss7-price-visual .mini { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 18px; background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.14); border-radius: 6px; color: var(--ss7-cream); }
.ss7-price-visual .mini strong { font-family: var(--ss7-serif); font-size: 34px; color: var(--ss7-marigold); }
.ss7-price-visual .mini span { font-family: var(--ss7-mono); font-size: 12px; color: #EEE8FF; }
.ss7-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss7-sienna),var(--ss7-marigold),var(--ss7-teal)); }

.ss7-plan-grid { display: grid; grid-template-columns: 1fr 1.35fr; gap: 24px; margin-top: 44px; align-items: stretch; }
.ss7-plan-main { background: var(--ss7-ink); color: var(--ss7-cream); border-radius: 6px; padding: 32px; border-left: 5px solid var(--ss7-marigold); display: flex; flex-direction: column; }
.ss7-plan-tag, .ss7-rate-tag { display: inline-block; align-self: flex-start; font-family: var(--ss7-mono); font-size: 10.5px; letter-spacing: .03em; padding: 5px 11px; border-radius: 20px; }
.ss7-plan-tag { background: rgba(230,163,57,.18); color: var(--ss7-marigold); border: 1px solid rgba(230,163,57,.4); }
.ss7-plan-main h3 { font-size: 24px; margin-top: 18px; }
.ss7-plan-price { font-family: var(--ss7-serif); font-size: 48px; color: var(--ss7-marigold); margin-top: 6px; }
.ss7-plan-main .materials { font-size: 13.5px; color: #DED6F2; margin-top: 4px; }
.ss7-plan-main ul { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid rgba(247,243,236,.14); padding-top: 20px; }
.ss7-plan-main li { font-size: 14px; line-height: 1.55; color: #EEE8FF; padding-left: 18px; position: relative; }
.ss7-plan-main li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--ss7-sienna); }
.ss7-rate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ss7-rate-card { background: var(--ss7-paper); border: 1px solid var(--ss7-line); border-top: 4px solid var(--ss7-teal); border-radius: 6px; padding: 26px 22px; display: flex; flex-direction: column; box-shadow: 0 16px 40px rgba(30,18,48,.06); }
.ss7-rate-card:nth-child(2) { border-top-color: var(--ss7-marigold); }
.ss7-rate-card:nth-child(3) { border-top-color: var(--ss7-sienna); }
.ss7-rate-tag { color: var(--ss7-ink-soft); background: var(--ss7-paper-dim); border: 1px solid var(--ss7-line); }
.ss7-rate-card h3 { font-size: 18px; margin-top: 16px; }
.ss7-rate-price { font-family: var(--ss7-serif); font-size: 34px; color: var(--ss7-sienna); margin-top: 8px; }
.ss7-rate-card:nth-child(2) .ss7-rate-price { color: var(--ss7-teal-dark); }
.ss7-rate-card:nth-child(3) .ss7-rate-price { color: var(--ss7-ink); }
.ss7-rate-card p { font-size: 13.5px; color: var(--ss7-ink-soft); margin-top: 10px; line-height: 1.55; }

.ss7-flow { background: var(--ss7-paper-dim); }
.ss7-flow-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: start; }
.ss7-flow-card, .ss7-offer-card { border-radius: 6px; padding: 32px; }
.ss7-flow-card { background: var(--ss7-paper); border: 1px solid var(--ss7-line); }
.ss7-flow-card h3 { font-size: 19px; }
.ss7-flow-steps { margin-top: 22px; display: flex; flex-direction: column; gap: 18px; }
.ss7-flow-step { display: flex; gap: 16px; align-items: flex-start; }
.ss7-flow-num { font-family: var(--ss7-mono); font-size: 12.5px; font-weight: 700; color: var(--ss7-cream); background: var(--ss7-sienna); width: 30px; height: 30px; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ss7-flow-step h4 { font-family: var(--ss7-sans); font-size: 15px; font-weight: 700; }
.ss7-flow-step p { font-size: 13.5px; color: var(--ss7-ink-soft); margin: 4px 0 0; line-height: 1.55; }
.ss7-flow-notes { margin-top: 24px; padding-top: 20px; border-top: 1px dashed var(--ss7-line); display: flex; flex-direction: column; gap: 8px; }
.ss7-flow-notes li { font-size: 13.5px; color: var(--ss7-ink-soft); line-height: 1.6; padding-left: 16px; position: relative; }
.ss7-flow-notes li::before { content: "-"; position: absolute; left: 0; color: var(--ss7-teal); }
.ss7-flow-notes strong { color: var(--ss7-ink); }
.ss7-offer-card { background: var(--ss7-ink); color: var(--ss7-cream); }
.ss7-offer-card .eyebrow { color: var(--ss7-marigold); }
.ss7-offer-card .big { font-family: var(--ss7-serif); font-size: 19px; line-height: 1.5; margin: 14px 0 0; color: var(--ss7-cream); }
.ss7-offer-card .btn { margin-top: 22px; }

.ss7-actions .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ss7-action-list { border: 1px solid var(--ss7-line); border-radius: 6px; overflow: hidden; background: var(--ss7-paper); }
.ss7-action-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-bottom: 1px solid var(--ss7-line); font-family: var(--ss7-mono); font-size: 13px; font-weight: 700; letter-spacing: .03em; transition: background .15s ease; }
.ss7-action-row:last-child { border-bottom: 0; }
.ss7-action-row:hover { background: var(--ss7-paper-dim); }
.ss7-action-row .arrow { color: var(--ss7-sienna); font-family: var(--ss7-sans); font-size: 18px; }
.ss7-action-row:nth-child(odd) { border-left: 4px solid var(--ss7-sienna); }
.ss7-action-row:nth-child(even) { border-left: 4px solid var(--ss7-teal); }

.ss7-graphics { background: linear-gradient(120deg,var(--ss7-marigold) 0%,var(--ss7-sienna) 100%); }
.ss7-graphics .eyebrow { color: var(--ss7-ink); opacity: .78; }
.ss7-graphics h2 { color: var(--ss7-cream); }
.ss7-graphics .lead { color: var(--ss7-cream); opacity: .94; margin-top: 14px; font-size: 15px; max-width: 64ch; line-height: 1.6; }
.ss7-gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 40px; }
.ss7-gal-card { border-radius: 6px; overflow: hidden; background: var(--ss7-ink); box-shadow: 0 18px 42px rgba(30,18,48,.20); }
.ss7-gal-card .ph { aspect-ratio: 4 / 3; overflow: hidden; }
.ss7-gal-card .ph img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss7-gal-card .cap { padding: 12px 14px; font-size: 13px; color: var(--ss7-cream); font-weight: 700; text-align: center; }

.ss7-enroll { background: var(--ss7-paper-dim); }
.ss7-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss7-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss7-line); border: 1px solid var(--ss7-line); border-radius: 4px; overflow: hidden; }
.ss7-info-row { background: var(--ss7-paper); padding: 18px 22px; }
.ss7-info-row .lbl { font-family: var(--ss7-mono); font-size: 11px; color: var(--ss7-teal-dark); letter-spacing: .03em; }
.ss7-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; color: var(--ss7-ink-soft); }
.ss7-enroll .wpcf7 { background: var(--ss7-paper); border: 1px solid var(--ss7-line); border-radius: 6px; padding: 34px; }
.ss7-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss7-enroll .wpcf7-form p { margin: 0; }
.ss7-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss7-mono); font-size: 11.5px; color: var(--ss7-ink-soft); }
.ss7-enroll input, .ss7-enroll textarea { width: 100%; border: 1px solid var(--ss7-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss7-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss7-ink); }
.ss7-enroll textarea { min-height: 110px; resize: vertical; }
.ss7-enroll .wpcf7-submit { min-height: 52px; background: var(--ss7-ink); color: var(--ss7-cream); border-color: var(--ss7-ink); font-weight: 700; cursor: pointer; }

@media (max-width: 1000px) {
  .ss7-hero .wrap,
  .ss7-actions .wrap,
  .ss7-enroll .wrap,
  .ss7-flow-grid,
  .ss7-plan-grid {
    grid-template-columns: 1fr;
  }
  .ss7-hero-stats,
  .ss7-gallery-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .ss7-rate-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ss7-pricing section { padding: 68px 0; }
  .ss7-pricing .wrap { padding: 0 22px; }
  .ss7-hero { padding-top: 62px !important; }
  .ss7-hero-stats,
  .ss7-gallery-grid {
    grid-template-columns: 1fr;
  }
  .ss7-price-visual { min-height: 340px; padding: 22px; }
}

/* Gift certificates page v8 from supplied spanish-gift-certificates.html design */
body.page-id-3868 .site-content,
body.page-id-3868 .entry-content,
body.page-id-3868 .elementor,
body.page-id-3868 .elementor-section-wrap { background: #F7F3EC; }

.ss8-gift {
  --ss8-ink: #1E1230;
  --ss8-ink-soft: #382A4C;
  --ss8-paper: #F7F3EC;
  --ss8-paper-dim: #E9F2EE;
  --ss8-line: #DCD3C2;
  --ss8-marigold: #E6A339;
  --ss8-sienna: #D6472B;
  --ss8-teal: #1F6F63;
  --ss8-teal-dark: #134039;
  --ss8-cream: #FBF8F2;
  --ss8-serif: "Fraunces", serif;
  --ss8-sans: "Public Sans", sans-serif;
  --ss8-mono: "JetBrains Mono", monospace;
  color: var(--ss8-ink);
  background: var(--ss8-paper);
  font-family: var(--ss8-sans);
  -webkit-font-smoothing: antialiased;
}
.ss8-gift * { box-sizing: border-box; }
.ss8-gift a { color: inherit; text-decoration: none; }
.ss8-gift section { padding: 96px 0; }
.ss8-gift .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss8-gift h1, .ss8-gift h2, .ss8-gift h3 { font-family: var(--ss8-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss8-gift .eyebrow { font-family: var(--ss8-mono); font-size: 13px; color: var(--ss8-sienna); letter-spacing: .02em; }
.ss8-gift .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss8-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss8-gift .btn:hover { transform: translateY(-2px); }
.ss8-gift .btn-primary { background: var(--ss8-sienna); color: var(--ss8-cream); }
.ss8-gift .btn-dark { background: var(--ss8-ink); color: var(--ss8-cream); }
.ss8-gift .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.6); color: var(--ss8-cream); }
.ss8-gift .btn-outline-light:hover { background: var(--ss8-cream); color: var(--ss8-ink); }

.ss8-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss8-ink) 55%); color: var(--ss8-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss8-hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss8-hero-label { display: flex; align-items: center; gap: 12px; }
.ss8-hero-label .dash { width: 28px; height: 2px; background: var(--ss8-sienna); }
.ss8-hero .eyebrow { color: var(--ss8-marigold); }
.ss8-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; }
.ss8-hero .lede { font-size: 15.5px; line-height: 1.65; color: #EEE8FF; max-width: 48ch; margin-top: 20px; }
.ss8-hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss8-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss8-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss8-hero-stats .num { font-family: var(--ss8-serif); font-size: 19px; color: var(--ss8-marigold); font-weight: 700; }
.ss8-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss8-gift-stack { position: relative; padding: 30px 30px 30px 0; }
.ss8-stack-panel { position: absolute; border-radius: 8px; }
.ss8-stack-panel.teal { background: var(--ss8-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss8-stack-panel.sienna { background: var(--ss8-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .85; }
.ss8-hero-gift { position: relative; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: radial-gradient(circle at 30% 20%,#254C74,#0B1B33 70%); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 3px solid var(--ss8-marigold); padding: 22px; display: flex; flex-direction: column; justify-content: center; }
.ss8-hero-gift .balloon { position: absolute; border-radius: 50%; opacity: .9; }
.ss8-hero-gift .b1 { width: 110px; height: 130px; background: radial-gradient(circle at 35% 30%,#F0956B,#C4562B); left: 8px; top: 14px; }
.ss8-hero-gift .b2 { width: 90px; height: 105px; background: radial-gradient(circle at 35% 30%,#F0956B,#B93A22); left: 60px; top: 70px; }
.ss8-hero-gift .b3 { width: 70px; height: 82px; background: radial-gradient(circle at 35% 30%,#F5D07A,#D6472B); right: 10px; bottom: 10px; }
.ss8-gift-text { position: relative; z-index: 2; }
.ss8-gift-line1 { font-family: var(--ss8-serif); font-size: 19px; color: var(--ss8-cream); }
.ss8-gift-line2 { font-family: var(--ss8-serif); font-weight: 900; font-size: 44px; color: var(--ss8-marigold); line-height: 1; margin-top: 4px; }
.ss8-gift-line3 { font-family: var(--ss8-mono); font-size: 12px; color: var(--ss8-cream); margin-top: 16px; letter-spacing: .02em; }
.ss8-cert-chip { position: relative; z-index: 2; margin-top: 16px; display: inline-block; background: var(--ss8-cream); color: var(--ss8-ink); font-family: var(--ss8-mono); font-size: 9.5px; padding: 4px 10px; border-radius: 2px; border: 1px solid var(--ss8-line); width: fit-content; }
.ss8-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss8-sienna),var(--ss8-marigold),var(--ss8-teal)); }

.ss8-details .wrap { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
.ss8-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 24ch; }
.ss8-section-head p { font-size: 15.5px; color: var(--ss8-ink-soft); margin-top: 16px; max-width: 64ch; line-height: 1.65; }
.ss8-purchase-card { background: var(--ss8-paper); border: 1px solid var(--ss8-line); border-left: 5px solid var(--ss8-sienna); border-radius: 6px; padding: 32px; box-shadow: 0 18px 42px rgba(30,18,48,.08); }
.ss8-purchase-card h3 { font-size: 22px; }
.ss8-purchase-card .copy { font-size: 14.5px; color: var(--ss8-ink-soft); margin-top: 14px; line-height: 1.65; }
.ss8-purchase-grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ss8-line); border: 1px solid var(--ss8-line); border-radius: 4px; overflow: hidden; }
.ss8-purchase-grid .cell { background: var(--ss8-paper-dim); padding: 16px 18px; }
.ss8-purchase-grid .lbl { font-family: var(--ss8-mono); font-size: 10.5px; color: var(--ss8-sienna); letter-spacing: .03em; }
.ss8-purchase-grid .val { font-size: 15px; font-weight: 700; margin-top: 6px; word-break: break-word; }
.ss8-action-list { margin-top: 24px; border: 1px solid var(--ss8-line); border-radius: 6px; overflow: hidden; background: var(--ss8-paper); }
.ss8-action-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-bottom: 1px solid var(--ss8-line); font-family: var(--ss8-mono); font-size: 13px; font-weight: 700; letter-spacing: .03em; transition: background .15s ease; }
.ss8-action-row:last-child { border-bottom: 0; }
.ss8-action-row:hover { background: var(--ss8-paper-dim); }
.ss8-action-row .arrow { color: var(--ss8-sienna); font-family: var(--ss8-sans); font-size: 18px; }
.ss8-action-row:nth-child(odd) { border-left: 4px solid var(--ss8-sienna); }
.ss8-action-row:nth-child(even) { border-left: 4px solid var(--ss8-teal); }

.ss8-enroll { background: var(--ss8-paper-dim); }
.ss8-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss8-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss8-line); border: 1px solid var(--ss8-line); border-radius: 4px; overflow: hidden; }
.ss8-info-row { background: var(--ss8-paper); padding: 18px 22px; }
.ss8-info-row .lbl { font-family: var(--ss8-mono); font-size: 11px; color: var(--ss8-teal-dark); letter-spacing: .03em; }
.ss8-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; color: var(--ss8-ink-soft); }
.ss8-enroll .wpcf7 { background: var(--ss8-paper); border: 1px solid var(--ss8-line); border-radius: 6px; padding: 34px; }
.ss8-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss8-enroll .wpcf7-form p { margin: 0; }
.ss8-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss8-mono); font-size: 11.5px; color: var(--ss8-ink-soft); }
.ss8-enroll input, .ss8-enroll textarea { width: 100%; border: 1px solid var(--ss8-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss8-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss8-ink); }
.ss8-enroll textarea { min-height: 110px; resize: vertical; }
.ss8-enroll .wpcf7-submit { min-height: 52px; background: var(--ss8-ink); color: var(--ss8-cream); border-color: var(--ss8-ink); font-weight: 700; cursor: pointer; }

@media (max-width: 960px) {
  .ss8-hero .wrap,
  .ss8-details .wrap,
  .ss8-enroll .wrap {
    grid-template-columns: 1fr;
  }
  .ss8-hero-stats {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 640px) {
  .ss8-gift section { padding: 68px 0; }
  .ss8-gift .wrap { padding: 0 22px; }
  .ss8-hero { padding-top: 62px !important; }
  .ss8-hero-stats,
  .ss8-purchase-grid {
    grid-template-columns: 1fr;
  }
  .ss8-gift-line2 {
    font-size: 38px;
  }
}

/* Resources page v9 from supplied spanish-resources.html design */
body.page-id-3866 .site-content,
body.page-id-3866 .entry-content,
body.page-id-3866 .elementor,
body.page-id-3866 .elementor-section-wrap { background: #F7F3EC; }

.ss9-resources {
  --ss9-ink: #1E1230;
  --ss9-ink-soft: #382A4C;
  --ss9-paper: #F7F3EC;
  --ss9-paper-dim: #E9F2EE;
  --ss9-line: #DCD3C2;
  --ss9-marigold: #E6A339;
  --ss9-sienna: #D6472B;
  --ss9-teal: #1F6F63;
  --ss9-teal-dark: #134039;
  --ss9-cream: #FBF8F2;
  --ss9-serif: "Fraunces", serif;
  --ss9-sans: "Public Sans", sans-serif;
  --ss9-mono: "JetBrains Mono", monospace;
  color: var(--ss9-ink);
  background: var(--ss9-paper);
  font-family: var(--ss9-sans);
  -webkit-font-smoothing: antialiased;
}
.ss9-resources * { box-sizing: border-box; }
.ss9-resources a { color: inherit; text-decoration: none; }
.ss9-resources img { max-width: 100%; display: block; }
.ss9-resources section { padding: 96px 0; }
.ss9-resources .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss9-resources h1, .ss9-resources h2, .ss9-resources h3 { font-family: var(--ss9-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss9-resources .eyebrow { font-family: var(--ss9-mono); font-size: 13px; color: var(--ss9-sienna); letter-spacing: .02em; }
.ss9-resources .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss9-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss9-resources .btn:hover { transform: translateY(-2px); }
.ss9-resources .btn-primary { background: var(--ss9-sienna); color: var(--ss9-cream); }
.ss9-resources .btn-dark { background: var(--ss9-ink); color: var(--ss9-cream); }
.ss9-resources .btn-outline { background: transparent; border-color: var(--ss9-ink); color: var(--ss9-ink); }
.ss9-resources .btn-outline:hover { background: var(--ss9-ink); color: var(--ss9-cream); }

.ss9-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss9-ink) 55%); color: var(--ss9-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss9-hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss9-hero-label { display: flex; align-items: center; gap: 12px; }
.ss9-hero-label .dash { width: 28px; height: 2px; background: var(--ss9-sienna); }
.ss9-hero .eyebrow { color: var(--ss9-marigold); }
.ss9-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; }
.ss9-hero .lede { font-size: 15.5px; line-height: 1.65; color: #EEE8FF; max-width: 50ch; margin-top: 20px; }
.ss9-level-tabs { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.ss9-level-tab { padding: 12px 22px; font-family: var(--ss9-sans); font-weight: 700; font-size: 14px; border-radius: 2px; border: 1.5px solid rgba(247,243,236,.55); background: transparent; color: var(--ss9-cream); transition: background .2s ease, color .2s ease; }
.ss9-level-tab.active, .ss9-level-tab:hover { background: var(--ss9-sienna); border-color: var(--ss9-sienna); color: var(--ss9-cream); }
.ss9-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss9-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss9-hero-stats .num { font-family: var(--ss9-serif); font-size: 19px; color: var(--ss9-marigold); font-weight: 700; }
.ss9-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss9-poster-stack { position: relative; padding: 30px 30px 30px 0; }
.ss9-stack-panel { position: absolute; border-radius: 8px; }
.ss9-stack-panel.teal { background: var(--ss9-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss9-stack-panel.sienna { background: var(--ss9-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .85; }
.ss9-hero-poster { position: relative; aspect-ratio: 4/5; border-radius: 8px; overflow: hidden; background: linear-gradient(180deg,#CFEBFF 0%,#E8F6D8 60%,#F2E9A8 100%); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); padding: 26px 24px; display: flex; flex-direction: column; }
.ss9-hero-poster .headline { font-family: var(--ss9-serif); font-style: italic; font-weight: 700; font-size: 21px; color: #4B2E83; line-height: 1.25; }
.ss9-hero-poster .body-line { font-family: var(--ss9-sans); font-size: 14.5px; color: #2A2A3A; margin-top: 16px; line-height: 1.5; font-weight: 700; }
.ss9-hero-poster .classes-tag { margin-top: auto; font-family: var(--ss9-mono); font-size: 11.5px; color: #2A2A3A; letter-spacing: .02em; text-align: center; background: rgba(255,255,255,.65); border-radius: 4px; padding: 10px; }
.ss9-bird-wrap { position: relative; flex: 1; margin-top: 14px; display: flex; align-items: flex-end; justify-content: center; }
.ss9-sun { position: absolute; bottom: 6px; right: 16px; width: 60px; height: 60px; border-radius: 50%; background: #F6D35A; box-shadow: 0 0 40px 10px rgba(246,211,90,.5); }
.ss9-hill { position: absolute; bottom: 0; left: 0; right: 0; height: 36%; background: #8FC96B; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.ss9-bird { position: relative; z-index: 2; width: 74px; }
.ss9-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss9-sienna),var(--ss9-marigold),var(--ss9-teal)); }

.ss9-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 24ch; }
.ss9-section-head p { font-size: 15.5px; color: var(--ss9-ink-soft); margin-top: 16px; max-width: 64ch; line-height: 1.65; }
.ss9-level-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 44px; }
.ss9-level-card { background: var(--ss9-paper); border: 1px solid var(--ss9-line); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 16px 40px rgba(30,18,48,.06); }
.ss9-level-card .swatch { aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #2E7CD6; }
.ss9-level-card:nth-child(2) .swatch { background: var(--ss9-marigold); }
.ss9-level-card:nth-child(3) .swatch { background: #4FCB3A; }
.ss9-level-card .swatch span { font-family: var(--ss9-serif); font-weight: 900; font-size: 56px; color: #E0217B; line-height: 1; }
.ss9-level-card .body { padding: 24px 26px 26px; border-left: 4px solid var(--ss9-teal); flex: 1; display: flex; flex-direction: column; }
.ss9-level-card:nth-child(2) .body { border-left-color: var(--ss9-marigold); }
.ss9-level-card:nth-child(3) .body { border-left-color: var(--ss9-sienna); }
.ss9-level-card h3 { font-size: 19px; }
.ss9-level-card p { font-size: 14px; color: var(--ss9-ink-soft); margin: 10px 0 0; line-height: 1.55; flex: 1; }
.ss9-level-card .btn { margin-top: 18px; align-self: flex-start; }
.ss9-helpful { background: var(--ss9-paper-dim); }
.ss9-helpful .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ss9-action-list { border: 1px solid var(--ss9-line); border-radius: 6px; overflow: hidden; background: var(--ss9-paper); }
.ss9-action-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-bottom: 1px solid var(--ss9-line); font-family: var(--ss9-mono); font-size: 13px; font-weight: 700; letter-spacing: .03em; transition: background .15s ease; }
.ss9-action-row:last-child { border-bottom: 0; }
.ss9-action-row:hover { background: var(--ss9-paper-dim); }
.ss9-action-row .arrow { color: var(--ss9-sienna); font-family: var(--ss9-sans); font-size: 18px; }
.ss9-action-row:nth-child(odd) { border-left: 4px solid var(--ss9-sienna); }
.ss9-action-row:nth-child(even) { border-left: 4px solid var(--ss9-teal); }
.ss9-graphics { background: linear-gradient(120deg,var(--ss9-marigold) 0%,var(--ss9-sienna) 100%); }
.ss9-graphics .eyebrow { color: var(--ss9-ink); opacity: .78; }
.ss9-graphics h2 { color: var(--ss9-cream); }
.ss9-graphics .lead { color: var(--ss9-cream); opacity: .94; margin-top: 14px; font-size: 15px; max-width: 64ch; line-height: 1.6; }
.ss9-gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 40px; }
.ss9-gal-card { border-radius: 6px; overflow: hidden; background: var(--ss9-ink); box-shadow: 0 18px 42px rgba(30,18,48,.20); }
.ss9-gal-card .ph { aspect-ratio: 4/3; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ss9-gal-card .ph span { font-family: var(--ss9-serif); font-weight: 900; font-size: 34px; color: #E0217B; }
.ss9-gal-card .cap { padding: 12px 14px; font-size: 13px; color: var(--ss9-ink); font-weight: 700; text-align: center; background: var(--ss9-paper); }
.ss9-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss9-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss9-line); border: 1px solid var(--ss9-line); border-radius: 4px; overflow: hidden; }
.ss9-info-row { background: var(--ss9-paper); padding: 18px 22px; }
.ss9-info-row .lbl { font-family: var(--ss9-mono); font-size: 11px; color: var(--ss9-teal-dark); letter-spacing: .03em; }
.ss9-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; color: var(--ss9-ink-soft); }
.ss9-enroll .wpcf7 { background: var(--ss9-paper); border: 1px solid var(--ss9-line); border-radius: 6px; padding: 34px; }
.ss9-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss9-enroll .wpcf7-form p { margin: 0; }
.ss9-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss9-mono); font-size: 11.5px; color: var(--ss9-ink-soft); }
.ss9-enroll input, .ss9-enroll textarea { width: 100%; border: 1px solid var(--ss9-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss9-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss9-ink); }
.ss9-enroll textarea { min-height: 150px; resize: vertical; }
.ss9-enroll .wpcf7-submit { min-height: 52px; background: var(--ss9-ink); color: var(--ss9-cream); border-color: var(--ss9-ink); font-weight: 700; cursor: pointer; }

@media (max-width: 960px) {
  .ss9-hero .wrap,
  .ss9-helpful .wrap,
  .ss9-enroll .wrap {
    grid-template-columns: 1fr;
  }
  .ss9-level-grid { grid-template-columns: 1fr; }
  .ss9-hero-stats,
  .ss9-gallery-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px) {
  .ss9-resources section { padding: 68px 0; }
  .ss9-resources .wrap { padding: 0 22px; }
  .ss9-hero { padding-top: 62px !important; }
  .ss9-hero-stats,
  .ss9-gallery-grid { grid-template-columns: 1fr; }
}

/* Podcast page v10 from supplied spanish-podcast.html design */
body.page-id-3874 .site-content,
body.page-id-3874 .entry-content,
body.page-id-3874 .elementor,
body.page-id-3874 .elementor-section-wrap { background: #F7F3EC; }

.ss10-podcast {
  --ss10-ink: #1E1230;
  --ss10-ink-soft: #382A4C;
  --ss10-paper: #F7F3EC;
  --ss10-paper-dim: #E9F2EE;
  --ss10-line: #DCD3C2;
  --ss10-marigold: #E6A339;
  --ss10-sienna: #D6472B;
  --ss10-teal: #1F6F63;
  --ss10-teal-dark: #134039;
  --ss10-cream: #FBF8F2;
  --ss10-serif: "Fraunces", serif;
  --ss10-sans: "Public Sans", sans-serif;
  --ss10-mono: "JetBrains Mono", monospace;
  color: var(--ss10-ink);
  background: var(--ss10-paper);
  font-family: var(--ss10-sans);
  -webkit-font-smoothing: antialiased;
}
.ss10-podcast * { box-sizing: border-box; }
.ss10-podcast a { color: inherit; text-decoration: none; }
.ss10-podcast section { padding: 96px 0; }
.ss10-podcast .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss10-podcast h1, .ss10-podcast h2, .ss10-podcast h3 { font-family: var(--ss10-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss10-podcast .eyebrow { font-family: var(--ss10-mono); font-size: 13px; color: var(--ss10-sienna); letter-spacing: .02em; }
.ss10-podcast .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss10-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss10-podcast .btn:hover { transform: translateY(-2px); }
.ss10-podcast .btn-primary { background: var(--ss10-sienna); color: var(--ss10-cream); }
.ss10-podcast .btn-dark { background: var(--ss10-ink); color: var(--ss10-cream); }
.ss10-podcast .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.6); color: var(--ss10-cream); }
.ss10-podcast .btn-outline-light:hover { background: var(--ss10-cream); color: var(--ss10-ink); }
.ss10-hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss10-ink) 55%); color: var(--ss10-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss10-hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss10-hero-label { display: flex; align-items: center; gap: 12px; }
.ss10-hero-label .dash { width: 28px; height: 2px; background: var(--ss10-sienna); }
.ss10-hero .eyebrow { color: var(--ss10-marigold); }
.ss10-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; }
.ss10-hero .lede { font-size: 15.5px; line-height: 1.65; color: #EEE8FF; max-width: 50ch; margin-top: 20px; }
.ss10-hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss10-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss10-hero-stats div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss10-hero-stats .num { font-family: var(--ss10-mono); font-size: 19px; color: var(--ss10-marigold); font-weight: 700; }
.ss10-hero-stats .label { font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss10-video-stack { position: relative; padding: 30px 30px 30px 0; }
.ss10-stack-panel { position: absolute; border-radius: 8px; }
.ss10-stack-panel.teal { background: var(--ss10-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss10-stack-panel.sienna { background: var(--ss10-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .85; }
.ss10-player-visual { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #3A3A3F; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 34px; }
.ss10-player-visual .icon { width: 58px; height: 58px; border-radius: 10px; background: #5A5A60; display: flex; align-items: center; justify-content: center; color: #D8D8DE; font-size: 22px; }
.ss10-wave { display: flex; gap: 5px; height: 54px; align-items: center; }
.ss10-wave span { width: 7px; border-radius: 999px; background: linear-gradient(var(--ss10-marigold), var(--ss10-sienna)); }
.ss10-wave span:nth-child(1) { height: 18px; }
.ss10-wave span:nth-child(2) { height: 34px; }
.ss10-wave span:nth-child(3) { height: 50px; }
.ss10-wave span:nth-child(4) { height: 26px; }
.ss10-wave span:nth-child(5) { height: 42px; }
.ss10-player-visual .msg { font-size: 12.5px; color: #D8D8DE; text-align: center; }
.ss10-fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss10-sienna),var(--ss10-marigold),var(--ss10-teal)); }
.ss10-section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 28ch; }
.ss10-section-head p { font-size: 15.5px; color: var(--ss10-ink-soft); margin-top: 16px; max-width: 64ch; line-height: 1.65; }
.ss10-jump-tabs { display: flex; gap: 16px; margin-top: 36px; flex-wrap: wrap; }
.ss10-jump-tab { background: var(--ss10-paper); border: 1px solid var(--ss10-line); border-radius: 6px; padding: 20px 28px; font-family: var(--ss10-mono); font-size: 12px; font-weight: 700; letter-spacing: .02em; text-align: center; color: var(--ss10-ink); flex: 1; min-width: 220px; }
.ss10-jump-tab:first-child { background: var(--ss10-ink); color: var(--ss10-cream); border-color: var(--ss10-ink); }
.ss10-library.alt { background: var(--ss10-paper-dim); }
.ss10-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 36px; }
.ss10-media-card { background: var(--ss10-paper); border: 1px solid var(--ss10-line); border-left: 4px solid var(--ss10-teal); border-radius: 4px; padding: 22px 24px; min-height: 178px; display: flex; flex-direction: column; transition: transform .15s ease, box-shadow .15s ease; }
.ss10-media-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(30,18,48,.09); }
.ss10-media-card:nth-child(3n+2) { border-left-color: var(--ss10-marigold); }
.ss10-media-card:nth-child(3n) { border-left-color: var(--ss10-sienna); }
.ss10-media-card .slug { font-family: var(--ss10-serif); font-style: italic; font-size: 12px; color: var(--ss10-ink-soft); opacity: .65; }
.ss10-media-tag { display: inline-block; width: fit-content; margin-top: 10px; font-family: var(--ss10-mono); font-size: 10px; letter-spacing: .04em; background: var(--ss10-paper-dim); color: var(--ss10-sienna); border: 1px solid var(--ss10-line); border-radius: 20px; padding: 3px 10px; }
.ss10-media-card h3 { font-size: 17px; margin-top: 14px; }
.ss10-media-card .cat { font-size: 12.5px; color: var(--ss10-ink-soft); margin-top: 6px; line-height: 1.45; }
.ss10-media-card .open { display: inline-block; margin-top: auto; padding-top: 14px; font-family: var(--ss10-mono); font-size: 11.5px; font-weight: 700; letter-spacing: .03em; color: var(--ss10-teal-dark); }
.ss10-enroll { background: var(--ss10-paper-dim); }
.ss10-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss10-info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss10-line); border: 1px solid var(--ss10-line); border-radius: 4px; overflow: hidden; }
.ss10-info-row { background: var(--ss10-paper); padding: 18px 22px; }
.ss10-info-row .lbl { font-family: var(--ss10-mono); font-size: 11px; color: var(--ss10-teal-dark); letter-spacing: .03em; }
.ss10-info-row .val { font-size: 15.5px; margin-top: 6px; font-weight: 700; color: var(--ss10-ink-soft); }
.ss10-enroll .wpcf7 { background: var(--ss10-paper); border: 1px solid var(--ss10-line); border-radius: 6px; padding: 34px; }
.ss10-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss10-enroll .wpcf7-form p { margin: 0; }
.ss10-enroll .wpcf7-form label { display: grid; gap: 7px; font-family: var(--ss10-mono); font-size: 11.5px; color: var(--ss10-ink-soft); }
.ss10-enroll input, .ss10-enroll textarea { width: 100%; border: 1px solid var(--ss10-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss10-sans); font-size: 14.5px; background: #fffaf1; color: var(--ss10-ink); }
.ss10-enroll textarea { min-height: 150px; resize: vertical; }
.ss10-enroll .wpcf7-submit { min-height: 52px; background: var(--ss10-ink); color: var(--ss10-cream); border-color: var(--ss10-ink); font-weight: 700; cursor: pointer; }
@media (max-width: 960px) {
  .ss10-hero .wrap,
  .ss10-enroll .wrap { grid-template-columns: 1fr; }
  .ss10-hero-stats { grid-template-columns: repeat(2,1fr); }
  .ss10-card-grid { grid-template-columns: 1fr; }
  .ss10-jump-tabs { flex-direction: column; }
}
@media (max-width: 640px) {
  .ss10-podcast section { padding: 68px 0; }
  .ss10-podcast .wrap { padding: 0 22px; }
  .ss10-hero { padding-top: 62px !important; }
  .ss10-hero-stats { grid-template-columns: 1fr; }
}

body.page-id-49 { background: #f7f3ec; }
.ss11-about {
  --ink: #1e1230; --ink-soft: #382a4c; --paper: #f7f3ec; --paper-dim: #e9f2ee;
  --line: #dcd3c2; --marigold: #e6a339; --sienna: #d6472b; --teal: #1f6f63; --teal-dark: #134039;
  --cream: #fbf8f2; --serif: "Fraunces", serif; --sans: "Public Sans", sans-serif; --mono: "JetBrains Mono", monospace;
  color: var(--ink); background: var(--paper); font-family: var(--sans); overflow: hidden;
}
.ss11-about * { box-sizing: border-box; }
.ss11-about a { color: inherit; text-decoration: none; }
.ss11-about img { display: block; max-width: 100%; }
.ss11-about section { padding: 96px 0; }
.ss11-about .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss11-about h1, .ss11-about h2, .ss11-about h3, .ss11-about h4 { font-family: var(--serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss11-about p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.ss11-about .eyebrow { font-family: var(--mono); font-size: 13px; color: var(--sienna); letter-spacing: .02em; text-transform: uppercase; font-weight: 700; }
.ss11-about .btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border: 1.5px solid transparent; border-radius: 2px; font: 700 15px var(--sans); transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss11-about .btn:hover { transform: translateY(-2px); }
.ss11-about .btn-primary { background: var(--sienna); color: var(--cream); }
.ss11-about .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.55); color: var(--cream); }
.ss11-about .btn-outline-light:hover { background: var(--cream); color: var(--ink); }
.ss11-about .btn-dark { background: var(--ink); color: var(--cream); }
.ss11-hero { background: radial-gradient(ellipse at 75% 20%, #2c4a46 0%, var(--ink) 55%); color: var(--cream); padding: 92px 0 64px !important; overflow: hidden; }
.ss11-hero .wrap { display: grid; grid-template-columns: 1.08fr .92fr; gap: 60px; align-items: center; }
.ss11-hero-label { display: flex; align-items: center; gap: 12px; }
.ss11-hero-label .dash { width: 28px; height: 2px; background: var(--sienna); }
.ss11-hero .eyebrow { color: var(--marigold); }
.ss11-hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.03; margin-top: 20px; max-width: 13ch; }
.ss11-hero .lede { color: #eee8ff; font-size: 15.5px; max-width: 51ch; margin-top: 20px; }
.ss11-hero-ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.ss11-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss11-hero-stats > div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss11-hero-stats .num { font: 700 19px var(--mono); color: var(--marigold); }
.ss11-hero-stats .label { font-size: 10.5px; color: #ded6f2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss11-video-stack { position: relative; padding: 30px 30px 30px 0; }
.ss11-stack-panel { position: absolute; width: 90%; height: 92%; border-radius: 8px; }
.ss11-stack-panel.teal { background: var(--teal); top: -14px; left: -14px; transform: rotate(-3deg); }
.ss11-stack-panel.sienna { background: var(--sienna); right: -14px; bottom: -14px; transform: rotate(3deg); opacity: .85; }
.ss11-video-frame { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; background: #21162f; border: 2px solid rgba(247,243,236,.12); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); }
.ss11-video-frame video, .ss11-video-card video { width: 100%; height: 100%; object-fit: cover; display: block; background: #21162f; }
.ss11-fade-bar { height: 6px; background: linear-gradient(90deg,var(--sienna),var(--marigold),var(--teal)); }
.ss11-section-head h2 { font-size: clamp(28px,3.4vw,40px); line-height: 1.14; margin-top: 14px; max-width: 22ch; }
.ss11-section-head p { font-size: 15.5px; margin-top: 16px; max-width: 56ch; }
.ss11-env .wrap, .ss11-method .wrap, .ss11-contact .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.ss11-studio-photo, .ss11-studio-shot { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--paper-dim); box-shadow: 0 24px 50px -34px rgba(30,18,48,.55); }
.ss11-studio-photo { aspect-ratio: 4/5; }
.ss11-studio-photo img, .ss11-studio-shot img { width: 100%; height: 100%; object-fit: cover; }
.ss11-action-list { margin-top: 24px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--paper); }
.ss11-action-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-bottom: 1px solid var(--line); border-left: 4px solid var(--sienna); font: 700 13px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.ss11-action-row:nth-child(even) { border-left-color: var(--teal); }
.ss11-action-row:last-child { border-bottom: 0; }
.ss11-action-row:hover { background: var(--paper-dim); }
.ss11-action-row .arrow { color: var(--sienna); font-family: var(--sans); }
.ss11-method { background: var(--paper-dim); }
.ss11-method .wrap { grid-template-columns: 1.15fr .85fr; align-items: start; }
.ss11-method-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.ss11-method-card { background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: 20px 22px; }
.ss11-method-card:nth-child(3) { grid-column: 1 / 3; max-width: 50%; }
.ss11-method-card h3 { font-family: var(--sans); font-size: 14.5px; font-weight: 800; color: var(--ink); }
.ss11-method-card p { font-size: 13px; margin-top: 8px; }
.ss11-video-card { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; box-shadow: 0 24px 52px -36px rgba(30,18,48,.45); }
.ss11-video-card .media { aspect-ratio: 16/9; overflow: hidden; background: #21162f; }
.ss11-video-card .cap { padding: 18px 20px; }
.ss11-video-card h3 { font: 800 14px var(--sans); color: var(--teal-dark); text-transform: uppercase; }
.ss11-video-card p { font-size: 13px; margin-top: 8px; }
.ss11-pillars { background: var(--paper); }
.ss11-pillar-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ss11-pillar-card { display: flex; gap: 20px; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--sienna); border-radius: 6px; padding: 26px; }
.ss11-pillar-card:nth-child(2) { border-left-color: var(--teal); }
.ss11-pillar-tag { flex: 0 0 64px; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 6px; border-radius: 4px; background: var(--sienna); color: var(--cream); font: 700 10px var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.ss11-pillar-card:nth-child(2) .ss11-pillar-tag { background: var(--teal); }
.ss11-pillar-card h3 { font-size: 18px; line-height: 1.2; }
.ss11-pillar-card p { font-size: 13.5px; margin-top: 10px; }
.ss11-reviews { background: var(--paper); }
.ss11-reviews-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 20px; align-items: center; margin-top: 36px; }
.ss11-quote-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 16px) / 2); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 4px 18px; scrollbar-width: thin; scrollbar-color: var(--ink-soft) var(--line); }
.ss11-quote { min-height: 250px; scroll-snap-align: start; background: var(--paper-dim); border: 1px solid var(--line); border-radius: 6px; padding: 26px; }
.ss11-quote p { font-family: var(--serif); font-style: italic; font-size: 14.5px; color: var(--ink); }
.ss11-quote .who { font: 800 12px var(--mono); color: var(--sienna); margin-top: 16px; text-transform: uppercase; }
.ss11-scroll-track { height: 4px; background: var(--line); border-radius: 4px; position: relative; }
.ss11-scroll-track .thumb { position: absolute; left: 35%; width: 30%; height: 100%; background: var(--ink-soft); border-radius: 4px; }
.ss11-clients { background: var(--paper-dim); border-top: 1px solid var(--line); }
.ss11-client-grid { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--line); margin-top: 30px; }
.ss11-client-grid span { min-height: 72px; padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14px; color: var(--ink-soft); background: rgba(255,255,255,.34); }
.ss11-client-grid span:nth-child(5n) { border-right: 0; }
.ss11-client-grid span:nth-last-child(-n+5) { border-bottom: 0; }
.ss11-studio { background: var(--ink); color: var(--cream); }
.ss11-studio .eyebrow { color: var(--marigold); }
.ss11-studio h2 { color: var(--cream); font-size: clamp(28px,3.4vw,38px); margin-top: 14px; }
.ss11-studio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 40px; }
.ss11-studio-shot { aspect-ratio: 4/5; border-color: rgba(255,255,255,.16); }
.ss11-contact { background: linear-gradient(120deg,var(--marigold) 0%,var(--sienna) 100%); }
.ss11-contact .wrap { grid-template-columns: 1fr 1fr; }
.ss11-contact h2 { color: var(--ink); font-size: clamp(30px,3.6vw,42px); }
.ss11-contact p { color: rgba(30,18,48,.86); margin-top: 14px; max-width: 44ch; }
.ss11-contact .btn { margin-top: 22px; }
.ss11-info-block { display: flex; flex-direction: column; gap: 1px; background: rgba(30,18,48,.2); border: 1px solid rgba(30,18,48,.2); border-radius: 4px; overflow: hidden; }
.ss11-info-row { background: var(--paper); padding: 18px 22px; }
.ss11-info-row .lbl { font: 700 11px var(--mono); color: var(--teal-dark); letter-spacing: .03em; text-transform: uppercase; }
.ss11-info-row .val { color: var(--ink); font-size: 15.5px; margin-top: 6px; font-weight: 700; }
@media (max-width: 960px) {
  .ss11-hero .wrap, .ss11-env .wrap, .ss11-method .wrap, .ss11-contact .wrap { grid-template-columns: 1fr; }
  .ss11-hero-stats { grid-template-columns: repeat(2,1fr); }
  .ss11-pillar-grid, .ss11-reviews-grid, .ss11-studio-grid { grid-template-columns: 1fr; }
  .ss11-client-grid { grid-template-columns: repeat(2,1fr); }
  .ss11-client-grid span, .ss11-client-grid span:nth-child(5n), .ss11-client-grid span:nth-last-child(-n+5) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
}
@media (max-width: 680px) {
  .ss11-about section { padding: 64px 0; }
  .ss11-about .wrap { padding: 0 20px; }
  .ss11-hero { padding-top: 72px !important; }
  .ss11-hero h1 { max-width: none; }
  .ss11-hero-ctas { flex-direction: column; align-items: stretch; }
  .ss11-hero-stats, .ss11-method-cards, .ss11-client-grid { grid-template-columns: 1fr; }
  .ss11-method-card:nth-child(3) { grid-column: auto; max-width: none; }
  .ss11-pillar-card { flex-direction: column; }
  .ss11-quote-track { grid-auto-columns: 88%; }
}

body.page-id-3869 { background: #f7f3ec; }
.ss12-beginners {
  --ink: #1e1230; --ink-soft: #382a4c; --paper: #f7f3ec; --paper-dim: #e9f2ee;
  --line: #dcd3c2; --marigold: #e6a339; --sienna: #d6472b; --teal: #1f6f63; --teal-dark: #134039;
  --cream: #fbf8f2; --serif: "Fraunces", serif; --sans: "Public Sans", sans-serif; --mono: "JetBrains Mono", monospace;
  color: var(--ink); background: var(--paper); font-family: var(--sans); overflow: hidden;
}
.ss12-beginners * { box-sizing: border-box; }
.ss12-beginners a { color: inherit; text-decoration: none; }
.ss12-beginners section { padding: 80px 0; }
.ss12-beginners .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss12-beginners h1, .ss12-beginners h2, .ss12-beginners h3 { font-family: var(--serif); margin: 0; color: inherit; letter-spacing: 0; }
.ss12-beginners p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.ss12-beginners .eyebrow { font: 700 13px var(--mono); color: var(--sienna); letter-spacing: .02em; text-transform: uppercase; }
.ss12-beginners .btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border: 1.5px solid transparent; border-radius: 2px; font: 700 15px var(--sans); transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss12-beginners .btn:hover { transform: translateY(-2px); }
.ss12-beginners .btn-primary { background: var(--sienna); color: var(--cream); }
.ss12-beginners .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.55); color: var(--cream); }
.ss12-beginners .btn-outline-light:hover { background: var(--cream); color: var(--ink); }
.ss12-beginners .btn-dark { background: var(--ink); color: var(--cream); }
.ss12-hero { background: radial-gradient(ellipse at 75% 20%, #2c4a46 0%, var(--ink) 55%); color: var(--cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss12-hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss12-hero-label { display: flex; align-items: center; gap: 12px; }
.ss12-hero-label .dash { width: 28px; height: 2px; background: var(--sienna); }
.ss12-hero .eyebrow { color: var(--marigold); }
.ss12-hero h1 { font-size: clamp(34px,4.6vw,52px); line-height: 1.05; margin-top: 20px; max-width: 14ch; }
.ss12-hero .lede { color: #eee8ff; font-size: 15.5px; max-width: 50ch; margin-top: 20px; }
.ss12-hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.ss12-hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss12-hero-stats > div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss12-hero-stats .num { font: 700 18px var(--mono); color: var(--marigold); }
.ss12-hero-stats .label { font-size: 10px; color: #ded6f2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss12-video-stack { position: relative; padding: 30px 30px 30px 0; }
.ss12-stack-panel { position: absolute; width: 90%; height: 92%; border-radius: 8px; }
.ss12-stack-panel.teal { background: var(--teal); top: -14px; left: -14px; transform: rotate(-3deg); }
.ss12-stack-panel.sienna { background: var(--sienna); right: -14px; bottom: -14px; transform: rotate(3deg); opacity: .85; }
.ss12-hero-media { position: relative; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: linear-gradient(160deg,#3a536b,#1b2735); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); }
.ss12-hero-media video { width: 100%; height: 100%; display: block; object-fit: cover; background: #21162f; }
.ss12-fade-bar { height: 6px; background: linear-gradient(90deg,var(--sienna),var(--marigold),var(--teal)); }
.ss12-section-head h2 { font-size: clamp(26px,3.2vw,38px); line-height: 1.14; margin-top: 12px; max-width: 32ch; }
.ss12-section-head p { font-size: 14.5px; margin-top: 12px; max-width: 60ch; }
.ss12-jump { background: var(--paper); }
.ss12-jump-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 36px; }
.ss12-jump-btn { background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: 16px 14px; font: 700 11px var(--mono); letter-spacing: .01em; text-align: center; color: var(--ink-soft); transition: background .15s ease, border-color .15s ease; }
.ss12-jump-btn:hover { background: var(--paper-dim); border-color: var(--teal); color: var(--teal-dark); }
.ss12-unit:nth-of-type(odd) { background: var(--paper); }
.ss12-unit:nth-of-type(even) { background: var(--paper-dim); }
.ss12-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 30px; }
.ss12-media-card { min-height: 198px; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 4px; padding: 20px 22px; display: flex; flex-direction: column; transition: transform .15s ease, box-shadow .15s ease; }
.ss12-media-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(30,18,48,.09); }
.ss12-media-card:nth-child(3n+2) { border-left-color: var(--marigold); }
.ss12-media-card:nth-child(3n) { border-left-color: var(--sienna); }
.ss12-media-card .slug { font: 700 15.5px var(--serif); color: var(--ink); line-height: 1.25; }
.ss12-media-card .subtitle { font: 700 10px var(--mono); letter-spacing: .03em; color: var(--sienna); margin-top: 4px; text-transform: uppercase; }
.ss12-media-tag { display: inline-block; width: fit-content; margin-top: 12px; font: 700 10px var(--mono); letter-spacing: .04em; border-radius: 20px; padding: 3px 10px; border: 1px solid var(--line); text-transform: uppercase; }
.ss12-media-tag.flashcards { background: rgba(31,111,99,.1); color: var(--teal-dark); border-color: rgba(31,111,99,.3); }
.ss12-media-tag.quiz { background: rgba(214,71,43,.1); color: var(--sienna); border-color: rgba(214,71,43,.3); }
.ss12-media-tag.video { background: rgba(230,163,57,.15); color: #8a5c14; border-color: rgba(230,163,57,.4); }
.ss12-media-tag.exercise { background: rgba(56,42,76,.08); color: var(--ink-soft); border-color: var(--line); }
.ss12-media-tag.resource { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.ss12-media-card h3 { font: 800 14.5px var(--sans); margin-top: 12px; color: var(--ink); }
.ss12-media-card .cat { font-size: 12px; color: var(--ink-soft); margin-top: 6px; line-height: 1.4; }
.ss12-media-card .open { display: inline-block; margin-top: auto; padding-top: 12px; font: 800 11px var(--mono); letter-spacing: .03em; color: var(--teal-dark); }
.ss12-enroll { background: var(--paper-dim); }
.ss12-enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss12-info-block { margin-top: 28px; display: flex; flex-direction: column; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.ss12-info-row { background: var(--paper); padding: 18px 22px; }
.ss12-info-row .lbl { font: 700 11px var(--mono); color: var(--teal-dark); letter-spacing: .03em; text-transform: uppercase; }
.ss12-info-row .val { color: var(--ink); font-size: 15.5px; margin-top: 6px; font-weight: 700; }
.ss12-enroll .wpcf7 { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 34px; }
.ss12-enroll .wpcf7-form { display: grid; gap: 14px; }
.ss12-enroll .wpcf7-form p { margin: 0; }
.ss12-enroll .wpcf7-form label { display: grid; gap: 7px; font: 700 11.5px var(--mono); color: var(--ink-soft); }
.ss12-enroll input, .ss12-enroll textarea { width: 100%; border: 1px solid var(--line); border-radius: 2px; padding: 12px 14px; font-family: var(--sans); font-size: 14.5px; background: #fffaf1; color: var(--ink); }
.ss12-enroll textarea { min-height: 150px; resize: vertical; }
.ss12-enroll .wpcf7-submit { min-height: 52px; background: var(--ink); color: var(--cream); border-color: var(--ink); font-weight: 700; cursor: pointer; }
@media (max-width: 960px) {
  .ss12-hero .wrap, .ss12-enroll .wrap { grid-template-columns: 1fr; }
  .ss12-hero-stats { grid-template-columns: repeat(2,1fr); }
  .ss12-card-grid { grid-template-columns: 1fr 1fr; }
  .ss12-jump-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .ss12-beginners section { padding: 64px 0; }
  .ss12-beginners .wrap { padding: 0 22px; }
  .ss12-hero { padding-top: 62px !important; }
  .ss12-hero-stats, .ss12-card-grid, .ss12-jump-grid { grid-template-columns: 1fr; }
}
/* Description of Levels page v13 from supplied spanish-levels.html design */
body.page-id-3864 .site-content,
body.page-id-3864 .entry-content,
body.page-id-3864 .elementor,
body.page-id-3864 .elementor-section-wrap { background: #F7F3EC; }

.ss13-levels {
  --ss13-ink: #1E1230;
  --ss13-ink-soft: #382A4C;
  --ss13-paper: #F7F3EC;
  --ss13-paper-dim: #E9F2EE;
  --ss13-line: #DCD3C2;
  --ss13-marigold: #E6A339;
  --ss13-sienna: #D6472B;
  --ss13-teal: #1F6F63;
  --ss13-teal-dark: #134039;
  --ss13-cream: #FBF8F2;
  --ss13-serif: "Fraunces", serif;
  --ss13-sans: "Public Sans", sans-serif;
  --ss13-mono: "JetBrains Mono", monospace;
  color: var(--ss13-ink);
  background: var(--ss13-paper);
  font-family: var(--ss13-sans);
  -webkit-font-smoothing: antialiased;
}
.ss13-levels * { box-sizing: border-box; }
.ss13-levels img { max-width: 100%; display: block; }
.ss13-levels a { color: inherit; text-decoration: none; }
.ss13-levels section { padding: 96px 0; }
.ss13-levels .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss13-levels h1,
.ss13-levels h2,
.ss13-levels h3 { font-family: var(--ss13-serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss13-levels .eyebrow { font-family: var(--ss13-mono); font-size: 13px; color: var(--ss13-sienna); letter-spacing: .02em; font-weight: 700; }
.ss13-levels .section-head h2 { font-size: clamp(28px,3.4vw,42px); margin-top: 14px; line-height: 1.12; max-width: 24ch; }
.ss13-levels .section-head p { font-size: 15.5px; color: var(--ss13-ink-soft); margin-top: 16px; max-width: 64ch; line-height: 1.65; }
.ss13-levels .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--ss13-sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss13-levels .btn:hover { transform: translateY(-2px); }
.ss13-levels .btn-primary { background: var(--ss13-sienna); color: var(--ss13-cream); }
.ss13-levels .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.55); color: var(--ss13-cream); }
.ss13-levels .btn-outline-light:hover { background: var(--ss13-cream); color: var(--ss13-ink); }

.ss13-levels .hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ss13-ink) 55%); color: var(--ss13-cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss13-levels .hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss13-levels .hero-label { display: flex; align-items: center; gap: 12px; }
.ss13-levels .hero-label .dash { width: 28px; height: 2px; background: var(--ss13-sienna); }
.ss13-levels .hero .eyebrow { color: var(--ss13-marigold); }
.ss13-levels .hero h1 { font-size: clamp(36px,4.8vw,54px); line-height: 1.05; margin-top: 20px; }
.ss13-levels .hero p.lede { font-size: 15.5px; line-height: 1.65; color: #CFC8E0; max-width: 48ch; margin: 20px 0 0; }
.ss13-levels .hero-ctas { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.ss13-levels .hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss13-levels .hero-stats div { background: rgba(247,243,236,.06); border: 1px solid rgba(247,243,236,.14); border-radius: 4px; padding: 16px 14px; }
.ss13-levels .hero-stats strong { display: block; font-family: var(--ss13-mono); font-size: 19px; color: var(--ss13-marigold); font-weight: 700; line-height: 1.2; }
.ss13-levels .hero-stats span { display: block; font-size: 10.5px; color: #B6ACCD; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss13-levels .hero-stack { position: relative; padding: 30px 30px 30px 0; }
.ss13-levels .stack-panel { position: absolute; border-radius: 8px; }
.ss13-levels .stack-panel.teal { background: var(--ss13-teal); width: 90%; height: 92%; top: -14px; left: -14px; transform: rotate(-3deg); }
.ss13-levels .stack-panel.sienna { background: var(--ss13-sienna); width: 90%; height: 92%; bottom: -14px; right: -14px; transform: rotate(3deg); opacity: .85; }
.ss13-levels .hero-card { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #0C0C10; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); margin: 0; }
.ss13-levels .hero-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss13-levels .fade-bar { height: 6px; background: linear-gradient(90deg,var(--ss13-sienna),var(--ss13-marigold),var(--ss13-teal)); }

.ss13-levels .jumpnav { padding: 64px 0 !important; }
.ss13-levels .jump-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; align-items: center; }
.ss13-levels .jump-btn { flex: 0 0 auto; background: rgba(255,255,255,.88); border: 1px solid var(--ss13-line); border-radius: 20px; padding: 11px 20px; font-family: var(--ss13-mono); font-size: 12px; font-weight: 700; color: var(--ss13-ink); box-shadow: 0 14px 34px rgba(30,18,48,.08); white-space: nowrap; transition: all .15s ease; }
.ss13-levels .jump-btn:hover { background: var(--ss13-ink); color: var(--ss13-cream); border-color: var(--ss13-ink); transform: translateY(-2px); }

.ss13-levels .level-section { background: var(--ss13-paper-dim); }
.ss13-levels .level-list { display: grid; gap: 22px; margin-top: 34px; }
.ss13-levels .level-card { display: grid; grid-template-columns: 76px 1fr; gap: 24px; background: var(--ss13-paper); border: 1px solid var(--ss13-line); border-radius: 0 6px 6px 0; border-left: 5px solid var(--ss13-teal); padding: 30px 34px; scroll-margin-top: 120px; box-shadow: 0 14px 36px rgba(30,18,48,.05); }
.ss13-levels .level-card:nth-child(odd) { border-left-color: var(--ss13-sienna); }
.ss13-levels .level-num { font-family: var(--ss13-mono); font-size: 15px; color: var(--ss13-sienna); font-weight: 700; padding-top: 6px; }
.ss13-levels .level-body span { display: block; font-family: var(--ss13-mono); font-size: 11px; color: var(--ss13-teal-dark); letter-spacing: .04em; text-transform: uppercase; font-weight: 700; }
.ss13-levels .level-body h3 { font-size: 24px; margin-top: 8px; }
.ss13-levels .level-body p { font-size: 14.8px; color: var(--ss13-ink-soft); line-height: 1.75; margin: 14px 0 0; max-width: 82ch; }

.ss13-levels .graphics { background: linear-gradient(120deg,var(--ss13-marigold) 0%,var(--ss13-sienna) 100%); }
.ss13-levels .graphics .eyebrow { color: rgba(30,18,48,.84); }
.ss13-levels .graphics h2 { color: var(--ss13-cream); font-size: clamp(28px,3.4vw,42px); margin-top: 14px; }
.ss13-levels .graphics .lead { color: var(--ss13-cream); opacity: .92; margin-top: 14px; font-size: 15px; max-width: 70ch; line-height: 1.6; }
.ss13-levels .gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 40px; }
.ss13-levels .gal-card { border-radius: 6px; overflow: hidden; background: var(--ss13-ink); box-shadow: 0 20px 44px rgba(30,18,48,.18); }
.ss13-levels .gal-card .ph { aspect-ratio: 4 / 3; overflow: hidden; background: #150C22; }
.ss13-levels .gal-card .ph img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss13-levels .gal-card .cap { padding: 12px 14px; font-size: 13px; color: var(--ss13-cream); font-weight: 700; text-align: center; }

.ss13-levels .enroll { background: var(--ss13-paper-dim); }
.ss13-levels .enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss13-levels .info-block { margin-top: 30px; display: flex; flex-direction: column; gap: 1px; background: var(--ss13-line); border: 1px solid var(--ss13-line); border-radius: 4px; overflow: hidden; }
.ss13-levels .info-block div { background: var(--ss13-paper); padding: 18px 22px; }
.ss13-levels .info-block span { display: block; font-family: var(--ss13-mono); font-size: 11px; color: var(--ss13-teal-dark); letter-spacing: .03em; font-weight: 700; }
.ss13-levels .info-block strong { display: block; color: var(--ss13-ink-soft); font-size: 15.5px; margin-top: 6px; line-height: 1.5; }
.ss13-levels .form-shell { background: var(--ss13-paper); border: 1px solid var(--ss13-line); border-radius: 6px; padding: 34px; box-shadow: 0 18px 42px rgba(30,18,48,.08); color: var(--ss13-ink); }
.ss13-levels .form-shell input,
.ss13-levels .form-shell textarea { width: 100%; border: 1px solid var(--ss13-line); border-radius: 2px; padding: 12px 14px; font-family: var(--ss13-sans); font-size: 14.5px; background: var(--ss13-paper-dim); color: var(--ss13-ink); }
.ss13-levels .form-shell textarea { min-height: 110px; resize: vertical; }
.ss13-levels .form-shell label,
.ss13-levels .form-shell p { color: var(--ss13-ink-soft); }
.ss13-levels .form-shell input[type="submit"],
.ss13-levels .form-shell button { background: var(--ss13-ink); color: var(--ss13-cream); border-color: var(--ss13-ink); font-weight: 700; cursor: pointer; }

@media (max-width: 960px) {
  .ss13-levels section { padding: 72px 0; }
  .ss13-levels .hero .wrap,
  .ss13-levels .enroll .wrap { grid-template-columns: 1fr; }
  .ss13-levels .hero-stats,
  .ss13-levels .gallery-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .ss13-levels .wrap { padding: 0 22px; }
  .ss13-levels .hero-stats,
  .ss13-levels .gallery-grid { grid-template-columns: 1fr; }
  .ss13-levels .level-card { grid-template-columns: 1fr; gap: 8px; padding: 26px 24px; }
  .ss13-levels .jump-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; }
}

/* Advanced resources page v14 from supplied spanish-advanced-resources.html design */
body.page-id-3872 .site-content,
body.page-id-3872 .entry-content,
body.page-id-3872 .elementor,
body.page-id-3872 .elementor-section-wrap { background: #F7F3EC; }

.ss14-advanced {
  --ink: #1E1230; --ink-soft: #382A4C; --paper: #F7F3EC; --paper-dim: #E9F2EE;
  --line: #DCD3C2; --marigold: #E6A339; --sienna: #D6472B; --teal: #1F6F63; --teal-dark: #134039;
  --cream: #FBF8F2; --serif: "Fraunces", serif; --sans: "Public Sans", sans-serif; --mono: "JetBrains Mono", monospace;
  color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased;
}
.ss14-advanced * { box-sizing: border-box; }
.ss14-advanced img { max-width: 100%; display: block; }
.ss14-advanced a { color: inherit; text-decoration: none; }
.ss14-advanced section { padding: 80px 0; }
.ss14-advanced .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss14-advanced h1, .ss14-advanced h2, .ss14-advanced h3 { font-family: var(--serif); margin: 0; color: inherit; letter-spacing: 0; }
.ss14-advanced p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.ss14-advanced .eyebrow { font: 700 13px var(--mono); color: var(--sienna); letter-spacing: .02em; text-transform: uppercase; }
.ss14-advanced .btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border: 1.5px solid transparent; border-radius: 2px; font: 700 15px var(--sans); transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss14-advanced .btn:hover { transform: translateY(-2px); }
.ss14-advanced .btn-primary { background: var(--sienna); color: var(--cream); }
.ss14-advanced .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.55); color: var(--cream); }
.ss14-advanced .btn-outline-light:hover { background: var(--cream); color: var(--ink); }
.ss14-advanced .hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ink) 55%); color: var(--cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss14-advanced .hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss14-advanced .hero-label { display: flex; align-items: center; gap: 12px; }
.ss14-advanced .hero-label .dash { width: 28px; height: 2px; background: var(--sienna); }
.ss14-advanced .hero .eyebrow { color: var(--marigold); }
.ss14-advanced .hero h1 { font-size: clamp(34px,4.6vw,52px); line-height: 1.05; margin-top: 20px; }
.ss14-advanced .hero .lede { color: #CFC8E0; font-size: 15.5px; max-width: 50ch; margin-top: 20px; }
.ss14-advanced .hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.ss14-advanced .hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss14-advanced .hero-stats > div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss14-advanced .hero-stats strong { display: block; font: 700 18px var(--mono); color: var(--marigold); line-height: 1.2; }
.ss14-advanced .hero-stats span { display: block; font-size: 10px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss14-advanced .hero-video-stack { position: relative; padding: 30px 30px 30px 0; }
.ss14-advanced .stack-panel { position: absolute; border-radius: 8px; width: 90%; height: 92%; }
.ss14-advanced .stack-panel.teal { background: var(--teal); top: -14px; left: -14px; transform: rotate(-3deg); }
.ss14-advanced .stack-panel.sienna { background: var(--sienna); right: -14px; bottom: -14px; transform: rotate(3deg); opacity: .85; }
.ss14-advanced .hero-media { position: relative; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: #3A3A3F; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); margin: 0; }
.ss14-advanced .hero-media img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 28px; background: #fff; }
.ss14-advanced .fade-bar { height: 6px; background: linear-gradient(90deg,var(--sienna),var(--marigold),var(--teal)); }
.ss14-advanced .section-head h2 { font-size: clamp(26px,3.2vw,38px); margin-top: 12px; line-height: 1.14; max-width: 32ch; }
.ss14-advanced .section-head p { font-size: 14.5px; margin-top: 12px; max-width: 60ch; }
.ss14-advanced .jump { background: var(--paper); }
.ss14-advanced .jump-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 28px; }
.ss14-advanced .jump-btn { background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: 16px 14px; font: 700 11px var(--mono); letter-spacing: .01em; text-align: center; color: var(--ink); transition: background .15s ease, border-color .15s ease; }
.ss14-advanced .jump-btn:hover, .ss14-advanced .jump-btn.active { background: var(--paper-dim); border-color: var(--teal); color: var(--teal-dark); }
.ss14-advanced .resources { background: var(--paper); }
.ss14-advanced .card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 30px; }
.ss14-advanced .media-card { min-height: 100%; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; transition: transform .15s ease, box-shadow .15s ease; }
.ss14-advanced .media-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(30,18,48,.09); }
.ss14-advanced .media-card.c-b { border-left-color: var(--marigold); }
.ss14-advanced .media-card.c-c { border-left-color: var(--sienna); }
.ss14-advanced .media-card .thumb { min-height: 146px; display: grid; place-items: center; background: #fff; border-bottom: 1px solid var(--line); padding: 18px; }
.ss14-advanced .media-card .thumb img { max-height: 120px; width: auto; object-fit: contain; }
.ss14-advanced .card-copy { display: flex; flex-direction: column; flex: 1; padding: 20px 22px; }
.ss14-advanced .media-tag { width: fit-content; display: inline-block; font: 700 10px var(--mono); letter-spacing: .04em; border-radius: 20px; padding: 4px 10px; background: var(--ink); color: var(--cream); }
.ss14-advanced .media-tag.exercise { background: rgba(214,71,43,.12); color: var(--sienna); }
.ss14-advanced .media-tag.reference { background: rgba(31,111,99,.12); color: var(--teal-dark); }
.ss14-advanced .media-card h3 { font-family: var(--sans); font-weight: 700; font-size: 16px; margin-top: 14px; letter-spacing: 0; }
.ss14-advanced .media-card p { font-size: 13px; margin-top: 6px; }
.ss14-advanced .media-card .open { display: inline-block; margin-top: auto; padding-top: 18px; font: 700 11px var(--mono); letter-spacing: .03em; color: var(--teal-dark); text-transform: uppercase; }
.ss14-advanced .enroll { background: var(--paper-dim); }
.ss14-advanced .enroll .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.ss14-advanced .info-block { margin-top: 28px; display: flex; flex-direction: column; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.ss14-advanced .info-block div { background: var(--paper); padding: 18px 22px; }
.ss14-advanced .info-block span { display: block; font: 700 11px var(--mono); color: var(--teal-dark); letter-spacing: .03em; }
.ss14-advanced .info-block strong { display: block; color: var(--ink-soft); font-size: 15.5px; margin-top: 6px; line-height: 1.5; }
.ss14-advanced .form-card { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 34px; box-shadow: 0 18px 42px rgba(30,18,48,.08); color: var(--ink); }
.ss14-advanced .form-card input,
.ss14-advanced .form-card textarea { width: 100%; border: 1px solid var(--line); border-radius: 2px; padding: 12px 14px; font-family: var(--sans); font-size: 14.5px; background: var(--paper-dim); color: var(--ink); }
.ss14-advanced .form-card textarea { min-height: 130px; resize: vertical; }
.ss14-advanced .form-card label,
.ss14-advanced .form-card p { color: var(--ink-soft); }
.ss14-advanced .form-card input[type="submit"],
.ss14-advanced .form-card button { background: var(--ink); color: var(--cream); border-color: var(--ink); font-weight: 700; cursor: pointer; }
@media (max-width: 960px) {
  .ss14-advanced .hero .wrap,
  .ss14-advanced .enroll .wrap { grid-template-columns: 1fr; }
  .ss14-advanced .hero-stats,
  .ss14-advanced .jump-grid,
  .ss14-advanced .card-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .ss14-advanced section { padding: 64px 0; }
  .ss14-advanced .wrap { padding: 0 22px; }
  .ss14-advanced .hero-stats,
  .ss14-advanced .jump-grid,
  .ss14-advanced .card-grid { grid-template-columns: 1fr; }
}

/* Special Programs page v15 from supplied spanish-special-programs.html design */
body.page-template-elementor_header_footer.page .ss15-programs { margin-top: 0; }
body .ss15-programs {
  --ink: #1E1230; --ink-soft: #382A4C; --paper: #F7F3EC; --paper-dim: #E9F2EE;
  --line: #DCD3C2; --marigold: #E6A339; --sienna: #D6472B; --teal: #1F6F63; --teal-dark: #134039;
  --cream: #FBF8F2; --serif: "Fraunces", serif; --sans: "Public Sans", sans-serif; --mono: "JetBrains Mono", monospace;
  color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased;
}
.ss15-programs * { box-sizing: border-box; }
.ss15-programs a { color: var(--sienna); text-decoration: underline; text-underline-offset: 2px; }
.ss15-programs a:hover { color: #B93A22; }
.ss15-programs section { padding: 80px 0; }
.ss15-programs .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss15-programs h1, .ss15-programs h2, .ss15-programs h3 { font-family: var(--serif); margin: 0; font-weight: 700; color: inherit; letter-spacing: 0; }
.ss15-programs .eyebrow { font-family: var(--mono); font-size: 13px; color: var(--sienna); letter-spacing: .02em; font-weight: 700; text-transform: uppercase; }
.ss15-programs .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font-family: var(--sans); font-weight: 700; font-size: 15px; border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; text-decoration: none; }
.ss15-programs .btn-dark { background: var(--ink); color: var(--cream); }
.ss15-programs .title-hero { position: relative; background: radial-gradient(ellipse at 70% 25%,#2C4A46 0%,var(--ink) 60%); min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; text-align: center; padding: 110px 24px 92px; }
.ss15-programs .title-hero .hero-label { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ss15-programs .title-hero .dash { width: 28px; height: 2px; background: var(--sienna); }
.ss15-programs .title-hero .eyebrow { color: var(--marigold); }
.ss15-programs .title-hero h1 { font-family: var(--sans); font-weight: 700; letter-spacing: .14em; font-size: clamp(30px,4vw,48px); color: var(--cream); text-transform: uppercase; }
.ss15-programs .title-hero p { margin: 20px auto 0; font-size: 15px; color: #CFC8E0; max-width: 58ch; line-height: 1.6; }
.ss15-programs .scroll-chevron { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); color: var(--cream); font-size: 28px; opacity: .85; text-decoration: none; }
.ss15-programs .fade-bar { height: 6px; background: linear-gradient(90deg,var(--sienna),var(--marigold),var(--teal)); }
.ss15-programs .editorial { background: var(--paper); }
.ss15-programs .ed-grid { display: grid; grid-template-columns: 260px 1fr; gap: 64px; align-items: start; }
.ss15-programs .toc { position: sticky; top: 110px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--paper); box-shadow: 0 14px 34px rgba(30,18,48,.06); }
.ss15-programs .toc a { display: block; padding: 14px 20px; font-family: var(--mono); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--line); border-left: 4px solid var(--teal); }
.ss15-programs .toc a:last-child { border-bottom: 0; }
.ss15-programs .toc a:nth-child(2) { border-left-color: var(--marigold); }
.ss15-programs .toc a:nth-child(3) { border-left-color: var(--sienna); }
.ss15-programs .toc a:nth-child(4) { border-left-color: var(--teal); }
.ss15-programs .toc a:hover { background: var(--paper-dim); color: var(--teal-dark); }
.ss15-programs .content h2 { font-size: 24px; margin-bottom: 6px; scroll-margin-top: 120px; }
.ss15-programs .content h2.first { margin-top: 0; }
.ss15-programs .content h2:not(.first) { margin-top: 56px; }
.ss15-programs .content h3.subhead { font-family: var(--sans); font-weight: 700; font-size: 15.5px; margin-top: 30px; color: var(--teal-dark); }
.ss15-programs .content p { font-size: 15px; line-height: 1.75; color: var(--ink-soft); margin: 16px 0 0; }
.ss15-programs .content ul.bullets { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ss15-programs .content ul.bullets li { font-size: 15px; line-height: 1.6; color: var(--ink-soft); padding-left: 20px; position: relative; }
.ss15-programs .content ul.bullets li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--sienna); }
.ss15-programs .program-list { margin-top: 20px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; box-shadow: 0 14px 34px rgba(30,18,48,.05); }
.ss15-programs .program-list .row { display: block; padding: 18px 22px; border-bottom: 1px solid var(--line); border-left: 4px solid var(--teal); text-decoration: none; background: rgba(255,255,255,.34); }
.ss15-programs .program-list .row:nth-child(2) { border-left-color: var(--marigold); }
.ss15-programs .program-list .row:nth-child(3) { border-left-color: var(--sienna); }
.ss15-programs .program-list .row:last-child { border-bottom: 0; }
.ss15-programs .program-list .row:hover { background: var(--paper-dim); }
.ss15-programs .program-list .name { font-family: var(--sans); font-weight: 700; font-size: 14.5px; color: var(--ink); text-decoration: none; }
.ss15-programs .program-list .detail { display: block; font-size: 13px; color: var(--ink-soft); margin-top: 4px; text-decoration: none; line-height: 1.45; }
.ss15-programs .divider { height: 1px; background: var(--line); margin: 56px 0; }
.ss15-programs .program-cta { margin-top: 42px; padding: 24px; background: var(--paper-dim); border: 1px solid var(--line); border-left: 5px solid var(--sienna); border-radius: 6px; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.ss15-programs .program-cta span { font-family: var(--serif); font-size: 20px; font-weight: 700; color: var(--ink); }
@media (max-width: 900px) {
  .ss15-programs .ed-grid { grid-template-columns: 1fr; gap: 34px; }
  .ss15-programs .toc { position: static; }
}
@media (max-width: 620px) {
  .ss15-programs section { padding: 64px 0; }
  .ss15-programs .wrap { padding: 0 22px; }
  .ss15-programs .title-hero { min-height: 440px; padding-top: 86px; }
}

/* Books and Materials page v16 from supplied spanish-books-materials.html design */
.ss16-books {
  --ink: #1E1230; --ink-soft: #382A4C; --paper: #F7F3EC; --paper-dim: #E9F2EE;
  --line: #DCD3C2; --marigold: #E6A339; --sienna: #D6472B; --teal: #1F6F63; --teal-dark: #134039;
  --cream: #FBF8F2; --serif: "Fraunces", serif; --sans: "Public Sans", sans-serif; --mono: "JetBrains Mono", monospace;
  color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased;
}
.ss16-books * { box-sizing: border-box; }
.ss16-books img { max-width: 100%; display: block; }
.ss16-books a { color: inherit; text-decoration: none; }
.ss16-books section { padding: 80px 0; }
.ss16-books .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.ss16-books h1, .ss16-books h2, .ss16-books h3 { font-family: var(--serif); margin: 0; color: inherit; letter-spacing: 0; }
.ss16-books p { margin: 0; color: var(--ink-soft); line-height: 1.75; }
.ss16-books .eyebrow { font: 700 13px var(--mono); color: var(--sienna); letter-spacing: .02em; text-transform: uppercase; }
.ss16-books .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; font: 700 15px var(--sans); border: 1.5px solid transparent; cursor: pointer; border-radius: 2px; transition: transform .15s ease, background .2s ease, color .2s ease; }
.ss16-books .btn:hover { transform: translateY(-2px); }
.ss16-books .btn-primary { background: var(--sienna); color: var(--cream); }
.ss16-books .btn-outline-light { background: transparent; border-color: rgba(247,243,236,.55); color: var(--cream); }
.ss16-books .btn-outline-light:hover { background: var(--cream); color: var(--ink); }
.ss16-books .btn-dark { background: var(--ink); color: var(--cream); }
.ss16-books .hero { background: radial-gradient(ellipse at 75% 20%, #2C4A46 0%, var(--ink) 55%); color: var(--cream); padding: 90px 0 60px !important; overflow: hidden; }
.ss16-books .hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ss16-books .hero-label { display: flex; align-items: center; gap: 12px; }
.ss16-books .hero-label .dash { width: 28px; height: 2px; background: var(--sienna); }
.ss16-books .hero .eyebrow { color: var(--marigold); }
.ss16-books .hero h1 { font-size: clamp(38px,5vw,58px); line-height: 1.05; margin-top: 20px; }
.ss16-books .hero p.lede { color: #CFC8E0; font-size: 15.5px; max-width: 50ch; margin-top: 20px; }
.ss16-books .hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.ss16-books .hero-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 42px; }
.ss16-books .hero-stats > div { background: rgba(247,243,236,.08); border: 1px solid rgba(247,243,236,.16); border-radius: 4px; padding: 16px 14px; }
.ss16-books .hero-stats strong { display: block; font: 700 18px var(--mono); color: var(--marigold); line-height: 1.2; }
.ss16-books .hero-stats span { display: block; font-size: 10.5px; color: #DED6F2; margin-top: 4px; letter-spacing: .02em; text-transform: uppercase; }
.ss16-books .hero-stack { position: relative; padding: 30px 30px 30px 0; }
.ss16-books .stack-panel { position: absolute; border-radius: 8px; width: 90%; height: 92%; }
.ss16-books .stack-panel.teal { background: var(--teal); top: -14px; left: -14px; transform: rotate(-3deg); }
.ss16-books .stack-panel.sienna { background: var(--sienna); right: -14px; bottom: -14px; transform: rotate(3deg); opacity: .85; }
.ss16-books .hero-media { position: relative; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: #0C0C10; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); border: 2px solid rgba(247,243,236,.1); margin: 0; }
.ss16-books .hero-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ss16-books .fade-bar { height: 6px; background: linear-gradient(90deg,var(--sienna),var(--marigold),var(--teal)); }
.ss16-books .article { background: var(--paper); padding: 80px 0 110px; }
.ss16-books .article-wrap { max-width: 820px; margin: 0 auto; padding: 0 32px; }
.ss16-books .kicker { display: block; font: 700 13px var(--mono); color: var(--sienna); letter-spacing: .03em; margin-bottom: 6px; text-transform: uppercase; }
.ss16-books .article h2.h-main { font-size: clamp(26px,3.2vw,38px); margin: 0 0 40px; line-height: 1.14; }
.ss16-books .book-block { margin-top: 44px; }
.ss16-books .book-block.feature { padding: 24px; background: var(--paper-dim); border: 1px solid var(--line); border-left: 5px solid var(--teal); border-radius: 6px; }
.ss16-books .book-block.feature + .book-block.feature { border-left-color: var(--sienna); }
.ss16-books .book-block h3 { font-size: 21px; line-height: 1.35; }
.ss16-books .book-block p { font-size: 15.5px; margin-top: 12px; }
.ss16-books .book-block p strong { color: var(--ink); }
.ss16-books .dl-link { display: inline-block; margin-top: 16px; font-size: 14.5px; font-weight: 700; color: #C7862A; border-bottom: 1px solid var(--marigold); padding-bottom: 2px; }
.ss16-books .dl-link:hover { color: var(--sienna); border-color: var(--sienna); }
.ss16-books .divider { height: 1px; background: var(--line); margin: 52px 0; }
.ss16-books .support-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 22px; }
.ss16-books .support-grid article { background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 6px; padding: 20px; box-shadow: 0 14px 34px rgba(30,18,48,.05); }
.ss16-books .support-grid article:nth-child(2) { border-left-color: var(--marigold); }
.ss16-books .support-grid article:nth-child(3) { border-left-color: var(--sienna); }
.ss16-books .support-grid h3 { font-size: 17px; }
.ss16-books .support-grid p { font-size: 14px; margin-top: 10px; line-height: 1.65; }
.ss16-books .book-cta { margin-top: 46px; padding: 24px; background: var(--paper-dim); border: 1px solid var(--line); border-left: 5px solid var(--sienna); border-radius: 6px; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.ss16-books .book-cta span { font-family: var(--serif); font-size: 20px; font-weight: 700; color: var(--ink); }
@media (max-width: 960px) {
  .ss16-books .hero .wrap { grid-template-columns: 1fr; }
  .ss16-books .hero-stats { grid-template-columns: repeat(2,1fr); }
  .ss16-books .support-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .ss16-books section { padding: 64px 0; }
  .ss16-books .wrap,
  .ss16-books .article-wrap { padding: 0 22px; }
  .ss16-books .hero-stats { grid-template-columns: 1fr; }
}

/* Global Elementor header/footer aligned to supplied new HTML designs */
.ss3-global-header {
  position: sticky !important;
  top: 0;
  z-index: 9999;
  background: transparent !important;
  box-shadow: none !important;
}
.elementor-location-header,
.elementor-location-header > .elementor,
.elementor-location-header .elementor-element,
.elementor-location-header .elementor-widget,
.elementor-location-header .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.elementor-location-header {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-location-header .elementor-widget-text-editor p {
  margin: 0 !important;
}
.ss3-global-header,
.ss3-global-header > .e-con-inner {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.ss3-global-header .ss3-topbar {
  background: #134039 !important;
  color: #E6A339 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.ss3-global-header .ss3-topbar .elementor-widget-container {
  min-height: 29px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  padding: 8px 20px !important;
  color: #FFFFFF !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: center;
}
.ss3-global-header .ss3-header {
  background: rgba(247,243,236,.94) !important;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #DCD3C2 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.ss3-global-header .ss3-pad,
.ss3-global-header .e-con.ss3-pad {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  --padding-left: 32px !important;
  --padding-right: 32px !important;
}
.ss3-global-header .ss3-nav-row,
.ss3-global-header .e-con.ss3-nav-row > .e-con-inner {
  min-height: 78px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.ss3-global-header .ss3-brand-mark {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  background: #D6472B !important;
  color: #FBF8F2 !important;
  font-family: "Fraunces", serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  transform: rotate(-4deg);
}
.ss3-global-header .ss3-brand-text strong {
  color: #1E1230 !important;
  font-family: "Fraunces", serif !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.ss3-global-header .ss3-brand-text span {
  display: block;
  color: #382A4C !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 10px !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  opacity: .72;
}
.ss3-global-header .ss3-elementor-nav {
  margin-left: auto !important;
  width: auto !important;
}
.ss3-global-header .elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  column-gap: 24px !important;
  row-gap: 8px !important;
}
.ss3-global-header .elementor-nav-menu--main .elementor-item {
  color: #382A4C !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 6px 0 !important;
  white-space: nowrap;
}
.ss3-global-header .elementor-nav-menu--main .elementor-item:hover,
.ss3-global-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #1F6F63 !important;
}
.ss3-global-header .elementor-nav-menu--main .elementor-item::after {
  background: #D6472B !important;
  height: 2px !important;
}
.ss3-global-header .ss3-btn-primary .elementor-button {
  min-height: 54px !important;
  padding: 0 26px !important;
  border-radius: 8px !important;
  background: #1E1230 !important;
  color: #FBF8F2 !important;
  border: 0 !important;
  box-shadow: 0 18px 38px rgba(30,18,48,.16) !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.ss3-global-header .elementor-menu-toggle {
  border-radius: 8px !important;
  color: #1E1230 !important;
  background: rgba(214,71,43,.12) !important;
}

.ss3-global-footer {
  background: #150C22 !important;
  color: #9C8FB6 !important;
  min-height: auto !important;
  padding: 36px 20px !important;
  text-align: center !important;
  overflow: hidden;
}
.ss3-global-footer::before { display: none !important; }
.ss3-global-footer .ss3-footer-legacy,
.ss3-global-footer .ss3-footer-legacy > .e-con-inner {
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.ss3-global-footer .ss3-footer-powered .elementor-widget-container {
  color: #9C8FB6 !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  opacity: .82;
}
.ss3-global-footer .ss3-footer-powered a,
.ss3-global-footer .ss3-footer-powered .gold {
  color: #E6A339 !important;
}
.ss3-global-footer .ss3-footer-menu .elementor-widget-container,
.ss3-global-footer .ss3-footer-menu ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ss3-global-footer .ss3-footer-menu li {
  display: inline-flex;
  align-items: center;
}
.ss3-global-footer .ss3-footer-menu li + li::before {
  content: "·";
  color: rgba(156,143,182,.55);
  padding: 0 6px 0 0;
}
.ss3-global-footer .ss3-footer-menu a {
  color: #9C8FB6 !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  padding: 0 !important;
}
.ss3-global-footer .ss3-footer-menu a:hover {
  color: #E6A339 !important;
}
@media (max-width: 1024px) {
  .ss3-global-header .ss3-nav-row,
  .ss3-global-header .e-con.ss3-nav-row > .e-con-inner {
    flex-wrap: wrap !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}
@media (max-width: 767px) {
  .ss3-global-header .ss3-pad,
  .ss3-global-header .e-con.ss3-pad {
    padding-left: 20px !important;
    padding-right: 20px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }
}
