/* ============================================================
   SpeakUp — Color tokens (v4: brand-led, zero black in UI)
   Brand blue leads the action layer — primary buttons, links, focus,
   active states, highlighted metrics, and every dark/inverse surface
   (a deep blue, never black). Amarelo is the secondary brand color for
   emphasis and highlights; laranja and magenta are support accents for
   sparse category tags and chart highlights. Ink/graphite is TEXT ONLY
   — body copy, headings, captions — never a background, border or fill.
   ============================================================ */

:root {
  /* ---- Brand (leads actions and accents) ---- */
  --su-blue:        #0e48fe;
  --su-yellow:      #ffae1e;
  --su-pink:        #f30961;
  --su-orange:      #fc6e1f;

  --su-blue-50:     #eef2ff;
  --su-blue-100:    #dde6ff;
  --su-blue-200:    #b9c9ff;
  --su-blue-300:    #8aa4ff;
  --su-blue-600:    #0a39d6;
  --su-blue-700:    #0a2fab;

  --su-pink-100:    #ffd6e4;
  --su-pink-700:    #9e0640;
  --su-orange-100:  #ffe6d4;
  --su-orange-600:  #db5811;
  --su-yellow-100:  #fff1cf;
  --su-yellow-600:  #a06e05;

  /* ---- Neutrals: cool graphite (the workhorse scale) ---- */
  --gr-white:       #ffffff;
  --gr-50:          #f7f8f9;
  --gr-100:         #eef0f2;
  --gr-200:         #dfe3e7;
  --gr-300:         #c7ccd1;
  --gr-400:         #9aa1a9;
  --gr-500:         #6b7280;
  --gr-600:         #4b5259;
  --gr-700:         #343a40;
  --gr-800:         #212529;
  --gr-900:         #14171a;
  --ink:            #101214;

  /* ---- Semantic feedback (muted, not candy) ---- */
  --su-success:     #147a44;
  --su-success-bg:  #e7f4ec;
  --su-success-fg:  #146138;
  --su-warning:     #a5690a;
  --su-warning-bg:  #faf1e0;
  --su-warning-fg:  #8a5807;
  --su-danger:      #b3261e;
  --su-danger-bg:   #fbebe9;
  --su-danger-fg:   #942016;
  --su-info:        var(--su-blue);
  --su-info-bg:     var(--su-blue-50);
  --su-info-fg:     var(--su-blue-700);

  /* ============================================================
     SEMANTIC ALIASES — blue leads actions, ink/graphite carries surfaces
     ============================================================ */
  --color-ink:            var(--ink);
  --color-accent:         var(--su-blue);
  --color-accent-hover:   var(--su-blue-600);

  --text-strong:          var(--ink);
  --text-body:            var(--gr-700);
  --text-muted:           var(--gr-500);
  --text-faint:           var(--gr-400);
  --text-on-dark:         var(--gr-white);

  --surface-page:         var(--gr-50);
  --surface-card:         var(--gr-white);
  --surface-sunken:       var(--gr-100);
  --surface-inverse:      var(--su-blue-700);

  --border-subtle:        var(--gr-200);
  --border-strong:        var(--gr-300);
  --border-focus:         var(--su-blue);

  /* ---- Ink alpha tints (borders/overlays/scrims — more nuance than flat neutrals) ---- */
  --ink-65:  rgba(16, 18, 20, 0.65);
  --ink-50:  rgba(16, 18, 20, 0.50);
  --ink-40:  rgba(16, 18, 20, 0.40);
  --ink-12:  rgba(16, 18, 20, 0.12);
  --ink-08:  rgba(16, 18, 20, 0.08);
  --ink-04:  rgba(16, 18, 20, 0.04);
}

/* ============================================================
   SpeakUp — Typography tokens (v2)
   Display: Manrope · Body/UI: Source Sans 3
   ============================================================ */

