/* Audit candidate only. NOT ENQUEUED. Exact original order. */

/* SOURCE: refinement-0.3.7.css */
/* EC Theme 0.3.6 — Manual Refinement / Public Experience Hardening
 * Checklist aplicado: headline, CTA, contraste, respiro, cards, densidade,
 * identidade, mobile, hierarquia, espaçamento e consistência.
 */
:root{--ec-premium-shadow:0 18px 54px rgba(2,9,46,.09);--ec-premium-shadow-hover:0 24px 66px rgba(2,9,46,.14)}
.ec-button{min-height:46px;padding-inline:20px;font-weight:700;letter-spacing:-.01em}.ec-button:focus-visible,.ec-text-link:focus-visible,.ec-public-menu a:focus-visible{outline:3px solid color-mix(in srgb,var(--ec-gold-500) 54%,white);outline-offset:4px}
.ec-section{padding-block:72px}.ec-section-head{margin-bottom:30px}.ec-section-head>p{max-width:760px;line-height:1.65}.ec-section-title{letter-spacing:-.025em}

/* Home hero: mais compacto, mais editorial e com imagem real sempre que houver acervo. */
.ec-home-hero__grid{min-height:560px;padding-block:62px;grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr);gap:44px}.ec-home-hero h1{font-size:clamp(3.05rem,5.3vw,5rem);max-width:760px;line-height:.98}.ec-home-hero__copy>p{max-width:670px;font-size:1.12rem;line-height:1.62}.ec-home-hero__actions{margin-top:26px}.ec-home-hero__proof{margin-top:26px}.ec-home-hero__visual{min-height:430px}.ec-hero-tile{border-radius:22px}.ec-hero-tile--1{width:76%;height:73%;top:1%}.ec-hero-tile--2{width:50%;height:40%;bottom:2%}.ec-hero-tile--3{width:40%;height:34%;bottom:-1%}.ec-home-hero__visual:has(.ec-hero-tile--1:last-child) .ec-hero-tile--1{width:100%;height:100%;inset:0;transform:none}.ec-home-hero__fallback{min-height:390px}

/* Chroma: cor da área mais perceptível, sem obliterar a fotografia. */
.ec-course-card__media:before{background:linear-gradient(108deg,color-mix(in srgb,var(--ec-course-accent) 68%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 31%,transparent) 40%,transparent 72%),linear-gradient(180deg,transparent 40%,rgba(2,9,46,.08) 64%,rgba(2,9,46,.72) 100%)!important}.ec-course-card__image-wash{opacity:.58!important;background:radial-gradient(circle,color-mix(in srgb,var(--ec-course-accent) 76%,transparent),transparent 68%)!important}.ec-course-hero__media:before{background:linear-gradient(104deg,color-mix(in srgb,var(--ec-course-accent) 84%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 44%,transparent) 37%,color-mix(in srgb,var(--ec-course-accent) 12%,transparent) 67%,transparent 82%),linear-gradient(180deg,transparent 58%,rgba(2,9,46,.22))!important}.ec-course-hero__media:after{opacity:.68!important;background:radial-gradient(circle,color-mix(in srgb,var(--ec-course-accent) 86%,transparent),transparent 66%)!important}.ec-course-card,.ec-library-card,.ec-public-card,.ec-door-card,.ec-path-panel{box-shadow:var(--ec-premium-shadow)}.ec-course-card:hover,.ec-library-card:hover{box-shadow:var(--ec-premium-shadow-hover)}

