/* Custom Select Styling */
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 16px;
  padding-right: 2.5rem !important;
}

/* Focus state for select */
select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%236366F1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Disabled state */
select:disabled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%9CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  opacity: 0.6;
  cursor: not-allowed;
}

/* Hover effect */
select:hover:not(:disabled) {
  border-color: #D1D5DB;
}

/* Estilização das opções do dropdown */
select option {
  padding: 10px 14px;
  background-color: white;
  color: #1F2937;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}

/* Opção em hover (funciona em alguns navegadores) */
select option:hover {
  background-color: #EEF2FF;
  color: #4F46E5;
}

/* Opção selecionada */
select option:checked {
  background: linear-gradient(to right, #EEF2FF, #E0E7FF);
  color: #4F46E5;
  font-weight: 500;
}

/* Scrollbar customizada para o dropdown (Firefox) */
select {
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 #F1F5F9;
}

/* Scrollbar customizada (Webkit - Chrome, Safari, Edge) */
select::-webkit-scrollbar {
  width: 8px;
}

select::-webkit-scrollbar-track {
  background: #F1F5F9;
  border-radius: 4px;
}

select::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}

select::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}
/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */.cropper-container{-webkit-touch-callout:none;direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}
/* Landing Page Custom Styles */

/* Scroll offset for anchor links — sections appear a bit higher when navigating */
#features,
#demo {
  scroll-margin-top: 20rem;
}

/* Highlighter Effect (already implemented inline in partials, but keeping for reference) */
.highlighter {
  position: relative;
  display: inline-block;
  padding: 0 0.25rem;
  margin: 0 0.25rem;
  z-index: 0;
}

.highlighter::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: skewY(-2deg);
  background-color: rgb(253 224 71 / 0.6); /* yellow-300 */
  border-radius: 0.125rem;
  z-index: -10;
  height: 80%;
  top: 15%;
}

/* Purple variant used in logo and hero title */
.highlight-purple::before {
  background-color: rgb(206 147 255 / 0.6); /* #ce93ff */
}

/* Smooth animations for FAQ details/summary */
details {
  transition: all 0.3s ease-in-out;
}

details summary {
  transition: all 0.2s ease-in-out;
}

details summary::-webkit-details-marker {
  display: none;
}

details summary::marker {
  display: none;
}

details[open] summary {
  margin-bottom: 0.5rem;
}

details > div {
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Bounce animation for notification badge */
@keyframes bounce {
  0%, 100% {
    transform: translateY(-5%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

.animate-bounce {
  animation: bounce 1s infinite;
}

/* Gradient text support */
.text-transparent {
  color: transparent;
}

.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}

/* Custom scrollbar for better aesthetics (optional) */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Selection color matching design */
::selection {
  background-color: rgb(253 224 71); /* yellow-200 */
  color: black;
}

::-moz-selection {
  background-color: rgb(253 224 71);
  color: black;
}

/* Hover effects enhancement */
.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

/* Backdrop blur support check */
@supports (backdrop-filter: blur(12px)) {
  .backdrop-blur-md {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

/* Fill utilities for SVG icons */
.fill-white svg {
  fill: white;
}

.fill-indigo-700 svg {
  fill: rgb(67 56 202);
}

.fill-red-500 svg {
  fill: rgb(239 68 68);
}

/* Gradient backgrounds - Force render */
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

/* Specific gradients for buttons */
.from-indigo-600 {
  --tw-gradient-from: #4f46e5;
  --tw-gradient-to: rgb(79 70 229 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-violet-600 {
  --tw-gradient-to: #7c3aed;
}

/* .from-indigo-500 {
  --tw-gradient-from: #6366f1;
  --tw-gradient-to: rgb(99 102 241 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); */
/* } */

.via-purple-500 {
  --tw-gradient-to: rgb(168 85 247 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7, var(--tw-gradient-to);
}

.to-pink-500 {
  --tw-gradient-to: #ec4899;
}

/* Blur effect support */
.blur {
  filter: blur(64px);
}

.blur-3xl {
  filter: blur(64px);
}

/* Transform utilities */
.skew-y-2 {
  transform: skewY(-2deg);
}

.rotate-2 {
  transform: rotate(2deg);
}

/* Transition enhancements */
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .animate-bounce {
    animation: none; /* Reduce motion on mobile */
  }
}

/* Fix for iOS Safari border-radius with overflow */
.overflow-hidden {
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* =============================================
   Hero Builder Mockup — 3-Phase CSS Animation
   ============================================= */
.hero-mockup-wrapper {
  position: relative;
  min-height: 280px;
}

.hero-phase {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  pointer-events: none;
}

/* Phase timing: each phase visible for ~2.5s within a 9s loop */
.hero-phase-1 { animation: hero-phase-anim 9s infinite; }
.hero-phase-2 { animation: hero-phase-anim 9s 3s infinite; }
.hero-phase-3 { animation: hero-phase-anim 9s 6s infinite; }

@keyframes hero-phase-anim {
  0%, 5%    { opacity: 0; }
  10%, 28%  { opacity: 1; }
  33%, 100% { opacity: 0; }
}

/* =============================================
   Landing Demo — Standalone Exercise Styles
   ============================================= */
.landing-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1.5px solid #c7d2fe;
  background: white;
  color: #4338ca;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}

.landing-chip:hover:not(.used) {
  border-color: #6366f1;
  background: #eef2ff;
}

.landing-chip.used {
  opacity: 0.35;
  pointer-events: none;
  text-decoration: line-through;
}

.landing-blank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 2px dashed #a5b4fc;
  background: #f5f3ff;
  color: #6366f1;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.15s;
  vertical-align: middle;
  margin: 0 2px;
}

.landing-blank:hover:not(.filled):not(.correct):not(.incorrect) {
  border-color: #6366f1;
  background: #ede9fe;
}

.landing-blank.filled {
  border-style: solid;
  border-color: #6366f1;
  background: #eef2ff;
  color: #3730a3;
}

.landing-blank.correct {
  border-color: #16a34a;
  background: #f0fdf4;
  color: #15803d;
  cursor: default;
}

.landing-blank.incorrect {
  border-color: #dc2626;
  background: #fef2f2;
  color: #dc2626;
  cursor: default;
}

/* =============================================
   Tools Showcase — Tab Styles
   ============================================= */
.tools-tab {
  padding: 8px 18px;
  border-radius: 8px;
  border: 1.5px solid transparent;
  font-weight: 500;
  font-size: 0.875rem;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.15s;
  background: transparent;
}

.tools-tab:hover {
  color: #4f46e5;
  background: #eef2ff;
}

.tools-tab.active {
  color: #4f46e5;
  background: #eef2ff;
  border-color: #c7d2fe;
}

.dark .tools-tab {
  color: #9ca3af;
}

.dark .tools-tab:hover {
  color: #818cf8;
  background: rgba(99, 102, 241, 0.15);
}

.dark .tools-tab.active {
  color: #818cf8;
  background: rgba(99, 102, 241, 0.15);
  border-color: rgba(99, 102, 241, 0.4);
}

/* Mockup word chips (static display — not interactive) */
.mockup-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 6px;
  border: 1.5px solid #c7d2fe;
  background: white;
  color: #4338ca;
  font-size: 0.8rem;
  font-weight: 500;
}

.mockup-chip.used {
  opacity: 0.3;
  text-decoration: line-through;
}

.mockup-blank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  padding: 2px 8px;
  border-radius: 4px;
  border: 2px dashed #a5b4fc;
  background: #f5f3ff;
  font-size: 0.85rem;
  font-weight: 600;
  vertical-align: middle;
  margin: 0 2px;
}

.mockup-blank.filled {
  border-style: solid;
  border-color: #6366f1;
  background: #eef2ff;
  color: #3730a3;
}

.mockup-blank.correct {
  border-color: #16a34a;
  background: #f0fdf4;
  color: #15803d;
}

.mockup-blank.incorrect {
  border-color: #dc2626;
  background: #fef2f2;
  color: #dc2626;
}

/* Multiple choice option buttons (static mockup) */
.mockup-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 2px solid #e5e7eb;
  background: white;
  font-size: 0.85rem;
  text-align: left;
}

.mockup-option.selected {
  border-color: #ef4444;
  background: #fef2f2;
}

.mockup-option.correct {
  border-color: #16a34a;
  background: #f0fdf4;
}

.mockup-option-badge {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f3f4f6;
  color: #6b7280;
  font-weight: 700;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mockup-option.selected .mockup-option-badge {
  background: #ef4444;
  color: white;
}

.mockup-option.correct .mockup-option-badge {
  background: #16a34a;
  color: white;
}
/* Proposta 05 · Aurora — gradientes em malha, vidro fosco e grade bento.
   Todo seletor fica restrito a .lo--aurora; classes próprias usam o prefixo au-.
   Os ganchos nv-answer / nv-answer-letter são criados pelo controller landing--playground. */

/* ---------- Base ---------- */
.lo--aurora {
  --au-ink:#1a1336; --au-ink-2:#3a3360; --au-muted:#575072; --au-line:#e7e2f6;
  --au-indigo:#4f46e5; --au-violet:#7c3aed; --au-fuchsia:#c026d3; --au-pink:#db2777; --au-coral:#f43f5e; --au-orange:#ea580c; --au-cyan:#0891b2;
  --au-grad:linear-gradient(100deg,#4f46e5 0%,#7c3aed 34%,#c026d3 68%,#db2777 100%);
  --au-grad-warm:linear-gradient(100deg,#7c3aed 0%,#db2777 48%,#ea580c 100%);
  --au-glass:rgba(255,255,255,.64); --au-glass-strong:rgba(255,255,255,.82); --au-glass-border:rgba(255,255,255,.9);
  --au-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 28px 60px -32px rgba(79,70,229,.38), 0 10px 26px -16px rgba(124,58,237,.16);
  --au-display:'Plus Jakarta Sans','Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --au-body:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  margin:0; background:#fbf9ff; color:var(--au-ink); font-family:var(--au-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
.lo--aurora .au-page, .lo--aurora .au-page *, .lo--aurora .au-page *::before, .lo--aurora .au-page *::after { box-sizing:border-box; }
.lo--aurora .au-page { position:relative; isolation:isolate; min-height:100vh; }
.lo--aurora .au-page :where(h1,h2,h3,h4,p,ul) { margin:0; }
.lo--aurora .au-page :where(ul) { padding:0; list-style:none; }
.lo--aurora .au-page :where(a) { color:inherit; text-decoration:none; }
.lo--aurora .au-page :where(button) { font:inherit; color:inherit; cursor:pointer; }
.lo--aurora .au-page :where(button:disabled) { cursor:default; }
.lo--aurora .au-page :where(button,a,summary) { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--aurora .au-page :where(button,a,summary,[tabindex]):focus-visible { outline:3px solid var(--au-indigo); outline-offset:3px; border-radius:12px; }
.lo--aurora .au-page [hidden] { display:none !important; }
.lo--aurora .au-page .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--aurora .au-page .inline-block > svg { display:block; width:100%; height:100%; }
.lo--aurora .au-page :where(h1,h2,h3,h4) { font-family:var(--au-display); color:var(--au-ink); text-wrap:balance; }
.lo--aurora .au-page section[id] { scroll-margin-top:104px; }
.lo--aurora .au-wrap { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }

.lo--aurora .au-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:14px 20px; border-radius:14px; background:#fff; color:var(--au-ink); font-weight:600; font-size:14px; text-decoration:none; box-shadow:0 12px 30px -10px rgba(79,70,229,.5); }
.lo--aurora .au-skip:focus { top:16px; outline:3px solid var(--au-indigo); outline-offset:2px; }

/* ---------- Céu: manchas de aurora ---------- */
.lo--aurora .au-sky { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.lo--aurora .au-blob { position:absolute; display:block; border-radius:50%; will-change:transform; animation:au-drift 26s ease-in-out infinite alternate; }
.lo--aurora .au-blob--violet { top:-280px; left:-220px; width:900px; height:900px; background:radial-gradient(closest-side,rgba(124,58,237,.42),rgba(124,58,237,.16) 55%,transparent); }
.lo--aurora .au-blob--pink { top:-240px; right:-260px; width:880px; height:880px; background:radial-gradient(closest-side,rgba(236,72,153,.4),rgba(236,72,153,.14) 55%,transparent); animation-duration:32s; animation-delay:-8s; }
.lo--aurora .au-blob--coral { top:420px; left:24%; width:920px; height:760px; background:radial-gradient(closest-side,rgba(251,146,60,.36),rgba(251,113,133,.16) 55%,transparent); animation-duration:30s; animation-delay:-14s; }
.lo--aurora .au-blob--cyan { top:120px; left:42%; width:520px; height:520px; background:radial-gradient(closest-side,rgba(34,211,238,.3),transparent); animation-duration:22s; animation-delay:-4s; }
.lo--aurora .au-blob--mid-cyan { top:27%; right:-240px; width:820px; height:820px; background:radial-gradient(closest-side,rgba(34,211,238,.38),rgba(99,102,241,.14) 60%,transparent); animation-duration:34s; }
.lo--aurora .au-blob--mid-pink { top:41%; left:-300px; width:900px; height:900px; background:radial-gradient(closest-side,rgba(217,70,239,.36),rgba(236,72,153,.14) 60%,transparent); animation-delay:-10s; }
.lo--aurora .au-blob--mid-violet { top:57%; right:-260px; width:900px; height:900px; background:radial-gradient(closest-side,rgba(99,102,241,.42),rgba(124,58,237,.14) 60%,transparent); animation-duration:30s; animation-delay:-6s; }
.lo--aurora .au-blob--low-coral { top:73%; left:-240px; width:820px; height:820px; background:radial-gradient(closest-side,rgba(251,146,60,.36),rgba(251,113,133,.14) 60%,transparent); animation-delay:-16s; }
.lo--aurora .au-blob--plans-pink { top:63%; left:8%; width:760px; height:760px; background:radial-gradient(closest-side,rgba(236,72,153,.3),rgba(251,146,60,.1) 60%,transparent); animation-duration:28s; animation-delay:-12s; }
.lo--aurora .au-blob--low-indigo { bottom:-320px; right:-180px; width:860px; height:860px; background:radial-gradient(closest-side,rgba(124,58,237,.3),transparent); animation-duration:36s; }
@keyframes au-drift { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(70px,50px,0) scale(1.12); } }
@keyframes au-shift { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@keyframes au-bob { from { transform:translateY(0) rotate(var(--au-tilt,0deg)); } to { transform:translateY(-12px) rotate(var(--au-tilt,0deg)); } }
@keyframes au-pulse { 0% { box-shadow:0 0 0 0 rgba(16,185,129,.5); } 100% { box-shadow:0 0 0 9px rgba(16,185,129,0); } }
@keyframes au-flip-front { from { transform:perspective(900px) rotateX(-70deg); opacity:.2; } to { transform:none; opacity:1; } }
@keyframes au-flip-back { from { transform:perspective(900px) rotateX(70deg); opacity:.2; } to { transform:none; opacity:1; } }

/* ---------- Texto em gradiente, chips e botões ---------- */
.lo--aurora .au-grad { background:var(--au-grad); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; padding-bottom:.12em; -webkit-box-decoration-break:clone; box-decoration-break:clone; animation:au-shift 9s ease-in-out infinite alternate; }
.lo--aurora .au-grad--warm { background-image:var(--au-grad-warm); }

.lo--aurora .au-chip, .lo--aurora .au-eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 16px 8px 12px; border:1px solid var(--au-glass-border); border-radius:999px; background:var(--au-glass); -webkit-backdrop-filter:blur(16px) saturate(1.6); backdrop-filter:blur(16px) saturate(1.6); box-shadow:0 8px 24px -14px rgba(79,70,229,.45); color:#4338ca; font-size:13px; font-weight:600; letter-spacing:.01em; line-height:1.3; }
.lo--aurora .au-eyebrow::before { content:''; flex:none; width:8px; height:8px; border-radius:50%; background:var(--au-grad-warm); }

.lo--aurora .au-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:13px 24px; border:0; border-radius:999px; background-image:var(--au-grad); background-size:180% 100%; background-position:0% 50%; color:#fff; font-family:var(--au-display); font-size:15px; font-weight:700; line-height:1.2; letter-spacing:-.005em; text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 30px -12px rgba(124,58,237,.7), 0 4px 10px -4px rgba(79,70,229,.4); transition:background-position .5s ease, transform .2s ease, box-shadow .2s ease; }
.lo--aurora .au-btn:hover { background-position:100% 50%; transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 20px 36px -12px rgba(192,38,211,.65), 0 6px 14px -4px rgba(79,70,229,.45); }
.lo--aurora .au-btn:active { transform:translateY(0); }
.lo--aurora .au-btn--large { min-height:58px; padding:16px 30px; font-size:16px; }
.lo--aurora .au-btn--small { min-height:42px; padding:10px 18px; font-size:14px; }
.lo--aurora .au-btn--compact { min-height:44px; padding:10px 18px; font-size:14px; }
.lo--aurora .au-btn--glass { background:var(--au-glass-strong); border:1px solid rgba(124,58,237,.18); color:var(--au-ink); -webkit-backdrop-filter:blur(16px) saturate(1.6); backdrop-filter:blur(16px) saturate(1.6); box-shadow:inset 0 1px 0 #fff, 0 12px 28px -16px rgba(79,70,229,.5); }
.lo--aurora .au-btn--glass:hover { background:#fff; box-shadow:inset 0 1px 0 #fff, 0 18px 34px -16px rgba(192,38,211,.5); }
.lo--aurora .au-btn--glass .inline-block { color:var(--au-violet); }
.lo--aurora .au-btn--white { background:#fff; color:#3b1d8f; box-shadow:0 18px 40px -14px rgba(26,19,54,.55); }
.lo--aurora .au-btn--white:hover { background:#fff; box-shadow:0 24px 46px -14px rgba(26,19,54,.6); }

.lo--aurora .au-card { border:1px solid var(--au-glass-border); border-radius:32px; background:var(--au-glass); -webkit-backdrop-filter:blur(22px) saturate(1.5); backdrop-filter:blur(22px) saturate(1.5); box-shadow:var(--au-shadow); }

/* ---------- Navegação ---------- */
.lo--aurora .au-nav { position:sticky; top:14px; z-index:50; width:min(1200px,calc(100% - 32px)); margin:14px auto 0; }
.lo--aurora .au-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:66px; padding:10px 12px 10px 24px; border:1px solid var(--au-glass-border); border-radius:999px; background:rgba(255,255,255,.7); -webkit-backdrop-filter:blur(20px) saturate(1.7); backdrop-filter:blur(20px) saturate(1.7); box-shadow:inset 0 1px 0 #fff, 0 18px 40px -24px rgba(79,70,229,.5); }
.lo--aurora .au-logo { display:inline-flex; align-items:center; gap:10px; font-family:var(--au-display); font-size:25px; font-weight:800; letter-spacing:-.04em; line-height:1; color:var(--au-ink); }
.lo--aurora .au-logo-orb { width:26px; height:26px; border-radius:50%; background:radial-gradient(circle at 30% 28%,#fff 0 9%,transparent 30%), conic-gradient(from 210deg,#4f46e5,#c026d3,#fb7185,#fb923c,#22d3ee,#4f46e5); box-shadow:0 6px 14px -4px rgba(192,38,211,.6); }
.lo--aurora .au-nav-links { display:flex; gap:6px; font-size:14px; font-weight:500; color:var(--au-ink-2); }
.lo--aurora .au-nav-links a { padding:9px 14px; border-radius:999px; transition:background-color .2s, color .2s; }
.lo--aurora .au-nav-links a:hover { background:rgba(124,58,237,.1); color:#4338ca; }
.lo--aurora .au-nav-actions { display:flex; align-items:center; gap:6px; }
.lo--aurora .au-nav-login { padding:10px 16px; border-radius:999px; font-size:14px; font-weight:600; color:var(--au-ink); transition:background-color .2s; }
.lo--aurora .au-nav-login:hover { background:rgba(124,58,237,.1); }

/* ---------- 1. Hero ---------- */
.lo--aurora .au-hero { position:relative; display:flex; flex-direction:column; align-items:center; padding:92px 0 56px; text-align:center; }
.lo--aurora .au-hero h1 { margin-top:26px; max-width:1080px; font-size:clamp(38px,6vw,80px); font-weight:800; line-height:1.04; letter-spacing:-.045em; }
.lo--aurora .au-hero-lead { margin-top:26px; max-width:640px; color:var(--au-ink-2); font-size:clamp(17px,1.5vw,20px); line-height:1.65; text-wrap:pretty; }
.lo--aurora .au-hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:38px; }
.lo--aurora .au-caption { display:inline-flex; align-items:center; gap:8px; margin-top:22px; color:var(--au-muted); font-size:14px; font-weight:500; }
.lo--aurora .au-caption .inline-block { padding:2px; border-radius:50%; background:#10b981; color:#fff; width:18px !important; height:18px !important; }
.lo--aurora .au-caption .inline-block svg { stroke-width:3; }

.lo--aurora .au-float { position:absolute; display:none; align-items:center; gap:9px; padding:11px 18px 11px 13px; border:1px solid var(--au-glass-border); border-radius:999px; background:var(--au-glass); -webkit-backdrop-filter:blur(14px) saturate(1.6); backdrop-filter:blur(14px) saturate(1.6); box-shadow:var(--au-shadow); font-family:var(--au-display); font-size:16px; font-weight:700; color:var(--au-ink); animation:au-bob 6s ease-in-out infinite alternate; }
.lo--aurora .au-float i { width:12px; height:12px; border-radius:50%; background:var(--au-grad); }
.lo--aurora .au-float--one { --au-tilt:-7deg; top:96px; left:1%; }
.lo--aurora .au-float--two { --au-tilt:6deg; top:70px; right:2%; animation-delay:-2s; }
.lo--aurora .au-float--two i { background:linear-gradient(135deg,#fb7185,#fb923c); }
.lo--aurora .au-float--three { --au-tilt:5deg; bottom:120px; left:4%; animation-delay:-4s; }
.lo--aurora .au-float--three i { background:linear-gradient(135deg,#22d3ee,#4f46e5); }
.lo--aurora .au-float--four { --au-tilt:-5deg; bottom:150px; right:5%; animation-delay:-1s; }
.lo--aurora .au-float--four i { background:linear-gradient(135deg,#d946ef,#fb7185); }

/* ---------- 2. Demonstração ---------- */
.lo--aurora .au-demo { padding-bottom:40px; }
.lo--aurora .au-demo-intro { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 24px; margin-bottom:22px; padding-inline:8px; }
.lo--aurora .au-demo-intro h2 { font-size:clamp(22px,2.4vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.2; }
.lo--aurora .au-demo-intro p { color:var(--au-muted); font-size:15px; font-weight:500; }
.lo--aurora .au-demo-stage { position:relative; }
.lo--aurora .au-demo-stage::before { content:''; position:absolute; inset:24px 3% -18px; z-index:-1; border-radius:48px; background:linear-gradient(100deg,#6366f1,#d946ef 38%,#fb7185 66%,#22d3ee); background-size:200% 100%; filter:blur(52px); opacity:.55; animation:au-shift 14s ease-in-out infinite alternate; }

.lo--aurora .au-lab { overflow:hidden; border:1px solid var(--au-glass-border); border-radius:32px; background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(26px) saturate(1.6); backdrop-filter:blur(26px) saturate(1.6); box-shadow:inset 0 1px 0 #fff, 0 50px 100px -40px rgba(49,32,120,.55), 0 20px 40px -24px rgba(124,58,237,.3); text-align:left; color:var(--au-ink); }
.lo--aurora .au-lab-noscript { margin:0; padding:16px 24px; background:#fff7ed; color:#7c2d12; font-size:14px; }
.lo--aurora .au-lab-top { display:flex; align-items:center; gap:18px; min-height:56px; padding:10px 22px; border-bottom:1px solid rgba(124,58,237,.12); background:rgba(255,255,255,.55); }
.lo--aurora .au-lab-dots { display:flex; gap:7px; }
.lo--aurora .au-lab-dots i { width:11px; height:11px; border-radius:50%; background:#fb7185; }
.lo--aurora .au-lab-dots i:nth-child(2) { background:#fbbf24; }
.lo--aurora .au-lab-dots i:nth-child(3) { background:#34d399; }
.lo--aurora .au-lab-crumb { display:flex; align-items:center; gap:8px; min-width:0; color:var(--au-muted); font-size:13px; }
.lo--aurora .au-lab-crumb-root { display:inline-flex; align-items:center; gap:8px; }
.lo--aurora .au-lab-crumb strong { color:var(--au-ink); font-weight:600; white-space:nowrap; }
.lo--aurora .au-lab-badge { display:inline-flex; align-items:center; gap:9px; margin-left:auto; padding:6px 13px; border-radius:999px; background:rgba(16,185,129,.12); color:#047857; font-size:12px; font-weight:600; white-space:nowrap; }
.lo--aurora .au-pulse { flex:none; width:8px; height:8px; border-radius:50%; background:#10b981; animation:au-pulse 1.8s ease-out infinite; }

.lo--aurora .au-lab-body { display:grid; grid-template-columns:272px minmax(0,1fr); }
.lo--aurora .au-lab-side { display:flex; flex-direction:column; padding:24px 16px 20px; border-right:1px solid rgba(124,58,237,.12); background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(245,240,255,.5)); }
.lo--aurora .au-lesson { display:flex; align-items:center; gap:12px; padding-inline:8px; }
.lo--aurora .au-lesson-icon { display:grid; place-items:center; flex:none; width:46px; height:46px; border-radius:15px; background:var(--au-grad); color:#fff; box-shadow:0 10px 20px -8px rgba(124,58,237,.7); }
.lo--aurora .au-lesson strong { display:block; font-family:var(--au-display); font-size:15px; font-weight:700; line-height:1.3; }
.lo--aurora .au-lesson small { display:block; margin-top:2px; color:var(--au-muted); font-size:12.5px; }
.lo--aurora .au-side-label { margin:26px 10px 10px; color:var(--au-muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.lo--aurora .au-tabs { display:flex; flex-direction:column; gap:6px; }
.lo--aurora .au-tab { --au-tab-grad:linear-gradient(135deg,#6366f1,#a855f7); display:flex; align-items:center; gap:12px; width:100%; padding:11px 12px; border:1px solid transparent; border-radius:18px; background:transparent; color:var(--au-ink-2); text-align:left; transition:background-color .2s, border-color .2s, box-shadow .2s, transform .2s; }
.lo--aurora .au-tab--gap { --au-tab-grad:linear-gradient(135deg,#f43f5e,#fb923c); }
.lo--aurora .au-tab--cards { --au-tab-grad:linear-gradient(135deg,#06b6d4,#4f46e5); }
.lo--aurora .au-tab:hover { background:rgba(255,255,255,.75); }
.lo--aurora .au-tab-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:12px; background:rgba(124,58,237,.1); color:#5b3fd6; transition:background .2s, color .2s; }
.lo--aurora .au-tab--gap .au-tab-icon { background:rgba(244,63,94,.1); color:#be123c; }
.lo--aurora .au-tab--cards .au-tab-icon { background:rgba(6,182,212,.13); color:#0e7490; }
.lo--aurora .au-tab-text { flex:1; min-width:0; }
.lo--aurora .au-tab strong { display:block; font-size:14px; font-weight:600; line-height:1.3; color:var(--au-ink); }
.lo--aurora .au-tab small { display:block; margin-top:1px; color:var(--au-muted); font-size:12px; line-height:1.4; }
.lo--aurora .au-tab-number { color:var(--au-muted); font-family:var(--au-display); font-size:12px; font-weight:700; }
.lo--aurora .au-tab[aria-selected=true] { border-color:#fff; background:#fff; box-shadow:0 14px 28px -16px rgba(79,70,229,.55), 0 2px 6px -2px rgba(79,70,229,.12); }
.lo--aurora .au-tab[aria-selected=true] .au-tab-icon { background:var(--au-tab-grad); color:#fff; }
.lo--aurora .au-side-tip { display:flex; align-items:flex-start; gap:10px; margin:22px 4px 0; padding:14px; border:1px solid rgba(251,146,60,.28); border-radius:18px; background:linear-gradient(135deg,rgba(255,237,213,.8),rgba(252,231,243,.8)); color:#9a3412; }
.lo--aurora .au-side-tip p { color:#5b2a12; font-size:13px; line-height:1.5; }
.lo--aurora .au-side-tip strong { display:block; font-weight:600; }
.lo--aurora .au-side-bottom { display:flex; align-items:center; gap:11px; margin-top:auto; padding:22px 8px 0; }
.lo--aurora .au-avatar { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,#22d3ee,#6366f1); color:#fff; font-family:var(--au-display); font-size:14px; font-weight:700; }
.lo--aurora .au-side-bottom strong { display:block; font-size:13px; font-weight:600; line-height:1.3; }
.lo--aurora .au-side-bottom div > span { display:block; color:var(--au-muted); font-size:12px; line-height:1.4; }

.lo--aurora .au-lab-work { min-width:0; padding:0 24px; background:linear-gradient(160deg,rgba(238,233,255,.55),rgba(255,240,246,.5) 55%,rgba(255,244,230,.5)); }
.lo--aurora .au-work-bar { display:flex; align-items:center; gap:14px; min-height:68px; padding-block:12px; }
.lo--aurora .au-work-label { display:inline-flex; align-items:center; gap:8px; color:var(--au-muted); font-size:13px; font-weight:500; }
.lo--aurora .au-role { display:flex; gap:2px; margin-left:auto; padding:4px; border:1px solid rgba(124,58,237,.14); border-radius:999px; background:rgba(255,255,255,.7); }
.lo--aurora .au-role button { min-height:36px; padding:6px 18px; border:0; border-radius:999px; background:transparent; color:var(--au-ink-2); font-size:13px; font-weight:600; transition:color .2s; }
.lo--aurora .au-role button[aria-pressed=true] { background:var(--au-grad); color:#fff; box-shadow:0 8px 16px -8px rgba(124,58,237,.8); }
.lo--aurora .au-restart { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:8px 14px; border:0; border-radius:999px; background:transparent; color:var(--au-ink-2); font-size:13px; font-weight:600; transition:background-color .2s, color .2s; }
.lo--aurora .au-restart:hover { background:rgba(255,255,255,.8); color:#4338ca; }

.lo--aurora .au-exercise { display:flex; flex-direction:column; min-height:548px; padding:26px; border:1px solid #fff; border-radius:24px; background:rgba(255,255,255,.92); box-shadow:0 20px 44px -30px rgba(79,70,229,.5); }
.lo--aurora .au-ex-head { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:1px solid var(--au-line); }
.lo--aurora .au-ex-symbol { display:grid; place-items:center; flex:none; width:50px; height:50px; border-radius:16px; color:#fff; background:linear-gradient(135deg,#6366f1,#a855f7); box-shadow:0 12px 22px -10px rgba(124,58,237,.75); }
.lo--aurora .au-ex-symbol--gap { background:linear-gradient(135deg,#f43f5e,#fb923c); box-shadow:0 12px 22px -10px rgba(244,63,94,.7); }
.lo--aurora .au-ex-symbol--cards { background:linear-gradient(135deg,#06b6d4,#4f46e5); box-shadow:0 12px 22px -10px rgba(6,182,212,.75); }
.lo--aurora .au-ex-head h3 { font-size:19px; font-weight:700; letter-spacing:-.02em; line-height:1.3; }
.lo--aurora .au-ex-head p { margin-top:2px; color:var(--au-muted); font-size:14px; line-height:1.5; }
.lo--aurora .au-level { margin-left:auto; padding:5px 12px; border-radius:999px; background:rgba(124,58,237,.1); color:#5b21b6; font-family:var(--au-display); font-size:12px; font-weight:700; }
.lo--aurora .au-mini-label { display:inline-flex; align-items:center; gap:7px; color:#6d28d9; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

.lo--aurora .au-quiz { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:26px; margin-top:24px; }
.lo--aurora .au-reading { display:flex; flex-direction:column; padding:22px; border:1px solid rgba(124,58,237,.14); border-radius:20px; background:linear-gradient(150deg,#f3eeff,#fdf0f8 60%,#fff4ea); }
.lo--aurora .au-reading h4 { margin:12px 0; font-size:24px; font-weight:700; letter-spacing:-.03em; line-height:1.2; color:#2e1f6b; }
.lo--aurora .au-reading > p { margin-bottom:10px; color:var(--au-ink-2); font-size:14.5px; line-height:1.7; }
.lo--aurora .au-reading-foot { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:14px; border-top:1px solid rgba(124,58,237,.16); color:var(--au-muted); font-size:12px; font-weight:500; }
.lo--aurora .au-question { display:flex; flex-direction:column; }
.lo--aurora .au-question-meta { display:flex; justify-content:space-between; gap:10px; margin:4px 0 12px; color:var(--au-muted); font-size:12px; font-weight:600; letter-spacing:.04em; }
.lo--aurora .au-question h4 { margin-bottom:16px; font-size:18px; font-weight:700; letter-spacing:-.015em; line-height:1.35; }
.lo--aurora .au-answers { display:flex; flex-direction:column; gap:9px; }
.lo--aurora .nv-answer { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:10px 14px 10px 10px; border:1.5px solid var(--au-line); border-radius:16px; background:#fff; color:var(--au-ink-2); font-size:14.5px; font-weight:500; line-height:1.4; text-align:left; transition:border-color .2s, background-color .2s, transform .2s, box-shadow .2s; }
.lo--aurora .nv-answer-letter { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:10px; background:#f1ecfd; color:#5b21b6; font-family:var(--au-display); font-size:13px; font-weight:700; transition:background .2s, color .2s; }
.lo--aurora .nv-answer:hover:not(:disabled) { border-color:#c4b5fd; transform:translateX(3px); box-shadow:0 10px 20px -14px rgba(124,58,237,.6); }
.lo--aurora .nv-answer[aria-pressed=true] { border-color:#7c3aed; background:#f6f1ff; color:#2e1f6b; box-shadow:0 0 0 4px rgba(124,58,237,.12); }
.lo--aurora .nv-answer[aria-pressed=true] .nv-answer-letter { background:var(--au-grad); color:#fff; }
.lo--aurora .nv-answer:disabled:not([data-result]) { opacity:.62; }
.lo--aurora .nv-answer[data-result=correct] { border-color:#34d399; background:#ecfdf5; color:#065f46; box-shadow:0 0 0 4px rgba(16,185,129,.12); }
.lo--aurora .nv-answer[data-result=correct] .nv-answer-letter { background:#059669; color:#fff; }
.lo--aurora .nv-answer[data-result=incorrect] { border-color:#fb7185; background:#fff1f2; color:#9f1239; box-shadow:0 0 0 4px rgba(244,63,94,.1); }
.lo--aurora .nv-answer[data-result=incorrect] .nv-answer-letter { background:#e11d48; color:#fff; }
.lo--aurora .au-feedback { min-height:44px; margin:14px 0 10px; color:var(--au-muted); font-size:14px; line-height:1.55; }
.lo--aurora .au-feedback[data-result] { padding:10px 14px; border-radius:14px; font-weight:500; }
.lo--aurora .au-feedback[data-result=correct] { background:#ecfdf5; color:#065f46; }
.lo--aurora .au-feedback[data-result=incorrect] { background:#fff1f2; color:#9f1239; }
.lo--aurora .au-quiz-actions { display:flex; justify-content:flex-end; margin-top:auto; }
.lo--aurora .au-next { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 18px; border:1.5px solid #c4b5fd; border-radius:999px; background:#f6f1ff; color:#4c1d95; font-family:var(--au-display); font-size:14px; font-weight:700; transition:background-color .2s, transform .2s; }
.lo--aurora .au-next:hover { background:#ede4ff; transform:translateY(-1px); }

.lo--aurora .au-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin:24px 0; padding:16px 18px; border:1px solid rgba(244,63,94,.16); border-radius:20px; background:linear-gradient(135deg,#fff1f2,#fff4e6); }
.lo--aurora .au-word-bank .au-mini-label { color:#be123c; }
.lo--aurora .au-word-bank > div { display:flex; flex-wrap:wrap; gap:9px; }
.lo--aurora .au-word { min-height:42px; padding:8px 18px; border:1.5px solid #fecdd3; border-radius:999px; background:#fff; color:#881337; font-size:14.5px; font-weight:600; box-shadow:0 6px 12px -8px rgba(244,63,94,.5); transition:transform .2s, border-color .2s, box-shadow .2s; }
.lo--aurora .au-word:hover:not(:disabled) { transform:translateY(-2px); border-color:#fb7185; }
.lo--aurora .au-word[aria-pressed=true] { border-color:transparent; background:linear-gradient(135deg,#f43f5e,#ea580c); color:#fff; box-shadow:0 10px 20px -8px rgba(244,63,94,.75); }
.lo--aurora .au-word:disabled { opacity:.45; text-decoration:line-through; box-shadow:none; }
.lo--aurora .au-gap-text { padding-inline:4px; }
.lo--aurora .au-gap-text p { position:relative; margin-bottom:14px; padding-left:34px; color:var(--au-ink-2); font-size:16px; line-height:2.5; }
.lo--aurora .au-line-number { position:absolute; left:0; top:0; line-height:40px; color:var(--au-muted); font-family:var(--au-display); font-size:12px; font-weight:700; }
.lo--aurora .au-blank { display:inline-block; min-width:150px; min-height:38px; margin-inline:4px; padding:4px 14px; border:1.5px dashed #a78bfa; border-radius:12px; background:#f6f1ff; color:#5b4b8a; font-size:13px; font-weight:500; line-height:1.6; vertical-align:middle; transition:border-color .2s, background-color .2s; }
.lo--aurora .au-blank:hover { border-color:#7c3aed; background:#efe6ff; }
.lo--aurora .au-blank[data-word] { border-style:solid; border-color:#7c3aed; background:#ede4ff; color:#3b1d8f; font-size:15px; font-weight:700; }
.lo--aurora .au-blank[data-result=correct] { border-color:#34d399; background:#ecfdf5; color:#065f46; }
.lo--aurora .au-blank[data-result=incorrect] { border-color:#fb7185; background:#fff1f2; color:#9f1239; }
.lo--aurora .au-gap-footer { display:flex; margin-top:auto; align-items:center; justify-content:space-between; gap:18px; padding-top:14px; border-top:1px solid var(--au-line); }
.lo--aurora .au-gap-footer .au-feedback { flex:1; min-height:0; margin:0; }
.lo--aurora .au-gap-footer .au-btn { flex:none; }

.lo--aurora .au-flashcard { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1 1 auto; gap:4px; overflow:hidden; width:min(100%,560px); min-height:270px; margin:28px auto 0; padding:30px; border:0; border-radius:28px; background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 45%,#c026d3 100%); color:#fff; text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 30px 50px -24px rgba(124,58,237,.8); transition:transform .25s ease, box-shadow .25s ease; animation:au-flip-front .45s cubic-bezier(.2,.8,.2,1); }
.lo--aurora .au-flashcard::before { content:''; position:absolute; top:-40%; right:-20%; width:70%; height:120%; border-radius:50%; background:radial-gradient(closest-side,rgba(251,146,60,.55),transparent); pointer-events:none; }
.lo--aurora .au-flashcard::after { content:''; position:absolute; bottom:-50%; left:-20%; width:70%; height:120%; border-radius:50%; background:radial-gradient(closest-side,rgba(34,211,238,.4),transparent); pointer-events:none; }
.lo--aurora .au-flashcard > * { position:relative; z-index:1; }
.lo--aurora .au-flashcard:hover { transform:translateY(-4px); }
.lo--aurora .au-flashcard-side { padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.2); font-size:11px; font-weight:700; letter-spacing:.1em; }
.lo--aurora .au-flashcard strong { margin-top:16px; font-family:var(--au-display); font-size:clamp(34px,5vw,50px); font-weight:800; letter-spacing:-.035em; line-height:1.15; }
.lo--aurora .au-flashcard em { margin-top:6px; max-width:380px; font-size:16px; font-style:normal; line-height:1.5; opacity:.95; text-wrap:balance; }
.lo--aurora .au-flashcard-hint { display:inline-flex; align-items:center; gap:7px; margin-top:22px; font-size:13px; font-weight:500; opacity:.92; }
.lo--aurora .au-flashcard[aria-pressed=true] { background:linear-gradient(135deg,#0e7490 0%,#1d4ed8 55%,#4338ca 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 30px 50px -24px rgba(29,78,216,.8); animation-name:au-flip-back; }
.lo--aurora .au-flashcard[aria-pressed=true]::before { background:radial-gradient(closest-side,rgba(34,211,238,.5),transparent); }
.lo--aurora .au-flashcard[aria-pressed=true]::after { background:radial-gradient(closest-side,rgba(217,70,239,.4),transparent); }
.lo--aurora .au-flashcard:focus-visible { outline-offset:5px; border-radius:28px; }
.lo--aurora .au-card-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px; color:var(--au-ink-2); font-family:var(--au-display); font-size:14px; font-weight:700; }
.lo--aurora .au-card-controls button { display:grid; place-items:center; width:46px; height:46px; border:1.5px solid var(--au-line); border-radius:50%; background:#fff; color:#4c1d95; box-shadow:0 8px 16px -10px rgba(79,70,229,.5); transition:transform .2s, border-color .2s; }
.lo--aurora .au-card-controls button:hover { transform:translateY(-2px); border-color:#a78bfa; }

.lo--aurora .au-teacher-note { display:flex; align-items:flex-start; gap:12px; margin-top:14px; padding:14px 18px; border:1px solid rgba(79,70,229,.2); border-radius:18px; background:linear-gradient(135deg,rgba(224,231,255,.9),rgba(243,232,255,.9)); color:#4338ca; }
.lo--aurora .au-teacher-note p { color:#2e2a5e; font-size:14px; line-height:1.55; }
.lo--aurora .au-teacher-note strong { display:block; font-weight:700; color:#3730a3; }
.lo--aurora .au-work-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; min-height:56px; padding:14px 2px; color:var(--au-muted); font-size:12.5px; font-weight:500; }
.lo--aurora .au-work-foot > span { display:inline-flex; align-items:center; gap:8px; }

/* ---------- 3. Benefícios ---------- */
.lo--aurora .au-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-block:56px 24px; }
.lo--aurora .au-benefit { display:flex; align-items:center; gap:14px; padding:16px 20px 16px 16px; border:1px solid var(--au-glass-border); border-radius:24px; background:var(--au-glass); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5); box-shadow:var(--au-shadow); font-family:var(--au-display); font-size:15.5px; font-weight:700; line-height:1.35; letter-spacing:-.01em; text-wrap:balance; }
.lo--aurora .au-benefit-icon { display:grid; place-items:center; flex:none; width:46px; height:46px; border-radius:15px; color:#fff; background:linear-gradient(135deg,#6366f1,#a855f7); box-shadow:0 10px 18px -8px rgba(124,58,237,.7); }
.lo--aurora .au-benefit--coral .au-benefit-icon { background:linear-gradient(135deg,#f43f5e,#fb923c); box-shadow:0 10px 18px -8px rgba(244,63,94,.7); }
.lo--aurora .au-benefit--cyan .au-benefit-icon { background:linear-gradient(135deg,#06b6d4,#4f46e5); box-shadow:0 10px 18px -8px rgba(6,182,212,.7); }

/* ---------- Seções e títulos ---------- */
.lo--aurora .au-section { padding-block:88px 24px; }
.lo--aurora .au-heading { margin-bottom:48px; }
.lo--aurora .au-heading h2, .lo--aurora .au-faq-heading h2 { margin-top:20px; font-size:clamp(30px,4.2vw,54px); font-weight:800; letter-spacing:-.04em; line-height:1.08; }
.lo--aurora .au-heading > p:not(.au-eyebrow), .lo--aurora .au-heading--split > p { color:var(--au-ink-2); font-size:18px; line-height:1.65; text-wrap:pretty; }
.lo--aurora .au-heading--split { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:end; gap:32px 64px; }
.lo--aurora .au-heading--split > p { padding-bottom:6px; }
.lo--aurora .au-heading--center { display:flex; flex-direction:column; align-items:center; text-align:center; }
.lo--aurora .au-heading--center > p:not(.au-eyebrow) { max-width:560px; margin-top:20px; }

/* ---------- 4. Funcionalidades (bento) ---------- */
.lo--aurora .au-bento { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.lo--aurora .au-feature { --au-f1:#6366f1; --au-f2:#a855f7; --au-f-ink:#4c1d95; position:relative; display:flex; flex-direction:column; gap:28px; overflow:hidden; padding:32px; transition:transform .3s ease, box-shadow .3s ease; }
.lo--aurora .au-feature--classes { --au-f1:#f43f5e; --au-f2:#fb923c; --au-f-ink:#9f1239; }
.lo--aurora .au-feature--page { --au-f1:#06b6d4; --au-f2:#4f46e5; --au-f-ink:#155e75; }
.lo--aurora .au-feature:hover { transform:translateY(-6px); box-shadow:inset 0 1px 0 #fff, 0 40px 70px -34px color-mix(in srgb,var(--au-f1) 70%,transparent), 0 12px 28px -16px color-mix(in srgb,var(--au-f2) 40%,transparent); }
.lo--aurora .au-feature--ai { grid-column:1 / -1; flex-direction:row; align-items:stretch; gap:40px; padding:40px; }
.lo--aurora .au-feature--ai .au-feature-copy { flex:1 1 44%; justify-content:center; }
.lo--aurora .au-feature--ai .au-viz { flex:1 1 56%; }
.lo--aurora .au-feature-copy { display:flex; flex-direction:column; align-items:flex-start; }
.lo--aurora .au-feature-top { display:flex; align-items:center; justify-content:space-between; width:100%; margin-bottom:26px; }
.lo--aurora .au-feature-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:19px; background:linear-gradient(135deg,var(--au-f1),var(--au-f2)); color:#fff; box-shadow:0 16px 28px -12px var(--au-f1); }
.lo--aurora .au-feature-number { font-family:var(--au-display); font-size:15px; font-weight:800; letter-spacing:.06em; color:var(--au-f-ink); opacity:.75; }
.lo--aurora .au-feature h3 { font-size:clamp(23px,2.3vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.18; }
.lo--aurora .au-feature-copy > p { margin-top:14px; color:var(--au-ink-2); font-size:16.5px; line-height:1.65; text-wrap:pretty; }
.lo--aurora .au-link { display:inline-flex; align-items:center; gap:8px; margin-top:22px; padding-block:6px; color:var(--au-f-ink,#4c1d95); font-family:var(--au-display); font-size:15.5px; font-weight:700; }
.lo--aurora .au-link .inline-block { transition:transform .2s ease; }
.lo--aurora .au-link:hover .inline-block { transform:translateX(5px); }
.lo--aurora .au-link:hover { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:2px; }

.lo--aurora .au-viz { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; gap:12px; margin-top:auto; padding:26px; border-radius:24px; background:linear-gradient(135deg,var(--au-f1),var(--au-f2)); color:var(--au-ink); }
.lo--aurora .au-viz::before { content:''; position:absolute; top:-45%; right:-25%; width:80%; height:130%; border-radius:50%; background:radial-gradient(closest-side,rgba(255,255,255,.4),transparent); pointer-events:none; }
.lo--aurora .au-viz > * { position:relative; }
.lo--aurora .au-viz--ai { min-height:340px; padding:34px; background:linear-gradient(135deg,#4f46e5 0%,#9333ea 45%,#ec4899 80%,#fb923c 115%); background-size:160% 160%; animation:au-shift 16s ease-in-out infinite alternate; }
.lo--aurora .au-viz-prompt { display:flex; align-items:center; gap:12px; padding:10px 10px 10px 16px; border:1px solid rgba(255,255,255,.7); border-radius:999px; background:rgba(255,255,255,.92); box-shadow:0 18px 36px -18px rgba(26,19,54,.6); font-size:15px; font-weight:600; }
.lo--aurora .au-viz-spark { display:grid; place-items:center; color:var(--au-violet); }
.lo--aurora .au-viz-prompt-text { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lo--aurora .au-viz-go { padding:8px 18px; border-radius:999px; background:var(--au-grad); color:#fff; font-family:var(--au-display); font-size:13.5px; font-weight:700; }
.lo--aurora .au-viz-chips { display:flex; flex-wrap:wrap; gap:8px; }
.lo--aurora .au-viz-chips span { padding:6px 14px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.22); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:#fff; font-size:13.5px; font-weight:600; }
.lo--aurora .au-viz-sheet { display:flex; flex-direction:column; gap:10px; margin-top:6px; padding:22px; border:1px solid rgba(255,255,255,.75); border-radius:22px; background:rgba(255,255,255,.88); box-shadow:0 24px 44px -22px rgba(26,19,54,.6); }
.lo--aurora .au-viz-line { display:block; height:10px; border-radius:99px; background:#e4dcf7; }
.lo--aurora .au-viz-line--title { width:58%; height:14px; background:linear-gradient(90deg,#4f46e5,#c026d3); opacity:.85; }
.lo--aurora .au-viz-line--short { width:72%; }
.lo--aurora .au-viz-options { display:grid; gap:8px; margin-top:8px; }
.lo--aurora .au-viz-options span { display:flex; align-items:center; gap:10px; padding:8px 10px; border:1.5px solid #ebe5f8; border-radius:13px; background:#fff; }
.lo--aurora .au-viz-options b { display:grid; place-items:center; width:24px; height:24px; border-radius:8px; background:#f1ecfd; color:#5b21b6; font-family:var(--au-display); font-size:11px; font-weight:700; }
.lo--aurora .au-viz-options i { flex:1; max-width:62%; height:8px; border-radius:99px; background:#e4dcf7; }
.lo--aurora .au-viz-options .is-picked { border-color:#34d399; background:#ecfdf5; }
.lo--aurora .au-viz-options .is-picked b { background:#059669; color:#fff; }
.lo--aurora .au-viz-options .is-picked i { background:#a7f3d0; }

.lo--aurora .au-viz--classes { gap:10px; }
.lo--aurora .au-viz-row { display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 12px 24px -16px rgba(26,19,54,.55); color:var(--au-ink); font-size:14.5px; font-weight:600; }
.lo--aurora .au-viz-row b { display:grid; place-items:center; flex:none; width:28px; height:28px; border-radius:9px; background:linear-gradient(135deg,#f43f5e,#fb923c); color:#fff; font-family:var(--au-display); font-size:12.5px; font-weight:700; }
.lo--aurora .au-viz-row i { flex:none; width:22%; height:8px; margin-left:auto; border-radius:99px; background:#fde2e4; }
.lo--aurora .au-viz-row:nth-child(2) { margin-left:22px; }
.lo--aurora .au-viz-row--mural { margin-left:44px; }
.lo--aurora .au-viz-row--mural b { background:linear-gradient(135deg,#7c3aed,#db2777); }

.lo--aurora .au-viz--page { align-items:center; gap:10px; text-align:center; }
.lo--aurora .au-viz-avatar { width:58px; height:58px; border:3px solid #fff; border-radius:50%; background:linear-gradient(135deg,#fb7185,#fbbf24); box-shadow:0 12px 22px -10px rgba(26,19,54,.6); }
.lo--aurora .au-viz--page .au-viz-line { background:rgba(255,255,255,.55); }
.lo--aurora .au-viz--page .au-viz-line--title { width:46%; background:#fff; opacity:1; }
.lo--aurora .au-viz--page .au-viz-line--short { width:30%; }
.lo--aurora .au-viz--page .au-viz-chips { justify-content:center; margin-top:6px; }
.lo--aurora .au-viz--page .au-viz-chips span:first-child { background:#fff; color:#155e75; border-color:#fff; }

/* ---------- 5. Página do professor ---------- */
.lo--aurora .au-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lo--aurora .au-profile { --au-p:rgba(124,58,237,.6); display:flex; flex-direction:column; padding:12px; transition:transform .3s ease, box-shadow .3s ease; }
.lo--aurora .au-profile--modern_pop { --au-p:rgba(236,72,153,.6); }
.lo--aurora .au-profile--executive { --au-p:rgba(8,145,178,.6); }
.lo--aurora .au-profile:hover { transform:translateY(-8px); box-shadow:inset 0 1px 0 #fff, 0 44px 70px -34px var(--au-p), 0 12px 26px -16px var(--au-p); }
.lo--aurora .au-profile:focus-visible { border-radius:32px; }
.lo--aurora .au-profile-image { position:relative; overflow:hidden; border-radius:22px; background:#efeafc; aspect-ratio:1440 / 1000; }
.lo--aurora .au-profile-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.lo--aurora .au-profile:hover .au-profile-image img { transform:scale(1.045); }
.lo--aurora .au-profile-cta { position:absolute; left:50%; bottom:14px; display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:999px; background:rgba(26,19,54,.86); color:#fff; font-size:13px; font-weight:600; white-space:nowrap; opacity:0; transform:translate(-50%,8px); transition:opacity .25s ease, transform .25s ease; }
.lo--aurora .au-profile:hover .au-profile-cta, .lo--aurora .au-profile:focus-visible .au-profile-cta { opacity:1; transform:translate(-50%,0); }
.lo--aurora .au-profile-info { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 12px 10px; }
.lo--aurora .au-profile-info h3 { font-size:21px; font-weight:800; letter-spacing:-.025em; line-height:1.25; }
.lo--aurora .au-profile-info p { margin-top:3px; color:var(--au-ink-2); font-size:14.5px; line-height:1.5; }
.lo--aurora .au-profile-arrow { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:50%; background:rgba(124,58,237,.1); color:#5b21b6; transition:background .25s, color .25s, transform .25s; }
.lo--aurora .au-profile:hover .au-profile-arrow { background:var(--au-grad); color:#fff; transform:rotate(-45deg); }

/* ---------- 6. Planos ---------- */
.lo--aurora .au-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:22px; padding-top:16px; }
.lo--aurora .au-plan { position:relative; display:flex; flex-direction:column; padding:34px 30px 30px; border:1px solid var(--au-glass-border); border-radius:32px; background:var(--au-glass); -webkit-backdrop-filter:blur(22px) saturate(1.5); backdrop-filter:blur(22px) saturate(1.5); box-shadow:var(--au-shadow); transition:transform .3s ease; }
.lo--aurora .au-plan:hover { transform:translateY(-6px); }
.lo--aurora .au-plan--featured { border:2px solid transparent; background:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)) padding-box, linear-gradient(135deg,#4f46e5,#c026d3 50%,#fb923c) border-box; box-shadow:0 44px 80px -36px rgba(124,58,237,.7), 0 16px 36px -20px rgba(219,39,119,.4); }
.lo--aurora .au-plan-ribbon { position:absolute; top:0; left:50%; display:inline-flex; align-items:center; gap:7px; padding:8px 16px; border-radius:999px; background:var(--au-grad-warm); color:#fff; font-family:var(--au-display); font-size:13px; font-weight:700; white-space:nowrap; transform:translate(-50%,-50%); box-shadow:0 12px 22px -10px rgba(219,39,119,.8); }
.lo--aurora .au-plan h3 { font-size:24px; font-weight:800; letter-spacing:-.025em; line-height:1.2; }
.lo--aurora .au-plan-description { min-height:3.1em; margin-top:8px; color:var(--au-ink-2); font-size:15px; line-height:1.55; }
.lo--aurora .au-price { display:flex; align-items:baseline; gap:6px; margin-top:22px; }
.lo--aurora .au-price strong { font-family:var(--au-display); font-size:clamp(36px,3.6vw,46px); font-weight:800; letter-spacing:-.04em; line-height:1.1; }
.lo--aurora .au-plan--featured .au-price strong { background:var(--au-grad); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.lo--aurora .au-price span { color:var(--au-muted); font-size:15px; font-weight:500; }
.lo--aurora .au-credits { display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:16px; padding:7px 14px 7px 10px; border-radius:999px; background:linear-gradient(135deg,rgba(254,215,170,.7),rgba(252,231,243,.9)); color:#9a3412; font-size:14px; font-weight:600; }
.lo--aurora .au-plan ul { display:grid; gap:12px; margin:26px 0 30px; padding-top:24px; border-top:1px solid rgba(124,58,237,.14); }
.lo--aurora .au-plan li { display:flex; align-items:flex-start; gap:11px; color:var(--au-ink-2); font-size:15px; line-height:1.5; }
.lo--aurora .au-check { display:grid; place-items:center; flex:none; width:22px; height:22px; margin-top:1px; border-radius:50%; background:var(--au-grad); color:#fff; }
.lo--aurora .au-check svg { stroke-width:3; }
.lo--aurora .au-plan .au-btn { width:100%; margin-top:auto; }
.lo--aurora .au-plans-note { margin-top:28px; color:var(--au-muted); font-size:14px; text-align:center; }

/* ---------- 7. Dúvidas ---------- */
.lo--aurora .au-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:40px 72px; }
.lo--aurora .au-faq-heading { position:sticky; top:120px; }
.lo--aurora .au-faq-list { display:grid; gap:14px; }
.lo--aurora .au-faq-item { border:1px solid var(--au-glass-border); border-radius:24px; background:var(--au-glass); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5); box-shadow:var(--au-shadow); transition:background-color .25s; }
.lo--aurora .au-faq-item[open] { background:rgba(255,255,255,.9); }
.lo--aurora .au-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 22px 22px 26px; font-family:var(--au-display); font-size:18px; font-weight:700; letter-spacing:-.015em; line-height:1.35; list-style:none; cursor:pointer; border-radius:24px; }
.lo--aurora .au-faq-item summary::-webkit-details-marker { display:none; }
.lo--aurora .au-faq-chevron { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:50%; background:rgba(124,58,237,.1); color:#5b21b6; transition:transform .3s ease, background .3s, color .3s; }
.lo--aurora .au-faq-item[open] .au-faq-chevron { background:var(--au-grad); color:#fff; transform:rotate(180deg); }
.lo--aurora .au-faq-item > p { padding:0 72px 26px 26px; color:var(--au-ink-2); font-size:16px; line-height:1.7; }

/* ---------- 8. CTA final e rodapé ---------- */
.lo--aurora .au-final-wrap { padding-block:96px 32px; }
.lo--aurora .au-final { position:relative; display:flex; flex-direction:column; align-items:center; overflow:hidden; padding:88px 32px 80px; border-radius:44px; background:linear-gradient(120deg,#3730a3 0%,#6d28d9 32%,#a21caf 64%,#e11d48 100%); background-size:180% 180%; color:#fff; text-align:center; box-shadow:0 60px 100px -50px rgba(109,40,217,.9), 0 24px 50px -30px rgba(225,29,72,.6); animation:au-shift 18s ease-in-out infinite alternate; }
.lo--aurora .au-final::before { content:''; position:absolute; top:-60%; left:-15%; width:60%; height:150%; border-radius:50%; background:radial-gradient(closest-side,rgba(34,211,238,.45),transparent); pointer-events:none; }
.lo--aurora .au-final::after { content:''; position:absolute; bottom:-70%; right:-12%; width:62%; height:160%; border-radius:50%; background:radial-gradient(closest-side,rgba(251,146,60,.6),transparent); pointer-events:none; }
.lo--aurora .au-final > * { position:relative; z-index:1; }
.lo--aurora .au-final-icon { display:grid; place-items:center; width:64px; height:64px; border:1px solid rgba(255,255,255,.5); border-radius:22px; background:rgba(255,255,255,.18); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.lo--aurora .au-final h2 { margin-top:28px; color:#fff; font-size:clamp(32px,4.8vw,62px); font-weight:800; letter-spacing:-.04em; line-height:1.08; }
.lo--aurora .au-final p { margin:20px 0 36px; font-size:19px; line-height:1.6; color:rgba(255,255,255,.95); }
.lo--aurora .au-final-caption { margin-top:20px; font-size:14px; font-weight:500; color:rgba(255,255,255,.95); }
.lo--aurora .au-final :where(a):focus-visible { outline-color:#fff; border-radius:999px; }

.lo--aurora .au-footer { padding:32px 0 120px; }
.lo--aurora .au-footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px 40px; padding-top:32px; border-top:1px solid rgba(124,58,237,.16); }
.lo--aurora .au-footer-brand { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; }
.lo--aurora .au-footer-brand p { color:var(--au-muted); font-size:14.5px; }
.lo--aurora .au-footer-links { display:flex; flex-wrap:wrap; gap:4px; font-size:14.5px; font-weight:500; color:var(--au-ink-2); }
.lo--aurora .au-footer-links a { padding:8px 12px; border-radius:999px; transition:background-color .2s, color .2s; }
.lo--aurora .au-footer-links a:hover { background:rgba(124,58,237,.1); color:#4338ca; }
.lo--aurora .au-footer small { color:var(--au-muted); font-size:14px; }

/* ---------- Responsivo ---------- */
@media (min-width:1180px) {
  .lo--aurora .au-float { display:inline-flex; }
}
@media (max-width:1020px) {
  .lo--aurora .au-nav-links { display:none; }
  .lo--aurora .au-lab-body { grid-template-columns:1fr; }
  .lo--aurora .au-lab-side { padding:18px 18px 16px; border-right:0; border-bottom:1px solid rgba(124,58,237,.12); }
  .lo--aurora .au-side-label, .lo--aurora .au-side-tip, .lo--aurora .au-side-bottom { display:none; }
  .lo--aurora .au-tabs { flex-direction:row; margin-top:16px; }
  .lo--aurora .au-tab { flex:1 1 0; min-width:0; }
  .lo--aurora .au-tab-number { display:none; }
  .lo--aurora .au-plans { grid-template-columns:1fr; width:min(100%,520px); margin-inline:auto; gap:34px; }
  .lo--aurora .au-plan-description { min-height:0; }
  .lo--aurora .au-faq { grid-template-columns:1fr; }
  .lo--aurora .au-faq-heading { position:static; }
}
@media (max-width:860px) {
  .lo--aurora .au-wrap { width:calc(100% - 40px); }
  .lo--aurora .au-hero { padding:64px 0 44px; }
  .lo--aurora .au-heading--split { grid-template-columns:1fr; }
  .lo--aurora .au-section { padding-block:72px 16px; }
  .lo--aurora .au-heading { margin-bottom:36px; }
  .lo--aurora .au-benefits { grid-template-columns:1fr; gap:12px; padding-block:44px 8px; }
  .lo--aurora .au-feature--ai { flex-direction:column; gap:28px; padding:32px; }
  .lo--aurora .au-viz--ai { min-height:0; padding:24px; }
  .lo--aurora .au-tab small { display:none; }
  .lo--aurora .au-viz-row { white-space:nowrap; }
  .lo--aurora .au-viz-row i { flex:0 1 22%; min-width:0; }
  .lo--aurora .au-viz-row:nth-child(2) { margin-left:14px; }
  .lo--aurora .au-viz-row--mural { margin-left:28px; }
  .lo--aurora .au-profile-arrow { display:none; }
  .lo--aurora .au-quiz { grid-template-columns:1fr; }
  .lo--aurora .au-exercise { min-height:0; }
  .lo--aurora .au-final-wrap { padding-block:72px 24px; }
}
@media (max-width:700px) {
  .lo--aurora .au-bento { grid-template-columns:1fr; }
  .lo--aurora .au-profile-arrow { display:grid; }
  .lo--aurora .au-blob { width:560px; height:560px; }
  .lo--aurora .au-blob--violet { top:-260px; left:-330px; }
  .lo--aurora .au-blob--pink { top:-300px; right:-340px; }
  .lo--aurora .au-blob--coral { top:520px; left:-120px; width:640px; height:520px; opacity:.8; }
  .lo--aurora .au-blob--cyan { top:230px; left:auto; right:-300px; width:460px; height:460px; }
  .lo--aurora .au-blob--mid-cyan, .lo--aurora .au-blob--mid-violet, .lo--aurora .au-blob--low-indigo { right:-330px; }
  .lo--aurora .au-blob--mid-pink, .lo--aurora .au-blob--low-coral { left:-340px; }
  .lo--aurora .au-blob--plans-pink { left:-300px; }
  .lo--aurora .au-profiles { grid-template-columns:1fr; width:min(100%,480px); margin-inline:auto; }
  .lo--aurora .au-profile-cta { opacity:1; transform:translate(-50%,0); }
  .lo--aurora .au-footer { padding-bottom:104px; }
  .lo--aurora .au-footer-inner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px) {
  .lo--aurora .au-wrap { width:calc(100% - 32px); }
  .lo--aurora .au-nav { top:10px; width:calc(100% - 20px); margin-top:10px; }
  .lo--aurora .au-nav-inner { min-height:58px; gap:8px; padding:8px 8px 8px 16px; }
  .lo--aurora .au-logo { font-size:22px; gap:8px; }
  .lo--aurora .au-logo-orb { width:22px; height:22px; }
  .lo--aurora .au-nav-actions { gap:0; }
  .lo--aurora .au-nav-login { padding:10px 12px; }
  .lo--aurora .au-hero { padding:48px 0 36px; }
  .lo--aurora .au-chip { font-size:12.5px; }
  .lo--aurora .au-hero h1 { margin-top:22px; font-size:clamp(30px,9.4vw,38px); letter-spacing:-.04em; }
  .lo--aurora .au-hero-actions { flex-direction:column; align-self:stretch; margin-top:30px; }
  .lo--aurora .au-hero-actions .au-btn { width:100%; }
  .lo--aurora .au-demo-intro { flex-direction:column; align-items:flex-start; padding-inline:4px; }
  .lo--aurora .au-demo-stage::before { inset:24px 0 -10px; filter:blur(36px); }
  .lo--aurora .au-lab { border-radius:24px; }
  .lo--aurora .au-lab-top { gap:12px; padding:10px 16px; }
  .lo--aurora .au-lab-crumb { display:none; }
  .lo--aurora .au-lab-badge { padding:6px 10px; font-size:11.5px; }
  .lo--aurora .au-lab-side { padding:14px 12px 12px; }
  .lo--aurora .au-lesson { padding-inline:4px; }
  .lo--aurora .au-tabs { gap:6px; margin-top:14px; }
  .lo--aurora .au-tab { flex-direction:column; gap:6px; padding:10px 4px; border-radius:16px; text-align:center; }
  .lo--aurora .au-tab strong { font-size:12px; line-height:1.25; }
  .lo--aurora .au-lab-work { padding:0 12px; }
  .lo--aurora .au-work-bar { gap:8px; min-height:60px; }
  .lo--aurora .au-work-label { display:none; }
  .lo--aurora .au-role { margin-left:0; }
  .lo--aurora .au-role button { padding:6px 14px; }
  .lo--aurora .au-restart { margin-left:auto; padding:8px 10px; }
  .lo--aurora .au-exercise { padding:18px 16px; border-radius:20px; }
  .lo--aurora .au-ex-head { gap:12px; padding-bottom:16px; }
  .lo--aurora .au-ex-symbol { width:44px; height:44px; border-radius:14px; }
  .lo--aurora .au-ex-head h3 { font-size:17px; }
  .lo--aurora .au-level { display:none; }
  .lo--aurora .au-quiz { gap:20px; margin-top:18px; }
  .lo--aurora .au-reading { padding:18px; }
  .lo--aurora .au-reading h4 { font-size:21px; }
  .lo--aurora .au-quiz-actions .au-btn, .lo--aurora .au-quiz-actions .au-next { width:100%; justify-content:center; }
  .lo--aurora .au-word-bank { margin:18px 0; padding:14px; }
  .lo--aurora .au-gap-text p { padding-left:0; font-size:15.5px; line-height:2.6; }
  .lo--aurora .au-line-number { display:none; }
  .lo--aurora .au-blank { min-width:132px; }
  .lo--aurora .au-gap-footer { flex-direction:column; align-items:stretch; }
  .lo--aurora .au-flashcard { min-height:240px; margin-top:20px; padding:24px 18px; border-radius:24px; }
  .lo--aurora .au-work-foot { justify-content:center; text-align:center; }
  .lo--aurora .au-card, .lo--aurora .au-plan { border-radius:26px; }
  .lo--aurora .au-feature, .lo--aurora .au-feature--ai { padding:24px; }
  .lo--aurora .au-viz { padding:20px; border-radius:20px; }
  .lo--aurora .au-viz--ai { padding:18px; }
  .lo--aurora .au-viz-sheet { padding:16px; }
  .lo--aurora .au-plan { padding:30px 22px 24px; }
  .lo--aurora .au-faq-item summary { padding:18px 16px 18px 20px; font-size:16.5px; }
  .lo--aurora .au-faq-item > p { padding:0 20px 22px; font-size:15.5px; }
  .lo--aurora .au-final { padding:64px 22px 56px; border-radius:32px; }
  .lo--aurora .au-final p { font-size:17px; }
  .lo--aurora .au-final .au-btn { width:100%; }
}
@media (max-width:374px) {
  .lo--aurora .au-nav-free { display:none; }
  .lo--aurora .au-chip { gap:7px; padding:7px 12px 7px 10px; font-size:11.5px; }
  .lo--aurora .au-btn--large { padding:14px 18px; font-size:15px; }
  .lo--aurora .au-lab-badge { font-size:11px; }
  .lo--aurora .au-role button { padding:6px 11px; }
  .lo--aurora .au-plan-ribbon { font-size:12px; padding:7px 12px; }
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce) {
  .lo--aurora .au-page *, .lo--aurora .au-page *::before, .lo--aurora .au-page *::after { animation:none !important; transition:none !important; }
  .lo--aurora .au-btn:hover, .lo--aurora .au-feature:hover, .lo--aurora .au-profile:hover, .lo--aurora .au-plan:hover, .lo--aurora .au-flashcard:hover, .lo--aurora .nv-answer:hover:not(:disabled) { transform:none; }
  .lo--aurora .au-profile:hover .au-profile-image img { transform:none; }
}
/* Proposta 07 · Caderno — o caderno de planejamento de uma professora: papel, caneta, lápis de cor e marca-texto.
   Todo seletor fica restrito a .lo--caderno (classe do <body> no layout landing_option); resets só dentro de .cd-root. */

/* ── Base ─────────────────────────────────────────────────────────── */
.lo--caderno {
  --cd-ink:#1f2a5c; --cd-ink-soft:#475077; --cd-graphite:#5a6080; --cd-bluepen:#2a3cc0;
  --cd-paper:#fbf5e6; --cd-page:#fffdf6; --cd-rule:#bfd5ee; --cd-margin:#ee6c69;
  --cd-pen:#4f46e5; --cd-pen-deep:#3b33c0; --cd-red:#c4302a; --cd-green:#15703c;
  --cd-coral:#ff7a59; --cd-butter:#ffdc5e; --cd-leaf:#84d275; --cd-sky:#86ccf6; --cd-pink:#ff97bf; --cd-orange:#ffad5c; --cd-lilac:#bdb8ff;
  --cd-hl-yellow:#ffe85a; --cd-hl-pink:#ffb1d1; --cd-hl-green:#b4ee9c; --cd-hl-blue:#a6dcfc; --cd-hl-orange:#ffc88a;
  --cd-focus:#4f46e5;
  --cd-display:'Fraunces','Iowan Old Style',Georgia,serif;
  --cd-hand:'Caveat','Patrick Hand','Segoe Print','Bradley Hand',cursive;
  --cd-body:'Nunito Sans','DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --cd-blob:255px 18px 225px 18px/18px 225px 18px 255px;
  --cd-shadow:0 1px 2px #1f2a5c1a,0 18px 30px -20px #1f2a5c66;
  margin:0; background:var(--cd-paper); color:var(--cd-ink); overflow-x:clip;
}
.lo--caderno .cd-root { overflow-x:clip; font-family:var(--cd-body); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.lo--caderno .cd-root *, .lo--caderno .cd-root *::before, .lo--caderno .cd-root *::after { box-sizing:border-box; }
.lo--caderno .cd-root :where(h1,h2,h3,h4,p,ul) { margin:0; }
.lo--caderno .cd-root :where(ul) { padding:0; list-style:none; }
.lo--caderno .cd-root :where(a) { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lo--caderno .cd-root :where(button) { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--caderno .cd-root :where(button:disabled) { cursor:default; }
.lo--caderno .cd-root [hidden] { display:none !important; }
.lo--caderno .cd-root :where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--cd-focus); outline-offset:3px; border-radius:10px; }
.lo--caderno .cd-root .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--caderno .cd-root .inline-block > svg { display:block; width:100%; height:100%; stroke-width:1.9; }
.lo--caderno .cd-root main > section[id] { scroll-margin-top:78px; }
.lo--caderno .cd-defs { position:absolute; width:0; height:0; overflow:hidden; }
.lo--caderno .cd-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--caderno .cd-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 18px; font-weight:800; color:var(--cd-ink); background:var(--cd-hl-yellow); border:2px solid var(--cd-ink); border-radius:var(--cd-blob); }
.lo--caderno .cd-skip:focus { top:16px; }
.lo--caderno .cd-root :where(p) { text-wrap:pretty; }
.lo--caderno .cd-root :where(h1,h2,h3,h4) { font-family:var(--cd-display); font-weight:600; font-variation-settings:'SOFT' 100; font-optical-sizing:auto; letter-spacing:-.022em; text-wrap:balance; }
.lo--caderno .cd-root h1 { font-size:clamp(42px,5.5vw,80px); line-height:1.04; letter-spacing:-.035em; }
.lo--caderno .cd-root h2 { font-size:clamp(34px,4.3vw,58px); line-height:1.08; letter-spacing:-.03em; }

/* Rabiscos (SVG) */
.lo--caderno .cd-doodle { display:block; fill:none; stroke:currentColor; stroke-width:3px; stroke-linecap:round; stroke-linejoin:round; overflow:visible; pointer-events:none; }
.lo--caderno .cd-doodle path { vector-effect:non-scaling-stroke; }
.lo--caderno .cd-doodle--fill { fill:var(--cd-fill,none); }
.lo--caderno .cd-doodle--crayon { stroke-width:9px; stroke-linejoin:round; filter:url(#cd-crayon); }
.lo--caderno .cd-doodle--clip { stroke:#868ca9; stroke-width:3px; filter:drop-shadow(0 1px 0 #ffffffcc) drop-shadow(1px 2px 1px #1f2a5c40); }
.lo--caderno .cd-doodle-dash { stroke-dasharray:5 8; }
.lo--caderno .cd-pencil { display:block; overflow:visible; pointer-events:none; filter:drop-shadow(2px 6px 5px #1f2a5c40); }

/* Marca-texto de verdade: traço torto, pontas irregulares */
.lo--caderno .cd-hl { position:relative; display:inline-block; isolation:isolate; white-space:nowrap; }
.lo--caderno .cd-hl::before { content:''; position:absolute; z-index:-1; inset:.2em -.14em .02em -.16em; background:var(--cd-hl,var(--cd-hl-yellow)); border-radius:.45em .18em .55em .22em/.25em .55em .2em .5em; transform:rotate(-1.3deg) skewX(-9deg); filter:url(#cd-marker); }
.lo--caderno .cd-hl::after { content:''; position:absolute; z-index:-1; inset:.34em .3em .3em -.05em; background:var(--cd-hl,var(--cd-hl-yellow)); opacity:.55; border-radius:.4em; transform:rotate(.6deg) skewX(-9deg); filter:url(#cd-marker); mix-blend-mode:multiply; }
.lo--caderno .cd-hl--yellow { --cd-hl:var(--cd-hl-yellow); }
.lo--caderno .cd-hl--pink { --cd-hl:var(--cd-hl-pink); }
.lo--caderno .cd-hl--green { --cd-hl:var(--cd-hl-green); }
.lo--caderno .cd-hl--blue { --cd-hl:var(--cd-hl-blue); }
.lo--caderno .cd-hl--orange { --cd-hl:var(--cd-hl-orange); }

/* Palavra circulada à caneta */
.lo--caderno .cd-circled { position:relative; display:inline-block; margin-inline:.16em .2em; white-space:nowrap; color:var(--cd-pen); }
.lo--caderno .cd-circled em { font-style:italic; font-weight:600; padding-right:.04em; }
.lo--caderno .cd-circled > .cd-doodle { position:absolute; left:-.32em; top:-.06em; width:calc(100% + .62em); height:calc(100% + .26em); color:var(--cd-pen); stroke-width:3.5px; }

/* Anotação manuscrita de apoio */
.lo--caderno .cd-kicker { display:inline-flex; align-items:center; gap:10px; font-family:var(--cd-hand); font-size:clamp(24px,2.2vw,29px); font-weight:600; line-height:1.15; color:var(--cd-bluepen); transform:rotate(-1.2deg); transform-origin:left center; }
.lo--caderno .cd-kicker-star { flex:none; width:26px; height:26px; color:var(--cd-ink); --cd-fill:var(--cd-butter); stroke-width:2.2px; }
.lo--caderno .cd-live-dot { display:inline-block; flex:none; width:11px; height:11px; border-radius:50%; background:var(--cd-coral); box-shadow:0 0 0 2px var(--cd-ink); }

/* Fita washi */
.lo--caderno .cd-tape { position:absolute; display:block; width:118px; height:30px; --cd-tape:#ff97bfd9; background-color:var(--cd-tape); background-image:repeating-linear-gradient(45deg,#ffffff70 0 6px,transparent 6px 13px); clip-path:polygon(0 0,2.5% 17%,0 34%,2.5% 50%,0 67%,2.5% 84%,0 100%,100% 100%,97.5% 84%,100% 67%,97.5% 50%,100% 34%,97.5% 17%,100% 0); transform:rotate(-4deg); pointer-events:none; }
.lo--caderno .cd-tape--pink { --cd-tape:#ff97bfd9; }
.lo--caderno .cd-tape--butter { --cd-tape:#ffdc5ee0; background-image:radial-gradient(#ffffffb0 2.6px,transparent 3px); background-size:13px 13px; }
.lo--caderno .cd-tape--sky { --cd-tape:#86ccf6d9; background-image:repeating-linear-gradient(90deg,#ffffff70 0 3px,transparent 3px 11px); }
.lo--caderno .cd-tape--leaf { --cd-tape:#84d275d9; background-image:repeating-linear-gradient(-45deg,#ffffff70 0 5px,transparent 5px 12px); }
.lo--caderno .cd-tape--coral { --cd-tape:#ff7a59d4; background-image:linear-gradient(#ffffff55 2px,transparent 2px),linear-gradient(90deg,#ffffff55 2px,transparent 2px); background-size:10px 10px; }
.lo--caderno .cd-tape--lilac { --cd-tape:#bdb8ffe0; background-image:radial-gradient(#ffffffb0 2.6px,transparent 3px); background-size:13px 13px; }

/* Carimbo */
.lo--caderno .cd-stamp { display:grid; place-items:center; align-content:center; width:6.6em; aspect-ratio:1; color:#d23f37; border:.17em solid currentColor; border-radius:50%; box-shadow:inset 0 0 0 .22em var(--cd-page),inset 0 0 0 .3em currentColor; transform:rotate(-14deg); filter:url(#cd-rough); opacity:.88; text-align:center; line-height:1; }
.lo--caderno .cd-stamp span { font-family:var(--cd-body); font-size:.72em; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.lo--caderno .cd-stamp strong { font-family:var(--cd-hand); font-size:2.15em; font-weight:700; line-height:.85; }
.lo--caderno .cd-stamp .cd-doodle { width:1.05em; height:1.05em; margin-top:.2em; fill:currentColor; stroke-width:1px; }

/* Botões: tinta da caneta favorita + contorno desenhado fora do registro */
.lo--caderno .cd-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:12px 24px; font-family:var(--cd-body); font-size:16px; font-weight:800; line-height:1.2; color:#fff; background:var(--cd-pen); border:0; border-radius:16px 22px 18px 24px/22px 16px 24px 18px; box-shadow:0 12px 20px -14px #3b33c0cc; transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease; }
.lo--caderno .cd-btn::after { content:''; position:absolute; inset:-5px -6px; border:2px solid var(--cd-ink); border-radius:18px 26px 20px 28px/26px 18px 28px 20px; transform:rotate(-1.4deg) translate(3px,3px); filter:url(#cd-rough); pointer-events:none; transition:transform .16s ease; }
.lo--caderno .cd-btn:hover { transform:translateY(-2px) rotate(-.5deg); background:var(--cd-pen-deep); box-shadow:0 18px 24px -14px #3b33c0cc; }
.lo--caderno .cd-btn:hover::after { transform:rotate(.7deg) translate(-1px,0); }
.lo--caderno .cd-btn:active { transform:translateY(1px) scale(.985); box-shadow:0 6px 10px -8px #3b33c0cc; }
.lo--caderno .cd-btn--big { min-height:62px; padding:16px 30px; font-size:18px; }
.lo--caderno .cd-btn--small { min-height:44px; padding:8px 18px; font-size:15px; }
.lo--caderno .cd-btn--small::after { inset:-4px -5px; transform:rotate(-1.4deg) translate(2px,2px); }
.lo--caderno .cd-btn--compact { min-height:48px; padding:10px 20px; font-size:15.5px; }
.lo--caderno .cd-btn--paper { color:var(--cd-ink); background:var(--cd-page); box-shadow:0 12px 20px -16px #1f2a5c99; }
.lo--caderno .cd-btn--paper::after { inset:-1px; border-radius:inherit; transform:rotate(-.4deg); }
.lo--caderno .cd-btn--paper:hover { background:var(--cd-hl-yellow); box-shadow:0 18px 24px -16px #1f2a5c99; }
.lo--caderno .cd-btn--paper:hover::after { transform:rotate(.5deg); }

/* ── Navegação ───────────────────────────────────────────────────── */
.lo--caderno .cd-nav { position:sticky; top:0; z-index:40; background:#fbf5e6ee; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.lo--caderno .cd-nav-line { position:absolute; left:0; bottom:-5px; width:100%; height:9px; color:var(--cd-ink); stroke-width:2px; }
.lo--caderno .cd-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:72px; }
.lo--caderno .cd-logo { position:relative; display:inline-block; padding:2px 2px 8px; font-family:var(--cd-display); font-size:32px; font-weight:700; font-variation-settings:'SOFT' 100; letter-spacing:-.04em; line-height:1; }
.lo--caderno .cd-logo-line { position:absolute; left:-4px; right:-6px; bottom:0; width:calc(100% + 10px); height:9px; color:var(--cd-pen); stroke-width:3px; }
.lo--caderno .cd-nav-links { display:flex; gap:6px; font-size:15.5px; font-weight:700; }
.lo--caderno .cd-nav-links a { position:relative; isolation:isolate; padding:8px 12px; }
.lo--caderno .cd-nav-links a::before { content:''; position:absolute; z-index:-1; inset:9px 4px 7px; background:var(--cd-hl-yellow); border-radius:.5em .2em .6em .25em/.3em .6em .2em .5em; transform:skewX(-10deg) scaleX(0); transform-origin:left center; transition:transform .22s ease; }
.lo--caderno .cd-nav-links a:nth-child(2)::before { background:var(--cd-hl-pink); }
.lo--caderno .cd-nav-links a:nth-child(3)::before { background:var(--cd-hl-green); }
.lo--caderno .cd-nav-links a:nth-child(4)::before { background:var(--cd-hl-blue); }
.lo--caderno .cd-nav-links a:hover::before, .lo--caderno .cd-nav-links a:focus-visible::before { transform:skewX(-10deg) scaleX(1); }
.lo--caderno .cd-nav-actions { display:flex; align-items:center; gap:22px; }
.lo--caderno .cd-nav-login { padding:8px 2px; font-size:15.5px; font-weight:800; text-decoration:underline wavy var(--cd-pen); text-decoration-thickness:1.5px; text-underline-offset:6px; }
.lo--caderno .cd-nav-login:hover { color:var(--cd-pen); }
.lo--caderno .cd-only-narrow { display:none; }

/* ── 1 · Hero: papel pontilhado + caderno aberto ─────────────────── */
.lo--caderno .cd-hero { position:relative; padding:68px 0 104px; background-image:radial-gradient(#1f2a5c30 1.2px,transparent 1.5px); background-size:24px 24px; overflow:clip; }
.lo--caderno .cd-hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr); align-items:center; gap:56px; }
.lo--caderno .cd-hero h1 { margin-top:22px; }
.lo--caderno .cd-lead { max-width:31em; margin-top:30px; font-size:clamp(17px,1.5vw,20px); line-height:1.65; color:var(--cd-ink-soft); }
.lo--caderno .cd-actions { display:flex; flex-wrap:wrap; gap:22px; margin-top:38px; }
.lo--caderno .cd-caption { display:flex; align-items:center; gap:10px; margin-top:26px; font-family:var(--cd-hand); font-size:25px; font-weight:600; line-height:1.2; color:var(--cd-ink); }
.lo--caderno .cd-caption-check { flex:none; width:28px; height:22px; color:var(--cd-green); stroke-width:3.5px; }

.lo--caderno .cd-notebook { position:relative; width:100%; max-width:540px; aspect-ratio:1/1.16; margin-inline:auto; container-type:inline-size; }
.lo--caderno .cd-notebook > * { position:absolute; font-size:16px; font-size:clamp(8.5px,3cqw,16.2px); }
.lo--caderno .cd-nb-page { top:7%; left:7%; width:78%; min-height:82%; padding:2.6em 1.6em 2em 5.2em; color:var(--cd-ink); background-color:var(--cd-page); background-image:linear-gradient(90deg,transparent 4.1em,#ee6c69b0 4.1em,#ee6c69b0 calc(4.1em + 1.5px),transparent calc(4.1em + 1.5px)),repeating-linear-gradient(transparent 0,transparent calc(2.2em - 1px),var(--cd-rule) calc(2.2em - 1px),var(--cd-rule) 2.2em); background-position:0 0,0 1.1em; border-radius:.5em 1.2em 1.2em .5em; box-shadow:0 1px 2px #1f2a5c26,.5em .6em 0 -.12em #f3ead2,.5em .6em 0 0 #1f2a5c1f,0 2.2em 3em -1.8em #1f2a5c80; transform:rotate(-3deg); }
.lo--caderno .cd-nb-spiral { position:absolute; left:-1.1em; top:1.6em; bottom:1.6em; width:4em; background-image:radial-gradient(circle at .62em 1.1em,#8d93b0 0,#8d93b0 .3em,transparent .34em),linear-gradient(transparent .8em,#5d6383 .8em,#5d6383 .9em,#eef0f7 .9em,#eef0f7 1.05em,#9aa0bb 1.05em,#9aa0bb 1.3em,#5d6383 1.3em,#5d6383 1.4em,transparent 1.4em),radial-gradient(circle at 2.75em 1.1em,#c9bfa6 0,#c9bfa6 .42em,#1f2a5c59 .42em,#1f2a5c59 .5em,transparent .54em); background-size:100% 2.2em,2.7em 2.2em,100% 2.2em; background-position:0 0,.6em 0,0 0; background-repeat:repeat-y; }
.lo--caderno .cd-nb-title { font-family:var(--cd-hand); font-size:2.15em; font-weight:700; line-height:1.02; color:var(--cd-bluepen); }
.lo--caderno .cd-nb-title small { font-size:.72em; font-weight:600; color:var(--cd-graphite); }
.lo--caderno .cd-nb-label { margin-top:1.55em; font-size:.74em; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--cd-red); }
.lo--caderno .cd-nb-question { margin-top:.25em; font-family:var(--cd-display); font-size:1.62em; font-weight:600; font-variation-settings:'SOFT' 100; line-height:1.18; letter-spacing:-.02em; }
.lo--caderno .cd-nb-options { display:flex; flex-direction:column; gap:.62em; margin-top:1.1em; }
.lo--caderno .cd-nb-options > span { position:relative; align-self:flex-start; display:flex; align-items:center; gap:.7em; font-size:1em; font-weight:600; line-height:1.3; }
.lo--caderno .cd-nb-options i { display:grid; place-items:center; flex:none; width:1.35em; height:1.35em; font-family:var(--cd-hand); font-size:1.45em; font-style:normal; font-weight:700; line-height:1; padding-bottom:.12em; border:.09em solid var(--cd-ink); border-radius:50% 46% 52% 48%/48% 52% 46% 50%; }
.lo--caderno .cd-nb-right { font-weight:800 !important; }
.lo--caderno .cd-nb-right i { color:var(--cd-green); border-color:var(--cd-green); }
.lo--caderno .cd-nb-ring { position:absolute; left:-.8em; top:-.5em; width:calc(100% + 1.9em); height:calc(100% + 1em); color:var(--cd-pen); stroke-width:2.6px; }
.lo--caderno .cd-nb-check { position:absolute; right:-4.4em; top:-1em; width:2.5em; height:2em; color:var(--cd-green); stroke-width:4px; }
.lo--caderno .cd-nb-note { position:relative; display:inline-block; margin-top:1.5em; font-family:var(--cd-hand); font-size:1.62em; font-weight:600; line-height:1.36; color:var(--cd-bluepen); transform:rotate(-1.5deg); }
.lo--caderno .cd-nb-note b { font-weight:700; color:#e2502d; }
.lo--caderno .cd-nb-note-line { position:absolute; left:0; bottom:-.35em; width:100%; height:.4em; color:var(--cd-coral); stroke-width:2.6px; }
.lo--caderno .cd-nb-stamp { position:absolute; right:.5em; bottom:8.3em; font-size:.92em; }
.lo--caderno .cd-nb-aha { top:0; right:1%; z-index:2; font-family:var(--cd-hand) !important; font-size:clamp(34px,15.5cqw,84px) !important; font-weight:700; line-height:.9; color:#ee5a35; transform:rotate(9deg); text-shadow:.03em .03em 0 #ffdc5e; }
.lo--caderno .cd-nb-rays { position:absolute; left:-.52em; top:-.36em; width:.62em; height:.54em; color:var(--cd-ink); stroke-width:3px; transform:rotate(-8deg); }
.lo--caderno .cd-nb-arrow { top:16%; right:3%; z-index:2; width:11%; color:var(--cd-ink); stroke-width:2.6px; }
.lo--caderno .cd-nb-card { right:-1%; bottom:4%; z-index:3; display:flex; flex-direction:column; width:40%; padding:1.15em 1.1em 1.2em; text-align:center; color:var(--cd-ink); background-color:#fffef9; background-image:linear-gradient(transparent 2.55em,#f08fa3 2.55em,#f08fa3 calc(2.55em + 1.5px),transparent calc(2.55em + 1.5px)),repeating-linear-gradient(transparent 0,transparent calc(1.7em - 1px),var(--cd-rule) calc(1.7em - 1px),var(--cd-rule) 1.7em); background-position:0 0,0 .85em; border-radius:.3em; box-shadow:0 1px 2px #1f2a5c33,0 1.4em 2em -1.2em #1f2a5c8c; transform:rotate(7deg); }
.lo--caderno .cd-nb-card small { font-size:.68em; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--cd-graphite); }
.lo--caderno .cd-nb-card strong { margin-top:.75em; font-family:var(--cd-display); font-size:2em; font-weight:700; font-variation-settings:'SOFT' 100; line-height:1.1; letter-spacing:-.03em; }
.lo--caderno .cd-nb-card em { margin-top:.1em; font-family:var(--cd-hand); font-size:1.5em; font-style:normal; font-weight:600; line-height:1.15; color:var(--cd-bluepen); }
.lo--caderno .cd-nb-clip { position:absolute; top:-1.5em; left:1em; width:1.35em; height:3.4em; transform:rotate(-6deg); }
.lo--caderno .cd-nb-tape { top:4.5%; left:30%; z-index:2; width:24%; height:5.4%; transform:rotate(-7deg); }
.lo--caderno .cd-nb-pencil { left:-3%; bottom:1.5%; z-index:4; width:60%; transform:rotate(-9deg); }
.lo--caderno .cd-nb-plane { top:-3%; left:-6%; width:25%; color:var(--cd-ink); stroke-width:2.2px; transform:rotate(-8deg); }
.lo--caderno .cd-nb-star { color:var(--cd-ink); stroke-width:2.2px; }
.lo--caderno .cd-nb-star--one { right:-2%; top:38%; width:9%; --cd-fill:var(--cd-butter); transform:rotate(12deg); }
.lo--caderno .cd-nb-asterisk { left:0; top:47%; width:6.5%; color:var(--cd-pink); stroke-width:4px; }
.lo--caderno .cd-nb-swirl { right:-1%; top:57%; width:9%; color:var(--cd-leaf); stroke-width:3.5px; transform:rotate(30deg); }

/* ── 2 · Demonstração: folha de atividades no fichário ───────────── */
.lo--caderno .cd-demo { position:relative; padding:108px 0 132px; background-color:#dcecf8; background-image:linear-gradient(#1f2a5c12 1px,transparent 1px),linear-gradient(90deg,#1f2a5c12 1px,transparent 1px); background-size:28px 28px; }
.lo--caderno :is(.cd-demo,.cd-pages,.cd-pricing,.cd-faq,.cd-final)::before { content:''; position:absolute; z-index:1; top:-1px; left:0; right:0; height:15px; background:var(--cd-prev,var(--cd-paper)); filter:drop-shadow(0 2px 1px #1f2a5c26); clip-path:polygon(0% 0%,100% 0%,100.0% 78%,98.5% 89%,96.7% 93%,95.0% 61%,93.8% 87%,92.4% 100%,91.6% 86%,90.6% 82%,89.3% 54%,88.3% 51%,86.6% 73%,85.8% 87%,84.9% 86%,84.1% 56%,82.4% 49%,81.5% 83%,79.8% 68%,78.1% 72%,76.6% 58%,74.9% 73%,73.1% 92%,72.1% 76%,71.2% 57%,70.4% 54%,69.1% 40%,67.6% 47%,66.6% 73%,65.3% 64%,64.1% 77%,63.4% 98%,62.6% 98%,61.0% 63%,59.4% 61%,58.1% 42%,57.3% 40%,55.6% 40%,54.1% 75%,52.3% 66%,51.2% 70%,49.7% 52%,48.2% 75%,46.5% 52%,44.8% 41%,43.7% 60%,42.0% 58%,40.3% 66%,39.2% 60%,38.3% 45%,37.5% 66%,35.7% 53%,34.9% 85%,33.6% 74%,32.7% 78%,31.1% 73%,29.9% 51%,28.2% 40%,27.0% 71%,26.1% 82%,24.4% 84%,22.8% 60%,21.6% 48%,20.0% 49%,18.8% 83%,17.2% 100%,16.0% 87%,14.5% 79%,13.4% 71%,12.6% 66%,10.8% 91%,9.4% 82%,8.3% 58%,7.3% 78%,5.7% 69%,4.1% 83%,2.6% 86%,1.1% 73%,0% 70%); pointer-events:none; }
.lo--caderno .cd-demo-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:end; gap:48px; margin-bottom:52px; }
.lo--caderno .cd-demo-heading h2 { margin-top:16px; }
.lo--caderno .cd-demo-aside { position:relative; padding-bottom:6px; }
.lo--caderno .cd-demo-aside > p { max-width:25em; font-size:18px; line-height:1.6; color:var(--cd-ink-soft); }
.lo--caderno .cd-demo-hint { display:inline-flex; align-items:flex-end; gap:6px; margin-top:16px; font-family:var(--cd-hand); font-size:27px; font-weight:600; line-height:1; color:var(--cd-bluepen); transform:rotate(-3deg); }
.lo--caderno .cd-demo-hint .cd-doodle { width:84px; margin-bottom:-44px; color:var(--cd-ink); stroke-width:2.4px; transform:rotate(98deg); }

.lo--caderno .cd-binder { position:relative; isolation:isolate; }
.lo--caderno .cd-noscript { margin-bottom:16px; padding:14px 20px; font-weight:700; background:#ffe3df; border:2px solid var(--cd-red); border-radius:var(--cd-blob); }
.lo--caderno .cd-tabs { position:relative; z-index:2; display:flex; align-items:flex-end; gap:8px; margin-bottom:-2px; padding:0 40px 0 84px; }
.lo--caderno .cd-tab { --cd-tab:var(--cd-butter); position:relative; flex:1 1 0; display:flex; align-items:center; gap:12px; min-width:0; max-width:330px; padding:13px 16px 13px 14px; text-align:left; color:var(--cd-ink); background:var(--cd-tab); border:2px solid var(--cd-ink); border-bottom-color:var(--cd-ink); border-radius:16px 20px 0 0/18px 16px 0 0; transform:translateY(7px); transition:transform .16s ease,background-color .16s ease; }
.lo--caderno .cd-tab--gap { --cd-tab:var(--cd-pink); }
.lo--caderno .cd-tab--cards { --cd-tab:var(--cd-leaf); }
.lo--caderno .cd-tab:hover { transform:translateY(2px); }
.lo--caderno .cd-tab-number { display:grid; place-items:center; flex:none; width:34px; height:34px; padding-bottom:3px; font-family:var(--cd-hand); font-size:27px; font-weight:700; line-height:1; background:var(--cd-page); border:2px solid var(--cd-ink); border-radius:50% 46% 52% 48%/48% 52% 46% 50%; }
.lo--caderno .cd-tab-text { flex:1; min-width:0; }
.lo--caderno .cd-tab strong { display:block; font-family:var(--cd-display); font-size:17.5px; font-weight:700; font-variation-settings:'SOFT' 100; line-height:1.2; letter-spacing:-.015em; }
.lo--caderno .cd-tab small { display:block; margin-top:1px; font-size:13.5px; font-weight:600; line-height:1.3; color:var(--cd-ink); opacity:.82; }
.lo--caderno .cd-tab-icon { display:grid; place-items:center; flex:none; opacity:.9; }
.lo--caderno .cd-tab[aria-selected=true] { z-index:2; padding-bottom:20px; background:var(--cd-page); border-bottom-color:var(--cd-page); box-shadow:inset 0 7px 0 var(--cd-tab); transform:none; }
.lo--caderno .cd-tab[aria-selected=true] .cd-tab-number { background:var(--cd-tab); }

.lo--caderno .cd-sheet { position:relative; padding:26px 40px 6px 92px; background-color:var(--cd-page); background-image:linear-gradient(90deg,transparent 70px,#ee6c6999 70px,#ee6c6999 72px,transparent 72px); border:2px solid var(--cd-ink); border-radius:8px 24px 26px 8px/8px 22px 28px 8px; box-shadow:0 34px 50px -34px #1f2a5c99; }
.lo--caderno .cd-sheet::before, .lo--caderno .cd-sheet::after { content:''; position:absolute; z-index:-1; inset:6px -2px -2px 4px; background:#fbf7ea; border:2px solid var(--cd-ink); border-radius:inherit; transform:rotate(.7deg); transform-origin:20% 100%; }
.lo--caderno .cd-sheet::after { background:#f4eeda; transform:rotate(-.6deg) translateY(5px); transform-origin:80% 100%; }
.lo--caderno .cd-sheet-rings { position:absolute; left:-20px; top:34px; bottom:34px; width:74px; background-image:radial-gradient(circle at 8px 23px,#8d93b0 0,#8d93b0 5px,transparent 5.6px),linear-gradient(transparent 17px,#4d5375 17px,#4d5375 19px,#f1f2f8 19px,#f1f2f8 22px,#9aa0bb 22px,#9aa0bb 27px,#4d5375 27px,#4d5375 29px,transparent 29px),radial-gradient(circle at 54px 23px,#b9d0e3 0,#b9d0e3 8px,#1f2a5c 8px,#1f2a5c 10px,transparent 10.6px); background-size:100% 46px,46px 46px,100% 46px; background-position:0 0,8px 0,0 0; background-repeat:repeat-y; pointer-events:none; }
.lo--caderno .cd-sheet-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:14px; }
.lo--caderno .cd-lesson { display:grid; grid-template-columns:auto auto; align-items:baseline; justify-content:start; gap:0 14px; }
.lo--caderno .cd-lesson-label { grid-column:1/-1; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--cd-red); }
.lo--caderno .cd-lesson strong { font-family:var(--cd-hand); font-size:40px; font-weight:700; line-height:1.05; color:var(--cd-bluepen); }
.lo--caderno .cd-lesson small { font-size:14.5px; font-weight:700; color:var(--cd-ink-soft); }
.lo--caderno .cd-sheet-stamp { position:relative; display:inline-flex; align-items:center; gap:7px; margin-bottom:6px; padding:7px 13px; font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; color:var(--cd-red); transform:rotate(-2.5deg); }
.lo--caderno .cd-sheet-stamp::before { content:''; position:absolute; inset:0; border:2px solid currentColor; border-radius:6px; box-shadow:inset 0 0 0 2px var(--cd-page),inset 0 0 0 3px currentColor; filter:url(#cd-rough); opacity:.9; }

.lo--caderno .cd-stage-bar { display:flex; align-items:center; gap:14px; min-height:66px; padding-block:12px; border-top:2px solid var(--cd-ink); border-bottom:1.5px dashed #1f2a5c59; }
.lo--caderno .cd-stage-label { display:flex; align-items:center; gap:8px; font-size:14.5px; font-weight:700; color:var(--cd-ink-soft); }
.lo--caderno .cd-role-switch { display:flex; gap:3px; margin-left:auto; padding:3px; background:#fff; border:2px solid var(--cd-ink); border-radius:22px 18px 24px 20px/20px 24px 18px 22px; }
.lo--caderno .cd-role-switch button { min-height:38px; padding:5px 18px; font-size:14.5px; font-weight:800; background:transparent; border:0; border-radius:18px 14px 20px 16px/16px 20px 14px 18px; transition:background-color .15s,color .15s; }
.lo--caderno .cd-role-switch button:hover { background:var(--cd-hl-yellow); }
.lo--caderno .cd-role-switch button[aria-pressed=true] { background:var(--cd-ink); color:#fff; }
.lo--caderno .cd-restart { min-height:44px; padding:6px 16px; font-size:14.5px; font-weight:800; background:#fff; border:2px solid var(--cd-ink); border-radius:20px 24px 18px 22px/24px 18px 22px 20px; transition:background-color .15s,transform .15s; }
.lo--caderno .cd-restart:hover { background:var(--cd-hl-pink); transform:rotate(-1.5deg); }

.lo--caderno .cd-exercise { min-height:470px; padding:26px 0 22px; }
.lo--caderno .cd-exercise:focus-visible { outline-offset:6px; }
.lo--caderno .cd-exercise-heading { display:flex; align-items:center; gap:16px; }
.lo--caderno .cd-exercise-symbol { position:relative; display:grid; place-items:center; flex:none; width:62px; height:54px; color:var(--cd-ink); }
.lo--caderno .cd-exercise-symbol .cd-doodle { position:absolute; inset:0; width:100%; height:100%; color:var(--cd-butter); }
.lo--caderno .cd-exercise-symbol--gap .cd-doodle { color:var(--cd-pink); }
.lo--caderno .cd-exercise-symbol--cards .cd-doodle { color:var(--cd-leaf); }
.lo--caderno .cd-exercise-symbol .inline-block { position:relative; }
.lo--caderno .cd-exercise-heading h3 { font-size:25px; line-height:1.2; }
.lo--caderno .cd-exercise-heading p { margin-top:3px; font-size:15.5px; line-height:1.45; color:var(--cd-ink-soft); }
.lo--caderno .cd-level { display:grid; place-items:center; flex:none; width:56px; height:50px; margin-left:auto; padding-bottom:4px; font-family:var(--cd-hand); font-size:30px; font-weight:700; line-height:1; color:var(--cd-red); border:2.5px solid var(--cd-red); border-radius:50% 44% 54% 46%/46% 54% 44% 52%; transform:rotate(8deg); }
.lo--caderno .cd-small-label { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--cd-ink-soft); }

.lo--caderno .cd-quiz-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:44px; margin-top:34px; }
.lo--caderno .cd-reading { position:relative; display:flex; flex-direction:column; padding:30px 26px 18px 30px; background-color:#fffef9; background-image:repeating-linear-gradient(transparent 0,transparent 29px,var(--cd-rule) 29px,var(--cd-rule) 30px); background-position:0 19px; border-radius:4px; box-shadow:0 1px 2px #1f2a5c33,0 20px 30px -22px #1f2a5c80; transform:rotate(-.7deg); }
.lo--caderno .cd-reading > .cd-tape { top:-15px; left:50%; margin-left:-59px; }
.lo--caderno .cd-reading .cd-small-label { line-height:30px; }
.lo--caderno .cd-reading h4 { margin:0 0 0; font-family:var(--cd-hand); font-size:30px; font-weight:700; font-variation-settings:normal; line-height:30px; letter-spacing:0; color:var(--cd-bluepen); padding-block:15px; text-wrap:pretty; }
.lo--caderno .cd-reading > p { margin-bottom:30px; font-size:16px; line-height:30px; }
.lo--caderno .cd-reading > p:last-of-type { margin-bottom:22px; }
.lo--caderno .cd-reading-foot { display:flex; justify-content:space-between; gap:10px; margin-top:auto; font-size:12.5px; font-weight:700; line-height:30px; color:var(--cd-ink-soft); }
.lo--caderno .cd-question-meta { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--cd-ink-soft); }
.lo--caderno .cd-question-meta span:first-child { color:var(--cd-red); }
.lo--caderno .cd-question h4 { margin-bottom:14px; font-size:25px; line-height:1.25; }
.lo--caderno .cd-quiz-answers { display:flex; flex-direction:column; }

/* Botões criados pelo controller (classes nv-*) */
.lo--caderno .nv-answer { position:relative; isolation:isolate; display:flex; align-items:center; gap:16px; width:100%; min-height:60px; padding:9px 50px 9px 10px; font-size:16.5px; font-weight:600; line-height:1.35; text-align:left; color:var(--cd-ink); background:transparent; border:0; border-bottom:1.5px dashed #1f2a5c47; border-radius:12px 12px 0 0; }
.lo--caderno .nv-answer::before { content:''; position:absolute; z-index:-1; inset:9px 6px 9px 2px; background:var(--cd-hl-yellow); opacity:.55; border-radius:1.2em .5em 1.4em .6em/.8em 1.4em .5em 1.2em; transform:skewX(-8deg) scaleX(0); transform-origin:left center; transition:transform .24s ease,opacity .2s; }
.lo--caderno .nv-answer:hover:not(:disabled)::before { transform:skewX(-8deg) scaleX(1); }
.lo--caderno .nv-answer-letter { position:relative; display:grid; place-items:center; flex:none; width:38px; height:38px; padding-bottom:3px; font-family:var(--cd-hand); font-size:27px; font-weight:700; line-height:1; background:var(--cd-page); border:2px solid var(--cd-ink); border-radius:50% 46% 52% 48%/48% 52% 46% 50%; }
.lo--caderno .nv-answer-letter::after { content:''; position:absolute; inset:-8px -10px -7px -9px; border:2.5px solid var(--cd-pen); border-radius:50% 46% 54% 44%/46% 56% 42% 52%; border-right-color:transparent; transform:rotate(-24deg) scale(.6); opacity:0; transition:transform .22s ease,opacity .15s; }
.lo--caderno .nv-answer[aria-pressed=true] { font-weight:800; }
.lo--caderno .nv-answer[aria-pressed=true]::before { opacity:1; transform:skewX(-8deg) scaleX(1); }
.lo--caderno .nv-answer[aria-pressed=true] .nv-answer-letter { color:var(--cd-pen); border-color:var(--cd-pen); }
.lo--caderno .nv-answer[aria-pressed=true] .nv-answer-letter::after { opacity:1; transform:rotate(-24deg) scale(1); }
.lo--caderno .nv-answer::after { position:absolute; right:10px; top:50%; font-family:var(--cd-hand); font-size:46px; font-weight:700; line-height:1; transform:translateY(-54%) rotate(-6deg); }
.lo--caderno .nv-answer:disabled { color:var(--cd-graphite); }
.lo--caderno .nv-answer:disabled::before { transform:skewX(-8deg) scaleX(0); }
.lo--caderno .nv-answer[data-result]::before { opacity:1; transform:skewX(-8deg) scaleX(1); }
.lo--caderno .nv-answer[data-result=correct] { color:var(--cd-ink); font-weight:800; }
.lo--caderno .nv-answer[data-result=correct]::before { background:var(--cd-hl-green); }
.lo--caderno .nv-answer[data-result=correct]::after { content:'✓'; color:var(--cd-green); }
.lo--caderno .nv-answer[data-result=correct] .nv-answer-letter { color:var(--cd-green); border-color:var(--cd-green); }
.lo--caderno .nv-answer[data-result=correct] .nv-answer-letter::after { border-color:var(--cd-green); border-right-color:transparent; opacity:1; transform:rotate(-24deg) scale(1); }
.lo--caderno .nv-answer[data-result=incorrect] { color:var(--cd-ink); font-weight:700; text-decoration:line-through; text-decoration-color:var(--cd-red); text-decoration-thickness:2px; }
.lo--caderno .nv-answer[data-result=incorrect]::before { background:#ffd3cd; }
.lo--caderno .nv-answer[data-result=incorrect]::after { content:'✕'; font-size:36px; color:var(--cd-red); }
.lo--caderno .nv-answer[data-result=incorrect] .nv-answer-letter { color:var(--cd-red); border-color:var(--cd-red); }
.lo--caderno .nv-answer[data-result=incorrect] .nv-answer-letter::after { opacity:0; }

.lo--caderno .cd-feedback { min-height:62px; margin-block:16px 8px; font-family:var(--cd-hand); font-size:24px; font-weight:600; line-height:1.22; color:var(--cd-graphite); }
.lo--caderno .cd-feedback[data-result] { font-weight:700; }
.lo--caderno .cd-feedback[data-result=correct] { color:var(--cd-green); }
.lo--caderno .cd-feedback[data-result=incorrect] { color:var(--cd-red); }
.lo--caderno .cd-feedback[data-result=correct]::before { content:'✓ '; }
.lo--caderno .cd-feedback[data-result=incorrect]::before { content:'✕ '; }
.lo--caderno .cd-quiz-actions { display:flex; justify-content:flex-end; padding:4px 8px 6px 0; }

.lo--caderno .cd-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:14px 28px; margin:30px 0 26px; padding:18px 22px; background:#fff8dc; border:2px dashed #1f2a5c8c; border-radius:var(--cd-blob); }
.lo--caderno .cd-word-bank > div { display:flex; flex-wrap:wrap; gap:14px; }
.lo--caderno .cd-word { min-height:46px; padding:3px 22px 7px; font-family:var(--cd-hand); font-size:28px; font-weight:700; line-height:1.1; color:var(--cd-ink); background:var(--cd-butter); background-image:repeating-linear-gradient(45deg,#ffffff59 0 6px,transparent 6px 13px); border:0; border-radius:3px 8px 4px 7px/7px 3px 8px 4px; box-shadow:0 1px 1px #1f2a5c40,0 8px 12px -8px #1f2a5c73; transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease; }
.lo--caderno .cd-word:nth-child(1) { transform:rotate(-2.5deg); }
.lo--caderno .cd-word:nth-child(2) { background-color:var(--cd-pink); transform:rotate(1.8deg); }
.lo--caderno .cd-word:nth-child(3) { background-color:var(--cd-sky); transform:rotate(-1.2deg); }
.lo--caderno .cd-word:hover:not(:disabled) { transform:translateY(-3px) rotate(0deg); box-shadow:0 1px 1px #1f2a5c40,0 14px 16px -10px #1f2a5c8c; }
.lo--caderno .cd-word[aria-pressed=true] { color:#fff; background-color:var(--cd-pen); background-image:none; transform:translateY(-5px) rotate(-3deg) scale(1.05); box-shadow:0 16px 18px -10px #3b33c0b3; }
.lo--caderno .cd-word:disabled { color:var(--cd-graphite); background:transparent; box-shadow:inset 0 0 0 1.5px #1f2a5c4d; text-decoration:line-through; text-decoration-thickness:2px; transform:none; }
.lo--caderno .cd-gap-text { display:flex; flex-direction:column; gap:6px; }
.lo--caderno .cd-gap-text p { display:flex; align-items:baseline; gap:14px; font-size:19px; font-weight:500; line-height:2.7; border-bottom:1.5px solid var(--cd-rule); }
.lo--caderno .cd-line-number { flex:none; width:26px; font-family:var(--cd-hand); font-size:30px; font-weight:700; line-height:1; color:var(--cd-red); }
.lo--caderno .cd-blank { position:relative; display:inline-block; min-width:172px; min-height:42px; margin-inline:4px; padding:0 12px; font-size:14px; font-style:italic; font-weight:600; line-height:1.5; color:var(--cd-graphite); text-align:center; background:transparent; border:0; border-bottom:2.5px solid var(--cd-ink); border-radius:8px 8px 2px 2px; vertical-align:baseline; transition:background-color .15s; }
.lo--caderno .cd-blank:hover { background:#ffe85a80; }
.lo--caderno .cd-blank[data-word] { padding-bottom:2px; font-family:var(--cd-hand); font-size:31px; font-style:normal; font-weight:700; line-height:1.1; color:var(--cd-bluepen); }
.lo--caderno .cd-blank[data-result=correct] { color:var(--cd-green); background:#b4ee9c8c; border-bottom-color:var(--cd-green); }
.lo--caderno .cd-blank[data-result=correct]::after { content:'✓'; display:inline-block; margin-left:.3em; }
.lo--caderno .cd-blank[data-result=incorrect] { color:var(--cd-red); background:#ffd3cd99; border-bottom-color:var(--cd-red); text-decoration:underline wavy var(--cd-red); text-decoration-thickness:1.5px; text-underline-offset:5px; }
.lo--caderno .cd-blank[data-result=incorrect]::after { content:'✕'; display:inline-block; margin-left:.35em; font-size:.8em; text-decoration:none; }
.lo--caderno .cd-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:26px; padding-right:8px; }
.lo--caderno .cd-gap-footer .cd-feedback { flex:1; min-height:0; margin:0; }

.lo--caderno .cd-flashcard-wrap { position:relative; width:min(100%,540px); margin:40px auto 0; }
.lo--caderno .cd-flashcard-wrap::before { content:''; position:absolute; inset:0; background:#fbf6e6; border-radius:6px; box-shadow:0 1px 2px #1f2a5c33,0 22px 30px -22px #1f2a5c80; transform:rotate(2.4deg); }
.lo--caderno .cd-flashcard-clip { position:absolute; z-index:2; top:-24px; left:34px; width:24px; height:60px; transform:rotate(-5deg); }
.lo--caderno .cd-flashcard { --cd-card:#fffef9; position:relative; display:flex; flex-direction:column; align-items:stretch; width:100%; min-height:292px; padding:0; text-align:center; color:var(--cd-ink); background:var(--cd-card); border:0; border-radius:6px; box-shadow:0 1px 2px #1f2a5c40,0 16px 24px -18px #1f2a5c80; transform:rotate(-1.2deg); transition:transform .2s ease,box-shadow .2s ease,background-color .2s; }
.lo--caderno .cd-flashcard:hover { transform:rotate(0deg) translateY(-4px); box-shadow:0 1px 2px #1f2a5c40,0 26px 30px -20px #1f2a5c8c; }
.lo--caderno .cd-flashcard .cd-small-label { justify-content:center; padding:20px 26px 0; color:var(--cd-red); }
.lo--caderno .cd-flashcard strong { padding:14px 22px 20px; font-family:var(--cd-display); font-size:clamp(40px,5vw,60px); font-weight:700; font-variation-settings:'SOFT' 100; line-height:1.05; letter-spacing:-.035em; border-bottom:2px solid #f08fa3; }
.lo--caderno .cd-flashcard em { flex:1; padding:0 22px 66px; font-family:var(--cd-hand); font-size:28px; font-style:normal; font-weight:600; line-height:38px; color:var(--cd-bluepen); background-image:repeating-linear-gradient(transparent 0,transparent 37px,var(--cd-rule) 37px,var(--cd-rule) 38px); background-position:0 -4px; border-radius:0 0 6px 6px; }
.lo--caderno .cd-flashcard[aria-pressed=true] { --cd-card:#fff3b8; transform:rotate(1.2deg); }
.lo--caderno .cd-flashcard[aria-pressed=true] strong { color:var(--cd-pen-deep); }
.lo--caderno .cd-flashcard[aria-pressed=true]:hover { transform:rotate(0deg) translateY(-4px); }
.lo--caderno .cd-card-hint { position:absolute; left:50%; bottom:18px; display:inline-flex; align-items:center; gap:8px; padding:4px 14px; font-size:13px; font-weight:800; white-space:nowrap; color:var(--cd-ink); background:var(--cd-page); border:1.5px dashed var(--cd-ink); border-radius:999px; transform:translateX(-50%); }
.lo--caderno .cd-card-controls { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:30px; }
.lo--caderno .cd-card-controls > button { display:grid; place-items:center; width:48px; height:48px; background:#fff; border:2px solid var(--cd-ink); border-radius:50% 46% 52% 48%/48% 52% 46% 50%; transition:transform .15s ease,background-color .15s; }
.lo--caderno .cd-card-controls > button:hover { background:var(--cd-hl-green); transform:scale(1.08) rotate(-6deg); }
.lo--caderno .cd-card-controls > button:active { transform:scale(.95); }
.lo--caderno .cd-card-controls > span { min-width:74px; text-align:center; font-family:var(--cd-hand); font-size:30px; font-weight:700; line-height:1; }

.lo--caderno .cd-teacher-note { position:relative; display:flex; align-items:flex-start; gap:14px; margin:0 0 20px; padding:14px 20px 16px; background:#fff1ee; border:2px solid var(--cd-red); border-radius:var(--cd-blob); transform:rotate(-.4deg); }
.lo--caderno .cd-teacher-note-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; margin-top:2px; color:var(--cd-red); background:var(--cd-page); border:2px solid var(--cd-red); border-radius:50% 46% 52% 48%/48% 52% 46% 50%; }
.lo--caderno .cd-teacher-note strong { display:block; font-family:var(--cd-hand); font-size:27px; font-weight:700; line-height:1.1; color:var(--cd-red); }
.lo--caderno .cd-teacher-note p > span { display:block; margin-top:2px; font-size:15.5px; font-weight:600; line-height:1.5; }
.lo--caderno .cd-sheet-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding-block:12px; font-size:13.5px; font-weight:700; color:var(--cd-ink-soft); border-top:1.5px dashed #1f2a5c59; }
.lo--caderno .cd-sheet-footer > span { display:flex; align-items:center; gap:8px; }
.lo--caderno .cd-sheet-footer .cd-live-dot { width:9px; height:9px; background:var(--cd-leaf); }

/* ── 3 · Benefícios: uma tira de fita atravessando a página ──────── */
.lo--caderno .cd-benefits { position:relative; z-index:3; width:104%; margin:-46px 0 -46px -2%; color:var(--cd-ink); background-color:#ffdc5ef2; background-image:repeating-linear-gradient(45deg,#ffffff66 0 9px,transparent 9px 20px); box-shadow:0 12px 22px -16px #1f2a5c99; transform:rotate(-1.1deg); }
.lo--caderno .cd-benefits ul { display:flex; align-items:center; justify-content:space-between; gap:18px 28px; padding-block:24px; }
.lo--caderno .cd-benefits li { display:flex; align-items:center; gap:13px; font-family:var(--cd-display); font-size:clamp(16.5px,1.55vw,20px); font-weight:600; font-variation-settings:'SOFT' 100; line-height:1.25; letter-spacing:-.012em; text-wrap:balance; }
.lo--caderno .cd-benefit-icon { display:grid; place-items:center; flex:none; width:46px; height:46px; background:var(--cd-page); border:2px solid var(--cd-ink); border-radius:50% 44% 54% 46%/46% 54% 44% 52%; }
.lo--caderno .cd-benefit-icon--purple { color:var(--cd-pen); transform:rotate(-8deg); }
.lo--caderno .cd-benefit-icon--coral { color:#d2451f; transform:rotate(6deg); }
.lo--caderno .cd-benefit-icon--pink { color:#d42670; transform:rotate(-5deg); }

/* ── Seções ──────────────────────────────────────────────────────── */
.lo--caderno .cd-section { position:relative; padding:124px 0 120px; }
.lo--caderno .cd-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:end; gap:48px; margin-bottom:64px; }
.lo--caderno .cd-heading h2 { margin-top:16px; }
.lo--caderno .cd-heading > p:not(.cd-kicker) { max-width:24em; padding-bottom:6px; font-size:19px; line-height:1.6; color:var(--cd-ink-soft); }
.lo--caderno .cd-heading--center { display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; }
.lo--caderno .cd-heading--center .cd-kicker { transform-origin:center; }
.lo--caderno .cd-heading--center > p:last-child { margin-top:24px; max-width:30em; }

/* ── 4 · Funcionalidades: folha pautada com margem ───────────────── */
.lo--caderno .cd-features { padding-top:150px; background-image:repeating-linear-gradient(transparent 0,transparent 37px,#1f2a5c17 37px,#1f2a5c17 38px); }
@media (min-width:1400px) { .lo--caderno .cd-features { background-image:linear-gradient(90deg,transparent calc(50% - 650px),#ee6c6980 calc(50% - 650px),#ee6c6980 calc(50% - 648px),transparent calc(50% - 648px)),repeating-linear-gradient(transparent 0,transparent 37px,#1f2a5c17 37px,#1f2a5c17 38px); } }
.lo--caderno .cd-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.lo--caderno .cd-feature { --cd-accent:var(--cd-lilac); position:relative; display:flex; flex-direction:column; padding:40px 30px 30px; background-color:var(--cd-page); border-radius:var(--cd-blob); box-shadow:var(--cd-shadow); transition:transform .2s ease,box-shadow .2s ease; }
.lo--caderno .cd-feature::before { content:''; position:absolute; inset:0; border:2px solid var(--cd-ink); border-radius:inherit; filter:url(#cd-rough); pointer-events:none; }
.lo--caderno .cd-feature--lilac { background-image:linear-gradient(#4f46e512 1px,transparent 1px),linear-gradient(90deg,#4f46e512 1px,transparent 1px); background-size:22px 22px; transform:rotate(-.8deg); }
.lo--caderno .cd-feature--butter { --cd-accent:var(--cd-butter); background-image:radial-gradient(#1f2a5c29 1.1px,transparent 1.4px); background-size:20px 20px; transform:rotate(.6deg) translateY(16px); }
.lo--caderno .cd-feature--leaf { --cd-accent:var(--cd-leaf); background-image:repeating-linear-gradient(transparent 0,transparent 27px,#1f8a4c21 27px,#1f8a4c21 28px); transform:rotate(-.5deg); }
.lo--caderno .cd-feature:hover { transform:rotate(0deg) translateY(-6px); box-shadow:0 1px 2px #1f2a5c1a,0 30px 36px -24px #1f2a5c80; }
.lo--caderno .cd-feature > .cd-tape { top:-15px; left:50%; margin-left:-59px; --cd-tape:#bdb8ffe0; transform:rotate(-3deg); }
.lo--caderno .cd-feature--butter > .cd-tape { --cd-tape:#ff97bfd9; transform:rotate(2.5deg); }
.lo--caderno .cd-feature--leaf > .cd-tape { --cd-tape:#86ccf6d9; transform:rotate(-2deg); }
.lo--caderno .cd-feature-top { display:flex; align-items:center; justify-content:space-between; }
.lo--caderno .cd-feature-icon { position:relative; display:grid; place-items:center; width:84px; height:70px; color:var(--cd-ink); }
.lo--caderno .cd-feature-icon .cd-doodle { position:absolute; inset:0; width:100%; height:100%; color:var(--cd-accent); stroke-width:11px; }
.lo--caderno .cd-feature-icon .inline-block { position:relative; }
.lo--caderno .cd-feature-number { position:relative; display:grid; place-items:center; width:64px; height:58px; padding-bottom:6px; font-family:var(--cd-hand); font-size:46px; font-weight:700; line-height:1; color:var(--cd-pen); }
.lo--caderno .cd-feature-number .cd-doodle { position:absolute; inset:0; width:100%; height:100%; stroke-width:2.6px; }
.lo--caderno .cd-feature h3 { margin:26px 0 14px; font-size:clamp(25px,2.3vw,31px); line-height:1.14; }
.lo--caderno .cd-feature > p { margin-bottom:auto; font-size:17px; line-height:1.62; color:var(--cd-ink-soft); }
.lo--caderno .cd-feature-link { display:inline-flex; align-items:center; align-self:flex-start; gap:10px; margin-top:28px; padding:6px 0; font-size:16.5px; font-weight:800; color:var(--cd-pen-deep); text-decoration:underline wavy var(--cd-pen); text-decoration-thickness:1.5px; text-underline-offset:7px; }
.lo--caderno .cd-feature-link .inline-block { transition:transform .18s ease; }
.lo--caderno .cd-feature-link:hover .inline-block { transform:translateX(5px); }

/* ── 5 · Página do professor: polaroids ──────────────────────────── */
.lo--caderno .cd-pages { --cd-prev:var(--cd-paper); background-color:#fde4ec; background-image:radial-gradient(#1f2a5c2b 1.2px,transparent 1.5px); background-size:24px 24px; overflow-x:clip; }
.lo--caderno .cd-pages-heart { position:absolute; top:84px; right:7%; width:74px; color:var(--cd-ink); --cd-fill:var(--cd-coral); stroke-width:2.4px; transform:rotate(14deg); }
.lo--caderno .cd-pages-swirl { display:none; position:absolute; bottom:70px; left:calc(50% - 700px); width:84px; color:#d42670; stroke-width:3px; opacity:.75; }
@media (min-width:1440px) { .lo--caderno .cd-pages-swirl { display:block; } }
.lo--caderno .cd-polaroids { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.lo--caderno .cd-polaroid { position:relative; display:block; padding:16px 16px 0; background:#fffefb; border-radius:4px; box-shadow:0 1px 3px #1f2a5c33,0 26px 36px -24px #1f2a5c8c; transition:transform .22s ease,box-shadow .22s ease; }
.lo--caderno .cd-polaroid:nth-child(1) { transform:rotate(-2.2deg); }
.lo--caderno .cd-polaroid:nth-child(2) { transform:rotate(1.4deg) translateY(18px); }
.lo--caderno .cd-polaroid:nth-child(3) { transform:rotate(-1.2deg); }
.lo--caderno .cd-polaroid:hover { transform:rotate(0deg) translateY(-8px); box-shadow:0 1px 3px #1f2a5c33,0 36px 40px -26px #1f2a5c99; }
.lo--caderno .cd-polaroid > .cd-tape { z-index:2; top:-16px; left:50%; margin-left:-59px; --cd-tape:#ffdc5ee6; background-image:radial-gradient(#ffffffb0 2.6px,transparent 3px); background-size:13px 13px; transform:rotate(-4deg); }
.lo--caderno .cd-polaroid:nth-child(3) > .cd-tape { --cd-tape:#84d275d9; background-image:repeating-linear-gradient(-45deg,#ffffff70 0 5px,transparent 5px 12px); background-size:auto; transform:rotate(5deg); }
.lo--caderno .cd-polaroid-clip { position:absolute; z-index:2; top:-30px; right:40px; width:28px; height:70px; transform:rotate(8deg); }
.lo--caderno .cd-polaroid-photo { height:280px; overflow:hidden; background:var(--cd-paper); border-radius:2px; box-shadow:inset 0 0 0 1px #1f2a5c26; }
.lo--caderno .cd-polaroid-photo img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.lo--caderno .cd-polaroid:hover .cd-polaroid-photo img { transform:translateY(-16px); }
.lo--caderno .cd-polaroid-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 4px 20px; }
.lo--caderno .cd-polaroid-caption h3 { font-family:var(--cd-hand); font-size:36px; font-weight:700; font-variation-settings:normal; line-height:1.05; letter-spacing:0; color:var(--cd-bluepen); }
.lo--caderno .cd-polaroid-caption p { margin-top:3px; font-size:15.5px; line-height:1.45; color:var(--cd-ink-soft); }
.lo--caderno .cd-polaroid-go { display:grid; place-items:center; flex:none; width:46px; height:46px; color:var(--cd-ink); background:var(--cd-hl-yellow); border:2px solid var(--cd-ink); border-radius:50% 44% 54% 46%/46% 54% 44% 52%; transition:transform .2s ease,background-color .2s; }
.lo--caderno .cd-polaroid:hover .cd-polaroid-go { background:var(--cd-hl-pink); transform:rotate(-40deg) scale(1.06); }

/* ── 6 · Planos: fichas de índice ────────────────────────────────── */
.lo--caderno .cd-pricing { --cd-prev:#fde4ec; background-color:#e9f4e2; background-image:linear-gradient(#1f2a5c10 1px,transparent 1px),linear-gradient(90deg,#1f2a5c10 1px,transparent 1px); background-size:28px 28px; }
.lo--caderno .cd-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:30px; }
.lo--caderno .cd-plan { --cd-accent:var(--cd-hl-green); position:relative; display:flex; flex-direction:column; padding:44px 30px 32px; background:#fffef9; border-radius:6px; box-shadow:0 1px 2px #1f2a5c33,0 24px 34px -24px #1f2a5c80; }
.lo--caderno .cd-plan::after { content:''; position:absolute; top:14px; left:50%; width:16px; height:16px; margin-left:-8px; background:#e9f4e2; border-radius:50%; box-shadow:inset 0 2px 2px #1f2a5c59; }
.lo--caderno .cd-plan:nth-child(1) { transform:rotate(-.6deg); }
.lo--caderno .cd-plan:nth-child(3) { --cd-accent:var(--cd-hl-pink); transform:rotate(.5deg); }
.lo--caderno .cd-plan h3 { font-size:30px; line-height:1.1; }
.lo--caderno .cd-plan-description { min-height:3.1em; margin-top:10px; font-size:16px; line-height:1.55; color:var(--cd-ink-soft); }
.lo--caderno .cd-price { display:flex; align-items:baseline; gap:6px; margin-top:22px; }
.lo--caderno .cd-price strong { font-family:var(--cd-display); font-size:clamp(44px,4.2vw,58px); font-weight:700; font-variation-settings:'SOFT' 100; line-height:1; letter-spacing:-.04em; }
.lo--caderno .cd-price > span { font-family:var(--cd-hand); font-size:28px; font-weight:600; color:var(--cd-ink-soft); }
.lo--caderno .cd-credits { position:relative; isolation:isolate; display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:16px; padding:4px 10px; font-size:15.5px; font-weight:800; line-height:1.3; }
.lo--caderno .cd-credits::before { content:''; position:absolute; z-index:-1; inset:1px -4px; background:var(--cd-accent); border-radius:1em .4em 1.2em .5em/.6em 1.2em .4em 1em; transform:skewX(-9deg) rotate(-.8deg); filter:url(#cd-marker); }
.lo--caderno .cd-plan ul { flex:1; margin:26px -30px 30px; padding:3px 30px 0; border-top:2px solid #f08fa3; background-image:repeating-linear-gradient(transparent 0,transparent 35px,var(--cd-rule) 35px,var(--cd-rule) 36px); background-position:0 0; }
.lo--caderno .cd-plan li { display:flex; align-items:flex-start; gap:12px; font-size:15.5px; font-weight:600; line-height:36px; }
.lo--caderno .cd-plan li > span { display:block; padding-block:7px; line-height:22px; }
.lo--caderno .cd-plan-check { flex:none; width:22px; height:17px; margin-top:9px; color:var(--cd-green); stroke-width:3.2px; }
.lo--caderno .cd-plan .cd-btn { width:calc(100% - 8px); margin-inline:auto; }
.lo--caderno .cd-plan--featured { --cd-accent:var(--cd-hl-yellow); z-index:1; padding-top:52px; box-shadow:0 0 0 3px var(--cd-pen),0 1px 2px #1f2a5c33,0 34px 40px -26px #3b33c099; transform:translateY(-16px); }
.lo--caderno .cd-plan--featured::after { top:26px; }
.lo--caderno .cd-plan-flag { position:absolute; top:-20px; right:22px; display:inline-flex; align-items:center; gap:8px; padding:4px 16px 8px; font-family:var(--cd-hand); font-size:24px; font-weight:700; line-height:1.15; white-space:nowrap; color:#fff; background:var(--cd-pen); border-radius:12px 16px 4px 4px/14px 12px 4px 4px; box-shadow:0 8px 12px -8px #3b33c0cc; transform:rotate(2deg); }
.lo--caderno .cd-pricing-note { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:50px; text-align:center; font-family:var(--cd-hand); font-size:24px; font-weight:600; line-height:1.25; color:var(--cd-ink); }
.lo--caderno .cd-pricing-note .cd-doodle { flex:none; width:20px; height:20px; color:var(--cd-red); stroke-width:3px; }

/* ── 7 · Dúvidas: bloco de anotações amarelo ─────────────────────── */
.lo--caderno .cd-faq { --cd-prev:#e9f4e2; background-image:radial-gradient(#1f2a5c30 1.2px,transparent 1.5px); background-size:24px 24px; }
.lo--caderno .cd-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:76px; align-items:start; }
.lo--caderno .cd-faq-intro { position:relative; }
.lo--caderno .cd-faq-intro h2 { margin-top:16px; }
.lo--caderno .cd-faq-mark { position:relative; display:inline-block; margin:26px 0 0 16px; font-family:var(--cd-hand); font-size:190px; font-weight:700; line-height:.8; color:var(--cd-coral); text-shadow:4px 4px 0 var(--cd-butter); transform:rotate(10deg); }
.lo--caderno .cd-faq-mark .cd-doodle { position:absolute; left:-46px; top:-10px; width:62px; color:var(--cd-ink); stroke-width:3px; }
.lo--caderno .cd-faq-list { position:relative; padding:46px 0 10px; background-color:#fff3b5; background-image:linear-gradient(90deg,transparent 58px,#ee6c69a6 58px,#ee6c69a6 60px,transparent 60px,transparent 64px,#ee6c69a6 64px,#ee6c69a6 66px,transparent 66px); border-radius:6px 6px 14px 14px; box-shadow:0 1px 2px #1f2a5c33,8px 10px 0 -3px #ffe98c,8px 10px 0 -1.5px #1f2a5c33,0 30px 40px -28px #1f2a5c8c; transform:rotate(.5deg); }
.lo--caderno .cd-faq-list::before { content:''; position:absolute; top:0; left:0; right:0; height:30px; background-color:var(--cd-coral); background-image:repeating-linear-gradient(90deg,transparent 0,transparent 8px,#ffffff80 8px,#ffffff80 14px); background-size:100% 3px; background-position:0 100%; background-repeat:no-repeat; border-radius:6px 6px 0 0; box-shadow:inset 0 -5px 0 #e2603f; }
.lo--caderno .cd-faq details { border-bottom:1.5px solid #7fb2dd99; }
.lo--caderno .cd-faq details:last-child { border-bottom:0; }
.lo--caderno .cd-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 26px 20px 88px; font-family:var(--cd-display); font-size:22px; font-weight:600; font-variation-settings:'SOFT' 100; line-height:1.25; letter-spacing:-.02em; cursor:pointer; list-style:none; }
.lo--caderno .cd-faq summary::-webkit-details-marker { display:none; }
.lo--caderno .cd-faq summary:hover > span:first-child { text-decoration:underline wavy var(--cd-pen); text-decoration-thickness:1.5px; text-underline-offset:6px; }
.lo--caderno .cd-faq-chevron { display:grid; place-items:center; flex:none; width:40px; height:40px; background:var(--cd-page); border:2px solid var(--cd-ink); border-radius:50% 44% 54% 46%/46% 54% 44% 52%; transition:transform .22s ease,background-color .2s; }
.lo--caderno .cd-faq details[open] .cd-faq-chevron { background:var(--cd-hl-pink); transform:rotate(180deg); }
.lo--caderno .cd-faq details > p { padding:0 30px 26px 88px; max-width:42em; font-size:17px; line-height:1.65; color:#363f6b; }

/* ── 8 · CTA final: a página da próxima aula ─────────────────────── */
.lo--caderno .cd-final { --cd-prev:var(--cd-paper); position:relative; padding:132px 0 120px; color:#fff; background-color:#232c66; background-image:linear-gradient(#ffffff0f 1px,transparent 1px),linear-gradient(90deg,#ffffff0f 1px,transparent 1px); background-size:28px 28px; overflow-x:clip; --cd-focus:#ffdc5e; }
.lo--caderno .cd-final-page { position:relative; width:min(100%,900px); margin-inline:auto; padding:40px 64px 56px 112px; color:var(--cd-ink); background-color:var(--cd-page); background-image:radial-gradient(circle at 46px 20%,#232c66 0,#232c66 10px,transparent 10.6px),radial-gradient(circle at 46px 50%,#232c66 0,#232c66 10px,transparent 10.6px),radial-gradient(circle at 46px 80%,#232c66 0,#232c66 10px,transparent 10.6px),linear-gradient(90deg,transparent 84px,#ee6c69a6 84px,#ee6c69a6 86px,transparent 86px),repeating-linear-gradient(transparent 0,transparent 39px,#bfd5eeb3 39px,#bfd5eeb3 40px); background-position:0 0,0 0,0 0,0 0,0 34px; border-radius:6px 16px 18px 6px; box-shadow:10px 12px 0 -4px #f3ead2,0 40px 60px -30px #000000b3; transform:rotate(-1deg); --cd-focus:#4f46e5; }
.lo--caderno .cd-final-tape-a { top:-15px; left:42%; width:136px; transform:rotate(-3deg); }
.lo--caderno .cd-final-label { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-bottom:6px; font-family:var(--cd-hand); font-size:30px; font-weight:700; line-height:1.2; color:var(--cd-bluepen); border-bottom:2px solid var(--cd-ink); }
.lo--caderno .cd-final-label span:last-child { font-size:24px; font-weight:600; color:var(--cd-graphite); }
.lo--caderno .cd-final h2 { position:relative; max-width:13.5em; margin-top:36px; font-size:clamp(36px,5vw,68px); line-height:1.08; }
.lo--caderno .cd-final-heart { display:inline-block; width:.62em; height:.58em; margin-left:.22em; vertical-align:baseline; color:var(--cd-ink); --cd-fill:var(--cd-coral); stroke-width:2.4px; transform:rotate(12deg); }
.lo--caderno .cd-final-lead { margin-top:24px; font-size:21px; line-height:1.5; color:var(--cd-ink-soft); }
.lo--caderno .cd-final-action { display:flex; align-items:center; flex-wrap:wrap; gap:14px 26px; margin-top:34px; }
.lo--caderno .cd-final-hint { display:inline-flex; align-items:center; gap:8px; font-family:var(--cd-hand); font-size:28px; font-weight:600; line-height:1; color:var(--cd-bluepen); transform:rotate(-3deg); }
.lo--caderno .cd-final-hint .cd-doodle { width:58px; color:var(--cd-ink); stroke-width:2.4px; transform:rotate(168deg) scaleY(-1); }
.lo--caderno .cd-final-caption { display:block; margin-top:26px; font-size:15.5px; font-weight:700; color:var(--cd-ink-soft); }
.lo--caderno .cd-final-star { position:absolute; top:80px; left:6%; width:80px; color:#fff; --cd-fill:var(--cd-butter); stroke-width:2.4px; transform:rotate(-12deg); }
.lo--caderno .cd-final-swirl { position:absolute; bottom:70px; right:5%; width:100px; color:var(--cd-pink); stroke-width:3.5px; }
.lo--caderno .cd-final-asterisk { position:absolute; bottom:110px; left:8%; width:48px; color:var(--cd-sky); stroke-width:4.5px; }
.lo--caderno .cd-final-plane { position:absolute; top:70px; right:6%; width:150px; color:#fff; stroke-width:2.4px; transform:rotate(-6deg); }

/* ── Rodapé ──────────────────────────────────────────────────────── */
.lo--caderno .cd-footer { padding:44px 0 132px; color:#f4eeda; background:#232c66; border-top:2px dashed #ffffff40; --cd-focus:#ffdc5e; }
.lo--caderno .cd-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.lo--caderno .cd-footer .cd-logo { color:#fff; }
.lo--caderno .cd-footer .cd-logo-line { color:var(--cd-butter); }
.lo--caderno .cd-footer-brand p { margin-top:12px; font-family:var(--cd-hand); font-size:24px; font-weight:600; line-height:1.2; color:#f4eeda; }
.lo--caderno .cd-footer nav { display:flex; flex-wrap:wrap; gap:8px 28px; font-size:16px; font-weight:700; }
.lo--caderno .cd-footer nav a { padding:6px 0; text-decoration:underline wavy transparent; text-decoration-thickness:1.5px; text-underline-offset:7px; transition:text-decoration-color .15s,color .15s; }
.lo--caderno .cd-footer nav a:hover { color:var(--cd-butter); text-decoration-color:var(--cd-butter); }
.lo--caderno .cd-footer small { font-size:14.5px; color:#e6e1f5; }

/* ── Micro-animações (só com movimento permitido) ────────────────── */
@media (prefers-reduced-motion:no-preference) {
  .lo--caderno .cd-nb-aha { animation:cd-wiggle 4.5s ease-in-out infinite; }
  .lo--caderno .cd-nb-plane, .lo--caderno .cd-final-plane { animation:cd-float 7s ease-in-out infinite; }
  .lo--caderno .cd-nb-star, .lo--caderno .cd-final-star, .lo--caderno .cd-kicker-star { animation:cd-twinkle 5s ease-in-out infinite; }
  .lo--caderno .cd-nb-card { animation:cd-sway 8s ease-in-out infinite; }
  .lo--caderno .cd-live-dot { animation:cd-pulse 1.8s ease-in-out infinite; }
  .lo--caderno .cd-flashcard[aria-pressed=true] { animation:cd-flip-a .34s ease; }
  .lo--caderno .cd-flashcard[aria-pressed=false] { animation:cd-flip-b .34s ease; }
  .lo--caderno .nv-answer[data-result]::after { animation:cd-stamp-in .32s cubic-bezier(.3,1.6,.6,1) both; }
  .lo--caderno .cd-blank[data-result=correct] { animation:cd-pop .35s ease; }
  .lo--caderno .nv-answer[data-result=incorrect], .lo--caderno .cd-blank[data-result=incorrect] { animation:cd-shake .35s ease; }
  .lo--caderno .cd-blank[data-word]:not([data-result]) { animation:cd-write .3s ease; }
}
@keyframes cd-wiggle { 0%,100% { rotate:0deg; } 50% { rotate:-5deg; } }
@keyframes cd-float { 0%,100% { translate:0 0; } 50% { translate:6px -9px; } }
@keyframes cd-twinkle { 0%,100% { scale:1; rotate:0deg; } 50% { scale:1.12; rotate:12deg; } }
@keyframes cd-sway { 0%,100% { rotate:0deg; } 50% { rotate:-2deg; } }
@keyframes cd-pulse { 0%,100% { scale:1; } 50% { scale:1.3; } }
@keyframes cd-flip-a { 0% { scale:1 1; } 50% { scale:.04 1; } 100% { scale:1 1; } }
@keyframes cd-flip-b { 0% { scale:1 1; } 50% { scale:.04 1; } 100% { scale:1 1; } }
@keyframes cd-stamp-in { 0% { opacity:0; scale:2.2; } 100% { opacity:1; scale:1; } }
@keyframes cd-pop { 0% { scale:1; } 50% { scale:1.06; } 100% { scale:1; } }
@keyframes cd-shake { 0%,100% { translate:0 0; } 25% { translate:-5px 0; } 75% { translate:5px 0; } }
@keyframes cd-write { 0% { clip-path:inset(0 100% 0 0); } 100% { clip-path:inset(0 0 0 0); } }
@media (prefers-reduced-motion:reduce) {
  .lo--caderno .cd-root *, .lo--caderno .cd-root *::before, .lo--caderno .cd-root *::after { transition:none !important; animation:none !important; }
}

/* ── Responsivo ──────────────────────────────────────────────────── */
@media (max-width:1100px) {
  .lo--caderno .cd-nav-links { gap:0; font-size:14.5px; }
  .lo--caderno .cd-nav-links a { padding:8px 9px; }
  .lo--caderno .cd-hero-grid { gap:36px; }
  .lo--caderno .cd-actions { gap:14px; }
  .lo--caderno .cd-actions .cd-btn { padding-inline:18px; font-size:15px; }
  .lo--caderno .cd-feature-grid, .lo--caderno .cd-plans { gap:22px; }
  .lo--caderno .cd-polaroids { gap:24px; }
  .lo--caderno .cd-feature { padding:38px 24px 26px; }
  .lo--caderno .cd-plan { padding-inline:24px; }
  .lo--caderno .cd-plan ul { margin-inline:-24px; padding-inline:24px; }
  .lo--caderno .cd-tab small { display:none; }
  .lo--caderno .cd-tabs { padding-right:24px; }
  .lo--caderno .cd-polaroid-photo { height:230px; }
  .lo--caderno .cd-faq-grid { gap:44px; }
  .lo--caderno .cd-quiz-columns { gap:32px; }
}
@media (max-width:920px) {
  .lo--caderno .cd-nav-links { display:none; }
  .lo--caderno .cd-hero { padding:48px 0 88px; }
  .lo--caderno .cd-hero-grid { grid-template-columns:minmax(0,1fr); gap:64px; }
  .lo--caderno .cd-hero-copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
  .lo--caderno .cd-hero-copy .cd-kicker { transform-origin:center; }
  .lo--caderno .cd-actions { justify-content:center; }
  .lo--caderno .cd-notebook { max-width:480px; }
  .lo--caderno .cd-root h1 { font-size:clamp(42px,9vw,76px); }
  .lo--caderno .cd-demo { padding:92px 0 116px; }
  .lo--caderno .cd-demo-heading, .lo--caderno .cd-heading { grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; margin-bottom:48px; }
  .lo--caderno .cd-demo-hint { display:none; }
  .lo--caderno .cd-section { padding:100px 0 96px; }
  .lo--caderno .cd-features { padding-top:128px; }
  .lo--caderno .cd-feature-grid, .lo--caderno .cd-plans { grid-template-columns:minmax(0,1fr); gap:44px; max-width:560px; margin-inline:auto; }
  .lo--caderno .cd-feature:nth-child(n) { transform:rotate(-.5deg); }
  .lo--caderno .cd-feature:nth-child(even) { transform:rotate(.5deg); }
  .lo--caderno .cd-feature:hover { transform:translateY(-4px); }
  .lo--caderno .cd-plan--featured { transform:none; }
  .lo--caderno .cd-plan-description { min-height:0; }
  .lo--caderno .cd-benefits ul { flex-direction:column; align-items:flex-start; gap:14px; padding-block:26px; }
  .lo--caderno .cd-faq-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .lo--caderno .cd-faq-mark { position:absolute; right:12px; top:-24px; margin:0; font-size:120px; }
  .lo--caderno .cd-faq-mark .cd-doodle { left:-34px; width:44px; }
  .lo--caderno .cd-quiz-columns { grid-template-columns:minmax(0,1fr); gap:34px; }
  .lo--caderno .cd-tab-icon { display:none; }
  .lo--caderno .cd-lesson { grid-template-columns:minmax(0,1fr); }
  .lo--caderno .cd-lesson strong { white-space:nowrap; }
  .lo--caderno .cd-exercise { min-height:0; }
  .lo--caderno .cd-footer-inner { flex-direction:column; align-items:flex-start; gap:24px; }
  .lo--caderno .cd-final-page { padding:36px 44px 48px 96px; }
  .lo--caderno .cd-final-plane { width:110px; top:40px; }
  .lo--caderno .cd-final-star { width:60px; top:44px; }
}
@media (min-width:641px) and (max-width:920px) {
  .lo--caderno .cd-polaroids { gap:18px; }
  .lo--caderno .cd-polaroid { padding:10px 10px 0; }
  .lo--caderno .cd-polaroid-photo { height:180px; }
  .lo--caderno .cd-polaroid-caption { padding:10px 2px 14px; }
  .lo--caderno .cd-polaroid-caption h3 { font-size:29px; }
  .lo--caderno .cd-polaroid-caption p { font-size:14.5px; }
  .lo--caderno .cd-polaroid-go { display:none; }
  .lo--caderno .cd-polaroid > .cd-tape { width:88px; margin-left:-44px; height:26px; }
}
@media (max-width:640px) {
  .lo--caderno .cd-root { font-size:16px; }
  .lo--caderno .cd-wrap { width:calc(100% - 32px); }
  .lo--caderno .cd-nav-inner { min-height:62px; gap:10px; }
  .lo--caderno .cd-logo { font-size:28px; }
  .lo--caderno .cd-nav-actions { gap:16px; }
  .lo--caderno .cd-nav-login { font-size:14.5px; }
  .lo--caderno .cd-only-wide { display:none; }
  .lo--caderno .cd-only-narrow { display:inline; }
  .lo--caderno .cd-btn--small { padding:8px 14px; font-size:14.5px; }
  .lo--caderno .cd-root main > section[id] { scroll-margin-top:66px; }
  .lo--caderno .cd-hero { padding:36px 0 76px; background-size:22px 22px; }
  .lo--caderno .cd-root h1 { font-size:clamp(38px,11.4vw,58px); line-height:1.07; }
  .lo--caderno .cd-root h2 { font-size:clamp(31px,8.8vw,42px); }
  .lo--caderno .cd-kicker { font-size:23px; }
  .lo--caderno .cd-hero h1 { margin-top:18px; }
  .lo--caderno .cd-lead { margin-top:22px; }
  .lo--caderno .cd-actions { flex-direction:column; align-items:stretch; width:100%; gap:18px; margin-top:32px; padding-inline:6px; }
  .lo--caderno .cd-caption { font-size:23px; }
  .lo--caderno .cd-hero-grid { gap:52px; }
  .lo--caderno .cd-notebook { width:calc(100% - 12px); }

  .lo--caderno .cd-demo { padding:76px 0 100px; background-size:24px 24px; }
  .lo--caderno .cd-demo-heading { margin-bottom:36px; }
  .lo--caderno .cd-demo-aside > p { font-size:17px; }
  .lo--caderno .cd-tabs { gap:4px; padding:0 8px 0 30px; }
  .lo--caderno .cd-tab { flex-direction:column; align-items:center; justify-content:flex-start; gap:4px; padding:9px 4px 10px; text-align:center; border-radius:12px 14px 0 0/14px 12px 0 0; }
  .lo--caderno .cd-tab[aria-selected=true] { padding-bottom:14px; box-shadow:inset 0 5px 0 var(--cd-tab); }
  .lo--caderno .cd-tab-number { display:none; }
  .lo--caderno .cd-tab-icon { display:grid; order:-1; }
  .lo--caderno .cd-tab strong { font-size:13.5px; line-height:1.15; letter-spacing:-.02em; }
  .lo--caderno .cd-sheet { padding:18px 14px 4px 36px; background-image:linear-gradient(90deg,transparent 27px,#ee6c6999 27px,#ee6c6999 28.5px,transparent 28.5px); border-radius:6px 16px 18px 6px; }
  .lo--caderno .cd-sheet-rings { left:-11px; top:24px; bottom:24px; width:34px; background-image:radial-gradient(circle at 5px 17px,#8d93b0 0,#8d93b0 3.5px,transparent 4px),linear-gradient(transparent 13px,#4d5375 13px,#4d5375 14.5px,#f1f2f8 14.5px,#f1f2f8 16.5px,#9aa0bb 16.5px,#9aa0bb 19.5px,#4d5375 19.5px,#4d5375 21px,transparent 21px),radial-gradient(circle at 25px 17px,#b9d0e3 0,#b9d0e3 5px,#1f2a5c 5px,#1f2a5c 6.5px,transparent 7px); background-size:100% 34px,20px 34px,100% 34px; background-position:0 0,5px 0,0 0; }
  .lo--caderno .cd-sheet-head { flex-direction:column-reverse; align-items:flex-start; gap:10px; padding-bottom:12px; }
  .lo--caderno .cd-sheet-stamp { margin:0; font-size:10.5px; padding:5px 10px; }
  .lo--caderno .cd-lesson { grid-template-columns:minmax(0,1fr); }
  .lo--caderno .cd-lesson strong { font-size:36px; }
  .lo--caderno .cd-stage-bar { flex-wrap:wrap; gap:10px; }
  .lo--caderno .cd-stage-label { display:none; }
  .lo--caderno .cd-role-switch { margin-left:0; }
  .lo--caderno .cd-role-switch button { min-height:36px; padding-inline:11px; font-size:14px; }
  .lo--caderno .cd-restart { min-height:42px; margin-left:auto; padding-inline:11px; font-size:14px; }
  .lo--caderno .cd-exercise { padding:22px 0 18px; }
  .lo--caderno .cd-exercise-heading { align-items:flex-start; gap:10px; }
  .lo--caderno .cd-exercise-symbol { width:46px; height:42px; }
  .lo--caderno .cd-exercise-symbol .inline-block { width:22px !important; height:22px !important; }
  .lo--caderno .cd-exercise-heading h3 { font-size:21px; }
  .lo--caderno .cd-exercise-heading p { font-size:15px; }
  .lo--caderno .cd-level { width:46px; height:42px; font-size:25px; }
  .lo--caderno .cd-quiz-columns { margin-top:30px; gap:30px; }
  .lo--caderno .cd-reading { padding:30px 16px 14px 18px; }
  .lo--caderno .cd-reading h4 { font-size:27px; }
  .lo--caderno .cd-reading > p { font-size:15.5px; }
  .lo--caderno .cd-question h4 { font-size:22px; }
  .lo--caderno .nv-answer { gap:12px; min-height:58px; padding:8px 40px 8px 6px; font-size:15.5px; }
  .lo--caderno .nv-answer::after { right:2px; font-size:40px; }
  .lo--caderno .nv-answer[data-result=incorrect]::after { font-size:31px; }
  .lo--caderno .nv-answer-letter { width:34px; height:34px; font-size:24px; }
  .lo--caderno .cd-feedback { font-size:22px; }
  .lo--caderno .cd-quiz-actions { justify-content:stretch; padding-right:6px; padding-left:4px; }
  .lo--caderno .cd-quiz-actions .cd-btn { width:100%; }
  .lo--caderno .cd-word-bank { flex-direction:column; align-items:flex-start; gap:12px; margin:24px 0 18px; padding:14px 14px 18px; }
  .lo--caderno .cd-word-bank > div { gap:12px 10px; }
  .lo--caderno .cd-word { padding-inline:14px; font-size:25px; }
  .lo--caderno .cd-gap-text p { gap:8px; font-size:17px; line-height:2.75; }
  .lo--caderno .cd-line-number { width:20px; font-size:26px; }
  .lo--caderno .cd-blank { min-width:132px; padding-inline:6px; font-size:13px; }
  .lo--caderno .cd-blank[data-word] { font-size:27px; }
  .lo--caderno .cd-gap-footer { flex-direction:column; align-items:stretch; gap:16px; padding-inline:4px 6px; }
  .lo--caderno .cd-flashcard-wrap { margin-top:34px; }
  .lo--caderno .cd-flashcard { min-height:270px; }
  .lo--caderno .cd-flashcard strong { padding-inline:12px; }
  .lo--caderno .cd-flashcard em { padding-inline:14px; font-size:25px; }
  .lo--caderno .cd-flashcard-clip { left:20px; }
  .lo--caderno .cd-teacher-note { padding:12px 16px 14px; gap:10px; border-radius:18px 24px 16px 26px/24px 16px 26px 18px; }
  .lo--caderno .cd-teacher-note-icon { display:none; }
  .lo--caderno .cd-word-bank { border-radius:18px 24px 16px 26px/24px 16px 26px 18px; }
  .lo--caderno .cd-sheet-footer { flex-direction:column; align-items:flex-start; gap:6px; }

  .lo--caderno .cd-benefits { margin-block:-40px; }
  .lo--caderno .cd-benefits ul { width:calc(100% - 60px); }
  .lo--caderno .cd-section { padding:88px 0 84px; }
  .lo--caderno .cd-features { padding-top:116px; }
  .lo--caderno .cd-heading { margin-bottom:44px; }
  .lo--caderno .cd-heading > p:not(.cd-kicker) { font-size:17.5px; }
  .lo--caderno .cd-feature { padding:36px 22px 24px; }
  .lo--caderno .cd-polaroids { grid-template-columns:minmax(0,1fr); gap:52px; max-width:440px; margin-inline:auto; }
  .lo--caderno .cd-polaroid:nth-child(2) { transform:rotate(1.4deg); }
  .lo--caderno .cd-polaroid-photo { height:260px; }
  .lo--caderno .cd-pages-heart { width:52px; top:40px; right:5%; }
  .lo--caderno .cd-plan { padding:42px 22px 28px; }
  .lo--caderno .cd-plan ul { margin-inline:-22px; padding-inline:22px; }
  .lo--caderno .cd-plan-flag { right:14px; font-size:22px; }
  .lo--caderno .cd-pricing-note { align-items:flex-start; font-size:22px; }
  .lo--caderno .cd-pricing-note .cd-doodle { margin-top:5px; }
  .lo--caderno .cd-faq-mark { font-size:92px; top:-12px; right:6px; }
  .lo--caderno .cd-faq-list { background-image:linear-gradient(90deg,transparent 22px,#ee6c69a6 22px,#ee6c69a6 23.5px,transparent 23.5px,transparent 26px,#ee6c69a6 26px,#ee6c69a6 27.5px,transparent 27.5px); }
  .lo--caderno .cd-faq summary { padding:18px 14px 18px 40px; font-size:19.5px; gap:12px; }
  .lo--caderno .cd-faq details > p { padding:0 18px 22px 40px; font-size:16.5px; }
  .lo--caderno .cd-faq-chevron { width:36px; height:36px; }
  .lo--caderno .cd-final { padding:104px 0 88px; }
  .lo--caderno .cd-final-page { padding:30px 20px 40px 44px; background-image:linear-gradient(90deg,transparent 28px,#ee6c69a6 28px,#ee6c69a6 29.5px,transparent 29.5px),repeating-linear-gradient(transparent 0,transparent 39px,#bfd5eeb3 39px,#bfd5eeb3 40px); background-position:0 0,0 34px; }
  .lo--caderno .cd-final-label { font-size:26px; }
  .lo--caderno .cd-final-label span:last-child { font-size:21px; }
  .lo--caderno .cd-final h2 { margin-top:28px; font-size:clamp(33px,9.6vw,46px); }
  .lo--caderno .cd-final-lead { font-size:18.5px; }
  .lo--caderno .cd-final-action .cd-btn { width:calc(100% - 12px); margin-inline:auto; padding-inline:16px; }
  .lo--caderno .cd-final-hint { display:none; }
  .lo--caderno .cd-final-tape-a { left:36%; width:104px; }
  .lo--caderno .cd-final-plane { width:84px; top:26px; right:4%; }
  .lo--caderno .cd-final-star { width:44px; top:34px; left:5%; }
  .lo--caderno .cd-final-swirl, .lo--caderno .cd-final-asterisk { display:none; }
  .lo--caderno .cd-footer { padding:40px 0 136px; }
}
@media (max-width:420px) {
  .lo--caderno .cd-exercise-symbol { display:none; }
}
@media (max-width:360px) {
  .lo--caderno .cd-question-meta { font-size:11px; letter-spacing:.04em; }
  .lo--caderno .cd-reading-foot span:first-child { display:none; }
  .lo--caderno .cd-tab strong { font-size:12.5px; }
  .lo--caderno .cd-tabs { padding-left:24px; padding-right:6px; }
  .lo--caderno .cd-blank { min-width:118px; }
}
/* Isolated design previews. All selectors are scoped to .lp. */
.lp { --paper:#f6f4ed; --surface:#fffefa; --ink:#263d32; --muted:#6c7266; --accent:#ad4c35; --line:#dcded2; --soft:#e8ebdf; --button:#294b3b; margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
.lp *, .lp *::before, .lp *::after { box-sizing:border-box; }
.lp :where(h1,h2,h3,p) { margin:0; }
.lp a { color:inherit; text-decoration:none; }
.lp button, .lp input { font:inherit; }
.lp button, .lp summary, .lp label { -webkit-tap-highlight-color:transparent; }
.lp button, .lp a, .lp summary { touch-action:manipulation; }
.lp a:focus-visible, .lp button:focus-visible, .lp summary:focus-visible, .lp input:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.lp ::selection { background:var(--accent); color:white; }
.lp section[id] { scroll-margin-top:30px; }
.lp .lp-wrap { width:min(1240px,calc(100% - 112px)); margin-inline:auto; }
.lp .lp-skip { position:fixed; left:20px; top:-100px; padding:15px; background:var(--surface); z-index:100; }
.lp .lp-skip:focus { top:10px; }
.lp .lp-nav { display:flex; align-items:center; justify-content:space-between; gap:30px; height:106px; border-bottom:1px solid var(--line); }
.lp .lp-brand { display:inline-flex; align-items:center; gap:8px; font-size:35px; letter-spacing:-2px; font-weight:750; }
.lp .lp-brand-mark { display:flex; align-items:center; justify-content:center; width:30px; height:32px; font-size:29px; color:var(--paper); background:var(--ink); border-radius:7px 7px 14px 7px; transform:rotate(-9deg); letter-spacing:-3px; padding-right:3px; }
.lp .lp-brand-dot { margin-left:-7px; color:var(--accent); }
.lp .lp-nav-links, .lp .lp-nav-actions { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:600; }
.lp .lp-nav-links a:hover, .lp .lp-login:hover { color:var(--accent); }
.lp .lp-button { display:inline-flex; justify-content:center; align-items:center; gap:25px; padding:19px 25px; min-height:54px; color:var(--paper); background:var(--button); border:1px solid var(--button); border-radius:5px; font-size:13px; font-weight:600; cursor:pointer; transition:transform .2s,background .2s; }
.lp .lp-button:hover { transform:translateY(-2px); filter:brightness(1.13); }
.lp .lp-button > span { font-size:19px; line-height:1; }
.lp .lp-button--small { min-height:43px; padding:12px 19px; }
.lp .lp-button--outline { background:transparent; border-color:var(--line); color:var(--ink); }
.lp .lp-eyebrow { display:flex; align-items:center; gap:9px; font-size:10px; font-weight:700; line-height:1.7; letter-spacing:1.6px; }
.lp .lp-status-dot { display:inline-block; flex-shrink:0; height:6px; width:6px; border-radius:100%; background:var(--accent); }
.lp h1 { font-size:clamp(58px,5.9vw,86px); font-weight:400; line-height:1.025; letter-spacing:-3.8px; }
.lp h2 { font-size:46px; line-height:1.12; letter-spacing:-1.7px; font-weight:400; }
.lp--editorial :where(h1,h2) { font-family:Georgia,'Times New Roman',serif; }
.lp .lp-lead { color:var(--muted); font-size:16px; line-height:1.85; }
.lp .lp-hero-actions { display:flex; align-items:center; gap:25px; margin-top:30px; }
.lp .lp-text-link { display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:600; border-bottom:1px solid var(--line); padding-block:12px; }
.lp .lp-fineprint { color:var(--muted); font-size:10px; line-height:1.6; }
.lp .lp-hero-copy > .lp-fineprint { margin-top:15px; }
.lp .lp-editorial-hero { display:grid; grid-template-columns:1fr 1.04fr; align-items:center; gap:60px; min-height:718px; padding-block:68px 66px; }
.lp .lp-editorial-hero h1 { margin-block:24px; }
.lp .lp-editorial-hero h1 em { color:var(--accent); font-weight:400; }
.lp .lp-hero-copy > .lp-lead { max-width:420px; }
.lp .lp-teacher-note { display:flex; gap:12px; align-items:center; margin-top:39px; }
.lp .lp-teacher-note p { color:var(--muted); font-size:10px; line-height:1.8; }
.lp .lp-teacher-note strong { font-weight:400; }
.lp .lp-note-drawing { font-size:38px; color:var(--accent); }
.lp .lp-desk { position:relative; min-width:0; height:566px; }
.lp .lp-desk-orbit { position:absolute; top:50px; left:-15px; right:-15px; bottom:10px; border-radius:50%; background:#e8eadd; }
.lp .lp-handwritten { position:absolute; top:0; right:10px; color:var(--accent); font:italic 22px Georgia,serif; transform:rotate(7deg); }
.lp .lp-handwritten > span { display:inline-block; font-size:40px; vertical-align:middle; transform:rotate(15deg); }
.lp .lp-source-note { position:absolute; z-index:2; top:33px; left:0; background:#eaca85; padding:23px; width:240px; height:177px; transform:rotate(-8deg); box-shadow:0 8px 22px #263d3210; }
.lp .lp-mini-label { display:block; font-size:8px; font-weight:700; letter-spacing:1.5px; line-height:1.5; }
.lp .lp-source-note strong { display:block; margin:12px 0; font:italic 25px/1.1 Georgia,serif; }
.lp .lp-source-note > span:last-of-type { font-size:8px; }
.lp .lp-source-note i { position:absolute; right:17px; bottom:30px; font-size:40px; font-style:normal; color:#9e4b33; }
.lp .lp-worksheet { position:absolute; top:123px; right:8px; background:#fffefa; color:#263d32; width:385px; padding:24px; box-shadow:0 18px 40px #23362c17; transform:rotate(5deg); border:1px solid #e5e6dd; border-radius:4px; z-index:3; }
.lp .lp-sheet-top { display:flex; align-items:center; gap:8px; font-size:7px; font-weight:bold; letter-spacing:.7px; }
.lp .lp-sheet-icon { font-size:21px; }
.lp .lp-pill { display:inline-flex; align-items:center; padding:6px 8px; border:1px solid var(--line); border-radius:4px; font-size:8px; font-weight:600; letter-spacing:.5px; white-space:nowrap; }
.lp .lp-sheet-top .lp-pill { margin-left:auto; color:#67745d; }
.lp .lp-worksheet h2 { font-size:32px; margin:14px 0 4px; letter-spacing:-1px; }
.lp .lp-worksheet > p { font-size:9px; color:#7b7c71; }
.lp .lp-postcard { position:relative; height:119px; margin-top:17px; background:#dae5d9; overflow:hidden; border-radius:3px; }
.lp .lp-postcard-sun { position:absolute; width:54px; height:54px; background:#edb661; border-radius:50%; top:13px; right:60px; }
.lp .lp-postcard-hill { position:absolute; background:#4a6754; height:150px; width:370px; border-radius:50%; right:-80px; bottom:-114px; transform:rotate(-12deg); }
.lp .lp-postcard-hill--back { background:#81937c; bottom:-85px; right:-120px; transform:rotate(15deg); }
.lp .lp-postcard > span { position:absolute; left:20px; top:13px; font:33px/.9 Georgia,serif; color:#294939; }
.lp .lp-postcard > b { position:absolute; bottom:12px; right:14px; color:white; font-size:6px; line-height:1.4; letter-spacing:1px; }
.lp .lp-sheet-question { display:flex; gap:10px; margin-block:18px 12px; }
.lp .lp-sheet-question > span { font-size:10px; color:#986449; }
.lp .lp-sheet-question strong { display:block; font-size:10px; }
.lp .lp-sheet-question p { font-size:8px; color:#7b7c71; margin-top:5px; }
.lp .lp-word-tags { display:flex; flex-wrap:wrap; gap:6px; }
.lp .lp-word-tags > span { font-size:8px; padding:5px 8px; border:1px solid #dce0d5; border-radius:4px; color:#61705e; }
.lp .lp-sheet-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:20px; padding-top:13px; border-top:1px solid #e7e7de; font-size:8px; color:#6c7266; }
.lp .lp-sheet-bottom .lp-status-dot { width:4px; height:4px; margin-right:5px; background:#4b8060; }
.lp .lp-class-note { position:absolute; z-index:4; left:-5px; bottom:17px; display:flex; align-items:center; gap:12px; padding:17px 20px; background:#294b3b; border-radius:5px; box-shadow:0 9px 20px #23362c20; color:white; transform:rotate(-4deg); width:330px; }
.lp .lp-class-icon { font-size:25px; color:#dce5c5; }
.lp .lp-class-note strong { display:block; font-size:11px; }
.lp .lp-class-note div > span { display:block; margin-top:5px; color:#b8c8b8; font-size:8px; }
.lp .lp-class-note .lp-check { margin-left:auto; color:#dce5c5; }
.lp .lp-desk-caption { position:absolute; bottom:-14px; right:0; font-size:7px; letter-spacing:1.5px; color:var(--muted); }
.lp .lp-subjects { border-block:1px solid var(--line); }
.lp .lp-subjects > div { display:flex; justify-content:space-between; align-items:center; padding-block:25px; gap:20px; }
.lp .lp-subjects span { font-size:11px; color:var(--muted); }
.lp .lp-subjects p { display:flex; align-items:center; gap:24px; font:17px Georgia,serif; }
.lp .lp-subjects i { color:var(--accent); font-style:normal; font-size:15px; }
.lp .lp-section { padding-block:95px; }
.lp .lp-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:40px; }
.lp .lp-section-heading .lp-eyebrow { margin-bottom:17px; color:var(--accent); }
.lp .lp-section-heading h2 { max-width:650px; }
.lp .lp-section-heading > p { color:var(--muted); font-size:13px; line-height:1.8; flex-shrink:0; }
.lp .lp-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.lp .lp-feature { padding:32px 30px; border-right:1px solid var(--line); }
.lp .lp-feature:first-child { padding-left:0; }
.lp .lp-feature:last-child { padding-right:0; border:0; }
.lp .lp-feature-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:35px; }
.lp .lp-feature-top > span:last-child { font-size:8px; letter-spacing:1.5px; color:var(--muted); }
.lp .lp-feature-icon { font-size:31px; color:var(--accent); }
.lp .lp-feature h3 { font-size:23px; font-weight:500; letter-spacing:-.7px; line-height:1.2; margin-bottom:17px; }
.lp .lp-feature > p { font-size:13px; line-height:1.8; color:var(--muted); max-width:325px; }
.lp .lp-feature > a { display:flex; gap:15px; align-items:center; font-size:11px; font-weight:bold; margin-top:30px; }
.lp .lp-feature > a:hover { color:var(--accent); }
.lp .lp-demo-section { background:var(--soft); padding-block:85px; }
.lp .lp-demo-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.lp .lp-demo-grid h2 { margin-block:18px 24px; font-size:53px; }
.lp .lp-demo-grid .lp-lead { max-width:360px; font-size:14px; }
.lp .lp-steps { list-style:none; padding:0; margin:32px 0 0; }
.lp .lp-steps li { display:flex; gap:17px; margin-top:23px; }
.lp .lp-steps li > span { font-size:11px; color:var(--accent); padding-top:3px; }
.lp .lp-steps strong { display:block; font-size:13px; font-weight:600; }
.lp .lp-steps p { font-size:11px; color:var(--muted); margin-top:7px; line-height:1.5; }
.lp .lp-live-demo { background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:30px; box-shadow:0 12px 30px #243a2d08; }
.lp .lp-demo-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:23px; margin-bottom:23px; border-bottom:1px solid var(--line); }
.lp .lp-demo-header > span:last-child { font-size:10px; color:var(--muted); }
.lp .lp-live-demo > h3 { font:30px/1.15 Georgia,serif; margin-top:13px; }
.lp .lp-live-demo blockquote { margin:20px 0; padding-left:15px; border-left:2px solid var(--accent); color:var(--muted); font-size:12px; line-height:1.9; }
.lp .lp-live-demo fieldset { margin:0; padding:0; border:0; }
.lp .lp-live-demo legend { font-size:12px; font-weight:600; line-height:1.5; margin-bottom:14px; }
.lp .lp-demo-option { display:flex; gap:10px; align-items:center; position:relative; font-size:11px; padding:12px 10px; border:1px solid var(--line); border-radius:5px; margin-bottom:8px; cursor:pointer; line-height:1.5; }
.lp .lp-demo-option > input { position:absolute; opacity:0; width:1px; height:1px; }
.lp .lp-demo-option > span { flex-shrink:0; width:24px; height:24px; border-radius:4px; background:var(--soft); display:grid; place-items:center; font-size:10px; }
.lp .lp-demo-option:has(input:checked) { border-color:var(--accent); background:var(--soft); }
.lp .lp-demo-option:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:2px; }
.lp .lp-demo-controls { display:flex; gap:20px; align-items:center; margin-top:20px; }
.lp .lp-demo-controls .lp-button { font-size:11px; min-height:44px; padding:12px 17px; gap:15px; }
.lp .lp-reset { color:var(--muted); font-size:10px; background:none; border:0; padding:10px 0; cursor:pointer; }
.lp .lp-demo-feedback { min-height:38px; font-size:11px; color:var(--muted); line-height:1.6; margin-top:17px; }
.lp .lp-demo-feedback[data-result=correct] { color:#29703d; }
.lp .lp-demo-feedback[data-result=retry] { color:var(--accent); }
.lp .lp-profile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.lp .lp-profile-image { position:relative; height:265px; background:var(--soft); padding:21px 21px 0; overflow:hidden; border-radius:5px; }
.lp .lp-profile-image img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; border-radius:3px 3px 0 0; box-shadow:0 5px 15px #00000013; transition:transform .3s; }
.lp .lp-profile-card:hover img { transform:translateY(-10px); }
.lp .lp-profile-image > span { display:flex; align-items:center; justify-content:space-between; position:absolute; bottom:15px; right:15px; background:var(--surface); color:var(--ink); padding:12px 16px; border:1px solid var(--line); border-radius:5px; gap:25px; font-size:10px; }
.lp .lp-profile-caption { display:flex; align-items:center; gap:13px; padding-block:19px; border-bottom:1px solid var(--line); }
.lp .lp-profile-caption > span { font-size:10px; color:var(--accent); }
.lp .lp-profile-caption > span:last-child { font-size:22px; margin-left:auto; }
.lp .lp-profile-caption h3 { font-size:15px; font-weight:500; }
.lp .lp-profile-caption p { font-size:10px; color:var(--muted); margin-top:5px; }
.lp .lp-profile-section + .lp-section { padding-top:0; }
.lp .lp-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lp .lp-plan { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:6px; }
.lp .lp-plan-top { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.lp .lp-plan h3 { font-size:16px; font-weight:600; }
.lp .lp-plan > p { min-height:42px; font-size:11px; line-height:1.8; color:var(--muted); margin-top:14px; }
.lp .lp-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-block:25px; }
.lp .lp-price strong { font-size:35px; font-weight:500; letter-spacing:-1.8px; }
.lp .lp-price > span { font-size:10px; color:var(--muted); }
.lp .lp-credit-info { border-block:1px solid var(--line); padding-block:17px; }
.lp .lp-credit-info strong { display:block; font-size:12px; }
.lp .lp-credit-info > span { display:block; font-size:10px; line-height:1.6; color:var(--muted); margin-top:7px; }
.lp .lp-plan ul { flex:1; padding:0; margin:22px 0; list-style:none; }
.lp .lp-plan li { display:flex; align-items:baseline; gap:10px; font-size:11px; line-height:1.6; margin-block:10px; }
.lp .lp-plan li > span { color:var(--accent); }
.lp .lp-plan .lp-button { width:100%; font-size:11px; padding:15px; gap:15px; }
.lp .lp-plan--featured { --ink:#f5f3e9; --muted:#c3cebd; --line:#546c5b; --accent:#ebca93; --button:#edf0d8; background:#294b3b; color:var(--ink); border-color:#294b3b; }
.lp .lp-plan--featured .lp-button { color:#294b3b; }
.lp .lp-pricing-note { text-align:center; font-size:10px; color:var(--muted); margin-top:20px; line-height:1.7; }
.lp .lp-faq { padding-top:0; display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; }
.lp .lp-faq h2 { margin-top:17px; }
.lp .lp-faq details { border-bottom:1px solid var(--line); }
.lp .lp-faq summary { list-style:none; display:flex; justify-content:space-between; gap:25px; padding-block:23px; font-size:13px; font-weight:500; cursor:pointer; line-height:1.6; }
.lp .lp-faq summary::-webkit-details-marker { display:none; }
.lp .lp-faq summary > span { font-size:18px; color:var(--accent); }
.lp .lp-faq details[open] summary > span { transform:rotate(45deg); }
.lp .lp-faq details > p { color:var(--muted); font-size:12px; line-height:1.9; padding-bottom:23px; }
.lp .lp-closing { position:relative; background:var(--soft); text-align:center; border-radius:8px; padding:65px 24px; }
.lp .lp-closing > .lp-eyebrow { justify-content:center; }
.lp .lp-closing-star { display:block; font-size:45px; line-height:1; color:var(--accent); margin-bottom:25px; }
.lp .lp-closing h2 { font-size:51px; max-width:720px; margin:17px auto; }
.lp .lp-closing > p:not(.lp-eyebrow) { color:var(--muted); font-size:13px; line-height:1.8; }
.lp .lp-closing .lp-button { margin-top:28px; }
.lp .lp-closing .lp-fineprint { display:block; margin-top:12px; }
.lp .lp-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:55px 115px; }
.lp .lp-footer p { font-size:10px; color:var(--muted); margin-top:7px; }
.lp .lp-footer nav { display:flex; gap:25px; font-size:11px; }
.lp .lp-footer > span { font-size:10px; color:var(--muted); }
/* Studio uses a distinct centered composition and a dark product canvas. */
.lp--studio { --paper:#171925; --surface:#202331; --ink:#f5f4fc; --muted:#abb0c1; --accent:#c3b2ff; --line:#363a4c; --soft:#1e2130; --button:#c8b5ff; }
.lp--studio .lp-nav { height:94px; }
.lp--studio .lp-brand-mark { background:#c8b5ff; color:#171925; transform:none; border-radius:8px; }
.lp--studio .lp-brand-dot { color:#d4fd9c; }
.lp--studio .lp-button { color:#19162b; border-radius:8px; }
.lp--studio .lp-button--outline { color:var(--ink); }
.lp--studio h1 { font-weight:600; font-size:clamp(56px,6.1vw,88px); letter-spacing:-4.6px; line-height:1.06; }
.lp--studio h2 { font-weight:500; letter-spacing:-2px; }
.lp--studio .lp-studio-hero { text-align:center; padding-top:55px; }
.lp--studio .lp-studio-hero > .lp-eyebrow { justify-content:center; color:#cbc3df; font-size:9px; }
.lp--studio .lp-status-dot { background:#d4fd9c; }
.lp--studio .lp-studio-hero h1 { margin:24px auto; }
.lp--studio .lp-studio-hero h1 > span { color:var(--accent); }
.lp--studio .lp-studio-hero .lp-lead { font-size:15px; line-height:1.8; }
.lp--studio .lp-studio-hero .lp-hero-actions { justify-content:center; margin-top:26px; gap:12px; }
.lp--studio .lp-studio-hero > .lp-fineprint { margin-top:15px; }
.lp--studio .lp-workspace { text-align:left; margin:45px auto 0; border:1px solid #4c465e; border-bottom:0; background:#f8f8fc; color:#252735; border-radius:13px 13px 0 0; padding:0; box-shadow:0 -10px 70px #9d80ff0d; max-width:1100px; overflow:hidden; }
.lp--studio .lp-window-bar { display:flex; justify-content:space-between; align-items:center; height:35px; background:#292b3a; color:#c9c7d4; padding-inline:17px; font-size:7px; letter-spacing:1.5px; }
.lp--studio .lp-window-bar > div { display:flex; gap:5px; }
.lp--studio .lp-window-bar i { width:6px; height:6px; border-radius:50%; background:#5f6171; }
.lp--studio .lp-window-example { letter-spacing:.3px; color:#b9b7c6; }
.lp--studio .lp-workspace-body { display:grid; grid-template-columns:180px 1fr; }
.lp--studio .lp-app-sidebar { background:#eeeff6; border-right:1px solid #e1e2ec; padding:22px 14px; display:flex; flex-direction:column; gap:7px; }
.lp--studio .lp-app-sidebar > .lp-brand { font-size:25px; padding:0 10px 19px; color:#3a3454; }
.lp--studio .lp-app-nav-item { display:flex; gap:10px; align-items:center; padding:12px 10px; font-size:15px; color:#77788a; border-radius:6px; }
.lp--studio .lp-app-nav-item > span { font-size:10px; }
.lp--studio .lp-app-nav-item.is-selected { background:#e1daf4; color:#624b9a; }
.lp--studio .lp-app-user { margin-top:auto; padding-top:30px; display:flex; gap:7px; align-items:center; font-size:9px; }
.lp--studio .lp-app-user > span { width:27px; height:27px; background:#ded6ed; color:#695387; border-radius:50%; display:grid; place-items:center; }
.lp--studio .lp-app-user small { display:block; font-size:7px; color:#76758a; margin-top:4px; }
.lp--studio .lp-app-main { padding:28px 30px 20px; min-width:0; }
.lp--studio .lp-app-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.lp--studio .lp-app-heading .lp-mini-label { font-size:7px; color:#85828f; }
.lp--studio .lp-app-heading h2 { font-size:23px; color:#302e3c; letter-spacing:-.8px; margin-top:7px; }
.lp--studio .lp-app-heading .lp-pill { color:#685489; border-color:#e1d9ef; background:#f1edf8; font-size:7px; }
.lp--studio .lp-app-tools { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:21px; }
.lp--studio .lp-app-tools > div { padding:16px; border:1px solid #e3e2eb; border-radius:8px; background:#fff; }
.lp--studio .lp-app-tools > div > span { display:grid; place-items:center; background:#eee6fc; color:#8264bd; width:28px; height:28px; border-radius:7px; font-size:21px; margin-bottom:11px; }
.lp--studio .lp-app-tools > div:nth-child(2) > span { background:#e4eee0; color:#5f8453; }
.lp--studio .lp-app-tools > div:nth-child(3) > span { background:#fbe9df; color:#b67952; }
.lp--studio .lp-app-tools strong { display:block; font-size:11px; font-weight:500; }
.lp--studio .lp-app-tools small { display:block; font-size:8px; color:#7c7d89; margin-top:6px; }
.lp--studio .lp-app-lesson { display:flex; gap:20px; padding:15px; background:white; border:1px solid #e3e2eb; border-radius:8px; margin-top:17px; align-items:center; }
.lp--studio .lp-app-lesson-art { position:relative; flex-shrink:0; width:143px; height:137px; border-radius:5px; padding:17px 20px; background:#d8c9fc; overflow:hidden; }
.lp--studio .lp-app-lesson-art > span { font-size:29px; line-height:1.05; font-weight:600; letter-spacing:-1.5px; color:#4c357c; }
.lp--studio .lp-app-lesson-art em { font-style:normal; color:#7b5eac; }
.lp--studio .lp-app-lesson-art i { position:absolute; right:6px; top:8px; font-size:38px; font-style:normal; color:#f6ffe9; }
.lp--studio .lp-app-lesson-copy .lp-mini-label { font-size:7px; color:#8c849c; }
.lp--studio .lp-app-lesson-copy h3 { font-size:20px; font-weight:500; letter-spacing:-.5px; margin-top:8px; }
.lp--studio .lp-app-lesson-copy p { font-size:9px; margin-top:7px; color:#777787; }
.lp--studio .lp-app-lesson-copy .lp-word-tags { margin-top:12px; }
.lp--studio .lp-app-lesson-copy .lp-word-tags > span { color:#776786; border-color:#e7e0ee; background:#faf7ff; font-size:7px; }
.lp--studio .lp-app-lesson-status { margin-top:12px; font-size:8px; color:#6b8170; }
.lp--studio .lp-app-lesson-status .lp-status-dot, .lp--studio .lp-app-bottom .lp-status-dot { background:#83a789; width:4px; height:4px; margin-right:4px; }
.lp--studio .lp-app-lesson-arrow { color:#8e829e; margin-left:auto; padding-right:8px; }
.lp--studio .lp-app-bottom { display:flex; justify-content:space-between; font-size:7px; color:#777a88; margin-top:19px; }
.lp--studio .lp-subjects { background:#1e2130; }
.lp--studio .lp-subjects span { font-size:8px; letter-spacing:1px; }
.lp--studio .lp-subjects p { font:13px Arial,sans-serif; }
.lp--studio .lp-feature-grid { border:0; gap:17px; }
.lp--studio .lp-feature, .lp--studio .lp-feature:first-child, .lp--studio .lp-feature:last-child { background:#202331; border:1px solid var(--line); border-radius:11px; padding:28px; }
.lp--studio .lp-feature-icon { background:#3f355b; color:#d4bfff; border-radius:10px; width:48px; height:48px; display:grid; place-items:center; }
.lp--studio .lp-feature:nth-child(2) .lp-feature-icon { color:#d6f3b7; background:#364336; }
.lp--studio .lp-feature:nth-child(3) .lp-feature-icon { color:#f9cbaa; background:#4b3c36; }
.lp--studio .lp-feature h3 { font-size:23px; }
.lp--studio .lp-feature > a { color:#cfbaff; }
.lp--studio .lp-demo-section { border-block:1px solid var(--line); }
.lp--studio .lp-live-demo { background:#272a3b; border-radius:12px; }
.lp--studio .lp-live-demo > h3 { font:500 31px/1.15 Arial,sans-serif; letter-spacing:-1px; }
.lp--studio .lp-demo-feedback[data-result=correct] { color:#c7edb4; }
.lp--studio .lp-profile-image { background:#2c3043; }
.lp--studio .lp-profile-card:nth-child(2) .lp-profile-image { background:#3d344a; }
.lp--studio .lp-profile-card:nth-child(3) .lp-profile-image { background:#303d3a; }
.lp--studio .lp-plan { border-radius:10px; background:#202331; }
.lp--studio .lp-plan--featured { --ink:#f5f4fc; --muted:#c3bdd4; --line:#55496d; --accent:#d7c3ff; --button:#c8b5ff; background:#322944; border-color:#a78cda; }
.lp--studio .lp-plan--featured .lp-button { color:#19162b; }
.lp--studio .lp-closing { background:#c8b5ff; color:#241a3c; border-radius:14px; }
.lp--studio .lp-closing .lp-eyebrow, .lp--studio .lp-closing-star { color:#5b4387; }
.lp--studio .lp-closing > p:not(.lp-eyebrow), .lp--studio .lp-closing .lp-fineprint { color:#594574; }
.lp--studio .lp-closing .lp-button { background:#241a3c; color:#f5f0ff; border-color:#241a3c; }
@media (min-width:1600px) { .lp .lp-editorial-hero { min-height:780px; } }
@media (max-width:1150px) {
  .lp .lp-wrap { width:calc(100% - 64px); }
  .lp .lp-nav-links { gap:20px; font-size:11px; }
  .lp .lp-nav-actions { gap:20px; }
  .lp .lp-editorial-hero { gap:20px; grid-template-columns:1fr 1fr; }
  .lp .lp-editorial-hero h1 { font-size:67px; }
  .lp .lp-hero-actions { gap:15px; }
  .lp .lp-hero-actions .lp-button { padding:17px; gap:12px; font-size:12px; }
  .lp .lp-text-link { font-size:11px; }
  .lp .lp-desk { height:520px; }
  .lp .lp-worksheet { width:340px; right:0; padding:22px; }
  .lp .lp-source-note { width:210px; left:5px; }
  .lp .lp-class-note { width:290px; bottom:0; }
  .lp .lp-desk-caption { bottom:-30px; }
  .lp .lp-subjects p { gap:16px; font-size:14px; }
  .lp .lp-section-heading > p { font-size:11px; }
  .lp .lp-section-heading h2 { font-size:40px; }
  .lp .lp-demo-grid { gap:55px; }
  .lp .lp-profile-image { height:225px; padding:15px 15px 0; }
  .lp .lp-plan { padding:23px; }
  .lp .lp-price strong { font-size:29px; }
  .lp--studio .lp-feature, .lp--studio .lp-feature:first-child, .lp--studio .lp-feature:last-child { padding:22px; }
}
@media (max-width:900px) {
  .lp .lp-wrap { width:calc(100% - 48px); }
  .lp .lp-nav-links { display:none; }
  .lp .lp-editorial-hero { padding-block:50px; grid-template-columns:minmax(0,1fr); gap:40px; }
  .lp .lp-hero-copy { max-width:650px; }
  .lp .lp-editorial-hero h1 { font-size:76px; }
  .lp .lp-hero-copy > .lp-lead { max-width:480px; }
  .lp .lp-desk { width:100%; max-width:520px; height:570px; margin:0 auto 30px; }
  .lp .lp-worksheet { width:385px; top:130px; }
  .lp .lp-class-note { bottom:15px; width:330px; }
  .lp .lp-source-note { width:240px; }
  .lp .lp-subjects > div { flex-direction:column; gap:13px; }
  .lp .lp-section { padding-block:65px; }
  .lp .lp-section-heading { flex-direction:column; align-items:flex-start; gap:20px; }
  .lp .lp-feature { padding:25px 18px; }
  .lp .lp-feature h3 { font-size:20px; }
  .lp .lp-feature > p { font-size:12px; }
  .lp .lp-feature > a { font-size:10px; }
  .lp .lp-demo-grid { gap:35px; }
  .lp .lp-demo-grid h2 { font-size:42px; }
  .lp .lp-live-demo { padding:23px; }
  .lp .lp-demo-controls { gap:12px; flex-wrap:wrap; }
  .lp .lp-profile-grid { gap:15px; }
  .lp .lp-profile-image { height:195px; }
  .lp .lp-pricing-grid { gap:12px; }
  .lp .lp-plan { padding:18px; }
  .lp .lp-price { flex-direction:column; }
  .lp .lp-faq { gap:40px; }
  .lp .lp-footer { flex-wrap:wrap; }
  .lp--studio .lp-workspace-body { grid-template-columns:140px 1fr; }
  .lp--studio .lp-app-sidebar { padding:20px 8px; }
  .lp--studio .lp-app-nav-item { gap:6px; padding:10px 6px; }
  .lp--studio .lp-app-nav-item > span { font-size:8px; }
  .lp--studio .lp-app-main { padding:23px 18px 18px; }
  .lp--studio .lp-app-heading .lp-pill { display:none; }
  .lp--studio .lp-app-tools > div { padding:12px; }
  .lp--studio .lp-app-tools strong { font-size:9px; }
  .lp--studio .lp-app-tools small { font-size:7px; line-height:1.5; }
  .lp--studio .lp-feature, .lp--studio .lp-feature:first-child, .lp--studio .lp-feature:last-child { padding:19px; }
  .lp--studio .lp-feature h3 { font-size:20px; }
}
@media (max-width:650px) {
  .lp .lp-wrap { width:calc(100% - 40px); }
  .lp .lp-nav, .lp--studio .lp-nav { height:80px; gap:15px; }
  .lp .lp-brand { font-size:30px; }
  .lp .lp-brand-mark { width:25px; height:27px; font-size:24px; }
  .lp .lp-nav-actions { gap:15px; font-size:11px; }
  .lp .lp-button--small { font-size:10px; padding:10px 12px; gap:10px; min-height:38px; }
  .lp .lp-eyebrow { font-size:8px; letter-spacing:1.2px; }
  .lp .lp-editorial-hero { padding-block:36px; gap:25px; }
  .lp .lp-editorial-hero h1 { font-size:clamp(52px,16vw,67px); letter-spacing:-3px; margin-block:20px; }
  .lp .lp-lead { font-size:14px; line-height:1.8; }
  .lp .lp-hero-actions { flex-wrap:wrap; gap:12px; margin-top:24px; }
  .lp .lp-hero-actions .lp-button { padding:16px; font-size:12px; }
  .lp .lp-teacher-note { margin-top:25px; }
  .lp .lp-fineprint { font-size:9px; }
  .lp .lp-desk { height:500px; margin-block:5px 25px; }
  .lp .lp-handwritten { font-size:18px; right:10px; }
  .lp .lp-handwritten > span { font-size:30px; }
  .lp .lp-source-note { width:195px; height:158px; top:28px; left:10px; padding:18px; }
  .lp .lp-source-note strong { font-size:22px; }
  .lp .lp-source-note > span:last-of-type { font-size:7px; }
  .lp .lp-source-note i { font-size:27px; }
  .lp .lp-worksheet { width:calc(100% - 25px); max-width:345px; top:133px; right:8px; padding:18px; transform:rotate(3deg); }
  .lp .lp-worksheet h2 { font-size:28px; }
  .lp .lp-postcard { height:95px; }
  .lp .lp-sheet-question { margin-top:14px; }
  .lp .lp-sheet-bottom { margin-top:15px; }
  .lp .lp-class-note { left:0; bottom:-3px; width:280px; padding:15px; }
  .lp .lp-desk-orbit { left:0; right:0; }
  .lp .lp-desk-caption { font-size:6px; bottom:-32px; right:10px; }
  .lp .lp-subjects > div { padding-block:22px; text-align:center; }
  .lp .lp-subjects p { justify-content:center; flex-wrap:wrap; gap:10px 15px; font-size:14px; line-height:1.6; }
  .lp .lp-subjects p i { font-size:10px; }
  .lp .lp-section { padding-block:50px; }
  .lp .lp-section-heading { margin-bottom:28px; }
  .lp .lp-section-heading h2, .lp h2 { font-size:37px; }
  .lp .lp-section-heading > p { font-size:12px; }
  .lp .lp-feature-grid { grid-template-columns:1fr; border-bottom:0; }
  .lp .lp-feature, .lp .lp-feature:first-child, .lp .lp-feature:last-child { padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
  .lp .lp-feature-top { margin-bottom:18px; }
  .lp .lp-feature h3 { font-size:25px; }
  .lp .lp-feature h3 br { display:none; }
  .lp .lp-feature > p { font-size:13px; max-width:none; }
  .lp .lp-feature > a { margin-top:20px; font-size:12px; }
  .lp .lp-demo-section { padding-block:50px; }
  .lp .lp-demo-grid { grid-template-columns:1fr; gap:35px; }
  .lp .lp-demo-grid h2 { font-size:43px; }
  .lp .lp-live-demo { padding:22px; }
  .lp .lp-demo-controls { gap:20px; }
  .lp .lp-demo-option { font-size:11px; }
  .lp .lp-profile-grid { grid-template-columns:1fr; gap:25px; }
  .lp .lp-profile-image { height:320px; padding:24px 24px 0; }
  .lp .lp-profile-caption h3 { font-size:17px; }
  .lp .lp-profile-caption p { font-size:11px; }
  .lp .lp-pricing-grid { grid-template-columns:1fr; gap:18px; }
  .lp .lp-plan { padding:25px; }
  .lp .lp-plan > p { min-height:0; font-size:12px; }
  .lp .lp-price { flex-direction:row; margin-block:23px; }
  .lp .lp-price strong { font-size:37px; }
  .lp .lp-plan h3 { font-size:18px; }
  .lp .lp-plan li { font-size:12px; }
  .lp .lp-plan .lp-button { font-size:12px; }
  .lp .lp-faq { grid-template-columns:1fr; gap:20px; }
  .lp .lp-faq h2 br { display:none; }
  .lp .lp-faq summary { font-size:13px; }
  .lp .lp-closing { padding:40px 23px; }
  .lp .lp-closing h2 { font-size:39px; }
  .lp .lp-closing > p:not(.lp-eyebrow) { font-size:12px; }
  .lp .lp-footer { align-items:flex-start; flex-direction:column; padding-block:40px 105px; gap:25px; }
  .lp .lp-footer nav { gap:20px; }
  .lp--studio .lp-studio-hero { padding-top:38px; }
  .lp--studio h1 { font-size:47px; line-height:1.08; letter-spacing:-2.5px; }
  .lp--studio .lp-studio-hero > .lp-eyebrow { font-size:7px; letter-spacing:.7px; }
  .lp--studio .lp-studio-hero .lp-lead { font-size:13px; }
  .lp .lp-desktop-break { display:none; }
  .lp--studio .lp-studio-hero .lp-hero-actions { gap:10px; flex-direction:column; }
  .lp--studio .lp-studio-hero .lp-hero-actions .lp-button { width:100%; max-width:310px; }
  .lp--studio .lp-workspace { margin-top:33px; }
  .lp--studio .lp-workspace-body { display:block; }
  .lp--studio .lp-app-sidebar { display:none; }
  .lp--studio .lp-window-bar { height:30px; padding-inline:12px; font-size:6px; }
  .lp--studio .lp-window-example { display:none; }
  .lp--studio .lp-app-main { padding:21px 15px 15px; }
  .lp--studio .lp-app-heading h2 { font-size:20px; }
  .lp--studio .lp-app-tools { gap:6px; margin-top:15px; }
  .lp--studio .lp-app-tools > div { padding:10px 7px; }
  .lp--studio .lp-app-tools strong { font-size:8px; line-height:1.4; }
  .lp--studio .lp-app-tools small { display:none; }
  .lp--studio .lp-app-lesson { padding:10px; gap:12px; }
  .lp--studio .lp-app-lesson-art { width:92px; height:112px; padding:17px 10px; }
  .lp--studio .lp-app-lesson-art > span { font-size:23px; }
  .lp--studio .lp-app-lesson-art i { font-size:25px; right:4px; top:2px; }
  .lp--studio .lp-app-lesson-copy h3 { font-size:16px; }
  .lp--studio .lp-app-lesson-copy p { font-size:8px; line-height:1.5; }
  .lp--studio .lp-app-lesson-copy .lp-word-tags { gap:4px; }
  .lp--studio .lp-app-lesson-copy .lp-word-tags > span { font-size:6px; padding:4px; }
  .lp--studio .lp-app-lesson-status { font-size:6px; line-height:1.4; }
  .lp--studio .lp-app-lesson-arrow { display:none; }
  .lp--studio .lp-app-bottom { font-size:6px; gap:12px; line-height:1.5; }
  .lp--studio .lp-feature, .lp--studio .lp-feature:first-child, .lp--studio .lp-feature:last-child { padding:25px; }
  .lp--studio .lp-feature h3 { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) { .lp *, .lp *::before, .lp *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
/* New preview family; the current landing and previews 01/02 remain untouched. */
.nv { --nv-purple:#5040e8; --nv-ink:#202135; --nv-muted:#747487; --nv-line:#e8e7ef; --nv-light:#f7f7fb; margin:0; background:#fff; color:var(--nv-ink); font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
.nv *, .nv *::before, .nv *::after { box-sizing:border-box; }
.nv :where(h1,h2,h3,p) { margin:0; }
.nv a { color:inherit; text-decoration:none; }
.nv button, .nv input { font:inherit; }
.nv button { cursor:pointer; }
.nv button:disabled { cursor:default; }
.nv button, .nv a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.nv button:focus-visible, .nv a:focus-visible, .nv summary:focus-visible, .nv [tabindex]:focus-visible { outline:3px solid #9581f5; outline-offset:4px; }
.nv [hidden] { display:none!important; }
.nv svg { width:100%; height:100%; display:block; }
.nv .nv-wrap { width:min(1192px,calc(100% - 100px)); margin-inline:auto; }
.nv .nv-skip { position:fixed; top:-100px; left:20px; padding:14px 18px; background:white; z-index:50; }
.nv .nv-skip:focus { top:15px; }
.nv section[id] { scroll-margin-top:30px; }
.nv .nv-nav { background:#ffffffd9; border-bottom:1px solid #f0eff5; }
.nv .nv-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; height:90px; }
.nv .nv-logo { display:inline-flex; font-size:29px; font-weight:800; letter-spacing:-1.5px; line-height:1.1; isolation:isolate; }
.nv .nv-logo > span { position:relative; }
.nv .nv-logo > span::before { content:''; position:absolute; inset:3px -5px 0; background:#ddc5fa; transform:rotate(-3deg); z-index:-1; }
.nv .nv-nav nav { display:flex; gap:30px; font-size:12px; font-weight:500; color:#656579; }
.nv .nv-nav nav a:hover { color:var(--nv-purple); }
.nv .nv-nav-actions { display:flex; align-items:center; gap:27px; font-size:12px; font-weight:600; }
.nv .nv-btn { display:inline-flex; justify-content:center; align-items:center; gap:15px; min-height:52px; padding:16px 22px; background:var(--nv-purple); color:white; border:1px solid var(--nv-purple); border-radius:10px; font-size:12px; font-weight:600; line-height:1.3; transition:background .2s,box-shadow .2s,transform .2s; }
.nv .nv-btn > span { flex-shrink:0; }
.nv .nv-btn:hover { background:#4230ce; box-shadow:0 5px 15px #5040e81c; transform:translateY(-1px); }
.nv .nv-btn--small { min-height:41px; padding:11px 16px; font-size:11px; border-radius:8px; }
.nv .nv-btn--white, .nv .nv-btn--outline { background:white; color:var(--nv-ink); border-color:#e5e1f1; }
.nv .nv-btn--white:hover, .nv .nv-btn--outline:hover { background:#f6f3fd; }
.nv .nv-btn--compact { min-height:39px; font-size:10px; padding:11px 15px; gap:10px; border-radius:7px; }
.nv .nv-eyebrow { display:flex; align-items:center; gap:8px; color:#6f6c84; font-size:9px; font-weight:650; line-height:1.7; letter-spacing:1.4px; }
.nv .nv-dot { width:6px; height:6px; border-radius:50%; background:var(--nv-purple); }
.nv .nv-hero { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:60px; padding-block:65px 52px; }
.nv h1 { font-size:clamp(48px,4.8vw,69px); line-height:1.12; font-weight:650; letter-spacing:-3.2px; }
.nv .nv-hero h1 { margin-top:20px; }
.nv mark { position:relative; isolation:isolate; color:inherit; background:transparent; white-space:nowrap; }
.nv mark::before { content:''; position:absolute; z-index:-1; inset:10% -4px -1%; background:#dfc9ff; transform:rotate(-2deg); }
.nv .nv-hero-aside { padding-bottom:8px; }
.nv .nv-hero-aside > p { font-size:15px; line-height:1.85; color:var(--nv-muted); max-width:355px; }
.nv .nv-actions { display:flex; align-items:center; gap:21px; margin-top:27px; }
.nv .nv-caption { display:block; color:#6e6d7d; font-size:9px; line-height:1.6; margin-top:14px; }
.nv .nv-text-link { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; }
.nv .nv-demo-intro { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 2px 17px; font-size:10px; color:var(--nv-muted); }
.nv .nv-demo-intro > p { display:flex; align-items:center; gap:7px; }
.nv .nv-demo-intro strong { font-weight:550; color:#49455c; }
.nv .nv-live-dot { display:inline-block; width:5px; height:5px; background:#5ea77f; border-radius:50%; flex-shrink:0; }
.nv .nv-lab { text-align:left; border:1px solid #dedee9; border-radius:12px; background:white; box-shadow:0 0 0 6px #f6f4fb,0 15px 60px -20px #8275b945; overflow:hidden; color:#292b40; }
.nv .nv-lab-topbar { height:51px; padding-inline:24px; display:flex; align-items:center; gap:20px; border-bottom:1px solid var(--nv-line); background:#fff; }
.nv .nv-lab-brand { font-size:20px; font-weight:750; letter-spacing:-1px; }
.nv .nv-lab-divider { height:18px; width:1px; background:var(--nv-line); }
.nv .nv-breadcrumb { display:flex; gap:13px; align-items:center; font-size:9px; color:#6f6e7d; }
.nv .nv-breadcrumb strong { color:#555568; font-weight:500; }
.nv .nv-demo-badge { margin-left:auto; color:#726e81; font-size:6px; letter-spacing:1.4px; font-weight:600; }
.nv .nv-lab-body { display:grid; grid-template-columns:222px minmax(0,1fr); }
.nv .nv-lab-sidebar { display:flex; flex-direction:column; border-right:1px solid var(--nv-line); padding:25px 13px 19px; background:#fbfbfd; }
.nv .nv-lesson-name { display:flex; gap:10px; align-items:center; padding-inline:8px; }
.nv .nv-lesson-icon { background:#eae7ff; color:#7763c2; display:grid; place-items:center; width:35px; height:37px; border:1px solid #e0d9f9; border-radius:8px; flex-shrink:0; }
.nv .nv-lesson-name strong { display:block; font-size:11px; font-weight:600; }
.nv .nv-lesson-name small { display:block; color:#6d6a78; font-size:8px; margin-top:6px; }
.nv .nv-sidebar-label { color:#706d7a; font-size:7px; letter-spacing:1.3px; margin:31px 10px 14px; }
.nv .nv-tool-tabs { display:flex; flex-direction:column; gap:8px; }
.nv .nv-tool-tab { display:flex; gap:9px; align-items:center; width:100%; padding:12px 10px; border:1px solid transparent; border-radius:8px; background:transparent; color:#726d83; text-align:left; transition:background .15s; }
.nv .nv-tool-tab:hover { background:#f3f0fc; }
.nv .nv-tool-tab > span:nth-child(2) { flex:1; }
.nv .nv-tool-tab strong { display:block; font-size:10px; font-weight:550; }
.nv .nv-tool-tab small { display:block; margin-top:5px; font-size:7px; color:#716e7a; }
.nv .nv-tool-tab .nv-tab-number { font-size:7px; color:#6f6d7b; }
.nv .nv-tab-icon { display:grid; place-items:center; }
.nv .nv-tool-tab[aria-selected=true] { border-color:#e3dcf9; background:#eeebfc; color:var(--nv-purple); }
.nv .nv-tool-tab[aria-selected=true] .nv-tab-number { color:#7260a8; }
.nv .nv-lab-tip { margin:28px 8px; padding:13px; display:flex; gap:9px; align-items:flex-start; background:#f5f3fb; border:1px solid #ebe6f4; border-radius:8px; color:#776991; }
.nv .nv-lab-tip > span { flex-shrink:0; }
.nv .nv-lab-tip p { color:#716a7e; font-size:8px; line-height:1.8; }
.nv .nv-lab-tip strong { font-weight:500; color:#716382; }
.nv .nv-sidebar-bottom { display:flex; align-items:center; gap:9px; margin-top:auto; padding:20px 8px 0; }
.nv .nv-avatar { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e7def6; color:#80698f; font-size:9px; }
.nv .nv-sidebar-bottom strong { font-size:8px; font-weight:500; }
.nv .nv-sidebar-bottom div > span { display:block; color:#746e7b; font-size:6px; margin-top:5px; }
.nv .nv-lab-workspace { background:#f6f7fb; background-image:radial-gradient(#dcdeea 1px,transparent 1px); background-size:14px 14px; padding:0 25px; }
.nv .nv-workspace-bar { display:flex; align-items:center; gap:17px; min-height:62px; padding-block:12px; }
.nv .nv-workspace-label { display:flex; align-items:center; gap:6px; font-size:8px; color:#6d6a77; }
.nv .nv-role-switch { display:flex; gap:2px; padding:3px; background:#eaeaf2; border:1px solid #e0e0ec; border-radius:7px; margin-left:auto; }
.nv .nv-role-switch button { padding:6px 13px; font-size:8px; color:#746e80; background:none; border:0; border-radius:4px; }
.nv .nv-role-switch button[aria-pressed=true] { background:#fff; color:#5c527a; box-shadow:0 1px 4px #312a5710; }
.nv .nv-restart { border:0; background:none; font-size:8px; color:#726982; padding:8px 0; }
.nv .nv-restart:hover { color:var(--nv-purple); }
.nv .nv-exercise { min-height:410px; background:white; border:1px solid #e4e3ed; border-radius:10px; box-shadow:0 2px 4px #25284903; padding:23px; }
.nv .nv-exercise-heading { display:flex; gap:11px; align-items:center; padding-bottom:21px; border-bottom:1px solid #f0eef6; }
.nv .nv-exercise-symbol { display:grid; place-items:center; width:41px; height:41px; background:#eeebff; color:#7461bb; border:1px solid #e6defb; border-radius:10px; flex-shrink:0; }
.nv .nv-exercise-symbol--peach { background:#fff0df; color:#8f643e; border-color:#f6e0c8; }
.nv .nv-exercise-symbol--mint { background:#e4f5ec; color:#4a7664; border-color:#d2eddf; }
.nv .nv-exercise-heading h2 { font-size:14px; font-weight:600; letter-spacing:-.3px; }
.nv .nv-exercise-heading p { font-size:8px; color:#756f81; margin-top:6px; line-height:1.6; }
.nv .nv-level { margin-left:auto; padding:5px 8px; font-size:7px; color:#786c82; background:#faf8fc; border:1px solid #eee8f3; border-radius:5px; }
.nv .nv-quiz-columns { display:grid; grid-template-columns:1fr 1.03fr; gap:25px; margin-top:23px; }
.nv .nv-reading { background:#f8f6fd; border:1px solid #efebf6; border-radius:7px; padding:19px; display:flex; flex-direction:column; }
.nv .nv-small-label { display:flex; align-items:center; gap:6px; color:#746d80; font-size:7px; line-height:1.5; letter-spacing:1.15px; font-weight:600; }
.nv .nv-reading h3 { font-size:21px; line-height:1.2; letter-spacing:-.7px; font-weight:550; margin:13px 0 12px; color:#635976; }
.nv .nv-reading > p { font-size:11px; color:#746b7b; line-height:1.9; margin-bottom:10px; }
.nv .nv-reading-foot { display:flex; justify-content:space-between; gap:5px; font-size:6px; color:#74687e; padding-top:13px; margin-top:auto; border-top:1px solid #eae3f0; }
.nv .nv-question-meta { display:flex; justify-content:space-between; gap:10px; font-size:6px; color:#706a74; letter-spacing:.5px; margin:3px 0 18px; }
.nv .nv-question h3 { font-size:13px; line-height:1.5; font-weight:550; margin-bottom:16px; }
.nv .nv-quiz-answers { display:flex; flex-direction:column; gap:8px; }
.nv .nv-answer { display:flex; align-items:center; gap:10px; padding:11px 10px; border:1px solid #e9e5ef; border-radius:7px; background:white; text-align:left; font-size:11px; line-height:1.5; color:#796d86; }
.nv .nv-answer-letter { display:grid; place-items:center; width:24px; height:24px; background:#f4f1f8; border-radius:5px; color:#756880; font-size:8px; flex-shrink:0; }
.nv .nv-answer:hover:not(:disabled) { border-color:#c7b8ee; background:#fbfaff; }
.nv .nv-answer[aria-pressed=true] { border-color:#9f8cd9; background:#f7f3ff; color:#655189; }
.nv .nv-answer[aria-pressed=true] .nv-answer-letter { color:white; background:#8f75c8; }
.nv .nv-answer[data-result=correct] { background:#eff9f2; border-color:#9ed7b4; color:#38784e; }
.nv .nv-answer[data-result=correct] .nv-answer-letter { background:#64a880; color:white; }
.nv .nv-answer[data-result=incorrect] { border-color:#e2aca7; background:#fff2f0; color:#985c58; }
.nv .nv-answer[data-result=incorrect] .nv-answer-letter { background:#c2807a; color:white; }
.nv .nv-answer-feedback { min-height:35px; color:#756d80; font-size:10px; line-height:1.65; margin-block:13px 8px; }
.nv .nv-answer-feedback[data-result=correct] { color:#3c7952; }
.nv .nv-answer-feedback[data-result=incorrect] { color:#985c58; }
.nv .nv-quiz-actions { display:flex; justify-content:flex-end; }
.nv .nv-next { display:flex; align-items:center; gap:9px; border:1px solid #e2daef; border-radius:7px; background:#f8f4fd; color:#8167a2; padding:11px 14px; font-size:9px; min-height:37px; }
.nv .nv-workspace-footer { display:flex; justify-content:space-between; gap:15px; align-items:center; min-height:42px; padding:12px 0; font-size:6px; color:#706a78; }
.nv .nv-workspace-footer > span { display:flex; gap:6px; align-items:center; }
.nv .nv-workspace-footer .nv-live-dot { width:4px; height:4px; }
.nv .nv-word-bank { display:flex; align-items:center; gap:25px; padding:17px; background:#f8f7fc; border:1px solid #ebe7f2; border-radius:8px; margin:23px 0; }
.nv .nv-word-bank > div { display:flex; flex-wrap:wrap; gap:9px; }
.nv .nv-word { display:flex; align-items:center; gap:10px; padding:9px 12px; border:1px solid #d5c6ef; border-radius:6px; background:white; color:#77668b; font-size:10px; font-weight:500; }
.nv .nv-word > span:first-child { color:#756983; }
.nv .nv-word > span:last-child { font-size:12px; color:#756685; }
.nv .nv-word[aria-pressed=true] { background:#ece4fc; border-color:#a58cc8; box-shadow:0 0 0 2px #ddd0f7; color:#71548e; }
.nv .nv-word:disabled { opacity:.35; text-decoration:line-through; }
.nv .nv-gap-text { padding:0 7px; }
.nv .nv-gap-text p { position:relative; padding-left:27px; font-size:12px; line-height:2.1; color:#776a86; margin-bottom:18px; }
.nv .nv-line-number { position:absolute; left:0; top:3px; color:#726a78; font-size:8px; }
.nv .nv-blank { display:inline-block; padding:5px 12px; min-width:122px; border:1px dashed #c9b8dd; border-radius:6px; background:#faf7fe; color:#776d81; font-size:9px; line-height:1.8; margin-inline:3px; }
.nv .nv-blank[data-word] { border-style:solid; color:#795c95; background:#f0e9fb; border-color:#c5b1dc; }
.nv .nv-blank[data-result=correct] { background:#eaf7ee; color:#417b5b; border-color:#9ecdac; }
.nv .nv-blank[data-result=incorrect] { background:#fff2ef; color:#8f5f58; border-color:#deb4a9; }
.nv .nv-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #f1eaf6; padding-top:10px; margin-top:25px; }
.nv .nv-gap-footer .nv-answer-feedback { flex:1; }
.nv .nv-flashcard { display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(100%,470px); min-height:245px; margin:24px auto 0; padding:25px; border:1px solid #dfd3ed; border-radius:13px; background:#f6f1fc; color:#785895; box-shadow:0 4px 0 #ece2f6; transition:background .22s,transform .22s; }
.nv .nv-flashcard:hover { transform:translateY(-2px); }
.nv .nv-flashcard[aria-pressed=true] { background:#eff9f1; border-color:#c2dfc7; color:#517859; box-shadow:0 4px 0 #deefdf; }
.nv .nv-flashcard strong { font-size:39px; font-weight:550; letter-spacing:-1.5px; margin-block:24px 12px; }
.nv .nv-flashcard em { font-style:normal; font-size:10px; line-height:1.7; }
.nv .nv-card-hint { display:flex; align-items:center; gap:8px; margin-top:25px; font-size:7px; color:#786986; }
.nv .nv-card-controls { display:flex; justify-content:center; gap:22px; align-items:center; margin-top:20px; }
.nv .nv-card-controls > button { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e9e0f0; border-radius:7px; background:white; color:#776684; }
.nv .nv-card-controls > span { font-size:8px; color:#786a84; }
.nv .nv-teacher-note { display:flex; align-items:flex-start; gap:10px; margin-top:12px; border:1px solid #e1d3ed; padding:12px 15px; background:#f7f1fc; border-radius:8px; color:#7f6295; }
.nv .nv-teacher-note > span { flex-shrink:0; }
.nv .nv-teacher-note strong { display:block; font-size:9px; font-weight:600; }
.nv .nv-teacher-note p > span { display:block; margin-top:5px; font-size:8px; line-height:1.65; }
.nv .nv-benefits { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:30px; border-bottom:1px solid var(--nv-line); }
.nv .nv-benefits p { display:flex; align-items:center; gap:9px; color:#706b7e; font-size:10px; }
.nv .nv-benefits p > span { color:#766792; flex-shrink:0; }
.nv .nv-section { padding-block:95px; }
.nv h2 { font-size:39px; font-weight:600; line-height:1.19; letter-spacing:-1.6px; }
.nv .nv-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:35px; }
.nv .nv-section-heading .nv-eyebrow { margin-bottom:15px; color:#776a8c; }
.nv .nv-section-heading > p { font-size:12px; color:#756e7d; line-height:1.9; }
.nv .nv-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.nv .nv-feature { background:#fbfafd; border:1px solid #eee9f5; padding:30px; border-radius:13px; }
.nv .nv-feature-top { display:flex; justify-content:space-between; align-items:center; }
.nv .nv-feature-icon { display:grid; place-items:center; width:53px; height:53px; border-radius:12px; background:#f0eafa; color:#7e6797; }
.nv .nv-feature-top > span:last-child { font-size:9px; color:#756d7d; }
.nv .nv-feature h3 { font-size:22px; line-height:1.25; font-weight:550; letter-spacing:-.8px; max-width:240px; margin:25px 0 15px; }
.nv .nv-feature > p { font-size:13px; color:#73687b; line-height:1.9; }
.nv .nv-feature > a { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:25px; font-size:10px; color:#7d6692; font-weight:600; }
.nv .nv-profile-section { padding-block:75px; background:#faf9fc; border-block:1px solid #f0edf5; }
.nv .nv-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.nv .nv-profile-image { position:relative; height:270px; overflow:hidden; background:#eae5f1; padding:21px 21px 0; border:1px solid #e5dced; border-radius:12px; }
.nv .nv-profile-image img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; border-radius:4px 4px 0 0; box-shadow:0 4px 13px #35264312; transition:transform .3s; }
.nv .nv-profile:hover img { transform:translateY(-10px); }
.nv .nv-profile-image > span { position:absolute; bottom:14px; right:14px; background:white; border:1px solid #eae2f0; display:flex; align-items:center; gap:20px; padding:11px 13px; border-radius:7px; font-size:8px; color:#7d6c8b; }
.nv .nv-profile-info { display:flex; align-items:center; justify-content:space-between; gap:13px; padding-top:18px; }
.nv .nv-profile-info h3 { font-size:13px; font-weight:600; }
.nv .nv-profile-info p { font-size:9px; color:#766a7e; margin-top:7px; line-height:1.7; }
.nv .nv-profile-info > span { color:#756682; }
.nv .nv-section-heading--center { flex-direction:column; align-items:center; text-align:center; gap:13px; margin-bottom:55px; }
.nv .nv-section-heading--center .nv-eyebrow { margin-bottom:0; }
.nv .nv-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.nv .nv-plan { position:relative; display:flex; flex-direction:column; padding:29px; border:1px solid #eae3ef; border-radius:13px; background:#fff; }
.nv .nv-plan h3 { font-size:16px; font-weight:600; }
.nv .nv-plan > p { font-size:12px; color:#7c6b84; line-height:1.85; margin-top:10px; min-height:37px; }
.nv .nv-price { display:flex; align-items:baseline; gap:5px; margin-top:28px; }
.nv .nv-price strong { font-size:37px; letter-spacing:-1.7px; font-weight:550; }
.nv .nv-price > span { font-size:10px; color:#74697d; }
.nv .nv-credits { display:flex; align-items:center; gap:7px; font-size:10px; color:#7d6c8b; margin-top:12px; }
.nv .nv-plan ul { padding:21px 0 0; margin:24px 0; list-style:none; border-top:1px solid #eee7f3; flex:1; }
.nv .nv-plan li { display:flex; align-items:center; gap:8px; font-size:12px; color:#7d6c89; line-height:1.6; margin-bottom:13px; }
.nv .nv-plan li > span { color:#7a6884; flex-shrink:0; }
.nv .nv-plan .nv-btn { font-size:11px; padding-inline:12px; }
.nv .nv-plan--featured { border:1.5px solid #b99adc; background:#fcfaff; box-shadow:0 7px 22px #bfa7d516; }
.nv .nv-plan-ribbon { position:absolute; top:-17px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:6px; border:1px solid #ddcdeb; border-radius:20px; padding:8px 13px; background:#f1e7fc; color:#80629c; font-size:8px; white-space:nowrap; }
.nv .nv-pricing-note { text-align:center; font-size:9px; line-height:1.7; color:#7c6d86; margin-top:23px; }
.nv .nv-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; padding-bottom:80px; }
.nv .nv-faq .nv-eyebrow { margin-bottom:15px; }
.nv .nv-faq details { border-bottom:1px solid #eae2f1; }
.nv .nv-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:22px; font-size:12px; line-height:1.6; cursor:pointer; list-style:none; }
.nv .nv-faq summary > span { color:#7b6c84; flex-shrink:0; }
.nv .nv-faq summary::-webkit-details-marker { display:none; }
.nv .nv-faq details[open] summary > span { transform:rotate(180deg); }
.nv .nv-faq details > p { font-size:13px; line-height:1.9; color:#7c6a83; padding-bottom:22px; }
.nv .nv-final { display:flex; flex-direction:column; align-items:center; text-align:center; background:#f6f1fe; border:1px solid #ece0f7; border-radius:16px; padding:48px 25px; }
.nv .nv-final-icon { display:grid; place-items:center; width:53px; height:53px; border-radius:13px; background:#eaddf8; color:#806a92; margin-bottom:20px; }
.nv .nv-final h2 { font-size:42px; }
.nv .nv-final p { font-size:12px; color:#7c6a86; margin-top:17px; }
.nv .nv-final .nv-btn { margin-top:25px; }
.nv .nv-footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:50px 110px; }
.nv .nv-footer p { font-size:9px; color:#796c81; margin-top:13px; line-height:1.7; }
.nv .nv-footer nav { display:flex; gap:25px; font-size:10px; color:#7b6983; }
.nv .nv-footer small { color:#786981; font-size:8px; }
.nv .nv-mobile-break { display:none; }
/* Campus: the same Nivo identity, with a more expressive student-facing rhythm. */
.nv--campus { background:#fffdf9; }
.nv--campus .nv-nav { background:#fffdf9; border-bottom:1px solid #eee8e4; }
.nv--campus .nv-nav .nv-btn { background:#5040e8; }
.nv--campus .nv-campus-intro { background:#f1ecfd; border-bottom:1px solid #e5ddf4; padding-bottom:48px; }
.nv--campus .nv-hero { position:relative; display:block; text-align:center; padding-block:43px 38px; }
.nv--campus .nv-eyebrow { color:#75668d; }
.nv--campus .nv-hero > .nv-eyebrow { justify-content:center; font-size:9px; gap:7px; }
.nv--campus h1 { font-size:clamp(50px,5.4vw,76px); line-height:1.09; font-weight:750; letter-spacing:-4px; margin-top:22px; }
.nv--campus mark::before { background:#fde795; transform:rotate(-3deg); inset:12% -6px 0; border-radius:3px; }
.nv--campus .nv-campus-lead { color:#746781; font-size:14px; line-height:1.85; margin-top:24px; }
.nv--campus .nv-hero .nv-actions { justify-content:center; margin-top:23px; gap:12px; }
.nv--campus .nv-hero .nv-caption { color:#756683; }
.nv--campus .nv-subject-label { position:absolute; display:flex; align-items:center; gap:16px; padding:11px 17px; font-size:18px; font-weight:650; letter-spacing:-.5px; border:1px solid; border-radius:12px; box-shadow:0 4px 0 #4b2d6710; }
.nv--campus .nv-subject-label > span { font-weight:400; font-size:27px; line-height:1; }
.nv--campus .nv-subject-label--one { left:22px; top:175px; background:#dcefcf; border-color:#cde2bd; color:#5f784c; transform:rotate(-11deg); }
.nv--campus .nv-subject-label--two { right:0; top:240px; background:#fbd9c8; border-color:#f2c7b4; color:#916552; transform:rotate(9deg); }
.nv--campus .nv-demo-intro > p { color:#7d698f; font-weight:550; }
.nv--campus .nv-demo-intro > span { color:#786883; }
.nv--campus .nv-lab { box-shadow:0 0 0 6px #e6dcf555,0 17px 35px -20px #9375b440; border-color:#d5c9e4; border-radius:16px; }
.nv--campus .nv-lab-body { grid-template-columns:1fr; }
.nv--campus .nv-lab-sidebar { display:block; padding:15px 22px; border-right:0; background:#fff; border-bottom:1px solid #ede5f3; }
.nv--campus .nv-lesson-name, .nv--campus .nv-sidebar-label, .nv--campus .nv-lab-tip, .nv--campus .nv-sidebar-bottom { display:none; }
.nv--campus .nv-tool-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.nv--campus .nv-tool-tab { border:1px solid #e8dcf3; padding:12px 17px; background:#f7f1fc; color:#7c628f; }
.nv--campus .nv-tool-tab:nth-child(2) { background:#fff3e8; border-color:#f6e0c9; color:#906b4d; }
.nv--campus .nv-tool-tab:nth-child(3) { background:#edf8ef; border-color:#d9eddb; color:#5d7561; }
.nv--campus .nv-tool-tab[aria-selected=true] { outline:2px solid #ad8ace; outline-offset:2px; }
.nv--campus .nv-tool-tab:nth-child(2)[aria-selected=true] { outline-color:#deb38f; }
.nv--campus .nv-tool-tab:nth-child(3)[aria-selected=true] { outline-color:#9ac7a4; }
.nv--campus .nv-tool-tab strong { font-size:12px; }
.nv--campus .nv-tool-tab small { font-size:8px; }
.nv--campus .nv-tab-icon { margin-right:4px; }
.nv--campus .nv-lab-workspace { padding-inline:38px; background-color:#fffcf9; background-image:radial-gradient(#e7d9e1 1px,transparent 1px); }
.nv--campus .nv-exercise { padding:27px 35px; min-height:390px; max-width:950px; margin-inline:auto; }
.nv--campus .nv-workspace-bar, .nv--campus .nv-workspace-footer, .nv--campus .nv-teacher-note { max-width:950px; margin-inline:auto; }
.nv--campus .nv-word-bank { padding:17px 22px; background:#f8f4fc; gap:40px; }
.nv--campus .nv-word { font-size:12px; padding:10px 16px; }
.nv--campus .nv-gap-text p { font-size:15px; }
.nv--campus .nv-blank { font-size:11px; min-width:153px; padding:5px 16px; }
.nv--campus .nv-word-bank .nv-small-label { font-size:8px; }
.nv--campus .nv-reading { padding:23px; }
.nv--campus .nv-reading > p { font-size:11px; }
.nv--campus .nv-answer { font-size:11px; }
.nv--campus .nv-question h3 { font-size:16px; }
.nv--campus .nv-answer-feedback { font-size:10px; }
.nv--campus .nv-benefits { border-bottom:1px solid #eee3e8; }
.nv--campus h2 { font-weight:650; }
.nv--campus .nv-feature { border-radius:17px; }
.nv--campus .nv-lilac { background:#eee6fc; border-color:#e3d4f5; }
.nv--campus .nv-peach { background:#fce6d8; border-color:#f2d6c5; }
.nv--campus .nv-mint { background:#e6f0df; border-color:#d7e6cb; }
.nv--campus .nv-feature-icon { background:#ffffff80; border:1px solid #ffffff99; }
.nv--campus .nv-peach .nv-feature-icon { color:#86654d; }
.nv--campus .nv-mint .nv-feature-icon { color:#647857; }
.nv--campus .nv-profile-section { background:#fff8ed; border-color:#f2e4d3; }
.nv--campus .nv-profile-image { background:#eadcf7; }
.nv--campus .nv-profile:nth-child(2) .nv-profile-image { background:#f9dcc7; border-color:#efcdb7; }
.nv--campus .nv-profile:nth-child(3) .nv-profile-image { background:#dfebd6; border-color:#cfdcbe; }
.nv--campus .nv-plan { background:#fffcf8; }
.nv--campus .nv-plan--featured { background:#f5edfe; }
.nv--campus .nv-final { background:#e8defb; border-color:#dacbf2; }
.nv--campus .nv-final-icon { color:#806991; background:#fffae8; }
@media (max-width:1100px) {
  .nv .nv-wrap { width:calc(100% - 64px); }
  .nv .nv-nav-inner { gap:20px; }
  .nv .nv-nav nav { gap:21px; font-size:11px; }
  .nv .nv-hero { gap:35px; }
  .nv h1 { font-size:53px; letter-spacing:-2.8px; }
  .nv .nv-hero-aside > p { font-size:13px; }
  .nv .nv-hero-aside .nv-actions { flex-wrap:wrap; gap:15px; }
  .nv .nv-lab-body { grid-template-columns:190px minmax(0,1fr); }
  .nv .nv-lab-sidebar { padding-inline:8px; }
  .nv .nv-tool-tab { padding:12px 8px; gap:7px; }
  .nv .nv-tool-tab .nv-tab-number { display:none; }
  .nv .nv-lab-workspace { padding-inline:18px; }
  .nv .nv-exercise { padding:20px; }
  .nv .nv-quiz-columns { gap:18px; }
  .nv .nv-reading { padding:15px; }
  .nv .nv-reading h3 { font-size:19px; }
  .nv .nv-question h3 { font-size:12px; }
  .nv .nv-answer { padding:9px 8px; }
  .nv .nv-answer-letter { width:20px; height:20px; }
  .nv .nv-exercise-heading h2 { font-size:13px; }
  .nv .nv-feature { padding:25px; }
  .nv .nv-word-bank { flex-wrap:wrap; gap:12px; }
  .nv .nv-profile-image { height:235px; padding:16px 16px 0; }
  .nv--campus .nv-lab-body { grid-template-columns:1fr; }
  .nv--campus h1 { font-size:66px; }
  .nv--campus .nv-subject-label--one { left:0; top:190px; font-size:15px; }
  .nv--campus .nv-subject-label--two { top:267px; font-size:15px; }
}
@media (max-width:850px) {
  .nv .nv-nav nav { display:none; }
  .nv .nv-hero { grid-template-columns:1.4fr 1fr; align-items:center; padding-block:45px; }
  .nv h1 { font-size:43px; letter-spacing:-2px; }
  .nv .nv-eyebrow { font-size:7px; letter-spacing:1px; }
  .nv .nv-hero-aside > p { font-size:12px; }
  .nv .nv-hero-aside .nv-actions { margin-top:18px; gap:15px; }
  .nv .nv-lab-body { display:block; }
  .nv .nv-lab-sidebar { padding:14px 18px; border-right:0; border-bottom:1px solid var(--nv-line); }
  .nv .nv-lesson-name, .nv .nv-sidebar-label, .nv .nv-lab-tip, .nv .nv-sidebar-bottom { display:none; }
  .nv .nv-tool-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .nv .nv-tool-tab { justify-content:center; }
  .nv .nv-tool-tab small { display:none; }
  .nv .nv-tool-tab > span:nth-child(2) { flex:initial; }
  .nv .nv-quiz-columns { gap:25px; }
  .nv .nv-reading { padding:20px; }
  .nv .nv-reading > p { font-size:10px; }
  .nv .nv-question h3 { font-size:14px; }
  .nv .nv-answer { font-size:10px; padding:11px; }
  .nv .nv-benefits p { font-size:8px; gap:8px; }
  .nv .nv-section-heading { align-items:flex-start; flex-direction:column; gap:17px; }
  .nv .nv-section-heading--center { align-items:center; }
  .nv .nv-feature-grid { gap:13px; }
  .nv .nv-feature { padding:23px 20px; }
  .nv .nv-feature h3 { font-size:20px; }
  .nv .nv-feature > p { font-size:10px; }
  .nv .nv-feature > a { font-size:9px; }
  .nv .nv-profiles { gap:15px; }
  .nv .nv-profile-image { height:190px; }
  .nv .nv-plans { gap:12px; }
  .nv .nv-plan { padding:26px 20px; }
  .nv .nv-price strong { font-size:29px; }
  .nv .nv-plan .nv-btn { font-size:10px; }
  .nv .nv-faq { gap:45px; }
  .nv--campus .nv-hero { display:block; }
  .nv--campus h1 { font-size:60px; letter-spacing:-3.4px; }
  .nv--campus .nv-subject-label { display:none; }
  .nv--campus .nv-lab-sidebar { padding:15px 18px; }
  .nv--campus .nv-tool-tab { padding:13px 8px; }
  .nv--campus .nv-tool-tab strong { font-size:10px; }
  .nv--campus .nv-exercise { padding:25px; }
  .nv--campus .nv-gap-text p { font-size:13px; }
  .nv--campus .nv-blank { min-width:135px; padding:5px 9px; }
}
@media (max-width:600px) {
  .nv .nv-wrap { width:calc(100% - 36px); }
  .nv .nv-nav-inner { height:76px; gap:18px; }
  .nv .nv-logo { font-size:26px; margin-left:4px; }
  .nv .nv-nav-actions { gap:17px; font-size:11px; }
  .nv .nv-btn--small { font-size:10px; padding:11px 12px; gap:8px; }
  .nv .nv-nav-actions .nv-btn > span { display:none; }
  .nv .nv-hero { grid-template-columns:minmax(0,1fr); padding-block:33px 30px; gap:25px; }
  .nv h1 { font-size:clamp(36px,10vw,52px); line-height:1.13; letter-spacing:-2px; }
  .nv .nv-eyebrow { font-size:7px; }
  .nv .nv-hero h1 { margin-top:18px; }
  .nv .nv-hero-aside > p { font-size:13px; max-width:100%; }
  .nv .nv-hero-aside > p br { display:none; }
  .nv .nv-hero-aside .nv-actions { flex-wrap:nowrap; margin-top:21px; gap:20px; }
  .nv .nv-btn { font-size:11px; min-height:48px; padding:14px 18px; }
  .nv .nv-btn--small { min-height:39px; font-size:10px; padding:11px 12px; }
  .nv .nv-text-link { font-size:10px; }
  .nv .nv-caption { font-size:8px; }
  .nv .nv-demo-intro { display:block; padding-bottom:13px; font-size:9px; }
  .nv .nv-demo-intro > span { display:none; }
  .nv .nv-lab { border-radius:10px; box-shadow:0 0 0 4px #f4f0fa,0 10px 30px #80619813; }
  .nv .nv-lab-topbar { height:43px; padding-inline:13px; gap:12px; }
  .nv .nv-lab-brand { font-size:17px; }
  .nv .nv-breadcrumb { font-size:8px; gap:7px; }
  .nv .nv-breadcrumb { font-size:0; }
  .nv .nv-breadcrumb strong { font-size:8px; }
  .nv .nv-demo-badge { display:none; }
  .nv .nv-lab-sidebar { padding:10px; }
  .nv .nv-tool-tabs { gap:4px; }
  .nv .nv-tool-tab { flex-direction:column; text-align:center; gap:7px; padding:10px 3px; }
  .nv .nv-tool-tab strong { font-size:9px; line-height:1.4; }
  .nv .nv-tool-tab .nv-tab-icon > span { width:17px!important; height:17px!important; }
  .nv .nv-lab-workspace { padding-inline:10px; }
  .nv .nv-workspace-bar { min-height:53px; gap:10px; }
  .nv .nv-workspace-label { font-size:7px; gap:4px; }
  .nv .nv-workspace-label > span { display:none; }
  .nv .nv-role-switch { gap:0; padding:2px; }
  .nv .nv-role-switch button { font-size:9px; padding:6px 9px; }
  .nv .nv-restart { font-size:9px; }
  .nv .nv-exercise { padding:16px; min-height:0; border-radius:8px; }
  .nv .nv-exercise-heading { gap:9px; padding-bottom:16px; }
  .nv .nv-exercise-symbol { width:32px; height:35px; border-radius:8px; }
  .nv .nv-exercise-symbol > span { width:19px!important; height:19px!important; }
  .nv .nv-exercise-heading h2 { font-size:12px; line-height:1.45; letter-spacing:-.25px; }
  .nv .nv-exercise-heading p { font-size:7px; line-height:1.6; margin-top:4px; }
  .nv .nv-level { display:none; }
  .nv .nv-quiz-columns { grid-template-columns:1fr; gap:22px; margin-top:17px; }
  .nv .nv-reading { padding:16px; }
  .nv .nv-reading h3 { font-size:22px; }
  .nv .nv-reading h3 br { display:none; }
  .nv .nv-reading > p { font-size:10px; }
  .nv .nv-reading-foot { font-size:7px; }
  .nv .nv-question-meta { font-size:7px; }
  .nv .nv-question h3 { font-size:14px; }
  .nv .nv-answer { font-size:10px; padding:12px 10px; }
  .nv .nv-answer-feedback { font-size:9px; min-height:30px; }
  .nv .nv-btn--compact { font-size:9px; min-height:39px; padding:11px 13px; }
  .nv .nv-workspace-footer { gap:8px; font-size:6px; min-height:40px; }
  .nv .nv-workspace-footer > span:last-child { display:none; }
  .nv .nv-word-bank { padding:13px; gap:10px; margin-block:18px; }
  .nv .nv-word-bank > div { gap:6px; }
  .nv .nv-word { padding:8px; gap:6px; font-size:10px; }
  .nv .nv-word > span:first-child { display:none; }
  .nv .nv-gap-text { padding:0; }
  .nv .nv-gap-text p { font-size:12px; line-height:2.6; padding-left:20px; margin-bottom:14px; }
  .nv .nv-line-number { top:4px; font-size:7px; }
  .nv .nv-blank { min-width:119px; font-size:9px; padding:4px 7px; margin-inline:1px; }
  .nv .nv-gap-footer { flex-direction:column; align-items:stretch; gap:10px; margin-top:18px; }
  .nv .nv-gap-footer .nv-answer-feedback { margin-block:0; }
  .nv .nv-flashcard { min-height:240px; padding:20px 10px; }
  .nv .nv-flashcard strong { font-size:31px; letter-spacing:-1px; }
  .nv .nv-flashcard em { font-size:10px; }
  .nv .nv-card-controls { gap:30px; }
  .nv .nv-card-controls > button { width:36px; height:36px; }
  .nv .nv-card-controls > span { font-size:10px; }
  .nv .nv-teacher-note { padding:12px; }
  .nv .nv-benefits { flex-direction:column; align-items:flex-start; gap:14px; padding-block:25px; }
  .nv .nv-benefits p { font-size:10px; }
  .nv .nv-section { padding-block:55px; }
  .nv h2 { font-size:31px; letter-spacing:-1.3px; }
  .nv .nv-section-heading { gap:16px; margin-bottom:27px; }
  .nv .nv-section-heading > p { font-size:11px; }
  .nv .nv-section-heading .nv-eyebrow { margin-bottom:13px; }
  .nv .nv-feature-grid { grid-template-columns:1fr; gap:15px; }
  .nv .nv-feature { padding:26px; }
  .nv .nv-feature h3 { font-size:25px; max-width:100%; margin-top:20px; }
  .nv .nv-feature > p { font-size:12px; }
  .nv .nv-feature > a { font-size:11px; margin-top:22px; }
  .nv .nv-profile-section { padding-block:50px; }
  .nv .nv-profiles { grid-template-columns:1fr; gap:30px; }
  .nv .nv-profile-image { height:285px; padding:20px 20px 0; }
  .nv .nv-profile-info h3 { font-size:15px; }
  .nv .nv-profile-info p { font-size:10px; }
  .nv .nv-section-heading--center { gap:12px; margin-bottom:35px; }
  .nv .nv-section-heading--center .nv-eyebrow { margin-bottom:0; }
  .nv .nv-plans { grid-template-columns:1fr; gap:28px; }
  .nv .nv-plan { padding:29px; }
  .nv .nv-plan > p { font-size:11px; min-height:0; }
  .nv .nv-price strong { font-size:40px; }
  .nv .nv-credits { font-size:11px; }
  .nv .nv-plan li { font-size:11px; }
  .nv .nv-plan .nv-btn { font-size:11px; }
  .nv .nv-faq { grid-template-columns:1fr; gap:25px; padding-bottom:50px; }
  .nv .nv-faq h2 br { display:none; }
  .nv .nv-final { padding:37px 23px; }
  .nv .nv-final h2 { font-size:31px; }
  .nv .nv-final p { font-size:11px; line-height:1.8; }
  .nv .nv-footer { flex-direction:column; align-items:flex-start; gap:25px; padding-block:35px 100px; }
  .nv .nv-footer nav { gap:23px; }
  .nv--campus .nv-campus-intro { padding-bottom:29px; }
  .nv--campus .nv-hero { padding-block:32px; }
  .nv--campus .nv-hero > .nv-eyebrow { font-size:6px; letter-spacing:.7px; }
  .nv--campus h1 { font-size:clamp(40px,11.7vw,61px); line-height:1.12; letter-spacing:-2.4px; }
  .nv--campus .nv-mobile-break { display:block; }
  .nv--campus .nv-campus-lead { font-size:12px; margin-top:22px; line-height:1.9; }
  .nv--campus .nv-campus-lead br { display:none; }
  .nv--campus .nv-hero .nv-actions { flex-direction:column; gap:10px; margin-top:22px; }
  .nv--campus .nv-hero .nv-btn { width:100%; max-width:280px; }
  .nv--campus .nv-tool-tabs { gap:8px; }
  .nv--campus .nv-lab-sidebar { padding:12px; }
  .nv--campus .nv-tool-tab { padding:10px 4px; }
  .nv--campus .nv-tool-tab strong { font-size:9px; }
  .nv--campus .nv-tab-icon { margin:0; }
  .nv--campus .nv-lab-workspace { padding-inline:10px; }
  .nv--campus .nv-exercise { padding:16px; }
  .nv--campus .nv-word-bank { padding:13px; gap:10px; }
  .nv--campus .nv-word { font-size:10px; padding:8px; }
  .nv--campus .nv-gap-text p { font-size:12px; }
  .nv--campus .nv-blank { font-size:9px; min-width:119px; padding:4px 7px; }
  .nv--campus .nv-answer { font-size:10px; }
  .nv--campus .nv-question h3 { font-size:14px; }
  .nv--campus .nv-answer-feedback { font-size:9px; }
  .nv--campus .nv-reading { padding:16px; }
  .nv--campus .nv-reading > p { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) { .nv *, .nv *::before, .nv *::after { transition:none!important; animation:none!important; } }
/* Proposta 10 · Grifo — o marca-texto do Nivo como linguagem da página inteira.
   Base fiel ao produto (branco/gray-50, Inter, índigo-600, cartões com borda gray-200) + grifos.
   Todo seletor fica restrito a .lo--grifo; os resets de elemento ficam dentro de .gf-page
   para não tocar na barra de comparação (.nivo-switcher). */

/* ── Tokens e base ───────────────────────────────────────────────── */
.lo--grifo {
  --gf-indigo-50:#eef2ff; --gf-indigo-100:#e0e7ff; --gf-indigo-200:#c7d2fe; --gf-indigo-300:#a5b4fc; --gf-indigo-400:#818cf8;
  --gf-indigo-500:#6366f1; --gf-indigo-600:#4f46e5; --gf-indigo-700:#4338ca; --gf-indigo-800:#3730a3; --gf-indigo-900:#312e81; --gf-indigo-950:#1e1b4b;
  --gf-gray-50:#f9fafb; --gf-gray-100:#f3f4f6; --gf-gray-200:#e5e7eb; --gf-gray-300:#d1d5db; --gf-gray-400:#9ca3af;
  --gf-gray-500:#6b7280; --gf-gray-600:#4b5563; --gf-gray-700:#374151; --gf-gray-900:#111827;
  /* Tintas de marca-texto (R G B) */
  --gf-lilac:206 147 255; --gf-yellow:253 224 71; --gf-mint:110 231 183; --gf-pink:249 168 212; --gf-sky:125 211 252;
  --gf-green:134 239 172; --gf-rose:253 164 175;
  /* Papéis (redefinidos no modo escuro) */
  --gf-bg:#fff; --gf-surface:#fff; --gf-accent:var(--gf-indigo-600); --gf-accent-strong:var(--gf-indigo-700); --gf-accent-ink:var(--gf-indigo-900);
  --gf-dot:#e2e8f0; --gf-nav-bg:rgb(255 255 255 / .82); --gf-hl-ink:#1e1b4b;
  --gf-ok-bg:#f0fdf4; --gf-ok-line:#86efac; --gf-ok-text:#14532d; --gf-bad-bg:#fff1f2; --gf-bad-line:#fda4af; --gf-bad-text:#881337;
  --gf-note-bg:#fffbeb; --gf-note-line:#fde68a; --gf-note-text:#78350f; --gf-note-strong:#713f12;
  --gf-hero-top:rgb(238 242 255 / .7); --gf-halo:radial-gradient(closest-side, #e0e7ff 0%, rgb(224 231 255 / .55) 46%, rgb(224 231 255 / 0) 100%);
  --gf-ease:cubic-bezier(.65,0,.25,1);
  --gf-shadow-sm:0 1px 2px rgb(17 24 39 / .05);
  --gf-shadow-md:0 1px 2px rgb(17 24 39 / .04), 0 10px 24px -10px rgb(49 46 129 / .16);
  --gf-shadow-xl:0 2px 4px rgb(17 24 39 / .04), 0 28px 56px -20px rgb(79 70 229 / .30), 0 12px 24px -14px rgb(49 46 129 / .14);
  margin:0; background:var(--gf-bg); color:var(--gf-gray-600);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.lo--grifo .gf-page { font-feature-settings:'cv11','ss03'; }
.lo--grifo .gf-page *, .lo--grifo .gf-page *::before, .lo--grifo .gf-page *::after { box-sizing:border-box; }
.lo--grifo .gf-page :where(h1,h2,h3,h4,p,ul) { margin:0; }
.lo--grifo .gf-page :where(ul) { padding:0; list-style:none; }
.lo--grifo .gf-page :where(a) { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lo--grifo .gf-page :where(button) { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--grifo .gf-page :where(button:disabled) { cursor:default; }
.lo--grifo .gf-page :where(i,em) { font-style:normal; }
.lo--grifo .gf-page [hidden] { display:none !important; }
.lo--grifo .gf-page :where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--gf-focus,#4f46e5); outline-offset:3px; border-radius:10px; }
.lo--grifo .gf-page .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--grifo .gf-page .inline-block > svg { display:block; width:100%; height:100%; stroke-width:1.8; }
.lo--grifo .gf-page main > section[id] { scroll-margin-top:72px; }
.lo--grifo .gf-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--grifo .gf-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 18px; font-size:15px; font-weight:600; color:#fff; background:var(--gf-indigo-600); border-radius:12px; box-shadow:var(--gf-shadow-xl); }
.lo--grifo .gf-skip:focus { top:16px; }
.lo--grifo .gf-page :where(p) { text-wrap:pretty; }
.lo--grifo .gf-page :where(h1,h2,h3,h4) { color:var(--gf-gray-900); font-weight:800; letter-spacing:-.03em; text-wrap:balance; }
.lo--grifo .gf-page h1 { font-size:clamp(40px,5.3vw,68px); line-height:1.04; letter-spacing:-.045em; }
.lo--grifo .gf-page h2 { font-size:clamp(32px,4.3vw,58px); line-height:1.06; letter-spacing:-.04em; }

/* ── O grifo ─────────────────────────────────────────────────────── */
/* Traço atrás de uma palavra-chave: inclinado (skewY -2deg), 80% da altura, tinta a ~56%,
   com as pontas um pouco mais carregadas, como caneta de verdade. */
.lo--grifo .gf-hl { --hl:var(--gf-lilac); --hl-a:.56; --hl-a2:.74; position:relative; z-index:0; display:inline-block; white-space:nowrap; }
.lo--grifo .gf-hl::before { content:''; position:absolute; z-index:-1; top:15%; left:-.14em; right:-.14em; height:80%;
  background:linear-gradient(90deg, rgb(var(--hl) / var(--hl-a2)) 0, rgb(var(--hl) / var(--hl-a)) .4em, rgb(var(--hl) / var(--hl-a)) calc(100% - .34em), rgb(var(--hl) / var(--hl-a2)) 100%);
  border-radius:.14em .42em .2em .36em / .4em .16em .42em .2em; transform:skewY(-2deg); transform-origin:0 50%; }
.lo--grifo .gf-hl--yellow { --hl:var(--gf-yellow); --hl-a:.62; --hl-a2:.82; }
.lo--grifo .gf-hl--mint { --hl:var(--gf-mint); }
.lo--grifo .gf-hl--pink { --hl:var(--gf-pink); --hl-a:.6; }
.lo--grifo .gf-hl--sky { --hl:var(--gf-sky); }
.lo--grifo .gf-hl--glow { --hl-a:.4; --hl-a2:.54; }
.lo--grifo .gf-hl--glow::before { box-shadow:0 0 38px rgb(var(--hl) / .28); }
.lo--grifo .gf-hl--glow.gf-hl--yellow { --hl-a:.96; --hl-a2:1; color:var(--gf-indigo-950); }
.lo--grifo .gf-hl--glow.gf-hl--yellow::before { box-shadow:0 0 44px rgb(var(--hl) / .35); }

/* Traços soltos em SVG */
.lo--grifo .gf-mark { --hl:var(--gf-lilac); position:absolute; display:block; overflow:visible; pointer-events:none; }
.lo--grifo .gf-mark path { fill:none; stroke:rgb(var(--hl) / .62); stroke-width:9; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0; }
.lo--grifo .gf-mark--scribble path { stroke-width:30; stroke:rgb(var(--hl) / .5); }
.lo--grifo .gf-mark--ticks path { stroke-width:8; }
.lo--grifo .gf-mark--arrow path { stroke-width:6; }

/* Caneta: a tinta acompanha o grifo que ela está passando */
.lo--grifo .gf-pen-tip { fill:var(--gf-pen-ink,#ce93ff); stroke:var(--gf-pen-edge,#a855f7); }
.lo--grifo .gf-pen-ink { fill:var(--gf-pen-ink,#ce93ff); }
.lo--grifo .gf-stack-pen { --gf-pen-ink:#4ade80; --gf-pen-edge:#16a34a; }

/* Faixas largas de marca-texto cruzando as seções */
.lo--grifo .gf-band { --hl:var(--gf-lilac); --a:.3; position:absolute; z-index:0; display:block; pointer-events:none; background:linear-gradient(90deg, rgb(var(--hl) / calc(var(--a) + .1)) 0, rgb(var(--hl) / var(--a)) 6%, rgb(var(--hl) / var(--a)) 95%, rgb(var(--hl) / calc(var(--a) + .08)) 100%); border-radius:34px 90px 46px 80px / 80px 38px 90px 44px; transform:rotate(var(--r,-4deg)); transform-origin:0 50%; }

/* Tons para chips e ícones */
.lo--grifo .gf-tint--lilac { background:rgb(var(--gf-lilac) / .32); color:#581c87; }
.lo--grifo .gf-tint--yellow { background:rgb(var(--gf-yellow) / .5); color:#713f12; }
.lo--grifo .gf-tint--mint { background:rgb(var(--gf-mint) / .4); color:#065f46; }

/* ── Peças de interface ──────────────────────────────────────────── */
.lo--grifo .gf-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 22px; font-size:15.5px; font-weight:600; line-height:1.2; letter-spacing:-.005em; white-space:nowrap; color:#fff; background:var(--gf-indigo-600); border:1px solid transparent; border-radius:12px; box-shadow:inset 0 1px 0 rgb(255 255 255 / .18), 0 1px 2px rgb(49 46 129 / .3), 0 10px 22px -8px rgb(79 70 229 / .55); transition:transform .16s ease, box-shadow .2s ease, background-color .16s ease, border-color .16s ease; }
.lo--grifo .gf-btn > .inline-block { transition:transform .2s ease; }
.lo--grifo .gf-btn:hover { background:var(--gf-indigo-700); transform:translateY(-2px); box-shadow:inset 0 1px 0 rgb(255 255 255 / .18), 0 2px 4px rgb(49 46 129 / .3), 0 16px 30px -10px rgb(79 70 229 / .6); }
.lo--grifo .gf-btn:hover > .inline-block:last-child { transform:translateX(3px); }
.lo--grifo .gf-btn:active { transform:translateY(1px) scale(.985); box-shadow:inset 0 2px 4px rgb(30 27 75 / .3), 0 1px 2px rgb(49 46 129 / .3); }
.lo--grifo .gf-btn--lg { min-height:58px; padding:0 28px; font-size:17px; font-weight:700; border-radius:14px; }
.lo--grifo .gf-btn--md { min-height:46px; padding:0 20px; font-size:15px; }
.lo--grifo .gf-btn--sm { min-height:40px; padding:0 16px; font-size:14px; border-radius:10px; }
.lo--grifo .gf-btn--ghost { color:var(--gf-accent-strong); background:var(--gf-surface); border-color:var(--gf-gray-200); box-shadow:var(--gf-shadow-sm); }
.lo--grifo .gf-btn--ghost:hover { background:var(--gf-indigo-50); border-color:var(--gf-indigo-200); box-shadow:0 1px 2px rgb(17 24 39 / .05), 0 10px 22px -12px rgb(79 70 229 / .35); }
.lo--grifo .gf-btn--ghost:active { box-shadow:inset 0 2px 4px rgb(49 46 129 / .12); }
.lo--grifo .gf-btn--white { color:var(--gf-indigo-700); background:#fff; box-shadow:0 1px 2px rgb(30 27 75 / .3), 0 12px 26px -10px rgb(30 27 75 / .6); }
.lo--grifo .gf-btn--white:hover { background:var(--gf-indigo-50); box-shadow:0 2px 4px rgb(30 27 75 / .3), 0 18px 32px -12px rgb(30 27 75 / .7); }

.lo--grifo .gf-pill { display:inline-flex; align-items:center; gap:8px; padding:7px 15px 7px 12px; font-size:14px; font-weight:600; line-height:1.3; color:var(--gf-accent-strong); background:var(--gf-indigo-100); border-radius:999px; }
.lo--grifo .gf-eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:13px; font-weight:700; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; color:var(--gf-accent); }
.lo--grifo .gf-eyebrow::before { content:''; flex:none; width:28px; height:11px; background:rgb(var(--gf-lilac) / .8); border-radius:3px 7px 4px 8px / 6px 3px 7px 4px; transform:skewY(-9deg); }
.lo--grifo .gf-level { display:inline-grid; place-items:center; flex:none; min-width:30px; padding:2px 8px; font-size:12px; font-weight:700; line-height:1.4; letter-spacing:.02em; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border:1px solid var(--gf-indigo-200); border-radius:999px; }
.lo--grifo .gf-ai-chip { display:inline-flex; align-items:center; gap:6px; flex:none; padding:5px 11px 5px 9px; font-size:12.5px; font-weight:600; line-height:1.3; white-space:nowrap; color:#6b21a8; background:rgb(var(--gf-lilac) / .22); border:1px solid rgb(var(--gf-lilac) / .7); border-radius:999px; }
.lo--grifo .gf-dots { display:inline-flex; gap:6px; flex:none; }
.lo--grifo .gf-dots i { width:11px; height:11px; border-radius:50%; background:#f87171; }
.lo--grifo .gf-dots i:nth-child(2) { background:#facc15; }
.lo--grifo .gf-dots i:nth-child(3) { background:#4ade80; }
.lo--grifo .gf-small-label { display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gf-gray-500); }
.lo--grifo .gf-caption-check { display:inline-grid; place-items:center; flex:none; width:20px; height:20px; color:#166534; background:rgb(var(--gf-green) / .6); border-radius:50%; }
.lo--grifo .gf-caption-check svg { stroke-width:2.6 !important; }
.lo--grifo .gf-live-dot { display:inline-block; flex:none; width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgb(34 197 94 / .2); }

/* ── Navegação ───────────────────────────────────────────────────── */
.lo--grifo .gf-nav { position:sticky; top:0; z-index:40; background:var(--gf-nav-bg); -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; }
.lo--grifo .gf-logo { display:inline-flex; padding:2px 6px; font-size:25px; font-weight:800; letter-spacing:-.035em; line-height:1.15; color:var(--gf-gray-900); }
.lo--grifo .gf-logo .gf-hl::before { left:-.22em; right:-.22em; transition:transform .3s var(--gf-ease); }
.lo--grifo .gf-logo:hover .gf-hl::before { transform:skewY(-4deg) scaleX(1.06); }
.lo--grifo .gf-nav-links { display:flex; gap:6px; font-size:15px; font-weight:500; color:var(--gf-gray-600); }
.lo--grifo .gf-nav-links a { padding:9px 12px; transition:color .15s; }
.lo--grifo .gf-nav-links a > span { position:relative; z-index:0; }
.lo--grifo .gf-nav-links a > span::before { content:''; position:absolute; z-index:-1; inset:18% -6px 4%; background:rgb(var(--gf-lilac) / .5); border-radius:3px 8px 4px 7px / 7px 3px 8px 4px; transform:skewY(-2deg) scaleX(0); transform-origin:0 50%; transition:transform .28s var(--gf-ease); }
.lo--grifo .gf-nav-links a:hover { color:var(--gf-gray-900); }
.lo--grifo .gf-nav-links a:hover > span::before, .lo--grifo .gf-nav-links a:focus-visible > span::before { transform:skewY(-2deg) scaleX(1); }
.lo--grifo .gf-nav-actions { display:flex; align-items:center; gap:4px; }
.lo--grifo .gf-nav-login { padding:9px 12px; font-size:15px; font-weight:600; color:var(--gf-gray-700); background:transparent; border:0; border-radius:10px; transition:color .15s, background-color .15s; }
.lo--grifo .gf-nav-login:hover { color:var(--gf-accent-strong); background:var(--gf-indigo-50); }
.lo--grifo .gf-nav-logout { display:inline-flex; margin:0; }
.lo--grifo .gf-nav-divider { flex:none; width:1px; height:22px; margin-inline:8px 6px; background:var(--gf-gray-200); }
.lo--grifo .gf-nav-icon { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:none; min-width:40px; height:40px; padding:0 9px; font-size:13px; font-weight:700; letter-spacing:.03em; color:var(--gf-gray-600); background:transparent; border:0; border-radius:10px; transition:color .15s, background-color .15s, transform .15s; }
.lo--grifo .gf-nav-icon:hover { color:var(--gf-accent-strong); background:var(--gf-indigo-50); }
.lo--grifo .gf-nav-icon:active { transform:scale(.94); }
.lo--grifo .gf-theme-toggle svg { display:block; width:20px; height:20px; }
.lo--grifo .gf-page .hidden { display:none !important; }
/* Idioma */
.lo--grifo .gf-lang { position:relative; }
.lo--grifo .gf-lang-chevron { display:inline-flex; margin-left:-2px; transition:transform .2s ease; }
.lo--grifo .gf-lang-button[aria-expanded=true] { color:var(--gf-accent-strong); background:var(--gf-indigo-50); }
.lo--grifo .gf-lang-button[aria-expanded=true] .gf-lang-chevron { transform:rotate(180deg); }
.lo--grifo .gf-lang-menu { position:absolute; z-index:5; top:calc(100% + 10px); right:0; min-width:198px; padding:6px; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:14px; box-shadow:var(--gf-shadow-xl); transform-origin:100% 0; }
.lo--grifo .gf-lang-form, .lo--grifo .gf-menu-lang-form, .lo--grifo .gf-menu-logout { margin:0; }
.lo--grifo .gf-lang-item { display:flex; align-items:center; gap:11px; width:100%; min-height:42px; padding:0 10px; font-size:14.5px; font-weight:500; text-align:left; color:var(--gf-gray-700); background:transparent; border:0; border-radius:9px; transition:background-color .12s, color .12s; }
.lo--grifo .gf-lang-item:hover { color:var(--gf-accent-strong); background:var(--gf-indigo-50); }
.lo--grifo .gf-lang-code { display:inline-grid; place-items:center; flex:none; min-width:32px; padding:3px 6px; font-size:11px; font-weight:700; letter-spacing:.05em; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:6px; }
.lo--grifo .gf-lang-item[aria-current=true] { font-weight:700; color:var(--gf-gray-900); }
.lo--grifo .gf-lang-item[aria-current=true] .gf-lang-code { color:var(--gf-hl-ink); background:rgb(var(--gf-lilac) / .75); border-radius:4px 9px 5px 8px / 8px 4px 9px 5px; transform:skewY(-4deg); }
.lo--grifo .gf-lang-check { display:inline-flex; margin-left:auto; color:var(--gf-accent); }
.lo--grifo .gf-lang-check svg { stroke-width:2.6 !important; }
/* Menu mobile */
.lo--grifo .gf-burger { display:none; color:var(--gf-gray-700); }
.lo--grifo .gf-burger > span { display:inline-flex; }
.lo--grifo .gf-burger .gf-burger-close, .lo--grifo .gf-burger[aria-expanded=true] .gf-burger-open { display:none; }
.lo--grifo .gf-burger[aria-expanded=true] .gf-burger-close { display:inline-flex; }
.lo--grifo .gf-menu { position:absolute; top:100%; left:0; right:0; max-height:calc(100vh - 60px); max-height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain; background:var(--gf-surface); border-bottom:1px solid var(--gf-gray-200); box-shadow:0 30px 50px -24px rgb(17 24 39 / .35); }
.lo--grifo .gf-menu-inner { display:flex; flex-direction:column; gap:18px; padding-block:6px 22px; }
.lo--grifo .gf-menu-links { display:flex; flex-direction:column; }
.lo--grifo .gf-menu-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:0 2px; font-size:19px; font-weight:700; letter-spacing:-.02em; color:var(--gf-gray-900); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-menu-links a > .inline-block { color:var(--gf-gray-400); transition:transform .2s ease, color .2s; }
.lo--grifo .gf-menu-links a > span:first-child { position:relative; z-index:0; }
.lo--grifo .gf-menu-links a > span:first-child::before { content:''; position:absolute; z-index:-1; inset:16% -6px 4%; background:rgb(var(--gf-lilac) / .5); border-radius:3px 8px 4px 7px / 7px 3px 8px 4px; transform:skewY(-2deg) scaleX(0); transform-origin:0 50%; transition:transform .28s var(--gf-ease); }
.lo--grifo .gf-menu-links a:nth-child(2) > span:first-child::before { background:rgb(var(--gf-yellow) / .6); }
.lo--grifo .gf-menu-links a:nth-child(3) > span:first-child::before { background:rgb(var(--gf-mint) / .55); }
.lo--grifo .gf-menu-links a:nth-child(4) > span:first-child::before { background:rgb(var(--gf-sky) / .55); }
.lo--grifo .gf-menu-links a:hover > span:first-child::before, .lo--grifo .gf-menu-links a:focus-visible > span:first-child::before, .lo--grifo .gf-menu-links a:active > span:first-child::before { transform:skewY(-2deg) scaleX(1); }
.lo--grifo .gf-menu-links a:hover > .inline-block { color:var(--gf-accent); transform:translateX(4px); }
.lo--grifo .gf-menu-lang { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:4px; background:var(--gf-gray-100); border-radius:14px; }
.lo--grifo .gf-menu-lang-item { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:44px; font-size:14px; font-weight:700; letter-spacing:.04em; color:var(--gf-gray-600); background:transparent; border:0; border-radius:10px; transition:background-color .15s, color .15s; }
.lo--grifo .gf-menu-lang-item:hover { color:var(--gf-gray-900); }
.lo--grifo .gf-menu-lang-item[aria-current=true] { color:var(--gf-accent-strong); background:var(--gf-surface); box-shadow:0 1px 2px rgb(17 24 39 / .12), 0 2px 6px -2px rgb(49 46 129 / .2); }
.lo--grifo .gf-menu-auth { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:10px; }
.lo--grifo .gf-menu-auth .gf-btn { width:100%; min-height:52px; padding-inline:10px; font-size:15px; gap:7px; }
.lo--grifo .gf-only-narrow { display:none; }

/* ── 1 · Hero ────────────────────────────────────────────────────── */
.lo--grifo .gf-hero { position:relative; padding:72px 0 104px; background:linear-gradient(180deg, var(--gf-hero-top) 0%, var(--gf-bg) 62%); overflow:clip; }
.lo--grifo .gf-hero-halo { position:absolute; top:-6%; right:-8%; width:min(880px,70vw); aspect-ratio:1; background:var(--gf-halo); pointer-events:none; }
.lo--grifo .gf-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:48px; }
.lo--grifo .gf-hero h1 { margin-top:26px; }
.lo--grifo .gf-lead { max-width:31em; margin-top:28px; font-size:clamp(17px,1.45vw,20px); line-height:1.65; color:var(--gf-gray-600); }
.lo--grifo .gf-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.lo--grifo .gf-caption { display:flex; align-items:center; gap:9px; margin-top:22px; font-size:14.5px; font-weight:500; color:var(--gf-gray-500); }

/* Composição: tudo em em, escalando com a largura do container */
.lo--grifo .gf-stack { container-type:inline-size; width:100%; max-width:620px; margin-inline:auto; }
.lo--grifo .gf-stack-inner { position:relative; aspect-ratio:1/1.02; font-size:14px; font-size:2.62cqw; line-height:1.4; color:var(--gf-gray-700); }
.lo--grifo .gf-stack-inner > * { position:absolute; }
.lo--grifo .gf-stack .inline-block { width:1.1em !important; height:1.1em !important; }
.lo--grifo .gf-stack-band { height:5.4em; border-radius:1.4em 3.6em 1.8em 3.2em / 3em 1.4em 3.4em 1.6em; transform-origin:0 50%; }
.lo--grifo .gf-stack-band--lilac { left:-5%; top:27%; width:112%; background:rgb(var(--gf-lilac) / .4); transform:rotate(-9deg); }
.lo--grifo .gf-stack-band--yellow { left:22%; top:76%; width:80%; height:4.2em; background:rgb(var(--gf-yellow) / .55); transform:rotate(-6deg); }
.lo--grifo .gf-stack-ticks { width:4.4em; right:-7%; top:-8%; transform:rotate(30deg); --hl:var(--gf-yellow); }
.lo--grifo .gf-stack-cursor { position:absolute; right:12%; bottom:-.9em; width:1.9em; height:auto; filter:drop-shadow(0 .3em .4em rgb(17 24 39 / .3)); }
.lo--grifo .gf-stack-ticks path { stroke:rgb(var(--hl) / .95); }

.lo--grifo .gf-mini { display:flex; flex-direction:column; padding:1.15em 1.2em 1.25em; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:1.15em; box-shadow:var(--gf-shadow-xl); }
.lo--grifo .gf-mini-head { display:flex; align-items:center; gap:.7em; padding-bottom:.85em; margin-bottom:.9em; border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-mini-icon { display:grid; place-items:center; flex:none; width:2.2em; height:2.2em; border-radius:.65em; }
.lo--grifo .gf-mini-icon--lilac { background:rgb(var(--gf-lilac) / .32); color:#581c87; }
.lo--grifo .gf-mini-icon--yellow { background:rgb(var(--gf-yellow) / .5); color:#713f12; }
.lo--grifo .gf-mini-icon--mint { background:rgb(var(--gf-mint) / .4); color:#065f46; }
.lo--grifo .gf-mini-title { flex:1; min-width:0; font-size:.95em; font-weight:700; line-height:1.25; letter-spacing:-.01em; color:var(--gf-gray-900); }
.lo--grifo .gf-mini-title small { display:block; font-size:.8em; font-weight:500; letter-spacing:0; color:var(--gf-gray-500); }
.lo--grifo .gf-stack .gf-level { min-width:0; padding:.12em .65em; font-size:.78em; }
.lo--grifo .gf-mini-kicker { font-size:.66em; font-weight:700; letter-spacing:.1em; color:var(--gf-gray-400); }
.lo--grifo .gf-mini-q { margin:.3em 0 .75em; font-size:1.3em; font-weight:800; line-height:1.2; letter-spacing:-.025em; color:var(--gf-gray-900); }
.lo--grifo .gf-mini-opt { display:flex; align-items:center; gap:.7em; padding:.55em .65em; font-size:.92em; font-weight:500; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:.8em; }
.lo--grifo .gf-mini-opt + .gf-mini-opt { margin-top:.5em; }
.lo--grifo .gf-mini-opt > i { display:grid; place-items:center; flex:none; width:1.9em; height:1.9em; font-size:.84em; font-weight:700; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:.5em; }
.lo--grifo .gf-mini-opt--right { position:relative; z-index:2; color:var(--gf-gray-900); font-weight:600; background:var(--gf-ok-bg); border-color:var(--gf-ok-line); }
.lo--grifo .gf-mini-opt--right > i { color:#fff; background:#16a34a; }
.lo--grifo .gf-mini-opt--right > i svg { stroke-width:3 !important; }
.lo--grifo .gf-mini-stroke { position:relative; z-index:0; white-space:nowrap; }
.lo--grifo .gf-mini-stroke::before { content:''; position:absolute; z-index:-1; inset:8% -.3em 2% -.3em; background:linear-gradient(90deg, rgb(var(--gf-green) / .9) 0, rgb(var(--gf-green) / .7) .4em, rgb(var(--gf-green) / .7) 100%); border-radius:.2em .5em .25em .45em / .5em .2em .5em .25em; transform:skewY(-2deg); transform-origin:0 50%; }
.lo--grifo .gf-stack-pen { position:absolute; z-index:3; left:calc(100% + .3em); top:55%; width:12.6em; height:auto; margin:-1.9em 0 0 -.76em; transform:rotate(28deg); transform-origin:6% 52%; filter:drop-shadow(0 .7em .7em rgb(49 46 129 / .28)); }

.lo--grifo .gf-mini--quiz { z-index:3; left:2%; top:16%; width:61%; transform:rotate(-3deg); }
.lo--grifo .gf-mini--card { z-index:2; right:-1%; top:0; width:36%; align-items:center; padding:1.3em 1em 1.2em; text-align:center; transform:rotate(6deg); }
.lo--grifo .gf-mini--card strong { margin:.45em 0 .3em; font-size:2.1em; font-weight:800; line-height:1.1; letter-spacing:-.04em; color:var(--gf-gray-900); }
.lo--grifo .gf-mini--card em { font-size:.82em; line-height:1.4; color:var(--gf-gray-500); }
.lo--grifo .gf-mini-hint { display:inline-flex; align-items:center; gap:.4em; margin-top:.9em; padding:.3em .8em; font-size:.7em; font-weight:600; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border-radius:999px; }
.lo--grifo .gf-mini--gap { z-index:4; left:0; top:70%; width:61%; transform:rotate(2.2deg); }
.lo--grifo .gf-mini--gap p { font-size:.98em; font-weight:500; line-height:2; color:var(--gf-gray-700); }
.lo--grifo .gf-mini--gap p .gf-hl { font-weight:700; color:var(--gf-gray-900); }
.lo--grifo .gf-mini-blank { display:inline-block; width:5.4em; height:1.5em; vertical-align:-.35em; background:var(--gf-gray-50); border-bottom:2px dashed var(--gf-gray-300); border-radius:.4em .4em 0 0; }
.lo--grifo .gf-mini-words { display:flex; flex-wrap:wrap; gap:.45em; margin-top:.7em; }
.lo--grifo .gf-mini-words b { padding:.25em .75em; font-size:.8em; font-weight:600; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:.6em; box-shadow:var(--gf-shadow-sm); }
.lo--grifo .gf-mini-words b.is-used { color:var(--gf-gray-400); text-decoration:line-through; background:var(--gf-gray-50); box-shadow:none; }

.lo--grifo .gf-float { display:inline-flex; align-items:center; gap:.5em; font-weight:600; background:var(--gf-surface); border:1px solid var(--gf-gray-200); box-shadow:var(--gf-shadow-xl); }
.lo--grifo .gf-float--ai { z-index:5; left:0; top:6.5%; padding:.55em 1em .55em .8em; font-size:.92em; color:#6b21a8; border-color:rgb(var(--gf-lilac) / .8); border-radius:999px; transform:rotate(-5deg); }
.lo--grifo .gf-float--aha { z-index:5; right:3%; top:40%; gap:.55em; padding:.5em 1.05em .5em .5em; font-size:1.25em; font-weight:800; letter-spacing:-.02em; color:#fff; background:var(--gf-indigo-600); border-color:var(--gf-indigo-600); border-radius:1.4em 1.4em 1.4em .35em; transform:rotate(4deg); box-shadow:0 1em 2em -.6em rgb(79 70 229 / .6); }
.lo--grifo .gf-float--aha i { display:grid; place-items:center; width:1.7em; height:1.7em; font-size:.68em; font-weight:700; color:var(--gf-accent-strong); background:var(--gf-indigo-100); border-radius:50%; }
.lo--grifo .gf-float--lesson { z-index:5; right:0; top:83%; width:37%; display:flex; flex-wrap:wrap; gap:.6em; padding:.8em .9em .9em; border-radius:1em; transform:rotate(-2deg); }
.lo--grifo .gf-float--lesson .gf-mini-title { font-size:.84em; }
.lo--grifo .gf-float-bar { flex:0 0 100%; height:.45em; background:var(--gf-gray-100); border-radius:999px; overflow:hidden; }
.lo--grifo .gf-float-bar i { display:block; width:66%; height:100%; background:linear-gradient(90deg, var(--gf-indigo-500), var(--gf-indigo-600)); border-radius:inherit; }

/* ── 2 · Demonstração ────────────────────────────────────────────── */
.lo--grifo .gf-demo { position:relative; padding:104px 0 112px; background-color:var(--gf-gray-50); background-image:radial-gradient(var(--gf-dot) 1.4px, transparent 1.5px); background-size:24px 24px; border-block:1px solid var(--gf-gray-100); overflow:clip; }
.lo--grifo .gf-band--demo { --hl:var(--gf-yellow); --a:.4; --r:-3deg; left:-4%; top:322px; width:64%; height:96px; }
.lo--grifo .gf-demo .gf-wrap { position:relative; z-index:1; }
.lo--grifo .gf-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); align-items:end; gap:48px; margin-bottom:52px; }
.lo--grifo .gf-heading h2 { margin-top:18px; }
.lo--grifo .gf-heading-side { position:relative; max-width:25em; padding-bottom:6px; font-size:18px; line-height:1.65; color:var(--gf-gray-600); }
.lo--grifo .gf-heading--center { display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; }
.lo--grifo .gf-heading--center .gf-heading-side { max-width:31em; margin-top:22px; padding:0; }
.lo--grifo .gf-demo-arrow { width:78px; left:-112px; bottom:-40px; --hl:var(--gf-lilac); transform:rotate(38deg); }
.lo--grifo .gf-demo-arrow path { stroke:rgb(var(--hl) / .95); }

.lo--grifo .gf-lab { position:relative; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:22px; box-shadow:0 2px 4px rgb(17 24 39 / .04), 0 40px 80px -28px rgb(79 70 229 / .32), 0 18px 36px -18px rgb(49 46 129 / .16); overflow:hidden; }
.lo--grifo .gf-noscript { padding:14px 22px; font-size:15px; font-weight:600; color:var(--gf-note-text); background:var(--gf-note-bg); border-bottom:1px solid var(--gf-note-line); }
.lo--grifo .gf-lab-chrome { display:flex; align-items:center; gap:16px; padding:12px 18px; background:var(--gf-gray-50); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-lab-url { display:flex; align-items:center; gap:7px; flex:1; min-width:0; max-width:420px; padding:5px 14px; font-size:12.5px; line-height:1.4; color:var(--gf-gray-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:999px; }
.lo--grifo .gf-lab-url .inline-block { color:#16a34a; }
.lo--grifo .gf-lab-badge { display:inline-flex; align-items:center; gap:8px; margin-left:auto; padding:5px 12px; font-size:12px; font-weight:600; white-space:nowrap; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:999px; }
.lo--grifo .gf-lab-head { display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; padding:20px 24px; border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-lesson { display:flex; align-items:center; gap:14px; min-width:0; }
.lo--grifo .gf-lesson-icon { display:grid; place-items:center; flex:none; width:46px; height:46px; color:#fff; background:var(--gf-indigo-600); border-radius:14px; box-shadow:0 8px 16px -8px rgb(79 70 229 / .6); }
.lo--grifo .gf-lesson strong { display:block; font-size:19px; font-weight:800; line-height:1.2; letter-spacing:-.025em; color:var(--gf-gray-900); }
.lo--grifo .gf-lesson-meta { display:flex; align-items:center; gap:8px; margin-top:4px; font-size:13.5px; font-weight:500; color:var(--gf-gray-500); }
.lo--grifo .gf-lesson-meta > span:not(.gf-level) + span:not(.gf-level)::before { content:'·'; margin-right:8px; }
.lo--grifo .gf-lab-tools { display:flex; align-items:center; gap:10px; }
.lo--grifo .gf-role-switch { display:flex; gap:2px; padding:3px; background:var(--gf-gray-100); border-radius:12px; }
.lo--grifo .gf-role-switch button { min-height:38px; padding:0 16px; font-size:14px; font-weight:600; color:var(--gf-gray-600); background:transparent; border:0; border-radius:9px; transition:background-color .15s, color .15s, box-shadow .15s; }
.lo--grifo .gf-role-switch button:hover { color:var(--gf-gray-900); }
.lo--grifo .gf-role-switch button[aria-pressed=true] { color:var(--gf-accent-strong); background:var(--gf-surface); box-shadow:0 1px 2px rgb(17 24 39 / .1), 0 2px 6px -2px rgb(49 46 129 / .2); }
.lo--grifo .gf-restart { white-space:nowrap; min-height:44px; padding:0 14px; font-size:14px; font-weight:600; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:12px; box-shadow:var(--gf-shadow-sm); transition:background-color .15s, border-color .15s, transform .15s; }
.lo--grifo .gf-restart > span { display:inline-block; transition:transform .4s var(--gf-ease); }
.lo--grifo .gf-restart:hover { background:var(--gf-gray-50); border-color:var(--gf-gray-300); }
.lo--grifo .gf-restart:hover > span { transform:rotate(180deg); }
.lo--grifo .gf-restart:active { transform:scale(.97); }

.lo--grifo .gf-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px 24px; border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-tab { --hl:var(--gf-lilac); display:flex; align-items:center; gap:12px; min-width:0; min-height:64px; padding:10px 14px; text-align:left; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:14px; transition:border-color .15s, box-shadow .2s, transform .15s, background-color .15s; }
.lo--grifo .gf-tab--gap { --hl:var(--gf-yellow); }
.lo--grifo .gf-tab--cards { --hl:var(--gf-mint); }
.lo--grifo .gf-tab:hover { border-color:var(--gf-indigo-200); background:var(--gf-gray-50); }
.lo--grifo .gf-tab:active { transform:scale(.985); }
.lo--grifo .gf-tab-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; color:var(--gf-gray-700); background:rgb(var(--hl) / .34); border-radius:11px; }
.lo--grifo .gf-tab-text { flex:1; min-width:0; }
.lo--grifo .gf-tab strong { display:block; font-size:15.5px; font-weight:700; line-height:1.3; letter-spacing:-.01em; color:var(--gf-gray-900); }
.lo--grifo .gf-tab small { display:block; margin-top:1px; font-size:13px; line-height:1.35; color:var(--gf-gray-500); }
.lo--grifo .gf-tab[aria-selected=true] { border-color:var(--gf-indigo-500); background:var(--gf-surface); box-shadow:0 0 0 3px rgb(99 102 241 / .14), 0 8px 18px -10px rgb(79 70 229 / .4); }
.lo--grifo .gf-tab[aria-selected=true] .gf-tab-label { background-size:100% 84%; }

.lo--grifo .gf-stage { padding:24px; background:var(--gf-gray-50); }
.lo--grifo .gf-exercise { --hl:var(--gf-lilac); min-height:456px; padding:28px 30px 30px; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:18px; box-shadow:var(--gf-shadow-sm); }
.lo--grifo .gf-exercise--gap { --hl:var(--gf-yellow); }
.lo--grifo .gf-exercise--cards { --hl:var(--gf-mint); }
.lo--grifo .gf-exercise-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-exercise-heading h3 { font-size:21px; line-height:1.25; letter-spacing:-.025em; }
.lo--grifo .gf-exercise-heading p { margin-top:4px; font-size:15px; line-height:1.5; color:var(--gf-gray-500); }

.lo--grifo .gf-quiz-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:32px; margin-top:24px; }
.lo--grifo .gf-reading { display:flex; flex-direction:column; padding:22px 24px; background:var(--gf-indigo-50); border:1px solid var(--gf-indigo-100); border-radius:16px; }
.lo--grifo .gf-reading .gf-small-label { color:var(--gf-accent-strong); }
.lo--grifo .gf-reading h4 { margin:12px 0; font-size:21px; line-height:1.2; color:var(--gf-accent-ink); }
.lo--grifo .gf-reading > p { margin-bottom:10px; font-size:15.5px; line-height:1.75; color:var(--gf-gray-700); }
.lo--grifo .gf-reading-foot { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; font-size:12.5px; font-weight:500; color:var(--gf-gray-500); border-top:1px solid var(--gf-indigo-100); }
/* Grifo de várias linhas (fundo por fragmento): usado nas alternativas, nas evidências e no FAQ */
.lo--grifo .gf-evidence, .lo--grifo .gf-tab-label, .lo--grifo .nv-answer > span:last-child, .lo--grifo .gf-faq-q > span, .lo--grifo .gf-flashcard-word, .lo--grifo .gf-profile-name {
  padding:.1em .28em; margin-inline:-.28em; border-radius:.3em .6em .35em .55em / .6em .3em .6em .35em;
  background-image:linear-gradient(rgb(var(--hl) / var(--hl-a,.58)), rgb(var(--hl) / var(--hl-a,.58))); background-repeat:no-repeat; background-position:0 62%; background-size:0% 84%;
  -webkit-box-decoration-break:clone; box-decoration-break:clone; transition:background-size .45s var(--gf-ease), color .2s; }
.lo--grifo .gf-evidence { --hl:var(--gf-yellow); --hl-a:.7; }
.lo--grifo .gf-tab-label { --hl-a:.62; }
.lo--grifo .gf-lab:has([data-role=teacher][aria-pressed=true]) .gf-evidence { background-size:100% 84%; color:var(--gf-gray-900); }

.lo--grifo .gf-question-meta { white-space:nowrap; display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gf-gray-500); }
.lo--grifo .gf-question h4 { margin-bottom:16px; font-size:22px; line-height:1.25; }
.lo--grifo .gf-quiz-answers { display:flex; flex-direction:column; gap:10px; }
/* Botões criados pelo controller (classes nv-*) */
.lo--grifo .nv-answer { --hl:var(--gf-lilac); position:relative; display:block; width:100%; min-height:56px; padding:15px 16px 15px 60px; font-size:15.5px; font-weight:500; line-height:1.5; text-align:left; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:14px; box-shadow:var(--gf-shadow-sm); transition:border-color .15s, box-shadow .2s, transform .15s, background-color .15s; }
.lo--grifo .nv-answer-letter { position:absolute; left:14px; top:50%; display:grid; place-items:center; width:32px; height:32px; margin-top:-16px; font-size:13px; font-weight:700; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:9px; transition:background-color .15s, color .15s; }
.lo--grifo .nv-answer:hover:not(:disabled) { border-color:var(--gf-indigo-300); box-shadow:0 1px 2px rgb(17 24 39 / .05), 0 8px 18px -10px rgb(79 70 229 / .35); transform:translateY(-1px); }
.lo--grifo .nv-answer:active:not(:disabled) { transform:scale(.99); }
.lo--grifo .nv-answer[aria-pressed=true] { color:var(--gf-gray-900); font-weight:600; border-color:var(--gf-indigo-500); box-shadow:0 0 0 3px rgb(99 102 241 / .14); }
.lo--grifo .nv-answer[aria-pressed=true] > span:last-child { background-size:100% 84%; }
.lo--grifo .nv-answer[aria-pressed=true] .nv-answer-letter { color:#fff; background:var(--gf-indigo-600); }
.lo--grifo .nv-answer:disabled { color:var(--gf-gray-500); box-shadow:none; }
.lo--grifo .nv-answer[data-result] { color:var(--gf-gray-900); font-weight:600; }
.lo--grifo .nv-answer[data-result] > span:last-child { background-size:100% 84%; }
.lo--grifo .nv-answer[data-result] .nv-answer-letter { font-size:0; color:#fff; background-repeat:no-repeat; background-position:center; background-size:16px 16px; }
.lo--grifo .nv-answer[data-result=correct] { --hl:var(--gf-green); --hl-a:.75; background:var(--gf-ok-bg); border-color:var(--gf-ok-line); box-shadow:0 0 0 3px rgb(34 197 94 / .12); }
.lo--grifo .nv-answer[data-result=correct] .nv-answer-letter { background-color:#16a34a; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75l6 6 9-13.5'/%3E%3C/svg%3E"); }
.lo--grifo .nv-answer[data-result=incorrect] { --hl:var(--gf-rose); --hl-a:.7; background:var(--gf-bad-bg); border-color:var(--gf-bad-line); box-shadow:0 0 0 3px rgb(244 63 94 / .1); }
.lo--grifo .nv-answer[data-result=incorrect] .nv-answer-letter { background-color:#e11d48; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E"); }

.lo--grifo .gf-feedback { min-height:50px; margin-block:14px 10px; font-size:15px; font-weight:500; line-height:1.5; color:var(--gf-gray-500); }
.lo--grifo .gf-feedback[data-result] { padding:11px 14px 11px 16px; font-weight:500; border-radius:12px; border-left:4px solid; }
.lo--grifo .gf-feedback[data-result=correct] { color:var(--gf-ok-text); background:var(--gf-ok-bg); border-color:#22c55e; }
.lo--grifo .gf-feedback[data-result=incorrect] { color:var(--gf-bad-text); background:var(--gf-bad-bg); border-color:#fb7185; }
.lo--grifo .gf-quiz-actions { display:flex; justify-content:flex-end; }

.lo--grifo .gf-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin:24px 0 26px; padding:16px 20px; background:var(--gf-gray-50); border:1px dashed var(--gf-gray-300); border-radius:16px; }
.lo--grifo .gf-word-bank > div { display:flex; flex-wrap:wrap; gap:10px; }
.lo--grifo .gf-word { position:relative; z-index:0; min-height:44px; padding:0 18px; font-size:16px; font-weight:600; color:var(--gf-gray-900); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:12px; box-shadow:0 1px 2px rgb(17 24 39 / .06), 0 2px 0 var(--gf-gray-200); transition:transform .15s, box-shadow .15s, border-color .15s, color .15s; }
.lo--grifo .gf-word::before { content:''; position:absolute; z-index:-1; inset:24% 10px 20%; background:rgb(var(--gf-yellow) / .7); border-radius:3px 8px 4px 7px / 7px 3px 8px 4px; transform:skewY(-2deg) scaleX(0); transform-origin:0 50%; transition:transform .3s var(--gf-ease); }
.lo--grifo .gf-word:hover:not(:disabled) { border-color:var(--gf-indigo-300); transform:translateY(-2px); box-shadow:0 1px 2px rgb(17 24 39 / .06), 0 4px 0 var(--gf-indigo-200); }
.lo--grifo .gf-word:active:not(:disabled) { transform:translateY(1px); box-shadow:0 1px 2px rgb(17 24 39 / .06); }
.lo--grifo .gf-word[aria-pressed=true] { border-color:var(--gf-indigo-500); transform:translateY(-3px); box-shadow:0 0 0 3px rgb(99 102 241 / .14), 0 5px 0 var(--gf-indigo-200); }
.lo--grifo .gf-word[aria-pressed=true]::before { transform:skewY(-2deg) scaleX(1); }
.lo--grifo .gf-word:disabled { color:var(--gf-gray-400); text-decoration:line-through; background:transparent; border-style:dashed; border-color:var(--gf-gray-300); box-shadow:none; }
.lo--grifo .gf-gap-text { display:flex; flex-direction:column; gap:10px; }
.lo--grifo .gf-gap-text p { display:flex; align-items:baseline; gap:14px; font-size:18.5px; line-height:2.4; color:var(--gf-gray-700); }
.lo--grifo .gf-line-number { display:inline-grid; place-items:center; flex:none; width:26px; height:26px; font-size:12.5px; font-weight:700; line-height:1; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border:1px solid var(--gf-indigo-200); border-radius:50%; transform:translateY(-2px); }
.lo--grifo .gf-blank { --hl:var(--gf-yellow); position:relative; z-index:0; display:inline-block; min-width:158px; min-height:40px; margin-inline:4px; padding:2px 12px; font-size:14px; font-weight:500; line-height:1.6; color:var(--gf-gray-500); background:var(--gf-gray-50); border:0; border-bottom:2px dashed var(--gf-gray-400); border-radius:8px 8px 2px 2px; vertical-align:baseline; transition:background-color .15s, border-color .15s; }
.lo--grifo .gf-blank::before { content:''; position:absolute; z-index:-1; inset:12% 2px 6%; background:linear-gradient(90deg, rgb(var(--hl) / .9) 0, rgb(var(--hl) / .7) .5em, rgb(var(--hl) / .7) calc(100% - .4em), rgb(var(--hl) / .86) 100%); border-radius:4px 10px 5px 9px / 9px 4px 10px 5px; transform:skewY(-2deg) scaleX(0); transform-origin:0 50%; transition:transform .4s var(--gf-ease); }
.lo--grifo .gf-blank:hover { background:var(--gf-indigo-50); border-color:var(--gf-indigo-400); }
.lo--grifo .gf-blank[data-word] { min-width:0; padding-inline:14px; font-size:18.5px; font-weight:700; color:var(--gf-gray-900); background:transparent; border-bottom-color:transparent; }
.lo--grifo .gf-blank[data-word]::before { transform:skewY(-2deg) scaleX(1); }
.lo--grifo .gf-blank[data-result]::after { content:''; display:inline-block; width:20px; height:20px; margin-left:8px; vertical-align:-3px; border-radius:50%; background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.lo--grifo .gf-blank[data-result=correct] { --hl:var(--gf-green); }
.lo--grifo .gf-blank[data-result=correct]::after { background-color:#16a34a; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75l6 6 9-13.5'/%3E%3C/svg%3E"); }
.lo--grifo .gf-blank[data-result=incorrect] { --hl:var(--gf-rose); text-decoration:underline wavy #e11d48; text-decoration-thickness:1.5px; text-underline-offset:5px; }
.lo--grifo .gf-blank[data-result=incorrect]::after { background-color:#e11d48; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E"); }
.lo--grifo .gf-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding-top:18px; border-top:1px solid var(--gf-gray-100); }
.lo--grifo .gf-gap-footer .gf-feedback { flex:1; min-height:0; margin:0; }

.lo--grifo .gf-deck { position:relative; width:min(100%,520px); margin:30px auto 0; perspective:1200px; }
.lo--grifo .gf-deck-shadow { position:absolute; inset:0; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:22px; box-shadow:var(--gf-shadow-sm); }
.lo--grifo .gf-deck-shadow--a { transform:rotate(-4deg) translateY(8px); background:var(--gf-indigo-50); border-color:var(--gf-indigo-100); }
.lo--grifo .gf-deck-shadow--b { transform:rotate(3deg) translateY(5px); }
.lo--grifo .gf-flashcard { --hl:var(--gf-lilac); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:264px; padding:28px 26px; text-align:center; color:var(--gf-gray-600); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:22px; box-shadow:var(--gf-shadow-md); transition:transform .18s ease, box-shadow .2s ease, background-color .25s, border-color .25s; }
.lo--grifo .gf-flashcard:hover { transform:translateY(-3px); box-shadow:var(--gf-shadow-xl); border-color:var(--gf-indigo-200); }
.lo--grifo .gf-flashcard:active { transform:translateY(0) scale(.99); }
.lo--grifo .gf-flashcard strong { margin-block:20px 12px; font-size:clamp(34px,5vw,54px); font-weight:800; line-height:1.2; letter-spacing:-.04em; color:var(--gf-gray-900); }
.lo--grifo .gf-flashcard-word { background-size:100% 78%; }
.lo--grifo .gf-flashcard em { font-size:17px; line-height:1.5; }
.lo--grifo .gf-flashcard[aria-pressed=true] { --hl:var(--gf-yellow); --hl-a:.72; background:var(--gf-indigo-50); border-color:var(--gf-indigo-200); }
.lo--grifo .gf-flashcard[aria-pressed=true] .gf-small-label { color:var(--gf-accent-strong); }
.lo--grifo .gf-card-hint { display:inline-flex; align-items:center; gap:8px; margin-top:24px; padding:6px 14px; font-size:13px; font-weight:600; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border-radius:999px; }
.lo--grifo .gf-flashcard[aria-pressed=true] .gf-card-hint { background:var(--gf-surface); }
.lo--grifo .gf-card-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:28px; }
.lo--grifo .gf-card-controls > button { display:grid; place-items:center; width:46px; height:46px; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:50%; box-shadow:var(--gf-shadow-sm); transition:transform .15s, border-color .15s, color .15s, background-color .15s; }
.lo--grifo .gf-card-controls > button:hover { color:var(--gf-accent-strong); background:var(--gf-indigo-50); border-color:var(--gf-indigo-200); transform:translateY(-1px); }
.lo--grifo .gf-card-controls > button:active { transform:scale(.94); }
.lo--grifo .gf-card-controls > span { min-width:64px; text-align:center; font-size:14px; font-weight:700; letter-spacing:.06em; color:var(--gf-gray-500); font-variant-numeric:tabular-nums; }

.lo--grifo .gf-teacher-note { display:flex; align-items:flex-start; gap:14px; margin-top:16px; padding:16px 18px; color:var(--gf-note-text); background:var(--gf-note-bg); border:1px solid var(--gf-note-line); border-radius:16px; }
.lo--grifo .gf-teacher-note-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; color:#713f12; background:rgb(var(--gf-yellow) / .7); border-radius:11px; }
.lo--grifo .gf-teacher-note strong { display:block; font-size:15px; font-weight:700; color:var(--gf-note-strong); }
.lo--grifo .gf-teacher-note p > span { display:block; margin-top:2px; font-size:15px; line-height:1.55; }
.lo--grifo .gf-lab-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:14px 24px; font-size:13px; font-weight:500; color:var(--gf-gray-500); background:var(--gf-surface); border-top:1px solid var(--gf-gray-100); }
.lo--grifo .gf-lab-footer > span { display:flex; align-items:center; gap:7px; }
.lo--grifo .gf-lab-footer > span:first-child .inline-block { color:#16a34a; }

/* ── 3 · Benefícios ──────────────────────────────────────────────── */
.lo--grifo .gf-benefits { background:var(--gf-bg); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-benefits ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.lo--grifo .gf-benefits li { display:flex; align-items:center; gap:16px; padding:34px 28px; font-size:clamp(16px,1.45vw,18.5px); font-weight:600; line-height:1.45; letter-spacing:-.012em; color:var(--gf-gray-900); }
.lo--grifo .gf-benefits li:first-child { padding-left:0; }
.lo--grifo .gf-benefits li + li { border-left:1px solid var(--gf-gray-100); }
.lo--grifo .gf-benefit-icon { display:grid; place-items:center; flex:none; width:50px; height:50px; border-radius:15px; transform:rotate(-4deg); }
.lo--grifo .gf-benefits li:nth-child(2) .gf-benefit-icon { transform:rotate(3deg); }

/* ── Seções ──────────────────────────────────────────────────────── */
.lo--grifo .gf-section { position:relative; padding:120px 0; overflow:clip; }
.lo--grifo .gf-section > .gf-wrap { position:relative; z-index:1; }

/* ── 4 · Funcionalidades (bento) ─────────────────────────────────── */
.lo--grifo .gf-features { background:linear-gradient(180deg, var(--gf-bg) 0, var(--gf-indigo-50) 22%, var(--gf-indigo-50) 100%); }
.lo--grifo .gf-band--features { --a:.3; --r:-5deg; right:-8%; top:84px; width:46%; height:88px; transform-origin:100% 50%; }
.lo--grifo .gf-bento { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
.lo--grifo .gf-tile { position:relative; display:flex; flex-direction:column; gap:28px; min-width:0; padding:34px; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:24px; box-shadow:var(--gf-shadow-sm); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lo--grifo .gf-tile:not(.gf-tile--quote):hover { transform:translateY(-4px); border-color:var(--gf-indigo-200); box-shadow:var(--gf-shadow-xl); }
.lo--grifo .gf-tile--ai { grid-column:1 / span 7; }
.lo--grifo .gf-tile--classes { grid-column:8 / span 5; }
.lo--grifo .gf-tile--page { grid-column:1 / span 5; }
.lo--grifo .gf-tile--quote { grid-column:6 / span 7; }
.lo--grifo .gf-tile-tag { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; padding:6px 12px 6px 10px; font-size:13px; font-weight:700; line-height:1.3; border-radius:999px; }
.lo--grifo .gf-tile h3 { margin-top:18px; font-size:clamp(25px,2.3vw,31px); line-height:1.14; letter-spacing:-.035em; }
.lo--grifo .gf-tile-copy > p { max-width:30em; margin-top:12px; font-size:16.5px; line-height:1.65; }
.lo--grifo .gf-link { display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding-block:6px; font-size:15.5px; font-weight:600; color:var(--gf-accent); }
.lo--grifo .gf-link > span { position:relative; z-index:0; }
.lo--grifo .gf-link > span::before { content:''; position:absolute; z-index:-1; inset:16% -5px 2%; background:rgb(var(--gf-lilac) / .45); border-radius:3px 8px 4px 7px / 7px 3px 8px 4px; transform:skewY(-2deg) scaleX(0); transform-origin:0 50%; transition:transform .3s var(--gf-ease); }
.lo--grifo .gf-link > .inline-block { transition:transform .2s ease; }
.lo--grifo .gf-link:hover { color:var(--gf-accent-strong); }
.lo--grifo .gf-link:hover > span::before { transform:skewY(-2deg) scaleX(1); }
.lo--grifo .gf-link:hover > .inline-block { transform:translateX(4px); }

/* Mini-ilustrações de UI */
.lo--grifo .gf-art { display:flex; gap:14px; margin-top:auto; padding:18px; font-size:13px; line-height:1.4; color:var(--gf-gray-700); background-color:var(--gf-gray-50); background-image:radial-gradient(var(--gf-dot) 1.2px, transparent 1.3px); background-size:18px 18px; border:1px solid var(--gf-gray-100); border-radius:18px; }
.lo--grifo .gf-art > * { min-width:0; }
.lo--grifo .gf-art-form, .lo--grifo .gf-art-result, .lo--grifo .gf-art-unit { display:flex; flex-direction:column; gap:10px; padding:16px; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:14px; box-shadow:var(--gf-shadow-md); }
.lo--grifo .gf-art-form { flex:1.25; }
.lo--grifo .gf-art-label { font-size:12px; font-weight:600; color:var(--gf-gray-700); }
.lo--grifo .gf-art-input { display:block; padding:9px 12px; font-size:13.5px; font-weight:500; color:var(--gf-gray-900); background:var(--gf-surface); border:1px solid var(--gf-indigo-400); border-radius:10px; box-shadow:0 0 0 3px rgb(99 102 241 / .14); }
.lo--grifo .gf-caret { display:inline-block; width:1.5px; height:1.1em; margin-left:3px; vertical-align:-.18em; background:var(--gf-indigo-600); }
.lo--grifo .gf-art-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.lo--grifo .gf-art-select { padding:5px 10px; font-size:12px; font-weight:500; color:var(--gf-gray-500); border:1px solid var(--gf-gray-200); border-radius:8px; }
.lo--grifo .gf-art-select b { color:var(--gf-accent-strong); }
.lo--grifo .gf-art-chips { display:flex; flex-wrap:wrap; gap:6px; }
.lo--grifo .gf-art-chips b { padding:4px 10px; font-size:12px; font-weight:600; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:999px; }
.lo--grifo .gf-art-chips b.is-on { color:#fff; background:var(--gf-indigo-600); }
.lo--grifo .gf-art-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; align-self:flex-start; margin-top:2px; padding:8px 14px; font-size:13px; font-weight:600; color:#fff; background:var(--gf-indigo-600); border-radius:10px; box-shadow:0 8px 16px -8px rgb(79 70 229 / .6); }
.lo--grifo .gf-art--ai { align-items:center; flex:1; padding:22px; }
.lo--grifo .gf-art-flow { display:grid; place-items:center; flex:none; width:30px; height:30px; margin-inline:-8px; z-index:1; color:#fff; background:var(--gf-indigo-600); border:3px solid var(--gf-gray-50); border-radius:50%; box-sizing:content-box !important; }
.lo--grifo .gf-art-result { flex:1.1; gap:9px; transform:rotate(1.4deg); }
.lo--grifo .gf-art-result-title { margin-top:2px; font-size:14.5px; font-weight:800; line-height:1.25; letter-spacing:-.02em; color:var(--gf-gray-900); }
.lo--grifo .gf-art-text { font-size:12.5px; line-height:1.6; color:var(--gf-gray-600); }
.lo--grifo .gf-art-text .gf-hl { --hl:var(--gf-yellow); --hl-a:.7; color:var(--gf-gray-900); font-weight:600; }
.lo--grifo .gf-art-opt { display:flex; align-items:center; gap:8px; padding:6px 8px; font-size:12px; font-weight:500; border:1px solid var(--gf-gray-200); border-radius:9px; }
.lo--grifo .gf-art-opt i { display:grid; place-items:center; flex:none; width:20px; height:20px; font-size:10.5px; font-weight:700; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:6px; }
.lo--grifo .gf-art-opt.is-right { font-weight:600; color:var(--gf-gray-900); background:var(--gf-ok-bg); border-color:var(--gf-ok-line); }
.lo--grifo .gf-art-opt.is-right i { color:#fff; background:#16a34a; }
.lo--grifo .gf-art-opt.is-right i svg { stroke-width:3.2 !important; }
.lo--grifo .gf-art-opt.is-right > span { background:linear-gradient(rgb(var(--gf-green) / .75), rgb(var(--gf-green) / .75)) no-repeat 0 60% / 100% 80%; padding-inline:4px; margin-inline:-4px; border-radius:3px 7px 4px 6px; }
.lo--grifo .gf-art-result-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.lo--grifo .gf-art-result .gf-ai-chip { font-size:11.5px; padding:4px 9px 4px 7px; }
.lo--grifo .gf-art-review { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600; color:var(--gf-gray-500); }
.lo--grifo .gf-art-line { display:block; width:var(--w,100%); height:9px; background:var(--gf-gray-200); border-radius:999px; }
.lo--grifo .gf-art-line--hl { height:13px; background:rgb(var(--gf-lilac) / .6); border-radius:3px 8px 4px 7px / 7px 3px 8px 4px; transform:skewY(-2deg); }
.lo--grifo .gf-art-line--title { height:12px; background:var(--gf-gray-900); }
.lo--grifo .gf-art--classes { flex-direction:column; }
.lo--grifo .gf-art-unit { gap:8px; }
.lo--grifo .gf-art-unit-head { display:flex; align-items:center; gap:8px; padding-bottom:10px; font-size:13.5px; font-weight:600; color:var(--gf-gray-900); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-art-unit-head b { padding:2px 8px; font-size:11.5px; font-weight:700; color:#713f12; background:rgb(var(--gf-yellow) / .6); border-radius:4px 8px 5px 7px; transform:skewY(-2deg); }
.lo--grifo .gf-art-unit-head .gf-level { margin-left:auto; font-size:11px; }
.lo--grifo .gf-art-item { display:flex; align-items:center; gap:10px; padding:7px 9px; font-size:13px; font-weight:500; border:1px solid var(--gf-gray-100); border-radius:10px; }
.lo--grifo .gf-art-item i { display:grid; place-items:center; width:24px; height:24px; border-radius:7px; }
.lo--grifo .gf-art-invite { display:flex; align-items:center; gap:10px; padding:9px 10px 9px 12px; font-size:13px; font-weight:600; color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:999px; box-shadow:var(--gf-shadow-md); }
.lo--grifo .gf-art-invite > b { margin-left:auto; padding:5px 12px; font-size:12px; font-weight:600; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border-radius:999px; }
.lo--grifo .gf-art-avatars { display:inline-flex; }
.lo--grifo .gf-art-avatars i { display:grid; place-items:center; width:26px; height:26px; font-size:11px; font-weight:700; color:var(--gf-accent-strong); background:var(--gf-indigo-100); border:2px solid var(--gf-surface); border-radius:50%; }
.lo--grifo .gf-art-avatars i + i { margin-left:-8px; color:#713f12; background:#fef08a; }
.lo--grifo .gf-art-avatars i:last-child { color:#065f46; background:#a7f3d0; }

.lo--grifo .gf-browser { display:flex; flex-direction:column; width:100%; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:14px; box-shadow:var(--gf-shadow-md); overflow:hidden; }
.lo--grifo .gf-browser-bar { display:flex; align-items:center; gap:12px; padding:9px 12px; background:var(--gf-gray-50); border-bottom:1px solid var(--gf-gray-100); }
.lo--grifo .gf-browser-bar .gf-dots { gap:5px; }
.lo--grifo .gf-browser-bar .gf-dots i { width:9px; height:9px; }
.lo--grifo .gf-browser-url { flex:1; min-width:0; padding:3px 12px; font-size:11.5px; line-height:1.5; color:var(--gf-gray-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:999px; }
.lo--grifo .gf-art-profile { display:flex; flex-direction:column; align-items:center; gap:9px; padding:20px 16px 22px; background:linear-gradient(180deg, rgb(var(--gf-mint) / .22), var(--gf-surface) 60%); }
.lo--grifo .gf-art-photo { display:grid; place-items:center; width:48px; height:48px; margin-bottom:4px; color:#065f46; background:var(--gf-surface); border:2px solid var(--gf-surface); border-radius:50%; box-shadow:0 0 0 2px rgb(var(--gf-mint) / .9), var(--gf-shadow-md); }
.lo--grifo .gf-art-profile-cta { display:flex; gap:8px; margin-top:6px; }
.lo--grifo .gf-art-profile-cta b { padding:5px 14px; font-size:12px; font-weight:600; color:var(--gf-surface); background:var(--gf-gray-900); border-radius:999px; }
.lo--grifo .gf-art-profile-cta b + b { color:var(--gf-gray-700); background:var(--gf-surface); border:1px solid var(--gf-gray-200); }

.lo--grifo .gf-tile--quote { justify-content:space-between; align-items:flex-start; gap:32px; padding:40px; color:#fff; background:linear-gradient(135deg, var(--gf-indigo-600) 0%, var(--gf-indigo-700) 100%); border-color:var(--gf-indigo-600); box-shadow:0 30px 60px -24px rgb(79 70 229 / .55); overflow:hidden; --gf-focus:#fff; }
.lo--grifo .gf-tile--quote > p { position:relative; z-index:1; max-width:11em; font-size:clamp(30px,4vw,54px); font-weight:800; line-height:1.14; letter-spacing:-.04em; text-wrap:balance; }
.lo--grifo .gf-tile--quote .gf-btn { position:relative; z-index:1; }
.lo--grifo .gf-quote-scribble { width:88%; right:-16%; bottom:-14%; --hl:255 255 255; transform:rotate(-8deg); }
.lo--grifo .gf-quote-scribble path { stroke:rgb(255 255 255 / .09); }
.lo--grifo .gf-quote-bubbles { position:absolute; z-index:1; right:36px; bottom:36px; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.lo--grifo .gf-quote-bubble { display:inline-flex; align-items:center; gap:9px; padding:8px 16px 8px 8px; font-size:15.5px; font-weight:700; letter-spacing:-.01em; color:var(--gf-indigo-900); background:#fff; border-radius:20px 20px 20px 6px; box-shadow:0 14px 28px -12px rgb(30 27 75 / .55); }
.lo--grifo .gf-quote-bubble i { display:grid; place-items:center; width:28px; height:28px; font-size:12px; font-weight:700; color:var(--gf-indigo-700); background:var(--gf-indigo-100); border-radius:50%; }
.lo--grifo .gf-quote-bubble:nth-child(1) { margin-right:88px; transform:rotate(-3deg); }
.lo--grifo .gf-quote-bubble:nth-child(2) { transform:rotate(2deg); background:#fef9c3; }
.lo--grifo .gf-quote-bubble:nth-child(2) i { color:#713f12; background:#fde047; }
.lo--grifo .gf-quote-bubble:nth-child(3) { margin-right:56px; transform:rotate(-2deg); }
.lo--grifo .gf-quote-bubble:nth-child(3) i { color:#065f46; background:#a7f3d0; }

/* ── 5 · Página do professor (bloco escuro) ──────────────────────── */
.lo--grifo .gf-pages { color:var(--gf-indigo-200); background:radial-gradient(70% 60% at 88% 0%, rgb(99 102 241 / .34), transparent 70%), radial-gradient(50% 50% at 0% 100%, rgb(206 147 255 / .16), transparent 70%), var(--gf-indigo-950); --gf-focus:#fde047; }
.lo--grifo .gf-pages h2 { color:#fff; }
.lo--grifo .gf-pages .gf-eyebrow { color:var(--gf-indigo-300); }
.lo--grifo .gf-pages .gf-heading-side { color:var(--gf-indigo-200); }
.lo--grifo .gf-band--pages-a { --a:.13; --r:-6deg; left:-6%; top:54%; width:118%; height:150px; }
.lo--grifo .gf-band--pages-b { --a:.2; --r:4deg; right:-12%; top:16%; width:52%; height:90px; transform-origin:100% 50%; }
.lo--grifo .gf-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-top:20px; }
.lo--grifo .gf-profile { --hl:var(--gf-lilac); --hl-a:.5; display:block; transition:transform .3s ease; }
.lo--grifo .gf-profile--yellow { --hl:var(--gf-yellow); --hl-a:.4; }
.lo--grifo .gf-profile--mint { --hl:var(--gf-mint); --hl-a:.42; }
.lo--grifo .gf-profile:nth-child(2) { transform:translateY(-20px); }
.lo--grifo .gf-profile:hover { transform:translateY(-8px); }
.lo--grifo .gf-profile:nth-child(2):hover { transform:translateY(-28px); }
.lo--grifo .gf-profile .gf-browser { border-color:rgb(255 255 255 / .16); border-radius:16px; box-shadow:0 0 0 1px rgb(255 255 255 / .06), 0 40px 70px -30px rgb(0 0 0 / .7), 0 0 80px -30px rgb(var(--hl) / .5); transition:box-shadow .3s ease; }
.lo--grifo .gf-profile:hover .gf-browser { box-shadow:0 0 0 1px rgb(255 255 255 / .1), 0 46px 80px -30px rgb(0 0 0 / .8), 0 0 100px -24px rgb(var(--hl) / .75); }
.lo--grifo .gf-browser-view { position:relative; aspect-ratio:1.02 / 1; overflow:hidden; background:var(--gf-gray-100); }
.lo--grifo .gf-browser-view img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; transition:transform .7s ease; }
.lo--grifo .gf-profile:hover .gf-browser-view img { transform:translateY(-18px); }
/* Arte nova (mockup): recorta a página que vem dentro da imagem; --w/--x/--y são % da largura do quadro. */
.lo--grifo .gf-browser-view--mockup img, .lo--grifo .gf-profile:hover .gf-browser-view--mockup img { position:absolute; top:0; left:var(--x,0); width:var(--w,100%); max-width:none; height:auto; min-height:0; margin-top:var(--y,0); object-fit:fill; transform-origin:50% 0; }
.lo--grifo .gf-profile:hover .gf-browser-view--mockup img { transform:scale(1.035); }
.lo--grifo .gf-profile-info { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 4px 0; }
.lo--grifo .gf-profile-info h3 { font-size:22px; line-height:1.2; color:#fff; }
.lo--grifo .gf-profile-info p { margin-top:5px; font-size:15.5px; line-height:1.5; color:var(--gf-indigo-200); }
.lo--grifo .gf-profile:hover .gf-profile-name, .lo--grifo .gf-profile:focus-visible .gf-profile-name { background-size:100% 84%; }
.lo--grifo .gf-profile-arrow { display:grid; place-items:center; flex:none; width:44px; height:44px; color:#fff; border:1px solid rgb(255 255 255 / .22); border-radius:50%; transition:transform .25s ease, background-color .25s, color .25s, border-color .25s; }
.lo--grifo .gf-profile:hover .gf-profile-arrow { color:var(--gf-indigo-950); background:#fff; border-color:#fff; transform:rotate(-45deg); }

/* ── 6 · Planos ──────────────────────────────────────────────────── */
.lo--grifo .gf-pricing { background:var(--gf-bg); }
.lo--grifo .gf-heading--center { margin-bottom:64px; }
.lo--grifo .gf-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:26px; }
.lo--grifo .gf-plan { position:relative; display:flex; flex-direction:column; padding:34px 32px 32px; background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:24px; box-shadow:var(--gf-shadow-sm); transition:transform .25s ease, box-shadow .25s ease, border-color .25s; }
.lo--grifo .gf-plan:hover { transform:translateY(-4px); border-color:var(--gf-indigo-200); box-shadow:var(--gf-shadow-xl); }
.lo--grifo .gf-plan h3 { font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.lo--grifo .gf-plan-description { min-height:3.1em; margin-top:8px; font-size:15.5px; line-height:1.55; color:var(--gf-gray-500); }
.lo--grifo .gf-price { display:flex; align-items:baseline; gap:8px; margin-top:24px; }
.lo--grifo .gf-price strong { font-size:clamp(40px,3.9vw,52px); font-weight:800; line-height:1.1; letter-spacing:-.045em; color:var(--gf-gray-900); }
.lo--grifo .gf-plan:nth-child(1) .gf-price .gf-hl { --hl:var(--gf-mint); }
.lo--grifo .gf-plan:nth-child(3) .gf-price .gf-hl { --hl:var(--gf-sky); }
.lo--grifo .gf-price > span { font-size:16px; font-weight:500; color:var(--gf-gray-500); }
.lo--grifo .gf-credits { display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:18px; padding:6px 13px 6px 10px; font-size:14px; font-weight:600; line-height:1.35; color:var(--gf-accent-strong); background:var(--gf-indigo-50); border-radius:999px; }
.lo--grifo .gf-plan ul { flex:1; display:flex; flex-direction:column; gap:13px; margin:26px 0 30px; padding-top:24px; border-top:1px solid var(--gf-gray-100); }
.lo--grifo .gf-plan li { display:flex; align-items:flex-start; gap:11px; font-size:15.5px; line-height:1.45; color:var(--gf-gray-700); }
.lo--grifo .gf-plan-check { display:grid; place-items:center; flex:none; width:21px; height:21px; margin-top:1px; color:#166534; background:rgb(var(--gf-green) / .55); border-radius:50%; }
.lo--grifo .gf-plan-check svg { stroke-width:2.8 !important; }
.lo--grifo .gf-plan .gf-btn { width:100%; min-height:50px; }
.lo--grifo .gf-plan--featured { color:var(--gf-indigo-100); background:linear-gradient(160deg, var(--gf-indigo-600) 0%, #4a41dd 55%, var(--gf-indigo-700) 100%); border-color:var(--gf-indigo-600); box-shadow:0 36px 70px -26px rgb(79 70 229 / .6), 0 14px 28px -14px rgb(49 46 129 / .35); transform:translateY(-14px); --gf-focus:#fde047; }
.lo--grifo .gf-plan--featured:hover { transform:translateY(-18px); border-color:var(--gf-indigo-600); box-shadow:0 44px 80px -26px rgb(79 70 229 / .7), 0 14px 28px -14px rgb(49 46 129 / .35); }
.lo--grifo .gf-plan--featured h3, .lo--grifo .gf-plan--featured .gf-price strong { color:#fff; }
.lo--grifo .gf-plan--featured .gf-price .gf-hl { --hl:255 255 255; --hl-a:.17; --hl-a2:.26; }
.lo--grifo .gf-plan--featured .gf-plan-description, .lo--grifo .gf-plan--featured .gf-price > span { color:var(--gf-indigo-100); }
.lo--grifo .gf-plan--featured .gf-credits { color:#fff; background:rgb(255 255 255 / .16); }
.lo--grifo .gf-plan--featured ul { border-top-color:rgb(255 255 255 / .2); }
.lo--grifo .gf-plan--featured li { color:#fff; }
.lo--grifo .gf-plan--featured .gf-plan-check { color:var(--gf-indigo-700); background:#fff; }
.lo--grifo .gf-plan-ribbon { position:absolute; top:-17px; left:28px; display:inline-flex; align-items:center; gap:7px; padding:7px 14px 7px 11px; font-size:13px; font-weight:700; line-height:1.3; white-space:nowrap; color:#422006; background:#fde047; border-radius:5px 12px 6px 11px / 11px 5px 12px 6px; box-shadow:0 8px 18px -8px rgb(30 27 75 / .5); transform:rotate(-2deg); }
.lo--grifo .gf-pricing-note { margin-top:44px; text-align:center; font-size:14.5px; color:var(--gf-gray-500); }

/* ── 7 · Dúvidas ─────────────────────────────────────────────────── */
.lo--grifo .gf-faq { background:var(--gf-gray-50); border-top:1px solid var(--gf-gray-100); }
.lo--grifo .gf-faq-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:72px; align-items:start; }
.lo--grifo .gf-faq-intro { position:sticky; top:104px; }
.lo--grifo .gf-faq-intro h2 { margin-top:18px; }
.lo--grifo .gf-faq-intro .gf-heading-side { margin-top:22px; }
.lo--grifo .gf-faq-double { position:relative; width:150px; height:24px; margin-top:34px; --hl:var(--gf-pink); }
.lo--grifo .gf-faq-double path { stroke-width:7; stroke:rgb(var(--hl) / .85); }
.lo--grifo .gf-faq-list { display:flex; flex-direction:column; gap:14px; }
.lo--grifo .gf-faq details { --hl:var(--gf-lilac); background:var(--gf-surface); border:1px solid var(--gf-gray-200); border-radius:18px; box-shadow:var(--gf-shadow-sm); transition:border-color .2s, box-shadow .25s; }
.lo--grifo .gf-faq details:nth-child(2) { --hl:var(--gf-yellow); --hl-a:.66; }
.lo--grifo .gf-faq details:nth-child(3) { --hl:var(--gf-mint); }
.lo--grifo .gf-faq details:nth-child(4) { --hl:var(--gf-sky); }
.lo--grifo .gf-faq details:hover { border-color:var(--gf-indigo-200); }
.lo--grifo .gf-faq details[open] { border-color:var(--gf-indigo-200); box-shadow:var(--gf-shadow-md); }
.lo--grifo .gf-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; font-size:18.5px; font-weight:700; line-height:1.4; letter-spacing:-.02em; color:var(--gf-gray-900); cursor:pointer; list-style:none; border-radius:17px; }
.lo--grifo .gf-faq summary::-webkit-details-marker { display:none; }
.lo--grifo .gf-faq details[open] .gf-faq-q > span { background-size:100% 84%; }
.lo--grifo .gf-faq-chevron { display:grid; place-items:center; flex:none; width:36px; height:36px; color:var(--gf-gray-600); background:var(--gf-gray-100); border-radius:50%; transition:transform .25s ease, background-color .2s, color .2s; }
.lo--grifo .gf-faq summary:hover .gf-faq-chevron { color:var(--gf-accent-strong); background:var(--gf-indigo-50); }
.lo--grifo .gf-faq details[open] .gf-faq-chevron { color:#fff; background:var(--gf-indigo-600); transform:rotate(180deg); }
.lo--grifo .gf-faq details > p { padding:0 24px 24px; max-width:42em; font-size:16.5px; line-height:1.7; color:var(--gf-gray-600); }

/* ── 8 · CTA final ───────────────────────────────────────────────── */
.lo--grifo .gf-final { position:relative; padding:150px 0 158px; background:var(--gf-bg); border-top:1px solid var(--gf-gray-100); overflow:clip; }
.lo--grifo .gf-band--final-a { --a:.34; --r:-7deg; left:-6%; top:40%; width:116%; height:clamp(110px,15vw,210px); border-radius:60px 160px 80px 140px / 140px 60px 160px 80px; }
.lo--grifo .gf-band--final-b { --hl:var(--gf-yellow); --a:.46; --r:-4deg; left:46%; top:70%; width:64%; height:clamp(70px,8vw,120px); }
.lo--grifo .gf-band--final-c { --hl:var(--gf-mint); --a:.36; --r:-10deg; left:-8%; top:12%; width:42%; height:clamp(60px,7vw,100px); }
.lo--grifo .gf-band--final-d { --hl:var(--gf-sky); --a:.34; --r:5deg; left:68%; top:9%; width:40%; height:clamp(44px,5vw,72px); }
.lo--grifo .gf-final-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.lo--grifo .gf-final h2 { max-width:13.5em; font-size:clamp(38px,6vw,86px); line-height:1.03; letter-spacing:-.05em; }
.lo--grifo .gf-final .gf-hl { --hl-a:.78; --hl-a2:.9; }
.lo--grifo .gf-final p { margin-top:28px; font-size:clamp(18px,1.7vw,22px); font-weight:500; color:var(--gf-gray-700); }
.lo--grifo .gf-final .gf-btn { margin-top:38px; }
.lo--grifo .gf-final-caption { display:inline-flex; align-items:center; gap:9px; margin-top:22px; padding:6px 14px 6px 8px; font-size:14.5px; font-weight:500; color:var(--gf-gray-700); background:color-mix(in srgb, var(--gf-bg) 80%, transparent); border-radius:999px; }
.lo--grifo .gf-final-ticks { width:64px; position:relative; margin-bottom:10px; --hl:var(--gf-yellow); }
.lo--grifo .gf-final-ticks path { stroke:rgb(234 179 8 / .9); }

/* ── Rodapé ──────────────────────────────────────────────────────── */
.lo--grifo .gf-footer { padding:44px 0 124px; background:var(--gf-bg); border-top:1px solid var(--gf-gray-100); }
.lo--grifo .gf-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.lo--grifo .gf-footer .gf-logo { margin-left:-6px; }
.lo--grifo .gf-footer-brand p { margin-top:10px; font-size:15px; color:var(--gf-gray-500); }
.lo--grifo .gf-footer nav { display:flex; flex-wrap:wrap; gap:6px 26px; font-size:15px; font-weight:500; color:var(--gf-gray-600); }
.lo--grifo .gf-footer nav a { padding:8px 0; transition:color .15s; }
.lo--grifo .gf-footer nav a:hover { color:var(--gf-accent-strong); }
.lo--grifo .gf-footer small { font-size:14px; color:var(--gf-gray-500); }

/* Troca de tema suave: só cores; elementos com transição própria mantêm a deles. */
.lo--grifo :where(.gf-page) :where(header, section, footer, article, aside, details, div, ul, li, p, h1, h2, h3, h4, small, strong) { transition:background-color .3s ease, border-color .3s ease, color .3s ease; }

/* ── Animações (só com movimento permitido) ──────────────────────── */
@keyframes gf-ink { from { background-position:100% 0; } to { background-position:0 0; } }
@keyframes gf-menu-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes gf-pop-in { from { opacity:0; transform:scale(.96) translateY(-4px); } to { opacity:1; transform:scale(1) translateY(0); } }
@keyframes gf-grifar { from { transform:skewY(-2deg) scaleX(0); } to { transform:skewY(-2deg) scaleX(1); } }
@keyframes gf-band-in { from { transform:rotate(var(--r,-4deg)) scaleX(0); } to { transform:rotate(var(--r,-4deg)) scaleX(1); } }
@keyframes gf-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes gf-rise { from { opacity:0; translate:0 22px; } to { opacity:1; translate:0 0; } }
@keyframes gf-pen-move { from { left:-.3em; } to { left:calc(100% + .3em); } }
@keyframes gf-pen-rest { 0%,100% { translate:0 0; } 50% { translate:.12em -.28em; } }
@keyframes gf-bob { 0%,100% { translate:0 0; } 50% { translate:0 -.5em; } }
@keyframes gf-caret { 0%,55% { opacity:1; } 56%,100% { opacity:0; } }
@keyframes gf-flip-a { 0% { transform:rotateX(0); } 50% { transform:rotateX(88deg); } 100% { transform:rotateX(0); } }
@keyframes gf-flip-b { 0% { transform:rotateX(0); } 50% { transform:rotateX(-88deg); } 100% { transform:rotateX(0); } }
@keyframes gf-word-a { 0%,50% { background-size:0% 78%; } 100% { background-size:100% 78%; } }
@keyframes gf-word-b { 0%,50% { background-size:0% 78%; } 100% { background-size:100% 78%; } }
@keyframes gf-word-dark-a { 0%,50% { background-size:0% 100%, 0% 78%; } 100% { background-size:100% 100%, 100% 78%; } }
@keyframes gf-word-dark-b { 0%,50% { background-size:0% 100%, 0% 78%; } 100% { background-size:100% 100%, 100% 78%; } }
@keyframes gf-pop { 0% { scale:1; } 45% { scale:1.025; } 100% { scale:1; } }
@keyframes gf-shake { 0%,100% { translate:0 0; } 25% { translate:-5px 0; } 75% { translate:5px 0; } }
@keyframes gf-pulse { 0%,100% { box-shadow:0 0 0 3px rgb(34 197 94 / .2); } 50% { box-shadow:0 0 0 6px rgb(34 197 94 / .08); } }

@media (prefers-reduced-motion:no-preference) {
  /* Hero: os grifos são passados em sequência, com a caneta acompanhando o da resposta certa */
  .lo--grifo .gf-hl--load::before { animation:gf-grifar .75s var(--gf-ease) both; animation-delay:var(--gf-delay,.3s); }
  .lo--grifo .gf-d1 { --gf-delay:.35s; }
  .lo--grifo .gf-d2 { --gf-delay:.95s; }
  .lo--grifo .gf-d4 { --gf-delay:2.5s; }
  .lo--grifo .gf-d5 { --gf-delay:2.9s; }
  .lo--grifo .gf-mini, .lo--grifo .gf-float { animation:gf-rise .7s cubic-bezier(.2,.7,.2,1) both; }
  .lo--grifo .gf-mini--card { animation-delay:.1s; }
  .lo--grifo .gf-mini--quiz { animation-delay:.2s; }
  .lo--grifo .gf-mini--gap { animation-delay:.32s; }
  .lo--grifo .gf-float--ai { animation-delay:.5s; }
  .lo--grifo .gf-float--aha { animation:gf-rise .6s cubic-bezier(.2,.7,.2,1) 2.4s both, gf-bob 5s ease-in-out 3s infinite; }
  .lo--grifo .gf-float--lesson { animation-delay:.6s; }
  .lo--grifo .gf-stack-band { animation:gf-stack-band-in 1s var(--gf-ease) .15s both; }
  .lo--grifo .gf-stack-band--yellow { animation-delay:.45s; }
  .lo--grifo .gf-mini-stroke::before { animation:gf-grifar 1.1s var(--gf-ease) 1.3s both; }
  .lo--grifo .gf-stack-pen { animation:gf-pen-move 1.1s var(--gf-ease) 1.3s both, gf-pen-rest 4.5s ease-in-out 2.4s infinite; }
  .lo--grifo .gf-stack-ticks path { animation:gf-draw .5s ease-out 2.6s both; }
  .lo--grifo .gf-caret { animation:gf-caret 1.1s steps(1) infinite; }
  .lo--grifo .gf-menu { animation:gf-menu-in .22s ease-out; }
  .lo--grifo .gf-lang-menu { animation:gf-pop-in .16s ease-out; }
  .lo--grifo .gf-live-dot { animation:gf-pulse 2s ease-in-out infinite; }
  .dark .lo--grifo .gf-hl--load .gf-hl-t { animation:gf-ink .75s var(--gf-ease) both; animation-delay:var(--gf-delay,.3s); }
  .dark .lo--grifo .gf-mini-stroke .gf-hl-t { animation:gf-ink 1.1s var(--gf-ease) 1.3s both; }
  /* Demo */
  .dark .lo--grifo .gf-flashcard[aria-pressed=true] .gf-flashcard-word { animation-name:gf-word-dark-a; }
  .dark .lo--grifo .gf-flashcard[aria-pressed=false] .gf-flashcard-word { animation-name:gf-word-dark-b; }
  .lo--grifo .gf-flashcard[aria-pressed=true] { animation:gf-flip-a .42s ease; }
  .lo--grifo .gf-flashcard[aria-pressed=false] { animation:gf-flip-b .42s ease; }
  .lo--grifo .gf-flashcard[aria-pressed=true] .gf-flashcard-word { animation:gf-word-a .8s var(--gf-ease); }
  .lo--grifo .gf-flashcard[aria-pressed=false] .gf-flashcard-word { animation:gf-word-b .8s var(--gf-ease); }
  .lo--grifo .nv-answer[data-result=correct], .lo--grifo .gf-blank[data-result=correct] { animation:gf-pop .4s ease; }
  .lo--grifo .nv-answer[data-result=incorrect], .lo--grifo .gf-blank[data-result=incorrect] { animation:gf-shake .35s ease; }
  /* Ao rolar: cada grifo cresce da esquerda para a direita conforme entra na tela */
  @supports (animation-timeline:view()) {
    .lo--grifo .gf-hl:not(.gf-hl--load):not(.gf-hl--static)::before { animation:gf-grifar linear both; animation-timeline:view(); animation-range:entry 20% cover 24%; }
    .dark .lo--grifo .gf-hl:not(.gf-hl--load):not(.gf-hl--static) .gf-hl-t { animation:gf-ink linear both; animation-timeline:view(); animation-range:entry 20% cover 24%; }
    .lo--grifo .gf-band { animation:gf-band-in linear both; animation-timeline:view(); animation-range:entry 0% cover 30%; }
    .lo--grifo .gf-mark:not(.gf-stack-ticks):not(.gf-quote-scribble) path { animation:gf-draw linear both; animation-timeline:view(); animation-range:entry 20% cover 26%; }
  }
}
@keyframes gf-stack-band-in { from { scale:0 1; } to { scale:1 1; } }
@media (prefers-reduced-motion:reduce) {
  .lo--grifo .gf-page *, .lo--grifo .gf-page *::before, .lo--grifo .gf-page *::after { transition:none !important; animation:none !important; }
}

/* Tinta que acompanha o traço: quando o texto fica escuro sobre um grifo sólido em fundo escuro,
   a cor do texto é um degradê recortado nas letras que avança junto com o grifo (nunca há texto escuro sobre fundo escuro). */
.lo--grifo .gf-hl--glow.gf-hl--yellow .gf-hl-t { --gf-hl-paper:#fff; color:transparent; background:linear-gradient(90deg, var(--gf-hl-ink) 50%, var(--gf-hl-paper) 50%) 0 0 / 200% 100% no-repeat; -webkit-background-clip:text; background-clip:text; }
@media (prefers-reduced-motion:no-preference) {
  @supports (animation-timeline:view()) {
    .lo--grifo .gf-hl--glow.gf-hl--yellow .gf-hl-t { animation:gf-ink linear both; animation-timeline:view(); animation-range:entry 20% cover 24%; }
  }
}

/* ── Responsivo ──────────────────────────────────────────────────── */
@media (max-width:1100px) {
  .lo--grifo .gf-nav-links { gap:0; font-size:14.5px; }
  .lo--grifo .gf-nav-links a { padding:9px 9px; }
  .lo--grifo .gf-hero-grid { gap:36px; }
  .lo--grifo .gf-bento, .lo--grifo .gf-plans, .lo--grifo .gf-profiles { gap:20px; }
  .lo--grifo .gf-tile { padding:28px; }
  .lo--grifo .gf-plan { padding:30px 24px 26px; }
  .lo--grifo .gf-tab small { display:none; }
  .lo--grifo .gf-demo-arrow { display:none; }
  .lo--grifo .gf-faq-grid { gap:48px; }
  .lo--grifo .gf-art--ai { flex-direction:column; align-items:stretch; }
  .lo--grifo .gf-art-flow { align-self:center; margin:-8px 0; transform:rotate(90deg); }
  .lo--grifo .gf-art-result { transform:none; }
}
@media (min-width:921px) {
  .lo--grifo .gf-menu { display:none !important; }
}
@media (max-width:920px) {
  .lo--grifo .gf-nav-links { display:none; }
  .lo--grifo .gf-lang, .lo--grifo .gf-nav-divider { display:none; }
  .lo--grifo .gf-burger { display:inline-flex; margin-left:2px; }
  .lo--grifo .gf-nav-actions .gf-btn--sm { margin-inline:6px 2px; }
  .lo--grifo .gf-hero { padding:52px 0 84px; }
  .lo--grifo .gf-hero-halo { top:34%; right:-30%; width:120vw; }
  .lo--grifo .gf-hero-grid { grid-template-columns:minmax(0,1fr); gap:60px; }
  .lo--grifo .gf-hero-copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
  .lo--grifo .gf-actions { justify-content:center; }
  .lo--grifo .gf-page h1 { font-size:clamp(40px,9vw,72px); }
  .lo--grifo .gf-stack { max-width:520px; }
  .lo--grifo .gf-heading { grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; margin-bottom:40px; }
  .lo--grifo .gf-heading--center { margin-bottom:56px; }
  .lo--grifo .gf-demo-arrow { display:none; }
  .lo--grifo .gf-demo { padding:80px 0 88px; }
  .lo--grifo .gf-band--demo { top:296px; width:84%; height:80px; }
  .lo--grifo .gf-section { padding:92px 0; }
  .lo--grifo .gf-benefits ul { grid-template-columns:minmax(0,1fr); padding-block:12px; }
  .lo--grifo .gf-benefits li, .lo--grifo .gf-benefits li:first-child { padding:16px 0; }
  .lo--grifo .gf-benefits li + li { border-left:0; border-top:1px solid var(--gf-gray-100); }
  .lo--grifo .gf-tile--ai, .lo--grifo .gf-tile--classes, .lo--grifo .gf-tile--page, .lo--grifo .gf-tile--quote { grid-column:1 / -1; }
  .lo--grifo .gf-art--ai { flex-direction:row; align-items:center; }
  .lo--grifo .gf-art-flow { align-self:center; margin:0 -8px; transform:none; }
  .lo--grifo .gf-art-result { transform:rotate(1.4deg); }
  .lo--grifo .gf-tile--quote { min-height:340px; }
  .lo--grifo .gf-plans { grid-template-columns:minmax(0,1fr); gap:36px; max-width:540px; margin-inline:auto; }
  .lo--grifo .gf-plan--featured, .lo--grifo .gf-plan--featured:hover { transform:none; }
  .lo--grifo .gf-plan-description { min-height:0; }
  .lo--grifo .gf-profiles { grid-template-columns:minmax(0,1fr); gap:44px; max-width:540px; margin-inline:auto; padding-top:0; }
  .lo--grifo .gf-profile:nth-child(2), .lo--grifo .gf-profile:nth-child(2):hover { transform:none; }
  .lo--grifo .gf-faq-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  .lo--grifo .gf-faq-intro { position:static; }
  .lo--grifo .gf-faq-double { display:none; }
  .lo--grifo .gf-quiz-columns { grid-template-columns:minmax(0,1fr); gap:24px; }
  .lo--grifo .gf-exercise { min-height:0; }
  .lo--grifo .gf-final { padding:112px 0 120px; }
  .lo--grifo .gf-footer-inner { flex-direction:column; align-items:flex-start; gap:20px; }
}
@media (min-width:641px) and (max-width:920px) {
  .lo--grifo .gf-profiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:none; }
  .lo--grifo .gf-profile-info h3 { font-size:19px; }
  .lo--grifo .gf-profile-info p { font-size:14.5px; }
  .lo--grifo .gf-profile-arrow { display:none; }
  .lo--grifo .gf-tile--classes { grid-column:1 / span 6; }
  .lo--grifo .gf-tile--page { grid-column:7 / span 6; }
}
@media (max-width:640px) {
  .lo--grifo { font-size:16px; }
  .lo--grifo .gf-wrap { width:calc(100% - 32px); }
  .lo--grifo .gf-nav-inner { min-height:60px; gap:10px; }
  .lo--grifo .gf-logo { font-size:23px; }
  .lo--grifo .gf-nav-actions { gap:0; }
  .lo--grifo .gf-nav-actions > .gf-nav-login, .lo--grifo .gf-nav-actions > .gf-nav-logout { display:none; }
  .lo--grifo .gf-only-wide { display:none; }
  .lo--grifo .gf-only-narrow { display:inline; }
  .lo--grifo .gf-page main > section[id] { scroll-margin-top:64px; }
  .lo--grifo .gf-hero { padding:40px 0 68px; }
  .lo--grifo .gf-pill { font-size:13px; }
  .lo--grifo .gf-hero h1 { margin-top:20px; }
  .lo--grifo .gf-lead { margin-top:20px; }
  .lo--grifo .gf-actions { flex-direction:column; align-self:stretch; gap:12px; margin-top:28px; }
  .lo--grifo .gf-actions .gf-btn { width:100%; }
  .lo--grifo .gf-hero-grid { gap:48px; }
  .lo--grifo .gf-demo { padding:64px 0 72px; }
  .lo--grifo .gf-band--demo { display:none; }
  .lo--grifo .gf-band--features { top:18px; width:56%; height:44px; }
  .lo--grifo .gf-heading-side { font-size:16.5px; }
  .lo--grifo .gf-lab { border-radius:18px; }
  .lo--grifo .gf-lab-chrome { padding:10px 14px; gap:12px; }
  .lo--grifo .gf-lab-url { display:none; }
  .lo--grifo .gf-lab-head { padding:16px; }
  .lo--grifo .gf-lab-tools { width:100%; justify-content:space-between; }
  .lo--grifo .gf-role-switch button { min-height:40px; }
  .lo--grifo .gf-tabs { gap:8px; padding:12px 16px; }
  .lo--grifo .gf-tab { flex-direction:column; align-items:center; gap:8px; min-height:0; padding:12px 6px; text-align:center; }
  .lo--grifo .gf-tab-icon { width:36px; height:36px; }
  .lo--grifo .gf-tab strong { font-size:13px; line-height:1.25; }
  .lo--grifo .gf-stage { padding:12px; }
  .lo--grifo .gf-exercise { padding:20px 16px 22px; border-radius:16px; }
  .lo--grifo .gf-exercise-heading { flex-direction:column-reverse; gap:12px; padding-bottom:16px; }
  .lo--grifo .gf-exercise-heading h3 { font-size:19px; }
  .lo--grifo .gf-reading { padding:18px; }
  .lo--grifo .gf-question h4 { font-size:20px; }
  .lo--grifo .nv-answer { padding:13px 14px 13px 56px; font-size:15px; }
  .lo--grifo .nv-answer-letter { left:12px; }
  .lo--grifo .gf-quiz-actions .gf-btn { width:100%; }
  .lo--grifo .gf-word-bank { margin:20px 0; padding:14px; }
  .lo--grifo .gf-word { padding:0 14px; font-size:15.5px; }
  .lo--grifo .gf-gap-text p { gap:10px; font-size:16.5px; line-height:2.5; }
  .lo--grifo .gf-blank { min-width:132px; font-size:13px; }
  .lo--grifo .gf-blank[data-word] { font-size:16.5px; }
  .lo--grifo .gf-gap-footer { flex-direction:column; align-items:stretch; gap:14px; }
  .lo--grifo .gf-flashcard { min-height:236px; padding:24px 18px; }
  .lo--grifo .gf-flashcard em { font-size:15.5px; }
  .lo--grifo .gf-lab-footer { padding:12px 16px; font-size:12.5px; }
  .lo--grifo .gf-section { padding:72px 0; }
  .lo--grifo .gf-bento { gap:16px; }
  .lo--grifo .gf-tile { gap:22px; padding:24px 20px 20px; border-radius:20px; }
  .lo--grifo .gf-tile--quote { padding:30px 24px; }
  .lo--grifo .gf-art { padding:12px; border-radius:14px; }
  .lo--grifo .gf-art--ai { flex-direction:column; align-items:stretch; padding:12px; }
  .lo--grifo .gf-art-flow { align-self:center; margin:-8px 0; transform:rotate(90deg); }
  .lo--grifo .gf-art-result { transform:none; }
  .lo--grifo .gf-tile--quote { min-height:0; }
  .lo--grifo .gf-quote-bubbles { position:relative; right:auto; bottom:auto; align-items:flex-start; align-self:stretch; }
  .lo--grifo .gf-quote-bubble { font-size:14.5px; }
  .lo--grifo .gf-plan { padding:30px 24px 26px; }
  .lo--grifo .gf-faq summary { padding:18px; font-size:17px; gap:12px; }
  .lo--grifo .gf-faq details > p { padding:0 18px 20px; font-size:16px; }
  .lo--grifo .gf-final { padding:88px 0 96px; }
  .lo--grifo .gf-final .gf-btn { width:100%; }
  .lo--grifo .gf-footer { padding:36px 0 112px; }
}
@media (max-width:380px) {
  .lo--grifo .gf-page h1 { font-size:37px; }
  .lo--grifo .gf-page h2 { font-size:30px; }
  .lo--grifo .gf-btn--sm { padding:0 12px; font-size:13.5px; }
  .lo--grifo .gf-lab-badge { font-size:11px; padding:4px 9px; }
  .lo--grifo .gf-restart { padding:0 11px; }
  .lo--grifo .gf-role-switch button { padding:0 12px; }
  .lo--grifo .gf-blank { min-width:116px; }
  .lo--grifo .gf-benefits li { font-size:15.5px; }
  .lo--grifo .gf-pill { font-size:12px; padding:6px 12px 6px 10px; gap:6px; }
  .lo--grifo .gf-caption { font-size:13.5px; }
  .lo--grifo .gf-lab-head { padding:14px 12px; }
  .lo--grifo .gf-lab-tools { gap:6px; }
  .lo--grifo .gf-role-switch button, .lo--grifo .gf-restart { font-size:13px; }
  .lo--grifo .gf-question-meta { font-size:10.5px; letter-spacing:.05em; }
  .lo--grifo .gf-reading-foot { font-size:12px; }
  .lo--grifo .gf-tabs { padding:12px; gap:6px; }
  .lo--grifo .gf-tab strong { font-size:12.5px; }
  .lo--grifo .gf-benefit-icon { width:44px; height:44px; }
}

/* ── Modo escuro ─────────────────────────────────────────────────────
   A classe `dark` fica no <html> (layout + landing--dark-mode, chave localStorage.darkMode do app).
   Quase tudo muda só pelos tokens; abaixo deles ficam os ajustes de cor literal.
   O grifo no escuro: nos títulos e palavras-chave vira traço sólido e luminoso com tinta escura;
   nos estados da demo continua translúcido, com texto claro. */
html:has(> .lo--grifo) { color-scheme:light; }
html.dark:has(> .lo--grifo) { color-scheme:dark; background:#030712; }
.dark .lo--grifo {
  --gf-bg:#030712; --gf-surface:#111827;
  --gf-gray-50:#0b1120; --gf-gray-100:#1f2937; --gf-gray-200:#2b3648; --gf-gray-300:#4b5563; --gf-gray-400:#6b7280;
  --gf-gray-500:#9ca3af; --gf-gray-600:#d1d5db; --gf-gray-700:#e5e7eb; --gf-gray-900:#f9fafb;
  --gf-indigo-50:rgb(99 102 241 / .13); --gf-indigo-100:rgb(99 102 241 / .24); --gf-indigo-200:rgb(129 140 248 / .42); --gf-indigo-300:#6366f1; --gf-indigo-500:#818cf8;
  --gf-accent:#818cf8; --gf-accent-strong:#a5b4fc; --gf-accent-ink:#c7d2fe;
  --gf-dot:#1c2433; --gf-nav-bg:rgb(3 7 18 / .8); --gf-hl-paper:#f9fafb;
  --gf-ok-bg:rgb(34 197 94 / .12); --gf-ok-line:rgb(74 222 128 / .5); --gf-ok-text:#bbf7d0;
  --gf-bad-bg:rgb(244 63 94 / .13); --gf-bad-line:rgb(251 113 133 / .5); --gf-bad-text:#fecdd3;
  --gf-note-bg:rgb(253 224 71 / .07); --gf-note-line:rgb(253 224 71 / .3); --gf-note-text:#fde68a; --gf-note-strong:#fef08a;
  --gf-hero-top:rgb(99 102 241 / .17); --gf-halo:radial-gradient(closest-side, rgb(99 102 241 / .36) 0%, rgb(99 102 241 / .13) 48%, rgb(99 102 241 / 0) 100%);
  --gf-shadow-sm:0 1px 2px rgb(0 0 0 / .45);
  --gf-shadow-md:0 1px 2px rgb(0 0 0 / .45), 0 12px 28px -12px rgb(0 0 0 / .75);
  --gf-shadow-xl:0 2px 4px rgb(0 0 0 / .45), 0 30px 60px -22px rgb(0 0 0 / .9), 0 0 70px -30px rgb(129 140 248 / .5);
  --gf-focus:#a5b4fc;
}
/* Grifo sólido + tinta */
.dark .lo--grifo .gf-hl { --hl-a:.95; --hl-a2:1; }
.dark .lo--grifo .gf-hl-t, .lo--grifo .gf-hl--glow.gf-hl--yellow .gf-hl-t { padding:.18em .08em; margin-inline:-.08em; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.dark .lo--grifo .gf-hl-t { color:transparent; background:linear-gradient(90deg, var(--gf-hl-ink) 50%, var(--gf-hl-paper) 50%) 0 0 / 200% 100% no-repeat; -webkit-background-clip:text; background-clip:text; }
.dark .lo--grifo .gf-hl::before { top:9%; height:93%; }
.dark .lo--grifo :is(h1,h2) .gf-hl::before, .dark .lo--grifo .gf-tile--quote .gf-hl::before { box-shadow:0 0 34px rgb(var(--hl) / .22); }
.dark .lo--grifo .gf-hl--yellow { --hl-a:.95; --hl-a2:1; }
.dark .lo--grifo .gf-mini-stroke::before { background:rgb(var(--gf-green)); }
.dark .lo--grifo .gf-plan--featured .gf-price .gf-hl { --hl:var(--gf-yellow); --hl-a:.96; --hl-a2:1; }
/* Grifo translúcido (estados e hovers) */
.dark .lo--grifo .nv-answer, .dark .lo--grifo .gf-faq details, .dark .lo--grifo .gf-tab-label { --hl-a:.4; }
.dark .lo--grifo .nv-answer[data-result=correct] { --hl-a:.34; }
.dark .lo--grifo .nv-answer[data-result=incorrect] { --hl-a:.36; }
.dark .lo--grifo .gf-evidence { --hl-a:.36; }
.dark .lo--grifo .gf-lab:has([data-role=teacher][aria-pressed=true]) .gf-evidence { color:#fef9c3; }
/* Flashcard: traço sólido; a tinta é uma segunda camada de fundo recortada nas letras (cresce junto com o traço) */
.dark .lo--grifo .gf-flashcard-word { color:transparent; background-image:linear-gradient(var(--gf-hl-ink), var(--gf-hl-ink)), linear-gradient(rgb(var(--hl) / .95), rgb(var(--hl) / .95)); -webkit-background-clip:text, border-box; background-clip:text, border-box; background-size:100% 100%, 100% 78%; background-position:0 0, 0 62%; }
.dark .lo--grifo .gf-art-opt.is-right > span { background-image:linear-gradient(rgb(var(--gf-green) / .3), rgb(var(--gf-green) / .3)); }
.dark .lo--grifo .gf-art-line--hl { background:rgb(var(--gf-lilac) / .75); }
/* Lacuna preenchida e palavra selecionada: traço sólido, tinta acompanhando */
.dark .lo--grifo .gf-word .gf-hl-t { background-position:100% 0; transition:background-position .3s var(--gf-ease); }
.dark .lo--grifo .gf-word[aria-pressed=true] .gf-hl-t { background-position:0 0; }
.dark .lo--grifo .gf-word:disabled .gf-hl-t { background:none; color:inherit; }
.dark .lo--grifo .gf-word[aria-pressed=true] { box-shadow:0 0 0 3px rgb(129 140 248 / .25), 0 5px 0 rgb(129 140 248 / .4); }
.dark .lo--grifo .gf-blank[data-word] { color:var(--gf-hl-ink); transition:color .2s ease .12s, background-color .15s, border-color .15s; }
.dark .lo--grifo .gf-blank::before { background:rgb(var(--hl) / .95); }
.dark .lo--grifo .gf-word::before { background:rgb(var(--gf-yellow) / .95); }
.dark .lo--grifo .gf-blank[data-result=incorrect] { text-decoration-color:#9f1239; }
/* Tons de chips e ícones */
.dark .lo--grifo .gf-tint--lilac, .dark .lo--grifo .gf-mini-icon--lilac { background:rgb(var(--gf-lilac) / .2); color:#e9d5ff; }
.dark .lo--grifo .gf-tint--yellow, .dark .lo--grifo .gf-mini-icon--yellow { background:rgb(var(--gf-yellow) / .17); color:#fde68a; }
.dark .lo--grifo .gf-tint--mint, .dark .lo--grifo .gf-mini-icon--mint { background:rgb(var(--gf-mint) / .17); color:#a7f3d0; }
.dark .lo--grifo .gf-tab-icon { background:rgb(var(--hl) / .2); }
.dark .lo--grifo .gf-ai-chip, .dark .lo--grifo .gf-float--ai { color:#e9d5ff; background:rgb(var(--gf-lilac) / .16); border-color:rgb(var(--gf-lilac) / .42); }
.dark .lo--grifo .gf-float--ai { background:#1d1533; }
.dark .lo--grifo .gf-caption-check, .dark .lo--grifo .gf-plan-check { color:#86efac; background:rgb(var(--gf-green) / .2); }
.dark .lo--grifo .gf-plan--featured .gf-plan-check { color:var(--gf-indigo-700); background:#fff; }
.dark .lo--grifo .gf-art-unit-head b { color:#422006; background:rgb(var(--gf-yellow) / .95); }
.dark .lo--grifo .gf-art-photo { color:#6ee7b7; }
.dark .lo--grifo .gf-teacher-note-icon { color:#fde047; background:rgb(var(--gf-yellow) / .16); }
.dark .lo--grifo .gf-lang-item[aria-current=true] .gf-lang-code { background:rgb(var(--gf-lilac) / .95); }
.dark .lo--grifo .gf-eyebrow::before { background:rgb(var(--gf-lilac) / .95); }
.dark .lo--grifo .gf-cursor path { fill:#f9fafb; stroke:#111827; }
.dark .lo--grifo .gf-role-switch button[aria-pressed=true] { color:#fff; background:#374151; box-shadow:0 1px 2px rgb(0 0 0 / .5); }
.dark .lo--grifo .gf-menu-lang-item[aria-current=true] { color:#fff; background:#374151; box-shadow:0 1px 2px rgb(0 0 0 / .5); }
.dark .lo--grifo .gf-mini-blank { background:#0b1120; }
.dark .lo--grifo .gf-float-bar i { background:linear-gradient(90deg, #818cf8, #6366f1); }
/* Superfícies e seções */
.dark .lo--grifo .gf-btn--ghost:hover { border-color:rgb(129 140 248 / .55); box-shadow:0 1px 2px rgb(0 0 0 / .45), 0 10px 24px -12px rgb(99 102 241 / .6); }
.dark .lo--grifo .gf-lab { box-shadow:0 2px 4px rgb(0 0 0 / .5), 0 40px 80px -28px rgb(0 0 0 / .9), 0 0 110px -36px rgb(99 102 241 / .6); }
.dark .lo--grifo .gf-menu { box-shadow:0 30px 50px -24px rgb(0 0 0 / .8); }
.dark .lo--grifo .gf-stack-band--lilac { background:rgb(var(--gf-lilac) / .42); }
.dark .lo--grifo .gf-stack-band--yellow { background:rgb(var(--gf-yellow) / .78); }
.dark .lo--grifo .gf-band--demo { --hl:var(--gf-lilac); --a:.17; }
.dark .lo--grifo .gf-band--features { --a:.2; }
.dark .lo--grifo .gf-band--final-a { --a:.3; }
.dark .lo--grifo .gf-band--final-b { --a:.24; }
.dark .lo--grifo .gf-band--final-c, .dark .lo--grifo .gf-band--final-d { --a:.24; }
.dark .lo--grifo .gf-pages { --gf-indigo-200:#c7d2fe; --gf-indigo-300:#a5b4fc; background:radial-gradient(70% 60% at 88% 0%, rgb(99 102 241 / .42), transparent 70%), radial-gradient(50% 50% at 0% 100%, rgb(206 147 255 / .2), transparent 70%), #1e1b4b; box-shadow:inset 0 1px 0 rgb(129 140 248 / .3), inset 0 -1px 0 rgb(129 140 248 / .3); }
.dark .lo--grifo .gf-pages .gf-hl--glow { --hl-a:.95; }
.dark .lo--grifo .gf-profile .gf-browser { border-color:rgb(255 255 255 / .14); }
.dark .lo--grifo .gf-tile--quote, .dark .lo--grifo .gf-plan--featured { border-color:rgb(129 140 248 / .5); }
.dark .lo--grifo .gf-plan--featured { color:#e0e7ff; }
.dark .lo--grifo .gf-plan--featured .gf-plan-description, .dark .lo--grifo .gf-plan--featured .gf-price > span { color:#e0e7ff; }
.dark .lo--grifo .gf-final-ticks path { stroke:rgb(var(--gf-yellow) / .95); }
/* Proposta 11 · Índigo — a marca do Nivo em blocos de cor, com o produto como ilustração.
   Inter, índigo-600, cartões brancos arredondados, sombras difusas e o grifo lilás.
   Todo seletor fica restrito a .lo--indigo (classe do <body> no layout landing_option). */

/* ── Base ─────────────────────────────────────────────────────────── */
.lo--indigo {
  --i50:#eef2ff; --i100:#e0e7ff; --i200:#c7d2fe; --i300:#a5b4fc; --i400:#818cf8; --i500:#6366f1; --i600:#4f46e5; --i700:#4338ca; --i800:#3730a3; --i900:#312e81; --i950:#1e1b4b;
  --g50:#f9fafb; --g100:#f3f4f6; --g200:#e5e7eb; --g300:#d1d5db; --g400:#9ca3af; --g500:#6b7280; --g600:#4b5563; --g700:#374151; --g800:#1f2937; --g900:#111827;
  --violet:#8b5cf6; --violet-100:#ede9fe; --violet-200:#ddd6fe; --violet-400:#a78bfa; --violet-600:#7c3aed; --violet-700:#6d28d9; --violet-800:#5b21b6;
  --sky:#0ea5e9; --sky-100:#e0f2fe; --sky-200:#bae6fd; --sky-400:#38bdf8; --sky-700:#0369a1; --sky-800:#075985;
  --emerald:#10b981; --emerald-50:#ecfdf5; --emerald-100:#d1fae5; --emerald-200:#a7f3d0; --emerald-400:#34d399; --emerald-600:#059669; --emerald-700:#047857; --emerald-800:#065f46;
  --amber:#f59e0b; --amber-50:#fffbeb; --amber-100:#fef3c7; --amber-200:#fde68a; --amber-300:#fcd34d; --amber-400:#fbbf24; --amber-700:#b45309; --amber-800:#92400e; --amber-900:#78350f;
  --rose:#f43f5e; --rose-50:#fff1f2; --rose-100:#ffe4e6; --rose-200:#fecdd3; --rose-400:#fb7185; --rose-600:#e11d48; --rose-700:#be123c; --rose-800:#9f1239;
  --lilac:#ce93ff; --sun:#fde047;
  --ig-font:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ig-shadow-sm:0 1px 2px #1118270f, 0 1px 3px #1118270a;
  --ig-shadow-md:0 2px 4px #1118270a, 0 12px 28px -8px #1e1b4b24;
  --ig-shadow-lg:0 4px 8px #1118270a, 0 28px 56px -16px #1e1b4b3d;
  --ig-shadow-indigo:0 1px 2px #1e1b4b33, 0 10px 22px -8px #4f46e58c;
  margin:0; background:#fff; color:var(--g600); font-family:var(--ig-font); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.lo--indigo :where(.ig-nav,main,.ig-footer,.ig-skip) *, .lo--indigo :where(.ig-nav,main,.ig-footer) *::before, .lo--indigo :where(.ig-nav,main,.ig-footer) *::after { box-sizing:border-box; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(h1,h2,h3,h4,p,ul,ol) { margin:0; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(ul,ol) { padding:0; list-style:none; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(a) { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(button) { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(button:disabled) { cursor:default; }
.lo--indigo :where(.ig-nav,main,.ig-footer) :where(i) { font-style:normal; }
.lo--indigo :where(.ig-nav,main,.ig-footer) [hidden] { display:none !important; }
.lo--indigo :where(.ig-nav,main,.ig-footer,.ig-skip) :where(a,button,summary,[tabindex]):focus-visible, .lo--indigo .ig-skip:focus-visible { outline:3px solid var(--i500); outline-offset:3px; border-radius:10px; }
.lo--indigo .ig-demo-block :where(a,button,[tabindex]):focus-visible { outline-color:var(--i600); }
.lo--indigo .ig-pages-block a:focus-visible { outline-color:var(--lilac); border-radius:20px; }
.lo--indigo .ig-final-card a:focus-visible, .lo--indigo .ig-plan--featured a:focus-visible { outline-color:#fff; }
.lo--indigo :where(.ig-nav,main,.ig-footer) .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--indigo :where(.ig-nav,main,.ig-footer) .inline-block > svg { display:block; width:100%; height:100%; stroke-width:1.8; }
.lo--indigo main > section[id] { scroll-margin-top:88px; }
.lo--indigo .ig-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--indigo .ig-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 18px; background:var(--i600); color:#fff; font-weight:600; border-radius:12px; box-shadow:var(--ig-shadow-indigo); text-decoration:none; }
.lo--indigo .ig-skip:focus { top:16px; }
.lo--indigo main :where(p) { text-wrap:pretty; }
.lo--indigo main :where(h1,h2,h3,h4) { color:var(--g900); font-weight:800; letter-spacing:-.03em; text-wrap:balance; }
.lo--indigo main h1 { font-size:clamp(40px,5.4vw,70px); line-height:1.05; letter-spacing:-.045em; }
.lo--indigo main h2 { font-size:clamp(32px,4.3vw,56px); line-height:1.08; letter-spacing:-.04em; }

/* ── Assinatura: o grifo de marca-texto ───────────────────────────── */
.lo--indigo .ig-hl { position:relative; z-index:0; display:inline-block; padding:0 .14em; margin:0 -.06em; white-space:nowrap; }
.lo--indigo .ig-hl::before { content:''; position:absolute; z-index:-1; left:0; right:0; top:15%; height:80%; background:rgb(206 147 255 / .6); border-radius:.06em; transform:skewY(-2deg); transform-origin:left center; }
.lo--indigo .ig-hl--sun { color:var(--i950); }
.lo--indigo .ig-hl--sun::before { background:var(--sun); top:8%; height:90%; }
.lo--indigo .ig-hl--lilac { color:var(--i950); }
.lo--indigo .ig-hl--lilac::before { background:var(--lilac); top:8%; height:90%; }

/* Formas em SVG */
.lo--indigo .ig-shape { position:absolute; display:block; pointer-events:none; fill:currentColor; overflow:visible; }

/* Etiquetas (pílulas) */
.lo--indigo .ig-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 14px; font-size:13.5px; font-weight:600; line-height:1.3; letter-spacing:-.005em; border-radius:999px; }
.lo--indigo .ig-eyebrow--indigo { background:var(--i50); color:var(--i700); box-shadow:inset 0 0 0 1px var(--i100); }
.lo--indigo .ig-eyebrow--violet { background:var(--violet-100); color:var(--violet-700); }
.lo--indigo .ig-eyebrow--emerald { background:var(--emerald-100); color:var(--emerald-800); }
.lo--indigo .ig-eyebrow--glass { background:#ffffff1f; color:#fff; box-shadow:inset 0 0 0 1px #ffffff2e; }
.lo--indigo .ig-live-dot { display:inline-block; flex:none; width:8px; height:8px; border-radius:50%; background:var(--emerald-400); box-shadow:0 0 0 3px #34d39940; }

/* Bolinhas de janela */
.lo--indigo .ig-dots { display:inline-flex; gap:6px; flex:none; }
.lo--indigo .ig-dots i { width:11px; height:11px; border-radius:50%; background:#f87171; }
.lo--indigo .ig-dots i:nth-child(2) { background:#fbbf24; }
.lo--indigo .ig-dots i:nth-child(3) { background:#34d399; }

/* ── Botões ───────────────────────────────────────────────────────── */
.lo--indigo .ig-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 22px; font-family:var(--ig-font); font-size:15.5px; font-weight:600; line-height:1.2; letter-spacing:-.005em; color:#fff; background:var(--i600); border:1px solid transparent; border-radius:14px; box-shadow:var(--ig-shadow-indigo), inset 0 1px 0 #ffffff33; transition:transform .18s cubic-bezier(.3,.7,.3,1), box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; white-space:nowrap; }
.lo--indigo .ig-btn:hover { background:var(--i700); transform:translateY(-2px); box-shadow:0 1px 2px #1e1b4b33, 0 16px 28px -8px #4f46e5a6, inset 0 1px 0 #ffffff33; }
.lo--indigo .ig-btn:active { transform:translateY(0); box-shadow:0 1px 2px #1e1b4b40, 0 4px 10px -4px #4f46e580; }
.lo--indigo .ig-btn .inline-block { transition:transform .18s ease; }
.lo--indigo a.ig-btn:hover .inline-block:last-child { transform:translateX(3px); }
.lo--indigo .ig-btn--big { min-height:58px; padding:16px 28px; font-size:17px; border-radius:16px; }
.lo--indigo .ig-btn--small { min-height:42px; padding:9px 16px; font-size:14.5px; border-radius:12px; }
.lo--indigo .ig-btn--compact { min-height:46px; padding:11px 20px; font-size:15px; border-radius:13px; }
.lo--indigo .ig-btn--ghost { color:var(--g900); background:#fff; border-color:var(--g200); box-shadow:var(--ig-shadow-sm); }
.lo--indigo .ig-btn--ghost:hover { color:var(--i700); background:#fff; border-color:var(--i200); box-shadow:0 1px 2px #1118270a, 0 12px 24px -10px #4f46e540; }
.lo--indigo .ig-btn--ghost:active { box-shadow:var(--ig-shadow-sm); }
.lo--indigo .ig-btn--white { color:var(--i700); background:#fff; box-shadow:0 1px 2px #1e1b4b33, 0 14px 28px -10px #1e1b4b8c; }
.lo--indigo .ig-btn--white:hover { color:var(--i800); background:#fff; box-shadow:0 1px 2px #1e1b4b33, 0 20px 36px -10px #1e1b4ba6; }
.lo--indigo .ig-btn-play { display:grid; place-items:center; width:28px; height:28px; margin-left:-6px; border-radius:50%; background:var(--i50); color:var(--i600); transition:background-color .18s ease, color .18s ease; }
.lo--indigo .ig-btn-play svg { fill:currentColor; }
.lo--indigo .ig-btn--ghost:hover .ig-btn-play { background:var(--i600); color:#fff; }

/* ── Navegação ────────────────────────────────────────────────────── */
.lo--indigo .ig-nav { position:sticky; top:0; z-index:50; background:#ffffffd9; -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); border-bottom:1px solid var(--g100); }
.lo--indigo .ig-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(1180px,calc(100% - 64px)); height:72px; margin-inline:auto; }
.lo--indigo .ig-logo { display:inline-flex; font-size:25px; font-weight:800; line-height:1.2; letter-spacing:-.035em; color:var(--g900); }
.lo--indigo .ig-logo .ig-hl { padding:0 .2em; }
.lo--indigo .ig-nav-links { display:flex; align-items:center; gap:4px; }
.lo--indigo .ig-nav-links a { padding:8px 14px; font-size:15px; font-weight:500; color:var(--g600); border-radius:10px; transition:color .15s ease, background-color .15s ease; }
.lo--indigo .ig-nav-links a:hover { color:var(--i600); background:var(--i50); }
.lo--indigo .ig-nav-actions { display:flex; align-items:center; gap:8px; }
.lo--indigo .ig-nav-login { padding:9px 14px; font-size:15px; font-weight:600; color:var(--g700); border-radius:10px; transition:color .15s ease, background-color .15s ease; }
.lo--indigo .ig-nav-login:hover { color:var(--i600); background:var(--i50); }
.lo--indigo .ig-only-narrow { display:none; }

/* ── 1 · Hero ─────────────────────────────────────────────────────── */
.lo--indigo .ig-hero { position:relative; padding:clamp(40px,5vw,72px) 0 clamp(64px,7vw,104px); }
.lo--indigo .ig-hero-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; gap:clamp(32px,4vw,64px); }
.lo--indigo .ig-hero-copy { position:relative; z-index:1; }
.lo--indigo .ig-hero h1 { margin-top:22px; }
.lo--indigo .ig-lead { max-width:30em; margin-top:24px; font-size:clamp(17.5px,1.5vw,20px); line-height:1.6; color:var(--g600); }
.lo--indigo .ig-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.lo--indigo .ig-caption { display:flex; align-items:center; gap:9px; margin-top:20px; font-size:14.5px; font-weight:500; color:var(--g500); }
.lo--indigo .ig-caption-check { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--emerald-100); color:var(--emerald-700); }
.lo--indigo .ig-caption-check svg { stroke-width:3; }

/* Composição ilustrada (tudo em em; escala pelo font-size) */
.lo--indigo .ig-art { position:relative; justify-self:end; width:34em; height:39em; font-size:min(16px, calc((100vw - 64px) * .46 / 34)); line-height:1.35; color:var(--g900); }
.lo--indigo .ig-art .inline-block { width:1.15em !important; height:1.15em !important; }
.lo--indigo .ig-art-block { position:absolute; inset:0 0 1.5em 2em; border-radius:3em; background:var(--i50); overflow:hidden; }
.lo--indigo .ig-art-block::after { content:''; position:absolute; inset:0; background-image:radial-gradient(circle, var(--i300) 1.1px, transparent 1.6px); background-size:1.5em 1.5em; background-position:.75em .75em; -webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 55%); mask-image:linear-gradient(200deg,#000 0%,transparent 55%); opacity:.9; }
.lo--indigo .ig-geo { position:absolute; display:block; }
.lo--indigo .ig-geo--quarter { top:0; right:0; width:9em; height:9em; background:var(--violet-400); border-radius:0 3em 0 100%; }
.lo--indigo .ig-geo--circle { left:.6em; top:16em; width:6em; height:6em; border-radius:50%; background:var(--amber-400); }
.lo--indigo .ig-geo--arc { right:3.5em; bottom:1.5em; width:10em; height:5em; border:1.7em solid var(--sky-400); border-bottom:0; border-radius:10em 10em 0 0; }
.lo--indigo .ig-geo--pill { left:4.5em; bottom:0; width:9em; height:3em; border-radius:3em; background:var(--emerald-400); }
.lo--indigo .ig-geo--rose { left:14.5em; bottom:0; width:3em; height:3em; border-radius:100% 0 0 0; background:var(--rose-400); }
.lo--indigo .ig-art-sparkle { color:var(--i600); }
.lo--indigo .ig-art-sparkle--a { left:7.4em; top:1.6em; width:2.4em; height:2.4em; }
.lo--indigo .ig-art-sparkle--b { right:1.6em; top:12.5em; width:1.5em; height:1.5em; color:var(--amber-400); }
.lo--indigo .ig-art-sparkle--c { left:20.5em; bottom:2.6em; width:1.3em; height:1.3em; color:var(--violet); }

.lo--indigo .ig-win { position:absolute; left:4.5em; top:4.4em; width:25em; background:#fff; border:1px solid var(--g200); border-radius:1.25em; box-shadow:0 .3em .6em #1118270a, 0 2.2em 4em -1.2em #1e1b4b59; overflow:hidden; }
.lo--indigo .ig-win-bar { display:flex; align-items:center; gap:.9em; padding:.75em 1em; background:var(--g50); border-bottom:1px solid var(--g100); }
.lo--indigo .ig-art .ig-dots, .lo--indigo .ig-ill .ig-dots { gap:.36em; }
.lo--indigo .ig-art .ig-dots i, .lo--indigo .ig-ill .ig-dots i { width:.62em; height:.62em; }
.lo--indigo .ig-win-url { flex:1; min-width:0; padding:.32em .9em; font-size:.68em; color:var(--g400); background:#fff; border:1px solid var(--g200); border-radius:99em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lo--indigo .ig-win-body { padding:1.15em 1.2em 1.25em; }
.lo--indigo .ig-win-head { display:flex; align-items:center; gap:.8em; padding-bottom:1em; border-bottom:1px solid var(--g100); }
.lo--indigo .ig-win-tile { display:grid; place-items:center; flex:none; width:2.7em; height:2.7em; border-radius:.8em; background:var(--i600); color:#fff; box-shadow:0 .5em 1em -.4em #4f46e599; }
.lo--indigo .ig-win-tile .inline-block { width:1.35em !important; height:1.35em !important; }
.lo--indigo .ig-win-title { flex:1; min-width:0; display:flex; flex-direction:column; }
.lo--indigo .ig-win-title strong { font-size:1.06em; font-weight:700; letter-spacing:-.02em; }
.lo--indigo .ig-win-title small, .lo--indigo .ig-win-row-text small { font-size:.72em; color:var(--g500); }
.lo--indigo .ig-win-level { padding:.22em .7em; font-size:.74em; font-weight:700; color:var(--i700); background:var(--i100); border-radius:99em; }
.lo--indigo .ig-win-rows { display:grid; gap:.55em; margin-top:.95em; }
.lo--indigo .ig-win-row { display:flex; align-items:center; gap:.75em; padding:.5em .65em; border:1px solid var(--g200); border-radius:.85em; background:#fff; }
.lo--indigo .ig-win-row-icon { display:grid; place-items:center; flex:none; width:2.15em; height:2.15em; border-radius:.62em; background:var(--t-mid); color:var(--t-ink); }
.lo--indigo .ig-win-row-text { flex:1; min-width:0; display:flex; flex-direction:column; }
.lo--indigo .ig-win-row-text strong { font-size:.84em; font-weight:600; letter-spacing:-.01em; }
.lo--indigo .ig-win-ok { display:grid; place-items:center; width:1.4em; height:1.4em; border-radius:50%; background:var(--emerald-100); color:var(--emerald-700); }
.lo--indigo .ig-win-ok .inline-block { width:.8em !important; height:.8em !important; }
.lo--indigo .ig-win-ok svg { stroke-width:3.2; }
.lo--indigo .ig-win-ai { display:inline-flex; align-items:center; gap:.3em; padding:.2em .6em; font-size:.7em; font-weight:700; color:var(--violet-700); background:var(--violet-100); border-radius:99em; }
.lo--indigo .ig-win-ai .inline-block { width:1.1em !important; height:1.1em !important; }
.lo--indigo .ig-win-shimmer { display:block; width:8em; height:.62em; margin-top:.45em; border-radius:99em; background:linear-gradient(90deg,var(--g100) 0%,var(--violet-100) 50%,var(--g100) 100%); background-size:200% 100%; }
.lo--indigo .ig-win-progress { display:flex; align-items:center; gap:.8em; margin-top:1em; font-size:.72em; font-weight:600; color:var(--g500); white-space:nowrap; }
.lo--indigo .ig-win-track { flex:1; height:.6em; border-radius:99em; background:var(--g100); overflow:hidden; }
.lo--indigo .ig-win-track i { display:block; width:78%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--i500),var(--violet)); }

.lo--indigo .ig-art-gap { position:absolute; left:0; top:26.6em; width:19.4em; padding:1em 1.1em 1.1em; background:#fff; border:1px solid var(--g200); border-radius:1.15em; box-shadow:0 .3em .6em #1118270a, 0 1.8em 3.2em -1em #1e1b4b52; }
.lo--indigo .ig-art-gap-label { display:inline-flex; align-items:center; gap:.5em; font-size:.7em; font-weight:700; letter-spacing:.02em; color:var(--amber-800); }
.lo--indigo .ig-art-gap-label i { display:grid; place-items:center; width:1.9em; height:1.9em; border-radius:.55em; background:var(--amber-100); }
.lo--indigo .ig-art-gap-label .inline-block { width:1.1em !important; height:1.1em !important; }
.lo--indigo .ig-art-gap p { margin-top:.7em; font-size:.88em; font-weight:500; line-height:1.9; color:var(--g700); }
.lo--indigo .ig-art-slot { display:inline-block; padding:0 .7em; font-weight:700; line-height:1.65; color:var(--sky-800); background:var(--sky-100); border:1.5px solid var(--sky-200); border-radius:.55em; }
.lo--indigo .ig-art-chips { display:flex; gap:.45em; margin-top:.75em; }
.lo--indigo .ig-chip { display:inline-flex; align-items:center; gap:.4em; padding:.34em .7em .34em .55em; font-size:.72em; font-weight:600; border:1.5px solid; border-radius:.7em; background:#fff; }
.lo--indigo .ig-chip::before { content:''; width:.55em; height:.95em; background-image:radial-gradient(circle,currentColor 1px,transparent 1.3px); background-size:.3em .33em; opacity:.55; }
.lo--indigo .ig-chip--violet { color:var(--violet-700); border-color:var(--violet-200); background:var(--violet-100); }
.lo--indigo .ig-chip--rose { color:var(--rose-800); border-color:var(--rose-200); background:var(--rose-100); }
.lo--indigo .ig-chip--ghost { color:var(--g400); border-style:dashed; border-color:var(--g300); background:transparent; }
.lo--indigo .ig-art-cursor { left:7.2em; top:4.3em; width:1.7em; height:1.7em; filter:drop-shadow(0 .2em .3em #11182740); }

.lo--indigo .ig-art-flash { position:absolute; right:.4em; top:22.6em; width:11.5em; transform:rotate(5deg); }
.lo--indigo .ig-art-flash::before { content:''; position:absolute; inset:0; border-radius:1.2em; background:var(--i300); transform:rotate(-10deg) translate(-.5em,.2em); }
.lo--indigo .ig-art-flash-face { position:relative; display:flex; flex-direction:column; align-items:center; padding:1.1em 1em 1.2em; text-align:center; color:#fff; background:var(--i600); border-radius:1.2em; box-shadow:0 1.8em 3em -1em #312e81a6, inset 0 1px 0 #ffffff40; }
.lo--indigo .ig-art-flash-label { padding:.2em .7em; font-size:.62em; font-weight:700; letter-spacing:.08em; background:#ffffff26; border-radius:99em; }
.lo--indigo .ig-art-flash strong { margin-top:.5em; font-size:1.7em; font-weight:800; letter-spacing:-.04em; line-height:1.15; }
.lo--indigo .ig-art-flash small { margin-top:.2em; font-size:.74em; color:var(--i200); }

.lo--indigo .ig-art-aha { position:absolute; left:0; top:2.6em; padding:.3em .8em .38em; font-size:1.55em; font-weight:800; letter-spacing:-.04em; color:var(--i950); background:var(--sun); border-radius:.9em .9em .9em .2em; box-shadow:0 .7em 1.3em -.5em #ca8a0499; transform:rotate(-4deg); }
.lo--indigo .ig-art-ai { position:absolute; right:1.2em; top:4em; display:inline-flex; align-items:center; gap:.45em; padding:.55em .95em .55em .7em; font-size:.82em; font-weight:700; color:var(--violet-700); background:#fff; border:1px solid var(--violet-200); border-radius:99em; box-shadow:0 1em 2em -.7em #7c3aed80; }
.lo--indigo .ig-art-ai .inline-block { color:var(--violet); }
.lo--indigo .ig-art-class { position:absolute; right:.4em; bottom:1.2em; display:flex; align-items:center; gap:.7em; padding:.6em 1em .6em .65em; background:#fff; border:1px solid var(--g200); border-radius:99em; box-shadow:0 1.2em 2.4em -.9em #1e1b4b66; }
.lo--indigo .ig-art-class-text { display:flex; flex-direction:column; }
.lo--indigo .ig-art-class-text strong { font-size:.8em; font-weight:700; letter-spacing:-.01em; }
.lo--indigo .ig-art-class-text small { display:flex; align-items:center; gap:.45em; font-size:.66em; color:var(--g500); }
.lo--indigo .ig-art-class .ig-live-dot { width:.6em; height:.6em; background:var(--emerald); box-shadow:0 0 0 .2em #10b98133; }
.lo--indigo .ig-avatars { display:inline-flex; flex:none; }
.lo--indigo .ig-av { display:grid; place-items:center; width:2.1em; height:2.1em; margin-left:-.55em; font-size:.78em; font-weight:700; border-radius:50%; border:2px solid #fff; }
.lo--indigo .ig-av:first-child { margin-left:0; }
.lo--indigo .ig-av--sky { background:var(--sky-100); color:var(--sky-800); }
.lo--indigo .ig-av--rose { background:var(--rose-100); color:var(--rose-800); }
.lo--indigo .ig-av--emerald { background:var(--emerald-100); color:var(--emerald-800); }
.lo--indigo .ig-av--amber { background:var(--amber-100); color:var(--amber-800); }

/* ── Código de cor das atividades ─────────────────────────────────── */
.lo--indigo .ig-tone--quiz { --t:var(--i600); --t-soft:var(--i50); --t-mid:var(--i100); --t-line:var(--i200); --t-ink:var(--i700); --t-solid:var(--i600); --t-on:#fff; --t-glow:#4f46e54d; }
.lo--indigo .ig-tone--gap { --t:var(--amber); --t-soft:var(--amber-50); --t-mid:var(--amber-100); --t-line:var(--amber-300); --t-ink:var(--amber-800); --t-solid:var(--amber-400); --t-on:var(--amber-900); --t-glow:#f59e0b4d; }
.lo--indigo .ig-tone--cards { --t:var(--emerald); --t-soft:var(--emerald-50); --t-mid:var(--emerald-100); --t-line:var(--emerald-200); --t-ink:var(--emerald-700); --t-solid:var(--emerald-600); --t-on:#fff; --t-glow:#10b9814d; }

/* ── 2 · Demonstração ─────────────────────────────────────────────── */
.lo--indigo .ig-demo { padding:0; }
.lo--indigo .ig-demo-block, .lo--indigo .ig-pages-block { position:relative; isolation:isolate; margin-inline:clamp(8px,1.6vw,24px); border-radius:clamp(28px,4vw,52px); overflow:hidden; }
.lo--indigo .ig-demo-block { padding:clamp(60px,7.5vw,112px) 0 clamp(44px,5vw,72px); background:var(--i600); color:#fff; }
.lo--indigo .ig-demo-geo { position:absolute; z-index:-1; display:block; pointer-events:none; }
.lo--indigo .ig-demo-geo--quarter { top:0; right:0; width:clamp(160px,24vw,340px); aspect-ratio:1; background:var(--i500); border-radius:0 0 0 100%; }
.lo--indigo .ig-demo-geo--ring { left:clamp(-150px,-8vw,-80px); bottom:clamp(-150px,-8vw,-80px); width:clamp(240px,30vw,420px); aspect-ratio:1; border:clamp(32px,4vw,56px) solid var(--i500); border-radius:50%; }
.lo--indigo .ig-demo-geo--dots { top:clamp(28px,4vw,56px); right:clamp(24px,4vw,64px); width:190px; height:130px; background-image:radial-gradient(circle,#ffffff8c 1.5px,transparent 2px); background-size:19px 19px; }
.lo--indigo .ig-demo-geo--pill { right:-44px; bottom:22%; width:120px; height:40px; border-radius:40px; background:var(--violet-400); }
.lo--indigo .ig-demo-spark { z-index:-1; color:var(--sun); }
.lo--indigo .ig-demo-spark--a { left:clamp(12px,3vw,48px); top:clamp(24px,4vw,56px); width:34px; height:34px; color:var(--i300); }
.lo--indigo .ig-demo-spark--b { right:clamp(20px,22vw,330px); top:clamp(70px,11vw,170px); width:26px; height:26px; }

/* Cabeçalhos de seção */
.lo--indigo .ig-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:end; gap:32px 64px; margin-bottom:clamp(36px,4.5vw,60px); }
.lo--indigo .ig-heading h2 { margin-top:18px; max-width:15em; }
.lo--indigo .ig-heading > p { max-width:24em; padding-bottom:6px; font-size:clamp(17px,1.4vw,19px); line-height:1.6; color:var(--g600); justify-self:end; }
.lo--indigo .ig-heading--onindigo h2, .lo--indigo .ig-heading--ondark h2 { color:#fff; }
.lo--indigo .ig-heading--onindigo > p { color:var(--i100); }
.lo--indigo .ig-heading--ondark > p { color:var(--i200); }
.lo--indigo .ig-heading--center { display:flex; flex-direction:column; align-items:center; text-align:center; gap:0; }
.lo--indigo .ig-heading--center > p:last-child { max-width:32em; margin-top:18px; padding:0; justify-self:auto; }

/* Janela do app */
.lo--indigo .ig-lab { position:relative; background:#fff; color:var(--g600); border-radius:24px; box-shadow:0 0 0 1px #1e1b4b14, 0 8px 16px #1e1b4b1f, 0 48px 96px -24px #1e1b4b99; overflow:hidden; }
.lo--indigo .ig-noscript { margin:16px; padding:12px 16px; border-radius:12px; background:var(--amber-100); color:var(--amber-900); font-size:15px; }
.lo--indigo .ig-lab-top { display:flex; align-items:center; gap:18px; padding:14px 22px; background:var(--g50); border-bottom:1px solid var(--g200); }
.lo--indigo .ig-lesson { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.lo--indigo .ig-lesson-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:12px; background:var(--i600); color:#fff; box-shadow:0 6px 14px -6px #4f46e5b3; }
.lo--indigo .ig-lesson strong { display:block; font-size:16px; font-weight:700; line-height:1.25; letter-spacing:-.02em; color:var(--g900); }
.lo--indigo .ig-lesson small { display:block; font-size:13px; line-height:1.35; color:var(--g500); }
.lo--indigo .ig-lab-badge { display:inline-flex; align-items:center; gap:8px; flex:none; padding:6px 12px; font-size:12.5px; font-weight:600; color:var(--g700); background:#fff; border:1px solid var(--g200); border-radius:999px; }
.lo--indigo .ig-lab-badge .ig-live-dot { background:var(--emerald); box-shadow:0 0 0 3px #10b98133; }

/* Abas */
.lo--indigo .ig-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 22px; border-bottom:1px solid var(--g100); }
.lo--indigo .ig-tab { position:relative; display:flex; align-items:center; gap:12px; min-width:0; padding:12px 14px; text-align:left; background:#fff; border:1px solid var(--g200); border-radius:16px; transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.lo--indigo .ig-tab:hover { border-color:var(--t-line); background:var(--t-soft); transform:translateY(-1px); }
.lo--indigo .ig-tab-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:12px; background:var(--t-mid); color:var(--t-ink); transition:background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.lo--indigo .ig-tab-text { flex:1; min-width:0; }
.lo--indigo .ig-tab-text strong { display:block; font-size:15px; font-weight:600; line-height:1.3; letter-spacing:-.01em; color:var(--g900); }
.lo--indigo .ig-tab-text small { display:block; font-size:13px; line-height:1.35; color:var(--g500); }
.lo--indigo .ig-tab-number { font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.04em; color:var(--g400); }
.lo--indigo .ig-tab[aria-selected=true] { background:var(--t-soft); border-color:var(--t); box-shadow:0 0 0 1px var(--t), 0 10px 22px -12px var(--t-glow); }
.lo--indigo .ig-tab[aria-selected=true] .ig-tab-icon { background:var(--t-solid); color:var(--t-on); box-shadow:0 6px 14px -6px var(--t-glow); }
.lo--indigo .ig-tab[aria-selected=true] .ig-tab-number { color:var(--t-ink); }

/* Palco */
.lo--indigo .ig-stage { padding:0 22px 8px; }
.lo--indigo .ig-stage-bar { display:flex; align-items:center; gap:12px; padding:14px 0; }
.lo--indigo .ig-stage-label { display:inline-flex; align-items:center; gap:8px; margin-right:auto; font-size:13.5px; font-weight:500; color:var(--g500); }
.lo--indigo .ig-role-switch { display:inline-flex; padding:4px; background:var(--g100); border-radius:12px; }
.lo--indigo .ig-role-switch button { min-height:36px; padding:6px 16px; font-size:14px; font-weight:600; color:var(--g600); background:transparent; border:0; border-radius:9px; transition:background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.lo--indigo .ig-role-switch button:hover { color:var(--g900); }
.lo--indigo .ig-role-switch button[aria-pressed=true] { color:var(--i700); background:#fff; box-shadow:0 1px 2px #1118271f, 0 2px 6px #1118270f; }
.lo--indigo .ig-restart { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 14px; font-size:14px; font-weight:600; color:var(--g700); background:#fff; border:1px solid var(--g200); border-radius:12px; transition:border-color .15s ease, color .15s ease, background-color .15s ease; }
.lo--indigo .ig-restart:hover { color:var(--i700); border-color:var(--i200); background:var(--i50); }
.lo--indigo .ig-restart span { display:inline-block; font-size:16px; line-height:1; transition:transform .4s ease; }
.lo--indigo .ig-restart:hover span { transform:rotate(180deg); }

.lo--indigo .ig-exercise { position:relative; padding:clamp(18px,2.4vw,28px); border:1px solid var(--g200); border-radius:20px; background:#fff; overflow:hidden; }
.lo--indigo .ig-exercise::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--t); }
.lo--indigo .ig-exercise-heading { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:1px solid var(--g100); }
.lo--indigo .ig-exercise-heading > div { flex:1; min-width:0; }
.lo--indigo .ig-exercise-symbol { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:14px; background:var(--t-mid); color:var(--t-ink); }
.lo--indigo .ig-exercise-heading h3 { font-size:clamp(18px,1.8vw,21px); font-weight:700; line-height:1.25; letter-spacing:-.025em; }
.lo--indigo .ig-exercise-heading p { font-size:14.5px; line-height:1.45; color:var(--g500); }
.lo--indigo .ig-level { flex:none; padding:4px 12px; font-size:13px; font-weight:700; color:var(--i700); background:var(--i100); border-radius:999px; }
.lo--indigo .ig-small-label { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--t-ink); }

/* Quiz */
.lo--indigo .ig-quiz-columns { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(18px,2.4vw,32px); margin-top:22px; }
.lo--indigo .ig-reading { position:relative; align-self:start; padding:22px 24px; background:var(--i50); border-radius:18px; overflow:hidden; }
.lo--indigo .ig-reading::after { content:''; position:absolute; right:0; bottom:0; width:72px; height:72px; background:var(--i100); border-radius:100% 0 0 0; }
.lo--indigo .ig-reading h4 { margin:12px 0 10px; font-size:19px; font-weight:700; line-height:1.3; letter-spacing:-.025em; }
.lo--indigo .ig-reading p { font-size:15.5px; line-height:1.7; color:var(--g700); }
.lo--indigo .ig-reading p + p { margin-top:10px; }
.lo--indigo .ig-reading-foot { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.lo--indigo .ig-reading-foot span { padding:3px 10px; font-size:12.5px; font-weight:500; color:var(--i700); background:#fff; border-radius:999px; }
.lo--indigo .ig-question-meta { display:flex; justify-content:space-between; gap:12px; font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--g500); }
.lo--indigo .ig-question-meta span:first-child { color:var(--i700); }
.lo--indigo .ig-question h4 { margin:10px 0 16px; font-size:clamp(19px,2vw,23px); font-weight:700; line-height:1.3; letter-spacing:-.025em; }
.lo--indigo .ig-quiz-answers { display:grid; gap:10px; }
.lo--indigo .nv-answer { display:flex; align-items:center; gap:12px; width:100%; min-height:54px; padding:9px 14px 9px 10px; font-size:15.5px; font-weight:500; line-height:1.4; text-align:left; color:var(--g700); background:#fff; border:1px solid var(--g200); border-radius:14px; box-shadow:var(--ig-shadow-sm); transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.lo--indigo .nv-answer-letter { display:grid; place-items:center; flex:none; width:34px; height:34px; font-size:14px; font-weight:700; color:var(--g600); background:var(--g100); border-radius:10px; transition:background-color .15s ease, color .15s ease; }
.lo--indigo .nv-answer:hover:not(:disabled) { border-color:var(--i300); background:var(--i50); transform:translateY(-1px); box-shadow:0 8px 18px -10px #4f46e566; }
.lo--indigo .nv-answer:hover:not(:disabled) .nv-answer-letter { background:var(--i100); color:var(--i700); }
.lo--indigo .nv-answer[aria-pressed=true] { color:var(--i900); font-weight:600; background:var(--i50); border-color:var(--i600); box-shadow:0 0 0 1px var(--i600), 0 10px 20px -12px #4f46e580; }
.lo--indigo .nv-answer[aria-pressed=true] .nv-answer-letter { background:var(--i600); color:#fff; }
.lo--indigo .nv-answer:disabled { transform:none; color:var(--g500); box-shadow:none; }
.lo--indigo .nv-answer[data-result=correct] { color:var(--emerald-800); font-weight:600; background:var(--emerald-50); border-color:var(--emerald); box-shadow:0 0 0 1px var(--emerald); }
.lo--indigo .nv-answer[data-result=correct] .nv-answer-letter { background:var(--emerald-600); color:#fff; font-size:0; }
.lo--indigo .nv-answer[data-result=correct] .nv-answer-letter::after { content:'✓'; font-size:17px; font-weight:800; }
.lo--indigo .nv-answer[data-result=incorrect] { color:var(--rose-800); font-weight:600; background:var(--rose-50); border-color:var(--rose); box-shadow:0 0 0 1px var(--rose); }
.lo--indigo .nv-answer[data-result=incorrect] .nv-answer-letter { background:var(--rose-600); color:#fff; font-size:0; }
.lo--indigo .nv-answer[data-result=incorrect] .nv-answer-letter::after { content:'✕'; font-size:14px; font-weight:800; }

.lo--indigo .ig-feedback { display:flex; align-items:flex-start; gap:10px; min-height:46px; padding:11px 14px; font-size:14.5px; font-weight:500; line-height:1.45; color:var(--g600); background:var(--g50); border-radius:12px; }
.lo--indigo .ig-feedback::before { content:''; flex:none; width:8px; height:8px; margin-top:7px; border-radius:50%; background:var(--t, var(--i500)); }
.lo--indigo .ig-feedback:empty { display:none; }
.lo--indigo .ig-feedback[data-result]::before { display:grid; place-items:center; width:22px; height:22px; margin-top:0; font-size:13px; font-weight:800; line-height:1; color:#fff; }
.lo--indigo .ig-feedback[data-result=correct] { color:var(--emerald-800); background:var(--emerald-100); }
.lo--indigo .ig-feedback[data-result=correct]::before { content:'✓'; background:var(--emerald-600); }
.lo--indigo .ig-feedback[data-result=incorrect] { color:var(--rose-800); background:var(--rose-100); }
.lo--indigo .ig-feedback[data-result=incorrect]::before { content:'✕'; font-size:11px; background:var(--rose-600); }
.lo--indigo .ig-question .ig-feedback { margin-top:14px; }
.lo--indigo .ig-quiz-actions { display:flex; justify-content:flex-end; margin-top:14px; }

/* Lacunas */
.lo--indigo .ig-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-top:22px; padding:16px 20px; background:var(--amber-50); border:1.5px dashed var(--amber-300); border-radius:18px; }
.lo--indigo .ig-word-bank > div { display:flex; flex-wrap:wrap; gap:10px; }
.lo--indigo .ig-word { --w:var(--violet-700); --w-bg:var(--violet-100); --w-line:var(--violet-200); --w-ring:var(--violet); display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:8px 16px 8px 12px; font-size:16px; font-weight:600; line-height:1.2; color:var(--w); background:#fff; border:1.5px solid var(--w-line); border-radius:12px; box-shadow:0 1px 2px #1118270f, 0 4px 10px -4px #1118271f; cursor:grab; transition:transform .16s cubic-bezier(.3,.7,.3,1), box-shadow .16s ease, background-color .16s ease, border-color .16s ease; }
.lo--indigo .ig-word::before { content:''; flex:none; width:8px; height:14px; background-image:radial-gradient(circle,currentColor 1.1px,transparent 1.5px); background-size:4px 5px; opacity:.5; }
.lo--indigo .ig-word[data-word=journey] { --w:var(--sky-800); --w-bg:var(--sky-100); --w-line:var(--sky-200); --w-ring:var(--sky); }
.lo--indigo .ig-word[data-word=confident] { --w:var(--rose-800); --w-bg:var(--rose-100); --w-line:var(--rose-200); --w-ring:var(--rose); }
.lo--indigo .ig-word:hover:not(:disabled) { transform:translateY(-2px); background:var(--w-bg); box-shadow:0 1px 2px #1118270f, 0 10px 18px -8px #11182740; }
.lo--indigo .ig-word[aria-pressed=true] { background:var(--w-bg); border-color:var(--w-ring); box-shadow:0 0 0 1.5px var(--w-ring), 0 16px 24px -10px #11182759; transform:translateY(-4px) rotate(-2.5deg); cursor:grabbing; }
.lo--indigo .ig-word:disabled { color:var(--g400); background:transparent; border-style:dashed; border-color:var(--g300); box-shadow:none; transform:none; cursor:default; }
.lo--indigo .ig-word:disabled::before { opacity:.35; }
.lo--indigo .ig-gap-text { display:grid; gap:6px; margin-top:20px; }
.lo--indigo .ig-gap-text p { display:flex; align-items:baseline; gap:14px; padding:8px 0; font-size:clamp(16.5px,1.6vw,19px); line-height:2.3; color:var(--g800); }
.lo--indigo .ig-line-number { display:grid; place-items:center; flex:none; align-self:flex-start; width:28px; height:28px; margin-top:.5em; font-size:13px; font-weight:700; line-height:1; color:var(--amber-800); background:var(--amber-100); border-radius:50%; }
.lo--indigo .ig-blank { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:158px; min-height:40px; margin:0 3px; padding:4px 14px; font-size:14px; font-weight:500; line-height:1.2; color:var(--g500); background:var(--g50); border:1.5px dashed var(--g300); border-radius:11px; vertical-align:middle; transition:background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.lo--indigo .ig-blank:hover { border-color:var(--amber); background:var(--amber-50); color:var(--amber-800); }
.lo--indigo .ig-blank[data-word] { font-size:16px; font-weight:600; color:var(--violet-700); background:var(--violet-100); border:1.5px solid var(--violet-200); box-shadow:0 4px 10px -6px #1118274d; }
.lo--indigo .ig-blank[data-word=journey] { color:var(--sky-800); background:var(--sky-100); border-color:var(--sky-200); }
.lo--indigo .ig-blank[data-word=confident] { color:var(--rose-800); background:var(--rose-100); border-color:var(--rose-200); }
.lo--indigo .ig-blank[data-result]::after { display:grid; place-items:center; flex:none; width:18px; height:18px; font-size:11px; font-weight:800; line-height:1; color:#fff; border-radius:50%; }
.lo--indigo .ig-blank[data-result=correct] { color:var(--emerald-800); background:var(--emerald-100); border-color:var(--emerald); }
.lo--indigo .ig-blank[data-result=correct]::after { content:'✓'; background:var(--emerald-600); }
.lo--indigo .ig-blank[data-result=incorrect] { color:var(--rose-800); background:var(--rose-50); border-color:var(--rose); border-style:dashed; }
.lo--indigo .ig-blank[data-result=incorrect]::after { content:'✕'; font-size:9.5px; background:var(--rose-600); }
.lo--indigo .ig-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; padding-top:20px; border-top:1px solid var(--g100); }
.lo--indigo .ig-gap-footer .ig-feedback { flex:1; min-width:0; }

/* Cartões */
.lo--indigo .ig-deck { position:relative; width:min(100%,520px); margin:34px auto 0; perspective:1400px; }
.lo--indigo .ig-deck::before, .lo--indigo .ig-deck::after { content:''; position:absolute; inset:0; border-radius:24px; }
.lo--indigo .ig-deck::before { background:var(--emerald-200); transform:rotate(-4deg) translateY(6px); }
.lo--indigo .ig-deck::after { background:var(--emerald-100); transform:rotate(3deg) translateY(4px); z-index:0; }
.lo--indigo .ig-flashcard { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:272px; padding:28px 26px; text-align:center; color:var(--g900); background:#fff; border:1px solid var(--g200); border-radius:24px; box-shadow:0 2px 4px #1118270a, 0 24px 48px -18px #04785766; transform-style:preserve-3d; backface-visibility:visible; transition:box-shadow .2s ease, translate .2s ease; }
.lo--indigo .ig-flashcard:hover { translate:0 -3px; box-shadow:0 2px 4px #1118270a, 0 32px 56px -18px #04785780; }
.lo--indigo .ig-flashcard .ig-small-label { padding:5px 12px; color:var(--emerald-800); background:var(--emerald-100); border-radius:999px; }
.lo--indigo .ig-flashcard strong { margin-block:22px 10px; font-size:clamp(38px,5vw,56px); font-weight:800; line-height:1.05; letter-spacing:-.045em; }
.lo--indigo .ig-flashcard em { font-style:normal; font-size:17px; line-height:1.5; color:var(--g600); }
.lo--indigo .ig-card-hint { display:inline-flex; align-items:center; gap:7px; margin-top:22px; font-size:13px; font-weight:500; color:var(--g500); }
.lo--indigo .ig-flashcard[aria-pressed=true] { color:#fff; background:var(--i600); border-color:var(--i600); box-shadow:0 2px 4px #1e1b4b1f, 0 28px 52px -18px #4f46e5b3, inset 0 1px 0 #ffffff33; }
.lo--indigo .ig-flashcard[aria-pressed=true] .ig-small-label { color:#fff; background:#ffffff29; }
.lo--indigo .ig-flashcard[aria-pressed=true] em { color:var(--i100); }
.lo--indigo .ig-flashcard[aria-pressed=true] .ig-card-hint { color:var(--i100); }
.lo--indigo .ig-card-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:26px; }
.lo--indigo .ig-card-controls button { display:grid; place-items:center; width:46px; height:46px; color:var(--g700); background:#fff; border:1px solid var(--g200); border-radius:50%; box-shadow:var(--ig-shadow-sm); transition:transform .15s ease, border-color .15s ease, color .15s ease, background-color .15s ease; }
.lo--indigo .ig-card-controls button:hover { color:var(--emerald-700); border-color:var(--emerald-200); background:var(--emerald-50); transform:translateY(-2px); }
.lo--indigo .ig-card-controls span { min-width:64px; font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.06em; text-align:center; color:var(--g700); }

.lo--indigo .ig-teacher-note { display:flex; align-items:flex-start; gap:14px; margin-top:14px; padding:16px 18px; background:var(--i50); border:1px solid var(--i200); border-radius:16px; }
.lo--indigo .ig-teacher-note-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:11px; background:var(--i600); color:#fff; }
.lo--indigo .ig-teacher-note p { font-size:14.5px; line-height:1.55; color:var(--i900); }
.lo--indigo .ig-teacher-note strong { display:block; font-size:14.5px; font-weight:700; color:var(--i700); }
.lo--indigo .ig-stage-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding:16px 2px 14px; font-size:13px; color:var(--g500); }
.lo--indigo .ig-stage-footer span { display:inline-flex; align-items:center; gap:8px; }
.lo--indigo .ig-stage-footer .ig-live-dot { background:var(--emerald); box-shadow:0 0 0 3px #10b98133; }

.lo--indigo .ig-demo-steps { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 14px; margin-top:clamp(28px,3.4vw,44px); }
.lo--indigo .ig-demo-steps li { display:inline-flex; align-items:center; gap:10px; padding:7px 16px 7px 7px; font-size:14.5px; font-weight:500; color:#fff; background:#ffffff1a; border-radius:999px; box-shadow:inset 0 0 0 1px #ffffff26; }
.lo--indigo .ig-demo-steps span { display:grid; place-items:center; width:26px; height:26px; font-size:13px; font-weight:700; color:var(--i700); background:#fff; border-radius:50%; }

/* ── 3 · Benefícios ───────────────────────────────────────────────── */
.lo--indigo .ig-benefits { padding:clamp(40px,5vw,72px) 0 0; }
.lo--indigo .ig-benefits ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lo--indigo .ig-benefit { position:relative; display:flex; align-items:center; gap:16px; padding:20px 22px; font-size:17px; font-weight:600; line-height:1.35; letter-spacing:-.015em; color:var(--g900); border-radius:24px; overflow:hidden; isolation:isolate; }
.lo--indigo .ig-benefit::after { content:''; position:absolute; z-index:-1; right:0; bottom:0; width:64px; height:64px; border-radius:100% 0 0 0; background:var(--b-geo); }
.lo--indigo .ig-benefit-icon { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:15px; background:#fff; color:var(--b-ink); box-shadow:0 8px 16px -10px var(--b-ink); }
.lo--indigo .ig-benefit--violet { --b-ink:var(--violet-600); --b-geo:var(--violet-200); background:var(--violet-100); }
.lo--indigo .ig-benefit--sky { --b-ink:var(--sky-700); --b-geo:var(--sky-200); background:var(--sky-100); }
.lo--indigo .ig-benefit--rose { --b-ink:var(--rose-600); --b-geo:var(--rose-200); background:var(--rose-100); }

/* ── 4 · Funcionalidades (bento) ──────────────────────────────────── */
.lo--indigo .ig-section { padding:clamp(72px,9vw,128px) 0; }
.lo--indigo .ig-bento { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px; }
.lo--indigo .ig-feature { --f-bg:var(--violet-100); --f-ink:var(--violet-700); --f-solid:var(--violet-600); --f-line:var(--violet-200); position:relative; display:flex; flex-direction:column; gap:28px; grid-column:span 7; padding:clamp(24px,2.8vw,36px); background:var(--f-bg); border-radius:32px; overflow:hidden; isolation:isolate; transition:transform .25s cubic-bezier(.3,.7,.3,1), box-shadow .25s ease; }
.lo--indigo .ig-feature::before { content:''; position:absolute; z-index:-1; top:0; right:0; width:clamp(120px,14vw,180px); aspect-ratio:1; border-radius:0 0 0 100%; background:var(--f-line); }
.lo--indigo .ig-feature:hover { transform:translateY(-4px); box-shadow:0 28px 48px -28px var(--f-solid); }
.lo--indigo .ig-feature--amber { --f-bg:var(--amber-100); --f-ink:var(--amber-800); --f-solid:var(--amber); --f-line:var(--amber-200); grid-column:span 5; }
.lo--indigo .ig-feature--emerald { --f-bg:var(--emerald-100); --f-ink:var(--emerald-800); --f-solid:var(--emerald-600); --f-line:var(--emerald-200); grid-column:span 12; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:clamp(24px,4vw,56px); }
.lo--indigo .ig-feature-top { display:flex; align-items:center; justify-content:space-between; }
.lo--indigo .ig-feature-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:17px; background:#fff; color:var(--f-ink); box-shadow:0 10px 20px -12px var(--f-solid); }
.lo--indigo .ig-feature-number { font-size:14px; font-weight:700; letter-spacing:.08em; font-variant-numeric:tabular-nums; color:var(--f-ink); opacity:.75; }
.lo--indigo .ig-feature h3 { margin-top:22px; font-size:clamp(23px,2.3vw,29px); line-height:1.15; letter-spacing:-.035em; max-width:16em; }
.lo--indigo .ig-feature-copy > p { margin-top:12px; max-width:30em; font-size:16.5px; line-height:1.6; color:var(--g700); }
.lo--indigo .ig-feature-link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; padding:4px 0; font-size:15.5px; font-weight:600; color:var(--f-ink); }
.lo--indigo .ig-feature-link span:first-child { background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat; transition:background-size .25s ease; }
.lo--indigo .ig-feature-link:hover span:first-child { background-size:100% 1.5px; }
.lo--indigo .ig-feature-link .inline-block { transition:transform .2s ease; }
.lo--indigo .ig-feature-link:hover .inline-block { transform:translateX(4px); }

/* Mini-ilustrações */
.lo--indigo .ig-ill { position:relative; margin-top:auto; font-size:14px; line-height:1.35; color:var(--g900); }
.lo--indigo .ig-ill-card { background:#fff; border:1px solid #ffffffcc; border-radius:18px; box-shadow:0 2px 4px #1118270a, 0 18px 36px -18px var(--f-solid); }
.lo--indigo .ig-ill-label { display:block; font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--g500); }
.lo--indigo .ig-ill--ai { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:0; }
.lo--indigo .ig-ill-prompt, .lo--indigo .ig-ill-result { padding:20px; }
.lo--indigo .ig-ill-input { display:flex; align-items:center; margin-top:10px; padding:11px 14px; font-size:15px; font-weight:500; color:var(--g800); background:var(--g50); border:1px solid var(--g200); border-radius:10px; white-space:nowrap; overflow:hidden; }
.lo--indigo .ig-caret { display:inline-block; width:2px; height:1.1em; margin-left:2px; background:var(--violet-600); }
.lo--indigo .ig-ill-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.lo--indigo .ig-ill-chips span { padding:4px 11px; font-size:12.5px; font-weight:600; color:var(--g600); background:#fff; border:1px solid var(--g200); border-radius:999px; }
.lo--indigo .ig-ill-chips span.is-on { color:var(--violet-700); background:var(--violet-100); border-color:var(--violet-200); }
.lo--indigo .ig-ill-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:16px; }
.lo--indigo .ig-ill-levels { display:inline-flex; padding:3px; background:var(--g100); border-radius:9px; }
.lo--indigo .ig-ill-levels i { padding:2px 8px; font-size:11.5px; font-weight:700; color:var(--g500); border-radius:7px; }
.lo--indigo .ig-ill-levels i.is-on { color:var(--i700); background:#fff; box-shadow:0 1px 2px #1118271f; }
.lo--indigo .ig-ill-go { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; font-size:12.5px; font-weight:700; color:#fff; background:var(--i600); border-radius:10px; box-shadow:0 8px 14px -8px #4f46e5cc; }
.lo--indigo .ig-ill-flow { position:relative; display:flex; align-items:center; gap:4px; width:clamp(44px,6vw,72px); height:28px; justify-content:center; }
.lo--indigo .ig-ill-flow i { flex:1; height:0; border-top:2px dashed var(--violet-400); }
.lo--indigo .ig-ill-flow-spark { position:static; flex:none; width:22px; height:22px; color:var(--violet-600); }
.lo--indigo .ig-ill-result { display:grid; gap:10px; }
.lo--indigo .ig-ill-item { display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--g200); border-radius:11px; }
.lo--indigo .ig-ill-item strong { flex:1; min-width:0; font-size:13px; font-weight:600; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lo--indigo .ig-ill-item-icon { display:grid; place-items:center; flex:none; width:28px; height:28px; border-radius:8px; background:var(--t-mid); color:var(--t-ink); }
.lo--indigo .ig-ill-ok { display:grid; place-items:center; flex:none; width:18px; height:18px; border-radius:50%; background:var(--emerald-100); color:var(--emerald-700); }
.lo--indigo .ig-ill-ok svg { stroke-width:3.2; }
.lo--indigo .ig-ill-edit { display:inline-flex; align-items:center; gap:4px; flex:none; padding:2px 8px; font-size:11px; font-weight:700; color:var(--violet-700); background:var(--violet-100); border-radius:999px; }

.lo--indigo .ig-ill--class { padding-bottom:26px; }
.lo--indigo .ig-ill-classcard { padding:16px; display:grid; gap:9px; }
.lo--indigo .ig-ill-classhead { display:flex; align-items:center; gap:11px; padding-bottom:12px; margin-bottom:2px; border-bottom:1px solid var(--g100); }
.lo--indigo .ig-ill-classtile { display:grid; place-items:center; flex:none; width:38px; height:38px; font-size:13px; font-weight:800; color:var(--amber-900); background:var(--amber-400); border-radius:11px; }
.lo--indigo .ig-ill-classname { flex:1; min-width:0; display:flex; flex-direction:column; }
.lo--indigo .ig-ill-classname strong { font-size:14.5px; font-weight:700; letter-spacing:-.015em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lo--indigo .ig-ill-classname small { font-size:12px; color:var(--g500); }
.lo--indigo .ig-ill .ig-av { width:28px; height:28px; margin-left:-8px; font-size:11.5px; }
.lo--indigo .ig-ill .ig-av:first-child { margin-left:0; }
.lo--indigo .ig-ill-unit { display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--g200); border-radius:11px; }
.lo--indigo .ig-ill-unit-n { display:grid; place-items:center; flex:none; width:24px; height:24px; font-size:12px; font-weight:700; color:var(--amber-800); background:var(--amber-100); border-radius:7px; }
.lo--indigo .ig-ill-unit strong { flex:1; font-size:13.5px; font-weight:600; letter-spacing:-.01em; }
.lo--indigo .ig-ill-pips { display:inline-flex; gap:4px; }
.lo--indigo .ig-ill-pips i { width:16px; height:8px; border-radius:8px; }
.lo--indigo .ig-pip--indigo { background:var(--i500); }
.lo--indigo .ig-pip--amber { background:var(--amber-400); }
.lo--indigo .ig-pip--emerald { background:var(--emerald-400); }
.lo--indigo .ig-ill-mural { display:flex; align-items:center; gap:9px; padding:8px 10px; font-size:13px; font-weight:500; color:var(--g700); background:var(--g50); border-radius:11px; }
.lo--indigo .ig-ill-mural span { display:grid; place-items:center; width:24px; height:24px; color:var(--sky-700); background:var(--sky-100); border-radius:7px; }
.lo--indigo .ig-ill-invite { position:absolute; right:-6px; bottom:0; display:flex; align-items:center; gap:9px; padding:7px 7px 7px 9px; background:#fff; border:1px solid var(--g200); border-radius:999px; box-shadow:0 14px 26px -12px #92400e99; }
.lo--indigo .ig-ill-invite-icon { display:grid; place-items:center; width:26px; height:26px; color:var(--i700); background:var(--i100); border-radius:50%; }
.lo--indigo .ig-ill-invite-text { font-size:13px; font-weight:600; color:var(--g800); }
.lo--indigo .ig-ill-invite-copy { padding:5px 12px; font-size:12px; font-weight:700; color:#fff; background:var(--i600); border-radius:999px; }
.lo--indigo .ig-ill-cursor { right:14px; bottom:-14px; width:24px; height:24px; filter:drop-shadow(0 3px 4px #11182740); }

.lo--indigo .ig-ill--page { margin:0; min-height:330px; align-self:stretch; }
.lo--indigo .ig-ill-page-geo { position:absolute; display:block; }
.lo--indigo .ig-ill-page-geo--a { display:none; }
.lo--indigo .ig-ill-page-geo--b { left:-24px; bottom:calc(-1 * clamp(24px,2.8vw,36px)); width:120px; height:60px; border:20px solid var(--emerald-400); border-bottom:0; border-radius:120px 120px 0 0; }
.lo--indigo .ig-ill-browser { position:absolute; left:0; top:8px; width:min(100%,440px); background:#fff; border-radius:18px; box-shadow:0 2px 4px #1118270a, 0 28px 48px -22px #047857b3; overflow:hidden; }
.lo--indigo .ig-ill .ig-win-bar { padding:9px 13px; gap:11px; }
.lo--indigo .ig-ill .ig-dots i { width:9px; height:9px; }
.lo--indigo .ig-ill .ig-dots { gap:5px; }
.lo--indigo .ig-ill .ig-win-url { font-size:11.5px; padding:3px 12px; }
.lo--indigo .ig-ill-cover { height:64px; background:linear-gradient(100deg,var(--i600),var(--violet)); position:relative; overflow:hidden; }
.lo--indigo .ig-ill-cover::before { content:''; position:absolute; right:32px; top:-30px; width:90px; height:90px; border-radius:50%; border:16px solid #ffffff26; }
.lo--indigo .ig-ill-cover::after { content:''; position:absolute; right:0; bottom:0; width:44px; height:44px; border-radius:100% 0 0 0; background:#ffffff2e; }
.lo--indigo .ig-ill-profile { display:flex; align-items:flex-end; gap:12px; padding:0 16px; margin-top:-18px; position:relative; }
.lo--indigo .ig-ill-avatar { display:grid; place-items:center; flex:none; width:56px; height:56px; font-size:20px; font-weight:800; color:var(--amber-900); background:var(--amber-300); border:3px solid #fff; border-radius:50%; }
.lo--indigo .ig-ill-name { flex:1; min-width:0; display:flex; flex-direction:column; padding-bottom:2px; }
.lo--indigo .ig-ill-name strong { font-size:15px; font-weight:700; letter-spacing:-.02em; }
.lo--indigo .ig-ill-name small { font-size:12px; color:var(--g500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lo--indigo .ig-ill-cta { flex:none; margin-bottom:4px; padding:6px 12px; font-size:12px; font-weight:700; color:#fff; background:var(--i600); border-radius:9px; }
.lo--indigo .ig-ill-courses { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:16px; }
.lo--indigo .ig-ill-course { display:grid; gap:6px; padding:8px; border:1px solid var(--g200); border-radius:11px; }
.lo--indigo .ig-ill-course i { height:40px; border-radius:7px; background:var(--violet-100); }
.lo--indigo .ig-ill-course--sky i { background:var(--sky-100); }
.lo--indigo .ig-ill-course--amber i { background:var(--amber-100); }
.lo--indigo .ig-ill-course b { height:6px; border-radius:6px; background:var(--g200); }
.lo--indigo .ig-ill-course b:last-child { width:60%; background:var(--g100); }
.lo--indigo .ig-ill-chat { position:absolute; right:0; bottom:0; width:232px; padding:12px; display:grid; gap:8px; background:#fff; border-radius:18px 18px 4px 18px; box-shadow:0 2px 4px #1118270a, 0 24px 40px -18px #047857cc; }
.lo--indigo .ig-ill-chat-bubble { justify-self:end; padding:7px 11px; font-size:13px; font-weight:500; color:var(--emerald-800); background:var(--emerald-100); border-radius:12px 12px 3px 12px; }
.lo--indigo .ig-ill-chat-link { display:flex; align-items:center; gap:9px; padding:8px; border:1px solid var(--g200); border-radius:12px; }
.lo--indigo .ig-ill-chat-link i { display:grid; place-items:center; flex:none; width:32px; height:32px; color:#fff; background:var(--i600); border-radius:9px; }
.lo--indigo .ig-ill-chat-link span { display:flex; flex-direction:column; min-width:0; }
.lo--indigo .ig-ill-chat-link strong { font-size:12.5px; font-weight:700; }
.lo--indigo .ig-ill-chat-link small { font-size:11.5px; color:var(--i600); }
.lo--indigo .ig-ill-page-spark { right:64px; top:150px; width:24px; height:24px; color:var(--emerald-600); }

/* ── 5 · Sua página ───────────────────────────────────────────────── */
.lo--indigo .ig-pages-block { padding:clamp(64px,8vw,120px) 0 clamp(60px,7vw,104px); color:#fff; background:radial-gradient(60% 55% at 50% 0%,#8b5cf657,transparent 70%), radial-gradient(45% 45% at 100% 100%,#4f46e566,transparent 70%), var(--i950); }
.lo--indigo .ig-pages-geo { position:absolute; z-index:-1; display:block; pointer-events:none; }
.lo--indigo .ig-pages-geo--ring { right:clamp(-130px,-7vw,-70px); top:clamp(-130px,-7vw,-70px); width:clamp(220px,26vw,360px); aspect-ratio:1; border:clamp(28px,3.4vw,48px) solid #6366f147; border-radius:50%; }
.lo--indigo .ig-pages-geo--dots { left:60%; top:clamp(28px,4vw,56px); width:171px; height:114px; background-image:radial-gradient(circle,#a5b4fc80 1.5px,transparent 2px); background-size:19px 19px; }
.lo--indigo .ig-pages-spark { z-index:-1; color:var(--lilac); }
.lo--indigo .ig-pages-spark--a { left:clamp(14px,3.4vw,56px); top:clamp(28px,4vw,60px); width:30px; height:30px; }
.lo--indigo .ig-pages-spark--b { right:clamp(24px,16vw,250px); top:clamp(90px,12vw,190px); width:20px; height:20px; color:var(--sun); }
.lo--indigo .ig-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.4vw,32px); align-items:start; padding-top:28px; }
.lo--indigo .ig-profile { --p:var(--sky-400); display:block; transition:transform .3s cubic-bezier(.3,.7,.3,1); }
.lo--indigo .ig-profile--rose { --p:var(--rose-400); margin-top:-28px; }
.lo--indigo .ig-profile--amber { --p:var(--amber-400); }
.lo--indigo .ig-profile:hover { transform:translateY(-8px); }
.lo--indigo .ig-profile-frame { border-radius:18px; background:#2b2870; box-shadow:0 0 0 1px #ffffff1f, 0 32px 64px -24px #000000b3; overflow:hidden; transition:box-shadow .3s ease; }
.lo--indigo .ig-profile:hover .ig-profile-frame { box-shadow:0 0 0 1.5px var(--p), 0 36px 72px -24px #000000cc, 0 0 60px -12px var(--p); }
.lo--indigo .ig-profile-bar { display:flex; align-items:center; gap:12px; padding:10px 14px; }
.lo--indigo .ig-profile-bar .ig-dots i { width:9px; height:9px; }
.lo--indigo .ig-profile-url { flex:1; min-width:0; padding:3px 12px; font-size:11.5px; color:var(--i200); background:#ffffff14; border-radius:999px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lo--indigo .ig-profile-image { aspect-ratio:1440/1000; background:var(--i900); overflow:hidden; }
.lo--indigo .ig-profile-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s cubic-bezier(.3,.7,.3,1); }
.lo--indigo .ig-profile:hover .ig-profile-image img { transform:scale(1.04); }
.lo--indigo .ig-profile-info { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 4px 0; }
.lo--indigo .ig-profile-info h3 { display:flex; align-items:center; gap:10px; font-size:20px; font-weight:700; letter-spacing:-.025em; color:#fff; }
.lo--indigo .ig-profile-dot { width:10px; height:10px; border-radius:50%; background:var(--p); }
.lo--indigo .ig-profile-info p { margin-top:3px; font-size:15px; line-height:1.5; color:var(--i200); }
.lo--indigo .ig-profile-arrow { display:grid; place-items:center; flex:none; width:42px; height:42px; color:#fff; background:#ffffff14; border-radius:50%; box-shadow:inset 0 0 0 1px #ffffff26; transition:background-color .2s ease, color .2s ease, transform .2s ease; }
.lo--indigo .ig-profile:hover .ig-profile-arrow { color:var(--i950); background:#fff; transform:rotate(-45deg); }

/* ── 6 · Planos ───────────────────────────────────────────────────── */
.lo--indigo .ig-pricing { position:relative; isolation:isolate; overflow:hidden; margin-top:clamp(56px,7vw,96px); background:var(--g50); border-radius:clamp(28px,4vw,52px) clamp(28px,4vw,52px) 0 0; }
.lo--indigo .ig-pricing::before { content:''; position:absolute; z-index:-1; left:clamp(16px,4vw,64px); top:clamp(40px,5vw,72px); width:171px; height:133px; background-image:radial-gradient(circle,var(--i200) 1.5px,transparent 2px); background-size:19px 19px; }
.lo--indigo .ig-pricing::after { content:''; position:absolute; z-index:-1; right:0; top:0; width:clamp(120px,15vw,220px); aspect-ratio:1; border-radius:0 0 0 100%; background:var(--i100); }
.lo--indigo .ig-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:20px; }
.lo--indigo .ig-plan { position:relative; display:flex; flex-direction:column; padding:32px 28px 28px; background:#fff; border:1px solid var(--g200); border-radius:24px; box-shadow:var(--ig-shadow-sm); transition:transform .25s cubic-bezier(.3,.7,.3,1), box-shadow .25s ease; isolation:isolate; }
.lo--indigo .ig-plan:hover { transform:translateY(-4px); box-shadow:var(--ig-shadow-md); }
.lo--indigo .ig-plan h3 { font-size:22px; font-weight:700; letter-spacing:-.03em; }
.lo--indigo .ig-plan-description { margin-top:6px; min-height:3.1em; font-size:15px; line-height:1.55; color:var(--g500); }
.lo--indigo .ig-price { display:flex; align-items:baseline; gap:6px; margin-top:20px; }
.lo--indigo .ig-price strong { font-size:clamp(36px,3.6vw,46px); font-weight:800; line-height:1.1; letter-spacing:-.045em; color:var(--g900); }
.lo--indigo .ig-price span { font-size:16px; font-weight:500; color:var(--g500); }
.lo--indigo .ig-credits { display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:16px; padding:6px 13px 6px 10px; font-size:14px; font-weight:600; color:var(--i700); background:var(--i50); border-radius:999px; }
.lo--indigo .ig-plan ul { display:grid; gap:12px; margin:24px 0 28px; padding-top:24px; border-top:1px solid var(--g100); }
.lo--indigo .ig-plan li { display:flex; align-items:flex-start; gap:11px; font-size:15.5px; line-height:1.45; color:var(--g700); }
.lo--indigo .ig-plan-check { display:grid; place-items:center; flex:none; width:21px; height:21px; margin-top:1px; color:var(--emerald-700); background:var(--emerald-100); border-radius:50%; }
.lo--indigo .ig-plan-check svg { stroke-width:3; }
.lo--indigo .ig-plan .ig-btn { margin-top:auto; width:100%; }
.lo--indigo .ig-plan--featured { margin-block:-14px; padding-block:46px 42px; color:var(--i100); background:var(--i600); border-color:var(--i600); box-shadow:0 2px 4px #1e1b4b1f, 0 36px 64px -28px #4f46e5d9; }
.lo--indigo .ig-plan--featured:hover { box-shadow:0 2px 4px #1e1b4b1f, 0 44px 72px -28px #4f46e5f2; }
.lo--indigo .ig-plan-geo { position:absolute; z-index:-1; inset:0; border-radius:inherit; overflow:hidden; }
.lo--indigo .ig-plan-geo::before { content:''; position:absolute; top:0; right:0; width:150px; height:150px; border-radius:0 0 0 100%; background:var(--i500); }
.lo--indigo .ig-plan-geo::after { content:''; position:absolute; left:-46px; bottom:-46px; width:130px; height:130px; border:24px solid var(--i500); border-radius:50%; opacity:.7; }
.lo--indigo .ig-plan-ribbon { position:absolute; top:-16px; left:26px; display:inline-flex; align-items:center; gap:7px; padding:6px 13px 6px 10px; font-size:13px; font-weight:700; color:var(--i950); background:var(--sun); border-radius:999px; box-shadow:0 10px 18px -8px #ca8a04b3; }
.lo--indigo .ig-plan--featured h3, .lo--indigo .ig-plan--featured .ig-price strong { color:#fff; }
.lo--indigo .ig-plan--featured .ig-plan-description, .lo--indigo .ig-plan--featured .ig-price span { color:var(--i100); }
.lo--indigo .ig-plan--featured .ig-credits { color:#fff; background:#ffffff24; box-shadow:inset 0 0 0 1px #ffffff2e; }
.lo--indigo .ig-plan--featured ul { border-color:#ffffff33; }
.lo--indigo .ig-plan--featured li { color:#fff; }
.lo--indigo .ig-plan--featured .ig-plan-check { color:var(--i700); background:#fff; }
.lo--indigo .ig-pricing-note { margin-top:32px; text-align:center; font-size:14.5px; color:var(--g500); }

/* ── 7 · Dúvidas ──────────────────────────────────────────────────── */
.lo--indigo .ig-faq { background:#fff; }
.lo--indigo .ig-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,96px); align-items:start; }
.lo--indigo .ig-faq-intro h2 { margin-top:18px; }
.lo--indigo .ig-faq-art { position:relative; width:260px; height:190px; margin-top:44px; }
.lo--indigo .ig-faq-art span { position:absolute; display:block; }
.lo--indigo .ig-faq-art-quarter { left:0; bottom:0; width:120px; height:120px; border-radius:0 100% 0 0; background:var(--i100); }
.lo--indigo .ig-faq-art-circle { left:150px; top:0; width:56px; height:56px; border-radius:50%; background:var(--amber-300); }
.lo--indigo .ig-faq-art .ig-faq-art-bubble { left:34px; top:22px; display:grid; place-items:center; width:92px; height:80px; font-size:44px; font-weight:800; line-height:1; color:#fff; background:var(--i600); border-radius:26px 26px 26px 6px; box-shadow:0 20px 32px -16px #4f46e5cc; }
.lo--indigo .ig-faq-art .ig-faq-art-reply { left:112px; top:112px; display:flex; align-items:center; gap:7px; padding:18px 20px; background:var(--emerald-100); border-radius:22px 22px 6px 22px; }
.lo--indigo .ig-faq-art-reply i { position:static; width:9px; height:9px; border-radius:50%; background:var(--emerald-600); }
.lo--indigo .ig-faq-art-spark { left:222px; top:64px; width:26px; height:26px; color:var(--violet); }
.lo--indigo .ig-faq-list { display:grid; gap:12px; }
.lo--indigo .ig-faq details { background:#fff; border:1px solid var(--g200); border-radius:18px; transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.lo--indigo .ig-faq details:hover { border-color:var(--i200); box-shadow:0 12px 24px -18px #4f46e580; }
.lo--indigo .ig-faq details[open] { background:var(--i50); border-color:var(--i200); }
.lo--indigo .ig-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; font-size:17.5px; font-weight:600; line-height:1.35; letter-spacing:-.015em; color:var(--g900); cursor:pointer; list-style:none; border-radius:18px; }
.lo--indigo .ig-faq summary::-webkit-details-marker { display:none; }
.lo--indigo .ig-faq-chevron { display:grid; place-items:center; flex:none; width:34px; height:34px; color:var(--i700); background:var(--i50); border-radius:50%; transition:transform .25s ease, background-color .2s ease, color .2s ease; }
.lo--indigo .ig-faq details[open] .ig-faq-chevron { color:#fff; background:var(--i600); transform:rotate(180deg); }
.lo--indigo .ig-faq details p { padding:0 64px 22px 22px; font-size:16px; line-height:1.65; color:var(--g700); }

/* ── 8 · CTA final ────────────────────────────────────────────────── */
.lo--indigo .ig-final { padding:0 0 clamp(64px,8vw,112px); }
.lo--indigo .ig-final .ig-wrap { width:min(1240px,calc(100% - 32px)); }
.lo--indigo .ig-final-card { position:relative; isolation:isolate; padding:clamp(64px,8vw,116px) 24px; text-align:center; color:#fff; background:linear-gradient(120deg,var(--i600) 20%,var(--violet-600) 100%); border-radius:clamp(28px,4vw,48px); overflow:hidden; box-shadow:0 40px 80px -36px #4f46e5cc; }
.lo--indigo .ig-final-geo { position:absolute; z-index:-1; display:block; pointer-events:none; }
.lo--indigo .ig-final-geo--quarter { left:0; bottom:0; width:clamp(140px,20vw,260px); aspect-ratio:1; border-radius:0 100% 0 0; background:#ffffff1f; }
.lo--indigo .ig-final-geo--ring { right:clamp(-110px,-6vw,-60px); top:clamp(-110px,-6vw,-60px); width:clamp(200px,24vw,340px); aspect-ratio:1; border:clamp(26px,3.2vw,46px) solid #ffffff1f; border-radius:50%; }
.lo--indigo .ig-final-geo--circle { left:clamp(24px,9vw,130px); top:clamp(28px,5vw,64px); width:clamp(28px,4vw,52px); aspect-ratio:1; border-radius:50%; background:var(--amber-400); }
.lo--indigo .ig-final-geo--dots { right:clamp(16px,5vw,72px); bottom:clamp(16px,3vw,44px); width:152px; height:95px; background-image:radial-gradient(circle,#ffffff80 1.5px,transparent 2px); background-size:19px 19px; }
.lo--indigo .ig-final-geo--pill { left:clamp(120px,24vw,330px); bottom:-22px; width:130px; height:44px; border-radius:44px; background:var(--violet-400); }
.lo--indigo .ig-final-spark { z-index:-1; color:var(--sun); }
.lo--indigo .ig-final-spark--a { right:clamp(30px,17vw,240px); top:clamp(30px,6vw,84px); width:34px; height:34px; }
.lo--indigo .ig-final-spark--b { left:clamp(20px,14vw,190px); bottom:clamp(90px,13vw,170px); width:22px; height:22px; color:var(--i200); }
.lo--indigo .ig-final-chip { position:absolute; z-index:-1; display:inline-flex; align-items:center; gap:8px; font-weight:700; }
.lo--indigo .ig-final-chip--aha { left:clamp(24px,7vw,100px); top:42%; padding:6px 16px 8px; font-size:24px; font-weight:800; letter-spacing:-.04em; color:var(--i950); background:var(--sun); border-radius:16px 16px 16px 4px; transform:rotate(-5deg); box-shadow:0 16px 28px -14px #1e1b4bb3; }
.lo--indigo .ig-final-chip--ok { right:clamp(24px,7vw,96px); top:50%; padding:9px 16px 9px 10px; font-size:14.5px; color:var(--emerald-800); background:#fff; border-radius:999px; transform:rotate(4deg); box-shadow:0 16px 28px -14px #1e1b4bb3; }
.lo--indigo .ig-final-chip--ok i { display:grid; place-items:center; width:22px; height:22px; color:#fff; background:var(--emerald-600); border-radius:50%; }
.lo--indigo .ig-final-chip--ok svg { stroke-width:3.2; }
.lo--indigo .ig-final-inner { display:flex; flex-direction:column; align-items:center; max-width:780px; margin-inline:auto; }
.lo--indigo .ig-final h2 { color:#fff; font-size:clamp(34px,5vw,64px); line-height:1.06; }
.lo--indigo .ig-final p { margin-top:20px; font-size:clamp(18px,1.6vw,21px); color:var(--i100); }
.lo--indigo .ig-final .ig-btn { margin-top:34px; }
.lo--indigo .ig-final-caption { margin-top:18px; font-size:14.5px; font-weight:500; color:#fff; }

/* ── Rodapé ───────────────────────────────────────────────────────── */
.lo--indigo .ig-footer { padding:36px 0 104px; border-top:1px solid var(--g100); background:#fff; }
.lo--indigo .ig-footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px 40px; }
.lo--indigo .ig-footer-brand { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.lo--indigo .ig-footer-brand p { font-size:15px; color:var(--g500); }
.lo--indigo .ig-footer nav { display:flex; flex-wrap:wrap; gap:4px 8px; margin-left:auto; }
.lo--indigo .ig-footer nav a { padding:8px 10px; font-size:15px; font-weight:500; color:var(--g600); border-radius:8px; transition:color .15s ease; }
.lo--indigo .ig-footer nav a:hover { color:var(--i600); }
.lo--indigo .ig-footer small { font-size:14px; color:var(--g500); }

/* ── Movimento ────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference) {
  .lo--indigo .ig-float { animation:ig-float 7s ease-in-out infinite; }
  .lo--indigo .ig-float--b { animation-duration:8s; animation-delay:-2s; }
  .lo--indigo .ig-float--c { animation-duration:6.5s; animation-delay:-4s; }
  .lo--indigo .ig-float--d { animation-duration:5.5s; animation-delay:-1s; }
  .lo--indigo .ig-float--e { animation-duration:7.5s; animation-delay:-3s; }
  .lo--indigo .ig-float--f { animation-duration:6s; animation-delay:-5s; }
  .lo--indigo .ig-art-sparkle, .lo--indigo .ig-demo-spark, .lo--indigo .ig-pages-spark, .lo--indigo .ig-final-spark { animation:ig-twinkle 4.5s ease-in-out infinite; }
  .lo--indigo .ig-art-sparkle--b, .lo--indigo .ig-demo-spark--b, .lo--indigo .ig-pages-spark--b, .lo--indigo .ig-final-spark--b { animation-delay:-2.2s; }
  .lo--indigo .ig-win-shimmer { animation:ig-shimmer 2.2s linear infinite; }
  .lo--indigo .ig-caret { animation:ig-blink 1.1s steps(1) infinite; }
  .lo--indigo .ig-live-dot { animation:ig-pulse 2.4s ease-in-out infinite; }
  .lo--indigo .ig-flashcard[aria-pressed=true] { animation:ig-flip-a .5s cubic-bezier(.2,.75,.3,1); }
  .lo--indigo .ig-flashcard[aria-pressed=false] { animation:ig-flip-b .5s cubic-bezier(.2,.75,.3,1); }
  .lo--indigo .nv-answer[data-result=correct], .lo--indigo .ig-blank[data-result=correct] { animation:ig-pop .4s ease; }
  .lo--indigo .nv-answer[data-result=incorrect], .lo--indigo .ig-blank[data-result=incorrect] { animation:ig-shake .4s ease; }
  .lo--indigo .ig-blank[data-word]:not([data-result]) { animation:ig-drop .3s cubic-bezier(.3,1.4,.5,1); }
  .lo--indigo .ig-exercise:not([hidden]) { animation:ig-panel .35s ease; }
  .lo--indigo .ig-teacher-note:not([hidden]) { animation:ig-panel .3s ease; }
}
@keyframes ig-float { 0%,100% { translate:0 0; } 50% { translate:0 -.5em; } }
@keyframes ig-twinkle { 0%,100% { scale:1; opacity:1; } 50% { scale:.72; opacity:.7; } }
@keyframes ig-shimmer { from { background-position:200% 0; } to { background-position:0 0; } }
@keyframes ig-blink { 0%,50% { opacity:1; } 50.01%,100% { opacity:0; } }
@keyframes ig-pulse { 0%,100% { opacity:1; } 50% { opacity:.55; } }
@keyframes ig-flip-a { from { transform:rotateY(-92deg); } to { transform:rotateY(0); } }
@keyframes ig-flip-b { from { transform:rotateY(92deg); } to { transform:rotateY(0); } }
@keyframes ig-pop { 0% { transform:scale(1); } 45% { transform:scale(1.035); } 100% { transform:scale(1); } }
@keyframes ig-shake { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-5px); } 55% { transform:translateX(4px); } 80% { transform:translateX(-2px); } }
@keyframes ig-drop { from { transform:translateY(-8px) scale(.94); opacity:.4; } to { transform:none; opacity:1; } }
@keyframes ig-panel { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  .lo--indigo :where(.ig-nav,main,.ig-footer) *, .lo--indigo :where(.ig-nav,main,.ig-footer) *::before, .lo--indigo :where(.ig-nav,main,.ig-footer) *::after { animation:none !important; transition-duration:.01ms !important; }
}

/* ── Responsivo ───────────────────────────────────────────────────── */
@media (max-width:1100px) {
  .lo--indigo .ig-nav-links a { padding:8px 10px; }
  .lo--indigo .ig-ill--ai { grid-template-columns:minmax(0,1fr); gap:0; }
  .lo--indigo .ig-ill-flow { width:28px; height:52px; margin-inline:auto; flex-direction:column; }
  .lo--indigo .ig-ill-flow i { flex:1; width:0; height:auto; border-top:0; border-left:2px dashed var(--violet-400); }
  .lo--indigo .ig-final-chip { display:none; }
}
@media (max-width:960px) {
  .lo--indigo .ig-nav-links { display:none; }
  .lo--indigo .ig-hero-grid { grid-template-columns:minmax(0,1fr); gap:48px; }
  .lo--indigo .ig-hero-copy { text-align:center; display:flex; flex-direction:column; align-items:center; }
  .lo--indigo .ig-hero h1 { max-width:12em; }
  .lo--indigo .ig-actions { justify-content:center; }
  .lo--indigo .ig-art { justify-self:center; font-size:min(15px, calc((100vw - 40px) / 34)); }
  .lo--indigo .ig-heading { grid-template-columns:minmax(0,1fr); align-items:start; gap:18px; }
  .lo--indigo .ig-heading > p { justify-self:start; max-width:34em; padding:0; }
  .lo--indigo .ig-quiz-columns { grid-template-columns:minmax(0,1fr); }
  .lo--indigo .ig-benefits ul { grid-template-columns:minmax(0,1fr); gap:12px; }
  .lo--indigo .ig-feature, .lo--indigo .ig-feature--amber, .lo--indigo .ig-feature--emerald { grid-column:span 12; }
  .lo--indigo .ig-feature--emerald { grid-template-columns:minmax(0,1fr); }
  .lo--indigo .ig-ill--ai { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  .lo--indigo .ig-ill-flow { width:48px; height:28px; flex-direction:row; margin:0; }
  .lo--indigo .ig-ill-flow i { width:auto; height:0; border-left:0; border-top:2px dashed var(--violet-400); }
  .lo--indigo .ig-ill--class { max-width:440px; }
  .lo--indigo .ig-ill--page { min-height:340px; max-width:620px; width:100%; }
  .lo--indigo .ig-profiles { grid-template-columns:minmax(0,1fr); max-width:560px; margin-inline:auto; gap:36px; padding-top:0; }
  .lo--indigo .ig-profile--rose { margin-top:0; }
  .lo--indigo .ig-plans { grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto; }
  .lo--indigo .ig-plan-description { min-height:0; }
  .lo--indigo .ig-plan--featured { margin-block:10px 0; padding-block:40px 30px; }
  .lo--indigo .ig-pages-geo--dots { display:none; }
  .lo--indigo .ig-faq-grid { grid-template-columns:minmax(0,1fr); }
  .lo--indigo .ig-faq-art { display:none; }
  .lo--indigo .ig-pricing::before { display:none; }
}
@media (min-width:641px) and (max-width:960px) {
  .lo--indigo .ig-h1-b { display:inline-block; }
  .lo--indigo .ig-hero h1 { max-width:none; }
  .lo--indigo .ig-tab-text small { display:none; }
}
@media (max-width:640px) {
  .lo--indigo { font-size:16px; }
  .lo--indigo .ig-wrap, .lo--indigo .ig-nav-inner { width:calc(100% - 32px); }
  .lo--indigo .ig-nav-inner { height:64px; gap:12px; }
  .lo--indigo main > section[id] { scroll-margin-top:76px; }
  .lo--indigo .ig-logo { font-size:23px; }
  .lo--indigo .ig-nav-login { padding:9px 10px; }
  .lo--indigo .ig-only-wide { display:none; }
  .lo--indigo .ig-only-narrow { display:inline; }
  .lo--indigo .ig-hero { padding-top:32px; }
  .lo--indigo main h1 { font-size:clamp(36px,10.4vw,48px); }
  .lo--indigo .ig-actions { width:100%; flex-direction:column; gap:12px; }
  .lo--indigo .ig-actions .ig-btn { width:100%; }
  .lo--indigo .ig-eyebrow { font-size:13px; padding:6px 12px; }

  .lo--indigo .ig-demo-block .ig-wrap, .lo--indigo .ig-pages-block .ig-wrap { width:calc(100% - 24px); }
  .lo--indigo .ig-demo-block .ig-heading, .lo--indigo .ig-pages-block .ig-heading { padding-inline:6px; }
  .lo--indigo .ig-demo-geo--dots, .lo--indigo .ig-demo-geo--pill, .lo--indigo .ig-demo-spark--b { display:none; }
  .lo--indigo .ig-lab { border-radius:20px; }
  .lo--indigo .ig-lab-top { padding:12px 14px; gap:12px; }
  .lo--indigo .ig-lab-badge { display:none; }
  .lo--indigo .ig-tabs { gap:8px; padding:12px; }
  .lo--indigo .ig-tab { flex-direction:column; align-items:center; gap:8px; padding:12px 4px 10px; text-align:center; border-radius:14px; }
  .lo--indigo .ig-tab-icon { width:36px; height:36px; border-radius:11px; }
  .lo--indigo .ig-tab-text strong { font-size:12.5px; line-height:1.25; }
  .lo--indigo .ig-tab-text small, .lo--indigo .ig-tab-number { display:none; }
  .lo--indigo .ig-stage { padding:0 12px 6px; }
  .lo--indigo .ig-stage-bar { padding:12px 0; gap:8px; }
  .lo--indigo .ig-stage-label { display:none; }
  .lo--indigo .ig-role-switch { flex:1; }
  .lo--indigo .ig-role-switch button { flex:1; min-height:38px; }
  .lo--indigo .ig-restart { min-height:46px; }
  .lo--indigo .ig-exercise { padding:18px 14px; border-radius:18px; }
  .lo--indigo .ig-exercise-heading { gap:11px; padding-bottom:16px; align-items:flex-start; }
  .lo--indigo .ig-exercise-symbol { width:42px; height:42px; border-radius:12px; }
  .lo--indigo .ig-reading { padding:18px; }
  .lo--indigo .nv-answer { font-size:15px; padding:9px 12px 9px 9px; gap:10px; }
  .lo--indigo .ig-quiz-actions .ig-btn { width:100%; }
  .lo--indigo .ig-word-bank { padding:14px; gap:10px; margin-top:18px; }
  .lo--indigo .ig-word-bank > div { gap:8px; }
  .lo--indigo .ig-word { font-size:15px; padding:8px 12px 8px 10px; gap:7px; }
  .lo--indigo .ig-gap-text p { gap:10px; font-size:16px; line-height:2.3; }
  .lo--indigo .ig-line-number { width:24px; height:24px; font-size:12px; margin-top:.6em; }
  .lo--indigo .ig-blank { min-width:136px; min-height:40px; font-size:13.5px; padding:4px 10px; }
  .lo--indigo .ig-blank[data-word] { font-size:15px; }
  .lo--indigo .ig-gap-footer { flex-direction:column; align-items:stretch; }
  .lo--indigo .ig-gap-footer .ig-btn { width:100%; }
  .lo--indigo .ig-deck { margin-top:28px; width:calc(100% - 12px); }
  .lo--indigo .ig-flashcard { min-height:240px; padding:22px 14px; border-radius:20px; }
  .lo--indigo .ig-flashcard em { font-size:15.5px; }
  .lo--indigo .ig-stage-footer { justify-content:center; text-align:center; }
  .lo--indigo .ig-demo-steps { flex-direction:column; align-items:center; }

  .lo--indigo .ig-benefit { padding:16px 18px; font-size:16px; border-radius:20px; }
  .lo--indigo .ig-benefit-icon { width:44px; height:44px; border-radius:13px; }
  .lo--indigo .ig-bento { gap:14px; }
  .lo--indigo .ig-feature { border-radius:26px; padding:22px 18px; gap:24px; }
  .lo--indigo .ig-ill--ai { grid-template-columns:minmax(0,1fr); }
  .lo--indigo .ig-ill-flow { width:28px; height:52px; margin-inline:auto; flex-direction:column; }
  .lo--indigo .ig-ill-flow i { flex:1; width:0; height:auto; border-top:0; border-left:2px dashed var(--violet-400); }
  .lo--indigo .ig-ill-invite { right:0; }
  .lo--indigo .ig-ill--page { min-height:0; padding-bottom:72px; }
  .lo--indigo .ig-ill-browser { position:relative; top:0; width:100%; }
  .lo--indigo .ig-ill-cta { display:none; }
  .lo--indigo .ig-ill-chat { width:210px; right:-4px; }
  .lo--indigo .ig-ill-page-spark { display:none; }
  .lo--indigo .ig-ill-page-geo--b { display:none; }
  .lo--indigo .ig-plan { padding:28px 22px 24px; }
  .lo--indigo .ig-faq summary { padding:17px 16px; font-size:16.5px; }
  .lo--indigo .ig-faq details p { padding:0 16px 18px; font-size:15.5px; }
  .lo--indigo .ig-final .ig-wrap { width:calc(100% - 16px); }
  .lo--indigo .ig-final-card { padding:72px 18px 76px; }
  .lo--indigo .ig-final .ig-btn { width:100%; max-width:340px; }
  .lo--indigo .ig-final-geo--circle { left:22px; top:22px; }
  .lo--indigo .ig-final-geo--pill, .lo--indigo .ig-final-geo--dots, .lo--indigo .ig-final-spark--b { display:none; }
  .lo--indigo .ig-heading--center .ig-eyebrow { font-size:12.5px; }
  .lo--indigo .ig-footer-inner { flex-direction:column; align-items:flex-start; }
  .lo--indigo .ig-footer nav { margin-left:-10px; }
}
@media (max-width:360px) {
  .lo--indigo .ig-caption { font-size:13px; gap:7px; }
  .lo--indigo .ig-restart { font-size:0; gap:0; padding:8px 14px; }
  .lo--indigo .ig-restart span { font-size:19px; }
  .lo--indigo .ig-role-switch button { padding:6px 10px; }
  .lo--indigo .ig-heading--center .ig-eyebrow { border-radius:16px; text-align:left; }
  .lo--indigo .ig-nav-login { display:none; }
  .lo--indigo main h1 { font-size:34px; }
  .lo--indigo .ig-btn--big { padding:14px 18px; font-size:16px; }
  .lo--indigo .ig-blank { min-width:120px; }
  .lo--indigo .ig-tab-text strong { font-size:11.5px; }
  .lo--indigo .ig-ill-chat { width:190px; }
}
/* Proposta 06 · Mural — papel recortado, cor chapada e contorno firme.
   Todo seletor fica restrito a .lo--mural (classe do <body> no layout landing_option). */

/* ── Base ─────────────────────────────────────────────────────────── */
.lo--mural {
  --mu-ink:#1d1833; --mu-ink-soft:#453f5e; --mu-cream:#fff4df; --mu-paper:#fffdf8;
  --mu-purple:#4f46e5; --mu-purple-deep:#3f37c9; --mu-lilac:#d6d1ff; --mu-cobalt:#2447f0;
  --mu-sun:#ffc93c; --mu-sun-soft:#ffe9a8; --mu-tomato:#ff6142; --mu-tomato-soft:#ffd6cc;
  --mu-mint:#86e3bc; --mu-mint-soft:#d3f5e5; --mu-pink:#ff9ecf;
  --mu-line:2.5px; --mu-focus:#4f46e5;
  --mu-display:'Bricolage Grotesque','Space Grotesque',ui-sans-serif,system-ui,sans-serif;
  --mu-body:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  margin:0; background:var(--mu-cream); color:var(--mu-ink); font-family:var(--mu-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.lo--mural *, .lo--mural *::before, .lo--mural *::after { box-sizing:border-box; }
.lo--mural :where(h1,h2,h3,h4,p,ul) { margin:0; }
.lo--mural :where(ul) { padding:0; list-style:none; }
.lo--mural :where(a) { color:inherit; text-decoration:none; }
.lo--mural :where(button) { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--mural :where(button:disabled) { cursor:default; }
.lo--mural :where(a) { -webkit-tap-highlight-color:transparent; }
.lo--mural [hidden] { display:none !important; }
.lo--mural :where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--mu-focus); outline-offset:3px; border-radius:8px; }
.lo--mural .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--mural .inline-block > svg { display:block; width:100%; height:100%; stroke-width:2; }
.lo--mural main > section[id] { scroll-margin-top:84px; }
.lo--mural .mu-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--mural .mu-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 18px; background:var(--mu-sun); color:var(--mu-ink); font-weight:700; border:var(--mu-line) solid var(--mu-ink); border-radius:12px; box-shadow:4px 4px 0 var(--mu-ink); }
.lo--mural .mu-skip:focus { top:16px; }
.lo--mural :where(p) { text-wrap:pretty; }
.lo--mural :where(h1,h2,h3,h4) { font-family:var(--mu-display); font-weight:800; letter-spacing:-.03em; text-wrap:balance; }
.lo--mural h1 { font-size:clamp(40px,5.5vw,80px); line-height:1.06; letter-spacing:-.04em; }
.lo--mural h2 { font-size:clamp(33px,4.5vw,60px); line-height:1.08; letter-spacing:-.035em; }

/* Formas decorativas */
.lo--mural .mu-shape { position:absolute; display:block; fill:var(--mu-sun); stroke:var(--mu-ink); stroke-width:2.5px; stroke-linejoin:round; vector-effect:non-scaling-stroke; pointer-events:none; overflow:visible; }
.lo--mural .mu-shape > * { vector-effect:non-scaling-stroke; }
.lo--mural .mu-shape--line { fill:none; stroke-width:4px; stroke-linecap:round; }
.lo--mural .mu-shape .mu-shape-detail { fill:none; stroke-width:3px; stroke-linecap:round; }
.lo--mural .mu-shape .mu-shape-dot { fill:var(--mu-ink); stroke:none; }

/* Marca-texto de papel */
.lo--mural .mu-mark { display:inline-block; padding:0 .16em .04em; margin-inline:-.04em; color:var(--mu-ink); background:var(--mu-sun); border:var(--mu-line) solid var(--mu-ink); border-radius:.22em; transform:rotate(-1.6deg); white-space:nowrap; line-height:1.04; }
.lo--mural .mu-mark--purple { background:var(--mu-purple); color:#fff; transform:rotate(1.4deg); }
.lo--mural .mu-mark--mint { background:var(--mu-mint); }
.lo--mural .mu-mark--pink { background:var(--mu-pink); transform:rotate(1.6deg); }
.lo--mural .mu-mark--paper { background:var(--mu-paper); transform:rotate(1.4deg); }

/* Etiquetas */
.lo--mural .mu-sticker { display:inline-flex; align-items:center; gap:8px; padding:7px 14px; font-size:13px; font-weight:700; line-height:1.3; letter-spacing:.02em; color:var(--mu-ink); background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:999px; box-shadow:3px 3px 0 var(--mu-ink); transform:rotate(-1.5deg); }
.lo--mural .mu-sticker--mint { background:var(--mu-mint); }
.lo--mural .mu-sticker--sun { background:var(--mu-sun); }
.lo--mural .mu-sticker--pink { background:var(--mu-pink); }
.lo--mural .mu-live-dot { display:inline-block; flex:none; width:9px; height:9px; border-radius:50%; background:var(--mu-tomato); border:1.5px solid var(--mu-ink); }

/* Botões que afundam */
.lo--mural .mu-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:12px 22px; font-family:var(--mu-body); font-size:16px; font-weight:700; line-height:1.2; color:#fff; background:var(--mu-purple); border:var(--mu-line) solid var(--mu-ink); border-radius:14px; box-shadow:4px 4px 0 var(--mu-ink); transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease; }
.lo--mural .mu-btn:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-btn:active { transform:translate(4px,4px); box-shadow:0 0 0 var(--mu-ink); }
.lo--mural .mu-btn--big { min-height:60px; padding:16px 28px; font-size:18px; border-radius:18px; box-shadow:5px 5px 0 var(--mu-ink); }
.lo--mural .mu-btn--big:hover { transform:translate(2px,2px); box-shadow:3px 3px 0 var(--mu-ink); }
.lo--mural .mu-btn--big:active { transform:translate(5px,5px); box-shadow:0 0 0 var(--mu-ink); }
.lo--mural .mu-btn--small { min-height:42px; padding:8px 16px; font-size:14px; border-radius:12px; box-shadow:3px 3px 0 var(--mu-ink); }
.lo--mural .mu-btn--small:hover { transform:translate(1px,1px); box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-btn--small:active { transform:translate(3px,3px); box-shadow:0 0 0 var(--mu-ink); }
.lo--mural .mu-btn--compact { min-height:46px; padding:10px 18px; font-size:15px; }
.lo--mural .mu-btn--paper { background:var(--mu-paper); color:var(--mu-ink); }
.lo--mural .mu-btn--paper:hover { background:#fff; }
.lo--mural .mu-btn--sun { background:var(--mu-sun); color:var(--mu-ink); }

/* ── Navegação ───────────────────────────────────────────────────── */
.lo--mural .mu-nav { position:sticky; top:12px; z-index:40; width:min(1180px,calc(100% - 64px)); margin:16px auto 0; }
.lo--mural .mu-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:66px; padding:9px 12px 9px 22px; background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:22px; box-shadow:5px 5px 0 var(--mu-ink); }
.lo--mural .mu-logo { display:inline-flex; font-family:var(--mu-display); font-size:30px; font-weight:800; letter-spacing:-.05em; line-height:1; isolation:isolate; }
.lo--mural .mu-logo > span { position:relative; padding:2px 4px; }
.lo--mural .mu-logo > span::before { content:''; position:absolute; z-index:-1; inset:42% -5px 2px -5px; background:var(--mu-sun); border-radius:5px; transform:rotate(-2.5deg); }
.lo--mural .mu-nav-links { display:flex; gap:4px; font-size:15px; font-weight:600; }
.lo--mural .mu-nav-links a { padding:8px 14px; border-radius:999px; border:2px solid transparent; transition:background-color .15s,border-color .15s; }
.lo--mural .mu-nav-links a:hover { background:var(--mu-sun-soft); border-color:var(--mu-ink); }
.lo--mural .mu-nav-actions { display:flex; align-items:center; gap:18px; }
.lo--mural .mu-nav-login { font-size:15px; font-weight:700; padding:8px 4px; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; text-decoration-color:var(--mu-purple); }
.lo--mural .mu-nav-login:hover { color:var(--mu-purple); }
.lo--mural .mu-only-narrow { display:none; }

/* ── 1 · Hero ────────────────────────────────────────────────────── */
.lo--mural .mu-hero { position:relative; padding:64px 0 96px; background-image:radial-gradient(#1d183322 1.3px,transparent 1.4px); background-size:26px 26px; overflow:clip; }
.lo--mural .mu-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); align-items:center; gap:48px; }
.lo--mural .mu-hero h1 { margin-top:26px; }
.lo--mural .mu-lead { max-width:33em; margin-top:28px; font-size:clamp(17px,1.5vw,20px); line-height:1.65; color:var(--mu-ink-soft); }
.lo--mural .mu-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }
.lo--mural .mu-caption { display:flex; align-items:center; gap:8px; margin-top:22px; font-size:15px; font-weight:600; color:var(--mu-ink-soft); }
.lo--mural .mu-caption > .inline-block { padding:2px; color:var(--mu-ink); background:var(--mu-mint); border:1.5px solid var(--mu-ink); border-radius:50%; width:20px !important; height:20px !important; }

.lo--mural .mu-collage { position:relative; width:100%; max-width:500px; aspect-ratio:1/1.16; margin-inline:auto; font-family:var(--mu-display); }
.lo--mural .mu-collage > * { position:absolute; }
.lo--mural .mu-collage-sun { top:2%; right:3%; width:44%; aspect-ratio:1; background:var(--mu-sun); border:var(--mu-line) solid var(--mu-ink); border-radius:50%; }
.lo--mural .mu-collage-arch { left:0; bottom:4%; width:62%; height:50%; background:var(--mu-cobalt); border:var(--mu-line) solid var(--mu-ink); border-radius:999px 999px 26px 26px; }
.lo--mural .mu-collage-card { top:16%; left:12%; width:72%; display:flex; flex-direction:column; gap:9px; padding:20px; background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:22px; box-shadow:7px 7px 0 var(--mu-ink); transform:rotate(-4deg); font-family:var(--mu-body); }
.lo--mural .mu-collage-card-label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mu-purple); }
.lo--mural .mu-collage-card strong { font-family:var(--mu-display); font-size:21px; line-height:1.2; letter-spacing:-.02em; margin-bottom:4px; }
.lo--mural .mu-collage-option { display:flex; align-items:center; gap:10px; padding:8px 10px; font-size:13.5px; font-weight:500; line-height:1.3; border:2px solid var(--mu-ink); border-radius:12px; background:#fff; }
.lo--mural .mu-collage-option i { display:grid; place-items:center; flex:none; width:24px; height:24px; font-style:normal; font-size:12px; font-weight:700; background:var(--mu-lilac); border:1.5px solid var(--mu-ink); border-radius:7px; }
.lo--mural .mu-collage-option--right { background:var(--mu-mint); font-weight:700; }
.lo--mural .mu-collage-option--right i { background:var(--mu-ink); color:#fff; }
.lo--mural .mu-collage-bubble { top:3%; left:4%; padding:8px 22px 12px; font-size:clamp(34px,4vw,50px); font-weight:800; letter-spacing:-.04em; line-height:1; background:var(--mu-tomato); border:var(--mu-line) solid var(--mu-ink); border-radius:26px 26px 26px 4px; box-shadow:5px 5px 0 var(--mu-ink); transform:rotate(-9deg); }
.lo--mural .mu-collage-note { right:0; bottom:1%; width:45%; padding:18px 16px 20px; font-size:clamp(16px,1.65vw,21px); font-weight:700; line-height:1.22; letter-spacing:-.02em; background:var(--mu-pink); border:var(--mu-line) solid var(--mu-ink); border-radius:4px 4px 22px 4px; box-shadow:5px 5px 0 var(--mu-ink); transform:rotate(5deg); }
.lo--mural .mu-collage-note::before { content:''; position:absolute; top:-13px; left:50%; width:74px; height:24px; margin-left:-37px; background:#fff4dfcc; border:2px solid var(--mu-ink); border-radius:3px; transform:rotate(-4deg); }
.lo--mural .mu-collage-tag { padding:6px 16px 8px; font-size:20px; font-weight:800; letter-spacing:-.03em; line-height:1.1; border:var(--mu-line) solid var(--mu-ink); border-radius:999px; box-shadow:3px 3px 0 var(--mu-ink); }
.lo--mural .mu-collage-tag--one { top:9%; right:0; background:var(--mu-mint); transform:rotate(10deg); }
.lo--mural .mu-collage-tag--two { left:2%; bottom:0; background:var(--mu-lilac); transform:rotate(-7deg); }
.lo--mural .mu-collage-sparkle { width:15%; top:-2%; left:48%; fill:var(--mu-purple); }
.lo--mural .mu-collage-burst { width:17%; left:-5%; top:40%; fill:var(--mu-sun); }
.lo--mural .mu-collage-squiggle { width:26%; right:-1%; top:45%; stroke:var(--mu-tomato); transform:rotate(80deg); }

/* ── 2 · Demonstração ────────────────────────────────────────────── */
.lo--mural .mu-demo { position:relative; padding:88px 0 104px; background:var(--mu-cobalt); color:#fff; border-block:3px solid var(--mu-ink); overflow:clip; --mu-focus:#ffc93c; }
.lo--mural .mu-demo-sparkle { width:74px; top:48px; right:6%; fill:var(--mu-pink); }
.lo--mural .mu-demo-arch { width:210px; left:-60px; bottom:-10px; fill:var(--mu-tomato); transform:rotate(18deg); }
.lo--mural .mu-demo-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:end; gap:40px; margin-bottom:44px; }
.lo--mural .mu-demo-heading h2 { margin-top:20px; }
.lo--mural .mu-demo-heading > p { font-size:18px; line-height:1.6; color:#eef0ff; max-width:26em; padding-bottom:6px; }

.lo--mural .mu-lab { position:relative; color:var(--mu-ink); background:var(--mu-paper); border:3px solid var(--mu-ink); border-radius:28px; box-shadow:10px 10px 0 var(--mu-ink); overflow:hidden; --mu-focus:#4f46e5; }
.lo--mural .mu-noscript { padding:16px 22px; font-weight:600; background:var(--mu-tomato-soft); border-bottom:var(--mu-line) solid var(--mu-ink); }
.lo--mural .mu-lab-top { display:flex; align-items:center; gap:18px; padding:13px 22px; background:var(--mu-sun); border-bottom:3px solid var(--mu-ink); }
.lo--mural .mu-lab-dots { display:flex; gap:7px; }
.lo--mural .mu-lab-dots i { width:14px; height:14px; border:2px solid var(--mu-ink); border-radius:50%; background:var(--mu-tomato); }
.lo--mural .mu-lab-dots i:nth-child(2) { background:var(--mu-paper); }
.lo--mural .mu-lab-dots i:nth-child(3) { background:var(--mu-mint); }
.lo--mural .mu-lesson { display:flex; align-items:center; gap:11px; min-width:0; }
.lo--mural .mu-lesson-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:11px; }
.lo--mural .mu-lesson strong { display:block; font-family:var(--mu-display); font-size:17px; font-weight:800; line-height:1.15; letter-spacing:-.02em; }
.lo--mural .mu-lesson small { display:block; font-size:12.5px; font-weight:600; line-height:1.3; }
.lo--mural .mu-lab-badge { margin-left:auto; padding:5px 12px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; background:var(--mu-ink); color:#fff; border-radius:999px; }

.lo--mural .mu-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:20px 22px; background:var(--mu-paper); border-bottom:var(--mu-line) solid var(--mu-ink); }
.lo--mural .mu-tab { --mu-tab:var(--mu-lilac); display:flex; align-items:center; gap:12px; min-width:0; padding:12px 14px; text-align:left; background:#fff; border:var(--mu-line) solid var(--mu-ink); border-radius:16px; transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease; }
.lo--mural .mu-tab--gap { --mu-tab:var(--mu-sun); }
.lo--mural .mu-tab--cards { --mu-tab:var(--mu-mint); }
.lo--mural .mu-tab:hover { background:var(--mu-cream); }
.lo--mural .mu-tab-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; background:var(--mu-tab); border:2px solid var(--mu-ink); border-radius:12px; }
.lo--mural .mu-tab-text { flex:1; min-width:0; }
.lo--mural .mu-tab strong { display:block; font-family:var(--mu-display); font-size:16.5px; font-weight:700; line-height:1.2; letter-spacing:-.015em; }
.lo--mural .mu-tab small { display:block; margin-top:2px; font-size:13px; line-height:1.3; color:var(--mu-ink-soft); }
.lo--mural .mu-tab-number { font-family:var(--mu-display); font-size:14px; font-weight:700; color:var(--mu-ink-soft); }
.lo--mural .mu-tab[aria-selected=true] { background:var(--mu-tab); box-shadow:4px 4px 0 var(--mu-ink); transform:translate(-2px,-2px); }
.lo--mural .mu-tab[aria-selected=true] .mu-tab-icon { background:var(--mu-paper); }
.lo--mural .mu-tab[aria-selected=true] small, .lo--mural .mu-tab[aria-selected=true] .mu-tab-number { color:var(--mu-ink); }

.lo--mural .mu-stage { padding:6px 22px 8px; background-color:var(--mu-cream); background-image:radial-gradient(#1d18332b 1.2px,transparent 1.3px); background-size:18px 18px; }
.lo--mural .mu-stage-bar { display:flex; align-items:center; gap:14px; min-height:66px; padding-block:12px; }
.lo--mural .mu-stage-label { display:flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:var(--mu-ink-soft); }
.lo--mural .mu-role-switch { display:flex; gap:3px; margin-left:auto; padding:3px; background:#fff; border:2px solid var(--mu-ink); border-radius:999px; }
.lo--mural .mu-role-switch button { min-height:36px; padding:5px 16px; font-size:14px; font-weight:700; background:transparent; border:0; border-radius:999px; transition:background-color .12s; }
.lo--mural .mu-role-switch button:hover { background:var(--mu-sun-soft); }
.lo--mural .mu-role-switch button[aria-pressed=true] { background:var(--mu-ink); color:#fff; }
.lo--mural .mu-restart { min-height:42px; padding:6px 14px; font-size:14px; font-weight:700; background:#fff; border:2px solid var(--mu-ink); border-radius:999px; transition:background-color .12s; }
.lo--mural .mu-restart:hover { background:var(--mu-pink); }

.lo--mural .mu-exercise { min-height:452px; padding:28px 30px; background:#fff; border:var(--mu-line) solid var(--mu-ink); border-radius:22px; box-shadow:5px 5px 0 var(--mu-ink); }
.lo--mural .mu-exercise-heading { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:2px dashed #1d183340; }
.lo--mural .mu-exercise-symbol { display:grid; place-items:center; flex:none; width:50px; height:50px; background:var(--mu-lilac); border:2px solid var(--mu-ink); border-radius:15px; transform:rotate(-4deg); }
.lo--mural .mu-exercise-symbol--gap { background:var(--mu-sun); }
.lo--mural .mu-exercise-symbol--cards { background:var(--mu-mint); }
.lo--mural .mu-exercise-heading h3 { font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.lo--mural .mu-exercise-heading p { margin-top:3px; font-size:15px; line-height:1.45; color:var(--mu-ink-soft); }
.lo--mural .mu-level { margin-left:auto; padding:3px 11px; font-family:var(--mu-display); font-size:14px; font-weight:800; background:var(--mu-pink); border:2px solid var(--mu-ink); border-radius:9px; transform:rotate(4deg); }
.lo--mural .mu-small-label { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mu-ink-soft); }

.lo--mural .mu-quiz-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:28px; margin-top:24px; }
.lo--mural .mu-reading { display:flex; flex-direction:column; padding:22px; background:#eeebff; border:2px solid var(--mu-ink); border-radius:18px; }
.lo--mural .mu-reading h4 { margin:12px 0 12px; font-size:24px; line-height:1.15; color:var(--mu-purple-deep); }
.lo--mural .mu-reading > p { margin-bottom:10px; font-size:15.5px; line-height:1.65; }
.lo--mural .mu-reading-foot { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; font-size:12.5px; font-weight:600; color:var(--mu-ink-soft); border-top:2px dashed #1d183338; }
.lo--mural .mu-question-meta { display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--mu-ink-soft); }
.lo--mural .mu-question h4 { margin-bottom:16px; font-size:21px; line-height:1.25; }
.lo--mural .mu-quiz-answers { display:flex; flex-direction:column; gap:10px; }
/* Botões criados pelo controller (classes nv-*) */
.lo--mural .nv-answer { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:9px 12px; font-size:15.5px; font-weight:500; line-height:1.35; text-align:left; color:var(--mu-ink); background:#fff; border:2px solid var(--mu-ink); border-radius:14px; transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease; }
.lo--mural .nv-answer-letter { display:grid; place-items:center; flex:none; width:30px; height:30px; font-family:var(--mu-display); font-size:14px; font-weight:800; background:var(--mu-cream); border:2px solid var(--mu-ink); border-radius:9px; }
.lo--mural .nv-answer:hover:not(:disabled) { background:var(--mu-cream); transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--mu-ink); }
.lo--mural .nv-answer[aria-pressed=true] { background:var(--mu-lilac); font-weight:700; transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--mu-ink); }
.lo--mural .nv-answer[aria-pressed=true] .nv-answer-letter { background:var(--mu-purple); color:#fff; }
.lo--mural .nv-answer:disabled { transform:none; box-shadow:none; color:var(--mu-ink-soft); }
.lo--mural .nv-answer[data-result=correct] { background:var(--mu-mint); color:var(--mu-ink); font-weight:700; }
.lo--mural .nv-answer[data-result=correct] .nv-answer-letter { background:var(--mu-ink); color:#fff; font-size:0; }
.lo--mural .nv-answer[data-result=correct] .nv-answer-letter::after { content:'✓'; font-size:16px; }
.lo--mural .nv-answer[data-result=incorrect] { background:var(--mu-tomato-soft); color:var(--mu-ink); font-weight:700; }
.lo--mural .nv-answer[data-result=incorrect] .nv-answer-letter { background:var(--mu-tomato); color:var(--mu-ink); font-size:0; }
.lo--mural .nv-answer[data-result=incorrect] .nv-answer-letter::after { content:'✕'; font-size:14px; }
.lo--mural .mu-feedback { min-height:48px; margin-block:14px 10px; font-size:15px; font-weight:500; line-height:1.5; color:var(--mu-ink-soft); }
.lo--mural .mu-feedback[data-result] { padding:9px 13px; font-weight:600; color:var(--mu-ink); border:2px solid var(--mu-ink); border-radius:12px; }
.lo--mural .mu-feedback[data-result=correct] { background:var(--mu-mint-soft); }
.lo--mural .mu-feedback[data-result=incorrect] { background:var(--mu-tomato-soft); }
.lo--mural .mu-quiz-actions { display:flex; justify-content:flex-end; }

.lo--mural .mu-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:14px 26px; margin:24px 0 26px; padding:16px 20px; background:var(--mu-cream); border:2px dashed var(--mu-ink); border-radius:18px; }
.lo--mural .mu-word-bank > div { display:flex; flex-wrap:wrap; gap:12px; }
.lo--mural .mu-word { min-height:44px; padding:7px 18px; font-family:var(--mu-display); font-size:17px; font-weight:700; background:var(--mu-sun); border:2px solid var(--mu-ink); border-radius:12px; box-shadow:3px 3px 0 var(--mu-ink); transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease; }
.lo--mural .mu-word:nth-child(odd) { transform:rotate(-2deg); }
.lo--mural .mu-word:nth-child(even) { transform:rotate(1.5deg); }
.lo--mural .mu-word:hover:not(:disabled) { transform:translate(1px,1px) rotate(0deg); box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-word[aria-pressed=true] { background:var(--mu-purple); color:#fff; transform:translate(-2px,-4px) rotate(-3deg); box-shadow:5px 6px 0 var(--mu-ink); }
.lo--mural .mu-word:disabled { background:#fff; color:#1d183399; text-decoration:line-through; border-style:dashed; border-color:#1d183380; box-shadow:none; transform:none; }
.lo--mural .mu-gap-text { display:flex; flex-direction:column; gap:12px; }
.lo--mural .mu-gap-text p { display:flex; align-items:baseline; gap:14px; font-size:19px; line-height:2.3; }
.lo--mural .mu-line-number { display:inline-grid; place-items:center; flex:none; width:28px; height:28px; font-family:var(--mu-display); font-size:14px; font-weight:800; line-height:1; background:var(--mu-ink); color:#fff; border-radius:50%; transform:translateY(-2px); }
.lo--mural .mu-blank { display:inline-block; min-width:168px; min-height:40px; margin-inline:4px; padding:3px 14px; font-size:15px; font-weight:600; line-height:1.6; color:var(--mu-ink-soft); background:var(--mu-cream); border:2px dashed var(--mu-ink); border-radius:11px; vertical-align:baseline; transition:background-color .12s; }
.lo--mural .mu-blank:hover { background:var(--mu-sun-soft); }
.lo--mural .mu-blank[data-word] { font-family:var(--mu-display); font-size:17px; font-weight:700; color:var(--mu-ink); background:var(--mu-sun); border-style:solid; box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-blank[data-result=correct] { background:var(--mu-mint); }
.lo--mural .mu-blank[data-result=correct]::after { content:'✓'; display:inline-block; margin-left:.4em; }
.lo--mural .mu-blank[data-result=incorrect] { background:var(--mu-tomato-soft); border-color:var(--mu-ink); text-decoration:underline wavy #c4321b; text-underline-offset:4px; }
.lo--mural .mu-blank[data-result=incorrect]::after { content:'✕'; display:inline-block; margin-left:.4em; text-decoration:none; }
.lo--mural .mu-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding-top:16px; border-top:2px dashed #1d183340; }
.lo--mural .mu-gap-footer .mu-feedback { flex:1; min-height:0; margin:0; }

.lo--mural .mu-flashcard { display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(100%,520px); min-height:268px; margin:28px auto 0; padding:26px; text-align:center; color:#fff; background:var(--mu-purple); border:var(--mu-line) solid var(--mu-ink); border-radius:24px; box-shadow:7px 7px 0 var(--mu-ink); transform:rotate(-1.2deg); transition:transform .15s ease,box-shadow .15s ease,background-color .2s; --mu-focus:#1d1833; }
.lo--mural .mu-flashcard:hover { transform:rotate(0deg) translate(2px,2px); box-shadow:5px 5px 0 var(--mu-ink); }
.lo--mural .mu-flashcard .mu-small-label { color:inherit; }
.lo--mural .mu-flashcard strong { margin-block:20px 10px; font-family:var(--mu-display); font-size:clamp(38px,5vw,56px); font-weight:800; line-height:1.05; letter-spacing:-.04em; }
.lo--mural .mu-flashcard em { font-style:normal; font-size:17px; line-height:1.5; }
.lo--mural .mu-flashcard[aria-pressed=true] { color:var(--mu-ink); background:var(--mu-sun); transform:rotate(1.2deg); }
.lo--mural .mu-flashcard[aria-pressed=true]:hover { transform:rotate(0deg) translate(2px,2px); }
.lo--mural .mu-card-hint { display:inline-flex; align-items:center; gap:8px; margin-top:24px; padding:5px 13px; font-size:13px; font-weight:700; color:var(--mu-ink); background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:999px; }
.lo--mural .mu-card-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:26px; }
.lo--mural .mu-card-controls > button { display:grid; place-items:center; width:46px; height:46px; background:#fff; border:2px solid var(--mu-ink); border-radius:50%; box-shadow:3px 3px 0 var(--mu-ink); transition:transform .12s ease,box-shadow .12s ease,background-color .12s; }
.lo--mural .mu-card-controls > button:hover { background:var(--mu-mint); transform:translate(1px,1px); box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-card-controls > button:active { transform:translate(3px,3px); box-shadow:0 0 0 var(--mu-ink); }
.lo--mural .mu-card-controls > span { min-width:64px; text-align:center; font-family:var(--mu-display); font-size:16px; font-weight:800; }

.lo--mural .mu-teacher-note { display:flex; align-items:flex-start; gap:12px; margin-top:16px; padding:14px 18px; background:var(--mu-pink); border:var(--mu-line) solid var(--mu-ink); border-radius:16px; box-shadow:4px 4px 0 var(--mu-ink); }
.lo--mural .mu-teacher-note-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:50%; }
.lo--mural .mu-teacher-note strong { display:block; font-family:var(--mu-display); font-size:16px; font-weight:800; }
.lo--mural .mu-teacher-note p > span { display:block; margin-top:2px; font-size:15px; line-height:1.5; }
.lo--mural .mu-stage-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding-block:14px 10px; font-size:13px; font-weight:600; color:var(--mu-ink-soft); }
.lo--mural .mu-stage-footer > span { display:flex; align-items:center; gap:7px; }
.lo--mural .mu-stage-footer .mu-live-dot { background:var(--mu-mint); }

/* ── 3 · Benefícios ──────────────────────────────────────────────── */
.lo--mural .mu-benefits { background:var(--mu-sun); border-bottom:3px solid var(--mu-ink); }
.lo--mural .mu-benefits ul { display:flex; align-items:center; justify-content:space-between; gap:18px 28px; padding-block:26px; }
.lo--mural .mu-benefits li { display:flex; align-items:center; gap:12px; font-family:var(--mu-display); font-size:clamp(16px,1.55vw,19px); font-weight:700; line-height:1.25; letter-spacing:-.015em; text-wrap:balance; }
.lo--mural .mu-benefit-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:50%; box-shadow:2px 2px 0 var(--mu-ink); }
.lo--mural .mu-benefit-icon--purple { background:var(--mu-purple); color:#fff; transform:rotate(-8deg); }
.lo--mural .mu-benefit-icon--tomato { background:var(--mu-tomato); transform:rotate(6deg); }
.lo--mural .mu-benefit-icon--pink { background:var(--mu-pink); transform:rotate(-5deg); }

/* ── Seções ──────────────────────────────────────────────────────── */
.lo--mural .mu-section { position:relative; padding:112px 0; overflow:clip; }
.lo--mural .mu-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:end; gap:40px; margin-bottom:56px; }
.lo--mural .mu-heading h2 { margin-top:20px; }
.lo--mural .mu-heading > p:not(.mu-sticker) { max-width:24em; padding-bottom:6px; font-size:19px; line-height:1.6; color:var(--mu-ink-soft); }
.lo--mural .mu-heading--center { display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; }
.lo--mural .mu-heading--center > p:last-child { margin-top:22px; max-width:30em; }

/* ── 4 · Funcionalidades ─────────────────────────────────────────── */
.lo--mural .mu-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.lo--mural .mu-feature { display:flex; flex-direction:column; padding:30px 30px 28px; color:var(--mu-ink); background:var(--mu-sun); border:var(--mu-line) solid var(--mu-ink); border-radius:28px; box-shadow:7px 7px 0 var(--mu-ink); transition:transform .18s ease,box-shadow .18s ease; }
.lo--mural .mu-feature:nth-child(1) { transform:rotate(-1.2deg); }
.lo--mural .mu-feature:nth-child(2) { transform:rotate(.9deg) translateY(14px); }
.lo--mural .mu-feature:nth-child(3) { transform:rotate(-.7deg); }
.lo--mural .mu-feature:hover { transform:rotate(0deg) translate(-2px,-4px); box-shadow:10px 12px 0 var(--mu-ink); }
.lo--mural .mu-feature--purple { background:var(--mu-purple); color:#fff; --mu-focus:#ffc93c; }
.lo--mural .mu-feature--mint { background:var(--mu-mint); }
.lo--mural .mu-feature-top { display:flex; align-items:center; justify-content:space-between; }
.lo--mural .mu-feature-icon { display:grid; place-items:center; width:64px; height:64px; color:var(--mu-ink); background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:20px; box-shadow:3px 3px 0 var(--mu-ink); transform:rotate(-5deg); }
.lo--mural .mu-feature-number { font-family:var(--mu-display); font-size:54px; font-weight:800; line-height:1; letter-spacing:-.04em; color:transparent; -webkit-text-stroke:2px currentColor; }
.lo--mural .mu-feature .mu-feature-number { -webkit-text-stroke-color:var(--mu-ink); }
.lo--mural .mu-feature--purple .mu-feature-number { -webkit-text-stroke-color:#fff; }
.lo--mural .mu-feature h3 { margin:30px 0 14px; font-size:clamp(25px,2.3vw,31px); line-height:1.12; }
.lo--mural .mu-feature > p { font-size:17px; line-height:1.62; }
.lo--mural .mu-feature-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding:12px 16px; font-size:16px; font-weight:700; color:var(--mu-ink); background:var(--mu-paper); border:2px solid var(--mu-ink); border-radius:14px; box-shadow:3px 3px 0 var(--mu-ink); transition:transform .12s ease,box-shadow .12s ease; }
.lo--mural .mu-feature > p + .mu-feature-link { margin-top:30px; }
.lo--mural .mu-feature > p { margin-bottom:auto; }
.lo--mural .mu-feature-link:hover { transform:translate(2px,2px); box-shadow:1px 1px 0 var(--mu-ink); }

/* ── 5 · Página do professor ─────────────────────────────────────── */
.lo--mural .mu-pages { background:var(--mu-pink); border-block:3px solid var(--mu-ink); --mu-focus:#1d1833; }
.lo--mural .mu-pages .mu-heading > p:not(.mu-sticker) { color:var(--mu-ink); }
.lo--mural .mu-pages-burst { width:120px; right:4%; top:56px; fill:var(--mu-sun); transform:rotate(12deg); }
.lo--mural .mu-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.lo--mural .mu-profile { position:relative; display:block; padding:14px 14px 0; background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:22px; box-shadow:7px 7px 0 var(--mu-ink); transition:transform .18s ease,box-shadow .18s ease; }
.lo--mural .mu-profile::before { content:''; position:absolute; z-index:2; top:-15px; left:50%; width:96px; height:28px; margin-left:-48px; background:#ffe9a8e6; border:2px solid var(--mu-ink); border-radius:3px; transform:rotate(-3deg); }
.lo--mural .mu-profile:nth-child(1) { transform:rotate(-1.6deg); }
.lo--mural .mu-profile:nth-child(2) { transform:rotate(1deg) translateY(16px); }
.lo--mural .mu-profile:nth-child(2)::before { background:#d6d1ffe6; transform:rotate(4deg); }
.lo--mural .mu-profile:nth-child(3) { transform:rotate(-.8deg); }
.lo--mural .mu-profile:nth-child(3)::before { background:#d3f5e5e6; transform:rotate(-5deg); }
.lo--mural .mu-profile:hover { transform:rotate(0deg) translate(-2px,-5px); box-shadow:10px 13px 0 var(--mu-ink); }
.lo--mural .mu-profile-image { height:290px; overflow:hidden; background:var(--mu-cream); border:2px solid var(--mu-ink); border-radius:12px; }
.lo--mural .mu-profile-image img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }
.lo--mural .mu-profile:hover .mu-profile-image img { transform:translateY(-14px); }
.lo--mural .mu-profile-info { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 6px 20px; }
.lo--mural .mu-profile-info h3 { font-size:24px; line-height:1.15; }
.lo--mural .mu-profile-info p { margin-top:4px; font-size:15.5px; line-height:1.45; color:var(--mu-ink-soft); }
.lo--mural .mu-profile-arrow { display:grid; place-items:center; flex:none; width:44px; height:44px; background:var(--mu-sun); border:2px solid var(--mu-ink); border-radius:50%; transition:transform .18s ease,background-color .18s; }
.lo--mural .mu-profile:hover .mu-profile-arrow { background:var(--mu-mint); transform:rotate(-45deg); }

/* ── 6 · Planos ──────────────────────────────────────────────────── */
.lo--mural .mu-pricing { background-image:radial-gradient(#1d183322 1.3px,transparent 1.4px); background-size:26px 26px; }
.lo--mural .mu-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:28px; }
.lo--mural .mu-plan { position:relative; display:flex; flex-direction:column; padding:32px 30px 30px; background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:28px; box-shadow:7px 7px 0 var(--mu-ink); }
.lo--mural .mu-plan:nth-child(1) { --mu-plan-accent:var(--mu-mint); }
.lo--mural .mu-plan:nth-child(3) { --mu-plan-accent:var(--mu-pink); }
.lo--mural .mu-plan h3 { font-size:28px; line-height:1.1; }
.lo--mural .mu-plan-description { min-height:3.1em; margin-top:10px; font-size:16px; line-height:1.55; color:var(--mu-ink-soft); }
.lo--mural .mu-price { display:flex; align-items:baseline; gap:6px; margin-top:24px; }
.lo--mural .mu-price strong { font-family:var(--mu-display); font-size:clamp(44px,4.2vw,56px); font-weight:800; line-height:1; letter-spacing:-.045em; }
.lo--mural .mu-price > span { font-size:17px; font-weight:600; color:var(--mu-ink-soft); }
.lo--mural .mu-credits { display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:16px; padding:6px 13px; font-size:15px; font-weight:700; background:var(--mu-plan-accent,var(--mu-sun)); border:2px solid var(--mu-ink); border-radius:16px; line-height:1.3; }
.lo--mural .mu-plan ul { flex:1; display:flex; flex-direction:column; gap:12px; margin:26px 0 30px; padding-top:24px; border-top:2px dashed #1d183340; }
.lo--mural .mu-plan li { display:flex; align-items:flex-start; gap:11px; font-size:16px; line-height:1.45; }
.lo--mural .mu-plan-check { display:grid; place-items:center; flex:none; width:22px; height:22px; margin-top:1px; color:var(--mu-ink); background:var(--mu-plan-accent,var(--mu-sun)); border:1.5px solid var(--mu-ink); border-radius:50%; }
.lo--mural .mu-plan .mu-btn { width:100%; }
.lo--mural .mu-plan--featured { color:#fff; background:var(--mu-purple); box-shadow:10px 10px 0 var(--mu-ink); transform:translateY(-14px) rotate(-.6deg); --mu-focus:#ffc93c; }
.lo--mural .mu-plan--featured .mu-plan-description, .lo--mural .mu-plan--featured .mu-price > span { color:#ecebff; }
.lo--mural .mu-plan--featured .mu-credits { color:var(--mu-ink); }
.lo--mural .mu-plan--featured ul { border-top-color:#ffffff66; }
.lo--mural .mu-plan-ribbon { position:absolute; top:-20px; right:22px; display:inline-flex; align-items:center; gap:7px; padding:7px 14px; font-size:13.5px; font-weight:700; white-space:nowrap; color:var(--mu-ink); background:var(--mu-tomato); border:2px solid var(--mu-ink); border-radius:999px; box-shadow:3px 3px 0 var(--mu-ink); transform:rotate(3deg); }
.lo--mural .mu-pricing-note { margin-top:44px; text-align:center; font-size:15px; color:var(--mu-ink-soft); }

/* ── 7 · Dúvidas ─────────────────────────────────────────────────── */
.lo--mural .mu-faq { background:var(--mu-mint); border-block:3px solid var(--mu-ink); --mu-focus:#1d1833; }
.lo--mural .mu-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
.lo--mural .mu-faq-intro { position:relative; }
.lo--mural .mu-faq-intro h2 { margin-top:20px; }
.lo--mural .mu-faq-smile { position:relative; width:112px; margin-top:36px; fill:var(--mu-sun); transform:rotate(-10deg); }
.lo--mural .mu-faq-list { display:flex; flex-direction:column; gap:16px; }
.lo--mural .mu-faq details { background:var(--mu-paper); border:var(--mu-line) solid var(--mu-ink); border-radius:20px; box-shadow:5px 5px 0 var(--mu-ink); transition:transform .12s ease,box-shadow .12s ease; }
.lo--mural .mu-faq details:not([open]):hover { transform:translate(2px,2px); box-shadow:3px 3px 0 var(--mu-ink); }
.lo--mural .mu-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 22px; font-family:var(--mu-display); font-size:21px; font-weight:700; line-height:1.25; letter-spacing:-.02em; cursor:pointer; list-style:none; border-radius:18px; }
.lo--mural .mu-faq summary::-webkit-details-marker { display:none; }
.lo--mural .mu-faq-chevron { display:grid; place-items:center; flex:none; width:38px; height:38px; background:var(--mu-sun); border:2px solid var(--mu-ink); border-radius:50%; transition:transform .2s ease,background-color .2s; }
.lo--mural .mu-faq details[open] .mu-faq-chevron { background:var(--mu-pink); transform:rotate(180deg); }
.lo--mural .mu-faq details > p { padding:0 22px 24px; max-width:40em; font-size:17px; line-height:1.65; color:var(--mu-ink-soft); }

/* ── 8 · CTA final ───────────────────────────────────────────────── */
.lo--mural .mu-final { position:relative; padding:120px 0 128px; color:#fff; background:var(--mu-purple); overflow:clip; --mu-focus:#ffc93c; }
.lo--mural .mu-final-inner { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.lo--mural .mu-final h2 { max-width:15em; font-size:clamp(36px,5.4vw,76px); line-height:1.08; }
.lo--mural .mu-final p { margin-top:26px; font-size:21px; color:#efeeff; }
.lo--mural .mu-final .mu-btn { margin-top:36px; }
.lo--mural .mu-final-caption { margin-top:22px; font-size:15px; font-weight:600; color:#efeeff; }
.lo--mural .mu-final-sparkle { width:92px; top:64px; left:7%; fill:var(--mu-sun); }
.lo--mural .mu-final-heart { width:84px; bottom:72px; right:8%; fill:var(--mu-tomato); transform:rotate(14deg); }
.lo--mural .mu-final-arch { width:230px; right:-70px; top:-24px; fill:var(--mu-mint); transform:rotate(-150deg); }
.lo--mural .mu-final-squiggle { width:150px; left:5%; bottom:84px; stroke:var(--mu-pink); transform:rotate(-8deg); }

/* ── Rodapé ──────────────────────────────────────────────────────── */
.lo--mural .mu-footer { padding:56px 0 128px; color:var(--mu-cream); background:var(--mu-ink); border-top:3px solid var(--mu-ink); --mu-focus:#ffc93c; }
.lo--mural .mu-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.lo--mural .mu-footer .mu-logo { color:var(--mu-ink); margin-left:8px; }
.lo--mural .mu-footer .mu-logo > span::before { inset:-2px -8px; border-radius:9px; }
.lo--mural .mu-footer-brand p { margin-top:16px; font-size:15.5px; color:#e6dfd0; }
.lo--mural .mu-footer nav { display:flex; flex-wrap:wrap; gap:8px 26px; font-size:16px; font-weight:600; }
.lo--mural .mu-footer nav a { padding:6px 0; text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:2px; text-underline-offset:6px; transition:text-decoration-color .15s,color .15s; }
.lo--mural .mu-footer nav a:hover { color:var(--mu-sun); text-decoration-color:var(--mu-sun); }
.lo--mural .mu-footer small { font-size:14.5px; color:#e6dfd0; }

/* ── Micro-animações (só com movimento permitido) ────────────────── */
@media (prefers-reduced-motion:no-preference) {
  .lo--mural .mu-collage-bubble { animation:mu-bob 5.5s ease-in-out infinite; }
  .lo--mural .mu-collage-tag--one { animation:mu-bob 6.5s ease-in-out -2s infinite; }
  .lo--mural .mu-collage-tag--two { animation:mu-bob 7s ease-in-out -4s infinite; }
  .lo--mural .mu-collage-sparkle, .lo--mural .mu-demo-sparkle, .lo--mural .mu-final-sparkle { animation:mu-twinkle 5s ease-in-out infinite; }
  .lo--mural .mu-collage-burst, .lo--mural .mu-pages-burst { animation:mu-spin 28s linear infinite; }
  .lo--mural .mu-live-dot { animation:mu-pulse 1.8s ease-in-out infinite; }
  .lo--mural .mu-flashcard[aria-pressed=true] { animation:mu-flip-a .32s ease; }
  .lo--mural .mu-flashcard[aria-pressed=false] { animation:mu-flip-b .32s ease; }
  .lo--mural .nv-answer[data-result=correct], .lo--mural .mu-blank[data-result=correct] { animation:mu-pop .35s ease; }
  .lo--mural .nv-answer[data-result=incorrect], .lo--mural .mu-blank[data-result=incorrect] { animation:mu-shake .35s ease; }
}
@keyframes mu-bob { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
@keyframes mu-twinkle { 0%,100% { scale:1; rotate:0deg; } 50% { scale:1.12; rotate:14deg; } }
@keyframes mu-spin { to { rotate:360deg; } }
@keyframes mu-pulse { 0%,100% { scale:1; } 50% { scale:1.35; } }
@keyframes mu-flip-a { 0% { scale:1 1; } 50% { scale:.04 1; } 100% { scale:1 1; } }
@keyframes mu-flip-b { 0% { scale:1 1; } 50% { scale:.04 1; } 100% { scale:1 1; } }
@keyframes mu-pop { 0% { scale:1; } 50% { scale:1.035; } 100% { scale:1; } }
@keyframes mu-shake { 0%,100% { translate:0 0; } 25% { translate:-5px 0; } 75% { translate:5px 0; } }
@media (prefers-reduced-motion:reduce) {
  .lo--mural *, .lo--mural *::before, .lo--mural *::after { transition:none !important; animation:none !important; }
}

/* ── Responsivo ──────────────────────────────────────────────────── */
@media (max-width:1100px) {
  .lo--mural .mu-nav-links { gap:0; font-size:14px; }
  .lo--mural .mu-nav-links a { padding:8px 10px; }
  .lo--mural .mu-hero-grid { gap:36px; }
  .lo--mural .mu-feature-grid, .lo--mural .mu-plans, .lo--mural .mu-profiles { gap:20px; }
  .lo--mural .mu-feature, .lo--mural .mu-plan { padding:26px 22px 24px; }
  .lo--mural .mu-tab small { display:none; }
  .lo--mural .mu-profile-image { height:240px; }
  .lo--mural .mu-faq-grid { gap:44px; }
}
@media (max-width:920px) {
  .lo--mural .mu-nav-links { display:none; }
  .lo--mural .mu-hero { padding:48px 0 72px; }
  .lo--mural .mu-hero-grid { grid-template-columns:minmax(0,1fr); gap:56px; }
  .lo--mural .mu-hero-copy { text-align:center; display:flex; flex-direction:column; align-items:center; }
  .lo--mural .mu-actions { justify-content:center; }
  .lo--mural .mu-collage { max-width:460px; }
  .lo--mural h1 { font-size:clamp(40px,9vw,76px); }
  .lo--mural .mu-demo-heading, .lo--mural .mu-heading { grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
  .lo--mural .mu-section { padding:88px 0; }
  .lo--mural .mu-feature-grid, .lo--mural .mu-plans { grid-template-columns:minmax(0,1fr); gap:30px; max-width:560px; margin-inline:auto; }
  .lo--mural .mu-feature:nth-child(n) { transform:none; }
  .lo--mural .mu-feature:nth-child(odd) { transform:rotate(-.8deg); }
  .lo--mural .mu-feature:nth-child(even) { transform:rotate(.8deg); }
  .lo--mural .mu-feature h3 { margin-top:24px; }
  .lo--mural .mu-plan--featured { transform:rotate(-.6deg); }
  .lo--mural .mu-plans { gap:40px; }
  .lo--mural .mu-plan-description { min-height:0; }
  .lo--mural .mu-profiles { grid-template-columns:minmax(0,1fr); gap:44px; max-width:520px; margin-inline:auto; }
  .lo--mural .mu-profile:nth-child(2) { transform:rotate(1deg); }
  .lo--mural .mu-profile-image { height:300px; }
  .lo--mural .mu-pages-burst { width:84px; top:28px; right:3%; }
  .lo--mural .mu-benefits ul { flex-direction:column; align-items:flex-start; gap:14px; padding-block:28px; }
  .lo--mural .mu-faq-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  .lo--mural .mu-faq-smile { position:absolute; right:0; top:-8px; width:76px; margin-top:0; }
  .lo--mural .mu-quiz-columns { grid-template-columns:minmax(0,1fr); gap:24px; }
  .lo--mural .mu-exercise { min-height:0; }
  .lo--mural .mu-footer-inner { flex-direction:column; align-items:flex-start; gap:24px; }
  .lo--mural .mu-final-arch { width:170px; }
}
@media (min-width:641px) and (max-width:920px) {
  .lo--mural .mu-profiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:none; }
  .lo--mural .mu-profile { padding:10px 10px 0; border-radius:18px; box-shadow:5px 5px 0 var(--mu-ink); }
  .lo--mural .mu-profile:nth-child(2) { transform:rotate(1deg) translateY(12px); }
  .lo--mural .mu-profile::before { width:72px; margin-left:-36px; height:24px; top:-13px; }
  .lo--mural .mu-profile-image { height:190px; }
  .lo--mural .mu-profile-info { padding:14px 4px 16px; }
  .lo--mural .mu-profile-info h3 { font-size:20px; }
  .lo--mural .mu-profile-info p { font-size:14.5px; }
  .lo--mural .mu-profile-arrow { display:none; }
}
@media (max-width:640px) {
  .lo--mural { font-size:16px; }
  .lo--mural .mu-wrap { width:calc(100% - 32px); }
  .lo--mural .mu-nav { top:8px; width:calc(100% - 24px); margin-top:12px; }
  .lo--mural .mu-nav-inner { min-height:58px; gap:10px; padding:7px 8px 7px 14px; border-radius:18px; box-shadow:4px 4px 0 var(--mu-ink); }
  .lo--mural .mu-logo { font-size:26px; }
  .lo--mural .mu-nav-actions { gap:12px; }
  .lo--mural .mu-nav-login { font-size:14px; }
  .lo--mural .mu-only-wide { display:none; }
  .lo--mural .mu-only-narrow { display:inline; }
  .lo--mural .mu-nav .mu-btn > .inline-block { display:none; }
  .lo--mural .mu-btn--small { padding:8px 13px; }
  .lo--mural main > section[id] { scroll-margin-top:72px; }

  .lo--mural .mu-hero { padding:36px 0 60px; background-size:22px 22px; }
  .lo--mural h1 { font-size:clamp(37px,11.6vw,58px); line-height:1.08; }
  .lo--mural h2 { font-size:clamp(31px,9vw,42px); }
  .lo--mural .mu-hero h1 { margin-top:22px; }
  .lo--mural .mu-sticker { font-size:12px; padding:6px 12px; }
  .lo--mural .mu-lead { margin-top:22px; font-size:17px; }
  .lo--mural .mu-actions { flex-direction:column; align-items:stretch; width:100%; max-width:340px; gap:14px; margin-top:28px; }
  .lo--mural .mu-btn--big { min-height:56px; padding:14px 20px; font-size:17px; }
  .lo--mural .mu-caption { font-size:14px; }
  .lo--mural .mu-hero-grid { gap:44px; }
  .lo--mural .mu-collage { max-width:360px; aspect-ratio:1/1.02; }
  .lo--mural .mu-collage-arch { height:54%; }
  .lo--mural .mu-collage-card { left:9%; width:80%; gap:7px; padding:14px; border-radius:18px; box-shadow:5px 5px 0 var(--mu-ink); }
  .lo--mural .mu-collage-card strong { font-size:16px; }
  .lo--mural .mu-collage-card-label { font-size:9.5px; }
  .lo--mural .mu-collage-option { gap:8px; padding:6px 8px; font-size:11.5px; border-radius:10px; }
  .lo--mural .mu-collage-option i { width:20px; height:20px; font-size:10px; }
  .lo--mural .mu-collage-bubble { font-size:30px; padding:6px 16px 9px; left:0; }
  .lo--mural .mu-collage-note { width:50%; padding:14px 12px; font-size:14px; bottom:0; }
  .lo--mural .mu-collage-note::before { width:56px; margin-left:-28px; height:20px; top:-11px; }
  .lo--mural .mu-collage-tag { font-size:15px; padding:4px 12px 6px; }
  .lo--mural .mu-collage-tag--two { bottom:-2%; }
  .lo--mural .mu-collage-burst { left:-2%; }
  .lo--mural .mu-collage-squiggle { display:none; }

  .lo--mural .mu-demo { padding:60px 0 72px; }
  .lo--mural .mu-demo-heading { margin-bottom:32px; }
  .lo--mural .mu-demo-heading > p { font-size:16.5px; }
  .lo--mural .mu-demo-sparkle { width:44px; top:20px; right:16px; }
  .lo--mural .mu-demo-arch { width:130px; left:-50px; }
  .lo--mural .mu-demo .mu-wrap { width:calc(100% - 24px); }
  .lo--mural .mu-demo-heading { padding-inline:4px; }
  .lo--mural .mu-lab { border-radius:22px; box-shadow:6px 6px 0 var(--mu-ink); }
  .lo--mural .mu-lab-top { gap:10px; padding:10px 14px; }
  .lo--mural .mu-lab-dots { display:none; }
  .lo--mural .mu-lab-badge { font-size:0; padding:0; background:none; }
  .lo--mural .mu-lab-badge::after { content:'Demo'; display:block; padding:4px 10px; font-size:10.5px; letter-spacing:.1em; color:#fff; background:var(--mu-ink); border-radius:999px; }
  .lo--mural .mu-lesson strong { font-size:16px; }
  .lo--mural .mu-lesson small { font-size:12px; }
  .lo--mural .mu-tabs { gap:8px; padding:12px 10px; }
  .lo--mural .mu-tab { flex-direction:column; gap:6px; padding:9px 4px 8px; text-align:center; border-radius:14px; }
  .lo--mural .mu-tab-icon { width:34px; height:34px; border-radius:10px; }
  .lo--mural .mu-tab strong { font-size:12.5px; line-height:1.15; letter-spacing:-.01em; }
  .lo--mural .mu-tab-number { display:none; }
  .lo--mural .mu-tab[aria-selected=true] { box-shadow:3px 3px 0 var(--mu-ink); }
  .lo--mural .mu-stage { padding:2px 10px 4px; }
  .lo--mural .mu-stage-bar { gap:8px; min-height:60px; }
  .lo--mural .mu-stage-label { display:none; }
  .lo--mural .mu-role-switch { margin-left:0; }
  .lo--mural .mu-role-switch button { min-height:38px; padding:5px 13px; }
  .lo--mural .mu-restart { margin-left:auto; padding:6px 12px; }
  .lo--mural .mu-exercise { padding:18px 14px; border-radius:18px; box-shadow:4px 4px 0 var(--mu-ink); }
  .lo--mural .mu-exercise-heading { gap:11px; padding-bottom:16px; align-items:flex-start; }
  .lo--mural .mu-exercise-symbol { width:42px; height:42px; border-radius:12px; }
  .lo--mural .mu-exercise-heading h3 { font-size:18.5px; }
  .lo--mural .mu-exercise-heading p { font-size:14px; }
  .lo--mural .mu-level { display:none; }
  .lo--mural .mu-quiz-columns { margin-top:18px; gap:22px; }
  .lo--mural .mu-reading { padding:16px; border-radius:16px; }
  .lo--mural .mu-reading h4 { font-size:21px; }
  .lo--mural .mu-reading > p { font-size:15px; }
  .lo--mural .mu-question h4 { font-size:19px; }
  .lo--mural .nv-answer { font-size:15px; padding:9px 10px; gap:10px; }
  .lo--mural .mu-quiz-actions .mu-btn { width:100%; }
  .lo--mural .mu-word-bank { gap:10px; margin:18px 0 20px; padding:14px; }
  .lo--mural .mu-word-bank > div { gap:9px; }
  .lo--mural .mu-word { padding:6px 13px; font-size:16px; }
  .lo--mural .mu-gap-text { gap:8px; }
  .lo--mural .mu-gap-text p { gap:10px; font-size:16.5px; line-height:2.35; }
  .lo--mural .mu-line-number { width:24px; height:24px; font-size:12.5px; }
  .lo--mural .mu-blank { min-width:142px; margin-inline:2px; padding:3px 10px; font-size:14px; }
  .lo--mural .mu-blank[data-word] { font-size:16px; }
  .lo--mural .mu-gap-footer { flex-direction:column; align-items:stretch; gap:14px; margin-top:16px; }
  .lo--mural .mu-flashcard { min-height:240px; margin-top:24px; padding:22px 14px; border-radius:20px; box-shadow:5px 5px 0 var(--mu-ink); }
  .lo--mural .mu-flashcard em { font-size:15.5px; }
  .lo--mural .mu-teacher-note { padding:12px 14px; }
  .lo--mural .mu-teacher-note p > span { font-size:14.5px; }
  .lo--mural .mu-stage-footer { font-size:12.5px; }
  .lo--mural .mu-stage-footer > span:last-child { display:none; }

  .lo--mural .mu-benefits li { font-size:16px; }
  .lo--mural .mu-benefit-icon { width:38px; height:38px; }
  .lo--mural .mu-section { padding:68px 0; }
  .lo--mural .mu-heading { margin-bottom:40px; }
  .lo--mural .mu-heading > p:not(.mu-sticker) { font-size:17px; }
  .lo--mural .mu-feature, .lo--mural .mu-plan { padding:24px 20px 22px; border-radius:24px; box-shadow:5px 5px 0 var(--mu-ink); }
  .lo--mural .mu-feature-icon { width:56px; height:56px; border-radius:17px; }
  .lo--mural .mu-feature-number { font-size:46px; }
  .lo--mural .mu-feature > p { font-size:16px; }
  .lo--mural .mu-profile { box-shadow:5px 5px 0 var(--mu-ink); }
  .lo--mural .mu-profile-image { height:auto; aspect-ratio:1.25; }
  .lo--mural .mu-profile-info h3 { font-size:22px; }
  .lo--mural .mu-pages-burst { width:60px; top:16px; right:10px; }
  .lo--mural .mu-plan--featured { box-shadow:6px 6px 0 var(--mu-ink); }
  .lo--mural .mu-plan-ribbon { right:14px; font-size:12.5px; }
  .lo--mural .mu-pricing-note { margin-top:34px; font-size:14.5px; }
  .lo--mural .mu-faq-smile { width:58px; top:-4px; }
  .lo--mural .mu-faq summary { padding:16px; font-size:18px; gap:12px; }
  .lo--mural .mu-faq-chevron { width:34px; height:34px; }
  .lo--mural .mu-faq details > p { padding:0 16px 20px; font-size:16px; }
  .lo--mural .mu-faq details { box-shadow:4px 4px 0 var(--mu-ink); border-radius:18px; }
  .lo--mural .mu-final { padding:84px 0 92px; }
  .lo--mural .mu-final p { font-size:18px; margin-top:20px; }
  .lo--mural .mu-final .mu-btn { margin-top:30px; width:100%; max-width:340px; }
  .lo--mural .mu-final-sparkle { width:52px; top:22px; left:16px; }
  .lo--mural .mu-final-heart { width:50px; bottom:20px; right:18px; }
  .lo--mural .mu-final-arch { width:120px; right:-50px; top:-16px; }
  .lo--mural .mu-final-squiggle { width:90px; left:12px; bottom:30px; }
  .lo--mural .mu-footer { padding:44px 0 112px; }
}
@media (max-width:360px) {
  .lo--mural .mu-nav-inner { padding-left:10px; }
  .lo--mural .mu-logo { font-size:23px; }
  .lo--mural .mu-nav-actions { gap:9px; }
  .lo--mural .mu-btn--small { padding:8px 10px; font-size:13px; }
  .lo--mural .mu-tab strong { font-size:11.5px; }
  .lo--mural .mu-role-switch button { padding:5px 10px; font-size:13px; }
  .lo--mural .mu-restart { padding:6px 10px; font-size:13px; }
  .lo--mural .mu-blank { min-width:128px; }
  .lo--mural .mu-collage-option { font-size:10.5px; }
  .lo--mural .mu-collage { aspect-ratio:1/1.14; }
  .lo--mural .mu-plan-ribbon { font-size:11.5px; padding:6px 10px; }
}
/* Proposta 09 · Postal — selos, carimbos, cartões-postais e bilhetes de viagem.
   Todo seletor fica restrito a .lo--postal (classe do <body> no layout landing_option). */

/* ── Base ─────────────────────────────────────────────────────────── */
.lo--postal {
  --po-ink:#15224a; --po-ink-soft:#46507a; --po-cream:#f5eedf; --po-paper:#fffdf6; --po-kraft:#e8d9bb; --po-kraft-deep:#c4ad80;
  --po-blue:#1d4ea3; --po-blue-deep:#143a7d; --po-blue-soft:#dbe6f7;
  --po-red:#d13f2a; --po-red-deep:#ae2e1c; --po-red-soft:#fbe1d9;
  --po-sun:#eab035; --po-sun-soft:#fbebc2;
  --po-jade:#2a9d8a; --po-jade-deep:#14695c; --po-jade-soft:#d5ede6;
  --po-salmon:#f2a48f; --po-salmon-soft:#f9d6ca;
  --po-nivo:#4f46e5; --po-nivo-deep:#3a32c4; --po-nivo-soft:#eceaff;
  --po-focus:#4f46e5;
  --po-airmail:repeating-linear-gradient(-45deg,var(--po-red) 0 12px,var(--po-paper) 12px 24px,var(--po-blue) 24px 36px,var(--po-paper) 36px 48px);
  --po-shadow:0 1px 2px #15224a1f,0 14px 28px -16px #15224a66;
  --po-shadow-lift:0 2px 4px #15224a24,0 26px 40px -20px #15224a80;
  --po-display:'Archivo','Arial Narrow',ui-sans-serif,system-ui,sans-serif;
  --po-mono:'DM Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --po-body:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --po-hand:'Caveat','Segoe Script','Bradley Hand',cursive;
  margin:0; color:var(--po-ink); font-family:var(--po-body); font-size:17px; line-height:1.6;
  background-color:var(--po-cream);
  background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAgMAAACf9p+rAAAADFBMVEUVIkoVIkoVIkoVIkp8oJwHAAAABHRSTlMABw4YOzPFxwAACGdJREFUeNoVlPFvG2cdxr/v+b3L2XW695xzYidpOXt2m0ztlHYtK6IT79nvubbXVHfuOXLbbNiJEyWwoGQko8CAs3vJkpIOO3OyFrTJaVOpoAKZlI2tEpKTJV07CnK6dGOgSRQ2qRNCGkhIQ+wHwn/wefR8ngciPp0JOR6CBTGGBHxMPjrGF6NxAE8n67LPPQGjqjo9jOOo4dvzk7LmCcMkpamHf8jBPw3cVaSP3qilkI5kdQnUPhaBlTL4pUsIZ0IC/m38qeXrE2sQh1ncU10NbdY8GK2XOa2l2dfPpUrgvkm/VsPRsC8dSzu93np3MfZwrG0PB9ycTabQPdKNM9lZvIMpVmlSZ+EknAHwe04qYoS1flcCk61LctFxk/JwNEzAAhV73wN8ZqfVrgloYoj78Di4qoqOK9NpjblZmipUjLXKqcn270NXyIx2RLKvHTI+GKjo5sUmUR/ibvgOAhe/9IT5+6qOAua33ktM5m7jljymG6fAUrmnPtx0C6Q1WYkRmJaIjH4t9XZAsKyI6NbwAU6FR9V9bZ8ev5ZAfHROBgO4zAK/VhioaNOL5x5Toe6tyrmSALvcqnNmcNpM0V3ig1LTVWQPvKj76DT0umSeXcvoDZ0954sW5InMqdOyZwvQB1xvejBs2Jgaqje0d8OewmPHSAhurkaGMIo9sLYiW7ILUKh9BlFf81ngTzsOUYd0hQrf7OmZzqVbJ3rogm4jeLg65+RnvSYE8uRXMVHkVx96duzjywFYB8tL9e2O1UNlm1y18R8rhDzyFoCb0+lv6JI6WBaXwuRIio0tmIvk0El45wrL3TZBkFtEhPb2wL/BqmD9dhTeOUTOW7gcipbPWXwF90yL0JFNVCgUGGsu2Kr6/kBlp06SWDkxR77wWCGo7Q1skija9Vkb8zZjMSCKlu7DLQiIn3sgl/uYnx+kRpy1eGi7dtGOAshWSaQDBo9uZv4UJHcpeDhe8hUW4bLHxDxxEWVk8MlCVdZPOEXj8tjoILwxY2+uKJt9SYRPKMQqdeOXAKzatlSI/UzbRVjKXqRK87Ey7unI97XfmgCkmt7WH3f2Q9lwAaUo2OXkeFlVgOhZNocCMpzvcjxOfF4SlT+Jmc5NKPiftUx53ogXLrlP/YFJwe66FW4z18H5bgyYfGp3gToHfPz4DLy9N9i5sQOBRYbFMC3e/Um/gyIw9CJy6sA3WPB1ThRB9+DSFsbUkp5HTa/jrtnhNpBMMGTyHWkyPpiWicFh/1y4oFICTtL/abtGsqedIb/LfTF4J/cEM5TtZfSarL4dU1mGZZIIi/Erh/H34okXBEDW3yiPapcwHvkYS2UvgVLITsoGMPpMrfXpTVflAs8FJajGSVPSbi6VQNu9flivTrzAkxhk74V26s2f+1zjEgI17iIfrsi5d336fi0iO/gud8rgiQzXpRN5JcT2LMnmbKgk6T4W6nP3EoCDD2VveSEHhfZnPLZC8icyueURDXOg0Gu+T0xixjkpCWkvVfvpYdpZMmHI9Lk1K9pmj322goavWktv9VmOOleFAYwKP2h95dZsCGKSOHxMsMvrb6Cfh2Dx7dc9kN2TPtKRPdt3WjorLmcD0i9dFHwXyGRatcgswsMFysadCUdF6hvWAAXPIlS5gE10zlFCrXEUe4ys+/eMgr6N6O938pTW2C+8CXbP9lp/Hgi0AKbiLKqGFK5eNK1KCUQqkjlk8YCG8yLXVHR0Y4Wp0G5Us7cXMhEBQAjjb6jnPtLJ03fiVJ5W76c/VTFVm2A+cknNkPGA6UUEAkMk67bViuYah/10R3aZBIwAlTey8GKw0F0n5AoNbFNlpExHSOTlA2nVOVq2hGmhTrEFtZKgXN2SCaiJ2mmGpRogpZUvYDCqj8dywSoICoArkOuBU1Ll86eSNtSirqSLZQQv4kZmOqCzThohf5S7DHZzl+AS0eqbfWGHK6h+wo9kDu6AxgL4zq6OlbW3VNxZmCgVq69l3FpiYL7DhKCtclKKhBbrJYe7WZQuN5zcYG40AcWhrNwtMWzp2h4a1+99IQ/x7eL2BkepiA3qcqVOj2o3qVWY0gG1HvXq4AE2owieiWLTppx1KA1eNn9PiYwG4Uhyv6qXQqSTZNmCK+xCpUyu6FC/BE+b2VB0Kq7d2mybArK2x18+1FTT+DFQxQY9fGA924K3tVy6WN6oQmz6HJiQ4GjANvx6EqUMnL79CAlI4OGRBCBiQo+boJsXItioaAMa/RG8J/ihgOWyOS/wvRHkVbPyk3KS7DakxgYopETFeFVm7bDSHusV9bb8QTPE1qZgR4Luk55LO7HVEFABCDh8vtSLKAdT5zm7kv/HxW1nGp3Y6y3J+kOmPRaAXF0RUwshXGokRS4qsOde551OhVnwMpz0mol8F9I0qU465S5LQbnAS04IHn4T0Vdigkfd9P7FX/rpDXLG8385wEDieCFepY516nYFUGGqxyGfYKWO7RslnCUqW4uYUzMp8ASJVHt2UtwFhnFYNiHTvCbMZSA2skX3iUOjhkxBXOEqv+OEkaZ7Pg/r2vbouRiKZG0NAqt4KdP617m7Ynswvar8i0nhl/vWTurgxqmZQvM4BSOwf/yBNcNtLDHOGj8Joo0oWt7ko8gUR1WpgPj8FNTvd8DFq4VJB7/YOJMEMyCiPn8p2BOyDk+Af5tA0F19X4Xj7sQREOcl4Ffm1Rlw2S2zsvT3LjXaIWnKcuTanD268AXjoLib3CG+Blw8qq+3DG0wGVssghw6EMctj7W0kNFfzYbn7zexcjahLhmrCvjNHcRvNL7vzOuc2vqyt2XnAYJdpg8yX66VyZqZtcPoK/vyMfdn5CMn/HcJQ1GuM+16+DjSaP+i/B9izD2/qqpk4X9AmY3UR3Gd9gAAAABJRU5ErkJggg=="); background-size:96px 96px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.lo--postal :where(.po-nav,.po-main,.po-footer,.po-skip) *, .lo--postal :where(.po-nav,.po-main,.po-footer) *::before, .lo--postal :where(.po-nav,.po-main,.po-footer) *::after { box-sizing:border-box; }
.lo--postal :where(.po-nav,.po-main,.po-footer) :where(h1,h2,h3,h4,p,ul,dl,dd) { margin:0; }
.lo--postal :where(.po-nav,.po-main,.po-footer) :where(ul) { padding:0; list-style:none; }
.lo--postal :where(.po-nav,.po-main,.po-footer,.po-skip):where(a), .lo--postal :where(.po-nav,.po-main,.po-footer) :where(a) { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lo--postal :where(.po-nav,.po-main,.po-footer) :where(button) { font:inherit; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--postal :where(.po-nav,.po-main,.po-footer) :where(button:disabled) { cursor:default; }
.lo--postal :where(.po-nav,.po-main,.po-footer) :where(i,em) { font-style:normal; }
.lo--postal :where(.po-nav,.po-main,.po-footer) [hidden] { display:none !important; }
.lo--postal :where(.po-nav,.po-main,.po-footer,.po-skip) :where(a,button,summary,[tabindex]):focus-visible, .lo--postal .po-skip:focus-visible { outline:3px solid var(--po-focus); outline-offset:3px; border-radius:6px; }
.lo--postal .po-main .inline-block, .lo--postal .po-nav .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--postal .po-main .inline-block > svg, .lo--postal .po-nav .inline-block > svg { display:block; width:100%; height:100%; stroke-width:2; }
.lo--postal .po-main > section[id] { scroll-margin-top:80px; }
.lo--postal .po-defs { position:absolute; width:0; height:0; overflow:hidden; }
.lo--postal .po-wrap { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.lo--postal .po-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 18px; font-family:var(--po-mono); font-size:14px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--po-nivo); border-radius:8px; }
.lo--postal .po-skip:focus { top:16px; }
.lo--postal .po-main :where(p) { text-wrap:pretty; }
.lo--postal .po-main :where(h1,h2,h3,h4) { font-family:var(--po-display); font-stretch:62%; font-weight:800; text-transform:uppercase; letter-spacing:0; text-wrap:balance; }
.lo--postal .po-main h1 { font-size:clamp(56px,6.5vw,96px); line-height:.93; }
.lo--postal .po-main h2 { font-size:clamp(42px,5.4vw,82px); line-height:.95; }

/* Aviãozinho de papel (symbol #po-plane): as cores vêm das variáveis --po-plane-* herdadas pelo <use>. */

/* Cores das ilustrações chapadas */
.lo--postal .po-c-blue { fill:var(--po-blue); } .lo--postal .po-c-bluedeep { fill:var(--po-blue-deep); } .lo--postal .po-c-navy { fill:var(--po-ink); }
.lo--postal .po-c-red { fill:var(--po-red); } .lo--postal .po-c-reddeep { fill:var(--po-red-deep); } .lo--postal .po-c-mustard { fill:var(--po-sun); }
.lo--postal .po-c-jade { fill:var(--po-jade); } .lo--postal .po-c-jadedeep { fill:var(--po-jade-deep); } .lo--postal .po-c-salmon { fill:var(--po-salmon); } .lo--postal .po-c-paper { fill:var(--po-paper); }
.lo--postal .po-l-paper { fill:none; stroke:var(--po-paper); } .lo--postal .po-l-navy { fill:none; stroke:var(--po-ink); } .lo--postal .po-l-jadedeep { fill:none; stroke:var(--po-jade-deep); }
.lo--postal .po-scene { display:block; width:100%; height:100%; }

/* Faixa de correio aéreo */
.lo--postal .po-airmail { height:10px; background:var(--po-airmail); }

/* Palavras-chave */
.lo--postal .po-hl { white-space:nowrap; }
.lo--postal .po-hl--red { color:var(--po-red); }
.lo--postal .po-hl--blue { color:var(--po-blue); }
.lo--postal .po-hl--jade { color:var(--po-jade-deep); }
.lo--postal .po-hl--sun { color:var(--po-sun); }
.lo--postal .po-hl--nivo { color:var(--po-nivo); padding-bottom:.1em; background:repeating-linear-gradient(-45deg,var(--po-red) 0 .09em,transparent .09em .18em,var(--po-blue) .18em .27em,transparent .27em .36em) left bottom / 100% .085em no-repeat; }

/* Sobretítulo monoespaçado */
.lo--postal .po-eyebrow { display:flex; align-items:center; gap:12px; font-family:var(--po-mono); font-size:13px; font-weight:500; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-eyebrow::before { content:''; flex:none; width:34px; height:10px; background:repeating-linear-gradient(-45deg,var(--po-red) 0 5px,transparent 5px 8px,var(--po-blue) 8px 13px,transparent 13px 16px); transform:skewX(-45deg); }
.lo--postal .po-eyebrow--light { color:#e9eefb; }
.lo--postal .po-eyebrow--light::before { background:repeating-linear-gradient(-45deg,var(--po-sun) 0 5px,transparent 5px 8px,var(--po-paper) 8px 13px,transparent 13px 16px); }
.lo--postal .po-live-dot { display:inline-block; flex:none; width:9px; height:9px; border-radius:50%; background:var(--po-sun); box-shadow:0 0 0 3px #eab03540; }

/* Etiqueta azul "Par avion" */
.lo--postal .po-airlabel { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; font-family:var(--po-mono); font-size:13px; font-weight:500; line-height:1.4; letter-spacing:.1em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-airlabel-tag { display:inline-block; padding:5px 13px 4px; font-family:var(--po-display); font-stretch:100%; font-size:12.5px; font-weight:800; font-style:italic; letter-spacing:.14em; text-transform:uppercase; line-height:1.3; white-space:nowrap; color:var(--po-paper); background:var(--po-blue); box-shadow:inset 0 2.5px 0 var(--po-blue),inset 0 4px 0 var(--po-paper),inset 0 -2.5px 0 var(--po-blue),inset 0 -4px 0 var(--po-paper); transform:skewX(-10deg); }

/* Botões: o "carimbo Nivo" */
.lo--postal .po-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:12px 24px; font-family:var(--po-display); font-stretch:86%; font-size:16px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; line-height:1.2; color:#fff; background:var(--po-nivo); border:0; border-radius:9px; box-shadow:0 3px 0 var(--po-nivo-deep),0 12px 20px -10px #3a32c4b3; transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease; }
.lo--postal .po-btn::before { content:''; position:absolute; inset:4px; border:1.5px dashed #ffffff80; border-radius:6px; pointer-events:none; }
.lo--postal .po-btn:hover { transform:translateY(-2px); box-shadow:0 5px 0 var(--po-nivo-deep),0 18px 24px -12px #3a32c4b3; }
.lo--postal .po-btn:active { transform:translateY(3px) scale(.985); box-shadow:0 0 0 var(--po-nivo-deep),0 4px 8px -6px #3a32c4b3; }
.lo--postal .po-btn > .inline-block { transition:transform .16s ease; }
.lo--postal .po-btn:hover > .inline-block:last-child { transform:translateX(3px); }
.lo--postal .po-btn--big { min-height:60px; padding:16px 30px; font-size:18px; border-radius:10px; }
.lo--postal .po-btn--small { min-height:42px; padding:8px 18px; font-size:13.5px; border-radius:8px; box-shadow:0 2px 0 var(--po-nivo-deep); }
.lo--postal .po-btn--small::before { inset:3px; border-radius:5px; }
.lo--postal .po-btn--small:hover { box-shadow:0 4px 0 var(--po-nivo-deep); }
.lo--postal .po-btn--compact { min-height:46px; padding:10px 20px; font-size:14.5px; }
.lo--postal .po-btn--paper { color:var(--po-ink); background:var(--po-paper); box-shadow:inset 0 0 0 1.5px var(--po-ink),0 3px 0 var(--po-ink); }
.lo--postal .po-btn--paper::before { border-color:#15224a40; }
.lo--postal .po-btn--paper:hover { box-shadow:inset 0 0 0 1.5px var(--po-ink),0 5px 0 var(--po-ink); }
.lo--postal .po-btn--paper:active { box-shadow:inset 0 0 0 1.5px var(--po-ink),0 0 0 var(--po-ink); }
.lo--postal .po-btn--sun { color:var(--po-ink); background:var(--po-sun); box-shadow:0 3px 0 #b07f12,0 12px 20px -12px #15224a80; }
.lo--postal .po-btn--sun::before { border-color:#15224a59; }
.lo--postal .po-btn--sun:hover { box-shadow:0 5px 0 #b07f12,0 18px 24px -12px #15224a80; }
.lo--postal .po-btn--sun:active { box-shadow:0 0 0 #b07f12; }
.lo--postal .po-btn--outline { color:var(--po-ink); background:transparent; box-shadow:inset 0 0 0 1.5px var(--po-ink); }
.lo--postal .po-btn--outline::before { border-color:#15224a40; }
.lo--postal .po-btn--outline:hover { color:#fff; background:var(--po-nivo); box-shadow:inset 0 0 0 1.5px var(--po-nivo),0 4px 0 var(--po-nivo-deep); }
.lo--postal .po-btn--outline:hover::before { border-color:#ffffff80; }
.lo--postal .po-btn--outline:active { box-shadow:inset 0 0 0 1.5px var(--po-nivo); }

/* Código de barras decorativo */
.lo--postal .po-barcode { display:block; height:34px; color:var(--po-ink); background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px,currentColor 4px 5px,transparent 5px 9px,currentColor 9px 12px,transparent 12px 14px,currentColor 14px 15px,transparent 15px 19px,currentColor 19px 21px,transparent 21px 22px,currentColor 22px 23px,transparent 23px 27px); }

/* Selos picotados */
.lo--postal .po-stamp { --p:9px; --cols:10; --rows:12; --s0:var(--po-red); --s1:var(--po-sun); --s2:var(--po-paper); --s3:var(--po-ink); display:inline-block; flex:none; filter:drop-shadow(0 1px 1px #15224a40) drop-shadow(0 6px 8px #15224a2e); }
.lo--postal .po-stamp-paper { display:flex; flex-direction:column; width:calc(var(--p)*var(--cols)); height:calc(var(--p)*var(--rows)); padding:calc(var(--p)*.85) calc(var(--p)*.85) calc(var(--p)*.6); background:var(--po-paper);
  -webkit-mask:radial-gradient(circle calc(var(--p)*.32) at 50% 50%,#0000 calc(100% - .6px),#000) calc(var(--p)/-2) calc(var(--p)/-2) / var(--p) var(--p),linear-gradient(#000 0 0) center / calc(100% - var(--p)) calc(100% - var(--p)) no-repeat;
  mask:radial-gradient(circle calc(var(--p)*.32) at 50% 50%,#0000 calc(100% - .6px),#000) calc(var(--p)/-2) calc(var(--p)/-2) / var(--p) var(--p),linear-gradient(#000 0 0) center / calc(100% - var(--p)) calc(100% - var(--p)) no-repeat; }
.lo--postal .po-stamp-art { display:block; flex:1; width:100%; min-height:0; }
.lo--postal .po-stamp-text { display:flex; align-items:baseline; justify-content:space-between; gap:4px; padding-top:calc(var(--p)*.3); color:var(--po-ink); line-height:1; white-space:nowrap; }
.lo--postal .po-stamp-text b { font-family:var(--po-display); font-stretch:70%; font-size:calc(var(--p)*1.5); font-weight:800; letter-spacing:.01em; }
.lo--postal .po-stamp-text i { font-family:var(--po-mono); font-size:calc(var(--p)*.92); font-weight:500; letter-spacing:.06em; color:var(--po-ink-soft); }
.lo--postal .po-f0 { fill:var(--s0); } .lo--postal .po-f1 { fill:var(--s1); } .lo--postal .po-f2 { fill:var(--s2); } .lo--postal .po-f3 { fill:var(--s3); }
.lo--postal .po-s2 { stroke:var(--s2); } .lo--postal .po-s3 { stroke:var(--s3); }
.lo--postal .po-stamp--blue { --s0:var(--po-blue); --s1:var(--po-salmon); --s2:var(--po-paper); --s3:var(--po-ink); }
.lo--postal .po-stamp--mustard { --s0:var(--po-sun); --s1:var(--po-red); --s2:var(--po-paper); --s3:var(--po-ink); }
.lo--postal .po-stamp--jade { --s0:var(--po-jade); --s1:var(--po-paper); --s2:var(--po-sun); --s3:var(--po-ink); }
.lo--postal .po-stamp--salmon { --s0:var(--po-salmon); --s1:var(--po-blue); --s2:var(--po-paper); --s3:var(--po-red-deep); }
.lo--postal .po-stamp--nivo { --s0:var(--po-nivo); --s1:var(--po-sun); --s2:var(--po-paper); --s3:var(--po-ink); }

/* Carimbos de tinta */
.lo--postal .po-postmark { display:block; color:var(--po-ink); overflow:visible; pointer-events:none; }
.lo--postal .po-postmark--nivo { color:var(--po-nivo); }
.lo--postal .po-postmark--paper { color:var(--po-paper); }
.lo--postal .po-postmark--red { color:var(--po-red); }
.lo--postal .po-postmark-ring { fill:none; stroke:currentColor; }
.lo--postal .po-postmark-fill { fill:currentColor; }
.lo--postal .po-postmark-arc { font-family:var(--po-mono); font-size:12.5px; font-weight:500; letter-spacing:.16em; fill:currentColor; }
.lo--postal .po-postmark-big { font-family:var(--po-display); font-stretch:62%; font-size:31px; font-weight:800; letter-spacing:.03em; fill:currentColor; }
.lo--postal .po-postmark-big--solo { font-size:36px; }
.lo--postal .po-postmark-small { font-family:var(--po-mono); font-size:12.5px; font-weight:500; letter-spacing:.2em; fill:currentColor; }
.lo--postal .po-postmark-plane { --po-plane-top:currentColor; --po-plane-side:currentColor; --po-plane-fold:currentColor; opacity:.9; }
.lo--postal .po-cancel { display:block; overflow:visible; }
.lo--postal .po-cancel path { fill:none; stroke:var(--po-ink); stroke-width:2.2; stroke-linecap:round; opacity:.7; }

/* Rotas de voo */
.lo--postal .po-route { position:absolute; display:block; overflow:visible; pointer-events:none; --po-plane-top:var(--po-red); --po-plane-side:var(--po-red-deep); --po-plane-fold:var(--po-ink); }
.lo--postal .po-route-line { fill:none; stroke:var(--po-ink); stroke-width:2.2; stroke-linecap:round; stroke-dasharray:1.5 9; opacity:.55; }
.lo--postal .po-route-dot { fill:none; stroke:var(--po-ink); stroke-width:2.2; opacity:.55; }

/* ── Navegação ───────────────────────────────────────────────────── */
.lo--postal .po-nav { position:sticky; top:0; z-index:40; background:#f5eedff2; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1.5px dashed #15224a38; }
.lo--postal .po-nav::before { content:''; display:block; height:6px; background:var(--po-airmail); }
.lo--postal .po-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; }
.lo--postal .po-logo { display:inline-flex; align-items:center; gap:10px; }
.lo--postal .po-logo-mark { display:grid; place-items:center; width:36px; height:36px; padding:7px; background:var(--po-nivo); border-radius:50%; box-shadow:inset 0 0 0 2.5px var(--po-nivo),inset 0 0 0 4px #ffffff73; transition:transform .25s ease; }
.lo--postal .po-logo-mark svg { display:block; width:100%; height:100%; transform:translate(-1px,1px); --po-plane-top:#fff; --po-plane-side:#d6d3ff; --po-plane-fold:#a9a4f5; }
.lo--postal .po-logo:hover .po-logo-mark { transform:rotate(-14deg); }
.lo--postal .po-logo-word { font-family:var(--po-display); font-stretch:112%; font-size:25px; font-weight:900; letter-spacing:.01em; line-height:1; text-transform:uppercase; }
.lo--postal .po-nav-links { display:flex; gap:6px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.lo--postal .po-nav-links a { position:relative; padding:10px 13px; }
.lo--postal .po-nav-links a::after { content:''; position:absolute; left:13px; right:13px; bottom:5px; height:0; border-bottom:2px dashed var(--po-red); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.lo--postal .po-nav-links a:hover::after { transform:scaleX(1); }
.lo--postal .po-nav-actions { display:flex; align-items:center; gap:20px; }
.lo--postal .po-nav-login { padding:8px 2px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; border-bottom:2px solid var(--po-nivo); }
.lo--postal .po-nav-login:hover { color:var(--po-nivo); }
.lo--postal .po-only-narrow { display:none; }

/* ── 1 · Hero ────────────────────────────────────────────────────── */
.lo--postal .po-hero { position:relative; padding:64px 0 108px; overflow:clip; }
.lo--postal .po-hero-grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); align-items:center; gap:56px; }
.lo--postal .po-hero h1 { margin-top:26px; }
.lo--postal .po-line { display:block; }
.lo--postal .po-lead { max-width:31em; margin-top:30px; font-size:clamp(17px,1.5vw,20px); line-height:1.65; color:var(--po-ink-soft); }
.lo--postal .po-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.lo--postal .po-caption { display:flex; align-items:center; gap:9px; margin-top:24px; font-family:var(--po-mono); font-size:13.5px; font-weight:500; letter-spacing:.04em; color:var(--po-ink-soft); }
.lo--postal .po-caption > .inline-block { padding:3px; color:#fff; background:var(--po-jade-deep); border-radius:50%; width:20px !important; height:20px !important; }
.lo--postal .po-caption > .inline-block > svg { stroke-width:3; }
.lo--postal .po-hero-route { left:calc(50% - 210px); bottom:22px; width:320px; }

.lo--postal .po-hero-art { position:relative; width:100%; max-width:610px; margin-inline:auto; container-type:inline-size; }
.lo--postal .po-pc-front { position:absolute; top:0; left:2%; width:66%; padding:2cqw; background:var(--po-paper); border-radius:4px; box-shadow:var(--po-shadow); transform:rotate(-5deg); transform-origin:60% 100%; }
.lo--postal .po-pc-front-inner { position:relative; aspect-ratio:1.55; overflow:hidden; border-radius:2px; }
.lo--postal .po-pc-front-inner .po-scene { position:absolute; inset:0; }
.lo--postal .po-pc-front-kicker { position:absolute; top:5%; left:5.5%; font-family:var(--po-hand); font-size:4.3cqw; font-weight:700; line-height:1; color:var(--po-sun); transform:rotate(-3deg); }
.lo--postal .po-pc-front-title { position:absolute; top:15%; left:5%; font-family:var(--po-display); font-stretch:62%; font-size:8.4cqw; font-weight:900; line-height:.88; text-transform:uppercase; color:var(--po-paper); }
.lo--postal .po-pc-back { position:relative; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); margin-top:34%; padding:4.6cqw 4.4cqw; background:var(--po-paper); border-radius:5px; box-shadow:var(--po-shadow-lift); transform:rotate(2deg); }
.lo--postal .po-pc-msg { display:flex; flex-direction:column; padding-right:4cqw; }
.lo--postal .po-pc-kicker { font-family:var(--po-mono); font-size:max(8.5px,1.75cqw); font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-hand { font-family:var(--po-hand); font-weight:700; font-size:5.9cqw; line-height:1.12; color:var(--po-blue-deep); }
.lo--postal .po-pc-msg .po-hand { margin-top:5cqw; transform:rotate(-2.5deg); transform-origin:left center; }
.lo--postal .po-pc-msg .po-hand--sign { margin-top:auto; padding-top:3cqw; font-size:5cqw; color:var(--po-red); align-self:flex-end; }
.lo--postal .po-pc-addr { position:relative; display:flex; flex-direction:column; gap:1.5cqw; padding-left:4cqw; border-left:1.5px solid #15224a40; }
.lo--postal .po-pc-postage { position:relative; align-self:flex-end; margin-bottom:1cqw; }
.lo--postal .po-pc-postage .po-stamp { --p:max(5px,1.35cqw); transform:rotate(3deg); }
.lo--postal .po-pc-postage .po-cancel { position:absolute; right:60%; top:22%; width:150%; z-index:1; transform:rotate(-6deg); }
.lo--postal .po-pc-q-label { font-family:var(--po-mono); font-size:max(8.5px,1.75cqw); font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--po-red-deep); }
.lo--postal .po-pc-addr strong { font-family:var(--po-display); font-stretch:75%; font-size:max(14px,3.5cqw); font-weight:800; line-height:1.1; margin-bottom:.6cqw; }
.lo--postal .po-pc-opt { display:flex; align-items:center; gap:1.6cqw; padding:1.1cqw 0 1.3cqw; font-size:max(10px,2.2cqw); font-weight:500; line-height:1.25; border-bottom:1.5px solid #15224a33; }
.lo--postal .po-pc-opt i { display:grid; place-items:center; flex:none; width:max(16px,3.5cqw); height:max(16px,3.5cqw); font-family:var(--po-mono); font-size:max(9px,1.8cqw); font-weight:500; border:1.5px solid var(--po-ink); border-radius:3px; }
.lo--postal .po-pc-opt--right { font-weight:700; color:var(--po-jade-deep); border-bottom-color:var(--po-jade-deep); }
.lo--postal .po-pc-opt--right i { color:#fff; background:var(--po-jade-deep); border-color:var(--po-jade-deep); }
.lo--postal .po-pc-opt b { margin-left:auto; font-size:1.2em; line-height:1; }
.lo--postal .po-hero-stamps { position:relative; z-index:2; display:flex; gap:2.2cqw; margin:-5.5cqw 0 0 5%; }
.lo--postal .po-hero-stamps .po-stamp { --p:max(6px,1.62cqw); }
.lo--postal .po-hero-stamps .po-stamp:nth-child(1) { transform:rotate(-5deg); }
.lo--postal .po-hero-stamps .po-stamp:nth-child(2) { transform:rotate(2deg) translateY(10%); }
.lo--postal .po-hero-stamps .po-stamp:nth-child(3) { transform:rotate(-2deg) translateY(2%); }
.lo--postal .po-hero-postmark { position:absolute; z-index:3; right:-3%; bottom:1%; width:30%; transform:rotate(-14deg); }

/* ── 2 · Demonstração: cartão de embarque ────────────────────────── */
.lo--postal .po-demo { position:relative; padding:0 0 112px; color:var(--po-paper); background-color:var(--po-blue-deep); background-image:repeating-radial-gradient(circle at 88% -6%,#ffffff12 0 1.5px,transparent 1.5px 64px); overflow:clip; --po-focus:#eab035; }
.lo--postal .po-demo > .po-airmail { margin-bottom:96px; }
.lo--postal .po-demo-heading { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:end; gap:40px; margin-bottom:48px; }
.lo--postal .po-demo-heading h2 { margin-top:20px; }
.lo--postal .po-demo-heading > p { max-width:26em; padding-bottom:8px; font-size:18px; line-height:1.6; color:#e4eaf8; }
.lo--postal .po-demo-postmark { position:absolute; top:70px; right:max(24px,calc(50% - 640px)); width:150px; opacity:.5; transform:rotate(14deg); }

.lo--postal .po-pass { position:relative; z-index:1; color:var(--po-ink); background:var(--po-paper); border-radius:18px; box-shadow:0 2px 0 #0b1d45,0 40px 60px -30px #050f2bcc; overflow:hidden; --po-focus:#4f46e5; }
.lo--postal .po-noscript { padding:16px 24px; font-weight:600; background:var(--po-red-soft); }
.lo--postal .po-pass-head { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.lo--postal .po-pass-main { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'kicker kicker' 'title meta'; align-items:end; gap:6px 32px; padding:18px 28px 20px; color:var(--po-paper); background:var(--po-red); }
.lo--postal .po-pass-kicker { grid-area:kicker; display:flex; align-items:center; gap:8px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.lo--postal .po-pass-kicker svg { width:16px; height:16px; --po-plane-top:var(--po-paper); --po-plane-side:var(--po-salmon-soft); --po-plane-fold:var(--po-salmon); }
.lo--postal .po-pass-title { grid-area:title; min-width:0; }
.lo--postal .po-pass-title strong { display:block; font-family:var(--po-display); font-stretch:62%; font-size:clamp(30px,3.6vw,46px); font-weight:800; line-height:.95; text-transform:uppercase; }
.lo--postal .po-pass-title small { display:block; margin-top:6px; font-family:var(--po-mono); font-size:13px; letter-spacing:.06em; }
.lo--postal .po-pass-meta { grid-area:meta; display:flex; align-items:flex-end; gap:22px; }
.lo--postal .po-pass-meta dt { font-family:var(--po-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.lo--postal .po-pass-meta dd { font-family:var(--po-display); font-stretch:70%; font-size:26px; font-weight:800; line-height:1.05; letter-spacing:.02em; }
.lo--postal .po-pass-meta-plane { align-self:flex-end; margin-inline:-8px; padding-bottom:3px; }
.lo--postal .po-pass-meta-plane svg { display:block; width:22px; height:22px; transform:rotate(38deg); --po-plane-top:var(--po-paper); --po-plane-side:var(--po-salmon-soft); --po-plane-fold:var(--po-salmon); }
.lo--postal .po-pass-stub { position:relative; display:flex; flex-direction:column; justify-content:center; gap:7px; width:228px; padding:16px 24px; background:var(--po-sun); border-left:2px dashed #15224a73; }
.lo--postal .po-pass-stub::before { content:''; position:absolute; left:-12px; top:-11px; width:22px; height:22px; border-radius:50%; background:var(--po-blue-deep); }
.lo--postal .po-pass-badge { font-family:var(--po-mono); font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; line-height:1.3; }
.lo--postal .po-pass-stub .po-barcode { height:30px; }
.lo--postal .po-pass-code { font-family:var(--po-mono); font-size:10.5px; letter-spacing:.24em; }

.lo--postal .po-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:22px 24px 20px; background:var(--po-cream); border-bottom:1.5px dashed #15224a38; }
.lo--postal .po-tab { --po-tab:var(--po-red); --po-tab-soft:var(--po-red-soft); --po-tab-ink:var(--po-paper); display:block; min-width:0; padding:0; text-align:left; background:none; border:0; border-radius:10px; filter:drop-shadow(0 1px 0 #15224a59) drop-shadow(0 3px 5px #15224a24); transition:transform .16s ease,filter .16s ease; }
.lo--postal .po-tab--gap { --po-tab:var(--po-sun); --po-tab-soft:var(--po-sun-soft); --po-tab-ink:var(--po-ink); }
.lo--postal .po-tab--cards { --po-tab:var(--po-jade-deep); --po-tab-soft:var(--po-jade-soft); }
.lo--postal .po-tab-body { --notch:9px; --stub:62px; display:flex; align-items:stretch; min-height:68px; background:var(--po-paper); border-radius:10px; transition:background-color .16s ease,color .16s ease;
  -webkit-mask:radial-gradient(circle var(--notch) at var(--stub) 0,#0000 calc(100% - .6px),#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at var(--stub) 100%,#0000 calc(100% - .6px),#000) bottom / 100% 51% no-repeat;
  mask:radial-gradient(circle var(--notch) at var(--stub) 0,#0000 calc(100% - .6px),#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at var(--stub) 100%,#0000 calc(100% - .6px),#000) bottom / 100% 51% no-repeat; }
.lo--postal .po-tab-stub { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; flex:none; width:var(--stub); background:var(--po-tab-soft); border-right:2px dashed #15224a59; transition:background-color .16s ease; }
.lo--postal .po-tab-stub i { font-family:var(--po-mono); font-size:8.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.lo--postal .po-tab-stub b { font-family:var(--po-display); font-stretch:70%; font-size:25px; font-weight:800; line-height:1; }
.lo--postal .po-tab-text { flex:1; min-width:0; align-self:center; padding:10px 6px 10px 16px; }
.lo--postal .po-tab strong { display:block; font-family:var(--po-display); font-stretch:75%; font-size:19px; font-weight:800; line-height:1.1; letter-spacing:.01em; text-transform:uppercase; }
.lo--postal .po-tab small { display:block; margin-top:3px; font-size:13px; line-height:1.3; color:var(--po-ink-soft); transition:color .16s ease; }
.lo--postal .po-tab-icon { align-self:center; flex:none; margin-right:16px; opacity:.75; }
.lo--postal .po-tab:hover { transform:translateY(-2px); }
.lo--postal .po-tab[aria-selected=true] { transform:translateY(-4px); filter:drop-shadow(0 1px 0 #15224a59) drop-shadow(0 9px 9px #15224a40); }
.lo--postal .po-tab[aria-selected=true] .po-tab-body { color:var(--po-tab-ink); background:var(--po-tab); }
.lo--postal .po-tab[aria-selected=true] .po-tab-stub { background:#0000001f; border-right-color:currentColor; }
.lo--postal .po-tab[aria-selected=true] small { color:inherit; opacity:.92; }
.lo--postal .po-tab[aria-selected=true] .po-tab-icon { opacity:1; }

.lo--postal .po-stage { padding:6px 24px 8px; }
.lo--postal .po-stage-bar { display:flex; align-items:center; gap:14px; min-height:66px; padding-block:12px; }
.lo--postal .po-stage-label { display:flex; align-items:center; gap:8px; font-family:var(--po-mono); font-size:12.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-role-switch { display:flex; gap:3px; margin-left:auto; padding:3px; background:var(--po-cream); border:1.5px solid var(--po-ink); border-radius:8px; }
.lo--postal .po-role-switch button { min-height:36px; padding:5px 16px; font-family:var(--po-mono); font-size:12.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; background:transparent; border:0; border-radius:5px; transition:background-color .14s,color .14s; }
.lo--postal .po-role-switch button:hover { background:var(--po-sun-soft); }
.lo--postal .po-role-switch button[aria-pressed=true] { color:#fff; background:var(--po-ink); }
.lo--postal .po-restart { min-height:42px; padding:6px 14px; font-family:var(--po-mono); font-size:12.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; background:transparent; border:1.5px dashed #15224a80; border-radius:8px; transition:background-color .14s,border-color .14s; }
.lo--postal .po-restart:hover { background:var(--po-salmon-soft); border-color:var(--po-ink); }
.lo--postal .po-restart span { display:inline-block; transition:transform .4s ease; }
.lo--postal .po-restart:hover span { transform:rotate(-180deg); }

.lo--postal .po-exercise { min-height:470px; padding:26px 30px 28px; background:#fff; border:1.5px solid #15224a2e; border-radius:12px; }
.lo--postal .po-exercise-heading { display:flex; align-items:center; gap:16px; padding-bottom:20px; border-bottom:1.5px dashed #15224a40; }
.lo--postal .po-exercise-symbol { display:grid; place-items:center; flex:none; width:54px; height:54px; color:var(--po-red-deep); border:2px solid currentColor; border-radius:50%; box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4.5px currentColor; transform:rotate(-8deg); }
.lo--postal .po-exercise-symbol--gap { color:#8a6208; }
.lo--postal .po-exercise-symbol--cards { color:var(--po-jade-deep); }
.lo--postal .po-exercise-heading h3 { font-stretch:75%; font-size:25px; line-height:1.05; letter-spacing:.005em; }
.lo--postal .po-exercise-heading p { margin-top:4px; font-size:15px; line-height:1.45; color:var(--po-ink-soft); }
.lo--postal .po-level { display:flex; flex-direction:column; align-items:center; margin-left:auto; padding:4px 11px 3px; font-family:var(--po-display); font-stretch:70%; font-size:21px; font-weight:800; line-height:1; color:var(--po-blue); border:1.5px solid currentColor; border-radius:6px; box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px currentColor; transform:rotate(4deg); }
.lo--postal .po-level i { font-family:var(--po-mono); font-size:8px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; margin-bottom:2px; }
.lo--postal .po-small-label { display:flex; align-items:center; gap:7px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--po-ink-soft); }

.lo--postal .po-quiz-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:30px; margin-top:24px; }
.lo--postal .po-reading { position:relative; display:flex; flex-direction:column; padding:24px 24px 20px; background:var(--po-cream); border-radius:4px; box-shadow:inset 0 0 0 1px #15224a1f; }
.lo--postal .po-reading::before { content:''; position:absolute; inset:0 0 auto; height:7px; background:var(--po-airmail); border-radius:4px 4px 0 0; }
.lo--postal .po-reading-stamp { position:absolute; top:18px; right:16px; --p:7px; --rows:11; transform:rotate(4deg); }
.lo--postal .po-reading .po-small-label { margin-top:6px; }
.lo--postal .po-reading h4 { max-width:calc(100% - 84px); margin:12px 0 14px; font-size:29px; line-height:.98; color:var(--po-blue-deep); }
.lo--postal .po-reading > p { margin-bottom:10px; font-size:15.5px; line-height:1.68; }
.lo--postal .po-reading-foot { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; font-family:var(--po-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--po-ink-soft); border-top:1.5px dashed #15224a38; }
.lo--postal .po-question-meta { display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-question-meta span:first-child { color:var(--po-red-deep); }
.lo--postal .po-question h4 { margin-bottom:16px; font-stretch:80%; font-size:23px; line-height:1.15; text-transform:none; }
.lo--postal .po-quiz-answers { display:flex; flex-direction:column; gap:9px; }
/* Botões criados pelo controller (classes nv-*): linhas de formulário de imigração */
.lo--postal .nv-answer { display:flex; align-items:center; gap:13px; width:100%; min-height:54px; padding:9px 14px; font-size:15.5px; font-weight:500; line-height:1.35; text-align:left; color:var(--po-ink); background:var(--po-paper); border:1.5px solid #15224a38; border-radius:8px; transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease; }
.lo--postal .nv-answer-letter { display:grid; place-items:center; flex:none; width:30px; height:30px; font-family:var(--po-mono); font-size:13.5px; font-weight:500; background:#fff; border:1.5px solid var(--po-ink); border-radius:4px; transition:background-color .14s,color .14s,border-color .14s; }
.lo--postal .nv-answer:hover:not(:disabled) { background:var(--po-cream); border-color:var(--po-ink); transform:translateX(3px); }
.lo--postal .nv-answer[aria-pressed=true] { font-weight:700; background:var(--po-nivo-soft); border-color:var(--po-nivo); box-shadow:inset 4px 0 0 var(--po-nivo); }
.lo--postal .nv-answer[aria-pressed=true] .nv-answer-letter { color:#fff; background:var(--po-nivo); border-color:var(--po-nivo); }
.lo--postal .nv-answer:disabled { transform:none; color:var(--po-ink-soft); }
.lo--postal .nv-answer[data-result]::after { flex:none; margin-left:auto; padding:3px 8px 2px; font-family:var(--po-mono); font-size:10.5px; font-weight:500; letter-spacing:.14em; line-height:1.3; border:1.5px solid currentColor; border-radius:4px; outline:1px solid currentColor; outline-offset:1.5px; transform:rotate(-5deg); }
.lo--postal .nv-answer[data-result=correct] { font-weight:700; color:var(--po-ink); background:var(--po-jade-soft); border-color:var(--po-jade-deep); box-shadow:inset 4px 0 0 var(--po-jade-deep); }
.lo--postal .nv-answer[data-result=correct] .nv-answer-letter { font-size:0; color:#fff; background:var(--po-jade-deep); border-color:var(--po-jade-deep); }
.lo--postal .nv-answer[data-result=correct] .nv-answer-letter::after { content:'✓'; font-size:16px; }
.lo--postal .nv-answer[data-result=correct]::after { content:'✓ APROVADO'; color:var(--po-jade-deep); }
.lo--postal .nv-answer[data-result=incorrect] { font-weight:700; color:var(--po-ink); background:var(--po-red-soft); border-color:var(--po-red-deep); box-shadow:inset 4px 0 0 var(--po-red-deep); }
.lo--postal .nv-answer[data-result=incorrect] .nv-answer-letter { font-size:0; color:#fff; background:var(--po-red-deep); border-color:var(--po-red-deep); }
.lo--postal .nv-answer[data-result=incorrect] .nv-answer-letter::after { content:'✕'; font-size:14px; }
.lo--postal .nv-answer[data-result=incorrect]::after { content:'✕ REVER'; color:var(--po-red-deep); transform:rotate(4deg); }
.lo--postal .po-feedback { min-height:48px; margin-block:14px 10px; font-size:15px; font-weight:500; line-height:1.5; color:var(--po-ink-soft); }
.lo--postal .po-feedback[data-result] { padding:10px 14px; font-weight:600; color:var(--po-ink); border-left:4px solid; border-radius:4px 8px 8px 4px; }
.lo--postal .po-feedback[data-result=correct] { background:var(--po-jade-soft); border-color:var(--po-jade-deep); }
.lo--postal .po-feedback[data-result=incorrect] { background:var(--po-red-soft); border-color:var(--po-red-deep); }
.lo--postal .po-quiz-actions { display:flex; justify-content:flex-end; }

.lo--postal .po-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:14px 26px; margin:24px 0 22px; padding:16px 20px; background:var(--po-cream); border:1.5px dashed #15224a66; border-radius:10px; }
.lo--postal .po-word-bank > div { display:flex; flex-wrap:wrap; gap:12px; }
.lo--postal .po-word { position:relative; min-height:44px; padding:8px 18px 8px 34px; font-family:var(--po-mono); font-size:16px; font-weight:500; color:var(--po-ink); background:var(--po-sun); border:0; border-radius:22px 6px 6px 22px; box-shadow:0 1px 0 #15224a59,0 5px 8px -4px #15224a59; transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease; }
.lo--postal .po-word::before { content:''; position:absolute; left:13px; top:50%; width:10px; height:10px; margin-top:-5px; background:var(--po-cream); border-radius:50%; box-shadow:0 0 0 2px #15224a8c; }
.lo--postal .po-word:hover:not(:disabled) { transform:translateY(-2px) rotate(-1.5deg); }
.lo--postal .po-word[aria-pressed=true] { color:#fff; background:var(--po-nivo); transform:translateY(-4px) rotate(-3deg); box-shadow:0 1px 0 var(--po-nivo-deep),0 12px 14px -6px #3a32c499; }
.lo--postal .po-word:disabled { color:#15224a99; text-decoration:line-through; background:transparent; box-shadow:inset 0 0 0 1.5px #15224a59; transform:none; }
.lo--postal .po-gap-text { display:flex; flex-direction:column; }
.lo--postal .po-gap-text p { display:flex; align-items:baseline; gap:16px; padding-block:3px; font-size:19px; line-height:2.5; border-bottom:1.5px solid #1d4ea326; }
.lo--postal .po-line-number { flex:none; font-family:var(--po-mono); font-size:12px; font-weight:500; letter-spacing:.06em; color:var(--po-red-deep); }
.lo--postal .po-blank { display:inline-block; min-width:168px; min-height:40px; margin-inline:4px; padding:3px 14px; font-family:var(--po-mono); font-size:13.5px; line-height:1.7; color:var(--po-ink-soft); background:#fbebc280; border:0; border-bottom:2px dashed var(--po-ink); border-radius:6px 6px 0 0; vertical-align:baseline; transition:background-color .14s; }
.lo--postal .po-blank:hover { background:var(--po-sun-soft); }
.lo--postal .po-blank[data-word] { font-size:16.5px; font-weight:500; color:var(--po-ink); background:var(--po-sun); border-bottom-style:solid; }
.lo--postal .po-blank[data-result=correct] { background:var(--po-jade-soft); border-bottom-color:var(--po-jade-deep); }
.lo--postal .po-blank[data-result=correct]::after { content:'✓'; display:inline-block; margin-left:.5em; font-weight:700; color:var(--po-jade-deep); }
.lo--postal .po-blank[data-result=incorrect] { background:var(--po-red-soft); border-bottom-color:var(--po-red-deep); text-decoration:underline wavy var(--po-red-deep); text-underline-offset:4px; }
.lo--postal .po-blank[data-result=incorrect]::after { content:'✕'; display:inline-block; margin-left:.5em; font-weight:700; color:var(--po-red-deep); text-decoration:none; }
.lo--postal .po-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.lo--postal .po-gap-footer .po-feedback { flex:1; min-height:0; margin:0; }

.lo--postal .po-flash { position:relative; display:block; width:min(100%,560px); margin:28px auto 0; padding:12px; text-align:center; color:var(--po-paper); background:var(--po-paper); border:0; border-radius:6px; box-shadow:var(--po-shadow-lift); transform:rotate(-1.2deg); transition:transform .2s ease,box-shadow .2s ease; --po-focus:#15224a; }
.lo--postal .po-flash:hover { transform:rotate(0deg) translateY(-4px); }
.lo--postal .po-flash-front, .lo--postal .po-flash-back { position:absolute; inset:12px; overflow:hidden; border-radius:2px; }
.lo--postal .po-flash-front .po-scene { position:absolute; inset:0; }
.lo--postal .po-flash-back { display:none; background:linear-gradient(#1d4ea321 1.5px,transparent 1.5px) 0 86px / 100% 34px var(--po-paper); box-shadow:inset 0 0 0 1px #15224a1f; }
.lo--postal .po-flash-back .po-stamp { position:absolute; top:16px; right:18px; --p:7px; transform:rotate(4deg); }
.lo--postal .po-flash-back .po-cancel { position:absolute; top:38px; right:64px; width:120px; transform:rotate(-7deg); }
.lo--postal .po-flash-content { position:relative; display:flex; flex-direction:column; align-items:center; min-height:300px; padding:30px 24px 22px; }
.lo--postal .po-flash .po-small-label { color:inherit; }
.lo--postal .po-flash strong { margin-block:18px 10px; font-family:var(--po-display); font-stretch:62%; font-size:clamp(50px,7vw,84px); font-weight:800; line-height:.95; text-transform:uppercase; letter-spacing:.01em; }
.lo--postal .po-flash em { max-width:21em; font-size:17px; line-height:1.45; }
.lo--postal .po-flash-hint { display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding:6px 13px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--po-ink); background:var(--po-paper); border-radius:5px; box-shadow:0 1px 0 #15224a59; }
.lo--postal .po-flash[aria-pressed=true] { color:var(--po-ink); transform:rotate(1.2deg); }
.lo--postal .po-flash[aria-pressed=true]:hover { transform:rotate(0deg) translateY(-4px); }
.lo--postal .po-flash[aria-pressed=true] .po-flash-front { display:none; }
.lo--postal .po-flash[aria-pressed=true] .po-flash-back { display:block; }
.lo--postal .po-flash[aria-pressed=true] .po-flash-content { align-items:flex-start; text-align:left; padding-left:34px; }
.lo--postal .po-flash[aria-pressed=true] strong { max-width:calc(100% - 96px); font-size:clamp(40px,5.6vw,64px); color:var(--po-blue-deep); }
.lo--postal .po-flash[aria-pressed=true] em { font-family:var(--po-hand); font-size:27px; font-weight:700; line-height:1.26; color:var(--po-ink); }
.lo--postal .po-flash[aria-pressed=true] .po-flash-hint { align-self:center; background:var(--po-sun); }
.lo--postal .po-card-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:26px; }
.lo--postal .po-card-controls > button { display:grid; place-items:center; width:46px; height:46px; background:var(--po-paper); border:1.5px solid var(--po-ink); border-radius:50%; transition:transform .14s ease,background-color .14s,color .14s; }
.lo--postal .po-card-controls > button:hover { color:#fff; background:var(--po-ink); transform:scale(1.06); }
.lo--postal .po-card-controls > button:active { transform:scale(.94); }
.lo--postal .po-card-controls > span { min-width:72px; text-align:center; font-family:var(--po-mono); font-size:15px; font-weight:500; letter-spacing:.1em; }

.lo--postal .po-visa { position:relative; display:flex; align-items:flex-start; gap:14px; margin-top:18px; padding:18px 22px; color:var(--po-ink); background:var(--po-nivo-soft); border:1.5px solid var(--po-nivo); border-radius:8px; box-shadow:inset 0 0 0 3px var(--po-nivo-soft),inset 0 0 0 4.5px #4f46e580; }
.lo--postal .po-visa-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; color:var(--po-nivo); border:1.5px solid currentColor; border-radius:50%; box-shadow:inset 0 0 0 2.5px var(--po-nivo-soft),inset 0 0 0 3.5px currentColor; }
.lo--postal .po-visa strong { display:block; font-family:var(--po-display); font-stretch:75%; font-size:18px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--po-nivo-deep); }
.lo--postal .po-visa p { min-width:0; padding-right:84px; }
.lo--postal .po-visa p > span { display:block; margin-top:3px; font-family:var(--po-mono); font-size:13.5px; line-height:1.6; }
.lo--postal .po-visa-stamp { position:absolute; top:-13px; right:20px; padding:3px 12px 2px; font-family:var(--po-display); font-stretch:70%; font-size:19px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; line-height:1.2; color:var(--po-nivo); background:var(--po-nivo-soft); border:2px solid currentColor; border-radius:5px; box-shadow:inset 0 0 0 2px var(--po-nivo-soft),inset 0 0 0 3px currentColor; transform:rotate(-7deg); }
.lo--postal .po-stage-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding-block:14px 10px; font-family:var(--po-mono); font-size:12px; letter-spacing:.04em; color:var(--po-ink-soft); }
.lo--postal .po-stage-footer > span { display:flex; align-items:center; gap:8px; }
.lo--postal .po-stage-footer .po-live-dot { background:var(--po-jade); box-shadow:0 0 0 3px #2a9d8a40; }

/* ── 3 · Benefícios: etiquetas de bagagem ────────────────────────── */
.lo--postal .po-benefits { position:relative; padding:0 0 24px; }
.lo--postal .po-tags { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-top:64px; }
.lo--postal .po-tag { position:relative; display:flex; filter:drop-shadow(0 1px 1px #15224a40) drop-shadow(0 14px 14px #15224a2e); transform-origin:50% -40px; transition:transform .5s cubic-bezier(.3,1.6,.5,1); }
.lo--postal .po-tag:nth-child(2) { margin-top:22px; }
.lo--postal .po-tag:nth-child(2) .po-tag-string { height:112px; top:-86px; }
.lo--postal .po-tag:hover { transform:rotate(2deg); }
.lo--postal .po-tag:nth-child(even):hover { transform:rotate(-2deg); }
.lo--postal .po-tag-string { position:absolute; z-index:2; top:-64px; left:50%; width:2px; height:90px; margin-left:-1px; background:var(--po-ink); border-radius:2px; opacity:.75; }
.lo--postal .po-tag-body { --po-tag-bg:var(--po-sun); position:relative; display:flex; flex-direction:column; align-items:center; width:100%; padding:52px 28px 22px; text-align:center; color:var(--po-ink); background:var(--po-tag-bg); clip-path:polygon(34px 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%,0 34px); }
.lo--postal .po-tag--salmon .po-tag-body { --po-tag-bg:var(--po-salmon); }
.lo--postal .po-tag--jade .po-tag-body { --po-tag-bg:#58b9a8; }
.lo--postal .po-tag-hole { position:absolute; top:16px; left:50%; width:20px; height:20px; margin-left:-10px; background:var(--po-cream); border-radius:50%; box-shadow:0 0 0 5px var(--po-paper),0 0 0 6.5px #15224a40,inset 0 2px 3px #15224a4d; }
.lo--postal .po-tag-meta { display:flex; justify-content:space-between; width:100%; padding-bottom:9px; font-family:var(--po-mono); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; border-bottom:1.5px dashed #15224a80; }
.lo--postal .po-tag-icon { display:grid; place-items:center; width:54px; height:54px; margin-top:22px; background:var(--po-paper); border-radius:50%; box-shadow:0 0 0 1.5px var(--po-ink); }
.lo--postal .po-tag strong { max-width:13em; margin-top:16px; font-family:var(--po-display); font-stretch:68%; font-size:clamp(23px,2.3vw,29px); font-weight:800; line-height:1.02; letter-spacing:.005em; text-transform:uppercase; text-wrap:balance; }
.lo--postal .po-barcode--tag { width:62%; height:22px; margin-top:auto; opacity:.8; }
.lo--postal .po-tag strong + .po-barcode--tag { margin-top:22px; }

/* ── Seções ──────────────────────────────────────────────────────── */
.lo--postal .po-section { position:relative; padding:128px 0; }
.lo--postal .po-heading { position:relative; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:end; gap:48px; margin-bottom:64px; }
.lo--postal .po-heading h2 { margin-top:22px; }
.lo--postal .po-heading > p:not(.po-eyebrow) { max-width:24em; padding-bottom:8px; font-size:19px; line-height:1.6; color:var(--po-ink-soft); }
.lo--postal .po-heading--center { display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; }
.lo--postal .po-heading--center > p:last-child { max-width:30em; margin-top:24px; }
.lo--postal .po-heading-route { right:0; top:-54px; width:300px; }

/* ── 4 · Funcionalidades: postais de destino ─────────────────────── */
.lo--postal .po-dest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.lo--postal .po-dest { --po-dest:var(--po-red-deep); display:flex; flex-direction:column; padding:12px 12px 0; background:var(--po-paper); border-radius:6px; box-shadow:var(--po-shadow); transition:transform .25s ease,box-shadow .25s ease; }
.lo--postal .po-dest--blue { --po-dest:var(--po-blue); }
.lo--postal .po-dest--jade { --po-dest:var(--po-jade-deep); }
.lo--postal .po-dest:hover { transform:translateY(-8px) rotate(-.6deg); box-shadow:var(--po-shadow-lift); }
.lo--postal .po-dest:nth-child(2):hover { transform:translateY(-8px) rotate(.6deg); }
.lo--postal .po-dest-art { position:relative; aspect-ratio:1.34; container-type:inline-size; }
.lo--postal .po-dest-art .po-scene { position:absolute; inset:0; border-radius:3px; }
.lo--postal .po-dest-no { position:absolute; top:16px; left:18px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--po-paper); }
.lo--postal .po-dest-word { position:absolute; top:38px; left:17px; max-width:74%; font-family:var(--po-display); font-stretch:62%; font-size:14.2cqw; font-weight:900; line-height:.88; text-transform:uppercase; color:var(--po-paper); }
.lo--postal .po-dest-stamp { position:absolute; right:14px; bottom:-26px; --p:8px; transform:rotate(5deg); transition:transform .25s ease; }
.lo--postal .po-dest:hover .po-dest-stamp { transform:rotate(-3deg) translateY(-3px); }
.lo--postal .po-dest-body { display:flex; flex:1; flex-direction:column; padding:34px 14px 8px; }
.lo--postal .po-dest h3 { max-width:calc(100% - 86px); font-stretch:70%; font-size:clamp(25px,2.3vw,30px); line-height:1; }
.lo--postal .po-dest-body > p { margin:16px 0 26px; font-size:16.5px; line-height:1.62; color:var(--po-ink-soft); }
.lo--postal .po-dest-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding:17px 2px 18px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--po-dest); border-top:1.5px dashed #15224a59; }
.lo--postal .po-dest-link > .inline-block { transition:transform .18s ease; }
.lo--postal .po-dest-link:hover > .inline-block { transform:translateX(5px); }
.lo--postal .po-dest-link:hover > span { text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px; }

/* ── 5 · Página do professor: fotos presas no mapa ───────────────── */
.lo--postal .po-pages { background-color:#cfe6dc; background-image:radial-gradient(ellipse 38% 46% at 12% 30%,#bddbce 0 99%,transparent 100%),radial-gradient(ellipse 30% 40% at 84% 72%,#bddbce 0 99%,transparent 100%),radial-gradient(ellipse 16% 22% at 58% 12%,#bddbce 0 99%,transparent 100%),linear-gradient(#ffffff8c 1.5px,transparent 1.5px),linear-gradient(90deg,#ffffff8c 1.5px,transparent 1.5px); background-size:auto,auto,auto,80px 80px,80px 80px; border-block:1.5px dashed #15224a40; overflow:clip; --po-focus:#15224a; }
.lo--postal .po-pages .po-heading > p:not(.po-eyebrow), .lo--postal .po-pages .po-eyebrow { color:#27335c; }
.lo--postal .po-album { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:22px 0 30px; }
.lo--postal .po-album-route { position:absolute; left:0; top:-42px; width:100%; height:120px; overflow:visible; pointer-events:none; }
.lo--postal .po-album-route path { fill:none; stroke:var(--po-red-deep); stroke-width:2.4; stroke-linecap:round; stroke-dasharray:2 10; vector-effect:non-scaling-stroke; }
.lo--postal .po-photo { position:relative; display:block; padding:12px 12px 0; background:var(--po-paper); border-radius:3px; box-shadow:var(--po-shadow); transition:transform .25s ease,box-shadow .25s ease; }
.lo--postal .po-photo:nth-child(3) { transform:translateY(30px); }
.lo--postal .po-photo:hover { transform:translateY(-6px); box-shadow:var(--po-shadow-lift); }
.lo--postal .po-photo:nth-child(3):hover { transform:translateY(22px); }
.lo--postal .po-pin { position:absolute; z-index:2; top:-12px; left:50%; width:24px; height:24px; margin-left:-12px; background:radial-gradient(circle at 35% 32%,#ff8d78 0 16%,var(--po-red) 17% 100%); border-radius:50%; box-shadow:0 1px 0 var(--po-red-deep),2px 7px 6px #15224a59; }
.lo--postal .po-photo:nth-child(3) .po-pin { background:radial-gradient(circle at 35% 32%,#8fb2ee 0 16%,var(--po-blue) 17% 100%); box-shadow:0 1px 0 var(--po-blue-deep),2px 7px 6px #15224a59; }
.lo--postal .po-photo:nth-child(4) .po-pin { background:radial-gradient(circle at 35% 32%,#ffe09a 0 16%,var(--po-sun) 17% 100%); box-shadow:0 1px 0 #b07f12,2px 7px 6px #15224a59; }
.lo--postal .po-photo-image { position:relative; height:290px; overflow:hidden; background:var(--po-cream); }
.lo--postal .po-photo-image img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.lo--postal .po-photo:hover .po-photo-image img { transform:translateY(-16px); }
.lo--postal .po-corner { position:absolute; width:30px; height:30px; background:var(--po-kraft-deep); box-shadow:0 0 4px #15224a40; }
.lo--postal .po-corner--tl { top:0; left:0; clip-path:polygon(0 0,100% 0,0 100%); }
.lo--postal .po-corner--tr { top:0; right:0; clip-path:polygon(0 0,100% 0,100% 100%); }
.lo--postal .po-corner--bl { bottom:0; left:0; clip-path:polygon(0 0,0 100%,100% 100%); }
.lo--postal .po-corner--br { bottom:0; right:0; clip-path:polygon(100% 0,100% 100%,0 100%); }
.lo--postal .po-photo-info { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 6px 20px; }
.lo--postal .po-photo-meta { display:block; font-family:var(--po-mono); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--po-red-deep); }
.lo--postal .po-photo-info h3 { margin-top:3px; font-size:31px; line-height:1; }
.lo--postal .po-photo-info p { margin-top:6px; font-size:15.5px; line-height:1.45; color:var(--po-ink-soft); }
.lo--postal .po-photo-arrow { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1.5px solid var(--po-ink); border-radius:50%; transition:transform .2s ease,background-color .2s,color .2s; }
.lo--postal .po-photo:hover .po-photo-arrow { color:#fff; background:var(--po-ink); transform:rotate(-45deg); }

.lo--postal .po-pricing { overflow:clip; }
.lo--postal .po-pricing-postmark { position:absolute; z-index:3; top:236px; right:max(36px,calc(50% - 548px)); width:140px; transform:rotate(13deg); opacity:.9; }
.lo--postal .po-pricing-route { left:max(20px,calc(50% - 590px)); top:252px; width:220px; }
/* ── 6 · Planos: bilhetes ────────────────────────────────────────── */
.lo--postal .po-tickets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:30px; }
.lo--postal .po-ticket { --po-ticket-head:var(--po-jade-soft); --po-ticket-accent:var(--po-jade-deep); position:relative; display:flex; flex-direction:column; color:var(--po-ink); background:var(--po-paper); border-radius:14px; box-shadow:var(--po-shadow); }
.lo--postal .po-ticket:nth-child(3) { --po-ticket-head:var(--po-salmon-soft); --po-ticket-accent:var(--po-red-deep); }
.lo--postal .po-ticket-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 28px 12px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; background:var(--po-ticket-head); border-radius:14px 14px 0 0; }
.lo--postal .po-ticket-head-plane { display:inline-flex; align-items:center; gap:7px; }
.lo--postal .po-ticket-head-plane svg { width:15px; height:15px; --po-plane-top:currentColor; --po-plane-side:currentColor; --po-plane-fold:currentColor; }
.lo--postal .po-ticket-main { padding:28px 28px 28px; }
.lo--postal .po-ticket h3 { font-size:42px; line-height:.95; }
.lo--postal .po-ticket-description { min-height:3.1em; margin-top:12px; font-size:16px; line-height:1.55; color:var(--po-ink-soft); }
.lo--postal .po-price { display:flex; align-items:baseline; gap:6px; margin-top:22px; }
.lo--postal .po-price strong { font-family:var(--po-display); font-stretch:68%; font-size:clamp(48px,4.6vw,64px); font-weight:800; line-height:1; letter-spacing:-.01em; }
.lo--postal .po-price > span { font-family:var(--po-mono); font-size:15px; color:var(--po-ink-soft); }
.lo--postal .po-credits { display:inline-flex; align-items:center; gap:7px; margin-top:16px; padding:6px 12px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.02em; line-height:1.3; background:var(--po-sun-soft); border:1.5px dashed #15224a73; border-radius:5px; }
.lo--postal .po-ticket-tear { position:relative; height:0; margin-inline:16px; border-top:2px dashed #15224a4d; }
.lo--postal .po-ticket-tear::before, .lo--postal .po-ticket-tear::after { content:''; position:absolute; top:-14px; width:26px; height:26px; background:var(--po-cream); border-radius:50%; }
.lo--postal .po-ticket-tear::before { left:-29px; box-shadow:inset -3px 1px 3px -1px #15224a40; }
.lo--postal .po-ticket-tear::after { right:-29px; box-shadow:inset 3px 1px 3px -1px #15224a40; }
.lo--postal .po-ticket-stub { display:flex; flex:1; flex-direction:column; padding:28px 28px 24px; }
.lo--postal .po-ticket ul { display:flex; flex:1; flex-direction:column; gap:12px; margin-bottom:30px; }
.lo--postal .po-ticket li { display:flex; align-items:flex-start; gap:11px; font-size:16px; line-height:1.45; }
.lo--postal .po-ticket-check { display:grid; place-items:center; flex:none; width:22px; height:22px; margin-top:1px; color:#fff; background:var(--po-ticket-accent); border-radius:50%; }
.lo--postal .po-ticket-check svg { stroke-width:3 !important; }
.lo--postal .po-ticket .po-btn { width:100%; }
.lo--postal .po-barcode--ticket { height:30px; margin-top:24px; opacity:.55; }
.lo--postal .po-ticket--featured { --po-ticket-head:var(--po-red); --po-ticket-accent:var(--po-sun); color:var(--po-paper); background:var(--po-ink); box-shadow:var(--po-shadow-lift); transform:translateY(-18px); --po-focus:#eab035; }
.lo--postal .po-ticket--featured .po-ticket-head { color:var(--po-paper); }
.lo--postal .po-ticket--featured .po-ticket-description, .lo--postal .po-ticket--featured .po-price > span { color:#dfe4f5; }
.lo--postal .po-ticket--featured .po-credits { color:var(--po-ink); background:var(--po-sun); border-color:transparent; }
.lo--postal .po-ticket--featured .po-ticket-tear { border-top-color:#ffffff59; }
.lo--postal .po-ticket--featured .po-ticket-check { color:var(--po-ink); }
.lo--postal .po-ticket--featured .po-barcode--ticket { color:var(--po-paper); }
.lo--postal .po-ticket-ribbon { position:absolute; z-index:2; top:-17px; right:22px; display:inline-flex; align-items:center; gap:7px; padding:8px 22px 7px 13px; font-family:var(--po-mono); font-size:11.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; color:var(--po-ink); background:var(--po-sun); clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%); }
.lo--postal .po-pricing-note { margin-top:48px; text-align:center; font-family:var(--po-mono); font-size:13px; letter-spacing:.02em; color:var(--po-ink-soft); }

/* ── 7 · Dúvidas: balcão de informações ──────────────────────────── */
.lo--postal .po-faq { color:var(--po-paper); background-color:var(--po-ink); background-image:radial-gradient(#ffffff14 1.2px,transparent 1.3px); background-size:22px 22px; --po-focus:#eab035; }
.lo--postal .po-faq-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:80px; align-items:start; }
.lo--postal .po-info-sign { display:grid; place-items:center; width:84px; height:84px; margin-bottom:34px; color:var(--po-ink); background:var(--po-sun); border-radius:16px; box-shadow:inset 0 0 0 4px var(--po-sun),inset 0 0 0 6px var(--po-ink); }
.lo--postal .po-info-sign b { font-family:Georgia,'Times New Roman',serif; font-size:54px; font-weight:700; font-style:italic; line-height:1; }
.lo--postal .po-faq-intro h2 { margin-top:22px; }
.lo--postal .po-faq-stamps { display:flex; gap:14px; margin-top:44px; }
.lo--postal .po-faq-stamps .po-stamp { --p:8px; filter:drop-shadow(0 8px 10px #00000059); }
.lo--postal .po-faq-stamps .po-stamp:nth-child(1) { transform:rotate(-4deg); }
.lo--postal .po-faq-stamps .po-stamp:nth-child(2) { transform:rotate(2deg) translateY(6px); }
.lo--postal .po-faq-stamps .po-stamp:nth-child(3) { transform:rotate(-1.5deg); }
.lo--postal .po-faq-list { display:flex; flex-direction:column; gap:14px; }
.lo--postal .po-faq details { background:#1d2c5c; border:1.5px solid #ffffff24; border-radius:10px; transition:border-color .16s,background-color .16s; }
.lo--postal .po-faq details:hover, .lo--postal .po-faq details[open] { border-color:#eab03599; }
.lo--postal .po-faq details[open] { background:#22336a; }
.lo--postal .po-faq summary { display:flex; align-items:center; gap:18px; padding:20px 22px; cursor:pointer; list-style:none; border-radius:9px; }
.lo--postal .po-faq summary::-webkit-details-marker { display:none; }
.lo--postal .po-faq-code { flex:none; padding:7px 9px 6px; font-family:var(--po-mono); font-size:14px; font-weight:500; letter-spacing:.1em; line-height:1; color:var(--po-sun); background:#0c1634; border-radius:4px; box-shadow:inset 0 1px 0 #ffffff26,inset 0 -1px 0 #00000066; }
.lo--postal .po-faq-question { flex:1; font-family:var(--po-display); font-stretch:75%; font-size:22px; font-weight:700; line-height:1.15; letter-spacing:.01em; }
.lo--postal .po-faq-chevron { display:grid; place-items:center; flex:none; width:38px; height:38px; border:1.5px solid #ffffff66; border-radius:50%; transition:transform .2s ease,background-color .2s,color .2s,border-color .2s; }
.lo--postal .po-faq details[open] .po-faq-chevron { color:var(--po-ink); background:var(--po-sun); border-color:var(--po-sun); transform:rotate(180deg); }
.lo--postal .po-faq details > p { max-width:42em; padding:0 24px 26px 76px; font-size:16.5px; line-height:1.68; color:#e1e6f6; }

/* ── 8 · CTA final: envelope aberto ──────────────────────────────── */
.lo--postal .po-final { position:relative; padding:112px 0 120px; background-color:var(--po-sun); background-image:repeating-linear-gradient(90deg,#ffffff24 0 2px,transparent 2px 120px); overflow:clip; --po-focus:#15224a; }
.lo--postal .po-envelope { position:relative; width:min(100%,940px); margin-inline:auto; }
.lo--postal .po-envelope-flap { position:absolute; z-index:0; left:0; right:0; bottom:236px; height:350px; background:repeating-linear-gradient(45deg,#1d4ea32e 0 2px,transparent 2px 9px),repeating-linear-gradient(-45deg,#1d4ea32e 0 2px,transparent 2px 9px),#e9eef8; clip-path:polygon(0 100%,50% 0,100% 100%); }
.lo--postal .po-letter { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; width:74%; margin-inline:auto; padding:60px 40px 170px; text-align:center; background:var(--po-paper); border-radius:4px 4px 0 0; box-shadow:0 -2px 0 #fff inset,0 -10px 30px -12px #15224a59; }
.lo--postal .po-letter h2 { max-width:11em; margin-top:22px; font-size:clamp(40px,5.4vw,78px); }
.lo--postal .po-letter-lead { margin-top:22px; font-size:20px; color:var(--po-ink-soft); }
.lo--postal .po-letter .po-btn { margin-top:30px; }
.lo--postal .po-final-caption { margin-top:20px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--po-ink-soft); }
.lo--postal .po-envelope-front { position:relative; z-index:2; height:240px; margin-top:-120px; background:var(--po-cream); border:14px solid transparent; border-image:var(--po-airmail) 14; box-shadow:0 30px 40px -24px #15224a99,0 -6px 14px -8px #15224a40; }
.lo--postal .po-envelope-folds { position:absolute; inset:0; width:100%; height:100%; }
.lo--postal .po-envelope-folds path { fill:#fffdf6; stroke:#15224a33; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.lo--postal .po-envelope-front .po-airlabel-tag { position:absolute; left:26px; bottom:22px; }
.lo--postal .po-envelope-stamp { position:absolute; right:24px; bottom:18px; --p:8px; transform:rotate(3deg); }
.lo--postal .po-final-postmark { position:absolute; z-index:3; right:92px; bottom:42px; width:124px; transform:rotate(-13deg); }

/* ── Rodapé ──────────────────────────────────────────────────────── */
.lo--postal .po-footer { padding:0 0 132px; color:var(--po-cream); background:var(--po-ink); --po-focus:#eab035; }
.lo--postal .po-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:56px; }
.lo--postal .po-footer-brand p { margin-top:16px; font-size:15.5px; color:#dfe4f5; }
.lo--postal .po-footer nav { display:flex; flex-wrap:wrap; gap:8px 28px; font-family:var(--po-mono); font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.lo--postal .po-footer nav a { padding:8px 0; border-bottom:2px dashed transparent; transition:color .15s,border-color .15s; }
.lo--postal .po-footer nav a:hover { color:var(--po-sun); border-bottom-color:var(--po-sun); }
.lo--postal .po-footer small { font-family:var(--po-mono); font-size:13px; letter-spacing:.06em; color:#dfe4f5; }
.lo--postal .po-footer-greetings { display:flex; flex-wrap:wrap; gap:6px 0; margin-top:40px; padding-top:22px; font-family:var(--po-hand); font-size:24px; font-weight:700; line-height:1.2; color:#ffffff8c; border-top:1.5px dashed #ffffff33; }
.lo--postal .po-footer-greetings span:not(:last-child)::after { content:'·'; margin-inline:16px; color:var(--po-sun); }

/* ── Micro-animações (só com movimento permitido) ────────────────── */
@media (prefers-reduced-motion:no-preference) {
  .lo--postal .po-route-plane { animation:po-hover 4.5s ease-in-out infinite; }
  .lo--postal .po-hero-postmark { animation:po-stamp-in .7s cubic-bezier(.2,1.4,.4,1) .5s both; }
  .lo--postal .po-live-dot { animation:po-pulse 1.8s ease-in-out infinite; }
  .lo--postal .po-tag { animation:po-sway 7s ease-in-out infinite; }
  .lo--postal .po-tag:nth-child(2) { animation-delay:-2.4s; }
  .lo--postal .po-tag:nth-child(3) { animation-delay:-4.6s; }
  .lo--postal .po-tag:hover { animation-play-state:paused; }
  .lo--postal .po-flash[aria-pressed=true] { animation:po-flip-a .42s ease; }
  .lo--postal .po-flash[aria-pressed=false] { animation:po-flip-b .42s ease; }
  .lo--postal .nv-answer[data-result]::after { animation:po-stamp-in .4s cubic-bezier(.2,1.4,.4,1) both; }
  .lo--postal .nv-answer[data-result=incorrect], .lo--postal .po-blank[data-result=incorrect] { animation:po-shake .35s ease; }
  .lo--postal .po-blank[data-result=correct] { animation:po-pop .35s ease; }
  .lo--postal .po-visa-stamp { animation:po-stamp-in .45s cubic-bezier(.2,1.4,.4,1) both; }
}
@keyframes po-hover { 0%,100% { translate:0 0; } 50% { translate:3px -6px; } }
@keyframes po-pulse { 0%,100% { scale:1; } 50% { scale:1.35; } }
@keyframes po-sway { 0%,100% { rotate:-.7deg; } 50% { rotate:.7deg; } }
@keyframes po-stamp-in { 0% { opacity:0; scale:1.7; } 60% { opacity:1; } 100% { opacity:1; scale:1; } }
@keyframes po-flip-a { 0% { scale:1 1; } 50% { scale:.03 1; } 100% { scale:1 1; } }
@keyframes po-flip-b { 0% { scale:1 1; } 50% { scale:.03 1; } 100% { scale:1 1; } }
@keyframes po-pop { 0% { scale:1; } 50% { scale:1.06; } 100% { scale:1; } }
@keyframes po-shake { 0%,100% { translate:0 0; } 25% { translate:-5px 0; } 75% { translate:5px 0; } }
@media (prefers-reduced-motion:reduce) {
  .lo--postal :where(.po-nav,.po-main,.po-footer) *, .lo--postal :where(.po-nav,.po-main,.po-footer) *::before, .lo--postal :where(.po-nav,.po-main,.po-footer) *::after { transition:none !important; animation:none !important; }
}

/* ── Responsivo ──────────────────────────────────────────────────── */
@media (max-width:1180px) {
  .lo--postal .po-nav-links { gap:0; font-size:12px; }
  .lo--postal .po-nav-links a { padding:10px 9px; }
  .lo--postal .po-nav-links a::after { left:9px; right:9px; }
  .lo--postal .po-hero-grid { gap:40px; }
  .lo--postal .po-dest-grid, .lo--postal .po-tickets, .lo--postal .po-tags { gap:22px; }
  .lo--postal .po-album { gap:24px; }
  .lo--postal .po-ticket-main, .lo--postal .po-ticket-stub { padding-inline:22px; }
  .lo--postal .po-ticket-head { padding-inline:22px; }
  .lo--postal .po-tab small { display:none; }
  .lo--postal .po-tab-icon { display:none; }
  .lo--postal .po-pass-meta { gap:16px; }
  .lo--postal .po-pass-meta div:nth-last-child(1) { display:none; }
  .lo--postal .po-photo-image { height:240px; }
  .lo--postal .po-faq-grid { gap:48px; }
  .lo--postal .po-heading-route, .lo--postal .po-pricing-route, .lo--postal .po-pricing-postmark, .lo--postal .po-hero-route { display:none; }
  .lo--postal .po-hero { padding-bottom:88px; }
  .lo--postal .po-dest-stamp { --p:7px; right:10px; }
  .lo--postal .po-dest h3 { max-width:calc(100% - 74px); }
  .lo--postal .po-demo-postmark { display:none; }
}
@media (max-width:920px) {
  .lo--postal .po-nav-links { display:none; }
  .lo--postal .po-hero { padding:48px 0 88px; }
  .lo--postal .po-hero-grid { grid-template-columns:minmax(0,1fr); gap:64px; }
  .lo--postal .po-hero-copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
  .lo--postal .po-airlabel, .lo--postal .po-actions { justify-content:center; }
  .lo--postal .po-main h1 { font-size:clamp(54px,11.5vw,104px); }
  .lo--postal .po-main h2 { font-size:clamp(42px,7.4vw,66px); }
  .lo--postal .po-hero-art { max-width:520px; }
  .lo--postal .po-hero-route { display:none; }
  .lo--postal .po-demo > .po-airmail { margin-bottom:72px; }
  .lo--postal .po-demo-heading, .lo--postal .po-heading { grid-template-columns:minmax(0,1fr); gap:22px; align-items:start; }
  .lo--postal .po-section { padding:96px 0; }
  .lo--postal .po-pass-head { grid-template-columns:minmax(0,1fr); }
  .lo--postal .po-pass-stub { flex-direction:row; align-items:center; width:auto; gap:16px; padding:10px 28px; border-left:0; border-top:2px dashed #15224a73; }
  .lo--postal .po-pass-stub::before { display:none; }
  .lo--postal .po-pass-stub .po-barcode { flex:1; height:20px; }
  .lo--postal .po-dest-grid, .lo--postal .po-tickets { grid-template-columns:minmax(0,1fr); gap:34px; max-width:560px; margin-inline:auto; }
  .lo--postal .po-tickets { gap:44px; }
  .lo--postal .po-ticket--featured { transform:none; }
  .lo--postal .po-ticket-description { min-height:0; }
  .lo--postal .po-tags { grid-template-columns:minmax(0,1fr); gap:0; max-width:460px; margin-inline:auto; padding-top:44px; }
  .lo--postal .po-tag, .lo--postal .po-tag:nth-child(2) { margin-top:0; }
  .lo--postal .po-tag + .po-tag { margin-top:34px; }
  .lo--postal .po-tag-string, .lo--postal .po-tag:nth-child(2) .po-tag-string { top:-44px; height:70px; }
  .lo--postal .po-tag + .po-tag .po-tag-string { top:-34px; height:60px; }
  .lo--postal .po-tag-body { padding:48px 24px 20px; }
  .lo--postal .po-album { grid-template-columns:minmax(0,1fr); gap:48px; max-width:520px; margin-inline:auto; }
  .lo--postal .po-album-route { display:none; }
  .lo--postal .po-photo:nth-child(3), .lo--postal .po-photo:nth-child(3):hover { transform:none; }
  .lo--postal .po-photo-image { height:300px; }
  .lo--postal .po-faq-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .lo--postal .po-faq-intro { position:relative; }
  .lo--postal .po-info-sign { width:64px; height:64px; margin-bottom:26px; border-radius:13px; }
  .lo--postal .po-info-sign b { font-size:40px; }
  .lo--postal .po-faq-stamps { display:none; }
  .lo--postal .po-quiz-columns { grid-template-columns:minmax(0,1fr); gap:26px; }
  .lo--postal .po-exercise { min-height:0; }
  .lo--postal .po-letter { width:86%; padding:48px 32px 160px; }
  .lo--postal .po-footer-inner { flex-direction:column; align-items:flex-start; gap:24px; }
}
@media (min-width:641px) and (max-width:920px) {
  .lo--postal .po-tags { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:none; padding-top:56px; }
  .lo--postal .po-tag + .po-tag { margin-top:0; }
  .lo--postal .po-tag:nth-child(2) { margin-top:18px; }
  .lo--postal .po-tag-string, .lo--postal .po-tag + .po-tag .po-tag-string { top:-56px; height:82px; }
  .lo--postal .po-tag:nth-child(2) .po-tag-string { top:-74px; height:100px; }
  .lo--postal .po-tag-body { padding:48px 16px 18px; clip-path:polygon(26px 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%,0 26px); }
  .lo--postal .po-tag strong { font-size:21px; }
  .lo--postal .po-album { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:none; }
  .lo--postal .po-photo { padding:9px 9px 0; }
  .lo--postal .po-photo:nth-child(3) { transform:translateY(20px); }
  .lo--postal .po-photo:nth-child(3):hover { transform:translateY(14px); }
  .lo--postal .po-photo-image { height:190px; }
  .lo--postal .po-corner { width:22px; height:22px; }
  .lo--postal .po-photo-info { padding:14px 4px 16px; }
  .lo--postal .po-photo-info h3 { font-size:25px; }
  .lo--postal .po-photo-info p { font-size:14.5px; }
  .lo--postal .po-photo-arrow { display:none; }
}
@media (max-width:640px) {
  .lo--postal { font-size:16px; }
  .lo--postal .po-wrap { width:calc(100% - 32px); }
  .lo--postal .po-nav-inner { min-height:60px; gap:10px; }
  .lo--postal .po-logo { gap:8px; }
  .lo--postal .po-logo-mark { width:32px; height:32px; padding:6px; }
  .lo--postal .po-logo-word { font-size:22px; }
  .lo--postal .po-nav-actions { gap:14px; }
  .lo--postal .po-nav-login { font-size:12px; }
  .lo--postal .po-only-wide { display:none; }
  .lo--postal .po-only-narrow { display:inline; }
  .lo--postal .po-btn--small { padding:8px 13px; font-size:12.5px; }
  .lo--postal .po-main > section[id] { scroll-margin-top:70px; }

  .lo--postal .po-hero { padding:36px 0 72px; }
  .lo--postal .po-main h1 { font-size:clamp(50px,15.5vw,80px); line-height:.93; }
  .lo--postal .po-main h2 { font-size:clamp(38px,11.5vw,56px); }
  .lo--postal .po-hero h1 { margin-top:22px; }
  .lo--postal .po-airlabel { font-size:11.5px; }
  .lo--postal .po-lead { margin-top:24px; font-size:17px; }
  .lo--postal .po-actions { flex-direction:column; align-items:stretch; width:100%; max-width:340px; gap:14px; margin-top:30px; }
  .lo--postal .po-btn--big { min-height:56px; padding:14px 20px; font-size:16.5px; }
  .lo--postal .po-caption { font-size:12.5px; text-align:left; }
  .lo--postal .po-hero-grid { gap:52px; }
  .lo--postal .po-hero-art { max-width:400px; }
  .lo--postal .po-pc-front { width:74%; }
  .lo--postal .po-pc-back { grid-template-columns:minmax(0,1fr); margin-top:37%; padding:5.5cqw 5.5cqw 6cqw; transform:rotate(1.2deg); }
  .lo--postal .po-pc-msg { padding:0 27cqw 4.5cqw 0; }
  .lo--postal .po-pc-msg .po-hand { margin-top:3cqw; font-size:7.4cqw; }
  .lo--postal .po-pc-msg .po-hand--sign { position:absolute; left:48cqw; top:33cqw; padding:0; font-size:6.4cqw; }
  .lo--postal .po-pc-addr { position:static; gap:2cqw; padding:4.5cqw 0 0; border-left:0; border-top:1.5px solid #15224a40; }
  .lo--postal .po-pc-postage { position:absolute; top:5cqw; right:5cqw; margin:0; }
  .lo--postal .po-pc-postage .po-stamp { --p:max(5px,1.9cqw); }
  .lo--postal .po-pc-kicker, .lo--postal .po-pc-q-label { font-size:max(9.5px,2.7cqw); }
  .lo--postal .po-pc-addr strong { font-size:max(17px,5.2cqw); }
  .lo--postal .po-pc-opt { gap:2.6cqw; padding:1.6cqw 0 1.9cqw; font-size:max(12.5px,3.6cqw); }
  .lo--postal .po-pc-opt i { width:max(20px,5.6cqw); height:max(20px,5.6cqw); font-size:max(10.5px,2.9cqw); }
  .lo--postal .po-hero-stamps { gap:3cqw; margin:-4cqw 0 0 4%; }
  .lo--postal .po-hero-stamps .po-stamp { --p:max(6px,2.05cqw); }
  .lo--postal .po-hero-postmark { width:34%; right:-2%; bottom:0; }

  .lo--postal .po-demo { padding-bottom:72px; }
  .lo--postal .po-demo > .po-airmail { margin-bottom:56px; }
  .lo--postal .po-demo-heading { margin-bottom:32px; padding-inline:4px; }
  .lo--postal .po-demo-heading > p { font-size:16.5px; }
  .lo--postal .po-demo .po-wrap { width:calc(100% - 24px); }
  .lo--postal .po-pass { border-radius:14px; }
  .lo--postal .po-pass-main { grid-template-columns:minmax(0,1fr); grid-template-areas:'kicker' 'title' 'meta'; gap:8px; padding:16px 16px 16px; }
  .lo--postal .po-pass-kicker { font-size:10.5px; letter-spacing:.12em; }
  .lo--postal .po-pass-kicker span { display:none; }
  .lo--postal .po-pass-title strong { font-size:34px; }
  .lo--postal .po-pass-title small { font-size:12px; }
  .lo--postal .po-pass-meta { gap:18px; margin-top:8px; padding-top:10px; border-top:1.5px dashed #ffffff80; }
  .lo--postal .po-pass-meta div:nth-last-child(1) { display:block; }
  .lo--postal .po-pass-meta dd { font-size:21px; }
  .lo--postal .po-pass-meta dt { font-size:9px; }
  .lo--postal .po-pass-stub { padding:9px 16px; gap:12px; }
  .lo--postal .po-pass-badge { font-size:10px; }
  .lo--postal .po-pass-code { display:none; }
  .lo--postal .po-tabs { grid-template-columns:minmax(0,1fr); gap:9px; padding:14px 12px 13px; }
  .lo--postal .po-tab-body { --stub:56px; --notch:7px; min-height:50px; }
  .lo--postal .po-tab-stub { flex-direction:row; gap:0; }
  .lo--postal .po-tab-stub i { display:none; }
  .lo--postal .po-tab-stub b { font-size:22px; }
  .lo--postal .po-tab-text { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 10px; padding:8px 8px 8px 14px; }
  .lo--postal .po-tab strong { font-size:17px; }
  .lo--postal .po-tab small { display:block; margin:0; font-size:12.5px; }
  .lo--postal .po-tab-icon { display:block; margin-right:14px; }
  .lo--postal .po-tab:hover, .lo--postal .po-tab[aria-selected=true] { transform:none; }
  .lo--postal .po-stage { padding:2px 12px 4px; }
  .lo--postal .po-stage-bar { gap:8px; min-height:60px; }
  .lo--postal .po-stage-label { display:none; }
  .lo--postal .po-role-switch { margin-left:0; }
  .lo--postal .po-role-switch button { min-height:38px; padding:5px 12px; font-size:12px; }
  .lo--postal .po-restart { margin-left:auto; padding:6px 11px; font-size:12px; }
  .lo--postal .po-exercise { padding:18px 14px 20px; border-radius:10px; }
  .lo--postal .po-exercise-heading { gap:12px; padding-bottom:16px; align-items:flex-start; }
  .lo--postal .po-exercise-symbol { width:44px; height:44px; }
  .lo--postal .po-exercise-symbol .inline-block { width:20px !important; height:20px !important; }
  .lo--postal .po-exercise-heading h3 { font-size:21px; }
  .lo--postal .po-exercise-heading p { font-size:14px; }
  .lo--postal .po-level { display:none; }
  .lo--postal .po-quiz-columns { margin-top:18px; gap:24px; }
  .lo--postal .po-reading { padding:22px 16px 16px; }
  .lo--postal .po-reading-stamp { top:18px; right:12px; --p:5px; }
  .lo--postal .po-reading h4 { max-width:calc(100% - 62px); font-size:25px; }
  .lo--postal .po-reading > p { font-size:15px; }
  .lo--postal .po-reading-foot { font-size:10.5px; }
  .lo--postal .po-question h4 { font-size:20.5px; }
  .lo--postal .nv-answer { gap:11px; padding:9px 11px; font-size:15px; }
  .lo--postal .nv-answer[data-result]::after { font-size:0; padding:0; border:0; box-shadow:none; }
  .lo--postal .po-quiz-actions .po-btn { width:100%; }
  .lo--postal .po-word-bank { flex-direction:column; align-items:flex-start; gap:12px; margin:18px 0 16px; padding:14px; }
  .lo--postal .po-word-bank > div { gap:10px; }
  .lo--postal .po-word { padding:8px 14px 8px 30px; font-size:15px; }
  .lo--postal .po-word::before { left:11px; }
  .lo--postal .po-gap-text p { gap:10px; font-size:17px; line-height:2.5; }
  .lo--postal .po-blank { min-width:138px; margin-inline:2px; padding-inline:10px; font-size:12.5px; }
  .lo--postal .po-blank[data-word] { font-size:15.5px; }
  .lo--postal .po-gap-footer { flex-direction:column; align-items:stretch; gap:14px; }
  .lo--postal .po-flash { margin-top:22px; padding:9px; }
  .lo--postal .po-flash-front, .lo--postal .po-flash-back { inset:9px; }
  .lo--postal .po-flash-content { min-height:270px; padding:24px 14px 18px; }
  .lo--postal .po-flash em { font-size:16px; }
  .lo--postal .po-flash-back .po-stamp { top:12px; right:12px; --p:6px; }
  .lo--postal .po-flash-back .po-cancel { top:30px; right:50px; width:96px; }
  .lo--postal .po-flash[aria-pressed=true] .po-flash-content { padding-left:20px; }
  .lo--postal .po-flash[aria-pressed=true] strong { max-width:calc(100% - 70px); font-size:clamp(34px,10vw,48px); }
  .lo--postal .po-flash[aria-pressed=true] em { font-size:23px; }
  .lo--postal .po-visa { padding:20px 16px 16px; gap:12px; }
  .lo--postal .po-visa p { padding-right:0; }
  .lo--postal .po-visa p > span { font-size:13px; }
  .lo--postal .po-visa-stamp { right:14px; font-size:16px; }
  .lo--postal .po-stage-footer { flex-direction:column; align-items:flex-start; gap:8px; padding-block:14px 12px; font-size:11.5px; }

  .lo--postal .po-section { padding:72px 0; }
  .lo--postal .po-heading { margin-bottom:40px; }
  .lo--postal .po-heading > p:not(.po-eyebrow) { font-size:17px; }
  .lo--postal .po-eyebrow { font-size:11.5px; letter-spacing:.1em; gap:10px; }
  .lo--postal .po-eyebrow::before { width:26px; }
  .lo--postal .po-tag strong { font-size:25px; }
  .lo--postal .po-dest-body { padding:32px 10px 6px; }
  .lo--postal .po-dest h3 { font-size:26px; }
  .lo--postal .po-dest-body > p { font-size:16px; }
  .lo--postal .po-photo-image { height:230px; }
  .lo--postal .po-photo-info h3 { font-size:28px; }
  .lo--postal .po-ticket-main { padding:24px 22px; }
  .lo--postal .po-ticket-stub { padding:24px 22px 22px; }
  .lo--postal .po-ticket h3 { font-size:38px; }
  .lo--postal .po-ticket-ribbon { right:14px; font-size:10.5px; }
  .lo--postal .po-pricing-note { margin-top:36px; font-size:12.5px; line-height:1.6; }
  .lo--postal .po-faq summary { gap:12px; padding:16px 14px; }
  .lo--postal .po-faq-question { font-size:19px; }
  .lo--postal .po-faq-chevron { width:34px; height:34px; }
  .lo--postal .po-faq details > p { padding:0 16px 22px; font-size:16px; }

  .lo--postal .po-final { padding:72px 0 80px; }
  .lo--postal .po-envelope-flap { bottom:150px; height:200px; }
  .lo--postal .po-letter { width:90%; padding:36px 18px 112px; }
  .lo--postal .po-letter h2 { font-size:clamp(36px,11vw,52px); }
  .lo--postal .po-letter-lead { font-size:17.5px; }
  .lo--postal .po-letter .po-btn { width:100%; padding-inline:12px; font-size:15.5px; }
  .lo--postal .po-final-caption { font-size:11.5px; line-height:1.6; }
  .lo--postal .po-envelope-front { height:156px; margin-top:-84px; border-width:10px; border-image:var(--po-airmail) 10; }
  .lo--postal .po-envelope-front .po-airlabel-tag { left:14px; bottom:12px; font-size:10px; }
  .lo--postal .po-envelope-stamp { right:12px; bottom:10px; --p:6px; }
  .lo--postal .po-final-postmark { right:56px; bottom:20px; width:88px; }
  .lo--postal .po-footer { padding-bottom:120px; }
  .lo--postal .po-footer-inner { padding-top:44px; }
  .lo--postal .po-footer-greetings { font-size:21px; }
  .lo--postal .po-footer-greetings span:not(:last-child)::after { margin-inline:11px; }
}
@media (max-width:360px) {
  .lo--postal .po-nav-inner { gap:6px; }
  .lo--postal .po-nav-actions { gap:10px; }
  .lo--postal .po-logo-word { font-size:20px; }
  .lo--postal .po-btn--small { padding:8px 10px; font-size:11.5px; letter-spacing:.04em; }
  .lo--postal .po-main h1 { font-size:48px; }
  .lo--postal .po-blank { min-width:120px; }
  .lo--postal .po-pass-meta { gap:13px; }
}
/* Seletor de propostas de landing. Independente do CSS de cada proposta. */
.nivo-switcher { position:fixed; z-index:60; bottom:16px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:4px; max-width:calc(100% - 24px); padding:5px; border:1px solid #e2e0ea; border-radius:999px; background:#fffffff2; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 6px 28px #1f1a3329; font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; line-height:1; }
.nivo-switcher__label { flex:none; padding:0 8px 0 13px; font-size:8px; font-weight:700; letter-spacing:1px; color:#77708a; }
.nivo-switcher__options { display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; border-radius:999px; }
.nivo-switcher__options::-webkit-scrollbar { display:none; }
.nivo-switcher a { flex:none; padding:10px 14px; border-radius:999px; font-size:11px; font-weight:500; white-space:nowrap; text-decoration:none; color:#5d5670; transition:background-color .15s, color .15s; }
.nivo-switcher a:hover { background:#f1eef8; color:#2a2440; }
.nivo-switcher a:focus-visible { outline:2px solid #4f46e5; outline-offset:1px; }
.nivo-switcher a[aria-current=page] { background:#2a2440; color:#fff; }
/* Com muitas propostas, só a atual mostra o nome; as demais ficam só com o número. */
.nivo-switcher a:not([aria-current=page]) .nivo-switcher__name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.nivo-switcher a { padding-inline:12px; }
@media (max-width:700px) {
  .nivo-switcher { bottom:10px; }
  .nivo-switcher__label { display:none; }
  .nivo-switcher__options { gap:0; }
  .nivo-switcher a { padding:10px 7px; font-size:10px; }
}
/* Proposta 08 · Tropical — modernismo brasileiro: formas orgânicas, folhas recortadas, arcos e cor chapada.
   Todo seletor fica restrito a .lo--tropical (classe do <body> no layout landing_option). Sem contornos escuros:
   a separação é por cor contra cor, sobreposição e sombra suave. */

/* ── Base ─────────────────────────────────────────────────────────── */
.lo--tropical {
  --tp-mata:#0f3d2e; --tp-mata-2:#14503b; --tp-mata-3:#1c6449; --tp-folha:#2f8f5b; --tp-folha-tinta:#1d7446; --tp-folha-clara:#8fcf9b; --tp-folha-soft:#dcefd6;
  --tp-manga:#f6b03a; --tp-manga-deep:#d98e12; --tp-manga-soft:#fde2a7; --tp-ouro:#f9d27a; --tp-laranja:#f4923f;
  --tp-goiaba:#ef6f6c; --tp-goiaba-claro:#f59a90; --tp-goiaba-soft:#fcdcd6; --tp-goiaba-tinta:#c9423d;
  --tp-mar:#2fb5a8; --tp-mar-claro:#bfe8e0; --tp-mar-soft:#def3ef; --tp-terracota:#c8553d; --tp-terracota-tinta:#a9412b;
  --tp-areia:#fbf3e4; --tp-areia-2:#f4e6cb; --tp-creme:#fffaf0; --tp-branco:#fffdf8;
  --tp-indigo:#4f46e5; --tp-indigo-deep:#3a32bf; --tp-indigo-soft:#e4e2fd; --tp-noite:#2a2565;
  --tp-tinta:#12291f; --tp-tinta-soft:#3f5348; --tp-focus:#4f46e5;
  --tp-display:'Fraunces','DM Serif Display',Georgia,'Times New Roman',serif;
  --tp-body:'Outfit','DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --tp-shadow:0 24px 48px -24px #0f3d2e59, 0 4px 12px -4px #0f3d2e1f;
  --tp-shadow-soft:0 14px 30px -18px #0f3d2e4d, 0 2px 6px -2px #0f3d2e14;
  margin:0; background:var(--tp-areia); color:var(--tp-tinta); font-family:var(--tp-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.lo--tropical .tp-page-root *, .lo--tropical .tp-page-root *::before, .lo--tropical .tp-page-root *::after { box-sizing:border-box; }
.lo--tropical .tp-page-root :where(h1,h2,h3,h4,p,ul) { margin:0; }
.lo--tropical .tp-page-root :where(ul) { padding:0; list-style:none; }
.lo--tropical .tp-page-root :where(a) { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lo--tropical .tp-page-root :where(button) { font:inherit; color:inherit; border:0; background:none; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.lo--tropical .tp-page-root :where(button:disabled) { cursor:default; }
.lo--tropical .tp-page-root [hidden] { display:none !important; }
.lo--tropical .tp-page-root :where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--tp-focus); outline-offset:3px; }
.lo--tropical .tp-page-root .inline-block { display:inline-block; flex:none; vertical-align:middle; }
.lo--tropical .tp-page-root .inline-block > svg { display:block; width:100%; height:100%; stroke-width:1.9; }
.lo--tropical main > section[id] { scroll-margin-top:70px; }
.lo--tropical .tp-wrap { position:relative; width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--tropical .tp-skip { position:fixed; top:-120px; left:16px; z-index:80; padding:12px 20px; background:var(--tp-mata); color:var(--tp-creme); font-weight:600; border-radius:999px; box-shadow:var(--tp-shadow); }
.lo--tropical .tp-skip:focus { top:16px; }
.lo--tropical .tp-page-root :where(p) { text-wrap:pretty; }
.lo--tropical .tp-page-root :where(h1,h2,h3,h4) { font-family:var(--tp-display); font-weight:500; font-variation-settings:'SOFT' 100; letter-spacing:-.02em; text-wrap:balance; }
.lo--tropical h1 { font-size:clamp(44px,6.1vw,90px); line-height:1.01; letter-spacing:-.035em; font-weight:480; }
.lo--tropical h2 { font-size:clamp(36px,4.7vw,66px); line-height:1.05; letter-spacing:-.03em; font-weight:480; }

/* Cores de seção e preenchimentos das ondas */
.lo--tropical .tp-bg--areia { background-color:var(--tp-areia); }
.lo--tropical .tp-bg--creme { background-color:var(--tp-creme); }
.lo--tropical .tp-bg--mata { background-color:var(--tp-mata); }
.lo--tropical .tp-bg--manga { background-color:var(--tp-manga); }
.lo--tropical .tp-bg--mar { background-color:var(--tp-mar-claro); }
.lo--tropical .tp-bg--goiaba { background-color:var(--tp-goiaba-claro); }
.lo--tropical .tp-fill--areia { fill:var(--tp-areia); }
.lo--tropical .tp-fill--creme { fill:var(--tp-creme); }
.lo--tropical .tp-fill--mata { fill:var(--tp-mata); }
.lo--tropical .tp-fill--manga { fill:var(--tp-manga); }
.lo--tropical .tp-fill--mar { fill:var(--tp-mar-claro); }
.lo--tropical .tp-fill--goiaba { fill:var(--tp-goiaba-claro); }
.lo--tropical .tp-to--areia { --tp-to:var(--tp-areia); }
.lo--tropical .tp-to--creme { --tp-to:var(--tp-creme); }
.lo--tropical .tp-to--mata { --tp-to:var(--tp-mata); }
.lo--tropical .tp-to--manga { --tp-to:var(--tp-manga); }
.lo--tropical .tp-to--mar { --tp-to:var(--tp-mar-claro); }
.lo--tropical .tp-to--goiaba { --tp-to:var(--tp-goiaba-claro); }
/* Sem position/z-index: as seções vizinhas (posicionadas) cobrem 2px da onda, e a faixa de 4px na cor de destino
   evita linha clara na emenda em zoom/DPR fracionário. */
.lo--tropical .tp-wave { line-height:0; margin-block:-2px; background-image:linear-gradient(to top,var(--tp-to) 4px,transparent 4px); }
.lo--tropical .tp-wave svg { display:block; width:100%; height:clamp(48px,7.5vw,116px); }
.lo--tropical .tp-wave--flip svg { transform:scaleX(-1); }

/* Formas recortadas */
.lo--tropical .tp-shape { position:absolute; display:block; pointer-events:none; overflow:visible; color:var(--tp-folha); }
.lo--tropical .tp-shape .tp-shape-core { fill:var(--tp-manga); }

/* Palavras-chave: itálico serifado em cor */
.lo--tropical .tp-k { font-style:italic; font-weight:420; letter-spacing:-.025em; padding-right:.04em; }
.lo--tropical .tp-k--goiaba { color:var(--tp-goiaba-tinta); }
.lo--tropical .tp-k--indigo { color:var(--tp-indigo); }
.lo--tropical .tp-k--manga { color:var(--tp-manga); }
.lo--tropical .tp-k--folha { color:var(--tp-folha-tinta); }
.lo--tropical .tp-k--terracota { color:var(--tp-terracota-tinta); }

/* Sobretítulo */
.lo--tropical .tp-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; line-height:1.4; color:var(--tp-folha-tinta); }
.lo--tropical .tp-eyebrow::before { content:''; flex:none; width:22px; height:11px; background:currentColor; border-radius:0 100% 0 100%; }
.lo--tropical .tp-eyebrow:has(.tp-shape, .tp-live-dot)::before { display:none; }
.lo--tropical .tp-eyebrow--light { color:var(--tp-folha-clara); }
.lo--tropical .tp-eyebrow-sun { position:static; flex:none; width:26px; height:26px; color:var(--tp-manga-deep); }
.lo--tropical .tp-live-dot { display:inline-block; flex:none; width:9px; height:9px; border-radius:50%; background:var(--tp-goiaba); box-shadow:0 0 0 4px #ef6f6c40; }

/* Botões: pílulas com "borda de baixo" que afunda ao toque */
.lo--tropical .tp-btn { --tp-btn-bg:var(--tp-indigo); --tp-btn-lip:var(--tp-indigo-deep); --tp-btn-fg:#fff; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:12px 24px; font-family:var(--tp-body); font-size:16px; font-weight:600; line-height:1.2; color:var(--tp-btn-fg); background:var(--tp-btn-bg); border-radius:999px; box-shadow:0 4px 0 var(--tp-btn-lip), 0 16px 24px -12px color-mix(in srgb, var(--tp-btn-lip) 60%, transparent); transition:transform .14s ease, box-shadow .14s ease, background-color .14s ease; }
.lo--tropical .tp-btn:hover { transform:translateY(-2px); box-shadow:0 6px 0 var(--tp-btn-lip), 0 22px 28px -12px color-mix(in srgb, var(--tp-btn-lip) 65%, transparent); }
.lo--tropical .tp-btn:active { transform:translateY(3px); box-shadow:0 1px 0 var(--tp-btn-lip), 0 6px 10px -6px color-mix(in srgb, var(--tp-btn-lip) 60%, transparent); }
.lo--tropical .tp-btn .inline-block { transition:transform .18s ease; }
.lo--tropical .tp-btn:hover > .inline-block:last-child { transform:translateX(3px); }
.lo--tropical .tp-btn--big { min-height:60px; padding:16px 30px; font-size:18px; }
.lo--tropical .tp-btn--small { min-height:42px; padding:8px 18px; font-size:14.5px; box-shadow:0 3px 0 var(--tp-btn-lip); }
.lo--tropical .tp-btn--small:hover { box-shadow:0 5px 0 var(--tp-btn-lip); }
.lo--tropical .tp-btn--small:active { box-shadow:0 0 0 var(--tp-btn-lip); }
.lo--tropical .tp-btn--compact { min-height:46px; padding:10px 20px; font-size:15px; }
.lo--tropical .tp-btn--manga { --tp-btn-bg:var(--tp-manga); --tp-btn-lip:var(--tp-manga-deep); --tp-btn-fg:var(--tp-tinta); }
.lo--tropical .tp-btn--soft { --tp-btn-bg:var(--tp-folha-soft); --tp-btn-lip:#b7d8b0; --tp-btn-fg:var(--tp-mata); }
.lo--tropical .tp-btn--ghost { --tp-btn-bg:var(--tp-branco); --tp-btn-lip:var(--tp-areia-2); --tp-btn-fg:var(--tp-tinta); padding-left:12px; }
.lo--tropical .tp-btn-play { display:grid; place-items:center; width:38px; height:38px; color:var(--tp-tinta); background:var(--tp-manga); border-radius:50%; }
.lo--tropical .tp-btn-play .inline-block { margin-left:2px; }
.lo--tropical .tp-btn-play svg { fill:currentColor; }

/* ── Navegação ───────────────────────────────────────────────────── */
.lo--tropical .tp-nav { position:sticky; top:0; z-index:40; padding:12px 0; background:#fbf3e4f7; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.lo--tropical .tp-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.lo--tropical .tp-logo { display:inline-flex; align-items:center; gap:9px; font-family:var(--tp-display); font-size:31px; font-weight:560; font-variation-settings:'SOFT' 100; letter-spacing:-.04em; line-height:1; color:var(--tp-mata); }
.lo--tropical .tp-logo-mark { position:relative; flex:none; width:30px; height:30px; background:var(--tp-manga); border-radius:50%; }
.lo--tropical .tp-logo-mark::before, .lo--tropical .tp-logo-mark::after { content:''; position:absolute; bottom:-2px; width:17px; height:17px; background:var(--tp-folha); border-radius:0 100% 0 100%; }
.lo--tropical .tp-logo-mark::before { left:-3px; background:var(--tp-mata); transform:rotate(90deg); }
.lo--tropical .tp-logo-mark::after { right:-3px; }
.lo--tropical .tp-logo--light { color:var(--tp-creme); }
.lo--tropical .tp-logo--light .tp-logo-mark::before { background:var(--tp-mar); }
.lo--tropical .tp-nav-links { display:flex; gap:4px; font-size:15.5px; font-weight:500; }
.lo--tropical .tp-nav-links a { position:relative; padding:8px 14px; border-radius:999px; transition:background-color .16s, color .16s; }
.lo--tropical .tp-nav-links a:hover { background:var(--tp-folha-soft); color:var(--tp-mata); }
.lo--tropical .tp-nav-actions { display:flex; align-items:center; gap:18px; }
.lo--tropical .tp-nav-login { padding:8px 6px; font-size:15.5px; font-weight:600; color:var(--tp-mata); background:linear-gradient(var(--tp-manga),var(--tp-manga)) 0 88%/100% 3px no-repeat; transition:background-size .2s ease; }
.lo--tropical .tp-nav-login:hover { background-size:100% 9px; }
.lo--tropical .tp-only-narrow { display:none; }

/* ── 1 · Hero ────────────────────────────────────────────────────── */
.lo--tropical .tp-hero { position:relative; padding:44px 0 56px; overflow:clip; }
.lo--tropical .tp-hero-blob { right:-9%; top:-6%; width:58%; height:112%; color:var(--tp-areia-2); transform:rotate(8deg); }
.lo--tropical .tp-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:center; gap:40px; }
.lo--tropical .tp-hero h1 { margin-top:24px; }
.lo--tropical .tp-hero h1 .tp-k--goiaba { background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C28 1 46 13 70 7S112 1 136 7s42 5 61-1' fill='none' stroke='%23f6b03a' stroke-width='4.5' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/100% .16em no-repeat; padding-bottom:.06em; }
.lo--tropical .tp-lead { max-width:31em; margin-top:28px; font-size:clamp(17.5px,1.5vw,20.5px); line-height:1.6; color:var(--tp-tinta-soft); }
.lo--tropical .tp-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.lo--tropical .tp-caption { display:flex; align-items:center; gap:10px; margin-top:26px; font-size:15.5px; font-weight:500; color:var(--tp-tinta-soft); }
.lo--tropical .tp-caption-check { display:grid; place-items:center; flex:none; width:22px; height:22px; color:#fff; background:var(--tp-folha); border-radius:50%; }
.lo--tropical .tp-caption-check svg { stroke-width:3; }

.lo--tropical .tp-scene { position:relative; width:100%; max-width:570px; aspect-ratio:1/1.1; margin-inline:auto; }
.lo--tropical .tp-scene > * { position:absolute; }
.lo--tropical .tp-scene-arch { left:13%; top:2%; width:74%; height:95%; border-radius:999px 999px 36px 36px; overflow:hidden; background:var(--tp-mata); box-shadow:0 40px 60px -36px #0f3d2e99; }
.lo--tropical .tp-scene-arch svg { display:block; width:100%; height:100%; }
.lo--tropical .tp-scene-palm { left:-7%; top:-3%; width:40%; color:var(--tp-folha); --tp-r:-32deg; transform:rotate(var(--tp-r)); transform-origin:50% 100%; }
.lo--tropical .tp-scene-pink { right:-1%; top:9%; width:24%; color:var(--tp-goiaba); --tp-r:38deg; transform:rotate(var(--tp-r)); transform-origin:50% 100%; }
.lo--tropical .tp-scene-banana { right:1%; bottom:14%; width:21%; color:var(--tp-folha-clara); --tp-r:22deg; transform:rotate(var(--tp-r)); transform-origin:50% 100%; }
.lo--tropical .tp-scene-monstera { left:-9%; bottom:-5%; width:36%; color:var(--tp-folha); --tp-r:-24deg; transform:rotate(var(--tp-r)); transform-origin:60% 100%; }
.lo--tropical .tp-scene-deck { left:12%; top:49%; width:56%; height:33%; background:var(--tp-manga-soft); border-radius:26px; transform:rotate(5deg); box-shadow:var(--tp-shadow-soft); }
.lo--tropical .tp-scene-card { left:7%; top:47%; width:58%; display:flex; flex-direction:column; align-items:center; gap:4px; padding:22px 20px 18px; text-align:center; color:var(--tp-tinta); background:var(--tp-branco); border-radius:26px; box-shadow:0 30px 50px -22px #06241acc; transform:rotate(-3deg); }
.lo--tropical .tp-scene-card-label { font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--tp-folha-tinta); }
.lo--tropical .tp-scene-card strong { font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(34px,4.2vw,54px); font-weight:520; letter-spacing:-.03em; line-height:1.1; }
.lo--tropical .tp-scene-card-rule { width:44px; height:10px; margin:4px 0 2px; background:var(--tp-manga); border-radius:0 100% 0 100%; }
.lo--tropical .tp-scene-card em { font-family:var(--tp-display); font-size:clamp(19px,2vw,25px); font-weight:420; line-height:1.2; color:var(--tp-goiaba-tinta); }
.lo--tropical .tp-scene-card-hint { display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:5px 12px; font-size:12px; font-weight:500; color:var(--tp-tinta-soft); background:var(--tp-areia); border-radius:999px; }
.lo--tropical .tp-scene-aha { right:3%; top:30%; display:grid; place-items:center; width:21%; aspect-ratio:1; padding-bottom:.2em; font-family:var(--tp-display); font-style:italic; font-variation-settings:'SOFT' 100; font-size:clamp(20px,2.4vw,30px); font-weight:520; letter-spacing:-.03em; color:var(--tp-mata); background:var(--tp-goiaba); border-radius:50% 50% 50% 8%; box-shadow:var(--tp-shadow-soft); transform:rotate(8deg); }
.lo--tropical .tp-scene-note { right:0; bottom:3%; width:45%; padding:14px 18px; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(14.5px,1.45vw,18px); font-weight:480; line-height:1.28; letter-spacing:-.01em; color:var(--tp-tinta); background:var(--tp-branco); border-radius:22px 22px 6px 22px; box-shadow:var(--tp-shadow); }
.lo--tropical .tp-scene-note i { color:var(--tp-goiaba-tinta); }
.lo--tropical .tp-scene-flower { left:4%; top:36%; width:10%; color:var(--tp-branco); }

/* ── 2 · Demonstração: a varanda ─────────────────────────────────── */
.lo--tropical .tp-demo { position:relative; overflow:clip; padding:56px 0 72px; color:var(--tp-creme); --tp-focus:#f6b03a; }
.lo--tropical .tp-demo-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:end; gap:40px; margin-bottom:64px; }
.lo--tropical .tp-demo-heading h2 { margin-top:18px; }
.lo--tropical .tp-demo-heading > p { max-width:26em; padding-bottom:8px; font-size:18.5px; line-height:1.6; color:#d5e6d8; }
.lo--tropical .tp-varanda { position:relative; }
.lo--tropical .tp-varanda-leaf { z-index:0; transform:rotate(var(--tp-r)); }
.lo--tropical .tp-varanda-leaf--a { left:-128px; bottom:-48px; width:230px; color:var(--tp-folha); --tp-r:-28deg; transform-origin:70% 100%; z-index:2; }
.lo--tropical .tp-varanda-leaf--b { right:-96px; top:-104px; width:240px; color:var(--tp-mata-3); --tp-r:34deg; transform-origin:50% 100%; }
.lo--tropical .tp-varanda-leaf--c { right:-64px; bottom:60px; width:110px; color:var(--tp-mar); --tp-r:18deg; transform-origin:50% 100%; }
.lo--tropical .tp-varanda-leaf--d { left:-74px; top:-66px; width:150px; color:var(--tp-mata-3); --tp-r:-150deg; transform-origin:50% 50%; }

.lo--tropical .tp-lab { position:relative; z-index:1; color:var(--tp-tinta); background:var(--tp-creme); border-radius:40px; box-shadow:0 50px 90px -40px #020f0acc, 0 0 0 10px #ffffff12; overflow:hidden; --tp-focus:#4f46e5; }
.lo--tropical .tp-noscript { padding:16px 24px; font-weight:600; background:var(--tp-goiaba-soft); }
.lo--tropical .tp-awning { position:relative; z-index:2; height:26px; background:repeating-linear-gradient(90deg,var(--tp-manga) 0 34px,#fff3d6 34px 68px); }
.lo--tropical .tp-awning::after { content:''; position:absolute; left:0; right:0; top:100%; height:17px; background:radial-gradient(circle at 17px 0,var(--tp-manga) 16.5px,transparent 17px) 0 0/68px 17px repeat-x, radial-gradient(circle at 51px 0,#fff3d6 16.5px,transparent 17px) 0 0/68px 17px repeat-x; filter:drop-shadow(0 3px 0 #0f3d2e14); }
.lo--tropical .tp-lab-top { display:flex; align-items:center; gap:18px; padding:32px 28px 16px; background:var(--tp-folha-soft); }
.lo--tropical .tp-lesson { display:flex; align-items:center; gap:12px; min-width:0; }
.lo--tropical .tp-lesson-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; color:var(--tp-creme); background:var(--tp-mata); border-radius:0 50% 0 50%; }
.lo--tropical .tp-lesson strong { display:block; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:20px; font-weight:560; line-height:1.15; letter-spacing:-.02em; }
.lo--tropical .tp-lesson small { display:block; font-size:13px; font-weight:500; line-height:1.3; color:var(--tp-tinta-soft); }
.lo--tropical .tp-lab-badge { display:inline-flex; align-items:center; gap:9px; margin-left:auto; padding:7px 14px; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; color:var(--tp-mata); background:var(--tp-creme); border-radius:999px; }

.lo--tropical .tp-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:6px 28px 22px; background:var(--tp-folha-soft); border-radius:0 0 34px 34px; }
.lo--tropical .tp-tab { --tp-tab:var(--tp-indigo-soft); --tp-tab-fg:var(--tp-indigo-deep); display:flex; align-items:center; gap:13px; min-width:0; padding:12px 16px 12px 12px; text-align:left; background:var(--tp-creme); border-radius:22px; box-shadow:0 3px 0 #b7d8b0; transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease; }
.lo--tropical .tp-tab--gap { --tp-tab:var(--tp-manga-soft); --tp-tab-fg:#7a4c00; }
.lo--tropical .tp-tab--cards { --tp-tab:var(--tp-goiaba-soft); --tp-tab-fg:var(--tp-terracota-tinta); }
.lo--tropical .tp-tab:hover { transform:translateY(-2px); box-shadow:0 5px 0 #b7d8b0; }
.lo--tropical .tp-tab:active { transform:translateY(2px); box-shadow:0 1px 0 #b7d8b0; }
.lo--tropical .tp-tab-icon { display:grid; place-items:center; flex:none; width:44px; height:44px; color:var(--tp-tab-fg); background:var(--tp-tab); border-radius:0 50% 0 50%; transition:background-color .16s, color .16s, border-radius .3s ease; }
.lo--tropical .tp-tab-text { min-width:0; }
.lo--tropical .tp-tab-text strong { display:block; font-size:16px; font-weight:600; line-height:1.25; }
.lo--tropical .tp-tab-text small { display:block; font-size:13px; line-height:1.3; color:var(--tp-tinta-soft); transition:color .16s; }
.lo--tropical .tp-tab[aria-selected=true] { color:var(--tp-creme); background:var(--tp-mata); box-shadow:0 3px 0 #06241a, 0 14px 22px -12px #0f3d2e99; }
.lo--tropical .tp-tab[aria-selected=true] .tp-tab-icon { color:var(--tp-tinta); background:var(--tp-manga); border-radius:50%; }
.lo--tropical .tp-tab[aria-selected=true] small { color:#c4dcc9; }

.lo--tropical .tp-stage { padding:22px 28px 22px; }
.lo--tropical .tp-stage-bar { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.lo--tropical .tp-stage-label { display:inline-flex; align-items:center; gap:8px; margin-right:auto; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tp-tinta-soft); }
.lo--tropical .tp-role-switch { display:flex; padding:4px; background:var(--tp-areia-2); border-radius:999px; }
.lo--tropical .tp-role-switch button { min-height:38px; padding:6px 18px; font-size:14.5px; font-weight:600; color:var(--tp-tinta-soft); border-radius:999px; transition:background-color .16s, color .16s, box-shadow .16s; }
.lo--tropical .tp-role-switch button:hover { color:var(--tp-tinta); }
.lo--tropical .tp-role-switch button[aria-pressed=true] { color:var(--tp-creme); background:var(--tp-mata); box-shadow:0 6px 12px -6px #0f3d2e99; }
.lo--tropical .tp-restart { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:6px 16px; font-size:14.5px; font-weight:600; color:var(--tp-mata); background:var(--tp-branco); border-radius:999px; box-shadow:0 3px 0 var(--tp-areia-2); transition:transform .14s, box-shadow .14s; }
.lo--tropical .tp-restart span { display:inline-block; font-size:17px; line-height:1; transition:transform .4s ease; }
.lo--tropical .tp-restart:hover { transform:translateY(-1px); box-shadow:0 4px 0 var(--tp-areia-2); }
.lo--tropical .tp-restart:hover span { transform:rotate(180deg); }
.lo--tropical .tp-restart:active { transform:translateY(2px); box-shadow:0 1px 0 var(--tp-areia-2); }

.lo--tropical .tp-exercise { position:relative; padding:26px 28px 28px; background:var(--tp-areia); border-radius:30px; }
.lo--tropical .tp-exercise-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.lo--tropical .tp-exercise-heading h3 { font-size:clamp(23px,2.4vw,30px); font-weight:520; line-height:1.15; }
.lo--tropical .tp-exercise-heading p { margin-top:4px; font-size:15.5px; color:var(--tp-tinta-soft); }
.lo--tropical .tp-level { flex:none; display:grid; place-items:center; width:48px; height:48px; font-family:var(--tp-display); font-style:italic; font-size:18px; font-weight:560; color:var(--tp-tinta); background:var(--tp-manga); border-radius:50%; }
.lo--tropical .tp-small-label { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--tp-folha-tinta); }

/* Múltipla escolha */
.lo--tropical .tp-quiz-columns { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:22px; align-items:stretch; }
.lo--tropical .tp-reading { position:relative; overflow:hidden; padding:34px 26px 22px; color:var(--tp-creme); background:var(--tp-mata); border-radius:120px 120px 26px 26px / 90px 90px 26px 26px; }
.lo--tropical .tp-reading-sun { position:absolute; top:-52px; right:-36px; width:140px; height:140px; border-radius:50%; background:var(--tp-manga); box-shadow:0 0 0 22px #f4923f; opacity:.95; }
.lo--tropical .tp-reading .tp-small-label { position:relative; margin-top:34px; color:var(--tp-folha-clara); }
.lo--tropical .tp-reading h4 { position:relative; max-width:10.5em; margin:8px 0 14px; font-size:25px; font-weight:500; line-height:1.15; }
.lo--tropical .tp-reading p { position:relative; font-size:15.5px; line-height:1.65; color:#e6efe4; }
.lo--tropical .tp-reading p + p { margin-top:10px; }
.lo--tropical .tp-reading-foot { position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; margin-top:18px; padding-top:14px; font-size:12.5px; font-weight:500; color:#b9d3bf; border-top:1.5px dashed #ffffff33; }
.lo--tropical .tp-question { display:flex; flex-direction:column; padding:22px 24px 24px; background:var(--tp-branco); border-radius:26px; box-shadow:var(--tp-shadow-soft); }
.lo--tropical .tp-question-meta { display:flex; justify-content:space-between; gap:12px; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tp-tinta-soft); }
.lo--tropical .tp-question-meta span:first-child { color:var(--tp-goiaba-tinta); }
.lo--tropical .tp-question h4 { margin:10px 0 16px; font-size:clamp(22px,2.2vw,28px); font-weight:520; line-height:1.18; }
.lo--tropical .tp-quiz-answers { display:grid; gap:10px; }
.lo--tropical .nv-answer { display:flex; align-items:center; gap:13px; width:100%; min-height:54px; padding:8px 16px 8px 9px; font-size:16px; font-weight:500; line-height:1.35; text-align:left; color:var(--tp-tinta); background:var(--tp-areia); border-radius:999px; box-shadow:inset 0 0 0 2px transparent; transition:transform .14s ease, box-shadow .14s ease, background-color .14s ease; }
.lo--tropical .nv-answer-letter { display:grid; place-items:center; flex:none; width:38px; height:38px; font-family:var(--tp-display); font-style:italic; font-size:17px; font-weight:560; color:var(--tp-mata); background:var(--tp-branco); border-radius:0 50% 0 50%; transition:background-color .14s, color .14s, border-radius .25s ease; }
.lo--tropical .nv-answer:hover:not(:disabled) { background:var(--tp-manga-soft); transform:translateX(4px); }
.lo--tropical .nv-answer[aria-pressed=true] { background:var(--tp-indigo-soft); box-shadow:inset 0 0 0 2px var(--tp-indigo); font-weight:600; }
.lo--tropical .nv-answer[aria-pressed=true] .nv-answer-letter { color:#fff; background:var(--tp-indigo); border-radius:50%; }
.lo--tropical .nv-answer:disabled { transform:none; color:var(--tp-tinta-soft); }
.lo--tropical .nv-answer[data-result=correct] { color:var(--tp-mata); background:#cfeacb; box-shadow:inset 0 0 0 2px var(--tp-folha); font-weight:600; }
.lo--tropical .nv-answer[data-result=correct] .nv-answer-letter { color:#fff; background:var(--tp-folha-tinta); border-radius:50%; font-size:0; }
.lo--tropical .nv-answer[data-result=correct] .nv-answer-letter::after { content:'✓'; font-style:normal; font-family:var(--tp-body); font-size:18px; }
.lo--tropical .nv-answer[data-result=incorrect] { color:#6d1f17; background:var(--tp-goiaba-soft); box-shadow:inset 0 0 0 2px var(--tp-goiaba); font-weight:600; }
.lo--tropical .nv-answer[data-result=incorrect] .nv-answer-letter { color:#fff; background:var(--tp-terracota-tinta); border-radius:50%; font-size:0; }
.lo--tropical .nv-answer[data-result=incorrect] .nv-answer-letter::after { content:'✕'; font-style:normal; font-family:var(--tp-body); font-size:15px; }
.lo--tropical .tp-feedback { min-height:26px; margin-top:14px; font-size:15px; line-height:1.5; color:var(--tp-tinta-soft); }
.lo--tropical .tp-feedback[data-result] { display:flex; align-items:flex-start; gap:10px; padding:11px 16px; font-weight:500; border-radius:18px; }
.lo--tropical .tp-feedback[data-result]::before { flex:none; display:grid; place-items:center; width:22px; height:22px; margin-top:1px; font-size:13px; font-weight:700; line-height:1; color:#fff; border-radius:50%; }
.lo--tropical .tp-feedback[data-result=correct] { color:var(--tp-mata); background:#cfeacb; }
.lo--tropical .tp-feedback[data-result=correct]::before { content:'✓'; background:var(--tp-folha-tinta); }
.lo--tropical .tp-feedback[data-result=incorrect] { color:#6d1f17; background:var(--tp-goiaba-soft); }
.lo--tropical .tp-feedback[data-result=incorrect]::before { content:'!'; background:var(--tp-terracota-tinta); }
.lo--tropical .tp-quiz-actions { display:flex; justify-content:flex-end; margin-top:auto; padding-top:16px; }

/* Lacunas */
.lo--tropical .tp-word-bank { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; padding:16px 20px; background:var(--tp-branco); border-radius:24px; box-shadow:var(--tp-shadow-soft); }
.lo--tropical .tp-word-bank > div { display:flex; flex-wrap:wrap; gap:10px; }
.lo--tropical .tp-word { min-height:44px; padding:7px 20px; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:18px; font-weight:520; color:var(--tp-tinta); background:var(--tp-manga-soft); border-radius:999px; box-shadow:0 3px 0 #f0c66e; transition:transform .14s ease, box-shadow .14s ease, background-color .14s ease, color .14s ease, opacity .14s; }
.lo--tropical .tp-word:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 5px 0 #f0c66e; }
.lo--tropical .tp-word[aria-pressed=true] { color:#fff; background:var(--tp-indigo); box-shadow:0 4px 0 var(--tp-indigo-deep), 0 14px 18px -10px #3a32bfb3; transform:translateY(-4px) rotate(-2deg); }
.lo--tropical .tp-word:disabled { color:#6b7a70; background:var(--tp-areia); box-shadow:none; text-decoration:line-through; text-decoration-thickness:1.5px; transform:none; }
.lo--tropical .tp-gap-text { display:grid; gap:6px; margin-top:20px; font-size:clamp(17px,1.6vw,19.5px); line-height:2.3; }
.lo--tropical .tp-gap-text p { display:flex; align-items:baseline; gap:14px; }
.lo--tropical .tp-line-number { flex:none; display:inline-grid; place-items:center; width:30px; height:30px; font-family:var(--tp-display); font-style:italic; font-size:15px; font-weight:560; line-height:1; color:var(--tp-mata); background:var(--tp-folha-soft); border-radius:0 50% 0 50%; transform:translateY(2px); }
.lo--tropical .tp-blank { display:inline-block; min-width:9.5em; min-height:40px; margin:0 .2em; padding:3px 16px; font-size:.84em; font-weight:500; line-height:1.4; color:#5d6b62; text-align:center; vertical-align:baseline; background:var(--tp-branco); border-radius:14px 14px 4px 4px; box-shadow:inset 0 -3px 0 var(--tp-manga); transition:background-color .14s, box-shadow .14s, color .14s, transform .14s; }
.lo--tropical .tp-blank:hover { background:var(--tp-manga-soft); }
.lo--tropical .tp-blank[data-word] { font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:1em; font-weight:560; color:var(--tp-tinta); background:var(--tp-manga-soft); border-radius:999px; box-shadow:0 3px 0 #f0c66e; }
.lo--tropical .tp-blank[data-result=correct] { color:var(--tp-mata); background:#cfeacb; box-shadow:0 3px 0 var(--tp-folha); }
.lo--tropical .tp-blank[data-result=correct]::after { content:'✓'; display:inline-block; margin-left:.45em; font-family:var(--tp-body); font-weight:700; color:var(--tp-folha-tinta); }
.lo--tropical .tp-blank[data-result=incorrect] { color:#6d1f17; background:var(--tp-goiaba-soft); box-shadow:0 3px 0 var(--tp-goiaba); text-decoration:underline wavy var(--tp-terracota-tinta); text-underline-offset:4px; }
.lo--tropical .tp-blank[data-result=incorrect]::after { content:'✕'; display:inline-block; margin-left:.45em; font-family:var(--tp-body); font-weight:700; color:var(--tp-terracota-tinta); text-decoration:none; }
.lo--tropical .tp-gap-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; }
.lo--tropical .tp-gap-footer .tp-feedback { margin-top:0; }

/* Cartões */
.lo--tropical .tp-card-scene { position:relative; display:grid; place-items:center; padding:6px 0 0; }
.lo--tropical .tp-card-scene::before { content:''; position:absolute; left:50%; bottom:0; width:min(620px,96%); height:58%; background:var(--tp-mar-claro); border-radius:999px 999px 0 0; transform:translateX(-50%); }
.lo--tropical .tp-card-leaf { width:92px; bottom:0; transform:rotate(var(--tp-r)); transform-origin:50% 100%; }
.lo--tropical .tp-card-leaf--a { left:calc(50% - 250px); color:var(--tp-folha); --tp-r:-26deg; }
.lo--tropical .tp-card-leaf--b { left:calc(50% + 160px); color:var(--tp-goiaba); --tp-r:24deg; width:78px; }
.lo--tropical .tp-card-flower { left:calc(50% + 214px); top:22%; width:44px; color:var(--tp-branco); }
.lo--tropical .tp-flashcard { position:relative; z-index:1; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; width:min(330px,100%); min-height:372px; padding:40px 26px 24px; text-align:center; color:var(--tp-tinta); background:var(--tp-branco); border-radius:165px 165px 30px 30px; box-shadow:0 5px 0 var(--tp-areia-2), 0 34px 44px -26px #0f3d2e80; transition:transform .2s ease, box-shadow .2s ease, background-color .25s ease, color .25s ease; }
.lo--tropical .tp-flashcard:hover { transform:translateY(-4px); box-shadow:0 7px 0 var(--tp-areia-2), 0 40px 48px -26px #0f3d2e8c; }
.lo--tropical .tp-flashcard:active { transform:translateY(2px); box-shadow:0 2px 0 var(--tp-areia-2), 0 20px 30px -22px #0f3d2e80; }
.lo--tropical .tp-flashcard-sun { position:absolute; top:34px; left:50%; width:118px; height:118px; margin-left:-59px; background:var(--tp-manga); border-radius:50%; box-shadow:0 0 0 20px var(--tp-manga-soft); transition:background-color .25s, box-shadow .25s, transform .4s ease; }
.lo--tropical .tp-flashcard .tp-small-label { position:relative; margin-top:150px; }
.lo--tropical .tp-flashcard strong { position:relative; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(38px,4.4vw,52px); font-weight:520; letter-spacing:-.03em; line-height:1.08; overflow-wrap:anywhere; }
.lo--tropical .tp-flashcard em { position:relative; max-width:16em; font-family:var(--tp-display); font-size:17.5px; font-weight:400; line-height:1.4; color:var(--tp-tinta-soft); }
.lo--tropical .tp-card-hint { position:relative; display:inline-flex; align-items:center; gap:7px; margin-top:12px; padding:6px 14px; font-size:13px; font-weight:500; color:var(--tp-tinta-soft); background:var(--tp-areia); border-radius:999px; transition:background-color .25s, color .25s; }
.lo--tropical .tp-flashcard[aria-pressed=true] { color:var(--tp-creme); background:var(--tp-mata); box-shadow:0 5px 0 #06241a, 0 34px 44px -26px #0f3d2e99; }
.lo--tropical .tp-flashcard[aria-pressed=true] .tp-flashcard-sun { background:var(--tp-goiaba); box-shadow:0 0 0 20px var(--tp-laranja); transform:translateY(8px); }
.lo--tropical .tp-flashcard[aria-pressed=true] .tp-small-label { color:var(--tp-manga); }
.lo--tropical .tp-flashcard[aria-pressed=true] strong { font-style:italic; font-weight:440; font-size:clamp(32px,3.6vw,42px); }
.lo--tropical .tp-flashcard[aria-pressed=true] em { color:#d5e6d8; }
.lo--tropical .tp-flashcard[aria-pressed=true] .tp-card-hint { color:var(--tp-creme); background:#ffffff1f; }
.lo--tropical .tp-card-controls { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:18px; margin-top:22px; }
.lo--tropical .tp-card-controls button { display:grid; place-items:center; width:48px; height:48px; color:var(--tp-mata); background:var(--tp-branco); border-radius:50%; box-shadow:0 3px 0 var(--tp-areia-2), var(--tp-shadow-soft); transition:transform .14s, box-shadow .14s, background-color .14s; }
.lo--tropical .tp-card-controls button:hover { transform:translateY(-2px); background:var(--tp-manga-soft); }
.lo--tropical .tp-card-controls button:active { transform:translateY(2px); box-shadow:0 1px 0 var(--tp-areia-2); }
.lo--tropical .tp-card-controls span:not(.inline-block) { min-width:4.4em; font-family:var(--tp-display); font-style:italic; font-size:19px; font-weight:500; text-align:center; }

.lo--tropical .tp-teacher-note { display:flex; align-items:flex-start; gap:14px; margin-top:16px; padding:16px 20px; background:var(--tp-manga-soft); border-radius:24px; }
.lo--tropical .tp-teacher-note-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; color:var(--tp-tinta); background:var(--tp-manga); border-radius:0 50% 0 50%; }
.lo--tropical .tp-teacher-note p { font-size:15.5px; line-height:1.55; color:#3d3210; }
.lo--tropical .tp-teacher-note strong { display:block; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:18px; font-weight:560; color:var(--tp-tinta); }
.lo--tropical .tp-stage-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; margin-top:18px; padding:0 6px; font-size:13.5px; font-weight:500; color:var(--tp-tinta-soft); }
.lo--tropical .tp-stage-footer span { display:inline-flex; align-items:center; gap:9px; }
.lo--tropical .tp-stage-footer .tp-live-dot { background:var(--tp-folha); box-shadow:0 0 0 4px #2f8f5b33; }

/* ── 3 · Benefícios ──────────────────────────────────────────────── */
.lo--tropical .tp-benefits { position:relative; padding:18px 0 22px; color:var(--tp-tinta); }
.lo--tropical .tp-benefits ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.lo--tropical .tp-benefits li { display:flex; align-items:center; gap:16px; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(19px,1.8vw,23px); font-weight:500; line-height:1.22; letter-spacing:-.015em; }
.lo--tropical .tp-benefit-icon { display:grid; place-items:center; flex:none; width:58px; height:58px; color:#fff; border-radius:0 50% 0 50%; }
.lo--tropical .tp-benefit-icon--indigo { background:var(--tp-indigo); }
.lo--tropical .tp-benefit-icon--mata { background:var(--tp-mata); border-radius:50% 50% 8px 8px; }
.lo--tropical .tp-benefit-icon--goiaba { background:var(--tp-terracota); border-radius:50%; }

/* ── Seções ──────────────────────────────────────────────────────── */
.lo--tropical .tp-section { position:relative; padding:72px 0 88px; overflow:clip; }
.lo--tropical .tp-heading { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:end; gap:48px; margin-bottom:64px; }
.lo--tropical .tp-heading h2 { margin-top:18px; }
.lo--tropical .tp-heading > p:not(.tp-eyebrow) { max-width:25em; padding-bottom:8px; font-size:18.5px; line-height:1.6; color:var(--tp-tinta-soft); }
.lo--tropical .tp-heading--center { display:block; max-width:820px; margin-inline:auto; text-align:center; }
.lo--tropical .tp-heading--center > p:last-child { max-width:32em; margin:20px auto 0; padding:0; font-size:18.5px; color:var(--tp-tinta-soft); }

/* ── 4 · Funcionalidades: cartões em arco ────────────────────────── */
.lo--tropical .tp-features-leaf { right:-40px; top:40px; width:150px; color:var(--tp-areia-2); transform:rotate(28deg); }
.lo--tropical .tp-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.lo--tropical .tp-feature { position:relative; display:flex; flex-direction:column; background:var(--tp-branco); border-radius:200px 200px 36px 36px; box-shadow:var(--tp-shadow); transition:transform .25s ease, box-shadow .25s ease; }
.lo--tropical .tp-feature:hover { transform:translateY(-8px); box-shadow:0 40px 60px -30px #0f3d2e73, 0 4px 12px -4px #0f3d2e1f; }
.lo--tropical .tp-feature-body { display:flex; flex-direction:column; flex:1; padding:26px 30px 30px; }
.lo--tropical .tp-feature-number { font-family:var(--tp-display); font-style:italic; font-size:22px; font-weight:480; line-height:1; color:var(--tp-goiaba-tinta); }
.lo--tropical .tp-feature-number::after { content:''; display:inline-block; width:34px; height:2px; margin-left:12px; vertical-align:middle; background:currentColor; border-radius:2px; opacity:.5; }
.lo--tropical .tp-feature h3 { margin-top:14px; font-size:clamp(25px,2.3vw,31px); font-weight:500; line-height:1.12; }
.lo--tropical .tp-feature-body > p { margin-top:14px; font-size:16.5px; line-height:1.62; color:var(--tp-tinta-soft); }
.lo--tropical .tp-feature-link { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:24px; font-size:16px; font-weight:600; color:var(--tp-mata); }
.lo--tropical .tp-feature-link span { background:linear-gradient(var(--tp-manga),var(--tp-manga)) 0 100%/100% 2.5px no-repeat; padding-bottom:3px; }
.lo--tropical .tp-feature-link i { display:grid; place-items:center; flex:none; width:44px; height:44px; color:#fff; background:var(--tp-indigo); border-radius:50%; box-shadow:0 3px 0 var(--tp-indigo-deep); transition:transform .18s ease; }
.lo--tropical .tp-feature-link:hover i { transform:translateX(5px); }

.lo--tropical .tp-art { position:relative; overflow:hidden; aspect-ratio:1/.78; margin:12px 12px 0; border-radius:190px 190px 26px 26px; background:var(--tp-mata); }
.lo--tropical .tp-art > * { position:absolute; }
.lo--tropical .tp-art--classes { background:var(--tp-mar); }
.lo--tropical .tp-art--page { background:var(--tp-goiaba); }
/* 01: folhas de atividade + sol */
.lo--tropical .tp-art-sun { left:50%; top:14%; width:46%; aspect-ratio:1; margin-left:-23%; background:var(--tp-manga); border-radius:50%; box-shadow:0 0 0 18px var(--tp-laranja); }
.lo--tropical .tp-art-sheet { left:31%; bottom:-8%; width:40%; height:62%; border-radius:16px 16px 0 0; }
.lo--tropical .tp-art-sheet--back { background:var(--tp-goiaba-soft); transform:rotate(9deg) translateX(14%); }
.lo--tropical .tp-art-sheet--front { display:flex; flex-direction:column; gap:9px; padding:18px 16px; background:var(--tp-branco); transform:rotate(-5deg); box-shadow:0 14px 24px -12px #06241a99; }
.lo--tropical .tp-art-sheet i { display:block; height:8px; background:var(--tp-folha-soft); border-radius:8px; }
.lo--tropical .tp-art-sheet i:nth-child(1) { width:62%; height:10px; background:var(--tp-mata); }
.lo--tropical .tp-art-sheet i:nth-child(3) { width:78%; }
.lo--tropical .tp-art-sheet b { position:absolute; right:-14px; top:-14px; display:grid; place-items:center; width:38px; height:38px; color:#fff; background:var(--tp-indigo); border-radius:50%; }
.lo--tropical .tp-art-leaf { left:-7%; bottom:-16%; width:38%; color:var(--tp-folha); transform:rotate(-22deg); }
/* 02: a turma em arcos */
.lo--tropical .tp-art-hill { left:-10%; right:-10%; bottom:-46%; height:70%; background:var(--tp-mata); border-radius:50%; }
.lo--tropical .tp-art-person { bottom:12%; width:22%; height:36%; border-radius:999px 999px 10px 10px; background:var(--tp-manga); }
.lo--tropical .tp-art-person i { position:absolute; left:50%; bottom:106%; width:62%; aspect-ratio:1; margin-left:-31%; border-radius:50%; background:inherit; }
.lo--tropical .tp-art-person--a { left:18%; height:30%; background:var(--tp-goiaba); }
.lo--tropical .tp-art-person--b { left:39%; height:42%; background:var(--tp-manga); z-index:1; }
.lo--tropical .tp-art-person--c { left:60%; height:33%; background:var(--tp-branco); }
.lo--tropical .tp-art-flower { right:12%; top:26%; width:13%; color:var(--tp-branco); }
/* 03: a página em arco */
.lo--tropical .tp-art-disc { right:-12%; top:-18%; width:56%; aspect-ratio:1; background:var(--tp-manga); border-radius:50%; }
.lo--tropical .tp-art-site { left:27%; bottom:-6%; width:46%; height:72%; display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 14px 0; background:var(--tp-branco); border-radius:18px 18px 0 0; box-shadow:0 14px 24px -12px #7a1f1c99; }
.lo--tropical .tp-art-site i { display:block; width:70%; height:8px; background:var(--tp-areia-2); border-radius:8px; }
.lo--tropical .tp-art-site i:nth-of-type(3) { width:48%; }
.lo--tropical .tp-art-site .tp-art-site-photo { width:46%; height:auto; aspect-ratio:1/1.12; margin-bottom:2px; background:var(--tp-mar); border-radius:999px 999px 8px 8px; }
.lo--tropical .tp-art-site b { display:block; width:54%; height:16px; margin-top:2px; background:var(--tp-indigo); border-radius:999px; }
.lo--tropical .tp-art-frond { left:9%; bottom:-10%; width:17%; color:var(--tp-mata); transform:rotate(-16deg); }
.lo--tropical .tp-art-globe { right:13%; bottom:16%; display:grid; place-items:center; width:42px; height:42px; color:var(--tp-creme); background:var(--tp-mata); border-radius:50%; }

/* ── 5 · Página do professor: molduras em arco ───────────────────── */
.lo--tropical .tp-pages-blob { left:-14%; bottom:-20%; width:52%; height:70%; color:#a9ddd3; transform:rotate(-14deg); }
.lo--tropical .tp-pages-palm { right:-70px; top:-30px; width:250px; color:#a9ddd3; transform:rotate(32deg); }
.lo--tropical .tp-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:end; }
.lo--tropical .tp-profile { display:block; }
.lo--tropical .tp-profile:nth-child(2) { margin-bottom:36px; }
.lo--tropical .tp-profile-frame { position:relative; padding:14px 14px 14px; border-radius:999px 999px 30px 30px; background:var(--tp-manga); box-shadow:var(--tp-shadow); transition:transform .3s ease, box-shadow .3s ease; }
.lo--tropical .tp-profile--goiaba .tp-profile-frame { background:var(--tp-goiaba); }
.lo--tropical .tp-profile--mata .tp-profile-frame { background:var(--tp-mata); }
.lo--tropical .tp-profile-image { overflow:hidden; aspect-ratio:3/3.7; border-radius:999px 999px 18px 18px; background:var(--tp-creme); }
.lo--tropical .tp-profile-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 0; transition:transform .6s ease; }
.lo--tropical .tp-profile-peek { position:absolute; left:50%; bottom:30px; display:inline-flex; align-items:center; gap:8px; padding:9px 18px; font-size:14px; font-weight:600; white-space:nowrap; color:#fff; background:var(--tp-indigo); border-radius:999px; box-shadow:0 3px 0 var(--tp-indigo-deep); opacity:0; transform:translate(-50%,10px); transition:opacity .25s ease, transform .25s ease; }
.lo--tropical .tp-profile:hover .tp-profile-frame, .lo--tropical .tp-profile:focus-visible .tp-profile-frame { transform:translateY(-8px); box-shadow:0 44px 60px -32px #0f3d2e80; }
.lo--tropical .tp-profile:hover img { transform:scale(1.04); }
.lo--tropical .tp-profile:hover .tp-profile-peek, .lo--tropical .tp-profile:focus-visible .tp-profile-peek { opacity:1; transform:translate(-50%,0); }
.lo--tropical .tp-profile-info { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 8px 0; }
.lo--tropical .tp-profile-info h3 { font-size:28px; font-weight:500; line-height:1.15; }
.lo--tropical .tp-profile-info p { margin-top:3px; font-size:15.5px; line-height:1.45; color:#2c4a42; }
.lo--tropical .tp-profile-arrow { display:grid; place-items:center; flex:none; width:44px; height:44px; color:var(--tp-mata); background:var(--tp-branco); border-radius:50%; transition:transform .18s ease, background-color .18s, color .18s; }
.lo--tropical .tp-profile:hover .tp-profile-arrow { color:#fff; background:var(--tp-indigo); transform:rotate(-45deg); }

/* ── 6 · Planos ──────────────────────────────────────────────────── */
.lo--tropical .tp-pricing { padding-bottom:72px; }
.lo--tropical .tp-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; align-items:stretch; max-width:1080px; margin-inline:auto; }
.lo--tropical .tp-plan { position:relative; display:flex; flex-direction:column; padding:36px 30px 30px; background:var(--tp-areia); border-radius:36px; }
.lo--tropical .tp-plan h3 { font-size:30px; font-weight:500; line-height:1.1; }
.lo--tropical .tp-plan-description { min-height:3.1em; margin-top:8px; font-size:15.5px; line-height:1.5; color:var(--tp-tinta-soft); }
.lo--tropical .tp-price { display:flex; align-items:baseline; gap:6px; margin-top:22px; }
.lo--tropical .tp-price strong { font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(40px,3.8vw,52px); font-weight:480; letter-spacing:-.035em; line-height:1; }
.lo--tropical .tp-price span { font-size:16px; font-weight:500; color:var(--tp-tinta-soft); }
.lo--tropical .tp-credits { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:16px; padding:7px 14px 7px 10px; font-size:14.5px; font-weight:600; color:#5e3c00; background:var(--tp-manga-soft); border-radius:999px; }
.lo--tropical .tp-plan ul { display:grid; gap:12px; margin:24px 0 30px; padding-top:24px; border-top:1.5px dashed #0f3d2e2e; }
.lo--tropical .tp-plan li { display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.45; }
.lo--tropical .tp-plan-check { display:grid; place-items:center; flex:none; width:22px; height:22px; margin-top:1px; color:#fff; background:var(--tp-folha); border-radius:0 50% 0 50%; }
.lo--tropical .tp-plan-check svg { stroke-width:3; }
.lo--tropical .tp-plan .tp-btn { margin-top:auto; width:100%; }
.lo--tropical .tp-plan--featured { overflow:hidden; margin-top:-40px; padding-top:76px; color:var(--tp-creme); background:var(--tp-mata); border-radius:200px 200px 36px 36px / 120px 120px 36px 36px; box-shadow:0 44px 70px -36px #0f3d2ecc; --tp-focus:#f6b03a; }
.lo--tropical .tp-plan--featured > * { position:relative; }
.lo--tropical .tp-plan--featured .tp-plan-leaf { position:absolute; right:-52px; bottom:-40px; width:210px; color:var(--tp-mata-2); transform:rotate(-30deg); }
.lo--tropical .tp-plan-ribbon { display:inline-flex; align-items:center; gap:8px; align-self:center; margin-bottom:22px; padding:7px 16px; font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--tp-tinta); background:var(--tp-manga); border-radius:999px; }
.lo--tropical .tp-plan--featured .tp-plan-description, .lo--tropical .tp-plan--featured .tp-price span { color:#c4dcc9; }
.lo--tropical .tp-plan--featured .tp-credits { color:var(--tp-creme); background:#ffffff1f; }
.lo--tropical .tp-plan--featured ul { border-top-color:#ffffff38; }
.lo--tropical .tp-plan--featured .tp-plan-check { color:var(--tp-tinta); background:var(--tp-manga); }
.lo--tropical .tp-pricing-note { margin-top:40px; text-align:center; font-size:15px; color:var(--tp-tinta-soft); }

/* ── 7 · Dúvidas sobre azulejo ───────────────────────────────────── */
.lo--tropical .tp-faq { padding-bottom:104px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='112'%3E%3Cpath fill='%23f7a59b' d='M0 0h56a56 56 0 0 1-56 56z'/%3E%3Cpath fill='%23f3928a' d='M56 56v-56a56 56 0 0 1 56 56z'/%3E%3Cpath fill='%23f3928a' d='M56 56h-56a56 56 0 0 0 56 56z'/%3E%3Cpath fill='%23f7a59b' d='M112 112h-56a56 56 0 0 1 56-56z'/%3E%3C/svg%3E"); background-size:112px 112px; }
.lo--tropical .tp-faq-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.lo--tropical .tp-faq-intro { position:sticky; top:100px; }
.lo--tropical .tp-faq .tp-eyebrow { color:var(--tp-mata); }
.lo--tropical .tp-faq .tp-k--indigo { color:var(--tp-indigo-deep); }
.lo--tropical .tp-faq-intro h2 { margin-top:18px; }
.lo--tropical .tp-faq-art { position:relative; width:300px; height:230px; margin-top:44px; }
.lo--tropical .tp-faq-art-sun { position:absolute; left:40px; bottom:0; width:220px; height:110px; background:var(--tp-manga); border-radius:220px 220px 0 0; }
.lo--tropical .tp-faq-art-sun::after { content:''; position:absolute; left:40px; right:40px; bottom:0; height:70px; background:var(--tp-laranja); border-radius:140px 140px 0 0; }
.lo--tropical .tp-faq-art-leaf { left:-14px; bottom:-8px; width:150px; color:var(--tp-mata); transform:rotate(-26deg); transform-origin:60% 100%; }
.lo--tropical .tp-faq-art-frond { left:190px; bottom:-4px; width:78px; color:var(--tp-creme); transform:rotate(24deg); transform-origin:50% 100%; }
.lo--tropical .tp-faq-list { display:grid; gap:14px; }
.lo--tropical .tp-faq details { background:var(--tp-creme); border-radius:28px; box-shadow:0 18px 30px -22px #7a1f1c80; transition:box-shadow .2s ease; }
.lo--tropical .tp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 22px 22px 28px; font-family:var(--tp-display); font-variation-settings:'SOFT' 100; font-size:clamp(19px,1.8vw,23px); font-weight:500; line-height:1.25; letter-spacing:-.015em; cursor:pointer; list-style:none; border-radius:28px; }
.lo--tropical .tp-faq summary::-webkit-details-marker { display:none; }
.lo--tropical .tp-faq-chevron { display:grid; place-items:center; flex:none; width:42px; height:42px; color:var(--tp-mata); background:var(--tp-folha-soft); border-radius:50%; transition:transform .25s ease, background-color .2s, color .2s; }
.lo--tropical .tp-faq summary:hover .tp-faq-chevron { background:var(--tp-manga); }
.lo--tropical .tp-faq details[open] .tp-faq-chevron { color:var(--tp-creme); background:var(--tp-mata); transform:rotate(180deg); }
.lo--tropical .tp-faq details p { padding:0 76px 26px 28px; font-size:16.5px; line-height:1.65; color:var(--tp-tinta-soft); }

/* ── 8 · CTA final: pôr do sol em faixas chapadas ────────────────── */
.lo--tropical .tp-final { --tp-u:64px; --tp-sea:118px; position:relative; overflow:clip; margin-top:-2px; padding:96px 0 calc(var(--tp-u) * 5.9 + var(--tp-sea) + 8px); text-align:center; color:var(--tp-creme); --tp-focus:#fffaf0;
  background:linear-gradient(to bottom,var(--tp-goiaba-claro) 10px,transparent 10px), radial-gradient(circle at 50% calc(100% - var(--tp-sea)),
    #fff1c9 0 calc(var(--tp-u) * 1.5), var(--tp-ouro) calc(var(--tp-u) * 1.5) calc(var(--tp-u) * 2.4), var(--tp-manga) calc(var(--tp-u) * 2.4) calc(var(--tp-u) * 3.3),
    var(--tp-laranja) calc(var(--tp-u) * 3.3) calc(var(--tp-u) * 4.2), var(--tp-goiaba) calc(var(--tp-u) * 4.2) calc(var(--tp-u) * 5.2), #a2488f calc(var(--tp-u) * 5.2) calc(var(--tp-u) * 6.6),
    #5b3da0 calc(var(--tp-u) * 6.6) calc(var(--tp-u) * 8.4), #3b3184 calc(var(--tp-u) * 8.4) calc(var(--tp-u) * 10.6), var(--tp-noite) calc(var(--tp-u) * 10.6)); }
.lo--tropical .tp-final::before { content:''; position:absolute; inset:-6px 0 auto 0; height:66px; background:var(--tp-goiaba-claro); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 -20H1440V22C1200 66 960 4 720 30S240 62 0 18Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 -20H1440V22C1200 66 960 4 720 30S240 62 0 18Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat; }
.lo--tropical .tp-final-inner { z-index:2; max-width:900px; }
.lo--tropical .tp-final h2 { font-size:clamp(38px,5.4vw,76px); }
.lo--tropical .tp-final-inner > p { margin-top:20px; font-size:clamp(18px,1.6vw,21px); color:#e9e4ff; }
.lo--tropical .tp-final .tp-btn { margin-top:34px; }
.lo--tropical .tp-final-caption { display:block; margin-top:20px; font-size:15px; font-weight:500; letter-spacing:.02em; color:#fff; }
.lo--tropical .tp-final-scene { position:absolute; inset:auto 0 0 0; height:160px; z-index:1; background:linear-gradient(to top,var(--tp-mata) 4px,transparent 4px); }
.lo--tropical .tp-final-sea { position:absolute; left:0; bottom:-1px; display:block; width:100%; height:160px; }
.lo--tropical .tp-final-glint { position:absolute; left:50%; top:52px; display:grid; justify-items:center; gap:9px; transform:translateX(-50%); }
.lo--tropical .tp-final-glint i { display:block; width:120px; height:7px; background:#fff1c9; border-radius:7px; }
.lo--tropical .tp-final-glint i:nth-child(2) { width:76px; }
.lo--tropical .tp-final-glint i:nth-child(3) { width:38px; }
.lo--tropical .tp-final-palm { bottom:30px; width:clamp(190px,24vw,340px); color:#0a2c21; transform-origin:50% 100%; transform:rotate(var(--tp-r)); }
.lo--tropical .tp-final-palm--a { left:-3%; --tp-r:24deg; }
.lo--tropical .tp-final-palm--b { right:-2%; --tp-r:-30deg; width:clamp(150px,19vw,270px); }

/* ── Rodapé ──────────────────────────────────────────────────────── */
.lo--tropical .tp-footer { position:relative; padding:0 0 104px; color:var(--tp-creme); background:var(--tp-mata); --tp-focus:#f6b03a; }
.lo--tropical .tp-footer-calcadao { position:static; width:100%; height:44px; overflow:hidden; }
.lo--tropical .tp-calcadao-a { fill:var(--tp-mata); }
.lo--tropical .tp-calcadao-b { fill:var(--tp-mata-3); }
.lo--tropical .tp-footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px 40px; padding-top:34px; }
.lo--tropical .tp-footer-brand { display:flex; align-items:center; gap:22px; }
.lo--tropical .tp-footer-brand p { font-size:15.5px; color:#c4dcc9; }
.lo--tropical .tp-footer nav { display:flex; flex-wrap:wrap; gap:6px 26px; font-size:15.5px; font-weight:500; }
.lo--tropical .tp-footer nav a { padding:6px 0; background:linear-gradient(var(--tp-manga),var(--tp-manga)) 0 100%/0 2px no-repeat; transition:background-size .2s ease, color .2s; }
.lo--tropical .tp-footer nav a:hover { color:var(--tp-manga); background-size:100% 2px; }
.lo--tropical .tp-footer small { font-size:14.5px; color:#c4dcc9; }

/* ── Movimento ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference) {
  .lo--tropical { scroll-behavior:smooth; }
  .lo--tropical .tp-scene-palm, .lo--tropical .tp-scene-pink, .lo--tropical .tp-scene-banana, .lo--tropical .tp-scene-monstera,
  .lo--tropical .tp-varanda-leaf--a, .lo--tropical .tp-varanda-leaf--b, .lo--tropical .tp-varanda-leaf--c,
  .lo--tropical .tp-card-leaf, .lo--tropical .tp-final-palm, .lo--tropical .tp-faq-art-leaf, .lo--tropical .tp-faq-art-frond { animation:tp-sway 6.5s ease-in-out infinite alternate; }
  .lo--tropical .tp-scene-pink, .lo--tropical .tp-varanda-leaf--b, .lo--tropical .tp-card-leaf--b, .lo--tropical .tp-final-palm--b, .lo--tropical .tp-faq-art-frond { animation-duration:8s; animation-delay:-3s; }
  .lo--tropical .tp-scene-banana, .lo--tropical .tp-varanda-leaf--c { animation-duration:5.2s; animation-delay:-1.5s; }
  .lo--tropical .tp-scene-flower, .lo--tropical .tp-card-flower, .lo--tropical .tp-art-flower { animation:tp-spin 26s linear infinite; }
  .lo--tropical .tp-eyebrow-sun { animation:tp-spin 30s linear infinite; }
  .lo--tropical .tp-scene-card { animation:tp-float 7s ease-in-out infinite alternate; }
  .lo--tropical .tp-scene-aha { animation:tp-float-b 5s ease-in-out infinite alternate; }
  .lo--tropical .tp-flashcard[aria-pressed=true] { animation:tp-flip-a .4s ease; }
  .lo--tropical .tp-flashcard[aria-pressed=false] { animation:tp-flip-b .4s ease; }
  .lo--tropical .nv-answer[data-result=correct], .lo--tropical .tp-blank[data-result=correct] { animation:tp-pop .4s ease; }
  .lo--tropical .nv-answer[data-result=incorrect], .lo--tropical .tp-blank[data-result=incorrect] { animation:tp-shake .4s ease; }
  .lo--tropical .tp-exercise:not([hidden]) { animation:tp-rise .4s ease; }
  .lo--tropical .tp-teacher-note:not([hidden]) { animation:tp-rise .3s ease; }
  .lo--tropical .tp-faq details[open] p { animation:tp-rise .3s ease; }
  .lo--tropical .tp-live-dot { animation:tp-pulse 2.2s ease-in-out infinite; }
}
@keyframes tp-sway { from { transform:rotate(var(--tp-r,0deg)); } to { transform:rotate(calc(var(--tp-r,0deg) + 5deg)); } }
@keyframes tp-spin { to { transform:rotate(360deg); } }
@keyframes tp-float { from { transform:rotate(-3deg) translateY(0); } to { transform:rotate(-1.5deg) translateY(-8px); } }
@keyframes tp-float-b { from { transform:rotate(8deg) translateY(0); } to { transform:rotate(3deg) translateY(-7px); } }
@keyframes tp-flip-a { 0% { transform:perspective(900px) rotateY(80deg); } 100% { transform:perspective(900px) rotateY(0); } }
@keyframes tp-flip-b { 0% { transform:perspective(900px) rotateY(-80deg); } 100% { transform:perspective(900px) rotateY(0); } }
@keyframes tp-pop { 0% { transform:scale(1); } 45% { transform:scale(1.035); } 100% { transform:scale(1); } }
@keyframes tp-shake { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-5px); } 55% { transform:translateX(5px); } 80% { transform:translateX(-2px); } }
@keyframes tp-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes tp-pulse { 0%,100% { opacity:1; } 50% { opacity:.55; } }
@media (prefers-reduced-motion:reduce) {
  .lo--tropical .tp-page-root *, .lo--tropical .tp-page-root *::before, .lo--tropical .tp-page-root *::after { animation:none !important; transition-duration:.01ms !important; }
}

/* ── Responsivo ──────────────────────────────────────────────────── */
@media (max-width:1100px) {
  .lo--tropical .tp-nav-links { display:none; }
  .lo--tropical .tp-feature-grid, .lo--tropical .tp-profiles { gap:20px; }
  .lo--tropical .tp-plans { gap:16px; }
  .lo--tropical .tp-plan { padding-inline:24px; }
  .lo--tropical .tp-varanda-leaf--a { left:-70px; width:180px; }
  .lo--tropical .tp-varanda-leaf--b { right:-60px; width:190px; }
}
@media (max-width:920px) {
  .lo--tropical .tp-wrap, .lo--tropical .tp-nav-inner { width:min(1180px,calc(100% - 48px)); }
  .lo--tropical .tp-hero { padding-top:28px; }
  .lo--tropical .tp-hero-grid { grid-template-columns:1fr; gap:48px; }
  .lo--tropical .tp-hero-copy { text-align:center; }
  .lo--tropical .tp-lead { margin-inline:auto; }
  .lo--tropical .tp-actions, .lo--tropical .tp-caption { justify-content:center; }
  .lo--tropical .tp-hero-blob { width:120%; right:-30%; top:38%; height:70%; }
  .lo--tropical .tp-scene { max-width:460px; }
  .lo--tropical .tp-demo-heading, .lo--tropical .tp-heading { grid-template-columns:1fr; gap:20px; margin-bottom:44px; }
  .lo--tropical .tp-demo-heading > p, .lo--tropical .tp-heading > p:not(.tp-eyebrow) { max-width:34em; padding-bottom:0; }
  .lo--tropical .tp-quiz-columns { grid-template-columns:1fr; }
  .lo--tropical .tp-reading { border-radius:36px; padding-top:26px; }
  .lo--tropical .tp-reading .tp-small-label { margin-top:0; }
  .lo--tropical .tp-reading-sun { top:-70px; right:-50px; }
  .lo--tropical .tp-reading h4 { max-width:12em; }
  .lo--tropical .tp-benefits ul { grid-template-columns:1fr; gap:16px; max-width:460px; }
  .lo--tropical .tp-feature-grid { grid-template-columns:1fr; gap:28px; max-width:440px; margin-inline:auto; }
  .lo--tropical .tp-profiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .lo--tropical .tp-profile:nth-child(2) { margin-bottom:24px; }
  .lo--tropical .tp-profile-frame { padding:9px; }
  .lo--tropical .tp-profile-info { padding-inline:2px; }
  .lo--tropical .tp-profile-info h3 { font-size:22px; }
  .lo--tropical .tp-profile-info p { font-size:14px; }
  .lo--tropical .tp-profile-arrow { display:none; }
  .lo--tropical .tp-plans { grid-template-columns:1fr; gap:24px; max-width:460px; }
  .lo--tropical .tp-plan--featured { margin-top:0; }
  .lo--tropical .tp-plan-description { min-height:0; }
  .lo--tropical .tp-faq-grid { grid-template-columns:1fr; gap:36px; }
  .lo--tropical .tp-faq-intro { position:static; }
  .lo--tropical .tp-faq-art { display:none; }
  .lo--tropical .tp-final { --tp-u:50px; }
}
@media (max-width:640px) {
  .lo--tropical { font-size:16px; }
  .lo--tropical .tp-wrap, .lo--tropical .tp-nav-inner { width:calc(100% - 32px); }
  .lo--tropical .tp-nav { padding:9px 0; }
  .lo--tropical .tp-logo { font-size:27px; gap:7px; }
  .lo--tropical .tp-logo-mark { width:26px; height:26px; }
  .lo--tropical .tp-logo-mark::before, .lo--tropical .tp-logo-mark::after { width:15px; height:15px; }
  .lo--tropical .tp-nav-actions { gap:12px; }
  .lo--tropical .tp-only-wide { display:none; }
  .lo--tropical .tp-only-narrow { display:inline; }
  .lo--tropical h1 { font-size:clamp(40px,12.4vw,58px); }
  .lo--tropical h2 { font-size:clamp(32px,9.4vw,44px); }
  .lo--tropical .tp-eyebrow { font-size:11.5px; letter-spacing:.12em; }
  .lo--tropical .tp-hero { padding:20px 0 32px; }
  .lo--tropical .tp-hero h1 { margin-top:18px; }
  .lo--tropical .tp-lead { margin-top:20px; }
  .lo--tropical .tp-actions { flex-direction:column; align-items:stretch; gap:14px; margin-top:28px; }
  .lo--tropical .tp-btn--big { min-height:58px; font-size:17px; }
  .lo--tropical .tp-btn--ghost { padding-left:24px; }
  .lo--tropical .tp-scene { max-width:400px; width:92%; }
  .lo--tropical .tp-scene-card { padding:16px 14px 14px; border-radius:22px; }
  .lo--tropical .tp-scene-card-hint { margin-top:6px; font-size:11px; }
  .lo--tropical .tp-scene { margin-bottom:20px; }
  .lo--tropical .tp-scene-card { top:44%; }
  .lo--tropical .tp-scene-note { right:-2%; bottom:-5%; width:45%; padding:10px 13px; border-radius:18px 18px 5px 18px; }
  .lo--tropical .tp-demo { padding:36px 0 52px; }
  .lo--tropical .tp-demo-heading { margin-bottom:40px; }
  .lo--tropical .tp-demo-heading > p, .lo--tropical .tp-heading > p:not(.tp-eyebrow) { font-size:17px; }
  .lo--tropical .tp-varanda { margin-inline:-6px; }
  .lo--tropical .tp-varanda-leaf--a, .lo--tropical .tp-varanda-leaf--c { display:none; }
  .lo--tropical .tp-varanda-leaf--b { right:-50px; top:-84px; width:150px; }
  .lo--tropical .tp-varanda-leaf--d { left:-46px; top:-46px; width:104px; }
  .lo--tropical .tp-lab { border-radius:28px; box-shadow:0 40px 70px -40px #020f0acc, 0 0 0 6px #ffffff12; }
  .lo--tropical .tp-awning { height:20px; }
  .lo--tropical .tp-lab-top { padding:28px 16px 12px; }
  .lo--tropical .tp-lab-badge { display:none; }
  .lo--tropical .tp-tabs { gap:8px; padding:4px 12px 16px; border-radius:0 0 24px 24px; }
  .lo--tropical .tp-tab { flex-direction:column; gap:7px; padding:12px 4px 10px; text-align:center; border-radius:18px; }
  .lo--tropical .tp-tab-icon { width:38px; height:38px; }
  .lo--tropical .tp-tab-text strong { font-size:12.5px; line-height:1.2; }
  .lo--tropical .tp-tab-text small { display:none; }
  .lo--tropical .tp-stage { padding:16px 12px 18px; }
  .lo--tropical .tp-stage-bar { gap:10px; margin-bottom:14px; }
  .lo--tropical .tp-stage-label { display:none; }
  .lo--tropical .tp-role-switch { margin-right:auto; }
  .lo--tropical .tp-role-switch button { min-height:40px; padding:6px 15px; font-size:14px; }
  .lo--tropical .tp-restart { padding:6px 13px; font-size:14px; }
  .lo--tropical .tp-exercise { padding:20px 14px 20px; border-radius:24px; }
  .lo--tropical .tp-exercise-heading { margin-bottom:16px; }
  .lo--tropical .tp-exercise-heading p { font-size:14.5px; }
  .lo--tropical .tp-level { width:42px; height:42px; font-size:16px; }
  .lo--tropical .tp-reading { padding:22px 18px 18px; border-radius:26px; }
  .lo--tropical .tp-reading h4 { font-size:22px; max-width:9.5em; }
  .lo--tropical .tp-reading p { font-size:15px; }
  .lo--tropical .tp-question { padding:18px 14px 18px; border-radius:22px; }
  .lo--tropical .nv-answer { font-size:15px; padding:7px 14px 7px 8px; gap:10px; border-radius:28px; }
  .lo--tropical .nv-answer-letter { width:34px; height:34px; font-size:15.5px; }
  .lo--tropical .tp-quiz-actions .tp-btn { width:100%; }
  .lo--tropical .tp-word-bank { padding:14px; border-radius:20px; gap:10px; }
  .lo--tropical .tp-word-bank > div { gap:8px; }
  .lo--tropical .tp-word { padding:6px 15px; font-size:16.5px; }
  .lo--tropical .tp-gap-text { margin-top:16px; line-height:2.2; font-size:16.5px; }
  .lo--tropical .tp-gap-text p { gap:10px; }
  .lo--tropical .tp-line-number { width:26px; height:26px; font-size:13.5px; }
  .lo--tropical .tp-blank { min-width:8.4em; padding-inline:10px; margin-inline:.1em; }
  .lo--tropical .tp-gap-footer { flex-direction:column; align-items:stretch; }
  .lo--tropical .tp-flashcard { width:min(290px,100%); min-height:340px; padding:30px 20px 20px; border-radius:145px 145px 26px 26px; }
  .lo--tropical .tp-flashcard-sun { top:30px; width:100px; height:100px; margin-left:-50px; box-shadow:0 0 0 16px var(--tp-manga-soft); }
  .lo--tropical .tp-flashcard .tp-small-label { margin-top:128px; }
  .lo--tropical .tp-flashcard em { font-size:16px; }
  .lo--tropical .tp-card-leaf--a { left:-4px; width:64px; }
  .lo--tropical .tp-card-leaf--b { left:auto; right:-2px; width:56px; }
  .lo--tropical .tp-card-flower, .lo--tropical .tp-card-scene::before { display:none; }
  .lo--tropical .tp-features-leaf { width:96px; right:-30px; top:16px; }
  .lo--tropical .tp-teacher-note { padding:14px; border-radius:20px; gap:12px; }
  .lo--tropical .tp-teacher-note p { font-size:14.5px; }
  .lo--tropical .tp-stage-footer { justify-content:center; text-align:center; font-size:13px; }
  .lo--tropical .tp-benefits { padding:10px 0 14px; }
  .lo--tropical .tp-benefits li { font-size:19px; gap:14px; }
  .lo--tropical .tp-benefit-icon { width:50px; height:50px; }
  .lo--tropical .tp-section { padding:48px 0 64px; }
  .lo--tropical .tp-heading, .lo--tropical .tp-heading--center { margin-bottom:36px; }
  .lo--tropical .tp-feature-body { padding:22px 24px 26px; }
  .lo--tropical .tp-profiles { grid-template-columns:1fr; gap:36px; max-width:340px; margin-inline:auto; }
  .lo--tropical .tp-profile:nth-child(2) { margin-bottom:0; }
  .lo--tropical .tp-profile-frame { padding:12px; }
  .lo--tropical .tp-profile-info { padding-inline:6px; }
  .lo--tropical .tp-profile-info h3 { font-size:26px; }
  .lo--tropical .tp-profile-info p { font-size:15.5px; }
  .lo--tropical .tp-profile-arrow { display:grid; }
  .lo--tropical .tp-pages-palm { width:170px; right:-60px; }
  .lo--tropical .tp-plan { padding:30px 22px 24px; border-radius:30px; }
  .lo--tropical .tp-plan--featured { padding-top:64px; border-radius:170px 170px 30px 30px / 100px 100px 30px 30px; }
  .lo--tropical .tp-faq { padding-bottom:80px; }
  .lo--tropical .tp-faq summary { padding:18px 16px 18px 20px; border-radius:22px; }
  .lo--tropical .tp-faq details { border-radius:22px; }
  .lo--tropical .tp-faq-chevron { width:38px; height:38px; }
  .lo--tropical .tp-faq details p { padding:0 20px 22px; font-size:16px; }
  .lo--tropical .tp-final { --tp-u:32px; --tp-sea:80px; padding-top:76px; }
  .lo--tropical .tp-final::before { height:42px; }
  .lo--tropical .tp-final .tp-btn { width:100%; max-width:340px; }
  .lo--tropical .tp-final-scene, .lo--tropical .tp-final-sea { height:110px; }
  .lo--tropical .tp-final-glint { top:34px; gap:6px; }
  .lo--tropical .tp-final-glint i { width:70px; height:5px; }
  .lo--tropical .tp-final-glint i:nth-child(2) { width:44px; }
  .lo--tropical .tp-final-glint i:nth-child(3) { width:22px; }
  .lo--tropical .tp-final-palm { bottom:16px; width:130px; }
  .lo--tropical .tp-final-palm--b { width:104px; }
  .lo--tropical .tp-footer-calcadao { height:30px; }
  .lo--tropical .tp-footer-inner { flex-direction:column; align-items:flex-start; gap:18px; }
  .lo--tropical .tp-footer-brand { flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (max-width:360px) {
  .lo--tropical .tp-wrap, .lo--tropical .tp-nav-inner { width:calc(100% - 24px); }
  .lo--tropical .tp-nav-login { font-size:14.5px; }
  .lo--tropical .tp-btn--small { padding-inline:13px; font-size:13.5px; white-space:nowrap; gap:6px; }
  .lo--tropical .tp-nav-actions { gap:10px; }
  .lo--tropical .tp-logo { font-size:25px; }
  .lo--tropical .tp-caption { font-size:14.5px; gap:8px; }
  .lo--tropical .tp-tab-text strong { font-size:11.5px; }
  .lo--tropical .tp-role-switch button { padding-inline:12px; }
  .lo--tropical .tp-restart { padding-inline:11px; }
  .lo--tropical .tp-blank { min-width:7.6em; }
  .lo--tropical .tp-gap-text { font-size:16px; }
}
.valentine-page {
  --valentine-ink: #2f1823;
  --valentine-muted: #725565;
  --valentine-paper: #fff8f2;
  --valentine-rose: #b7375a;
  --valentine-wine: #6f1f3d;
  --valentine-gold: #d8a34d;
  --valentine-blush: #f6d7da;
  --valentine-sage: #7b8f77;
  min-height: 100vh;
  color: var(--valentine-ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(216, 163, 77, 0.18), transparent 28rem),
    linear-gradient(180deg, #fffaf6 0%, #faedf0 48%, #fff8f2 100%);
  font-family: Georgia, "Times New Roman", serif;
  overflow: hidden;
}

.valentine-page * {
  box-sizing: border-box;
}

.valentine-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.valentine-hero {
  position: relative;
  min-height: 92vh;
  display: grid;
  align-items: end;
  padding: 72px 0 96px;
  isolation: isolate;
}

.valentine-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
  background:
    linear-gradient(rgba(47, 24, 35, 0.08), rgba(47, 24, 35, 0.18)),
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.86), transparent 24rem),
    linear-gradient(135deg, #f7c7ca 0%, #fff2e4 42%, #d7dfcf 100%);
}

.valentine-hero__media::before,
.valentine-hero__media::after {
  content: "";
  position: absolute;
  height: 18px;
  width: 54vmin;
  border-radius: 8px;
  background: rgba(111, 31, 61, 0.18);
  transform: rotate(-12deg);
}

.valentine-hero__media::before {
  left: -8%;
  top: 22%;
}

.valentine-hero__media::after {
  right: -12%;
  bottom: 18%;
  background: rgba(123, 143, 119, 0.24);
  transform: rotate(10deg);
}

.valentine-frame {
  position: absolute;
  width: 24vmin;
  min-width: 150px;
  aspect-ratio: 0.78;
  border: 10px solid rgba(255, 250, 246, 0.92);
  border-bottom-width: 34px;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(183, 55, 90, 0.2), rgba(216, 163, 77, 0.22)),
    linear-gradient(135deg, rgba(255, 250, 246, 0.9), rgba(215, 223, 207, 0.64));
  box-shadow: 0 20px 48px rgba(111, 31, 61, 0.18);
}

.valentine-frame::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -20px;
  width: 64px;
  height: 22px;
  border-radius: 4px;
  background: rgba(216, 163, 77, 0.48);
  transform: translateX(-50%) rotate(-4deg);
}

.valentine-frame--one {
  top: 15%;
  right: 14%;
  transform: rotate(8deg);
}

.valentine-frame--two {
  left: 11%;
  bottom: 18%;
  width: 18vmin;
  transform: rotate(-10deg);
}

.valentine-frame--three {
  right: 34%;
  top: 38%;
  width: 15vmin;
  opacity: 0.82;
  transform: rotate(-5deg);
}

.valentine-hero__content {
  max-width: 780px;
}

.valentine-kicker {
  margin: 0 0 14px;
  color: var(--valentine-wine);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.valentine-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(3rem, 8vw, 7.8rem);
  line-height: 0.92;
  font-weight: 500;
  overflow-wrap: break-word;
}

.valentine-lede {
  max-width: 610px;
  margin: 28px 0 0;
  color: var(--valentine-muted);
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.65;
}

.valentine-counters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: -54px;
  position: relative;
  z-index: 2;
}

.valentine-counter {
  min-height: 220px;
  padding: 28px;
  border: 1px solid rgba(111, 31, 61, 0.14);
  border-radius: 8px;
  background: rgba(255, 250, 246, 0.88);
  box-shadow: 0 24px 70px rgba(111, 31, 61, 0.12);
  backdrop-filter: blur(18px);
}

.valentine-counter--restart {
  background: rgba(255, 246, 238, 0.94);
}

.valentine-counter__label {
  margin: 0 0 18px;
  color: var(--valentine-rose);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
}

.valentine-counter strong {
  display: block;
  min-height: 86px;
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.18;
  font-weight: 500;
}

.valentine-counter span {
  display: block;
  margin-top: 22px;
  color: var(--valentine-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.94rem;
}

.valentine-note {
  padding: 96px 0 72px;
}

.valentine-note p {
  max-width: 820px;
  margin: 0;
  font-size: clamp(1.55rem, 4vw, 3.8rem);
  line-height: 1.12;
}

.valentine-section {
  padding: 48px 0 74px;
}

.valentine-section__header {
  display: grid;
  grid-template-columns: minmax(120px, 0.26fr) minmax(0, 1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 28px;
}

.valentine-section__header h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.7rem);
  line-height: 1;
  font-weight: 500;
}

.valentine-album {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.valentine-photo-card {
  position: relative;
  min-height: 360px;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(183, 55, 90, 0.14), rgba(216, 163, 77, 0.22)),
    var(--valentine-paper);
  box-shadow: 0 22px 54px rgba(111, 31, 61, 0.12);
}

.valentine-photo-card::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(111, 31, 61, 0.18);
  border-radius: 999px;
  transform: rotate(-12deg) scaleX(1.25);
  opacity: 0;
}

.valentine-photo-card.is-missing::before {
  opacity: 1;
}

.valentine-photo-card img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
  object-fit: cover;
}

.valentine-photo-card figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 12px 14px;
  border-radius: 8px;
  color: #fffaf6;
  background: rgba(47, 24, 35, 0.72);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.94rem;
  backdrop-filter: blur(16px);
}

.valentine-photo-card figcaption span {
  color: var(--valentine-gold);
  font-weight: 800;
}

.valentine-playlist {
  border-top: 1px solid rgba(111, 31, 61, 0.12);
}

.valentine-tracklist {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.valentine-tracklist li {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 76px;
  padding: 12px 16px;
  border: 1px solid rgba(111, 31, 61, 0.12);
  border-radius: 8px;
  background: rgba(255, 250, 246, 0.72);
}

.valentine-tracklist__number {
  display: grid;
  place-items: center;
  width: 42px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fffaf6;
  background: var(--valentine-wine);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
}

.valentine-tracklist strong,
.valentine-tracklist span {
  display: block;
}

.valentine-tracklist strong {
  font-size: 1.18rem;
  font-weight: 600;
}

.valentine-tracklist div span {
  margin-top: 4px;
  color: var(--valentine-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.94rem;
}

.valentine-tracklist a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  color: #fffaf6;
  background: var(--valentine-rose);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
}

.valentine-ending {
  padding: 28px 0 108px;
  text-align: center;
}

.valentine-ending p {
  margin: 0 0 12px;
  color: var(--valentine-rose);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
}

.valentine-ending strong {
  display: block;
  max-width: 700px;
  margin: 0 auto;
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: 1;
  font-weight: 500;
}

@media (max-width: 820px) {
  .valentine-hero {
    min-height: 86vh;
    padding: 52px 0 74px;
  }

  .valentine-hero h1 {
    max-width: 620px;
    font-size: clamp(2.25rem, 8vw, 4rem);
    line-height: 1;
  }

  .valentine-counters,
  .valentine-album,
  .valentine-section__header {
    grid-template-columns: 1fr;
  }

  .valentine-counters {
    margin-top: -34px;
  }

  .valentine-counter {
    min-height: 188px;
    padding: 22px;
  }

  .valentine-counter strong {
    min-height: 72px;
  }

  .valentine-note {
    padding: 70px 0 44px;
  }

  .valentine-section {
    padding: 42px 0 58px;
  }

  .valentine-photo-card,
  .valentine-photo-card img {
    min-height: 330px;
  }

  .valentine-tracklist li {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .valentine-tracklist a {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .valentine-hero__content,
  .valentine-lede {
    max-width: 330px;
  }

  .valentine-hero h1 {
    max-width: 310px;
    font-size: clamp(2rem, 7vw, 2.25rem);
  }
}

@media (max-width: 480px) {
  .valentine-shell {
    width: min(100% - 24px, 1120px);
  }

  .valentine-hero h1 {
    max-width: 310px;
    font-size: clamp(2rem, 9vw, 2.25rem);
    line-height: 1;
  }

  .valentine-counter strong {
    font-size: 1.48rem;
  }

  .valentine-photo-card,
  .valentine-photo-card img {
    min-height: 295px;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

.bottom-4 {
      bottom: calc(var(--spacing)*4)
  }
