:root {
  --is-navy: #132129;
  --is-deep: #001a24;
  --is-steel: #2a4f60;
  --is-steel-bright: #37768c;
  --is-gold: #efaf0f;
  --is-gold-deep: #cf9c11;
  --is-soft: #d8d8d8;
  --is-paper: #f5f6f3;
  --is-white: #fff;
  --is-ink: #132129;
  --is-muted: #627078;
  --is-border: rgba(19, 33, 41, .13);
  --is-shadow: 0 22px 70px rgba(0, 26, 36, .10);
  --is-radius: 20px;
  --is-shell: min(1240px, calc(100vw - 48px));
  --is-display: "PT Serif", Georgia, serif;
  --is-ui: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--is-paper);
  color: var(--is-ink);
  font-family: var(--is-ui);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.is-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text { position:absolute!important; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; overflow:hidden; }
.is-shell { width: var(--is-shell); margin-inline: auto; }

h1,h2,h3,h4,h5,h6 { margin: 0; font-family: var(--is-display); color: inherit; }
h1 { font-size: clamp(3rem, 6vw, 5.1rem); line-height: .98; letter-spacing: -.045em; }
h2 { font-size: clamp(2.45rem, 4.6vw, 4.25rem); line-height: 1.02; letter-spacing: -.035em; }
h3 { font-size: clamp(1.55rem, 2vw, 2rem); line-height: 1.15; }
h1 em, h2 em { color: var(--is-gold); font-weight: 400; }
p { margin: 0 0 1em; }

.is-site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  height: 88px;
  color: var(--is-white);
  background: linear-gradient(180deg, rgba(0,26,36,.72), rgba(0,26,36,0));
  transition: background .25s ease, backdrop-filter .25s ease, height .25s ease, box-shadow .25s ease;
}
.is-site-header.is-scrolled {
  height: 76px;
  background: rgba(0, 26, 36, .92);
  backdrop-filter: blur(18px);
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.is-header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.is-brand { display:flex; align-items:center; gap:12px; color:white; font-family:var(--is-display); font-weight:700; line-height:1.02; font-size:17px; }
.is-brand img { width: 34px; height: 44px; object-fit: contain; }
.is-main-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.is-nav-list { list-style:none; display:flex; gap:30px; padding:0; margin:0; align-items:center; }
.is-nav-list a { position:relative; font-size:14px; font-weight:600; letter-spacing:.04em; color:rgba(255,255,255,.86); }
.is-nav-list a::after { content:""; position:absolute; left:0; bottom:-8px; width:100%; height:1px; background:var(--is-gold); transform:scaleX(0); transform-origin:right; transition:transform .25s ease; }
.is-nav-list a:hover::after { transform:scaleX(1); transform-origin:left; }
.is-header-actions { display:flex; align-items:center; gap:14px; }
.is-cart-link { position:relative; width:38px; height:38px; border:1px solid rgba(255,255,255,.22); border-radius:999px; display:grid; place-items:center; }
.is-cart-icon { font-size:20px; transform:rotate(-16deg); }
.is-cart-count { position:absolute; right:-5px; top:-6px; min-width:18px; height:18px; border-radius:99px; display:grid; place-items:center; background:var(--is-gold); color:var(--is-deep); font-size:10px; font-weight:800; padding:0 4px; }
.is-menu-toggle { display:none; background:none; border:0; padding:8px; }
.is-menu-toggle span:not(.screen-reader-text) { display:block; width:24px; height:2px; background:white; margin:5px 0; }

.is-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border-radius:999px; font-size:13px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.is-btn:hover { transform:translateY(-2px); }
.is-btn-small { min-height:42px; padding-inline:20px; font-size:12px; }
.is-btn-gold { background:var(--is-gold); color:var(--is-deep); box-shadow:0 10px 28px rgba(239,175,15,.18); }
.is-btn-gold:hover { background:#ffc024; box-shadow:0 15px 34px rgba(239,175,15,.25); }
.is-btn-ghost { border:1px solid rgba(255,255,255,.28); color:white; background:rgba(255,255,255,.035); }
.is-btn-ghost:hover { background:rgba(255,255,255,.09); }

.is-hero { position:relative; overflow:hidden; min-height:760px; display:flex; align-items:center; color:white; background:radial-gradient(circle at 77% 40%, rgba(42,79,96,.62), transparent 34%), linear-gradient(120deg, #001a24 0%, #132129 52%, #0b1b23 100%); }
.is-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,rgba(239,175,15,.75),transparent); }
.is-hero-art { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(0,26,36,.98) 0%,rgba(0,26,36,.82) 39%,rgba(0,26,36,.44) 68%,rgba(0,26,36,.25) 100%),url('../images/brand-scene.png'); background-size:cover; background-position:center right; opacity:.34; filter:saturate(.8); }
.is-hero-grid { position:relative; z-index:2; padding-top:130px; padding-bottom:80px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); align-items:center; gap:70px; }
.is-hero-copy { max-width:820px; }
.is-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; font-size:12px; font-weight:800; letter-spacing:.18em; color:var(--is-gold); }
.is-eyebrow::before { content:""; width:32px; height:1px; background:currentColor; }
.is-eyebrow-dark { color:var(--is-steel); }
.is-hero h1 { max-width:810px; text-shadow:0 8px 50px rgba(0,0,0,.22); }
.is-hero-lead { max-width:710px; margin-top:30px; color:rgba(255,255,255,.78); font-size:clamp(1.08rem,1.5vw,1.28rem); line-height:1.65; }
.is-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:36px; }
.is-signal-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:48px; }
.is-signal-row span { padding:7px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:11px; font-weight:700; color:rgba(255,255,255,.68); letter-spacing:.04em; backdrop-filter:blur(8px); }
.is-hero-mark { justify-self:end; width:min(330px,100%); min-height:380px; border:1px solid rgba(255,255,255,.12); border-radius:28px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:34px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); backdrop-filter:blur(10px); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.is-hero-mark img { width:86px; opacity:.96; margin-bottom:auto; }
.is-hero-mark p { font-family:var(--is-display); font-size:24px; line-height:1.25; color:rgba(255,255,255,.72); }
.is-hero-mark strong { color:white; }

.is-section { padding:110px 0; }
.is-section-heading { max-width:840px; margin-bottom:58px; }
.is-section-heading > p { max-width:690px; margin-top:24px; color:var(--is-muted); }
.is-section-heading-split { max-width:none; display:grid; grid-template-columns:1.35fr .65fr; align-items:end; gap:70px; }
.is-section-heading-split > p { margin:0 0 8px; }
.is-intro { background:#fff; }
.is-process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--is-border); }
.is-process-card { position:relative; min-height:285px; padding:36px 34px 28px 0; border-right:1px solid var(--is-border); }
.is-process-card + .is-process-card { padding-left:34px; }
.is-process-card:last-child { border-right:0; }
.is-number { display:block; margin-bottom:68px; font-size:12px; font-weight:800; color:var(--is-gold-deep); letter-spacing:.12em; }
.is-process-card h3 { margin-bottom:15px; }
.is-process-card p { max-width:330px; color:var(--is-muted); font-size:15px; }

.is-courses-section { background:var(--is-paper); }
.is-tutor-showcase { min-height:220px; }
.is-center-action { margin-top:38px; text-align:center; }
.is-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--is-steel); font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.is-text-link span { transition:transform .2s ease; }
.is-text-link:hover span { transform:translate(4px,-4px); }
.is-text-link-light { color:white; }
.is-empty-state { padding:42px; border:1px solid var(--is-border); background:white; border-radius:var(--is-radius); }

/* Tutor LMS — conserva funcionalidad, adapta lenguaje visual */
.tutor-course-card, .tutor-card, .tutor-course-loop, .tutor-course-loop-wrap {
  border-radius:18px !important;
  overflow:hidden;
  border-color:rgba(19,33,41,.1) !important;
  box-shadow:0 18px 50px rgba(0,26,36,.07) !important;
  background:#fff !important;
}
.tutor-course-card img, .tutor-course-loop img { transition:transform .4s ease; }
.tutor-course-card:hover img, .tutor-course-loop:hover img { transform:scale(1.025); }
.tutor-course-card h3, .tutor-course-card h4, .tutor-course-card .tutor-course-name, .tutor-course-loop h3 { font-family:var(--is-display) !important; color:var(--is-navy) !important; }
.tutor-btn, .tutor-button { border-radius:999px !important; }
.tutor-btn-primary, .tutor-button-primary { background:var(--is-steel) !important; border-color:var(--is-steel) !important; }
.tutor-wrap, .tutor-dashboard { font-family:var(--is-ui) !important; }

