/* ============================================================
       TOKENS
       ============================================================ */
    :root {
      /* Paper warmth */
      --paper:        #F3ECDC;
      --paper-soft:   #F8F2E3;
      --paper-deep:   #EBE2CC;
      --paper-warm:   #F0E6D1;
      --paper-ink:    #1F1A14;
      --paper-ink-2:  #3D352A;
      --paper-ink-3:  #6B6051;
      --paper-mute:   #948876;
      --rule:         #D9CFB8;
      --rule-soft:    #E5DCC4;

      /* DISC palette, sober */
      --disc-d:       #B85C3E;   /* Dominância — terracotta */
      --disc-i:       #C89B3C;   /* Influência — ocre */
      --disc-s:       #6E8E5A;   /* Estabilidade — sage */
      --disc-c:       #5B7E9A;   /* Conformidade — slate blue */

      --disc-d-soft:  #E8D2C5;
      --disc-i-soft:  #EBDDB3;
      --disc-s-soft:  #D3DDC3;
      --disc-c-soft:  #C8D4DF;

      --ink:          var(--paper-ink);
      --bg:           var(--paper);

      /* Type scale */
      --display:      'Instrument Serif', 'Newsreader', Georgia, serif;
      --body:         'Newsreader', Georgia, 'Times New Roman', serif;
      --mono:         'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
    }

    /* ============================================================
       RESET / BASE
       ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--body);
      font-size: 19px;
      line-height: 1.65;
      color: var(--ink);
      background: var(--paper);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
      position: relative;
    }
    /* Paper grain overlay — global */
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 1;
      opacity: 0.55;
      mix-blend-mode: multiply;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.13 0 0 0 0 0.10 0 0 0 0 0.08 0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    }
    img, svg { display: block; max-width: 100%; }
    button { font-family: inherit; cursor: pointer; }
    a { color: inherit; }

    /* Wrap content above grain */
    main, header, footer { position: relative; z-index: 2; }

    /* ============================================================
       TYPE
       ============================================================ */
    .display { font-family: var(--display); font-weight: 400; }
    .mono    { font-family: var(--mono); font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; font-size: 12px; }
    .body    { font-family: var(--body); }
    em, .italic { font-style: italic; }

    h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; color: var(--ink); letter-spacing: -0.01em; text-wrap: balance; }
    h1 { font-size: clamp(48px, 7.5vw, 104px); line-height: 1.02; }
    h2 { font-size: clamp(36px, 5.2vw, 68px); line-height: 1.05; }
    h3 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.18; }
    h4 { font-size: 18px; }
    p  { text-wrap: pretty; }
    .quiet { color: var(--paper-ink-3); }

    /* Eyebrow label — inline-with-headline, like Eductix */
    .eyebrow {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .eyebrow::before {
      content: "";
      width: 24px;
      height: 1px;
      background: var(--paper-ink-3);
    }
    .eyebrow--solo::before { display: none; }

    /* Inline eyebrow + H2 pattern */
    .eyebrow-h2 {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: flex-start;
    }
    .eyebrow-h2--inline {
      flex-direction: row;
      align-items: flex-end;
      gap: 24px;
      flex-wrap: wrap;
    }
    .eyebrow-h2--inline .eyebrow { padding-bottom: 14px; }

    /* Wavy underline for keyword */
    .wavy {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 8' preserveAspectRatio='none'><path d='M0,5 Q7.5,0 15,4 T30,4 T45,4 T60,4' fill='none' stroke='%23B85C3E' stroke-width='2.2' stroke-linecap='round'/></svg>");
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 60px 8px;
      padding-bottom: 12px;
    }
    .wavy--sage { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 8' preserveAspectRatio='none'><path d='M0,5 Q7.5,0 15,4 T30,4 T45,4 T60,4' fill='none' stroke='%236E8E5A' stroke-width='2.2' stroke-linecap='round'/></svg>"); }

    /* ============================================================
       LAYOUT
       ============================================================ */
    .wrap        { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
    .wrap--read  { max-width: 720px;  margin: 0 auto; padding: 0 40px; }
    .wrap--mid   { max-width: 980px;  margin: 0 auto; padding: 0 40px; }
    .wrap--wide  { max-width: 1280px; margin: 0 auto; padding: 0 40px; }

    .section { padding: 140px 0; position: relative; }
    .section--tight { padding: 100px 0; }
    .section--paper-deep { background: var(--paper-deep); }
    .section--paper-soft { background: var(--paper-soft); }

    @media (max-width: 768px) {
      body { font-size: 17px; }
      .wrap, .wrap--read, .wrap--mid, .wrap--wide { padding: 0 22px; }
      .section { padding: 84px 0; }
    }

    /* ============================================================
       BUTTON / CTA
       ============================================================ */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-family: var(--body);
      font-style: italic;
      font-size: 18px;
      font-weight: 500;
      padding: 18px 32px 18px 36px;
      background: var(--paper-ink);
      color: var(--paper-soft);
      border: none;
      border-radius: 999px;
      text-decoration: none;
      transition: transform 0.25s cubic-bezier(.2,.7,.2,1), background 0.2s, box-shadow 0.25s;
      box-shadow: 0 8px 24px -10px rgba(31,26,20,0.5);
      position: relative;
      letter-spacing: 0.005em;
    }
    .btn:hover {
      transform: translateY(-2px);
      background: var(--disc-d);
      box-shadow: 0 16px 36px -14px rgba(184,92,62,0.5);
    }
    .btn:active { transform: translateY(0); }
    .btn__arrow {
      width: 22px; height: 22px;
      border-radius: 50%;
      background: var(--paper-soft);
      color: var(--paper-ink);
      display: grid; place-items: center;
      transition: transform 0.25s cubic-bezier(.2,.7,.2,1);
    }
    .btn:hover .btn__arrow { transform: translateX(3px) rotate(-8deg); }
    .btn__arrow svg { width: 12px; height: 12px; }

    .btn--ghost {
      background: transparent;
      color: var(--paper-ink);
      border: 1px solid var(--paper-ink);
      box-shadow: none;
    }
    .btn--ghost:hover { background: var(--paper-ink); color: var(--paper-soft); }
    .btn--ghost .btn__arrow { background: var(--paper-ink); color: var(--paper-soft); }
    .btn--ghost:hover .btn__arrow { background: var(--paper-soft); color: var(--paper-ink); }

    @media (max-width: 540px) {
      .btn { padding: 16px 24px 16px 28px; font-size: 16px; width: 100%; justify-content: space-between; }
    }

    /* ============================================================
       POLAROID
       ============================================================ */
    .polaroid {
      background: #FBF6E9;
      padding: 14px 14px 36px;
      box-shadow:
        0 1px 0 rgba(0,0,0,0.04),
        0 22px 38px -22px rgba(31,26,20,0.35),
        0 2px 0 rgba(255,255,255,0.6) inset;
      border-radius: 2px;
      position: relative;
      display: inline-block;
    }
    .polaroid__photo {
      width: 100%;
      aspect-ratio: 4 / 5;
      background: var(--disc-d-soft);
      border-radius: 1px;
      position: relative;
      overflow: hidden;
    }
    .polaroid__photo--portrait { aspect-ratio: 4 / 5; }
    .polaroid__photo--square   { aspect-ratio: 1 / 1; }
    .polaroid__photo--wide     { aspect-ratio: 4 / 3; }
    .polaroid__label {
      position: absolute;
      bottom: 8px; left: 50%;
      transform: translateX(-50%);
      font-family: var(--display);
      font-style: italic;
      font-size: 15px;
      color: var(--paper-ink-2);
      white-space: nowrap;
    }
    .polaroid__tape {
      position: absolute;
      top: -10px; left: 50%;
      transform: translateX(-50%) rotate(-3deg);
      width: 80px; height: 22px;
      background: rgba(217, 207, 184, 0.6);
      border-left: 1px dashed rgba(31,26,20,0.08);
      border-right: 1px dashed rgba(31,26,20,0.08);
      box-shadow: 0 2px 4px rgba(31,26,20,0.06);
    }
    .polaroid__tape--right { left: auto; right: -8px; top: 16px; transform: rotate(28deg); }
    .polaroid__tape--left  { left: -8px; right: auto; top: 16px; transform: rotate(-28deg); }
    .polaroid__caption {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--paper-ink-3);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      position: absolute;
      bottom: 16px;
      left: 16px;
      background: rgba(31,26,20,0.78);
      color: var(--paper-soft);
      padding: 4px 8px;
      border-radius: 2px;
    }

    /* Photo placeholder — abstract silhouette with DISC tint */
    .photo-mask {
      width: 100%; height: 100%;
      display: grid; place-items: center;
      position: relative;
    }
    .photo-mask::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(120% 80% at 50% 110%, rgba(31,26,20,0.16), transparent 60%),
        radial-gradient(60% 40% at 50% 35%, rgba(255,255,255,0.35), transparent 65%);
    }
    .photo-mask__silhouette {
      width: 56%; height: 80%;
      background: rgba(31,26,20,0.18);
      clip-path: path("M50 0 C75 0 95 22 95 50 L95 100 L5 100 L5 60 C5 35 25 0 50 0 Z");
      filter: blur(0.3px);
      align-self: end;
    }
    .photo-mask--object .photo-mask__silhouette {
      width: 60%; height: 60%;
      align-self: center;
      clip-path: path("M50 5 L90 30 L90 75 L50 95 L10 75 L10 30 Z");
    }

    /* Tint variants */
    .tint-d  .polaroid__photo { background: var(--disc-d-soft); }
    .tint-i  .polaroid__photo { background: var(--disc-i-soft); }
    .tint-s  .polaroid__photo { background: var(--disc-s-soft); }
    .tint-c  .polaroid__photo { background: var(--disc-c-soft); }
    .tint-paper .polaroid__photo { background: var(--paper-deep); }

    .tint-d  .polaroid__caption { background: var(--disc-d); color: var(--paper-soft); }
    .tint-i  .polaroid__caption { background: var(--disc-i); color: var(--paper-ink); }
    .tint-s  .polaroid__caption { background: var(--disc-s); color: var(--paper-soft); }
    .tint-c  .polaroid__caption { background: var(--disc-c); color: var(--paper-soft); }

    /* ============================================================
       1 — HERO
       ============================================================ */
    .hero {
      position: relative;
      padding: 120px 0 160px;
      background:
        radial-gradient(60% 60% at 50% 0%, var(--paper-soft), transparent 70%),
        var(--paper);
      overflow: hidden;
    }
    /* faint grid sketch behind hero */
    .hero__grid {
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(31,26,20,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,26,20,0.045) 1px, transparent 1px);
      background-size: 80px 80px;
      mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      pointer-events: none;
    }

    .hero__inner {
      position: relative;
      max-width: 980px;
      margin: 0 auto;
      padding: 0 40px;
      text-align: center;
      z-index: 3;
    }

    .hero__preframe {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 16px 8px 14px;
      background: var(--paper-soft);
      border: 1px solid var(--rule);
      border-radius: 999px;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--paper-ink-2);
      margin-bottom: 40px;
    }
    .hero__preframe-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--disc-d);
      box-shadow: 0 0 0 4px rgba(184,92,62,0.18);
    }

    .hero__headline {
      font-size: clamp(34px, 5.2vw, 76px);
      line-height: 1.04;
      letter-spacing: -0.018em;
      color: var(--paper-ink);
      max-width: 920px;
      margin: 0 auto;
    }
    .hero__headline em {
      font-family: var(--display);
      font-style: italic;
      color: var(--paper-ink);
    }
    .hero__headline .wavy { display: inline-block; }

    .hero__sub {
      max-width: 640px;
      margin: 28px auto 0;
      font-size: 18px;
      line-height: 1.65;
      color: var(--paper-ink-2);
    }
    .hero__cta-row {
      margin-top: 48px;
      display: inline-flex;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
    }
    .hero__cta-note {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.15em;
      color: var(--paper-ink-3);
      text-transform: uppercase;
    }

    /* Floating polaroids around hero */
    .hero__float {
      position: absolute;
      z-index: 2;
      will-change: transform;
    }
    .hero__float--tl { top: 60px;  left: 10%;  width: 135px; transform: rotate(-14deg); }
    .hero__float--tr { top: 120px; right: 8%;  width: 175px; transform: rotate(9deg);  }
    .hero__float--bl { bottom: 140px; left: 14%; width: 155px; transform: rotate(12deg); }
    .hero__float--br { bottom: 40px;  right: 15%; width: 145px; transform: rotate(-5deg); }
    
    @keyframes floatBob {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-24px); }
    }
    
    .hero__float .polaroid { 
      display: block; 
      width: 100%; 
      animation: floatBob 6s ease-in-out infinite;
    }
    .hero__float--tl .polaroid { animation-delay: 0s; }
    .hero__float--tr .polaroid { animation-delay: -1.5s; }
    .hero__float--bl .polaroid { animation-delay: -3s; }
    .hero__float--br .polaroid { animation-delay: -4.5s; }

    @media (max-width: 1100px) {
      .hero__float--tl { width: 120px; left: 2%; }
      .hero__float--tr { width: 120px; right: 2%; }
      .hero__float--bl { width: 130px; left: 2%; bottom: 60px; }
      .hero__float--br { width: 130px; right: 2%; bottom: 30px; }
    }
    @media (max-width: 768px) {
      .hero { padding: 80px 0 100px; }
      .hero__float { display: none; }
      .hero__preframe { margin-bottom: 24px; }
      .hero__sub { font-size: 17px; }
    }

    /* Annotated arrow under preframe — drawn-style */
    .hero__arrow {
      position: absolute;
      top: 60px; left: 50%;
      transform: translateX(-220px) rotate(-12deg);
      color: var(--disc-d);
      width: 80px; height: 60px;
      opacity: 0.55;
    }
    @media (max-width: 900px) { .hero__arrow { display: none; } }

    /* Hero portrait card under the headline */
    .hero__centerpiece {
      margin: 80px auto 0;
      max-width: 320px;
      position: relative;
    }
    .hero__centerpiece .polaroid { width: 100%; transform: rotate(-1.5deg); }

    /* ============================================================
       2 — DOR
       ============================================================ */
    .dor { background: var(--paper); }
    .dor__copy p {
      font-size: 22px;
      line-height: 1.5;
      color: var(--paper-ink-2);
      margin-bottom: 28px;
    }
    .dor__copy p:first-of-type::first-letter {
      font-family: var(--display);
      font-size: 80px;
      line-height: 0.86;
      float: left;
      padding: 6px 14px 0 0;
      color: var(--disc-d);
      font-style: italic;
    }
    .dor__pull {
      margin-top: 24px;
      font-family: var(--display);
      font-style: italic;
      font-size: 28px;
      line-height: 1.35;
      color: var(--paper-ink);
      padding: 36px 40px;
      background: var(--paper-soft);
      border-radius: 4px;
      position: relative;
      box-shadow:
        0 22px 38px -28px rgba(31,26,20,0.4);
    }
    .dor__pull::before {
      content: "";
      position: absolute;
      top: -10px; left: 24px;
      width: 110px; height: 22px;
      background: rgba(184,92,62,0.18);
      border-left: 1px dashed rgba(31,26,20,0.1);
      border-right: 1px dashed rgba(31,26,20,0.1);
      transform: rotate(-2deg);
    }
    .dor__pull::after {
      content: "—";
      position: absolute;
      left: 40px; bottom: -18px;
      font-family: var(--display);
      font-size: 36px;
      color: var(--disc-d);
    }
    @media (max-width: 768px) {
      .dor__copy p { font-size: 19px; }
      .dor__pull { font-size: 22px; padding: 28px; }
    }

    /* ============================================================
       3 — ESFORÇO
       ============================================================ */
    .esforco { background: var(--paper-deep); }
    .esforco__copy p {
      font-size: 20px;
      line-height: 1.6;
      color: var(--paper-ink-2);
      margin-bottom: 24px;
    }
    .esforco__bold {
      font-family: var(--display);
      font-style: italic;
      font-size: 30px;
      line-height: 1.3;
      color: var(--paper-ink);
      margin: 36px 0 !important;
      position: relative;
      padding-left: 24px;
      border-left: 2px solid var(--disc-d);
    }
    .esforco__italic {
      font-family: var(--body);
      font-style: italic;
      color: var(--paper-ink-3);
      margin-top: 36px !important;
      font-size: 20px;
    }
    /* Hand-drawn squiggle annotation */
    .esforco__annotation {
      display: inline-block;
      position: relative;
    }
    .esforco__annotation::after {
      content: "";
      position: absolute;
      left: -8px; right: -8px; top: -6px; bottom: -6px;
      border: 2px solid var(--disc-d);
      border-radius: 50% 60% 55% 65% / 70% 50% 60% 50%;
      transform: rotate(-1deg);
      opacity: 0.7;
    }

    /* ============================================================
       4 — HISTÓRIA
       ============================================================ */
    .historia { background: var(--paper); }
    .historia__big {
      text-align: center;
      margin-bottom: 80px;
    }
    .historia__big-num {
      font-family: var(--display);
      font-size: clamp(72px, 14vw, 180px);
      line-height: 1;
      color: var(--paper-ink);
      letter-spacing: -0.04em;
      display: inline-flex;
      align-items: baseline;
      gap: 18px;
    }
    .historia__big-num em {
      font-style: italic;
      color: var(--disc-d);
    }
    .historia__big-label {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      max-width: 380px;
      margin: 24px auto 0;
      line-height: 1.7;
    }
    .historia__copy p {
      font-size: 19px;
      line-height: 1.65;
      color: var(--paper-ink-2);
      margin-bottom: 22px;
    }
    .historia__close {
      font-family: var(--display);
      font-style: italic;
      font-size: 26px;
      color: var(--paper-ink);
      margin-top: 32px;
    }

    /* Timeline 1928 → Hoje */
    .timeline {
      margin: 80px auto 0;
      max-width: 920px;
      position: relative;
      padding: 24px 0;
    }
    .timeline__line {
      position: absolute; left: 0; right: 0; top: 50%;
      height: 1px;
      background-image: linear-gradient(to right, var(--paper-ink-3) 50%, transparent 50%);
      background-size: 10px 1px;
      background-repeat: repeat-x;
    }
    .timeline__nodes {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      position: relative;
      align-items: center;
    }
    .timeline__node {
      text-align: center;
      position: relative;
      min-height: 180px;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 8px 8px 92px;
    }
    .timeline__node--below {
      justify-content: flex-end;
      padding: 92px 8px 8px;
    }
    .timeline__node-dot {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      width: 14px; height: 14px;
      border-radius: 50%;
      background: var(--paper);
      border: 2px solid var(--paper-ink);
    }
    .timeline__node--accent .timeline__node-dot {
      width: 18px; height: 18px;
      background: var(--disc-d);
      border-color: var(--disc-d);
      box-shadow: 0 0 0 6px rgba(184,92,62,0.12);
    }
    .timeline__year {
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      color: var(--paper-ink);
    }
    .timeline__label {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-top: 4px;
      line-height: 1.5;
    }

    @media (max-width: 768px) {
      .timeline { display: none; }
    }

    /* ============================================================
       5 — MÉTODO
       ============================================================ */
    .metodo { background: var(--paper-soft); }
    .metodo__intro p { font-size: 20px; line-height: 1.65; color: var(--paper-ink-2); margin-bottom: 20px; }
    .metodo__head {
      text-align: center;
      margin: 80px auto 0;
      max-width: 820px;
    }
    .metodo__head .eyebrow { margin-bottom: 20px; justify-content: center; }
    .metodo__head .eyebrow::before, .metodo__head .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--paper-ink-3); }

    /* DISC mandala — 4 organic petals */
    .mandala-wrap {
      display: flex; justify-content: center; align-items: center;
      margin: -32px auto -16px;
      max-width: 560px;
    }
    .mandala {
      width: 100%;
      aspect-ratio: 1 / 1;
      position: relative;
    }
    .mandala svg { width: 100%; height: 100%; }
    .mandala__center {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      font-family: var(--display);
      pointer-events: none;
    }
    .mandala__center-label {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      display: block;
    }
    .mandala__center-name {
      font-family: var(--display);
      font-size: 36px;
      font-style: italic;
      color: var(--paper-ink);
      display: block;
      margin-top: 4px;
    }

    /* 4 letter cards around mandala */
    .mandala-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin-top: 0;
      max-width: 720px;
      margin-left: auto;
      margin-right: auto;
    }
    .disc-letter {
      text-align: center;
      padding: 16px 12px;
      background: var(--paper);
      border-radius: 4px;
      border: 1px solid var(--rule);
    }
    .disc-letter__l {
      font-family: var(--display);
      font-style: italic;
      font-size: 44px;
      line-height: 1;
    }
    .disc-letter__n {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-top: 6px;
    }
    .disc-letter--d .disc-letter__l { color: var(--disc-d); }
    .disc-letter--i .disc-letter__l { color: var(--disc-i); }
    .disc-letter--s .disc-letter__l { color: var(--disc-s); }
    .disc-letter--c .disc-letter__l { color: var(--disc-c); }
    @media (max-width: 540px) {
      .mandala-grid { grid-template-columns: repeat(2, 1fr); }
    }

    /* 3 decifrações — ladder cards */
    .decif-list {
      display: grid;
      gap: 24px;
      margin-top: 64px;
      max-width: 880px;
      margin-left: auto;
      margin-right: auto;
    }
    .decif {
      display: grid;
      grid-template-columns: 84px 1fr;
      gap: 32px;
      align-items: start;
      padding: 32px 36px;
      background: var(--paper);
      border-radius: 6px;
      border: 1px solid var(--rule);
      position: relative;
      transition: transform 0.4s cubic-bezier(.2,.7,.2,1), box-shadow 0.4s;
    }
    .decif:hover {
      transform: translateY(-3px);
      box-shadow: 0 24px 40px -28px rgba(31,26,20,0.25);
    }
    .decif--1 { margin-left: 0; }
    .decif--2 { margin-left: 8%; margin-right: 4%; }
    .decif--3 { margin-left: 16%; }
    @media (max-width: 768px) {
      .decif { grid-template-columns: 56px 1fr; gap: 18px; padding: 24px; }
      .decif--2 { margin-left: 0; margin-right: 0; }
      .decif--3 { margin-left: 0; }
    }
    .decif__num {
      font-family: var(--display);
      font-style: italic;
      font-size: 72px;
      line-height: 1;
      color: var(--disc-d);
    }
    .decif--2 .decif__num { color: var(--disc-i); }
    .decif--3 .decif__num { color: var(--disc-s); }
    .decif__eyebrow {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-bottom: 8px;
    }
    .decif__title { font-size: 28px; line-height: 1.18; margin-bottom: 8px; }
    .decif__desc { font-size: 17px; color: var(--paper-ink-2); line-height: 1.6; }

    .metodo__close {
      text-align: center;
      max-width: 700px;
      margin: 80px auto 0;
      font-family: var(--display);
      font-style: italic;
      font-size: 30px;
      line-height: 1.3;
      color: var(--paper-ink);
    }
    .metodo__cta-row {
      text-align: center;
      margin-top: 56px;
    }

    /* ============================================================
       6 — AUDIENCE (timeline central)
       ============================================================ */
    .audience { background: var(--paper); }
    .audience__head { text-align: center; max-width: 720px; margin: 0 auto 80px; }
    .audience__head .eyebrow { justify-content: center; margin-bottom: 16px; }
    .audience__head .eyebrow::before, .audience__head .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--paper-ink-3); }
    .audience__sub {
      margin-top: 24px;
      font-size: 19px;
      color: var(--paper-ink-2);
    }

    .audience__grid {
      display: grid;
      grid-template-columns: 1fr 80px 1fr;
      max-width: 1080px;
      margin: 0 auto;
      gap: 0;
      position: relative;
    }
    .audience-col {
      display: grid;
      gap: 18px;
    }
    .audience-col h3 {
      font-size: 28px;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .audience-col--for h3 { justify-content: flex-end; text-align: right; }
    .audience-col--for h3 .col-tag {
      background: var(--disc-s-soft);
      color: var(--disc-s);
    }
    .audience-col--not h3 .col-tag {
      background: var(--disc-d-soft);
      color: var(--disc-d);
    }
    .col-tag {
      font-family: var(--mono);
      font-size: 10px;
      padding: 4px 10px;
      border-radius: 999px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
    }
    .audience-item {
      background: var(--paper-soft);
      padding: 20px 24px;
      border-radius: 4px;
      border: 1px solid var(--rule);
      font-size: 16px;
      line-height: 1.55;
      color: var(--paper-ink-2);
      position: relative;
      transition: transform 0.25s, box-shadow 0.25s;
    }
    .audience-item:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 24px -16px rgba(31,26,20,0.2);
    }
    .audience-col--for .audience-item {
      border-left: 3px solid var(--disc-s);
    }
    .audience-col--not .audience-item {
      border-left: 3px solid var(--disc-d);
    }
    .audience__center {
      position: relative;
      display: flex; align-items: stretch; justify-content: center;
    }
    .audience__center-line {
      position: absolute;
      top: 0; bottom: 0; left: 50%;
      width: 1px;
      transform: translateX(-50%);
      background-image: linear-gradient(to bottom, var(--paper-ink-3) 50%, transparent 50%);
      background-size: 1px 8px;
      background-repeat: repeat-y;
    }
    .audience__center-dot {
      position: absolute;
      width: 12px; height: 12px;
      border-radius: 50%;
      background: var(--paper);
      border: 2px solid var(--paper-ink);
      left: 50%;
      transform: translateX(-50%);
    }
    .audience__clarif {
      grid-column: 1 / -1;
      margin-top: 48px;
      padding: 28px 32px;
      background: var(--paper-soft);
      border-radius: 6px;
      border: 1px dashed var(--paper-ink-3);
      font-size: 17px;
      color: var(--paper-ink-2);
      line-height: 1.6;
      text-align: center;
      max-width: 720px;
      margin-left: auto;
      margin-right: auto;
    }
    @media (max-width: 860px) {
      .audience__grid { grid-template-columns: 1fr; }
      .audience-col--for h3 { justify-content: flex-start; text-align: left; }
      .audience__center { display: none; }
      .audience-col--not { margin-top: 40px; }
    }

    /* ============================================================
       7 — DENTRO DO CURSO
       ============================================================ */
    .curso { background: var(--paper-deep); }
    .curso__head { text-align: center; max-width: 760px; margin: 0 auto 64px; }
    .curso__head .eyebrow { justify-content: center; margin-bottom: 16px; }
    .curso__head .eyebrow::before, .curso__head .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--paper-ink-3); }

    .stat-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      max-width: 760px;
      margin: 0 auto 80px;
    }
    .stat-ticket {
      background: var(--paper-soft);
      padding: 28px 24px;
      text-align: center;
      border-radius: 4px;
      position: relative;
      box-shadow: 0 12px 28px -22px rgba(31,26,20,0.4);
      border: 1px solid var(--rule);
    }
    .stat-ticket::before,
    .stat-ticket::after {
      content: "";
      position: absolute;
      width: 18px; height: 18px;
      background: var(--paper-deep);
      border-radius: 50%;
      top: 50%;
      transform: translateY(-50%);
    }
    .stat-ticket::before { left: -10px; }
    .stat-ticket::after  { right: -10px; }
    .stat-ticket__num {
      font-family: var(--display);
      font-style: italic;
      font-size: 56px;
      line-height: 1;
      color: var(--paper-ink);
    }
    .stat-ticket__label {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-top: 12px;
    }
    @media (max-width: 700px) {
      .stat-row { grid-template-columns: 1fr; }
    }

    .fases {
      display: grid;
      gap: 24px;
      max-width: 980px;
      margin: 0 auto;
    }
    .fase {
      display: grid;
      grid-template-columns: 80px 1fr;
      gap: 32px;
      align-items: start;
      padding: 32px 36px;
      background: var(--paper-soft);
      border-radius: 6px;
      border: 1px solid var(--rule);
      position: relative;
      overflow: hidden;
    }
    .fase::before {
      content: "";
      position: absolute;
      left: 0; top: 0; bottom: 0;
      width: 4px;
      background: var(--disc-d);
    }
    .fase--1::before { background: var(--disc-d); }
    .fase--2::before { background: var(--disc-i); }
    .fase--3::before { background: var(--disc-s); }
    .fase--4::before { background: var(--disc-c); }

    .fase__num {
      font-family: var(--display);
      font-style: italic;
      font-size: 64px;
      line-height: 1;
      color: var(--paper-ink-2);
    }
    .fase--1 .fase__num { color: var(--disc-d); }
    .fase--2 .fase__num { color: var(--disc-i); }
    .fase--3 .fase__num { color: var(--disc-s); }
    .fase--4 .fase__num { color: var(--disc-c); }

    .fase__eyebrow {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-bottom: 8px;
    }
    .fase__title { font-size: 26px; margin-bottom: 8px; line-height: 1.2; }
    .fase__desc  { font-size: 16px; line-height: 1.6; color: var(--paper-ink-2); }

    .fase__diff {
      margin-top: 24px;
      padding: 22px 24px;
      background: var(--paper);
      border-radius: 4px;
      border: 1px solid var(--disc-s-soft);
      position: relative;
    }
    .fase__diff::before {
      content: "★";
      position: absolute;
      top: -10px; left: 18px;
      background: var(--paper-deep);
      padding: 0 10px;
      color: var(--disc-s);
      font-size: 16px;
    }
    .fase__diff-label {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--disc-s);
      margin-bottom: 6px;
    }
    .fase__diff-title {
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      color: var(--paper-ink);
      margin-bottom: 6px;
    }
    .fase__diff-desc { font-size: 15px; color: var(--paper-ink-2); line-height: 1.6; }
    @media (max-width: 700px) {
      .fase { grid-template-columns: 1fr; gap: 12px; padding: 24px; }
    }

    .bonus {
      margin: 64px auto 0;
      max-width: 980px;
      padding: 40px;
      background: var(--paper-soft);
      border-radius: 6px;
      border: 1px dashed var(--paper-ink-3);
    }
    .bonus h3 { font-size: 28px; margin-bottom: 24px; display: flex; align-items: center; gap: 14px; }
    .bonus h3 .col-tag { background: var(--disc-c-soft); color: var(--disc-c); }
    .bonus-list { list-style: none; display: grid; gap: 18px; }
    .bonus-list li {
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 14px;
      align-items: start;
      font-size: 17px;
      color: var(--paper-ink-2);
      line-height: 1.55;
    }
    .bonus-list li::before {
      content: "";
      width: 22px; height: 22px;
      border-radius: 50%;
      background: var(--disc-c);
      margin-top: 4px;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F8F2E3' stroke-width='3'><polyline points='20 6 9 17 4 12'/></svg>");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px;
    }

    .curso__screens {
      margin-top: 48px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      max-width: 980px;
      margin-left: auto;
      margin-right: auto;
    }
    .curso__screens .polaroid { display: block; width: 100%; }
    .curso__screens .polaroid:nth-child(1) { transform: rotate(-1.5deg); }
    .curso__screens .polaroid:nth-child(2) { transform: rotate(1.8deg); }
    @media (max-width: 700px) {
      .curso__screens { grid-template-columns: 1fr; }
    }

    .curso__cta-row { text-align: center; margin-top: 72px; }

    /* ============================================================
       8 — AUTOR
       ============================================================ */
    .autor { background: var(--paper); }
    .autor__grid {
      display: grid;
      grid-template-columns: 42% 1fr;
      gap: 80px;
      align-items: start;
      max-width: 1100px;
      margin: 0 auto;
    }
    .autor__photo-col { position: relative; }
    .autor__photo { display: block; width: 100%; transform: rotate(-2deg); }
    .autor__photo .polaroid__photo--portrait { aspect-ratio: 4/5; }
    .autor__badge {
      position: absolute;
      bottom: -16px; right: -16px;
      width: 110px; height: 110px;
      background: var(--paper-ink);
      color: var(--paper-soft);
      border-radius: 50%;
      display: grid;
      place-items: center;
      text-align: center;
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      line-height: 1.5;
      transform: rotate(8deg);
      box-shadow: 0 16px 28px -14px rgba(31,26,20,0.4);
    }
    .autor__badge strong {
      font-family: var(--display);
      font-style: italic;
      font-size: 24px;
      letter-spacing: 0;
      text-transform: none;
      font-weight: 400;
      display: block;
    }

    .autor__name {
      font-family: var(--display);
      font-style: italic;
      font-size: clamp(40px, 5vw, 64px);
      line-height: 1.05;
      color: var(--paper-ink);
      margin: 16px 0 8px;
    }
    .autor__role {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
    }
    .autor__big {
      font-family: var(--display);
      font-style: italic;
      font-size: clamp(56px, 7vw, 88px);
      line-height: 1;
      color: var(--disc-d);
      margin-top: 32px;
    }
    .autor__big-ctx {
      font-size: 16px;
      color: var(--paper-ink-2);
      margin-top: 12px;
      max-width: 480px;
      line-height: 1.6;
    }

    .autor__section { margin-top: 36px; }
    .autor__section h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-bottom: 14px;
    }
    .autor__formacao {
      list-style: none;
      display: grid; gap: 10px;
      font-size: 16px;
      color: var(--paper-ink-2);
    }
    .autor__formacao li {
      padding-left: 22px;
      position: relative;
      line-height: 1.5;
    }
    .autor__formacao li::before {
      content: "";
      position: absolute;
      left: 0; top: 11px;
      width: 8px; height: 1px;
      background: var(--disc-d);
    }
    .autor__exp {
      font-size: 17px;
      color: var(--paper-ink-2);
      line-height: 1.65;
    }
    .autor__closing {
      margin-top: 40px;
      padding-top: 28px;
      border-top: 1px solid var(--rule);
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      color: var(--paper-ink);
      line-height: 1.4;
      position: relative;
    }
    .autor__closing::before {
      content: "“";
      font-family: var(--display);
      font-size: 56px;
      color: var(--disc-d);
      position: absolute;
      top: 8px; left: -32px;
      line-height: 1;
    }
    @media (max-width: 900px) {
      .autor__grid { grid-template-columns: 1fr; gap: 40px; }
      .autor__photo { max-width: 360px; margin: 0 auto; }
      .autor__closing::before { display: none; }
      .autor__closing { padding-left: 0; }
    }

    /* ============================================================
       9 — PROVA SOCIAL
       ============================================================ */
    .prova { background: var(--paper-soft); }
    .prova__head { text-align: center; max-width: 700px; margin: 0 auto 64px; }
    .prova__head .eyebrow { justify-content: center; margin-bottom: 16px; }
    .prova__head .eyebrow::before, .prova__head .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--paper-ink-3); }

    .testimonial-main-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      max-width: 1080px;
      margin: 0 auto;
    }
    @media (max-width: 900px) {
      .testimonial-main-grid { grid-template-columns: 1fr; }
    }
    .testimonial-main {
      padding: 56px 56px;
      background: var(--paper);
      border-radius: 6px;
      position: relative;
      box-shadow: 0 32px 56px -32px rgba(31,26,20,0.3);
      border-top: 4px solid var(--disc-d);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .testimonial-main::before {
      content: "“";
      position: absolute;
      top: 18px; left: 36px;
      font-family: var(--display);
      font-style: italic;
      font-size: 120px;
      color: var(--disc-d);
      opacity: 0.16;
      line-height: 0.8;
    }
    .testimonial-main__text {
      font-family: var(--display);
      font-style: italic;
      font-size: 28px;
      line-height: 1.4;
      color: var(--paper-ink);
      position: relative;
    }
    .testimonial-main__by {
      margin-top: 32px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .testimonial-main__avatar {
      width: 56px; height: 56px;
      border-radius: 50%;
      background: var(--disc-d-soft);
      flex-shrink: 0;
      display: grid; place-items: center;
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      color: var(--disc-d);
    }
    .testimonial-main__name {
      font-family: var(--display);
      font-style: italic;
      font-size: 20px;
      color: var(--paper-ink);
    }
    .testimonial-main__meta {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-top: 2px;
    }

    .testimonial-grid {
      margin-top: 48px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      max-width: 1080px;
      margin-left: auto;
      margin-right: auto;
    }
    .t-card {
      padding: 28px 26px;
      background: var(--paper);
      border-radius: 4px;
      border: 1px solid var(--rule);
      position: relative;
    }
    .t-card:nth-child(1) { transform: rotate(-0.6deg); }
    .t-card:nth-child(3) { transform: rotate(0.6deg); }
    .t-card__chip {
      position: absolute;
      top: -10px; left: 16px;
      width: 36px; height: 36px;
      border-radius: 50%;
      display: grid; place-items: center;
      color: var(--paper-soft);
      font-family: var(--display);
      font-style: italic;
      font-size: 18px;
      box-shadow: 0 6px 14px -8px rgba(31,26,20,0.4);
    }
    .t-card:nth-child(1) .t-card__chip { background: var(--disc-i); }
    .t-card:nth-child(2) .t-card__chip { background: var(--disc-s); }
    .t-card:nth-child(3) .t-card__chip { background: var(--disc-c); }
    .t-card__text {
      font-family: var(--body);
      font-style: italic;
      font-size: 16px;
      line-height: 1.55;
      color: var(--paper-ink);
      margin-top: 16px;
    }
    .t-card__name {
      margin-top: 18px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
    }
    @media (max-width: 800px) {
      .testimonial-grid { grid-template-columns: 1fr; }
      .testimonial-main { padding: 36px 28px; }
      .testimonial-main__text { font-size: 22px; }
    }

    .prova__metrics {
      margin-top: 80px;
      padding: 64px 48px;
      background: var(--paper);
      border-radius: 6px;
      max-width: 1080px;
      margin-left: auto;
      margin-right: auto;
      border: 1px solid var(--rule);
    }
    .prova__metrics-title {
      text-align: center;
      font-family: var(--display);
      font-style: italic;
      font-size: 28px;
      color: var(--paper-ink);
      margin-bottom: 40px;
    }
    .metrics-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
    .metric {
      text-align: center;
      position: relative;
    }
    .metric:not(:last-child)::after {
      content: "";
      position: absolute;
      right: -20px; top: 20%; bottom: 20%;
      width: 1px;
      background: var(--rule);
    }
    .metric__num {
      font-family: var(--display);
      font-style: italic;
      font-size: clamp(56px, 6vw, 80px);
      line-height: 1;
      color: var(--paper-ink);
      letter-spacing: -0.02em;
    }
    .metric__num em { font-style: italic; color: var(--disc-d); }
    .metric__label {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-top: 12px;
      line-height: 1.6;
    }
    @media (max-width: 700px) {
      .metrics-grid { grid-template-columns: 1fr; gap: 32px; }
      .metric:not(:last-child)::after { display: none; }
      .prova__metrics { padding: 36px 24px; }
    }

    .prova__narrative {
      max-width: 700px;
      margin: 64px auto 0;
      text-align: center;
    }
    .prova__narrative p {
      font-size: 19px;
      color: var(--paper-ink-2);
      margin-bottom: 18px;
      line-height: 1.65;
    }
    .prova__narrative-close {
      font-family: var(--display);
      font-style: italic;
      font-size: 32px !important;
      line-height: 1.3 !important;
      color: var(--paper-ink) !important;
      margin-top: 24px !important;
    }
    .prova__cta-row { text-align: center; margin-top: 48px; }

    /* ============================================================
       10 — OFERTA
       ============================================================ */
    .oferta { background: var(--paper); }
    .ticket {
      max-width: 720px;
      margin: 0 auto;
      background: var(--paper-soft);
      border-radius: 8px;
      padding: 56px 56px 48px;
      position: relative;
      box-shadow:
        0 40px 80px -36px rgba(31,26,20,0.35),
        0 1px 0 rgba(255,255,255,0.5) inset;
      border: 1px solid var(--rule);
    }
    /* Perforated edges */
    .ticket::before, .ticket::after {
      content: "";
      position: absolute;
      left: 0; right: 0;
      height: 16px;
      background-image: radial-gradient(circle at 8px 50%, var(--paper) 6px, transparent 6.5px);
      background-size: 22px 16px;
      background-repeat: repeat-x;
    }
    .ticket::before { top: -8px; }
    .ticket::after { bottom: -8px; }
    .ticket__stamp {
      position: absolute;
      top: -28px; right: 32px;
      transform: rotate(8deg);
      background: var(--disc-d);
      color: var(--paper-soft);
      padding: 10px 18px;
      border-radius: 999px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      box-shadow: 0 12px 24px -12px rgba(184,92,62,0.5);
    }
    .ticket__head {
      text-align: center;
      padding-bottom: 32px;
      border-bottom: 1px dashed var(--paper-ink-3);
    }
    .ticket__eyebrow {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
    }
    .ticket__title {
      font-family: var(--display);
      font-style: italic;
      font-size: clamp(36px, 4vw, 48px);
      line-height: 1.1;
      color: var(--paper-ink);
      margin: 12px 0 0;
    }
    .ticket__sec { padding: 28px 0; border-bottom: 1px dashed var(--paper-ink-3); }
    .ticket__sec:last-of-type { border-bottom: none; }
    .ticket__sec h3 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      margin-bottom: 18px;
    }
    .ticket__list {
      list-style: none;
      display: grid;
      gap: 12px;
    }
    .ticket__list li {
      display: grid;
      grid-template-columns: 24px 1fr;
      gap: 12px;
      align-items: start;
      font-size: 17px;
      line-height: 1.5;
      color: var(--paper-ink-2);
    }
    .ticket__list li::before {
      content: "";
      width: 18px; height: 18px;
      border-radius: 50%;
      background: var(--disc-s);
      margin-top: 6px;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F8F2E3' stroke-width='3.5'><polyline points='20 6 9 17 4 12'/></svg>");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 12px;
    }
    .ticket__price {
      font-family: var(--display);
      font-style: italic;
      font-size: clamp(72px, 10vw, 108px);
      line-height: 1;
      color: var(--paper-ink);
      letter-spacing: -0.03em;
    }
    .ticket__price em { color: var(--disc-d); }
    .ticket__installments {
      font-family: var(--body);
      font-size: 17px;
      color: var(--paper-ink-2);
      margin-top: 12px;
    }
    .ticket__ctx p {
      font-size: 16px;
      color: var(--paper-ink-2);
      line-height: 1.6;
      margin-bottom: 10px;
    }
    .ticket__guarantee {
      display: grid;
      grid-template-columns: 80px 1fr;
      gap: 24px;
      align-items: center;
    }
    .ticket__seal {
      width: 80px; height: 80px;
      border-radius: 50%;
      background: var(--disc-s);
      color: var(--paper-soft);
      display: grid;
      place-items: center;
      text-align: center;
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      line-height: 1.4;
      box-shadow: 0 12px 24px -12px rgba(110,142,90,0.5);
      transform: rotate(-6deg);
    }
    .ticket__seal strong {
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      letter-spacing: 0;
      text-transform: none;
      font-weight: 400;
      display: block;
    }
    .ticket__guarantee-title {
      font-family: var(--display);
      font-style: italic;
      font-size: 22px;
      color: var(--paper-ink);
      margin-bottom: 4px;
    }
    .ticket__guarantee-desc {
      font-size: 15px;
      color: var(--paper-ink-2);
      line-height: 1.6;
    }
    .ticket__cta {
      margin-top: 32px;
      text-align: center;
    }
    .ticket__cta .btn { width: 100%; justify-content: space-between; padding: 22px 32px 22px 36px; font-size: 19px; }
    .ticket__micro {
      margin-top: 16px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--paper-ink-3);
      text-align: center;
    }
    @media (max-width: 600px) {
      .ticket { padding: 40px 28px 32px; }
      .ticket__guarantee { grid-template-columns: 64px 1fr; gap: 16px; }
      .ticket__seal { width: 64px; height: 64px; }
    }

    /* ============================================================
       11 — FAQ
       ============================================================ */
    .faq { background: var(--paper-soft); }
    .faq__head { text-align: center; max-width: 700px; margin: 0 auto 64px; }
    .faq__head .eyebrow { justify-content: center; margin-bottom: 16px; }
    .faq__head .eyebrow::before, .faq__head .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--paper-ink-3); }

    .faq-list {
      max-width: 820px;
      margin: 0 auto;
      display: grid;
      gap: 4px;
    }
    .faq-item {
      background: transparent;
      border-bottom: 1px solid var(--rule);
      transition: border-color 0.25s;
    }
    .faq-item.active { border-color: var(--disc-d); }
    .faq-item__q {
      width: 100%;
      background: none;
      border: none;
      text-align: left;
      padding: 28px 0;
      font-family: var(--display);
      font-style: italic;
      font-size: 26px;
      color: var(--paper-ink);
      cursor: pointer;
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 20px;
      align-items: center;
      line-height: 1.2;
      transition: color 0.25s;
    }
    .faq-item__q:hover { color: var(--disc-d); }
    .faq-item__num {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.16em;
      color: var(--paper-ink-3);
      font-style: normal;
    }
    .faq-item__icon {
      width: 36px; height: 36px;
      border-radius: 50%;
      border: 1px solid var(--paper-ink-3);
      display: grid; place-items: center;
      transition: transform 0.35s cubic-bezier(.2,.7,.2,1), background 0.25s, border-color 0.25s;
      flex-shrink: 0;
    }
    .faq-item__icon svg { width: 14px; height: 14px; transition: transform 0.35s; }
    .faq-item.active .faq-item__icon {
      background: var(--disc-d);
      border-color: var(--disc-d);
      color: var(--paper-soft);
      transform: rotate(45deg);
    }
    .faq-item__a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.45s cubic-bezier(.2,.7,.2,1);
    }
    .faq-item__a-inner {
      padding: 0 0 32px 60px;
      font-family: var(--body);
      font-size: 17px;
      line-height: 1.7;
      color: var(--paper-ink-2);
    }
    .faq-item__a-inner p { margin-bottom: 12px; }
    .faq-item__a-inner p:last-child { margin-bottom: 0; }
    @media (max-width: 700px) {
      .faq-item__q { font-size: 20px; gap: 12px; padding: 22px 0; }
      .faq-item__a-inner { padding-left: 40px; font-size: 16px; }
    }

    /* ============================================================
       FOOTER
       ============================================================ */
    .footer {
      background: #1A1612;
      color: #D8CFB9;
      padding: 80px 0 48px;
      position: relative;
    }
    .footer__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 40px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 40px;
      align-items: end;
    }
    .footer__brand {
      font-family: var(--display);
      font-style: italic;
      font-size: 48px;
      color: #F5EFE3;
      line-height: 1;
    }
    .footer__brand-tag {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #948876;
      margin-top: 12px;
      display: block;
    }
    .footer__links {
      list-style: none;
      display: flex;
      gap: 32px;
      flex-wrap: wrap;
    }
    .footer__links a {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #D8CFB9;
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer__links a:hover { color: #F5EFE3; }
    .footer__rule {
      max-width: 1200px;
      margin: 48px auto 24px;
      padding: 0 40px;
    }
    .footer__rule hr {
      border: none;
      border-top: 1px solid #3D352A;
    }
    .footer__copy {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 40px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.14em;
      color: #948876;
      text-transform: uppercase;
    }
    @media (max-width: 700px) {
      .footer__inner { grid-template-columns: 1fr; align-items: start; }
      .footer__brand { font-size: 40px; }
    }

    /* ============================================================
       MOTION — reveal
       ============================================================ */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.9s cubic-bezier(.2,.7,.2,1), transform 0.9s cubic-bezier(.2,.7,.2,1);
    }
    .reveal.in {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-stagger > * {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.8s cubic-bezier(.2,.7,.2,1), transform 0.8s cubic-bezier(.2,.7,.2,1);
    }
    .reveal-stagger.in > *:nth-child(1) { transition-delay: 0.05s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(2) { transition-delay: 0.15s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(3) { transition-delay: 0.25s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(4) { transition-delay: 0.35s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(5) { transition-delay: 0.45s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(6) { transition-delay: 0.55s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(7) { transition-delay: 0.65s; opacity: 1; transform: translateY(0); }
    .reveal-stagger.in > *:nth-child(8) { transition-delay: 0.75s; opacity: 1; transform: translateY(0); }

    /* Slow rotate for mandala */
    @keyframes slowSpin { to { transform: rotate(360deg); } }
    .mandala__spin { transform-origin: 50% 50%; animation: slowSpin 60s linear infinite; }

    /* respect reduce motion */
    @media (prefers-reduced-motion: reduce) {
      .reveal, .reveal-stagger > * { opacity: 1; transform: none; transition: none; }
      .mandala__spin { animation: none; }
    }