:root {
  --font-display: 'Manrope', system-ui, sans-serif;
  --font-body:    'Source Sans 3', system-ui, -apple-system, sans-serif;
  --font-mono:    ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --fw-regular:   400; /* @kind font */
  --fw-medium:    500; /* @kind font */
  --fw-semibold:  600; /* @kind font */
  --fw-bold:      700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */

  /* Tighter, more editorial scale */
  --fs-display:   3rem;      /* 48 */
  --fs-h1:        2.25rem;   /* 36 */
  --fs-h2:        1.75rem;   /* 28 */
  --fs-h3:        1.375rem;  /* 22 */
  --fs-h4:        1.125rem;  /* 18 */
  --fs-lg:        1.0625rem; /* 17 */
  --fs-base:      0.9375rem; /* 15 */
  --fs-sm:        0.8125rem; /* 13 */
  --fs-xs:        0.75rem;   /* 12 */
  --fs-2xs:       0.6875rem; /* 11 */

  --lh-tight:     1.1; /* @kind other */
  --lh-snug:      1.3; /* @kind other */
  --lh-normal:    1.5; /* @kind other */
  --lh-relaxed:   1.65; /* @kind other */

  --ls-tight:     -0.015em; /* @kind other */
  --ls-normal:    0; /* @kind other */
  --ls-caps:      0.06em; /* @kind other */
  --ls-caps-lg:   0.12em; /* @kind other */

  --text-heading-font:   var(--font-display);
  --text-heading-weight: var(--fw-bold);
  --text-body-font:      var(--font-body);
  --text-body-weight:    var(--fw-regular);
}

/* ============================================================
   SpeakUp — Spacing & layout tokens
   8-point base grid
   ============================================================ */

:root {
  --space-0:   0;
  --space-1:   0.25rem;  /*  4 */
  --space-2:   0.5rem;   /*  8 */
  --space-3:   0.75rem;  /* 12 */
  --space-4:   1rem;     /* 16 */
  --space-5:   1.25rem;  /* 20 */
  --space-6:   1.5rem;   /* 24 — default card padding */
  --space-8:   2rem;     /* 32 — section gap */
  --space-10:  2.5rem;   /* 40 */
  --space-12:  3rem;     /* 48 */
  --space-16:  4rem;     /* 64 */
  --space-20:  5rem;     /* 80 */

  /* ---- Layout ---- */
  --sidebar-width:   15rem;   /* 240 — fixed sidebar */
  --header-height:   3.75rem; /* 60 */
  --content-max:     80rem;   /* 1280 */
  --page-pad:        var(--space-8);
  --grid-gutter:     var(--space-6); /* 24 — column/card gutter */

  /* ---- Section/edge padding (page-level rhythm) ---- */
  --pad-section:     6rem;    /* 96 */
  --pad-section-sm:  3.5rem;  /* 56 */
  --pad-edge:        2rem;    /* 32 */
  --pad-edge-sm:     1.25rem; /* 20 */
}

/* ============================================================
   SpeakUp — Radii, borders, shadows, motion (v2)
   Sharper, quieter: small radii, hairline borders, subtle elevation.
   Pill shape is reserved for tags/status only, not buttons.
   ============================================================ */

:root {
  --radius-xs:    4px;
  --radius-sm:    6px;   /* buttons, inputs */
  --radius-md:    8px;   /* cards */
  --radius-lg:    10px;  /* panels */
  --radius-xl:    14px;  /* modals */
  --radius-pill:  999px; /* tags / status pills only */

  --border-width: 1px;
  --border-card:  1px solid var(--gr-200);

  /* Quiet, low-contrast elevation — no colored glow */
  --shadow-xs:   0 1px 2px rgba(16, 18, 20, 0.05);
  --shadow-sm:   0 1px 2px rgba(16, 18, 20, 0.06), 0 1px 1px rgba(16, 18, 20, 0.04);
  --shadow-md:   0 4px 10px rgba(16, 18, 20, 0.07);
  --shadow-lg:   0 10px 24px rgba(16, 18, 20, 0.10);
  --shadow-xl:   0 20px 40px rgba(16, 18, 20, 0.14);

  --ring-accent:  0 0 0 3px rgba(14, 72, 254, 0.18);

  /* ---- Named use-case shadows (layered, ink-tinted — for rigor/hierarchy) ---- */
  --shadow-card:    0 1px 2px var(--ink-04), 0 8px 20px var(--ink-08);
  --shadow-card-lg: 0 2px 6px var(--ink-08), 0 30px 55px -20px var(--ink-12);
  --shadow-pop:     0 16px 36px -18px var(--ink-40);
  --shadow-drawer:  -20px 0 60px -16px var(--ink-12), -1px 0 0 var(--ink-08);
  --shadow-pill:    0 1px 0 var(--ink-04), 0 6px 18px -12px var(--ink-12);
  --shadow-btn:     0 10px 22px -12px var(--ink-40);

  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --dur-fast:      100ms; /* @kind other */
  --dur-base:      160ms; /* @kind other */
  --dur-slow:      240ms; /* @kind other */
}