/* Currículo: avaliação é requisito da aula, não uma aula irmã. */
.ec-course-curriculum__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.ec-course-curriculum__head h2{margin-bottom:0}.ec-curriculum-summary{display:flex;flex-wrap:wrap;gap:8px}.ec-curriculum-summary>span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:999px;background:var(--ec-bg);border:1px solid var(--ec-line);color:var(--ec-muted);font-size:.82rem}.ec-curriculum-summary .ec-icon{width:16px;height:16px;color:var(--ec-blue-700)}.ec-curriculum-list details{border-radius:16px;overflow:hidden}.ec-curriculum-list details+details{margin-top:12px}.ec-curriculum-list summary{padding:16px 18px}.ec-curriculum-units{list-style:none!important;padding:0!important;margin:0!important}.ec-curriculum-unit{padding:0!important;background:#fff}.ec-curriculum-unit+.ec-curriculum-unit{border-top:1px solid var(--ec-line)}.ec-curriculum-unit__lesson{display:flex;align-items:center;gap:12px;padding:14px 16px}.ec-curriculum-unit__number{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--ec-course-accent) 10%,white);border:1px solid color-mix(in srgb,var(--ec-course-accent) 20%,var(--ec-line));color:var(--ec-course-accent);font-size:.78rem;font-weight:800}.ec-curriculum-unit__lesson>span:last-child{display:grid;gap:2px}.ec-curriculum-unit__lesson strong{font-size:.95rem;color:var(--ec-blue-950)}.ec-curriculum-unit__lesson small,.ec-curriculum-unit__requirements small{color:var(--ec-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:750}.ec-curriculum-unit__requirements{display:grid;gap:7px;padding:0 16px 14px 64px}.ec-curriculum-unit__requirements>span{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:10px;background:color-mix(in srgb,var(--ec-course-accent) 5%,#fff);border:1px solid color-mix(in srgb,var(--ec-course-accent) 12%,var(--ec-line))}.ec-curriculum-unit__requirements .ec-icon{width:16px;height:16px;margin-top:2px;color:var(--ec-course-accent)}.ec-curriculum-unit__requirements>span>span{display:grid;gap:1px}.ec-curriculum-unit__requirements strong{font-size:.84rem;font-weight:650;color:var(--ec-text)}

/* Biblioteca editorial: imagem, hierarquia, leitura e navegação semântica. */
.ec-library-grid{align-items:stretch}.ec-library-card{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.ec-library-card:hover{transform:translateY(-3px)}.ec-library-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ec-blue-950)}.ec-library-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.ec-library-card:hover .ec-library-card__media img{transform:scale(1.025)}.ec-library-card>div{padding:24px}.ec-library-card h2,.ec-library-card h3{margin:.35em 0 .45em;line-height:1.12}.ec-library-card p{line-height:1.58}
.ec-article-hero{background:radial-gradient(circle at 86% 12%,rgba(205,162,44,.11),transparent 25%),linear-gradient(180deg,#fff,var(--ec-bg));padding:34px 0 54px;border-bottom:1px solid var(--ec-line)}.ec-article-hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(390px,1.08fr);align-items:center;gap:48px;margin-top:32px}.ec-article-hero h1{font-size:clamp(2.7rem,5.2vw,4.7rem);line-height:1.02;letter-spacing:-.035em;margin:.15em 0 .3em}.ec-article-hero__dek{max-width:720px;color:var(--ec-muted);font-size:1.1rem;line-height:1.6}.ec-article-hero__media{margin:0;aspect-ratio:16/10;border-radius:22px;overflow:hidden;border:1px solid var(--ec-line);box-shadow:var(--ec-premium-shadow)}.ec-article-hero__media img{width:100%;height:100%;object-fit:cover}.ec-article-shell{padding:54px 0 72px}.ec-article-layout{display:grid;grid-template-columns:230px minmax(0,var(--ec-reading-max));justify-content:center;gap:48px;align-items:start}.ec-article-toc{position:sticky;top:112px;padding:18px;border:1px solid var(--ec-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(2,9,46,.045)}.ec-article-toc .ec-kicker{margin-bottom:10px}.ec-article-toc ol{list-style:none;margin:0;padding:0}.ec-article-toc li+li{margin-top:7px}.ec-article-toc li.is-h3{padding-left:12px}.ec-article-toc a{color:var(--ec-muted);font-size:.84rem;line-height:1.35;text-decoration:none}.ec-article-toc a:hover{color:var(--ec-blue-800)}.ec-article-content{min-width:0}.ec-article-content>p,.ec-article-content>ul,.ec-article-content>ol{font-size:1.05rem;line-height:1.78}.ec-article-content h2{scroll-margin-top:116px}.ec-article-content h3{scroll-margin-top:116px}.ec-article-author{display:flex;gap:16px;margin-top:48px;padding:22px;border-radius:16px;border:1px solid var(--ec-line);background:linear-gradient(145deg,#fff,var(--ec-bg))}.ec-article-author__icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:var(--ec-gold-100);color:var(--ec-warning)}.ec-article-author__icon .ec-icon{width:23px;height:23px}.ec-article-author strong{display:block;color:var(--ec-blue-950);font-size:1rem}.ec-article-author p{margin:6px 0 0;color:var(--ec-muted);font-size:.9rem;line-height:1.55}.ec-article-related{background:var(--ec-bg);border-top:1px solid var(--ec-line)}

/* Mobile premium: leitura primeiro, sem desktop comprimido. */
@media(max-width:980px){.ec-home-hero__grid{grid-template-columns:1fr;min-height:0;padding-block:54px;gap:34px}.ec-home-hero__visual{min-height:390px}.ec-article-hero__grid{grid-template-columns:1fr;gap:28px}.ec-article-hero__media{max-width:760px}.ec-article-layout{grid-template-columns:1fr;max-width:760px}.ec-article-toc{position:relative;top:auto;order:0}.ec-course-curriculum__head{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.ec-section{padding-block:54px}.ec-home-hero__grid{padding-block:42px}.ec-home-hero h1{font-size:clamp(2.75rem,13vw,3.75rem)}.ec-home-hero__visual{min-height:310px}.ec-hero-tile--1{width:84%;height:76%}.ec-hero-tile--2{width:52%;height:40%}.ec-hero-tile--3{width:42%;height:32%}.ec-home-hero__proof{gap:8px 14px}.ec-course-hero__media:before{background:linear-gradient(104deg,color-mix(in srgb,var(--ec-course-accent) 72%,transparent),color-mix(in srgb,var(--ec-course-accent) 30%,transparent) 44%,transparent 80%)!important}.ec-course-hero__media:after{opacity:.48!important}.ec-curriculum-summary{width:100%}.ec-curriculum-unit__requirements{padding-left:16px}.ec-article-hero{padding:24px 0 36px}.ec-article-hero__grid{margin-top:20px}.ec-article-hero h1{font-size:clamp(2.25rem,11.5vw,3.15rem)}.ec-article-hero__media{border-radius:16px}.ec-article-shell{padding:36px 0 54px}.ec-article-layout{gap:24px}.ec-article-toc{padding:16px}.ec-article-toc nav{max-height:240px;overflow:auto}.ec-article-content>p,.ec-article-content>ul,.ec-article-content>ol{font-size:1rem;line-height:1.72}.ec-article-author{align-items:flex-start}.ec-section-head--row{align-items:flex-start;flex-direction:column}.ec-library-card>div{padding:20px}}

/* ========================================================================== */
/* 0.3.7 — Full-bleed editorial imagery + catalog policy presentation         */
/* ========================================================================== */

/* Home hero: one image belongs to the section, not to a card. */
.ec-home-hero--cinematic{position:relative;isolation:isolate;min-height:550px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#02092e 0%,#023564 74%,#0b4d7a 100%)}
.ec-home-hero__bg{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover}
.ec-home-hero__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,9,46,1) 0%,rgba(2,18,58,.98) 24%,rgba(2,43,82,.86) 44%,rgba(2,53,100,.48) 64%,rgba(2,53,100,.15) 82%,rgba(2,53,100,.08) 100%),linear-gradient(0deg,rgba(2,9,46,.35),rgba(2,9,46,.02) 55%)}
.ec-home-hero--cinematic.is-no-image .ec-home-hero__veil{background:linear-gradient(120deg,rgba(2,9,46,1),rgba(2,53,100,.95) 72%,rgba(11,77,122,.8))}
.ec-home-hero__content{width:100%;padding:64px 0 58px}
.ec-home-hero--cinematic .ec-home-hero__copy{position:relative;z-index:2;max-width:650px}
.ec-home-hero--cinematic .ec-home-hero__copy h1{max-width:640px;font-size:clamp(46px,5.5vw,72px);line-height:1.01}
.ec-home-hero--cinematic .ec-home-hero__copy>p{max-width:610px;font-size:18px;line-height:1.58}
.ec-home-hero--cinematic .ec-home-hero__proof{margin-top:25px}

/* Universal public hero. Image spans the section; copy stays readable. */
.ec-cinematic-hero{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(115deg,#02092e,#023564 76%,#0b4d7a)}
.ec-cinematic-hero__image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover}
.ec-cinematic-hero__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,9,46,1) 0%,rgba(2,18,58,.98) 25%,rgba(2,43,82,.83) 48%,rgba(2,53,100,.42) 69%,rgba(2,53,100,.12) 100%),linear-gradient(0deg,rgba(2,9,46,.28),transparent 60%)}
.ec-cinematic-hero.is-no-image .ec-cinematic-hero__veil{background:linear-gradient(115deg,#02092e 0%,#023564 78%,#0b4d7a 100%)}
.ec-cinematic-hero__content{width:100%;padding:74px 0 68px;color:#fff}
.ec-cinematic-hero__content>*{max-width:690px}
.ec-cinematic-hero__content h1{margin:8px 0 16px;color:#fff;font-size:clamp(42px,5vw,68px);line-height:1.04}
.ec-cinematic-hero__content p{margin:0;max-width:650px;color:rgba(255,255,255,.87);font-size:18px;line-height:1.58}
.ec-cinematic-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

/* Catalog hero follows the same full-bleed language. */
.ec-catalog-hero--cinematic{position:relative;isolation:isolate;min-height:410px;display:flex;align-items:center;overflow:hidden;padding:0!important;background:linear-gradient(115deg,#02092e,#023564 78%,#0b4d7a)}
.ec-catalog-hero__image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover}
.ec-catalog-hero__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,9,46,1) 0%,rgba(2,18,58,.98) 26%,rgba(2,43,82,.86) 48%,rgba(2,53,100,.42) 70%,rgba(2,53,100,.11) 100%)}
.ec-catalog-hero__content{width:100%;padding:70px 0;color:#fff}
.ec-catalog-hero__content>div{max-width:720px}
.ec-catalog-hero__content h1{color:#fff;font-size:clamp(42px,5vw,64px);line-height:1.05;margin:8px 0 15px}
.ec-catalog-hero__content p{max-width:690px;color:rgba(255,255,255,.86);font-size:18px;line-height:1.58}
.ec-catalog-guide{padding:58px 0;background:#fff}

/* Section CTAs form a real aligned action, not a drifting text label. */
.ec-section-head--row{align-items:flex-end}
.ec-section-head__cta{flex:0 0 auto;align-self:flex-end;white-space:nowrap}
.ec-section-head__cta .ec-icon{width:17px;height:17px}

/* Cards share a common baseline even when titles wrap. */
.ec-course-grid{align-items:stretch}
.ec-course-card{height:100%;display:flex;flex-direction:column}
.ec-course-card__media{flex:0 0 auto}
.ec-course-card__body{display:flex!important;flex:1 1 auto;flex-direction:column;min-height:0}
.ec-course-card__body h3{min-height:2.65em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ec-course-card__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.ec-course-card__meta{margin-top:auto}
.ec-course-card__cta{margin-top:auto;padding-top:15px}
.ec-course-card__image-wash{background:linear-gradient(180deg,color-mix(in srgb,var(--ec-course-accent) 18%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 52%,transparent) 67%,color-mix(in srgb,var(--ec-course-accent) 82%,#02092e) 100%)!important}

/* Stronger but still photographic chromatic integration on single course. */
.ec-course-hero__media:after{background:linear-gradient(90deg,color-mix(in srgb,var(--ec-course-accent) 38%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 22%,transparent) 48%,color-mix(in srgb,var(--ec-course-accent) 10%,transparent) 100%)!important;opacity:.84!important}
.ec-enrollment-help{display:inline-flex;align-items:center;gap:6px;margin-top:13px;color:var(--ec-blue-800);font-weight:750;font-size:14px;text-decoration:none}
.ec-enrollment-help:hover{text-decoration:underline}
.ec-enrollment-help .ec-icon{width:15px;height:15px}

/* Internal content should also carry photography, not only the hero. */
.ec-story-split{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);gap:58px;align-items:center}
.ec-story-split--reverse{grid-template-columns:minmax(380px,.98fr) minmax(0,1.02fr)}
.ec-story-split__media{position:relative;margin:0;min-height:360px;border-radius:22px;overflow:hidden;box-shadow:0 18px 46px rgba(2,9,46,.13)}
.ec-story-split__media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(2,53,100,.06),rgba(205,162,44,.08))}
.ec-story-split__media img{width:100%;height:100%;min-height:360px;object-fit:cover}
.ec-story-split h2{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:8px 0 18px}
.ec-story-split p{font-size:17px;line-height:1.7;color:#5d707a}

.ec-process-steps{list-style:none;margin:34px 0 0;padding:0;border:1px solid var(--ec-line);border-radius:20px;overflow:hidden;background:#fff}
.ec-process-steps li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:24px 27px;border-bottom:1px solid var(--ec-line)}
.ec-process-steps li:last-child{border-bottom:0}
.ec-process-steps>li>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#fbf4df;color:#8f6500;font-weight:850}
.ec-process-steps h3{margin:0 0 6px;font-size:22px}.ec-process-steps p{margin:0;color:#61737e}
.ec-faq-list{display:grid;gap:12px;margin-top:28px}
.ec-faq-list details{border:1px solid var(--ec-line);border-radius:14px;background:#fff;padding:0 20px}
.ec-faq-list summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;color:var(--ec-blue-950);font-family:var(--ec-serif);font-size:19px;font-weight:700;position:relative}
.ec-faq-list summary::-webkit-details-marker{display:none}
.ec-faq-list summary:after{content:"+";position:absolute;right:0;top:16px;font-family:var(--ec-sans);font-size:24px;color:var(--ec-gold-600)}
.ec-faq-list details[open] summary:after{content:"−"}
.ec-faq-list details p{margin:0 0 19px;color:#60737d;line-height:1.65}
.ec-faq-list--wide{max-width:900px;margin-inline:auto}

.ec-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:50px}
.ec-contact-card{padding:28px;border:1px solid var(--ec-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(2,9,46,.06)}
.ec-contact-card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#eef5f8;color:var(--ec-blue-800);margin-bottom:20px}
.ec-contact-card__icon .ec-icon{width:23px;height:23px}.ec-contact-card h2{font-size:25px;margin:5px 0 12px}.ec-contact-card p{color:#60737d;line-height:1.65}.ec-contact-card a:not(.ec-button){color:var(--ec-blue-800);font-weight:700}

.ec-whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:100;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 17px;border-radius:999px;background:#167a55;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800;box-shadow:0 12px 30px rgba(2,9,46,.22);transition:transform .2s ease,box-shadow .2s ease}
.ec-whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(2,9,46,.28)}
.ec-whatsapp-float .ec-icon{width:19px;height:19px}

/* Elementor-ready presentation contract: theme provides tokens/shell, Elementor owns width. */
.ec-elementor-page{width:100%;margin:0;padding:0}
.ec-elementor-page>.elementor{width:100%}

@media(max-width:960px){
  .ec-home-hero--cinematic{min-height:520px}.ec-home-hero__veil,.ec-cinematic-hero__veil,.ec-catalog-hero__veil{background:linear-gradient(90deg,rgba(2,9,46,1) 0%,rgba(2,25,64,.96) 48%,rgba(2,53,100,.58) 100%)}
  .ec-story-split,.ec-story-split--reverse{grid-template-columns:1fr;gap:32px}.ec-story-split--reverse .ec-story-split__media{order:2}
  .ec-contact-grid{grid-template-columns:1fr 1fr}.ec-contact-card:first-child{grid-column:1/-1}
}
@media(max-width:720px){
  .ec-home-hero--cinematic{min-height:510px;align-items:flex-end}.ec-home-hero__content{padding:54px 0 45px}.ec-home-hero--cinematic .ec-home-hero__copy h1{font-size:clamp(40px,12vw,54px)}
  .ec-home-hero__veil,.ec-cinematic-hero__veil,.ec-catalog-hero__veil{background:linear-gradient(180deg,rgba(2,9,46,.42) 0%,rgba(2,25,64,.86) 34%,rgba(2,9,46,.99) 84%,rgba(2,9,46,1) 100%)}
  .ec-cinematic-hero,.ec-catalog-hero--cinematic{min-height:450px;align-items:flex-end}.ec-cinematic-hero__content,.ec-catalog-hero__content{padding:56px 0 42px}.ec-cinematic-hero__content h1,.ec-catalog-hero__content h1{font-size:clamp(38px,11vw,52px)}
  .ec-section-head--row{align-items:flex-start!important;gap:18px}.ec-section-head__cta{align-self:flex-start}
  .ec-story-split__media,.ec-story-split__media img{min-height:270px}
  .ec-contact-grid{grid-template-columns:1fr}.ec-contact-card:first-child{grid-column:auto}
  .ec-whatsapp-float{right:14px;bottom:14px;width:48px;padding:0;justify-content:center}.ec-whatsapp-float span{display:none}
}


/* SOURCE: refinement-0.3.9.css */
/* EC Theme 0.3.9 · public content, catalog filtering and hero alignment */

/* Native [hidden] must win over card layout. Without this, filtered cards remain flex items. */
[data-ec-course-card][hidden],
.ec-course-card[hidden],
[data-ec-catalog-empty][hidden]{display:none!important}

/* Cinematic heroes keep a deliberate reading inset instead of letting large type kiss the viewport. */
.ec-home-hero__content,
.ec-cinematic-hero__content,
.ec-catalog-hero__content{padding-inline:clamp(22px,2.2vw,38px)}

/* Richer public course content. */
.ec-course-editorial{margin-top:34px;padding-top:30px;border-top:1px solid var(--ec-line)}
.ec-course-editorial__lead{max-width:760px;font-size:1.08rem;line-height:1.72;color:var(--ec-text)}
.ec-course-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 0}
.ec-course-editorial-card{padding:20px;border:1px solid var(--ec-line);border-radius:16px;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--ec-course-tint,#eef4f6) 44%,#fff) 100%)}
.ec-course-editorial-card h3{margin:0 0 8px;font-size:1.18rem}
.ec-course-editorial-card p{margin:0;color:var(--ec-muted);line-height:1.65}
.ec-course-topic-list{columns:2;column-gap:34px;margin:20px 0 0;padding-left:22px}
.ec-course-topic-list li{break-inside:avoid;margin:0 0 9px;line-height:1.55}
.ec-course-method{margin-top:34px;padding:26px;border-radius:18px;background:var(--ec-blue-950);color:#fff}
.ec-course-method h2,.ec-course-method h3{color:#fff}
.ec-course-method p{color:rgba(255,255,255,.78)}
.ec-course-method__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.ec-course-method__item{padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
.ec-course-method__item strong{display:block;margin-bottom:5px;color:#fff}

/* Keep editorial lines stable even when titles wrap differently. */
.ec-course-grid--catalog .ec-course-card__body{display:flex;flex-direction:column;min-height:100%}
.ec-course-grid--catalog .ec-course-card__body .ec-course-card__footer{margin-top:auto}

@media(max-width:700px){
  .ec-home-hero__content,.ec-cinematic-hero__content,.ec-catalog-hero__content{padding-inline:20px}
  .ec-course-editorial-grid,.ec-course-method__grid{grid-template-columns:1fr}
  .ec-course-topic-list{columns:1}
}

.ec-faith-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:34px}
.ec-faith-card{padding:24px;border:1px solid var(--ec-line);border-radius:18px;background:#fff;box-shadow:var(--ec-shadow-sm)}
.ec-faith-card>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fbf3d8;color:#8b680b;font:700 .82rem/1 var(--ec-sans);margin-bottom:15px}
.ec-faith-card h3{margin:0 0 9px;font-size:1.35rem}
.ec-faith-card p{margin:0;color:var(--ec-muted);line-height:1.68}
.ec-faith-card small{display:block;margin-top:14px;color:var(--ec-blue-700);font-weight:600}
@media(max-width:700px){.ec-faith-grid{grid-template-columns:1fr}.ec-faith-card{padding:20px}}


/* SOURCE: refinement-0.3.10.css */
/* EC Theme 0.3.10, interaction contract + enrollment + elevation. */
.ec-button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.ec-button--gold{background:#CDA22C!important;border-color:#CDA22C!important;color:#02092E!important}.ec-button--gold:hover,.ec-button--gold:focus-visible{background:#B88D20!important;border-color:#B88D20!important;color:#02092E!important}.ec-button--primary:hover{background:#01294F!important}.ec-button--disabled,.ec-button[aria-disabled="true"]{background:#E2E7EA!important;border-color:#E2E7EA!important;color:#73828B!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;pointer-events:none}
@media(hover:hover){.ec-button:not(.ec-button--disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,29,54,.14)}}
.ec-course-card,.ec-public-card,.ec-library-card,.ec-contact-card,.ec-enrollment-card,.ec-course-taxonomy-card,.ec-course-editorial-card,.ec-course-method__item{box-shadow:0 8px 24px rgba(2,29,54,.07)}
.ec-enrollment-price{display:block;margin:8px 0 16px;font-family:var(--ec-serif);font-size:clamp(2rem,3vw,2.7rem);line-height:1;color:var(--ec-blue-950)}.ec-enrollment-unavailable{margin:10px 0 16px;color:var(--ec-muted);font-weight:650}.ec-enrollment-help{display:flex;align-items:center;gap:8px}.ec-enrollment-help .ec-icon-whatsapp{color:#167a55}
.ec-whatsapp-float{background:#167a55!important}.ec-whatsapp-float .ec-icon{width:20px;height:20px}
.ec-contact-form-wrap{margin-top:32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:28px;align-items:start}.ec-contact-form{padding:28px;border:1px solid var(--ec-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(2,9,46,.07)}.ec-contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ec-contact-form label{display:grid;gap:7px;color:var(--ec-blue-950);font-weight:700}.ec-contact-form label.ec-contact-form__full{grid-column:1/-1}.ec-contact-form input,.ec-contact-form textarea{width:100%;padding:12px 13px;border:1px solid #C9D6DE;border-radius:10px;background:#fff;color:var(--ec-blue-950);font:inherit}.ec-contact-form textarea{min-height:150px;resize:vertical}.ec-contact-hp{position:absolute!important;left:-9999px!important}.ec-contact-notice{margin:0 0 18px;padding:13px 15px;border-radius:12px;font-weight:700}.ec-contact-notice.success{background:#EAF7F0;color:#176D49}.ec-contact-notice.error{background:#FFF1EE;color:#9A4636}.ec-contact-aside{padding:24px;border:1px solid var(--ec-line);border-radius:18px;background:linear-gradient(145deg,#fff,var(--ec-bg));box-shadow:0 8px 24px rgba(2,29,54,.06)}
@media(max-width:760px){.ec-contact-form-wrap,.ec-contact-form__grid{grid-template-columns:1fr}.ec-contact-form label.ec-contact-form__full{grid-column:auto}.ec-contact-form{padding:20px}.ec-enrollment-price{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){.ec-button{transition:none!important}.ec-button:hover{transform:none!important}}


/* SOURCE: refinement-0.3.11.css */
/* EC Theme 0.3.11, public authority + perceptible interaction + clean contact/enrollment. */
:root{--ec-gold-action:#CDA22C;--ec-gold-action-hover:#B88D20;--ec-elevation-card:0 12px 32px rgba(2,29,54,.105);--ec-elevation-card-hover:0 18px 42px rgba(2,29,54,.15)}
.ec-button{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.ec-button--gold{background:var(--ec-gold-action)!important;border-color:var(--ec-gold-action)!important;color:#02092E!important}.ec-button--gold:hover,.ec-button--gold:focus-visible{background:var(--ec-gold-action-hover)!important;border-color:var(--ec-gold-action-hover)!important;color:#02092E!important}
.ec-button--disabled,.ec-button[aria-disabled="true"]{background:#E2E7EA!important;border-color:#E2E7EA!important;color:#73828B!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;pointer-events:none}
@media(hover:hover){.ec-button:not(.ec-button--disabled):not([aria-disabled="true"]):hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,29,54,.18)}.ec-whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(15,107,74,.28)}}
.ec-course-card,.ec-public-card,.ec-library-card,.ec-contact-card,.ec-enrollment-card,.ec-course-taxonomy-card,.ec-course-editorial-card,.ec-course-method__item,.ec-contact-form,.ec-contact-aside{box-shadow:var(--ec-elevation-card)}
.ec-course-card:hover,.ec-public-card:hover,.ec-library-card:hover{box-shadow:var(--ec-elevation-card-hover)}
.ec-enrollment-copy{margin:8px 0 15px;color:var(--ec-muted);font-size:.97rem;line-height:1.6}.ec-enrollment-price-label{display:block;margin-top:16px;color:var(--ec-blue-800);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ec-enrollment-price{display:block;margin:6px 0 18px;font-family:var(--ec-serif);font-size:clamp(2rem,3vw,2.7rem);line-height:1;color:var(--ec-blue-950)}.ec-enrollment-unavailable{margin:10px 0 16px;color:var(--ec-muted);font-weight:650}.ec-enrollment-help{display:flex;align-items:center;gap:8px}.ec-enrollment-help .ec-icon-whatsapp{color:#167a55}
.ec-whatsapp-float{background:#167a55!important;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.ec-whatsapp-float .ec-icon{width:20px;height:20px}
.ec-contact-form-wrap{margin-top:32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:28px;align-items:start}.ec-contact-form{padding:28px;border:1px solid var(--ec-line);border-radius:18px;background:#fff}.ec-contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ec-contact-form label{display:grid;gap:7px;color:var(--ec-blue-950);font-weight:700}.ec-contact-form label.ec-contact-form__full{grid-column:1/-1}.ec-contact-form input,.ec-contact-form textarea{width:100%;padding:12px 13px;border:1px solid #C9D6DE;border-radius:10px;background:#fff;color:var(--ec-blue-950);font:inherit}.ec-contact-form textarea{min-height:170px;resize:vertical}.ec-contact-form>.ec-button{justify-self:start;width:auto;min-width:180px}.ec-contact-hp{position:absolute!important;left:-9999px!important}.ec-contact-notice{margin:0 0 18px;padding:13px 15px;border-radius:12px;font-weight:700}.ec-contact-notice.success{background:#EAF7F0;color:#176D49}.ec-contact-notice.error{background:#FFF1EE;color:#9A4636}.ec-contact-aside{padding:24px;border:1px solid var(--ec-line);border-radius:18px;background:linear-gradient(145deg,#fff,var(--ec-bg))}
@media(max-width:760px){.ec-contact-form-wrap,.ec-contact-form__grid{grid-template-columns:1fr}.ec-contact-form label.ec-contact-form__full{grid-column:auto}.ec-contact-form{padding:20px}.ec-contact-form>.ec-button{width:100%}.ec-enrollment-price{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){.ec-button,.ec-whatsapp-float{transition:none!important}.ec-button:hover,.ec-whatsapp-float:hover{transform:none!important}}


/* SOURCE: refinement-0.3.12.css */
/* EC Theme 0.3.12, canonical course-card anatomy + textual action affordance. */

/* One renderer, one anatomy: Art → Area → Title → Description → Meta → CTA. */
.ec-course-card__body{display:flex;flex-direction:column;min-height:0}
.ec-course-card__body>h3{margin-bottom:.45em}
.ec-course-card__body>p{margin-top:0;margin-bottom:0}
.ec-course-card__meta{margin:16px 0 18px!important;padding-top:13px!important}
.ec-course-card__cta{
  margin-top:0!important;
  padding:9px 11px!important;
  border:1px solid color-mix(in srgb,var(--ec-course-accent) 19%,transparent);
  border-radius:10px;
  background:color-mix(in srgb,var(--ec-course-accent) 7%,transparent);
  color:var(--ec-course-accent)!important;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}
.ec-course-card__cta .ec-icon{color:currentColor!important}
@media(hover:hover){
  .ec-course-card__cta:hover,.ec-course-card__cta:focus-visible{
    transform:translateY(-2px);
    background:color-mix(in srgb,var(--ec-course-accent) 13%,transparent);
    border-color:color-mix(in srgb,var(--ec-course-accent) 35%,transparent);
    box-shadow:0 8px 20px rgba(2,29,54,.10);
  }
}

/* Textual actions in public cards/boxes must read as actions without pretending to be buttons. */
.ec-public-card .ec-text-link,
.ec-door-card .ec-text-link,
.ec-path-panel .ec-text-link,
.ec-feature-band .ec-text-link,
.ec-course-editorial-card .ec-text-link,
.ec-contact-card a:not(.ec-button){
  width:fit-content;
  padding:5px 7px;
  margin-left:-7px;
  border-radius:7px;
  text-decoration-color:transparent!important;
  transition:transform .18s ease,background-color .18s ease,color .18s ease,text-decoration-color .18s ease;
}
@media(hover:hover){
  .ec-public-card .ec-text-link:hover,.ec-public-card .ec-text-link:focus-visible,
  .ec-door-card .ec-text-link:hover,.ec-door-card .ec-text-link:focus-visible,
  .ec-path-panel .ec-text-link:hover,.ec-path-panel .ec-text-link:focus-visible,
  .ec-feature-band .ec-text-link:hover,.ec-feature-band .ec-text-link:focus-visible,
  .ec-course-editorial-card .ec-text-link:hover,.ec-course-editorial-card .ec-text-link:focus-visible,
  .ec-contact-card a:not(.ec-button):hover,.ec-contact-card a:not(.ec-button):focus-visible{
    transform:translateY(-1px);
    background:color-mix(in srgb,var(--ec-blue-700) 7%,transparent);
    text-decoration:underline!important;
    text-decoration-thickness:1.5px!important;
    text-decoration-color:currentColor!important;
  }
}

/* Preserve the global active-button elevation contract from 0.3.11. */
@media(hover:hover){
  .ec-button:not(.ec-button--disabled):not([aria-disabled="true"]):hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(2,29,54,.18);
  }
}
@media(prefers-reduced-motion:reduce){
  .ec-course-card__cta,.ec-public-card .ec-text-link,.ec-door-card .ec-text-link,.ec-path-panel .ec-text-link,.ec-feature-band .ec-text-link,.ec-course-editorial-card .ec-text-link,.ec-contact-card a:not(.ec-button){transition:none!important}
  .ec-course-card__cta:hover,.ec-public-card .ec-text-link:hover,.ec-door-card .ec-text-link:hover,.ec-path-panel .ec-text-link:hover,.ec-feature-band .ec-text-link:hover,.ec-course-editorial-card .ec-text-link:hover,.ec-contact-card a:not(.ec-button):hover{transform:none!important}
}


/* SOURCE: refinement-0.3.13.css */
/* EC Theme 0.3.13, canonical card footer + asymmetric signature + Hang motion. */
:root{
  --ec-radius-card-asym:18px 18px 0 18px;
  --ec-radius-card-sm-asym:14px 14px 0 14px;
  --ec-radius-button-asym:10px 10px 0 10px;
}

/* The CTA is the only flexible spacer. Meta stays in document flow and, when present,
   is supplied from audited legacy/catalog snapshots rather than expensive archive queries. */
.ec-course-card__body{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1 1 auto}
.ec-course-card__meta{margin-top:16px!important;margin-bottom:18px!important}
.ec-course-card__cta{margin-top:auto!important}

/* Brand signature: rounded corners, except the lower-right corner. */
.ec-card,
.ec-public-card,
.ec-area-card,
.ec-contact-card,
.ec-course-card,
.ec-course-editorial-card,
.ec-course-taxonomy-card,
.ec-door-card,
.ec-enrollment-card,
.ec-faith-card,
.ec-instructor-card,
.ec-library-card,
.ec-loop-card,
.ec-path-card,
.ec-path-panel,
.ec-profile-card,
.ec-quiz-question-card,
.ec-resume-card,
.ec-route-card,
.ec-step-card,
.ec-verify-card,
.ec-answer-box{
  border-radius:var(--ec-radius-card-asym)!important;
}
.ec-button,
.ec-course-card__cta,
button.ec-button,
a.ec-button,
input[type="submit"].ec-button{
  border-radius:var(--ec-radius-button-asym)!important;
}

/* Elementor's Hang interaction: sink once, then gently oscillate while hovered/focused. */
@keyframes ec-theme-button-hang-sink{100%{transform:translateY(8px)}}
@keyframes ec-theme-button-hang{0%{transform:translateY(8px)}50%{transform:translateY(4px)}100%{transform:translateY(8px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .ec-button:not(.ec-button--disabled):not([aria-disabled="true"]):not([disabled]):hover,
  .ec-button:not(.ec-button--disabled):not([aria-disabled="true"]):not([disabled]):focus-visible,
  .ec-course-card__cta:hover,
  .ec-course-card__cta:focus-visible{
    animation-name:ec-theme-button-hang-sink,ec-theme-button-hang!important;
    animation-duration:.3s,1.5s!important;
    animation-delay:0s,.3s!important;
    animation-timing-function:ease-out,ease-in-out!important;
    animation-iteration-count:1,infinite!important;
    animation-fill-mode:forwards!important;
    animation-direction:normal,alternate!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .ec-button,.ec-course-card__cta{animation:none!important;transform:none!important}
}


/* SOURCE: refinement-0.3.14.css */
/* EC Theme 0.3.14, public institutional polish + robust Hang. */

/* Hero: preserve the photograph while extending the readable blue blend farther right. */
.ec-home-hero--cinematic .ec-home-hero__veil{
  background:
    linear-gradient(90deg,rgba(2,9,46,1) 0%,rgba(2,18,58,.995) 22%,rgba(2,38,76,.96) 43%,rgba(2,53,100,.78) 60%,rgba(2,53,100,.38) 76%,rgba(2,53,100,.08) 100%),
    linear-gradient(0deg,rgba(2,9,46,.48),rgba(2,9,46,.03) 62%)!important;
}
.ec-home-hero--cinematic .ec-home-hero__proof{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;max-width:920px}
.ec-home-hero--cinematic .ec-home-hero__proof span{display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 14px;border:1px solid rgba(255,255,255,.11);border-radius:12px 12px 0 12px;background:rgba(2,29,62,.54);backdrop-filter:blur(4px);color:#fff;font-weight:650}
.ec-home-hero--cinematic .ec-home-hero__proof span:before{display:none!important}
.ec-home-hero--cinematic .ec-home-hero__proof .ec-icon{width:22px;height:22px;flex:0 0 auto;color:var(--ec-gold-300)}

.ec-public-card__icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:15px;border-radius:11px 11px 0 11px;background:var(--ec-gold-100);color:#8e6500}.ec-public-card__icon .ec-icon{width:22px;height:22px}

/* School numbers are evidence, not oversized vanity metrics. */
.ec-home-stats{padding:24px 0 58px;background:#fff}.ec-home-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border-top:1px solid var(--ec-line);padding-top:28px}
.ec-home-stats article{display:flex;align-items:center;gap:13px;min-width:0}.ec-home-stats__icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;color:#b27d00}.ec-home-stats__icon .ec-icon{width:30px;height:30px}.ec-home-stats article div{display:grid;gap:0}.ec-home-stats strong{font-family:var(--ec-serif);font-size:1.45rem;color:var(--ec-blue-950);line-height:1}.ec-home-stats article div span{margin-top:5px;color:#5e7380;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}

/* Footer gains social presence and an operational contact column. */
.ec-site-footer__grid{grid-template-columns:1.35fr repeat(4,minmax(0,.82fr))!important;gap:34px!important}.ec-site-footer__social{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.ec-site-footer__social a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:9px 9px 0 9px;color:#fff!important;background:rgba(255,255,255,.045);transition:background .18s ease,border-color .18s ease,translate .18s ease}.ec-site-footer__social a:hover{background:rgba(205,162,44,.18);border-color:rgba(226,204,141,.66);translate:0 -2px}.ec-site-footer__social .ec-icon{width:19px;height:19px}.ec-site-footer__contact p{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;line-height:1.55}.ec-footer-contact-icon{width:20px;display:grid;place-items:center;flex:0 0 20px;color:var(--ec-gold-300)}.ec-footer-contact-icon .ec-icon{width:17px;height:17px}

/* Elementor Hang mechanics. `translate` composes with card/button transform rules. */
@keyframes ec-theme-button-hang-sink-0314{100%{translate:0 8px}}
@keyframes ec-theme-button-hang-0314{0%{translate:0 8px}50%{translate:0 4px}100%{translate:0 8px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  :where(.ec-button,.ec-course-card__cta,button.ec-button,input[type="submit"].ec-button):not(.ec-button--disabled):not([disabled]):not([aria-disabled="true"]):hover,
  :where(.ec-button,.ec-course-card__cta,button.ec-button,input[type="submit"].ec-button):not(.ec-button--disabled):not([disabled]):not([aria-disabled="true"]):focus-visible{
    animation-name:ec-theme-button-hang-sink-0314,ec-theme-button-hang-0314!important;
    animation-duration:.3s,1.5s!important;
    animation-delay:0s,.3s!important;
    animation-timing-function:ease-out,ease-in-out!important;
    animation-iteration-count:1,infinite!important;
    animation-fill-mode:forwards!important;
    animation-direction:normal,alternate!important;
  }
}
@media(prefers-reduced-motion:reduce){:where(.ec-button,.ec-course-card__cta){animation:none!important;translate:0 0!important}}

@media(max-width:1100px){.ec-site-footer__grid{grid-template-columns:1.25fr repeat(2,1fr)!important}.ec-site-footer__contact{grid-column:auto}.ec-home-hero--cinematic .ec-home-hero__proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ec-home-hero--cinematic .ec-home-hero__veil{background:linear-gradient(180deg,rgba(2,9,46,.40) 0%,rgba(2,25,64,.78) 30%,rgba(2,9,46,.995) 78%,rgba(2,9,46,1) 100%)!important}.ec-home-hero--cinematic .ec-home-hero__proof{grid-template-columns:1fr}.ec-home-stats__grid{grid-template-columns:1fr 1fr;gap:20px 10px}.ec-site-footer__grid{grid-template-columns:1fr!important}.ec-home-stats article{align-items:flex-start}}
@media(max-width:430px){.ec-home-stats__grid{grid-template-columns:1fr}.ec-home-stats{padding-bottom:42px}}


/* SOURCE: refinement-0.3.15.css */
/* EC Theme 0.3.15, Home evidence placement + exact Elementor Hang + course-term presentation. */

/* Hero proof remains inside the left narrative column instead of reading like a second full-width row. */
.ec-home-hero--cinematic .ec-home-hero__proof{max-width:670px!important;gap:7px!important}
.ec-home-hero--cinematic .ec-home-hero__proof span{
  gap:7px!important;
  min-height:50px!important;
  padding:8px 10px!important;
  font-size:.76rem!important;
  font-weight:500!important;
  line-height:1.25!important;
  letter-spacing:-.005em!important;
}
.ec-home-hero--cinematic .ec-home-hero__proof .ec-icon{width:18px!important;height:18px!important}

/* School evidence appears early, directly after the two entry doors. */
.ec-home-stats{padding:28px 0 30px!important;background:#fff!important;border-top:1px solid #edf1f3;border-bottom:1px solid #e5ecef}
.ec-home-stats__grid{border-top:0!important;padding-top:0!important;gap:18px!important}
.ec-home-stats article{padding:10px 12px;border-radius:12px 12px 0 12px}
.ec-home-stats__icon{width:42px!important;height:42px!important;color:#b27d00!important}
.ec-home-stats__icon .ec-icon{width:29px!important;height:29px!important}
.ec-home-stats strong{font-family:var(--ec-sans)!important;font-size:1.2rem!important;font-weight:800!important;letter-spacing:-.02em}
.ec-home-stats article div span{font-size:.72rem!important;font-weight:760!important;letter-spacing:.055em!important}

.ec-course-fact-chip--term{border-color:rgba(226,204,141,.42);background:rgba(205,162,44,.10);color:#fff}
.ec-course-fact-chip--term .ec-icon{color:var(--ec-gold-300)}

/* Native Elementor Hover.css Hang. This is intentionally the same two-stage transform animation. */
@keyframes ec-theme-elementor-hang{0%{transform:translateY(8px)}50%{transform:translateY(4px)}100%{transform:translateY(8px)}}
@keyframes ec-theme-elementor-hang-sink{100%{transform:translateY(8px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  :where(.elementor-animation-hang,.ec-button,.ec-course-card__cta,button.ec-button,input[type="submit"].ec-button):not(.ec-button--disabled):not([disabled]):not([aria-disabled="true"]):is(:active,:focus,:hover){
    animation-name:ec-theme-elementor-hang-sink,ec-theme-elementor-hang!important;
    animation-duration:.3s,1.5s!important;
    animation-delay:0s,.3s!important;
    animation-timing-function:ease-out,ease-in-out!important;
    animation-iteration-count:1,infinite!important;
    animation-fill-mode:forwards!important;
    animation-direction:normal,alternate!important;
  }
}
@media(prefers-reduced-motion:reduce){:where(.elementor-animation-hang,.ec-button,.ec-course-card__cta){animation:none!important;transform:none!important}}

@media(max-width:1100px){.ec-home-hero--cinematic .ec-home-hero__proof{max-width:650px!important}}
@media(max-width:700px){.ec-home-hero--cinematic .ec-home-hero__proof span{font-size:.82rem!important}.ec-home-stats article{padding-inline:4px}}


/* SOURCE: refinement-0.3.16.css */
/* EC Theme 0.3.16, larger Home evidence + hardened Hang + catalog price visibility. */

/* Home evidence: modest increase requested after the 0.3.15 gate. */
.ec-home-stats__icon{width:46px!important;height:46px!important}
.ec-home-stats__icon .ec-icon{width:32px!important;height:32px!important}
.ec-home-stats strong{font-size:1.5rem!important;line-height:1!important;font-weight:850!important;letter-spacing:-.025em!important}
.ec-home-stats article div span{font-size:.82rem!important;line-height:1.25!important;font-weight:780!important;letter-spacing:.05em!important}

/* Public catalog may now show audited price evidence without making the Home transactional. */
.ec-course-card__price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:2px 0 14px;padding-top:12px;border-top:1px solid var(--ec-line);color:var(--ec-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.ec-course-card__price strong{color:var(--ec-blue-950);font-size:1rem;font-weight:850;letter-spacing:-.01em;text-transform:none;text-align:right}

/*
 * Hardened Elementor Hang.
 * The previous transform-only reproduction could be cancelled by existing EC
 * hover transforms or by devices that fail the hover:hover media query. Moving
 * the same 8px -> 4px -> 8px path through relative `top` isolates the effect.
 */
@keyframes ec-theme-hang-sink-0316{100%{top:8px}}
@keyframes ec-theme-hang-0316{0%{top:8px}50%{top:4px}100%{top:8px}}

:where(
  .elementor-animation-hang,
  .e-animation-hang,
  .ec-button,
  .ec-course-card__cta,
  .elementor-button,
  .wp-element-button,
  button.ec-button,
  input[type="submit"].ec-button
):not(.ec-button--disabled):not(.disabled):not([disabled]):not([aria-disabled="true"]){
  position:relative;
  top:0;
}

:where(
  .elementor-animation-hang,
  .e-animation-hang,
  .ec-button,
  .ec-course-card__cta,
  .elementor-button,
  .wp-element-button,
  button.ec-button,
  input[type="submit"].ec-button
):not(.ec-button--disabled):not(.disabled):not([disabled]):not([aria-disabled="true"]):is(:hover,:focus-visible,:active){
  transform:none!important;
  translate:none!important;
  animation-name:ec-theme-hang-sink-0316,ec-theme-hang-0316!important;
  animation-duration:.3s,1.5s!important;
  animation-delay:0s,.3s!important;
  animation-timing-function:ease-out,ease-in-out!important;
  animation-iteration-count:1,infinite!important;
  animation-fill-mode:forwards!important;
  animation-direction:normal,alternate!important;
}

@media(hover:none){
  :where(.elementor-animation-hang,.e-animation-hang,.ec-button,.ec-course-card__cta,.elementor-button,.wp-element-button):not([disabled]):not([aria-disabled="true"]):active{
    animation-iteration-count:1,1!important;
  }
}

@media(max-width:700px){
  .ec-home-stats strong{font-size:1.34rem!important}
  .ec-home-stats article div span{font-size:.76rem!important;letter-spacing:.035em!important}
  .ec-course-card__price{align-items:flex-start;flex-direction:column;gap:3px}
  .ec-course-card__price strong{text-align:left}
}

/* Preserve the user's OS-level motion preference. */
@media(prefers-reduced-motion:reduce){
  :where(.elementor-animation-hang,.e-animation-hang,.ec-button,.ec-course-card__cta,.elementor-button,.wp-element-button,button.ec-button,input[type="submit"].ec-button){animation:none!important;top:0!important;transform:none!important;translate:none!important}
}


/* SOURCE: refinement-0.3.17.css */
/* EC Theme 0.3.17, catalog promotional ribbons + enrollment price hierarchy. */

/* Catalog is discovery, not a price table. Price remains on the individual course page. */
.ec-course-card__price{display:none!important}

/* Promotional exception markers appear ONLY because renderer emits them in catalog context. */
.ec-course-card__ribbon{
  position:absolute;
  z-index:6;
  top:22px;
  left:-48px;
  width:170px;
  padding:7px 10px;
  transform:rotate(-45deg);
  transform-origin:center;
  text-align:center;
  color:#fff;
  font:800 .72rem/1 var(--ec-sans,"Inter",sans-serif);
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:0 7px 18px rgba(2,9,46,.18);
  pointer-events:none;
}
.ec-course-card__ribbon--free{background:#168a59}
.ec-course-card__ribbon--offer{background:#c98a00;color:#071a28}

/* Price hierarchy on single course: old price is subordinate and struck through. */
.ec-enrollment-price{
  display:block;
  margin:6px 0 18px;
  font-family:var(--ec-serif);
  font-size:clamp(1.15rem,1.6vw,1.35rem);
  line-height:1.12;
  color:var(--ec-blue-950);
}
.ec-enrollment-price small{
  display:block;
  margin:0 0 3px;
  font-family:var(--ec-sans,"Inter",sans-serif);
  font-size:.72em;
  line-height:1.2;
  color:var(--ec-muted);
}
.ec-enrollment-price del{
  text-decoration-thickness:1.5px;
  text-decoration-color:currentColor;
}
.ec-enrollment-price strong{
  display:inline;
  margin-left:.2em;
  font-family:var(--ec-serif);
  font-size:clamp(2rem,3vw,2.7rem);
  line-height:1;
  color:var(--ec-blue-950);
  letter-spacing:-.02em;
}

@media(max-width:700px){
  .ec-course-card__ribbon{top:20px;left:-50px;width:170px;font-size:.68rem}
  .ec-enrollment-price strong{font-size:2.1rem}
}


/* SOURCE: refinement-0.3.18.css */
/* EC Theme 0.3.18, public enrollment requests for free courses. */
.ec-enrollment-request-form{display:grid;gap:12px;margin-top:16px}
.ec-enrollment-request-form>label:not(.ec-enrollment-request-consent):not(.ec-enrollment-request-honeypot){display:grid;gap:6px}
.ec-enrollment-request-form>label>span{color:var(--ec-blue-950);font-size:.82rem;font-weight:750}
.ec-enrollment-request-form input[type="text"],.ec-enrollment-request-form input[type="email"]{width:100%;min-height:46px;border:1px solid var(--ec-line);border-radius:10px 10px 0 10px;background:#fff;padding:0 12px;color:var(--ec-ink);font:500 .96rem var(--ec-sans);outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.ec-enrollment-request-form input[type="text"]:focus,.ec-enrollment-request-form input[type="email"]:focus{border-color:var(--ec-blue-700);box-shadow:0 0 0 3px color-mix(in srgb,var(--ec-blue-700) 13%,transparent)}
.ec-enrollment-request-consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;color:var(--ec-muted);font-size:.78rem;line-height:1.45}
.ec-enrollment-request-consent input{margin-top:3px}
.ec-enrollment-request-consent span{font-size:.78rem!important;font-weight:500!important;color:var(--ec-muted)!important}
.ec-enrollment-request-consent a{color:var(--ec-blue-800);font-weight:750}
.ec-enrollment-request-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ec-enrollment-request-notice{display:grid;gap:3px;margin:10px 0 14px;padding:11px 12px;border-radius:10px 10px 0 10px;font-size:.84rem;line-height:1.45}
.ec-enrollment-request-notice strong{font-size:.9rem}
.ec-enrollment-request-notice.is-success{background:#edf9f3;border:1px solid #bfe6d0;color:#166b49}
.ec-enrollment-request-notice.is-error{background:#fff3f1;border:1px solid #efc7c1;color:#933b30}
.ec-enrollment-request-notice span{color:inherit}
@media(max-width:760px){.ec-enrollment-request-form{gap:10px}}


/* SOURCE: refinement-0.3.20.css */
/* EC Theme 0.3.20 - contrast hardening for all public buttons and actionable links. */
.ec-button,
.ec-button:link,
.ec-button:visited{ text-decoration:none!important }
.ec-button--primary,
.ec-button--primary:link,
.ec-button--primary:visited{
  background:#023564!important;
  border-color:#023564!important;
  color:#fff!important;
  text-shadow:none!important;
}
.ec-button--primary:hover,
.ec-button--primary:focus-visible{
  background:#0B4D7A!important;
  border-color:#0B4D7A!important;
  color:#fff!important;
}
.ec-button--gold,
.ec-button--gold:link,
.ec-button--gold:visited{
  background:#CDA22C!important;
  border-color:#CDA22C!important;
  color:#02092E!important;
}
.ec-button--gold:hover,
.ec-button--gold:focus-visible{
  background:#B88D20!important;
  border-color:#B88D20!important;
  color:#02092E!important;
}
.ec-button--secondary,
.ec-button--secondary:link,
.ec-button--secondary:visited{
  background:#fff!important;
  border-color:#B7C8D2!important;
  color:#023564!important;
}
.ec-button--secondary:hover,
.ec-button--secondary:focus-visible{
  background:#EEF5F8!important;
  border-color:#89A9BA!important;
  color:#02092E!important;
}
.ec-button--ghost-light,
.ec-button--ghost-light:link,
.ec-button--ghost-light:visited{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.58)!important;
  color:#fff!important;
}
.ec-button--ghost-light:hover,
.ec-button--ghost-light:focus-visible{
  background:#fff!important;
  border-color:#fff!important;
  color:#02092E!important;
}
.ec-button[aria-disabled="true"],.ec-button--disabled{
  background:#E5EAED!important;
  border-color:#D6DEE3!important;
  color:#566873!important;
  box-shadow:none!important;
  transform:none!important;
}
/* Card/course CTAs are links, so visited state must never inherit browser/theme colors. */
.ec-course-card__cta,
.ec-course-card__cta:link,
.ec-course-card__cta:visited{color:var(--ec-course-accent,#023564)!important}
.ec-course-card__cta:hover,.ec-course-card__cta:focus-visible{color:#02092E!important}


/* SOURCE: refinement-0.3.21.css */

/* EC Theme 0.3.21 — testimonial placements */
.ec-testimonials{background:var(--ec-color-surface,#fff)}
.ec-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ec-testimonial-card{margin:0;padding:28px;border:1px solid color-mix(in srgb,var(--ec-color-border,#d9dee5) 88%,transparent);border-radius:18px;background:var(--ec-color-surface,#fff);box-shadow:0 16px 40px rgba(2,53,100,.07);display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.ec-testimonial-card blockquote{margin:0}
.ec-testimonial-card blockquote p{margin:0;color:var(--ec-color-text,#1b2530);font-family:"Source Serif 4",serif;font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.58}
.ec-testimonial-card__quote{display:block;font-family:"Source Serif 4",serif;font-size:3.25rem;line-height:.75;color:var(--ec-color-gold,#c8a34d);margin-bottom:14px}
.ec-testimonial-card figcaption{margin-top:22px;padding-top:18px;border-top:1px solid var(--ec-color-border,#e4e7eb);font-weight:700;color:var(--ec-color-navy,#023564)}
.ec-home-testimonials{background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%)}
.ec-course-testimonials{margin-top:42px;padding-top:42px;border-top:1px solid var(--ec-color-border,#e4e7eb)}
.ec-course-testimonials .ec-container{padding:0;max-width:none}
.ec-course-testimonials .ec-section-head{margin-bottom:22px}
.ec-course-testimonials .ec-testimonial-grid{grid-template-columns:1fr}
.ec-course-testimonials .ec-testimonial-card{min-height:auto}
@media (max-width:900px){.ec-testimonial-grid{grid-template-columns:1fr}.ec-testimonial-card{min-height:auto}}


/* SOURCE: refinement-0.3.22.css */

/* EC Theme 0.3.21 — testimonial placements */
.ec-testimonials{background:var(--ec-color-surface,#fff)}
.ec-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ec-testimonial-card{margin:0;padding:28px;border:1px solid color-mix(in srgb,var(--ec-color-border,#d9dee5) 88%,transparent);border-radius:18px;background:var(--ec-color-surface,#fff);box-shadow:0 16px 40px rgba(2,53,100,.07);display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.ec-testimonial-card blockquote{margin:0}
.ec-testimonial-card blockquote p{margin:0;color:var(--ec-color-text,#1b2530);font-family:"Source Serif 4",serif;font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.58}
.ec-testimonial-card__quote{display:block;font-family:"Source Serif 4",serif;font-size:3.25rem;line-height:.75;color:var(--ec-color-gold,#c8a34d);margin-bottom:14px}
.ec-testimonial-card figcaption{margin-top:22px;padding-top:18px;border-top:1px solid var(--ec-color-border,#e4e7eb);font-weight:700;color:var(--ec-color-navy,#023564)}
.ec-home-testimonials{background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%)}
.ec-course-testimonials{margin-top:42px;padding-top:42px;border-top:1px solid var(--ec-color-border,#e4e7eb)}
.ec-course-testimonials .ec-container{padding:0;max-width:none}
.ec-course-testimonials .ec-section-head{margin-bottom:22px}
.ec-course-testimonials .ec-testimonial-grid{grid-template-columns:1fr}
.ec-course-testimonials .ec-testimonial-card{min-height:auto}
@media (max-width:900px){.ec-testimonial-grid{grid-template-columns:1fr}.ec-testimonial-card{min-height:auto}}

/* F-01 formation modules: canonical 2-column grid — 2026-10-06 */
body.page-id-3091 .ec-formation-components .ec-course-grid.ec-formation-component-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}
body.page-id-3091 .ec-formation-components .ec-course-card{min-width:0;}
body.page-id-3091 .ec-formation-components .ec-course-card__body{padding:22px 20px 20px;}
body.page-id-3091 .ec-formation-components .ec-course-card h3{font-size:1.22rem;line-height:1.25;}
body.page-id-3091 .ec-formation-components .ec-course-card__excerpt{font-size:.95rem;line-height:1.58;}
@media (max-width:900px){
  body.page-id-3091 .ec-formation-components .ec-course-grid.ec-formation-component-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

/* Canonical formation product template — 2026-10-06 */
body:is(.page-id-3091,.page-id-2961,.page-id-3092,.page-id-3149,.page-id-2974) .ec-formation-components .ec-course-grid.ec-formation-component-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}
body:is(.page-id-3091,.page-id-2961,.page-id-3092,.page-id-3149,.page-id-2974) .ec-formation-components .ec-course-card{min-width:0;}
body:is(.page-id-3091,.page-id-2961,.page-id-3092,.page-id-3149,.page-id-2974) .ec-formation-special-card .ec-course-card__fallback{display:flex;align-items:center;justify-content:center;min-height:180px;color:rgba(255,255,255,.72);background:linear-gradient(155deg,var(--ec-course-accent),#07183c);}
.ec-course-modal__simple-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.ec-course-modal__simple-list li{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid rgba(2,53,100,.12);border-radius:12px;background:#f8fafc;}
.ec-course-modal__simple-list span{color:#607083;font-size:.88rem;}
@media (max-width:900px){
 body:is(.page-id-3091,.page-id-2961,.page-id-3092,.page-id-3149,.page-id-2974) .ec-formation-components .ec-course-grid.ec-formation-component-grid{grid-template-columns:1fr !important;gap:18px !important;}
}

