@font-face {  font-family: 'Inter';  font-style: normal;  font-weight: 300 800;  font-display: swap;  src: url('../fonts/inter-latin.woff2') format('woff2');  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,    U+2212, U+2215, U+FEFF, U+FFFD;}@font-face {  font-family: 'Inter';  font-style: normal;  font-weight: 300 800;  font-display: swap;  src: url('../fonts/inter-latin-ext.woff2') format('woff2');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}:root {  --ink-1000: #010c46;  --ink-900: #021167;  --ink-800: #0a2a8c;  --ink-700: #1c3f9e;  --blue: #0a4ed7;  --blue-hover: #0838a6;  --blue-lift: #9dc0ff;  --blue-wash: #eef3fe;  --blue-wash-2: #dfe8fc;  --red: #ff0000;  --red-action: #e00000;  --red-lift: #ff3b3b;  --red-wash: #fff0f0;  --whatsapp: #0a7c2f;  --whatsapp-hover: #086726;  --white: #ffffff;  --paper: #f5f7fb;  --paper-sunk: #eaeef6;  --tint: #e9effc;  --line-light: #dde3ee;  --on-dark: #ffffff;  --on-dark-body: #d3d9ea;  --on-dark-dim: #a6afc8;  --on-light: #021167;  --on-light-body: #384260;  --on-light-dim: #5a6382;  --container: 1200px;  --gutter: clamp(1.25rem, 4vw, 2.5rem);  --header-h: 68px;  --t--1: clamp(0.8125rem, 0.79rem + 0.11vw, 0.875rem);  --t-0: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);  --t-1: clamp(1.0625rem, 1rem + 0.31vw, 1.25rem);  --t-2: clamp(1.1875rem, 1.1rem + 0.45vw, 1.5rem);  --t-3: clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem);  --t-h2: clamp(1.75rem, 1.3rem + 1.9vw, 2.625rem);  --t-h1: clamp(2.25rem, 1.55rem + 2.9vw, 3.75rem);  --sp-1: 0.5rem;  --sp-2: 0.75rem;  --sp-3: 1rem;  --sp-4: 1.5rem;  --sp-5: 2rem;  --sp-6: 3rem;  --sp-7: clamp(2.5rem, 6vw, 4.5rem);  --sp-8: clamp(4rem, 9vw, 7.5rem);  --r-sm: 8px;  --r-md: 14px;  --r-lg: 20px;  --r-xl: 28px;  --r-pill: 999px;  --sh-1: 0 1px 2px rgba(2, 17, 103, 0.06), 0 8px 24px -12px rgba(2, 17, 103, 0.16);  --sh-2: 0 2px 6px -2px rgba(2, 17, 103, 0.08), 0 22px 46px -22px rgba(2, 17, 103, 0.28);  --sh-3: 0 10px 24px -10px rgba(2, 17, 103, 0.18), 0 40px 80px -36px rgba(2, 17, 103, 0.38);  --z-base: 1;  --z-sticky: 100;  --z-header: 200;  --z-float: 300;  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);  --dur-fast: 200ms;  --dur-mid: 320ms;  --dur-slow: 400ms;}@media (min-width: 768px) {  :root { --header-h: 78px; }}:root,.surface-light,.surface-paper {  --title: var(--on-light);  --body: var(--on-light-body);  --dim: var(--on-light-dim);  --line: var(--line-light);  --focus: var(--blue);}.surface-paper { background: var(--paper); }.surface-tint { background: var(--tint); }:root,.surface-light,.surface-paper,.surface-tint { --em: var(--red-action); }.surface-dark {  --title: var(--on-dark);  --body: var(--on-dark-body);  --dim: var(--on-dark-dim);  --line: rgba(255, 255, 255, 0.14);  --focus: #ffffff;  --em: var(--red-lift);  background: var(--ink-900);  color: var(--body);}.em { color: var(--em); }*, *::before, *::after { box-sizing: border-box; }html {  -webkit-text-size-adjust: 100%;  scroll-behavior: smooth;  scroll-padding-top: calc(var(--header-h) + 12px);}body {  margin: 0;  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;  font-size: var(--t-0);  line-height: 1.65;  color: var(--body);  background: var(--white);  text-rendering: optimizeLegibility;  -webkit-font-smoothing: antialiased;  overflow-x: clip;}h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; }ul, ol { padding: 0; list-style: none; }img { display: block; max-width: 100%; height: auto; }a { color: inherit; }button { font: inherit; color: inherit; }h1, h2, h3 {  color: var(--title);  font-weight: 800;  line-height: 1.12;  text-wrap: balance;}h2 { font-size: var(--t-h2); letter-spacing: -0.025em; }h3 { font-size: var(--t-2); font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }p { text-wrap: pretty; }:focus-visible {  outline: 3px solid var(--focus);  outline-offset: 3px;  border-radius: 4px;}.container {  width: 100%;  max-width: calc(var(--container) + var(--gutter) * 2);  margin-inline: auto;  padding-inline: var(--gutter);}.sr-only {  position: absolute;  width: 1px;  height: 1px;  overflow: hidden;  clip: rect(0 0 0 0);  white-space: nowrap;}.skip-link {  position: absolute;  left: var(--sp-3);  top: -100px;  z-index: calc(var(--z-header) + 1);  padding: var(--sp-2) var(--sp-3);  background: var(--ink-900);  color: #fff;  border-radius: var(--r-sm);  font-weight: 600;}.skip-link:focus { top: var(--sp-2); }.icon {  width: 1.25em;  height: 1.25em;  flex: none;}.section { padding-block: var(--sp-8); }.section--tight { padding-block: var(--sp-7); }.section-head {  max-width: 46rem;  margin-bottom: clamp(2rem, 5vw, 3.5rem);}.section-head h2 + p {  margin-top: var(--sp-3);  font-size: var(--t-1);  color: var(--body);}.section-head--center {  margin-inline: auto;  text-align: center;}.lead {  font-size: var(--t-1);  margin-top: var(--sp-4);}.link-arrow {  display: inline-flex;  align-items: center;  gap: 0.4em;  min-height: 44px;  font-weight: 600;  color: var(--blue);  text-decoration: none;}.link-arrow .icon { transition: transform var(--dur-fast) var(--ease-out); }.link-arrow:hover .icon { transform: translateX(4px); }.cta-row {  display: flex;  justify-content: center;  margin-top: clamp(2rem, 5vw, 3rem);}.btn {  display: inline-flex;  align-items: center;  justify-content: center;  gap: 0.55em;  min-height: 48px;  padding: 0.75em 1.35em;  border: 2px solid transparent;  border-radius: var(--r-pill);  font-size: 1rem;  font-weight: 700;  line-height: 1.2;  text-align: center;  text-decoration: none;  cursor: pointer;  transition: background-color var(--dur-fast) var(--ease-out),    color var(--dur-fast) var(--ease-out),    border-color var(--dur-fast) var(--ease-out),    transform var(--dur-fast) var(--ease-out),    box-shadow var(--dur-fast) var(--ease-out);}.btn:active { transform: translateY(1px); }.btn--sm { min-height: 44px; padding: 0.55em 1.05em; font-size: 0.9375rem; }.btn--lg { min-height: 56px; padding: 0.9em 1.6em; font-size: 1.0625rem; }.btn--block { width: 100%; }.btn--primary {  background: var(--whatsapp);  color: #fff;  box-shadow: 0 8px 20px -10px rgba(10, 124, 47, 0.75);}.btn--primary:hover {  background: var(--whatsapp-hover);  transform: translateY(-1px);  box-shadow: 0 12px 26px -12px rgba(10, 124, 47, 0.85);}.btn--ghost {  background: transparent;  color: var(--title);  border-color: var(--line-light);}.btn--ghost:hover { border-color: var(--ink-900); }.surface-dark .btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.35); }.surface-dark .btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }.btn--outline {  background: var(--white);  color: var(--blue);  border-color: var(--blue);}.btn--outline:hover { background: var(--blue); color: #fff; }.btn--light {  background: #fff;  color: var(--ink-900);}.btn--light .icon { color: var(--whatsapp); }.btn--light:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(0, 0, 0, 0.5); }.icon-btn {  display: inline-grid;  place-items: center;  width: 48px;  height: 48px;  border-radius: 50%;  border: 1.5px solid var(--line-light);  background: var(--white);  color: var(--ink-900);  cursor: pointer;  transition: background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);}.icon-btn:hover { border-color: var(--ink-900); }.icon-btn:disabled { opacity: 0.35; cursor: default; }.icon-btn--dark {  background: transparent;  border-color: rgba(255, 255, 255, 0.22);  color: #fff;}.icon-btn--dark:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; }.media {  position: relative;  overflow: hidden;  border-radius: var(--r-lg);  background: var(--blue-wash);  isolation: isolate;}.media > img,.media > picture,.media > picture img {  position: absolute;  inset: 0;  width: 100%;  height: 100%;  object-fit: cover;  z-index: 1;}.media__ph {  position: absolute;  inset: 0;  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  gap: 0.4rem;  padding: var(--sp-4);  text-align: center;  color: var(--ink-700);  background:    radial-gradient(120% 90% at 85% 10%, rgba(10, 78, 215, 0.16), transparent 60%),    repeating-linear-gradient(135deg, rgba(2, 17, 103, 0.035) 0 2px, transparent 2px 14px),    linear-gradient(160deg, #eef3fe, #dbe5fb);}.media__ph::after {  content: '';  position: absolute;  inset: 10px;  border: 1.5px dashed rgba(28, 63, 158, 0.25);  border-radius: calc(var(--r-lg) - 8px);  pointer-events: none;}.media__ph .icon { width: 2rem; height: 2rem; opacity: 0.7; }.media__ph span { font-weight: 600; font-size: 0.9375rem; line-height: 1.35; max-width: 22ch; }.media__ph small {  font-size: 0.75rem;  font-weight: 600;  color: var(--ink-700);  opacity: 0.75;}.media figcaption {  position: absolute;  left: 12px;  bottom: 12px;  z-index: 2;  padding: 0.35rem 0.75rem;  border-radius: var(--r-pill);  background: rgba(255, 255, 255, 0.92);  color: var(--ink-900);  font-size: 0.8125rem;  font-weight: 600;  line-height: 1.3;  box-shadow: var(--sh-1);}.site-header {  position: sticky;  top: 0;  z-index: var(--z-header);  background: var(--ink-900);  border-bottom: 1px solid rgba(255, 255, 255, 0.08);  transition: box-shadow var(--dur-mid) var(--ease-out);}.site-header.is-scrolled {  box-shadow: 0 12px 30px -18px rgba(1, 8, 46, 0.7);}.site-header__bar {  display: flex;  align-items: center;  gap: var(--sp-3);  height: var(--header-h);}.brand {  display: inline-flex;  min-height: 44px;  align-items: center;  margin-right: auto;}.brand img { width: 136px; height: auto; }@media (min-width: 768px) { .brand img { width: 160px; } }@media (min-width: 1160px) and (max-width: 1239px) {  .brand { flex-shrink: 0; }  .brand img { width: 136px; }}.nav__list a {  display: flex;  align-items: center;  min-height: 44px;  font-weight: 600;  font-size: 0.9375rem;  color: #fff;  text-decoration: none;}.site-header__cta { display: none; }@media (min-width: 520px) { .site-header__cta { display: inline-flex; white-space: nowrap; } }.menu-toggle {  display: inline-grid;  place-items: center;  width: 48px;  height: 48px;  margin-right: -8px;  border: 0;  border-radius: var(--r-sm);  background: transparent;  color: #fff;  cursor: pointer;}.menu-toggle .icon { width: 26px; height: 26px; grid-area: 1 / 1; }.menu-toggle .icon--close,.menu-toggle[aria-expanded='true'] .icon--open { display: none; }.menu-toggle[aria-expanded='true'] .icon--close { display: block; }@media (max-width: 1159.98px) {  .nav {    position: fixed;    inset: var(--header-h) 0 auto 0;    max-height: calc(100dvh - var(--header-h));    overflow-y: auto;    padding: var(--sp-3) var(--gutter) var(--sp-5);    background: var(--ink-900);    border-top: 1px solid rgba(255, 255, 255, 0.1);    box-shadow: 0 30px 40px -30px rgba(1, 8, 46, 0.8);    opacity: 0;    visibility: hidden;    transform: translateY(-8px);    transition: opacity var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out), visibility 0s linear var(--dur-mid);  }  .nav.is-open {    opacity: 1;    visibility: visible;    transform: none;    transition-delay: 0s;  }  .nav__list a {    min-height: 56px;    font-size: 1.125rem;    border-bottom: 1px solid rgba(255, 255, 255, 0.1);  }  .nav__cta-mobile { width: 100%; margin-top: var(--sp-4); }}@media (min-width: 1160px) {  .menu-toggle,  .nav__cta-mobile { display: none; }  .nav { margin-right: var(--sp-3); }  .nav__list { display: flex; gap: clamp(0.75rem, 1.6vw, 1.75rem); }  .nav__list a { position: relative; white-space: nowrap; }  .nav__list a::after {    content: '';    position: absolute;    left: 0;    right: 0;    bottom: 8px;    height: 2px;    background: var(--red-lift);    transform: scaleX(0);    transform-origin: left;    transition: transform var(--dur-mid) var(--ease-out);  }  .nav__list a:hover::after,  .nav__list a[aria-current='true']::after { transform: scaleX(1); }}.hero {  position: relative;  padding-block: clamp(2rem, 5vw, 4.5rem) clamp(3.5rem, 7vw, 6rem);  background:    radial-gradient(55% 60% at 8% 12%, rgba(10, 78, 215, 0.55), transparent 70%),    radial-gradient(40% 45% at 100% 100%, rgba(255, 0, 0, 0.22), transparent 70%),    radial-gradient(45% 55% at 85% 20%, rgba(10, 78, 215, 0.35), transparent 70%),    var(--ink-900);  overflow: hidden;}.hero__grid {  display: grid;  gap: clamp(2.5rem, 5vw, 4rem);  align-items: center;}@media (min-width: 960px) {  .hero__grid { grid-template-columns: 1.05fr 1fr; }}.hero__place {  display: inline-flex;  align-items: center;  gap: 0.4rem;  margin-bottom: var(--sp-3);  padding: 0.35rem 0.85rem 0.35rem 0.6rem;  border-radius: var(--r-pill);  background: rgba(255, 255, 255, 0.1);  color: #fff;  font-size: var(--t--1);  font-weight: 600;}.hero__place .icon { width: 1.1em; height: 1.1em; color: var(--red-lift); }.hero__title {  font-size: var(--t-h1);  letter-spacing: -0.035em;  line-height: 1.04;}.hl {  white-space: nowrap;  color: var(--em);}.hero__lead {  max-width: 36rem;  margin-top: var(--sp-4);  font-size: var(--t-1);  line-height: 1.6;}.hero__actions {  display: flex;  flex-wrap: wrap;  gap: var(--sp-2);  margin-top: var(--sp-5);}@media (max-width: 479.98px) {  .hero__actions .btn { width: 100%; }}.trust {  display: grid;  gap: var(--sp-2) var(--sp-4);  margin-top: var(--sp-5);  padding-top: var(--sp-4);  border-top: 1px solid var(--line);}.trust__item {  display: inline-flex;  align-items: flex-start;  gap: 0.5rem;  font-size: 0.9375rem;  line-height: 1.4;  font-weight: 600;  color: #fff;}.trust__item .icon { color: var(--red-lift); margin-top: 0.05em; }@media (min-width: 480px) {  .trust { grid-template-columns: repeat(2, auto); justify-content: start; }}.hero__visual {  position: relative;  padding: 0 0 var(--sp-6) var(--sp-5);}.media--hero {  aspect-ratio: 5 / 5.4;  border-radius: var(--r-xl);  box-shadow: var(--sh-3);}@media (min-width: 600px) { .media--hero { aspect-ratio: 16 / 11; } }@media (min-width: 960px) { .media--hero { aspect-ratio: 4 / 4.6; } }.media--hero > img { object-position: 50% 30%; }.media--hero-detail {  position: absolute;  left: 0;  bottom: 0;  width: 40%;  aspect-ratio: 1;  border: 6px solid var(--ink-900);  border-radius: var(--r-lg);  box-shadow: var(--sh-2);  z-index: 2;}.media--hero-detail .media__ph span { font-size: 0.8125rem; }.media--hero-detail .media__ph::after { display: none; }.hero__note {  position: absolute;  right: var(--sp-3);  bottom: calc(var(--sp-6) + var(--sp-3));  z-index: 2;  display: flex;  align-items: center;  gap: 0.75rem;  max-width: 18rem;  padding: 0.75rem 1rem;  border-radius: var(--r-md);  background: var(--white);  box-shadow: var(--sh-2);  font-size: 0.875rem;  line-height: 1.35;  color: var(--ink-900);}.hero__note strong {  font-size: 1.75rem;  font-weight: 800;  letter-spacing: -0.03em;  color: var(--red-action);}@media (max-width: 479.98px) {  .hero__visual { padding-left: var(--sp-3); padding-bottom: var(--sp-5); }  .hero__note { right: var(--sp-2); top: var(--sp-2); bottom: auto; max-width: 13.5rem; padding: 0.6rem 0.8rem; font-size: 0.8125rem; }  .hero__note strong { font-size: 1.4rem; }}.why__grid {  display: grid;  gap: var(--sp-3);}@media (min-width: 900px) {  .why__grid {    grid-template-columns: repeat(12, 1fr);    gap: var(--sp-4);  }  .pillar--speak { grid-column: 1 / 8; grid-row: 1 / 3; }  .pillar--practice { grid-column: 8 / 13; }  .pillar--material { grid-column: 8 / 13; }  .pillar--steps { grid-column: 1 / 6; }  .pillar--after { grid-column: 6 / 13; }}.pillar {  position: relative;  display: flex;  flex-direction: column;  gap: var(--sp-2);  padding: clamp(1.5rem, 3vw, 2.25rem);  border-radius: var(--r-xl);  background: var(--paper);  overflow: hidden;}.pillar h3 { font-size: var(--t-3); }.pillar--speak {  background: var(--ink-900);  --title: #fff;  --em: var(--red-lift);  color: var(--on-dark-body);  justify-content: flex-start;  container-type: inline-size;}.pillar--speak h3 { font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem); }.pillar--speak > p { max-width: 34rem; font-size: var(--t-1); }.pillar--speak::before {  content: '';  position: absolute;  right: -18%;  bottom: -35%;  width: 70%;  aspect-ratio: 1;  border-radius: 50%;  background: radial-gradient(circle, rgba(10, 78, 215, 0.55), transparent 65%);  pointer-events: none;}.pillar__stat {  position: relative;  display: grid;  justify-items: stretch;  gap: 0.6rem;  align-self: center;  width: max-content;  margin-top: auto;  padding-top: var(--sp-5);}.pillar__stat-num {  font-size: clamp(5.5rem, 44cqi, 18rem);  font-weight: 800;  line-height: 0.8;  letter-spacing: -0.06em;  color: #fff;}.pillar__stat-count { display: inline-block; text-align: right; }.pillar__stat-plus { margin-left: 0.04em; font-size: 0.6em; vertical-align: top; color: var(--red-lift); }.pillar__stat-label {  width: 0;  min-width: 100%;  padding-top: 0.4rem;  font-size: clamp(1rem, 5.8cqi, 2.25rem);  font-weight: 600;  line-height: 1.25;  text-align: center;  text-wrap: balance;  color: #fff;}.pillar__tag {  position: relative;  align-self: center;  margin-top: var(--sp-2);  margin-bottom: auto;  padding: 0.45rem 1.1rem;  border-radius: var(--r-pill);  background: var(--red-action);  color: #fff;  font-size: clamp(0.875rem, 2.6cqi, 1.125rem);  font-style: italic;  font-weight: 800;  letter-spacing: 0.04em;  text-transform: uppercase;}.pillar--practice { background: var(--white); border: 1px solid var(--line-light); }.loop {  display: grid;  gap: var(--sp-1);  margin-top: var(--sp-2);  counter-reset: loop;}.loop li {  display: flex;  align-items: baseline;  gap: 0.5rem;  padding: 0.6rem 0.85rem;  border-radius: var(--r-md);  background: var(--paper);  font-size: 0.9375rem;  line-height: 1.4;}.loop li span { font-weight: 700; color: var(--blue); }.loop li + li { position: relative; }.pillar--material { background: var(--blue-wash); }.books {  display: flex;  align-items: flex-end;  justify-content: center;  margin-top: var(--sp-3);  padding-top: var(--sp-2);}.books img {  width: 20%;  max-width: 92px;  margin-inline: -1.5%;  filter: drop-shadow(0 10px 14px rgba(2, 17, 103, 0.22));  transition: transform var(--dur-mid) var(--ease-out);}.books img:nth-child(1) { transform: rotate(-9deg) translateY(6px); }.books img:nth-child(2) { transform: rotate(-4deg); }.books img:nth-child(3) { transform: translateY(-4px); z-index: 1; }.books img:nth-child(4) { transform: rotate(4deg); }.books img:nth-child(5) { transform: rotate(9deg) translateY(6px); }.pillar--material:hover .books img:nth-child(1) { transform: rotate(-12deg) translate(-6px, 6px); }.pillar--material:hover .books img:nth-child(5) { transform: rotate(12deg) translate(6px, 6px); }.pillar--steps { background: var(--white); border: 1px solid var(--line-light); }.stairs {  display: flex;  align-items: flex-end;  gap: 6px;  height: 104px;  margin-top: var(--sp-3);}.stairs span {  flex: 1;  display: flex;  align-items: flex-start;  justify-content: center;  min-height: 30px;  height: var(--h);  padding-top: 0.35rem;  border-radius: 6px 6px 2px 2px;  background: var(--blue);  color: #fff;  font-size: 0.8125rem;  font-weight: 800;  line-height: 1;  letter-spacing: 0.02em;  transform-origin: bottom;}.stairs span:nth-child(1) { background: #b9cdf6; color: var(--ink-900); }.stairs span:nth-child(2) { background: #94b3f0; color: var(--ink-900); }.stairs span:nth-child(3) { background: #6b95ea; color: var(--ink-1000); }.stairs span:nth-child(4) { background: #3a72e2; }.stairs span:nth-child(5) { background: #1a5bdc; }.pillar--steps .link-arrow { align-self: flex-start; }.pillar__foot {  margin-top: var(--sp-2);  padding-top: var(--sp-3);  border-top: 1px solid var(--line-light);  font-size: 0.9375rem;  color: var(--dim);}.pillar--after {  display: grid;  align-items: center;  gap: var(--sp-3);  background: var(--paper);}.pillar__after-copy { display: grid; gap: var(--sp-2); justify-items: start; }.pillar__after-gear {  position: relative;  justify-self: center;  width: min(100%, 250px);  aspect-ratio: 277 / 565;  translate: -10% 0;}.pillar__after-phone,.pillar__after-pen {  position: absolute;  bottom: 0;  filter: drop-shadow(0 18px 24px rgba(2, 17, 103, 0.18));}.pillar__after-phone { left: 0; width: 100%; height: 100%; }.pillar__after-pen {  right: -22%;  bottom: 4%;  height: 85.5%;  width: auto;}@media (min-width: 560px) {  .pillar--after { grid-template-columns: 1.2fr 1fr; }}.courses__grid {  display: grid;  gap: var(--sp-4);}@media (min-width: 640px) {  .courses__grid { grid-template-columns: repeat(2, 1fr); }  .course--adults { grid-column: 1 / -1; }}@media (min-width: 1024px) {  .courses__grid { grid-template-columns: repeat(6, 1fr); gap: var(--sp-5) var(--sp-4); }  .course { grid-column: span 2; }  .course--teens,  .course--adults { grid-column: span 3; }}.course {  display: flex;  flex-direction: column;  border-radius: var(--r-xl);  background: var(--white);  box-shadow: var(--sh-1);  overflow: hidden;  transition: box-shadow var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out);}.course:hover { box-shadow: var(--sh-2); }.media--course { aspect-ratio: 16 / 10; border-radius: 0; }@media (min-width: 640px) {  .course--adults .media--course { aspect-ratio: 16 / 7; }}@media (min-width: 1024px) {  .course--adults .media--course { aspect-ratio: 16 / 10; }}.course__books {  --book-w: 96px;  --overlap: 0.2;  position: relative;  z-index: 2;  display: flex;  justify-content: center;  align-items: flex-end;  height: 128px;  margin-top: -88px;  padding-inline: var(--sp-4);}.course__books li {  flex: 0 0 auto;  width: min(var(--book-w), calc((100% + (var(--n) - 1) * var(--book-w) * var(--overlap)) / var(--n)));  transition: transform var(--dur-mid) var(--ease-out);}.course__books li + li { margin-left: calc(var(--book-w) * var(--overlap) * -1); }.course__books img {  width: 100%;  filter: drop-shadow(0 12px 16px rgba(2, 17, 103, 0.28));}.course__books li:nth-child(odd) { transform: rotate(-3deg); }.course__books li:nth-child(even) { transform: rotate(3deg) translateY(-4px); }.course:hover .course__books li { transform: none; }.course--tots .course__books { --book-w: 124px; --overlap: 0.24; }.media--course .media__ph { justify-content: flex-start; padding-top: 18%; }.course__body {  display: flex;  flex-direction: column;  align-items: flex-start;  gap: var(--sp-2);  flex: 1;  padding: var(--sp-3) var(--sp-4) var(--sp-4);}.course__body .btn { margin-top: auto; }.course__body > p:not(.course__age) { margin-bottom: var(--sp-2); }.course__age {  font-size: 0.875rem;  font-weight: 700;  color: var(--red-action);}.course__name { font-size: var(--t-3); }@media (min-width: 1024px) {  .course__books { --book-w: 108px; height: 146px; margin-top: -100px; }  .course--tots .course__books { --book-w: 132px; }  .course__body { padding: var(--sp-4) var(--sp-5) var(--sp-5); }  .course__name { font-size: clamp(1.75rem, 1.2rem + 1vw, 2.25rem); }}.where__grid {  display: grid;  gap: var(--sp-4);}@media (min-width: 820px) {  .where__grid { grid-template-columns: 1fr 1fr; gap: var(--sp-5); }}.mode {  display: flex;  flex-direction: column;  border-radius: var(--r-xl);  background: var(--white);  border: 1px solid var(--line-light);  overflow: hidden;  transition: transform var(--dur-mid) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out);}.mode:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }.media--mode { aspect-ratio: 16 / 11; border-radius: 0; }.media--mode img { transition: transform 700ms var(--ease-out); }.media--mode .media__img--presencial { object-position: 50% 52%; }.mode:hover .media--mode img { transform: scale(1.03); }.mode__body { padding: clamp(1.5rem, 3vw, 2.25rem); }.mode__body h3 {  display: flex;  align-items: center;  gap: 0.5rem;  font-size: var(--t-3);  margin-bottom: var(--sp-2);}.mode__body h3 .icon { color: var(--blue); width: 1.1em; height: 1.1em; }.mode__badge {  position: absolute;  left: var(--sp-3);  top: var(--sp-3);  z-index: 2;  display: inline-flex;  align-items: center;  gap: 0.5rem;  padding: 0.45rem 0.9rem;  border-radius: var(--r-pill);  background: var(--white);  color: var(--ink-900);  font-size: 0.875rem;  font-weight: 700;  box-shadow: var(--sh-1);}.live-dot {  width: 9px;  height: 9px;  border-radius: 50%;  background: var(--red);  box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.45);  animation: pulse 2.2s ease-out infinite;}@keyframes pulse {  0% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.45); }  70%, 100% { box-shadow: 0 0 0 9px rgba(255, 0, 0, 0); }}.section-head em { font-style: normal; font-weight: 700; color: var(--title); }.formats__grid {  display: grid;  gap: var(--sp-4);  max-width: 64rem;  margin-inline: auto;}@media (min-width: 820px) {  .formats__grid { grid-template-columns: 1fr 1fr; gap: var(--sp-5); }}.format {  padding: clamp(1.5rem, 3vw, 2.5rem);  border-radius: var(--r-xl);  background: var(--white);  box-shadow: var(--sh-1);}.format__head {  display: flex;  align-items: center;  gap: var(--sp-3);  padding-bottom: var(--sp-4);  margin-bottom: var(--sp-4);  border-bottom: 1px solid var(--line-light);}.format__icon {  display: grid;  place-items: center;  flex: none;  width: 64px;  height: 64px;  border-radius: 18px;  background: var(--red-wash);}.format__icon img { width: auto; height: 34px; }.format h3 { font-size: var(--t-3); }.format__for { margin-top: 0.15rem; font-weight: 600; color: var(--blue); line-height: 1.4; }.checks { display: grid; gap: var(--sp-2); }.checks li {  position: relative;  padding-left: 2rem;  line-height: 1.5;}.checks li::before {  content: '';  position: absolute;  left: 0;  top: 0.1em;  width: 1.35rem;  height: 1.35rem;  border-radius: 50%;  background: var(--blue-wash) no-repeat center / 0.85rem    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230a4ed7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");}.tech {  position: relative;  overflow: hidden;  background:    radial-gradient(50% 60% at 15% 75%, rgba(10, 78, 215, 0.45), transparent 70%),    var(--ink-900);}.tech__grid {  display: grid;  gap: clamp(2.5rem, 5vw, 4rem);}@media (min-width: 960px) {  .tech__grid { grid-template-columns: 1fr 1.05fr; align-items: center; }}.tech__sub { margin-top: var(--sp-3); font-size: var(--t-1); }.tech__visual {  margin-top: var(--sp-5);  max-width: 420px;}.tech__visual img { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.35)); }.tech__list { display: grid; }.tool {  display: grid;  gap: var(--sp-1);  padding-block: clamp(1.5rem, 3vw, 2rem);  border-top: 1px solid var(--line);}.tool:last-child { border-bottom: 1px solid var(--line); }.tool__name {  justify-self: start;  padding: 0.3rem 0.8rem;  border-radius: var(--r-pill);  background: rgba(255, 255, 255, 0.1);  color: var(--blue-lift);  font-size: 0.875rem;  font-weight: 700;}.tool h3 { font-size: var(--t-3); margin-top: 0.25rem; }.teachers__grid {  display: grid;  gap: clamp(2.5rem, 5vw, 4.5rem);}@media (min-width: 960px) {  .teachers__grid { grid-template-columns: 1fr 1.05fr; align-items: center; }}.teachers__photos {  position: relative;  padding-right: 18%;  padding-bottom: 14%;}.media--teacher-main { aspect-ratio: 4 / 4.8; border-radius: var(--r-xl); }.media--teacher-side {  position: absolute;  right: 0;  bottom: 0;  width: 56%;  aspect-ratio: 16 / 9;  border: 6px solid var(--white);  box-shadow: var(--sh-2);}.media--teacher-side .media__ph span { font-size: 0.8125rem; }.path {  position: relative;  display: grid;  gap: var(--sp-4);  margin-top: var(--sp-5);}.path::before {  content: '';  position: absolute;  left: 11px;  top: 12px;  bottom: 12px;  width: 2px;  background: linear-gradient(var(--blue-wash-2), var(--blue));}.path li {  position: relative;  padding-left: 2.75rem;}.path li::before {  content: '';  position: absolute;  left: 4px;  top: 0.3rem;  width: 16px;  height: 16px;  border-radius: 50%;  background: var(--white);  border: 4px solid var(--blue);}.path h3 { font-size: var(--t-1); font-weight: 700; }.path p { margin-top: 0.25rem; }.corp {  display: grid;  margin-top: clamp(3rem, 6vw, 5rem);  border-radius: var(--r-xl);  background: var(--white);  box-shadow: var(--sh-2);  overflow: hidden;}@media (min-width: 960px) {  .corp { grid-template-columns: 0.75fr 1.25fr; }}.corp__head {  --title: #fff;  --em: var(--red-lift);  position: relative;  display: grid;  align-content: center;  gap: var(--sp-2);  padding: clamp(1.75rem, 4vw, 2.75rem);  padding-bottom: calc(clamp(1.75rem, 4vw, 2.75rem) + 8px);  background:    radial-gradient(70% 90% at 100% 0%, rgba(10, 78, 215, 0.55), transparent 70%),    var(--ink-900);  color: var(--on-dark-body);}.corp__head::after {  content: '';  position: absolute;  inset: auto 0 0 0;  height: 8px;  background: linear-gradient(90deg, var(--red-action), var(--red) 60%, var(--blue));}@media (min-width: 960px) {  .corp__head { padding-bottom: clamp(1.75rem, 4vw, 2.75rem); }  .corp__head::after { inset: 0 0 0 auto; width: 8px; height: auto; background: linear-gradient(180deg, var(--red-action), var(--red) 55%, var(--blue)); }}.corp__top {  display: flex;  align-items: center;  justify-content: space-between;  gap: var(--sp-2);}.corp__seal {  flex: none;  width: clamp(5.75rem, 4.75rem + 3vw, 7.25rem);  height: auto;}.corp__seal text {  fill: #fff;  font-size: 9.5px;  font-weight: 700;}.corp__seal-ring {  transform-origin: 60px 60px;  animation: seal-spin 32s linear infinite;}@keyframes seal-spin { to { transform: rotate(360deg); } }.corp__tag {  justify-self: start;  padding: 0.3rem 0.8rem;  border-radius: var(--r-pill);  background: var(--red-action);  color: #fff;  font-size: 0.8125rem;  font-weight: 700;  white-space: nowrap;}.corp__head h3 {  font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem);  font-weight: 800;  letter-spacing: -0.025em;  line-height: 1.1;}.corp__points {  display: grid;  gap: var(--sp-2);  padding: clamp(1.25rem, 3vw, 2rem);  background: var(--paper);}@media (min-width: 640px) {  .corp__points { grid-template-columns: repeat(3, 1fr); }}.corp__point {  display: grid;  align-content: start;  gap: var(--sp-1);  padding: var(--sp-4);  border-radius: var(--r-lg);  background: var(--white);  border-top: 4px solid var(--accent);  box-shadow: var(--sh-1);}.corp__point--red { --accent: var(--red-action); --wash: var(--red-wash); }.corp__point--blue { --accent: var(--blue); --wash: var(--blue-wash-2); }.corp__point--navy { --accent: var(--ink-900); --wash: var(--tint); }.corp__icon {  display: grid;  place-items: center;  width: 44px;  height: 44px;  margin-bottom: var(--sp-1);  border-radius: var(--r-md);  background: var(--wash);  color: var(--accent);}.corp__icon .icon { width: 24px; height: 24px; }.corp__point h4 {  margin: 0;  font-size: var(--t-1);  font-weight: 800;  letter-spacing: -0.01em;  line-height: 1.25;  color: var(--ink-900);}.corp__point p { font-size: 0.9375rem; line-height: 1.55; }@media (max-width: 639.98px) {  .corp__point { grid-template-columns: 44px 1fr; column-gap: var(--sp-3); padding: var(--sp-3); }  .corp__icon { grid-row: 1 / 3; margin-bottom: 0; }}.mosaic {  display: grid;  grid-template-columns: repeat(2, 1fr);  grid-auto-rows: 9.5rem;  grid-auto-flow: dense;  gap: var(--sp-2);}.mosaic .media { border-radius: var(--r-md); }.m-fachada,.m-lanchonete,.m-adultos { grid-column: span 2; grid-row: span 2; }.m-jovens,.m-multimidia { grid-row: span 2; }@media (min-width: 768px) {  .mosaic {    grid-template-columns: repeat(4, 1fr);    grid-auto-rows: clamp(9rem, 17vw, 14rem);    gap: var(--sp-3);  }  .mosaic .media { border-radius: var(--r-lg); }  .m-fachada { grid-area: 1 / 1 / 3 / 3; }  .m-secretaria { grid-area: 1 / 3 / 2 / 4; }  .m-criancas { grid-area: 2 / 3 / 3 / 4; }  .m-jovens { grid-area: 1 / 4 / 3 / 5; }  .m-lanchonete { grid-area: 3 / 1 / 5 / 3; }  .m-espera { grid-area: 3 / 3 / 4 / 4; }  .m-criancas-jovens { grid-area: 4 / 3 / 5 / 4; }  .m-multimidia { grid-area: 3 / 4 / 5 / 5; }  .m-study { grid-area: 5 / 1 / 6 / 2; }  .m-patio { grid-area: 6 / 1 / 7 / 2; }  .m-adultos { grid-area: 5 / 2 / 7 / 4; }  .m-intercambio { grid-area: 5 / 4 / 6 / 5; }  .m-atendimento { grid-area: 6 / 4 / 7 / 5; }}.mosaic .media > img { transition: transform 900ms var(--ease-out); }.mosaic .media:hover > img { transform: scale(1.04); }.mosaic figcaption { font-size: 0.75rem; }@media (min-width: 768px) { .mosaic figcaption { font-size: 0.8125rem; } }.amenities {  display: flex;  flex-wrap: wrap;  gap: var(--sp-1);  margin-top: var(--sp-5);}.amenities li {  display: inline-flex;  align-items: center;  gap: 0.45rem;  padding: 0.5rem 1rem;  border-radius: var(--r-pill);  background: var(--white);  border: 1px solid var(--line-light);  font-size: 0.9375rem;  font-weight: 600;  color: var(--ink-900);}.amenities li::before {  content: '';  width: 6px;  height: 6px;  border-radius: 50%;  background: var(--red-action);}.voices__head {  display: flex;  align-items: flex-end;  justify-content: space-between;  gap: var(--sp-4);  max-width: none;}.voices__head > div:first-child { max-width: 44rem; }.carousel-nav { display: none; gap: var(--sp-1); flex: none; }@media (min-width: 768px) { .carousel-nav { display: flex; } }.voices__track {  --edge: max(var(--gutter), calc((100% - var(--container)) / 2));  padding: var(--sp-1) var(--edge) var(--sp-4);  overflow-x: auto;  scroll-snap-type: x mandatory;  scroll-padding-inline: var(--edge);  scroll-behavior: smooth;  scrollbar-width: none;  overscroll-behavior-x: contain;}.voices__track::-webkit-scrollbar { display: none; }.voices__track:focus-visible { outline-offset: -3px; }.voices__rail {  display: flex;  gap: var(--sp-3);  width: max-content;}.voices__track.is-marquee {  padding-inline: 0;  overflow: hidden;  scroll-snap-type: none;  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}.voices__track.is-marquee {  cursor: grab;  touch-action: pan-y;}.is-marquee .voices__rail { will-change: transform; }.voices__track.is-dragging {  cursor: grabbing;  -webkit-user-select: none;  user-select: none;}.voices__track.is-dragging .quote { pointer-events: none; }.voices.is-auto .carousel-nav { display: none; }.quote {  flex: 0 0 min(82vw, 23rem);  display: flex;  flex-direction: column;  gap: var(--sp-3);  min-height: 19rem;  padding: clamp(1.5rem, 3vw, 2rem);  border-radius: var(--r-xl);  background: var(--paper);  scroll-snap-align: start;  transition: transform var(--dur-mid) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out);}.is-marquee .quote:hover {  transform: translateY(-4px);  box-shadow: 0 24px 40px -24px rgba(0, 0, 0, 0.55);}.quote blockquote {  position: relative;  flex: 1;  padding-top: 2.25rem;  font-size: var(--t-1);  line-height: 1.55;  color: var(--ink-900);}.quote blockquote::before {  content: '\201C';  position: absolute;  top: -0.6rem;  left: -0.1rem;  font-size: 4.5rem;  font-weight: 800;  line-height: 1;  color: var(--red-action);}.quote__text p {  display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 6;  line-clamp: 6;  overflow: hidden;}.quote__more {  align-self: flex-start;  display: inline-flex;  align-items: center;  min-height: 44px;  margin-top: calc(var(--sp-2) * -1);  padding: 0;  border: 0;  background: none;  color: var(--red-action);  font-weight: 700;  text-decoration: underline;  text-underline-offset: 4px;  cursor: pointer;}.quote__more[hidden] { display: none; }.quote__who {  display: flex;  align-items: center;  gap: var(--sp-2);  padding-top: var(--sp-3);  border-top: 1px solid var(--line-light);}.quote__who strong { display: block; color: var(--ink-900); line-height: 1.3; }.quote__who small { display: block; font-size: 0.875rem; color: var(--dim); }.quote__avatar {  flex: none;  display: grid;  place-items: center;  width: 48px;  height: 48px;  overflow: hidden;  border-radius: 50%;  background: var(--blue-wash-2) center / cover;  font-size: 1rem;  font-weight: 800;  letter-spacing: 0.02em;  color: #fff;}.quote__avatar img { width: 100%; height: 100%; object-fit: cover; }.quote__avatar--red { background: var(--red-action); }.quote__avatar--blue { background: var(--blue); }.quote__stars { color: #fabb05; letter-spacing: 0.08em; }.voices__rating {  display: inline-flex;  flex-wrap: wrap;  max-width: 100%;  align-items: center;  gap: 0.25rem 0.625rem;  margin-top: var(--sp-3);  padding: 0.5rem 1rem;  border: 1px solid rgba(255, 255, 255, 0.18);  border-radius: 999px;  background: rgba(255, 255, 255, 0.06);  color: #fff;  font-size: 0.9375rem;  text-decoration: none;  transition: background var(--dur-mid) var(--ease-out), border-color var(--dur-mid) var(--ease-out);}.voices__rating:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.32); }.voices__rating strong { font-size: 1.25rem; font-weight: 800; }.voices__rating .quote__stars { font-size: 1.0625rem; }.voices__rating-text { display: inline-flex; align-items: center; gap: 0.375rem; white-space: nowrap; }.voices__rating-text img { width: auto; height: 1.25em; }@media (max-width: 419.98px) {  .voices__rating { flex-wrap: nowrap; gap: 0.5rem; padding-inline: 0.875rem; font-size: 0.8125rem; white-space: nowrap; }  .voices__rating strong { font-size: 1.125rem; }  .voices__rating .quote__stars { font-size: 0.9375rem; }}@media (max-width: 389.98px) {  .voices__rating { flex-wrap: wrap; border-radius: var(--r-md); }}.voices {  background:    radial-gradient(50% 60% at 90% 10%, rgba(10, 78, 215, 0.45), transparent 70%),    var(--ink-900);}.voices .quote { background: var(--white); }.voices .quote__who small { color: var(--on-light-dim); }.quote--video { --title: #fff; }.voices .quote--video { background: var(--blue); }.quote--video .quote__who { border-color: rgba(255, 255, 255, 0.14); }.quote--video .quote__who strong { color: #fff; }.voices .quote--video .quote__who small { color: #dbe6ff; }.quote__video {  flex: 1;  display: grid;  place-content: center;  justify-items: center;  gap: var(--sp-2);  min-height: 10rem;  border: 0;  border-radius: var(--r-md);  background: rgba(1, 12, 70, 0.28) center / cover;  color: #fff;  font-weight: 600;  cursor: pointer;}.quote__video:focus-visible { outline-color: #fff; }.quote__play {  display: grid;  place-items: center;  width: 60px;  height: 60px;  border-radius: 50%;  background: #fff;  color: var(--ink-900);  transition: transform var(--dur-mid) var(--ease-out);}.quote__video:hover .quote__play { transform: scale(1.08); }.quote__play .icon { margin-left: 3px; }.voice-modal {  width: min(100% - var(--gutter) * 2, 40rem);  max-height: calc(100dvh - 2rem);  padding: clamp(1.75rem, 4vw, 2.5rem);  border: 0;  border-radius: var(--r-xl);  background: var(--white);  color: var(--on-light-body);  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.6);  overflow-y: auto;}.voice-modal::backdrop {  background: rgba(1, 8, 46, 0.78);  backdrop-filter: blur(4px);}.voice-modal[open] { animation: panel-in var(--dur-slow) var(--ease-out); }@keyframes panel-in {  from { opacity: 0; transform: translateY(10px); }  to { opacity: 1; transform: none; }}.voice-modal.is-video {  width: min(100% - var(--gutter) * 2, 60rem);  padding: clamp(1rem, 2vw, 1.25rem);  background: var(--ink-1000);}.voice-modal__close {  position: absolute;  top: 0.75rem;  right: 0.75rem;  z-index: 2;}.voice-modal__body .quote__text p { display: block; -webkit-line-clamp: none; line-clamp: none; }.voice-modal__body blockquote {  padding-top: 2.25rem;  font-size: var(--t-1);  line-height: 1.6;  color: var(--ink-900);}.voice-modal__body .quote__who { margin-top: var(--sp-4); }.voice-modal__body .quote--video .quote__who { display: none; }.voice-modal__media {  display: block;  width: 100%;  aspect-ratio: 16 / 9;  border: 0;  border-radius: var(--r-md);  background: #000;}.voice-modal__empty {  display: grid;  place-items: center;  aspect-ratio: 16 / 9;  border-radius: var(--r-md);  background: var(--ink-900);  color: #fff;  font-weight: 600;  text-align: center;  padding: var(--sp-4);}.languages__box {  display: grid;  gap: var(--sp-4);  padding: clamp(1.75rem, 4vw, 2.75rem);  border-radius: var(--r-xl);  background:    radial-gradient(60% 120% at 100% 0%, rgba(255, 0, 0, 0.22), transparent 70%),    var(--blue);  --title: #fff;  --em: #fff;  color: #eaf0ff;}.languages__box .em {  text-decoration: underline;  text-decoration-color: var(--red);  text-decoration-thickness: 3px;  text-underline-offset: 6px;}.languages__copy h2 { font-size: var(--t-3); }.languages__copy p { margin-top: var(--sp-1); }.languages__list { display: flex; flex-wrap: wrap; gap: var(--sp-2); }.languages__list li {  display: inline-flex;  align-items: center;  gap: 0.6rem;  padding: 0.4rem 1rem 0.4rem 0.4rem;  border-radius: var(--r-pill);  background: var(--white);  font-weight: 700;  color: var(--ink-900);}.languages__list img { width: 36px; height: 36px; border-radius: 50%; }.languages__box .btn { justify-self: start; }@media (min-width: 1000px) {  .languages__box {    grid-template-columns: 1.2fr auto auto;    align-items: center;    gap: var(--sp-5);  }}.story__grid {  display: grid;  gap: clamp(2.5rem, 5vw, 4.5rem);}@media (min-width: 960px) {  .story__grid { grid-template-columns: 1.15fr 1fr; align-items: center; }}.timeline {  --dot: 20px;  position: relative;  display: grid;  gap: var(--sp-4);  margin-top: var(--sp-5);  padding-left: calc(var(--dot) + var(--sp-3));}.timeline::before {  content: '';  position: absolute;  left: calc(var(--dot) / 2 - 1.5px);  top: 6px;  bottom: 6px;  width: 3px;  border-radius: 3px;  background: linear-gradient(var(--blue), var(--red-action));  transform-origin: top;}.timeline__item { position: relative; }.timeline__item::before {  content: '';  position: absolute;  left: calc((var(--dot) + var(--sp-3)) * -1);  top: 0.15rem;  width: var(--dot);  height: var(--dot);  border-radius: 50%;  background: var(--paper);  border: 5px solid var(--blue);  box-sizing: border-box;}.timeline__item--now::before {  background: var(--red-action);  border-color: var(--red-action);  box-shadow: 0 0 0 6px rgba(224, 0, 0, 0.16);}.timeline__when {  display: block;  font-size: var(--t-2);  font-weight: 800;  letter-spacing: -0.02em;  line-height: 1.15;  color: var(--red-action);}.timeline h3 { margin-top: 0.2rem; font-size: var(--t-1); }.timeline p { margin-top: 0.3rem; }.motion .timeline::before { transform: scaleY(0); transition: transform 1100ms var(--ease-out) 150ms; }.motion .timeline.is-in::before { transform: none; }.motion .timeline__item::before { transform: scale(0); transition: transform 500ms var(--ease-out); }.motion .timeline.is-in .timeline__item::before { transform: none; }.motion .timeline.is-in .timeline__item:nth-child(2)::before { transition-delay: 450ms; }.motion .timeline.is-in .timeline__item:nth-child(3)::before { transition-delay: 900ms; }.media--story {  aspect-ratio: 1;  border-radius: var(--r-xl);  box-shadow: var(--sh-2);}.story__visual { position: relative; }.story__visual::before {  content: '';  position: absolute;  inset: 8% max(-6%, 0.5rem - var(--gutter)) -6% 10%;  border-radius: var(--r-xl);  background: var(--blue-wash-2);  z-index: -1;}.story__visual { isolation: isolate; }.timewarp__old { filter: sepia(0.35) saturate(0.9); }.timewarp__new { transform: translateX(100%); }.timewarp.is-now .timewarp__old { transform: translateX(-100%); }.timewarp.is-now .timewarp__new { transform: none; }.timewarp__fx {  position: absolute;  inset: 0;  z-index: 2;  pointer-events: none;  opacity: 0;  background:    repeating-linear-gradient(180deg,      transparent 0 14px,      rgba(255, 255, 255, 0.55) 14px 16px,      transparent 16px 31px,      rgba(157, 192, 255, 0.45) 31px 32px,      transparent 32px 47px);  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);  mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);}.timewarp.is-warping .timewarp__fx { animation: warp-streaks 650ms ease-out forwards; }.timewarp.to-now .timewarp__old { animation: slide-out-left 650ms cubic-bezier(0.7, 0, 0.2, 1) forwards; }.timewarp.to-now .timewarp__new { animation: slide-in-right 650ms cubic-bezier(0.7, 0, 0.2, 1) forwards; }.timewarp.to-past .timewarp__new { animation: slide-out-right 650ms cubic-bezier(0.7, 0, 0.2, 1) forwards; }.timewarp.to-past .timewarp__old { animation: slide-in-left 650ms cubic-bezier(0.7, 0, 0.2, 1) forwards; }@keyframes slide-out-left {  from { transform: none; filter: sepia(0.35) blur(0); }  50% { filter: sepia(0.35) blur(6px); }  to { transform: translateX(-100%); filter: sepia(0.35) blur(10px); }}@keyframes slide-in-right {  from { transform: translateX(100%); filter: blur(10px); }  50% { filter: blur(6px); }  to { transform: none; filter: none; }}@keyframes slide-out-right {  from { transform: none; filter: blur(0); }  50% { filter: blur(6px); }  to { transform: translateX(100%); filter: blur(10px); }}@keyframes slide-in-left {  from { transform: translateX(-100%); filter: sepia(0.35) blur(10px); }  50% { filter: sepia(0.35) blur(6px); }  to { transform: none; filter: sepia(0.35) saturate(0.9); }}@keyframes warp-streaks {  0% { opacity: 0; transform: translateX(40%) scaleX(0.6); }  35% { opacity: 1; }  100% { opacity: 0; transform: translateX(-40%) scaleX(1.4); }}.timewarp .timewarp__label {  top: 12px;  bottom: auto;  transition: opacity var(--dur-mid) var(--ease-out);}.timewarp.is-warping .timewarp__label { opacity: 0; }.timewarp__btn {  position: absolute;  left: 50%;  bottom: var(--sp-3);  z-index: 3;  display: inline-flex;  align-items: center;  gap: 0.55rem;  min-height: 48px;  padding: 0.7rem 1.2rem;  border: 0;  border-radius: var(--r-pill);  background: var(--ink-900);  color: #fff;  font-weight: 700;  font-size: 0.9375rem;  white-space: nowrap;  cursor: pointer;  transform: translateX(-50%);  box-shadow: 0 14px 30px -12px rgba(1, 8, 46, 0.7);  transition: background-color var(--dur-fast), transform var(--dur-fast) var(--ease-out);}.timewarp__btn:hover { background: var(--ink-800); transform: translateX(-50%) translateY(-2px); }.timewarp__btn .icon { color: var(--red-lift); }.timewarp__btn::before {  content: '';  position: absolute;  inset: 0;  border-radius: inherit;  box-shadow: 0 0 0 0 rgba(255, 59, 59, 0.5);  animation: btn-ping 2.4s ease-out infinite;}.timewarp.is-now .timewarp__btn::before,.timewarp.is-warping .timewarp__btn::before { animation: none; }@keyframes btn-ping {  0% { box-shadow: 0 0 0 0 rgba(255, 59, 59, 0.5); }  70%, 100% { box-shadow: 0 0 0 12px rgba(255, 59, 59, 0); }}.clock-hand { transform-origin: 12px 12px; }.timewarp.is-warping .clock-hand { animation: clock-spin 650ms cubic-bezier(0.7, 0, 0.2, 1); }@keyframes clock-spin { to { transform: rotate(720deg); } }.cefr .section-head { max-width: 52rem; }.cefr__levels { display: grid; gap: var(--sp-3); }.cefr__levels li {  display: grid;  grid-template-columns: 4.5rem 1fr;  grid-template-rows: auto 1fr;  column-gap: var(--sp-3);  padding: var(--sp-3);  border-radius: var(--r-lg);  background: var(--white);  box-shadow: var(--sh-1);}.cefr__bar {  grid-row: 1 / 3;  display: flex;  align-items: center;  justify-content: center;  border-radius: var(--r-md);  background: var(--blue);  color: #fff;}.cefr__bar b { font-size: 1.375rem; font-weight: 800; letter-spacing: -0.01em; }.cefr__levels li:nth-child(1) .cefr__bar { background: #b9cdf6; color: var(--ink-900); }.cefr__levels li:nth-child(2) .cefr__bar { background: #94b3f0; color: var(--ink-900); }.cefr__levels li:nth-child(3) .cefr__bar { background: #6b95ea; color: var(--ink-1000); }.cefr__levels li:nth-child(4) .cefr__bar { background: #3a72e2; }.cefr__levels li:nth-child(5) .cefr__bar { background: #1a5bdc; }.cefr__levels h3 { font-size: var(--t-1); }.cefr__levels p { margin-top: 0.25rem; font-size: 0.9375rem; }@media (min-width: 1024px) {  .cefr__levels {    grid-template-columns: repeat(6, 1fr);    gap: var(--sp-3);  }  .cefr__levels li {    grid-template-columns: 1fr;    grid-template-rows: 11rem auto 1fr;    padding: 0;    background: none;    box-shadow: none;  }  .cefr__bar {    grid-row: auto;    align-self: end;    align-items: flex-start;    height: var(--h);    padding-top: 0.75rem;    border-radius: var(--r-md) var(--r-md) 4px 4px;  }  .cefr__levels h3 {    margin-top: var(--sp-3);    padding-top: var(--sp-3);    border-top: 2px solid var(--blue-wash-2);  }}.faq__grid {  display: grid;  gap: var(--sp-5);}@media (min-width: 960px) {  .faq__grid { grid-template-columns: 1fr 1.8fr; align-items: start; gap: var(--sp-7); }  .faq__head { position: sticky; top: calc(var(--header-h) + 2rem); }}.faq__head p { margin-top: var(--sp-2); }.faq__head .link-arrow { margin-top: var(--sp-2); }.qa { border-bottom: 1px solid var(--line-light); }.qa:first-child { border-top: 1px solid var(--line-light); }.qa summary {  display: flex;  align-items: center;  justify-content: space-between;  gap: var(--sp-3);  min-height: 64px;  padding-block: var(--sp-3);  font-size: var(--t-1);  font-weight: 700;  color: var(--ink-900);  line-height: 1.35;  cursor: pointer;  list-style: none;}.qa summary::-webkit-details-marker { display: none; }.qa summary .icon {  width: 1.5rem;  height: 1.5rem;  color: var(--blue);  transition: transform var(--dur-mid) var(--ease-out);}.qa[open] summary .icon { transform: rotate(45deg); }.qa summary:hover { color: var(--blue); }.qa__a { padding-bottom: var(--sp-4); max-width: 44rem; }.final {  position: relative;  overflow: hidden;  padding-block: var(--sp-8);  background:    radial-gradient(50% 70% at 50% 0%, rgba(10, 78, 215, 0.7), transparent 75%),    radial-gradient(35% 50% at 100% 100%, rgba(255, 0, 0, 0.2), transparent 70%),    var(--ink-900);  --body: #dfe7fb;  text-align: center;}.final::before,.final::after {  content: '';  position: absolute;  border-radius: 50%;  border: 1.5px solid rgba(255, 255, 255, 0.14);  pointer-events: none;}.final::before { width: 42rem; aspect-ratio: 1; left: -16rem; top: -22rem; }.final::after { width: 30rem; aspect-ratio: 1; right: -10rem; bottom: -18rem; }.final__inner {  position: relative;  display: grid;  justify-items: center;  max-width: 48rem;}.final h2 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.25rem); letter-spacing: -0.03em; }.final__inner > p:not(.final__note) { margin-top: var(--sp-3); font-size: var(--t-1); }.final .btn { margin-top: var(--sp-5); }.final__note { margin-top: var(--sp-3); font-size: 0.9375rem; color: #fff; opacity: 0.92; }.footer {  padding-top: var(--sp-7);  background: var(--ink-1000);  font-size: 0.9375rem;}.footer__grid {  display: grid;  gap: var(--sp-5);  padding-bottom: var(--sp-6);}@media (min-width: 820px) {  .footer__grid { grid-template-columns: 1.4fr 1.3fr 1fr; }}.footer__brand img { width: 160px; }.footer__brand p { margin-top: var(--sp-3); max-width: 22rem; color: var(--on-dark-body); }.footer__social { display: flex; gap: var(--sp-1); margin-top: var(--sp-4); }.footer__title {  margin-bottom: var(--sp-3);  font-size: 0.9375rem;  font-weight: 700;  color: #fff;  letter-spacing: 0;}.footer__contact { display: grid; gap: var(--sp-2); }.footer__contact li { display: flex; gap: 0.65rem; align-items: flex-start; }.footer__contact .icon { margin-top: 0.15rem; color: var(--blue-lift); }.footer a { text-decoration: none; color: var(--on-dark-body); transition: color var(--dur-fast); }.footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }.footer__contact a,.footer__links a,.footer__legal a { display: inline-flex; min-height: 44px; align-items: center; }.footer__links { display: grid; }.footer__contact { gap: 0.25rem; }.footer__contact li { align-items: center; }.footer__contact a { flex-wrap: wrap; column-gap: 0.3em; }.footer__contact a span { white-space: nowrap; }.footer__title--hours { margin-top: var(--sp-4); }.footer__hours { display: flex; gap: 0.65rem; align-items: flex-start; color: var(--on-dark-body); line-height: 1.6; }.footer__hours .icon { flex-shrink: 0; margin-top: 0.2rem; color: var(--blue-lift); }.footer__legal {  display: flex;  flex-wrap: wrap;  justify-content: space-between;  gap: var(--sp-2);  padding-block: var(--sp-4);  border-top: 1px solid rgba(255, 255, 255, 0.12);  color: var(--on-dark-dim);  font-size: 0.875rem;}.wa-float {  position: fixed;  right: 24px;  bottom: 24px;  z-index: var(--z-float);  display: none;  place-items: center;  width: 60px;  height: 60px;  border-radius: 50%;  background: var(--whatsapp);  color: #fff;  box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.45);  transition: transform var(--dur-mid) var(--ease-out), background-color var(--dur-fast), opacity var(--dur-mid);}.wa-float .icon { width: 30px; height: 30px; }.wa-float:hover { background: var(--whatsapp-hover); transform: scale(1.06); }@media (min-width: 768px) { .wa-float { display: grid; } }.mobile-bar {  position: fixed;  left: 0;  right: 0;  bottom: 0;  z-index: var(--z-sticky);  padding: 0.75rem var(--gutter) calc(0.75rem + env(safe-area-inset-bottom));  background: rgba(255, 255, 255, 0.97);  border-top: 1px solid var(--line-light);  box-shadow: 0 -10px 30px -18px rgba(2, 17, 103, 0.35);  transform: translateY(110%);  transition: transform var(--dur-slow) var(--ease-out);}.mobile-bar.is-visible { transform: none; }@media (min-width: 768px) { .mobile-bar { display: none; } }@media (max-width: 767.98px) {  .footer { padding-bottom: 5.5rem; }}.motion .reveal {  opacity: 0;  transform: translateY(18px);  transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out);  transition-delay: var(--delay, 0ms);}.motion .reveal.is-in { opacity: 1; transform: none; }.motion .pillar__after-phone,.motion .pillar__after-pen {  opacity: 0;  transform: translateY(70%);}.motion .is-in .pillar__after-phone,.motion .is-in .pillar__after-pen {  opacity: 1;  transform: none;  transition: opacity 500ms var(--ease-out), transform 900ms var(--ease-out);  transition-delay: 150ms;}.motion .is-in .pillar__after-pen { transition-delay: 650ms; }.motion .hero__copy > *,.motion .hero__visual {  animation: rise 700ms var(--ease-out) both;}.motion .hero__copy > :nth-child(2) { animation-delay: 70ms; }.motion .hero__copy > :nth-child(3) { animation-delay: 140ms; }.motion .hero__copy > :nth-child(4) { animation-delay: 210ms; }.motion .hero__copy > :nth-child(5) { animation-delay: 280ms; }.motion .hero__visual { animation-delay: 160ms; }@keyframes rise {  from { opacity: 0; transform: translateY(16px); }  to { opacity: 1; transform: none; }}.motion .stairs span { transform: scaleY(0); transition: transform 700ms var(--ease-out); }.motion .is-in .stairs span { transform: scaleY(1); }.motion .is-in .stairs span:nth-child(2) { transition-delay: 80ms; }.motion .is-in .stairs span:nth-child(3) { transition-delay: 160ms; }.motion .is-in .stairs span:nth-child(4) { transition-delay: 240ms; }.motion .is-in .stairs span:nth-child(5) { transition-delay: 320ms; }.motion .is-in .stairs span:nth-child(6) { transition-delay: 400ms; }@media (min-width: 1024px) {  .motion .cefr__bar { transform: scaleY(0); transform-origin: bottom; transition: transform 700ms var(--ease-out); }  .motion .is-in .cefr__bar { transform: scaleY(1); }  .motion .is-in li:nth-child(2) .cefr__bar { transition-delay: 80ms; }  .motion .is-in li:nth-child(3) .cefr__bar { transition-delay: 160ms; }  .motion .is-in li:nth-child(4) .cefr__bar { transition-delay: 240ms; }  .motion .is-in li:nth-child(5) .cefr__bar { transition-delay: 320ms; }  .motion .is-in li:nth-child(6) .cefr__bar { transition-delay: 400ms; }}@media (prefers-reduced-motion: reduce) {  html { scroll-behavior: auto; }  *, *::before, *::after {    animation-duration: 1ms !important;    animation-iteration-count: 1 !important;    transition-duration: 1ms !important;  }  .motion .reveal { transform: none; }  .voices__track { scroll-behavior: auto; }}