body{margin:0}
a{color:var(--su-blue)}a:hover{color:var(--su-blue-600)}
.lp{min-height:100vh;background-color:#fafaf9;background-image:radial-gradient(circle,#a3a3a0 0.35px,transparent 0.35px);background-size:8px 8px;box-shadow:inset 0 0 0 9999px rgba(255,255,255,.33);overflow-x:hidden}
.lp-wrap{max-width:80rem;margin:0 auto;padding-left:var(--pad-edge);padding-right:var(--pad-edge)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-6)}
.lp-eyebrow{margin:0;font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--ls-caps-lg);text-transform:uppercase;color:var(--su-blue)}
.lp-h2{margin:0;font-family:var(--font-display);font-size:2.5rem;font-weight:800;line-height:1.08;letter-spacing:-0.025em;color:var(--text-strong)}
.lp-lead{margin:0;font-size:1.125rem;line-height:var(--lh-relaxed);color:var(--text-body)}
.lp-nav a.lp-link{color:var(--gr-600);text-decoration:none}
.lp-nav a.lp-link:hover{color:var(--su-blue)}
.lp-cta-link{display:inline-flex;text-decoration:none}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;text-decoration:none}
.lp-btn-primary{background:var(--su-blue);color:#fff}
.lp-btn-primary:hover{background:var(--su-blue-600);color:#fff}
.lp-btn-cta{height:3.25rem;padding:0 var(--space-8);background:var(--su-yellow);color:var(--ink);font-size:var(--fs-base);font-weight:800}
.lp-btn-cta:hover{background:#ffbd45;color:var(--ink)}
.lp-nav .lp-nav-sm{display:none}
.lp-mark{color:var(--su-blue);box-shadow:inset 0 -0.14em 0 var(--su-yellow)}
.lp-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.lp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-hero-img{display:block;width:118%;max-width:none;height:auto;margin-left:-6%}
.lp-ruler{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-seg{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-6) var(--space-8);border-top:6px solid var(--seg);background:var(--surface-card);text-decoration:none;transition:background 160ms ease}
.lp-seg + .lp-seg{border-left:1px solid var(--border-subtle)}
.lp-seg:hover{background:var(--su-blue-50)}
.lp-seg:focus-visible{outline:2px solid var(--su-blue);outline-offset:-2px}
.lp-seg-age{font-family:var(--font-display);font-size:2.75rem;font-weight:800;line-height:1;letter-spacing:-0.03em;color:var(--text-strong)}
.lp-seg-age small{font-size:var(--fs-base);font-weight:700;letter-spacing:0;color:var(--text-muted);margin-left:6px}
.lp-seg-name{margin-top:var(--space-3);font-family:var(--font-display);font-size:var(--fs-h3);font-weight:800;color:var(--text-strong)}
.lp-seg-d{font-size:var(--fs-base);line-height:1.55;color:var(--text-body)}
.lp-seg-go{margin-top:auto;padding-top:var(--space-5);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;color:var(--su-blue)}
.lp-manifest{margin:0;font-family:var(--font-display);font-size:2.25rem;font-weight:700;line-height:1.3;letter-spacing:-0.02em;color:var(--text-strong)}
.lp-manifest em{font-style:normal;color:var(--su-blue)}
.lp-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-point{padding-top:var(--space-5);border-top:1px solid var(--border-strong)}
.lp-point-t{margin:0;font-family:var(--font-display);font-size:var(--fs-h4);font-weight:800;color:var(--text-strong)}
.lp-point-d{margin:var(--space-2) 0 0;font-size:var(--fs-base);line-height:1.6;color:var(--text-body)}
.lp-steps-h{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-steps-h::before{content:"";position:absolute;left:16px;right:16px;top:16px;border-top:2px dotted var(--gr-300)}
.lp-step-n{position:relative;z-index:1;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);box-shadow:0 0 0 6px #fbfbfa;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800}
.lp-step-t{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--fs-base);font-weight:800;color:var(--text-strong)}
.lp-step-d{margin:var(--space-1) 0 0;font-size:var(--fs-base);line-height:1.55;color:var(--text-body)}
.lp-band{background:var(--su-blue-50)}
.lp-cefr{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.4fr)}
.lp-bar{appearance:none;border:0;margin:0;padding:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;font:inherit}
.lp-bar:focus-visible{outline:2px solid var(--su-blue);outline-offset:3px;border-radius:10px 10px 0 0}
.lp-cam{display:grid;grid-template-columns:minmax(0,0.75fr) minmax(0,1.5fr) minmax(0,1fr)}
.lp-cam-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-size:var(--fs-base);font-weight:700;color:var(--text-strong)}
.lp-cam-item:first-child{border-top:1px solid var(--border-subtle)}
.lp-cam-lvl{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--su-blue-50);color:var(--su-blue-700);font-size:var(--fs-sm);font-weight:800}
.lp-books{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.lp-fan{position:relative;aspect-ratio:10/7}
.lp-fan img{position:absolute;top:50%;width:30%;height:auto;border-radius:6px;box-shadow:0 22px 44px -14px rgba(10,47,171,.35),0 2px 6px rgba(10,47,171,.12)}
.lp-series{margin:0;padding:0;list-style:none}
.lp-series li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}
.lp-series li:first-child{border-top:1px solid var(--border-subtle)}
.lp-series b{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800;color:var(--text-strong)}
.lp-series span{font-size:var(--fs-sm);color:var(--text-muted)}
.lp-quotes{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.lp-q{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:rgba(255,255,255,.7)}
.lp-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-start-n{font-family:var(--font-display);font-size:4rem;font-weight:800;line-height:1;letter-spacing:-0.04em;color:transparent;-webkit-text-stroke:1.5px var(--su-blue)}
.lp-white{background:var(--surface-card);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.lp-visit{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.lp-map{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background-color:var(--su-blue-50);background-image:linear-gradient(var(--su-blue-100) 1px,transparent 1px),linear-gradient(90deg,var(--su-blue-100) 1px,transparent 1px);background-size:32px 32px;display:flex;align-items:center;justify-content:center;min-height:20rem}
.lp-faqwrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.lp-faq{border-bottom:1px solid var(--border-subtle)}
.lp-faq:first-child{border-top:1px solid var(--border-subtle)}
.lp-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;color:var(--text-strong)}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary:hover{color:var(--su-blue)}
.lp-faq summary:focus-visible{outline:2px solid var(--su-blue);outline-offset:2px}
.lp-faq-ico{flex:none;color:var(--su-blue);transition:transform 200ms ease}
.lp-faq[open] .lp-faq-ico{transform:rotate(45deg)}
.lp-faq p{margin:0;padding:0 var(--space-10) var(--space-5) 0;font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--text-body)}
.lp-final{position:relative;overflow:hidden;background:var(--surface-inverse)}
.lp-final-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.16) 0.8px,transparent 0.8px);background-size:12px 12px}
.lp-foot{display:grid;grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2fr))}
.lp-foot-h{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--ls-caps-lg);text-transform:uppercase;color:var(--su-blue)}
.lp-foot-t{margin:0;font-size:var(--fs-sm);line-height:1.8;color:var(--text-body)}
.lp-foot a{color:var(--text-body);text-decoration:none}.lp-foot a:hover{color:var(--su-blue)}
.lp-slot{position:relative;border-radius:14px;overflow:hidden;background:var(--su-blue-50)}
.lp-slot image-slot{display:block;width:100%;height:100%}
.lp-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:13rem;gap:var(--space-6)}
.lp-profs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.lp-prof-n{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800;color:var(--text-strong)}
.lp-prof-r{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--su-blue)}
.lp-prof-b{margin:var(--space-2) 0 0;font-size:var(--fs-sm);line-height:1.55;color:var(--text-body)}
.lp-school{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-6)}
.lp-cap{margin-top:var(--space-2);font-size:var(--fs-sm);font-weight:600;color:var(--text-muted)}
.lp-team{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-12);align-items:start}
.lp-team-h{position:sticky;top:var(--space-8)}
.lp-profs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6) var(--space-5)}
.lp-prof .lp-slot{transition:transform 220ms cubic-bezier(.22,.8,.3,1),box-shadow 220ms ease}
.lp-prof:hover .lp-slot{transform:translateY(-4px);box-shadow:var(--shadow-card-lg)}
.lp-gal{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-8);align-items:stretch}
.lp-gal-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.lp-gal-btn{position:relative;appearance:none;width:100%;display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) 0;border:0;border-top:1px solid var(--border-subtle);background:transparent;text-align:left;cursor:pointer;font:inherit;transition:opacity 200ms ease}
.lp-gal-btn:focus-visible{outline:2px solid var(--su-blue);outline-offset:2px}
.lp-gal-n{flex:none;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--su-blue);padding-top:2px}
.lp-gal-t{display:block;font-family:var(--font-display);font-size:var(--fs-h4);font-weight:800;color:var(--text-strong)}
.lp-gal-d{display:block;margin-top:var(--space-1);font-size:var(--fs-sm);line-height:1.5;color:var(--text-muted)}
.lp-gal-bar{position:absolute;left:0;right:0;top:-1px;height:2px;overflow:hidden}
.lp-gal-bar span{display:block;height:100%;background:var(--su-blue)}
.lp-gal-stage{position:relative;aspect-ratio:16/10;border-radius:var(--radius-xl);overflow:hidden;background:var(--su-blue-50);box-shadow:var(--shadow-card)}
.lp-gal-slide{position:absolute;inset:0}
.lp-gal-slide image-slot{display:block;width:100%;height:100%}
.lp-gal-count{position:absolute;right:var(--space-4);bottom:var(--space-4);z-index:6;padding:4px 10px;border-radius:var(--radius-sm);background:rgba(16,18,20,.6);color:#fff;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em}
.lp-q-cell{margin:0;padding:var(--space-6) var(--space-8);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4)}
.lp-q-big{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1.35;letter-spacing:-0.015em;color:var(--text-muted)}
.lp-q-sm{margin:0;font-size:var(--fs-lg);line-height:1.5;color:var(--text-muted)}
.lp-q-who{font-size:var(--fs-sm);color:var(--text-muted)}
.lp-q-who b{color:var(--text-strong)}
.lp-final-steps{margin:var(--space-2) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;color:rgba(255,255,255,.85)}
.lp-final-steps li{display:flex;align-items:center;gap:var(--space-2)}
.lp-final-steps span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-xs);background:rgba(255,255,255,.14);font-size:var(--fs-xs)}
.lp-difs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8)}
.lp-dif{position:relative;padding-top:var(--space-6);border-top:1px solid var(--border-strong)}
.lp-dif::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:32px;background:var(--dif);transition:width 320ms cubic-bezier(.22,.8,.3,1)}
.lp-dif:hover::before{width:100%}
.lp-dif-n{display:block;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;letter-spacing:var(--ls-caps);color:var(--text-strong)}
.lp-dif-t{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:800;line-height:1.2;letter-spacing:-0.01em;color:var(--text-strong)}
.lp-dif-d{margin:var(--space-3) 0 0;font-size:var(--fs-base);line-height:1.6;color:var(--text-body)}
@media (prefers-reduced-motion: reduce){.lp-dif::before{transition:none}}
.lp-car{--sw:min(78vw,64rem);--gap:16px;overflow:hidden;padding:4px 0 8px}
.lp-car-track{display:flex;gap:var(--gap);margin-left:calc(50% - var(--sw) / 2);transition:transform 600ms cubic-bezier(.22,.8,.3,1)}
.lp-car-slide{flex:none;width:var(--sw);min-height:28rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-12);box-sizing:border-box;border-radius:var(--radius-xl);transition:opacity 400ms ease,transform 600ms cubic-bezier(.22,.8,.3,1)}
.lp-car-media{height:22rem;display:flex;align-items:center;justify-content:center}
.lp-car-media image-slot{display:block;width:100%;height:100%}
.lp-car-age{align-self:flex-start;display:inline-flex;padding:5px 12px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:800;letter-spacing:var(--ls-caps);text-transform:uppercase}
.lp-car-body{display:flex;flex-direction:column;gap:var(--space-4)}
.lp-car-t{margin:0;font-family:var(--font-display);font-size:2.75rem;font-weight:800;line-height:1;letter-spacing:-0.03em}
.lp-car-d{margin:0;font-size:var(--fs-lg);line-height:1.55;max-width:28rem}
.lp-car-facts{margin:var(--space-1) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-base);font-weight:600}
.lp-car-facts li{display:flex;align-items:center;gap:var(--space-3)}
.lp-car-dot{flex:none;width:6px;height:6px;border-radius:50%}
.lp-car-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-3)}
.lp-car-btn{display:inline-flex;align-items:center;height:3rem;padding:0 var(--space-6);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;text-decoration:none}
.lp-car-link{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;text-decoration:none}
.lp-car-btn:focus-visible,.lp-car-link:focus-visible,.lp-car-arrow:focus-visible,.lp-car-tab:focus-visible{outline:2px solid var(--su-blue);outline-offset:3px}
.lp-car-arrow{appearance:none;width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-strong);cursor:pointer;transition:border-color 160ms ease,color 160ms ease}
.lp-car-arrow:hover{border-color:var(--su-blue);color:var(--su-blue)}
.lp-car-dots{max-width:80rem;margin:var(--space-8) auto 0;padding:0 var(--pad-edge);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.lp-car-tab{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit;display:flex;flex-direction:column;gap:var(--space-3)}
.lp-car-tab-bar{display:block;height:3px;border-radius:2px;transition:background 300ms ease}
.lp-car-tab-l{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;transition:color 300ms ease}
@media (prefers-reduced-motion: reduce){.lp-car-track,.lp-car-slide{transition:none}}
.lp-mq{overflow:hidden;background:var(--su-yellow);padding:var(--space-4) 0;border-top:1px solid rgba(16,18,20,.06);border-bottom:1px solid rgba(16,18,20,.06)}
.lp-mq-track{display:flex;width:max-content;animation:lpMarquee 38s linear infinite}
.lp-mq:hover .lp-mq-track{animation-play-state:paused}
.lp-mq-half{display:flex;align-items:center;flex:none}
.lp-mq-t{flex:none;padding:0 var(--space-8);font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--ink);white-space:nowrap}
.lp-mq-i{flex:none;display:block;height:34px;width:auto}
.lp-mq-i:nth-of-type(even){transform:scaleX(-1)}
@keyframes lpMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.lp-mq-track{animation:none}}
@media (max-width: 560px){.lp-mq-t{font-size:1.25rem;padding:0 var(--space-5)}.lp-mq-i{height:26px}}
.lp-books2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.lp-book{cursor:pointer;transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease}
.lp-book:focus-visible{outline:2px solid var(--su-blue);outline-offset:2px}
.lp-deck{position:relative;width:100%;aspect-ratio:10/7.6}
.lp-cover{position:absolute;left:50%;top:50%;width:38%;margin:0;transform-origin:50% 60%;transition:transform 560ms cubic-bezier(.22,.8,.3,1),filter 560ms ease;will-change:transform;cursor:pointer}
.lp-cover img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 22px 44px -14px rgba(10,47,171,.35),0 2px 6px rgba(10,47,171,.12)}
.lp-cover.is-auto{animation:lpDeck 12s cubic-bezier(.22,.8,.3,1) infinite}
.lp-deck:hover .lp-cover.is-auto{animation-play-state:paused}
@keyframes lpDeck{0%,20%{transform:translate(-50%,-50%) rotate(0deg) scale(1);filter:none;z-index:4}21%{z-index:3}25%,45%{transform:translate(15%,-50%) rotate(7deg) scale(.82);filter:brightness(.95);z-index:3}46%{z-index:1}50%,70%{transform:translate(-50%,-57%) rotate(0deg) scale(.7);filter:brightness(.9);z-index:1}71%{z-index:2}75%,95%{transform:translate(-115%,-50%) rotate(-7deg) scale(.82);filter:brightness(.95);z-index:2}96%{z-index:4}100%{transform:translate(-50%,-50%) rotate(0deg) scale(1);filter:none;z-index:4}}
@media (prefers-reduced-motion: reduce){.lp-cover.is-auto{animation:none}.lp-cover{transition:none}}
.lp-quotes3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.lp-quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);padding:var(--space-8);border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);border-top:3px solid var(--qc)}
.lp-quote blockquote{margin:0;font-family:var(--font-display);font-size:var(--fs-h4);font-weight:700;line-height:1.45;color:var(--text-muted)}
.lp-quote figcaption{font-size:var(--fs-base);color:var(--gr-600)}.lp-quote figcaption b{color:var(--text-strong)}
.lp-tm{--cw:min(64vw,16rem);--gap:16px;padding:4px 0 8px}
.lp-tm-track{display:flex;gap:var(--gap);transition:transform 600ms cubic-bezier(.22,.8,.3,1)}
.lp-tm-card{flex:none;width:var(--cw);display:flex;flex-direction:column;cursor:pointer}
.lp-tm-media{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius-xl);overflow:hidden;background:var(--su-blue-50);box-shadow:inset 0 3px 0 var(--acc);transition:transform 220ms cubic-bezier(.22,.8,.3,1),box-shadow 220ms ease}
.lp-tm-slot{position:absolute;inset:0}
.lp-tm-slot image-slot{display:block;width:100%;height:100%;aspect-ratio:auto}
.lp-tm-card:hover .lp-tm-media{transform:translateY(-4px);box-shadow:inset 0 3px 0 var(--acc),var(--shadow-card-lg)}
.lp-tm-body{padding:var(--space-4) var(--space-1) 0}
.lp-tm-n{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800;letter-spacing:-0.01em;line-height:1.2;color:var(--text-strong)}
.lp-tm-r{margin:var(--space-1) 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--gr-600)}
.lp-tm-count{margin-right:var(--space-3);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--text-muted);font-variant-numeric:tabular-nums}
.lp-tm-prog{margin-top:var(--space-8);height:3px;border-radius:2px;background:var(--border-subtle);overflow:hidden}
.lp-tm-prog span{display:block;height:100%;background:var(--su-blue);border-radius:2px;transition:width 600ms cubic-bezier(.22,.8,.3,1)}
@media (prefers-reduced-motion: reduce){.lp-tm-track,.lp-tm-card,.lp-tm-prog span{transition:none}}
.lp-lesson-ends{display:flex;justify-content:space-between;margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:800;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gr-600)}
.lp-lesson-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-radius:var(--radius-md);overflow:hidden}
.lp-lesson-seg{height:3rem;display:flex;align-items:center;padding:0 var(--space-5);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800}
.lp-lesson-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.lp-lesson-i{padding:var(--space-2) var(--space-5) 0 var(--space-5)}
.lp-lesson-k{display:none}
.lp-wa{position:fixed;right:24px;bottom:24px;z-index:20;display:inline-flex;align-items:center;gap:var(--space-2);height:3.5rem;padding:0 var(--space-5) 0 var(--space-4);border-radius:var(--radius-pill);background:var(--su-blue);color:#fff;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(14,72,254,.32);transition:transform 160ms ease,background 160ms ease}
.lp-wa:hover{background:var(--su-blue-600);transform:translateY(-2px)}
.lp-wa:focus-visible,.lp-menu summary:focus-visible{outline:2px solid var(--su-blue);outline-offset:3px}
.lp-menu{position:relative}
.lp-menu summary{list-style:none;width:2.75rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-strong);cursor:pointer}
.lp-menu summary::-webkit-details-marker{display:none}
.lp-menu-p{position:absolute;right:0;top:calc(100% + 8px);min-width:13rem;display:flex;flex-direction:column;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-card-lg)}
.lp-menu-p a{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--fs-base);font-weight:700;color:var(--text-strong);text-decoration:none}
.lp-menu-p a:hover{background:var(--su-blue-50);color:var(--su-blue)}
.lp-visit-photo{min-height:20rem;aspect-ratio:4 / 3}
.lp-visit-photo image-slot{display:block;width:100%;height:100%}
@media (max-width: 960px){.lp-lesson-seg{height:2.5rem;justify-content:center;padding:0}.lp-lesson-cols{grid-template-columns:minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-4)}.lp-lesson-i{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:var(--space-3);padding:0}.lp-lesson-i .lp-step-t{margin-top:0}.lp-lesson-k{display:block;width:12px;height:12px;border-radius:3px;margin-top:5px;grid-row:span 2}.lp-wa span{display:none}.lp-wa{width:3.5rem;padding:0;justify-content:center;right:16px;bottom:16px}.lp-visit-photo{min-height:0}}
@media (max-width: 960px){.lp-quotes3{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 960px){.lp-books2{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 960px){.lp-car{--sw:86vw;--gap:12px}.lp-car-slide{grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding:var(--space-6);min-height:0}.lp-car-media{height:14rem}.lp-car-t{font-size:2.25rem}.lp-car-dots{gap:var(--space-3)}}
@media (max-width: 560px){.lp-car-tab-l{font-size:var(--fs-xs)}}
@media (max-width: 960px){.lp-difs{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-10)}}
@media (max-width: 560px){.lp-difs{grid-template-columns:minmax(0,1fr);row-gap:var(--space-8)}}
@media (max-width: 960px){.lp-team{grid-template-columns:minmax(0,1fr)}.lp-team-h{position:static}.lp-profs{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-gal{grid-template-columns:minmax(0,1fr)}.lp-gal-stage{order:-1}.lp-gal-d{display:none}}
@media (max-width: 960px){.lp-mosaic{grid-auto-rows:10rem}.lp-mosaic > *{grid-column:span 6 !important;grid-row:auto !important}.lp-mosaic > *:first-child{grid-column:1 / -1 !important;grid-row:span 2 !important}.lp-mosaic > .lp-q-cell{grid-column:1 / -1 !important;grid-row:auto !important;min-height:10rem}.lp-mosaic{grid-auto-rows:minmax(10rem,auto)}.lp-profs{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-school > *{grid-column:1 / -1 !important;grid-row:auto !important}}
@media (max-width: 560px){.lp-mosaic{grid-auto-rows:8rem;gap:var(--space-3)}}
@media (max-width: 960px){
  .lp-hero,.lp-cefr,.lp-cam,.lp-books,.lp-quotes,.lp-visit,.lp-faqwrap{grid-template-columns:minmax(0,1fr)}
  .lp-ruler{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-seg:nth-child(3){border-left:0}
  .lp-points,.lp-start{grid-template-columns:minmax(0,1fr)}
  .lp-steps-h{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-8)}
  .lp-steps-h::before{display:none}
  .lp-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-links{display:none !important}
  .lp-h1{font-size:2.5rem !important}
  .lp-h2{font-size:2rem}
  .lp-manifest{font-size:1.625rem}
  .lp-hero-img{width:100%;margin-left:0}
  .g12 > *{grid-column:1 / -1 !important}
}
@media (max-width: 560px){
  .lp-nav .lp-nav-lg{display:none}
  .lp-nav .lp-nav-sm{display:inline-flex}
  .lp-h1{font-size:2.125rem !important}
  .lp-facts{gap:var(--space-4) !important}
  .lp-fact-v{font-size:1.25rem !important}
  .lp-ctas{flex-direction:column;align-items:stretch !important}
  .lp-ruler,.lp-steps-h{grid-template-columns:minmax(0,1fr)}
  .lp-seg + .lp-seg{border-left:0}
  .lp-cefr-card,.lp-cam{padding:var(--space-6) var(--space-5) !important}
  .lp-lvl-names{display:none !important}
  .lp-foot{grid-template-columns:minmax(0,1fr)}
}


/* Botão do design system (SpeakUp Button v4) */
.su-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:var(--fw-semibold,600);line-height:1;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:background 120ms ease,border-color 120ms ease,transform 120ms ease,box-shadow 120ms ease}
.su-btn--sm{height:32px;padding:0 12px;font-size:var(--fs-xs)}
.su-btn--md{height:38px;padding:0 16px;font-size:var(--fs-sm)}
.su-btn--lg{height:46px;padding:0 22px;font-size:var(--fs-base)}
.su-btn--primary{background:var(--su-blue);color:#fff;border:1px solid var(--su-blue)}
.su-btn--primary:hover{background:var(--su-blue-600)}
.su-btn--secondary{background:var(--gr-white,#fff);color:var(--gr-800);border:1px solid var(--gr-300)}
.su-btn--secondary:hover{background:var(--gr-50)}
a:active > .su-btn{transform:translateY(1px) scale(.985)}
a:focus-visible > .su-btn{box-shadow:var(--ring-accent)}
a.lp-cta-link:focus-visible{outline:none}
/* Imagens (substituem o image-slot do editor) */
.islot{display:block;width:100%;height:100%;position:relative}
.islot > img{display:block;width:100%;height:100%}
.islot--empty{background:var(--su-blue-50);border-radius:var(--radius-md)}
/* Mapa */
.lp-visit-map{min-height:20rem;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-subtle);background:var(--su-blue-50)}
.lp-visit-map iframe{display:block;width:100%;height:100%;min-height:20rem;border:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
section[id],div[id]{scroll-margin-top:16px}
