/*
Theme Name: Hablo Español Pro
Theme URI: https://habloespanol.ie/
Author: Hablo Espanol LTD
Author URI: https://habloespanol.ie/
Description: Mockup-matched, SEO-ready responsive block theme for Hablo Español with restored responsive adult course tables/products, premium service-page design sync, block-editor editable service pages, frozen service migrations, stable mobile navigation, unified home-style FAQs, polished contact forms, a rebuilt Tap Spanish landing page and a site-wide content sweep for leftover development copy.
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
Version: 10.30.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hablo-espanol-pro
Tags: full-site-editing, block-patterns, blog, e-commerce, education, one-column, two-columns, custom-colors, custom-logo
*/

/* Small, performance-friendly tweaks that complement theme.json.
   Keep this file tiny. */
:root {
  --he-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Better focus outlines for accessibility */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

/* Prevent long URLs from breaking layouts */
.wp-block-post-content, .wp-block-query, .wp-site-blocks {
  overflow-wrap: anywhere;
}

/* WooCommerce blocks & classic shortcodes – light polish */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 999px;
}

/* Navigation: desktop links + mobile overlay that doesn't clip text */
.wp-block-navigation__container {
  gap: 1.25rem;
}

/* Make the responsive overlay panel breathe on mobile */
.wp-block-navigation__responsive-container.is-menu-open {
  inset: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding: 1.25rem;
  box-sizing: border-box;
  width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0.25rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: block;
  padding: 0.65rem 0.25rem;
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
}

/* Avoid "mobile look" on large screens due to overly narrow containers */
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
  width: 100%;
}


/* Elegant premium layer (still lightweight) */
:root{
  --he-radius: 22px;
  --he-radius-sm: 14px;
  --he-border: rgba(0,0,0,.10);
  --he-border-2: rgba(0,0,0,.14);
  --he-shadow-soft: 0 10px 30px rgba(15,15,16,.08);
  --he-shadow-hover: 0 18px 45px rgba(15,15,16,.12);
  --he-transition: 180ms cubic-bezier(.2,.8,.2,1);
}

/* Card block styles */
.wp-block-group.is-style-he-card{
  border: 1px solid var(--he-border);
  border-radius: var(--he-radius);
  box-shadow: var(--he-shadow-soft);
  overflow: hidden;
}
.wp-block-group.is-style-he-card-hover{
  border: 1px solid var(--he-border);
  border-radius: var(--he-radius);
  box-shadow: var(--he-shadow-soft);
  transition: transform var(--he-transition), box-shadow var(--he-transition), border-color var(--he-transition);
  overflow: hidden;
}
.wp-block-group.is-style-he-card-hover:hover{
  transform: translateY(-3px);
  box-shadow: var(--he-shadow-hover);
  border-color: var(--he-border-2);
}

/* Pill style for small badges */
.wp-block-group.is-style-he-pill{
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  
}

/* Checklist list style */
ul.is-style-he-checklist{
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
ul.is-style-he-checklist li{
  position: relative;
  padding-left: 1.6rem;
  margin: .55rem 0;
}
ul.is-style-he-checklist li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.02rem;
  font-weight: 800;
  color: var(--wp--preset--color--primary);
}

/* Buttons: subtle premium hover */
.wp-block-button .wp-block-button__link{
  transition: transform var(--he-transition), box-shadow var(--he-transition), filter var(--he-transition);
  box-shadow: 0 10px 22px rgba(248,8,0,.18);
}
.wp-block-button .wp-block-button__link:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15,15,16,.16);
  filter: saturate(1.05);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  box-shadow: 0 12px 28px rgba(15,15,16,.10);
}

/* Navigation: underline indicator + better spacing */
.wp-block-navigation-item__content{
  position: relative;
  padding: .25rem 0;
}
@media (min-width: 782px){
  .wp-block-navigation-item__content::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:100%;
    height:2px;
    background: var(--wp--preset--color--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--he-transition);
    opacity:.9;
  }
  .wp-block-navigation-item__content:hover::after,
  .current-menu-item > .wp-block-navigation-item__content::after,
  .current_page_item > .wp-block-navigation-item__content::after{
    transform: scaleX(1);
  }
}

/* Mobile overlay menu: top anchored (like before), center-aligned text, larger tap targets */
@media (max-width: 782px){
  .wp-block-navigation__responsive-container.is-menu-open{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    width: 100%;
    max-width: none;
    margin: 0;
    padding: calc(16px + env(safe-area-inset-top, 0px)) 1.25rem calc(18px + env(safe-area-inset-bottom, 0px));
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: center;
  }

  /* Center the menu options in the available screen space */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    margin: 0 auto;
    width: 100%;
    max-width: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center !important;
    text-align: center;
    gap: .25rem;
    flex: 1 1 auto;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width: 100%;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child{
    border-bottom: none;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.25rem;
    padding: 1rem .25rem;
    border-radius: 16px;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:active{
    background: rgba(0,0,0,.04);
  }

  /* Mobile menu buttons: larger hit area + more visible close */
  .wp-block-navigation__responsive-container-open{
    min-width: 46px;
    min-height: 46px;
    padding: 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(255,255,255,.90);
    box-shadow: 0 10px 22px rgba(15,15,16,.10);
  }
  .wp-block-navigation__responsive-container-open svg{
    width: 24px;
    height: 24px;
  }

  .wp-block-navigation__responsive-container-close{
    min-height: 50px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 26px rgba(15,15,16,.12);
    display: flex;
    align-items: center;
    gap: .5rem;
  }
  .wp-block-navigation__responsive-container-close svg{
    width: 26px;
    height: 26px;
  }
  .wp-block-navigation__responsive-container-close::after{
    content: "Close";
    font-weight: 800;
    font-size: .95rem;
    letter-spacing: .01em;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
    position: fixed;
    top: calc(12px + env(safe-area-inset-top, 0px));
    right: calc(12px + env(safe-area-inset-right, 0px));
    margin: 0;
    z-index: 2147483401;
  }

  /* Prevent any scrolling while the mobile menu is open (fixed screen) */
  html.he-nav-open,
  body.he-nav-open{
    overflow: hidden;
  }
  body.he-nav-open{
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    touch-action: none;
  }

  /* Ensure the overlay itself never scrolls (use dynamic viewport units to avoid iOS 100vh bounce) */
  .wp-block-navigation__responsive-container.is-menu-open{
    position: fixed;
    inset: 0;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    overflow: hidden;
  }

}


/* Page/post "paper" feel */
.he-content-card{
  border: 1px solid var(--he-border);
  border-radius: var(--he-radius);
  box-shadow: var(--he-shadow-soft);
  background: #fff;
}

/* Better blog grids */
.wp-block-post-template.is-flex-container{
  gap: 1.25rem;
}

@media (max-width: 781px){
  .he-cta-desktop{display:none !important;}
}


/* Table polish */
.wp-block-table table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: var(--he-radius-sm);
  background:#fff;
}
.wp-block-table th, .wp-block-table td{
  padding: .85rem .9rem;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wp-block-table tr:last-child td{ border-bottom: none; }
.wp-block-table thead th{
  background: #FAFAFA;
  font-weight: 800;
}

/* Mobile-first, readable tables: convert enhanced tables to "cards".
   JS adds .he-table-responsive and data-label attributes.
*/
@media (max-width: 782px){
  .wp-block-table.he-table-responsive{ overflow: visible; }
  .wp-block-table.he-table-responsive table{
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .wp-block-table.he-table-responsive thead{
    display:none;
  }
  .wp-block-table.he-table-responsive tbody,
  .wp-block-table.he-table-responsive tr,
  .wp-block-table.he-table-responsive td{
    display:block;
    width:100%;
  }
  .wp-block-table.he-table-responsive tr{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--he-radius-sm);
    background:#fff;
    box-shadow: 0 10px 22px rgba(15,15,16,.08);
    margin: 0 0 1rem 0;
    overflow:hidden;
  }
  .wp-block-table.he-table-responsive td{
    border-bottom: 1px solid rgba(0,0,0,.08);
    padding: .75rem .9rem;
  }
  .wp-block-table.he-table-responsive td:last-child{
    border-bottom: none;
  }
  .wp-block-table.he-table-responsive td::before{
    content: attr(data-label);
    display:block;
    font-size: .82rem;
    font-weight: 800;
    color: var(--wp--preset--color--muted);
    margin-bottom: .15rem;
  }
}

/* WooCommerce — single product mobile polish (no visual rebrand)
   - Mobile: keep CTA (add-to-cart) high, show highlights, use accordions.
   - Desktop: preserve WooCommerce default reading flow.
*/
.woocommerce div.product div.images img{
  border-radius: var(--he-radius);
}

@media (min-width: 783px){
  /* Highlights + mobile accordions are mobile-only */
  .he-product-highlights-wrap,
  .he-product-details-accordion,
  .he-wc-accordion-group{
    display: none !important;
  }
}

@media (max-width: 782px){
  /* Hide the long excerpt in the summary on mobile (we show it in a details accordion below). */
  .he-excerpt-desktop{
    display: none !important;
  }

  .he-product-highlights-wrap{
    margin: 0.85rem 0 0.9rem;
  }
  .he-product-highlights{
    list-style: none;
    padding-left: 0;
    margin: 0;
  }
  .he-product-highlights li{
    position: relative;
    padding-left: 1.55rem;
    margin: .45rem 0;
    line-height: 1.35;
  }
  .he-product-highlights li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.02rem;
    font-weight: 900;
    color: var(--wp--preset--color--primary);
  }

  /* Make the purchase controls feel "app-like" and easier to tap */
  .woocommerce div.product form.cart{
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
  }

  .woocommerce div.product form.cart .quantity{
    display: flex;
    justify-content: center;
  }

  .woocommerce div.product form.cart .qty{
    min-height: 48px;
    border-radius: 16px;
    padding: .6rem .75rem;
    text-align: center;
    border: 1px solid rgba(0,0,0,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  }

  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .button{
    width: 100% !important;
    min-height: 52px;
    border-radius: 999px;
    font-size: 1.05rem;
    font-weight: 800;
  }

  /* Accordions (used for the short description + transformed tabs) */
  .he-wc-accordion,
  details.he-wc-accordion{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--he-radius-sm);
    background: #fff;
    box-shadow: 0 10px 22px rgba(15,15,16,.08);
    overflow: hidden;
    margin: 1rem 0;
  }

  .he-wc-accordion summary{
    cursor: pointer;
    padding: 1rem 1rem;
    font-weight: 900;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
  }
  .he-wc-accordion summary::-webkit-details-marker{ display:none; }

  .he-wc-accordion summary::after{
    content: "▾";
    font-size: 1.05rem;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform var(--he-transition);
    opacity: .85;
  }
  .he-wc-accordion[open] summary::after{
    transform: rotate(180deg);
  }

  .he-wc-accordion__content{
    padding: 0 1rem 1rem;
  }

  .he-wc-accordion-group{
    margin-top: 1rem;
  }
}

/* Mobile: keep cookie banners and chat widgets anchored to viewport bottom.
   Some third-party widgets can appear "floating" mid-screen on iOS when the
   browser UI expands/collapses while scrolling. This adds safe-area support
   and enforces bottom/right anchoring on common providers.
*/
@media (max-width: 782px){
  :root{
    --he-safe-bottom: env(safe-area-inset-bottom, 0px);
    --he-safe-right: env(safe-area-inset-right, 0px);
  }

  /* Cookie banners (CookieYes, GDPR Cookie Consent, Complianz, Cookiebot, OneTrust, etc.) */
  #cookie-law-info-bar,
  #cookie-notice,
  .cookie-notice-container,
  .cmplz-cookiebanner,
  .cmplz-manage-consent,
  #cky-consent,
  .cky-consent-container,
  #CybotCookiebotDialog,
  #onetrust-banner-sdk,
  .ot-sdk-container{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 2147483000 !important;
  }

  #cookie-law-info-bar,
  #cookie-notice,
  .cookie-notice-container,
  .cmplz-cookiebanner,
  #cky-consent,
  .cky-consent-container,
  #onetrust-banner-sdk{
    padding-bottom: var(--he-safe-bottom) !important;
  }

  /* Chat widgets (Brevo/Sendinblue Conversations, Crisp, Tidio, Tawk, Intercom, HubSpot, FB, etc.) */
  #sib-conversations,
  #brevo-conversations,
  #sendinblue-conversations,
  .crisp-client,
  #tidio-chat,
  #tawkchat-container,
  .tawk-min-container,
  .fb_dialog,
  .fb-customerchat,
  #intercom-container,
  .intercom-lightweight-app,
  .intercom-app,
  #hubspot-messages-iframe-container{
    bottom: calc(16px + var(--he-safe-bottom)) !important;
    right: calc(16px + var(--he-safe-right)) !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 2147483500 !important;
  }
}


/* Blog — editorial polish */
/* Category list as pill buttons (core Categories block) */
.he-blog-cats.wp-block-categories ul,
.he-blog-cats.wp-block-categories-list{
  list-style:none;
  padding-left:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
  align-items:center;
}

.he-blog-cats a{
  display:inline-block;
  padding:.45rem .75rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 22px rgba(15,15,16,.06);
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  transition: transform var(--he-transition), box-shadow var(--he-transition), background var(--he-transition);
}
.he-blog-cats a:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15,15,16,.10);
}
.he-blog-cats .current-cat > a{
  border-color: rgba(0,0,0,.18);
}

/* Search block in blog headers */
.he-blog-search.wp-block-search{
  width:min(420px, 100%);
}
.he-blog-search input[type="search"]{
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  padding:.72rem 1rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

/* Blog card meta + category pills inside cards */
.he-blog-card__cats a{
  display:inline-block;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  color: var(--wp--preset--color--muted);
  text-decoration:none;
  font-weight:800;
  font-size:.85rem;
  margin-right:.35rem;
}
.he-blog-card__cats a:hover{
  background: rgba(0,0,0,.04);
  color: var(--wp--preset--color--ink);
}

/* Featured kicker */
.he-blog-feature .he-kicker{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}

/* Single post: author line spacing */
.he-single-content .wp-block-post-author{
  gap:.5rem;
}

/* Responsive: featured layout stacks nicely */
@media (max-width: 782px){
  .he-blog-feature .wp-block-columns{
    flex-direction: column;
  }
  .he-blog-feature .wp-block-column{
    flex-basis: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   HABLO ESPAÑOL PRO — v1.6.0 improvements
   ───────────────────────────────────────────────────────────────────
   Scope:
   1.  Headings   – balanced scale, fluid sizing
   2.  Tables     – premium desktop, card mobile (with accent strip)
   3.  Product loop – clean cards, correct button sizing after add
   4.  Cart notices – contained, styled
   5.  Header cart icon + live badge
   6.  Mobile FAB + Desktop toast
   7.  Mobile nav submenus collapsed
   ═══════════════════════════════════════════════════════════════════ */

/* ── Tokens ──────────────────────────────────────────────────────── */
:root {
  --he-red:        #F80800;          /* matches theme primary */
  --he-red-glow:   rgba(248,8,0,.18);
  --he-ink:        #0F0F10;
  --he-muted:      #4B5563;
  --he-radius:     20px;
  --he-radius-sm:  12px;
  --he-radius-xs:  8px;
  --he-border:     rgba(0,0,0,.09);
  --he-border-md:  rgba(0,0,0,.14);
  --he-shadow:     0 8px 28px rgba(15,15,16,.07);
  --he-shadow-lg:  0 16px 44px rgba(15,15,16,.11);
  --he-ease:       200ms cubic-bezier(.25,.8,.25,1);
}

/* ── 1. HEADINGS — balanced fluid scale ─────────────────────────── */
/*
  H1: main hero / page title  → 2.6–3.1rem  (was 3.8rem – too large)
  H2: section headings        → 1.9–2.4rem
  H3: card headings           → 1.35–1.7rem
  All get tighter tracking and weight 900 for crispness.
*/
h1, .wp-block-heading[level="1"], .entry-title {
  font-size: clamp(2.4rem, 5vw, 3.1rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.06 !important;
}
h2, .wp-block-heading[level="2"] {
  font-size: clamp(1.75rem, 3.5vw, 2.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}
h3, .wp-block-heading[level="3"] {
  font-size: clamp(1.25rem, 2.5vw, 1.7rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.15 !important;
}
h4 {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* WooCommerce page titles (h1 inside .woocommerce) stay in the same range */
.woocommerce-page h1.page-title,
body.woocommerce-cart h1,
body.woocommerce-checkout h1 {
  font-size: clamp(2.2rem, 4.5vw, 2.9rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
}

/* ── 2. TABLES — premium desktop, card mobile ───────────────────── */

/* Desktop: elegant bordered table with accent header */
.wp-block-table table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--he-border-md) !important;
  border-radius: var(--he-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--he-shadow) !important;
  background: #fff !important;
  font-size: .97rem !important;
}

/* Header row: red background, white text */
.wp-block-table thead tr {
  background: var(--he-red) !important;
}
.wp-block-table thead th {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: .85rem 1.1rem !important;
  border-bottom: none !important;
  border-right: 1px solid rgba(255,255,255,.15) !important;
}
.wp-block-table thead th:last-child {
  border-right: none !important;
}

/* Body rows */
.wp-block-table tbody tr {
  transition: background var(--he-ease) !important;
}
.wp-block-table tbody tr:hover {
  background: rgba(248,8,0,.03) !important;
}
.wp-block-table tbody tr:nth-child(even) {
  background: rgba(0,0,0,.018) !important;
}
.wp-block-table tbody tr:nth-child(even):hover {
  background: rgba(248,8,0,.04) !important;
}
.wp-block-table td {
  padding: .85rem 1.1rem !important;
  border-bottom: 1px solid var(--he-border) !important;
  border-right: 1px solid var(--he-border) !important;
  vertical-align: middle !important;
  line-height: 1.45 !important;
}
.wp-block-table td:last-child {
  border-right: none !important;
}
.wp-block-table tr:last-child td {
  border-bottom: none !important;
}

/* ─── Mobile table cards — with red left-accent strip ─── */
@media (max-width: 782px) {
  .wp-block-table.he-table-responsive {
    overflow: visible !important;
  }
  .wp-block-table.he-table-responsive table {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .wp-block-table.he-table-responsive thead {
    display: none !important;
  }
  .wp-block-table.he-table-responsive tbody,
  .wp-block-table.he-table-responsive tr,
  .wp-block-table.he-table-responsive td {
    display: block !important;
    width: 100% !important;
  }
  .wp-block-table.he-table-responsive tr {
    background: #fff !important;
    border: 1px solid var(--he-border-md) !important;
    border-left: 4px solid var(--he-red) !important;   /* <— accent strip */
    border-radius: var(--he-radius-sm) !important;
    box-shadow: var(--he-shadow) !important;
    margin-bottom: 1rem !important;
    overflow: hidden !important;
    transition: box-shadow var(--he-ease) !important;
  }
  .wp-block-table.he-table-responsive tr:hover {
    box-shadow: var(--he-shadow-lg) !important;
  }
  .wp-block-table.he-table-responsive td {
    border-bottom: 1px solid var(--he-border) !important;
    border-right: none !important;
    padding: .7rem 1rem !important;
    font-size: .94rem !important;
  }
  .wp-block-table.he-table-responsive td:last-child {
    border-bottom: none !important;
  }
  /* Column label injected by JS */
  .wp-block-table.he-table-responsive td::before {
    content: attr(data-label) !important;
    display: block !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--he-red) !important;
    margin-bottom: .2rem !important;
  }
}

/* ── 3. WOOCOMMERCE PRODUCT LOOP — card grid ────────────────────── */
.woocommerce ul.products {
  display: grid !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2.5rem !important;
  gap: 1.25rem !important;
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)) !important;
}
@media (max-width: 560px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce ul.products li.product {
  border: 1px solid var(--he-border) !important;
  border-radius: var(--he-radius) !important;
  box-shadow: var(--he-shadow) !important;
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform var(--he-ease), box-shadow var(--he-ease) !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--he-shadow-lg) !important;
}

/* Product image */
.woocommerce ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .98rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  padding: .75rem 1rem .2rem !important;
  color: var(--he-ink) !important;
  flex: 1 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  display: block !important;
  padding: .1rem 1rem .6rem !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: var(--he-red) !important;
}

/* ── Add-to-cart button: fixed width, never grows ── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: calc(100% - 2rem) !important;   /* never wider than card */
  max-width: 260px !important;           /* hard cap */
  margin: auto auto .9rem !important;
  padding: .65rem 1.1rem !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: .88rem !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  transition: transform var(--he-ease), filter var(--he-ease) !important;
}
.woocommerce ul.products li.product .button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06) !important;
}

/* ── FIX: "View basket" link that appears after adding ──
   Keep it tidy on its own line, small and unobtrusive     */
.woocommerce ul.products li.product .added_to_cart.wc-forward {
  display: block !important;
  text-align: center !important;
  margin: -.5rem 1rem .9rem !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--he-muted) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ── 4. WOO NOTICES — contained, red-accented ──────────────────── */
.woocommerce-notices-wrapper {
  margin-bottom: 1.5rem !important;
}
.woocommerce-notices-wrapper .woocommerce-message {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
  padding: .8rem 1rem !important;
  margin-bottom: 0 !important;
  border: 1px solid var(--he-border-md) !important;
  border-left: 4px solid var(--he-red) !important;
  border-radius: var(--he-radius-sm) !important;
  background: #fff !important;
  box-shadow: var(--he-shadow) !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
}
.woocommerce-notices-wrapper .woocommerce-message .button {
  background: var(--he-red) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: .38rem .9rem !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  transition: filter var(--he-ease) !important;
}
.woocommerce-notices-wrapper .woocommerce-message .button:hover {
  filter: brightness(1.08) !important;
}

/* ── 5. HEADER CART ICON ────────────────────────────────────────── */
.he-header-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.07);
  font-size: 1.1rem;
  color: var(--he-ink);
  flex-shrink: 0;
  transition: transform var(--he-ease), box-shadow var(--he-ease);
}
.he-header-cart:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}
/* Badge */
.he-cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--he-red);
  color: #fff;
  border-radius: 999px;
  font-size: .55rem;
  font-weight: 900;
  min-width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
  border: 2px solid #fff;
  box-shadow: 0 2px 5px rgba(248,8,0,.35);
}

/* ── 6. MOBILE NAV — collapse sub-menus ─────────────────────────── */
@media (max-width: 782px) {
  /* Collapse sub-menus so "All Pages" wall disappears */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item .wp-block-navigation__submenu-container {
    display: none !important;
  }
  /* Subtle indicator on items with children */
  .wp-block-navigation__responsive-container.is-menu-open
  .has-child > .wp-block-navigation-item__content::after {
    content: " ›" !important;
    position: static !important;
    transform: none !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    display: inline !important;
    font-size: .85em;
    opacity: .45;
    transition: none !important;
  }
  /* Scrollable overlay container */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    overflow-y: auto !important;
    max-height: calc(100dvh - 130px) !important;
  }
}

/* ── 7. DESKTOP TOAST — slide in from right ─────────────────────── */
#he-cart-toast {
  position: fixed;
  top: 78px;
  right: 18px;
  z-index: 99999;
  background: #fff;
  border: 1px solid var(--he-border-md);
  border-radius: var(--he-radius);
  box-shadow: var(--he-shadow-lg);
  padding: .9rem 1rem;
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  width: 268px;
  transform: translateX(calc(100% + 28px));
  opacity: 0;
  pointer-events: none;
  transition: transform 360ms cubic-bezier(.2,.8,.2,1), opacity 300ms ease;
}
#he-cart-toast.he-toast-visible {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
#he-cart-toast .he-toast-icon { font-size: 1.3rem; flex-shrink: 0; padding-top: .05rem; }
#he-cart-toast .he-toast-body { flex: 1; min-width: 0; }
#he-cart-toast .he-toast-title {
  font-weight: 800; font-size: .88rem;
  color: var(--he-ink); line-height: 1.25;
}
#he-cart-toast .he-toast-sub {
  font-size: .76rem; color: var(--he-muted); margin-top: .08rem;
}
#he-cart-toast .he-toast-cta {
  display: inline-block;
  margin-top: .42rem;
  padding: .34rem .8rem;
  background: var(--he-red);
  color: #fff !important;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  transition: filter var(--he-ease);
}
#he-cart-toast .he-toast-cta:hover { filter: brightness(1.09); }
#he-cart-toast .he-toast-close {
  background: none; border: none;
  cursor: pointer; opacity: .35;
  font-size: .9rem; padding: 0;
  line-height: 1; flex-shrink: 0;
  margin-top: 3px;
  transition: opacity var(--he-ease);
}
#he-cart-toast .he-toast-close:hover { opacity: .8; }

/* ── 8. MOBILE FLOATING CART FAB ───────────────────────────────── */
#he-mobile-cart-fab {
  display: none;
  position: fixed;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  right: 16px;
  z-index: 9990;
  background: var(--he-red);
  color: #fff;
  border-radius: 999px;
  padding: .68rem 1.15rem;
  font-weight: 800;
  font-size: .88rem;
  text-decoration: none;
  box-shadow: 0 10px 26px var(--he-red-glow);
  align-items: center;
  gap: .4rem;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity 270ms ease, transform 300ms cubic-bezier(.2,.8,.2,1);
}
#he-mobile-cart-fab.he-fab-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (max-width: 782px) {
  #he-mobile-cart-fab { display: flex; }
}

/* ═══════════════════════════════════════════════════════════════════
   v1.6.1 — TARGETED FIXES
   1. Mobile table: text clipping + cleaner 2-col row layout
   2. Add-to-basket button: never expands when state changes
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. MOBILE TABLE — complete override ────────────────────────── */
@media (max-width: 782px) {

  /* Prevent any horizontal scroll */
  .wp-block-table.he-table-responsive,
  .wp-block-table.he-table-responsive table,
  .wp-block-table.he-table-responsive tbody {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Destroy table structure */
  .wp-block-table.he-table-responsive table {
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .wp-block-table.he-table-responsive thead {
    display: none !important;
  }
  .wp-block-table.he-table-responsive tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: .85rem !important;
  }

  /* Each row = a clean card */
  .wp-block-table.he-table-responsive tr {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1.5px solid rgba(0,0,0,.10) !important;
    border-left: 4px solid var(--he-red) !important;
    border-radius: var(--he-radius-sm) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.07) !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  /* Every cell: full-width block, text wraps */
  .wp-block-table.he-table-responsive td {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: .6rem 1rem !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
    font-size: .94rem !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
  .wp-block-table.he-table-responsive td:last-child {
    border-bottom: none !important;
  }

  /* First cell = course name — spans full width, larger */
  .wp-block-table.he-table-responsive td:first-child {
    display: block !important;
    background: rgba(248,8,0,.04) !important;
    padding: .75rem 1rem !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    line-height: 1.4 !important;
  }

  /* Label (from JS) — left, small red uppercase */
  .wp-block-table.he-table-responsive td::before {
    content: attr(data-label) !important;
    flex-shrink: 0 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--he-red) !important;
    opacity: .85 !important;
    white-space: nowrap !important;
  }
  /* First cell has no inline label (name spans full row) */
  .wp-block-table.he-table-responsive td:first-child::before {
    display: none !important;
  }
}

/* ── 2. ADD-TO-BASKET BUTTON — never grows on state change ──────── */
/*
  WooCommerce changes the button's class to .added after click.
  We pin width via inline-block + auto margins so it never
  stretches to fill the card regardless of class changes.
*/
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: inline-block !important;   /* key: inline-block = shrinks to content */
  width: auto !important;
  min-width: 140px !important;
  max-width: calc(100% - 2rem) !important;
  margin: auto 1rem .9rem !important;
  padding: .62rem 1.4rem !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: .87rem !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: transform var(--he-ease), filter var(--he-ease) !important;
}
/* Wrapper trick: center the inline-block inside the flex column card */
.woocommerce ul.products li.product {
  align-items: stretch !important;
}
/* Force the button area to center itself */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart {
  align-self: center !important;
}
.woocommerce ul.products li.product .button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.07) !important;
}
/* State: after added — same size, never expands */
.woocommerce ul.products li.product .button.added,
.woocommerce ul.products li.product a.button.added {
  width: auto !important;
  min-width: 140px !important;
  max-width: calc(100% - 2rem) !important;
}