.is-tools-section { position:relative; overflow:hidden; color:white; background:linear-gradient(135deg,#001a24 0%,#132129 56%,#18323d 100%); }
.is-tools-pattern { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:84px 84px; transform:skewY(-3deg) scale(1.08); }
.is-section-heading-light { position:relative; z-index:1; }
.is-section-heading-light > p { color:rgba(255,255,255,.63); }
.is-tools-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.is-tool-card { position:relative; min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.is-tool-card:hover { transform:translateY(-6px); border-color:rgba(239,175,15,.55); background:linear-gradient(180deg,rgba(239,175,15,.08),rgba(255,255,255,.02)); }
.is-tool-code { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--is-gold); color:var(--is-deep); font-size:12px; font-weight:900; letter-spacing:.08em; }
.is-tool-card h3 { color:white; margin-bottom:12px; }
.is-tool-card p { color:rgba(255,255,255,.62); font-size:15px; }
.is-arrow { position:absolute; right:28px; top:30px; font-size:21px; color:rgba(255,255,255,.58); }

.is-values-section { background:#fff; }
.is-values-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.is-values-copy { position:sticky; top:130px; }
.is-values-copy > p { color:var(--is-muted); margin:25px 0 28px; max-width:480px; }
.is-values-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.is-value-card { min-height:260px; padding:30px; border:1px solid var(--is-border); border-radius:18px; background:var(--is-paper); }
.is-value-card span { display:block; margin-bottom:70px; color:var(--is-gold-deep); font-size:12px; font-weight:800; }
.is-value-card h3 { margin-bottom:12px; }
.is-value-card p { color:var(--is-muted); font-size:15px; }

.is-testimonials-section { background:var(--is-paper); }
.is-testimonial-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.is-quote { margin:0; min-height:320px; display:flex; flex-direction:column; justify-content:space-between; padding:36px; border-radius:20px; border:1px solid var(--is-border); background:white; box-shadow:0 18px 55px rgba(0,26,36,.05); }
.is-quote:first-child { background:var(--is-steel); color:white; border-color:transparent; }
.is-quote p { font-family:var(--is-display); font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.42; }
.is-quote:first-child p { color:white; }
.is-quote footer { display:flex; flex-direction:column; gap:3px; margin-top:30px; font-size:13px; }
.is-quote footer span { opacity:.62; }

.is-final-cta { position:relative; overflow:hidden; padding:105px 0; background:var(--is-deep); color:white; }
.is-final-watermark { position:absolute; right:-70px; bottom:-120px; width:440px; height:560px; background:url('../images/logo-white.png') center/contain no-repeat; opacity:.035; transform:rotate(-6deg); }
.is-final-inner { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:60px; }
.is-final-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; padding-bottom:8px; }

.is-site-footer { padding:72px 0 26px; color:white; background:#09171d; border-top:1px solid rgba(255,255,255,.08); }
.is-footer-grid { display:grid; grid-template-columns:1.45fr .6fr .65fr 1fr; gap:55px; }
.is-footer-brand { display:flex; gap:18px; align-items:flex-start; }
.is-footer-brand img { width:44px; height:58px; object-fit:contain; }
.is-footer-brand strong { display:block; font-family:var(--is-display); font-size:22px; }
.is-footer-brand p { max-width:270px; margin-top:5px; color:rgba(255,255,255,.52); font-size:13px; }
.is-footer-col { display:flex; flex-direction:column; gap:9px; font-size:13px; color:rgba(255,255,255,.62); }
.is-footer-col a:hover { color:var(--is-gold); }
.is-footer-label { color:white; font-weight:800; margin-bottom:8px; letter-spacing:.06em; text-transform:uppercase; font-size:11px; }
.is-footer-col p { margin:0; }
.is-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:60px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.38); font-size:11px; letter-spacing:.04em; }

/* Contenido, Blog, WooCommerce */
.is-content-main { min-height:72vh; padding:150px 0 100px; background:var(--is-paper); }
.is-content-shell, .is-page-shell, .is-article-shell { width:min(1120px,calc(100vw - 48px)); margin-inline:auto; }
.is-page-shell { max-width:980px; }
.is-article-shell { max-width:900px; }
.is-page-header, .is-article-header { margin-bottom:48px; }
.is-page-header h1, .is-article-header h1 { font-size:clamp(2.8rem,5vw,4.8rem); color:var(--is-navy); }
.is-entry-content { color:#263940; }
.is-entry-content h2, .is-entry-content h3 { margin:1.4em 0 .55em; }
.is-entry-content a { color:var(--is-steel); text-decoration:underline; text-underline-offset:3px; }
.is-article-image { margin-top:42px; border-radius:22px; overflow:hidden; }
.is-article-content { font-family:var(--is-display); font-size:20px; line-height:1.8; }
.is-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.is-post-card { overflow:hidden; background:white; border:1px solid var(--is-border); border-radius:18px; }
.is-post-thumb { display:block; aspect-ratio:16/10; overflow:hidden; }
.is-post-thumb img { width:100%; height:100%; object-fit:cover; }
.is-post-body { padding:24px; }
.is-post-meta { display:block; margin-bottom:12px; color:var(--is-gold-deep); font-size:11px; font-weight:800; text-transform:uppercase; }
.is-post-card h2 { font-size:25px; margin-bottom:10px; }
.is-post-card p { color:var(--is-muted); font-size:14px; }

.is-commerce-shell { width:min(1240px,calc(100vw - 48px)); }
.woocommerce .woocommerce-breadcrumb { color:var(--is-muted); font-size:12px; }
.woocommerce h1, .woocommerce h2, .woocommerce h3 { font-family:var(--is-display); }
.woocommerce ul.products li.product { padding:0 0 22px; background:#fff; border:1px solid var(--is-border); border-radius:18px; overflow:hidden; box-shadow:0 14px 45px rgba(0,26,36,.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price { padding-left:20px; padding-right:20px; }
.woocommerce ul.products li.product .button { margin-left:20px; border-radius:999px; background:var(--is-steel); color:#fff; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius:999px; background:var(--is-steel); color:#fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background:var(--is-gold); color:var(--is-deep); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select { min-height:48px; border:1px solid var(--is-border); border-radius:10px; padding:10px 12px; background:white; }

.is-error-page { min-height:82vh; display:flex; align-items:center; padding:150px 0 90px; color:white; background:radial-gradient(circle at 78% 34%,rgba(42,79,96,.8),transparent 32%),var(--is-deep); }
.is-error-inner { max-width:870px; position:relative; }
.is-error-code { position:absolute; right:-160px; top:-80px; font-family:var(--is-display); font-size:280px; font-weight:700; color:rgba(255,255,255,.035); line-height:1; }
.is-error-page p { max-width:660px; margin:28px 0 0; color:rgba(255,255,255,.7); }

.is-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.is-reveal.is-visible { opacity:1; transform:none; }
.is-delay-1 { transition-delay:.10s; }
.is-delay-2 { transition-delay:.20s; }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.is-reveal{opacity:1;transform:none;transition:none} }

@media (max-width: 1020px) {
  :root { --is-shell:min(100% - 40px,1240px); }
  .is-hero-grid { grid-template-columns:1fr; min-height:720px; }
  .is-hero-mark { display:none; }
  .is-section-heading-split { grid-template-columns:1fr; gap:24px; }
  .is-tools-grid { grid-template-columns:1fr 1fr; }
  .is-tools-grid .is-tool-card:last-child { grid-column:1 / -1; min-height:250px; }
  .is-values-layout { grid-template-columns:1fr; gap:55px; }
  .is-values-copy { position:static; }
  .is-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .is-footer-col:last-child { grid-column:1 / -1; }
  .is-post-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 780px) {
  body { font-size:16px; }
  :root { --is-shell:calc(100vw - 28px); }
  .is-site-header { height:74px; }
  .is-brand span { display:none; }
  .is-menu-toggle { display:block; z-index:5; }
  .is-main-nav { position:fixed; inset:0; padding:110px 28px 34px; display:flex; flex-direction:column; align-items:stretch; gap:30px; background:rgba(0,26,36,.98); transform:translateX(100%); transition:transform .3s ease; }
  .is-main-nav.is-open { transform:none; }
  .is-nav-list { flex-direction:column; align-items:flex-start; gap:22px; }
  .is-nav-list a { font-family:var(--is-display); font-size:34px; font-weight:400; }
  .is-header-actions { margin-top:auto; justify-content:space-between; }
  .is-hero { min-height:720px; }
  .is-hero-grid { padding-top:120px; padding-bottom:65px; gap:0; }
  .is-hero h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .is-hero-lead { font-size:17px; }
  .is-signal-row { margin-top:34px; }
  .is-section { padding:78px 0; }
  .is-section-heading { margin-bottom:40px; }
  .is-process-grid { grid-template-columns:1fr; }
  .is-process-card, .is-process-card + .is-process-card { padding:28px 0; border-right:0; border-bottom:1px solid var(--is-border); min-height:auto; }
  .is-number { margin-bottom:36px; }
  .is-tools-grid { grid-template-columns:1fr; }
  .is-tools-grid .is-tool-card:last-child { grid-column:auto; }
  .is-tool-card { min-height:280px; }
  .is-values-grid { grid-template-columns:1fr; }
  .is-value-card { min-height:220px; }
  .is-value-card span { margin-bottom:48px; }
  .is-testimonial-grid { grid-template-columns:1fr; }
  .is-final-inner { flex-direction:column; align-items:flex-start; }
  .is-footer-grid { grid-template-columns:1fr 1fr; }
  .is-footer-brand, .is-footer-col:last-child { grid-column:1 / -1; }
  .is-footer-bottom { flex-direction:column; }
  .is-post-grid { grid-template-columns:1fr; }
  .is-content-main { padding-top:120px; }
  .is-error-code { right:-20px; top:-70px; font-size:180px; }
}

@media (max-width: 480px) {
  .is-btn { width:100%; }
  .is-hero-actions { flex-direction:column; }
  .is-tools-section h2 br, .is-final-cta h2 br, .is-intro h2 br { display:none; }
  .is-footer-grid { grid-template-columns:1fr; }
  .is-footer-brand, .is-footer-col:last-child { grid-column:auto; }
}

/* =========================================================
   V2 — escala tipográfica, navegación editorial y ritmo visual
   ========================================================= */

html { scroll-padding-top: 96px; }
#metodo, #cursos, #herramientas, #filosofia, #inspiracion { scroll-margin-top: 94px; }

body {
  font-size: clamp(1.08rem, .24vw + 1.01rem, 1.22rem);
  line-height: 1.68;
}

h1 { font-size: clamp(4.55rem, 6.2vw, 6.75rem); line-height: .94; letter-spacing: -.052em; }
h2 { font-size: clamp(3.3rem, 4.85vw, 5.15rem); line-height: .99; letter-spacing: -.042em; }
h3 { font-size: clamp(1.9rem, 2vw, 2.42rem); line-height: 1.08; }
h4 { font-size: clamp(1.35rem, 1.5vw, 1.72rem); }

.is-shell { width: min(1360px, calc(100vw - 64px)); }
.is-copy-lg { font-size: clamp(1.08rem, .45vw + .98rem, 1.3rem); line-height: 1.68; max-width: 62ch; }

/* Header */
.is-site-header { height: 98px; }
.is-site-header.is-scrolled { height: 82px; }
.is-header-inner { gap: 42px; }
.is-brand { flex: 0 0 auto; line-height: 1; }
.is-brand img { width: clamp(220px, 15.5vw, 270px); height: auto; display:block; }
.is-main-nav { gap: 34px; }
.is-nav-list { gap: 30px; }
.is-nav-list a { font-size: 15.5px; font-weight: 650; letter-spacing: .025em; padding: 7px 0; }
.is-nav-list a.is-current-section { color:#fff; }
.is-nav-list a.is-current-section::after { transform:scaleX(1); transform-origin:left; }
.is-header-actions { gap: 16px; }
.is-cart-link { width: 44px; height: 44px; }
.is-cart-icon { font-size: 22px; }
.is-cart-count { min-width:20px; height:20px; font-size:11px; }

.is-btn { min-height: 55px; padding: 0 28px; font-size: 14px; letter-spacing: .065em; }
.is-btn-small { min-height: 46px; padding-inline: 23px; font-size: 13px; }
.is-text-link { font-size: 14.5px; }

/* Hero */
.is-hero { min-height: 880px; }
.is-hero-art { opacity: .42; background-position:center right; }
.is-hero-grid { padding-top: 155px; padding-bottom: 98px; grid-template-columns:minmax(0,1.5fr) minmax(310px,.5fr); gap: 92px; }
.is-hero-copy { max-width: 930px; }
.is-eyebrow { margin-bottom: 26px; font-size: 13.5px; letter-spacing: .17em; }
.is-eyebrow::before { width: 38px; }
.is-hero h1 { max-width: 900px; }
.is-hero-lead { max-width: 730px; margin-top: 34px; font-size: clamp(1.18rem, .55vw + 1.02rem, 1.42rem); line-height:1.64; }
.is-hero-actions { gap:16px; margin-top: 40px; }
.is-hero-index { display:flex; align-items:center; flex-wrap:wrap; gap: 9px 20px; margin-top: 50px; color:rgba(255,255,255,.65); }
.is-hero-index > span { color:var(--is-gold); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.is-hero-index a { position:relative; font-size:14px; font-weight:650; }
.is-hero-index a::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:currentColor; opacity:.38; }
.is-hero-index a:hover { color:#fff; }

.is-hero-mark { width:min(365px,100%); min-height: 450px; padding: 38px; border-radius: 30px; }
.is-hero-mark > img { width: 96px; max-height: 125px; object-fit:contain; margin-bottom: auto; }
.is-hero-manifesto > span { display:block; margin-bottom:11px; color:var(--is-gold); font-size:11px; font-weight:800; letter-spacing:.16em; }
.is-hero-mark p { font-size: clamp(1.6rem,1.8vw,2.05rem); line-height:1.17; }
.is-hero-microgrid { width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:32px; border-top:1px solid rgba(255,255,255,.14); padding-top:18px; }
.is-hero-microgrid span { display:flex; flex-direction:column; gap:3px; color:rgba(255,255,255,.58); font-size:11px; }
.is-hero-microgrid b { color:#fff; font-size:10px; letter-spacing:.08em; }

/* Sections */
.is-section { padding: 138px 0; }
.is-section-heading { max-width: 980px; margin-bottom: 72px; }
.is-section-heading > p { max-width: 66ch; margin-top: 30px; }
.is-section-heading-split { grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr); gap: 90px; align-items:end; }
.is-section-heading-split > p { margin-bottom: 12px; }
.is-section-heading-wide { max-width:none; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); align-items:end; gap:90px; }
.is-section-heading-wide > p { margin:0 0 12px; }

.is-process-card { min-height: 335px; padding: 42px 40px 34px 0; }
.is-process-card + .is-process-card { padding-left: 40px; }
.is-number { margin-bottom: 78px; font-size:13px; }
.is-process-card h3 { margin-bottom: 18px; }
.is-process-card p { max-width: 33ch; font-size: 17px; line-height:1.65; }

/* Cursos / Tutor */
.is-tutor-showcase { min-height:280px; }
.is-center-action { margin-top:48px; }
.is-tutor-showcase .tutor-course-filter,
.is-tutor-showcase .tutor-course-filter-wrapper,
.is-tutor-showcase .tutor-course-listing-filter,
.is-tutor-showcase .tutor-course-filter-container { display:none !important; }
.tutor-course-card, .tutor-card, .tutor-course-loop, .tutor-course-loop-wrap { border-radius:22px !important; box-shadow:0 20px 60px rgba(0,26,36,.08) !important; }
.tutor-course-card h3, .tutor-course-card h4, .tutor-course-card .tutor-course-name, .tutor-course-loop h3,
.is-tutor-showcase .tutor-course-name, .is-tutor-showcase .tutor-card-title { font-size:clamp(1.28rem,1.3vw,1.58rem) !important; line-height:1.32 !important; }
.is-tutor-showcase .tutor-meta, .is-tutor-showcase .tutor-meta-value, .is-tutor-showcase .tutor-fs-7, .is-tutor-showcase .tutor-fs-6 { font-size:14px !important; }
.is-tutor-showcase .tutor-card-body { padding:24px !important; }

/* Herramientas */
.is-tools-grid { gap:20px; }
.is-tool-card { min-height: 385px; padding: 36px; border-radius:24px; }
.is-tool-code { width:58px; height:58px; font-size:13px; }
.is-tool-card h3 { font-size:clamp(2rem,2.2vw,2.55rem); margin-bottom:15px; }
.is-tool-card p { max-width: 36ch; font-size:17px; line-height:1.65; }
.is-arrow { right:34px; top:34px; font-size:24px; }
.is-tools-cta { position:relative; z-index:1; margin-top:28px; padding-top:26px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.64); font-size:15px; }

/* Valores */
.is-values-layout { grid-template-columns:.82fr 1.18fr; gap:105px; }
.is-values-copy { top:145px; }
.is-values-copy > p { max-width:48ch; margin:30px 0 34px; }
.is-values-grid { gap:18px; }
.is-value-card { min-height:300px; padding:36px; border-radius:22px; }
.is-value-card span { margin-bottom:82px; font-size:13px; }
.is-value-card p { font-size:17px; line-height:1.62; }

/* Frases históricas */
.is-ideas-section { position:relative; overflow:hidden; padding: 138px 0; color:#fff; background:linear-gradient(118deg,#132129 0%,#001a24 66%,#102b36 100%); }
.is-ideas-art { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(0,26,36,.65),rgba(0,26,36,.22)),url('../images/brand-scene.png'); background-size:cover; background-position:center; opacity:.13; filter:grayscale(.2); }
.is-ideas-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:110px; align-items:center; }
.is-ideas-heading h2 { max-width: 650px; font-size:clamp(3rem,4.2vw,4.7rem); }
.is-quote-stage { position:relative; min-height:410px; padding:56px 56px 42px; border:1px solid rgba(255,255,255,.13); border-radius:28px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); backdrop-filter:blur(12px); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.is-quote-mark { position:absolute; right:36px; top:8px; font-family:var(--is-display); font-size:150px; line-height:1; color:rgba(239,175,15,.17); }
.is-famous-quotes { min-height:235px; display:flex; align-items:center; }
.is-famous-quote { margin:0; width:100%; }
.is-famous-quote[hidden] { display:none; }
.is-famous-quote p { max-width: 25ch; margin:0; font-family:var(--is-display); font-size:clamp(2.15rem,3.15vw,3.45rem); line-height:1.17; letter-spacing:-.025em; color:#fff; }
.is-famous-quote footer { margin-top:34px; display:flex; align-items:baseline; gap:12px; }
.is-famous-quote footer strong { font-size:16px; color:var(--is-gold); }
.is-famous-quote footer span { color:rgba(255,255,255,.48); font-size:13px; }
.is-quote-controls { margin-top:28px; display:flex; align-items:center; gap:20px; }
.is-quote-controls button { width:46px; height:46px; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.is-quote-controls button:hover { background:rgba(255,255,255,.07); border-color:rgba(239,175,15,.55); }
.is-quote-dots { display:flex; gap:7px; }
.is-quote-dots span { width:26px; height:3px; border-radius:99px; background:rgba(255,255,255,.18); transition:background .2s ease,width .2s ease; }
.is-quote-dots span.is-active { width:42px; background:var(--is-gold); }

/* Testimonios */
.is-testimonial-grid { gap:22px; }
.is-quote { min-height:365px; padding:44px; border-radius:24px; }
.is-quote p { font-size:clamp(1.55rem,2.1vw,2.05rem); line-height:1.42; }
.is-quote footer { margin-top:36px; font-size:14.5px; }

/* CTA final */
.is-final-cta { padding:125px 0; }
.is-final-inner { gap:80px; }
.is-final-inner h2 { font-size:clamp(3.25rem,4.7vw,5rem); }

/* Footer */
.is-site-footer { padding:84px 0 32px; }
.is-footer-grid { grid-template-columns:1.55fr .65fr .72fr 1.1fr; gap:64px; }
.is-footer-brand { display:flex; flex-direction:column; gap:18px; }
.is-footer-brand img { width:270px; height:auto; object-fit:contain; }
.is-footer-brand p { max-width:32ch; margin:0; color:rgba(255,255,255,.58); font-size:15px; }
.is-footer-col { gap:11px; font-size:15px; }
.is-footer-label { margin-bottom:10px; font-size:12px; }
.is-footer-bottom { margin-top:68px; padding-top:25px; font-size:12.5px; }

/* Entradas / Woo */
.is-content-main { padding:170px 0 120px; }
.is-page-header h1, .is-article-header h1 { font-size:clamp(3.5rem,5.6vw,5.5rem); }
.is-entry-content { font-size:18px; line-height:1.72; }
.is-article-content { font-size:21px; max-width:72ch; }
.is-post-card h2 { font-size:29px; }
.is-post-card p { font-size:16px; }
.woocommerce { font-size:17px; }
.woocommerce .woocommerce-breadcrumb { font-size:13px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:20px !important; line-height:1.35; }
.woocommerce ul.products li.product .price { font-size:17px !important; }

@media (max-width: 1120px) {
  .is-shell { width:min(100% - 44px,1280px); }
  .is-site-header { height:90px; }
  .is-brand img { width:220px; }
  .is-nav-list { gap:22px; }
  .is-nav-list a { font-size:14.5px; }
  .is-hero-grid { grid-template-columns:1fr; min-height:790px; }
  .is-hero-mark { display:none; }
  .is-section-heading-wide, .is-section-heading-split { grid-template-columns:1fr; gap:30px; }
  .is-tools-grid { grid-template-columns:1fr 1fr; }
  .is-tools-grid .is-tool-card:last-child { grid-column:1 / -1; }
  .is-values-layout { grid-template-columns:1fr; gap:62px; }
  .is-values-copy { position:static; }
  .is-ideas-layout { grid-template-columns:1fr; gap:50px; }
  .is-ideas-heading h2 { max-width:900px; }
  .is-footer-grid { grid-template-columns:1.35fr 1fr 1fr; }
  .is-footer-col:last-child { grid-column:1 / -1; }
}

@media (max-width: 780px) {
  body { font-size:1.02rem; }
  :root { --is-shell:calc(100vw - 28px); }
  .is-shell { width:var(--is-shell); }
  h1 { font-size:clamp(3.45rem,15vw,4.8rem); }
  h2 { font-size:clamp(2.7rem,11.5vw,3.9rem); }
  h3 { font-size:clamp(1.7rem,7vw,2.15rem); }
  .is-site-header { height:78px; }
  .is-site-header.is-scrolled { height:72px; }
  .is-brand img { width:205px; }
  .is-main-nav { padding:105px 28px 34px; gap:30px; }
  .is-nav-list a { font-size:36px; letter-spacing:-.01em; }
  .is-header-actions { margin-top:auto; justify-content:space-between; }
  .is-btn { min-height:54px; font-size:13.5px; }
  .is-hero { min-height:780px; }
  .is-hero-grid { padding-top:125px; padding-bottom:72px; }
  .is-hero-lead { font-size:1.12rem; }
  .is-hero-index { margin-top:38px; gap:12px 18px; }
  .is-hero-index > span { width:100%; }
  .is-section { padding:92px 0; }
  .is-section-heading { margin-bottom:48px; }
  .is-process-grid { grid-template-columns:1fr; }
  .is-process-card, .is-process-card + .is-process-card { min-height:auto; padding:32px 0; border-right:0; border-bottom:1px solid var(--is-border); }
  .is-number { margin-bottom:34px; }
  .is-process-card p { font-size:16.5px; }
  .is-tools-grid { grid-template-columns:1fr; }
  .is-tools-grid .is-tool-card:last-child { grid-column:auto; }
  .is-tool-card { min-height:320px; padding:30px; }
  .is-tools-cta { align-items:flex-start; flex-direction:column; }
  .is-values-grid { grid-template-columns:1fr; }
  .is-value-card { min-height:240px; }
  .is-value-card span { margin-bottom:52px; }
  .is-ideas-section { padding:92px 0; }
  .is-quote-stage { min-height:390px; padding:40px 30px 30px; }
  .is-famous-quotes { min-height:250px; }
  .is-famous-quote p { font-size:clamp(2rem,9vw,2.7rem); }
  .is-quote-mark { right:20px; top:0; font-size:110px; }
  .is-testimonial-grid { grid-template-columns:1fr; }
  .is-quote { min-height:300px; padding:32px; }
  .is-final-cta { padding:92px 0; }
  .is-final-inner { flex-direction:column; align-items:flex-start; gap:38px; }
  .is-footer-grid { grid-template-columns:1fr 1fr; }
  .is-footer-brand, .is-footer-col:last-child { grid-column:1 / -1; }
  .is-footer-brand img { width:240px; }
}

@media (max-width: 480px) {
  .is-brand img { width:185px; }
  .is-hero-actions { flex-direction:column; }
  .is-btn { width:100%; }
  .is-tools-section h2 br, .is-final-cta h2 br, .is-intro h2 br { display:none; }
  .is-footer-grid { grid-template-columns:1fr; }
  .is-footer-brand, .is-footer-col:last-child { grid-column:auto; }
  .is-famous-quote footer { flex-direction:column; gap:4px; }
}

/* =========================================================
   V3 — escala, ritmo, navegación, FAQ, contacto y equipo
   ========================================================= */

html { scroll-padding-top: 118px; }
[data-anchor-section] { scroll-margin-top: 118px; }

body {
  font-size: clamp(1.12rem, .18vw + 1.08rem, 1.25rem);
  line-height: 1.7;
}

:root {
  --is-shell: min(1500px, calc(100vw - 72px));
  --is-section-space: clamp(92px, 7vw, 118px);
}

.is-shell { width: var(--is-shell); }
.is-copy-lg { font-size: clamp(1.2rem, .34vw + 1.1rem, 1.42rem); line-height: 1.72; max-width: 62ch; }

h1 { font-size: clamp(5.4rem, 6.45vw, 7.55rem); line-height: .92; letter-spacing: -.055em; }
h2 { font-size: clamp(3.75rem, 4.7vw, 5.65rem); line-height: .98; letter-spacing: -.045em; }
h3 { font-size: clamp(2rem, 1.9vw, 2.55rem); line-height: 1.07; }
h4 { font-size: clamp(1.45rem, 1.4vw, 1.9rem); }

/* Header */
.is-site-header {
  height: 104px;
  background: rgba(0,26,36,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 34px rgba(0,0,0,.06);
}
.is-site-header::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(239,175,15,.18) 30%,rgba(239,175,15,.6) 50%,rgba(239,175,15,.18) 70%,transparent 100%);
  opacity:.7;
}
.is-site-header.is-scrolled { height: 88px; background: rgba(0,26,36,.97); }
.is-header-inner { gap: 34px; }
.is-brand { flex:0 0 auto; min-width:0; }
.is-brand picture { display:block; line-height:0; }
.is-brand img { width: clamp(285px, 18.5vw, 350px); height:auto; max-height:64px; object-fit:contain; object-position:left center; display:block; }
.is-main-nav { gap: 24px; }
.is-nav-list { gap: clamp(18px,1.45vw,28px); }
.is-nav-list a { font-size: clamp(15.5px,.3vw + 14.5px,17px); font-weight:650; letter-spacing:.018em; padding:10px 0; }
.is-nav-list a::after { bottom:2px; height:2px; }
.is-header-actions { gap: 14px; }
.is-cart-link { width:46px; height:46px; color:white; background:rgba(255,255,255,.025); }
.is-cart-link svg { width:21px; height:21px; }
.is-cart-count { min-width:21px; height:21px; font-size:11px; right:-5px; top:-7px; }
.is-btn-small { min-height:48px; padding-inline:24px; font-size:13px; }

/* Hero */
.is-hero { min-height: 810px; }
.is-hero-art { opacity:.38; background-position:center right; }
.is-hero-grid { min-height:810px; padding-top:150px; padding-bottom:86px; grid-template-columns:minmax(0,1.55fr) minmax(330px,.45fr); gap:88px; }
.is-hero-copy { max-width:980px; }
.is-hero h1 { max-width:950px; }
.is-hero-lead { max-width:790px; margin-top:34px; font-size:clamp(1.26rem,.48vw + 1.12rem,1.52rem); line-height:1.62; }
.is-eyebrow { margin-bottom:24px; font-size:13.5px; letter-spacing:.17em; }
.is-hero-actions { margin-top:38px; gap:16px; }
.is-btn { min-height:58px; padding:0 30px; font-size:14px; }
.is-hero-proof { display:flex; flex-wrap:wrap; gap:10px; margin-top:42px; }
.is-hero-proof span { padding:8px 13px; border:1px solid rgba(255,255,255,.17); border-radius:999px; color:rgba(255,255,255,.72); font-size:12.5px; font-weight:650; letter-spacing:.025em; background:rgba(255,255,255,.025); }
.is-hero-mark { width:min(390px,100%); min-height:445px; padding:36px; }
.is-hero-mark > img { width:88px; height:auto; margin-bottom:auto; }
.is-hero-manifesto > span { font-size:11.5px; }
.is-hero-mark p { font-size:clamp(1.65rem,1.8vw,2.18rem); }
.is-hero-microgrid span { font-size:11.5px; }

/* Vertical rhythm */
.is-section { padding: var(--is-section-space) 0; }
.is-section-heading { max-width:1040px; margin-bottom:52px; }
.is-section-heading > p { margin-top:24px; }
.is-section-heading-split { grid-template-columns:minmax(0,1.42fr) minmax(360px,.58fr); gap:86px; align-items:center; }
.is-section-heading-wide { grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr); gap:90px; align-items:center; }
.is-section-heading-wide > p { margin:0; }

.is-process-grid { margin-top:16px; }
.is-process-card { min-height:270px; padding:30px 38px 28px 0; }
.is-process-card + .is-process-card { padding-left:38px; }
.is-number { margin-bottom:52px; font-size:13px; }
.is-process-card h3 { margin-bottom:14px; }
.is-process-card p { max-width:390px; font-size:17px; line-height:1.68; }

/* Tutor showcase */
.is-courses-section { background:#f6f7f4; }
.is-tutor-showcase { margin-top:6px; }
.is-center-action { margin-top:30px; }
.is-text-link { font-size:15px; }
.is-tutor-showcase .tutor-course-name,
.is-tutor-showcase .tutor-course-card h3,
.is-tutor-showcase .tutor-course-card h4,
.is-tutor-showcase .tutor-course-loop h3,
.is-tutor-showcase .tutor-course-loop-title h2,
.is-tutor-showcase .tutor-course-loop-title h3 {
  font-size: clamp(1.4rem,1.15vw,1.72rem) !important;
  line-height:1.25 !important;
}
.is-tutor-showcase .tutor-meta,
.is-tutor-showcase .tutor-meta span,
.is-tutor-showcase .tutor-course-card p,
.is-tutor-showcase .tutor-course-loop p,
.is-tutor-showcase .tutor-ratings,
.is-tutor-showcase .tutor-fs-7,
.is-tutor-showcase .tutor-fs-6 { font-size:14.5px !important; }
.is-tutor-showcase .tutor-course-card .tutor-card-body { padding:22px !important; }

/* Small quote separators */
.is-quote-strip { position:relative; overflow:hidden; padding:28px 0; border-top:1px solid rgba(19,33,41,.08); border-bottom:1px solid rgba(19,33,41,.08); }
.is-quote-strip-inner { min-height:92px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; }
.is-quote-strip p { margin:0; font-family:var(--is-display); font-size:clamp(1.55rem,1.75vw,2.12rem); line-height:1.25; }
.is-quote-strip cite { font-style:normal; font-size:13px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.is-quote-symbol { font-family:var(--is-display); font-size:62px; line-height:.8; color:var(--is-gold); opacity:.8; }
.is-quote-strip-dark { color:white; background:#0a2029; border-color:rgba(255,255,255,.08); }
.is-quote-strip-dark cite { color:rgba(255,255,255,.58); }
.is-quote-strip-paper { background:#fff; color:var(--is-navy); }
.is-quote-strip-paper cite { color:var(--is-muted); }
.is-quote-strip-gold { background:var(--is-gold); color:var(--is-deep); border-color:rgba(0,26,36,.12); }
.is-quote-strip-gold .is-quote-symbol { color:var(--is-deep); opacity:.35; }
.is-quote-strip-gold cite { color:rgba(0,26,36,.7); }

/* Tools */
.is-tools-section { padding-top:104px; padding-bottom:96px; }
.is-tools-grid { gap:18px; }
.is-tool-card { min-height:320px; padding:32px; }
.is-tool-card p { font-size:17px; line-height:1.62; }
.is-tool-code { width:56px; height:56px; font-size:13px; }
.is-tools-cta { margin-top:28px; padding-top:26px; font-size:16px; }

/* About teaser */
.is-about-teaser { background:#fff; }
.is-about-teaser-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr); gap:110px; align-items:center; }
.is-about-teaser-side { display:flex; flex-direction:column; align-items:flex-start; gap:26px; }
.is-about-teaser-side .is-copy-lg { color:var(--is-muted); }
.is-team-mini { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.is-team-mini > span { min-height:110px; display:flex; align-items:center; gap:16px; padding:20px; border:1px solid var(--is-border); border-radius:18px; background:var(--is-paper); }
.is-team-mini b { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--is-deep); color:white; font-family:var(--is-display); font-size:19px; }
.is-team-mini small { font-size:14px; line-height:1.45; color:var(--is-muted); }
.is-btn-ink { background:var(--is-deep); color:white; }
.is-btn-ink:hover { background:var(--is-steel); }

/* Testimonials */
.is-testimonial-grid { gap:20px; }
.is-quote { min-height:300px; padding:38px; }
.is-quote p { font-size:clamp(1.5rem,1.65vw,1.95rem); }
.is-quote footer { font-size:14px; }

/* FAQ */
.is-faq-section { background:#fff; }
.is-faq-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); gap:100px; align-items:start; }
.is-faq-heading { position:sticky; top:132px; }
.is-faq-heading > p { margin-top:26px; color:var(--is-muted); }
.is-faq-list { border-top:1px solid var(--is-border); }
.is-faq-list details { border-bottom:1px solid var(--is-border); padding:0; }
.is-faq-list summary { list-style:none; cursor:pointer; position:relative; padding:26px 54px 26px 0; font-family:var(--is-display); font-size:clamp(1.45rem,1.25vw,1.78rem); font-weight:700; line-height:1.25; }
.is-faq-list summary::-webkit-details-marker { display:none; }
.is-faq-list summary::after { content:"+"; position:absolute; right:4px; top:22px; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--is-border); border-radius:50%; font-family:var(--is-ui); font-size:22px; font-weight:400; color:var(--is-steel); transition:transform .2s ease,background .2s ease; }
.is-faq-list details[open] summary::after { content:"−"; background:var(--is-deep); color:white; border-color:var(--is-deep); }
.is-faq-list details p { max-width:72ch; padding:0 54px 28px 0; color:var(--is-muted); font-size:17px; line-height:1.7; }

/* Contact */
.is-contact-section { position:relative; overflow:hidden; padding:112px 0; color:white; background:linear-gradient(135deg,#001a24 0%,#102b36 58%,#183a47 100%); }
.is-contact-art { position:absolute; inset:0; opacity:.1; background-image:url('../images/brand-scene.png'); background-size:cover; background-position:center; mix-blend-mode:screen; }
.is-contact-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.78fr) minmax(540px,1.22fr); gap:100px; align-items:start; }
.is-contact-copy h2 { max-width:740px; }
.is-contact-copy > p { margin-top:28px; color:rgba(255,255,255,.72); }
.is-contact-direct { margin-top:48px; display:flex; flex-direction:column; gap:5px; }
.is-contact-direct span { color:var(--is-gold); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.is-contact-direct a { font-family:var(--is-display); font-size:clamp(1.35rem,1.4vw,1.75rem); }
.is-contact-card { padding:38px; border:1px solid rgba(255,255,255,.14); border-radius:24px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); box-shadow:0 30px 80px rgba(0,0,0,.12); }
.is-contact-form { display:flex; flex-direction:column; gap:20px; }
.is-form-row { display:grid; gap:16px; }
.is-form-row-2 { grid-template-columns:1fr 1fr; }
.is-contact-form label { display:flex; flex-direction:column; gap:8px; color:rgba(255,255,255,.88); font-size:14px; font-weight:650; }
.is-contact-form input:not([type="checkbox"]), .is-contact-form select, .is-contact-form textarea { width:100%; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(0,26,36,.5); color:white; min-height:54px; padding:12px 14px; outline:none; }
.is-contact-form textarea { min-height:150px; resize:vertical; }
.is-contact-form select option { color:#111; background:#fff; }
.is-contact-form input:focus, .is-contact-form select:focus, .is-contact-form textarea:focus { border-color:var(--is-gold); box-shadow:0 0 0 3px rgba(239,175,15,.13); }
.is-consent { flex-direction:row !important; align-items:flex-start; gap:10px !important; font-weight:400 !important; color:rgba(255,255,255,.65) !important; }
.is-consent input { margin-top:4px; }
.is-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.is-form-notice { margin-bottom:20px; padding:14px 16px; border-radius:12px; font-size:14px; }
.is-form-success { color:#d9f7df; background:rgba(45,139,72,.22); border:1px solid rgba(110,224,142,.28); }
.is-form-error { color:#ffe1e1; background:rgba(174,56,56,.18); border:1px solid rgba(255,130,130,.26); }

/* Footer */
.is-site-footer { padding:72px 0 28px; background:#07161c; }
.is-footer-top { display:grid; grid-template-columns:minmax(320px,.95fr) minmax(620px,1.05fr); gap:110px; align-items:start; }
.is-footer-brand { display:block; }
.is-footer-brand img { width:min(360px,100%); height:auto; max-height:none; margin-bottom:24px; object-fit:contain; object-position:left center; }
.is-footer-brand p { max-width:480px; margin:0 0 16px; font-size:16px; line-height:1.65; color:rgba(255,255,255,.58); }
.is-footer-mail { color:white; font-size:15px; font-weight:650; }
.is-footer-mail:hover { color:var(--is-gold); }
.is-footer-nav-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.is-footer-col { gap:11px; font-size:15px; }
.is-footer-label { margin-bottom:12px; font-size:12px; color:var(--is-gold); }
.is-footer-quote { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:58px; padding-top:26px; padding-bottom:26px; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.is-footer-quote > span { font-family:var(--is-display); font-size:clamp(1.35rem,1.5vw,1.7rem); }
.is-footer-quote a { color:var(--is-gold); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.is-footer-bottom { margin-top:26px; padding-top:0; border-top:0; font-size:12px; }
.is-footer-legal { display:flex; align-items:center; gap:18px; }
.is-footer-legal a:hover { color:var(--is-gold); }

/* About page */
.is-about-page { background:var(--is-paper); }
.is-about-hero { position:relative; overflow:hidden; min-height:620px; display:flex; align-items:center; padding:165px 0 88px; color:white; background:linear-gradient(130deg,#001a24 0%,#112934 70%,#173944 100%); }
.is-about-hero-art { position:absolute; inset:0; opacity:.16; background:url('../images/brand-scene.png') center/cover no-repeat; }
.is-about-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr); gap:90px; align-items:end; }
.is-about-hero-copy p { margin:0 0 28px; color:rgba(255,255,255,.73); font-size:clamp(1.2rem,.4vw + 1.08rem,1.42rem); line-height:1.72; }
.is-team-section { background:#fff; }
.is-team-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.is-team-card { min-height:600px; display:grid; grid-template-columns:150px 1fr; gap:34px; padding:42px; border:1px solid var(--is-border); border-radius:26px; background:var(--is-paper); }
.is-team-card-dark { color:white; background:var(--is-deep); border-color:transparent; }
.is-team-monogram { width:120px; height:120px; display:grid; place-items:center; border-radius:50%; background:var(--is-gold); color:var(--is-deep); font-family:var(--is-display); font-size:40px; font-weight:700; }
.is-team-card-body { align-self:end; }
.is-team-role { display:block; margin-bottom:16px; color:var(--is-gold-deep); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.is-team-card-dark .is-team-role { color:var(--is-gold); }
.is-team-card h2 { font-size:clamp(2.55rem,2.7vw,3.65rem); margin-bottom:12px; }
.is-team-degree { font-weight:700; font-size:17px; }
.is-team-card-body > p:not(.is-team-degree) { margin-top:24px; color:var(--is-muted); font-size:17px; line-height:1.7; }
.is-team-card-dark .is-team-card-body > p:not(.is-team-degree) { color:rgba(255,255,255,.65); }
.is-team-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.is-team-tags span { padding:7px 10px; border-radius:999px; border:1px solid var(--is-border); font-size:12px; }
.is-team-card-dark .is-team-tags span { border-color:rgba(255,255,255,.16); color:rgba(255,255,255,.72); }
.is-about-values { background:var(--is-paper); }
.is-about-values-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.is-about-values-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--is-border); border-left:1px solid var(--is-border); }
.is-about-values-list article { min-height:250px; padding:30px; border-right:1px solid var(--is-border); border-bottom:1px solid var(--is-border); background:white; }
.is-about-values-list span { color:var(--is-gold-deep); font-size:12px; font-weight:800; }
.is-about-values-list h3 { margin-top:48px; margin-bottom:10px; }
.is-about-values-list p { color:var(--is-muted); font-size:16px; }
.is-about-cta { padding:96px 0; color:white; background:var(--is-deep); }
.is-about-cta-inner { display:flex; align-items:end; justify-content:space-between; gap:70px; }
.is-about-cta-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

/* Blog V3 */
.is-blog-hero { padding:175px 0 96px; color:white; background:linear-gradient(135deg,#001a24,#173945); }
.is-blog-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:end; }
.is-blog-hero-grid > p { color:rgba(255,255,255,.7); }
.is-blog-list-section { background:var(--is-paper); }
.is-post-grid-v3 { gap:24px; }
.is-post-grid-v3 .is-post-card { border-radius:22px; box-shadow:0 18px 55px rgba(0,26,36,.05); }
.is-post-grid-v3 .is-post-body { padding:28px; }
.is-post-grid-v3 .is-post-card h2 { font-size:clamp(1.55rem,1.55vw,2rem); line-height:1.2; }
.is-post-grid-v3 .is-post-card p { font-size:16px; line-height:1.65; }
.is-pagination { display:flex; justify-content:center; gap:8px; margin-top:50px; }
.is-pagination .page-numbers { min-width:42px; height:42px; display:grid; place-items:center; border-radius:999px; border:1px solid var(--is-border); }
.is-pagination .current { background:var(--is-deep); color:white; border-color:var(--is-deep); }

/* Keep commerce and content comfortably large */
.is-content-main { padding-top:150px; }
.woocommerce, .tutor-wrap, .tutor-dashboard { font-size:16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:21px !important; line-height:1.3; }
.woocommerce ul.products li.product .price { font-size:17px !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select { min-height:54px; font-size:16px; }

@media (max-width: 1260px) {
  :root { --is-shell:min(100% - 48px,1380px); }
  .is-brand img { width:260px; }
  .is-nav-list { gap:18px; }
  .is-nav-list a { font-size:15px; }
  .is-main-nav { gap:18px; }
  .is-btn-small { padding-inline:20px; }
}

@media (max-width: 1080px) {
  .is-site-header { height:86px; }
  .is-site-header.is-scrolled { height:78px; }
  .is-brand img { width:230px; }
  .is-menu-toggle { display:block; z-index:1002; color:white; }
  .is-main-nav { position:fixed; inset:0; z-index:1001; padding:118px 36px 40px; display:flex; flex-direction:column; align-items:stretch; gap:28px; background:rgba(0,26,36,.985); transform:translateX(100%); transition:transform .3s ease; }
  .is-main-nav.is-open { transform:none; }
  .is-nav-list { flex-direction:column; align-items:flex-start; gap:12px; }
  .is-nav-list a { font-family:var(--is-display); font-size:clamp(2.2rem,7vw,3.5rem); font-weight:400; letter-spacing:-.02em; }
  .is-header-actions { margin-top:auto; justify-content:flex-start; }
  .is-header-actions .is-btn { width:auto; }
  .is-hero-grid { grid-template-columns:1fr; min-height:auto; }
  .is-hero-mark { display:none; }
  .is-section-heading-split, .is-section-heading-wide { grid-template-columns:1fr; gap:26px; align-items:start; }
  .is-about-teaser-grid, .is-faq-layout, .is-contact-layout, .is-about-hero-grid, .is-about-values-grid, .is-blog-hero-grid { grid-template-columns:1fr; gap:48px; }
  .is-faq-heading { position:static; }
  .is-team-grid { grid-template-columns:1fr; }
  .is-footer-top { grid-template-columns:1fr; gap:48px; }
}

@media (max-width: 780px) {
  :root { --is-shell:calc(100vw - 32px); --is-section-space:72px; }
  body { font-size:16.5px; }
  h1 { font-size:clamp(3.55rem,16vw,5.15rem); }
  h2 { font-size:clamp(2.75rem,12vw,4rem); }
  h3 { font-size:clamp(1.75rem,7vw,2.2rem); }
  .is-site-header, .is-site-header.is-scrolled { height:74px; }
  .is-header-inner { gap:14px; }
  .is-brand img { width:auto; height:48px; max-height:48px; }
  .is-menu-toggle span:not(.screen-reader-text) { width:28px; }
  .is-main-nav { padding:102px 24px 28px; }
  .is-header-actions { gap:12px; flex-wrap:wrap; }
  .is-cart-link { width:44px; height:44px; }
  .is-hero { min-height:720px; }
  .is-hero-grid { padding-top:112px; padding-bottom:62px; }
  .is-hero-lead { font-size:18px; }
  .is-hero-actions { flex-direction:column; align-items:stretch; }
  .is-hero-actions .is-btn { width:100%; }
  .is-hero-proof { margin-top:28px; }
  .is-hero-proof span { font-size:11px; }
  .is-section-heading { margin-bottom:38px; }
  .is-process-card, .is-process-card + .is-process-card { padding:25px 0; min-height:auto; border-right:0; border-bottom:1px solid var(--is-border); }
  .is-number { margin-bottom:30px; }
  .is-process-card p { font-size:16px; }
  .is-quote-strip { padding:22px 0; }
  .is-quote-strip-inner { min-height:82px; grid-template-columns:auto 1fr; gap:14px 18px; }
  .is-quote-strip cite { grid-column:2; font-size:11px; margin-top:-8px; }
  .is-quote-strip p { font-size:1.4rem; }
  .is-quote-symbol { font-size:48px; }
  .is-tools-section { padding-top:72px; padding-bottom:68px; }
  .is-tools-grid { grid-template-columns:1fr; }
  .is-tool-card { min-height:260px; }
  .is-about-teaser-grid { gap:38px; }
  .is-team-mini { grid-template-columns:1fr; }
  .is-testimonial-grid { grid-template-columns:1fr; }
  .is-quote { min-height:250px; padding:28px; }
  .is-faq-list summary { padding:22px 46px 22px 0; font-size:1.35rem; }
  .is-faq-list details p { padding:0 0 22px; font-size:16px; }
  .is-contact-section { padding:72px 0; }
  .is-contact-card { padding:24px; }
  .is-form-row-2 { grid-template-columns:1fr; }
  .is-footer-nav-grid { grid-template-columns:1fr 1fr; gap:34px; }
  .is-footer-brand img { width:min(300px,88%); }
  .is-footer-quote, .is-footer-bottom, .is-about-cta-inner { flex-direction:column; align-items:flex-start; }
  .is-footer-legal { flex-wrap:wrap; }
  .is-about-hero { min-height:auto; padding:128px 0 70px; }
  .is-team-card { grid-template-columns:1fr; min-height:auto; padding:28px; }
  .is-team-monogram { width:88px; height:88px; font-size:30px; }
  .is-about-values-list { grid-template-columns:1fr; }
  .is-about-cta { padding:72px 0; }
  .is-blog-hero { padding:128px 0 72px; }
  .is-post-grid-v3 { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  :root { --is-shell:calc(100vw - 24px); }
  .is-brand img { height:42px; max-height:42px; }
  .is-footer-nav-grid { grid-template-columns:1fr; }
  .is-footer-quote > span { font-size:1.3rem; }
}

/* =========================================================
   V3.3 FINAL — escala, ritmo editorial, logos, footer y contacto
   ========================================================= */
:root {
  --is-shell: min(1420px, calc(100vw - 72px));
  --is-section-space: clamp(88px, 6.2vw, 112px);
  --is-anchor-offset: 110px;
}
html { scroll-padding-top: var(--is-anchor-offset); }
[data-anchor-section], #preguntas, #contacto { scroll-margin-top: var(--is-anchor-offset); }
body { font-size: clamp(1.16rem, .18vw + 1.1rem, 1.3rem); line-height:1.72; }
.is-copy-lg { font-size:clamp(1.25rem,.32vw + 1.14rem,1.48rem); line-height:1.72; }
h1 { font-size:clamp(5.65rem,6.55vw,7.8rem); }
h2 { font-size:clamp(3.85rem,4.75vw,5.8rem); }
h3 { font-size:clamp(2rem,1.95vw,2.6rem); }
.is-eyebrow { font-size:13.5px; }

/* Header: usa el logo aportado; sin repetir el nombre en HTML. */
.is-site-header { height:104px; }
.is-site-header.is-scrolled { height:86px; }
.is-brand { width:86px; height:94px; display:flex; align-items:center; justify-content:flex-start; overflow:visible; }
.is-brand picture { display:flex; align-items:center; height:100%; }
.is-brand img { width:auto !important; height:82px !important; max-height:82px !important; object-fit:contain; object-position:left center; }
.is-site-header.is-scrolled .is-brand img { height:66px !important; max-height:66px !important; transition:height .22s ease,max-height .22s ease; }
.is-header-inner { gap:38px; }
.is-main-nav { gap:24px; }
.is-nav-list { gap:clamp(18px,1.25vw,26px); }
.is-nav-list a { min-height:44px; display:flex; align-items:center; font-size:clamp(16px,.2vw + 15px,17.5px); font-weight:700; letter-spacing:.01em; }
.is-cart-link { width:48px; height:48px; }
.is-btn-small { min-height:50px; padding-inline:25px; font-size:13.5px; }

/* Ritmo: menos zonas vacías, bloques más intencionales. */
.is-section { padding:var(--is-section-space) 0; }
.is-section-heading { margin-bottom:48px; }
.is-section-heading-split { gap:72px; }
.is-section-heading-wide { gap:76px; }
.is-process-grid { margin-top:4px; }
.is-process-card { min-height:250px; padding-top:26px; padding-bottom:24px; }
.is-process-card p { font-size:18px; }
.is-tools-section { padding-top:96px; padding-bottom:92px; }
.is-tool-card { min-height:305px; }
.is-tool-card p { font-size:18px; }
.is-tools-cta { font-size:17px; }
.is-about-teaser-grid { gap:82px; }

/* Frases: pequeñas cápsulas editoriales entre contenidos, no una sección protagonista. */
.is-quote-strip { padding:18px 0; border:0; background:transparent !important; }
.is-quote-strip-inner { min-height:86px; padding:18px 28px; border-radius:18px; grid-template-columns:auto minmax(0,1fr) auto; gap:20px; box-shadow:0 12px 38px rgba(0,26,36,.06); }
.is-quote-strip p { font-size:clamp(1.48rem,1.35vw,1.9rem); line-height:1.28; }
.is-quote-strip cite { font-size:12px; }
.is-quote-strip-dark { background:#fff !important; }
.is-quote-strip-dark .is-quote-strip-inner { color:white; background:#0a2029; }
.is-quote-strip-paper { background:#f6f7f4 !important; }
.is-quote-strip-paper .is-quote-strip-inner { color:var(--is-deep); background:#fff; border:1px solid var(--is-border); }
.is-quote-strip-gold { background:#fff !important; }
.is-quote-strip-gold .is-quote-strip-inner { color:var(--is-deep); background:var(--is-gold); }

/* Tutor: mayor legibilidad en los cards del Home. */
.is-tutor-showcase .tutor-course-name,
.is-tutor-showcase .tutor-course-card h3,
.is-tutor-showcase .tutor-course-card h4,
.is-tutor-showcase .tutor-course-loop h3,
.is-tutor-showcase .tutor-course-loop-title h2,
.is-tutor-showcase .tutor-course-loop-title h3 {
  font-size:clamp(1.52rem,1.3vw,1.9rem) !important;
  line-height:1.24 !important;
}
.is-tutor-showcase .tutor-meta,
.is-tutor-showcase .tutor-meta span,
.is-tutor-showcase .tutor-course-card p,
.is-tutor-showcase .tutor-course-loop p,
.is-tutor-showcase .tutor-ratings,
.is-tutor-showcase .tutor-fs-7,
.is-tutor-showcase .tutor-fs-6 { font-size:15.5px !important; }
.is-tutor-showcase .tutor-course-card .tutor-card-body { padding:24px !important; }

/* Testimonios: sin fotos; lectura editorial en tres cards. */
.is-testimonial-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.is-quote { min-height:340px; padding:34px; display:flex; flex-direction:column; }
.is-stars { margin-bottom:24px; color:var(--is-gold-deep); letter-spacing:.12em; font-size:17px; }
.is-quote p { font-size:clamp(1.35rem,1.25vw,1.72rem); line-height:1.48; }
.is-quote footer { margin-top:auto; padding-top:30px; font-size:15px; }
.is-quote footer strong { font-size:16px; }

/* FAQ */
.is-faq-layout { gap:82px; }
.is-faq-list summary { min-height:70px; font-size:clamp(1.52rem,1.35vw,1.9rem); padding:27px 58px 27px 0; }
.is-faq-list details p { font-size:18px; line-height:1.72; }

/* Contacto */
.is-contact-section { padding:102px 0; }
.is-contact-layout { gap:82px; }
.is-contact-copy > p { font-size:clamp(1.18rem,.28vw + 1.08rem,1.38rem); line-height:1.72; }
.is-contact-direct-grid { margin-top:42px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.is-contact-direct-card { min-height:126px; display:flex; flex-direction:column; justify-content:center; gap:4px; padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.045); transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.is-contact-direct-card:hover { transform:translateY(-2px); background:rgba(255,255,255,.08); border-color:rgba(239,175,15,.45); }
.is-contact-direct-card span { color:var(--is-gold); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.is-contact-direct-card strong { font-family:var(--is-display); font-size:clamp(1.14rem,1vw,1.38rem); line-height:1.25; overflow-wrap:anywhere; }
.is-contact-direct-card small { color:rgba(255,255,255,.58); font-size:12.5px; }
.is-contact-whatsapp { border-color:rgba(239,175,15,.22); }
.is-contact-card { padding:36px; }
.is-contact-form label { font-size:15px; }
.is-contact-form input:not([type="checkbox"]), .is-contact-form select, .is-contact-form textarea { min-height:58px; font-size:16.5px; }
.is-contact-form textarea { min-height:164px; }

/* Footer: más contenido, más jerarquía y accesos directos. */
.is-site-footer { padding:76px 0 30px; }
.is-footer-top { grid-template-columns:minmax(280px,.72fr) minmax(680px,1.28fr); gap:86px; }
.is-footer-brand img { width:auto; height:132px; max-height:132px; margin-bottom:22px; }
.is-footer-brand p { max-width:440px; font-size:17px; }
.is-footer-contact-stack { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.is-footer-contact-stack a { color:white; font-size:15px; font-weight:650; }
.is-footer-contact-stack a:hover { color:var(--is-gold); }
.is-footer-nav-grid { gap:46px; }
.is-footer-col { gap:12px; font-size:16px; }
.is-footer-label { font-size:12.5px; }
.is-footer-social-row { display:flex; align-items:center; justify-content:space-between; gap:42px; margin-top:48px; padding:26px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.is-footer-social-row p { margin:4px 0 0; color:rgba(255,255,255,.54); font-size:14px; }
.is-social-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.is-social-link { min-height:46px; padding:0 15px 0 8px; display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:white; font-size:13px; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.is-social-link:hover { transform:translateY(-2px); background:rgba(255,255,255,.06); border-color:rgba(239,175,15,.45); }
.is-social-link span { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:var(--is-gold); font-size:10px; font-weight:850; letter-spacing:.04em; }
.is-social-link b { font-weight:700; }
.is-social-whatsapp span { background:#1f8f5f; color:white; }
.is-footer-quote { margin-top:24px; }
.is-footer-bottom { font-size:13px; }

/* Botón WhatsApp flotante */
.is-whatsapp-float { position:fixed; z-index:990; right:24px; bottom:24px; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; color:white; background:#1f9d67; box-shadow:0 14px 34px rgba(0,0,0,.22); transition:transform .2s ease,box-shadow .2s ease; }
.is-whatsapp-float:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 18px 40px rgba(0,0,0,.26); }
.is-whatsapp-float svg { width:31px; height:31px; }

/* Sobre nosotros */
.is-about-hero { padding-top:170px; }
.is-team-card-body > p:not(.is-team-degree), .is-about-values-list p { font-size:18px; }

@media (max-width:1260px) {
  :root { --is-shell:min(100% - 48px,1320px); --is-anchor-offset:100px; }
  .is-brand { width:76px; }
  .is-brand img { height:72px !important; max-height:72px !important; }
  .is-site-header.is-scrolled .is-brand img { height:60px !important; max-height:60px !important; }
  .is-nav-list { gap:15px; }
  .is-nav-list a { font-size:15.5px; }
  .is-main-nav { gap:15px; }
  .is-btn-small { padding-inline:20px; }
}

@media (max-width:1080px) {
  :root { --is-anchor-offset:90px; }
  .is-site-header, .is-site-header.is-scrolled { height:82px; }
  .is-brand { width:58px; height:72px; }
  .is-brand img { height:58px !important; max-height:58px !important; }
  .is-menu-toggle { min-width:48px; min-height:48px; display:grid; align-content:center; justify-content:center; }
  .is-main-nav { padding-top:112px; }
  .is-nav-list a { min-height:52px; font-size:clamp(2.15rem,6vw,3.25rem); }
  .is-testimonial-grid { grid-template-columns:1fr; }
  .is-footer-top { grid-template-columns:1fr; gap:46px; }
  .is-footer-brand img { height:116px; max-height:116px; }
  .is-footer-social-row { align-items:flex-start; flex-direction:column; }
  .is-social-links { justify-content:flex-start; }
}

@media (max-width:780px) {
  :root { --is-shell:calc(100vw - 32px); --is-section-space:72px; --is-anchor-offset:80px; }
  body { font-size:17px; }
  h1 { font-size:clamp(3.6rem,16vw,5.3rem); }
  h2 { font-size:clamp(2.85rem,12vw,4.2rem); }
  h3 { font-size:clamp(1.8rem,7vw,2.3rem); }
  .is-site-header, .is-site-header.is-scrolled { height:72px; }
  .is-brand { width:52px; height:64px; }
  .is-brand img { width:auto !important; height:46px !important; max-height:46px !important; }
  .is-header-inner { gap:12px; }
  .is-main-nav { padding:96px 24px 28px; }
  .is-hero { min-height:700px; }
  .is-hero-grid { min-height:700px; padding-top:108px; padding-bottom:58px; }
  .is-hero-lead { font-size:19px; }
  .is-section-heading { margin-bottom:34px; }
  .is-section-heading-split, .is-section-heading-wide { gap:22px; }
  .is-process-card, .is-process-card + .is-process-card { min-height:auto; padding:24px 0; }
  .is-quote-strip { padding:12px 0; }
  .is-quote-strip-inner { min-height:78px; padding:16px 18px; grid-template-columns:auto 1fr; gap:12px 15px; border-radius:14px; }
  .is-quote-strip p { font-size:1.34rem; }
  .is-quote-strip cite { grid-column:2; font-size:10.5px; margin-top:-7px; }
  .is-contact-direct-grid { grid-template-columns:1fr; }
  .is-contact-card { padding:24px; }
  .is-footer-nav-grid { grid-template-columns:1fr 1fr; gap:34px; }
  .is-footer-brand img { height:104px; max-height:104px; }
  .is-footer-social-row { margin-top:36px; }
  .is-whatsapp-float { width:54px; height:54px; right:16px; bottom:16px; }
}

@media (max-width:480px) {
  :root { --is-shell:calc(100vw - 24px); }
  .is-footer-nav-grid { grid-template-columns:1fr; }
  .is-footer-brand img { height:96px; max-height:96px; }
  .is-social-link { min-height:44px; }
}

/* V3.4 — logo horizontal desktop + isotipo móvil */
@media (min-width:1081px) {
  .is-brand { width:clamp(255px,17vw,330px); height:74px; flex:0 0 auto; overflow:visible; }
  .is-brand picture { width:100%; height:auto; display:block; }
  .is-brand img { width:100% !important; height:auto !important; max-height:58px !important; object-fit:contain; object-position:left center; }
  .is-site-header.is-scrolled .is-brand img { width:100% !important; height:auto !important; max-height:50px !important; }
  .is-header-inner { min-height:100%; }
}

@media (max-width:1080px) {
  .is-brand { width:52px; height:64px; flex:0 0 52px; }
  .is-brand picture { width:100%; height:100%; display:flex; align-items:center; }
  .is-brand img,
  .is-site-header.is-scrolled .is-brand img { width:auto !important; height:46px !important; max-height:46px !important; object-fit:contain; }
}

.is-footer-brand img { width:min(360px,100%) !important; height:auto !important; max-height:none !important; object-fit:contain; object-position:left center; }

/* Evita que el título y el header se sientan comprimidos en pantallas intermedias. */
@media (min-width:1081px) and (max-width:1320px) {
  .is-brand { width:235px; }
  .is-nav-list { gap:14px; }
  .is-nav-list a { font-size:15px; }
  .is-btn-small { padding-inline:18px; }
}

/* =========================================================
   V4 — Block Theme / Site Editor / compact rhythm / full bleed
   ========================================================= */
:root {
  --is-shell: min(1360px, calc(100vw - 64px));
  --is-section-space: clamp(72px, 5vw, 92px);
  --is-anchor-offset: 112px;
  --is-header-block-height: 96px;
}

/* Block theme wrapper */
.wp-site-blocks { padding:0 !important; }
.wp-site-blocks > * { margin-block-start:0; }

/* Modern sticky header: editable from Appearance > Editor */
.is-site-header-block {
  position:sticky;
  top:0;
  z-index:10000;
  width:100%;
  min-height:var(--is-header-block-height);
  margin:0 !important;
  color:#fff;
  background:rgba(0,26,36,.97);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
.admin-bar .is-site-header-block { top:32px; }
.is-header-block-inner {
  width:min(1440px,calc(100vw - 56px)) !important;
  min-height:var(--is-header-block-height);
  margin-inline:auto !important;
  padding:0 !important;
  gap:28px !important;
}

/* Brand: user-provided mark only, large and flush left */
.is-fse-brand {
  flex:0 0 118px;
  width:118px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.is-fse-brand-image {
  display:block;
  width:104px;
  height:78px;
  background:url('../images/logo-menu-desktop.png') left center / contain no-repeat;
}

/* Native WordPress Navigation = robust responsive behavior + editable menu */
.is-fse-navigation { margin-left:auto; }
.is-fse-navigation .wp-block-navigation-item__content {
  color:rgba(255,255,255,.9) !important;
  font-family:var(--is-ui);
  font-size:16px;
  font-weight:700;
  letter-spacing:.012em;
  padding:10px 0;
}
.is-fse-navigation .wp-block-navigation-item__content:hover,
.is-fse-navigation .wp-block-navigation-item__content.is-current-section { color:#fff !important; }
.is-fse-navigation .wp-block-navigation-item__content::after {
  content:"";
  display:block;
  height:2px;
  margin-top:5px;
  background:var(--is-gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .2s ease;
}
.is-fse-navigation .wp-block-navigation-item__content:hover::after,
.is-fse-navigation .wp-block-navigation-item__content.is-current-section::after {
  transform:scaleX(1);
  transform-origin:left;
}
.is-fse-header-actions { gap:12px !important; flex:0 0 auto; }
.is-school-button .wp-block-button__link {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:0 24px;
  border-radius:999px;
  background:var(--is-gold);
  color:var(--is-deep);
  font-size:13px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.is-fse-header-actions .wc-block-mini-cart__button {
  min-width:46px;
  min-height:46px;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px;
}
.is-fse-header-actions .wc-block-mini-cart__badge { background:var(--is-gold); color:var(--is-deep); }

/* Hero: less dead space, more content density */
.is-hero { min-height:710px; }
.is-hero-grid {
  min-height:710px;
  padding-top:72px;
  padding-bottom:72px;
  gap:72px;
}
.is-hero h1 { font-size:clamp(4.2rem,6.6vw,7rem); }
.is-hero-lead { margin-top:26px; }
.is-hero-actions { margin-top:30px; }
.is-hero-proof { margin-top:34px; }

/* Compact but premium vertical rhythm */
.is-section { padding:var(--is-section-space) 0; }
.is-section-heading { margin-bottom:42px; }
.is-section-heading > p { margin-top:22px; }
.is-section-heading-split,
.is-section-heading-wide { gap:58px; }
.is-process-card { min-height:230px; padding-top:26px; padding-bottom:26px; }
.is-number { margin-bottom:36px; }
.is-tools-section { padding-top:84px; padding-bottom:84px; }
.is-tools-cta { margin-top:30px; padding-top:22px; }
.is-about-teaser-grid { gap:62px; }
.is-about-teaser-side .is-copy-lg { margin-bottom:24px; }
.is-testimonial-grid { gap:16px; }
.is-quote { min-height:300px; }
.is-faq-layout { gap:64px; }
.is-contact-section { padding:84px 0; }
.is-contact-layout { gap:64px; }

/* Quote divisions are now true edge-to-edge bands. */
.is-quote-strip {
  width:100%;
  margin:0 !important;
  padding:0 !important;
  border:0;
  border-radius:0;
}
.is-quote-strip .is-shell,
.is-quote-strip-inner {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.is-quote-strip-inner {
  min-height:74px;
  padding:16px max(28px, calc((100vw - 1360px)/2)) !important;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.is-quote-strip-dark { background:#0a2029 !important; color:#fff; }
.is-quote-strip-paper { background:#eef1ee !important; color:var(--is-deep); }
.is-quote-strip-gold { background:var(--is-gold) !important; color:var(--is-deep); }
.is-quote-strip p { margin:0; font-size:clamp(1.35rem,1.35vw,1.82rem); }
.is-quote-strip cite { margin:0; white-space:nowrap; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.is-quote-symbol { line-height:1; font-size:46px; opacity:.35; }

/* Stronger about section: no small-team framing */
.is-about-teaser-copy h2 { max-width:760px; }
.is-team-mini span { min-height:92px; }
.is-team-mini small { font-size:14px; line-height:1.4; }

/* Footer: more architectural, more useful, less empty */
.is-site-footer { padding:62px 0 24px; }
.is-footer-top { gap:70px; }
.is-footer-brand img { width:min(390px,100%) !important; margin-bottom:18px; }
.is-footer-brand p { font-size:17px; }
.is-footer-nav-grid { gap:42px; }
.is-footer-col { font-size:16px; }
.is-footer-social-row { margin-top:38px; padding:22px 0; }
.is-footer-quote { margin-top:18px; padding-top:20px; padding-bottom:20px; }
.is-footer-bottom { margin-top:20px; }

/* Block templates visible in Site Editor */
.is-block-page-main { padding:78px 0 88px; background:var(--is-paper); }
.is-block-page-shell,
.is-block-article-shell { width:min(1180px,calc(100vw - 48px)); margin-inline:auto; }
.is-block-page-shell > .wp-block-post-title,
.is-block-article-shell > .wp-block-post-title { font-size:clamp(3rem,5vw,5.5rem); margin-bottom:36px; }
.is-block-article-shell .wp-block-post-content { font-family:var(--is-display); font-size:20px; line-height:1.8; }
.is-editor-post-card { padding:18px; border:1px solid var(--is-border); border-radius:18px; background:#fff; }
.is-block-404 { min-height:70vh; display:flex; align-items:center; padding:90px 0; color:#fff; background:var(--is-deep); }
.is-block-404-inner { width:min(920px,calc(100vw - 48px)); }
.is-editor-eyebrow { color:var(--is-gold-deep); font-size:12px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.is-editor-quote-band { padding:18px 0; }
.is-editor-cta-dark { padding:72px 0; }
.is-editor-section-heading { padding-block:42px; }
.is-editor-section-heading h2 em,
.is-editor-cta-dark h2 em { color:var(--is-gold); font-weight:400; }

/* Precise anchor landing under sticky header */
[data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home {
  scroll-margin-top:calc(var(--is-header-block-height) + 14px) !important;
}

/* Force WordPress Navigation into hamburger earlier so tablet never overflows. */
@media (max-width:1120px) {
  :root { --is-header-block-height:84px; --is-anchor-offset:96px; }
  .is-header-block-inner { width:calc(100vw - 34px) !important; min-height:84px; gap:14px !important; }
  .is-fse-brand { flex-basis:88px; width:88px; height:72px; }
  .is-fse-brand-image { width:78px; height:66px; }
  .is-fse-navigation { margin-left:auto; }
  .is-fse-navigation .wp-block-navigation__responsive-container-open { display:flex !important; color:#fff; width:48px; height:48px; align-items:center; justify-content:center; }
  .is-fse-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    z-index:100000 !important;
    padding:108px 28px 34px !important;
    background:#001a24 !important;
    color:#fff !important;
    overflow-y:auto !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-close {
    display:flex !important;
    position:absolute !important;
    top:22px !important;
    right:24px !important;
    color:#fff !important;
    width:50px;
    height:50px;
    align-items:center;
    justify-content:center;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-content {
    width:100%;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    padding-top:0 !important;
  }
  .is-fse-navigation .wp-block-navigation__container {
    width:100%;
    align-items:flex-start !important;
    gap:0 !important;
  }
  .is-fse-navigation .wp-block-navigation-item { width:100%; border-bottom:1px solid rgba(255,255,255,.1); }
  .is-fse-navigation .wp-block-navigation-item__content {
    width:100%;
    display:block;
    padding:16px 0 !important;
    color:#fff !important;
    font-family:var(--is-display);
    font-size:clamp(2rem,6vw,3.15rem) !important;
    font-weight:700 !important;
    line-height:1.05;
  }
  .is-fse-navigation .wp-block-navigation-item__content::after { display:none; }
  .is-school-button .wp-block-button__link { min-height:46px; padding:0 18px; font-size:12px; }
  .is-fse-header-actions .wc-block-mini-cart__button { min-width:44px; min-height:44px; }
}

@media (min-width:1121px) {
  .is-fse-navigation .wp-block-navigation__responsive-container-open { display:none !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container { display:block !important; position:static !important; }
}

@media (max-width:782px) {
  :root { --is-section-space:62px; --is-header-block-height:76px; }
  .admin-bar .is-site-header-block { top:46px; }
  .is-header-block-inner { width:calc(100vw - 22px) !important; min-height:76px; }
  .is-fse-brand { flex:0 0 68px; width:68px; height:66px; }
  .is-fse-brand-image {
    width:58px;
    height:60px;
    background-image:url('../images/logo-menu-mobile.png');
    background-position:left center;
  }
  .is-fse-header-actions { gap:6px !important; }
  .is-school-button .wp-block-button__link { min-height:42px; padding:0 13px; font-size:10.5px; }
  .is-fse-header-actions .wc-block-mini-cart__button { min-width:40px; min-height:40px; padding:6px; }
  .is-fse-navigation .wp-block-navigation__responsive-container-open { width:42px; height:42px; }
  .is-hero { min-height:auto; }
  .is-hero-grid { min-height:auto; padding-top:58px; padding-bottom:58px; }
  .is-hero h1 { font-size:clamp(3.5rem,16vw,5.2rem); }
  .is-section { padding:62px 0; }
  .is-section-heading { margin-bottom:30px; }
  .is-section-heading-split, .is-section-heading-wide { gap:18px; }
  .is-quote-strip-inner { min-height:68px; padding:14px 18px !important; grid-template-columns:auto 1fr; gap:8px 12px; }
  .is-quote-strip cite { grid-column:2; white-space:normal; }
  .is-quote-strip p { font-size:1.28rem; line-height:1.3; }
  .is-contact-section { padding:62px 0; }
  .is-contact-layout, .is-faq-layout { gap:40px; }
  .is-site-footer { padding-top:52px; }
  .is-footer-top { gap:42px; }
}

@media (max-width:480px) {
  .is-school-button { display:none; }
  .is-fse-brand { flex-basis:72px; width:72px; }
  .is-fse-brand-image { width:62px; height:62px; }
  .is-hero-grid { padding-top:50px; }
  .is-quote-strip-inner { padding-inline:14px !important; }
}

/* V4.1 — mark scale requested by the brand owner */
@media (min-width:1121px) {
  .is-fse-brand { flex-basis:164px; width:164px; height:86px; }
  .is-fse-brand-image { width:150px; height:82px; }
}
.is-home-render,
.is-home-render > .wp-block-shortcode,
.is-footer-render,
.is-footer-render > .wp-block-shortcode {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* =========================================================
   V5 — floating header, corrected mobile overlay, tighter rhythm
   ========================================================= */
:root {
  --is-header-block-height: 86px;
  --is-header-float-top: 12px;
  --is-section-space: clamp(56px, 4vw, 72px);
  --is-anchor-offset: 112px;
}

/* Floating header without transform/filter so the mobile fixed overlay
   remains relative to the viewport, not to the header. */
.is-site-header-block {
  position: fixed !important;
  top: var(--is-header-float-top) !important;
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  max-width: 1460px !important;
  min-height: var(--is-header-block-height) !important;
  margin: 0 auto !important;
  border-radius: 18px;
  overflow: visible !important;
  background: rgba(0,26,36,.985) !important;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 40px rgba(0,26,36,.16);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.admin-bar .is-site-header-block { top: calc(32px + var(--is-header-float-top)) !important; }
.is-header-block-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: var(--is-header-block-height) !important;
  padding: 0 24px !important;
  gap: 24px !important;
}
.is-fse-brand { flex:0 0 170px; width:170px; height:78px; }
.is-fse-brand-image { width:158px; height:76px; background-size:contain; }
.is-fse-navigation { margin-left:auto; }
.is-fse-navigation .wp-block-navigation-item__content { font-size:15.5px; }
.is-mobile-school-link { display:none !important; }
.is-school-button .wp-block-button__link { min-height:46px; padding-inline:22px; }

/* Fixed header overlaps the hero intentionally; no dead strip below it. */
.is-home-render { margin-top:0 !important; }
.is-hero { min-height:680px; }
.is-hero-grid {
  min-height:680px;
  padding-top: calc(var(--is-header-block-height) + var(--is-header-float-top) + 64px);
  padding-bottom: 62px;
  gap: 64px;
}
.is-hero h1 { font-size:clamp(4rem,6.25vw,6.7rem); }
.is-hero-lead { margin-top:22px; }
.is-hero-actions { margin-top:28px; }
.is-hero-proof { margin-top:28px; }
.is-hero-mark { min-height:390px; }

/* Inner pages need room for the floating header. */
.is-block-page-main,
.is-content-main,
.is-about-main,
.is-blog-main {
  padding-top: calc(var(--is-header-block-height) + var(--is-header-float-top) + 54px) !important;
}

/* Tighter, deliberate vertical rhythm. */
.is-section { padding: var(--is-section-space) 0 !important; }
.is-section-heading { margin-bottom: 34px !important; }
.is-section-heading > p { margin-top:18px !important; }
.is-section-heading-split,
.is-section-heading-wide { gap:48px !important; }
.is-copy-lg { line-height:1.62; }

/* Method: objective is explicit, no oversized empty cards. */
.is-method-section { background:#fff; }
.is-method-heading {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:64px;
  align-items:end;
  margin-bottom:34px;
}
.is-method-heading h2 { max-width:760px; }
.is-method-heading > p { margin:0 0 6px; color:var(--is-muted); }
.is-method-flow {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--is-border);
  border-bottom:1px solid var(--is-border);
}
.is-method-step {
  position:relative;
  padding:28px 30px 30px 0;
  min-height:0 !important;
}
.is-method-step + .is-method-step { padding-left:30px; border-left:1px solid var(--is-border); }
.is-method-index {
  display:block;
  margin-bottom:20px;
  color:var(--is-gold-deep);
  font-size:11.5px;
  font-weight:850;
  letter-spacing:.12em;
}
.is-method-step h3 { margin-bottom:10px; font-size:clamp(1.65rem,1.7vw,2.05rem); }
.is-method-step p { max-width:37ch; margin:0; color:var(--is-muted); font-size:16.5px; line-height:1.58; }

/* Courses/tools: reduce block height and improve proportions. */
.is-courses-section { background:var(--is-paper); }
.is-tools-section { padding:68px 0 !important; }
.is-tools-grid { align-items:stretch; }
.is-tool-card { min-height:238px !important; padding:26px !important; }
.is-tool-code { width:46px; height:46px; }
.is-tool-card h3 { font-size:clamp(1.55rem,1.5vw,1.9rem); }
.is-tool-card p { font-size:16px; line-height:1.58; }
.is-tools-cta { margin-top:24px !important; padding-top:18px !important; }

/* About: compact expertise, no "small team" framing. */
.is-about-teaser { background:#fff; }
.is-about-teaser-grid {
  grid-template-columns:minmax(0,.95fr) minmax(470px,1.05fr) !important;
  gap:58px !important;
  align-items:center;
}
.is-about-teaser-copy h2 { max-width:760px; }
.is-about-teaser-side { gap:20px !important; }
.is-about-teaser-side .is-copy-lg { margin:0 !important; }
.is-expertise-grid {
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.is-expertise-grid > span {
  min-height:82px;
  padding:16px;
  border:1px solid var(--is-border);
  border-radius:14px;
  background:var(--is-paper);
}
.is-expertise-grid b { display:block; margin-bottom:5px; font-family:var(--is-display); font-size:18px; }
.is-expertise-grid small { display:block; color:var(--is-muted); font-size:12.5px; line-height:1.35; }

/* Testimonial cards should fit the content instead of creating empty vertical blocks. */
.is-testimonials-section { background:var(--is-paper); }
.is-testimonial-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.is-quote {
  min-height:0 !important;
  height:auto !important;
  padding:26px !important;
  border-radius:18px !important;
  justify-content:flex-start !important;
}
.is-quote p { font-size:clamp(1.22rem,1.18vw,1.52rem) !important; line-height:1.45 !important; }
.is-quote footer { margin-top:22px !important; padding-top:0 !important; font-size:13.5px !important; }
.is-quote footer strong { font-size:14.5px !important; }

/* Quote separators stay full bleed but remain short. */
.is-quote-strip-inner { min-height:60px !important; padding:10px max(24px, calc((100vw - 1360px)/2)) !important; }
.is-quote-strip p { font-size:clamp(1.2rem,1.15vw,1.55rem) !important; }
.is-quote-symbol { font-size:38px !important; }
.is-quote-strip cite { font-size:10.5px !important; }

/* FAQ/contact: less unused air, stronger information density. */
.is-faq-layout { gap:54px !important; }
.is-faq-list summary { min-height:0 !important; padding:21px 54px 21px 0 !important; }
.is-faq-list details p { padding-bottom:22px !important; }
.is-contact-section { padding:68px 0 !important; }
.is-contact-layout { gap:54px !important; grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr) !important; }
.is-contact-copy > p { margin-top:20px !important; }
.is-contact-direct-grid { margin-top:28px !important; }
.is-contact-direct-card { min-height:104px !important; padding:16px !important; }
.is-contact-card { padding:28px !important; }
.is-contact-form { gap:16px !important; }

/* Footer: more useful, less vertical drift. */
.is-site-footer { padding:48px 0 20px !important; }
.is-footer-top { gap:56px !important; }
.is-footer-brand img { width:min(330px,100%) !important; margin-bottom:14px !important; }
.is-footer-brand p { font-size:15.5px !important; }
.is-footer-nav-grid { gap:34px !important; }
.is-footer-col { gap:9px !important; font-size:14.5px !important; }
.is-footer-social-row { margin-top:28px !important; padding:18px 0 !important; }
.is-footer-quote { margin-top:12px !important; padding:16px 0 !important; }
.is-footer-bottom { margin-top:14px !important; padding-top:16px !important; }

/* Anchor targets align with the actual floating header bottom. */
[data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home {
  scroll-margin-top: calc(var(--is-header-block-height) + var(--is-header-float-top) + 22px) !important;
}

/* WordPress responsive navigation: true viewport overlay. Removing backdrop-filter
   from the header is essential because filters can establish a containing block
   for fixed descendants. */
@media (max-width:1120px) {
  :root { --is-header-block-height:80px; --is-header-float-top:8px; }
  .admin-bar .is-site-header-block { top:calc(32px + var(--is-header-float-top)) !important; }
  .is-site-header-block { left:10px !important; right:10px !important; border-radius:16px; }
  .is-header-block-inner { min-height:80px !important; padding:0 16px !important; gap:10px !important; }
  .is-fse-brand { flex:0 0 88px; width:88px; height:68px; }
  .is-fse-brand-image { width:80px; height:66px; }

  .is-fse-navigation .wp-block-navigation__responsive-container-open {
    display:flex !important;
    width:46px !important;
    height:46px !important;
    align-items:center;
    justify-content:center;
    color:#fff !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:88px 24px 28px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#001a24 !important;
    color:#fff !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:2147483000 !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-dialog,
  .is-fse-navigation .wp-block-navigation__responsive-container-content {
    width:100% !important;
    max-width:none !important;
    min-height:100% !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-content {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    padding:0 !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-close {
    position:fixed !important;
    top:20px !important;
    right:22px !important;
    display:flex !important;
    width:48px !important;
    height:48px !important;
    align-items:center;
    justify-content:center;
    color:#fff !important;
    z-index:2147483001 !important;
  }
  .is-fse-navigation .wp-block-navigation__container {
    width:min(620px,100%) !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .is-fse-navigation .wp-block-navigation-item {
    width:100% !important;
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  .is-fse-navigation .wp-block-navigation-item__content {
    width:100% !important;
    display:block !important;
    padding:14px 4px !important;
    color:#fff !important;
    font-family:var(--is-display) !important;
    font-size:clamp(1.8rem,6vw,3rem) !important;
    line-height:1.05 !important;
    font-weight:700 !important;
  }
  .is-fse-navigation .wp-block-navigation-item__content::after { display:none !important; }
  .is-mobile-school-link { display:block !important; margin-top:16px; border:0 !important; }
  .is-mobile-school-link .wp-block-navigation-item__content {
    display:flex !important;
    justify-content:center !important;
    padding:15px 20px !important;
    border-radius:999px;
    background:var(--is-gold);
    color:var(--is-deep) !important;
    font-family:var(--is-ui) !important;
    font-size:14px !important;
    font-weight:850 !important;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  html:has(.is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open),
  body:has(.is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open) { overflow:hidden !important; }

  .is-school-button .wp-block-button__link { min-height:42px; padding:0 13px; font-size:10.5px; }
  .is-fse-header-actions .wc-block-mini-cart__button { min-width:40px; min-height:40px; padding:6px; }

  .is-method-heading,
  .is-about-teaser-grid,
  .is-contact-layout,
  .is-faq-layout { grid-template-columns:1fr !important; gap:30px !important; }
  .is-method-flow { grid-template-columns:1fr; }
  .is-method-step,
  .is-method-step + .is-method-step { padding:22px 0 !important; border-left:0; border-bottom:1px solid var(--is-border); }
  .is-method-step:last-child { border-bottom:0; }
  .is-expertise-grid { grid-template-columns:1fr 1fr 1fr; }
  .is-testimonial-grid { grid-template-columns:1fr !important; }
}

@media (max-width:782px) {
  :root { --is-header-block-height:72px; --is-header-float-top:7px; --is-section-space:52px; }
  .admin-bar .is-site-header-block { top:calc(46px + var(--is-header-float-top)) !important; }
  .is-site-header-block { left:7px !important; right:7px !important; border-radius:14px; }
  .is-header-block-inner { min-height:72px !important; padding:0 10px !important; }
  .is-fse-brand { flex:0 0 58px; width:58px; height:60px; }
  .is-fse-brand-image {
    width:54px;
    height:58px;
    background-image:url('../images/logo-menu-mobile.png');
  }
  .is-school-button .wp-block-button__link { min-height:38px; padding:0 10px; font-size:9.5px; }
  .is-fse-header-actions { gap:4px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container-open { width:40px !important; height:40px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open { padding:78px 18px 24px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container-close { top:14px !important; right:15px !important; }

  .is-hero-grid { padding-top:calc(var(--is-header-block-height) + var(--is-header-float-top) + 42px) !important; padding-bottom:46px !important; }
  .is-hero h1 { font-size:clamp(3.3rem,15vw,4.8rem); }
  .is-section { padding:52px 0 !important; }
  .is-section-heading { margin-bottom:26px !important; }
  .is-method-heading { margin-bottom:20px; }
  .is-expertise-grid { grid-template-columns:1fr; }
  .is-quote-strip-inner { min-height:56px !important; padding:9px 14px !important; }
  .is-quote-strip p { font-size:1.08rem !important; }
  .is-quote-strip cite { font-size:9.5px !important; }
  .is-tools-section, .is-contact-section { padding:52px 0 !important; }
  .is-tool-card { min-height:0 !important; }
  .is-contact-card { padding:20px !important; }
  .is-site-footer { padding-top:40px !important; }
}

@media (max-width:390px) {
  .is-fse-brand { flex-basis:52px; width:52px; }
  .is-fse-brand-image { width:48px; height:54px; }
  .is-school-button .wp-block-button__link { padding-inline:8px; font-size:8.8px; }
  .is-fse-header-actions .wc-block-mini-cart__button { min-width:36px; min-height:36px; }
  .is-fse-navigation .wp-block-navigation__responsive-container-open { width:36px !important; height:36px !important; }
}

/* =========================================================
   V6 — full-width floating header, compact editorial rhythm,
   stable mobile navigation, restored blog and refined quotes
   ========================================================= */
:root {
  --is-header-v6-height: 82px;
  --is-section-v6: clamp(44px, 3.25vw, 60px);
  --is-shell: min(1380px, calc(100vw - 56px));
}

/* Full-width fixed navigation: it still floats with the viewport, but without
   lateral/top gaps that visually detach it from the site. */
.is-site-header-block {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: var(--is-header-v6-height) !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 0 !important;
  background: rgba(0,26,36,.985) !important;
  box-shadow: 0 8px 24px rgba(0,26,36,.14) !important;
  overflow: visible !important;
}
.admin-bar .is-site-header-block { top:32px !important; }
.is-header-block-inner {
  width: var(--is-shell) !important;
  max-width: 1380px !important;
  min-height: var(--is-header-v6-height) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  gap: 22px !important;
}
.is-fse-brand { flex:0 0 108px !important; width:108px !important; height:76px !important; }
.is-fse-brand-image {
  width:96px !important;
  height:72px !important;
  background-image:url('../images/logo-menu-desktop.png') !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
}
.is-fse-navigation .wp-block-navigation-item__content { font-size:15px !important; }
.is-school-button .wp-block-button__link { min-height:44px !important; padding:0 20px !important; }

/* The fixed header overlays the home hero intentionally. Inner pages reserve
   exactly the header height, not an oversized safety gap. */
.is-hero-grid { padding-top: calc(var(--is-header-v6-height) + 42px) !important; }
.is-block-page-main,
.is-content-main,
.is-about-main,
.is-blog-main { padding-top: calc(var(--is-header-v6-height) + 24px) !important; }
[data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home, #articulos {
  scroll-margin-top: calc(var(--is-header-v6-height) + 14px) !important;
}

/* Dense, deliberate editorial rhythm. */
.is-section { padding: var(--is-section-v6) 0 !important; }
.is-section-heading { margin-bottom: 24px !important; }
.is-section-heading > p { margin-top: 12px !important; }
.is-section-heading-split,
.is-section-heading-wide { gap: 48px !important; }
.is-center-action { margin-top: 20px !important; }
.is-method-heading { margin-bottom: 22px !important; }
.is-method-flow { margin-top: 0 !important; }
.is-method-step,
.is-method-step + .is-method-step { padding-top: 18px !important; padding-bottom: 18px !important; }
.is-method-index { margin-bottom: 12px !important; }
.is-courses-section .is-tutor-showcase { min-height:0 !important; margin-top:0 !important; padding-top:0 !important; }
.is-courses-section .tutor-course-filter-container,
.is-courses-section .tutor-course-filter,
.is-courses-section .tutor-course-filter-wrap { margin-top:0 !important; padding-top:0 !important; }
.is-courses-section .tutor-row { margin-top:0 !important; }
.is-tools-section { padding: var(--is-section-v6) 0 !important; }
.is-tools-cta { margin-top:18px !important; padding-top:14px !important; }
.is-testimonials-section,
.is-faq-section,
.is-home-blog-section { padding: var(--is-section-v6) 0 !important; }
.is-contact-section { padding: calc(var(--is-section-v6) + 4px) 0 !important; }

/* Quote bands: full bleed, compact and proportionally balanced. */
.is-quote-strip {
  width:100% !important;
  min-height:56px !important;
  padding:0 !important;
  margin:0 !important;
}
.is-quote-strip-inner {
  width:var(--is-shell) !important;
  max-width:1380px !important;
  min-height:56px !important;
  margin:0 auto !important;
  padding:9px 0 !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.is-quote-symbol { flex:0 0 auto; font-size:34px !important; line-height:.8 !important; }
.is-quote-strip p {
  flex:1 1 auto;
  margin:0 !important;
  font-size:clamp(1.05rem,1vw,1.32rem) !important;
  line-height:1.3 !important;
}
.is-quote-strip cite {
  flex:0 0 auto;
  margin:0 !important;
  font-size:10.5px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

/* New About teaser: no defensive language, no card-heavy composition. */
.is-about-teaser-v6 { background:#fff; }
.is-about-editorial {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  gap:62px;
  align-items:end;
}
.is-about-editorial h2 { max-width:760px; }
.is-about-editorial-copy { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.is-about-editorial-copy p { margin:0 !important; max-width:58ch; }
.is-capability-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:34px;
  border-top:1px solid var(--is-border);
  border-bottom:1px solid var(--is-border);
}
.is-capability-row article { padding:24px 28px 24px 0; }
.is-capability-row article + article { padding-left:28px; border-left:1px solid var(--is-border); }
.is-capability-row span { display:block; margin-bottom:18px; color:var(--is-gold-deep); font-size:11px; font-weight:850; letter-spacing:.12em; }
.is-capability-row h3 { margin-bottom:8px; font-size:clamp(1.45rem,1.45vw,1.85rem); }
.is-capability-row p { margin:0; color:var(--is-muted); font-size:15.5px; line-height:1.55; }

/* Home Blog: make the editorial area visible again without creating another
   oversized section. */
.is-home-blog-section { background:#fff; }
.is-home-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.is-home-post-card { overflow:hidden; border:1px solid var(--is-border); border-radius:18px; background:var(--is-paper); }
.is-home-post-thumb { display:block; aspect-ratio:16/9; overflow:hidden; background:#dfe4e1; }
.is-home-post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.is-home-post-card:hover .is-home-post-thumb img { transform:scale(1.025); }
.is-home-post-body { padding:22px; }
.is-home-post-body h3 { margin:8px 0 10px; font-size:clamp(1.35rem,1.25vw,1.65rem); }
.is-home-post-body p { margin:0 0 16px; color:var(--is-muted); font-size:15px; line-height:1.55; }
.is-home-blog-action { margin-top:22px !important; }

/* Blog page was blank in V5 because the custom renderer had no query. V6 also
   tightens the page proportions. */
.is-blog-hero { padding: calc(var(--is-header-v6-height) + 46px) 0 52px !important; }
.is-blog-hero-grid { gap:56px !important; }
.is-blog-list-section { padding:48px 0 56px !important; }
.is-post-grid-v3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px !important; }
.is-post-grid-v3 .is-post-body { padding:22px !important; }
.is-pagination { margin-top:28px !important; }

/* Floating WhatsApp: correct branded control, fully inside the viewport. */
.is-whatsapp-float {
  right:max(18px, env(safe-area-inset-right)) !important;
  bottom:max(18px, env(safe-area-inset-bottom)) !important;
  width:auto !important;
  height:52px !important;
  min-width:126px;
  padding:0 18px 0 12px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px !important;
  background:#20a866 !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
}
.is-wa-icon { width:30px; height:30px; display:grid; place-items:center; }
.is-wa-icon svg { width:27px !important; height:27px !important; fill:#fff; }
.is-wa-label { font-size:13px; font-weight:800; letter-spacing:.02em; }

/* Mobile navigation: full viewport, smaller scale, logo always visible, and all
   items—including Mi Escuela—fit on common phone heights. */
@media (max-width:1120px) {
  :root { --is-header-v6-height:76px; --is-shell:calc(100vw - 32px); }
  .admin-bar .is-site-header-block { top:32px !important; }
  .is-header-block-inner { min-height:76px !important; width:calc(100vw - 32px) !important; gap:8px !important; }
  .is-fse-brand { flex:0 0 78px !important; width:78px !important; height:70px !important; }
  .is-fse-brand-image { width:70px !important; height:66px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open {
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100vh !important;
    padding:82px 20px 18px !important;
    overflow-y:auto !important;
    background:#001a24 !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open::before {
    content:"";
    position:absolute;
    top:12px;
    left:18px;
    width:58px;
    height:58px;
    background:url('../images/logo-menu-mobile.png') left center/contain no-repeat;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-close {
    top:13px !important;
    right:16px !important;
    width:44px !important;
    height:44px !important;
  }
  .is-fse-navigation .wp-block-navigation__responsive-container-content {
    min-height:0 !important;
    justify-content:flex-start !important;
    padding:0 !important;
  }
  .is-fse-navigation .wp-block-navigation__container { width:min(520px,100%) !important; margin:0 auto !important; }
  .is-fse-navigation .wp-block-navigation-item__content {
    padding:10px 2px !important;
    font-size:clamp(1.45rem,4.6vw,2.05rem) !important;
    line-height:1.08 !important;
  }
  .is-mobile-school-link { display:block !important; margin-top:10px !important; }
  .is-mobile-school-link .wp-block-navigation-item__content {
    min-height:46px;
    padding:10px 18px !important;
    font-size:12.5px !important;
  }
  .is-section-heading-wide,
  .is-section-heading-split,
  .is-about-editorial { grid-template-columns:1fr !important; gap:18px !important; }
  .is-capability-row { grid-template-columns:1fr; margin-top:24px; }
  .is-capability-row article,
  .is-capability-row article + article { padding:18px 0 !important; border-left:0; border-bottom:1px solid var(--is-border); }
  .is-capability-row article:last-child { border-bottom:0; }
  .is-home-post-grid,
  .is-post-grid-v3 { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  :root { --is-header-v6-height:70px; --is-section-v6:42px; --is-shell:calc(100vw - 26px); }
  .admin-bar .is-site-header-block { top:46px !important; }
  .is-header-block-inner { width:calc(100vw - 24px) !important; min-height:70px !important; }
  .is-fse-brand { flex:0 0 58px !important; width:58px !important; height:62px !important; }
  .is-fse-brand-image {
    width:54px !important;
    height:58px !important;
    background-image:url('../images/logo-menu-mobile.png') !important;
  }
  .is-school-button { display:none !important; }
  .is-fse-header-actions { gap:4px !important; }
  .is-fse-header-actions .wc-block-mini-cart__button { min-width:38px !important; min-height:38px !important; padding:5px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container-open { width:38px !important; height:38px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open { padding:76px 16px 14px !important; }
  .is-fse-navigation .wp-block-navigation-item__content { padding:8px 0 !important; font-size:clamp(1.4rem,7vw,1.8rem) !important; }
  .is-hero-grid { padding-top:calc(var(--is-header-v6-height) + 34px) !important; padding-bottom:38px !important; }
  .is-section { padding:42px 0 !important; }
  .is-section-heading { margin-bottom:18px !important; }
  .is-quote-strip-inner { width:calc(100vw - 26px) !important; min-height:50px !important; padding:8px 0 !important; gap:10px !important; flex-wrap:wrap; }
  .is-quote-symbol { font-size:28px !important; }
  .is-quote-strip p { flex:1 1 calc(100% - 42px); font-size:1rem !important; }
  .is-quote-strip cite { margin-left:38px !important; font-size:9px !important; }
  .is-home-post-grid,
  .is-post-grid-v3 { grid-template-columns:1fr; }
  .is-whatsapp-float { width:54px !important; min-width:54px; height:54px !important; padding:0 !important; border-radius:50% !important; }
  .is-wa-label { display:none; }
  .is-wa-icon { width:31px; height:31px; }
  .is-blog-hero { padding:calc(var(--is-header-v6-height) + 34px) 0 38px !important; }
}

@media (max-height:620px) and (max-width:1120px) {
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open { padding-top:68px !important; }
  .is-fse-navigation .wp-block-navigation__responsive-container.is-menu-open::before { width:46px; height:46px; top:10px; }
  .is-fse-navigation .wp-block-navigation-item__content { padding:7px 0 !important; font-size:1.45rem !important; }
  .is-mobile-school-link .wp-block-navigation-item__content { min-height:40px; padding:8px 14px !important; }
}

/* =========================================================
   V7 — header clearance, desktop nav scale, circular WhatsApp,
   compact footer and reliable social links
   ========================================================= */
:root {
  --is-header-v7-height: 82px;
}

/* Desktop navigation: stronger presence without crowding the header. */
@media (min-width:1121px) {
  .is-site-header-block { min-height:var(--is-header-v7-height) !important; }
  .is-header-block-inner { min-height:var(--is-header-v7-height) !important; }
  .is-fse-navigation .wp-block-navigation__container { gap:clamp(22px,1.45vw,32px) !important; }
  .is-fse-navigation .wp-block-navigation-item__content {
    font-size:clamp(16.8px,.24vw + 15.4px,18.2px) !important;
    font-weight:720 !important;
    letter-spacing:.008em !important;
    line-height:1.2 !important;
  }
  .is-school-button .wp-block-button__link {
    min-height:46px !important;
    padding-inline:22px !important;
    font-size:13px !important;
  }
}

/* Fixed header must never cover the first content band on internal pages.
   The homepage hero intentionally sits underneath the floating header. */
body:not(.home) .wp-site-blocks {
  padding-top:var(--is-header-v7-height) !important;
}
body:not(.home) .is-block-page-main,
body:not(.home) .is-content-main,
body:not(.home) .is-about-main,
body:not(.home) .is-blog-main {
  padding-top:36px !important;
}
body:not(.home) .is-about-hero {
  padding-top:58px !important;
}
body:not(.home) .is-blog-hero {
  padding-top:48px !important;
}
body.woocommerce-page:not(.home) .woocommerce,
body.woocommerce-shop:not(.home) .woocommerce {
  scroll-margin-top:calc(var(--is-header-v7-height) + 16px);
}
body.woocommerce-page:not(.home) main,
body.woocommerce-shop:not(.home) main {
  padding-top:26px;
}

/* Footer: more legible, less empty and easier to scan. */
.is-site-footer {
  padding:46px 0 22px !important;
  background:#07161c !important;
}
.is-footer-main-grid {
  display:grid;
  grid-template-columns:minmax(300px,1.45fr) repeat(3,minmax(150px,.65fr));
  gap:clamp(34px,4vw,72px);
  align-items:start;
}
.is-footer-brand img {
  width:min(300px,100%) !important;
  margin:0 0 14px !important;
}
.is-footer-brand p {
  max-width:39ch !important;
  margin:0 0 13px !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
.is-footer-contact-stack { gap:6px !important; }
.is-footer-contact-stack a {
  font-size:15px !important;
  line-height:1.45 !important;
}
.is-footer-col {
  gap:10px !important;
  font-size:16px !important;
  line-height:1.45 !important;
}
.is-footer-col a {
  width:max-content;
  max-width:100%;
  color:rgba(255,255,255,.72);
  transition:color .18s ease, transform .18s ease;
}
.is-footer-col a:hover {
  color:#fff !important;
  transform:translateX(2px);
}
.is-footer-label {
  margin-bottom:7px !important;
  color:var(--is-gold) !important;
  font-size:12.5px !important;
  letter-spacing:.09em !important;
}
.is-footer-social-row {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  margin-top:34px !important;
  padding:20px 0 !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
.is-footer-social-copy p {
  margin:3px 0 0 !important;
  color:rgba(255,255,255,.56) !important;
  font-size:14px !important;
}
.is-social-links {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}
.is-social-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.04);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.is-social-icon:hover {
  transform:translateY(-2px);
  background:rgba(255,255,255,.10);
  border-color:rgba(239,175,15,.58);
}
.is-social-icon svg {
  display:block;
  width:21px;
  height:21px;
  fill:currentColor;
}
.is-social-whatsapp {
  color:#fff;
  background:#1fa765;
  border-color:#1fa765;
}
.is-footer-bottom {
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:24px !important;
  margin-top:18px !important;
  padding-top:0 !important;
  border:0 !important;
  color:rgba(255,255,255,.44) !important;
  font-size:12.5px !important;
}
.is-footer-legal { gap:16px !important; }

/* WhatsApp floating control: always circular, correctly centred and clear of
   browser safe areas. */
.is-whatsapp-float {
  position:fixed !important;
  z-index:99990 !important;
  right:max(20px, calc(env(safe-area-inset-right) + 14px)) !important;
  bottom:max(20px, calc(env(safe-area-inset-bottom) + 14px)) !important;
  width:58px !important;
  min-width:58px !important;
  height:58px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,255,255,.25) !important;
  border-radius:50% !important;
  background:#20a866 !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
  line-height:1 !important;
}
.is-whatsapp-float:hover {
  transform:translateY(-3px) scale(1.035) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
}
.is-whatsapp-float svg {
  display:block !important;
  width:31px !important;
  height:31px !important;
  fill:currentColor !important;
  margin:0 !important;
}

/* Tablet and mobile: reserve exactly the real header height and keep footer
   readable without stretching it vertically. */
@media (max-width:1120px) {
  :root { --is-header-v7-height:76px; }
  body:not(.home) .wp-site-blocks { padding-top:var(--is-header-v7-height) !important; }
  .is-footer-main-grid { grid-template-columns:1.2fr repeat(2,1fr); gap:34px 44px; }
  .is-footer-main-grid .is-footer-col:last-child { grid-column:auto; }
  .is-footer-brand { grid-row:span 2; }
}

@media (max-width:782px) {
  :root { --is-header-v7-height:70px; }
  body:not(.home) .wp-site-blocks { padding-top:var(--is-header-v7-height) !important; }
  body:not(.home) .is-about-hero,
  body:not(.home) .is-blog-hero { padding-top:34px !important; }
  .is-footer-main-grid { grid-template-columns:1fr 1fr; gap:30px 24px; }
  .is-footer-brand { grid-column:1 / -1; grid-row:auto; }
  .is-footer-brand img { width:min(260px,78vw) !important; }
  .is-footer-col { font-size:15px !important; }
  .is-footer-social-row { align-items:flex-start !important; flex-direction:column !important; gap:16px !important; }
  .is-social-links { justify-content:flex-start !important; }
  .is-footer-bottom { align-items:flex-start !important; flex-direction:column !important; gap:8px !important; }
  .is-footer-legal { flex-wrap:wrap; }
  .is-whatsapp-float {
    right:max(14px, calc(env(safe-area-inset-right) + 10px)) !important;
    bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px)) !important;
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
  }
  .is-whatsapp-float svg { width:29px !important; height:29px !important; }
}

@media (max-width:480px) {
  .is-footer-main-grid { grid-template-columns:1fr; gap:24px; }
  .is-footer-brand { grid-column:auto; }
  .is-site-footer { padding-top:36px !important; }
}

/* =========================================================
   V8 — hero logo, testimonial carousel, team portraits,
   WhatsApp optical centering
   ========================================================= */
.is-hero-logo-stage {
  justify-self:end;
  width:min(520px,100%);
  min-height:390px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:42px 28px;
  text-align:center;
}
.is-hero-logo-stage img {
  width:min(100%,520px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.16));
}
.is-hero-logo-line { width:92px; height:2px; margin:24px 0 14px; background:var(--is-gold); }
.is-hero-logo-stage p { margin:0; color:rgba(255,255,255,.68); font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

.is-testimonials-v8 { overflow:hidden; background:var(--is-paper); }
.is-testimonial-carousel { max-width:920px; margin:30px auto 0; }
.is-testimonial-viewport { overflow:hidden; border-radius:24px; box-shadow:0 22px 58px rgba(17,35,45,.10); }
.is-testimonial-track { display:flex; transition:transform .48s cubic-bezier(.2,.8,.2,1); will-change:transform; }
.is-testimonial-slide {
  flex:0 0 100%;
  min-width:100%;
  min-height:390px;
  display:grid;
  grid-template-columns:34% 66%;
  background:#f4f4f2;
  border:1px solid rgba(18,32,40,.10);
}
.is-testimonial-person {
  padding:42px 34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-left:6px solid #168ad5;
  border-right:1px solid rgba(18,32,40,.10);
  background:linear-gradient(180deg,#f7f7f5,#efefec);
}
.is-testimonial-kicker { margin-bottom:auto; color:#168ad5; font-size:12px; font-weight:850; letter-spacing:.13em; }
.is-testimonial-person strong { font-family:var(--is-display); color:#0d4e8a; font-size:clamp(1.55rem,2.1vw,2rem); line-height:1.05; }
.is-testimonial-person > span:last-child { margin-top:12px; color:#666; font-size:17px; line-height:1.5; }
.is-testimonial-content { position:relative; padding:40px 44px 42px; display:flex; flex-direction:column; justify-content:center; }
.is-testimonial-content::before { content:'“'; position:absolute; left:28px; top:94px; color:#168ad5; font-family:Georgia,serif; font-size:58px; line-height:1; }
.is-testimonial-content h3 { max-width:560px; margin:0 0 12px; color:#0d4e8a; font-size:clamp(1.5rem,2vw,2rem); line-height:1.06; }
.is-testimonial-content .is-stars { margin-bottom:22px; color:#f0b31a; font-size:22px; letter-spacing:3px; }
.is-testimonial-content blockquote { margin:0; padding-left:34px; border-left:4px solid #28a8f3; font-family:var(--is-display); font-style:italic; font-size:clamp(1.2rem,1.55vw,1.48rem); line-height:1.55; color:#252525; }
.is-testimonial-controls { margin-top:18px; display:flex; justify-content:center; align-items:center; gap:18px; }
.is-testimonial-arrow { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--is-border); border-radius:50%; background:#fff; color:var(--is-deep); font-size:20px; cursor:pointer; }
.is-testimonial-dots { display:flex; gap:8px; }
.is-testimonial-dots button { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#c7cdd0; cursor:pointer; }
.is-testimonial-dots button.is-active { width:28px; border-radius:999px; background:var(--is-gold); }

.is-team-card { grid-template-columns:220px 1fr !important; min-height:560px !important; align-items:stretch; overflow:hidden; padding:0 !important; }
.is-team-photo { margin:0; min-height:100%; background:#e9ecee; overflow:hidden; }
.is-team-photo img { width:100%; height:100%; min-height:560px; object-fit:cover; object-position:center top; display:block; }
.is-team-card-body { align-self:auto !important; display:flex; flex-direction:column; justify-content:center; padding:44px 40px; }

/* The floating WhatsApp icon is centred by geometry, not by the SVG's native baseline. */
.is-whatsapp-float { display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden !important; }
.is-whatsapp-float svg { width:30px !important; height:30px !important; transform:translate(0,-.5px) !important; transform-origin:center !important; }

@media (max-width:1120px) {
  .is-hero-logo-stage { display:none; }
  .is-testimonial-carousel { max-width:760px; }
}
@media (max-width:782px) {
  .is-testimonial-carousel { margin-top:20px; }
  .is-testimonial-slide { min-height:0; grid-template-columns:1fr; }
  .is-testimonial-person { min-height:150px; padding:24px 24px 22px; border-left:5px solid #168ad5; border-right:0; border-bottom:1px solid rgba(18,32,40,.10); }
  .is-testimonial-kicker { margin-bottom:28px; }
  .is-testimonial-content { padding:28px 24px 30px; }
  .is-testimonial-content::before { display:none; }
  .is-testimonial-content blockquote { padding-left:18px; font-size:1.06rem; }
  .is-team-card { grid-template-columns:1fr !important; min-height:0 !important; }
  .is-team-photo { height:360px; }
  .is-team-photo img { min-height:360px; }
  .is-team-card-body { padding:28px 24px; }
}

/* =========================================================
   V9 — constrained editorial width
   Full-bleed backgrounds, centered professional content rail.
   ========================================================= */
:root {
  --is-shell: min(1180px, calc(100vw - 64px));
  --is-reading: 68ch;
  --is-section-space: clamp(78px, 5.4vw, 104px);
}

/* Main content rail: never stretches to the full viewport on desktop. */
.is-shell,
.is-header-block-inner {
  width: var(--is-shell) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WordPress wide blocks follow the same visual rail. */
.wp-site-blocks .alignwide,
.entry-content > .alignwide {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* Preserve full-bleed section backgrounds, constrain only their inner content. */
.is-hero,
.is-tools-section,
.is-quote-strip,
.is-site-footer,
.is-site-header-block,
.is-final-cta,
.is-about-hero,
.is-blog-hero {
  width: 100%;
}

/* Header: full-width bar, aligned inner navigation. */
.is-site-header-block {
  padding-inline: 0 !important;
}
.is-header-block-inner {
  padding-inline: 0 !important;
}

/* Hero composition: editorial rather than edge-to-edge. */
.is-hero {
  min-height: 760px !important;
}
.is-hero-grid {
  min-height: 760px !important;
  padding-top: 138px !important;
  padding-bottom: 72px !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  gap: clamp(54px, 5vw, 82px) !important;
  align-items: center !important;
}
.is-hero-copy {
  max-width: 720px !important;
}
.is-hero h1 {
  max-width: 720px !important;
  font-size: clamp(4.2rem, 5.15vw, 6.2rem) !important;
  line-height: .98 !important;
}
.is-hero-lead {
  max-width: 62ch !important;
  font-size: clamp(1.15rem, .4vw + 1.05rem, 1.34rem) !important;
}
.is-hero-logo-stage {
  width: 100% !important;
  max-width: 360px !important;
  min-height: 0 !important;
  padding: 0 !important;
  justify-self: end !important;
  align-items: center !important;
}
.is-hero-logo-stage img {
  width: 100% !important;
  max-width: 360px !important;
}
.is-hero-logo-line {
  width: 74px !important;
  margin-top: 20px !important;
}

/* Readability: paragraphs do not become excessively long. */
.is-copy-lg,
.is-section-heading > p,
.is-method-heading > p,
.is-about-editorial-copy > p,
.is-contact-layout p,
.is-blog-hero p,
.is-about-hero-copy p {
  max-width: var(--is-reading);
}

/* Section headings stay visually connected to the content rail. */
.is-section {
  padding-top: var(--is-section-space) !important;
  padding-bottom: var(--is-section-space) !important;
}
.is-section-heading,
.is-method-heading {
  max-width: 100% !important;
}
.is-section-heading-wide {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .68fr) !important;
  gap: clamp(54px, 5vw, 78px) !important;
}
.is-section-heading-wide > p {
  max-width: 50ch !important;
  justify-self: end;
}
.is-method-heading {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .68fr) !important;
  gap: clamp(54px, 5vw, 78px) !important;
}
.is-method-heading > p {
  max-width: 50ch !important;
  justify-self: end;
}

/* Cards remain generous but no longer span the entire monitor. */
.is-tools-grid,
.is-capability-row,
.is-method-flow,
.is-blog-grid {
  width: 100%;
}
.is-testimonial-carousel {
  max-width: 900px !important;
}

/* Full-width quote bands with centered, constrained inner content. */
.is-quote-strip-inner {
  width: var(--is-shell) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

/* Footer aligns to the same vertical grid as the page. */
.is-footer-main-grid,
.is-footer-social-row,
.is-footer-bottom {
  width: var(--is-shell) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WooCommerce / Tutor / editorial pages: centered wide rail, not viewport width. */
.woocommerce .site-main,
.woocommerce-page .site-main,
.tutor-wrap,
.tutor-container,
.is-blog-page,
.is-about-page main {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1260px) {
  :root { --is-shell: min(1180px, calc(100vw - 48px)); }
}

@media (max-width: 1080px) {
  .is-hero-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding-top: 126px !important;
  }
  .is-hero-copy { max-width: 760px !important; }
  .is-hero-logo-stage { display:none !important; }
  .is-section-heading-wide,
  .is-method-heading {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .is-section-heading-wide > p,
  .is-method-heading > p {
    max-width: 62ch !important;
    justify-self: start;
  }
}

@media (max-width: 780px) {
  :root {
    --is-shell: calc(100vw - 32px);
    --is-section-space: 68px;
  }
  .is-hero {
    min-height: 690px !important;
  }
  .is-hero-grid {
    padding-top: 108px !important;
    padding-bottom: 56px !important;
  }
  .is-hero h1 {
    font-size: clamp(3.15rem, 14vw, 4.35rem) !important;
  }
}

@media (max-width: 480px) {
  :root { --is-shell: calc(100vw - 24px); }
}

/* =========================================================
   V10 — editorial rail + responsive 3-up testimonial carousel
   Reference: current production's Divi-like content rail.
   Full-bleed backgrounds remain full-width; readable content does not.
   ========================================================= */
:root {
  --is-shell: min(1080px, 80vw);
  --is-reading: 64ch;
  --is-section-space: clamp(64px, 4.6vw, 88px);
}

/* Keep the visual canvas full bleed, but constrain real content on desktop. */
.is-shell,
.is-header-block-inner,
.is-footer-main-grid,
.is-footer-social-row,
.is-footer-bottom,
.is-quote-strip-inner {
  width: var(--is-shell) !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-site-blocks .alignwide,
.entry-content > .alignwide {
  width: min(1080px, 80vw) !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
}

/* The bar/backgrounds may span the viewport; the content rail does not. */
.is-site-header-block,
.is-hero,
.is-tools-section,
.is-quote-strip,
.is-final-cta,
.is-site-footer,
.is-about-hero,
.is-blog-hero {
  width: 100% !important;
  max-width: none !important;
}

/* Hero: controlled two-column composition inside a 1080px rail. */
.is-hero {
  min-height: 690px !important;
}
.is-hero-grid {
  min-height: 690px !important;
  padding-top: 126px !important;
  padding-bottom: 64px !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px) !important;
  gap: clamp(42px, 4vw, 60px) !important;
  align-items: center !important;
}
.is-hero-copy {
  max-width: 690px !important;
}
.is-hero h1 {
  max-width: 690px !important;
  font-size: clamp(4.05rem, 5.4vw, 5.8rem) !important;
}
.is-hero-lead {
  max-width: 60ch !important;
  font-size: clamp(1.12rem, .35vw + 1.04rem, 1.28rem) !important;
}
.is-hero-logo-stage {
  display:flex !important;
  width:100% !important;
  max-width:310px !important;
  min-height:360px !important;
  padding:0 !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:end !important;
  border:0 !important;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.11), rgba(255,255,255,.035) 42%, transparent 70%) !important;
  box-shadow:none !important;
}
.is-hero-logo-stage img {
  display:block !important;
  width:clamp(235px, 18vw, 300px) !important;
  max-width:300px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.24));
}
.is-hero-logo-stage p,
.is-hero-logo-line {
  display:none !important;
}

/* Slightly tighter vertical rhythm now that the page is narrower. */
.is-section {
  padding-top: var(--is-section-space) !important;
  padding-bottom: var(--is-section-space) !important;
}
.is-section-heading,
.is-method-heading {
  margin-bottom: clamp(32px, 3vw, 44px) !important;
}
.is-section-heading-wide,
.is-method-heading {
  grid-template-columns: minmax(0, 1.12fr) minmax(270px, .72fr) !important;
  gap: clamp(38px, 4vw, 58px) !important;
}

/* WooCommerce / Tutor / editorial pages use the same rail as production. */
.woocommerce .site-main,
.woocommerce-page .site-main,
.tutor-wrap,
.tutor-container,
.is-blog-page,
.is-about-page main {
  width: min(1080px, 80vw) !important;
  max-width:1080px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ---------------------------------------------------------
   Testimonios V10: 3 cards on desktop, 2 on tablet, 1 on mobile.
   No numbering; native horizontal scroll + arrows when needed.
   --------------------------------------------------------- */
.is-testimonial-carousel-v10 {
  width:100% !important;
  max-width:none !important;
  margin-top:10px !important;
}
.is-testimonial-carousel-v10 .is-testimonial-viewport {
  width:100%;
  overflow:hidden !important;
}
.is-testimonial-carousel-v10 .is-testimonial-track {
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:calc((100% - 36px) / 3) !important;
  gap:18px !important;
  width:auto !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  transform:none !important;
  transition:none !important;
  padding:2px 2px 12px !important;
}
.is-testimonial-carousel-v10 .is-testimonial-track::-webkit-scrollbar {
  display:none;
}
.is-testimonial-card {
  scroll-snap-align:start;
  min-width:0;
  min-height:430px;
  padding:30px 28px 30px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(18,32,40,.12);
  border-top:5px solid var(--is-steel);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f7f8f6 100%);
  box-shadow:0 14px 34px rgba(0,26,36,.07);
}
.is-testimonial-card:first-child {
  border-top-color:var(--is-gold);
}
.is-testimonial-card-head {
  min-height:72px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(18,32,40,.10);
}
.is-testimonial-card-head strong {
  display:block;
  margin:0 0 6px;
  color:var(--is-deep);
  font-family:var(--is-display);
  font-size:clamp(1.35rem,1.45vw,1.62rem);
  line-height:1.08;
}
.is-testimonial-card-head span {
  display:block;
  color:var(--is-muted);
  font-size:14px;
  line-height:1.45;
}
.is-testimonial-card h3 {
  margin:22px 0 10px;
  color:var(--is-steel);
  font-size:clamp(1.18rem,1.18vw,1.38rem);
  line-height:1.18;
}
.is-testimonial-card .is-stars {
  margin:0 0 18px;
  color:var(--is-gold);
  font-size:18px;
  letter-spacing:2px;
}
.is-testimonial-card blockquote {
  margin:0;
  padding:0 0 0 16px;
  border-left:3px solid rgba(42,79,96,.35);
  color:#29363c;
  font-family:var(--is-display);
  font-size:clamp(1.05rem,1.05vw,1.18rem);
  font-style:italic;
  line-height:1.55;
}
.is-testimonial-carousel-v10 .is-testimonial-controls {
  display:none !important;
  margin-top:18px !important;
  justify-content:flex-end !important;
  gap:10px !important;
}
.is-testimonial-carousel-v10.is-scrollable .is-testimonial-controls {
  display:flex !important;
}
.is-testimonial-carousel-v10 .is-testimonial-arrow {
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(18,32,40,.16) !important;
  background:#fff !important;
  color:var(--is-deep) !important;
  box-shadow:0 6px 18px rgba(0,26,36,.06);
}

@media (max-width: 1120px) {
  :root { --is-shell: min(920px, calc(100vw - 48px)); }
  .is-shell,
  .is-header-block-inner,
  .is-footer-main-grid,
  .is-footer-social-row,
  .is-footer-bottom,
  .is-quote-strip-inner {
    max-width:920px !important;
  }
  .is-hero-grid {
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding-top:116px !important;
  }
  .is-hero-logo-stage { display:none !important; }
  .is-testimonial-carousel-v10 .is-testimonial-track {
    grid-auto-columns:calc((100% - 16px) / 2) !important;
    gap:16px !important;
  }
}

@media (max-width: 782px) {
  :root {
    --is-shell: calc(100vw - 32px);
    --is-section-space:64px;
  }
  .is-shell,
  .is-header-block-inner,
  .is-footer-main-grid,
  .is-footer-social-row,
  .is-footer-bottom,
  .is-quote-strip-inner {
    max-width:none !important;
  }
  .wp-site-blocks .alignwide,
  .entry-content > .alignwide,
  .woocommerce .site-main,
  .woocommerce-page .site-main,
  .tutor-wrap,
  .tutor-container,
  .is-blog-page,
  .is-about-page main {
    width:calc(100vw - 32px) !important;
    max-width:none !important;
  }
  .is-hero { min-height:auto !important; }
  .is-hero-grid {
    min-height:auto !important;
    padding-top:104px !important;
    padding-bottom:54px !important;
  }
  .is-section-heading-wide,
  .is-method-heading {
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .is-testimonial-carousel-v10 .is-testimonial-track {
    grid-auto-columns:100% !important;
    gap:14px !important;
  }
  .is-testimonial-card {
    min-height:0;
    padding:26px 24px 28px;
  }
}

@media (max-width: 480px) {
  :root { --is-shell: calc(100vw - 24px); }
  .wp-site-blocks .alignwide,
  .entry-content > .alignwide,
  .woocommerce .site-main,
  .woocommerce-page .site-main,
  .tutor-wrap,
  .tutor-container,
  .is-blog-page,
  .is-about-page main {
    width:calc(100vw - 24px) !important;
  }
}


/* V11 — official social channels in footer */
.is-footer-social-row{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.is-social-links{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
.is-social-icon{width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;background:rgba(255,255,255,.035)!important;transition:transform .2s ease,background .2s ease,border-color .2s ease!important;}
.is-social-icon:hover{transform:translateY(-2px)!important;background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.55)!important;}
.is-social-icon svg{width:22px!important;height:22px!important;display:block!important;fill:currentColor!important;}
.is-social-whatsapp{background:#25D366!important;border-color:#25D366!important;color:#fff!important;}
@media(max-width:767px){.is-social-icon{width:44px!important;height:44px!important;min-width:44px!important}.is-social-icon svg{width:21px!important;height:21px!important}}

/* =========================================================
   V12 — compact professional rail, rebuilt typography,
   Tutor/Woo cards, plugin header/footer compatibility,
   original-style team presentation and compact footer.
   ========================================================= */
:root{
  --is-shell:min(1000px,calc(100vw - 56px));
  --is-reading:62ch;
  --is-header-v12-height:84px;
  --is-section-space:clamp(54px,4vw,76px);
  --is-fs-body:clamp(1rem,.14vw + .96rem,1.075rem);
  --is-fs-lead:clamp(1.08rem,.28vw + 1rem,1.22rem);
  --is-fs-h1:clamp(2.8rem,3.7vw,4.15rem);
  --is-fs-h2:clamp(2.15rem,2.9vw,3.1rem);
  --is-fs-h3:clamp(1.42rem,1.4vw,1.82rem);
  --is-fs-h4:clamp(1.15rem,1vw,1.38rem);
}

/* Global type scale: smaller, steadier and easier to scan. */
body{font-size:var(--is-fs-body)!important;line-height:1.65!important;}
h1{font-size:var(--is-fs-h1)!important;line-height:1.01!important;letter-spacing:-.035em!important;}
h2{font-size:var(--is-fs-h2)!important;line-height:1.05!important;letter-spacing:-.026em!important;}
h3{font-size:var(--is-fs-h3)!important;line-height:1.16!important;letter-spacing:-.012em!important;}
h4{font-size:var(--is-fs-h4)!important;line-height:1.2!important;}
p,li{line-height:1.65;}
.is-copy-lg,.is-hero-lead{font-size:var(--is-fs-lead)!important;line-height:1.62!important;}
.is-eyebrow{font-size:11.5px!important;letter-spacing:.15em!important;}

/* Main content rail: narrower than V10/V11, while backgrounds stay full bleed. */
.is-shell,
.is-header-block-inner,
.is-quote-strip-inner,
.is-footer-compact-grid,
.is-footer-bottom-compact{
  width:var(--is-shell)!important;
  max-width:1000px!important;
  margin-inline:auto!important;
}
.wp-site-blocks .alignwide,
.entry-content>.alignwide{width:min(1000px,calc(100vw - 56px))!important;max-width:1000px!important;margin-inline:auto!important;}

/* Header: compact but still prominent. */
.is-site-header-block{min-height:var(--is-header-v12-height)!important;height:var(--is-header-v12-height)!important;}
.is-header-block-inner{min-height:var(--is-header-v12-height)!important;gap:20px!important;}
@media(min-width:1121px){
  .is-fse-brand{flex:0 0 138px!important;width:138px!important;height:78px!important;}
  .is-fse-brand-image{width:128px!important;height:74px!important;}
  .is-fse-navigation .wp-block-navigation__container{gap:clamp(16px,1vw,22px)!important;}
  .is-fse-navigation .wp-block-navigation-item__content{font-size:clamp(16px,.15vw + 15.5px,17px)!important;font-weight:720!important;}
  .is-school-button .wp-block-button__link{min-height:44px!important;padding-inline:20px!important;font-size:12.5px!important;}
}

/* The fixed header is removed from flow. Offset actual page content, not the
   entire wp-site-blocks wrapper, so first sections stay aligned everywhere. */
body:not(.home) .wp-site-blocks{padding-top:0!important;}
body:not(.home) .is-block-page-main{padding-top:calc(var(--is-header-v12-height) + 34px)!important;}
body:not(.home) .is-about-hero{padding-top:calc(var(--is-header-v12-height) + 46px)!important;}
body:not(.home) .is-blog-hero{padding-top:calc(var(--is-header-v12-height) + 38px)!important;}
body:not(.home) .is-home-render>.wp-block-shortcode>.is-about-page .is-about-hero,
body:not(.home) .is-home-render>.wp-block-shortcode>.is-blog-page .is-blog-hero{padding-top:calc(var(--is-header-v12-height) + 46px)!important;}
.is-classic-plugin-template .tutor-wrap,
.is-classic-plugin-template .tutor-dashboard,
.is-classic-plugin-template .woocommerce{padding-top:calc(var(--is-header-v12-height) + 30px)!important;}
[data-anchor-section],#metodo,#cursos,#herramientas,#nosotros-home,#preguntas,#contacto,#articulos{scroll-margin-top:calc(var(--is-header-v12-height) + 16px)!important;}

/* Home hero: contained editorial composition + requested full logo on right. */
.is-hero{min-height:640px!important;}
.is-hero-grid{min-height:640px!important;padding-top:calc(var(--is-header-v12-height) + 54px)!important;padding-bottom:54px!important;grid-template-columns:minmax(0,1fr) minmax(220px,280px)!important;gap:44px!important;}
.is-hero-copy{max-width:650px!important;}
.is-hero h1{font-size:clamp(3.35rem,4.7vw,4.65rem)!important;line-height:.98!important;max-width:640px!important;}
.is-hero-lead{max-width:58ch!important;margin-top:22px!important;}
.is-hero-actions{margin-top:28px!important;}
.is-hero-proof{margin-top:28px!important;}
.is-hero-logo-stage{display:flex!important;max-width:280px!important;min-height:0!important;padding:0!important;background:none!important;justify-content:center!important;align-items:center!important;}
.is-hero-logo-stage img{width:min(250px,100%)!important;max-width:250px!important;height:auto!important;filter:drop-shadow(0 16px 28px rgba(0,0,0,.18))!important;}

/* Section rhythm. */
.is-section{padding:var(--is-section-space) 0!important;}
.is-section-heading,.is-method-heading{margin-bottom:30px!important;}
.is-section-heading-wide,.is-method-heading{gap:36px!important;}
.is-section-heading-wide>p,.is-method-heading>p{max-width:46ch!important;}
.is-process-card p,.is-method-step p,.is-tool-card p,.is-about-values-list p{font-size:15.5px!important;line-height:1.6!important;}
.is-method-step h3,.is-tool-card h3{font-size:clamp(1.35rem,1.3vw,1.7rem)!important;}

/* Single blog/post: editorial width and a title that does not overwhelm. */
.is-block-article-shell{width:min(760px,calc(100vw - 48px))!important;max-width:760px!important;margin-inline:auto!important;}
.is-block-article-shell>.wp-block-post-date{font-size:14px!important;color:var(--is-muted)!important;margin-bottom:18px!important;}
.is-block-article-shell>.wp-block-post-title{max-width:15ch!important;margin:0 0 30px!important;font-size:clamp(2.55rem,3.9vw,3.65rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;text-wrap:balance;}
.is-block-article-shell .wp-block-post-featured-image{margin:0 0 34px!important;border-radius:16px;overflow:hidden;}
.is-block-article-shell .wp-block-post-content{font-family:var(--is-ui)!important;font-size:18px!important;line-height:1.78!important;color:#263940;}
.is-block-article-shell .wp-block-post-content h2{margin-top:1.6em!important;font-size:clamp(2rem,2.4vw,2.65rem)!important;}
.is-block-article-shell .wp-block-post-content h3{margin-top:1.45em!important;font-size:clamp(1.45rem,1.7vw,1.9rem)!important;}
.is-block-page-shell>.wp-block-post-title{font-size:clamp(2.55rem,3.8vw,3.7rem)!important;line-height:1.04!important;max-width:18ch!important;margin-bottom:30px!important;}

/* Tutor LMS — consistent with the site, including the student dashboard. */
.tutor-wrap,.tutor-container,.tutor-dashboard{font-family:var(--is-ui)!important;font-size:16px!important;}
.tutor-dashboard{width:min(1000px,calc(100vw - 56px))!important;max-width:1000px!important;margin-inline:auto!important;}
.tutor-dashboard .tutor-dashboard-left-menu{border-radius:16px!important;overflow:hidden!important;}
.tutor-dashboard .tutor-dashboard-menu-item a{font-size:14.5px!important;line-height:1.3!important;}
.tutor-dashboard .tutor-dashboard-menu-item.active a,
.tutor-dashboard .tutor-dashboard-menu-item a:hover{color:var(--is-deep)!important;background:rgba(239,175,15,.16)!important;}
.tutor-dashboard .tutor-dashboard-content h2,
.tutor-dashboard .tutor-dashboard-content h3{font-family:var(--is-display)!important;}
.tutor-dashboard .tutor-dashboard-content h2{font-size:clamp(1.8rem,2vw,2.3rem)!important;}

/* Tutor course archive: two generous cards beside the filter instead of three
   narrow, excessively tall cards. */
body.post-type-archive-courses .tutor-wrap,
body.post-type-archive-courses .tutor-container{width:min(1080px,calc(100vw - 56px))!important;max-width:1080px!important;margin-inline:auto!important;}
body.post-type-archive-courses .tutor-course-filter-wrapper,
body.post-type-archive-courses .tutor-course-filter-container{font-size:15px!important;}
body.post-type-archive-courses .tutor-course-list .tutor-col-4,
body.post-type-archive-courses .tutor-course-list .tutor-col-xl-4,
body.post-type-archive-courses .tutor-course-list .tutor-col-lg-4{flex:0 0 50%!important;width:50%!important;max-width:50%!important;}
.tutor-course-card,.tutor-card,.tutor-course-loop,.tutor-course-loop-wrap{border-radius:16px!important;box-shadow:0 12px 34px rgba(0,26,36,.07)!important;}
.tutor-course-card .tutor-course-thumbnail,
.tutor-course-card .tutor-ratio,
.tutor-course-loop .tutor-course-thumbnail{aspect-ratio:16/10!important;overflow:hidden!important;}
.tutor-course-card .tutor-course-thumbnail img,
.tutor-course-card .tutor-ratio img,
.tutor-course-loop .tutor-course-thumbnail img{width:100%!important;height:100%!important;object-fit:cover!important;}
.tutor-course-card .tutor-card-body{padding:18px 18px 16px!important;min-height:0!important;height:auto!important;}
.tutor-course-card .tutor-course-name,
.tutor-course-card .tutor-card-title,
.tutor-course-card h3,
.tutor-course-card h4,
.tutor-course-loop h3{font-size:clamp(1.18rem,1.25vw,1.4rem)!important;line-height:1.28!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;min-height:2.56em!important;}
.tutor-course-card .tutor-meta,
.tutor-course-card .tutor-meta-value,
.tutor-course-card .tutor-ratings,
.tutor-course-card .tutor-fs-6,
.tutor-course-card .tutor-fs-7{font-size:13.5px!important;line-height:1.45!important;}
.tutor-course-card .tutor-card-footer{padding:14px 18px!important;min-height:64px!important;display:flex!important;align-items:center!important;gap:12px!important;}
.tutor-course-card .tutor-card-footer .tutor-btn,
.tutor-course-card .tutor-card-footer button{min-height:40px!important;padding:8px 14px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap!important;}

/* WooCommerce cards — same compact visual logic. */
.woocommerce ul.products{gap:22px!important;}
.woocommerce ul.products li.product{border-radius:16px!important;padding-bottom:16px!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:clamp(1.15rem,1.15vw,1.35rem)!important;line-height:1.3!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.woocommerce ul.products li.product .price{font-size:15.5px!important;}

/* About: restore the original human, symmetrical presentation. */
.is-about-hero{min-height:520px!important;}
.is-about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;gap:48px!important;}
.is-about-hero h1{font-size:clamp(3rem,4.2vw,4.2rem)!important;max-width:12ch!important;}
.is-about-hero-copy p{font-size:var(--is-fs-lead)!important;line-height:1.65!important;}
.is-team-original-section{position:relative;overflow:hidden;padding:62px 0 66px;color:#fff;background:linear-gradient(120deg,#06171f 0%,#102a35 58%,#07151c 100%);}
.is-team-original-art{position:absolute;inset:0;background:linear-gradient(rgba(0,15,22,.72),rgba(0,15,22,.84)),url('../images/brand-scene.png') center/cover no-repeat;opacity:.52;}
.is-team-original-inner{position:relative;z-index:1;}
.is-team-original-heading{max-width:720px;margin:0 auto 38px;text-align:center;}
.is-team-original-heading .is-eyebrow{justify-content:center;}
.is-team-original-heading .is-eyebrow::before{display:none;}
.is-team-original-heading h2{font-size:clamp(2.35rem,3vw,3.2rem)!important;margin-bottom:14px;}
.is-team-original-heading p{max-width:64ch;margin:0 auto;color:rgba(255,255,255,.68);font-size:16px;line-height:1.62;}
.is-team-original-grid{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:start;max-width:860px;margin:0 auto;}
.is-team-original-profile{text-align:center;}
.is-team-original-photo{width:210px;height:210px;margin:0 auto 18px;border-radius:50%;overflow:hidden;border:3px solid rgba(239,175,15,.88);box-shadow:0 16px 34px rgba(0,0,0,.22);background:#fff;}
.is-team-original-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;}
.is-team-original-profile h3{margin:0 0 8px;color:#fff;font-size:clamp(1.45rem,1.6vw,1.8rem)!important;}
.is-team-original-role{margin:0;color:rgba(255,255,255,.88);font-family:var(--is-display);font-size:18px;line-height:1.35;}
.is-team-original-degree{margin:3px 0 0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.4;}

/* Testimonial carousel remains 3/2/1, with calmer text scale. */
.is-testimonial-card{min-height:360px!important;padding:24px 22px 26px!important;}
.is-testimonial-card-head{min-height:62px!important;padding-bottom:14px!important;}
.is-testimonial-card-head strong{font-size:clamp(1.2rem,1.2vw,1.42rem)!important;}
.is-testimonial-card h3{font-size:clamp(1.05rem,1vw,1.2rem)!important;margin-top:18px!important;}
.is-testimonial-card blockquote{font-size:clamp(.98rem,.85vw,1.08rem)!important;line-height:1.55!important;}

/* Footer V12: one compact information row; social icons live with the brand. */
.is-site-footer{padding:34px 0 18px!important;background:#07161c!important;}
.is-footer-compact-grid{display:grid;grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(120px,.62fr));gap:clamp(24px,3vw,42px);align-items:start;}
.is-footer-brand-compact img{width:min(230px,100%)!important;height:auto!important;margin:0 0 12px!important;}
.is-footer-brand-compact>p{max-width:36ch!important;margin:0 0 10px!important;color:rgba(255,255,255,.58)!important;font-size:14px!important;line-height:1.55!important;}
.is-footer-contact-stack{gap:4px!important;}
.is-footer-contact-stack a{font-size:13.5px!important;line-height:1.35!important;font-weight:600!important;}
.is-footer-col{gap:7px!important;font-size:14px!important;line-height:1.35!important;}
.is-footer-label{margin:0 0 6px!important;color:var(--is-gold)!important;font-size:10.5px!important;letter-spacing:.1em!important;}
.is-footer-social-inline{display:flex;align-items:center;gap:7px;margin-top:14px;}
.is-footer-social-inline .is-social-icon{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;}
.is-footer-social-inline .is-social-icon svg{width:18px!important;height:18px!important;}
.is-footer-bottom-compact{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin-top:24px!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.08)!important;font-size:11.5px!important;color:rgba(255,255,255,.43)!important;}
.is-footer-legal{gap:14px!important;}

/* WhatsApp: exact circular geometry and visually centred official-style glyph. */
.is-whatsapp-float{right:max(18px,calc(env(safe-area-inset-right) + 12px))!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important;width:56px!important;min-width:56px!important;height:56px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;background:#20ad68!important;}
.is-whatsapp-float svg{display:block!important;width:29px!important;height:29px!important;fill:#fff!important;transform:translate(.2px,-.2px)!important;}

@media(max-width:1120px){
  :root{--is-shell:min(900px,calc(100vw - 44px));--is-header-v12-height:76px;}
  .is-shell,.is-header-block-inner,.is-quote-strip-inner,.is-footer-compact-grid,.is-footer-bottom-compact{max-width:900px!important;}
  body:not(.home) .is-block-page-main{padding-top:calc(var(--is-header-v12-height) + 28px)!important;}
  .is-hero-grid{grid-template-columns:1fr!important;min-height:auto!important;padding-top:calc(var(--is-header-v12-height) + 44px)!important;}
  .is-hero-logo-stage{display:none!important;}
  .is-section-heading-wide,.is-method-heading,.is-about-hero-grid{grid-template-columns:1fr!important;gap:20px!important;}
  .is-team-original-grid{gap:38px;}
  .is-footer-compact-grid{grid-template-columns:1.25fr 1fr 1fr;}
  .is-footer-compact-grid>.is-footer-col:last-child{grid-column:2 / -1;}
}

@media(max-width:782px){
  :root{--is-shell:calc(100vw - 30px);--is-header-v12-height:70px;--is-section-space:48px;}
  h1{font-size:clamp(2.45rem,11vw,3.45rem)!important;}
  h2{font-size:clamp(2rem,8.5vw,2.75rem)!important;}
  h3{font-size:clamp(1.35rem,5.5vw,1.7rem)!important;}
  .is-hero h1{font-size:clamp(2.95rem,13.5vw,4rem)!important;}
  .is-block-article-shell{width:calc(100vw - 30px)!important;}
  .is-block-article-shell>.wp-block-post-title{font-size:clamp(2.25rem,10vw,3rem)!important;max-width:none!important;}
  .is-block-article-shell .wp-block-post-content{font-size:17px!important;line-height:1.72!important;}
  body.post-type-archive-courses .tutor-course-list .tutor-col-4,
  body.post-type-archive-courses .tutor-course-list .tutor-col-xl-4,
  body.post-type-archive-courses .tutor-course-list .tutor-col-lg-4{flex:0 0 100%!important;width:100%!important;max-width:100%!important;}
  .tutor-dashboard{width:calc(100vw - 30px)!important;}
  .is-team-original-grid{grid-template-columns:1fr;gap:34px;}
  .is-team-original-photo{width:180px;height:180px;}
  .is-footer-compact-grid{grid-template-columns:1fr 1fr;gap:24px 20px;}
  .is-footer-brand-compact{grid-column:1 / -1;}
  .is-footer-compact-grid>.is-footer-col:last-child{grid-column:auto;}
  .is-footer-bottom-compact{align-items:flex-start!important;flex-direction:column!important;gap:7px!important;}
  .is-footer-legal{flex-wrap:wrap;}
}

@media(max-width:520px){
  :root{--is-shell:calc(100vw - 24px);}
  .is-footer-compact-grid{grid-template-columns:1fr;gap:18px;}
  .is-footer-brand-compact{grid-column:auto;}
  .is-footer-contact-stack a{overflow-wrap:anywhere;}
  .is-team-original-photo{width:160px;height:160px;}
  .is-whatsapp-float{width:52px!important;min-width:52px!important;height:52px!important;right:12px!important;bottom:12px!important;}
  .is-whatsapp-float svg{width:27px!important;height:27px!important;}
}

/* V12 finishing passes: archives + mobile menu + Tutor archive columns. */
.is-block-page-shell>.wp-block-query-title,
.woocommerce .woocommerce-products-header__title.page-title{
  font-size:clamp(2.5rem,3.6vw,3.55rem)!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
  margin-bottom:28px!important;
}

@media(min-width:900px){
  body.post-type-archive-courses .tutor-course-filter-wrapper,
  .tutor-course-filter-wrapper{
    display:grid!important;
    grid-template-columns:minmax(210px,235px) minmax(0,1fr)!important;
    gap:28px!important;
    align-items:start!important;
  }
  .tutor-course-filter-loop-container .tutor-row>[class*="tutor-col-"]{
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
  }
}

@media(max-width:1120px){
  .is-fse-navigation .wp-block-navigation-item__content{
    font-size:clamp(1.35rem,4.2vw,1.8rem)!important;
    line-height:1.08!important;
    padding:10px 2px!important;
  }
  .is-mobile-school-link .wp-block-navigation-item__content{
    font-family:var(--is-ui)!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
}

@media(max-width:782px){
  .is-fse-navigation .wp-block-navigation-item__content{
    font-size:clamp(1.25rem,6vw,1.6rem)!important;
    padding:8px 0!important;
  }
  .tutor-course-filter-wrapper{display:block!important;}
}

/* =========================================================
   V13 — compact footer + corrected WhatsApp glyph/geometry
   ========================================================= */
.is-site-footer{
  padding:26px 0 14px!important;
  background:#07161c!important;
  min-height:0!important;
}
.is-footer-compact-grid{
  width:min(940px,calc(100vw - 48px))!important;
  max-width:940px!important;
  display:grid!important;
  grid-template-columns:minmax(245px,1.28fr) repeat(3,minmax(110px,.62fr))!important;
  column-gap:clamp(24px,3vw,36px)!important;
  row-gap:0!important;
  align-items:start!important;
  align-content:start!important;
  min-height:0!important;
  padding:0!important;
}
.is-footer-brand-compact,
.is-site-footer .is-footer-col{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  justify-content:flex-start!important;
  align-self:start!important;
}
.is-footer-brand-compact img{
  width:min(200px,100%)!important;
  height:auto!important;
  margin:0 0 9px!important;
}
.is-footer-brand-compact>p{
  max-width:34ch!important;
  margin:0 0 8px!important;
  font-size:13.25px!important;
  line-height:1.5!important;
  color:rgba(255,255,255,.62)!important;
}
.is-footer-contact-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
}
.is-footer-contact-stack a{
  margin:0!important;
  padding:0!important;
  font-size:12.75px!important;
  line-height:1.4!important;
  font-weight:650!important;
}
.is-site-footer .is-footer-col{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  font-size:13.25px!important;
  line-height:1.35!important;
}
.is-site-footer .is-footer-col a{
  margin:0!important;
  padding:3px 0!important;
  line-height:1.35!important;
}
.is-footer-label{
  margin:0 0 5px!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.11em!important;
}
.is-footer-social-inline{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:11px 0 0!important;
  padding:0!important;
}
.is-footer-social-inline .is-social-icon{
  width:35px!important;
  min-width:35px!important;
  height:35px!important;
  flex:0 0 35px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
}
.is-footer-social-inline .is-social-icon svg{
  display:block!important;
  width:16.5px!important;
  height:16.5px!important;
  fill:currentColor!important;
  transform:none!important;
}
.is-footer-social-inline .is-social-whatsapp svg{
  width:18px!important;
  height:18px!important;
}
.is-footer-bottom-compact{
  width:min(940px,calc(100vw - 48px))!important;
  max-width:940px!important;
  min-height:0!important;
  margin:18px auto 0!important;
  padding:11px 0 0!important;
  font-size:10.75px!important;
  line-height:1.35!important;
  color:rgba(255,255,255,.45)!important;
}
.is-footer-legal{
  gap:12px!important;
  align-items:center!important;
}

/* Floating WhatsApp: true circle, centered official-style glyph, safe viewport offset. */
.is-whatsapp-float{
  position:fixed!important;
  z-index:9999!important;
  right:max(22px,calc(env(safe-area-inset-right) + 16px))!important;
  bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px))!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  color:#fff!important;
  background:#25D366!important;
  box-shadow:0 10px 26px rgba(0,0,0,.24)!important;
  line-height:0!important;
}
.is-whatsapp-float svg{
  display:block!important;
  width:28px!important;
  height:32px!important;
  flex:0 0 auto!important;
  fill:#fff!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:782px){
  .is-footer-compact-grid,
  .is-footer-bottom-compact{
    width:calc(100vw - 30px)!important;
    max-width:none!important;
  }
  .is-footer-compact-grid{
    grid-template-columns:1fr 1fr!important;
    column-gap:22px!important;
    row-gap:20px!important;
  }
  .is-footer-brand-compact{grid-column:1 / -1!important;}
  .is-footer-brand-compact img{width:min(190px,70vw)!important;}
  .is-site-footer .is-footer-col{font-size:13.5px!important;}
  .is-footer-bottom-compact{
    margin-top:16px!important;
    gap:7px!important;
  }
  .is-whatsapp-float{
    right:max(14px,calc(env(safe-area-inset-right) + 10px))!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
  .is-whatsapp-float svg{width:26px!important;height:30px!important;}
}

@media(max-width:520px){
  .is-site-footer{padding:24px 0 12px!important;}
  .is-footer-compact-grid{grid-template-columns:1fr!important;row-gap:16px!important;}
  .is-footer-brand-compact{grid-column:auto!important;}
  .is-footer-bottom-compact{font-size:10.5px!important;}
}


/* ============================================================
   V16 — composición contenida, logo luminoso, fondos de apoyo,
   carrusel Tutor compacto, footer exacto y cierre sin huecos.
   ============================================================ */
:root{
  --is-shell:min(1040px,calc(100vw - 40px));
  --is-reading:min(760px,calc(100vw - 40px));
  --is-v16-footer:min(1180px,calc(100vw - 48px));
  --is-section-space:76px;
}
body{font-size:16px;line-height:1.6;}
h1{font-size:clamp(2.75rem,4.1vw,3.9rem);line-height:1.01;letter-spacing:-.035em;}
h2{font-size:clamp(2.05rem,3vw,2.85rem);line-height:1.07;letter-spacing:-.027em;}
h3{font-size:clamp(1.28rem,1.35vw,1.55rem);line-height:1.18;}
.is-copy-lg{font-size:clamp(1rem,.35vw + .95rem,1.14rem);line-height:1.65;}
.is-section{padding:var(--is-section-space) 0;}
.is-section-heading{margin-bottom:34px;}
.is-section-heading>p{margin-top:16px;max-width:58ch;}

/* Do not leave Gutenberg template-part gaps between page and footer */
.wp-site-blocks{padding:0!important;}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important;}
.is-footer-render,.is-home-render{margin:0!important;}
main+footer, main+.is-footer-render, .is-about-page+.is-footer-render{margin-top:0!important;}

/* Header stays consistent across core, WooCommerce and Tutor-backed pages */
.is-site-header-block{width:100%;}
.is-block-page-main,.is-block-article-shell,.tutor-wrap,.tutor-dashboard{scroll-margin-top:100px;}

/* Hero: content is contained; full-color glowing logo on the right */
.is-hero{min-height:650px;}
.is-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:48px;padding-top:118px;padding-bottom:58px;}
.is-hero-copy{max-width:610px;}
.is-hero h1{max-width:610px;}
.is-hero-lead{max-width:56ch;margin-top:20px;font-size:clamp(1rem,.4vw + .96rem,1.15rem);}
.is-hero-logo-stage{justify-self:center;align-self:center;width:min(430px,100%);display:grid;place-items:center;}
.is-hero-logo-stage img{width:min(380px,100%);height:auto!important;object-fit:contain;filter:drop-shadow(0 0 9px rgba(255,255,255,.28)) drop-shadow(0 0 24px rgba(56,134,168,.34)) drop-shadow(0 12px 35px rgba(0,0,0,.24));}
.is-hero::before{content:"";position:absolute;right:0;top:0;width:54%;height:100%;background:linear-gradient(90deg,rgba(0,26,36,1) 0%,rgba(0,26,36,.22) 28%,rgba(0,26,36,.54) 100%),url('../images/planos-v16.png') center/cover no-repeat;opacity:.12;mix-blend-mode:screen;pointer-events:none;}

/* Use supplied resources as SUPPORT art, not as course thumbnails */
.is-method-section{position:relative;overflow:hidden;}
.is-method-section::after{content:"";position:absolute;right:-8%;bottom:-18%;width:46%;height:82%;background:url('../images/estructura-v16.png') center/contain no-repeat;opacity:.055;pointer-events:none;}
.is-tools-section{background:linear-gradient(90deg,rgba(0,26,36,.97) 0%,rgba(0,26,36,.92) 48%,rgba(0,26,36,.74) 100%),url('../images/planos-v16.png') center right/cover no-repeat!important;}
.is-about-teaser-v6{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fff 55%,rgba(255,255,255,.94) 70%,rgba(255,255,255,.83) 100%),url('../images/equipo-premios-v16.jpg') 87% center/46% auto no-repeat!important;}
.is-home-blog-section{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(245,246,243,1) 0%,rgba(245,246,243,.96) 65%,rgba(245,246,243,.68) 100%),url('../images/camino-v16.png') right center/42% auto no-repeat;}
.is-contact-section{background:linear-gradient(90deg,rgba(0,26,36,.98) 0%,rgba(0,26,36,.92) 56%,rgba(0,26,36,.64) 100%),url('../images/cindy-working-v16.jpg') right center/cover no-repeat!important;}
.is-about-cta{background:linear-gradient(90deg,rgba(0,26,36,.97),rgba(0,26,36,.76)),url('../images/camino-v16.png') center/cover no-repeat!important;}

/* Tutor carousel: 3 desktop, 2 tablet, 1 mobile; compact cards */
.is-tutor-carousel{position:relative;padding-inline:40px;}
.is-tutor-carousel-track{overflow:hidden;scroll-behavior:smooth;}
.is-tutor-carousel-track .tutor-row,
.is-tutor-carousel-track .tutor-course-list,
.is-tutor-carousel-track .tutor-grid{display:flex!important;flex-wrap:nowrap!important;gap:18px!important;margin:0!important;align-items:stretch;}
.is-tutor-carousel-track .tutor-row>[class*="tutor-col"],
.is-tutor-carousel-track .tutor-course-list>*,
.is-tutor-carousel-track .tutor-grid>*{flex:0 0 calc((100% - 36px)/3)!important;max-width:calc((100% - 36px)/3)!important;width:calc((100% - 36px)/3)!important;padding:0!important;}
.is-tutor-carousel-track .tutor-course-card,
.is-tutor-carousel-track .tutor-card,
.is-tutor-carousel-track .tutor-course-loop{height:100%!important;min-height:0!important;border-radius:12px!important;box-shadow:0 12px 34px rgba(0,26,36,.08)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.is-tutor-carousel-track img{aspect-ratio:16/9!important;object-fit:cover!important;width:100%!important;max-height:185px!important;}
.is-tutor-carousel-track .tutor-card-body{padding:15px 16px 12px!important;flex:1!important;}
.is-tutor-carousel-track .tutor-course-name,
.is-tutor-carousel-track h3,
.is-tutor-carousel-track h4{font-size:1.15rem!important;line-height:1.25!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;margin-bottom:8px!important;}
.is-tutor-carousel-track .tutor-meta,
.is-tutor-carousel-track .tutor-meta span,
.is-tutor-carousel-track .tutor-ratings,
.is-tutor-carousel-track .tutor-fs-7,
.is-tutor-carousel-track .tutor-fs-6{font-size:12.5px!important;line-height:1.35!important;}
.is-tutor-carousel-track [class*="author"],
.is-tutor-carousel-track [class*="instructor"]{font-size:12.5px!important;}
.is-tutor-carousel-track .tutor-card-footer{padding:11px 14px!important;min-height:56px!important;}
.is-tutor-carousel-track .tutor-btn,
.is-tutor-carousel-track .tutor-button,
.is-tutor-carousel-track a[class*="tutor-btn"]{min-height:34px!important;padding:7px 13px!important;font-size:12px!important;line-height:1.2!important;border-radius:999px!important;white-space:nowrap!important;}
.is-course-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border:1px solid rgba(19,33,41,.16);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--is-steel);box-shadow:0 8px 24px rgba(0,0,0,.08);font-size:28px;line-height:1;cursor:pointer;}
.is-course-prev{left:0}.is-course-next{right:0}
.is-course-carousel-arrow:disabled{opacity:.32;cursor:default;}

/* Tutor archive / gallery cards: better proportions and less height */
.tutor-course-listing-grid,.tutor-course-list,.tutor-courses-wrap .tutor-row{--is-card-gap:22px;}
.tutor-course-card .tutor-card-body{padding:16px!important;}
.tutor-course-card .tutor-course-name,.tutor-course-card h3,.tutor-course-card h4{font-size:1.18rem!important;line-height:1.27!important;}
.tutor-course-card .tutor-card-footer{padding:12px 15px!important;}
.tutor-btn,.tutor-button{font-size:13px!important;line-height:1.25!important;min-height:38px!important;padding:8px 15px!important;}
/* "Empezar aprendizaje" and other long labels stay inside their pill */
.tutor-btn span,.tutor-button span,.tutor-btn,.tutor-button{white-space:normal!important;text-align:center!important;}

/* Blog/article typography: editorial, never oversized */
.is-block-article-shell{width:var(--is-reading)!important;max-width:760px!important;padding-top:30px;}
.is-block-article-shell>.wp-block-post-title{font-size:clamp(2.45rem,4.2vw,3.45rem)!important;line-height:1.04!important;letter-spacing:-.03em!important;margin-bottom:26px!important;}
.is-block-article-shell .wp-block-post-content{font-size:18px!important;line-height:1.72!important;}
.is-block-page-shell>.wp-block-post-title{font-size:clamp(2.4rem,4vw,3.3rem)!important;}

/* About page: original two-profile structure; backgrounds get depth */
.is-about-hero{min-height:510px;padding:132px 0 60px!important;background:linear-gradient(90deg,rgba(0,26,36,.98),rgba(0,26,36,.72)),url('../images/planos-v16.png') center/cover no-repeat!important;}
.is-team-original-section{position:relative;background:linear-gradient(90deg,rgba(2,17,23,.93),rgba(2,17,23,.78)),url('../images/equipo-premios-v16.jpg') center/cover no-repeat!important;color:#fff;}
.is-team-original-photo{width:210px!important;height:210px!important;}

/* Exact V16 footer composition from approved reference */
.is-site-footer.is-footer-v16{margin:0!important;padding:0!important;background:radial-gradient(circle at 16% 18%,rgba(27,75,94,.14),transparent 31%),linear-gradient(180deg,#061821 0%,#07171e 100%)!important;color:#f8f8f6;border-top:1px solid rgba(255,255,255,.08);}
.is-footer-v16-shell{width:var(--is-v16-footer);margin:0 auto;padding:48px 0 22px;}
.is-footer-v16-main{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(620px,1.45fr);gap:72px;align-items:start;}
.is-footer-v16-brand img{display:block;width:260px;height:auto;max-height:250px;object-fit:contain;object-position:left center;margin:0 0 12px;filter:drop-shadow(0 0 7px rgba(255,255,255,.16)) drop-shadow(0 0 16px rgba(54,130,160,.18));}
.is-footer-v16-brand p{max-width:370px;color:rgba(255,255,255,.68);font-size:15px;line-height:1.55;margin:0 0 22px;}
.is-footer-contact-link{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;color:rgba(255,255,255,.88);font-size:15px;margin:0 0 11px;}
.is-footer-contact-link:hover{color:var(--is-gold);}
.is-footer-contact-link>span{width:22px;height:22px;display:grid;place-items:center;color:var(--is-gold);flex:0 0 22px;}
.is-footer-contact-link svg{width:20px;height:20px;fill:currentColor;}
.is-footer-v16-right{min-width:0;}
.is-footer-v16-navs{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:64px;}
.is-footer-v16-col{display:flex;flex-direction:column;gap:0;}
.is-footer-v16-col>span{color:var(--is-gold);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.is-footer-v16-col a{display:block;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.86);font-size:16px;line-height:1.25;}
.is-footer-v16-col a:last-child{border-bottom:0;}
.is-footer-v16-col a:hover{color:var(--is-gold);}
.is-footer-v16-socials{display:flex;align-items:center;gap:16px;margin-top:28px;}
.is-social-v16{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#fff;background:transparent;transition:.2s ease;}
.is-social-v16:hover{border-color:var(--is-gold);color:var(--is-gold);transform:translateY(-2px);}
.is-social-v16 svg{width:21px;height:21px;fill:currentColor;display:block;}
.is-social-v16-wa{background:#18c86a;border-color:#18c86a;color:#fff;}
.is-social-v16-wa:hover{color:#fff;border-color:#21e07a;background:#21d773;}
.is-footer-v16-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:13px;color:rgba(255,255,255,.48);}
.is-whatsapp-float-v16{display:grid!important;place-items:center!important;width:58px!important;height:58px!important;padding:0!important;border-radius:50%!important;right:22px!important;bottom:22px!important;background:#1fc66d!important;border:2px solid rgba(255,255,255,.9)!important;box-shadow:0 10px 28px rgba(0,0,0,.26)!important;}
.is-whatsapp-float-v16 svg{display:block!important;width:29px!important;height:29px!important;fill:#fff!important;margin:0!important;transform:none!important;}

/* WooCommerce / Tutor pages retain site chrome and respect contained width */
.woocommerce-page .site-main,.tutor-page-wrap,.tutor-wrap,.tutor-dashboard{max-width:1040px;margin-left:auto!important;margin-right:auto!important;}

@media(max-width:1100px){
  :root{--is-shell:min(100% - 36px,980px);--is-v16-footer:min(100% - 36px,1040px);}
  .is-hero-grid{grid-template-columns:1.1fr .9fr;gap:30px;}
  .is-footer-v16-main{grid-template-columns:1fr;gap:34px;}
  .is-footer-v16-brand{display:grid;grid-template-columns:230px 1fr;gap:0 28px;align-items:start;}
  .is-footer-v16-brand img{grid-row:1/5;width:210px;}
  .is-footer-v16-right{padding-left:0;}
}
@media(max-width:820px){
  :root{--is-shell:calc(100vw - 32px);--is-section-space:62px;}
  h1{font-size:clamp(2.35rem,8vw,3.15rem);}
  h2{font-size:clamp(1.85rem,6vw,2.35rem);}
  .is-hero{min-height:auto;}
  .is-hero-grid{grid-template-columns:1fr;padding-top:105px;padding-bottom:50px;gap:22px;}
  .is-hero-logo-stage{width:min(270px,72vw);justify-self:center;}
  .is-hero-logo-stage img{width:100%;}
  .is-about-teaser-v6,.is-home-blog-section{background-image:none!important;}
  .is-tutor-carousel-track .tutor-row>[class*="tutor-col"],.is-tutor-carousel-track .tutor-course-list>*,.is-tutor-carousel-track .tutor-grid>*{flex-basis:calc((100% - 18px)/2)!important;max-width:calc((100% - 18px)/2)!important;width:calc((100% - 18px)/2)!important;}
  .is-footer-v16-brand{display:block;}
  .is-footer-v16-brand img{width:220px;margin-bottom:10px;}
  .is-footer-v16-navs{grid-template-columns:1fr 1fr;gap:30px 42px;}
  .is-footer-v16-col:last-child{grid-column:1/-1;}
  .is-footer-v16-bottom{flex-direction:column;align-items:flex-start;}
}
@media(max-width:560px){
  :root{--is-v16-footer:calc(100vw - 28px);}
  .is-tutor-carousel{padding-inline:28px;}
  .is-tutor-carousel-track .tutor-row>[class*="tutor-col"],.is-tutor-carousel-track .tutor-course-list>*,.is-tutor-carousel-track .tutor-grid>*{flex-basis:100%!important;max-width:100%!important;width:100%!important;}
  .is-course-carousel-arrow{width:32px;height:32px;font-size:22px;}
  .is-footer-v16-shell{padding-top:34px;}
  .is-footer-v16-brand img{width:190px;}
  .is-footer-v16-navs{grid-template-columns:1fr;gap:22px;}
  .is-footer-v16-col:last-child{grid-column:auto;}
  .is-footer-v16-col a{font-size:15px;padding:8px 0;}
  .is-footer-v16-socials{gap:12px;}
  .is-social-v16{width:40px;height:40px;}
  .is-whatsapp-float-v16{width:52px!important;height:52px!important;right:14px!important;bottom:14px!important;}
}


/* =========================================================
   V17 — Tutor carousel fixed to max 3 visible + 3s autoplay,
   and white transparent logo in hero/footer.
   ========================================================= */
.is-hero-logo-stage{width:min(360px,100%)!important;}
.is-hero-logo-stage img{width:min(260px,100%)!important;filter:drop-shadow(0 0 12px rgba(255,255,255,.18)) drop-shadow(0 0 26px rgba(255,255,255,.12)) drop-shadow(0 14px 36px rgba(0,0,0,.22))!important;}

.is-footer-v16-brand img{width:min(250px,100%)!important;max-width:250px!important;filter:drop-shadow(0 0 10px rgba(255,255,255,.12)) drop-shadow(0 8px 24px rgba(0,0,0,.18))!important;}

/* Remove stray blank gap before the footer on inner pages */
main + footer.is-site-footer,
.wp-site-blocks > footer.is-site-footer,
body footer.is-site-footer{margin-top:0!important;}
main > section:last-child,
main > div:last-child,
main > article:last-child{margin-bottom:0!important;}

/* Tutor carousel with hard max of 3 cards visible */
.is-tutor-carousel{position:relative;padding-inline:54px!important;max-width:min(1240px,100%);margin-inline:auto;}
.is-tutor-carousel-track{overflow:hidden!important;scroll-behavior:smooth;}
.is-tutor-carousel-track .tutor-row,
.is-tutor-carousel-track .tutor-course-list,
.is-tutor-carousel-track .tutor-grid,
.is-tutor-carousel-track .list-wrap,
.is-tutor-carousel-track .tutor-courses-wrap,
.is-tutor-carousel-track > div:first-child{display:flex!important;flex-wrap:nowrap!important;gap:24px!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;margin:0!important;padding:0!important;}
.is-tutor-carousel-track .tutor-row > *,
.is-tutor-carousel-track .tutor-course-list > *,
.is-tutor-carousel-track .tutor-grid > *,
.is-tutor-carousel-track .list-wrap > *,
.is-tutor-carousel-track .tutor-courses-wrap > *,
.is-tutor-carousel-track > div:first-child > *{padding:0!important;margin:0!important;min-width:0!important;}
.is-tutor-carousel-track .tutor-course-card,
.is-tutor-carousel-track .tutor-card,
.is-tutor-carousel-track .tutor-course-loop,
.is-tutor-carousel-track article,
.is-tutor-carousel-track .tutor-course-single{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:16px!important;box-shadow:0 14px 38px rgba(0,26,36,.08)!important;}
.is-tutor-carousel-track img{display:block!important;width:100%!important;aspect-ratio:16/9!important;max-height:210px!important;object-fit:cover!important;}
.is-tutor-carousel-track .tutor-card-body,
.is-tutor-carousel-track .tutor-course-content,
.is-tutor-carousel-track .tutor-course-loop-content{padding:18px 18px 14px!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;min-height:0!important;}
.is-tutor-carousel-track .tutor-course-name,
.is-tutor-carousel-track h3,
.is-tutor-carousel-track h4,
.is-tutor-carousel-track .tutor-course-loop-title h2,
.is-tutor-carousel-track .tutor-course-loop-title h3{font-size:1.08rem!important;line-height:1.32!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-wrap:balance!important;margin-bottom:10px!important;hyphens:auto;word-break:normal;overflow-wrap:anywhere;}
.is-tutor-carousel-track .tutor-meta,
.is-tutor-carousel-track .tutor-meta span,
.is-tutor-carousel-track .tutor-ratings,
.is-tutor-carousel-track .tutor-fs-7,
.is-tutor-carousel-track .tutor-fs-6,
.is-tutor-carousel-track .tutor-course-author,
.is-tutor-carousel-track [class*="author"],
.is-tutor-carousel-track [class*="instructor"]{font-size:12.5px!important;line-height:1.42!important;}
.is-tutor-carousel-track .tutor-card-footer,
.is-tutor-carousel-track .tutor-course-footer{padding:12px 16px 15px!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.is-tutor-carousel-track .tutor-btn,
.is-tutor-carousel-track .tutor-button,
.is-tutor-carousel-track a[class*="tutor-btn"],
.is-tutor-carousel-track button[class*="tutor-btn"]{min-height:38px!important;padding:8px 15px!important;font-size:12.5px!important;line-height:1.2!important;border-radius:999px!important;white-space:normal!important;text-align:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;}
.is-tutor-carousel-track .tutor-btn span,
.is-tutor-carousel-track .tutor-button span{white-space:normal!important;overflow-wrap:anywhere!important;}
.is-course-carousel-arrow{width:42px!important;height:42px!important;font-size:30px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(19,33,41,.14)!important;box-shadow:0 10px 30px rgba(0,0,0,.10)!important;}
.is-course-prev{left:0!important;}.is-course-next{right:0!important;}

@media(max-width:980px){
  .is-tutor-carousel{padding-inline:42px!important;}
}
@media(max-width:820px){
  .is-tutor-carousel{padding-inline:34px!important;}
}
@media(max-width:560px){
  .is-tutor-carousel{padding-inline:26px!important;}
  .is-course-carousel-arrow{width:34px!important;height:34px!important;font-size:22px!important;}
}


/* =========================================================
   V18 — header clearance, footer continuity and stable cards
   ========================================================= */
:root{
  --is-v18-header-clear-desktop: 102px;
  --is-v18-header-clear-tablet: 88px;
  --is-v18-header-clear-mobile: 78px;
}

/* Prevent the fixed header from covering inner-page content. */
body:not(.home):not(.front-page){
  padding-top:var(--is-v18-header-clear-desktop)!important;
}
body:not(.home):not(.front-page) .wp-site-blocks{
  padding-top:0!important;
}
body:not(.home):not(.front-page) .is-block-page-main,
body:not(.home):not(.front-page) .is-content-main,
body:not(.home):not(.front-page) .is-about-main,
body:not(.home):not(.front-page) .is-blog-main,
body:not(.home):not(.front-page) .woocommerce-page main,
body:not(.home):not(.front-page) .woocommerce main,
body:not(.home):not(.front-page) .tutor-page-wrap,
body:not(.home):not(.front-page) .tutor-wrap,
body:not(.home):not(.front-page) .tutor-dashboard{
  padding-top:24px!important;
}
body:not(.home):not(.front-page) .wp-block-post-title,
body.woocommerce-page .woocommerce-products-header__title.page-title,
body.woocommerce-shop .woocommerce-products-header__title.page-title{
  margin-top:0!important;
}
body.woocommerce-page .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header,
body.woocommerce-page .woocommerce-notices-wrapper,
body.woocommerce-shop .woocommerce-notices-wrapper{
  margin-top:0!important;
  padding-top:0!important;
}

/* Stronger anchor landing so sections never sit under the menu. */
[data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home, #articulos{
  scroll-margin-top:calc(var(--is-v18-header-clear-desktop) + 20px)!important;
}

/* Remove the white gap before the footer and seal the transition. */
.wp-site-blocks > .is-footer-render,
.is-footer-render,
.is-footer-render > .wp-block-shortcode,
.wp-site-blocks > .wp-block-template-part{
  margin:0!important;
  padding:0!important;
}
.is-footer-render{
  background:#07161c!important;
}
main,
.is-block-page-main,
.is-content-main,
.is-about-main,
.is-blog-main,
.woocommerce,
.tutor-page-wrap,
.tutor-wrap,
.tutor-dashboard{
  margin-bottom:0!important;
}
.is-block-page-main,
.is-content-main,
.is-about-main,
.is-blog-main{
  padding-bottom:48px!important;
}
.is-contact-section{padding-bottom:48px!important;margin-bottom:0!important;}
.is-contact-section:last-child,
.is-about-main:last-child,
.is-blog-main:last-child,
.is-content-main:last-child,
.is-block-page-main:last-child{margin-bottom:0!important;}

/* Tutor carousel: always max 3 visible on desktop, stable card widths. */
.is-tutor-carousel{
  position:relative;
  max-width:min(1240px,100%);
  margin-inline:auto;
  padding-inline:56px!important;
}
.is-tutor-carousel-track{
  overflow:hidden!important;
  width:100%!important;
  scroll-behavior:smooth;
}
.is-tutor-carousel-track .tutor-row,
.is-tutor-carousel-track .tutor-course-list,
.is-tutor-carousel-track .tutor-grid,
.is-tutor-carousel-track .list-wrap,
.is-tutor-carousel-track .tutor-courses-wrap,
.is-tutor-carousel-track .tutor-courses,
.is-tutor-carousel-track > div:first-child{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:24px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.is-tutor-carousel-track .tutor-row > *,
.is-tutor-carousel-track .tutor-course-list > *,
.is-tutor-carousel-track .tutor-grid > *,
.is-tutor-carousel-track .list-wrap > *,
.is-tutor-carousel-track .tutor-courses-wrap > *,
.is-tutor-carousel-track .tutor-courses > *,
.is-tutor-carousel-track > div:first-child > *{
  flex:0 0 calc((100% - 48px)/3)!important;
  width:calc((100% - 48px)/3)!important;
  min-width:calc((100% - 48px)/3)!important;
  max-width:calc((100% - 48px)/3)!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
}
.is-tutor-carousel-track .tutor-row > * > *,
.is-tutor-carousel-track .tutor-course-list > * > *,
.is-tutor-carousel-track .tutor-grid > * > *,
.is-tutor-carousel-track .list-wrap > * > *,
.is-tutor-carousel-track .tutor-courses-wrap > * > *,
.is-tutor-carousel-track .tutor-courses > * > *{
  width:100%!important;
  height:100%!important;
}
.is-tutor-carousel-track .tutor-course-card,
.is-tutor-carousel-track .tutor-card,
.is-tutor-carousel-track .tutor-course-loop,
.is-tutor-carousel-track article,
.is-tutor-carousel-track .tutor-course-single{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(15,34,44,.08)!important;
  box-shadow:0 16px 40px rgba(0,26,36,.08)!important;
}
.is-tutor-carousel-track img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  max-height:214px!important;
  object-fit:cover!important;
}
.is-tutor-carousel-track .tutor-card-body,
.is-tutor-carousel-track .tutor-course-content,
.is-tutor-carousel-track .tutor-course-loop-content,
.is-tutor-carousel-track .tutor-card-body > div:first-child{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  padding:18px 18px 14px!important;
}
.is-tutor-carousel-track .tutor-course-name,
.is-tutor-carousel-track h3,
.is-tutor-carousel-track h4,
.is-tutor-carousel-track .tutor-course-loop-title h2,
.is-tutor-carousel-track .tutor-course-loop-title h3{
  margin-bottom:10px!important;
  font-size:1.08rem!important;
  line-height:1.32!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.is-tutor-carousel-track .tutor-meta,
.is-tutor-carousel-track .tutor-meta span,
.is-tutor-carousel-track .tutor-ratings,
.is-tutor-carousel-track .tutor-fs-7,
.is-tutor-carousel-track .tutor-fs-6,
.is-tutor-carousel-track [class*="author"],
.is-tutor-carousel-track [class*="instructor"]{
  font-size:12.5px!important;
  line-height:1.42!important;
}
.is-tutor-carousel-track .tutor-card-footer,
.is-tutor-carousel-track .tutor-course-footer,
.is-tutor-carousel-track .tutor-course-loop-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:58px!important;
  padding:12px 16px 16px!important;
}
.is-tutor-carousel-track .tutor-btn,
.is-tutor-carousel-track .tutor-button,
.is-tutor-carousel-track a[class*="tutor-btn"],
.is-tutor-carousel-track button[class*="tutor-btn"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  min-height:38px!important;
  padding:8px 15px!important;
  border-radius:999px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.2!important;
  font-size:12.5px!important;
}
.is-tutor-carousel-track .tutor-btn span,
.is-tutor-carousel-track .tutor-button span{white-space:normal!important;overflow-wrap:anywhere!important;}
.is-course-carousel-arrow{
  width:42px!important;
  height:42px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(15,34,44,.12)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.10)!important;
  font-size:30px!important;
}
.is-course-prev{left:0!important;}
.is-course-next{right:0!important;}

/* WooCommerce product cards aligned with the theme. */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  margin:28px 0 0!important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important;}
.woocommerce ul.products li.product{
  float:none!important;
  width:auto!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  border:1px solid rgba(15,34,44,.08)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(0,26,36,.06)!important;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  width:100%!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  margin:0!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:3.2em;
  font-size:1.18rem!important;
  line-height:1.28!important;
  padding-top:18px!important;
}
.woocommerce ul.products li.product .price{
  font-size:1rem!important;
  line-height:1.35!important;
  padding-bottom:0!important;
}
.woocommerce ul.products li.product .button{
  width:calc(100% - 40px)!important;
  margin:16px 20px 0!important;
  text-align:center!important;
}
.woocommerce ul.products li.product .star-rating{margin-left:20px!important;}

@media (max-width:900px){
  body:not(.home):not(.front-page){padding-top:var(--is-v18-header-clear-tablet)!important;}
  [data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home, #articulos{scroll-margin-top:calc(var(--is-v18-header-clear-tablet) + 18px)!important;}
  .is-tutor-carousel{padding-inline:40px!important;}
  .is-tutor-carousel-track .tutor-row > *,
  .is-tutor-carousel-track .tutor-course-list > *,
  .is-tutor-carousel-track .tutor-grid > *,
  .is-tutor-carousel-track .list-wrap > *,
  .is-tutor-carousel-track .tutor-courses-wrap > *,
  .is-tutor-carousel-track .tutor-courses > *,
  .is-tutor-carousel-track > div:first-child > *{
    flex-basis:calc((100% - 24px)/2)!important;
    width:calc((100% - 24px)/2)!important;
    min-width:calc((100% - 24px)/2)!important;
    max-width:calc((100% - 24px)/2)!important;
  }
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;}
}
@media (max-width:560px){
  body:not(.home):not(.front-page){padding-top:var(--is-v18-header-clear-mobile)!important;}
  [data-anchor-section], #preguntas, #contacto, #metodo, #cursos, #herramientas, #nosotros-home, #articulos{scroll-margin-top:calc(var(--is-v18-header-clear-mobile) + 16px)!important;}
  .is-tutor-carousel{padding-inline:26px!important;}
  .is-tutor-carousel-track .tutor-row,
  .is-tutor-carousel-track .tutor-course-list,
  .is-tutor-carousel-track .tutor-grid,
  .is-tutor-carousel-track .list-wrap,
  .is-tutor-carousel-track .tutor-courses-wrap,
  .is-tutor-carousel-track .tutor-courses,
  .is-tutor-carousel-track > div:first-child{gap:16px!important;}
  .is-tutor-carousel-track .tutor-row > *,
  .is-tutor-carousel-track .tutor-course-list > *,
  .is-tutor-carousel-track .tutor-grid > *,
  .is-tutor-carousel-track .list-wrap > *,
  .is-tutor-carousel-track .tutor-courses-wrap > *,
  .is-tutor-carousel-track .tutor-courses > *,
  .is-tutor-carousel-track > div:first-child > *{
    flex-basis:100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
  .is-course-carousel-arrow{width:34px!important;height:34px!important;font-size:22px!important;}
  .woocommerce ul.products{grid-template-columns:1fr!important;gap:18px!important;}
}


/* =========================================================
   V19 — real header spacer, zero footer gap and custom Tutor cards
   ========================================================= */
:root{
  --is-v19-header-space:102px;
}

/* The header is fixed; this real flow element guarantees that no internal
   template, WooCommerce archive or Tutor screen begins underneath it. */
.is-header-flow-spacer{
  display:block!important;
  width:100%!important;
  height:var(--is-v19-header-space)!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
  background:transparent!important;
}
body.home .is-header-flow-spacer,
body.front-page .is-header-flow-spacer{height:0!important;}

/* Remove old compensations now that the spacer owns the vertical clearance. */
body:not(.home):not(.front-page){padding-top:0!important;}
body:not(.home):not(.front-page) .wp-site-blocks{padding-top:0!important;}
body:not(.home):not(.front-page) .is-block-page-main,
body:not(.home):not(.front-page) .is-content-main,
body:not(.home):not(.front-page) .is-about-main,
body:not(.home):not(.front-page) .is-blog-main{padding-top:26px!important;}
body.woocommerce-page:not(.home) main,
body.woocommerce-shop:not(.home) main{padding-top:26px!important;}

/* Eliminate the WordPress template block-gap that produced the white strip. */
.wp-site-blocks{
  padding-bottom:0!important;
}
.wp-site-blocks > * + *{
  margin-block-start:0!important;
}
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > .is-footer-render,
.is-footer-render,
.is-footer-render > .wp-block-shortcode,
.is-footer-render + *{
  margin-top:0!important;
  margin-bottom:0!important;
}
.is-footer-render{background:#07161c!important;}
main:last-of-type,
main > :last-child,
.is-contact-section:last-child,
.is-about-cta:last-child{
  margin-bottom:0!important;
}

/* Home course carousel — completely independent of Tutor's internal archive DOM. */
.is-course-carousel-v19{
  position:relative;
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 52px;
}
.is-course-carousel-viewport{
  width:100%;
  overflow:hidden;
  padding:6px 0 18px;
}
.is-course-carousel-track-v19{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:24px;
  width:100%;
  will-change:transform;
}
.is-course-slide-v19{
  flex:0 0 calc((100% - 48px)/3);
  width:calc((100% - 48px)/3);
  max-width:calc((100% - 48px)/3);
  min-width:0;
  box-sizing:border-box;
}
.is-course-card-v19{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(13,35,45,.11);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,26,36,.08);
}
.is-course-thumb-v19{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dce5e7;
}
.is-course-thumb-v19 img{
  display:block;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
}
.is-course-thumb-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  padding:18px;
  color:#fff;
  background:linear-gradient(135deg,#0a2732,#163b4a);
  font-family:var(--is-display);
  font-size:1.2rem;
}
.is-course-card-body-v19{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:15px 16px 14px;
}
.is-course-rating-v19{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:24px;
  margin-bottom:8px;
}
.is-course-stars-v19{
  display:flex;
  gap:2px;
  color:#d99a00;
  font-size:16px;
  line-height:1;
}
.is-course-stars-v19 span{opacity:.34;}
.is-course-stars-v19 .is-filled{opacity:1;}
.is-course-rating-v19 small{color:var(--is-muted);font-size:12px;}
.is-course-title-v19{
  margin:0 0 10px!important;
  font-family:var(--is-display);
  font-size:1.18rem!important;
  line-height:1.3!important;
}
.is-course-title-v19 a{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:var(--is-deep);
}
.is-course-meta-v19{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 15px;
  margin:2px 0 14px;
  color:#5b6b73;
  font-size:12.5px;
}
.is-course-meta-v19 span{display:inline-flex;align-items:center;gap:5px;}
.is-course-meta-v19 b{font-size:15px;font-weight:400;color:#71828c;}
.is-course-author-v19{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding-top:8px;
  min-height:48px;
}
.is-course-avatar-v19{
  width:36px!important;
  height:36px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
.is-course-author-v19 span{display:flex;flex-wrap:wrap;gap:3px 5px;line-height:1.28;}
.is-course-author-v19 small{color:#72808a;font-size:12px;}
.is-course-author-v19 strong{color:#263940;font-size:12.5px;font-weight:650;}
.is-course-footer-v19{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 14px 13px;
  border-top:1px solid rgba(13,35,45,.09);
  background:#fafbfb;
}
.is-course-footer-v19 > *{max-width:100%;}
.is-course-footer-v19 .tutor-course-price,
.is-course-footer-v19 .tutor-course-loop-price,
.is-course-footer-v19 .tutor-course-booking,
.is-course-footer-v19 .tutor-course-loop-footer,
.is-course-footer-v19 .tutor-course-loop-price-content{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
.is-course-footer-v19 .tutor-btn,
.is-course-footer-v19 .tutor-button,
.is-course-footer-v19 a[class*="tutor-btn"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  max-width:100%!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center!important;
}
.is-course-footer-v19 del{font-size:11.5px!important;opacity:.6;}
.is-course-footer-v19 ins,
.is-course-footer-v19 .tutor-course-price{font-size:14px!important;font-weight:750;}
.is-course-carousel-v19 .is-course-carousel-arrow{
  top:50%!important;
  transform:translateY(-50%)!important;
}
.is-course-carousel-v19 .is-course-prev{left:0!important;}
.is-course-carousel-v19 .is-course-next{right:0!important;}

/* Hide any leftover shortcode-driven carousel styling from prior versions. */
.is-course-carousel-v19 .is-tutor-carousel-track{display:none!important;}

/* Product archive cards: proportional and contained. */
.woocommerce ul.products li.product{
  min-height:0!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:3em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.woocommerce ul.products li.product .button{
  margin-top:auto!important;
  margin-bottom:18px!important;
}

@media(max-width:900px){
  :root{--is-v19-header-space:88px;}
  .is-course-carousel-v19{padding-inline:42px;}
  .is-course-slide-v19{
    flex-basis:calc((100% - 24px)/2);
    width:calc((100% - 24px)/2);
    max-width:calc((100% - 24px)/2);
  }
}
@media(max-width:560px){
  :root{--is-v19-header-space:78px;}
  .is-course-carousel-v19{padding-inline:28px;}
  .is-course-carousel-track-v19{gap:16px;}
  .is-course-slide-v19{
    flex-basis:100%;
    width:100%;
    max-width:100%;
  }
  .is-course-card-v19{min-height:410px;}
  .is-course-carousel-v19 .is-course-carousel-arrow{width:32px!important;height:32px!important;font-size:22px!important;}
}


/* =========================================================
   V20 — footer continuity + wider contact information cards
   ========================================================= */

/* WordPress can reintroduce a template block-gap even when the footer itself
   has zero margin. The root closing area is dark so no white strip can appear. */
body:has(.is-footer-v16),
.wp-site-blocks:has(.is-footer-render){
  background:#07161c!important;
}
.wp-site-blocks{
  padding-bottom:0!important;
  row-gap:0!important;
  gap:0!important;
}
.wp-site-blocks > *{
  margin-block-end:0!important;
}
.wp-site-blocks > * + *{
  margin-block-start:0!important;
}
.wp-site-blocks > .wp-block-template-part:last-child,
.wp-site-blocks > footer:last-child,
.wp-site-blocks > .is-footer-render:last-child{
  margin-top:0!important;
  padding-top:0!important;
  background:#07161c!important;
}
.wp-block-template-part:has(.is-footer-render),
.wp-block-template-part:has(.is-site-footer){
  margin:0!important;
  padding:0!important;
  background:#07161c!important;
  line-height:0!important;
}
.wp-block-template-part:has(.is-footer-render) .is-footer-render,
.wp-block-template-part:has(.is-site-footer) .is-site-footer{
  line-height:normal!important;
}
.is-footer-render,
.is-footer-render > .wp-block-shortcode,
.is-footer-render .wp-block-shortcode{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#07161c!important;
}
.is-site-footer.is-footer-v16{
  margin-top:-1px!important;
}

/* Contact section: remove rigid minimum column widths that made the cards look
   like narrow vertical boxes at intermediate viewport sizes. */
.is-contact-layout{
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  gap:clamp(38px,4vw,58px)!important;
  align-items:start!important;
}
.is-contact-copy,
.is-contact-card{
  min-width:0!important;
  width:100%!important;
}
.is-contact-direct-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:28px!important;
}
.is-contact-direct-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:116px!important;
  box-sizing:border-box!important;
  padding:20px 22px!important;
  border-radius:18px!important;
}
.is-contact-direct-card strong{
  max-width:100%!important;
  font-size:clamp(1.02rem,1.05vw,1.22rem)!important;
  line-height:1.3!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.is-contact-direct-card small{
  max-width:52ch!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.is-contact-whatsapp strong{
  letter-spacing:.005em;
}

/* The form column also stays contained instead of forcing the left column to
   collapse when the viewport is between desktop and tablet widths. */
.is-contact-card{
  box-sizing:border-box!important;
  max-width:none!important;
}

@media(max-width:1100px){
  .is-contact-layout{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  .is-contact-copy{
    max-width:760px!important;
  }
  .is-contact-direct-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  .is-contact-direct-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .is-contact-direct-card{
    min-height:108px!important;
    padding:18px!important;
  }
  .is-contact-direct-card strong{
    font-size:1rem!important;
    overflow-wrap:anywhere!important;
  }
}
