    /* ─── RESET & TOKENS ──────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      /* DDM brand — never change */
      --teal:   #E8692A;   /* laranja DDM (nome legado) */
      --teal-l: #F0874A;
      --teal-d: #C2521A;
      --blue:   #1A6BC8;
      --blue-l: #4A93E0;
      --blue-d: #0D4A96;
      --hero:   #0B1D3A;
      --dark:   #080808;
      --dark-2: #131313;
      --dark-3: #1C1C1C;
      --text:   #F5F5F5;
      --font:   'Poppins', sans-serif;
      --max:    1240px;
      --r-card: 37px;
      --ease:   cubic-bezier(0.16, 1, 0.3, 1);
    }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      font-family: var(--font);
      background: var(--dark);
      color: var(--text);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    .container { max-width: var(--max); margin: 0 auto; padding: 0 32px; }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; }

    /* ─── FOCUS STATE (a11y) ──────────────────────────────── */
    a:focus-visible, button:focus-visible {
      outline: 2px solid var(--blue-l);
      outline-offset: 3px;
      border-radius: 3px;
    }
    .skip-link {
      position: absolute; top: -80px; left: 16px; z-index: 1000;
      background: var(--blue); color: #fff; padding: 12px 22px;
      border-radius: 6px; font-size: .85rem; font-weight: 600;
      transition: top .2s var(--ease);
    }
    .skip-link:focus-visible { top: 16px; outline-color: #fff; }

    /* ─── Z-INDEX SCALE ───────────────────────────────────── */
    /* 90 nav-mobile · 100 nav · 200 scroll-prog · 500 lightbox · 600 cursor */

    /* ─── CURSOR ──────────────────────────────────────────── */
    .cursor-dot {
      width: 7px; height: 7px; background: var(--teal);
      border-radius: 50%; position: fixed; top: 0; left: 0;
      pointer-events: none; z-index: 600;
      transform: translate(-50%,-50%); will-change: transform;
    }
    .cursor-ring {
      width: 34px; height: 34px;
      border: 1.5px solid rgba(232,105,42,0.5); border-radius: 50%;
      position: fixed; top: 0; left: 0; pointer-events: none; z-index: 600;
      transform: translate(-50%,-50%); will-change: transform;
      transition: width .3s var(--ease), height .3s var(--ease), opacity .3s;
    }
    body:has(a:hover) .cursor-ring,
    body:has(button:hover) .cursor-ring { width: 50px; height: 50px; opacity: .35; }

    /* ─── SCROLL PROGRESS ─────────────────────────────────── */
    #scroll-prog {
      position: fixed; top: 0; left: 0; right: 0; height: 2px;
      background: var(--teal); transform-origin: left; transform: scaleX(0);
      z-index: 200; transition: transform .1s linear;
    }

    /* ─── NAV ─────────────────────────────────────────────── */
    #nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      padding: 22px 0;
      transition: padding .4s var(--ease), background .4s, box-shadow .4s;
    }
    #nav.scrolled {
      padding: 14px 0;
      background: rgba(8,8,8,.96);
      backdrop-filter: blur(20px) saturate(150%);
      box-shadow: 0 1px 0 rgba(255,255,255,.05);
    }
    .nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .nav-logo img { height: 68px; width: auto; filter: brightness(0) invert(1); transition: opacity .2s; }
    .nav-logo:hover img { opacity: .75; }

    .nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
    .nav-links a {
      font-size: .83rem; font-weight: 500; letter-spacing: .025em;
      color: rgba(255,255,255,.75); position: relative; transition: color .2s;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
      height: 1.5px; background: var(--teal);
      transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
    }
    .nav-links a:hover { color: #fff; }
    .nav-links a:hover::after { transform: scaleX(1); }
    .nav-links a.active { color: #fff; }
    .nav-links a.active::after { transform: scaleX(1); background: var(--blue); }

    .nav-cta {
      background: var(--blue); color: #fff;
      padding: 10px 22px; border-radius: 6px;
      font-size: .84rem; font-weight: 700; letter-spacing: .01em;
      transition: background .2s, transform .2s, box-shadow .2s;
      box-shadow: 0 2px 12px rgba(26,107,200,.35);
    }
    .nav-cta:hover { background: var(--blue-d); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26,107,200,.45); }
    .nav-cta:active { transform: translateY(0) scale(.97); }

    .nav-hamburger {
      display: none; flex-direction: column; gap: 5px;
      background: none; border: none; cursor: pointer; padding: 4px;
    }
    .nav-hamburger span {
      display: block; width: 24px; height: 2px; background: #fff;
      border-radius: 2px; transition: transform .35s var(--ease), opacity .2s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .nav-mobile {
      display: none; position: fixed; inset: 0; z-index: 90;
      background: rgba(8,8,8,.98); backdrop-filter: blur(24px);
      flex-direction: column; align-items: center; justify-content: center; gap: 36px;
    }
    .nav-mobile.open { display: flex; }
    .nav-mobile a { font-size: 1.5rem; font-weight: 700; color: #fff; transition: color .2s; }
    .nav-mobile a:hover { color: var(--teal-l); }
    .nav-mobile-cta {
      margin-top: 8px; background: var(--teal) !important;
      padding: 14px 40px !important; border-radius: 8px; font-size: 1rem !important;
    }

    /* ─── HERO ────────────────────────────────────────────── */
    #hero {
      min-height: 90svh;
      background: #0B1D3A;
      position: relative; overflow: hidden;
      display: flex; align-items: stretch;
      padding: 120px 0 0;
    }

    /* Grain overlay */
    .hero-grain {
      position: absolute; inset: 0; z-index: 1; opacity: .04; pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-repeat: repeat; background-size: 200px;
    }

    #hero-aurora {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      pointer-events: none; z-index: 0;
    }

    /* Blobs */
    .blob {
      position: absolute;
      border-radius: 60% 40% 55% 45% / 50% 55% 45% 50%;
      background: #0B1D3A;
      pointer-events: none;
    }
    .blob-l {
      width: 62vw; aspect-ratio: 1;
      left: -28%; top: -30%;
      opacity: 1;
      animation: morph-l 14s ease-in-out infinite;
    }
    .blob-r {
      width: 66vw; aspect-ratio: 1;
      right: -28%; bottom: -32%;
      background: #071428;
      border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
      opacity: 1;
      animation: morph-r 17s ease-in-out infinite;
    }
    .blob-accent {
      width: 22vw; aspect-ratio: 1;
      right: 22%; top: -8%;
      background: #1A3B72;
      opacity: 0.5;
      filter: blur(40px);
      animation: morph-l 10s ease-in-out infinite reverse;
    }

    @keyframes morph-l {
      0%,100% { border-radius: 60% 40% 55% 45%/50% 55% 45% 50%; transform: translate(0,0) scale(1); }
      33%      { border-radius: 50% 50% 65% 35%/45% 60% 40% 55%; transform: translate(1.5%,2%) scale(1.02); }
      66%      { border-radius: 70% 30% 50% 50%/60% 40% 60% 40%; transform: translate(-1%,0.5%) scale(0.99); }
    }
    @keyframes morph-r {
      0%,100% { border-radius: 45% 55% 40% 60%/55% 45% 60% 40%; transform: translate(0,0) scale(1); }
      50%      { border-radius: 55% 45% 60% 40%/40% 60% 35% 65%; transform: translate(-2%,-1.5%) scale(1.03); }
    }

    /* Hero layout */
    .hero-inner {
      position: relative; z-index: 2;
      display: grid;
      grid-template-columns: 1fr clamp(320px, 34vw, 480px);
      align-items: stretch;
      min-height: 80svh;
      padding: 0 32px;
      gap: 0;
      width: 100%;
      max-width: var(--max);
      margin: 0 auto;
    }

    .hero-content {
      padding-right: 48px;
      padding-top: 10px;
      padding-bottom: 60px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .hero-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em;
      text-transform: uppercase; color: rgba(255,255,255,0.88);
      margin-bottom: 20px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.15s forwards;
    }
    .hero-eyebrow span {
      display: block; width: 32px; height: 1.5px;
      background: rgba(255,255,255,0.6); border-radius: 2px;
    }

    .hero-identity { margin-bottom: 28px; }
    .identity-thin {
      display: block;
      font-size: clamp(1.2rem, 2.4vw, 1.9rem);
      font-weight: 300; line-height: 1.2;
      color: rgba(255,255,255,0.92);
      letter-spacing: -0.01em;
      font-style: italic;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.28s forwards;
    }
    .identity-bold {
      display: block;
      font-size: clamp(2.4rem, 5.2vw, 4.8rem);
      font-weight: 900; line-height: 0.92;
      letter-spacing: -0.03em;
      color: #fff;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.38s forwards;
    }
    .identity-bold-2 {
      display: block;
      font-size: clamp(2.4rem, 5.2vw, 4.8rem);
      font-weight: 900; line-height: 0.92;
      letter-spacing: -0.03em;
      color: #fff;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.46s forwards;
    }
    .identity-accent { color: var(--blue-l); }

    .hero-rule {
      width: 48px; height: 2px;
      background: rgba(255,255,255,0.4);
      border-radius: 2px;
      margin: 24px 0;
      opacity: 0; animation: anim-up 0.6s var(--ease) 0.54s forwards;
    }

    .hero-copy {
      font-size: clamp(0.95rem, 1.3vw, 1.05rem);
      font-weight: 400; line-height: 1.78;
      color: rgba(255,255,255,0.78);
      max-width: 480px;
      margin-bottom: 36px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.62s forwards;
    }
    .hero-copy strong { color: #fff; font-weight: 700; }

    .hero-agenda {
      display: inline-flex; flex-direction: column; gap: 8px;
      align-items: flex-start; max-width: 100%;
      background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
      padding: 14px 18px; border-radius: 16px; margin-bottom: 28px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.68s forwards;
    }
    .hero-agenda-label {
      display: flex; align-items: center; gap: 7px;
      font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      color: var(--teal-l);
    }
    .hero-agenda-label svg { flex-shrink: 0; }
    .hero-agenda-list { display: flex; flex-direction: column; gap: 5px; }
    .hero-agenda-item {
      font-size: .9rem; font-weight: 600; color: #fff; line-height: 1.4;
      padding-left: 21px; position: relative;
    }
    .hero-agenda-item::before {
      content: ''; position: absolute; left: 0; top: 8px;
      width: 5px; height: 5px; border-radius: 50%; background: var(--teal-l);
    }

    .hero-actions {
      display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.74s forwards;
    }
    .btn-primary {
      background: var(--teal); color: #fff;
      padding: 14px 32px; border-radius: 7px;
      font-size: 0.95rem; font-weight: 700; letter-spacing: 0.01em;
      transition: background 0.2s, transform 0.25s var(--ease), box-shadow 0.25s;
      box-shadow: 0 4px 24px rgba(232,105,42,0.3);
      display: inline-flex; align-items: center; gap: 10px;
    }
    .btn-primary:hover {
      background: var(--teal-d);
      transform: translateY(-2px);
      box-shadow: 0 10px 32px rgba(232,105,42,0.4);
    }
    .btn-primary:active { transform: translateY(0) scale(.97); }
    .btn-ghost {
      color: rgba(255,255,255,0.85);
      font-size: 0.9rem; font-weight: 500; letter-spacing: 0.02em;
      border-bottom: 1.5px solid rgba(255,255,255,0.35);
      padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-ghost:hover { color: #fff; border-color: #fff; }

    .hero-stats {
      display: flex; align-items: center; gap: 32px;
      margin-top: 44px;
      opacity: 0; animation: anim-up 0.7s var(--ease) 0.86s forwards;
    }
    .hstat-num {
      display: block;
      font-size: 1.9rem; font-weight: 900;
      color: #fff; line-height: 1; letter-spacing: -0.02em;
    }
    .hstat-label {
      display: block;
      font-size: 0.67rem; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(255,255,255,0.55);
      margin-top: 3px;
    }
    .hstat-sep {
      width: 1px; align-self: stretch;
      background: rgba(255,255,255,0.2); flex-shrink: 0;
    }

    /* Hero photo */
    .hero-photo {
      position: relative;
      align-self: stretch;
      opacity: 0; animation: anim-photo 0.9s var(--ease) 0.42s forwards;
    }
    .hero-photo img {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      height: 100%;
      width: auto;
      max-width: none;
      z-index: 2;
      display: block;
    }
    .photo-halo {
      position: absolute; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.12);
      left: 50%; transform: translateX(-50%);
      bottom: 0;
    }
    .ph-1 { width: 480px; height: 480px; }
    .ph-2 { width: 360px; height: 360px; border-color: rgba(255,255,255,0.07); }

    /* Scroll cue */
    .hero-scroll {
      position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
      z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 6px;
      opacity: 0; animation: anim-up 0.6s var(--ease) 1.1s forwards;
    }
    .sc-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,0.75); animation: sc-bounce 2.2s ease-in-out infinite; }
    .sc-line { width: 1px; height: 44px; background: linear-gradient(to bottom, rgba(255,255,255,0.5), transparent); }
    @keyframes sc-bounce { 0%,100% { transform: translateY(0); opacity: 1; } 50% { transform: translateY(8px); opacity: 0.3; } }

    @keyframes anim-up {
      from { opacity: 0; transform: translateY(26px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes anim-photo {
      from { opacity: 0; transform: translateX(28px); }
      to   { opacity: 1; transform: translateX(0); }
    }

    /* ─── MARQUEE ─────────────────────────────────────────── */
    .marquee-band {
      background: var(--dark-2); overflow: hidden;
      padding: 14px 0; border-top: 1px solid rgba(255,255,255,.05);
      border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .marquee-track {
      display: flex; align-items: center; gap: 40px;
      width: max-content; animation: marquee 30s linear infinite;
    }
    .marquee-track span { font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.22); white-space: nowrap; }
    .marquee-track .dot { color: var(--teal); font-size: .6rem; }
    @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

    /* ─── SECTION BASE ────────────────────────────────────── */
    section { padding: 112px 0 132px; position: relative; overflow: hidden; }
    .s-label {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: .65rem; font-weight: 700; letter-spacing: .22em;
      text-transform: uppercase; color: var(--blue); margin-bottom: 20px;
    }
    .s-label::before { content: ''; display: block; width: 22px; height: 2px; background: var(--blue); border-radius: 1px; }
    .s-title { font-size: clamp(2.1rem, 4.2vw, 3.6rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; color: #fff; margin-bottom: 20px; }
    .s-title em { font-style: italic; font-weight: 300; color: var(--teal-l); }

    /* Watermark word behind sections */
    .watermark {
      position: absolute; right: -20px; top: 40px; z-index: 0;
      font-size: clamp(5rem, 13vw, 12rem); font-weight: 900; line-height: 1;
      letter-spacing: -.04em; text-transform: uppercase; white-space: nowrap;
      color: transparent; -webkit-text-stroke: 1px rgba(26,107,200,.14);
      pointer-events: none; user-select: none;
    }
    section > .container { position: relative; z-index: 1; }

    /* Ambient glows per section */
    .glow-t::before {
      content: ''; position: absolute; top: -180px; right: -160px; width: 780px; height: 780px;
      background: radial-gradient(circle, rgba(232,105,42,.1) 0%, rgba(26,107,200,.05) 45%, transparent 65%);
      pointer-events: none;
    }
    .glow-b::before {
      content: ''; position: absolute; bottom: -220px; left: -160px; width: 720px; height: 720px;
      background: radial-gradient(circle, rgba(26,107,200,.1) 0%, transparent 60%);
      pointer-events: none;
    }

    /* Grain texture over dark sections */
    .grain::after {
      content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .05; z-index: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 180px;
    }

    [data-r] { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
    [data-r].in { opacity: 1; transform: translateY(0); }

    /* ─── A PALESTRA ──────────────────────────────────────── */
    #palestra {
      background:
        linear-gradient(90deg, var(--dark) 0%, var(--dark) 32%, rgba(8,8,8,.75) 55%, rgba(8,8,8,.35) 100%),
        url('../img/problema-bg.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }
    .palestra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .palestra-copy p {
      font-size: 1.02rem; font-weight: 400; line-height: 1.82;
      color: rgba(255,255,255,.6); margin-bottom: 20px;
    }
    .palestra-copy p strong { color: #fff; font-weight: 600; }
    .palestra-copy p:last-child { margin-bottom: 0; }

    .palestra-highlight {
      margin-top: 36px; padding: 30px 28px; border-radius: 0 6px 6px 0;
      background: var(--dark-2);
      border-left: 3px solid var(--blue);
    }
    .palestra-highlight-tag { font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); margin-bottom: 14px; }
    .palestra-highlight ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .palestra-highlight li { font-size: .92rem; color: rgba(255,255,255,.6); padding-left: 26px; position: relative; }
    .palestra-highlight li::before {
      content: '✓'; position: absolute; left: 0; top: 1px;
      color: var(--blue-l); font-weight: 700; font-size: .78rem;
    }

    .palestra-visual {
      position: relative; padding: 8px 0 8px 40px;
      display: flex; flex-direction: column; gap: 44px;
    }
    .palestra-visual::before {
      content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
      background: linear-gradient(to bottom, var(--teal), var(--blue), transparent);
      border-radius: 2px;
    }
    .p-badge { position: relative; }
    .p-badge::before {
      content: ''; position: absolute; left: -45px; top: 12px;
      width: 12px; height: 12px; border-radius: 50%;
      background: var(--dark); border: 2.5px solid var(--teal-l);
    }
    .p-badge:nth-child(2)::before { border-color: var(--blue-l); }
    .p-badge:nth-child(3)::before { border-color: rgba(255,255,255,.4); }
    .p-badge-num {
      font-size: clamp(3rem, 5vw, 4.4rem); font-weight: 800; line-height: 1; letter-spacing: -.03em;
      color: var(--blue-l);
    }
    .p-badge:first-child .p-badge-num { color: var(--teal); }
    .p-badge:nth-child(3) .p-badge-num { color: #fff; }
    .p-badge-label { font-size: .88rem; color: rgba(255,255,255,.45); margin-top: 8px; max-width: 300px; line-height: 1.6; }

    /* ─── CONTEÚDO ────────────────────────────────────────── */
    #conteudo {
      background:
        radial-gradient(ellipse 45% 55% at 100% 100%, rgba(232,105,42,.09) 0%, transparent 60%),
        var(--dark-2);
    }
    .blocos-header { margin-bottom: 56px; }
    .blocos-header p { font-size: 1rem; color: rgba(255,255,255,.5); max-width: 480px; margin-top: 8px; line-height: 1.75; }
    .blocos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    /* Break the uniform 3-col grid with a subtle offset (desktop only) */
    @media (min-width: 961px) {
      .bloco-card:nth-child(3n+2) { margin-top: 28px; }
    }

    .bloco-card {
      background: var(--dark-3); border-radius: var(--r-card);
      padding: 40px 32px; position: relative; overflow: hidden;
      border: 1px solid rgba(255,255,255,.06);
      transition: transform .3s var(--ease), border-color .3s;
    }
    .bloco-card::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
      background: var(--blue);
      transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease);
    }
    .bloco-card:hover { transform: translateY(-4px); border-color: rgba(26,107,200,.28); }
    .bloco-card:hover::after { transform: scaleX(1); }

    .bloco-num {
      font-size: 3rem; font-weight: 800; line-height: 1; letter-spacing: -.04em;
      color: rgba(26,107,200,.18); margin-bottom: 20px;
    }
    .bloco-tag {
      display: inline-block; font-size: .58rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
      color: var(--blue); border: 1px solid rgba(26,107,200,.3);
      padding: 3px 9px; border-radius: 2px; margin-bottom: 12px;
    }
    .bloco-name { font-size: 1.15rem; font-weight: 700; color: #fff; margin-bottom: 12px; line-height: 1.3; }
    .bloco-desc { font-size: .86rem; color: rgba(255,255,255,.5); line-height: 1.78; }
    .bloco-arrow {
      margin-top: 20px; display: inline-flex; align-items: center; gap: 8px;
      font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      color: var(--blue-l); opacity: 0; transform: translateX(-8px);
      transition: opacity .3s, transform .35s var(--ease);
    }
    .bloco-card:hover .bloco-arrow { opacity: 1; transform: translateX(0); }

    /* ─── PARA QUEM ───────────────────────────────────────── */
    #para-quem {
      background:
        linear-gradient(rgba(8,8,8,.82), rgba(8,8,8,.82)),
        url('../img/paraquem-bg.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }
    .paraquem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
    .paraquem-lead { font-size: 1.02rem; color: rgba(255,255,255,.55); line-height: 1.78; max-width: 400px; margin-top: 8px; }
    .paraquem-list { list-style: none; border-top: 1px solid rgba(255,255,255,.07); }
    .paraquem-item {
      display: flex; align-items: flex-start; gap: 16px;
      padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .paraquem-icon {
      width: 44px; height: 44px; border-radius: 50%;
      border: 1.5px solid var(--blue);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; margin-top: 2px;
    }
    .paraquem-icon svg { width: 19px; height: 19px; color: var(--blue-l); }
    .paraquem-item-name { font-size: 1rem; font-weight: 600; color: #fff; margin-bottom: 4px; }
    .paraquem-item-desc { font-size: .84rem; color: rgba(255,255,255,.45); line-height: 1.5; }

    /* ─── MÉTODO ──────────────────────────────────────────── */
    #metodo {
      background:
        linear-gradient(rgba(19,19,19,.84), rgba(19,19,19,.84)),
        url('../img/metodo-bg.png');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }
    .metodo-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 64px; position: relative; }
    .metodo-step { position: relative; padding: 0; background: none; transition: none; }
    .metodo-step-num {
      font-size: 2.8rem; font-weight: 800; line-height: 1; letter-spacing: -.04em;
      color: rgba(26,107,200,.22); margin-bottom: 20px;
      transition: color .3s;
    }
    .metodo-step:hover .metodo-step-num { color: rgba(26,107,200,.45); }
    .metodo-step-name { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
    .metodo-step-desc { font-size: .86rem; color: rgba(255,255,255,.5); line-height: 1.78; }
    .metodo-step-line { display: none; }

    /* ─── PALESTRANTE ─────────────────────────────────────── */
    #palestrante { background: var(--dark); }
    .palestrante-grid { display: grid; grid-template-columns: clamp(260px, 28vw, 380px) 1fr; gap: 80px; align-items: start; }
    .palestrante-photo-wrap {
      position: relative; border-radius: 20px;
    }
    .palestrante-photo-wrap::before {
      content: ''; position: absolute; inset: 0; border-radius: 20px;
      border: 1.5px solid rgba(232,105,42,.5);
      transform: translate(16px, 16px); pointer-events: none;
      transition: transform .4s var(--ease);
    }
    .palestrante-photo-wrap:hover::before { transform: translate(10px, 10px); }
    .palestrante-photo-wrap img { width: 100%; border-radius: 20px; display: block; filter: grayscale(10%) brightness(.9); position: relative; }
    .palestrante-photo-overlay { border-radius: 0 0 20px 20px; overflow: hidden; }
    .palestrante-photo-overlay {
      position: absolute; bottom: 0; left: 0; right: 0;
      padding: 24px; background: linear-gradient(to top, rgba(8,8,8,.9), transparent);
    }
    .palestrante-name { font-size: 1.3rem; font-weight: 800; color: #fff; }
    .palestrante-role { font-size: .8rem; color: rgba(255,255,255,.6); margin-top: 4px; }

    .palestrante-bio p { font-size: 1rem; color: rgba(255,255,255,.6); line-height: 1.82; margin-bottom: 20px; }
    .palestrante-bio p strong { color: #fff; font-weight: 600; }
    .palestrante-bio p:last-child { margin-bottom: 0; }

    .formacao {
      margin-top: 32px; padding: 24px 26px; border-radius: 14px;
      background: rgba(26,107,200,.07); border: 1px solid rgba(26,107,200,.2);
    }
    .formacao-tag { font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--blue-l); margin-bottom: 12px; }
    .formacao ul + .formacao-tag { margin-top: 20px; }
    .formacao ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
    .formacao li { font-size: .88rem; color: rgba(255,255,255,.6); padding-left: 18px; position: relative; }
    .formacao li::before { content: '—'; position: absolute; left: 0; color: var(--blue-l); font-weight: 600; }
    .formacao li strong { color: #fff; display: block; }

    /* ─── QUOTE BAND ──────────────────────────────────────── */
    .qband {
      background: var(--dark-2); padding: 110px 0; text-align: center;
      position: relative; overflow: hidden;
      border-top: 1px solid rgba(26,107,200,.12);
      border-bottom: 1px solid rgba(26,107,200,.12);
    }
    .qband-mark {
      font-size: clamp(6rem, 12vw, 9rem); font-weight: 800; line-height: .55; height: 3rem;
      color: var(--teal); opacity: .2; user-select: none; position: relative;
    }
    .qband-text {
      font-size: clamp(1.35rem, 2.9vw, 2.1rem); font-weight: 300; font-style: italic;
      line-height: 1.55; color: var(--text);
      max-width: 860px; margin: 0 auto; position: relative;
    }
    .qband-text strong { font-weight: 700; font-style: normal; color: var(--blue-l); }
    .qband-rule { width: 52px; height: 2px; background: var(--blue); border-radius: 2px; margin: 32px auto 18px; position: relative; }
    .qband-author { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); position: relative; }
    .qband-src { font-size: .7rem; color: rgba(255,255,255,.37); margin-top: 6px; position: relative; }

    /* ─── DADOS ───────────────────────────────────────────── */
    #dados { background: var(--dark); }
    .dados-header p { font-size: 1rem; color: rgba(255,255,255,.5); max-width: 520px; margin-top: 8px; line-height: 1.75; }
    .dados-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; }
    /* Break the uniform 4-col grid with a subtle offset (desktop only) */
    @media (min-width: 961px) {
      .dado-card:nth-child(even) { margin-top: 28px; }
    }
    .dado-card {
      padding: 34px 28px; border-radius: 8px;
      background: var(--dark-2); border: 1px solid rgba(26,107,200,.15);
      position: relative; overflow: hidden;
      transition: transform .35s var(--ease), border-color .25s;
    }
    .dado-card::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
      background: linear-gradient(90deg, var(--teal), transparent);
      opacity: 0; transition: opacity .3s;
    }
    .dado-card:nth-child(even)::before { background: linear-gradient(90deg, var(--blue-l), transparent); }
    .dado-card:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.1); }
    .dado-card:hover::before { opacity: 1; }
    .dado-num {
      font-size: clamp(2.6rem, 4vw, 3.6rem); font-weight: 900; line-height: 1; letter-spacing: -.03em;
      color: var(--teal-l); margin-bottom: 14px;
    }
    .dado-card:nth-child(even) .dado-num { color: var(--blue-l); }
    .dado-label { font-size: .88rem; color: rgba(255,255,255,.55); line-height: 1.6; }
    .dado-src { font-size: .64rem; color: rgba(255,255,255,.22); margin-top: 14px; letter-spacing: .04em; }

    /* ─── GALERIA ─────────────────────────────────────────── */
    #galeria { background: var(--dark-2); padding: 120px 0 0; }
    .galeria-header { padding-bottom: 48px; }
    .galeria-header p { font-size: 1rem; color: rgba(255,255,255,.45); max-width: 480px; line-height: 1.75; }

    .gallery-masonry { display: flex; gap: 4px; align-items: flex-start; }
    .gallery-col { flex: 1; display: flex; flex-direction: column; gap: 4px; }
    .gallery-item { position: relative; overflow: hidden; cursor: pointer; }
    .gallery-item img {
      width: 100%; display: block;
      transition: transform .55s var(--ease), filter .4s;
      filter: grayscale(15%) brightness(.88);
    }
    .gallery-item:hover img { transform: scale(1.06); filter: grayscale(0%) brightness(1.02); }
    .gallery-item::after {
      content: ''; position: absolute; inset: 0;
      background: rgba(26,107,200,0); transition: background .4s; pointer-events: none;
    }
    .gallery-item:hover::after { background: rgba(26,107,200,.1); }

    /* Lightbox */
    #lightbox {
      display: none; position: fixed; inset: 0; z-index: 500;
      background: rgba(0,0,0,.92); backdrop-filter: blur(12px);
      align-items: center; justify-content: center;
    }
    #lightbox.open { display: flex; }
    #lightbox img { max-width: 90vw; max-height: 88vh; border-radius: 4px; display: block; }
    .lb-close {
      position: absolute; top: 24px; right: 28px;
      background: none; border: none; color: #fff; font-size: 2rem; cursor: pointer; opacity: .7; transition: opacity .2s;
    }
    .lb-close:hover { opacity: 1; }
    .lb-prev, .lb-next {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); color: #fff;
      width: 48px; height: 48px; border-radius: 50%; font-size: 1.2rem; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: background .2s;
    }
    .lb-prev { left: 24px; }
    .lb-next { right: 24px; }
    .lb-prev:hover, .lb-next:hover { background: rgba(255,255,255,.16); }

    /* ─── CTA FINAL ───────────────────────────────────────── */
    #cta {
      background: var(--dark-2); padding: 160px 0;
      text-align: center; position: relative; overflow: hidden;
    }
    #cta::before {
      content: ''; position: absolute; top: -300px; left: 50%; transform: translateX(-50%);
      width: 800px; height: 800px;
      background: radial-gradient(circle, rgba(232,105,42,.12) 0%, transparent 55%);
      pointer-events: none;
    }
    #cta::after {
      content: ''; position: absolute; bottom: -200px; right: -100px;
      width: 600px; height: 600px;
      background: radial-gradient(circle, rgba(26,107,200,.1) 0%, transparent 60%);
      pointer-events: none;
    }

    .cta-label {
      display: inline-flex; align-items: center; gap: 14px;
      font-size: .7rem; font-weight: 700; letter-spacing: .18em;
      text-transform: uppercase; color: var(--teal-l);
      margin-bottom: 28px; justify-content: center;
    }
    .cta-label span { display: block; width: 36px; height: 1.5px; background: var(--teal-l); border-radius: 2px; }
    .cta-title {
      font-size: clamp(2.4rem, 5vw, 4.2rem); font-weight: 900;
      line-height: 1.05; letter-spacing: -.025em; color: #fff;
      max-width: 700px; margin: 0 auto 20px; position: relative; z-index: 1;
    }
    .cta-title em { font-style: italic; font-weight: 300; color: var(--teal-l); }
    .cta-sub { font-size: 1.02rem; line-height: 1.75; color: rgba(255,255,255,.45); max-width: 480px; margin: 0 auto 52px; position: relative; z-index: 1; }
    .cta-actions { position: relative; z-index: 1; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

    .btn-cta {
      background: var(--teal); color: #fff;
      padding: 16px 44px; border-radius: 8px;
      font-size: .98rem; font-weight: 700; letter-spacing: .01em;
      transition: background .2s, transform .25s var(--ease), box-shadow .25s;
      box-shadow: 0 4px 28px rgba(232,105,42,.4);
    }
    .btn-cta:hover { background: var(--teal-d); transform: translateY(-2px); box-shadow: 0 10px 40px rgba(232,105,42,.5); }
    .btn-cta:active { transform: translateY(0) scale(.97); }

    .btn-cta-ghost {
      border: 1.5px solid rgba(255,255,255,.15); color: rgba(255,255,255,.65);
      padding: 16px 44px; border-radius: 8px; font-size: .98rem; font-weight: 600;
      transition: border-color .2s, color .2s;
    }
    .btn-cta-ghost:hover { border-color: rgba(255,255,255,.35); color: #fff; }

    /* ─── FOOTER ──────────────────────────────────────────── */
    footer { background: var(--dark); border-top: 1px solid rgba(255,255,255,.05); padding: 44px 0; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
    .footer-logo img { height: 36px; filter: brightness(0) invert(1); opacity: .3; transition: opacity .2s; }
    .footer-logo:hover img { opacity: .6; }
    .footer-copy { font-size: .78rem; color: rgba(255,255,255,.25); }
    .footer-links { display: flex; gap: 24px; list-style: none; }
    .footer-links a { font-size: .78rem; color: rgba(255,255,255,.25); transition: color .2s; }
    .footer-links a:hover { color: var(--teal-l); }

    /* ─── RESPONSIVE ──────────────────────────────────────── */
    @media (max-width: 960px) {
      #hero { min-height: auto; padding-top: 0; }
      .hero-inner { grid-template-columns: 1fr; min-height: auto; padding: 136px 24px 56px; }
      .hero-photo { order: -1; height: 390px; max-height: 390px; margin-bottom: 32px; }
      .hero-photo img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); height: 100%; width: auto; content: url('../img/doug-transparente.png'); }
      .ph-1,.ph-2 { display: none; }
      .hero-content { padding-right: 0; padding-top: 0; }
      .hero-copy { max-width: 100%; }
      .palestra-grid { grid-template-columns: 1fr; gap: 48px; }
      #palestra {
        background:
          linear-gradient(180deg, rgba(8,8,8,.6) 0%, var(--dark) 72%),
          url('../img/problema-bg.png');
        background-size: cover; background-position: 70% center;
      }
      .blocos-grid { grid-template-columns: 1fr 1fr; }
      .paraquem-grid { grid-template-columns: 1fr; gap: 48px; }
      .metodo-steps { grid-template-columns: 1fr 1fr; gap: 40px 28px; }
      .metodo-steps::before { display: none; }
      .dados-grid { grid-template-columns: 1fr 1fr; }
      .watermark { display: none; }
      .palestrante-grid { grid-template-columns: 1fr; gap: 48px; }
      .palestrante-photo-wrap { max-width: 320px; }
      .nav-links,.nav-cta { display: none; }
      .nav-hamburger { display: flex; }
    }
    @media (max-width: 640px) {
      section { padding: 68px 0 80px; }
      .container { padding: 0 20px; }
      .hero-inner { padding: 136px 20px 48px; }
      .blocos-grid { grid-template-columns: 1fr; }
      .metodo-steps { grid-template-columns: 1fr; }
      .dados-grid { grid-template-columns: 1fr; }
      .qband { padding: 88px 0; }
      .palestra-visual { padding-left: 32px; gap: 32px; }
      .p-badge::before { left: -37px; }
      .hero-stats { gap: 20px; }
      .hstat-num { font-size: 1.6rem; }
      .footer-inner { flex-direction: column; text-align: center; }
      .footer-links { justify-content: center; }
      .gallery-masonry { display: grid; grid-template-columns: 1fr 1fr; }
      .gallery-col { display: contents; }
    }

    /* ─── POST-HERO REDESIGN ──────────────────────────────── */
    :root {
      --paper: #F6F0E8;
      --paper-2: #FFF9F1;
      --paper-3: #EAF2FA;
      --ink: #121820;
      --ink-2: #344054;
      --muted: #667085;
      --line: rgba(18,24,32,.12);
      --shadow-soft: 0 22px 70px rgba(15,23,42,.10);
      --r-card: 8px;
    }

    body { background: var(--paper); }
    main { background: var(--paper); }

    .marquee-band {
      background: var(--paper-2);
      padding: 18px 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .marquee-track span { color: rgba(18,24,32,.44); }
    .marquee-track .dot { color: var(--teal); }

    main section:not(#hero) {
      color: var(--ink);
      isolation: isolate;
    }
    main section:not(#hero)::after,
    main section:not(#hero)::before {
      z-index: -1;
    }
    .s-label { color: var(--blue-d); }
    .s-label::before { background: var(--blue-d); }
    .s-title { color: var(--ink); letter-spacing: -.02em; }
    .s-title em { color: var(--teal); }
    .watermark {
      color: rgba(26,107,200,.045);
      -webkit-text-stroke: 0;
    }
    .grain::after { opacity: .025; mix-blend-mode: multiply; }
    .glow-t::before,
    .glow-b::before { display: none; }

    #palestra {
      background:
        linear-gradient(90deg, rgba(255,249,241,.98) 0%, rgba(255,249,241,.94) 48%, rgba(255,249,241,.68) 100%),
        url('../img/problema-bg.png');
      background-size: cover;
      background-position: center right;
    }
    .palestra-grid { gap: clamp(48px, 7vw, 96px); }
    .palestra-copy p {
      color: var(--ink-2);
      max-width: 610px;
    }
    .palestra-copy p strong { color: var(--blue-d); }
    .palestra-highlight {
      background: #fff;
      border: 1px solid var(--line);
      border-left: 4px solid var(--teal);
      border-radius: 8px;
      box-shadow: var(--shadow-soft);
    }
    .palestra-highlight-tag { color: var(--teal-d); }
    .palestra-highlight li { color: var(--ink-2); }
    .palestra-highlight li::before { color: var(--teal); }
    .palestra-visual::before {
      background: linear-gradient(to bottom, var(--teal), var(--blue), rgba(26,107,200,0));
    }
    .p-badge {
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(18,24,32,.09);
      border-radius: 8px;
      padding: 24px 26px;
      box-shadow: 0 16px 52px rgba(15,23,42,.08);
      backdrop-filter: blur(12px);
    }
    .p-badge::before { background: var(--paper-2); }
    .p-badge:nth-child(3) .p-badge-num { color: var(--ink); }
    .p-badge-label { color: var(--muted); }

    #conteudo {
      background:
        linear-gradient(90deg, rgba(246,240,232,.72) 0 1px, transparent 1px),
        linear-gradient(180deg, #fff 0%, #fff 38%, var(--paper-2) 38%, var(--paper-2) 100%);
      background-size: 88px 88px, auto;
    }
    #conteudo::before {
      content: 'SISTEMA';
      position: absolute;
      top: 78px;
      right: -34px;
      z-index: 0;
      font-size: clamp(5rem, 12vw, 12rem);
      font-weight: 900;
      line-height: 1;
      color: rgba(26,107,200,.055);
      letter-spacing: -.05em;
      pointer-events: none;
    }
    #conteudo::after {
      content: '';
      position: absolute;
      left: max(20px, calc((100vw - var(--max)) / 2 + 32px));
      right: max(20px, calc((100vw - var(--max)) / 2 + 32px));
      top: 264px;
      height: 1px;
      z-index: 0;
      background: linear-gradient(90deg, var(--blue), rgba(232,105,42,.55), transparent);
    }
    .blocos-header {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
      gap: 48px;
      align-items: end;
      margin-bottom: 64px;
    }
    .blocos-header p {
      color: var(--muted);
      margin-top: 0;
    }
    .blocos-grid {
      grid-template-columns: repeat(12, 1fr);
      gap: 22px;
      align-items: stretch;
      position: relative;
    }
    .bloco-card {
      background: #fff;
      border: 1px solid rgba(18,24,32,.10);
      box-shadow: 0 18px 48px rgba(15,23,42,.07);
      min-height: 292px;
      padding: 34px 32px 32px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }
    .bloco-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, rgba(26,107,200,.10), transparent 34%),
        radial-gradient(circle at 88% 16%, rgba(232,105,42,.18), transparent 28%);
      opacity: .58;
      pointer-events: none;
      transition: opacity .3s var(--ease), transform .45s var(--ease);
    }
    .bloco-card::after { background: linear-gradient(90deg, var(--teal), var(--blue)); }
    .bloco-card:hover {
      border-color: rgba(26,107,200,.28);
      box-shadow: 0 24px 62px rgba(15,23,42,.12);
    }
    .bloco-card:hover::before { opacity: .86; transform: scale(1.03); }
    .bloco-card:nth-child(1) { grid-column: span 5; }
    .bloco-card:nth-child(2) { grid-column: span 4; }
    .bloco-card:nth-child(3) { grid-column: span 3; }
    .bloco-card:nth-child(4),
    .bloco-card:nth-child(5),
    .bloco-card:nth-child(6) { grid-column: span 4; }
    .bloco-card:nth-child(1),
    .bloco-card:nth-child(6) {
      background: var(--hero);
      border-color: rgba(255,255,255,.12);
      box-shadow: 0 28px 80px rgba(11,29,58,.20);
    }
    .bloco-card:nth-child(1)::before,
    .bloco-card:nth-child(6)::before {
      background:
        linear-gradient(135deg, rgba(74,147,224,.30), transparent 38%),
        radial-gradient(circle at 86% 18%, rgba(232,105,42,.34), transparent 28%);
      opacity: .9;
    }
    .bloco-card:nth-child(1) .bloco-name,
    .bloco-card:nth-child(6) .bloco-name { color: #fff; }
    .bloco-card:nth-child(1) .bloco-desc,
    .bloco-card:nth-child(6) .bloco-desc { color: rgba(255,255,255,.66); }
    .bloco-card:nth-child(1) .bloco-tag,
    .bloco-card:nth-child(6) .bloco-tag {
      color: #fff;
      border-color: rgba(255,255,255,.18);
      background: rgba(255,255,255,.10);
    }
    .bloco-card:nth-child(1) .bloco-num,
    .bloco-card:nth-child(6) .bloco-num { color: rgba(255,255,255,.16); }
    .bloco-num {
      position: absolute;
      top: 24px;
      right: 28px;
      font-size: clamp(3.6rem, 6vw, 6.8rem);
      color: rgba(26,107,200,.10);
      margin: 0;
      z-index: 1;
    }
    .bloco-tag {
      position: relative;
      z-index: 1;
      color: var(--teal-d);
      border-color: rgba(232,105,42,.26);
      background: rgba(232,105,42,.08);
      border-radius: 999px;
      width: fit-content;
    }
    .bloco-name {
      position: relative;
      z-index: 1;
      color: var(--ink);
      max-width: 360px;
    }
    .bloco-desc {
      position: relative;
      z-index: 1;
      color: var(--muted);
      max-width: 430px;
    }

    #para-quem {
      background:
        linear-gradient(90deg, rgba(234,242,250,.96), rgba(246,240,232,.92)),
        url('../img/paraquem-bg.png');
      background-size: cover;
      background-position: center;
    }
    .paraquem-lead { color: var(--ink-2); }
    .paraquem-list {
      border-top: 1px solid rgba(18,24,32,.12);
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(18,24,32,.10);
      border-radius: 8px;
      padding: 4px 28px;
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(12px);
    }
    .paraquem-item { border-bottom: 1px solid rgba(18,24,32,.10); }
    .paraquem-item:last-child { border-bottom: 0; }
    .paraquem-icon {
      border-color: rgba(26,107,200,.22);
      background: #fff;
    }
    .paraquem-icon svg { color: var(--blue); }
    .paraquem-item-name { color: var(--ink); }
    .paraquem-item-desc { color: var(--muted); }

    .qband {
      background: var(--hero);
      border: 0;
    }
    .qband::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(232,105,42,.13), transparent 38%),
        radial-gradient(circle at 80% 20%, rgba(74,147,224,.22), transparent 36%);
      pointer-events: none;
    }
    .qband-text { color: rgba(255,255,255,.88); }
    .qband-text strong { color: #fff; }
    .qband-author { color: var(--teal-l); }
    .qband-src { color: rgba(255,255,255,.48); }

    #metodo {
      background:
        linear-gradient(90deg, rgba(255,249,241,.98) 0%, rgba(255,249,241,.88) 56%, rgba(11,29,58,.92) 56%, rgba(11,29,58,.94) 100%),
        url('../img/metodo-bg.png');
      background-size: cover;
      background-position: center;
    }
    #metodo::before {
      content: 'DO QUIZ AO PLANO';
      position: absolute;
      right: max(24px, calc((100vw - var(--max)) / 2 + 32px));
      top: 122px;
      z-index: 0;
      max-width: 360px;
      color: rgba(255,255,255,.16);
      font-size: clamp(3.6rem, 7vw, 7rem);
      font-weight: 900;
      line-height: .9;
      letter-spacing: -.04em;
      text-align: right;
      pointer-events: none;
    }
    #metodo .s-title { max-width: 720px; }
    .metodo-steps {
      grid-template-columns: repeat(8, 1fr);
      gap: 18px;
      margin-top: 62px;
      padding-top: 42px;
      align-items: stretch;
    }
    .metodo-steps::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 14px;
      height: 2px;
      background: linear-gradient(90deg, var(--teal), var(--blue), rgba(255,255,255,.26));
      border-radius: 99px;
    }
    .metodo-step {
      grid-column: span 2;
      min-height: 310px;
      padding: 34px 26px 28px;
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(18,24,32,.10);
      border-radius: 8px;
      box-shadow: 0 18px 50px rgba(15,23,42,.08);
      backdrop-filter: blur(10px);
      overflow: hidden;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .25s;
    }
    .metodo-step::before {
      content: '';
      position: absolute;
      top: -8px;
      left: 26px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: #fff;
      border: 4px solid var(--teal);
      box-shadow: 0 0 0 8px rgba(232,105,42,.12);
      z-index: 2;
    }
    .metodo-step:nth-child(2)::before,
    .metodo-step:nth-child(3)::before { border-color: var(--blue); box-shadow: 0 0 0 8px rgba(26,107,200,.12); }
    .metodo-step:nth-child(4)::before { border-color: #fff; box-shadow: 0 0 0 8px rgba(255,255,255,.18); }
    .metodo-step::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(255,255,255,.62), transparent 38%), radial-gradient(circle at 88% 10%, rgba(26,107,200,.12), transparent 30%);
      pointer-events: none;
    }
    .metodo-step:hover {
      transform: translateY(-6px);
      border-color: rgba(26,107,200,.24);
      box-shadow: 0 28px 70px rgba(15,23,42,.14);
    }
    .metodo-step:nth-child(3),
    .metodo-step:nth-child(4) {
      background: rgba(11,29,58,.88);
      border-color: rgba(255,255,255,.12);
      box-shadow: 0 24px 70px rgba(11,29,58,.22);
    }
    .metodo-step-num {
      position: relative;
      z-index: 1;
      color: rgba(232,105,42,.24);
      font-size: clamp(3.2rem, 4.8vw, 5.2rem);
    }
    .metodo-step:hover .metodo-step-num { color: rgba(232,105,42,.44); }
    .metodo-step-name {
      position: relative;
      z-index: 1;
      color: var(--ink);
      font-size: 1.08rem;
    }
    .metodo-step-desc {
      position: relative;
      z-index: 1;
      color: var(--muted);
    }
    .metodo-step:nth-child(3) .metodo-step-name,
    .metodo-step:nth-child(4) .metodo-step-name { color: #fff; }
    .metodo-step:nth-child(3) .metodo-step-desc,
    .metodo-step:nth-child(4) .metodo-step-desc { color: rgba(255,255,255,.62); }
    .metodo-step:nth-child(3) .metodo-step-num,
    .metodo-step:nth-child(4) .metodo-step-num { color: rgba(255,255,255,.16); }
    .metodo-step-line {
      display: block;
      position: absolute;
      left: 26px;
      right: 26px;
      bottom: 24px;
      height: 3px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--teal), var(--blue));
      opacity: .72;
    }

    @media (min-width: 961px) {
      .bloco-card:nth-child(3n+2) { margin-top: 0; }
    }

    #dados {
      background: #fff;
    }
    .dados-header p { color: var(--muted); }
    .dado-card {
      background: var(--paper-2);
      border: 1px solid rgba(18,24,32,.10);
      box-shadow: 0 16px 44px rgba(15,23,42,.07);
    }
    .dado-card:hover {
      border-color: rgba(232,105,42,.26);
      box-shadow: 0 22px 58px rgba(15,23,42,.12);
    }
    .dado-label { color: var(--ink-2); }
    .dado-src { color: var(--muted); }

    #palestrante {
      background: var(--paper);
    }
    .palestrante-photo-wrap::before { border-color: rgba(232,105,42,.42); }
    .palestrante-photo-wrap img {
      filter: none;
      box-shadow: var(--shadow-soft);
    }
    .palestrante-bio p { color: var(--ink-2); }
    .palestrante-bio p strong { color: var(--blue-d); }
    .formacao {
      background: #fff;
      border: 1px solid rgba(18,24,32,.10);
      border-left: 4px solid var(--blue);
      border-radius: 8px;
      box-shadow: 0 16px 46px rgba(15,23,42,.07);
    }
    .formacao-tag { color: var(--blue-d); }
    .formacao li { color: var(--muted); }
    .formacao li strong { color: var(--ink); }

    #galeria {
      background: #fff;
      padding-top: 116px;
    }
    .galeria-header p { color: var(--muted); }
    .gallery-masonry {
      gap: 8px;
      background: #fff;
      padding: 0 8px 8px;
    }
    .gallery-col { gap: 8px; }
    .gallery-item { border-radius: 8px; }
    .gallery-item img { filter: none; }

    #cta {
      background: var(--hero);
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .cta-title { color: #fff; }
    .cta-sub { color: rgba(255,255,255,.66); }
    .btn-cta-ghost {
      border-color: rgba(255,255,255,.22);
      color: rgba(255,255,255,.76);
    }

    @media (max-width: 960px) {
      .blocos-header {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      #conteudo::before {
        top: 96px;
        right: -16px;
        font-size: clamp(4rem, 18vw, 8rem);
      }
      #conteudo::after { top: 238px; }
      .blocos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
      }
      .bloco-card,
      .bloco-card:nth-child(1),
      .bloco-card:nth-child(2),
      .bloco-card:nth-child(3),
      .bloco-card:nth-child(4),
      .bloco-card:nth-child(5),
      .bloco-card:nth-child(6) {
        grid-column: span 1;
      }
      .bloco-card:nth-child(1),
      .bloco-card:nth-child(6) {
        grid-column: span 2;
      }
      #palestra,
      #para-quem,
      #metodo {
        background-size: cover;
      }
      #palestra {
        background:
          linear-gradient(180deg, rgba(255,249,241,.97), rgba(255,249,241,.90)),
          url('../img/problema-bg.png');
        background-position: center;
      }
      .palestra-visual { padding-left: 28px; }
      .p-badge::before { left: -35px; }
      #metodo {
        background:
          linear-gradient(180deg, rgba(255,249,241,.98) 0%, rgba(255,249,241,.92) 54%, rgba(11,29,58,.94) 54%, rgba(11,29,58,.96) 100%),
          url('../img/metodo-bg.png');
      }
      #metodo::before {
        top: 92px;
        right: 22px;
        max-width: 220px;
        font-size: clamp(2.8rem, 12vw, 5rem);
      }
      .metodo-steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
      }
      .metodo-step {
        grid-column: span 1;
        min-height: 0;
      }
    }

    @media (max-width: 640px) {
      .palestra-highlight,
      .paraquem-list,
      .formacao { padding: 22px 20px; }
      .p-badge { padding: 20px; }
      #conteudo { background-size: 56px 56px, auto; }
      #conteudo::before { top: 58px; opacity: .7; }
      #conteudo::after { display: none; }
      .blocos-grid { grid-template-columns: 1fr; }
      .bloco-card,
      .bloco-card:nth-child(1),
      .bloco-card:nth-child(6) {
        grid-column: auto;
        min-height: 264px;
      }
      .bloco-num {
        top: 18px;
        right: 22px;
      }
      .metodo-step { padding: 24px 22px; }
      #metodo::before { opacity: .62; }
      .metodo-steps {
        grid-template-columns: 1fr;
        padding-top: 28px;
      }
      .metodo-steps::before {
        left: 11px;
        right: auto;
        top: 0;
        bottom: 0;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, var(--teal), var(--blue), rgba(255,255,255,.24));
      }
      .metodo-step {
        grid-column: auto;
        min-height: 248px;
      }
      .metodo-step::before {
        left: -1px;
        top: 26px;
      }
      .gallery-masonry {
        display: flex;
        grid-template-columns: none;
        gap: 6px;
        padding: 0 6px 6px;
      }
      .gallery-col {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 6px;
      }
    }

    @media (min-width: 961px) {

    /* ─── BRAND SYSTEM ART DIRECTION ──────────────────────── */
    :root {
      --cream: #F7EFE4;
      --ivory: #FFFBF5;
      --navy: #0B1D3A;
      --navy-2: #071428;
      --electric: #1A6BC8;
      --signal: #E8692A;
      --hairline: rgba(11,29,58,.13);
    }

    main {
      background:
        linear-gradient(90deg, rgba(11,29,58,.045) 0 1px, transparent 1px),
        linear-gradient(180deg, var(--ivory), var(--cream));
      background-size: 96px 96px, auto;
    }

    .s-label {
      color: var(--blue-d);
      letter-spacing: .26em;
    }
    .s-label::before {
      width: 34px;
      height: 1px;
    }

    #palestra {
      padding: 140px 0 154px;
      background:
        linear-gradient(90deg, rgba(255,251,245,.96) 0%, rgba(255,251,245,.94) 47%, rgba(11,29,58,.95) 47%, rgba(11,29,58,.97) 100%),
        url('../img/problema-bg.png');
      background-size: cover;
      background-position: center;
    }
    #palestra::before {
      content: 'DIAGNOSTICO';
      position: absolute;
      left: max(20px, calc((100vw - var(--max)) / 2 + 32px));
      bottom: 34px;
      z-index: 0;
      color: rgba(11,29,58,.055);
      font-size: clamp(5rem, 12vw, 13rem);
      font-weight: 900;
      line-height: .8;
      letter-spacing: -.06em;
      pointer-events: none;
    }
    #palestra::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
        linear-gradient(90deg, rgba(11,29,58,.045) 0 1px, transparent 1px),
        linear-gradient(180deg, rgba(11,29,58,.04) 0 1px, transparent 1px);
      background-size: 92px 92px;
      pointer-events: none;
    }
    #palestra .container { z-index: 2; }
    #palestra .watermark {
      right: max(20px, calc((100vw - var(--max)) / 2));
      top: 82px;
      color: rgba(255,255,255,.06);
      font-size: clamp(6rem, 14vw, 14rem);
    }
    .palestra-grid {
      grid-template-columns: minmax(0, .86fr) minmax(420px, .86fr);
      gap: clamp(64px, 8vw, 120px);
    }
    .palestra-copy {
      position: relative;
      padding-top: 22px;
    }
    .palestra-copy::before {
      content: 'BRAND POSITIONING AUDIT';
      display: block;
      width: fit-content;
      margin-bottom: 24px;
      padding: 7px 12px;
      border: 1px solid rgba(232,105,42,.26);
      border-radius: 999px;
      color: var(--teal-d);
      background: rgba(232,105,42,.08);
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .16em;
    }
    #palestra .s-title {
      max-width: 560px;
      font-size: clamp(3.1rem, 5.2vw, 5.75rem);
      line-height: .92;
      letter-spacing: -.045em;
      margin-bottom: 34px;
    }
    .palestra-copy p {
      max-width: 520px;
      font-size: 1.04rem;
      line-height: 1.86;
    }
    .palestra-highlight {
      position: relative;
      margin-top: 42px;
      padding: 34px 34px 32px 40px;
      background: var(--navy);
      color: #fff;
      border: 0;
      border-radius: 8px;
      box-shadow: 0 28px 90px rgba(11,29,58,.22);
      overflow: hidden;
    }
    .palestra-highlight::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 92% 14%, rgba(232,105,42,.24), transparent 28%),
        linear-gradient(90deg, rgba(74,147,224,.16), transparent 44%);
      pointer-events: none;
    }
    .palestra-highlight-tag,
    .palestra-highlight ul {
      position: relative;
      z-index: 1;
    }
    .palestra-highlight-tag { color: var(--teal-l); }
    .palestra-highlight li {
      color: rgba(255,255,255,.72);
      border-top: 1px solid rgba(255,255,255,.08);
      padding-top: 11px;
    }
    .palestra-highlight li:first-child {
      border-top: 0;
      padding-top: 0;
    }
    .palestra-visual {
      padding: 0;
      gap: 0;
      align-self: stretch;
      justify-content: center;
      border-left: 1px solid rgba(255,255,255,.14);
    }
    .palestra-visual::before {
      left: -1px;
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--teal), var(--blue), transparent);
    }
    .p-badge {
      margin-left: 42px;
      padding: 34px 0 34px 34px;
      background: transparent;
      border: 0;
      border-bottom: 1px solid rgba(255,255,255,.13);
      border-radius: 0;
      box-shadow: none;
      backdrop-filter: none;
    }
    .p-badge:last-child { border-bottom: 0; }
    .p-badge::before {
      left: -49px;
      top: 44px;
      background: var(--navy);
      border-width: 2px;
    }
    .p-badge-num {
      font-size: clamp(4.8rem, 8vw, 8.5rem);
      color: #fff;
      opacity: .96;
    }
    .p-badge:first-child .p-badge-num { color: var(--teal-l); }
    .p-badge:nth-child(2) .p-badge-num { color: var(--blue-l); }
    .p-badge:nth-child(3) .p-badge-num { color: #fff; }
    .p-badge-label {
      max-width: 330px;
      color: rgba(255,255,255,.62);
      font-size: .96rem;
    }

    #conteudo {
      padding-top: 148px;
      padding-bottom: 154px;
      background:
        linear-gradient(90deg, rgba(11,29,58,.06) 0 1px, transparent 1px),
        linear-gradient(180deg, #fff 0%, #fff 34%, #F8F1E8 34%, #F8F1E8 100%);
      background-size: 88px 88px, auto;
    }
    .blocos-header {
      grid-template-columns: minmax(320px, .82fr) minmax(420px, .9fr);
      align-items: center;
    }
    .blocos-header .s-title {
      font-size: clamp(3.5rem, 6vw, 6.2rem);
      line-height: .92;
      max-width: 620px;
      margin-left: auto;
    }
    .blocos-header p {
      max-width: 520px;
      font-size: 1.03rem;
      line-height: 1.86;
    }
    .blocos-grid { gap: 24px; }
    .bloco-card {
      min-height: 330px;
      padding: 40px 36px 36px;
      box-shadow: 0 28px 80px rgba(15,23,42,.08);
    }
    .bloco-card:nth-child(1) { grid-column: span 6; }
    .bloco-card:nth-child(2) { grid-column: span 3; }
    .bloco-card:nth-child(3) { grid-column: span 3; }
    .bloco-card:nth-child(4),
    .bloco-card:nth-child(5),
    .bloco-card:nth-child(6) { grid-column: span 4; }
    .bloco-card:nth-child(2),
    .bloco-card:nth-child(5) {
      transform: translateY(34px);
    }
    .bloco-card:hover { transform: translateY(-8px); }
    .bloco-card:nth-child(2):hover,
    .bloco-card:nth-child(5):hover { transform: translateY(24px); }
    .bloco-name { font-size: clamp(1.2rem, 1.8vw, 1.65rem); }
    .bloco-card:nth-child(1) .bloco-name,
    .bloco-card:nth-child(6) .bloco-name {
      font-size: clamp(1.55rem, 2.4vw, 2.2rem);
      max-width: 470px;
    }

    #para-quem {
      padding: 120px 0;
      border-top: 1px solid var(--hairline);
      border-bottom: 1px solid var(--hairline);
    }

    .qband {
      padding: 132px 0;
      background:
        linear-gradient(90deg, rgba(11,29,58,.96), rgba(11,29,58,.88)),
        url('../img/metodo-bg.png');
      background-size: cover;
      background-position: center;
    }
    .qband-text {
      font-size: clamp(2rem, 4vw, 4rem);
      line-height: 1.18;
      max-width: 1120px;
      letter-spacing: -.035em;
    }

    #metodo {
      padding: 128px 0 140px;
    }
    .metodo-steps {
      margin-top: 72px;
    }

    #dados {
      padding: 132px 0 150px;
      background:
        linear-gradient(90deg, rgba(11,29,58,.93), rgba(11,29,58,.88)),
        radial-gradient(circle at 84% 24%, rgba(232,105,42,.24), transparent 34%),
        var(--navy);
      color: #fff;
    }
    #dados::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, transparent 1px);
      background-size: 96px 96px;
      pointer-events: none;
    }
    #dados .watermark {
      top: 42px;
      right: -20px;
      color: rgba(255,255,255,.055);
      font-size: clamp(8rem, 17vw, 18rem);
    }
    #dados .s-label,
    #dados .s-title,
    #dados .dados-header p { color: #fff; }
    #dados .s-label::before { background: var(--teal-l); }
    #dados .s-title {
      max-width: 1100px;
      font-size: clamp(3.1rem, 5.4vw, 6rem);
      line-height: .94;
    }
    #dados .s-title em { color: var(--teal-l); }
    .dados-header {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(320px, .58fr);
      gap: 52px;
      align-items: end;
    }
    .dados-header .s-label {
      grid-column: 1 / -1;
      margin-bottom: 0;
    }
    .dados-header .s-title {
      grid-column: 1 / 2;
    }
    .dados-header p {
      grid-column: 2 / 3;
      max-width: 430px;
      color: rgba(255,255,255,.64);
      margin: 0 0 22px;
    }
    .dados-grid {
      grid-template-columns: repeat(12, 1fr);
      gap: 0;
      margin-top: 74px;
      align-items: stretch;
      border-top: 1px solid rgba(255,255,255,.15);
      border-bottom: 1px solid rgba(255,255,255,.15);
    }
    .dado-card:nth-child(even) { margin-top: 0; }
    .dado-card {
      grid-column: span 3;
      min-height: 380px;
      height: 100%;
      padding: 44px 34px 38px;
      background: rgba(255,255,255,.035);
      border: 0;
      border-right: 1px solid rgba(255,255,255,.14);
      border-radius: 0;
      box-shadow: none;
      backdrop-filter: blur(8px);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
    }
    .dado-card:last-child { border-right: 0; }
    .dado-card:hover {
      transform: translateY(-8px);
      background: rgba(255,255,255,.07);
      box-shadow: none;
    }
    .dado-num {
      min-height: 112px;
      display: flex;
      align-items: flex-start;
      font-size: clamp(4.1rem, 6.2vw, 7rem);
      white-space: nowrap;
      letter-spacing: -.065em;
      margin-bottom: 30px;
    }
    .dado-label {
      min-height: 126px;
      color: rgba(255,255,255,.78);
      font-size: .96rem;
    }
    .dado-src {
      color: rgba(255,255,255,.38);
      margin-top: auto;
      padding-top: 24px;
    }

    #palestrante {
      padding: 130px 0 148px;
      background:
        linear-gradient(90deg, var(--navy) 0%, var(--navy) 39%, var(--cream) 39%, var(--cream) 100%);
    }
    #palestrante::before {
      content: 'DOUGLAS OLIVEIRA';
      position: absolute;
      left: max(20px, calc((100vw - var(--max)) / 2 + 32px));
      top: 58px;
      z-index: 0;
      max-width: 360px;
      color: rgba(255,255,255,.07);
      font-size: clamp(4rem, 8vw, 8.6rem);
      font-weight: 900;
      line-height: .85;
      letter-spacing: -.06em;
      pointer-events: none;
    }
    .palestrante-grid {
      grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
      gap: clamp(72px, 8vw, 118px);
      align-items: center;
    }
    .palestrante-photo-wrap {
      border-radius: 8px;
    }
    .palestrante-photo-wrap::before {
      inset: auto -18px -18px 18px;
      height: 100%;
      border-color: rgba(232,105,42,.54);
      border-radius: 8px;
      transform: none;
    }
    .palestrante-photo-wrap:hover::before { transform: translate(8px, 8px); }
    .palestrante-photo-wrap img {
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 8px;
      box-shadow: 0 34px 90px rgba(0,0,0,.34);
    }
    .palestrante-photo-overlay {
      border-radius: 0 0 8px 8px;
      padding: 30px;
    }
    .palestrante-name {
      font-size: 1.55rem;
      letter-spacing: -.02em;
    }
    .palestrante-bio {
      position: relative;
      padding: 42px 0 0;
    }
    .palestrante-bio::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 180px;
      height: 3px;
      background: linear-gradient(90deg, var(--teal), var(--blue));
      border-radius: 99px;
    }
    #palestrante .s-title {
      font-size: clamp(3rem, 5vw, 5.6rem);
      line-height: .92;
      max-width: 790px;
    }
    .palestrante-bio p {
      max-width: 780px;
      font-size: 1.02rem;
      line-height: 1.82;
    }
    .formacao {
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 28px;
      padding: 28px 32px;
      background: #fff;
      box-shadow: 0 28px 78px rgba(15,23,42,.10);
    }

    #galeria {
      padding-top: 148px;
      background:
        linear-gradient(180deg, #fff 0%, #fff 54%, var(--navy) 54%, var(--navy) 100%);
    }
    #galeria::before {
      content: 'PROVA VIVA';
      position: absolute;
      right: max(20px, calc((100vw - var(--max)) / 2));
      top: 82px;
      z-index: 0;
      color: rgba(26,107,200,.055);
      font-size: clamp(5rem, 13vw, 14rem);
      font-weight: 900;
      line-height: .82;
      letter-spacing: -.06em;
      pointer-events: none;
    }
    .galeria-header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, .46fr);
      gap: 56px;
      align-items: center;
      position: relative;
      z-index: 1;
      padding-bottom: 54px;
    }
    .galeria-copy {
      position: relative;
      padding-left: 34px;
      border-left: 3px solid var(--teal);
    }
    .galeria-kicker {
      padding: 0;
      background: transparent;
      border-radius: 0;
      box-shadow: none;
      color: var(--ink);
    }
    .galeria-kicker .s-label {
      color: var(--blue-d);
      margin-bottom: 22px;
    }
    .galeria-kicker .s-label::before {
      background: var(--blue-d);
    }
    .galeria-kicker p {
      color: var(--muted);
      font-size: 1.04rem;
      line-height: 1.78;
      max-width: 380px;
    }
    .galeria-header .s-title {
      max-width: 780px;
      margin: 0;
      font-size: clamp(3.8rem, 6.9vw, 7.6rem);
      line-height: .86;
      letter-spacing: -.065em;
    }
    .galeria-header .s-title em {
      display: block;
      font-style: italic;
      font-weight: 300;
      color: var(--teal);
    }
    .gallery-masonry {
      position: relative;
      z-index: 1;
      padding-top: 0;
    }

    #cta {
      padding: 170px 0;
      background:
        radial-gradient(circle at 50% 0%, rgba(232,105,42,.18), transparent 34%),
        linear-gradient(180deg, var(--navy), var(--navy-2));
    }
    .cta-label {
      color: var(--teal-l);
    }
    .cta-title {
      font-size: clamp(3.6rem, 6vw, 7rem);
      line-height: .9;
      max-width: 860px;
    }
    .cta-sub {
      max-width: 560px;
      font-size: 1.08rem;
    }
    }

    @media (max-width: 960px) {
      #palestra {
        background:
          linear-gradient(180deg, rgba(255,251,245,.97) 0%, rgba(255,251,245,.95) 56%, rgba(11,29,58,.97) 56%, rgba(11,29,58,.98) 100%),
          url('../img/problema-bg.png');
      }
      .palestra-grid,
      .dados-header,
      .galeria-header {
        grid-template-columns: 1fr;
      }
      .dados-header .s-label,
      .dados-header .s-title,
      .dados-header p {
        grid-column: auto;
      }
      .palestra-visual {
        border-left: 1px solid rgba(255,255,255,.14);
        margin-top: 24px;
      }
      .p-badge { margin-left: 34px; }
      #palestra .s-title,
      .blocos-header .s-title,
      #dados .s-title,
      #palestrante .s-title,
      .galeria-header .s-title,
      .cta-title {
        font-size: clamp(2.8rem, 9vw, 5.2rem);
      }
      .blocos-header {
        grid-template-columns: 1fr;
      }
      .blocos-header .s-title {
        margin-left: 0;
      }
      .bloco-card:nth-child(2),
      .bloco-card:nth-child(5) {
        transform: none;
      }
      .bloco-card:hover,
      .bloco-card:nth-child(2):hover,
      .bloco-card:nth-child(5):hover {
        transform: translateY(-4px);
      }
      #dados {
        padding: 104px 0 118px;
      }
      .dados-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .dado-card {
        grid-column: span 1;
        min-height: 320px;
        border-bottom: 1px solid rgba(255,255,255,.14);
      }
      .dado-card:nth-child(2n) { border-right: 0; }
      #palestrante {
        background:
          linear-gradient(180deg, var(--navy) 0%, var(--navy) 38%, var(--cream) 38%, var(--cream) 100%);
      }
      .palestrante-grid {
        grid-template-columns: 1fr;
      }
      .palestrante-photo-wrap {
        max-width: 430px;
      }
      .formacao {
        grid-template-columns: 1fr;
      }
      #galeria {
        background: #fff;
      }
      .galeria-header {
        gap: 30px;
        padding-bottom: 42px;
      }
      .galeria-copy {
        max-width: 560px;
      }
    }

    @media (max-width: 640px) {
      main {
        background-size: 58px 58px, auto;
      }
      #palestra,
      #conteudo,
      #metodo,
      #dados,
      #palestrante,
      #galeria,
      #cta {
        padding-top: 82px;
        padding-bottom: 92px;
      }
      #palestra .s-title,
      .blocos-header .s-title,
      #dados .s-title,
      #palestrante .s-title,
      .galeria-header .s-title,
      .cta-title {
        font-size: clamp(2.35rem, 12vw, 4rem);
        line-height: .96;
      }
      .palestra-highlight {
        padding: 28px 22px;
      }
      .p-badge {
        margin-left: 26px;
        padding: 28px 0 28px 24px;
      }
      .p-badge::before {
        left: -31px;
        top: 40px;
      }
      .p-badge-num {
        font-size: clamp(3.8rem, 18vw, 5.5rem);
      }
      .bloco-card {
        min-height: 286px;
        padding: 34px 28px 30px;
      }
      .dados-grid {
        grid-template-columns: 1fr;
      }
      .dado-card {
        min-height: 250px;
        border-right: 0;
      }
      .dado-num {
        min-height: auto;
        margin-bottom: 20px;
      }
      .dado-label {
        min-height: auto;
      }
      #dados .s-title {
        font-size: clamp(2rem, 9.6vw, 2.85rem);
        line-height: 1.02;
      }
      #dados .dados-header {
        gap: 26px;
      }
      #dados .dados-header p {
        max-width: 100%;
        font-size: .96rem;
      }
      .dado-num {
        font-size: clamp(4rem, 20vw, 6.3rem);
      }
      .palestrante-photo-wrap {
        max-width: none;
      }
      .palestrante-bio {
        padding-top: 34px;
      }
      .formacao {
        padding: 26px 22px;
      }
      .galeria-header {
        gap: 18px;
      }
      .galeria-copy {
        padding-left: 20px;
        border-left-width: 2px;
      }
      .galeria-header .s-title {
        font-size: clamp(3rem, 16vw, 5.4rem);
        line-height: .88;
      }
      #cta {
        padding-top: 116px;
        padding-bottom: 118px;
      }
    }