/* "View basket" link — tidy, below button */
.woocommerce ul.products li.product .added_to_cart.wc-forward {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  margin: -.4rem 0 .85rem !important;
  padding: 0 1rem !important;
  font-size: .79rem !important;
  font-weight: 700 !important;
  color: var(--he-muted) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
  align-self: center !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v1.6.2 — Home page visual enhancements
   1. "Why choose us" — icon-based list replacing bullets
   2. Stats strip — credibility numbers between hero and services
   3. Star ratings — real ★ characters styled properly
   4. Testimonial card polish — quote mark accent
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. WHY CHOOSE US — icon list ───────────────────────────────── */
.he-why-list {
  list-style: none;
  padding: 0;
  margin: .1rem 0 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.he-why-item {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--wp--preset--color--muted, #4B5563);
}
.he-why-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(248,8,0,.08);
  color: var(--he-red, #F80800);
  margin-top: .05rem;
}
.he-why-icon svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
}
.he-why-text strong {
  color: var(--wp--preset--color--ink, #0F0F10);
  font-weight: 800;
}

/* ── 2. STATS STRIP ─────────────────────────────────────────────── */
.he-stats-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  background: var(--he-red, #F80800);
  padding: 1.5rem 1.25rem;
  margin: 0 -1.25rem; /* bleed edge-to-edge inside constrained layout */
}
.he-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: .5rem 2rem;
  flex: 1;
  min-width: 130px;
}
.he-stat-number {
  font-size: 2rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.03em;
}
.he-stat-plus,
.he-stat-star {
  font-size: 1.3rem;
  font-weight: 900;
  color: rgba(255,255,255,.75);
  vertical-align: super;
}
.he-stat-star {
  font-size: 1.1rem;
  vertical-align: middle;
  margin-left: .05rem;
}
.he-stat-label {
  font-size: .73rem;
  font-weight: 700;
  color: rgba(255,255,255,.78);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-top: .25rem;
  max-width: 120px;
  line-height: 1.3;
}
.he-stat-divider {
  width: 1px;
  height: 2.5rem;
  background: rgba(255,255,255,.2);
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .he-stats-strip {
    gap: .25rem;
    padding: 1.25rem 1rem;
  }
  .he-stat {
    padding: .4rem 1rem;
    min-width: calc(50% - 1rem);
    flex: 0 0 calc(50% - 1rem);
  }
  .he-stat-divider {
    display: none;
  }
  .he-stat-number {
    font-size: 1.75rem;
  }
}

/* ── 3. STAR RATINGS ────────────────────────────────────────────── */
.he-stars {
  display: inline-block;
  color: #F59E0B; /* warm amber gold */
  font-size: 1rem;
  letter-spacing: .05em;
  line-height: 1;
}

/* ── 4. TESTIMONIAL CARDS — quote accent ────────────────────────── */
/* Add a decorative opening quote mark in the background */
.is-style-he-card-hover .wp-block-quote {
  position: relative;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.is-style-he-card-hover .wp-block-quote::before {
  content: '\201C'; /* " */
  position: absolute;
  top: -1rem;
  left: -.25rem;
  font-size: 4.5rem;
  line-height: 1;
  color: var(--he-red, #F80800);
  opacity: .10;
  font-weight: 900;
  pointer-events: none;
  user-select: none;
}
.is-style-he-card-hover .wp-block-quote p {
  font-size: .95rem;
  line-height: 1.6;
  font-style: italic;
  color: var(--wp--preset--color--muted, #4B5563);
  position: relative; /* sit above the ::before */
  z-index: 1;
}

/* Testimonial name heading — tighten it */
.is-style-he-card-hover > h3:first-child {
  margin-bottom: .1rem !important;
}

/* ── 5. MISC POLISH ─────────────────────────────────────────────── */
/* "Why choose" card — slightly more breathing room at bottom */
.wp-block-group.is-style-he-card .wp-block-buttons {
  margin-top: .5rem;
}

/* Footer Instagram link — make it not look broken (pointer cursor) */
.wp-block-social-links .wp-social-link {
  cursor: pointer;
}


/* ═══════════════════════════════════════════════════════════════════
   v1.6.3 — Refined stats strip + icon fixes
   ═══════════════════════════════════════════════════════════════════ */

/* ── STATS STRIP — subtle, elegant (override the red version) ────── */
.he-stats-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  /* Light, barely-there background — not loud at all */
  background: #fff !important;
  border-top: 1px solid rgba(0,0,0,.07) !important;
  border-bottom: 1px solid rgba(0,0,0,.07) !important;
  padding: 1.75rem 1.25rem !important;
  margin: 0 !important;
}
.he-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: .4rem 2.25rem !important;
  flex: 1 !important;
  min-width: 110px !important;
}
.he-stat-number {
  font-size: 2rem !important;
  font-weight: 900 !important;
  /* Red number — the only accent colour */
  color: var(--he-red, #F80800) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}
.he-stat-plus {
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  color: var(--he-red, #F80800) !important;
  opacity: .65 !important;
  vertical-align: super !important;
}
.he-stat-star {
  font-size: 1.1rem !important;
  color: #F59E0B !important;  /* amber gold for star, not red */
  vertical-align: middle !important;
  margin-left: .05rem !important;
  opacity: 1 !important;
}
.he-stat-label {
  font-size: .72rem !important;
  font-weight: 700 !important;
  /* Dark muted label — not white */
  color: var(--wp--preset--color--muted, #4B5563) !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  margin-top: .3rem !important;
  max-width: 110px !important;
  line-height: 1.3 !important;
}
.he-stat-divider {
  width: 1px !important;
  height: 2.25rem !important;
  background: rgba(0,0,0,.10) !important;  /* subtle grey line */
  flex-shrink: 0 !important;
}
@media (max-width: 600px) {
  .he-stats-strip {
    padding: 1.25rem .75rem !important;
  }
  .he-stat {
    padding: .4rem 1rem !important;
    min-width: calc(50% - 1.5rem) !important;
    flex: 0 0 calc(50% - 1.5rem) !important;
  }
  .he-stat-divider {
    display: none !important;
  }
  .he-stat-number {
    font-size: 1.65rem !important;
  }
}

/* ── WHY ICON — slightly smaller, tighter ────────────────────────── */
.he-why-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 7px !important;
}
.he-why-icon svg {
  width: 14px !important;
  height: 14px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v1.6.4 — Native blocks: why-list, stats strip, mini-cart
   Font inheritance guaranteed — all use wp-block-* classes which
   already inherit --wp--preset--font-family--system from theme.json
   ═══════════════════════════════════════════════════════════════════ */

/* ── WHY LIST — clean line-left style, no ticks ─────────────────── */
ul.is-style-he-why-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
ul.is-style-he-why-list li {
  position: relative !important;
  padding: 0.65rem 0 0.65rem 1rem !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}
ul.is-style-he-why-list li:last-child {
  border-bottom: none !important;
}
ul.is-style-he-why-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 60% !important;
  min-height: 18px !important;
  border-radius: 999px !important;
  background: var(--he-red, #F80800) !important;
}
ul.is-style-he-why-list li::after {
  display: none !important;
}
ul.is-style-he-why-list li strong {
  color: var(--wp--preset--color--ink, #0F0F10) !important;
  font-weight: 700 !important;
}

/* ── STATS STRIP — native wp:group with he-stats-strip class ─────── */
.he-stats-strip.wp-block-group {
  background: #fff !important;
  border-top: 1px solid rgba(0,0,0,.07) !important;
  border-bottom: 1px solid rgba(0,0,0,.07) !important;
  padding: 1.75rem 1.25rem !important;
  margin: 0 !important;
  gap: 0 !important;
  /* Font: inherited from wp-block-group → theme.json system font */
}

/* Each stat item */
.he-stat.wp-block-group {
  align-items: center !important;
  text-align: center !important;
  padding: .4rem 2rem !important;
  flex: 1 !important;
  min-width: 110px !important;
  /* Vertical separator via box-shadow right side */
  box-shadow: 1px 0 0 rgba(0,0,0,.09) !important;
  gap: .2rem !important;
}
.he-stat.wp-block-group:last-child {
  box-shadow: none !important;
}

/* The number paragraph */
.he-stat-number.wp-block-paragraph,
p.he-stat-number {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: var(--he-red, #F80800) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  /* Font: inherits system-ui from theme.json — same as headings */
}
/* Special: rating stat has a star — make the ★ amber */
.he-stat-rating.wp-block-paragraph,
p.he-stat-rating {
  color: var(--he-red, #F80800) !important;
}
p.he-stat-rating {
  /* "5 ★" — colour the star part amber without JS */
  background: linear-gradient(90deg,
    var(--he-red, #F80800) 0 55%,
    #F59E0B 55% 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* The label paragraph */
.he-stat-label.wp-block-paragraph,
p.he-stat-label {
  font-size: .71rem !important;
  font-weight: 700 !important;
  color: var(--wp--preset--color--muted, #4B5563) !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  max-width: 110px !important;
  /* Font: inherits system-ui — guaranteed same family */
}

/* Mobile: 2×2 grid */
@media (max-width: 600px) {
  .he-stats-strip.wp-block-group {
    flex-wrap: wrap !important;
    padding: 1.25rem .75rem !important;
  }
  .he-stat.wp-block-group {
    flex: 0 0 calc(50% - 1rem) !important;
    min-width: 0 !important;
    padding: .6rem .5rem !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(0,0,0,.07) !important;
  }
  .he-stat.wp-block-group:nth-child(3),
  .he-stat.wp-block-group:nth-child(4) {
    border-bottom: none !important;
  }
  p.he-stat-number { font-size: 1.65rem !important; }
}

/* ── WOO MINI-CART ─────────────────────────────────────────────── */
/*
  WooCommerce genera estructura anidada con estilos inline.
  La clave: forzar el ROOT del bloque a ser inline-flex centrado,
  y resetear todos los paddings/margins internos.
*/

/* 1. Bloque raíz — inline-flex, centrado en eje vertical del header */
.he-header-mini-cart,
.he-header-mini-cart .wc-block-mini-cart {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. El botón clickable: círculo limpio */
.he-header-mini-cart .wc-block-mini-cart__button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(0,0,0,0.13) !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: var(--he-ink, #0F0F10) !important;
  transition: border-color 150ms ease !important;
  /* Anular cualquier top/transform inline de WooCommerce */
  top: auto !important;
  transform: none !important;
  vertical-align: middle !important;
}
.he-header-mini-cart .wc-block-mini-cart__button:hover {
  border-color: rgba(0,0,0,0.3) !important;
}

/* 3. El SVG/icono dentro del botón */
.he-header-mini-cart .wc-block-mini-cart__icon {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  flex-shrink: 0 !important;
  /* Reset por si WooCommerce pone position:relative con top negativo */
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--he-ink, #0F0F10) !important;
}

/* 4. Badge — número de items */
.he-header-mini-cart .wc-block-mini-cart__quantity-badge {
  position: absolute !important;
  top: -3px !important;
  right: -3px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: unset !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--he-red, #F80800) !important;
  color: #fff !important;
  font-size: 0.58rem !important;
  font-weight: 800 !important;
  line-height: 16px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #fff !important;
  box-shadow: none !important;
  /* Asegurar que no hereda transforms del padre */
  transform: none !important;
}

/* 5. Precio — siempre oculto */
.he-header-mini-cart .wc-block-mini-cart__amount,
.he-header-mini-cart .wc-block-mini-cart__badge-wrapper > span:not(.wc-block-mini-cart__quantity-badge) {
  display: none !important;
}

/* ── HIDE MINI-CART WHEN EMPTY ───────────────────────────────────── */
/*
  WooCommerce adds aria-label="0 items in cart" when empty.
  We can't rely on that reliably across all WC versions, so we use
  the data attribute that WC sets, plus our JS fallback.
  WC also adds .wc-block-mini-cart--has-count when count > 0
*/
.he-header-mini-cart:not(.he-cart-has-items) {
  /* Default: hide until JS confirms items exist */
  /* We show it immediately if WC block reports items */
}
/* When WC reports items exist */
.wc-block-mini-cart[data-cart-items-count="0"] .wc-block-mini-cart__button,
.wc-block-mini-cart:not([data-cart-items-count]) .wc-block-mini-cart__button {
  /* Don't hide by default — WC handles this with JS */
}

/* Drawer/modal that opens on click — constrain and style */
.he-header-mini-cart .wc-block-mini-cart__drawer {
  font-family: var(--wp--preset--font-family--system) !important;
}
.he-header-mini-cart .wc-block-mini-cart__drawer .wc-block-cart__submit-button {
  border-radius: 999px !important;
  background: var(--he-red, #F80800) !important;
  font-weight: 800 !important;
}

/* ── REMOVE OLD RAW-HTML CART STYLES (superseded) ────────────────── */
/* These targeted #he-header-cart-link which no longer exists in header */
.he-header-cart { display: none !important; }
.he-cart-badge  { display: none !important; }


/* ══════════════════════════════════════════════════════════

/* ══════════════════════════════════════════════════════════
   v5.0 — Integración natural SpanishLab
   Filosofía: todo respira del mismo sistema de diseño.
   Paleta: blanco / #FAFAFA / #0F0F10 / #F80800
   Sin efectos plásticos. Sin sombras internas. Sin ticks.
══════════════════════════════════════════════════════════ */

/* ── Variables globales v5 ──────────────────────────────── */
:root {
  --he-red:       #F80800;
  --he-ink:       #0F0F10;
  --he-muted:     #6B7280;
  --he-border:    rgba(0,0,0,0.08);
  --he-border-m:  rgba(0,0,0,0.12);
  --he-surface:   #ffffff;
  --he-bg:        #F7F7F5;
  --he-dark:      #0F0F10;
  --he-ease:      cubic-bezier(0.2, 0.8, 0.2, 1);
  --he-radius:    18px;
  --he-radius-sm: 10px;
}

/* ── Pills: sin reflejo, sin sombra interna ─────────────── */
.wp-block-group.is-style-he-pill {
  border-radius: 999px !important;
  border: 1px solid var(--he-border-m) !important;
  box-shadow: none !important;
  background: #fff !important;
}

/* Pill rojo — para "Dublin & Online" */
.he-pill-red.wp-block-group {
  background: var(--he-red) !important;
  border-color: var(--he-red) !important;
  box-shadow: none !important;
}
.he-pill-red.wp-block-group p {
  color: #fff !important;
}

/* ── Cards: una sola definición limpia ──────────────────── */
.wp-block-group.is-style-he-card,
.wp-block-group.is-style-he-card-hover {
  border-radius: var(--he-radius) !important;
  border: 1px solid var(--he-border) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
}
.wp-block-group.is-style-he-card-hover {
  transition: transform 220ms var(--he-ease),
              box-shadow 220ms var(--he-ease),
              border-color 220ms var(--he-ease) !important;
}
.wp-block-group.is-style-he-card-hover:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.09) !important;
  border-color: var(--he-border-m) !important;
}

/* ── Hero ───────────────────────────────────────────────── */
.he-hero-h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.25rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.07 !important;
}

/* ── Section headers: eyebrow + h2 + sub ───────────────── */
.he-section-header > p.has-primary-color {
  margin-bottom: 0.3rem !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
}
.he-section-header h2 {
  margin-top: 0.1rem !important;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
}
.he-section-header p.has-muted-color {
  margin-top: 0.5rem !important;
  max-width: 520px !important;
}

/* ── Service cards ──────────────────────────────────────── */
p.he-service-icon {
  font-size: 1.9rem !important;
  line-height: 1 !important;
  margin: 0 0 0.75rem !important;
}
.he-service-card.wp-block-group h3 {
  /* h3 heredado de theme.json — xl=1.7rem, weight 800 */
  margin: 0.1rem 0 0.4rem !important;
}
.he-service-card.wp-block-group .wp-block-button {
  margin-top: 0.75rem !important;
}

/* ══════════════════════════════════════════════════════════
   THE SPANISHLAB — sección integrada
   Mismo lenguaje que el resto del site: fondo oscuro elegante
   pero que respira igual que el resto.
══════════════════════════════════════════════════════════ */

.he-edtech-banner.wp-block-group {
  background: var(--he-dark) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Luz roja ambientada arriba-izquierda — sutil, no agresiva */
.he-edtech-banner.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  top: -120px !important;
  left: -80px !important;
  width: 500px !important;
  height: 500px !important;
  background: radial-gradient(circle, rgba(248,8,0,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.he-edtech-inner.wp-block-group {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Header del bloque SpanishLab */
p.he-edtech-eyebrow {
  color: var(--he-red) !important;
  letter-spacing: 0.12em !important;
  margin: 0 0 0.4rem !important;
}
h2.he-edtech-title {
  color: #fff !important;
  font-size: clamp(2rem, 3.8vw, 3.2rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  margin: 0 0 0.75rem !important;
}
p.he-edtech-sub {
  color: rgba(255,255,255,0.55) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  max-width: 560px !important;
  margin: 0 !important;
}

/* ── Lab cards: mismo border-radius, mismo ritmo ────────── */
.he-lab-card.wp-block-group {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  border-radius: var(--he-radius) !important;
  transition: transform 220ms var(--he-ease),
              background 220ms var(--he-ease),
              border-color 220ms var(--he-ease) !important;
  /* Misma altura en las tres columnas */
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.he-lab-card.wp-block-group:hover {
  transform: translateY(-3px) !important;
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(248,8,0,0.3) !important;
}
/* El botón del lab-card se queda al fondo siempre */
.he-lab-card.wp-block-group .wp-block-buttons {
  margin-top: auto !important;
}

p.he-lab-icon {
  font-size: 2rem !important;
  line-height: 1 !important;
  margin: 0 0 0.75rem !important;
}
p.he-lab-tag {
  color: var(--he-red) !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 0.25rem !important;
}
h3.he-lab-name {
  color: #fff !important;
  font-size: 1.55rem !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.6rem !important;
}
p.he-lab-desc {
  color: rgba(255,255,255,0.58) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
}

/* Feature list: limpia, sin flechas agresivas */
ul.he-lab-features {
  list-style: none !important;
  padding: 0 !important;
  margin: 1rem 0 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
ul.he-lab-features li {
  color: rgba(255,255,255,0.62) !important;
  font-size: 0.85rem !important;
  padding: 0.5rem 0 0.5rem 1.1rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  position: relative !important;
}
ul.he-lab-features li:last-child {
  border-bottom: none !important;
}
ul.he-lab-features li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 14px !important;
  border-radius: 999px !important;
  background: var(--he-red) !important;
}

/* Botón dentro de lab card — misma estética que los outline del site */
.he-lab-btn .wp-block-button__link.wp-element-button {
  background: transparent !important;
  color: rgba(255,255,255,0.85) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 999px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  padding: 0.55rem 1.2rem !important;
  transition: background 180ms, border-color 180ms, color 180ms !important;
}
.he-lab-btn .wp-block-button__link.wp-element-button:hover {
  background: var(--he-red) !important;
  border-color: var(--he-red) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   TAP SPANISH SPOTLIGHT
   Fondo #F7F7F5 — mismo que bg del site
   Se siente como una continuación, no una inserción
══════════════════════════════════════════════════════════ */

/* Badge pill app */
.he-app-badge.wp-block-group {
  display: inline-flex !important;
  background: rgba(248,8,0,0.06) !important;
  border: 1px solid rgba(248,8,0,0.15) !important;
  border-radius: 999px !important;
  padding: 0.3rem 0.9rem !important;
  box-shadow: none !important;
}
p.he-app-badge-text {
  color: var(--he-red) !important;
  margin: 0 !important;
}

/* Feature pills — simples, sin gradiente, sin reflejo */
.he-app-features.wp-block-group {
  gap: 0.45rem !important;
}
p.he-app-feature-pill {
  background: #fff !important;
  border: 1px solid var(--he-border-m) !important;
  border-radius: var(--he-radius-sm) !important;
  padding: 0.35rem 0.85rem !important;
  font-size: 0.83rem !important;
  font-weight: 600 !important;
  color: var(--he-ink) !important;
  margin: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
p.he-app-feature-pill--new {
  background: var(--he-red) !important;
  color: #fff !important;
  border-color: var(--he-red) !important;
  font-weight: 700 !important;
}

/* Quote card: oscura pero con mismos border-radius del sistema */
.he-app-quote-card.wp-block-group {
  background: var(--he-dark) !important;
  border-radius: var(--he-radius) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.15) !important;
}
p.he-quote-mark {
  font-size: 4.5rem !important;
  line-height: 0.75 !important;
  color: var(--he-red) !important;
  font-weight: 900 !important;
  margin: 0 0 0.75rem !important;
  opacity: 0.5 !important;
  display: block !important;
}
p.he-quote-body {
  color: #fff !important;
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
.he-app-quote-card p.has-muted-color {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.85rem !important;
  margin-top: 0.75rem !important;
}
.he-app-quote-card .he-stars {
  color: #F59E0B !important;
  font-size: 1rem !important;
  margin-top: 1rem !important;
  display: block !important;
}

/* ── Stars en testimoniales ─────────────────────────────── */
.he-testimonial p.he-stars {
  color: #F59E0B !important;
  font-size: 0.95rem !important;
  margin: 0 0 0.5rem !important;
  letter-spacing: 0.05em !important;
}
.he-testimonial blockquote p {
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
}
.he-testimonial blockquote cite {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: var(--he-muted) !important;
}

/* ── CTA block ──────────────────────────────────────────── */
p.he-cta-eyebrow {
  color: rgba(255,255,255,0.45) !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 0.5rem !important;
}
.he-cta-block h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.3rem) !important;
  letter-spacing: -0.02em !important;
}

/* ── Botones globales: más afilados ─────────────────────── */
.wp-block-button__link.wp-element-button {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* ══════════════════════════════════════════════════════════
   MOBILE
══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .he-edtech-inner.wp-block-group {
    padding: 2rem 1.25rem !important;
  }
  h2.he-edtech-title {
    font-size: 1.9rem !important;
  }
  .he-app-features.wp-block-group {
    gap: 0.35rem !important;
  }
  p.he-app-feature-pill {
    font-size: 0.78rem !important;
    padding: 0.28rem 0.7rem !important;
  }
  .he-hero-h1 {
    font-size: 1.85rem !important;
  }
}

/* ══════════════════════════════════════════════════════════
   v6.0 — Carrito, alturas, SEO helpers, polish final
══════════════════════════════════════════════════════════ */

/* Lab cards — columnas stretch para igualar altura */
.he-edtech-banner .wp-block-columns {
  align-items: stretch !important;
}
.he-edtech-banner .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}
.he-edtech-banner .wp-block-column > .wp-block-group {
  flex: 1 !important;
}

/* Service cards — también stretch */
/* Service cards — columnas stretch para igualar altura sin romper layout interno */
.wp-block-columns:has(.he-service-card) {
  align-items: stretch !important;
}
.wp-block-columns:has(.he-service-card) .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}
/* La card ocupa toda la altura de la columna pero NO forzamos flex interno */
.he-service-card.wp-block-group {
  flex: 1 !important;
}

/* ── Testimoniales: stretch también ────────────────────── */
.wp-block-columns:has(.he-testimonial) {
  align-items: stretch !important;
}
.wp-block-columns:has(.he-testimonial) .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}
.he-testimonial.wp-block-group {
  flex: 1 !important;
}

/* ── Header nav: alineación perfecta ───────────────────── */
/* Asegura que nav-links, carrito y CTA btn todos al mismo eje */
.wp-block-navigation__container {
  align-items: center !important;
}
.wp-block-navigation > .wp-block-navigation__container {
  align-items: center !important;
}

/* ── SEO: skip-link visible on focus ───────────────────── */
.skip-link:focus {
  position: fixed !important;
  top: 0.5rem !important;
  left: 0.5rem !important;
  z-index: 9999 !important;
  background: var(--he-red, #F80800) !important;
  color: #fff !important;
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}

/* ── Breadcrumb (para páginas interiores) ───────────────── */
.he-breadcrumb {
  font-size: 0.82rem !important;
  color: var(--he-muted) !important;
  padding: 0.75rem 0 !important;
}
.he-breadcrumb a {
  color: var(--he-muted) !important;
}
.he-breadcrumb a:hover {
  color: var(--he-red) !important;
}

/* ── Mejoras tipografía: headings más afilados ──────────── */
h1, h2, h3 {
  text-wrap: balance !important;
}

/* ── Hero glow: más sutil y elegante ────────────────────── */
.he-edtech-banner.wp-block-group::before {
  opacity: 0.85 !important;
}

/* ── Fix: blockquote border en testimoniales ────────────── */
.he-testimonial .wp-block-quote {
  border-left-color: rgba(248,8,0,0.15) !important;
  border-left-width: 3px !important;
  padding-left: 1rem !important;
  margin: 0 !important;
}

/* ── CTA block: h2 override (evita clase conflicto) ─────── */
.he-cta-block.wp-block-group h2 {
  color: #fff !important;
}

/* ── Mobile: lab cards full-width, no stretch needed ─────── */
@media (max-width: 767px) {
  .he-edtech-banner .wp-block-column {
    flex-direction: column !important;
  }
  .he-lab-card.wp-block-group {
    height: auto !important;
  }
  .he-service-card.wp-block-group {
    height: auto !important;
  }
}

/* ══════════════════════════════════════════════════════════
   v7.0 — Narrative Edition
   Nueva sección SpanishLab con historia secuencial,
   tech bridge en hero, teacher line al fondo.
══════════════════════════════════════════════════════════ */

/* ── Tech bridge line en el hero ───────────────────────── */
.he-tech-bridge.wp-block-group {
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  gap: 0.75rem !important;
  align-items: center !important;
}
p.he-tech-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--he-red, #F80800) !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.he-tech-bridge p.has-muted-color {
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.he-tech-bridge p.has-muted-color a {
  color: var(--he-red, #F80800) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ── SpanishLab header: 2-col ───────────────────────────── */
p.he-edtech-eyebrow {
  color: rgba(248,8,0,0.85) !important;
  letter-spacing: 0.12em !important;
  margin: 0 0 0.5rem !important;
}
h2.he-edtech-title {
  color: #fff !important;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
p.he-edtech-sub {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.97rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
p.he-edtech-sub strong {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
}

/* ── Journey steps ──────────────────────────────────────── */
.he-journey.wp-block-group {
  position: relative !important;
  gap: 0 !important;
}
/* Connecting line behind dots */
.he-journey.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  top: 20px !important;
  left: 20px !important;
  right: 20px !important;
  height: 1px !important;
  background: rgba(255,255,255,0.08) !important;
  pointer-events: none !important;
}
.he-journey-step.wp-block-group {
  flex: 1 !important;
  padding: 0 1rem !important;
  gap: 0 !important;
}
p.he-journey-dot {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  margin: 0 0 1rem !important;
  position: relative !important;
  z-index: 1 !important;
  line-height: 1 !important;
}
p.he-journey-dot--active {
  background: var(--he-red, #F80800) !important;
  border-color: var(--he-red, #F80800) !important;
  box-shadow: 0 0 18px rgba(248,8,0,0.3) !important;
}
h4.he-journey-h {
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.25rem !important;
  letter-spacing: -0.01em !important;
}
p.he-journey-p {
  color: rgba(255,255,255,0.4) !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ── Teacher line at bottom of SpanishLab ───────────────── */
.he-teacher-line.wp-block-group {
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  gap: 2rem !important;
}
p.he-teacher-line-text {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  flex: 1 !important;
}
p.he-teacher-line-text strong {
  color: rgba(255,255,255,0.75) !important;
  font-weight: 600 !important;
}
.he-teacher-btn .wp-block-button__link.wp-element-button {
  background: rgba(255,255,255,0.07) !important;
  color: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  white-space: nowrap !important;
  transition: background 180ms, color 180ms, border-color 180ms !important;
}
.he-teacher-btn .wp-block-button__link.wp-element-button:hover {
  background: var(--he-red, #F80800) !important;
  border-color: var(--he-red, #F80800) !important;
  color: #fff !important;
}

/* ── Testimonials stars: amber ──────────────────────────── */
.he-testimonial p.he-stars {
  color: #F59E0B !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
}
.he-app-quote-card p.he-stars {
  color: #F59E0B !important;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .he-journey.wp-block-group {
    flex-wrap: wrap !important;
  }
  .he-journey.wp-block-group::before {
    display: none !important;
  }
  .he-journey-step.wp-block-group {
    flex: 0 0 calc(50% - 0.5rem) !important;
    padding: 0 0.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .he-teacher-line.wp-block-group {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  h2.he-edtech-title {
    font-size: 1.7rem !important;
  }
}

/* ══════════════════════════════════════════════════════════
   v8.0 — Contact page
══════════════════════════════════════════════════════════ */

/* ── Hero ───────────────────────────────────────────────── */
.he-contact-hero.wp-block-group {
  background: radial-gradient(ellipse at 10% 0%, #ffd6d4 0%, #f7f7f5 55%, #ffffff 100%) !important;
}
.he-contact-hero h1 {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
}

/* ── Form card ──────────────────────────────────────────── */
.he-contact-form-card.wp-block-group {
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid var(--he-border, rgba(0,0,0,0.08)) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
}

/* ── Form styles ────────────────────────────────────────── */
.he-contact-form { width: 100% !important; }
.he-form { display: flex; flex-direction: column; gap: 1.1rem; }
.he-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.he-form-field { display: flex; flex-direction: column; gap: 0.4rem; }
.he-form-field label {
  font-size: 0.83rem;
  font-weight: 700;
  color: var(--he-ink, #0F0F10);
  letter-spacing: -0.01em;
}
.he-form-field input,
.he-form-field select,
.he-form-field textarea {
  width: 100%;
  padding: 0.7rem 0.95rem;
  border-radius: 10px;
  border: 1.5px solid rgba(0,0,0,0.12);
  background: #fff;
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--he-ink, #0F0F10);
  transition: border-color 150ms ease, box-shadow 150ms ease;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.he-form-field input::placeholder,
.he-form-field textarea::placeholder { color: #9CA3AF; }
.he-form-field input:focus,
.he-form-field select:focus,
.he-form-field textarea:focus {
  border-color: var(--he-red, #F80800);
  box-shadow: 0 0 0 3px rgba(248,8,0,0.08);
}
.he-form-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.95rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}
.he-form-field textarea { resize: vertical; min-height: 130px; }
.he-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.75rem;
  background: var(--he-red, #F80800);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
  align-self: flex-start;
}
.he-form-submit:hover {
  background: #d90700;
  transform: translateY(-1px);
}
.he-form-note {
  font-size: 0.78rem;
  color: #9CA3AF;
  margin-top: -0.25rem;
}
.he-form-note a { color: #9CA3AF; font-weight: 600; }

/* ── Info card ──────────────────────────────────────────── */
.he-contact-info.wp-block-group {
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid var(--he-border, rgba(0,0,0,0.08)) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}
.he-contact-info a {
  color: var(--he-ink, #0F0F10) !important;
  text-decoration: none !important;
}
.he-contact-info a:hover { color: var(--he-red, #F80800) !important; }

/* ── Teacher card — dark ────────────────────────────────── */
.he-contact-teacher-card.wp-block-group {
  background: var(--he-ink, #0F0F10) !important;
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  position: relative !important;
  overflow: hidden !important;
}
.he-contact-teacher-card.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  top: -60px; right: -60px !important;
  width: 220px; height: 220px !important;
  background: radial-gradient(circle, rgba(248,8,0,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
p.he-contact-teacher-tag {
  color: var(--he-red, #F80800) !important;
  margin: 0 0 0.6rem !important;
}
h4.he-contact-teacher-h {
  color: #fff !important;
  font-size: 1.05rem !important;
  margin: 0 0 0.65rem !important;
}
p.he-contact-teacher-p {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
p.he-contact-tool-pill {
  display: inline-flex !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.75) !important;
  margin: 0 !important;
}

/* ── Response badge ─────────────────────────────────────── */
.he-contact-badge.wp-block-group {
  background: rgba(248,8,0,0.05) !important;
  border: 1px solid rgba(248,8,0,0.12) !important;
  border-radius: 14px !important;
  gap: 1rem !important;
}
p.he-contact-badge-icon {
  font-size: 1.5rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* ── FAQ ────────────────────────────────────────────────── */
.he-faq-item.wp-block-group {
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid var(--he-border, rgba(0,0,0,0.08)) !important;
  transition: box-shadow 220ms ease, transform 220ms ease !important;
}
.he-faq-item.wp-block-group:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.07) !important;
}
.he-faq-item h4 {
  font-size: 0.97rem !important;
  line-height: 1.35 !important;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .he-form-row { grid-template-columns: 1fr !important; }
  .he-contact-hero h1 { font-size: 1.85rem !important; }
}

/* ── Contact form: success / error states ───────────────── */
.he-form-success {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: #F0FDF4;
  border: 1.5px solid #86EFAC;
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  margin-bottom: 1.5rem;
}
.he-form-success-icon { font-size: 1.3rem; flex-shrink: 0; }
.he-form-success strong { display: block; font-weight: 700; color: #166534; margin-bottom: 0.2rem; }
.he-form-success p { font-size: 0.88rem; color: #166534; margin: 0; }

.he-form-error {
  background: #FEF2F2;
  border: 1.5px solid #FCA5A5;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  font-size: 0.88rem;
  color: #991B1B;
  margin-bottom: 1.5rem;
}

span.he-required { color: var(--he-red, #F80800); font-weight: 800; margin-left: 2px; }

/* ══════════════════════════════════════════════════════════
   v9.0 — Tap Spanish Landing Page
   Dark hero · editorial story · teacher section · strong CTA
══════════════════════════════════════════════════════════ */

/* ── HERO ───────────────────────────────────────────────── */
.ts-hero.wp-block-group {
  background: var(--he-ink, #0F0F10) !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Red glow top-right */
.ts-hero.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  top: -200px; right: -150px !important;
  width: 700px; height: 700px !important;
  background: radial-gradient(circle, rgba(248,8,0,0.2) 0%, transparent 65%) !important;
  pointer-events: none !important;
}
/* Yellow warmth bottom-left */
.ts-hero.wp-block-group::after {
  content: '' !important;
  position: absolute !important;
  bottom: -100px; left: -80px !important;
  width: 500px; height: 500px !important;
  background: radial-gradient(circle, rgba(255,190,0,0.07) 0%, transparent 65%) !important;
  pointer-events: none !important;
}
.ts-hero-inner.wp-block-group {
  position: relative !important;
  z-index: 1 !important;
}

/* Eyebrow */
p.ts-eyebrow {
  color: rgba(248,8,0,0.85) !important;
  margin: 0 0 1.1rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}
p.ts-eyebrow::before {
  content: '' !important;
  display: block !important;
  width: 28px; height: 2px !important;
  background: #F80800 !important;
  border-radius: 2px !important;
  flex-shrink: 0 !important;
}

/* H1 */
h1.ts-h1 {
  font-size: clamp(2.6rem, 5vw, 4rem) !important;
  color: #fff !important;
  margin: 0 !important;
}
h1.ts-h1 .ts-h1-accent { color: #F80800 !important; }

/* Sub */
p.ts-hero-sub {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.7 !important;
  max-width: 500px !important;
  margin: 0 !important;
}

/* Download buttons */
.ts-dl-btns.wp-block-group { gap: 0.75rem !important; }

p.ts-btn-apple a,
p.ts-btn-android a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.85rem 1.6rem !important;
  border-radius: 12px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}
p.ts-btn-apple a {
  background: #fff !important;
  color: var(--he-ink, #0F0F10) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}
p.ts-btn-apple a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}
p.ts-btn-android a {
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
}
p.ts-btn-android a:hover {
  background: rgba(255,255,255,0.13) !important;
  transform: translateY(-2px) !important;
}
/* Large variants for CTA section */
p.ts-btn-apple--large a,
p.ts-btn-android--large a {
  padding: 1rem 2rem !important;
  font-size: 1rem !important;
  border-radius: 14px !important;
}
p.ts-btn-apple--large a {
  background: #F80800 !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(248,8,0,0.35) !important;
}
p.ts-btn-apple--large a:hover {
  background: #d90700 !important;
}
p.ts-btn-android--large a {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

/* Social proof */
p.ts-social-proof {
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.35) !important;
  margin: 0 !important;
}
p.ts-social-proof strong { color: rgba(255,255,255,0.65) !important; font-weight: 700 !important; }

/* ── HERO VISUAL (right col) ────────────────────────────── */
.ts-hero-visual.wp-block-group {
  position: relative !important;
  z-index: 1 !important;
}
figure.ts-app-icon-large {
  margin: 0 0 2rem !important;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.5)) !important;
}

/* Feature grid */
.ts-feat-grid.wp-block-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.ts-feat-item.wp-block-group {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.ts-feat-item.wp-block-group:last-child { border-bottom: none !important; }
.ts-feat-item--new.wp-block-group { border-color: rgba(248,8,0,0.15) !important; }
p.ts-feat-icon {
  font-size: 1.6rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  width: 40px !important;
  text-align: center !important;
}
p.ts-feat-name {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 0.15rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
p.ts-feat-desc {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.4) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.ts-new-tag {
  background: #F80800 !important;
  color: #fff !important;
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}

/* ── STORY SECTION ──────────────────────────────────────── */
p.ts-section-label { color: var(--he-red, #F80800) !important; margin: 0 0 0.6rem !important; }
p.ts-section-label--light { color: rgba(248,8,0,0.85) !important; }

h2.ts-story-h {
  font-size: clamp(1.9rem, 3.5vw, 2.8rem) !important;
  color: var(--he-ink, #0F0F10) !important;
  margin: 0 !important;
}
p.ts-story-p {
  font-size: 1.02rem !important;
  color: var(--he-muted, #6B7280) !important;
  line-height: 1.75 !important;
}
p.ts-story-p--strong {
  color: var(--he-ink, #0F0F10) !important;
  font-weight: 600 !important;
  border-left: 3px solid #F80800 !important;
  padding-left: 1rem !important;
}

/* Proof cards */
.ts-proof-card.wp-block-group {
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}
p.ts-proof-num {
  font-size: 2.4rem !important;
  font-weight: 900 !important;
  color: #F80800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  margin: 0 0 0.4rem !important;
}
p.ts-proof-label {
  font-size: 0.88rem !important;
  color: var(--he-muted, #6B7280) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ── TEACHERS SECTION — dark ────────────────────────────── */
.ts-teachers.wp-block-group {
  background: var(--he-ink, #0F0F10) !important;
  position: relative !important;
  overflow: hidden !important;
}
.ts-teachers.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  bottom: -150px; right: -100px !important;
  width: 500px; height: 500px !important;
  background: radial-gradient(circle, rgba(248,8,0,0.12) 0%, transparent 65%) !important;
  pointer-events: none !important;
}
h2.ts-teachers-h {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  color: #fff !important;
  margin: 0.5rem 0 0 !important;
}
p.ts-teachers-p {
  color: rgba(255,255,255,0.52) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}
.ts-teacher-benefits.wp-block-group { gap: 0 !important; }
p.ts-benefit {
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}
p.ts-benefit:last-child { border-bottom: none !important; }

/* Teeqo button — ghost on dark */
.ts-teeqo-btn .wp-block-button__link.wp-element-button {
  background: transparent !important;
  color: rgba(255,255,255,0.75) !important;
  border: 1.5px solid rgba(255,255,255,0.2) !important;
  font-size: 0.88rem !important;
  transition: background 180ms, color 180ms, border-color 180ms !important;
}
.ts-teeqo-btn .wp-block-button__link.wp-element-button:hover {
  background: #F80800 !important;
  border-color: #F80800 !important;
  color: #fff !important;
}

/* Quote card */
.ts-quote-card.wp-block-group {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: var(--he-radius, 18px) !important;
  position: relative !important;
  z-index: 1 !important;
}
p.ts-quote-mark {
  font-size: 5rem !important;
  line-height: 0.7 !important;
  color: #F80800 !important;
  opacity: 0.4 !important;
  margin: 0 0 0.75rem !important;
  font-weight: 900 !important;
}
p.ts-quote-body {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
p.ts-quote-divider {
  color: rgba(255,255,255,0.2) !important;
  margin: 1rem 0 !important;
  font-size: 1.2rem !important;
}
p.ts-quote-sub {
  font-size: 0.88rem !important;
  color: rgba(255,255,255,0.42) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
.ts-quote-cta-group.wp-block-group { gap: 0.65rem !important; }
p.ts-dl-pill-apple a,
p.ts-dl-pill-android a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.55rem 1.1rem !important;
  border-radius: 999px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 150ms !important;
}
p.ts-dl-pill-apple a {
  background: #fff !important;
  color: var(--he-ink, #0F0F10) !important;
}
p.ts-dl-pill-android a {
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
p.ts-dl-pill-apple a:hover { background: #f0f0f0 !important; }
p.ts-dl-pill-android a:hover { background: rgba(255,255,255,0.14) !important; }

/* ── TEEQO BRIDGE ───────────────────────────────────────── */
.ts-bridge-inner.wp-block-group {
  background: #fff !important;
  border-radius: var(--he-radius, 18px) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
}

/* ── FINAL CTA ──────────────────────────────────────────── */
.ts-final-cta.wp-block-group {
  background: var(--he-ink, #0F0F10) !important;
  position: relative !important;
  overflow: hidden !important;
}
.ts-final-cta.wp-block-group::before {
  content: '' !important;
  position: absolute !important;
  top: 50%; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 800px; height: 800px !important;
  background: radial-gradient(circle, rgba(248,8,0,0.15) 0%, transparent 65%) !important;
  pointer-events: none !important;
}
.ts-cta-block.wp-block-group {
  position: relative !important;
  z-index: 1 !important;
}
h2.ts-cta-h {
  font-size: clamp(2.4rem, 4.5vw, 3.6rem) !important;
  color: #fff !important;
}
p.ts-cta-sub {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 !important;
}
.ts-cta-btns.wp-block-group { gap: 1rem !important; }
p.ts-cta-note {
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.25) !important;
  margin-top: 1.25rem !important;
}

/* ── MOBILE ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  h1.ts-h1 { font-size: 2.2rem !important; }
  h2.ts-story-h,
  h2.ts-teachers-h { font-size: 1.9rem !important; }
  h2.ts-cta-h { font-size: 2rem !important; }
  .ts-bridge-inner.wp-block-group { flex-direction: column !important; }
  p.ts-btn-apple--large a,
  p.ts-btn-android--large a { width: 100% !important; justify-content: center !important; }
}

/* ══════════════════════════════════════════════════════════
   v10.0 — Hablo Español home redesign + SEO-first UI polish
   Cleaner public academy homepage, SpanishLab ecosystem, mobile refinement.
══════════════════════════════════════════════════════════ */
:root{
  --he-red:#F80800;
  --he-red-dark:#B10A06;
  --he-red-soft:#FFF0EF;
  --he-ink:#101828;
  --he-muted:#667085;
  --he-cream:#FFF9F0;
  --he-bg:#F7F3EE;
  --he-line:rgba(16,24,40,.10);
  --he-shadow:0 24px 70px rgba(16,24,40,.13);
  --he-soft-shadow:0 14px 36px rgba(16,24,40,.08);
  --he-radius:28px;
}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 8% -8%, rgba(248,8,0,.14), transparent 30%),
    radial-gradient(circle at 96% 0%, rgba(248,8,0,.08), transparent 24%),
    linear-gradient(180deg,#fffaf3 0%,#f7f3ee 42%,#fff 100%) !important;
}
.he-site-header-v10{
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter:blur(18px);
  box-shadow:0 10px 28px rgba(16,24,40,.045);
}
.admin-bar .he-site-header-v10{top:32px;}
.he-brand-v10 .custom-logo{border-radius:14px;box-shadow:0 8px 20px rgba(16,24,40,.08);}
.he-brand-text-v10{line-height:1.05;gap:0 !important;}
.he-brand-text-v10 .wp-block-site-title a{font-size:1.18rem;font-weight:900;letter-spacing:-.035em;text-decoration:none;}
.he-brand-sub-v10{margin:0 !important;color:var(--he-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.he-site-header-v10 .wp-block-navigation a{border-radius:999px;padding:.45rem .55rem;}
.he-site-header-v10 .wp-block-navigation a:hover{background:var(--he-red-soft);text-decoration:none;color:var(--he-red);}
.he-header-mini-cart{display:flex;align-items:center;}
.he-home-v10{max-width:none !important;width:100%;}
.he-home-v10 *{box-sizing:border-box;}
.he-home-v10 a{text-decoration:none;}
.he-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto;}
.he-hero-v10{padding:5.6rem 0 3rem;position:relative;overflow:hidden;}
.he-hero-v10:before{content:"";position:absolute;inset:4% auto auto 52%;width:520px;height:520px;background:radial-gradient(circle, rgba(248,8,0,.13), transparent 62%);filter:blur(10px);pointer-events:none;}
.he-hero-grid-v10{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.78fr);gap:3.2rem;align-items:center;position:relative;z-index:1;}
.he-kicker-row-v10{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.35rem;}
.he-kicker-row-v10 span{display:inline-flex;align-items:center;border:1px solid var(--he-line);background:rgba(255,255,255,.82);border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:800;color:#344054;box-shadow:0 6px 18px rgba(16,24,40,.045);}
.he-eyebrow-v10,.he-card-label-v10,.he-card-kicker-v10{margin:0 0 .7rem;color:var(--he-red);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.he-hero-copy-v10 h1{font-size:clamp(3rem,6vw,5.85rem);line-height:.93;letter-spacing:-.065em;margin:.1rem 0 1rem;color:var(--he-ink);max-width:900px;}
.he-lead-v10{font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.6;color:#475467;margin:0 0 1.55rem;max-width:720px;}
.he-actions-v10{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;}
.he-btn-v10{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;padding:.84rem 1.1rem;font-weight:850;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:1px solid transparent;}
.he-btn-v10:hover{transform:translateY(-2px);text-decoration:none !important;}
.he-btn-primary-v10{background:linear-gradient(135deg,var(--he-red),var(--he-red-dark));color:#fff !important;box-shadow:0 16px 36px rgba(248,8,0,.22);}
.he-btn-light-v10{background:#fff;color:var(--he-ink) !important;border-color:var(--he-line);box-shadow:0 10px 25px rgba(16,24,40,.07);}
.he-trust-note-v10{margin:1.25rem 0 0;color:#667085;font-size:.95rem;}
.he-choice-card-v10,.he-service-card-v10,.he-lab-card-v10,.he-tap-card-v10,.he-review-grid-v10 blockquote,.he-faq-list-v10 details,.he-final-box-v10{background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:var(--he-radius);box-shadow:var(--he-soft-shadow);}
.he-choice-card-v10{padding:1.55rem;box-shadow:var(--he-shadow);}
.he-card-logo-v10{width:76px;height:76px;object-fit:contain;border-radius:22px;background:#fff;border:1px solid rgba(16,24,40,.08);padding:.5rem;box-shadow:0 10px 26px rgba(16,24,40,.08);margin-bottom:1.25rem;}
.he-choice-card-v10 h2,.he-section-head-v10 h2,.he-lab-intro-v10 h2,.he-story-grid-v10 h2,.he-tap-grid-v10 h2,.he-final-box-v10 h2{margin:.1rem 0 1rem;line-height:1.03;letter-spacing:-.04em;color:var(--he-ink);}
.he-choice-card-v10 h2{font-size:clamp(2rem,3vw,2.8rem);}
.he-path-list-v10{display:grid;gap:.65rem;}
.he-path-list-v10 a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"n title" "n text";gap:.1rem .7rem;padding:.9rem;border:1px solid rgba(16,24,40,.08);border-radius:18px;background:#fff;color:var(--he-ink);}
.he-path-list-v10 a:hover{background:var(--he-red-soft);border-color:rgba(248,8,0,.18);text-decoration:none;}
.he-path-list-v10 span{grid-area:n;width:32px;height:32px;display:grid;place-items:center;border-radius:12px;background:var(--he-red-soft);color:var(--he-red);font-weight:900;font-size:.8rem;}
.he-path-list-v10 strong{grid-area:title;font-size:.98rem;}
.he-path-list-v10 small{grid-area:text;color:var(--he-muted);line-height:1.35;}
.he-proof-strip-v10{padding:.75rem 0 3.5rem;}
.he-proof-grid-v10{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;}
.he-proof-grid-v10 div{background:rgba(255,255,255,.78);border:1px solid rgba(16,24,40,.08);border-radius:22px;padding:1rem;box-shadow:0 10px 28px rgba(16,24,40,.055);}
.he-proof-grid-v10 strong{display:block;color:var(--he-ink);margin-bottom:.2rem;}
.he-proof-grid-v10 span{display:block;color:var(--he-muted);font-size:.9rem;line-height:1.45;}
.he-section-v10{padding:5rem 0;}
.he-section-head-v10{max-width:760px;margin-bottom:2rem;}
.he-section-head-v10 h2,.he-lab-intro-v10 h2,.he-story-grid-v10 h2,.he-tap-grid-v10 h2,.he-faq-grid-v10 h2,.he-final-box-v10 h2{font-size:clamp(2.2rem,4vw,3.6rem);}
.he-section-head-v10 p:not(.he-eyebrow-v10),.he-lab-intro-v10 p:not(.he-eyebrow-v10),.he-story-copy-v10,.he-tap-grid-v10 p,.he-faq-grid-v10 p,.he-final-box-v10 p{color:#475467;font-size:1.05rem;line-height:1.65;}
.he-service-grid-v10{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.he-service-card-v10{padding:1.45rem;min-height:100%;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.he-service-card-v10:hover{transform:translateY(-4px);box-shadow:var(--he-shadow);border-color:rgba(248,8,0,.16);}
.he-icon-box-v10{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:#fff;box-shadow:0 10px 26px rgba(16,24,40,.085);font-size:1.35rem;margin-bottom:1rem;}
.he-service-card-v10 h3,.he-lab-card-v10 h3,.he-tap-card-v10 h3{margin:.25rem 0 .65rem;font-size:1.28rem;line-height:1.15;color:var(--he-ink);letter-spacing:-.02em;}
.he-service-card-v10 p:not(.he-card-label-v10),.he-lab-card-v10 p{color:var(--he-muted);line-height:1.55;margin:.25rem 0 1rem;}
.he-service-card-v10 a,.he-lab-card-v10 a{color:var(--he-red);font-weight:850;}
.he-lab-section-v10{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,240,239,.58) 30%,rgba(255,255,255,0));}
.he-lab-shell-v10{background:#111827;color:#fff;border-radius:34px;padding:2rem;box-shadow:0 30px 90px rgba(16,24,40,.22);position:relative;overflow:hidden;}
.he-lab-shell-v10:before{content:"";position:absolute;right:-120px;top:-160px;width:360px;height:360px;background:radial-gradient(circle,rgba(248,8,0,.36),transparent 64%);}
.he-lab-intro-v10{position:relative;z-index:1;max-width:900px;margin-bottom:1.5rem;}
.he-lab-intro-v10 h2,.he-lab-intro-v10 p:not(.he-eyebrow-v10){color:#fff;}
.he-lab-intro-v10 p:not(.he-eyebrow-v10){opacity:.78;}
.he-lab-grid-v10{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.he-lab-card-v10{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);box-shadow:none;color:#fff;padding:1.35rem;}
.he-lab-card-v10 h3{color:#fff;}
.he-lab-card-v10 p{color:rgba(255,255,255,.78);}
.he-lab-card-v10 a{color:#fff;}
.he-lab-number-v10{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#fff;color:var(--he-red);font-weight:950;margin-bottom:.85rem;}
.he-story-v10{background:#fff;}
.he-story-grid-v10,.he-tap-grid-v10,.he-faq-grid-v10{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start;}
.he-story-copy-v10 ul{margin:1rem 0 0;padding-left:1.2rem;}
.he-story-copy-v10 li{margin:.45rem 0;}
.he-tap-v10{background:linear-gradient(135deg,#fff 0%,#fff6f5 100%);}
.he-tap-card-v10{padding:1.5rem;}
.he-mini-tags-v10{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;}
.he-mini-tags-v10 span{background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:999px;padding:.5rem .72rem;font-weight:800;color:#344054;box-shadow:0 8px 20px rgba(16,24,40,.045);}
.he-review-grid-v10{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.he-review-grid-v10 blockquote{margin:0;padding:1.35rem;}
.he-review-grid-v10 blockquote:before{content:"★★★★★";display:block;color:var(--he-red);letter-spacing:.05em;margin-bottom:.6rem;font-weight:900;}
.he-review-grid-v10 p{color:#344054;line-height:1.6;margin:.2rem 0 1rem;}
.he-review-grid-v10 cite{font-style:normal;font-weight:850;color:var(--he-ink);}
.he-faq-v10{background:#fff;}
.he-faq-list-v10{display:grid;gap:.75rem;}
.he-faq-list-v10 details{padding:1rem 1.15rem;}
.he-faq-list-v10 summary{cursor:pointer;font-weight:900;color:var(--he-ink);}
.he-faq-list-v10 summary::marker{color:var(--he-red);}
.he-faq-list-v10 p{margin:.65rem 0 0;font-size:.98rem;color:var(--he-muted);}
.he-final-cta-v10{padding:2.5rem 0 5rem;}
.he-final-box-v10{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;padding:2rem;background:linear-gradient(135deg,#fff 0%,#fff4f3 100%);}
.he-final-box-v10 h2{font-size:clamp(2rem,4vw,3.35rem);margin-bottom:.7rem;}
.he-footer-v10 h3{font-size:1rem;margin-top:0;margin-bottom:.75rem;}
.he-footer-v10 ul{list-style:none;padding-left:0;margin:.4rem 0 0;display:grid;gap:.45rem;}
.he-footer-v10 a:hover{color:var(--he-red);}
@media (max-width:1100px){
  .he-nav-wrap-v10 .he-cta-desktop{display:none;}
  .he-hero-grid-v10{grid-template-columns:1fr;}
  .he-choice-card-v10{max-width:760px;}
  .he-proof-grid-v10,.he-service-grid-v10,.he-lab-grid-v10,.he-review-grid-v10{grid-template-columns:repeat(2,1fr);}
  .he-story-grid-v10,.he-tap-grid-v10,.he-faq-grid-v10{grid-template-columns:1fr;gap:1.6rem;}
}
@media (max-width:782px){
  .admin-bar .he-site-header-v10{top:46px;}
  .he-shell{width:min(100% - 28px,1180px);}
  .he-header-inner-v10{gap:.75rem !important;}
  .he-brand-sub-v10{display:none;}
  .he-brand-text-v10 .wp-block-site-title a{font-size:1rem;}
  .he-header-mini-cart{display:none !important;}
  .he-site-header-v10 .wp-block-navigation__responsive-container-open{border:1px solid var(--he-line);border-radius:999px;padding:.45rem;background:#fff;}
  .he-site-header-v10 .wp-block-navigation__responsive-container.is-menu-open{padding:1.25rem;background:#fffaf6;}
  .he-site-header-v10 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;gap:.6rem;}
  .he-hero-v10{padding:3.2rem 0 2rem;}
  .he-kicker-row-v10{display:none;}
  .he-hero-copy-v10 h1{font-size:clamp(2.65rem,13vw,4.1rem);letter-spacing:-.06em;}
  .he-lead-v10{font-size:1.03rem;}
  .he-actions-v10{width:100%;}
  .he-btn-v10{width:100%;}
  .he-choice-card-v10{padding:1.1rem;border-radius:22px;}
  .he-card-logo-v10{width:62px;height:62px;border-radius:18px;}
  .he-path-list-v10 a{padding:.8rem;}
  .he-proof-strip-v10{padding-bottom:2rem;}
  .he-proof-grid-v10,.he-service-grid-v10,.he-lab-grid-v10,.he-review-grid-v10{grid-template-columns:1fr;}
  .he-section-v10{padding:3.25rem 0;}
  .he-section-head-v10{margin-bottom:1.25rem;}
  .he-section-head-v10 h2,.he-lab-intro-v10 h2,.he-story-grid-v10 h2,.he-tap-grid-v10 h2,.he-faq-grid-v10 h2,.he-final-box-v10 h2{font-size:2.25rem;}
  .he-lab-shell-v10{padding:1.15rem;border-radius:24px;}
  .he-lab-card-v10,.he-service-card-v10,.he-review-grid-v10 blockquote,.he-tap-card-v10{border-radius:22px;}
  .he-final-box-v10{grid-template-columns:1fr;padding:1.25rem;border-radius:24px;}
  .he-footer-grid-v10{display:grid !important;grid-template-columns:1fr;}
  .he-footer-v10{text-align:left;}
}
@media (max-width:430px){
  .he-hero-v10{padding-top:2.4rem;}
  .he-hero-copy-v10 h1{font-size:2.55rem;}
  .he-choice-card-v10 h2{font-size:1.9rem;}
  .he-service-card-v10,.he-lab-card-v10{padding:1.1rem;}
}

/* =========================================================
   v10.1 — Mockup-matched Hablo Español homepage and chrome
   Human academy first, SpanishLab as secondary ecosystem.
   ========================================================= */
:root{
  --he-live-red:#ee1f25;
  --he-live-red-dark:#b91419;
  --he-live-red-soft:#fff0f1;
  --he-live-ink:#101828;
  --he-live-muted:#667085;
  --he-live-cream:#fff8ee;
  --he-live-line:rgba(16,24,40,.10);
  --he-live-radius:30px;
  --he-live-shadow:0 26px 80px rgba(16,24,40,.14);
  --he-live-soft-shadow:0 18px 44px rgba(16,24,40,.08);
}
html{scroll-behavior:smooth;}
body{background:radial-gradient(circle at 8% -4%,rgba(238,31,37,.17),transparent 28%),radial-gradient(circle at 95% 0%,rgba(238,31,37,.08),transparent 22%),linear-gradient(180deg,#fffaf2 0%,#f8f4ee 42%,#fff 100%);}
body .wp-site-blocks{overflow-x:hidden;}

/* Header */
.he-live-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(16,24,40,.08);box-shadow:0 10px 30px rgba(16,24,40,.045);backdrop-filter:blur(18px);padding:0!important;}
.he-live-header .wp-block-group{margin-block-start:0;}
.he-live-header-inner{max-width:1220px;margin-inline:auto!important;padding:12px 22px;gap:18px!important;}
.he-live-brand{gap:12px!important;min-width:max-content;}
.he-live-site-logo img,.he-live-brand .custom-logo{width:44px!important;height:44px!important;object-fit:contain;border-radius:16px;background:#fff;border:1px solid rgba(16,24,40,.08);box-shadow:0 10px 24px rgba(16,24,40,.08);padding:6px;}
.he-live-brand-text{gap:0!important;line-height:1.05;}
.he-live-brand-text .wp-block-site-title{margin:0!important;font-size:20px!important;letter-spacing:-.04em;font-weight:950;line-height:1.05;}
.he-live-brand-text .wp-block-site-title a{text-decoration:none;color:var(--he-live-ink);}
.he-live-brand-text p{margin:0!important;font-size:11px;color:var(--he-live-muted);font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.he-live-nav-wrap{gap:1rem!important;}
.he-live-main-nav .wp-block-navigation__container{gap:4px!important;}
.he-live-main-nav .wp-block-navigation-item__content{padding:10px 11px;border-radius:999px;font-size:14px;color:#344054;font-weight:850;text-decoration:none;}
.he-live-main-nav .wp-block-navigation-item__content:hover{background:var(--he-live-red-soft);color:var(--he-live-red-dark);}
.he-live-cta-desktop .wp-block-button__link{min-height:42px;padding:11px 16px;border-radius:999px;background:var(--he-live-ink)!important;color:#fff!important;font-weight:950;font-size:14px;box-shadow:0 12px 26px rgba(16,24,40,.16);}
.he-live-header .wp-block-navigation__responsive-container-open{border:0;width:44px;height:44px;border-radius:15px;background:#fff;box-shadow:0 12px 26px rgba(16,24,40,.08);}
.he-live-header .wp-block-navigation__responsive-container.is-menu-open{background:#fffaf2!important;color:var(--he-live-ink)!important;}
.he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding:80px 18px 24px;}
.he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{background:#fff;border:1px solid var(--he-live-line);border-radius:24px;padding:10px;box-shadow:var(--he-live-soft-shadow);max-width:560px;}
.he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{border-bottom:0;}
.he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1rem;text-align:left;padding:14px;border-radius:18px;}

/* Homepage base */
.he-live-home{color:var(--he-live-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.he-live-home *{box-sizing:border-box;}
.he-live-home a{text-decoration:none;}
.he-live-shell{width:min(1220px,calc(100% - 44px));margin-inline:auto;}
.he-live-section{padding:64px 0;}
.he-live-section-head{max-width:820px;margin-bottom:30px;}
.he-live-label{display:inline-flex;margin:0;color:var(--he-live-red-dark);font-weight:950;font-size:13px;letter-spacing:.11em;text-transform:uppercase;}
.he-live-section-head h2,.he-live-story-card h2{margin:10px 0 0;font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.06em;}
.he-live-section-head p:not(.he-live-label){margin:16px 0 0;color:var(--he-live-muted);font-size:18px;line-height:1.62;}
.he-live-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.he-live-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:15px 20px;border-radius:999px;font-weight:950;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease;}
.he-live-btn:hover{transform:translateY(-1px);}
.he-live-btn-primary{background:var(--he-live-red);color:#fff!important;box-shadow:0 18px 40px rgba(238,31,37,.26);}
.he-live-btn-light{background:#fff;color:var(--he-live-ink)!important;border-color:rgba(16,24,40,.12);}
.he-live-btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff!important;}

/* Hero */
.he-live-hero{padding:76px 0 54px;position:relative;}
.he-live-hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:44px;align-items:center;}
.he-live-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;border:1px solid rgba(238,31,37,.16);background:rgba(255,255,255,.78);color:var(--he-live-red-dark);font-weight:950;font-size:13px;margin:0 0 20px;box-shadow:0 10px 26px rgba(16,24,40,.04);}
.he-live-hero h1{margin:0;font-size:clamp(48px,6vw,84px);line-height:.93;letter-spacing:-.075em;max-width:820px;}
.he-live-hero h1 span{color:var(--he-live-red);}
.he-live-lead{margin:24px 0 0;max-width:730px;color:#475467;font-size:19px;line-height:1.65;}
.he-live-trust-row{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;}
.he-live-trust-row>div{background:rgba(255,255,255,.82);border:1px solid rgba(16,24,40,.08);border-radius:21px;padding:16px;box-shadow:0 14px 34px rgba(16,24,40,.06);}
.he-live-trust-row strong{display:block;font-size:20px;letter-spacing:-.035em;}
.he-live-trust-row span{display:block;margin-top:4px;color:var(--he-live-muted);font-size:13px;line-height:1.35;font-weight:750;}
.he-live-class-card{border-radius:38px;padding:28px;min-height:535px;color:var(--he-live-ink);overflow:hidden;position:relative;background:radial-gradient(circle at 90% 0%,rgba(238,31,37,.10),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,244,.92));border:1px solid rgba(16,24,40,.10);box-shadow:0 30px 90px rgba(16,24,40,.14);}
.he-live-class-card:after{content:"";position:absolute;right:-120px;bottom:-120px;width:280px;height:280px;border-radius:999px;background:rgba(238,31,37,.09);filter:blur(16px);}
.he-live-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;position:relative;z-index:1;}
.he-live-panel-head span{color:var(--he-live-red-dark);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;}
.he-live-panel-head em{font-style:normal;padding:8px 11px;border-radius:999px;border:1px solid rgba(238,31,37,.14);background:var(--he-live-red-soft);color:var(--he-live-red-dark);font-size:12px;font-weight:900;white-space:nowrap;}
.he-live-class-card h2{position:relative;z-index:1;margin:33px 0 0;font-size:38px;line-height:1.02;letter-spacing:-.055em;font-weight:950;max-width:520px;}
.he-live-class-list{margin-top:28px;display:grid;gap:12px;position:relative;z-index:1;}
.he-live-class-list a{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:15px;border-radius:22px;border:1px solid rgba(16,24,40,.08);background:#fff;box-shadow:0 12px 28px rgba(16,24,40,.06);color:inherit;}
.he-live-class-list b{width:54px;height:54px;border-radius:18px;background:var(--he-live-red-soft);color:var(--he-live-red-dark);display:grid;place-items:center;font-weight:950;font-size:13px;border:1px solid rgba(238,31,37,.12);box-shadow:0 10px 22px rgba(238,31,37,.10);}
.he-live-class-list strong{display:block;font-size:16px;}
.he-live-class-list small{display:block;color:var(--he-live-muted);margin-top:4px;font-size:13px;line-height:1.35;}
.he-live-class-list i{font-style:normal;border:1px solid rgba(238,31,37,.14);border-radius:999px;padding:7px 9px;color:var(--he-live-red-dark);background:var(--he-live-red-soft);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.he-live-card-note{position:relative;z-index:1;margin:18px 0 0;padding:16px;border-radius:20px;background:rgba(238,31,37,.06);border:1px solid rgba(238,31,37,.12);color:#475467;line-height:1.5;font-size:14px;font-weight:750;}

/* Cards */
.he-live-audience-grid,.he-live-teacher-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.he-live-audience-card{border-radius:36px;padding:32px;min-height:345px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--he-live-shadow);overflow:hidden;position:relative;}
.he-live-audience-light{background:#fff;border:1px solid var(--he-live-line);}
.he-live-audience-dark,.he-live-teacher-dark{color:#fff;background:radial-gradient(circle at 84% 8%,rgba(238,31,37,.26),transparent 30%),linear-gradient(135deg,#101218,#202432);}
.he-live-audience-card small{color:var(--he-live-red-dark);font-weight:950;letter-spacing:.11em;text-transform:uppercase;}
.he-live-audience-dark small{color:#ffb2b2;}
.he-live-audience-card h3{margin:12px 0 10px;font-size:38px;letter-spacing:-.055em;line-height:1;}
.he-live-audience-card p{color:var(--he-live-muted);line-height:1.65;margin:0;max-width:560px;}
.he-live-audience-dark p{color:rgba(255,255,255,.70);}
.he-live-audience-card ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:9px;}
.he-live-audience-card li{color:#344054;font-weight:760;}
.he-live-audience-card li:before{content:"✓";color:var(--he-live-red);font-weight:950;margin-right:9px;}
.he-live-audience-dark li{color:rgba(255,255,255,.78);}

.he-live-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.he-live-services-grid article{min-height:262px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.90);border:1px solid var(--he-live-line);border-radius:28px;padding:25px;box-shadow:var(--he-live-soft-shadow);transition:transform .18s ease,box-shadow .18s ease;}
.he-live-services-grid article:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(16,24,40,.12);}
.he-live-services-grid article div{width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;border:1px solid rgba(16,24,40,.08);box-shadow:0 12px 26px rgba(16,24,40,.10);margin-bottom:18px;font-size:25px;}
.he-live-services-grid h3{margin:0;font-size:24px;letter-spacing:-.04em;}
.he-live-services-grid p{color:var(--he-live-muted);line-height:1.58;margin:11px 0 18px;}
.he-live-services-grid a{color:var(--he-live-red-dark);font-weight:950;}

/* SpanishLab */
.he-live-lab-shell{border-radius:40px;color:#fff;padding:40px;position:relative;overflow:hidden;background:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px),radial-gradient(circle at 9% 0%,rgba(238,31,37,.34),transparent 34%),radial-gradient(circle at 93% 22%,rgba(255,255,255,.09),transparent 26%),linear-gradient(135deg,#101218,#1b1f2b);background-size:58px 58px,58px 58px,auto,auto,auto;box-shadow:0 34px 98px rgba(16,24,40,.24);}
.he-live-lab-shell h2{color:#fff;}
.he-live-lab-shell .he-live-section-head p:not(.he-live-label){color:rgba(255,255,255,.68);}
.he-live-lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;}
.he-live-lab-grid article{min-height:230px;border-radius:25px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.12);}
.he-live-lab-grid b{width:50px;height:50px;border-radius:17px;background:#fff;color:var(--he-live-red-dark);display:grid;place-items:center;font-weight:950;margin-bottom:18px;box-shadow:0 14px 28px rgba(0,0,0,.18);}
.he-live-lab-grid strong{display:block;font-size:22px;letter-spacing:-.04em;}
.he-live-lab-grid p{margin:10px 0 0;color:rgba(255,255,255,.64);line-height:1.55;}
.he-live-lab-grid span{margin-top:18px;color:#ffd4d4;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;}

/* Story / Tap / Teachers */
.he-live-story-grid,.he-live-tap-grid,.he-live-contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;align-items:start;}
.he-live-story-card,.he-live-contact-grid article,.he-live-teacher-light,.he-live-teacher-dark{background:#fff;border:1px solid var(--he-live-line);border-radius:36px;padding:32px;box-shadow:var(--he-live-soft-shadow);}
.he-live-story-card p:not(.he-live-label){color:var(--he-live-muted);line-height:1.72;font-size:17px;margin:16px 0 0;}
.he-live-timeline{display:grid;gap:14px;}
.he-live-timeline>div{display:grid;grid-template-columns:56px 1fr;gap:16px;background:rgba(255,255,255,.88);border:1px solid var(--he-live-line);border-radius:25px;padding:18px;box-shadow:0 12px 30px rgba(16,24,40,.06);}
.he-live-timeline b{width:56px;height:56px;border-radius:18px;background:var(--he-live-red-soft);color:var(--he-live-red-dark);display:grid;place-items:center;font-weight:950;grid-row:1 / span 2;}
.he-live-timeline h3{margin:0;font-size:20px;letter-spacing:-.035em;}
.he-live-timeline p{margin:6px 0 0;color:var(--he-live-muted);line-height:1.55;}
.he-live-tap-grid{grid-template-columns:1fr 1fr;align-items:center;}
.he-live-phone{border-radius:40px;padding:26px;background:linear-gradient(135deg,#101218,#202432);box-shadow:0 34px 90px rgba(16,24,40,.24);min-height:540px;color:#fff;position:relative;overflow:hidden;}
.he-live-phone:before{content:"";position:absolute;inset:-140px auto auto -90px;width:260px;height:260px;border-radius:999px;background:rgba(238,31,37,.24);filter:blur(10px);}
.he-live-phone>div{max-width:320px;margin:0 auto;background:#080a0f;border-radius:42px;padding:16px;border:8px solid #242833;box-shadow:0 34px 70px rgba(0,0,0,.32);position:relative;z-index:1;}
.he-live-phone>div>div{min-height:455px;background:linear-gradient(180deg,#fff7ef,#fff);border-radius:30px;padding:18px;color:var(--he-live-ink);}
.he-live-phone span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--he-live-red-soft);color:var(--he-live-red-dark);font-weight:950;font-size:12px;margin-bottom:14px;}
.he-live-phone h3{font-weight:950;letter-spacing:-.045em;font-size:26px;margin:0 0 12px;}
.he-live-phone p{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;background:#fff;border:1px solid var(--he-live-line);border-radius:17px;padding:12px;margin:0 0 10px;box-shadow:0 10px 24px rgba(16,24,40,.06);}
.he-live-phone small{grid-column:2;color:var(--he-live-muted);}
.he-live-teacher-grid{align-items:stretch;}
.he-live-teacher-dark,.he-live-teacher-light{padding:30px;}
.he-live-teacher-dark p:not(.he-live-label){color:rgba(255,255,255,.68);}
.he-live-teacher-light p:not(.he-live-label){color:var(--he-live-muted);}
.he-live-teacher-dark h3,.he-live-teacher-light h3{margin:10px 0;font-size:35px;letter-spacing:-.055em;line-height:1.02;}
.he-live-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;}
.he-live-metrics span{border-radius:18px;padding:14px;background:rgba(238,31,37,.07);border:1px solid rgba(238,31,37,.12);text-align:center;font-size:12px;font-weight:850;color:var(--he-live-muted);}
.he-live-teacher-dark .he-live-metrics span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.60);}
.he-live-metrics b{display:block;font-size:22px;letter-spacing:-.04em;color:inherit;}
.he-live-teacher-dark .he-live-metrics b{color:#fff;}

/* Reviews, FAQ, contact */
.he-live-reviews,.he-live-faq{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.he-live-reviews blockquote,.he-live-faq details{background:#fff;border:1px solid var(--he-live-line);border-radius:28px;padding:25px;box-shadow:var(--he-live-soft-shadow);margin:0;}
.he-live-reviews b{color:var(--he-live-red);letter-spacing:1px;margin-bottom:16px;display:block;}
.he-live-reviews p{color:#344054;line-height:1.65;margin:0;}
.he-live-reviews cite{display:block;margin-top:18px;font-style:normal;font-weight:900;}
.he-live-faq{grid-template-columns:1fr 1fr;}
.he-live-faq details{border-radius:22px;padding:18px 20px;}
.he-live-faq summary{cursor:pointer;font-weight:950;letter-spacing:-.02em;}
.he-live-faq p{margin:12px 0 0;color:var(--he-live-muted);line-height:1.6;}
.he-live-contact-grid{grid-template-columns:.9fr 1.1fr;}
.he-live-contact-grid img{width:62px;height:62px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid var(--he-live-line);padding:8px;box-shadow:0 10px 24px rgba(16,24,40,.08);}
.he-live-contact-grid h3{margin:14px 0 0;font-size:32px;letter-spacing:-.055em;}
.he-live-contact-grid p{color:var(--he-live-muted);line-height:1.6;}
.he-live-contact-grid ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:13px;color:#475467;font-weight:780;}
.he-live-contact-grid a{color:inherit;}
.he-live-final{padding:0 0 72px;}
.he-live-final-box{display:flex;align-items:center;justify-content:space-between;gap:26px;border-radius:40px;padding:42px;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.22),transparent 28%),linear-gradient(135deg,var(--he-live-red),#941d1d);color:#fff;box-shadow:0 26px 76px rgba(238,31,37,.27);}
.he-live-final-box h2{margin:0;max-width:760px;font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.06em;}
.he-live-final-box p{margin:14px 0 0;color:rgba(255,255,255,.82);line-height:1.65;max-width:760px;}

/* Footer */
.he-live-footer{background:#101218!important;color:#fff;padding:50px 22px!important;margin-block-start:0!important;}
.he-live-footer .wp-block-columns{max-width:1220px;margin-inline:auto!important;gap:28px!important;}
.he-live-footer .wp-block-column{margin:0!important;}
.he-live-footer-brand{gap:12px!important;}
.he-live-footer-brand img{background:#fff;padding:6px;border-radius:16px;}
.he-live-footer-brand p{margin:0!important;color:#fff;font-size:1.1rem;font-weight:950;letter-spacing:-.02em;}
.he-live-footer p{color:rgba(255,255,255,.60);line-height:1.58;margin:13px 0 0;}
.he-live-footer h4{margin:0 0 14px;color:#fff;font-size:1rem;}
.he-live-footer ul{list-style:none;margin:0;padding:0;}
.he-live-footer a{color:rgba(255,255,255,.72);font-weight:750;text-decoration:none;}
.he-live-footer li{margin:9px 0;font-size:14px;}
.he-live-footer-legal{max-width:1220px;margin:34px auto 0!important;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);gap:16px!important;}
.he-live-footer-legal p{font-size:13px;color:rgba(255,255,255,.48);margin:0!important;}

@media (max-width:1080px){
  .he-live-nav-wrap .he-live-main-nav{order:2;}
  .he-live-cta-desktop{display:none!important;}
  .he-live-header-inner{display:flex!important;}
  .he-live-hero-grid,.he-live-audience-grid,.he-live-services-grid,.he-live-lab-grid,.he-live-story-grid,.he-live-tap-grid,.he-live-teacher-grid,.he-live-reviews,.he-live-faq,.he-live-contact-grid{grid-template-columns:1fr;}
  .he-live-hero{padding:42px 0 34px;}
  .he-live-shell{width:min(100% - 32px,1220px);}
  .he-live-hero h1{font-size:43px;line-height:.98;letter-spacing:-.058em;}
  .he-live-lead{font-size:16px;line-height:1.55;margin-top:18px;}
  .he-live-actions{display:grid;grid-template-columns:1fr;margin-top:22px;}
  .he-live-btn{width:100%;min-height:50px;padding:13px 16px;}
  .he-live-trust-row{grid-template-columns:1fr;gap:10px;}
  .he-live-class-card{min-height:auto;border-radius:29px;padding:20px;}
  .he-live-class-card h2{font-size:28px;line-height:1.07;margin-top:22px;}
  .he-live-class-list a{grid-template-columns:46px 1fr;gap:12px;padding:13px;border-radius:20px;}
  .he-live-class-list b{width:46px;height:46px;border-radius:15px;}
  .he-live-class-list i{display:none;}
  .he-live-section{padding:48px 0;}
  .he-live-section-head h2,.he-live-story-card h2{font-size:35px;line-height:1;}
  .he-live-section-head p:not(.he-live-label){font-size:16px;}
  .he-live-audience-card,.he-live-lab-shell,.he-live-story-card,.he-live-teacher-dark,.he-live-teacher-light,.he-live-contact-grid article,.he-live-final-box{border-radius:29px;padding:24px;}
  .he-live-audience-card h3,.he-live-teacher-dark h3,.he-live-teacher-light h3{font-size:30px;}
  .he-live-services-grid article,.he-live-lab-grid article{min-height:auto;}
  .he-live-timeline>div{grid-template-columns:48px 1fr;}
  .he-live-timeline b{width:48px;height:48px;border-radius:16px;}
  .he-live-phone{min-height:auto;padding:18px;border-radius:29px;}
  .he-live-phone>div{max-width:100%;border-radius:32px;}
  .he-live-metrics{grid-template-columns:repeat(2,1fr);}
  .he-live-final{padding-bottom:54px;}
  .he-live-final-box{display:block;}
  .he-live-footer .wp-block-columns{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;}
}
@media (max-width:520px){
  .he-live-header-inner{padding:10px 16px;}
  .he-live-brand-text .wp-block-site-title{font-size:18px!important;}
  .he-live-brand-text p{display:none;}
  .he-live-site-logo img,.he-live-brand .custom-logo{width:40px!important;height:40px!important;border-radius:14px;}
  .he-live-panel-head em{display:none;}
  .he-live-hero{padding-top:32px;}
  .he-live-hero h1{font-size:39px;}
  .he-live-lab-shell{padding:22px;}
}


/* =========================================================
   v10.2 — Repair pass
   Fixes: broken hero class card, invisible Teeqo card, mobile menu.
   ========================================================= */
.he-live-home,
.he-live-home *{
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.he-live-home p,
.he-live-home li,
.he-live-home small,
.he-live-home span{
  overflow-wrap:break-word!important;
}
.he-live-hero-copy{
  display:block!important;
  position:relative;
  z-index:2;
  min-width:0;
}
.he-live-hero-copy > *{
  max-width:780px;
}
.he-live-class-card{
  z-index:1;
}
.he-live-class-list a{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto;
  min-width:0;
  overflow:hidden;
}
.he-live-class-list b{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
}
.he-live-class-list strong{
  grid-column:2;
  grid-row:1;
  min-width:0;
  line-height:1.2;
  white-space:normal;
}
.he-live-class-list small{
  grid-column:2;
  grid-row:2;
  min-width:0;
  white-space:normal;
}
.he-live-class-list i{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
}
.he-live-teacher-dark{
  color:#fff!important;
  background:radial-gradient(circle at 84% 8%,rgba(238,31,37,.28),transparent 30%),linear-gradient(135deg,#101218,#202432)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 30px 80px rgba(16,24,40,.20)!important;
}
.he-live-teacher-dark .he-live-label{color:#ffb2b2!important;}
.he-live-teacher-dark h3,
.he-live-teacher-dark p,
.he-live-teacher-dark span,
.he-live-teacher-dark b{color:inherit;}
.he-live-teacher-dark p:not(.he-live-label){color:rgba(255,255,255,.74)!important;}
.he-live-teacher-dark .he-live-metrics span{color:rgba(255,255,255,.66)!important;}
.he-live-teacher-dark .he-live-btn-light{background:#fff!important;color:#101828!important;border-color:#fff!important;}
.he-live-teacher-dark .he-live-btn-ghost{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;}

/* More balanced desktop hero */
@media (min-width:1081px){
  .he-live-hero{padding:86px 0 62px;}
  .he-live-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(430px,.88fr);gap:52px;}
  .he-live-class-card{max-width:560px;justify-self:end;}
}

/* Tablet and mobile: make the hero feel intentional, not squeezed. */
@media (max-width:1080px){
  .he-live-header .wp-block-navigation__responsive-container-open{display:flex!important;align-items:center;justify-content:center;}
  .he-live-hero-grid{gap:24px;align-items:start;}
  .he-live-class-card{box-shadow:0 20px 54px rgba(16,24,40,.12);}
  .he-live-class-list a{grid-template-columns:48px minmax(0,1fr)!important;}
  .he-live-class-list b{width:48px;height:48px;grid-row:1 / span 2;}
  .he-live-class-list strong{grid-column:2;grid-row:1;font-size:15.5px;}
  .he-live-class-list small{grid-column:2;grid-row:2;font-size:12.5px;line-height:1.35;}
  .he-live-class-list i{display:none!important;}
  .he-live-teacher-grid{gap:16px;}
}

/* WordPress mobile overlay — rebuilt so it looks like a real mobile menu. */
@media (max-width:1080px){
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    background:linear-gradient(180deg,#fff 0%,#fff8ee 100%)!important;
    color:var(--he-live-ink)!important;
    padding:0!important;
    overflow-y:auto!important;
    z-index:999999!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
    max-width:100%!important;
    width:100%!important;
    margin:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close{
    top:18px!important;
    right:18px!important;
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border:1px solid rgba(16,24,40,.10)!important;
    box-shadow:0 14px 36px rgba(16,24,40,.12)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding:86px 18px 28px!important;
    min-height:100dvh!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    padding:12px!important;
    border-radius:28px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    background:#fff!important;
    box-shadow:0 22px 70px rgba(16,24,40,.12)!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:15px 16px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(16,24,40,.08)!important;
    color:#101828!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1.2!important;
    box-shadow:0 10px 24px rgba(16,24,40,.045)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus{
    background:var(--he-live-red-soft)!important;
    color:var(--he-live-red-dark)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:after{
    content:'→';
    color:var(--he-live-red);
    font-weight:950;
  }
}

@media (max-width:520px){
  .he-live-shell{width:min(100% - 28px,1220px);}
  .he-live-hero{padding-top:26px;padding-bottom:28px;}
  .he-live-eyebrow{font-size:11px;line-height:1.25;padding:8px 11px;margin-bottom:15px;}
  .he-live-hero h1{font-size:36px!important;line-height:1.01;letter-spacing:-.055em;}
  .he-live-lead{font-size:15.5px;}
  .he-live-trust-row>div{padding:14px;border-radius:18px;}
  .he-live-class-card{padding:18px;border-radius:26px;}
  .he-live-class-card h2{font-size:25px!important;line-height:1.08;letter-spacing:-.045em;}
  .he-live-panel-head{align-items:flex-start;}
  .he-live-panel-head span{font-size:11px;}
  .he-live-class-list{gap:10px;margin-top:20px;}
  .he-live-class-list a{padding:12px;border-radius:18px;gap:11px;}
  .he-live-card-note{font-size:13px;padding:13px;border-radius:17px;}
  .he-live-section{padding:42px 0;}
  .he-live-section-head h2,.he-live-story-card h2{font-size:32px;}
  .he-live-audience-card,.he-live-lab-shell,.he-live-story-card,.he-live-teacher-dark,.he-live-teacher-light,.he-live-contact-grid article,.he-live-final-box{padding:21px;border-radius:26px;}
  .he-live-services-grid article{padding:20px;border-radius:23px;}
  .he-live-metrics{grid-template-columns:1fr 1fr;}
  .he-live-footer{padding-bottom:86px!important;}
}


/* =========================================================
   v10.5 — Mobile header and menu repair
   Fixes the broken WordPress mobile overlay after forcing the
   brand text beside the logo. Keeps the menu clean, centred and
   section-based on mobile.
   ========================================================= */

/* Brand: always show Hablo Español beside the logo. */
.he-live-header .he-live-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:calc(100% - 58px)!important;
  overflow:hidden!important;
}
.he-live-header .he-live-brand-text{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  min-width:0!important;
  flex:1 1 auto!important;
  line-height:1.05!important;
  overflow:hidden!important;
}
.he-live-brand-title,
.he-live-brand-title a,
.he-live-header .he-live-brand-title,
.he-live-header .he-live-brand-title a{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  margin:0!important;
  color:#101828!important;
  text-decoration:none!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.he-live-header .he-live-brand-text > p:not(.he-live-brand-title){
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  margin:.12rem 0 0!important;
  color:#667085!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.he-live-nav-wrap{
  margin-left:auto!important;
  flex:0 0 auto!important;
  min-width:0!important;
}

/* Contact form kept visible and usable on the home page. */
.he-live-contact-form-card .he-form{gap:1rem!important;}
.he-live-contact-form-card .he-form-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1rem!important;
}
.he-live-contact-form-card .he-form-field label{color:#101828!important;}
.he-live-contact-form-card .he-form-field input,
.he-live-contact-form-card .he-form-field select,
.he-live-contact-form-card .he-form-field textarea{
  min-height:48px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(16,24,40,.13)!important;
  box-shadow:0 8px 22px rgba(16,24,40,.035)!important;
}
.he-live-contact-form-card .he-form-field textarea{min-height:132px!important;}
.he-live-contact-form-card .he-form-submit{
  width:100%!important;
  justify-content:center!important;
  border-radius:999px!important;
  min-height:52px!important;
  font-weight:950!important;
}
.he-live-contact-form-card .he-form-note{margin:0!important;color:#667085!important;}
.he-live-contact-form-card .he-form-note a{color:#475467!important;}
.he-form-success,.he-form-error{
  border-radius:18px!important;
  padding:12px 14px!important;
  margin:0 0 16px!important;
  font-weight:850!important;
  line-height:1.45!important;
}
.he-form-success{background:#ecfff3!important;color:#137a3d!important;border:1px solid rgba(19,122,61,.15)!important;}
.he-form-error{background:#fff2f2!important;color:#9f1d1d!important;border:1px solid rgba(159,29,29,.15)!important;}

/* Mobile header layout. */
@media (max-width:1080px){
  .he-live-header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:64px!important;
    padding:10px 16px!important;
    width:100%!important;
  }
  .he-live-site-logo img,
  .he-live-brand .custom-logo{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:14px!important;
    padding:5px!important;
  }
  .he-live-header .he-live-brand{
    max-width:calc(100vw - 82px)!important;
  }
  .he-live-header .he-live-brand-title{
    font-size:18px!important;
    max-width:190px!important;
  }
  .he-live-header .he-live-brand-text > p:not(.he-live-brand-title){
    font-size:9.5px!important;
    max-width:190px!important;
  }
  .he-live-cta-desktop{
    display:none!important;
  }

  /* Force WordPress nav to behave as mobile navigation. */
  .he-live-main-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .he-live-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-open{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    margin-left:8px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#101828!important;
    box-shadow:0 12px 26px rgba(16,24,40,.08)!important;
  }

  /* Full-screen mobile overlay. */
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    background:linear-gradient(180deg,#fff 0%,#fff8ee 100%)!important;
    color:#101828!important;
    padding:0!important;
    margin:0!important;
    overflow-y:auto!important;
    z-index:999999!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
    display:block!important;
    max-width:none!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close{
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    color:#101828!important;
    border:1px solid rgba(16,24,40,.10)!important;
    box-shadow:0 14px 36px rgba(16,24,40,.12)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close svg,
  .he-live-header .wp-block-navigation__responsive-container-open svg{
    width:24px!important;
    height:24px!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:100dvh!important;
    padding:86px 18px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:14px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content:before{
    content:'Hablo Español';
    display:block!important;
    width:100%!important;
    max-width:460px!important;
    margin:0 auto 2px!important;
    color:#101828!important;
    font-size:28px!important;
    line-height:1!important;
    letter-spacing:-.055em!important;
    font-weight:950!important;
    text-align:left!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content:after{
    content:'Choose a section';
    display:block!important;
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    color:#667085!important;
    font-size:13px!important;
    font-weight:850!important;
    text-align:left!important;
    order:2!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    order:1!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    padding:12px!important;
    border-radius:28px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    background:#fff!important;
    box-shadow:0 22px 70px rgba(16,24,40,.12)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    list-style:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
    max-width:none!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:15px 16px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(16,24,40,.08)!important;
    color:#101828!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    box-shadow:0 10px 24px rgba(16,24,40,.045)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:after{
    content:'→'!important;
    color:#ee1f25!important;
    font-weight:950!important;
    margin-left:auto!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus{
    background:#fff0f1!important;
    color:#b91419!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{
    background:#ee1f25!important;
    color:#fff!important;
    border-color:#ee1f25!important;
    box-shadow:0 16px 34px rgba(238,31,37,.24)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:after{
    color:#fff!important;
  }
}

@media (min-width:1081px){
  .he-live-header .wp-block-navigation__responsive-container-open{display:none!important;}
  .he-live-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block!important;}
}

@media (max-width:520px){
  .he-live-header .he-live-brand-title{font-size:18px!important;max-width:172px!important;}
  .he-live-header .he-live-brand-text > p:not(.he-live-brand-title){font-size:9.5px!important;max-width:172px!important;}
  .he-live-contact-form-card .he-form-row{grid-template-columns:1fr!important;}
  .he-live-contact-form-card .he-form-field input,
  .he-live-contact-form-card .he-form-field select,
  .he-live-contact-form-card .he-form-field textarea{font-size:16px!important;}
}
@media (max-width:380px){
  .he-live-header .he-live-brand-title{font-size:17px!important;max-width:148px!important;}
  .he-live-header .he-live-brand-text > p:not(.he-live-brand-title){display:none!important;}
}
@media (max-width:340px){
  .he-live-header .he-live-brand-title{max-width:128px!important;}
}


/* =========================================================
   v10.7 — Restore the working mobile menu.
   The previous iteration forced the close label and mobile
   overlay too aggressively. This keeps the logo text visible
   in the closed header, but returns the mobile menu to a clean,
   stable table-of-contents layout.
   ========================================================= */
@media (max-width:1080px){
  .he-live-header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    overflow:visible!important;
  }
  .he-live-header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-height:62px!important;
    padding:10px 16px!important;
    gap:12px!important;
  }
  .he-live-header .he-live-brand{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100vw - 92px)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .he-live-header .he-live-brand .wp-block-site-logo,
  .he-live-header .he-live-site-logo{
    flex:0 0 auto!important;
  }
  .he-live-site-logo img,
  .he-live-brand .custom-logo{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:14px!important;
    padding:5px!important;
  }
  .he-live-header .he-live-brand-text{
    display:block!important;
    min-width:0!important;
    max-width:calc(100vw - 148px)!important;
    overflow:hidden!important;
  }
  .he-live-header .he-live-brand-title,
  .he-live-header .he-live-brand-title a{
    display:block!important;
    color:#101828!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    font-weight:950!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
    margin:0!important;
  }
  .he-live-header .he-live-brand-text > p:not(.he-live-brand-title){
    display:none!important;
  }
  .he-live-nav-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    min-width:44px!important;
    margin-left:auto!important;
    gap:0!important;
  }
  .he-live-cta-desktop{
    display:none!important;
  }
  .he-live-main-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    min-width:44px!important;
    position:static!important;
  }
  .he-live-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-open{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    flex:0 0 44px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(16,24,40,.10)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#101828!important;
    box-shadow:0 12px 26px rgba(16,24,40,.08)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-open svg{
    width:24px!important;
    height:24px!important;
    display:block!important;
  }

  .he-live-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    height:100dvh!important;
    padding:0!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:linear-gradient(180deg,#ffffff 0%,#fff8ee 100%)!important;
    color:#101828!important;
    z-index:999999!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#101828!important;
    border:1px solid rgba(16,24,40,.10)!important;
    box-shadow:0 14px 36px rgba(16,24,40,.12)!important;
    font-size:0!important;
    line-height:0!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-indent:-9999px!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    color:#101828!important;
    text-indent:0!important;
    margin:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close:before{
    content:'×'!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:46px!important;
    height:46px!important;
    text-indent:0!important;
    font-size:30px!important;
    line-height:43px!important;
    font-weight:650!important;
    color:#101828!important;
    text-align:center!important;
    pointer-events:none!important;
  }

  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:82px 18px 28px!important;
    overflow:visible!important;
    color:#101828!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content:before,
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content:after{
    content:none!important;
    display:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:min(100%,460px)!important;
    max-width:460px!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:12px!important;
    gap:8px!important;
    border-radius:28px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    background:#fff!important;
    box-shadow:0 22px 70px rgba(16,24,40,.12)!important;
    overflow:hidden!important;
    list-style:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:16px 18px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(16,24,40,.08)!important;
    color:#101828!important;
    font-size:17px!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    box-shadow:0 10px 24px rgba(16,24,40,.045)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:after{
    content:'→'!important;
    display:block!important;
    flex:0 0 auto!important;
    margin-left:14px!important;
    color:#ee1f25!important;
    font-weight:950!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus{
    background:#fff0f1!important;
    color:#b91419!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{
    background:#ee1f25!important;
    color:#fff!important;
    border-color:#ee1f25!important;
    box-shadow:0 16px 34px rgba(238,31,37,.24)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:after{
    color:#fff!important;
  }
}
@media (min-width:1081px){
  .he-live-header .wp-block-navigation__responsive-container-open{display:none!important;}
  .he-live-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block!important;}
}
@media (max-width:380px){
  .he-live-header .he-live-brand-title,
  .he-live-header .he-live-brand-title a{
    font-size:17px!important;
  }
}

/* =========================================================
   v10.7 — Mobile menu final polish, contact page form and tables.
   Fixes: double X, chat bubble over menu, menu height, Contact page form,
   and desktop table contrast on course pages.
   ========================================================= */
@media (max-width:1080px){
  /* Keep the overlay above every third-party widget. */
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open{
    z-index:2147483600!important;
  }

  /* Single, clean close icon. WordPress outputs an SVG; previous CSS added a second X. */
  .he-live-header .wp-block-navigation__responsive-container-close{
    z-index:2147483601!important;
    text-indent:0!important;
    overflow:hidden!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close svg,
  .he-live-header .wp-block-navigation__responsive-container-close:after{
    display:none!important;
    content:none!important;
  }
  .he-live-header .wp-block-navigation__responsive-container-close:before{
    content:'×'!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    inset:0!important;
    width:46px!important;
    height:46px!important;
    text-indent:0!important;
    font-size:34px!important;
    line-height:1!important;
    font-weight:520!important;
    font-family:Arial, Helvetica, sans-serif!important;
    color:#101828!important;
    pointer-events:none!important;
  }

  /* Full-screen menu: no floating half-panel feeling. */
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    min-height:100dvh!important;
    padding:82px 14px 14px!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100dvh - 104px)!important;
    margin:0!important;
    padding:14px!important;
    border-radius:30px!important;
    gap:10px!important;
    box-shadow:0 18px 54px rgba(16,24,40,.10)!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    min-height:64px!important;
    padding:17px 18px!important;
    border-radius:20px!important;
  }

  /* Hide third-party chat launchers while the navigation overlay is open. */
  body.has-modal-open #sib-conversations,
  body.has-modal-open #brevo-conversations,
  body.has-modal-open #sendinblue-conversations,
  body.has-modal-open .crisp-client,
  body.has-modal-open #tidio-chat,
  body.has-modal-open #tawkchat-container,
  body.has-modal-open .tawk-min-container,
  body.has-modal-open .fb_dialog,
  body.has-modal-open .fb-customerchat,
  body.has-modal-open #intercom-container,
  body.has-modal-open .intercom-lightweight-app,
  body.has-modal-open .intercom-app,
  body.has-modal-open #hubspot-messages-iframe-container,
  body.has-modal-open iframe[title*="chat" i],
  body.has-modal-open iframe[src*="intercom" i],
  body.has-modal-open iframe[src*="tawk" i],
  body.has-modal-open iframe[src*="crisp" i],
  body.has-modal-open iframe[src*="tidio" i]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  body:has(.wp-block-navigation__responsive-container.is-menu-open) #sib-conversations,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #brevo-conversations,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #sendinblue-conversations,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .crisp-client,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #tidio-chat,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #tawkchat-container,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .tawk-min-container,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .fb_dialog,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .fb-customerchat,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #intercom-container,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .intercom-lightweight-app,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .intercom-app,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #hubspot-messages-iframe-container,
  body:has(.wp-block-navigation__responsive-container.is-menu-open) iframe[title*="chat" i],
  body:has(.wp-block-navigation__responsive-container.is-menu-open) iframe[src*="intercom" i],
  body:has(.wp-block-navigation__responsive-container.is-menu-open) iframe[src*="tawk" i],
  body:has(.wp-block-navigation__responsive-container.is-menu-open) iframe[src*="crisp" i],
  body:has(.wp-block-navigation__responsive-container.is-menu-open) iframe[src*="tidio" i]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:520px){
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding:78px 12px 12px!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    min-height:calc(100dvh - 90px)!important;
    border-radius:28px!important;
  }
  .he-live-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    min-height:66px!important;
    font-size:18px!important;
  }
}

/* Contact page — make the dedicated Contact form feel as premium as the home. */
.he-contact-form-card.wp-block-group{
  border-radius:34px!important;
  border:1px solid rgba(16,24,40,.10)!important;
  background:linear-gradient(180deg,#ffffff 0%,#fffaf7 100%)!important;
  box-shadow:0 26px 70px rgba(16,24,40,.12)!important;
  overflow:hidden!important;
  position:relative!important;
}
.he-contact-form-card.wp-block-group:before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#ee1f25,#b91419);
}
.he-contact-form-card h3{
  font-size:clamp(1.55rem,2.3vw,2rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
.he-contact-form-card .he-form{
  gap:1rem!important;
}
.he-contact-form-card .he-form-row{
  gap:1rem!important;
}
.he-contact-form-card .he-form-field label{
  font-size:.86rem!important;
  font-weight:850!important;
  color:#101828!important;
}
.he-contact-form-card .he-form-field input,
.he-contact-form-card .he-form-field select,
.he-contact-form-card .he-form-field textarea{
  min-height:52px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  border:1px solid rgba(16,24,40,.12)!important;
  background:#fff!important;
  color:#101828!important;
  box-shadow:0 8px 20px rgba(16,24,40,.035)!important;
}
.he-contact-form-card .he-form-field textarea{
  min-height:156px!important;
}
.he-contact-form-card .he-form-field input:focus,
.he-contact-form-card .he-form-field select:focus,
.he-contact-form-card .he-form-field textarea:focus{
  border-color:#ee1f25!important;
  box-shadow:0 0 0 4px rgba(238,31,37,.10),0 10px 22px rgba(16,24,40,.06)!important;
}
.he-contact-form-card .he-form-submit{
  width:auto!important;
  min-height:54px!important;
  padding:0 26px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#ff252b,#c9161c)!important;
  box-shadow:0 18px 36px rgba(238,31,37,.22)!important;
  font-weight:900!important;
}
.he-contact-form-card .he-form-note{
  color:#667085!important;
  font-size:.82rem!important;
}
.he-contact-form-card .he-form-note a{
  color:#101828!important;
}
@media (max-width:781px){
  .he-contact-form-card.wp-block-group{
    border-radius:28px!important;
  }
  .he-contact-form-card .he-form-row{
    grid-template-columns:1fr!important;
  }
  .he-contact-form-card .he-form-submit{
    width:100%!important;
  }
}

/* Desktop course tables — keep the header readable and body text dark.
   This fixes the adult course table where a top cell appeared white on a light background. */
@media (min-width:782px){
  .wp-block-table table thead tr,
  .wp-block-table table thead th{
    background:#ee1f25!important;
  }
  .wp-block-table table thead th,
  .wp-block-table table thead th *,
  .wp-block-table table thead td,
  .wp-block-table table thead td *{
    color:#fff!important;
  }
  .wp-block-table table tbody td,
  .wp-block-table table tbody td *,
  .wp-block-table table tbody th,
  .wp-block-table table tbody th *{
    color:#101828!important;
  }
  .wp-block-table table tbody th{
    background:#fff!important;
  }
  .wp-block-table table td,
  .wp-block-table table th{
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}



/* =========================================================
   v10.8 — Stable custom mobile menu + cleaner contact form.
   Replaces the fragile WP mobile overlay with our own menu UI.
   Keeps the visual style from v10.7 but makes open/close/anchor
   navigation deterministic on iOS and WordPress cached pages.
   ========================================================= */
.he-custom-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  overflow:visible!important;
}
.he-custom-header .he-live-header-inner{
  position:relative!important;
}
.he-custom-desktop-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:.25rem!important;
  margin-left:auto!important;
}
.he-custom-desktop-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:.68rem .86rem!important;
  border-radius:999px!important;
  color:#344054!important;
  font-size:.92rem!important;
  font-weight:850!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.he-custom-desktop-nav a:hover,
.he-custom-desktop-nav a:focus-visible{
  background:#fff0f1!important;
  color:#b91419!important;
}
.he-custom-menu-toggle{
  display:none!important;
}
.he-custom-mobile-menu[hidden]{
  display:none!important;
}

@media (max-width:1080px){
  .he-custom-desktop-nav,
  .he-custom-header .he-live-cta-desktop,
  .he-custom-header .wp-block-navigation{
    display:none!important;
  }
  .he-custom-header .he-live-header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-height:62px!important;
    padding:10px 16px!important;
    gap:12px!important;
  }
  .he-custom-header .he-live-brand{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100vw - 92px)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .he-custom-header .he-live-brand-text{
    display:block!important;
    min-width:0!important;
    max-width:calc(100vw - 148px)!important;
    overflow:hidden!important;
  }
  .he-custom-header .he-live-brand-title,
  .he-custom-header .he-live-brand-title a{
    display:block!important;
    color:#101828!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    font-weight:950!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
    margin:0!important;
  }
  .he-custom-header .he-live-brand-text > p:not(.he-live-brand-title){
    display:none!important;
  }
  .he-custom-header .wp-block-site-logo,
  .he-custom-header .he-live-site-logo{
    flex:0 0 auto!important;
  }
  .he-custom-header .he-live-site-logo img,
  .he-custom-header .custom-logo{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:14px!important;
    padding:5px!important;
  }
  .he-custom-menu-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    flex:0 0 44px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(16,24,40,.10)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#101828!important;
    box-shadow:0 12px 26px rgba(16,24,40,.08)!important;
    cursor:pointer!important;
  }
  .he-custom-menu-toggle span,
  .he-custom-menu-toggle span:before,
  .he-custom-menu-toggle span:after{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#101828!important;
    position:relative!important;
    content:''!important;
  }
  .he-custom-menu-toggle span:before,
  .he-custom-menu-toggle span:after{
    position:absolute!important;
    left:0!important;
  }
  .he-custom-menu-toggle span:before{top:-7px!important;}
  .he-custom-menu-toggle span:after{top:7px!important;}

  .he-custom-mobile-menu{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    display:none!important;
    background:linear-gradient(180deg,#ffffff 0%,#fff8ee 100%)!important;
    color:#101828!important;
    z-index:2147483600!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:78px 12px 12px!important;
    box-sizing:border-box!important;
  }
  .he-custom-mobile-menu.is-open{
    display:block!important;
  }
  .he-custom-menu-close{
    appearance:none!important;
    -webkit-appearance:none!important;
    position:fixed!important;
    top:16px!important;
    right:16px!important;
    z-index:2147483601!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    border-radius:16px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    background:#fff!important;
    color:#101828!important;
    box-shadow:0 14px 36px rgba(16,24,40,.12)!important;
    font-size:0!important;
    line-height:0!important;
    cursor:pointer!important;
  }
  .he-custom-menu-close:before{
    content:'×'!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    inset:0!important;
    font-size:34px!important;
    line-height:1!important;
    font-weight:520!important;
    font-family:Arial, Helvetica, sans-serif!important;
    color:#101828!important;
  }
  .he-custom-mobile-menu-panel{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:none!important;
    min-height:calc(100dvh - 90px)!important;
    margin:0!important;
    padding:14px!important;
    gap:10px!important;
    border-radius:28px!important;
    border:1px solid rgba(16,24,40,.10)!important;
    background:#fff!important;
    box-shadow:0 18px 54px rgba(16,24,40,.10)!important;
    overflow:hidden!important;
  }
  .he-custom-mobile-menu-panel a{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    min-height:66px!important;
    padding:17px 18px!important;
    border-radius:20px!important;
    background:#fff!important;
    border:1px solid rgba(16,24,40,.08)!important;
    color:#101828!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    box-shadow:0 10px 24px rgba(16,24,40,.045)!important;
  }
  .he-custom-mobile-menu-panel a:after{
    content:'→'!important;
    display:block!important;
    flex:0 0 auto!important;
    margin-left:14px!important;
    color:#ee1f25!important;
    font-weight:950!important;
  }
  .he-custom-mobile-menu-panel a:hover,
  .he-custom-mobile-menu-panel a:focus-visible{
    background:#fff0f1!important;
    color:#b91419!important;
  }
  .he-custom-mobile-menu-panel a:last-child{
    background:#ee1f25!important;
    color:#fff!important;
    border-color:#ee1f25!important;
    box-shadow:0 16px 34px rgba(238,31,37,.24)!important;
  }
  .he-custom-mobile-menu-panel a:last-child:after{
    color:#fff!important;
  }

  html.he-custom-nav-open,
  body.he-custom-nav-open,
  html.he-nav-open,
  body.he-nav-open{
    overflow:hidden!important;
  }
  body.he-custom-nav-open{
    position:fixed!important;
    width:100%!important;
  }

  body.he-custom-nav-open #sib-conversations,
  body.he-custom-nav-open #brevo-conversations,
  body.he-custom-nav-open #sendinblue-conversations,
  body.he-custom-nav-open .crisp-client,
  body.he-custom-nav-open #tidio-chat,
  body.he-custom-nav-open #tawkchat-container,
  body.he-custom-nav-open .tawk-min-container,
  body.he-custom-nav-open .fb_dialog,
  body.he-custom-nav-open .fb-customerchat,
  body.he-custom-nav-open #intercom-container,
  body.he-custom-nav-open .intercom-lightweight-app,
  body.he-custom-nav-open .intercom-app,
  body.he-custom-nav-open #hubspot-messages-iframe-container,
  body.he-custom-nav-open iframe[title*="chat" i],
  body.he-custom-nav-open iframe[src*="intercom" i],
  body.he-custom-nav-open iframe[src*="tawk" i],
  body.he-custom-nav-open iframe[src*="crisp" i],
  body.he-custom-nav-open iframe[src*="tidio" i]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}
@media (min-width:1081px){
  .he-custom-mobile-menu{display:none!important;}
}
@media (max-width:380px){
  .he-custom-header .he-live-brand-title,
  .he-custom-header .he-live-brand-title a{font-size:17px!important;}
}

/* Contact page: stack name and email on desktop too, so the form breathes. */
.he-contact-form-card .he-form-row{
  grid-template-columns:1fr!important;
  gap:1rem!important;
}
.he-contact-form-card .he-form-field input,
.he-contact-form-card .he-form-field select,
.he-contact-form-card .he-form-field textarea{
  width:100%!important;
}

/* Extra table safety: if a table uses inline white text in the first row/cell, keep it readable on desktop. */
@media (min-width:782px){
  .wp-block-table table tbody tr:first-child td,
  .wp-block-table table tbody tr:first-child td *,
  .wp-block-table table tbody tr:first-child th,
  .wp-block-table table tbody tr:first-child th *{
    color:#101828!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v10.9 — Contact page desktop field sizing
   Keeps the improved stacked layout, but makes name/email inputs
   more compact on desktop so the form does not feel oversized.
───────────────────────────────────────────────────────────── */
@media (min-width: 782px){
  .he-contact-form-card .he-form{
    gap: .82rem!important;
  }
  .he-contact-form-card .he-form-field{
    gap: .32rem!important;
  }
  .he-contact-form-card .he-form-field input,
  .he-contact-form-card .he-form-field select{
    min-height: 44px!important;
    height: 44px!important;
    padding: 9px 14px!important;
    border-radius: 14px!important;
    font-size: .94rem!important;
    line-height: 1.25!important;
  }
  .he-contact-form-card .he-form-field textarea{
    min-height: 132px!important;
    padding: 13px 15px!important;
    border-radius: 16px!important;
    font-size: .94rem!important;
    line-height: 1.45!important;
  }
  .he-contact-form-card .he-form-submit{
    min-height: 48px!important;
    padding: 0 22px!important;
    border-radius: 15px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v10.11 — Cohesive service pages
   Makes the public course/service pages feel like the new home:
   warm background, human hero, clear cards, readable WooCommerce grids,
   stronger forms, and consistent Tap Spanish polish.
───────────────────────────────────────────────────────────── */
body.he-service-page{
  background:
    radial-gradient(circle at 8% 0%, rgba(238,31,37,.11), transparent 32%),
    radial-gradient(circle at 92% 12%, rgba(255,218,207,.74), transparent 31%),
    linear-gradient(180deg,#fff7f2 0%,#fffaf6 42%,#ffffff 100%)!important;
}
body.he-service-page .wp-site-blocks{background:transparent!important;}
.he-service-template{
  padding:0 0 76px!important;
  background:transparent!important;
  overflow:hidden;
}
.he-service-shell,
.he-service-content-shell,
.he-service-final-shell{
  width:min(1220px,calc(100% - 44px));
  margin-inline:auto!important;
}
.he-service-hero{
  padding:72px 0 30px!important;
  position:relative;
}
.he-service-hero:before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-180px;
  top:-190px;
  border-radius:999px;
  background:rgba(238,31,37,.11);
  filter:blur(18px);
  pointer-events:none;
}
.he-service-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.74fr)!important;
  gap:42px!important;
  align-items:center!important;
  position:relative;
  z-index:1;
}
.he-service-kicker{
  display:inline-flex;
  margin:0 0 18px!important;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(238,31,37,.16);
  color:#b20f16!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 26px rgba(16,24,40,.04);
}
.he-service-hero h1{
  margin:0!important;
  max-width:850px;
  color:#101828!important;
  font-size:clamp(46px,5.7vw,80px)!important;
  line-height:.96!important;
  letter-spacing:-.07em!important;
  font-weight:950!important;
}
.he-service-lead{
  margin:22px 0 0!important;
  max-width:760px;
  color:#475467!important;
  font-size:19px!important;
  line-height:1.62!important;
}
.he-service-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:28px!important;
}
.he-service-actions .wp-block-button__link{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  font-weight:950!important;
  padding:14px 20px!important;
}
.he-service-actions .is-style-outline .wp-block-button__link,
.he-service-actions .wp-block-button.is-style-outline .wp-block-button__link{
  background:#fff!important;
  border-color:rgba(16,24,40,.12)!important;
  color:#101828!important;
}
.he-service-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(16,24,40,.09);
  border-radius:34px;
  padding:28px;
  box-shadow:0 30px 90px rgba(16,24,40,.12);
  backdrop-filter:blur(14px);
}
.he-service-card-label{
  margin:0 0 18px!important;
  color:#b20f16!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}
.he-service-card h2,
.he-service-card h3{
  margin:0 0 18px!important;
  color:#101828!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
  font-weight:950!important;
}
.he-service-card ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:12px!important;
}
.he-service-card li{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  color:#344054!important;
  font-weight:760!important;
  line-height:1.45!important;
}
.he-service-card li:before{
  content:"✓";
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(238,31,37,.09);
  color:#d71920;
  font-weight:950;
}
.he-service-content-shell{
  margin-top:10px!important;
}
.he-service-post-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(16,24,40,.08);
  border-radius:38px;
  box-shadow:0 26px 80px rgba(16,24,40,.10);
  padding:clamp(24px,4vw,52px)!important;
}
.he-service-post-card .wp-block-post-content{
  max-width:100%!important;
}
.he-service-post-card .wp-block-post-content > :where(h2,h3,h4){
  color:#101828!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
.he-service-post-card .wp-block-post-content > h2{
  margin-top:2.7rem!important;
  font-size:clamp(31px,3.8vw,50px)!important;
  line-height:1.02!important;
}
.he-service-post-card .wp-block-post-content > h3{
  margin-top:2rem!important;
  font-size:clamp(24px,2.5vw,34px)!important;
  line-height:1.08!important;
}
.he-service-post-card .wp-block-post-content p,
.he-service-post-card .wp-block-post-content li{
  color:#475467;
  line-height:1.72;
  font-size:1.05rem;
}
.he-service-post-card .wp-block-post-content a{
  color:#c8171d;
  font-weight:850;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
.he-service-post-card .wp-block-image img,
.he-service-post-card figure img{
  border-radius:26px;
  box-shadow:0 18px 48px rgba(16,24,40,.11);
}
.he-service-post-card .wp-block-table{
  margin:1.5rem 0 2rem!important;
  overflow-x:auto;
}
.he-service-post-card .wp-block-table table{
  border:1px solid rgba(16,24,40,.09)!important;
  border-radius:24px!important;
  box-shadow:0 14px 36px rgba(16,24,40,.07);
  overflow:hidden;
}
.he-service-post-card .wp-block-table th,
.he-service-post-card .wp-block-table td{
  color:#101828!important;
  background:#fff!important;
  border-color:rgba(16,24,40,.08)!important;
  vertical-align:middle;
}
.he-service-post-card .wp-block-table thead th,
.he-service-post-card .wp-block-table tbody tr:first-child th,
.he-service-post-card .wp-block-table tbody tr:first-child td{
  background:#fff3f3!important;
  color:#101828!important;
  font-weight:950!important;
}
.he-service-post-card .wp-block-buttons,
.he-service-post-card .wp-block-button{
  gap:.75rem!important;
}
.he-service-post-card .wp-block-button__link,
.he-service-post-card .woocommerce a.button,
.he-service-post-card .woocommerce button.button,
.he-service-post-card .woocommerce input.button,
.he-service-post-card a.add_to_cart_button{
  border-radius:999px!important;
  background:#ee1f25!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 14px 30px rgba(238,31,37,.22);
  border:0!important;
}
.he-service-post-card .woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin:1.25rem 0 2rem!important;
}
.he-service-post-card .woocommerce ul.products li.product,
.he-service-post-card ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:26px!important;
  padding:20px!important;
  box-shadow:0 16px 42px rgba(16,24,40,.08)!important;
}
.he-service-post-card .woocommerce ul.products li.product a img{
  border-radius:18px!important;
  box-shadow:none!important;
}
.he-service-post-card .woocommerce-loop-product__title,
.he-service-post-card .woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:#101828!important;
  font-size:1.1rem!important;
  line-height:1.25!important;
  letter-spacing:-.025em!important;
}
.he-service-post-card .woocommerce ul.products li.product .price{
  color:#b20f16!important;
  font-weight:950!important;
  font-size:1.05rem!important;
}
.he-service-post-card form,
.he-service-post-card .wp-block-jetpack-contact-form{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:26px;
  padding:22px;
  box-shadow:0 16px 42px rgba(16,24,40,.08);
}
.he-service-post-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.he-service-post-card textarea,
.he-service-post-card select{
  border-radius:16px!important;
  border:1px solid rgba(16,24,40,.14)!important;
  background:#fff!important;
  color:#101828!important;
  min-height:48px!important;
  padding:12px 15px!important;
  box-shadow:none!important;
}
.he-service-post-card textarea{min-height:130px!important;}
.he-service-post-card input[type="submit"],
.he-service-post-card button[type="submit"]{
  background:#ee1f25!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  min-height:48px!important;
  padding:0 22px!important;
  font-weight:950!important;
  box-shadow:0 14px 30px rgba(238,31,37,.22);
}
.he-service-final-shell{
  margin-top:24px!important;
}
.he-service-final-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  color:#fff;
  background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.25),transparent 30%),linear-gradient(135deg,#ee1f25,#9b171b);
  border-radius:34px;
  padding:32px;
  box-shadow:0 24px 70px rgba(238,31,37,.25);
}
.he-service-final-box h2{
  margin:0!important;
  font-size:clamp(29px,3.4vw,46px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
}
.he-service-final-box p{
  margin:10px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  max-width:700px;
}
.he-service-final-box .wp-block-button__link{
  background:#fff!important;
  color:#b20f16!important;
  border-radius:999px!important;
  font-weight:950!important;
  min-height:52px;
  display:inline-flex;
  align-items:center;
}
body.he-tap-public-page .ts-hero{
  background:radial-gradient(circle at 15% 0%,rgba(238,31,37,.20),transparent 30%),linear-gradient(135deg,#101218,#202432)!important;
}
body.he-tap-public-page .ts-app-icon-large img,
body.he-tap-public-page img[src*="tap-spanish"]{
  background:#fff;
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 24px 70px rgba(0,0,0,.26);
}
body.he-tap-public-page .ts-teeqo-bridge,
body.he-tap-public-page .ts-final-cta{
  background:linear-gradient(180deg,#fff7f2,#fff)!important;
}

@media (max-width: 980px){
  .he-service-hero-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .he-service-hero{padding:46px 0 22px!important;}
  .he-service-card{padding:23px;border-radius:28px;}
  .he-service-post-card{border-radius:30px;}
  .he-service-post-card .woocommerce ul.products{grid-template-columns:1fr!important;}
}
@media (max-width: 680px){
  .he-service-shell,
  .he-service-content-shell,
  .he-service-final-shell{width:min(100% - 30px,1220px);}
  .he-service-hero{padding-top:34px!important;}
  .he-service-hero h1{font-size:clamp(38px,12vw,48px)!important;line-height:1.01!important;letter-spacing:-.058em!important;}
  .he-service-lead{font-size:16px!important;line-height:1.55!important;margin-top:16px!important;}
  .he-service-actions{display:grid!important;grid-template-columns:1fr!important;}
  .he-service-actions .wp-block-button__link{width:100%;}
  .he-service-post-card{padding:22px!important;border-radius:26px;}
  .he-service-post-card .wp-block-post-content > h2{font-size:30px!important;}
  .he-service-post-card .wp-block-post-content > h3{font-size:24px!important;}
  .he-service-post-card p,
  .he-service-post-card li{font-size:1rem!important;}
  .he-service-final-box{display:grid;grid-template-columns:1fr;padding:24px;border-radius:28px;}
  .he-service-final-box .wp-block-button__link{width:100%;justify-content:center;}
}


/* ─────────────────────────────────────────────────────────────
   v10.12 — Service page reading polish, table header repair and FAQ unification
   - Adds slightly more tracking to service page titles so letters do not feel joined.
   - Keeps adult course table body cells white and readable.
   - Styles generated FAQ accordions like the home FAQ cards.
───────────────────────────────────────────────────────────── */

/* Service pages: loosen the tight mockup tracking a little for better readability. */
.he-service-template .he-service-hero h1{
  letter-spacing:-.038em!important;
  line-height:1.015!important;
}
.he-service-template .he-service-card h2,
.he-service-template .he-service-card h3,
.he-service-template .he-service-post-card .wp-block-post-content > :where(h2,h3,h4),
.he-service-template .he-service-final-box h2{
  letter-spacing:-.026em!important;
}
.he-service-template .he-service-post-card .wp-block-post-content > h2{
  line-height:1.06!important;
}
.he-service-template .he-service-post-card .wp-block-post-content > h3{
  line-height:1.12!important;
}

/* Adult course table: only the real header row is red. All course/body rows stay white. */
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
  background:#fff!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table thead th,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table thead td{
  background:#ee1f25!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.22)!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table thead th *,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table thead td *{
  color:#fff!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody th,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody td,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:first-child th,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:first-child td{
  background:#fff!important;
  color:#101828!important;
  border-color:rgba(16,24,40,.08)!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody th *,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody td *,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:first-child th *,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:first-child td *{
  color:#101828!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:nth-child(even) td,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table tbody tr:nth-child(even) th{
  background:#fffafa!important;
}
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table td:first-child,
body.he-service-page--learn-spanish-ireland .he-service-post-card .wp-block-table table th:first-child{
  text-align:left!important;
}

/* FAQ accordions on service pages: same visual language as the home FAQ. */
.he-service-post-card .he-faq-list-v10{
  display:grid!important;
  gap:.8rem!important;
  margin:1.25rem 0 2rem!important;
}
.he-service-post-card .he-faq-list-v10 details,
.he-service-post-card details.he-faq-item-v10{
  background:#fff!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:22px!important;
  box-shadow:0 12px 32px rgba(16,24,40,.065)!important;
  padding:1.05rem 1.18rem!important;
  overflow:hidden!important;
}
.he-service-post-card .he-faq-list-v10 summary,
.he-service-post-card details.he-faq-item-v10 summary{
  cursor:pointer!important;
  color:#101828!important;
  font-weight:950!important;
  line-height:1.28!important;
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
}
.he-service-post-card .he-faq-list-v10 summary::-webkit-details-marker,
.he-service-post-card details.he-faq-item-v10 summary::-webkit-details-marker{
  display:none!important;
}
.he-service-post-card .he-faq-list-v10 summary:after,
.he-service-post-card details.he-faq-item-v10 summary:after{
  content:'+'!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:999px!important;
  background:#fff0f1!important;
  color:#ee1f25!important;
  font-weight:950!important;
}
.he-service-post-card .he-faq-list-v10 details[open] summary:after,
.he-service-post-card details.he-faq-item-v10[open] summary:after{
  content:'−'!important;
}
.he-service-post-card .he-faq-list-v10 p,
.he-service-post-card details.he-faq-item-v10 p{
  margin:.75rem 0 0!important;
  color:#475467!important;
  font-size:1rem!important;
  line-height:1.65!important;
}

@media (max-width:680px){
  .he-service-template .he-service-hero h1{
    letter-spacing:-.035em!important;
    line-height:1.035!important;
  }
  .he-service-template .he-service-card h2,
  .he-service-template .he-service-card h3,
  .he-service-template .he-service-post-card .wp-block-post-content > :where(h2,h3,h4),
  .he-service-template .he-service-final-box h2{
    letter-spacing:-.022em!important;
  }
  .he-service-post-card .he-faq-list-v10 details,
  .he-service-post-card details.he-faq-item-v10{
    border-radius:19px!important;
    padding:1rem!important;
  }
}

/* ─────────────────────────────────────────────────────────────
   v10.13 — Match service page typography with the home
   - Aligns service-page hero pill, H1 and intro copy with the home scale.
   - Aligns service cards, content headings and CTA typography with home sections.
   - Keeps the v10.12 readability improvements: slightly looser tracking, white table body, home-style FAQs.
───────────────────────────────────────────────────────────── */
body.he-service-page .he-service-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(238,31,37,.16)!important;
  background:rgba(255,255,255,.78)!important;
  color:#b20f16!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  margin:0 0 20px!important;
  box-shadow:0 10px 26px rgba(16,24,40,.04)!important;
}
body.he-service-page .he-service-hero h1{
  font-size:clamp(48px,6vw,84px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  max-width:820px!important;
}
body.he-service-page .he-service-lead{
  margin:24px 0 0!important;
  max-width:730px!important;
  font-size:19px!important;
  line-height:1.65!important;
  color:#475467!important;
}
body.he-service-page .he-service-card-label{
  font-size:13px!important;
  line-height:1.2!important;
  letter-spacing:.11em!important;
  margin:0 0 16px!important;
}
body.he-service-page .he-service-card h2,
body.he-service-page .he-service-card h3{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  margin:10px 0 18px!important;
}
body.he-service-page .he-service-post-card .wp-block-post-content > h2{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}
body.he-service-page .he-service-post-card .wp-block-post-content > h3{
  font-size:clamp(24px,2.2vw,32px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
}
body.he-service-page .he-service-post-card .wp-block-post-content p,
body.he-service-page .he-service-post-card .wp-block-post-content li{
  font-size:18px!important;
  line-height:1.62!important;
}
body.he-service-page .he-service-final-box h2{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}
body.he-service-page .he-service-final-box p{
  font-size:18px!important;
  line-height:1.62!important;
}

@media (max-width:980px){
  body.he-service-page .he-service-hero h1{
    font-size:43px!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
  }
  body.he-service-page .he-service-card h2,
  body.he-service-page .he-service-card h3,
  body.he-service-page .he-service-post-card .wp-block-post-content > h2,
  body.he-service-page .he-service-final-box h2{
    font-size:clamp(32px,8vw,44px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
}
@media (max-width:680px){
  body.he-service-page .he-service-kicker{
    font-size:12px!important;
    padding:8px 11px!important;
    margin-bottom:15px!important;
  }
  body.he-service-page .he-service-hero h1{
    font-size:39px!important;
    line-height:1.01!important;
    letter-spacing:-.035em!important;
  }
  body.he-service-page .he-service-lead{
    font-size:16px!important;
    line-height:1.58!important;
    margin-top:16px!important;
  }
  body.he-service-page .he-service-card-label{
    font-size:12px!important;
  }
  body.he-service-page .he-service-post-card .wp-block-post-content p,
  body.he-service-page .he-service-post-card .wp-block-post-content li,
  body.he-service-page .he-service-final-box p{
    font-size:16px!important;
    line-height:1.58!important;
  }
}

/* ─────────────────────────────────────────────────────────────
   v10.14 — Tap Spanish page rebuilt for real mobile + desktop readability
   - Removes the pale/white-on-white Tap Spanish sections from the old layout.
   - Uses a cohesive Hablo Español visual system: light hero, red CTA, clear app card.
   - Keeps Tap Spanish distinct while matching the home page rhythm and spacing.
───────────────────────────────────────────────────────────── */
body.he-tap-public-page{
  background:#fffaf7!important;
}
body.he-tap-public-page .entry-content,
body.he-tap-public-page .wp-site-blocks{
  overflow-x:hidden!important;
}
.he-tap2,
.he-tap2 *{
  box-sizing:border-box!important;
}
.he-tap2{
  --tap-red:#ee1f25;
  --tap-red-dark:#b91419;
  --tap-soft:#fff0ef;
  --tap-ink:#101828;
  --tap-muted:#667085;
  --tap-border:rgba(16,24,40,.09);
  --tap-shadow:0 24px 70px rgba(16,24,40,.12);
  width:100%;
  color:var(--tap-ink);
  background:#fffaf7;
  font-family:inherit;
}
.he-tap2-shell{
  width:min(100% - 48px,1180px);
  margin:0 auto;
}
.he-tap2-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 54px;
  background:
    radial-gradient(circle at 14% 6%,rgba(238,31,37,.12),transparent 32%),
    radial-gradient(circle at 90% 18%,rgba(255,190,0,.12),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fff4ef 100%);
}
.he-tap2-hero:before{
  content:'';
  position:absolute;
  inset:auto -10% -220px -10%;
  height:360px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fffaf7 70%);
  pointer-events:none;
}
.he-tap2-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);
  gap:44px;
  align-items:center;
}
.he-tap2-pill,
.he-tap2-label,
.he-tap2-final-pill{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin:0 0 18px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(238,31,37,.16);
  background:rgba(255,255,255,.78);
  color:var(--tap-red-dark)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 26px rgba(16,24,40,.045);
}
.he-tap2 h1,
.he-tap2 h2,
.he-tap2 h3,
.he-tap2 p{
  margin-top:0;
}
.he-tap2 h1{
  max-width:820px;
  margin:0;
  color:var(--tap-ink)!important;
  font-size:clamp(54px,7vw,92px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  font-weight:950!important;
}
.he-tap2-lead{
  max-width:680px;
  margin:24px 0 0!important;
  color:#475467!important;
  font-size:20px!important;
  line-height:1.62!important;
  font-weight:560!important;
}
.he-tap2-actions,
.he-tap2-final-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.he-tap2-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:0 22px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  border:1px solid transparent!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
  white-space:nowrap!important;
}
.he-tap2-btn:hover{
  transform:translateY(-2px)!important;
}
.he-tap2-btn-primary{
  background:linear-gradient(135deg,#ff282d,#d91016)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(238,31,37,.28)!important;
}
.he-tap2-btn-secondary{
  background:#fff!important;
  color:var(--tap-ink)!important;
  border-color:rgba(16,24,40,.10)!important;
  box-shadow:0 14px 34px rgba(16,24,40,.08)!important;
}
.he-tap2-btn-dark{
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}
.he-tap2-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.he-tap2-trust span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  color:#475467;
  font-size:13px;
  font-weight:850;
}
.he-tap2-panel{
  position:relative;
  padding:26px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border:1px solid rgba(16,24,40,.10);
  box-shadow:var(--tap-shadow);
  backdrop-filter:blur(16px);
}
.he-tap2-panel:after{
  content:'';
  position:absolute;
  inset:auto 28px -8px 28px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(90deg,#ee1f25,#b91419);
  opacity:.92;
}
.he-tap2-app-card{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:112px 1fr;
  gap:20px;
  align-items:center;
  padding:22px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  box-shadow:0 14px 40px rgba(16,24,40,.075);
}
.he-tap2-icon,
.he-tap2-final-icon{
  display:block;
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(238,31,37,.18);
}
.he-tap2-app-kicker{
  margin:0 0 7px!important;
  color:var(--tap-red-dark)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.he-tap2-app-card h2{
  margin:0 0 10px!important;
  color:var(--tap-ink)!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
.he-tap2-app-card p:not(.he-tap2-app-kicker){
  margin:0!important;
  color:#667085!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.he-tap2-mini-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.he-tap2-mini-grid article{
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(16,24,40,.075);
  box-shadow:0 10px 26px rgba(16,24,40,.055);
}
.he-tap2-mini-grid strong{
  display:block;
  margin-bottom:6px;
  color:var(--tap-ink)!important;
  font-size:15px;
  line-height:1.15;
  font-weight:950;
}
.he-tap2-mini-grid span{
  display:block;
  color:#667085!important;
  font-size:13px;
  line-height:1.4;
}
.he-tap2-section{
  padding:72px 0;
}
.he-tap2-section-white{
  background:#fff;
}
.he-tap2-section-head{
  max-width:780px;
  margin:0 0 28px;
}
.he-tap2-section-head-center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.he-tap2-section-head h2,
.he-tap2-split h2,
.he-tap2-final-box h2{
  margin:0 0 16px!important;
  color:var(--tap-ink)!important;
  font-size:clamp(38px,5vw,62px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
.he-tap2-section-head p,
.he-tap2-split p,
.he-tap2-final-box p,
.he-tap2-card p,
.he-tap2-feature-list p{
  color:#667085!important;
  font-size:18px!important;
  line-height:1.64!important;
}
.he-tap2-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.he-tap2-card{
  padding:28px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  box-shadow:0 18px 48px rgba(16,24,40,.08);
}
.he-tap2-card-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin-bottom:20px;
  border-radius:18px;
  background:#fff0f1;
  color:#b91419;
  font-size:26px;
}
.he-tap2-card h3,
.he-tap2-side-card h3{
  margin:0 0 10px!important;
  color:var(--tap-ink)!important;
  font-size:26px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
}
.he-tap2-card p{
  margin:0!important;
  font-size:16px!important;
}
.he-tap2-split-section{
  background:linear-gradient(135deg,#fffaf7 0%,#fff0ef 100%);
}
.he-tap2-split{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:24px;
  align-items:stretch;
}
.he-tap2-split > div,
.he-tap2-side-card{
  padding:34px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  box-shadow:0 20px 54px rgba(16,24,40,.08);
}
.he-tap2-text-link{
  display:inline-flex!important;
  margin-top:8px!important;
  color:var(--tap-red-dark)!important;
  text-decoration:none!important;
  font-weight:950!important;
}
.he-tap2-feature-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.he-tap2-feature-list article{
  padding:22px;
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#fffaf7);
  border:1px solid rgba(16,24,40,.08);
  box-shadow:0 14px 36px rgba(16,24,40,.06);
}
.he-tap2-feature-list span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:14px;
  border-radius:16px;
  background:#fff0f1;
  font-size:22px;
}
.he-tap2-feature-list strong{
  display:block;
  margin-bottom:8px;
  color:var(--tap-ink)!important;
  font-size:18px;
  line-height:1.16;
  font-weight:950;
}
.he-tap2-feature-list p{
  margin:0!important;
  font-size:15px!important;
}
.he-tap2-final{
  padding:74px 0 86px;
  background:linear-gradient(180deg,#fff 0%,#fff4ef 100%);
}
.he-tap2-final-box{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:34px;
  border-radius:38px;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,255,255,.24),transparent 34%),
    linear-gradient(135deg,#101828,#222838);
  color:#fff;
  box-shadow:0 28px 76px rgba(16,24,40,.22);
}
.he-tap2-final-icon{
  width:88px;
  height:88px;
  border-radius:24px;
}
.he-tap2-final-pill{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#ffd6d8!important;
  box-shadow:none!important;
}
.he-tap2-final-box h2{
  color:#fff!important;
  margin-bottom:10px!important;
}
.he-tap2-final-box p:not(.he-tap2-final-pill){
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
}
.he-tap2-final-actions{
  justify-content:flex-end;
  margin-top:0;
}
@media (max-width:1080px){
  .he-tap2-hero-grid,
  .he-tap2-split,
  .he-tap2-final-box{
    grid-template-columns:1fr;
  }
  .he-tap2-panel{
    max-width:760px;
  }
  .he-tap2-final-actions{
    justify-content:flex-start;
  }
}
@media (max-width:780px){
  .he-tap2-shell{
    width:min(100% - 30px,1180px);
  }
  .he-tap2-hero{
    padding:46px 0 34px;
  }
  .he-tap2-hero-grid{
    gap:24px;
  }
  .he-tap2 h1{
    font-size:clamp(42px,12.2vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  .he-tap2-lead{
    font-size:17px!important;
    line-height:1.58!important;
    margin-top:18px!important;
  }
  .he-tap2-actions,
  .he-tap2-final-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .he-tap2-btn{
    width:100%!important;
    white-space:normal!important;
    min-height:58px!important;
    padding:0 16px!important;
    border-radius:17px!important;
  }
  .he-tap2-panel{
    padding:18px;
    border-radius:30px;
  }
  .he-tap2-app-card{
    grid-template-columns:78px 1fr;
    gap:15px;
    padding:17px;
    border-radius:24px;
  }
  .he-tap2-icon{
    width:78px;
    height:78px;
    border-radius:20px;
  }
  .he-tap2-app-card h2{
    font-size:28px!important;
    line-height:1.03!important;
  }
  .he-tap2-app-card p:not(.he-tap2-app-kicker){
    font-size:14px!important;
  }
  .he-tap2-mini-grid,
  .he-tap2-card-grid,
  .he-tap2-feature-list{
    grid-template-columns:1fr;
  }
  .he-tap2-section{
    padding:48px 0;
  }
  .he-tap2-section-head h2,
  .he-tap2-split h2,
  .he-tap2-final-box h2{
    font-size:36px!important;
    line-height:1.02!important;
    letter-spacing:-.038em!important;
  }
  .he-tap2-section-head p,
  .he-tap2-split p,
  .he-tap2-final-box p,
  .he-tap2-card p,
  .he-tap2-feature-list p{
    font-size:16px!important;
    line-height:1.58!important;
  }
  .he-tap2-split > div,
  .he-tap2-side-card,
  .he-tap2-card,
  .he-tap2-feature-list article{
    padding:22px;
    border-radius:26px;
  }
  .he-tap2-final{
    padding:48px 0 62px;
  }
  .he-tap2-final-box{
    padding:24px;
    border-radius:30px;
    text-align:left;
  }
}
@media (max-width:420px){
  .he-tap2-pill,
  .he-tap2-label,
  .he-tap2-final-pill{
    font-size:11.5px!important;
    letter-spacing:.085em!important;
    padding:8px 10px!important;
  }
  .he-tap2-app-card{
    grid-template-columns:1fr;
  }
  .he-tap2-icon{
    width:82px;
    height:82px;
  }
}


/* Tap Spanish editable page: Gutenberg block compatibility */
.he-tap2-editable-v1 :where(.wp-block-group,.wp-block-buttons,.wp-block-button,.wp-block-image){
  margin-top:0;
  margin-bottom:0;
}
.he-tap2 .wp-block-image.he-tap2-icon,
.he-tap2 .wp-block-image.he-tap2-final-icon{
  display:block!important;
  width:112px!important;
  height:112px!important;
  margin:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 20px 50px rgba(238,31,37,.18)!important;
}
.he-tap2 .wp-block-image.he-tap2-final-icon{
  width:88px!important;
  height:88px!important;
  border-radius:24px!important;
}
.he-tap2 .wp-block-image.he-tap2-icon img,
.he-tap2 .wp-block-image.he-tap2-final-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:inherit!important;
}
.he-tap2 .wp-block-buttons.he-tap2-actions,
.he-tap2 .wp-block-buttons.he-tap2-final-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:28px!important;
}
.he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:0 22px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
}
.he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link{
  background:linear-gradient(135deg,#ff282d,#d91016)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(238,31,37,.28)!important;
}
.he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link{
  background:#fff!important;
  color:var(--tap-ink)!important;
  border-color:rgba(16,24,40,.10)!important;
  box-shadow:0 14px 34px rgba(16,24,40,.08)!important;
}
.he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}
.he-tap2-feature-icon,
.he-tap2-card-icon.wp-block-paragraph{
  display:grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  margin:0 0 20px!important;
  border-radius:18px!important;
  background:#fff0f1!important;
  color:#b91419!important;
  font-size:26px!important;
  line-height:1!important;
}
.he-tap2-feature-list .he-tap2-feature-icon{
  width:48px!important;
  height:48px!important;
  margin-bottom:14px!important;
  border-radius:16px!important;
  font-size:22px!important;
}
@media (max-width:780px){
  .he-tap2 .wp-block-buttons.he-tap2-actions,
  .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .he-tap2 .wp-block-button.he-tap2-btn,
  .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
    width:100%!important;
  }
  .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
    white-space:normal!important;
    min-height:58px!important;
    padding:0 16px!important;
    border-radius:17px!important;
  }
  .he-tap2 .wp-block-image.he-tap2-icon{
    width:78px!important;
    height:78px!important;
    border-radius:20px!important;
  }
}
@media (max-width:420px){
  .he-tap2 .wp-block-image.he-tap2-icon{
    width:82px!important;
    height:82px!important;
  }
}


/* =========================================================
   v10.17 — Tap Spanish mobile polish + true full-screen menu
   - Keeps the editable Tap Spanish page, but fixes the public mobile layout.
   - Brings Tap Spanish buttons closer to the home page button system.
   - Reduces the red underline under the app feature panel.
   - Forces the mobile menu to cover the whole viewport and hides the header row while open.
   ========================================================= */

/* When the custom mobile menu is open, do not let the header/logo show through. */
body.he-custom-nav-open .he-custom-header .he-live-header-inner,
body.he-custom-nav-open .he-custom-header .he-custom-desktop-nav,
body.he-custom-nav-open .he-custom-header .he-live-cta-desktop,
body.he-custom-nav-open .he-custom-header .he-custom-menu-toggle{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.he-custom-nav-open .he-custom-mobile-menu,
body.he-custom-nav-open .he-custom-mobile-menu *{
  visibility:visible!important;
  opacity:1!important;
}
@media (max-width:1080px){
  .he-custom-mobile-menu{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    max-width:100vw!important;
    min-height:100vh!important;
    min-height:100svh!important;
    height:100dvh!important;
    margin:0!important;
    padding:calc(env(safe-area-inset-top,0px) + 74px) 14px calc(env(safe-area-inset-bottom,0px) + 14px)!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#ffffff 0%,#fff8ee 100%)!important;
    z-index:2147483640!important;
    transform:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .he-custom-mobile-menu.is-open{
    display:block!important;
  }
  .he-custom-menu-close{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 16px)!important;
    right:16px!important;
    z-index:2147483641!important;
  }
  .he-custom-mobile-menu-panel{
    min-height:calc(100dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    border-radius:30px!important;
  }
}

/* Tap Spanish: make the app panel cleaner and stop the underline feeling like a heavy bar. */
.he-tap2-panel:after{
  inset:auto 38px -3px 38px!important;
  height:6px!important;
  border-radius:999px!important;
  opacity:.82!important;
  box-shadow:0 10px 24px rgba(238,31,37,.18)!important;
}

/* Tap Spanish buttons: match the home page language — strong rounded pill, no strange block edges. */
.he-tap2-btn,
.he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
  min-height:52px!important;
  padding:14px 22px!important;
  border-radius:999px!important;
  gap:9px!important;
  font-size:16px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.he-tap2-btn-primary,
.he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link{
  background:#ee1f25!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(238,31,37,.26)!important;
}
.he-tap2-btn-secondary,
.he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link{
  background:#fff!important;
  color:#101828!important;
  border-color:rgba(16,24,40,.12)!important;
  box-shadow:0 12px 30px rgba(16,24,40,.08)!important;
}
.he-tap2-btn-dark,
.he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}

@media (max-width:780px){
  body.he-tap-public-page .wp-site-blocks,
  body.he-tap-public-page .entry-content{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .he-tap2-shell{
    width:min(100% - 32px,1180px)!important;
  }
  .he-tap2-hero{
    padding:34px 0 32px!important;
  }
  .he-tap2-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .he-tap2-pill,
  .he-tap2-label,
  .he-tap2-final-pill{
    max-width:100%!important;
    white-space:normal!important;
    text-align:left!important;
  }
  .he-tap2 h1{
    max-width:100%!important;
    font-size:clamp(38px,10.6vw,50px)!important;
    line-height:1!important;
    letter-spacing:-.055em!important;
  }
  .he-tap2-lead{
    max-width:100%!important;
    font-size:17px!important;
    line-height:1.55!important;
    margin-top:18px!important;
  }
  .he-tap2-actions,
  .he-tap2 .wp-block-buttons.he-tap2-actions,
  .he-tap2-final-actions,
  .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    margin-top:24px!important;
  }
  .he-tap2-btn,
  .he-tap2 .wp-block-button.he-tap2-btn,
  .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
    width:100%!important;
    max-width:100%!important;
    min-height:54px!important;
    padding:14px 18px!important;
    border-radius:999px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .he-tap2-panel{
    width:100%!important;
    max-width:100%!important;
    padding:16px!important;
    border-radius:30px!important;
    overflow:visible!important;
  }
  .he-tap2-panel:after{
    inset:auto 28px -2px 28px!important;
    height:5px!important;
  }
  .he-tap2-app-card{
    grid-template-columns:74px 1fr!important;
    gap:14px!important;
    padding:16px!important;
    border-radius:24px!important;
  }
  .he-tap2 .wp-block-image.he-tap2-icon,
  .he-tap2-icon{
    width:74px!important;
    height:74px!important;
    border-radius:19px!important;
  }
  .he-tap2-app-card h2{
    font-size:26px!important;
    line-height:1.04!important;
    letter-spacing:-.04em!important;
  }
  .he-tap2-app-card p:not(.he-tap2-app-kicker){
    font-size:14px!important;
    line-height:1.45!important;
  }
  .he-tap2-mini-grid article,
  .he-tap2-card,
  .he-tap2-feature-list article{
    border-radius:24px!important;
  }
  .he-tap2-section-head h2,
  .he-tap2-split h2,
  .he-tap2-final-box h2{
    font-size:34px!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
}

@media (max-width:430px){
  .he-tap2-shell{
    width:min(100% - 28px,1180px)!important;
  }
  .he-tap2-hero{
    padding-top:30px!important;
  }
  .he-tap2 h1{
    font-size:clamp(36px,10.2vw,46px)!important;
  }
  .he-tap2-pill,
  .he-tap2-label,
  .he-tap2-final-pill{
    font-size:11px!important;
    letter-spacing:.075em!important;
    padding:8px 10px!important;
  }
  .he-tap2-trust{
    gap:8px!important;
  }
  .he-tap2-trust span{
    font-size:12px!important;
    min-height:32px!important;
    padding:0 10px!important;
  }
}

/* =========================================================
   v10.18 — Tap Spanish final mobile proportion + brand Ñ fix
   - Makes Tap Spanish download buttons match the home CTA language without becoming oversized blocks.
   - Refines Tap Spanish chips/pills and trims the red underline under the app panel.
   - Gives the mobile brand title enough line-height/overflow so the Ñ accent is never clipped.
   ========================================================= */

/* Header brand: do not clip the tilde on Español / ESPAÑOL. */
.he-live-header .he-live-brand,
.he-custom-header .he-live-brand{
  overflow:visible!important;
}
.he-live-header .he-live-brand-text,
.he-custom-header .he-live-brand-text{
  overflow:visible!important;
  line-height:1.18!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
}
.he-live-header .he-live-brand-title,
.he-live-header .he-live-brand-title a,
.he-custom-header .he-live-brand-title,
.he-custom-header .he-live-brand-title a{
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  text-transform:none!important;
  font-size:18px!important;
}
@media (max-width:380px){
  .he-live-header .he-live-brand-title,
  .he-live-header .he-live-brand-title a,
  .he-custom-header .he-live-brand-title,
  .he-custom-header .he-live-brand-title a{
    font-size:16.5px!important;
    letter-spacing:-.02em!important;
  }
}

/* Tap Spanish: bring download buttons closer to the main home CTA size. */
body.he-tap-public-page .he-tap2-actions,
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
body.he-tap-public-page .he-tap2-final-actions,
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:auto!important;
  max-width:100%!important;
}
body.he-tap-public-page .he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
  width:auto!important;
  max-width:100%!important;
  min-height:50px!important;
  padding:13px 20px!important;
  border-radius:999px!important;
  font-size:15.5px!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark{
  width:auto!important;
  max-width:100%!important;
  flex:0 0 auto!important;
}
body.he-tap-public-page .he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link{
  min-width:292px!important;
  background:#ee1f25!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(238,31,37,.24)!important;
}
body.he-tap-public-page .he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link{
  min-width:244px!important;
  background:#fff!important;
  color:#101828!important;
  border:1px solid rgba(16,24,40,.12)!important;
  box-shadow:0 10px 24px rgba(16,24,40,.075)!important;
}
body.he-tap-public-page .he-tap2-btn-dark,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
  min-width:172px!important;
}

/* Tap Spanish chips/pills: compact, readable and consistent with home labels. */
body.he-tap-public-page .he-tap2-pill,
body.he-tap-public-page .he-tap2-label,
body.he-tap-public-page .he-tap2-final-pill{
  width:fit-content!important;
  max-width:100%!important;
  min-height:auto!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1.25!important;
  letter-spacing:.095em!important;
  white-space:normal!important;
  text-align:left!important;
  box-shadow:0 8px 20px rgba(16,24,40,.035)!important;
}
body.he-tap-public-page .he-tap2-trust{
  gap:8px!important;
  margin-top:18px!important;
  max-width:620px!important;
}
body.he-tap-public-page .he-tap2-trust span{
  min-height:30px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.88)!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:850!important;
  box-shadow:0 8px 18px rgba(16,24,40,.04)!important;
}

/* The underline should be an accent, not a thick red bar. */
body.he-tap-public-page .he-tap2-panel:after{
  inset:auto 46px -2px 46px!important;
  height:3px!important;
  opacity:.72!important;
  box-shadow:0 6px 16px rgba(238,31,37,.15)!important;
}

@media (max-width:780px){
  body.he-tap-public-page .he-tap2-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
  body.he-tap-public-page .he-tap2-final-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:11px!important;
    width:100%!important;
    max-width:380px!important;
    margin-top:22px!important;
  }
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary{
    width:fit-content!important;
    max-width:100%!important;
  }
  body.he-tap-public-page .he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link{
    width:fit-content!important;
    max-width:100%!important;
    min-height:49px!important;
    padding:12px 18px!important;
    font-size:15px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.he-tap-public-page .he-tap2-btn-primary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link{
    min-width:min(100%,306px)!important;
  }
  body.he-tap-public-page .he-tap2-btn-secondary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link{
    min-width:min(100%,268px)!important;
  }
  body.he-tap-public-page .he-tap2-trust{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:8px!important;
    max-width:360px!important;
  }
  body.he-tap-public-page .he-tap2-trust span{
    flex:0 0 auto!important;
    max-width:100%!important;
  }
  body.he-tap-public-page .he-tap2-panel:after{
    inset:auto 36px -2px 36px!important;
    height:3px!important;
  }
}

@media (max-width:430px){
  body.he-tap-public-page .he-tap2 h1{
    font-size:clamp(35px,9.8vw,44px)!important;
    letter-spacing:-.052em!important;
  }
  body.he-tap-public-page .he-tap2-lead{
    font-size:16px!important;
    line-height:1.55!important;
  }
  body.he-tap-public-page .he-tap2-pill,
  body.he-tap-public-page .he-tap2-label,
  body.he-tap-public-page .he-tap2-final-pill{
    font-size:10.8px!important;
    letter-spacing:.07em!important;
    padding:7px 10px!important;
  }
}

/* Keep the final dark CTA balanced on desktop after the Tap button resize. */
@media (min-width:781px){
  body.he-tap-public-page .he-tap2-final-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    justify-content:flex-end!important;
    align-items:center!important;
  }
}


/* =========================================================
   v10.19 — Tap Spanish CTA size parity + chip cleanup + brand rendering
   - Download buttons now use the same visual scale as the home CTAs.
   - App Store and Google Play buttons are equal size on desktop and mobile.
   - Tap Spanish chips are consistent and no single pill appears oversized.
   - Mobile brand text keeps normal casing and prevents the Ñ from clipping.
   ========================================================= */

/* Header brand: keep Hablo Español readable and avoid clipping the tilde. */
.he-live-header .he-live-brand,
.he-custom-header .he-live-brand{
  overflow:visible!important;
}
.he-live-header .he-live-brand-text,
.he-custom-header .he-live-brand-text{
  overflow:visible!important;
  min-width:0!important;
  line-height:1.28!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
}
.he-live-header .he-live-brand-title,
.he-live-header .he-live-brand-title a,
.he-custom-header .he-live-brand-title,
.he-custom-header .he-live-brand-title a{
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  color:#101828!important;
  text-transform:none!important;
  letter-spacing:-.018em!important;
  line-height:1.28!important;
  font-size:18px!important;
  font-weight:950!important;
  padding-top:1px!important;
  padding-bottom:1px!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}
@media (max-width:430px){
  .he-custom-header .he-live-brand-title,
  .he-custom-header .he-live-brand-title a,
  .he-live-header .he-live-brand-title,
  .he-live-header .he-live-brand-title a{
    font-size:17.2px!important;
    letter-spacing:-.012em!important;
    line-height:1.32!important;
  }
}
@media (max-width:360px){
  .he-custom-header .he-live-brand-title,
  .he-custom-header .he-live-brand-title a,
  .he-live-header .he-live-brand-title,
  .he-live-header .he-live-brand-title a{
    font-size:16px!important;
  }
}

/* Tap Spanish download buttons: exactly one button system, matching the home CTA scale. */
body.he-tap-public-page .he-tap2-actions,
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
body.he-tap-public-page .he-tap2-final-actions,
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:30px!important;
}
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark{
  flex:0 0 254px!important;
  width:254px!important;
  max-width:254px!important;
  margin:0!important;
}
body.he-tap-public-page .he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:254px!important;
  min-width:254px!important;
  max-width:254px!important;
  min-height:52px!important;
  height:auto!important;
  padding:15px 20px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
body.he-tap-public-page .he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link{
  background:#ee1f25!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(238,31,37,.26)!important;
}
body.he-tap-public-page .he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link{
  background:#fff!important;
  color:#101828!important;
  border-color:rgba(16,24,40,.12)!important;
  box-shadow:0 14px 34px rgba(16,24,40,.08)!important;
}
body.he-tap-public-page .he-tap2-btn-dark,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}

/* Tap Spanish trust chips: one consistent chip style. */
body.he-tap-public-page .he-tap2-trust{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin-top:20px!important;
  max-width:700px!important;
}
body.he-tap-public-page .he-tap2-trust span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:32px!important;
  height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(16,24,40,.10)!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:0!important;
  box-shadow:0 8px 18px rgba(16,24,40,.04)!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
body.he-tap-public-page .he-tap2-pill,
body.he-tap-public-page .he-tap2-label,
body.he-tap-public-page .he-tap2-final-pill{
  min-height:34px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.095em!important;
  box-shadow:0 8px 20px rgba(16,24,40,.035)!important;
}

/* Keep the panel underline elegant. */
body.he-tap-public-page .he-tap2-panel:after{
  inset:auto 46px -2px 46px!important;
  height:3px!important;
  opacity:.7!important;
}

@media (max-width:780px){
  body.he-tap-public-page .he-tap2-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
  body.he-tap-public-page .he-tap2-final-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    max-width:none!important;
    margin-top:24px!important;
  }
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark{
    flex:initial!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.he-tap-public-page .he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:50px!important;
    padding:13px 16px!important;
    font-size:15.5px!important;
    border-radius:999px!important;
  }
  body.he-tap-public-page .he-tap2-trust{
    gap:7px!important;
    margin-top:18px!important;
  }
  body.he-tap-public-page .he-tap2-trust span{
    height:30px!important;
    min-height:30px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  body.he-tap-public-page .he-tap2-pill,
  body.he-tap-public-page .he-tap2-label,
  body.he-tap-public-page .he-tap2-final-pill{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    min-height:auto!important;
    padding:7px 10px!important;
    font-size:10.8px!important;
    letter-spacing:.07em!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  body.he-tap-public-page .he-tap2-panel:after{
    inset:auto 36px -2px 36px!important;
    height:3px!important;
  }
}

@media (max-width:430px){
  body.he-tap-public-page .he-tap2-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
  body.he-tap-public-page .he-tap2-final-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    gap:10px!important;
  }
  body.he-tap-public-page .he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark .wp-block-button__link{
    min-height:50px!important;
    padding:13px 15px!important;
    font-size:15px!important;
  }
}


/* =========================================================
   v10.20 — Final Tap Spanish CTA parity
   - Tap Spanish download buttons now use the exact home button scale.
   - Removes the extra white outer button around Google Play.
   - App Store and Google Play are equal width/height on desktop and mobile.
   - Trust pills use one consistent chip system.
   ========================================================= */

/* Reset WordPress button wrappers inside Tap Spanish so only the anchor is the button. */
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions,
.he-tap2 .wp-block-buttons.he-tap2-actions,
.he-tap2 .wp-block-buttons.he-tap2-final-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:28px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark,
.he-tap2 .wp-block-button.he-tap2-btn,
.he-tap2 .wp-block-button.he-tap2-btn-primary,
.he-tap2 .wp-block-button.he-tap2-btn-secondary,
.he-tap2 .wp-block-button.he-tap2-btn-dark{
  display:inline-flex!important;
  flex:0 0 254px!important;
  width:254px!important;
  max-width:254px!important;
  min-width:254px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  line-height:0!important;
  overflow:visible!important;
}
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn::before,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn::after,
.he-tap2 .wp-block-button.he-tap2-btn::before,
.he-tap2 .wp-block-button.he-tap2-btn::after{
  content:none!important;
  display:none!important;
}

/* The actual Tap Spanish CTA anchors: copied from the home button scale. */
body.he-tap-public-page .he-tap2 a.he-tap2-btn,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn > .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link,
.he-tap2 a.he-tap2-btn,
.he-tap2 .wp-block-button.he-tap2-btn > .wp-block-button__link,
.he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link,
.he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link,
.he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:254px!important;
  min-width:254px!important;
  max-width:254px!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  box-sizing:border-box!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-align:center!important;
  white-space:nowrap!important;
  transform:none!important;
  overflow:hidden!important;
}
body.he-tap-public-page .he-tap2 a.he-tap2-btn-primary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link,
.he-tap2 a.he-tap2-btn-primary,
.he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link{
  background:#ee1f25!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#ee1f25!important;
  box-shadow:0 18px 40px rgba(238,31,37,.26)!important;
}
body.he-tap-public-page .he-tap2 a.he-tap2-btn-secondary,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link,
.he-tap2 a.he-tap2-btn-secondary,
.he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link{
  background:#fff!important;
  background-image:none!important;
  color:#101828!important;
  border-color:rgba(16,24,40,.12)!important;
  box-shadow:none!important;
}
body.he-tap-public-page .he-tap2 a.he-tap2-btn-dark,
body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link,
.he-tap2 a.he-tap2-btn-dark,
.he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link{
  background:#101828!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#101828!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}

/* Keep the final CTA aligned but never oversized. */
@media (min-width:781px){
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions,
  .he-tap2 .wp-block-buttons.he-tap2-final-actions,
  body.he-tap-public-page .he-tap2-final-actions,
  .he-tap2-final-actions{
    justify-content:flex-end!important;
  }
}

/* Trust chips: consistent pill sizing, no odd one out. */
body.he-tap-public-page .he-tap2-trust,
.he-tap2 .he-tap2-trust{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.he-tap-public-page .he-tap2-trust span,
.he-tap2 .he-tap2-trust span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:0!important;
  width:auto!important;
  height:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(16,24,40,.11)!important;
  color:#667085!important;
  box-shadow:0 8px 18px rgba(16,24,40,.045)!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

@media (max-width:780px){
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-actions,
  body.he-tap-public-page .he-tap2 .wp-block-buttons.he-tap2-final-actions,
  .he-tap2 .wp-block-buttons.he-tap2-actions,
  .he-tap2 .wp-block-buttons.he-tap2-final-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    margin-top:22px!important;
  }
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark,
  .he-tap2 .wp-block-button.he-tap2-btn,
  .he-tap2 .wp-block-button.he-tap2-btn-primary,
  .he-tap2 .wp-block-button.he-tap2-btn-secondary,
  .he-tap2 .wp-block-button.he-tap2-btn-dark{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex:initial!important;
  }
  body.he-tap-public-page .he-tap2 a.he-tap2-btn,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn > .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link,
  body.he-tap-public-page .he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link,
  .he-tap2 a.he-tap2-btn,
  .he-tap2 .wp-block-button.he-tap2-btn > .wp-block-button__link,
  .he-tap2 .wp-block-button.he-tap2-btn-primary > .wp-block-button__link,
  .he-tap2 .wp-block-button.he-tap2-btn-secondary > .wp-block-button__link,
  .he-tap2 .wp-block-button.he-tap2-btn-dark > .wp-block-button__link{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:0 16px!important;
    font-size:15px!important;
    border-radius:999px!important;
  }
  body.he-tap-public-page .he-tap2-trust,
  .he-tap2 .he-tap2-trust{
    gap:7px!important;
    margin-top:16px!important;
  }
  body.he-tap-public-page .he-tap2-trust span,
  .he-tap2 .he-tap2-trust span{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v10.21 — Unified FAQ design for all editable service pages
   - Adult Spanish Courses, Kids, One-to-one, Corporate, Coaching and Study in Spain.
   - Forces the same card/acordeón language used by the home FAQ.
───────────────────────────────────────────────────────────── */
body.he-service-page .he-service-post-card .he-faq-list-v10,
body.he-service-page .he-service-post-card .he-live-faq,
body.he-service-page .he-service-post-card .wp-block-details.he-faq-item-v10,
body.he-service-page .he-service-post-card details.he-faq-item-v10{
  font-family:inherit!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10,
body.he-service-page .he-service-post-card .he-live-faq{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:1.25rem 0 2.25rem!important;
  padding:0!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 details,
body.he-service-page .he-service-post-card .he-live-faq details,
body.he-service-page .he-service-post-card details.he-faq-item-v10{
  background:#fff!important;
  border:1px solid var(--he-live-line)!important;
  border-radius:22px!important;
  box-shadow:var(--he-live-soft-shadow)!important;
  margin:0!important;
  padding:18px 20px!important;
  color:var(--he-live-ink)!important;
  overflow:hidden!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 details[open],
body.he-service-page .he-service-post-card .he-live-faq details[open],
body.he-service-page .he-service-post-card details.he-faq-item-v10[open]{
  border-color:rgba(238,31,37,.18)!important;
  box-shadow:0 20px 52px rgba(16,24,40,.10)!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 summary,
body.he-service-page .he-service-post-card .he-live-faq summary,
body.he-service-page .he-service-post-card details.he-faq-item-v10 summary{
  cursor:pointer!important;
  color:var(--he-live-ink)!important;
  font-size:1rem!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  line-height:1.28!important;
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  margin:0!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 summary::-webkit-details-marker,
body.he-service-page .he-service-post-card .he-live-faq summary::-webkit-details-marker,
body.he-service-page .he-service-post-card details.he-faq-item-v10 summary::-webkit-details-marker{
  display:none!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 summary::after,
body.he-service-page .he-service-post-card .he-live-faq summary::after,
body.he-service-page .he-service-post-card details.he-faq-item-v10 summary::after{
  content:'+'!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:999px!important;
  background:var(--he-live-red-soft)!important;
  color:var(--he-live-red)!important;
  font-weight:950!important;
  line-height:1!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 details[open] summary::after,
body.he-service-page .he-service-post-card .he-live-faq details[open] summary::after,
body.he-service-page .he-service-post-card details.he-faq-item-v10[open] summary::after{
  content:'−'!important;
}
body.he-service-page .he-service-post-card .he-faq-list-v10 p,
body.he-service-page .he-service-post-card .he-live-faq p,
body.he-service-page .he-service-post-card details.he-faq-item-v10 p{
  margin:12px 0 0!important;
  color:var(--he-live-muted)!important;
  font-size:1rem!important;
  line-height:1.6!important;
  font-weight:500!important;
}
body.he-service-page .he-service-post-card :is(h2,h3).he-faq-heading-v10{
  margin-top:2.35rem!important;
  margin-bottom:.85rem!important;
}
@media (max-width:780px){
  body.he-service-page .he-service-post-card .he-faq-list-v10,
  body.he-service-page .he-service-post-card .he-live-faq{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.he-service-page .he-service-post-card .he-faq-list-v10 details,
  body.he-service-page .he-service-post-card .he-live-faq details,
  body.he-service-page .he-service-post-card details.he-faq-item-v10{
    border-radius:20px!important;
    padding:17px 18px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v10.22 — Premium cleanup for Kids, 1-to-1, Corporate, Coaching and Study in Spain
   Modern service containers, clearer B2B/service narratives and preserved commerce blocks.
───────────────────────────────────────────────────────────── */
.he-service-v1022 .he-service-hero-pills{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:22px!important;
}
.he-service-v1022 .he-service-hero-pills span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(238,31,37,.14)!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 22px rgba(16,24,40,.045)!important;
}
.he-service-v1022 .he-service-post-card{
  padding:clamp(22px,3.5vw,44px)!important;
}
.he-service-v1022 .he-service-section{
  position:relative!important;
  margin:0 0 26px!important;
  padding:clamp(22px,3.2vw,36px)!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:32px!important;
  background:linear-gradient(180deg,#fff 0%,#fffaf8 100%)!important;
  box-shadow:0 18px 48px rgba(16,24,40,.07)!important;
  overflow:hidden!important;
}
.he-service-v1022 .he-service-section:last-child{
  margin-bottom:0!important;
}
.he-service-v1022 .he-service-section:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:7px!important;
  height:100%!important;
  background:linear-gradient(180deg,#ee1f25,#ffb4a8)!important;
  opacity:.92!important;
}
.he-service-v1022 .he-service-section-head{
  max-width:820px!important;
  margin:0 0 22px!important;
}
.he-service-v1022 .he-service-section-head h2,
.he-service-v1022 .he-service-section h2{
  margin:0!important;
  color:#101828!important;
  font-size:clamp(31px,3.5vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
.he-service-v1022 .he-service-section-head p:not(.he-mini-kicker),
.he-service-v1022 .he-service-section > p,
.he-service-v1022 .he-service-section article p,
.he-service-v1022 .he-service-section li,
.he-service-v1022 .he-service-section details p{
  color:#475467!important;
  font-size:17px!important;
  line-height:1.62!important;
}
.he-service-v1022 .he-mini-kicker{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 12px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#fff0f1!important;
  color:#b20f16!important;
  border:1px solid rgba(238,31,37,.13)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.he-service-v1022 .he-service-card-grid{
  display:grid!important;
  gap:16px!important;
}
.he-service-v1022 .he-service-card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.he-service-v1022 .he-service-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.he-service-v1022 .he-service-card-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.he-service-v1022 .he-service-card-grid article,
.he-service-v1022 .he-service-package-grid article,
.he-service-v1022 .he-service-pathway > div{
  background:#fff!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:24px!important;
  padding:22px!important;
  box-shadow:0 12px 34px rgba(16,24,40,.065)!important;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s cubic-bezier(.2,.8,.2,1)!important;
}
.he-service-v1022 .he-service-card-grid article:hover,
.he-service-v1022 .he-service-package-grid article:hover,
.he-service-v1022 .he-service-pathway > div:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 46px rgba(16,24,40,.095)!important;
}
.he-service-v1022 .he-service-card-grid article > span{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  background:#fff0f1!important;
  font-size:23px!important;
  margin-bottom:14px!important;
}
.he-service-v1022 .he-service-card-grid h3,
.he-service-v1022 .he-service-package-grid h3,
.he-service-v1022 .he-service-pathway h3{
  margin:0 0 9px!important;
  color:#101828!important;
  font-size:clamp(20px,1.65vw,25px)!important;
  line-height:1.08!important;
  letter-spacing:-.032em!important;
  font-weight:950!important;
}
.he-service-v1022 .he-service-card-grid p,
.he-service-v1022 .he-service-package-grid p,
.he-service-v1022 .he-service-pathway p{
  margin:0!important;
}
.he-service-v1022 .he-service-split-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.72fr)!important;
  gap:24px!important;
  align-items:start!important;
  background:radial-gradient(circle at 90% 10%,rgba(238,31,37,.09),transparent 28%),#fff!important;
}
.he-service-v1022 .he-service-split-panel h2{
  margin-bottom:14px!important;
}
.he-service-v1022 .he-service-split-panel p{
  margin:0 0 12px!important;
}
.he-service-v1022 .he-service-checklist{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:12px!important;
}
.he-service-v1022 .he-service-checklist li{
  position:relative!important;
  margin:0!important;
  padding:14px 14px 14px 48px!important;
  border-radius:18px!important;
  background:#fffafa!important;
  border:1px solid rgba(238,31,37,.1)!important;
  color:#344054!important;
  font-weight:760!important;
}
.he-service-v1022 .he-service-checklist li:before{
  content:"✓"!important;
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  width:24px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#ee1f25!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
}
.he-service-v1022 .he-service-pathway{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.he-service-v1022 .he-service-pathway strong{
  display:inline-grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  margin-bottom:14px!important;
  border-radius:15px!important;
  background:#101828!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
}
.he-service-v1022 .he-service-package-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.he-service-v1022 .he-service-package-grid article > p:first-child{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff0f1!important;
  color:#b20f16!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.he-service-v1022 .he-service-package-grid ul{
  list-style:none!important;
  padding:0!important;
  margin:16px 0 0!important;
  display:grid!important;
  gap:9px!important;
}
.he-service-v1022 .he-service-package-grid li{
  position:relative!important;
  padding-left:21px!important;
  margin:0!important;
  font-size:15.5px!important;
}
.he-service-v1022 .he-service-package-grid li:before{
  content:"•"!important;
  position:absolute!important;
  left:0!important;
  color:#ee1f25!important;
  font-weight:950!important;
}
.he-service-v1022 .he-service-faq-clean{
  background:#fff!important;
}
.he-service-v1022 .he-service-faq-clean details{
  background:#fff!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:22px!important;
  box-shadow:0 12px 32px rgba(16,24,40,.055)!important;
  padding:18px 20px!important;
  margin:0 0 12px!important;
}
.he-service-v1022 .he-service-faq-clean summary{
  cursor:pointer!important;
  color:#101828!important;
  font-weight:950!important;
  font-size:17px!important;
  line-height:1.28!important;
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
}
.he-service-v1022 .he-service-faq-clean summary::-webkit-details-marker{display:none!important;}
.he-service-v1022 .he-service-faq-clean summary:after{
  content:"+"!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:999px!important;
  background:#fff0f1!important;
  color:#ee1f25!important;
  font-weight:950!important;
}
.he-service-v1022 .he-service-faq-clean details[open] summary:after{content:"−"!important;}
.he-service-v1022 .he-service-commerce-keep{
  background:linear-gradient(180deg,#fff 0%,#fff6f4 100%)!important;
}
.he-service-v1022 .he-commerce-preserved-fragments{
  margin-top:18px!important;
}
.he-service-v1022 .he-commerce-preserved-fragments .woocommerce ul.products,
.he-service-v1022 .he-commerce-preserved-fragments ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
body.he-service-page--corporate-spanish-courses-ireland .he-service-final-box,
body.he-service-page--spanish-language-coaching-ireland .he-service-final-box{
  background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.2),transparent 32%),linear-gradient(135deg,#101828,#9b171b)!important;
}
body.he-service-page--study-in-spain .he-service-final-box{
  background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.26),transparent 30%),linear-gradient(135deg,#c8171d,#ff7a59)!important;
}
@media (max-width:1100px){
  .he-service-v1022 .he-service-card-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .he-service-v1022 .he-service-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:880px){
  .he-service-v1022 .he-service-card-grid-3,
  .he-service-v1022 .he-service-card-grid-4,
  .he-service-v1022 .he-service-card-grid-5,
  .he-service-v1022 .he-service-pathway,
  .he-service-v1022 .he-service-package-grid,
  .he-service-v1022 .he-service-split-panel{
    grid-template-columns:1fr!important;
  }
  .he-service-v1022 .he-service-section{
    border-radius:26px!important;
  }
}
@media (max-width:680px){
  .he-service-v1022 .he-service-post-card{
    padding:16px!important;
    border-radius:28px!important;
  }
  .he-service-v1022 .he-service-section{
    padding:22px 18px!important;
    border-radius:24px!important;
    margin-bottom:18px!important;
  }
  .he-service-v1022 .he-service-section:before{
    width:5px!important;
  }
  .he-service-v1022 .he-service-section-head h2,
  .he-service-v1022 .he-service-section h2{
    font-size:30px!important;
    line-height:1.04!important;
    letter-spacing:-.032em!important;
  }
  .he-service-v1022 .he-service-section-head p:not(.he-mini-kicker),
  .he-service-v1022 .he-service-section > p,
  .he-service-v1022 .he-service-section article p,
  .he-service-v1022 .he-service-section li,
  .he-service-v1022 .he-service-section details p{
    font-size:16px!important;
    line-height:1.58!important;
  }
  .he-service-v1022 .he-service-card-grid article,
  .he-service-v1022 .he-service-package-grid article,
  .he-service-v1022 .he-service-pathway > div{
    border-radius:20px!important;
    padding:18px!important;
  }
  .he-service-v1022 .he-commerce-preserved-fragments .woocommerce ul.products,
  .he-service-v1022 .he-commerce-preserved-fragments ul.products{
    grid-template-columns:1fr!important;
  }
}

/* ─────────────────────────────────────────────────────────────
   v10.23 — Service pages aligned with the Home design system
   Adult courses repaired, tables/products upgraded, FAQs unified.
───────────────────────────────────────────────────────────── */
body.he-service-page .he-service-v1023{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body.he-service-page .he-service-v1023 .he-service-hero h1{
  font-size:clamp(44px,5.45vw,76px)!important;
  line-height:.985!important;
  letter-spacing:-.045em!important;
  max-width:830px!important;
}
body.he-service-page .he-service-v1023 .he-service-lead{font-size:19px!important;line-height:1.65!important;max-width:730px!important;}
body.he-service-page .he-service-v1023 .he-service-decision-card h2{font-size:clamp(28px,2.8vw,38px)!important;line-height:1.02!important;letter-spacing:-.038em!important;margin:8px 0 18px!important;}
body.he-service-page .he-service-v1023 .he-service-section-head h2,
body.he-service-page .he-service-v1023 .he-service-section h2{font-size:clamp(32px,3.7vw,52px)!important;line-height:1.02!important;letter-spacing:-.048em!important;}
body.he-service-page .he-service-v1023 .he-service-card-grid h3,
body.he-service-page .he-service-v1023 .he-service-package-grid h3,
body.he-service-page .he-service-v1023 .he-service-pathway h3{font-size:clamp(21px,1.55vw,25px)!important;letter-spacing:-.035em!important;}
body.he-service-page .he-service-v1023 .he-service-section{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,244,.92))!important;border-color:rgba(16,24,40,.10)!important;box-shadow:var(--he-live-soft-shadow)!important;}
body.he-service-page .he-service-v1023 .he-service-section:before{width:6px!important;background:linear-gradient(180deg,var(--he-live-red),#ffb3a8)!important;}
body.he-service-page .he-service-v1023 .he-mini-kicker{color:var(--he-live-red-dark)!important;background:var(--he-live-red-soft)!important;border-color:rgba(238,31,37,.14)!important;font-size:13px!important;letter-spacing:.11em!important;}
body.he-service-page .he-service-v1023 .he-service-card-grid article,
body.he-service-page .he-service-v1023 .he-service-package-grid article,
body.he-service-page .he-service-v1023 .he-service-pathway > div{border-radius:28px!important;border-color:var(--he-live-line)!important;box-shadow:var(--he-live-soft-shadow)!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean{background:#fff!important;}
body.he-service-page .he-service-v1023 .he-live-faq{display:grid!important;gap:14px!important;margin-top:18px!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean details,
body.he-service-page .he-service-v1023 .he-live-faq details,
body.he-service-page .he-service-v1023 details.he-faq-item-v10{background:#fff!important;border:1px solid var(--he-live-line)!important;border-radius:22px!important;box-shadow:var(--he-live-soft-shadow)!important;padding:18px 20px!important;margin:0 0 12px!important;overflow:hidden!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean details[open],
body.he-service-page .he-service-v1023 .he-live-faq details[open]{border-color:rgba(238,31,37,.18)!important;box-shadow:0 20px 52px rgba(16,24,40,.10)!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean summary,
body.he-service-page .he-service-v1023 .he-live-faq summary{cursor:pointer!important;color:var(--he-live-ink)!important;font-size:1rem!important;font-weight:950!important;letter-spacing:-.02em!important;line-height:1.28!important;list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean summary::-webkit-details-marker,
body.he-service-page .he-service-v1023 .he-live-faq summary::-webkit-details-marker{display:none!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean summary:after,
body.he-service-page .he-service-v1023 .he-live-faq summary:after{content:'+'!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:999px!important;background:var(--he-live-red-soft)!important;color:var(--he-live-red)!important;font-weight:950!important;line-height:1!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean details[open] summary:after,
body.he-service-page .he-service-v1023 .he-live-faq details[open] summary:after{content:'−'!important;}
body.he-service-page .he-service-v1023 .he-service-faq-clean p,
body.he-service-page .he-service-v1023 .he-live-faq p{margin:12px 0 0!important;color:var(--he-live-muted)!important;font-size:1rem!important;line-height:1.6!important;font-weight:500!important;}
body.he-service-page .he-service-v1023 .he-service-commerce-keep{background:radial-gradient(circle at 92% 10%,rgba(238,31,37,.10),transparent 30%),linear-gradient(180deg,#fff,#fff7f2)!important;}
body.he-service-page .he-service-v1023 .he-service-commerce-keep .he-mini-kicker{text-transform:none!important;}
body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments{margin-top:20px!important;}
body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments .woocommerce ul.products,
body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments ul.products,
body.he-service-page .he-service-v1023 .woocommerce ul.products,
body.he-service-page .he-service-v1023 ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin:0!important;padding:0!important;}
body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments .woocommerce ul.products li.product,
body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments ul.products li.product,
body.he-service-page .he-service-v1023 .woocommerce ul.products li.product,
body.he-service-page .he-service-v1023 ul.products li.product{width:auto!important;float:none!important;margin:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;background:#fff!important;border:1px solid var(--he-live-line)!important;border-radius:28px!important;padding:20px!important;box-shadow:var(--he-live-soft-shadow)!important;overflow:hidden!important;}
body.he-service-page .he-service-v1023 .woocommerce ul.products li.product img,
body.he-service-page .he-service-v1023 ul.products li.product img{border-radius:20px!important;box-shadow:none!important;margin-bottom:14px!important;}
body.he-service-page .he-service-v1023 .woocommerce-loop-product__title,
body.he-service-page .he-service-v1023 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.08rem!important;line-height:1.22!important;color:var(--he-live-ink)!important;letter-spacing:-.025em!important;font-weight:950!important;}
body.he-service-page .he-service-v1023 .woocommerce ul.products li.product .price,
body.he-service-page .he-service-v1023 ul.products li.product .price{color:var(--he-live-red-dark)!important;font-weight:950!important;}
body.he-service-page .he-service-v1023 .woocommerce ul.products li.product .button,
body.he-service-page .he-service-v1023 ul.products li.product .button,
body.he-service-page .he-service-v1023 a.add_to_cart_button{min-height:46px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;background:var(--he-live-red)!important;color:#fff!important;font-weight:950!important;box-shadow:0 14px 30px rgba(238,31,37,.22)!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table-wrap{overflow-x:auto!important;border-radius:28px!important;border:1px solid var(--he-live-line)!important;background:#fff!important;box-shadow:var(--he-live-soft-shadow)!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;min-width:760px!important;background:#fff!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table th{background:linear-gradient(135deg,#101828,#2b303d)!important;color:#fff!important;text-align:left!important;padding:17px 18px!important;font-size:12px!important;letter-spacing:.1em!important;text-transform:uppercase!important;border:0!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table td{padding:20px 18px!important;border-top:1px solid rgba(16,24,40,.08)!important;color:#475467!important;vertical-align:top!important;font-size:16px!important;line-height:1.55!important;background:#fff!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table tbody tr:nth-child(even) td{background:#fffafa!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table td strong{display:block!important;color:var(--he-live-ink)!important;font-size:18px!important;line-height:1.15!important;letter-spacing:-.025em!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1023 .he-adult-course-table td span{display:inline-flex!important;margin-top:8px!important;padding:7px 10px!important;border-radius:999px!important;background:var(--he-live-red-soft)!important;color:var(--he-live-red-dark)!important;font-size:12px!important;font-weight:950!important;}
body.he-service-page--corporate-spanish-courses-ireland .he-service-v1023 .he-service-final-box,
body.he-service-page--spanish-language-coaching-ireland .he-service-v1023 .he-service-final-box{background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.2),transparent 32%),linear-gradient(135deg,#101828,#9b171b)!important;}
body.he-service-page--study-in-spain .he-service-v1023 .he-service-final-box{background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.26),transparent 30%),linear-gradient(135deg,#c8171d,#ff7a59)!important;}
@media (max-width:1100px){body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments .woocommerce ul.products,body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments ul.products,body.he-service-page .he-service-v1023 .woocommerce ul.products,body.he-service-page .he-service-v1023 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:680px){body.he-service-page .he-service-v1023 .he-service-hero h1{font-size:39px!important;line-height:1.02!important;letter-spacing:-.035em!important;}body.he-service-page .he-service-v1023 .he-service-section-head h2,body.he-service-page .he-service-v1023 .he-service-section h2,body.he-service-page .he-service-v1023 .he-service-decision-card h2{font-size:30px!important;line-height:1.04!important;letter-spacing:-.032em!important;}body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments .woocommerce ul.products,body.he-service-page .he-service-v1023 .he-commerce-preserved-fragments ul.products,body.he-service-page .he-service-v1023 .woocommerce ul.products,body.he-service-page .he-service-v1023 ul.products{grid-template-columns:1fr!important;}}


/* ─────────────────────────────────────────────────────────────
   v10.24 — Adult course products restored + service typography tightened
   - Restores adult course/product cards with a custom WooCommerce fallback.
   - Reduces oversized service headings so pages sit closer to the Home rhythm.
   - Removes the uneven hero corner glow so service headers feel one piece.
───────────────────────────────────────────────────────────── */
body.he-service-page{
  background:linear-gradient(180deg,#fff7f2 0%,#fffaf6 48%,#fff 100%)!important;
}
body.he-service-page .he-service-hero:before{
  display:none!important;
}
body.he-service-page .he-service-hero,
body.he-service-page .he-service-shell{
  background:transparent!important;
}
body.he-service-page .he-service-v1023 .he-service-hero h1,
body.he-service-page .he-service-v1024 .he-service-hero h1{
  font-size:clamp(42px,5vw,72px)!important;
  line-height:1!important;
  letter-spacing:-.044em!important;
  max-width:820px!important;
}
body.he-service-page .he-service-v1023 .he-service-lead,
body.he-service-page .he-service-v1024 .he-service-lead{
  font-size:18px!important;
  line-height:1.62!important;
}
body.he-service-page .he-service-v1023 .he-service-decision-card h2,
body.he-service-page .he-service-v1024 .he-service-decision-card h2{
  font-size:clamp(26px,2.35vw,34px)!important;
  line-height:1.04!important;
  letter-spacing:-.034em!important;
}
body.he-service-page .he-service-v1023 .he-service-section-head h2,
body.he-service-page .he-service-v1023 .he-service-section h2,
body.he-service-page .he-service-v1024 .he-service-section-head h2,
body.he-service-page .he-service-v1024 .he-service-section h2{
  font-size:clamp(30px,3.35vw,48px)!important;
  line-height:1.04!important;
  letter-spacing:-.042em!important;
}
body.he-service-page .he-service-v1023 .he-service-section-head p:not(.he-mini-kicker),
body.he-service-page .he-service-v1023 .he-service-section > p,
body.he-service-page .he-service-v1023 .he-service-section article p,
body.he-service-page .he-service-v1023 .he-service-section li,
body.he-service-page .he-service-v1024 .he-service-section-head p:not(.he-mini-kicker),
body.he-service-page .he-service-v1024 .he-service-section > p,
body.he-service-page .he-service-v1024 .he-service-section article p,
body.he-service-page .he-service-v1024 .he-service-section li{
  font-size:17px!important;
  line-height:1.6!important;
}
body.he-service-page .he-service-v1023 .he-service-card-grid h3,
body.he-service-page .he-service-v1023 .he-service-package-grid h3,
body.he-service-page .he-service-v1023 .he-service-pathway h3,
body.he-service-page .he-service-v1024 .he-service-card-grid h3,
body.he-service-page .he-service-v1024 .he-service-package-grid h3,
body.he-service-page .he-service-v1024 .he-service-pathway h3{
  font-size:clamp(20px,1.45vw,24px)!important;
  line-height:1.08!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table small{
  color:#667085!important;
  font-size:13px!important;
  font-weight:750!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-inline-enrol{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:var(--he-live-red)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 12px 26px rgba(238,31,37,.20)!important;
}
.he-product-cards-1024{
  margin-top:20px!important;
}
.he-product-card-1024__eyebrow{
  margin:0 0 12px!important;
  color:var(--he-live-red-dark)!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.he-product-cards-1024__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.he-product-card-1024{
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
  border:1px solid var(--he-live-line)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:var(--he-live-soft-shadow)!important;
}
.he-product-card-1024__image{
  display:block!important;
  padding:14px 14px 0!important;
}
.he-product-card-1024__image img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:20px!important;
  box-shadow:none!important;
}
.he-product-card-1024__body{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:18px!important;
  flex:1!important;
}
.he-product-card-1024 h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
.he-product-card-1024 h3 a{
  color:var(--he-live-ink)!important;
  text-decoration:none!important;
}
.he-product-card-1024__price{
  margin:0!important;
  color:var(--he-live-red-dark)!important;
  font-size:17px!important;
  font-weight:950!important;
}
.he-product-card-1024__actions{
  margin-top:auto!important;
  display:grid!important;
  gap:8px!important;
}
.he-product-card-1024__button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:43px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:var(--he-live-red)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:950!important;
  box-shadow:0 12px 26px rgba(238,31,37,.20)!important;
}
.he-product-card-1024__link{
  color:var(--he-live-red-dark)!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:950!important;
}
body.he-service-page .he-service-v1024 .he-service-faq-clean details{
  border-radius:28px!important;
  padding:22px 24px!important;
}
@media (max-width:1100px){
  .he-product-cards-1024__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:680px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1{font-size:37px!important;line-height:1.02!important;letter-spacing:-.034em!important;}
  body.he-service-page .he-service-v1023 .he-service-section-head h2,
  body.he-service-page .he-service-v1023 .he-service-section h2,
  body.he-service-page .he-service-v1023 .he-service-decision-card h2,
  body.he-service-page .he-service-v1024 .he-service-section-head h2,
  body.he-service-page .he-service-v1024 .he-service-section h2,
  body.he-service-page .he-service-v1024 .he-service-decision-card h2{font-size:28px!important;line-height:1.06!important;letter-spacing:-.03em!important;}
  body.he-service-page .he-service-v1023 .he-service-lead,
  body.he-service-page .he-service-v1024 .he-service-lead{font-size:16px!important;}
  .he-product-cards-1024__grid{grid-template-columns:1fr!important;}
}


/* ─────────────────────────────────────────────────────────────
   v10.25 — Service polish: adult table, hero pills and duplicates
   - Removes service hero pills to reduce visual noise.
   - Makes the adult course table fit desktop and become readable cards on mobile.
   - Aligns service typography with the Home scale.
   - Removes the uneven hero corner glow/background cut.
───────────────────────────────────────────────────────────── */
body.he-service-page{
  background:linear-gradient(180deg,#fff7f2 0%,#fffaf6 46%,#ffffff 100%)!important;
}
body.he-service-page .he-service-hero,
body.he-service-page .he-service-shell,
body.he-service-page .he-service-template{
  background:transparent!important;
}
body.he-service-page .he-service-hero:before,
body.he-service-page .he-service-hero:after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}
body.he-service-page .he-service-hero-pills{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  overflow:hidden!important;
}
body.he-service-page .he-service-v1023 .he-service-hero h1,
body.he-service-page .he-service-v1024 .he-service-hero h1,
body.he-service-page .he-service-v1025 .he-service-hero h1{
  font-size:clamp(48px,6vw,84px)!important;
  line-height:.93!important;
  letter-spacing:-.075em!important;
  max-width:850px!important;
}
body.he-service-page .he-service-v1023 .he-service-lead,
body.he-service-page .he-service-v1024 .he-service-lead,
body.he-service-page .he-service-v1025 .he-service-lead{
  font-size:19px!important;
  line-height:1.62!important;
  max-width:760px!important;
}
body.he-service-page .he-service-v1023 .he-service-section-head h2,
body.he-service-page .he-service-v1023 .he-service-section h2,
body.he-service-page .he-service-v1024 .he-service-section-head h2,
body.he-service-page .he-service-v1024 .he-service-section h2,
body.he-service-page .he-service-v1025 .he-service-section-head h2,
body.he-service-page .he-service-v1025 .he-service-section h2{
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
}
body.he-service-page .he-service-v1023 .he-service-decision-card h2,
body.he-service-page .he-service-v1024 .he-service-decision-card h2,
body.he-service-page .he-service-v1025 .he-service-decision-card h2{
  font-size:clamp(28px,2.8vw,38px)!important;
  line-height:1.02!important;
  letter-spacing:-.038em!important;
}
body.he-service-page .he-service-v1023 .he-service-section-head p:not(.he-mini-kicker),
body.he-service-page .he-service-v1023 .he-service-section > p,
body.he-service-page .he-service-v1023 .he-service-section article p,
body.he-service-page .he-service-v1023 .he-service-section li,
body.he-service-page .he-service-v1024 .he-service-section-head p:not(.he-mini-kicker),
body.he-service-page .he-service-v1024 .he-service-section > p,
body.he-service-page .he-service-v1024 .he-service-section article p,
body.he-service-page .he-service-v1024 .he-service-section li,
body.he-service-page .he-service-v1025 .he-service-section-head p:not(.he-mini-kicker),
body.he-service-page .he-service-v1025 .he-service-section > p,
body.he-service-page .he-service-v1025 .he-service-section article p,
body.he-service-page .he-service-v1025 .he-service-section li{
  font-size:17px!important;
  line-height:1.6!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table-wrap,
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table-wrap{
  overflow-x:visible!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table,
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th,
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th{
  white-space:normal!important;
}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th:nth-child(1),
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th:nth-child(1){width:34%!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th:nth-child(2),
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th:nth-child(2){width:22%!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th:nth-child(3),
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th:nth-child(3){width:14%!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th:nth-child(4),
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th:nth-child(4){width:16%!important;}
body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table th:nth-child(5),
body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table th:nth-child(5){width:14%!important;}
@media (max-width:900px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1,
  body.he-service-page .he-service-v1025 .he-service-hero h1{font-size:43px!important;line-height:.98!important;letter-spacing:-.058em!important;}
  body.he-service-page .he-service-v1023 .he-service-section-head h2,
  body.he-service-page .he-service-v1023 .he-service-section h2,
  body.he-service-page .he-service-v1024 .he-service-section-head h2,
  body.he-service-page .he-service-v1024 .he-service-section h2,
  body.he-service-page .he-service-v1025 .he-service-section-head h2,
  body.he-service-page .he-service-v1025 .he-service-section h2{font-size:35px!important;line-height:1!important;}
}
@media (max-width:760px){
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table-wrap,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table-wrap{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table,
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table tbody,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table tbody{
    display:block!important;
    width:100%!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table thead,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table thead{
    display:none!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table tr,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table tr{
    display:block!important;
    margin:0 0 16px!important;
    border:1px solid var(--he-live-line)!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:var(--he-live-soft-shadow)!important;
    overflow:hidden!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table td,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table td{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    width:100%!important;
    padding:14px 16px!important;
    border-top:1px solid rgba(16,24,40,.08)!important;
    background:#fff!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table td:first-child,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table td:first-child{
    border-top:0!important;
    grid-template-columns:1fr!important;
    background:#fffafa!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table td:before,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table td:before{
    content:attr(data-label)!important;
    color:var(--he-live-red-dark)!important;
    font-size:12px!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  body.he-service-page--learn-spanish-ireland .he-service-v1025 .he-adult-course-table td:first-child:before,
  body.he-service-page--learn-spanish-ireland .he-service-v1024 .he-adult-course-table td:first-child:before{
    margin-bottom:4px!important;
  }
}
@media (max-width:640px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1,
  body.he-service-page .he-service-v1025 .he-service-hero h1{font-size:39px!important;line-height:1.01!important;letter-spacing:-.055em!important;}
}
@media (max-width:480px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1,
  body.he-service-page .he-service-v1025 .he-service-hero h1{font-size:36px!important;}
  body.he-service-page .he-service-v1023 .he-service-section-head h2,
  body.he-service-page .he-service-v1023 .he-service-section h2,
  body.he-service-page .he-service-v1024 .he-service-section-head h2,
  body.he-service-page .he-service-v1024 .he-service-section h2,
  body.he-service-page .he-service-v1025 .he-service-section-head h2,
  body.he-service-page .he-service-v1025 .he-service-section h2{font-size:32px!important;}
}


/* ─────────────────────────────────────────────────────────────
   v10.26 — Service heading readability
   Desktop/service headings in v10.25 used very tight tracking.
   This keeps the same scale but relaxes letter spacing so headings
   do not visually merge on desktop screens.
───────────────────────────────────────────────────────────── */
@media (min-width:761px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1,
  body.he-service-page .he-service-v1025 .he-service-hero h1{
    letter-spacing:-.018em!important;
    line-height:1!important;
    text-rendering:optimizeLegibility!important;
    -webkit-font-smoothing:antialiased!important;
  }
  body.he-service-page .he-service-v1023 .he-service-section-head h2,
  body.he-service-page .he-service-v1023 .he-service-section h2,
  body.he-service-page .he-service-v1024 .he-service-section-head h2,
  body.he-service-page .he-service-v1024 .he-service-section h2,
  body.he-service-page .he-service-v1025 .he-service-section-head h2,
  body.he-service-page .he-service-v1025 .he-service-section h2{
    letter-spacing:-.012em!important;
    line-height:1.05!important;
    text-rendering:optimizeLegibility!important;
    -webkit-font-smoothing:antialiased!important;
  }
  body.he-service-page .he-service-v1023 .he-service-decision-card h2,
  body.he-service-page .he-service-v1024 .he-service-decision-card h2,
  body.he-service-page .he-service-v1025 .he-service-decision-card h2{
    letter-spacing:-.01em!important;
    line-height:1.06!important;
  }
  body.he-service-page .he-service-v1023 .he-service-card-grid h3,
  body.he-service-page .he-service-v1023 .he-service-package-grid h3,
  body.he-service-page .he-service-v1023 .he-service-pathway h3,
  body.he-service-page .he-service-v1024 .he-service-card-grid h3,
  body.he-service-page .he-service-v1024 .he-service-package-grid h3,
  body.he-service-page .he-service-v1024 .he-service-pathway h3,
  body.he-service-page .he-service-v1025 .he-service-card-grid h3,
  body.he-service-page .he-service-v1025 .he-service-package-grid h3,
  body.he-service-page .he-service-v1025 .he-service-pathway h3{
    letter-spacing:0!important;
    line-height:1.18!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v10.27 — Service title scale alignment
   Keep the v10.26 readability fix, but reduce desktop service
   heading sizes so they sit closer to the Home page scale.
   Content, tables and WooCommerce blocks are untouched.
───────────────────────────────────────────────────────────── */
@media (min-width:761px){
  body.he-service-page .he-service-v1023 .he-service-hero h1,
  body.he-service-page .he-service-v1024 .he-service-hero h1,
  body.he-service-page .he-service-v1025 .he-service-hero h1{
    font-size:clamp(42px,4.65vw,64px)!important;
    line-height:1.02!important;
    letter-spacing:-.018em!important;
    max-width:820px!important;
  }
  body.he-service-page .he-service-v1023 .he-service-section-head h2,
  body.he-service-page .he-service-v1023 .he-service-section h2,
  body.he-service-page .he-service-v1024 .he-service-section-head h2,
  body.he-service-page .he-service-v1024 .he-service-section h2,
  body.he-service-page .he-service-v1025 .he-service-section-head h2,
  body.he-service-page .he-service-v1025 .he-service-section h2{
    font-size:clamp(30px,3.15vw,44px)!important;
    line-height:1.06!important;
    letter-spacing:-.012em!important;
  }
  body.he-service-page .he-service-v1023 .he-service-decision-card h2,
  body.he-service-page .he-service-v1024 .he-service-decision-card h2,
  body.he-service-page .he-service-v1025 .he-service-decision-card h2{
    font-size:clamp(26px,2.35vw,34px)!important;
    line-height:1.07!important;
    letter-spacing:-.01em!important;
  }
}

/* ─────────────────────────────────────────────────────────────
   v10.29 — Block-editor service content helpers
   Service pages now use normal Gutenberg blocks instead of large
   custom HTML blocks. These small aliases keep visual polish intact.
───────────────────────────────────────────────────────────── */
body.he-service-page .he-service-v1029 .he-service-icon{
  font-size:30px!important;
  line-height:1!important;
  margin:0 0 14px!important;
}
body.he-service-page .he-service-v1029 .he-step-number{
  display:inline-flex!important;
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--he-live-red-soft)!important;
  color:var(--he-live-red-dark)!important;
  font-weight:950!important;
  margin:0 0 18px!important;
}
body.he-service-page .he-service-v1029 .wp-block-details{
  margin-top:14px!important;
}


/* v10.30 — hide accidental comments blocks/comments forms left by older templates */
.wp-block-comments,
.comment-respond,
.comments-area {
  display: none !important;
}
