/*
 NOSSA HISTÓRIA — estilos gerais
 Organização:
 - Imagens: assets/images/<secao>
 - Áudios: assets/audio
 - JavaScript: assets/js/app.js
*/

    :root {
      --flip-duration: .88s;
      --flip-duration-ms: 880;
      --paper: #f5ecd9;
      --paper-light: #fffaf0;
      --paper-dark: #e8d8b8;
      --ink: #342f35;
      --muted: #776f78;
      --lavender: #c8c3e6;
      --mauve: #b9a4ce;
      --grape: #8e7fa4;
      --grape-dark: #71647e;
      --gold: #b69a67;
      --serif: "Cormorant Garamond", Georgia, serif;
      --script: "Great Vibes", cursive;
      --hand: "Kalam", cursive;
      --sans: "Inter", sans-serif;
      --shadow: 0 28px 80px rgba(72, 57, 79, .2);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      overflow-x: hidden;
      color: var(--ink);
      font-family: var(--serif);
      background: var(--paper);
    }
    body.locked { overflow: hidden; }
    img { display: block; width: 100%; object-fit: cover; }
    button, a { font: inherit; }
    a { color: inherit; text-decoration: none; }

    .noise {
      position: fixed;
      inset: 0;
      z-index: 9999;
      pointer-events: none;
      opacity: .17;
      mix-blend-mode: multiply;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
    }

    /* ABERTURA */
    .intro {
      position: fixed;
      inset: 0;
      z-index: 9000;
      display: grid;
      place-items: center;
      padding: 24px;
      text-align: center;
      color: white;
      background:
        radial-gradient(circle at 50% 40%, rgba(224,220,240,.32), transparent 30rem),
        linear-gradient(145deg, #655a6d, #887892 58%, #a493aa);
      transition: opacity .9s ease, visibility .9s ease;
    }
    .intro.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
    .intro-inner { width: min(760px, 100%); }
    .intro-flower { font-size: 2rem; margin-bottom: 24px; }
    .intro-title {
      font: 400 clamp(3.6rem, 9vw, 7rem)/.95 var(--script);
      text-shadow: 0 12px 34px rgba(45, 35, 48, .2);
    }
    .intro-date {
      margin: 32px 0 40px;
      font: 400 .76rem/1 var(--sans);
      letter-spacing: .3em;
      text-transform: uppercase;
      color: #f4eef5;
    }

    .page-button {
      position: relative;
      min-width: 285px;
      padding: 22px 58px 24px;
      border: 0;
      cursor: pointer;
      color: var(--grape-dark);
      font-size: 1.18rem;
      font-style: italic;
      font-weight: 600;
      background:
        repeating-linear-gradient(180deg, transparent 0 12px, rgba(110,92,120,.045) 13px, transparent 14px 19px),
        linear-gradient(100deg, #fffdf6, #f3e6ca 70%, #e7d3ae);
      clip-path: polygon(2% 7%,10% 3%,22% 6%,36% 2%,50% 5%,64% 2%,78% 6%,91% 3%,98% 8%,96% 25%,99% 42%,96% 58%,99% 75%,96% 93%,84% 97%,69% 95%,54% 98%,39% 95%,24% 98%,10% 95%,3% 91%,5% 75%,2% 58%,5% 41%,2% 25%);
      box-shadow: 0 20px 45px rgba(44, 33, 47, .28);
      transition: transform .35s ease, filter .35s ease;
    }
    .page-button::after { content: " ❦"; color: var(--grape); }
    .page-button:hover { transform: translateY(-5px) rotate(-1deg); filter: brightness(1.04); }

    /* HERO */
    .hero {
      position: relative;
      min-height: 100vh;
      overflow: hidden;
      background: #2d2730;
    }
    .hero-slides { position: absolute; inset: 0; perspective: 1600px; }
    .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transform: scale(1.035);
      transition: opacity 1.1s ease, visibility 1.1s ease, transform 6s ease;
      backface-visibility: hidden;
      transform-style: preserve-3d;
    }
    .hero-slide.active { opacity: 1; visibility: visible; transform: scale(1); z-index: 2; }
    .hero-slide.leaving {
      opacity: 1;
      visibility: visible;
      z-index: 3;
      transform-origin: left center;
      animation: pageLeave var(--flip-duration) cubic-bezier(.48,.08,.22,.98) forwards;
    }

    .hero-slide::before {
      content: "";
      position: absolute;
      inset: 0 0 0 auto;
      z-index: 4;
      width: 32%;
      opacity: 0;
      pointer-events: none;
      background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.05) 30%, rgba(255,255,255,.34) 64%, rgba(24,18,26,.38) 100%);
      filter: blur(3px);
    }

    .hero-slide.leaving::before {
      animation: flipLight var(--flip-duration) cubic-bezier(.48,.08,.22,.98) forwards;
    }

    @keyframes pageLeave {
      0% { opacity: 1; transform: perspective(2200px) rotateY(0deg) translateX(0) scale(1); filter: brightness(1); }
      36% { opacity: 1; transform: perspective(2200px) rotateY(-24deg) skewY(-1.2deg) translateX(-3%) scaleX(.99) scaleY(1.01); filter: brightness(.96); border-radius: 0 8% 8% 0; }
      68% { opacity: .96; transform: perspective(2200px) rotateY(-61deg) skewY(-2deg) translateX(-15%) scaleX(.94) scaleY(1.02); filter: brightness(.72); border-radius: 0 15% 15% 0; }
      100% { opacity: 0; transform: perspective(2200px) rotateY(-92deg) skewY(-2.5deg) translateX(-36%) scaleX(.88) scaleY(1.025); filter: brightness(.4); border-radius: 0 22% 22% 0; }
    }

    @keyframes flipLight {
      0%, 12% { opacity: 0; transform: translateX(0) scaleX(.1); }
      42% { opacity: .75; transform: translateX(-10%) scaleX(.9); }
      76% { opacity: .4; transform: translateX(-65%) scaleX(1.6); }
      100% { opacity: 0; transform: translateX(-110%) scaleX(.25); }
    }
    .hero-slide img { height: 100%; filter: sepia(.05) saturate(.84); }
    .hero-slide::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(38,30,41,.78), rgba(38,30,41,.28) 55%, rgba(38,30,41,.13)),
        linear-gradient(180deg, rgba(30,24,32,.08), rgba(30,24,32,.55));
    }
    .hero-content {
      position: relative;
      z-index: 5;
      min-height: 100vh;
      width: min(1200px, 100%);
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: flex-end;
      padding: 110px 42px 118px;
      text-align: center;
    }
    .hero-copy { max-width: 820px; color: white; display:flex; flex-direction:column; align-items:center; }
    .eyebrow, .section-kicker {
      margin-bottom: 16px;
      color: var(--lavender);
      font: 500 .72rem/1 var(--sans);
      letter-spacing: .3em;
      text-transform: uppercase;
    }
    .hero-title {
      font-size: clamp(4.4rem, 10vw, 8.3rem);
      line-height: .82;
      font-weight: 600;
      font-style: italic;
      letter-spacing: -.06em;
    }
    .hero-text {
      max-width: 550px;
      margin-top: 28px;
      color: #eee8ef;
      font-size: clamp(1.25rem, 2.3vw, 1.7rem);
      line-height: 1.55;
      font-style: italic;
    }
    .hero-link {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-top: 36px;
      padding: 15px 22px;
      border: 1px solid rgba(255,255,255,.42);
      border-radius: 999px;
      background: rgba(255,255,255,.09);
      backdrop-filter: blur(8px);
    }
    .hero-controls {
      position: absolute;
      z-index: 6;
      left: 42px;
      bottom: 34px;
      display: flex;
      align-items: center;
      gap: 13px;
    }
    .carousel-btn {
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255,255,255,.3);
      border-radius: 50%;
      color: white;
      cursor: pointer;
      background: rgba(29,23,31,.32);
    }
    .counter { color: white; font: 400 .72rem/1 var(--sans); letter-spacing: .15em; }

    /* DIVISÓRIAS RASGADAS MAIS REALISTAS */
    .paper-section { position: relative; isolation: isolate; }

    .paper-section::before,
    .paper-section::after {
      content: "";
      position: absolute;
      left: -2%;
      width: 104%;
      pointer-events: none;
    }

    .paper-section::before {
      z-index: 10;
      top: -38px;
      height: 76px;
      background: var(--tear, var(--paper));
      filter: drop-shadow(0 -7px 7px rgba(79,61,51,.12)) drop-shadow(0 4px 3px rgba(255,255,255,.22));
      clip-path: polygon(0 58%,2% 48%,4% 62%,6% 43%,8% 59%,10% 39%,12% 63%,14% 46%,16% 66%,18% 41%,20% 60%,22% 37%,24% 64%,26% 49%,28% 68%,30% 43%,32% 61%,34% 38%,36% 65%,38% 47%,40% 69%,42% 41%,44% 60%,46% 36%,48% 67%,50% 48%,52% 69%,54% 39%,56% 63%,58% 37%,60% 66%,62% 44%,64% 68%,66% 40%,68% 61%,70% 36%,72% 65%,74% 47%,76% 69%,78% 40%,80% 62%,82% 35%,84% 67%,86% 44%,88% 68%,90% 38%,92% 64%,94% 42%,96% 67%,98% 48%,100% 59%,100% 100%,0 100%);
    }

    .paper-section::after {
      z-index: 11;
      top: -27px;
      height: 25px;
      opacity: .58;
      background: repeating-linear-gradient(94deg, rgba(100,76,61,.18) 0 1px, transparent 1px 7px);
      clip-path: polygon(0 72%,5% 49%,10% 69%,15% 43%,20% 67%,25% 48%,30% 73%,35% 45%,40% 68%,45% 42%,50% 72%,55% 47%,60% 70%,65% 43%,70% 67%,75% 46%,80% 73%,85% 44%,90% 69%,95% 48%,100% 71%,100% 100%,0 100%);
    }

    /* CONTEÚDO */
    .section { padding: clamp(95px, 12vw, 165px) 24px; }
    .container { width: min(1160px, 100%); margin: auto; }
    .section-kicker { color: var(--grape); }
    .section-title {
      max-width: 900px;
      color: var(--grape-dark);
      font-size: clamp(3.3rem, 7vw, 6.2rem);
      line-height: .91;
      font-weight: 600;
      font-style: italic;
      letter-spacing: -.045em;
    }
    .section-lead {
      max-width: 700px;
      margin-top: 27px;
      color: var(--muted);
      font-size: clamp(1.2rem, 2.2vw, 1.62rem);
      line-height: 1.65;
    }
    .prologue-section { background:var(--paper); overflow:visible; }
    .prologue-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(64px,8vw,120px); align-items:center; }
    .prologue-visual { position:relative; min-height:640px; }
    .prologue-main-photo { width:82%; height:600px; overflow:hidden; box-shadow:var(--shadow); }
    .prologue-main-photo img { height:100%; filter:sepia(.06) saturate(.86); }
    .prologue-polaroid { position:absolute; right:0; bottom:18px; width:min(280px,47%); padding:12px 12px 26px; background:#fffaf0; transform:rotate(5deg); box-shadow:0 24px 58px rgba(72,57,79,.24); }
    .prologue-polaroid img { aspect-ratio:4/3; filter:sepia(.04) saturate(.9); }
    .prologue-polaroid figcaption { margin-top:12px; text-align:center; color:var(--grape-dark); font:400 1.9rem/1 var(--script); }
    .prologue-copy p { color:var(--muted); font-size:1.22rem; line-height:1.68; }

    .editorial {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(48px, 8vw, 105px);
      align-items: center;
    }
    .editorial-image {
      min-height: 560px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }
    .editorial-image img { height: 560px; filter: sepia(.06) saturate(.84); }
    .editorial-copy p {
      color: var(--muted);
      font-size: 1.22rem;
      line-height: 1.68;
    }
    .ornament { width: 120px; height: 1px; margin: 30px 0; background: linear-gradient(90deg,var(--mauve),transparent); }
    .quote {
      padding-left: 22px;
      border-left: 2px solid var(--mauve);
      color: var(--grape-dark);
      font-size: clamp(2rem,4vw,3rem);
      line-height: 1.2;
      font-style: italic;
    }

    /* TIMELINE HORIZONTAL PELO SCROLL VERTICAL */
    .timeline-section {
      --tear: #eee7dc;
      position: relative;
      height: 450vh;
      padding: 0;
      background:
        radial-gradient(circle at 85% 18%, rgba(200,195,230,.2), transparent 26rem),
        #eee7dc;
    }
    .timeline-sticky {
      position: sticky;
      top: 0;
      height: 100vh;
      min-height: 760px;
      overflow: hidden;
      display: grid;
      grid-template-rows: auto 1fr auto;
      align-items: stretch;
      padding: 72px 0 28px;
    }
    .timeline-heading {
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto 18px;
      position: relative;
      z-index: 4;
    }
    .timeline-viewport {
      width: 100%;
      min-height: 0;
      overflow: hidden;
      display: flex;
      align-items: center;
      padding: 20px 0 28px;
    }
    .timeline-track {
      position: relative;
      display: flex;
      align-items: center;
      gap: clamp(60px, 7vw, 110px);
      width: max-content;
      padding: 20px 13vw 28px;
      will-change: transform;
      transform: translate3d(0,0,0);
    }
    .timeline-track::before {
      content: "";
      position: absolute;
      left: 6vw;
      right: 6vw;
      top: 50%;
      height: 2px;
      background: linear-gradient(90deg,var(--lavender),var(--mauve),var(--grape));
      opacity: .7;
    }
    .memory-card {
      position: relative;
      z-index: 2;
      flex: 0 0 auto;
      width: clamp(320px, 29vw, 410px);
      min-height: 440px;
      max-height: min(520px, 61vh);
      padding: 14px 14px 34px;
      background: var(--paper-light);
      box-shadow: 0 20px 50px rgba(75,59,80,.16);
      opacity: .38;
      transform: rotate(var(--tilt,-2deg)) translateY(var(--lift,0)) scale(.92);
      transition: opacity .55s ease, transform .7s cubic-bezier(.2,.75,.16,1), box-shadow .3s ease;
    }
    .memory-card:nth-child(even) { --tilt: 2.5deg; --lift: 28px; }
    .memory-card:nth-child(3n) { --tilt: -3.2deg; --lift: -10px; }
    .memory-card.active {
      opacity: 1;
      transform: rotate(var(--tilt,-2deg)) translateY(var(--lift,0)) scale(1);
    }
    .memory-photo { overflow: hidden; background: #ddd; }

    .memory-card img {
      width: 100%;
      height: clamp(210px, 25vh, 280px);
      object-fit: cover;
      filter: sepia(.06) saturate(.84);
      transition: transform .7s ease, filter .7s ease;
    }

    .memory-card:hover img {
      transform: scale(1.09);
      filter: sepia(.02) saturate(1);
    }
    .memory-year { margin: 20px 7px 8px; color: var(--grape); font: 500 .72rem/1 var(--sans); letter-spacing: .18em; }
    .memory-title { margin: 0 7px; color: var(--grape-dark); font-size: 2.2rem; line-height: 1; font-style: italic; }
    .memory-text { margin: 14px 7px 0; color: var(--muted); font-size: 1.12rem; line-height: 1.58; }
    .timeline-progress {
      position: absolute;
      left: 50%;
      bottom: 24px;
      width: min(520px,70vw);
      height: 2px;
      transform: translateX(-50%);
      background: rgba(113,100,126,.2);
    }
    .timeline-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--lavender),var(--grape)); }

    /* MÚSICA */
    .music-section {
      --tear: #81738d;
      color: white;
      background: linear-gradient(145deg,#665b70,#8d7d98);
    }
    .music-section .section-kicker, .music-section .section-title, .music-section .section-lead { color: white; }
    .music-layout {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: clamp(44px,7vw,88px);
      align-items: center;
      margin-top: 68px;
    }
    .turntable {
      position: relative;
      width: min(500px,95vw);
      min-height: 390px;
      padding: 34px;
      border-radius: 28px;
      background: linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.06)),#b7a3ba;
      box-shadow: 0 30px 75px rgba(49,38,53,.3), inset 0 0 0 1px rgba(255,255,255,.18);
    }
    .platter {
      position: absolute;
      left: 32px;
      top: 40px;
      width: min(305px,62vw);
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #7c7180;
    }
    .vinyl {
      width: 90%;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: repeating-radial-gradient(circle,#171417 0 3px,#29222a 4px 6px);
      box-shadow: 0 13px 30px rgba(0,0,0,.35);
      animation: spin 8s linear infinite;
      animation-play-state: paused;
    }
    .vinyl.playing { animation-play-state: running; }
    @keyframes spin { to { transform: rotate(360deg); } }
    .vinyl-label {
      width: 36%;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      border-radius: 50%;
      text-align: center;
      color: var(--grape-dark);
      background: var(--lavender);
      font-style: italic;
      font-weight: 600;
    }
    .tonearm {
      position: absolute;
      top: 73px;
      right: 52px;
      width: 118px;
      height: 210px;
      transform-origin: 82% 8%;
      transform: rotate(-15deg);
      transition: transform .9s cubic-bezier(.2,.75,.16,1);
    }
    .tonearm.playing { transform: rotate(16deg); }
    .tonearm::before {
      content: "";
      position: absolute;
      right: 10px;
      width: 31px;
      height: 31px;
      border-radius: 50%;
      background: #665b69;
      box-shadow: inset 0 0 0 8px #c9bccd;
    }
    .tonearm::after {
      content: "";
      position: absolute;
      top: 27px;
      right: 28px;
      width: 8px;
      height: 160px;
      border-radius: 999px;
      background: linear-gradient(#eee9ef,#756a79);
      transform: rotate(18deg);
      transform-origin: top;
    }
    .play-btn {
      position: absolute;
      right: 35px;
      bottom: 32px;
      width: 60px;
      height: 60px;
      border: 1px solid rgba(255,255,255,.3);
      border-radius: 50%;
      color: white;
      cursor: pointer;
      background: linear-gradient(135deg,var(--mauve),var(--grape));
    }
    .song-title { font-size: clamp(3.3rem,7vw,5.8rem); line-height: .88; font-style: italic; }
    .song-meta { margin-top: 13px; font: 400 .74rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
    .song-copy { margin-top: 28px; font-size: 1.22rem; line-height: 1.65; color: #f0eaf1; }

    /* BENTO */
    .gallery-section { --tear: var(--paper); }
    .bento {
      display: grid;
      grid-template-columns: repeat(12,1fr);
      grid-auto-rows: 125px;
      gap: 16px;
      margin-top: 70px;
    }
    .bento figure {
      overflow: hidden;
      border: 7px solid var(--paper-light);
      box-shadow: 0 16px 42px rgba(76,60,81,.14);
    }
    .bento figure:nth-child(1) { grid-column: span 5; grid-row: span 4; }
    .bento figure:nth-child(2) { grid-column: span 3; grid-row: span 2; }
    .bento figure:nth-child(3) { grid-column: span 4; grid-row: span 3; }
    .bento figure:nth-child(4) { grid-column: span 3; grid-row: span 3; }
    .bento figure:nth-child(5) { grid-column: span 4; grid-row: span 2; }
    .bento figure:nth-child(6) { grid-column: span 5; grid-row: span 3; }
    .bento figure:nth-child(7) { grid-column: span 3; grid-row: span 2; }
    .bento figure:nth-child(8) { grid-column: span 4; grid-row: span 3; }
    .bento figure:nth-child(9) { grid-column: span 3; grid-row: span 2; }
    .bento img { height: 100%; filter: sepia(.05) saturate(.84); transition: transform .7s ease; }
    .bento figure:hover img { transform: scale(1.05); }

    /* CARTA */
    .letter-section {
      --tear: #efe3cd;
      overflow: hidden;
      background: #efe3cd;
    }
    .letter-stage { position: relative; max-width: 920px; margin: 72px auto 0; perspective: 1300px; }
    .letter {
      position: relative;
      padding: clamp(75px,9vw,115px) clamp(38px,8vw,100px);
      color: #4d423e;
      background:
        radial-gradient(circle at 10% 10%,rgba(135,99,54,.08),transparent 14rem),
        repeating-linear-gradient(180deg,transparent 0 39px,rgba(102,82,71,.065) 40px),
        #f6e8ca;
      clip-path: polygon(3% 1%,14% 3%,27% 1%,39% 3%,52% 1%,66% 3%,79% 1%,94% 3%,98% 8%,96% 20%,99% 35%,96% 49%,99% 64%,96% 80%,98% 94%,88% 98%,74% 96%,61% 99%,47% 96%,34% 99%,21% 96%,7% 99%,2% 93%,4% 78%,1% 63%,4% 48%,1% 32%,4% 17%);
      box-shadow:
        0 45px 110px rgba(67,51,41,.42),
        0 15px 32px rgba(67,51,41,.22),
        inset 0 0 80px rgba(146,108,63,.13),
        inset 0 0 0 1px rgba(100,75,45,.14);
    }
    .letter::before, .letter::after {
      content: "";
      position: absolute;
      left: 5%;
      right: 5%;
      height: 25px;
      border-radius: 50%;
      background: rgba(99,70,44,.12);
      filter: blur(10px);
    }
    .letter::before { top: -9px; }
    .letter::after { bottom: -9px; }
    .letter p { margin-bottom: 27px; font: 400 clamp(1rem,1.8vw,1.28rem)/2.05 var(--hand); }
    .letter-mark { position: absolute; color: rgba(94,70,55,.35); font-family: var(--hand); font-size: .78rem; }
    .mark-one { top: 8%; left: 5%; transform: rotate(-7deg); }
    .mark-two { right: 5%; bottom: 12%; transform: rotate(6deg); }
    .ink-stain { position: absolute; border-radius: 50%; background: rgba(79,59,53,.08); filter: blur(3px); }
    .stain-one { left: 8%; bottom: 8%; width: 34px; height: 24px; }
    .stain-two { right: 10%; top: 16%; width: 22px; height: 18px; }
    .signature { margin-top: 48px; color: var(--grape-dark); font: 400 clamp(2.8rem,6vw,4.8rem)/1 var(--script); }
    .letter-date { margin-top: 13px; color: var(--muted); font: 400 .72rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }

    /* EPÍLOGO */
    .epilogue {
      --tear: #82758e;
      position: relative;
      min-height: 100vh;
      display: grid;
      place-items: center;
      overflow: hidden;
      text-align: center;
      color: white;
      background: radial-gradient(circle at 50% 30%,rgba(220,216,237,.34),transparent 28rem),linear-gradient(135deg,#695d73,#92819c);
    }
    .epilogue-content { position: relative; z-index: 4; width: min(920px,100%); pointer-events: none; }
    .epilogue-title { font-size: clamp(4rem,11vw,9rem); line-height: .84; font-style: italic; font-weight: 500; letter-spacing: -.06em; }
    .epilogue-script { display: block; margin-top: 30px; font: 400 clamp(2.8rem,7vw,5.2rem)/1 var(--script); }
    .petal {
      position: absolute;
      z-index: 2;
      top: -12vh;
      width: 18px;
      height: 28px;
      border-radius: 80% 0 80% 0;
      background: #c8a9cc;
      opacity: .72;
      animation: fall linear infinite;
      will-change: transform, translate;
      transition: translate .42s cubic-bezier(.2,.8,.2,1), rotate .42s ease, scale .42s ease;
    }
    @keyframes fall { to { transform: translate3d(var(--drift,70px),120vh,0) rotate(560deg); } }

    .reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s ease, transform .9s ease; }
    .reveal.visible { opacity: 1; transform: none; }

    @media (max-width: 900px) {
      .editorial, .music-layout { grid-template-columns: 1fr; }
      .bento { grid-template-columns: repeat(6,1fr); }
      .bento figure:nth-child(n) { grid-column: span 3; grid-row: span 2; }
      .bento figure:nth-child(1), .bento figure:nth-child(6) { grid-column: span 6; grid-row: span 3; }
    }
    @media (max-width: 650px) {
      .hero-content { align-items: end; padding: 110px 24px 105px; }
      .hero-controls { left: 24px; }
      .editorial-image, .editorial-image img { min-height: 430px; height: 430px; }
      .timeline-sticky { min-height: 600px; padding-top: 58px; }
      .timeline-heading { width: calc(100% - 36px); }
      .timeline-track { padding-inline: 9vw; }
      .turntable { min-height: 330px; }
      .platter { left: 22px; width: min(260px,68vw); }
      .tonearm { display: none; }
      .bento { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
      .bento figure:nth-child(n) { grid-column: span 1; grid-row: span 2; }
      .bento figure:nth-child(1), .bento figure:nth-child(6) { grid-column: span 2; grid-row: span 2; }
      .letter { padding: 72px 28px; }
    }
    @media (max-width: 480px) {
      .bento { grid-template-columns: 1fr; grid-auto-rows: 280px; }
      .bento figure:nth-child(n) { grid-column: span 1; grid-row: span 1; }
      .counter { display: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }
  


/* V9 — ajustes finais */
:root { --flip-duration: .74s; --flip-duration-ms: 740; }

/* Remove qualquer vestígio das divisórias antigas. */
.paper-section::before,.paper-section::after,.section-divider{display:none!important;content:none!important;}

/* O SVG fornecido funciona apenas como recorte entre Hero e Prólogo. */
.hero{overflow:hidden;}
.hero-cut{position:absolute;z-index:8;left:0;right:0;bottom:-1px;height:150px;color:var(--paper);pointer-events:none;overflow:hidden;}
.hero-cut-svg{display:block;width:100%;height:150px;filter:drop-shadow(0 -8px 14px rgba(33,26,36,.16));}
.hero-controls{bottom:155px;}
.hero-content{padding-bottom:190px;}

/* Flip mais rápido, curvo e com leitura de folha. */
.hero-slide.leaving{animation:pageLeave var(--flip-duration) cubic-bezier(.48,.04,.17,.98) forwards!important;}
.hero-slide.leaving::before{animation:flipLight var(--flip-duration) cubic-bezier(.48,.04,.17,.98) forwards!important;}
@keyframes pageLeave{
  0%{opacity:1;transform:perspective(2300px) rotateY(0) translateX(0) scale(1);filter:brightness(1);border-radius:0;}
  28%{opacity:1;transform:perspective(2300px) rotateY(-18deg) skewY(-.8deg) translateX(-1.5%) scaleX(.995) scaleY(1.006);filter:brightness(.98);border-radius:0 5% 5% 0;}
  62%{opacity:.98;transform:perspective(2300px) rotateY(-58deg) skewY(-1.8deg) translateX(-14%) scaleX(.94) scaleY(1.018);filter:brightness(.76);border-radius:0 16% 16% 0;}
  100%{opacity:0;transform:perspective(2300px) rotateY(-96deg) skewY(-2.5deg) translateX(-38%) scaleX(.84) scaleY(1.026);filter:brightness(.4);border-radius:0 24% 24% 0;}
}

@keyframes flipLight{
  0%,8%{opacity:0;transform:translateX(20%) scaleX(.05)}
  42%{opacity:.9;transform:translateX(-6%) scaleX(.75)}
  75%{opacity:.42;transform:translateX(-68%) scaleX(1.8)}
  100%{opacity:0;transform:translateX(-120%) scaleX(.2)}
}

/* Carta mais destacada do fundo. */
.letter-stage{filter:drop-shadow(0 42px 45px rgba(67,51,41,.28));}
.letter{transform:translateY(-10px) rotateX(.5deg);box-shadow:0 68px 145px rgba(67,51,41,.52),0 24px 48px rgba(67,51,41,.28),inset 0 0 95px rgba(146,108,63,.14),inset 0 0 0 1px rgba(100,75,45,.16)!important;}
.letter-section{background:radial-gradient(circle at 50% 45%,rgba(255,250,238,.9),transparent 42rem),#e7d6ba!important;}

/* Vitrola 3D com quatro discos. */
.music-section{background:radial-gradient(circle at 18% 22%,rgba(220,213,238,.18),transparent 27rem),linear-gradient(145deg,#554a5f,#81728d 56%,#9b8aa5)!important;overflow:hidden;}
.music-container{position:relative;z-index:2;}
.music-intro{max-width:900px;}
.jukebox-layout{display:grid;grid-template-columns:minmax(480px,1.1fr) minmax(360px,.9fr);gap:clamp(48px,7vw,96px);align-items:center;margin-top:72px;}
.record-player{position:relative;min-height:560px;perspective:1400px;}
.player-lid{position:absolute;left:5%;right:5%;top:0;height:265px;border:1px solid rgba(255,255,255,.17);border-radius:30px 30px 8px 8px;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transform:rotateX(-13deg);transform-origin:bottom;backdrop-filter:blur(3px);}
.player-deck{position:absolute;left:0;right:0;bottom:0;height:430px;border-radius:30px;background:linear-gradient(145deg,#bdaec3,#8e7e98 68%,#74667c);box-shadow:0 42px 95px rgba(34,27,38,.36),inset 0 1px 0 rgba(255,255,255,.34),inset 0 -18px 45px rgba(47,37,52,.18);transform:rotateX(4deg);transform-style:preserve-3d;}
.platter-3d{position:absolute;left:42px;top:45px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,#87798c 0 61%,#65596a 62% 66%,#9b8da0 67%);box-shadow:inset 0 12px 22px rgba(255,255,255,.1),0 20px 35px rgba(40,31,44,.3);transform:rotateX(63deg) rotateZ(-6deg);transform-style:preserve-3d;}
.record-stack{position:absolute;inset:17px;border-radius:50%;transform-style:preserve-3d;}
.record-3d{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#141217 0 2px,#272229 3px 5px,#171419 6px 8px);box-shadow:0 18px 28px rgba(0,0,0,.48),inset 0 0 0 2px rgba(255,255,255,.025);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.82,.2,1),opacity .42s ease,filter .42s ease;}
.record-3d::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,transparent 12%,rgba(255,255,255,.12) 28%,transparent 40% 60%,rgba(255,255,255,.07) 72%,transparent 85%);mix-blend-mode:screen;}
.record-grooves{position:absolute;inset:6%;border-radius:50%;border:1px solid rgba(255,255,255,.035);box-shadow:0 0 0 13px rgba(255,255,255,.016),0 0 0 31px rgba(255,255,255,.012),0 0 0 52px rgba(255,255,255,.012),0 0 0 74px rgba(255,255,255,.01);}
.record-label{position:absolute;z-index:3;left:50%;top:50%;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;border-radius:50%;text-align:center;color:#5f5266;background:radial-gradient(circle at 35% 30%,#fff,#d6cae1 62%,#b5a4c2);transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px rgba(74,61,80,.15);font:600 1rem/1.1 var(--serif);}
.record-label small{margin-top:5px;font:500 .5rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;}
.record-3d.spinning{animation:recordSpin 3.8s linear infinite;}
.record-3d.ejecting{transform:translate3d(-145px,-130px,120px) rotateZ(-34deg) scale(.76);opacity:0;filter:blur(2px);}
.record-3d.entering{animation:recordEnter .72s cubic-bezier(.2,.8,.18,1);}
@keyframes recordSpin{to{transform:rotateZ(360deg)}}
@keyframes recordEnter{0%{transform:translate3d(155px,-120px,130px) rotateZ(46deg) scale(.73);opacity:0}100%{transform:none;opacity:1}}
.spindle{position:absolute;z-index:5;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:#e5dce8;box-shadow:0 0 0 4px rgba(65,52,70,.38);transform:translate(-50%,-50%) translateZ(8px);}
.tonearm-3d{position:absolute;right:54px;top:48px;width:42px;height:278px;border-radius:28px;transform-origin:50% 22px;transform:rotate(-20deg);transition:transform .55s cubic-bezier(.2,.8,.2,1);z-index:9;}
.tonearm-3d::before{content:"";position:absolute;left:8px;top:0;width:28px;height:28px;border-radius:50%;background:#65596b;box-shadow:0 0 0 8px #c8bdca;}
.tonearm-3d::after{content:"";position:absolute;left:17px;top:25px;width:8px;height:220px;border-radius:999px;background:linear-gradient(90deg,#ded7df,#766b7a,#f0eaf0);transform:rotate(7deg);transform-origin:top;box-shadow:3px 6px 8px rgba(39,31,43,.2);}
.tonearm-3d .needle{position:absolute;left:2px;bottom:10px;width:35px;height:54px;border-radius:7px;background:#514653;transform:rotate(7deg);box-shadow:0 8px 12px rgba(35,28,38,.28);}
.tonearm-3d.playing{transform:rotate(11deg);}
.tonearm-3d.lifting{transform:rotate(-34deg) translateY(-15px);}
.player-control{position:absolute;right:50px;bottom:42px;width:70px;height:70px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:white;cursor:pointer;background:linear-gradient(145deg,#a996b2,#65586e);box-shadow:0 14px 24px rgba(45,35,49,.28),inset 0 1px 0 rgba(255,255,255,.24);transition:transform .25s ease;}
.player-control:hover{transform:translateY(-3px) scale(1.04);}
.player-status{position:absolute;left:54px;bottom:32px;display:flex;align-items:center;gap:10px;color:#fff;font:400 .67rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;}
.player-status span{width:9px;height:9px;border-radius:50%;background:#d8cddd;box-shadow:0 0 0 4px rgba(255,255,255,.08);}
.player-status span.live{background:#d9a8b8;box-shadow:0 0 14px rgba(255,190,208,.8);}
.album-panel{padding:8px 0;color:white;}
.album-overline{margin-bottom:18px;color:#e9e1eb;font:500 .68rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;}
.album-list{display:grid;gap:11px;}
.album-choice{width:100%;display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:11px 14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:white;text-align:left;cursor:pointer;background:rgba(255,255,255,.055);transition:background .28s ease,transform .28s ease,border-color .28s ease;}
.album-choice:hover,.album-choice.active{transform:translateX(7px);background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28);}
.album-thumb{width:64px;height:64px;overflow:hidden;display:grid;place-items:center;border-radius:10px;background:#342d37;box-shadow:0 8px 20px rgba(30,23,33,.25);}
.album-thumb img{width:100%;height:100%;object-fit:cover;}
.album-thumb i{font-style:normal;font-size:1.8rem;}
.art-dandelion{color:#fff;background:radial-gradient(circle at 52% 40%,#f5efd4 0 5%,transparent 6%),radial-gradient(circle at 50% 50%,rgba(251,244,212,.95),rgba(78,102,94,.3) 25%,transparent 35%),linear-gradient(145deg,#79948a,#30413f);}
.art-golden{color:#7c5a34;background:radial-gradient(circle at 50% 44%,#fff8ce 0 16%,#edc781 17% 31%,transparent 32%),linear-gradient(160deg,#8aa0c6,#efd09b 60%,#92715f);}
.album-choice b{display:block;font:600 1.22rem/1 var(--serif);}
.album-choice small{display:block;margin-top:5px;color:#d8cedc;font:400 .64rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;}
.album-choice em{color:#cfc2d3;font:400 .68rem/1 var(--sans);font-style:normal;}
.now-playing-copy{margin-top:34px;padding-top:25px;border-top:1px solid rgba(255,255,255,.16);}
.now-playing-copy span{font:500 .62rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#d9cedd;}
.now-playing-copy h3{margin-top:10px;font:500 clamp(2.9rem,5vw,4.8rem)/.88 var(--serif);font-style:italic;}
.now-playing-copy p{margin-top:10px;font:400 .72rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#e4dce7;}
.audio-note{margin-top:22px;color:#d8cedc;font-size:.98rem;line-height:1.55;}
@media(max-width:980px){.jukebox-layout{grid-template-columns:1fr}.record-player{max-width:650px;margin:auto;width:100%}}
@media(max-width:620px){.hero-cut,.hero-cut-svg{height:92px}.hero-content{padding-bottom:135px}.hero-controls{bottom:96px}.record-player{min-height:440px}.player-lid{height:200px}.player-deck{height:350px}.platter-3d{left:20px;top:34px;width:255px;height:255px}.record-label{width:84px;height:84px;font-size:.78rem}.tonearm-3d{right:28px;top:35px;height:220px}.tonearm-3d::after{height:165px}.tonearm-3d .needle{bottom:44px}.player-control{right:25px;bottom:28px;width:58px;height:58px}.player-status{left:28px;bottom:25px}.album-choice{grid-template-columns:56px 1fr auto}.album-thumb{width:56px;height:56px}}



  /* Hero: no divider or cut */
  .hero-cut,
  .hero-cut-svg,
  .section-divider,
  .section-divider-svg {
    display: none !important;
  }

  .hero {
    margin-bottom: 0;
  }

  /* Prologue: both photos are now polaroids */
  .prologue-visual {
    min-height: 690px;
    padding: 26px 24px 58px 8px;
  }

  .prologue-main-photo {
    position: relative;
    width: 84%;
    height: auto;
    margin: 0;
    padding: 16px 16px 54px;
    overflow: visible;
    background: #fffaf0;
    transform: rotate(-1.5deg);
    box-shadow:
      0 32px 72px rgba(72,57,79,.22),
      0 10px 22px rgba(72,57,79,.12),
      inset 0 0 0 1px rgba(87,68,91,.06);
  }

  .prologue-main-photo::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: -1;
    background: rgba(70,53,74,.13);
    filter: blur(18px);
    transform: translateY(24px);
  }

  .prologue-main-photo img {
    width: 100%;
    height: 540px;
    object-fit: cover;
    filter: sepia(.06) saturate(.86);
  }

  .prologue-main-photo figcaption {
    margin-top: 16px;
    text-align: center;
    color: var(--grape-dark);
    font: 400 2.2rem/1 var(--script);
  }

  .prologue-polaroid {
    right: -4px;
    bottom: 0;
    z-index: 3;
    transform: rotate(5deg);
  }

  /* Timeline: cards always stay above the line */
  .timeline-section {
    --timeline-progress: 0;
    height: 520vh;
  }

  .timeline-sticky {
    min-height: 720px;
    padding-bottom: 46px;
  }

  .timeline-viewport {
    position: relative;
    isolation: isolate;
    padding-top: 24px;
    padding-bottom: 44px;
  }

  .timeline-track {
    z-index: 2;
    padding-left: 0;
    padding-right: 0;
  }

  .timeline-track::before,
  .timeline-track::after {
    content: "";
    position: absolute;
    left: -50vw;
    top: 50%;
    width: calc(100% + 100vw);
    height: 3px;
    transform: translateY(-50%);
    border-radius: 999px;
    pointer-events: none;
  }

  .timeline-track::before {
    z-index: -2;
    background: rgba(132,116,151,.22);
    box-shadow: inset 0 1px 2px rgba(72,57,79,.08);
  }

  .timeline-track::after {
    z-index: -1;
    width: calc((100% + 100vw) * var(--timeline-progress));
    background: linear-gradient(90deg, var(--lavender), var(--mauve), var(--grape));
    box-shadow:
      0 0 10px rgba(142,127,164,.28),
      0 0 24px rgba(142,127,164,.15);
    transition: width .08s linear;
  }

  .memory-card {
    z-index: 3;
  }

  .memory-card.active {
    z-index: 6;
  }

  /* Loader-style progress line */
  .timeline-progress {
    bottom: 22px;
    width: min(640px, 72vw);
    height: 4px;
    border-radius: 999px;
    background: rgba(113,100,126,.16);
    box-shadow: inset 0 1px 2px rgba(75,59,80,.1);
  }

  .timeline-progress > span {
    position: relative;
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,var(--lavender),var(--mauve),var(--grape));
    box-shadow:
      0 0 9px rgba(142,127,164,.42),
      0 0 20px rgba(142,127,164,.2);
    transition: width .08s linear;
  }

  .timeline-progress > span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -7px;
    width: 14px;
    height: 14px;
    border: 3px solid #eee7dc;
    border-radius: 50%;
    transform: translateY(-50%);
    background: var(--grape);
    box-shadow:
      0 0 0 3px rgba(142,127,164,.18),
      0 0 16px rgba(142,127,164,.45);
  }

  .progress-dot {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: calc(var(--dot) * 100%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    background: #d5cadc;
    box-shadow: 0 0 0 3px #eee7dc;
    transition: background .25s ease, transform .25s ease;
  }

  .timeline-progress[data-step="1"] .progress-dot:nth-of-type(-n+1),
  .timeline-progress[data-step="2"] .progress-dot:nth-of-type(-n+2),
  .timeline-progress[data-step="3"] .progress-dot:nth-of-type(-n+3),
  .timeline-progress[data-step="4"] .progress-dot:nth-of-type(-n+4),
  .timeline-progress[data-step="5"] .progress-dot:nth-of-type(-n+5) {
    background: var(--grape);
    transform: translate(-50%,-50%) scale(1.28);
  }

  @media (max-width: 900px) {
    .prologue-visual {
      min-height: 610px;
    }

    .prologue-main-photo {
      width: 88%;
    }

    .prologue-main-photo img {
      height: 490px;
    }
  }

  @media (max-width: 650px) {
    .prologue-visual {
      min-height: 500px;
      padding: 10px 10px 40px;
    }

    .prologue-main-photo {
      width: 90%;
      padding: 11px 11px 43px;
    }

    .prologue-main-photo img {
      height: 390px;
    }

    .prologue-main-photo figcaption {
      font-size: 1.75rem;
    }

    .timeline-section {
      height: 560vh;
    }

    .timeline-track::before,
    .timeline-track::after {
      height: 2px;
    }
  }



  /* The lower timeline loader was intentionally removed. */
  .timeline-progress {
    display: none !important;
  }

  /* Photo covers */
  .album-thumb {
    position: relative;
    background: #302935;
  }

  .album-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(145deg, rgba(255,255,255,.13), transparent 45%, rgba(30,23,33,.16));
  }

  .album-thumb img {
    transform: scale(1.02);
    transition: transform .45s ease, filter .45s ease;
  }

  .album-choice:hover .album-thumb img,
  .album-choice.active .album-thumb img {
    transform: scale(1.1);
    filter: saturate(1.08) contrast(1.03);
  }

  .record-label.has-cover,
  .record-label[style*="background-image"] {
    overflow: hidden;
    color: white;
    background-position: center;
    background-size: cover;
    text-shadow: 0 1px 8px rgba(20,14,22,.85);
  }

  .record-label.has-cover::before,
  .record-label[style*="background-image"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(rgba(35,27,38,.08), rgba(35,27,38,.46));
  }

  /* Correct needle geometry: the stylus now lands on the outer groove. */
  .tonearm-3d {
    right: 48px !important;
    top: 43px !important;
    height: 278px !important;
    transform-origin: 50% 22px !important;
    transform: rotate(-4deg) !important;
    transition: transform .58s cubic-bezier(.22,.78,.2,1), filter .4s ease !important;
  }

  .tonearm-3d::after {
    height: 220px !important;
  }

  .tonearm-3d .needle {
    bottom: 8px !important;
  }

  .tonearm-3d.playing {
    transform: rotate(52deg) !important;
    filter: drop-shadow(5px 9px 8px rgba(35,28,38,.22));
  }

  .tonearm-3d.lifting {
    transform: rotate(-15deg) translateY(-18px) !important;
  }

  /* Medieval writing desk */
  .letter-section {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 76% 16%, rgba(255,195,99,.2), transparent 16rem),
      repeating-linear-gradient(92deg,
        rgba(255,255,255,.018) 0 2px,
        rgba(43,19,9,.035) 3px 8px),
      linear-gradient(100deg,#3a1c10,#5a2c16 48%,#32170d) !important;
  }

  .letter-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .38;
    mix-blend-mode: soft-light;
    background:
      repeating-linear-gradient(2deg,
        transparent 0 28px,
        rgba(255,225,181,.09) 29px,
        transparent 31px),
      radial-gradient(ellipse at center, transparent 25%, rgba(14,6,3,.6) 100%);
  }

  .letter-section > .container {
    position: relative;
    z-index: 2;
  }

  .letter-section .section-kicker,
  .letter-section .section-title {
    color: #f2dfbd;
    text-shadow: 0 3px 18px rgba(16,6,2,.42);
  }

  .medieval-letter-stage {
    position: relative;
    max-width: 980px;
    padding: 74px 54px 86px;
    border-radius: 34px;
    background:
      radial-gradient(circle at 77% 9%, rgba(255,191,96,.22), transparent 12rem),
      linear-gradient(135deg,rgba(73,36,17,.92),rgba(42,18,9,.96));
    box-shadow:
      0 58px 130px rgba(13,5,2,.56),
      inset 0 0 0 1px rgba(255,221,173,.08),
      inset 0 0 80px rgba(13,5,2,.52);
  }

  .medieval-letter {
    z-index: 4;
    margin: 0 auto;
    padding: clamp(88px,9vw,125px) clamp(48px,8vw,108px) 120px !important;
    color: #4b321f !important;
    background:
      radial-gradient(circle at 14% 20%, rgba(130,77,31,.16), transparent 14rem),
      radial-gradient(circle at 86% 78%, rgba(117,66,26,.12), transparent 12rem),
      repeating-linear-gradient(0deg,
        transparent 0 37px,
        rgba(91,55,28,.045) 38px,
        transparent 39px),
      linear-gradient(102deg,#c99c61 0%,#efd8aa 8%,#f3dfb6 52%,#d8ad74 100%) !important;
    clip-path: polygon(
      2% 2%,8% 1%,13% 3%,19% 1%,25% 2%,31% 1%,37% 3%,44% 1%,51% 2%,
      58% 1%,65% 3%,72% 1%,79% 2%,86% 1%,94% 3%,98% 2%,
      99% 9%,97% 15%,99% 22%,98% 29%,99% 36%,97% 43%,99% 51%,98% 58%,
      99% 66%,97% 73%,99% 81%,98% 89%,99% 97%,
      93% 99%,86% 97%,78% 99%,70% 98%,62% 99%,54% 97%,46% 99%,38% 98%,
      30% 99%,22% 97%,15% 99%,7% 97%,2% 99%,
      1% 91%,3% 83%,1% 75%,2% 67%,1% 59%,3% 51%,1% 43%,2% 35%,1% 27%,
      3% 19%,1% 11%
    ) !important;
    box-shadow:
      0 52px 95px rgba(15,6,2,.55),
      0 18px 32px rgba(15,6,2,.34),
      inset 22px 0 42px rgba(104,56,21,.12),
      inset -18px 0 38px rgba(104,56,21,.12),
      inset 0 0 0 1px rgba(83,47,20,.15) !important;
    transform: rotate(-1.2deg) !important;
  }

  .medieval-letter::before {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    border-radius: 0 !important;
    opacity: .32;
    filter: none !important;
    background:
      radial-gradient(circle at 7% 8%, rgba(86,43,13,.25), transparent 7rem),
      radial-gradient(circle at 94% 91%, rgba(86,43,13,.22), transparent 8rem),
      linear-gradient(90deg,rgba(90,48,18,.18),transparent 9%,transparent 91%,rgba(90,48,18,.16)) !important;
  }

  .medieval-letter::after {
    bottom: -18px !important;
    left: 4% !important;
    right: 4% !important;
    height: 36px !important;
    background: rgba(18,7,3,.34) !important;
    filter: blur(16px) !important;
  }

  .medieval-letter p {
    position: relative;
    z-index: 2;
    margin-bottom: 25px;
    color: #4a321f;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(1.22rem,2vw,1.55rem) !important;
    line-height: 1.62 !important;
  }

  .medieval-letter .signature {
    position: relative;
    z-index: 3;
    margin-top: 52px;
    color: #50301e;
    font-size: clamp(3rem,6vw,5.2rem);
  }

  .medieval-letter .letter-date {
    position: relative;
    z-index: 3;
    color: #775237;
  }

  .wax-seal {
    position: absolute;
    z-index: 7;
    right: 8%;
    bottom: 34px;
    width: 106px;
    height: 106px;
    display: grid;
    place-items: center;
    border-radius: 48% 52% 46% 54%;
    color: #d99b83;
    background:
      radial-gradient(circle at 36% 30%,rgba(255,158,132,.38),transparent 24%),
      radial-gradient(circle,#a52327 0 48%,#72171b 49% 63%,#4e1114 64%);
    box-shadow:
      0 16px 22px rgba(39,10,7,.4),
      inset 0 0 0 7px rgba(255,161,142,.12),
      inset 0 -9px 15px rgba(55,5,7,.35);
    transform: rotate(8deg);
  }

  .wax-seal span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255,193,176,.34);
    border-radius: 50%;
    font-size: 1.55rem;
    text-shadow: 0 2px 3px rgba(44,5,7,.6);
  }

  .desk-candle {
    position: absolute;
    z-index: 7;
    right: 32px;
    top: 24px;
    width: 76px;
    height: 120px;
    border-radius: 18px 18px 10px 10px;
    background:
      repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 3px,transparent 4px 15px),
      linear-gradient(90deg,#c68a4e,#f0bd72 45%,#ad6e39);
    box-shadow: 0 20px 30px rgba(12,4,1,.44);
  }

  .desk-candle::before {
    content: "";
    position: absolute;
    top: -38px;
    left: 26px;
    width: 22px;
    height: 42px;
    border-radius: 50% 50% 42% 42%;
    background: radial-gradient(circle at 50% 72%,#fff7b1 0 18%,#ffb133 42%,#e86616 70%,transparent 72%);
    filter: drop-shadow(0 0 15px rgba(255,176,54,.8));
    animation: candleFlicker 1.7s ease-in-out infinite alternate;
  }

  .desk-candle::after {
    content: "";
    position: absolute;
    top: 18px;
    left: 18px;
    width: 38px;
    height: 14px;
    border-radius: 50%;
    background: rgba(116,63,31,.18);
  }

  @keyframes candleFlicker {
    from { transform: rotate(-2deg) scale(.96); opacity: .88; }
    to { transform: rotate(2deg) scale(1.05); opacity: 1; }
  }

  .desk-inkwell {
    position: absolute;
    z-index: 7;
    left: 22px;
    top: 42px;
    width: 82px;
    height: 72px;
    border-radius: 34% 34% 24% 24%;
    background: linear-gradient(145deg,#2e211b,#0f0c0b 70%);
    box-shadow: 0 18px 27px rgba(10,4,2,.52), inset 0 3px 0 rgba(255,255,255,.08);
  }

  .desk-inkwell::before {
    content: "";
    position: absolute;
    left: 17px;
    top: -16px;
    width: 48px;
    height: 25px;
    border-radius: 50%;
    background: #17100e;
    box-shadow: inset 0 0 0 7px #3c2a23;
  }

  .desk-feather {
    position: absolute;
    z-index: 8;
    left: 8px;
    bottom: 32px;
    width: 21px;
    height: 320px;
    border-radius: 90% 0 90% 0;
    background:
      repeating-linear-gradient(165deg,transparent 0 12px,rgba(86,55,35,.32) 13px 15px),
      linear-gradient(90deg,#b79a76,#e6d4b4 48%,#8c6d4c);
    box-shadow: 0 18px 22px rgba(13,5,2,.34);
    transform: rotate(32deg);
    transform-origin: bottom;
  }

  .desk-feather::after {
    content: "";
    position: absolute;
    left: 10px;
    bottom: -84px;
    width: 5px;
    height: 128px;
    border-radius: 999px;
    background: linear-gradient(#d8b67f,#815526);
  }

  @media (max-width: 760px) {
    .medieval-letter-stage {
      padding: 52px 18px 70px;
    }

    .medieval-letter {
      padding: 72px 30px 110px !important;
    }

    .desk-candle {
      right: 12px;
      transform: scale(.75);
      transform-origin: top right;
    }

    .desk-inkwell {
      left: 8px;
      transform: scale(.72);
      transform-origin: top left;
    }

    .desk-feather {
      opacity: .55;
      transform: rotate(32deg) scale(.72);
    }

    .wax-seal {
      width: 82px;
      height: 82px;
      right: 6%;
    }

    .tonearm-3d {
      right: 25px !important;
      top: 32px !important;
      height: 220px !important;
    }

    .tonearm-3d::after {
      height: 166px !important;
    }

    .tonearm-3d.playing {
      transform: rotate(49deg) !important;
    }
  }



  /* =========================================================
     CARTA — FUNDO ORIGINAL + PAPEL MAIS NATURAL
     ========================================================= */

  .letter-section {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 50% 38%, rgba(255,250,238,.92), transparent 38rem),
      #e7d6ba !important;
  }

  .letter-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background:
      repeating-linear-gradient(90deg,
        rgba(120,88,54,.035) 0 1px,
        transparent 1px 9px);
  }

  .letter-section .section-kicker,
  .letter-section .section-title {
    color: var(--grape-dark) !important;
    text-shadow: none !important;
  }

  .medieval-letter-stage {
    position: relative;
    max-width: 980px;
    padding: 84px 52px 92px;
    border-radius: 30px;
    background:
      radial-gradient(circle at 50% 42%, rgba(255,247,226,.82), transparent 38rem),
      rgba(188,157,112,.2);
    box-shadow:
      0 42px 100px rgba(72,51,34,.22),
      inset 0 0 0 1px rgba(112,79,47,.08);
  }

  .desk-candle,
  .desk-inkwell {
    display: none !important;
  }

  .medieval-letter {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 0 auto;
    padding: clamp(86px,9vw,122px) clamp(46px,8vw,106px) 120px !important;
    color: #4b392f !important;
    background:
      radial-gradient(circle at 12% 16%, rgba(134,91,47,.11), transparent 13rem),
      radial-gradient(circle at 87% 80%, rgba(134,91,47,.09), transparent 14rem),
      repeating-linear-gradient(180deg,
        transparent 0 39px,
        rgba(106,78,60,.055) 40px),
      linear-gradient(103deg,#e2c590 0%,#f3e2bd 11%,#f7e8c8 50%,#e5c895 100%) !important;
    clip-path: polygon(
      2% 2%,8% 1%,14% 2.5%,20% 1%,26% 2%,32% 1%,38% 2.8%,44% 1%,50% 2%,
      56% 1%,62% 2.5%,68% 1%,74% 2%,80% 1%,86% 2.5%,94% 1%,98% 3%,
      99% 10%,97.5% 17%,99% 24%,98% 31%,99% 38%,97.5% 45%,99% 52%,98% 59%,
      99% 66%,97.5% 73%,99% 80%,98% 88%,99% 97%,
      93% 99%,86% 97.5%,79% 99%,72% 98%,65% 99%,58% 97.5%,51% 99%,44% 98%,
      37% 99%,30% 97.5%,23% 99%,16% 98%,8% 99%,2% 97%,
      1% 90%,2.5% 82%,1% 74%,2% 66%,1% 58%,2.5% 50%,1% 42%,2% 34%,1% 26%,
      2.5% 18%,1% 10%
    ) !important;
    box-shadow:
      0 52px 110px rgba(67,51,41,.38),
      0 18px 36px rgba(67,51,41,.2),
      inset 18px 0 34px rgba(126,83,44,.08),
      inset -18px 0 34px rgba(126,83,44,.08),
      inset 0 0 0 1px rgba(111,79,48,.1) !important;
    transform: rotate(-.5deg) !important;
  }

  .paper-sheen {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .34;
    background:
      linear-gradient(105deg,
        transparent 0 44%,
        rgba(255,255,255,.26) 50%,
        transparent 56%);
    transform: translateX(-100%);
  }

  .writing-active .paper-sheen {
    animation: paperSheen 2.6s ease 1 both;
  }

  @keyframes paperSheen {
    to { transform: translateX(100%); }
  }

  .medieval-letter .written-line {
    position: relative;
    z-index: 2;
    margin-bottom: 27px;
    color: #4e413b;
    font-family: "Homemade Apple", cursive !important;
    font-size: clamp(.95rem,1.55vw,1.18rem) !important;
    line-height: 2.02 !important;
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translateY(5px);
  }

  .writing-active .written-line {
    animation: writeReveal 1.45s cubic-bezier(.2,.72,.2,1) forwards;
  }

  .writing-active .written-line:nth-of-type(1) { animation-delay: .45s; }
  .writing-active .written-line:nth-of-type(2) { animation-delay: 1.65s; }
  .writing-active .written-line:nth-of-type(3) { animation-delay: 3.05s; }
  .writing-active .written-line:nth-of-type(4) { animation-delay: 4.45s; }
  .writing-active .written-line:nth-of-type(5) { animation-delay: 5.85s; }

  @keyframes writeReveal {
    0% {
      opacity: .15;
      clip-path: inset(0 100% 0 0);
      transform: translateY(5px);
    }
    100% {
      opacity: 1;
      clip-path: inset(0 0 0 0);
      transform: translateY(0);
    }
  }

  .written-signature,
  .written-date {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
  }

  .writing-active .written-signature {
    animation: writeReveal 1.5s ease 7.15s forwards;
  }

  .writing-active .written-date {
    animation: writeReveal 1s ease 8.35s forwards;
  }

  .medieval-letter .signature {
    position: relative;
    z-index: 2;
    color: #5b3827 !important;
    font-family: "Great Vibes", cursive !important;
    font-size: clamp(3rem,6vw,5.4rem) !important;
    line-height: .9;
  }

  .medieval-letter .letter-date {
    position: relative;
    z-index: 2;
    color: #765b48 !important;
  }

  .writing-feather {
    display: block !important;
    position: absolute;
    z-index: 10;
    left: 10%;
    top: 20%;
    width: 22px;
    height: 300px;
    opacity: 0;
    transform: rotate(34deg);
    transform-origin: bottom center;
    pointer-events: none;
  }

  .writing-active .writing-feather {
    opacity: 1;
    animation: featherWriting 9.1s cubic-bezier(.4,.03,.2,1) forwards;
  }

  @keyframes featherWriting {
    0%   { left: 11%; top: 18%; transform: rotate(35deg); }
    10%  { left: 62%; top: 19%; transform: rotate(31deg); }
    18%  { left: 18%; top: 31%; transform: rotate(35deg); }
    30%  { left: 70%; top: 31%; transform: rotate(30deg); }
    38%  { left: 16%; top: 45%; transform: rotate(35deg); }
    50%  { left: 68%; top: 45%; transform: rotate(30deg); }
    58%  { left: 17%; top: 59%; transform: rotate(35deg); }
    70%  { left: 69%; top: 59%; transform: rotate(30deg); }
    78%  { left: 18%; top: 73%; transform: rotate(35deg); }
    88%  { left: 64%; top: 73%; transform: rotate(30deg); }
    96%  { left: 30%; top: 87%; transform: rotate(34deg); opacity: 1; }
    100% { left: 39%; top: 89%; transform: rotate(31deg); opacity: 0; }
  }

  .wax-seal {
    z-index: 6;
  }

  /* =========================================================
     TOCA-DISCOS — ÂNGULO 3/4 E VINIL INTEIRO
     ========================================================= */

  .record-player {
    min-height: 0 !important;
    perspective: 1600px !important;
    overflow: visible !important;
  }

  .player-lid {
    left: 7% !important;
    right: 7% !important;
    top: 5px !important;
    height: 230px !important;
    opacity: .42;
    transform: perspective(1200px) rotateX(-28deg) translateY(12px) !important;
    transform-origin: bottom center !important;
    background:
      linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025)) !important;
  }

  .player-deck {
    left: 2% !important;
    right: 2% !important;
    bottom: 36px !important;
    height: 430px !important;
    overflow: visible !important;
    border-radius: 24px !important;
    background:
      linear-gradient(160deg,#c6b7cc 0%,#9f8faa 54%,#75677d 100%) !important;
    transform:
      perspective(1400px)
      rotateX(57deg)
      rotateZ(-3.5deg)
      translateY(-6px) !important;
    transform-origin: center 62% !important;
    box-shadow:
      0 54px 90px rgba(34,27,38,.42),
      inset 0 1px 0 rgba(255,255,255,.38),
      inset 0 -22px 48px rgba(47,37,52,.2) !important;
  }

  .platter-3d {
    left: 44px !important;
    top: 24px !important;
    width: 350px !important;
    height: 350px !important;
    overflow: visible !important;
    transform: none !important;
    border-radius: 50% !important;
    background:
      radial-gradient(circle,#8e8094 0 62%,#65596a 63% 67%,#a294a7 68%) !important;
  }

  .record-stack {
    inset: 16px !important;
    overflow: visible !important;
  }

  .record-3d {
    inset: 0 !important;
    overflow: visible !important;
    transform: none !important;
    border-radius: 50% !important;
    clip-path: circle(50% at 50% 50%) !important;
  }

  .record-3d.playing,
  .record-current.playing {
    animation: spin 7s linear infinite !important;
  }

  .record-grooves {
    inset: 5% !important;
  }

  .record-label {
    width: 108px !important;
    height: 108px !important;
  }

  .spindle {
    z-index: 8 !important;
  }

  .tonearm-3d {
    right: 72px !important;
    top: 42px !important;
    width: 42px !important;
    height: 276px !important;
    transform-origin: 50% 22px !important;
    transform: rotate(-10deg) !important;
    z-index: 12 !important;
  }

  .tonearm-3d::after {
    height: 220px !important;
  }

  .tonearm-3d .needle {
    bottom: 8px !important;
  }

  .tonearm-3d.playing {
    transform: rotate(42deg) !important;
  }

  .tonearm-3d.lifting {
    transform: rotate(-24deg) translateY(-18px) !important;
  }

  .player-control {
    right: 44px !important;
    bottom: 34px !important;
  }

  .player-status {
    left: 44px !important;
    bottom: 28px !important;
  }

  @media (max-width: 760px) {
    .medieval-letter-stage {
      padding: 58px 16px 72px;
    }

    .writing-feather {
      transform: rotate(34deg) scale(.72);
    }

    .record-player {
      min-height: 500px !important;
    }

    .player-deck {
      height: 350px !important;
    }

    .platter-3d {
      left: 22px !important;
      top: 20px !important;
      width: 265px !important;
      height: 265px !important;
    }

    .tonearm-3d {
      right: 32px !important;
      top: 28px !important;
      height: 215px !important;
    }

    .tonearm-3d::after {
      height: 165px !important;
    }

    .tonearm-3d.playing {
      transform: rotate(39deg) !important;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .writing-active .written-line,
    .writing-active .written-signature,
    .writing-active .written-date {
      animation: none !important;
      opacity: 1 !important;
      clip-path: none !important;
      transform: none !important;
    }

    .writing-active .writing-feather {
      display: none !important;
    }
  }



  .music-section {
    background:
      radial-gradient(circle at 12% 15%, rgba(244,221,174,.18), transparent 28rem),
      radial-gradient(circle at 88% 80%, rgba(220,206,235,.17), transparent 28rem),
      linear-gradient(145deg, #4b3d50 0%, #6c5a71 52%, #89748d 100%) !important;
  }

  .music-experience {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
    gap: clamp(30px,5vw,74px);
    align-items: center;
    margin-top: 54px;
  }

  /* Toca-discos superior inspirado na referência 2 */
  .topdown-turntable {
    position: relative;
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
    overflow: hidden;
    border-radius: 32px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.16), transparent 38%),
      linear-gradient(135deg, #d8c7df 0%, #b8a2c1 45%, #947e9e 100%);
    box-shadow:
      0 48px 100px rgba(28,19,31,.42),
      0 15px 34px rgba(28,19,31,.24),
      inset 0 0 0 1px rgba(255,255,255,.24),
      inset 0 -30px 60px rgba(68,47,73,.17);
    isolation: isolate;
  }

  .turntable-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .38;
    background-image: radial-gradient(circle, rgba(67,45,72,.65) 0 2px, transparent 2.4px);
    background-size: 24px 24px;
    mask-image: linear-gradient(90deg,#000 0 17%,transparent 28% 76%,#000 88%);
  }

  .turntable-brand {
    position: absolute;
    left: 6%;
    top: 5%;
    display: flex;
    flex-direction: column;
    color: #4c354f;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .turntable-brand span { font-size: .62rem; }
  .turntable-brand b {
    margin-top: 4px;
    font-family: Georgia, serif;
    font-size: clamp(1rem,2.2vw,1.55rem);
    letter-spacing: .04em;
  }
  .turntable-brand small {
    margin-top: 8px;
    font-size: .48rem;
    opacity: .68;
  }

  .platter-ring {
    position: absolute;
    left: 7%;
    top: 10%;
    width: 70%;
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 13px;
    background:
      repeating-conic-gradient(from 0deg, #c9b8cf 0 2deg, #8d7895 2deg 4deg),
      #75627c;
    box-shadow:
      0 12px 30px rgba(47,31,50,.34),
      inset 0 0 0 5px rgba(74,54,78,.7),
      inset 0 0 0 10px rgba(235,222,239,.38);
  }

  .active-vinyl {
    --spin-time: 3.8s;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%;
    background:
      radial-gradient(circle at 32% 25%, rgba(255,255,255,.24), transparent 11%),
      radial-gradient(circle, #252127 0 3%, #141216 3.5% 100%);
    box-shadow:
      0 8px 22px rgba(19,13,20,.45),
      inset 0 0 0 1px rgba(255,255,255,.08);
    transition: transform .5s cubic-bezier(.2,.7,.2,1), opacity .4s ease;
  }

  .active-vinyl.playing {
    animation: vinylSpin var(--spin-time) linear infinite;
  }

  .active-vinyl.changing {
    transform: scale(.78);
    opacity: .18;
  }

  @keyframes vinylSpin { to { transform: rotate(360deg); } }

  .vinyl-grooves {
    position: absolute;
    inset: 3%;
    border-radius: 50%;
    opacity: .8;
    background:
      repeating-radial-gradient(circle,
        transparent 0 4px,
        rgba(255,255,255,.055) 4.5px 5px,
        transparent 5.5px 8px);
  }

  .vinyl-label {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 32%;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9%;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    color: #fffaf1;
    background:
      radial-gradient(circle at 30% 25%, rgba(255,255,255,.18), transparent 22%),
      linear-gradient(145deg,#8e6b8f,#5d405f);
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
  }

  .vinyl-label span {
    max-width: 100%;
    overflow: hidden;
    font-family: Georgia, serif;
    font-size: clamp(.52rem,1.15vw,.9rem);
    line-height: 1.08;
    text-overflow: ellipsis;
  }

  .vinyl-label small {
    margin-top: 5px;
    font-size: clamp(.34rem,.7vw,.55rem);
    opacity: .8;
  }

  .vinyl-spindle {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    background: linear-gradient(145deg,#fff6d9,#8e775b);
    box-shadow: 0 2px 4px rgba(0,0,0,.45);
  }

  .turntable-light {
    position: absolute;
    left: 5.4%;
    bottom: 24%;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #eecb89;
    box-shadow: 0 0 16px #eecb89, 0 0 34px rgba(238,203,137,.65);
  }

  .tonearm-assembly {
    position: absolute;
    right: 6%;
    top: 8%;
    width: 26%;
    height: 67%;
    transform-origin: 72% 16%;
    transition: transform .65s cubic-bezier(.2,.7,.2,1);
  }

  .tonearm-assembly.playing {
    transform: rotate(17deg);
  }

  .tonearm-assembly.changing {
    transform: rotate(-9deg);
  }

  .tonearm-base {
    position: absolute;
    right: 3%;
    top: 0;
    width: 44%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 30%, #f1e6f4 0 8%, #88758f 9% 37%, #4c3c50 39% 58%, #b8a8bd 60% 100%);
    box-shadow: 0 8px 18px rgba(54,39,57,.36);
  }

  .tonearm-base i {
    position: absolute;
    inset: 33%;
    border-radius: 50%;
    background: #e7d6aa;
  }

  .tonearm-pipe {
    position: absolute;
    right: 20%;
    top: 12%;
    width: 12px;
    height: 72%;
    border-radius: 999px;
    transform: rotate(-5deg);
    transform-origin: top center;
    background: linear-gradient(90deg,#e3d7e7,#8e7a96 45%,#f2e7f5);
    box-shadow: 3px 3px 7px rgba(38,26,41,.28);
  }

  .tonearm-head {
    position: absolute;
    left: 50%;
    bottom: -6%;
    width: 38px;
    height: 62px;
    border-radius: 8px 8px 13px 13px;
    transform: translateX(-50%) rotate(4deg);
    background: linear-gradient(145deg,#76516f,#4e344b);
    box-shadow: 0 6px 12px rgba(38,24,37,.34);
  }

  .tonearm-head::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 2px;
    height: 13px;
    transform: translateX(-50%);
    background: #e7cf97;
  }

  .speed-panel,
  .pitch-panel,
  .turntable-power {
    position: absolute;
    color: #523d55;
  }

  .speed-panel {
    left: 6%;
    bottom: 7%;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .54rem;
    letter-spacing: .11em;
  }

  .speed {
    width: 32px;
    height: 25px;
    border: 1px solid rgba(73,50,77,.25);
    border-radius: 6px;
    color: #5b435e;
    background: rgba(255,255,255,.28);
    cursor: pointer;
  }

  .speed.active {
    color: #fff9ec;
    background: #674c69;
  }

  .turntable-power {
    left: 5%;
    bottom: 13%;
    width: 76px;
    height: 76px;
    border: 0;
    border-radius: 50%;
    color: #fff8ed;
    background:
      radial-gradient(circle at 35% 30%, #927795 0 11%, #5f4763 35%, #3f3043 75%);
    box-shadow:
      0 10px 22px rgba(49,33,52,.34),
      inset 0 0 0 4px rgba(255,255,255,.11);
    cursor: pointer;
    transition: transform .25s ease;
  }

  .turntable-power:hover { transform: scale(1.05); }
  .turntable-power.playing { box-shadow: 0 0 0 7px rgba(229,205,154,.16), 0 10px 24px rgba(49,33,52,.38); }

  .turntable-power .power-icon {
    display: block;
    font-size: 1.18rem;
  }

  .turntable-power small {
    display: block;
    margin-top: 4px;
    font-size: .42rem;
    letter-spacing: .08em;
  }

  .pitch-panel {
    right: 7%;
    bottom: 8%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: .58rem;
  }

  .pitch-panel i {
    position: relative;
    width: 7px;
    height: 90px;
    border-radius: 10px;
    background: rgba(70,50,74,.24);
    box-shadow: inset 0 0 0 1px rgba(67,45,72,.14);
  }

  .pitch-panel b {
    position: absolute;
    left: 50%;
    top: 44%;
    width: 26px;
    height: 10px;
    border-radius: 4px;
    transform: translate(-50%,-50%);
    background: #5d4561;
  }

  .topdown-status {
    left: 50% !important;
    bottom: 4.5% !important;
    transform: translateX(-50%);
    padding: 9px 14px;
    border-radius: 999px;
    color: #523e55;
    background: rgba(255,249,238,.47);
    backdrop-filter: blur(10px);
  }

  /* Coleção de capas */
  .record-collection {
    color: #fff;
  }

  .collection-heading h3 {
    margin: 4px 0 8px;
    font-family: Georgia, serif;
    font-size: clamp(1.8rem,3vw,2.7rem);
  }

  .collection-heading p:last-child {
    margin: 0 0 28px;
    color: rgba(255,255,255,.7);
  }

  .record-shelf {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px !important;
  }

  .record-shelf .album-choice {
    position: relative;
    display: block !important;
    min-height: 0 !important;
    padding: 0 0 53px !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 18px !important;
    text-align: left;
    color: #fff !important;
    background: transparent !important;
    cursor: pointer;
    transform: none !important;
  }

  .record-shelf .album-choice::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 5%;
    right: -7%;
    width: 78%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
      radial-gradient(circle,#b99b66 0 3%,#171419 3.5% 100%);
    box-shadow: 0 12px 25px rgba(22,15,24,.36);
    transition: transform .45s cubic-bezier(.2,.7,.2,1);
  }

  .record-shelf .album-choice:hover::before,
  .record-shelf .album-choice.active::before {
    transform: translateX(14%);
  }

  .record-shelf .album-thumb {
    position: relative;
    z-index: 2;
    display: block !important;
    width: 86% !important;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 9px !important;
    box-shadow: 0 18px 35px rgba(25,17,28,.34);
    transition: transform .35s ease, box-shadow .35s ease;
  }

  .record-shelf .album-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(125deg,rgba(255,255,255,.2),transparent 24%),
      repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);
    pointer-events: none;
  }

  .record-shelf .album-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .record-shelf .album-choice:hover .album-thumb,
  .record-shelf .album-choice.active .album-thumb {
    transform: translateY(-7px) rotate(-1deg);
    box-shadow: 0 25px 45px rgba(25,17,28,.46);
  }

  .record-shelf .album-choice > span:nth-of-type(2) {
    position: absolute;
    z-index: 3;
    left: 2px;
    bottom: 12px;
    display: block;
    width: 84%;
  }

  .record-shelf .album-choice b {
    display: block;
    overflow: hidden;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(.92rem,1.5vw,1.15rem);
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .record-shelf .album-choice small {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.62);
    font-size: .76rem;
  }

  .record-shelf .album-choice em {
    position: absolute;
    z-index: 4;
    right: 2%;
    bottom: 13px;
    color: rgba(255,255,255,.48);
    font-size: .7rem;
    font-style: normal;
  }

  .record-shelf .album-choice.active::after {
    content: "tocando";
    position: absolute;
    z-index: 5;
    right: 9%;
    top: 7%;
    padding: 6px 9px;
    border-radius: 999px;
    color: #49384d;
    background: #ead9aa;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .now-playing-copy {
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.16);
  }

  @media (max-width: 980px) {
    .music-experience {
      grid-template-columns: 1fr;
    }

    .topdown-turntable {
      max-width: 720px;
      margin: 0 auto;
    }

    .record-collection {
      max-width: 720px;
      margin: 0 auto;
    }
  }

  @media (max-width: 560px) {
    .music-experience { gap: 42px; }
    .topdown-turntable { border-radius: 22px; }
    .record-shelf { gap: 18px 12px !important; }
    .turntable-power {
      width: 58px;
      height: 58px;
    }
    .turntable-power small { display: none; }
    .topdown-status { display: none !important; }
  }

  @media (prefers-reduced-motion: reduce) {
    .active-vinyl.playing { animation: none !important; }
    .tonearm-assembly,
    .active-vinyl,
    .record-shelf .album-choice::before {
      transition: none !important;
    }
  }



  /* =========================================================
     CARTA — MODELO DO PREVIEW 9, COM PAPEL MAIS REFINADO
     ========================================================= */

  .letter-section {
    background:
      radial-gradient(circle at 50% 25%, rgba(255,250,238,.96), transparent 36rem),
      linear-gradient(180deg,#eadbc1 0%,#dfc9a8 100%) !important;
  }

  .letter-stage {
    position: relative;
    max-width: 940px;
    margin: 58px auto 0;
    padding: clamp(20px,4vw,48px);
  }

  .letter-stage::before {
    content: "";
    position: absolute;
    inset: 7% 3% 2%;
    border-radius: 28px;
    background: rgba(91,63,43,.16);
    filter: blur(30px);
    transform: translateY(24px);
    pointer-events: none;
  }

  .letter-stage .letter {
    position: relative;
    overflow: hidden;
    padding: clamp(72px,9vw,118px) clamp(36px,8vw,96px) clamp(76px,9vw,112px);
    color: #4f4037;
    background:
      radial-gradient(circle at 13% 14%, rgba(132,91,53,.08), transparent 13rem),
      radial-gradient(circle at 89% 82%, rgba(132,91,53,.065), transparent 15rem),
      repeating-linear-gradient(
        0deg,
        rgba(97,69,47,.018) 0 1px,
        transparent 1px 5px
      ),
      linear-gradient(100deg,#e8cf9f 0%,#f6e7c6 9%,#fbefd7 49%,#f0d9ad 91%,#dfbf87 100%);
    border: 1px solid rgba(113,79,47,.14);
    border-radius: 3px;
    clip-path: polygon(
      .7% 1.5%,7% .6%,14% 1.3%,21% .5%,29% 1.2%,36% .5%,44% 1.2%,52% .5%,
      60% 1.3%,68% .6%,76% 1.2%,84% .5%,92% 1.2%,99.2% .7%,
      99.5% 9%,98.9% 18%,99.5% 28%,99% 38%,99.5% 48%,98.9% 58%,99.5% 68%,
      99% 78%,99.5% 88%,99% 98.7%,
      91% 99.4%,82% 98.8%,73% 99.5%,64% 98.9%,55% 99.5%,46% 98.8%,37% 99.4%,
      28% 98.8%,19% 99.5%,10% 98.8%,.8% 99.3%,
      .4% 90%,1% 80%,.4% 70%,1% 60%,.4% 50%,1% 40%,.4% 30%,1% 20%
    );
    box-shadow:
      0 42px 85px rgba(64,45,31,.3),
      0 12px 25px rgba(64,45,31,.15),
      inset 16px 0 30px rgba(127,85,45,.065),
      inset -16px 0 30px rgba(127,85,45,.055),
      inset 0 0 40px rgba(130,89,48,.045);
    transform: rotate(-.35deg);
  }

  .letter-stage .letter::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    mix-blend-mode: multiply;
    background:
      repeating-radial-gradient(
        ellipse at 30% 20%,
        rgba(91,63,41,.04) 0 1px,
        transparent 1px 8px
      );
  }

  .letter-stage .letter p,
  .letter-stage .signature,
  .letter-stage .letter-date,
  .letter-stage .letter-mark {
    position: relative;
    z-index: 1;
  }

  .letter-stage .letter p {
    font-family: "Kalam", cursive;
    font-size: clamp(.93rem,1.45vw,1.12rem);
    line-height: 2.05;
    color: #51443d;
  }

  .letter-stage .letter .letter-mark {
    position: absolute;
    z-index: 2;
    display: block;
    white-space: nowrap;
    font-family: "Kalam", cursive;
    line-height: 1;
  }

  .letter-stage .letter .mark-one {
    top: clamp(28px,4vw,48px);
    right: auto;
    bottom: auto;
    left: clamp(32px,6vw,70px);
    transform: rotate(-4deg);
  }

  .letter-stage .letter .mark-two {
    top: auto;
    right: clamp(32px,6vw,70px);
    bottom: clamp(28px,4vw,48px);
    left: auto;
    transform: rotate(4deg);
  }

  .letter-stage .signature {
    font-family: "Great Vibes", cursive;
    color: #674330;
  }

  /* =========================================================
     CAPAS — PROPORÇÃO REAL 1:1 E TAMANHO CONSISTENTE
     ========================================================= */

  .record-shelf {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 22px !important;
  }

  .record-shelf .album-choice {
    width: 100%;
    padding: 0 0 58px !important;
  }

  .record-shelf .album-thumb {
    width: calc(100% - 30px) !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 7px !important;
  }

  .record-shelf .album-thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .record-shelf .album-choice::before {
    top: 7% !important;
    right: -2% !important;
    width: calc(100% - 38px) !important;
    aspect-ratio: 1 / 1 !important;
  }

  .record-shelf .album-choice > span:nth-of-type(2) {
    width: calc(100% - 34px) !important;
  }

  /* =========================================================
     AGULHA — MOVIMENTO VISÍVEL ATÉ O VINIL
     ========================================================= */

  .tonearm-assembly {
    transform-origin: 79% 12% !important;
    transform: rotate(-7deg) translate(0,0);
    transition:
      transform .95s cubic-bezier(.22,.75,.2,1),
      filter .35s ease !important;
    will-change: transform;
  }

  .tonearm-assembly.playing {
    transform: rotate(35deg) translate(-2.5%,2.5%) !important;
    animation: needleSettle .95s cubic-bezier(.22,.75,.2,1) both;
  }

  .tonearm-assembly.changing {
    transform: rotate(-13deg) translate(2%,-2%) !important;
  }

  @keyframes needleSettle {
    0% {
      transform: rotate(-7deg) translate(0,0);
    }
    66% {
      transform: rotate(37deg) translate(-3.2%,1.2%);
    }
    82% {
      transform: rotate(34deg) translate(-2.2%,3.3%);
    }
    100% {
      transform: rotate(35deg) translate(-2.5%,2.5%);
    }
  }

  .tonearm-head::after {
    height: 16px !important;
    bottom: -13px !important;
    transform-origin: top center;
    transition: transform .35s ease, background .35s ease;
  }

  .tonearm-assembly.playing .tonearm-head::after {
    transform: translateX(-50%) rotate(4deg);
    background: #f2d79b;
    box-shadow: 0 0 6px rgba(242,215,155,.48);
  }

  @media (max-width: 560px) {
    .record-shelf {
      gap: 22px 12px !important;
    }

    .record-shelf .album-thumb {
      width: calc(100% - 18px) !important;
    }

    .record-shelf .album-choice::before {
      width: calc(100% - 24px) !important;
    }

    .letter-stage {
      padding: 12px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .tonearm-assembly.playing {
      animation: none !important;
      transform: rotate(35deg) translate(-2.5%,2.5%) !important;
    }
  }



  /* Texto “Agora selecionada” mais discreto */
  .now-playing-copy {
    margin-top: 22px !important;
    padding-top: 16px !important;
  }

  .now-playing-copy > span {
    font-size: .56rem !important;
    letter-spacing: .17em !important;
    opacity: .58;
  }

  .now-playing-copy h3 {
    margin: 5px 0 2px !important;
    font-size: clamp(1.25rem,2vw,1.75rem) !important;
    line-height: 1.05;
  }

  .now-playing-copy p {
    margin: 0 !important;
    font-size: .72rem !important;
    letter-spacing: .08em;
    opacity: .66;
  }

  /* Capas mais altas, cobrindo melhor o disco */
  .record-shelf .album-choice {
    padding-bottom: 62px !important;
  }

  .record-shelf .album-thumb {
    width: calc(100% - 18px) !important;
    aspect-ratio: 1 / 1.12 !important;
    min-height: 174px;
  }

  .record-shelf .album-thumb img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  .record-shelf .album-choice::before {
    top: 9% !important;
    right: -1% !important;
    width: calc(100% - 30px) !important;
  }

  /* Braço arrastável */
  .tonearm-assembly {
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .tonearm-assembly:hover {
    filter: drop-shadow(0 10px 12px rgba(49,31,53,.25));
  }

  .tonearm-assembly.dragging {
    cursor: grabbing;
    animation: none !important;
    transform: rotate(var(--drag-angle, -7deg)) translate(0,0) !important;
    transition: none !important;
    z-index: 20;
  }

  .tonearm-assembly.dragging .tonearm-head {
    box-shadow:
      0 8px 16px rgba(38,24,37,.42),
      0 0 0 5px rgba(235,214,164,.12);
  }

  .tonearm-assembly:focus-visible {
    outline: 3px solid rgba(238,215,164,.88);
    outline-offset: 6px;
    border-radius: 18px;
  }

  .needle-drag-hint {
    position: absolute;
    z-index: 8;
    right: 4.5%;
    top: 42%;
    display: flex;
    align-items: center;
    gap: 7px;
    max-width: 130px;
    padding: 8px 10px;
    border-radius: 999px;
    color: #533d56;
    background: rgba(255,249,238,.68);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    box-shadow: 0 8px 20px rgba(56,37,60,.14);
    font-size: .56rem;
    font-weight: 700;
    line-height: 1.1;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    animation: needleHintPulse 2.1s ease-in-out infinite;
  }

  .needle-drag-hint span {
    font-size: 1rem;
  }

  .needle-drag-hint.hidden {
    opacity: 0;
    transform: translateY(5px);
  }

  @keyframes needleHintPulse {
    50% { transform: translate(-3px,3px); }
  }

  @media (max-width: 560px) {
    .record-shelf .album-thumb {
      min-height: 134px;
      width: calc(100% - 10px) !important;
    }

    .needle-drag-hint {
      right: 3%;
      top: 40%;
      max-width: 104px;
      font-size: .48rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .needle-drag-hint {
      animation: none !important;
    }
  }



  /* O braço permanece sobre o disco depois que é colocado */
  .tonearm-assembly {
    transition:
      transform .78s cubic-bezier(.22,.78,.2,1),
      filter .35s ease !important;
  }

  .tonearm-assembly.playing {
    transform: rotate(35deg) translate(-2.5%,2.5%) !important;
    animation: none !important;
  }

  /* Ao trocar o disco, retorna ao suporte de forma suave */
  .tonearm-assembly.changing {
    transform: rotate(-7deg) translate(0,0) !important;
    transition:
      transform .76s cubic-bezier(.4,0,.2,1),
      filter .35s ease !important;
  }

  .tonearm-assembly.changing .tonearm-head::after {
    transform: translateX(-50%) translateY(-3px);
  }



  /* Capas perfeitamente quadradas e maiores */
  .record-shelf .album-choice {
    width: 100% !important;
    padding-bottom: 60px !important;
  }

  .record-shelf .album-thumb {
    width: calc(100% - 10px) !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 8px !important;
  }

  .record-shelf .album-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .record-shelf .album-choice::before {
    top: 7% !important;
    right: -2% !important;
    width: calc(100% - 24px) !important;
    aspect-ratio: 1 / 1 !important;
  }

  /* Feedback ao arrastar um disco */
  .record-shelf .album-choice[draggable="true"] {
    cursor: grab;
  }

  .record-shelf .album-choice[draggable="true"]:active {
    cursor: grabbing;
  }

  .record-shelf .album-choice.is-dragging {
    opacity: .48;
    transform: scale(.96) !important;
  }

  .platter-ring {
    transition:
      transform .3s ease,
      box-shadow .3s ease,
      filter .3s ease;
  }

  .platter-ring.awaiting-record {
    filter: brightness(1.06);
  }

  .platter-ring.drag-over {
    transform: scale(1.025);
    box-shadow:
      0 0 0 8px rgba(239,216,161,.25),
      0 0 42px rgba(239,216,161,.52),
      0 12px 30px rgba(47,31,50,.34),
      inset 0 0 0 5px rgba(74,54,78,.7) !important;
  }

  .record-drop-hint {
    position: absolute;
    z-index: 30;
    left: 42%;
    top: 43%;
    padding: 10px 14px;
    border-radius: 999px;
    color: #4e3852;
    background: rgba(255,248,229,.88);
    box-shadow: 0 12px 30px rgba(45,29,49,.24);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .05em;
    opacity: 0;
    transform: translate(-50%,-50%) scale(.9);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }

  .record-drop-hint.visible {
    opacity: 1;
    transform: translate(-50%,-50%) scale(1);
  }

  /* Persistência real do braço sobre o disco */
  .tonearm-assembly.playing {
    transform: rotate(35deg) translate(-2.5%,2.5%) !important;
    animation: none !important;
    transition: transform .72s cubic-bezier(.22,.78,.2,1) !important;
  }

  .tonearm-assembly.dragging {
    transform: rotate(var(--drag-angle, -7deg)) translate(0,0) !important;
  }

  @media (max-width: 560px) {
    .record-shelf .album-thumb {
      width: calc(100% - 6px) !important;
    }

    .record-drop-hint {
      left: 41%;
      font-size: .55rem;
    }
  }



  .record-shelf .album-choice {
    position: relative;
    overflow: visible !important;
    cursor: default !important;
  }

  .record-shelf .album-thumb {
    position: relative;
    z-index: 3;
    width: calc(100% - 6px) !important;
    aspect-ratio: 1 / 1 !important;
    transform: none !important;
  }

  .record-shelf .album-choice:hover .album-thumb,
  .record-shelf .album-choice.active .album-thumb {
    transform: translateY(-3px) !important;
  }

  .shelf-vinyl {
    position: absolute;
    z-index: 1;
    top: 7%;
    right: -2%;
    width: calc(100% - 22px);
    aspect-ratio: 1 / 1;
    display: block;
    border-radius: 50%;
    cursor: grab;
    touch-action: none;
    background:
      radial-gradient(circle at 33% 28%, rgba(255,255,255,.2), transparent 10%),
      radial-gradient(circle, #c7a36f 0 3.8%, #171418 4.2% 100%);
    box-shadow:
      0 15px 30px rgba(22,15,24,.34),
      inset 0 0 0 1px rgba(255,255,255,.08);
    transition:
      transform .46s cubic-bezier(.22,.78,.2,1),
      opacity .3s ease,
      filter .3s ease;
  }

  .shelf-vinyl::before {
    content: "";
    position: absolute;
    inset: 3%;
    border-radius: 50%;
    opacity: .7;
    background:
      repeating-radial-gradient(circle,
        transparent 0 4px,
        rgba(255,255,255,.055) 4.5px 5px,
        transparent 5.5px 8px);
  }

  .shelf-vinyl-label {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 31%;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    background:
      radial-gradient(circle at 35% 30%,rgba(255,255,255,.16),transparent 20%),
      linear-gradient(145deg,#b89767,#7c5f3d);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.14);
  }

  .record-shelf .album-choice:hover .shelf-vinyl,
  .record-shelf .album-choice.cover-focused .shelf-vinyl {
    transform: translateX(18%);
  }

  .shelf-vinyl:active {
    cursor: grabbing;
  }

  .shelf-vinyl.is-dragging {
    opacity: .8;
    filter: drop-shadow(0 18px 26px rgba(24,16,27,.38));
    transform: translateX(38%) scale(1.03);
  }

  .album-choice.on-platter .shelf-vinyl {
    opacity: 0;
    pointer-events: none;
    transform: translateX(42%) scale(.84);
  }

  .album-choice.on-platter::after {
    content: "no prato" !important;
  }

  .album-choice.record-returning .shelf-vinyl {
    animation: recordReturnToSleeve .62s cubic-bezier(.2,.75,.2,1) both;
  }

  @keyframes recordReturnToSleeve {
    0% {
      opacity: 0;
      transform: translateX(55%) scale(.82) rotate(16deg);
    }
    100% {
      opacity: 1;
      transform: translateX(0) scale(1) rotate(0);
    }
  }

  .record-shelf .album-choice::before {
    display: none !important;
  }

  .record-shelf .album-choice.disc-is-dragging {
    opacity: 1 !important;
    transform: none !important;
  }

  .record-shelf .album-choice.disc-is-dragging .album-thumb {
    filter: brightness(.96);
  }

  @media (max-width: 560px) {
    .shelf-vinyl {
      width: calc(100% - 14px);
      right: -1%;
    }

    .record-shelf .album-choice:hover .shelf-vinyl,
    .record-shelf .album-choice.cover-focused .shelf-vinyl {
      transform: translateX(11%);
    }
  }



  /* =========================================================
     COLEÇÃO — LAYOUT ORGANIZADO E SEM SOBREPOSIÇÕES
     ========================================================= */

  .record-collection {
    min-width: 0;
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background:
      linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    box-shadow:
      0 28px 65px rgba(28,19,31,.2),
      inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .collection-heading {
    position: relative !important;
    z-index: 2;
    display: block !important;
    width: 100%;
    margin: 0 0 30px !important;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .collection-heading .album-overline {
    margin: 0 0 8px;
    font-size: .66rem;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
  }

  .collection-heading h3 {
    margin: 0 0 9px !important;
    font-size: clamp(1.9rem,3vw,2.65rem) !important;
    line-height: 1;
  }

  .collection-heading p:last-child {
    max-width: 470px;
    margin: 0 !important;
    font-size: .9rem;
    line-height: 1.55;
    color: rgba(255,255,255,.68);
  }

  .record-shelf {
    position: relative !important;
    z-index: 1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 26px 22px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  .record-shelf .album-choice {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto;
    width: 100% !important;
    min-width: 0;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 14px 16px !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 20px !important;
    background:
      linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.025)) !important;
    box-shadow: 0 16px 35px rgba(27,18,30,.18);
    text-align: left;
    transform: none !important;
    transition:
      border-color .3s ease,
      background .3s ease,
      transform .3s ease,
      box-shadow .3s ease;
  }

  .record-shelf .album-choice:hover,
  .record-shelf .album-choice.cover-focused {
    transform: translateY(-5px) !important;
    border-color: rgba(238,216,168,.3) !important;
    background:
      linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.04)) !important;
    box-shadow: 0 24px 45px rgba(27,18,30,.27);
  }

  .record-shelf .album-thumb {
    position: relative !important;
    z-index: 3;
    display: block !important;
    width: 88% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 12px !important;
    background: #e8dac2;
    box-shadow: 0 14px 28px rgba(22,15,24,.3);
    transform: none !important;
  }

  .record-shelf .album-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .record-shelf .album-choice:hover .album-thumb,
  .record-shelf .album-choice.active .album-thumb {
    transform: none !important;
  }

  .shelf-vinyl {
    z-index: 2 !important;
    top: 19px !important;
    right: 3px !important;
    width: 76% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
  }

  .record-shelf .album-choice:hover .shelf-vinyl,
  .record-shelf .album-choice.cover-focused .shelf-vinyl {
    transform: translateX(13%) !important;
  }

  .album-choice.on-platter .shelf-vinyl {
    opacity: 0 !important;
    transform: translateX(30%) scale(.86) !important;
  }

  .record-shelf .album-choice > span:nth-of-type(3),
  .record-shelf .album-choice > span:last-of-type {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 4;
    display: block !important;
    width: 100% !important;
    margin: 15px 0 0 !important;
    padding-right: 30px;
  }

  .record-shelf .album-choice b {
    display: block;
    margin: 0;
    overflow: hidden;
    font-size: clamp(.95rem,1.4vw,1.12rem) !important;
    line-height: 1.12;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .record-shelf .album-choice small {
    display: block;
    margin-top: 5px;
    overflow: hidden;
    font-size: .69rem !important;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .record-shelf .album-choice em {
    position: absolute !important;
    z-index: 5;
    right: 15px !important;
    bottom: 18px !important;
    top: auto !important;
    font-size: .68rem !important;
    color: rgba(255,255,255,.46);
  }

  .record-shelf .album-choice.active::after,
  .record-shelf .album-choice.on-platter::after {
    content: "no prato" !important;
    position: absolute !important;
    z-index: 6;
    right: 12px !important;
    top: 12px !important;
    bottom: auto !important;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .52rem !important;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4b394e;
    background: #ead8a9;
    box-shadow: 0 7px 16px rgba(33,23,36,.18);
  }

  .now-playing-copy {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "label title"
      "label artist";
    column-gap: 18px;
    align-items: center;
    margin: 30px 0 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.14);
  }

  .now-playing-copy > span {
    grid-area: label;
    max-width: 74px;
    font-size: .52rem !important;
    line-height: 1.35;
    letter-spacing: .17em !important;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
  }

  .now-playing-copy h3 {
    grid-area: title;
    margin: 0 0 3px !important;
    font-size: clamp(1.25rem,2.2vw,1.8rem) !important;
    line-height: 1;
  }

  .now-playing-copy p {
    grid-area: artist;
    margin: 0 !important;
    font-size: .72rem !important;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .audio-note {
    margin: 23px 0 0 !important;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: .74rem !important;
    line-height: 1.5;
    color: rgba(255,255,255,.58) !important;
    background: rgba(255,255,255,.045);
  }

  @media (max-width: 1180px) {
    .music-experience {
      grid-template-columns: minmax(0,1fr) minmax(360px,.9fr) !important;
      gap: 38px !important;
    }
  }

  @media (max-width: 980px) {
    .record-collection {
      width: 100%;
      max-width: 760px;
    }

    .record-shelf {
      grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
  }

  @media (max-width: 620px) {
    .record-collection {
      padding: 22px 16px;
      border-radius: 22px;
    }

    .record-shelf {
      gap: 18px 12px !important;
    }

    .record-shelf .album-choice {
      padding: 9px 9px 13px !important;
      border-radius: 15px !important;
    }

    .record-shelf .album-thumb {
      width: 87% !important;
      border-radius: 9px !important;
    }

    .shelf-vinyl {
      top: 12px !important;
      right: 0 !important;
      width: 76% !important;
    }

    .record-shelf .album-choice b {
      font-size: .87rem !important;
    }

    .record-shelf .album-choice small {
      font-size: .57rem !important;
    }

    .record-shelf .album-choice em {
      right: 10px !important;
      bottom: 14px !important;
    }

    .now-playing-copy {
      column-gap: 12px;
    }
  }



  /* =========================================================
     COLEÇÃO GRANDE — CAPAS VISÍVEIS E DISCOS SEM SE ENCOSTAR
     ========================================================= */

  .music-experience {
    grid-template-columns: minmax(0, .95fr) minmax(560px, 1.15fr) !important;
    gap: clamp(42px, 5vw, 78px) !important;
    align-items: start !important;
  }

  .record-collection {
    width: 100%;
    max-width: 760px !important;
    padding: clamp(30px, 4vw, 46px) !important;
  }

  .record-shelf {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 44px 38px !important;
    overflow: visible !important;
  }

  .record-shelf .album-choice {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 360px !important;
    padding: 18px 18px 74px !important;
    overflow: visible !important;
    border-radius: 22px !important;
  }

  /*
    A capa permanece grande.
    O disco fica parcialmente escondido atrás dela.
  */
  .record-shelf .album-thumb {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    width: 82% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    box-shadow:
      0 20px 38px rgba(22,15,24,.34),
      inset 0 0 0 1px rgba(255,255,255,.08);
  }

  .record-shelf .album-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .shelf-vinyl {
    position: absolute !important;
    z-index: 2 !important;
    top: 34px !important;
    right: 8px !important;
    width: 76% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    transform: translateX(0) !important;
    transition:
      transform .48s cubic-bezier(.22,.78,.2,1),
      opacity .3s ease,
      filter .3s ease !important;
  }

  /*
    O disco desliza, mas continua dentro do próprio cartão.
    Assim nunca toca no disco ao lado.
  */
  .record-shelf .album-choice:hover .shelf-vinyl,
  .record-shelf .album-choice.cover-focused .shelf-vinyl {
    transform: translateX(18%) !important;
  }

  .record-shelf .album-choice:hover,
  .record-shelf .album-choice.cover-focused {
    z-index: 10;
  }

  .shelf-vinyl.is-dragging {
    transform: translateX(28%) scale(1.025) !important;
  }

  .album-choice.on-platter .shelf-vinyl {
    opacity: 0 !important;
    transform: translateX(26%) scale(.84) !important;
  }

  /* Informações ficam abaixo da capa, sem invadir o vinil */
  .record-shelf .album-choice > span:nth-of-type(3),
  .record-shelf .album-choice > span:last-of-type {
    position: absolute !important;
    z-index: 6 !important;
    left: 18px !important;
    right: 48px !important;
    bottom: 18px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .record-shelf .album-choice b {
    font-size: clamp(1.05rem, 1.5vw, 1.28rem) !important;
  }

  .record-shelf .album-choice small {
    font-size: .7rem !important;
  }

  .record-shelf .album-choice em {
    right: 17px !important;
    bottom: 20px !important;
  }

  .record-shelf .album-choice.active::after,
  .record-shelf .album-choice.on-platter::after {
    right: 16px !important;
    top: 16px !important;
  }

  .now-playing-copy {
    margin-top: 38px !important;
  }

  /* Em telas médias, a seção passa para uma coluna */
  @media (max-width: 1180px) {
    .music-experience {
      grid-template-columns: 1fr !important;
    }

    .record-collection {
      max-width: 860px !important;
      margin-inline: auto !important;
    }

    .record-shelf {
      gap: 42px !important;
    }

    .record-shelf .album-choice {
      min-height: 390px !important;
    }
  }

  @media (max-width: 760px) {
    .record-collection {
      padding: 26px 20px !important;
    }

    .record-shelf {
      grid-template-columns: 1fr !important;
      gap: 34px !important;
    }

    .record-shelf .album-choice {
      width: min(100%, 460px) !important;
      min-height: 440px !important;
      margin-inline: auto !important;
    }

    .record-shelf .album-thumb {
      width: 83% !important;
    }

    .shelf-vinyl {
      width: 76% !important;
    }
  }

  @media (max-width: 480px) {
    .record-shelf .album-choice {
      min-height: 345px !important;
      padding: 13px 13px 68px !important;
    }

    .record-shelf .album-thumb {
      width: 84% !important;
    }

    .shelf-vinyl {
      top: 25px !important;
      right: 4px !important;
      width: 75% !important;
    }

    .record-shelf .album-choice:hover .shelf-vinyl,
    .record-shelf .album-choice.cover-focused .shelf-vinyl {
      transform: translateX(11%) !important;
    }
  }



  /* =========================================================
     V22 — SEÇÃO DE MÚSICA RECONSTRUÍDA
     ========================================================= */

  .music-v22 {
    max-width: 1320px !important;
  }

  .music-stage {
    display: flex;
    flex-direction: column;
    gap: clamp(48px,7vw,86px);
    margin-top: clamp(48px,6vw,74px);
  }

  .turntable-stage {
    width: min(100%, 860px);
    margin: 0 auto;
  }

  .turntable-stage .topdown-turntable {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
  }

  .record-library {
    width: 100%;
    padding: clamp(30px,4vw,52px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
    background:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
    box-shadow:
      0 30px 70px rgba(28,19,31,.2),
      inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .library-heading {
    max-width: 720px;
    margin: 0 auto 36px;
    text-align: center;
  }

  .library-heading .album-overline {
    margin: 0 0 10px;
    color: rgba(255,255,255,.65);
    font-size: .68rem;
    letter-spacing: .22em;
    text-transform: uppercase;
  }

  .library-heading h3 {
    margin: 0 0 10px;
    font-family: Georgia, serif;
    font-size: clamp(2.1rem,4vw,3.6rem);
    line-height: 1;
    color: #fff;
  }

  .library-heading p:last-child {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: .92rem;
    line-height: 1.55;
  }

  .record-library .record-shelf {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: clamp(26px,3vw,40px) !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .record-library .album-choice {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 14px 72px !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 20px !important;
    background:
      linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.025)) !important;
    box-shadow: 0 18px 36px rgba(27,18,30,.18);
    transform: none !important;
    transition:
      transform .3s ease,
      border-color .3s ease,
      box-shadow .3s ease,
      background .3s ease;
  }

  .record-library .album-choice:hover,
  .record-library .album-choice.cover-focused {
    z-index: 5;
    transform: translateY(-7px) !important;
    border-color: rgba(238,216,168,.32) !important;
    background:
      linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.04)) !important;
    box-shadow: 0 26px 48px rgba(27,18,30,.26);
  }

  .record-library .album-thumb {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    width: 86% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    box-shadow: 0 18px 34px rgba(22,15,24,.32);
    transform: none !important;
  }

  .record-library .album-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .record-library .shelf-vinyl {
    position: absolute !important;
    z-index: 2 !important;
    top: 24px !important;
    right: 6px !important;
    width: 75% !important;
    aspect-ratio: 1 / 1 !important;
    transform: translateX(0) !important;
    transition:
      transform .48s cubic-bezier(.22,.78,.2,1),
      opacity .3s ease,
      filter .3s ease !important;
  }

  .record-library .album-choice:hover .shelf-vinyl,
  .record-library .album-choice.cover-focused .shelf-vinyl {
    transform: translateX(18%) !important;
  }

  .record-library .shelf-vinyl.is-dragging {
    transform: translateX(31%) scale(1.03) !important;
  }

  .record-library .album-choice.on-platter .shelf-vinyl {
    opacity: 0 !important;
    pointer-events: none;
    transform: translateX(30%) scale(.86) !important;
  }

  .record-library .album-choice > span:nth-of-type(3),
  .record-library .album-choice > span:last-of-type {
    position: absolute !important;
    z-index: 6 !important;
    left: 14px !important;
    right: 42px !important;
    bottom: 16px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .record-library .album-choice b {
    display: block;
    overflow: hidden;
    font-size: clamp(.92rem,1.15vw,1.08rem) !important;
    line-height: 1.12;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .record-library .album-choice small {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    font-size: .63rem !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .record-library .album-choice em {
    position: absolute !important;
    z-index: 6;
    right: 14px !important;
    bottom: 18px !important;
    font-size: .62rem !important;
    color: rgba(255,255,255,.42);
  }

  .record-library .album-choice.active::after,
  .record-library .album-choice.on-platter::after {
    content: "no prato" !important;
    position: absolute !important;
    z-index: 7;
    top: 12px !important;
    right: 12px !important;
    padding: 6px 9px;
    border-radius: 999px;
    color: #4a384d;
    background: #ead8aa;
    box-shadow: 0 7px 16px rgba(33,23,36,.17);
    font-size: .5rem !important;
    line-height: 1;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .now-playing-bar {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(260px,.55fr);
    gap: 28px;
    align-items: center;
    padding: clamp(24px,3vw,34px);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 24px;
    background: rgba(255,255,255,.045);
  }

  .now-playing-bar .now-playing-copy {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "label title"
      "label artist";
    column-gap: 18px;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .now-playing-bar .now-playing-copy > span {
    grid-area: label;
    max-width: 80px;
    font-size: .55rem !important;
    line-height: 1.35;
    letter-spacing: .18em !important;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
  }

  .now-playing-bar .now-playing-copy h3 {
    grid-area: title;
    margin: 0 0 4px !important;
    font-size: clamp(1.45rem,2.4vw,2.15rem) !important;
    line-height: 1;
  }

  .now-playing-bar .now-playing-copy p {
    grid-area: artist;
    margin: 0 !important;
    font-size: .74rem !important;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .now-playing-bar .audio-note {
    margin: 0 !important;
    padding: 14px 16px;
    border-radius: 14px;
    color: rgba(255,255,255,.56) !important;
    background: rgba(255,255,255,.035);
    font-size: .72rem !important;
    line-height: 1.5;
  }

  @media (max-width: 1100px) {
    .record-library .record-shelf {
      grid-template-columns: repeat(2,minmax(0,1fr)) !important;
      gap: 34px !important;
    }

    .record-library .album-choice {
      max-width: 420px;
      margin-inline: auto !important;
    }
  }

  @media (max-width: 720px) {
    .record-library {
      padding: 24px 16px;
      border-radius: 24px;
    }

    .record-library .record-shelf {
      grid-template-columns: 1fr !important;
      gap: 28px !important;
    }

    .record-library .album-choice {
      width: min(100%,460px) !important;
    }

    .now-playing-bar {
      grid-template-columns: 1fr;
    }
  }



  /* =========================================================
     V23 — LAYOUT FIEL À REFERÊNCIA APROVADA
     ========================================================= */

  .music-section {
    padding-top: 82px !important;
    padding-bottom: 92px !important;
  }

  .music-v22 {
    max-width: 1180px !important;
  }

  .music-v22 .music-intro {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
  }

  .music-v22 .music-intro .section-kicker {
    display: none;
  }

  .music-v22 .music-intro .section-title {
    max-width: none !important;
    margin: 0 auto 14px !important;
    font-size: clamp(3.1rem, 6vw, 5.6rem) !important;
    line-height: .94 !important;
    text-align: center;
  }

  .music-v22 .music-intro .section-lead {
    max-width: 720px !important;
    margin: 0 auto !important;
    font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
    line-height: 1.65 !important;
    text-align: center;
  }

  .music-v22 .music-intro::after {
    content: "♡";
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: min(100%, 760px);
    margin: 20px auto 0;
    color: #d7b575;
    font-size: 1.35rem;
    background:
      linear-gradient(rgba(220,188,126,.45),rgba(220,188,126,.45)) left center / calc(50% - 24px) 1px no-repeat,
      linear-gradient(rgba(220,188,126,.45),rgba(220,188,126,.45)) right center / calc(50% - 24px) 1px no-repeat;
  }

  .music-stage {
    gap: 24px !important;
    margin-top: 32px !important;
  }

  /* TOCA-DISCOS MENOR E HORIZONTAL */
  .turntable-stage {
    width: min(100%, 920px) !important;
    margin: 0 auto !important;
  }

  .turntable-stage .topdown-turntable {
    width: 100% !important;
    max-width: 920px !important;
    aspect-ratio: 2.35 / 1 !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  .turntable-stage .turntable-grid {
    background-size: 20px 20px !important;
  }

  .turntable-stage .turntable-brand {
    left: 4% !important;
    top: 8% !important;
  }

  .turntable-stage .platter-ring {
    left: 18% !important;
    top: 5.5% !important;
    width: 48% !important;
  }

  .turntable-stage .tonearm-assembly {
    right: 8% !important;
    top: 5% !important;
    width: 23% !important;
    height: 77% !important;
  }

  .turntable-stage .turntable-power {
    left: 4% !important;
    bottom: 18% !important;
    width: 58px !important;
    height: 58px !important;
  }

  .turntable-stage .speed-panel {
    left: 4% !important;
    bottom: 8% !important;
  }

  .turntable-stage .pitch-panel {
    right: 4.5% !important;
    bottom: 8% !important;
  }

  .turntable-stage .topdown-status {
    left: auto !important;
    right: 4.2% !important;
    bottom: 27% !important;
    transform: none !important;
  }

  .turntable-stage .needle-drag-hint {
    right: 6% !important;
    top: 48% !important;
  }

  .turntable-stage .record-drop-hint {
    left: 42% !important;
    top: 46% !important;
  }

  /* COLEÇÃO EM UMA ÚNICA LINHA, SEM CARD GIGANTE */
  .record-library {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .library-heading {
    position: relative;
    max-width: none !important;
    margin: 0 0 20px !important;
    padding: 0 110px;
  }

  .library-heading .album-overline {
    position: relative;
    display: inline-block;
    margin: 0 !important;
    padding: 0 18px;
    color: #dfc386 !important;
    font-size: .68rem !important;
    letter-spacing: .2em !important;
    background: #4f4053;
    z-index: 2;
  }

  .library-heading::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: rgba(222,193,137,.28);
  }

  .library-heading h3,
  .library-heading p:last-child {
    display: none;
  }

  .record-library .record-shelf {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 34px !important;
    align-items: start;
  }

  .record-library .album-choice {
    padding: 0 0 54px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .record-library .album-choice:hover,
  .record-library .album-choice.cover-focused {
    transform: translateY(-4px) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .record-library .album-thumb {
    width: 84% !important;
    border-radius: 8px !important;
  }

  .record-library .shelf-vinyl {
    top: 9px !important;
    right: 1px !important;
    width: 72% !important;
  }

  .record-library .album-choice:hover .shelf-vinyl,
  .record-library .album-choice.cover-focused .shelf-vinyl {
    transform: translateX(15%) !important;
  }

  .record-library .album-choice > span:nth-of-type(3),
  .record-library .album-choice > span:last-of-type {
    left: 0 !important;
    right: 34px !important;
    bottom: 4px !important;
  }

  .record-library .album-choice b {
    font-size: clamp(1rem, 1.5vw, 1.22rem) !important;
  }

  .record-library .album-choice small {
    font-size: .66rem !important;
  }

  .record-library .album-choice em {
    right: 0 !important;
    bottom: 6px !important;
  }

  .record-library .album-choice.active::after,
  .record-library .album-choice.on-platter::after {
    top: auto !important;
    right: 10% !important;
    bottom: 52px !important;
  }

  /* BLOCO AGORA TOCANDO */
  .now-playing-bar {
    grid-template-columns: minmax(0,1fr) minmax(260px,.9fr) !important;
    gap: 28px !important;
    width: min(100%, 900px);
    margin: 6px auto 0;
    padding: 20px 26px !important;
    border-radius: 18px !important;
  }

  .now-playing-bar::before {
    content: "♫";
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-right: 16px;
    border-radius: 50%;
    color: #4d3851;
    background: #b89dbd;
    font-size: 1.65rem;
  }

  .now-playing-bar {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) minmax(260px,.9fr) !important;
  }

  .now-playing-bar .now-playing-copy {
    grid-column: 2;
  }

  .now-playing-bar .audio-note {
    grid-column: 3;
    position: relative;
    padding-left: 28px !important;
    background: transparent !important;
  }

  .now-playing-bar .audio-note::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: rgba(255,255,255,.18);
  }

  @media (max-width: 980px) {
    .turntable-stage .topdown-turntable {
      aspect-ratio: 1.75 / 1 !important;
    }

    .turntable-stage .platter-ring {
      left: 10% !important;
      width: 58% !important;
    }

    .record-library .record-shelf {
      grid-template-columns: repeat(2,minmax(0,1fr)) !important;
      gap: 30px 40px !important;
    }

    .now-playing-bar {
      grid-template-columns: auto 1fr !important;
    }

    .now-playing-bar .audio-note {
      grid-column: 1 / -1;
      padding: 14px 0 0 !important;
    }

    .now-playing-bar .audio-note::before {
      left: 0;
      right: 0;
      top: 0;
      bottom: auto;
      width: auto;
      height: 1px;
    }
  }

  @media (max-width: 700px) {
    .music-v22 .music-intro .section-title {
      font-size: clamp(2.5rem, 12vw, 4rem) !important;
    }

    .turntable-stage .topdown-turntable {
      aspect-ratio: 1 / 1 !important;
    }

    .turntable-stage .platter-ring {
      left: 7% !important;
      top: 10% !important;
      width: 70% !important;
    }

    .turntable-stage .tonearm-assembly {
      right: 6% !important;
      top: 8% !important;
      width: 26% !important;
      height: 67% !important;
    }

    .record-library .record-shelf {
      grid-template-columns: 1fr !important;
      gap: 28px !important;
    }

    .record-library .album-choice {
      width: min(100%, 420px) !important;
      margin-inline: auto !important;
    }

    .now-playing-bar {
      width: 100%;
      grid-template-columns: auto 1fr !important;
    }
  }



.turntable-stage .tonearm-assembly{
  transform-origin:78% 13%!important;
  transform:rotate(-8deg) translate(0,0)!important;
  transition:transform .82s cubic-bezier(.22,.78,.2,1),filter .3s ease!important
}
.turntable-stage .tonearm-assembly.playing{
  transform:rotate(42deg) translate(-6%,4%)!important;
  animation:none!important
}
.turntable-stage .tonearm-assembly.changing{
  transform:rotate(-8deg) translate(0,0)!important
}
.turntable-stage .tonearm-assembly.dragging{
  transform:rotate(var(--drag-angle,-8deg))
    translate(calc(var(--drag-progress,0) * -6%),calc(var(--drag-progress,0) * 4%))!important
}
.turntable-stage .tonearm-head{transform:translateX(-50%) rotate(2deg)!important}
.turntable-stage .tonearm-head::after{height:18px!important;bottom:-15px!important}
.turntable-stage .needle-drag-hint{
  right:3.2%!important;
  top:37%!important;
  max-width:150px!important;
  padding:9px 12px!important;
  transform:none!important;
  animation:none!important;
  z-index:8!important
}
.turntable-stage .needle-drag-hint::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:-8px;
  width:15px;
  height:15px;
  background:inherit;
  transform:rotate(45deg)
}
.turntable-stage .needle-drag-hint.hidden{
  opacity:0!important;
  transform:translateY(-4px)!important;
  pointer-events:none!important
}
@media(max-width:700px){
  .turntable-stage .tonearm-assembly.playing{
    transform:rotate(38deg) translate(-4%,3%)!important
  }
  .turntable-stage .needle-drag-hint{
    right:2%!important;
    top:39%!important;
    max-width:112px!important;
    font-size:.48rem!important
  }
}

/* V91: bloqueio absoluto de rolagem enquanto a abertura está ativa. */
html.intro-scroll-locked,
html.intro-scroll-locked body,
body.locked{
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  scroll-behavior:auto !important;
}

body.locked{
  position:fixed !important;
  inset:0 !important;
  height:100dvh !important;
  touch-action:none !important;
}

body.locked .intro-polaroid-scene{
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
}

/* V85: fotos exclusivas e enquadradas para o hero no celular. */
.hero-picture{
  display:block;
  width:100%;
  height:100%;
}

.hero-picture > img{
  width:100%;
  height:100%;
}

@media(max-width:700px){
  .hero-slide--mobile-01 .hero-picture > img{
    object-position:center center;
  }

  .hero-slide--mobile-02 .hero-picture > img{
    object-position:56% center;
  }

  .hero-slide--mobile-03 .hero-picture > img{
    object-position:center center;
  }

  .hero-slide--mobile-04 .hero-picture{
    position:absolute;
    inset:0;
    overflow:hidden;
  }

  .hero-slide--mobile-04 .hero-picture > img{
    position:absolute;
    top:50%;
    left:50%;
    width:100vh;
    height:100vw;
    max-width:none;
    object-fit:cover;
    object-position:center 43%;
    transform:translate(-50%,-50%) rotate(90deg);
  }
}


/* =========================================================
   SITE MIX V66 — MURAL EM CAMINHO CONTÍNUO RESPONSIVO
   A linha é calculada pelos alfinetes reais no JavaScript.
   ========================================================= */

.memory-mural.memory-mural--path{
  position:relative !important;
  width:min(1180px,100%) !important;
  height:1450px !important;
  min-height:1450px !important;
  margin:70px auto 0 !important;
  padding:0 !important;
  overflow:visible !important;
  isolation:isolate !important;
}

.memory-mural--path .mural-threads{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
  pointer-events:none !important;
}

.memory-mural--path .mural-thread-path{
  fill:none !important;
  stroke:#7650a8 !important;
  stroke-width:4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.82 !important;
  vector-effect:non-scaling-stroke !important;
  filter:drop-shadow(0 2px 2px rgba(82,48,120,.10)) !important;
  stroke-dasharray:none !important;
  stroke-dashoffset:0 !important;
  transition:none !important;
}

.memory-mural--path.is-visible .mural-thread-path{
  stroke-dashoffset:0 !important;
}

.memory-mural--path .mural-photo{
  position:absolute !important;
  z-index:3 !important;
  margin:0 !important;
  opacity:0;
  transform:translateY(24px) rotate(var(--rot)) scale(.96);
  transition:
    transform .42s cubic-bezier(.2,.8,.2,1),
    filter .42s ease,
    opacity .65s ease !important;
  transition-delay:var(--delay) !important;
}

.memory-mural--path.is-visible .mural-photo{
  opacity:1 !important;
  transform:translateY(0) rotate(var(--rot)) scale(1) !important;
}

.memory-mural--path .mural-photo::after{
  display:none !important;
}

.memory-mural--path .mural-anchor{
  position:absolute;
  z-index:9;
  top:-9px;
  left:50%;
  width:18px;
  height:18px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#dcc6ff 0 10%,#9a67d5 31%,#70409f 68%,#4d2879 100%);
  box-shadow:0 5px 10px rgba(63,35,88,.34),0 0 0 4px rgba(118,80,168,.10);
  pointer-events:none;
}

.memory-mural--path .mural-pin{
  display:none !important;
}

.memory-mural--path .mural-doodle{
  display:none !important;
}

/* Percurso desktop: 1 → 2 → 3 → 4 → 5 → 6 → 7. */
.memory-mural--path .mural-photo--1{
  left:4% !important;
  top:70px !important;
  width:245px !important;
  height:305px !important;
  --rot:-5deg !important;
}

.memory-mural--path .mural-photo--2{
  left:39% !important;
  top:155px !important;
  width:205px !important;
  height:285px !important;
  --rot:3deg !important;
}

.memory-mural--path .mural-photo--3{
  right:5% !important;
  left:auto !important;
  top:85px !important;
  width:245px !important;
  height:305px !important;
  --rot:5deg !important;
}

.memory-mural--path .mural-photo--4{
  right:4% !important;
  left:auto !important;
  top:470px !important;
  width:205px !important;
  height:275px !important;
  --rot:4deg !important;
}

.memory-mural--path .mural-photo--5{
  left:49% !important;
  right:auto !important;
  top:650px !important;
  width:205px !important;
  height:275px !important;
  --rot:-3deg !important;
}

.memory-mural--path .mural-photo--6{
  left:9% !important;
  right:auto !important;
  top:810px !important;
  width:205px !important;
  height:275px !important;
  --rot:-5deg !important;
}

.memory-mural--path .mural-photo--7{
  left:37% !important;
  right:auto !important;
  top:1090px !important;
  width:205px !important;
  height:275px !important;
  --rot:2deg !important;
}

.memory-mural--path .mural-photo:hover,
.memory-mural--path .mural-photo:focus-visible,
.memory-mural--path .mural-photo.is-active{
  z-index:10 !important;
  transform:rotate(calc(var(--rot) * .55)) translateY(-5px) scale(1.02) !important;
  transition-delay:0s !important;
}

@media(max-width:980px){
  .memory-mural.memory-mural--path{
    height:1370px !important;
    min-height:1370px !important;
  }

  .memory-mural--path .mural-photo--1{left:3% !important;top:55px !important;width:210px !important;height:270px !important}
  .memory-mural--path .mural-photo--2{left:39.5% !important;top:145px !important;width:180px !important;height:250px !important}
  .memory-mural--path .mural-photo--3{right:3% !important;top:75px !important;width:210px !important;height:270px !important}
  .memory-mural--path .mural-photo--4{right:3% !important;top:430px !important;width:180px !important;height:248px !important}
  .memory-mural--path .mural-photo--5{left:42% !important;top:620px !important;width:180px !important;height:248px !important}
  .memory-mural--path .mural-photo--6{left:3% !important;top:790px !important;width:180px !important;height:248px !important}
  .memory-mural--path .mural-photo--7{left:37% !important;top:1045px !important;width:180px !important;height:248px !important}
}

@media(max-width:700px){
  .memory-mural.memory-mural--path{
    height:1480px !important;
    min-height:1480px !important;
    margin-top:44px !important;
    overflow:hidden !important;
  }

  .memory-mural--path .mural-thread-path{stroke-width:3.2 !important}
  .memory-mural--path .mural-photo--1{left:3% !important;right:auto !important;top:25px !important;width:150px !important;height:205px !important}
  .memory-mural--path .mural-photo--2{left:auto !important;right:3% !important;top:225px !important;width:135px !important;height:190px !important}
  .memory-mural--path .mural-photo--3{left:3% !important;right:auto !important;top:425px !important;width:150px !important;height:205px !important}
  .memory-mural--path .mural-photo--4{left:auto !important;right:3% !important;top:630px !important;width:138px !important;height:194px !important}
  .memory-mural--path .mural-photo--5{left:3% !important;right:auto !important;top:830px !important;width:140px !important;height:196px !important}
  .memory-mural--path .mural-photo--6{left:auto !important;right:3% !important;top:1030px !important;width:140px !important;height:196px !important}
  .memory-mural--path .mural-photo--7{left:29% !important;right:auto !important;top:1235px !important;width:140px !important;height:196px !important}
}



  /* Textos removidos da área do toca-discos */
  .turntable-stage .needle-drag-hint {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    right: auto !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .turntable-stage .needle-drag-hint::after {
    display: none !important;
  }

  .turntable-stage .topdown-status {
    display: none !important;
  }

  /* Braço, cápsula e agulha alongados */
  .turntable-stage .tonearm-assembly {
    right: 4.5% !important;
    top: 3.5% !important;
    width: 29% !important;
    height: 84% !important;
    transform-origin: 81% 12% !important;
  }

  .turntable-stage .tonearm-pipe {
    right: 20% !important;
    top: 11% !important;
    width: 13px !important;
    height: 82% !important;
  }

  .turntable-stage .tonearm-head {
    bottom: -10% !important;
    width: 50px !important;
    height: 76px !important;
    border-radius: 10px 10px 15px 15px !important;
  }

  .turntable-stage .tonearm-head::after {
    bottom: -21px !important;
    width: 3px !important;
    height: 25px !important;
  }

  .turntable-stage .tonearm-assembly.playing {
    transform: rotate(47deg) translate(-10%, 7%) !important;
  }

  .turntable-stage .tonearm-assembly.changing {
    transform: rotate(-8deg) translate(0,0) !important;
  }

  .turntable-stage .tonearm-assembly.dragging {
    transform:
      rotate(var(--drag-angle,-8deg))
      translate(
        calc(var(--drag-progress,0) * -10%),
        calc(var(--drag-progress,0) * 7%)
      ) !important;
  }

  /* Instrução agora no rodapé do player */
  .now-playing-bar .audio-note {
    color: rgba(255,255,255,.8) !important;
  }

  .now-playing-bar .audio-note strong {
    display: block;
    margin-bottom: 5px;
    color: #efd9a2;
    font-size: .63rem;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  @media (max-width: 700px) {
    .turntable-stage .tonearm-assembly {
      right: 3% !important;
      top: 5% !important;
      width: 31% !important;
      height: 79% !important;
    }

    .turntable-stage .tonearm-assembly.playing {
      transform: rotate(42deg) translate(-7%,5%) !important;
    }

    .turntable-stage .tonearm-head {
      width: 42px !important;
      height: 64px !important;
    }
  }



/* Centraliza o prato e recalibra a agulha */
.turntable-stage .platter-ring{
    left:26% !important;
}
.turntable-stage .record-drop-zone,
.turntable-stage .record-disc,
.turntable-stage .record-label,
.turntable-stage .record-shadow{
    transform:translateX(70px) !important;
}
.turntable-stage .tonearm-assembly{
    width:27% !important;
    right:5.5% !important;
}
.turntable-stage .tonearm-assembly.playing{
    transform:rotate(39deg) translate(-5%,3%) !important;
}
.turntable-stage .tonearm-assembly.dragging{
    transform:
      rotate(var(--drag-angle,-8deg))
      translate(
        calc(var(--drag-progress,0) * -5%),
        calc(var(--drag-progress,0) * 3%)
      ) !important;
}



  /* O vinil também funciona como controle da faixa */
  .active-vinyl {
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .active-vinyl.scratching {
    cursor: grabbing;
    animation: none !important;
    transform: rotate(var(--scratch-angle, 0deg)) !important;
    transition: none !important;
    filter: brightness(1.035);
  }

  .active-vinyl.scratching .vinyl-label {
    pointer-events: none;
  }



.timeline-section .section-title{font-size:clamp(2.8rem,5vw,5.2rem)}
.timeline-section .section-lead{margin-top:14px;font-size:clamp(1.05rem,1.6vw,1.3rem)}
@media(max-height:820px) and (min-width:700px){.timeline-sticky{padding-top:42px}.timeline-section .section-title{font-size:clamp(2.4rem,4.4vw,4.3rem)}.timeline-section .section-lead{display:none}.memory-card{min-height:400px;max-height:56vh}.memory-card img{height:clamp(180px,22vh,240px)}}
@media(max-width:900px){.prologue-layout{grid-template-columns:1fr}.prologue-visual{min-height:570px}.prologue-main-photo{width:86%;height:520px}}
@media(max-width:650px){.hero-content{align-items:flex-end;justify-content:center;padding:100px 24px 108px;text-align:center}.prologue-visual{min-height:470px}.prologue-main-photo{width:88%;height:430px}.prologue-polaroid{width:48%;bottom:0}.section-divider,.section-divider-svg{height:96px}.section-divider{top:-57px}.timeline-sticky{min-height:680px;padding-top:52px}.timeline-section .section-lead{display:none}.memory-card{min-height:420px;max-height:62vh}.memory-card img{height:210px}}


/* V29 — toca-discos controlado pela agulha e pelo vinil */
.turntable-power {
  display: none !important;
}

.active-vinyl {
  cursor: grab;
  touch-action: none !important;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: auto !important;
  z-index: 4;
}

.active-vinyl.scratching {
  cursor: grabbing;
  animation: none !important;
  transform: rotate(var(--scratch-angle, 0deg)) !important;
  transition: none !important;
}

.active-vinyl .vinyl-grooves,
.active-vinyl .vinyl-label,
.active-vinyl .vinyl-spindle {
  pointer-events: none;
}


/* V33 — correção visual e funcional da troca de discos */

/*
  O braço precisa ficar acima do prato e do vinil.
  Antes, o disco tinha z-index maior e cobria parte da agulha.
*/
.turntable-stage .tonearm-assembly {
  z-index: 30 !important;
  pointer-events: auto !important;
}

.turntable-stage .tonearm-base,
.turntable-stage .tonearm-pipe,
.turntable-stage .tonearm-head {
  position: absolute;
  z-index: 31 !important;
}

.turntable-stage .tonearm-head::after {
  z-index: 32 !important;
}

.turntable-stage .platter-ring {
  z-index: 5 !important;
}

.turntable-stage .record-drop-zone {
  z-index: 7 !important;
}

.turntable-stage .active-vinyl {
  z-index: 8 !important;
}

/*
  As capas e os discos da coleção deixam claro que podem ser clicados
  ou arrastados.
*/
.record-shelf .album-choice,
.record-shelf .shelf-vinyl,
.record-shelf .album-thumb {
  cursor: pointer !important;
}

.record-shelf .shelf-vinyl {
  pointer-events: auto !important;
  user-select: none;
  -webkit-user-select: none;
}

/* Remove o espaço que era ocupado pelo texto "Como tocar". */
.now-playing-bar {
  grid-template-columns: 1fr !important;
}

.audio-note {
  display: none !important;
}


/* =========================================================
   SITE MIX V36
   BASE INTACTA: V33
   PATCH MOBILE ISOLADO — NÃO ALTERA DESKTOP NEM JAVASCRIPT
   ========================================================= */

@media (max-width: 700px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100%;
  }

  /* ---------- Prólogo: uma coluna, sem conteúdo cortado ---------- */

  .prologue-section {
    width: 100% !important;
    padding: 64px 16px 76px !important;
    overflow: hidden !important;
  }

  .prologue-section .container,
  .prologue-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 46px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .prologue-visual {
    position: relative !important;
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;
    min-height: 430px !important;
    margin-inline: auto !important;
  }

  .prologue-main-photo {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 88% !important;
    max-width: 430px !important;
    margin: 0 auto 0 0 !important;
    transform: rotate(-1.5deg) !important;
  }

  .prologue-main-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }

  .prologue-polaroid {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    top: auto !important;
    bottom: 0 !important;
    width: 48% !important;
    max-width: 205px !important;
    transform: rotate(5deg) !important;
  }

  .prologue-polaroid img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  .prologue-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .prologue-copy .section-title {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    font-size: clamp(2.65rem, 12.5vw, 4rem) !important;
    line-height: .98 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .prologue-copy p,
  .prologue-copy .section-lead {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    overflow-wrap: break-word !important;
  }

  /* ---------- Música: duas colunas em uma única área ---------- */

  .music-section {
    width: 100% !important;
    padding: 48px 8px 62px !important;
    overflow: hidden !important;
  }

  .music-v22,
  .music-section .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }

  .music-v22 .music-intro {
    padding-inline: 10px !important;
  }

  .music-v22 .music-intro .section-title {
    font-size: clamp(2.35rem, 10.5vw, 3.7rem) !important;
  }

  .music-stage {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(104px, .92fr) !important;
    grid-template-areas:
      "turntable library"
      "playing playing" !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
    align-items: start !important;
    margin-top: 24px !important;
  }

  .turntable-stage {
    grid-area: turntable !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .turntable-stage .topdown-turntable {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.25 / 1 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  /* Recalibra apenas a geometria visual da V33 no mobile. */
  .turntable-stage .platter-ring {
    left: 5% !important;
    top: 14% !important;
    width: 68% !important;
  }

  .turntable-stage .record-drop-zone,
  .turntable-stage .record-disc,
  .turntable-stage .record-label,
  .turntable-stage .record-shadow {
    transform: none !important;
  }

  .turntable-stage .tonearm-assembly {
    right: 1.5% !important;
    top: 5% !important;
    width: 31% !important;
    height: 76% !important;
  }

  .turntable-stage .tonearm-assembly.playing {
    transform: rotate(40deg) translate(-6%, 4%) !important;
  }

  .turntable-stage .turntable-brand {
    left: 4% !important;
    top: 4% !important;
    transform: scale(.58) !important;
    transform-origin: left top !important;
  }

  .turntable-stage .speed-panel {
    left: 3% !important;
    bottom: 3% !important;
    transform: scale(.65) !important;
    transform-origin: left bottom !important;
  }

  .turntable-stage .pitch-panel {
    right: 2% !important;
    bottom: 4% !important;
    transform: scale(.6) !important;
    transform-origin: right bottom !important;
  }

  .record-library {
    grid-area: library !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 292px !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 7px 4px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  .record-library .library-heading {
    margin: 0 0 7px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .record-library .library-heading::before,
  .record-library .library-heading h3,
  .record-library .library-heading p:last-child {
    display: none !important;
  }

  .record-library .library-heading .album-overline {
    padding: 0 !important;
    font-size: .48rem !important;
    line-height: 1.2 !important;
    letter-spacing: .11em !important;
    background: transparent !important;
  }

  .record-library .record-shelf {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: 260px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 2px 5px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
  }

  .record-library .album-choice {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 4px !important;
    gap: 3px !important;
    transform: none !important;
    border-radius: 8px !important;
  }

  .record-library .album-choice:hover,
  .record-library .album-choice:focus-visible,
  .record-library .album-choice.active {
    transform: none !important;
  }

  .record-library .album-thumb {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    border-radius: 7px !important;
    overflow: hidden !important;
  }

  .record-library .album-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* O disco escondido atrás da capa causava estouro de largura. */
  .record-library .shelf-vinyl {
    display: none !important;
  }

  .record-library .album-info {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 2px !important;
    text-align: center !important;
  }

  .record-library .album-choice b,
  .record-library .album-choice small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .record-library .album-choice b {
    font-size: .57rem !important;
    line-height: 1.15 !important;
  }

  .record-library .album-choice small {
    margin-top: 2px !important;
    font-size: .43rem !important;
    line-height: 1.1 !important;
  }

  .record-library .album-choice em {
    display: none !important;
  }

  .now-playing-bar {
    grid-area: playing !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 2px 0 0 !important;
    padding: 10px 12px !important;
  }

  /* ---------- Demais seções: evita estouros laterais ---------- */

  .timeline-section,
  .gallery-section,
  .letter-section,
  .paper-section {
    overflow-x: hidden !important;
  }

  .gallery-grid,
  .timeline,
  .letter-layout {
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  .prologue-section {
    padding-inline: 13px !important;
  }

  .prologue-visual {
    min-height: 390px !important;
  }

  .music-stage {
    grid-template-columns: minmax(0, 1.58fr) minmax(92px, .88fr) !important;
    gap: 6px !important;
  }

  .record-library {
    max-height: 270px !important;
  }

  .record-library .record-shelf {
    max-height: 239px !important;
  }
}


/* =========================================================
   SITE MIX V37
   MOBILE: COLEÇÃO DE DISCOS EM FAIXA HORIZONTAL
   ========================================================= */

@media (max-width: 700px) {
  /*
    No celular, o toca-discos fica inteiro na primeira linha.
    A coleção vira uma faixa horizontal logo abaixo.
  */
  .music-stage {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "turntable"
      "library"
      "playing" !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .turntable-stage {
    grid-area: turntable !important;
    width: 100% !important;
    max-width: 430px !important;
    margin-inline: auto !important;
  }

  .turntable-stage .topdown-turntable {
    width: 100% !important;
    aspect-ratio: 1.25 / 1 !important;
  }

  .record-library {
    grid-area: library !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 8px 7px 10px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  .record-library .library-heading {
    margin: 0 0 8px !important;
    text-align: left !important;
  }

  .record-library .library-heading .album-overline {
    display: block !important;
    padding-left: 3px !important;
    text-align: left !important;
  }

  /*
    Faixa horizontal:
    - desliza com o dedo;
    - cada capa mantém tamanho compacto;
    - encaixe suave entre os discos.
  */
  .record-library .record-shelf {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 1px 3px 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 3px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  .record-library .album-choice {
    display: grid !important;
    flex: 0 0 clamp(96px, 28vw, 124px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: clamp(96px, 28vw, 124px) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 6px !important;
    gap: 4px !important;
    scroll-snap-align: start;
    border-radius: 9px !important;
    transform: none !important;
  }

  .record-library .album-choice:hover,
  .record-library .album-choice:focus-visible,
  .record-library .album-choice.active,
  .record-library .album-choice.on-platter {
    transform: none !important;
  }

  .record-library .album-thumb {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .record-library .album-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .record-library .shelf-vinyl {
    display: none !important;
  }

  .record-library .album-info {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 3px !important;
    text-align: left !important;
  }

  .record-library .album-choice b,
  .record-library .album-choice small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .record-library .album-choice b {
    font-size: .66rem !important;
    line-height: 1.15 !important;
  }

  .record-library .album-choice small {
    margin-top: 2px !important;
    font-size: .5rem !important;
    line-height: 1.15 !important;
  }

  .record-library .album-choice em {
    display: none !important;
  }

  .now-playing-bar {
    grid-area: playing !important;
    width: 100% !important;
    max-width: 430px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 390px) {
  .record-library .album-choice {
    flex-basis: 100px !important;
    width: 100px !important;
  }

  .record-library .record-shelf {
    gap: 8px !important;
  }
}


/* =========================================================
   SITE MIX V38
   PALETA VIOLETA + DISCOS GRANDES NO MOBILE

   Paleta de referência:
   #FFFFFF
   #E5D0FF
   #DABCFF
   #CCA3FF
   #BF8BFF
   ========================================================= */

:root {
  --paper: #fdfbff;
  --paper-light: #ffffff;
  --paper-dark: #e5d0ff;
  --ink: #30213f;
  --muted: #725f86;
  --lavender: #e5d0ff;
  --mauve: #dabcff;
  --grape: #cca3ff;
  --grape-dark: #8d5ec9;
  --violet-bright: #bf8bff;
  --gold: #8d5ec9;
  --shadow: 0 28px 80px rgba(121, 74, 178, .22);
}

/* Paleta global violeta clara. */
body {
  color: var(--ink);
  background: #fdfbff;
}

.prologue-section,
.gallery-section,
.paper-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(229,208,255,.52), transparent 26rem),
    linear-gradient(135deg, #ffffff 0%, #f8f1ff 48%, #e5d0ff 100%) !important;
}

.timeline-section {
  background:
    radial-gradient(circle at 80% 16%, rgba(191,139,255,.2), transparent 28rem),
    linear-gradient(145deg, #ffffff, #ead8ff 58%, #dabcff) !important;
}

.music-section {
  background:
    radial-gradient(circle at 20% 13%, rgba(255,255,255,.38), transparent 24rem),
    linear-gradient(145deg, #dabcff 0%, #cca3ff 52%, #bf8bff 100%) !important;
}

.epilogue {
  background:
    radial-gradient(circle at 50% 36%, rgba(255,255,255,.18), transparent 24rem),
    linear-gradient(145deg, #8d5ec9, #bf8bff 56%, #cca3ff) !important;
}

.section-kicker,
.album-overline,
.library-heading {
  color: #7144a8 !important;
}

.ornament,
.timeline-progress span {
  background: linear-gradient(90deg, #e5d0ff, #cca3ff, #bf8bff) !important;
}

/* Toca-discos com acabamento violeta. */
.topdown-turntable {
  background:
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.38), transparent 34%),
    linear-gradient(145deg, #e5d0ff, #cca3ff 60%, #bf8bff) !important;
  border-color: rgba(86, 42, 137, .2) !important;
  box-shadow:
    0 30px 72px rgba(72, 35, 112, .28),
    inset 0 1px 0 rgba(255,255,255,.62) !important;
}

.turntable-brand,
.topdown-status,
.speed-panel,
.pitch-panel {
  color: #4e2c70 !important;
}

.now-playing-bar {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.42) !important;
  color: #fff !important;
  backdrop-filter: blur(12px);
}

.now-playing-icon {
  background: #e5d0ff !important;
  color: #563279 !important;
}

/* =========================================================
   MOBILE — CAPAS GRANDES, COMO ÁLBUNS DE VINIL
   ========================================================= */

@media (max-width: 700px) {
  .music-section {
    padding: 52px 0 68px !important;
  }

  .music-v22 .music-intro {
    padding-inline: 18px !important;
  }

  .music-stage {
    gap: 20px !important;
  }

  .turntable-stage {
    width: calc(100% - 28px) !important;
    max-width: 470px !important;
  }

  /*
    Área da coleção sem caixa pequena.
    Ela passa a parecer uma prateleira de discos.
  */
  .record-library {
    width: 100% !important;
    max-width: none !important;
    padding: 14px 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .record-library .library-heading {
    padding-inline: 20px !important;
    margin-bottom: 13px !important;
  }

  .record-library .library-heading .album-overline {
    font-size: .62rem !important;
    letter-spacing: .15em !important;
    color: #55306f !important;
  }

  /*
    Carrossel horizontal com capas grandes.
    Cada item ocupa cerca de 68% da tela.
  */
  .record-library .record-shelf {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    gap: 24px !important;
    padding: 8px 15vw 22px 18px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 18px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  .record-library .record-shelf::-webkit-scrollbar {
    display: none;
  }

  .record-library .album-choice {
    position: relative !important;
    display: block !important;
    flex: 0 0 min(68vw, 265px) !important;
    width: min(68vw, 265px) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 0 46px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    scroll-snap-align: center;
    isolation: isolate;
  }

  /*
    Disco aparece saindo pela lateral da capa,
    como no layout enviado como referência.
  */
  .record-library .shelf-vinyl {
    display: block !important;
    position: absolute !important;
    z-index: -1 !important;
    top: 9% !important;
    right: -28% !important;
    left: auto !important;
    width: 78% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    background:
      repeating-radial-gradient(
        circle,
        #111014 0 3px,
        #2c2531 4px 6px,
        #17131b 7px 9px
      ) !important;
    box-shadow:
      0 18px 30px rgba(41,20,61,.4),
      inset 0 0 0 2px rgba(255,255,255,.05) !important;
    transform: rotate(-8deg) !important;
    transition: transform .35s ease, right .35s ease !important;
  }

  .record-library .shelf-vinyl::after {
    content: "";
    position: absolute;
    inset: 37%;
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 30%, #fff 0 7%, transparent 8%),
      linear-gradient(145deg, #e5d0ff, #bf8bff);
    box-shadow: 0 0 0 2px rgba(255,255,255,.35);
  }

  .record-library .album-choice.active .shelf-vinyl,
  .record-library .album-choice.on-platter .shelf-vinyl {
    right: -34% !important;
    transform: rotate(10deg) !important;
  }

  /*
    Capa quadrada grande, com aparência de envelope físico.
  */
  .record-library .album-thumb {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding: 9px !important;
    overflow: hidden !important;
    border: 1px solid rgba(82,45,112,.16) !important;
    border-radius: 3px !important;
    background:
      linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,225,255,.95)) !important;
    box-shadow:
      0 24px 42px rgba(78,40,113,.28),
      inset 0 0 22px rgba(104,65,136,.07) !important;
  }

  .record-library .album-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      linear-gradient(105deg, rgba(255,255,255,.22), transparent 35%),
      repeating-linear-gradient(
        0deg,
        rgba(65,33,91,.025) 0 1px,
        transparent 1px 4px
      );
  }

  .record-library .album-thumb img {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 1px !important;
  }

  .record-library .album-info {
    position: absolute !important;
    z-index: 3 !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 0 !important;
    width: auto !important;
    padding: 11px 5px 0 !important;
    color: #fff !important;
    text-align: left !important;
  }

  .record-library .album-choice b {
    font-size: 1.05rem !important;
    line-height: 1.05 !important;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(52,26,77,.25);
  }

  .record-library .album-choice small {
    margin-top: 5px !important;
    font-size: .67rem !important;
    letter-spacing: .08em !important;
    color: rgba(255,255,255,.78) !important;
  }

  .record-library .album-choice.active::before,
  .record-library .album-choice.on-platter::before {
    content: "NO PRATO";
    position: absolute;
    z-index: 5;
    top: 18px;
    right: -8px;
    padding: 8px 14px;
    border-radius: 999px;
    color: #5d357b;
    background: #e5d0ff;
    box-shadow: 0 8px 20px rgba(59,27,86,.2);
    font: 700 .58rem/1 var(--sans);
    letter-spacing: .12em;
  }

  .now-playing-bar {
    width: calc(100% - 28px) !important;
    max-width: 470px !important;
  }
}

@media (max-width: 390px) {
  .record-library .album-choice {
    flex-basis: min(72vw, 245px) !important;
    width: min(72vw, 245px) !important;
  }

  .record-library .record-shelf {
    gap: 21px !important;
    padding-right: 19vw !important;
  }
}


/* =========================================================
   SITE MIX V39
   ACABAMENTO SUAVE ENTRE CAPA E VINIL
   ========================================================= */

@media (max-width: 700px) {
  /*
    Vinil mais discreto, com menos área exposta e transição suave.
  */
  .record-library .shelf-vinyl {
    right: -22% !important;
    width: 72% !important;
    filter:
      drop-shadow(0 18px 26px rgba(45, 20, 65, .34))
      saturate(.92)
      contrast(1.04) !important;
    -webkit-mask-image:
      linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.18) 7%,
        rgba(0,0,0,.58) 16%,
        #000 31%,
        #000 100%
      );
    mask-image:
      linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.18) 7%,
        rgba(0,0,0,.58) 16%,
        #000 31%,
        #000 100%
      );
    transition:
      right .42s cubic-bezier(.2,.8,.2,1),
      transform .42s cubic-bezier(.2,.8,.2,1),
      filter .42s ease !important;
  }

  .record-library .album-choice.active .shelf-vinyl,
  .record-library .album-choice.on-platter .shelf-vinyl {
    right: -27% !important;
    transform: rotate(8deg) translateX(5px) !important;
    filter:
      drop-shadow(0 22px 32px rgba(45, 20, 65, .4))
      saturate(.98)
      contrast(1.05) !important;
  }

  /*
    Sombra de contato atrás da capa, criando união visual
    entre envelope e disco sem corte seco.
  */
  .record-library .album-choice::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 9%;
    right: -8%;
    width: 34%;
    height: 76%;
    pointer-events: none;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse at left center,
        rgba(54, 25, 79, .25) 0%,
        rgba(54, 25, 79, .13) 34%,
        rgba(54, 25, 79, .04) 62%,
        transparent 78%
      );
    filter: blur(10px);
    opacity: .78;
  }

  /*
    Borda e textura mais suaves no envelope.
  */
  .record-library .album-thumb {
    border-color: rgba(88, 48, 120, .12) !important;
    box-shadow:
      0 20px 34px rgba(78, 40, 113, .22),
      0 5px 12px rgba(70, 34, 103, .12),
      inset 0 1px 0 rgba(255,255,255,.82),
      inset 0 0 26px rgba(104,65,136,.045) !important;
  }

  /*
    Fade delicado na borda direita da capa,
    onde visualmente ela encontra o disco.
  */
  .record-library .album-thumb::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    right: -1px;
    width: 18%;
    height: 100%;
    pointer-events: none;
    background:
      linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,.12) 34%,
        rgba(255,255,255,.32) 72%,
        rgba(255,255,255,.52) 100%
      );
    mix-blend-mode: soft-light;
    opacity: .72;
  }

  /*
    Pequeno brilho premium na superfície da capa.
  */
  .record-library .album-thumb::before {
    background:
      linear-gradient(
        112deg,
        rgba(255,255,255,.28) 0%,
        rgba(255,255,255,.1) 18%,
        transparent 36%
      ),
      repeating-linear-gradient(
        0deg,
        rgba(65,33,91,.022) 0 1px,
        transparent 1px 4px
      ) !important;
  }

  /*
    Movimento mínimo da capa ao selecionar,
    só para reforçar profundidade.
  */
  .record-library .album-choice.active .album-thumb,
  .record-library .album-choice.on-platter .album-thumb {
    transform: translateY(-2px);
    transition: transform .35s ease;
  }
}


/* =========================================================
   SITE MIX V40
   CARROSSEL MOBILE COM IMAGE MASK
   Estilo: álbum central nítido + laterais suavemente recortadas
   ========================================================= */

@media (max-width: 700px) {
  .record-library {
    position: relative !important;
    overflow: hidden !important;
    padding-bottom: 20px !important;
  }

  /*
    Máscara geral do carrossel:
    centro totalmente visível, laterais desaparecendo suavemente.
  */
  .record-library .record-shelf {
    position: relative !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    padding: 12px 23vw 28px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 23vw !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;

    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.58) 12%,
      #000 23%,
      #000 77%,
      rgba(0,0,0,.58) 88%,
      rgba(0,0,0,.18) 95%,
      transparent 100%
    ) !important;

    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.58) 12%,
      #000 23%,
      #000 77%,
      rgba(0,0,0,.58) 88%,
      rgba(0,0,0,.18) 95%,
      transparent 100%
    ) !important;
  }

  .record-library .record-shelf::-webkit-scrollbar {
    display: none !important;
  }

  /*
    O álbum central ocupa a maior parte da tela.
  */
  .record-library .album-choice {
    position: relative !important;
    flex: 0 0 min(70vw, 275px) !important;
    width: min(70vw, 275px) !important;
    padding-bottom: 58px !important;
    scroll-snap-align: center !important;
    opacity: .58;
    transform: scale(.86) !important;
    filter: saturate(.78) brightness(.92);
    transition:
      transform .38s cubic-bezier(.2,.8,.2,1),
      opacity .38s ease,
      filter .38s ease !important;
  }

  .record-library .album-choice.active,
  .record-library .album-choice.on-platter {
    z-index: 4 !important;
    opacity: 1 !important;
    transform: scale(1) !important;
    filter: none !important;
  }

  /*
    Os discos ficam atrás das capas, sem máscara individual dura.
  */
  .record-library .shelf-vinyl {
    display: block !important;
    position: absolute !important;
    z-index: -1 !important;
    top: 17% !important;
    right: -28% !important;
    width: 72% !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;

    -webkit-mask-image: radial-gradient(
      circle,
      #000 0 68%,
      rgba(0,0,0,.92) 74%,
      rgba(0,0,0,.55) 84%,
      transparent 100%
    ) !important;

    mask-image: radial-gradient(
      circle,
      #000 0 68%,
      rgba(0,0,0,.92) 74%,
      rgba(0,0,0,.55) 84%,
      transparent 100%
    ) !important;

    filter: drop-shadow(0 18px 24px rgba(48,22,68,.3)) !important;
    transform: rotate(-8deg) !important;
  }

  .record-library .album-choice.active .shelf-vinyl,
  .record-library .album-choice.on-platter .shelf-vinyl {
    right: -31% !important;
    transform: rotate(8deg) !important;
  }

  /*
    Remove os fades antigos que deixavam o corte artificial.
  */
  .record-library .album-choice::after,
  .record-library .album-thumb::after {
    display: none !important;
  }

  .record-library .album-thumb {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 7px !important;
    overflow: hidden !important;
    border: 3px solid rgba(255,255,255,.82) !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,.18) !important;
    box-shadow:
      0 22px 44px rgba(66,31,94,.26),
      0 7px 16px rgba(66,31,94,.14) !important;
  }

  .record-library .album-choice.active .album-thumb,
  .record-library .album-choice.on-platter .album-thumb {
    transform: none !important;
    box-shadow:
      0 28px 52px rgba(66,31,94,.32),
      0 8px 18px rgba(66,31,94,.18) !important;
  }

  .record-library .album-info {
    left: 7px !important;
    right: 7px !important;
    bottom: 0 !important;
    padding-top: 14px !important;
  }

  .record-library .album-choice b {
    font-size: 1.15rem !important;
  }

  .record-library .album-choice small {
    font-size: .69rem !important;
  }

  /*
    Etiqueta do disco ativo.
  */
  .record-library .album-choice.active::before,
  .record-library .album-choice.on-platter::before {
    top: auto !important;
    right: -3px !important;
    bottom: 68px !important;
    padding: 8px 14px !important;
    z-index: 7 !important;
  }

  /*
    Sombreamento nas bordas do carrossel, acima da máscara.
  */
  .record-library::before,
  .record-library::after {
    content: "";
    position: absolute;
    z-index: 10;
    top: 42px;
    bottom: 52px;
    width: 15%;
    pointer-events: none;
  }

  .record-library::before {
    left: 0;
    background: linear-gradient(
      90deg,
      rgba(204,163,255,.92),
      rgba(204,163,255,.35) 52%,
      transparent
    );
  }

  .record-library::after {
    right: 0;
    background: linear-gradient(
      270deg,
      rgba(191,139,255,.92),
      rgba(191,139,255,.35) 52%,
      transparent
    );
  }
}

@media (max-width: 390px) {
  .record-library .record-shelf {
    padding-inline: 19vw !important;
    scroll-padding-inline: 19vw !important;
    gap: 14px !important;
  }

  .record-library .album-choice {
    flex-basis: min(73vw, 255px) !important;
    width: min(73vw, 255px) !important;
  }
}


/* =========================================================
   SITE MIX V41
   MÁSCARA DO CARROSSEL NA LARGURA TOTAL DA TELA
   ========================================================= */

@media (max-width: 700px) {
  /*
    Faz a área dos discos ocupar 100vw de verdade,
    ultrapassando o container interno do site.
  */
  .record-library {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    padding-inline: 0 !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  /*
    A faixa rolável também ocupa toda a largura da tela.
    O fade só acontece nas bordas reais do celular.
  */
  .record-library .record-shelf {
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 21vw !important;
    padding-right: 21vw !important;
    scroll-padding-left: 21vw !important;
    scroll-padding-right: 21vw !important;

    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.12) 3%,
      rgba(0,0,0,.45) 7%,
      rgba(0,0,0,.82) 12%,
      #000 18%,
      #000 82%,
      rgba(0,0,0,.82) 88%,
      rgba(0,0,0,.45) 93%,
      rgba(0,0,0,.12) 97%,
      transparent 100%
    ) !important;

    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.12) 3%,
      rgba(0,0,0,.45) 7%,
      rgba(0,0,0,.82) 12%,
      #000 18%,
      #000 82%,
      rgba(0,0,0,.82) 88%,
      rgba(0,0,0,.45) 93%,
      rgba(0,0,0,.12) 97%,
      transparent 100%
    ) !important;
  }

  /*
    Remove os overlays estreitos antigos que criavam
    uma linha vertical aparente no meio do carrossel.
  */
  .record-library::before,
  .record-library::after {
    display: none !important;
  }

  /*
    Garante que capa e disco possam ultrapassar o item
    sem serem cortados por caixas internas.
  */
  .record-library .album-choice,
  .record-library .album-thumb,
  .record-library .shelf-vinyl {
    overflow: visible !important;
  }

  /*
    Máscara radial mais suave no próprio vinil.
  */
  .record-library .shelf-vinyl {
    -webkit-mask-image: radial-gradient(
      circle at center,
      #000 0%,
      #000 72%,
      rgba(0,0,0,.92) 79%,
      rgba(0,0,0,.68) 86%,
      rgba(0,0,0,.28) 94%,
      transparent 100%
    ) !important;

    mask-image: radial-gradient(
      circle at center,
      #000 0%,
      #000 72%,
      rgba(0,0,0,.92) 79%,
      rgba(0,0,0,.68) 86%,
      rgba(0,0,0,.28) 94%,
      transparent 100%
    ) !important;
  }
}

@media (max-width: 390px) {
  .record-library .record-shelf {
    padding-left: 17vw !important;
    padding-right: 17vw !important;
    scroll-padding-left: 17vw !important;
    scroll-padding-right: 17vw !important;
  }
}

/* V42 — correção definitiva da linha do tempo no celular
   No mobile, a seção deixa de usar sticky + scroll vertical convertido
   e passa a ser um carrossel horizontal nativo, estável e tocável. */
@media (max-width: 700px) {
  .timeline-section {
    height: 520vh;
    min-height: 0;
    padding: 0 !important;
    overflow: visible !important;
  }

  .timeline-sticky {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: var(--timeline-mobile-vh, 100svh) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    padding: clamp(28px, 6svh, 48px) 0 20px !important;
    box-sizing: border-box !important;
    isolation: isolate;
  }

  .timeline-section.timeline-mobile-pinned .timeline-sticky {
    position: fixed !important;
    top: 0 !important;
    bottom: auto !important;
    z-index: 40 !important;
  }

  .timeline-section.timeline-mobile-ended .timeline-sticky {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    z-index: 1 !important;
  }

  .timeline-heading {
    width: calc(100% - 40px) !important;
    margin: 0 auto 12px !important;
  }

  .timeline-section .section-title {
    font-size: clamp(2.25rem, 10.5vw, 3.35rem) !important;
    line-height: .98 !important;
  }

  .timeline-section .section-lead {
    display: none !important;
  }

  .timeline-viewport {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px 0 18px !important;
    box-sizing: border-box !important;
    touch-action: pan-y !important;
  }

  .timeline-track {
    display: flex !important;
    align-items: center !important;
    gap: clamp(24px, 8vw, 36px) !important;
    width: max-content !important;
    max-height: 100% !important;
    padding: 10px 0 18px !important;
    will-change: transform !important;
    touch-action: pan-y !important;
  }

  .timeline-track::before,
  .timeline-track::after {
    display: block !important;
    height: 2px !important;
  }

  .memory-card {
    flex: 0 0 min(78vw, 320px) !important;
    width: min(78vw, 320px) !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    padding: 11px 11px 24px !important;
    box-sizing: border-box !important;
    transform-origin: center center !important;
    overflow: hidden !important;
  }

  .memory-card img {
    width: 100% !important;
    height: clamp(170px, 44vw, 210px) !important;
  }

  .memory-year {
    margin-top: 18px !important;
  }

  .memory-title {
    font-size: clamp(1.65rem, 7.2vw, 2.2rem) !important;
  }

  .memory-text {
    font-size: .96rem !important;
    line-height: 1.45 !important;
  }

  .timeline-progress {
    display: none !important;
  }
}

@media (max-width: 700px) and (max-height: 620px) {
  .timeline-sticky {
    padding-top: 20px !important;
    padding-bottom: 14px !important;
  }

  .timeline-heading {
    margin-bottom: 4px !important;
  }

  .timeline-section .section-title {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
  }

  .memory-card {
    flex-basis: min(72vw, 290px) !important;
    width: min(72vw, 290px) !important;
    padding-bottom: 18px !important;
  }

  .memory-card img {
    height: clamp(145px, 36vw, 175px) !important;
  }

  .memory-year {
    margin-top: 12px !important;
  }

  .memory-title {
    font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
  }

  .memory-text {
    margin-top: 9px !important;
    font-size: .88rem !important;
  }
}

/* =========================================================
   SITE MIX V43 — AGULHA MOBILE
   Mais para dentro do toca-discos e controlável por toque/arraste.
   ========================================================= */
@media (max-width: 700px) {
  .turntable-stage .tonearm-assembly {
    right: 11.5% !important;
    top: 6.5% !important;
    width: 22% !important;
    height: 75% !important;
    transform-origin: 79% 12% !important;
    touch-action: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  .turntable-stage .tonearm-pipe {
    right: 21% !important;
    width: 10px !important;
  }

  .turntable-stage .tonearm-head {
    width: 31px !important;
    height: 54px !important;
  }

  .turntable-stage .tonearm-assembly.playing {
    transform: rotate(33deg) translate(-3.5%, 3%) !important;
  }

  .turntable-stage .tonearm-assembly.dragging {
    transform: rotate(var(--drag-angle, -8deg)) translate(0, 0) !important;
  }

  /* Área de toque invisível maior, sem alterar o desenho do braço. */
  .turntable-stage .tonearm-assembly::before {
    content: "";
    position: absolute;
    inset: -18px -20px -22px -20px;
    border-radius: 28px;
  }

  .turntable-stage .needle-drag-hint {
    right: 8% !important;
  }
}

/* V44 — hero mobile como livro: sem botões, navegação por toque e arraste */
@media (max-width: 650px) {
  .hero-link,
  .hero-controls .carousel-btn {
    display: none !important;
  }

  .hero-controls {
    left: 50% !important;
    right: auto !important;
    bottom: 104px !important;
    transform: translateX(-50%);
    width: auto;
    pointer-events: none;
  }

  .hero-controls .counter {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 999px;
    background: rgba(30,22,34,.22);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: rgba(255,255,255,.92);
    font-size: .68rem;
    letter-spacing: .12em;
  }

  .hero-content {
    padding-bottom: 145px !important;
  }

  .hero {
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
  }
}

@media (max-width: 480px) {
  .hero-controls .counter {
    display: inline-flex !important;
  }
}


/* V45 — HERO IMERSIVO EM TODAS AS RESPONSIVIDADES
   A navegação visual desaparece; as fotos continuam virando como páginas.
   Controle por arraste, toque/clique nas laterais e teclado. */
.hero-link,
.hero-controls .carousel-btn {
  display: none !important;
}

.hero {
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
  cursor: grab;
}

.hero.is-grabbing {
  cursor: grabbing;
}

.hero img {
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

.hero-controls {
  left: 50% !important;
  right: auto !important;
  bottom: clamp(34px, 6vh, 76px) !important;
  transform: translateX(-50%);
  width: auto;
  pointer-events: none;
}

.hero-controls .counter {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  background: rgba(24,18,28,.18);
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255,255,255,.9);
  font-size: .68rem;
  letter-spacing: .14em;
  transition: opacity .25s ease, transform .25s ease;
}

.hero-content {
  padding-bottom: clamp(118px, 16vh, 175px) !important;
}

/* Indicação quase invisível das áreas navegáveis, sem botões. */
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  width: min(16vw, 180px);
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s ease;
}
.hero::before {
  left: 0;
  background: linear-gradient(90deg, rgba(15,10,18,.18), transparent);
}
.hero::after {
  right: 0;
  background: linear-gradient(-90deg, rgba(15,10,18,.18), transparent);
}

@media (hover:hover) and (pointer:fine) {
  .hero:hover::before,
  .hero:hover::after { opacity: 1; }
  .hero:hover .hero-controls .counter { transform: translateY(-2px); }
}

@media (max-width: 650px) {
  .hero-controls {
    bottom: 96px !important;
  }
  .hero-content {
    padding-bottom: 140px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero { cursor: default; }
}

/* V46 — virada de página bidirecional e coerente com o gesto
   Avançar: a folha vira para a esquerda.
   Voltar: a folha retorna para a direita, com luz e sombra espelhadas. */
.hero-slide.leaving-forward {
  transform-origin: left center !important;
  animation-name: pageLeaveForward !important;
}

.hero-slide.leaving-backward {
  transform-origin: right center !important;
  animation-name: pageLeaveBackward !important;
}

.hero-slide.leaving-forward::before {
  inset: 0 0 0 auto;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.05) 30%, rgba(255,255,255,.34) 64%, rgba(24,18,26,.38) 100%);
  animation-name: flipLightForward !important;
}

.hero-slide.leaving-backward::before {
  inset: 0 auto 0 0;
  background: linear-gradient(-90deg, transparent 0%, rgba(255,255,255,.05) 30%, rgba(255,255,255,.34) 64%, rgba(24,18,26,.38) 100%);
  animation-name: flipLightBackward !important;
}

@keyframes pageLeaveForward {
  0% { opacity:1; transform:perspective(2200px) rotateY(0deg) translateX(0) scale(1); filter:brightness(1); }
  36% { opacity:1; transform:perspective(2200px) rotateY(-24deg) skewY(-1.2deg) translateX(-3%) scaleX(.99) scaleY(1.01); filter:brightness(.96); border-radius:0 8% 8% 0; }
  68% { opacity:.96; transform:perspective(2200px) rotateY(-61deg) skewY(-2deg) translateX(-15%) scaleX(.94) scaleY(1.02); filter:brightness(.72); border-radius:0 15% 15% 0; }
  100% { opacity:0; transform:perspective(2200px) rotateY(-92deg) skewY(-2.5deg) translateX(-36%) scaleX(.88) scaleY(1.025); filter:brightness(.4); border-radius:0 22% 22% 0; }
}

@keyframes pageLeaveBackward {
  0% { opacity:1; transform:perspective(2200px) rotateY(0deg) translateX(0) scale(1); filter:brightness(1); }
  36% { opacity:1; transform:perspective(2200px) rotateY(24deg) skewY(1.2deg) translateX(3%) scaleX(.99) scaleY(1.01); filter:brightness(.96); border-radius:8% 0 0 8%; }
  68% { opacity:.96; transform:perspective(2200px) rotateY(61deg) skewY(2deg) translateX(15%) scaleX(.94) scaleY(1.02); filter:brightness(.72); border-radius:15% 0 0 15%; }
  100% { opacity:0; transform:perspective(2200px) rotateY(92deg) skewY(2.5deg) translateX(36%) scaleX(.88) scaleY(1.025); filter:brightness(.4); border-radius:22% 0 0 22%; }
}

@keyframes flipLightForward {
  0%,12% { opacity:0; transform:translateX(0) scaleX(.1); }
  42% { opacity:.75; transform:translateX(-10%) scaleX(.9); }
  76% { opacity:.4; transform:translateX(-65%) scaleX(1.6); }
  100% { opacity:0; transform:translateX(-110%) scaleX(.25); }
}

@keyframes flipLightBackward {
  0%,12% { opacity:0; transform:translateX(0) scaleX(.1); }
  42% { opacity:.75; transform:translateX(10%) scaleX(.9); }
  76% { opacity:.4; transform:translateX(65%) scaleX(1.6); }
  100% { opacity:0; transform:translateX(110%) scaleX(.25); }
}


/* =========================================================
   SITE MIX V47 — TELA DE CARREGAMENTO IMERSIVA
   ========================================================= */

body.site-is-loading {
  overflow: hidden !important;
}

.site-loader {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.18), transparent 27rem),
    linear-gradient(145deg, #4a2b5a 0%, #8e62a7 48%, #c49ee3 100%);
  opacity: 1;
  visibility: visible;
  transition:
    opacity .75s cubic-bezier(.22,.8,.22,1),
    visibility .75s;
}

.site-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.site-loader__ambient {
  position: absolute;
  inset: -20%;
  opacity: .5;
  background:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.22), transparent 19%),
    radial-gradient(circle at 76% 68%, rgba(225,190,255,.28), transparent 20%);
  filter: blur(14px);
  animation: loaderAmbient 6s ease-in-out infinite alternate;
}

.site-loader__content {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  width: min(86vw, 460px);
  text-align: center;
}

.site-loader__eyebrow {
  margin-bottom: 10px;
  font: 600 .62rem/1.3 var(--sans);
  letter-spacing: .28em;
  text-transform: uppercase;
  opacity: .74;
}

.site-loader__title {
  font: italic clamp(3.8rem, 14vw, 7.4rem)/.9 var(--serif);
  font-weight: 400;
  letter-spacing: -.045em;
  text-shadow: 0 18px 42px rgba(45,20,58,.25);
}

.site-loader__record {
  position: relative;
  width: 86px;
  aspect-ratio: 1;
  margin: 32px 0 28px;
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, #17131b 0 3px, #33263a 4px 6px, #17131b 7px 9px);
  box-shadow:
    0 18px 38px rgba(29,13,38,.34),
    inset 0 0 0 1px rgba(255,255,255,.08);
  animation: loaderRecordSpin 2.2s linear infinite;
}

.site-loader__record::before {
  content: "";
  position: absolute;
  inset: 31%;
  border-radius: inherit;
  background:
    radial-gradient(circle, #f7e9ff 0 8%, transparent 9%),
    linear-gradient(145deg, #e4c6f3, #9b6fb2);
}

.site-loader__record span {
  position: absolute;
  inset: 47%;
  border-radius: 50%;
  background: white;
}

.site-loader__progress {
  width: min(76vw, 320px);
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
}

.site-loader__progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #fff;
  box-shadow: 0 0 18px rgba(255,255,255,.7);
  transition: width .2s ease-out;
}

.site-loader__status {
  margin-top: 14px;
  font: 400 .74rem/1.4 var(--sans);
  letter-spacing: .08em;
  opacity: .68;
}

@keyframes loaderRecordSpin {
  to { transform: rotate(360deg); }
}

@keyframes loaderAmbient {
  from { transform: translate3d(-2%, -1%, 0) scale(1); }
  to { transform: translate3d(2%, 2%, 0) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .site-loader__record,
  .site-loader__ambient {
    animation: none !important;
  }
}

/* Quinto disco — Damiano David */
.active-vinyl.theme-first-time .vinyl-label,
.theme-first-time .shelf-vinyl-label {
  background:
    radial-gradient(circle at 48% 35%, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(145deg, #111014, #58444d) !important;
}

.album-choice[data-theme="first-time"] .album-thumb {
  background: #161217;
}


/* =========================================================
   SITE MIX V48 — LIQUID HEART TRANSITION
   Exibida somente entre a capa de entrada e a hero.
   ========================================================= */

.heart-transition {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(242,218,255,.22), transparent 24rem),
    linear-gradient(145deg, #49334f 0%, #78637f 52%, #a997ae 100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.heart-transition.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.heart-transition.is-complete {
  opacity: 0;
  visibility: hidden;
  transition: opacity .52s ease, visibility .52s;
}

.heart-transition__glow {
  position: absolute;
  width: min(90vw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(211,158,255,.26), transparent 66%);
  filter: blur(18px);
  animation: liquidHeartGlow 1.5s ease-in-out infinite alternate;
}

.heart-transition__stage {
  position: relative;
  width: min(56vw, 260px);
  filter: drop-shadow(0 26px 52px rgba(38,18,47,.32));
}

.liquid-heart {
  display: block;
  width: 100%;
  overflow: visible;
}

.liquid-heart__outline {
  fill: rgba(255,255,255,.045);
  stroke: rgba(255,255,255,.74);
  stroke-width: 3;
  filter: url(#liquidGlow);
}

.liquid-heart__fill {
  transform-origin: center;
  animation: liquidHeartFill 1.82s cubic-bezier(.3,.76,.25,1) .12s forwards;
}

.liquid-heart__wave {
  transform: translateY(216px);
}

.liquid-heart__wave--back {
  opacity: .72;
  animation:
    liquidHeartRise 1.82s cubic-bezier(.3,.76,.25,1) .12s forwards,
    liquidWaveBack .72s linear infinite;
}

.liquid-heart__wave--front {
  animation:
    liquidHeartRise 1.82s cubic-bezier(.3,.76,.25,1) .12s forwards,
    liquidWaveFront .58s linear infinite;
}

.liquid-heart__bubble {
  fill: rgba(255,255,255,.72);
  opacity: 0;
}

.liquid-heart__bubble--1 { animation: liquidBubble 1.15s ease-out .64s forwards; }
.liquid-heart__bubble--2 { animation: liquidBubble 1.05s ease-out .92s forwards; }
.liquid-heart__bubble--3 { animation: liquidBubble 1.1s ease-out 1.15s forwards; }

.liquid-heart__shine {
  fill: none;
  stroke: rgba(255,255,255,.72);
  stroke-width: 7;
  stroke-linecap: round;
  opacity: .55;
}

@keyframes liquidHeartFill {
  from { transform: translateY(0); }
  to { transform: translateY(-220px); }
}

@keyframes liquidHeartRise {
  from { transform: translateY(216px); }
  to { transform: translateY(10px); }
}

@keyframes liquidWaveFront {
  to { translate: -98px 0; }
}

@keyframes liquidWaveBack {
  to { translate: 98px 0; }
}

@keyframes liquidBubble {
  0% { opacity: 0; transform: translateY(24px) scale(.55); }
  30% { opacity: .8; }
  100% { opacity: 0; transform: translateY(-90px) scale(1.15); }
}

@keyframes liquidHeartGlow {
  from { transform: scale(.9); opacity: .55; }
  to { transform: scale(1.08); opacity: .95; }
}

@media (max-width: 600px) {
  .heart-transition__stage { width: min(62vw, 230px); }
}

@media (prefers-reduced-motion: reduce) {
  .liquid-heart__fill,
  .liquid-heart__wave--front,
  .liquid-heart__wave--back,
  .liquid-heart__bubble,
  .heart-transition__glow {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* =========================================================
   SITE MIX V49 — LIQUID HEART MINIMALISTA
   Coração vazio → líquido vermelho → expansão em tela cheia
   ========================================================= */

.heart-transition {
  background: rgba(28, 17, 30, .94) !important;
  transition:
    opacity .68s cubic-bezier(.22,.8,.22,1),
    visibility .68s !important;
}

.heart-transition.is-complete {
  opacity: 0 !important;
  visibility: hidden !important;
}

.heart-transition__glow {
  width: min(72vw, 520px) !important;
  background:
    radial-gradient(circle, rgba(210, 20, 55, .16), transparent 66%) !important;
  filter: blur(24px) !important;
  opacity: .6;
  animation: none !important;
}

.heart-transition__stage {
  width: min(48vw, 230px) !important;
  transform-origin: 50% 53%;
  will-change: transform, filter;
  filter:
    drop-shadow(0 20px 48px rgba(0,0,0,.28))
    drop-shadow(0 0 20px rgba(220,24,58,.12)) !important;
  transition:
    transform .88s cubic-bezier(.2,.82,.18,1),
    filter .5s ease !important;
}

.heart-transition.is-filled .heart-transition__stage {
  filter:
    drop-shadow(0 26px 56px rgba(0,0,0,.3))
    drop-shadow(0 0 34px rgba(228,25,60,.34)) !important;
}

.heart-transition.is-expanding {
  background: #b8072b !important;
  transition: background .58s ease !important;
}

.heart-transition.is-expanding .heart-transition__stage {
  /*
    18 vezes cobre com folga telas horizontais e verticais.
    O formato do coração vira a própria cortina vermelha.
  */
  transform: scale(18);
  filter: none !important;
}

.liquid-heart__outline {
  fill: rgba(255,255,255,.018) !important;
  stroke: rgba(255,255,255,.82) !important;
  stroke-width: 2.2 !important;
  filter: none !important;
  transition:
    fill .35s ease,
    stroke .35s ease !important;
}

.heart-transition.is-filled .liquid-heart__outline,
.heart-transition.is-expanding .liquid-heart__outline {
  fill: rgba(183,7,43,.98) !important;
  stroke: rgba(255,224,229,.7) !important;
}

.liquid-heart__fill {
  animation: liquidHeartRedFill 1.82s cubic-bezier(.28,.74,.22,1) .08s forwards !important;
}

.liquid-heart__wave {
  transform: translateY(218px);
}

.liquid-heart__wave--back {
  opacity: .48 !important;
  animation:
    liquidHeartRedRise 1.82s cubic-bezier(.28,.74,.22,1) .08s forwards,
    liquidWaveBack .88s linear infinite !important;
}

.liquid-heart__wave--front {
  animation:
    liquidHeartRedRise 1.82s cubic-bezier(.28,.74,.22,1) .08s forwards,
    liquidWaveFront .7s linear infinite !important;
}

.liquid-heart__bubble {
  fill: rgba(255,225,229,.62) !important;
}

/* Bolhas discretas: mantêm a sensação líquida sem poluir. */
.liquid-heart__bubble--1 {
  animation: liquidBubbleMinimal 1.15s ease-out .55s forwards !important;
}
.liquid-heart__bubble--2 {
  animation: liquidBubbleMinimal 1.05s ease-out .9s forwards !important;
}
.liquid-heart__bubble--3 {
  opacity: 0 !important;
  animation: none !important;
}

@keyframes liquidHeartRedFill {
  from { transform: translateY(0); }
  to { transform: translateY(-222px); }
}

@keyframes liquidHeartRedRise {
  from { transform: translateY(218px); }
  to { transform: translateY(7px); }
}

@keyframes liquidBubbleMinimal {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.5);
  }
  28% { opacity: .55; }
  100% {
    opacity: 0;
    transform: translateY(-76px) scale(.92);
  }
}

@media (max-width: 600px) {
  .heart-transition__stage {
    width: min(58vw, 218px) !important;
  }

  .heart-transition.is-expanding .heart-transition__stage {
    transform: scale(15);
  }
}

@media (prefers-reduced-motion: reduce) {
  .heart-transition__stage {
    transition-duration: .18s !important;
  }

  .liquid-heart__fill,
  .liquid-heart__wave--front,
  .liquid-heart__wave--back {
    animation-duration: .45s !important;
  }
}


/* =========================================================
   SITE MIX V50 — CORREÇÃO REAL DO LIQUID HEART
   A animação começa somente após o clique.
   ========================================================= */

/* Estado inicial real: contorno vazio e líquido fora do coração. */
.heart-transition {
  background: rgba(25, 15, 27, .96) !important;
}

.heart-transition__stage {
  width: min(48vw, 230px) !important;
  transform: scale(1);
  transform-origin: 50% 52%;
}

.liquid-heart__outline {
  fill: transparent !important;
  stroke: rgba(255, 238, 240, .88) !important;
  stroke-width: 2.2 !important;
  filter: none !important;
}

/*
  Neutraliza todas as animações herdadas das versões anteriores.
  Sem .is-active nada se move e nada aparece preenchido.
*/
.liquid-heart__fill,
.liquid-heart__wave--front,
.liquid-heart__wave--back,
.liquid-heart__bubble {
  animation: none !important;
}

.liquid-heart__fill {
  fill: #c9082e !important;
  transform: translateY(0) !important;
}

.liquid-heart__wave {
  transform: translateY(224px) !important;
}

.liquid-heart__wave--back {
  fill: #f03250 !important;
  opacity: .55 !important;
}

.liquid-heart__wave--front {
  fill: #c9082e !important;
  opacity: 1 !important;
}

.liquid-heart__bubble {
  fill: rgba(255, 224, 228, .7) !important;
  opacity: 0 !important;
}

/* A animação passa a existir somente após o clique. */
.heart-transition.is-active .liquid-heart__fill {
  animation:
    v50LiquidBodyRise 2.15s cubic-bezier(.25,.78,.2,1) .12s forwards
    !important;
}

.heart-transition.is-active .liquid-heart__wave--back {
  animation:
    v50LiquidSurfaceRise 2.15s cubic-bezier(.25,.78,.2,1) .12s forwards,
    liquidWaveBack .9s linear infinite
    !important;
}

.heart-transition.is-active .liquid-heart__wave--front {
  animation:
    v50LiquidSurfaceRise 2.15s cubic-bezier(.25,.78,.2,1) .12s forwards,
    liquidWaveFront .68s linear infinite
    !important;
}

.heart-transition.is-active .liquid-heart__bubble--1 {
  animation: v50BubbleRise 1.1s ease-out .82s forwards !important;
}

.heart-transition.is-active .liquid-heart__bubble--2 {
  animation: v50BubbleRise .95s ease-out 1.22s forwards !important;
}

.heart-transition.is-active .liquid-heart__bubble--3 {
  animation: v50BubbleRise 1s ease-out 1.55s forwards !important;
}

/* Não pinta o contorno: o líquido é o único preenchimento visível. */
.heart-transition.is-filled .liquid-heart__outline,
.heart-transition.is-expanding .liquid-heart__outline {
  fill: transparent !important;
  stroke: rgba(255, 226, 231, .72) !important;
}

/*
  Não troca o fundo inteiro para vermelho.
  O coração cheio é que cresce e cobre a tela.
*/
.heart-transition.is-expanding {
  background: rgba(25, 15, 27, .96) !important;
}

.heart-transition.is-expanding .heart-transition__stage {
  transform: scale(32) !important;
  filter: none !important;
  transition: transform 1s cubic-bezier(.17,.86,.18,1) !important;
}

.heart-transition.is-expanding .liquid-heart__outline {
  stroke-width: .35 !important;
}

.heart-transition.is-complete {
  opacity: 0 !important;
  visibility: hidden !important;
  transition:
    opacity .62s cubic-bezier(.22,.8,.22,1),
    visibility .62s
    !important;
}

@keyframes v50LiquidBodyRise {
  from { transform: translateY(0); }
  to { transform: translateY(-226px); }
}

@keyframes v50LiquidSurfaceRise {
  from { transform: translateY(224px); }
  to { transform: translateY(2px); }
}

@keyframes v50BubbleRise {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.45);
  }
  25% {
    opacity: .7;
  }
  100% {
    opacity: 0;
    transform: translateY(-82px) scale(.95);
  }
}

@media (max-width: 600px) {
  .heart-transition__stage {
    width: min(58vw, 218px) !important;
  }

  .heart-transition.is-expanding .heart-transition__stage {
    transform: scale(27) !important;
  }
}


/* =========================================================
   SITE MIX V51 — HEART GIF REFEITO DO ZERO
   ========================================================= */

/* O sistema antigo fica neutralizado. */
.heart-transition,
.liquid-heart {
  display: none !important;
}

.heart-gif-transition {
  position: fixed;
  z-index: 99998;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  background: rgba(25, 15, 27, .96);
  transition:
    opacity .22s ease,
    visibility .22s;
}

.heart-gif-transition.is-active {
  opacity: 1;
  visibility: visible;
}

.heart-gif-transition__stage {
  display: grid;
  place-items: center;
  width: min(46vw, 260px);
  aspect-ratio: 1;
  transform: scale(1);
  transform-origin: 50% 52%;
  filter:
    drop-shadow(0 22px 54px rgba(0,0,0,.28))
    drop-shadow(0 0 24px rgba(207,8,47,.16));
  transition:
    transform .86s cubic-bezier(.16,.84,.18,1),
    filter .4s ease;
}

.heart-gif-transition__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.heart-gif-transition.is-expanding {
  background: #bd082d;
}

.heart-gif-transition.is-expanding .heart-gif-transition__stage {
  transform: scale(22);
  filter: none;
}

.heart-gif-transition.is-complete {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity .65s cubic-bezier(.22,.8,.22,1),
    visibility .65s;
}

@media (max-width: 600px) {
  .heart-gif-transition__stage {
    width: min(62vw, 235px);
  }

  .heart-gif-transition.is-expanding .heart-gif-transition__stage {
    transform: scale(18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .heart-gif-transition__stage {
    transition-duration: .2s;
  }
}


/* =========================================================
   SITE MIX V52 — TRANSIÇÃO CANVAS
   ========================================================= */

.heart-gif-transition,
.heart-transition,
.liquid-heart {
  display: none !important;
}

.heart-canvas-transition {
  position: fixed;
  z-index: 99998;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: #170d19;
  transition:
    opacity .2s ease,
    visibility .2s;
}

.heart-canvas-transition.is-active {
  opacity: 1;
  visibility: visible;
}

.heart-canvas-transition.is-hidden {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity .62s cubic-bezier(.22,.8,.22,1),
    visibility .62s;
}

.heart-canvas-transition__canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* V55 — INTRO COM 8 POLAROIDS */
.intro-polaroid-scene{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;min-height:100svh;overflow:hidden;isolation:isolate;background:#8f8098}.intro-polaroid-scene.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .72s cubic-bezier(.22,.8,.22,1),visibility .72s}.intro-polaroid-scene__background{position:absolute;z-index:-3;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.18),transparent 34rem),linear-gradient(135deg,#766779 0%,#9c8ca4 52%,#b2a1b8 100%)}.intro-polaroid-scene__background:after{content:"";position:absolute;inset:0;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.intro-centerpiece{position:relative;z-index:5;display:grid;justify-items:center;width:min(92vw,760px);padding:34px 24px;text-align:center}.intro-title{margin:0;color:#fffdfd;font:italic clamp(3rem,6.4vw,6.8rem)/.86 var(--serif);font-weight:400;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 18px 45px rgba(35,20,40,.18)}.intro-subtitle{margin:clamp(22px,2.8vw,34px) 0 clamp(28px,3.2vw,40px);color:rgba(255,255,255,.82);font:600 clamp(.56rem,.76vw,.74rem)/1.5 var(--sans);letter-spacing:.34em;text-transform:uppercase}.intro-open-button{min-width:min(72vw,270px);padding:18px 30px;border:0;color:#3b2b3e!important;background:linear-gradient(96deg,#fff8e8,#f6ebcf 52%,#fff8e8);font:italic 1rem/1.2 var(--serif);cursor:pointer;clip-path:polygon(2% 9%,13% 3%,29% 7%,43% 2%,61% 6%,75% 2%,98% 9%,95% 28%,100% 49%,95% 70%,98% 91%,77% 97%,62% 93%,47% 98%,31% 94%,13% 98%,2% 91%,5% 70%,0% 50%,5% 29%);box-shadow:0 16px 30px rgba(51,31,55,.14);transition:transform .28s ease,box-shadow .28s ease}.intro-open-button:hover,.intro-open-button:focus-visible{transform:translateY(-3px) rotate(-.35deg);box-shadow:0 22px 36px rgba(51,31,55,.21)}
.intro-polaroid-layer{position:absolute;z-index:2;inset:0;pointer-events:none}.intro-polaroid{--rotate:0deg;--delay:0ms;--x:0px;--y:0px;position:absolute;display:block;width:clamp(130px,19vw,375px);padding:0;border:0;background:transparent;cursor:zoom-in;pointer-events:auto;opacity:0;transform:translate3d(var(--x),calc(var(--y) + 24px),0) rotate(var(--rotate)) scale(.94);filter:blur(3px);animation:introPolaroidFade .9s cubic-bezier(.2,.8,.2,1) var(--delay) forwards;transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .38s ease,z-index 0s .38s}.intro-polaroid__paper{display:flex;width:100%;padding:clamp(9px,1.4vw,24px) clamp(7px,.8vw,14px) clamp(38px,5.7vw,116px);flex-direction:column;align-items:center;overflow:hidden;background:#fff;box-shadow:0 24px 54px rgba(39,24,43,.24),0 5px 14px rgba(39,24,43,.13)}.intro-polaroid__paper img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.94) contrast(.98)}.intro-polaroid:hover,.intro-polaroid:focus-visible,.intro-polaroid.is-active{z-index:12;filter:none;transform:translate3d(var(--x),calc(var(--y) - 8px),0) rotate(calc(var(--rotate) * .4)) scale(1.055);transition-delay:0s}.intro-polaroid--1{top:-8%;left:5%;--rotate:-10deg;--delay:80ms}.intro-polaroid--2{top:-8%;left:47%;width:clamp(90px,9vw,160px);--rotate:15deg;--delay:160ms}.intro-polaroid--3{top:-8%;right:5%;--rotate:-12deg;--delay:240ms}.intro-polaroid--4{top:44%;left:-3%;--rotate:-26deg;--delay:320ms}.intro-polaroid--5{top:45%;left:28%;width:clamp(95px,10vw,175px);--rotate:-15deg;--delay:400ms}.intro-polaroid--6{top:43%;right:27%;width:clamp(105px,12vw,205px);--rotate:17deg;--delay:480ms}.intro-polaroid--7{top:48%;right:-2%;--rotate:-7deg;--delay:560ms}.intro-polaroid--8{bottom:-30%;left:42%;width:clamp(180px,22vw,405px);--rotate:-8deg;--delay:640ms}@keyframes introPolaroidFade{to{opacity:1;filter:blur(0);transform:translate3d(var(--x),var(--y),0) rotate(var(--rotate)) scale(1)}}
.intro-lightbox{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:28px;opacity:0;visibility:hidden;pointer-events:none;background:rgba(24,14,27,.86);backdrop-filter:blur(12px);transition:opacity .3s ease,visibility .3s}.intro-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.intro-lightbox__image{display:block;max-width:min(90vw,980px);max-height:84vh;border:12px solid #fff;box-shadow:0 28px 78px rgba(0,0,0,.38);transform:scale(.94);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.intro-lightbox.is-open .intro-lightbox__image{transform:scale(1)}.intro-lightbox__close{position:fixed;top:22px;right:24px;width:48px;aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:2rem;cursor:pointer}
@media(max-width:980px){.intro-polaroid{width:clamp(115px,22vw,235px)}.intro-polaroid--1{top:-2%;left:-3%}.intro-polaroid--2{top:3%;left:42%}.intro-polaroid--3{top:-3%;right:-3%}.intro-polaroid--4{top:54%;left:-8%}.intro-polaroid--5{top:56%;left:24%}.intro-polaroid--6{top:56%;right:23%}.intro-polaroid--7{top:55%;right:-8%}.intro-polaroid--8{bottom:-26%;left:37%}.intro-centerpiece{padding-inline:18vw}}
@media(max-width:640px){.intro-centerpiece{width:100%;padding:28px 38px}.intro-title{font-size:clamp(2.55rem,14vw,4.6rem)}.intro-subtitle{max-width:280px;letter-spacing:.22em}.intro-polaroid{width:clamp(98px,31vw,150px)}.intro-polaroid__paper{padding:7px 6px 34px}.intro-polaroid--1{top:-4%;left:-8%}.intro-polaroid--2{top:4%;left:43%;width:82px}.intro-polaroid--3{top:-4%;right:-9%}.intro-polaroid--4{top:64%;left:-10%}.intro-polaroid--5{top:69%;left:22%;width:88px}.intro-polaroid--6{top:67%;right:21%;width:92px}.intro-polaroid--7{top:64%;right:-10%}.intro-polaroid--8{bottom:-13%;left:34%;width:145px}.intro-lightbox{padding:16px}.intro-lightbox__image{max-width:94vw;max-height:78vh;border-width:8px}}
@media(prefers-reduced-motion:reduce){.intro-polaroid{opacity:1;filter:none;animation:none!important;transform:rotate(var(--rotate))}}


/* =========================================================
   SITE MIX V56 — POLAROIDS TOTALMENTE PADRONIZADAS
   Mesma moldura, mesma foto e mesma área branca inferior.
   Apenas posição e rotação variam.
   ========================================================= */

.intro-polaroid-scene {
  --intro-polaroid-width: clamp(172px, 18.4vw, 336px);
  --intro-polaroid-border: clamp(9px, .82vw, 15px);
  --intro-polaroid-bottom: clamp(48px, 5.1vw, 92px);
}

/*
  Todas as oito polaroids usam rigorosamente a mesma largura.
  As regras antigas que davam tamanhos diferentes são anuladas.
*/
.intro-polaroid,
.intro-polaroid--1,
.intro-polaroid--2,
.intro-polaroid--3,
.intro-polaroid--4,
.intro-polaroid--5,
.intro-polaroid--6,
.intro-polaroid--7,
.intro-polaroid--8 {
  width: var(--intro-polaroid-width) !important;
  min-width: var(--intro-polaroid-width) !important;
  max-width: var(--intro-polaroid-width) !important;
}

/*
  A moldura possui:
  - mesma borda superior;
  - mesmas bordas laterais;
  - mesma área branca inferior;
  - mesma altura total.
*/
.intro-polaroid__paper {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding:
    var(--intro-polaroid-border)
    var(--intro-polaroid-border)
    var(--intro-polaroid-bottom) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #fff !important;
  border-radius: 1px !important;
}

/*
  A área da fotografia é idêntica em todas as molduras.
  Fotos horizontais, quadradas e verticais são recortadas
  dentro do mesmo quadro sem alterar a polaroid.
*/
.intro-polaroid__paper img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  transform: none !important;
}

/* Enquadramento individual sem mudar o tamanho do quadro. */
.intro-polaroid--1 img { object-position: 50% 38% !important; }
.intro-polaroid--2 img { object-position: 50% 38% !important; }
.intro-polaroid--3 img { object-position: 50% 43% !important; }
.intro-polaroid--4 img { object-position: 50% 44% !important; }
.intro-polaroid--5 img { object-position: 50% 46% !important; }
.intro-polaroid--6 img { object-position: 50% 42% !important; }
.intro-polaroid--7 img { object-position: 50% 44% !important; }
.intro-polaroid--8 img { object-position: 50% 48% !important; }

/*
  Mantém o destaque interativo sem deformar a moldura ou alterar
  a proporção da área branca.
*/
.intro-polaroid:hover .intro-polaroid__paper,
.intro-polaroid:focus-visible .intro-polaroid__paper,
.intro-polaroid.is-active .intro-polaroid__paper {
  box-shadow:
    0 31px 68px rgba(39,24,43,.29),
    0 8px 18px rgba(39,24,43,.15) !important;
}

/* Tablet: todas continuam iguais entre si. */
@media (max-width: 980px) {
  .intro-polaroid-scene {
    --intro-polaroid-width: clamp(142px, 22vw, 224px);
    --intro-polaroid-border: clamp(8px, 1vw, 12px);
    --intro-polaroid-bottom: clamp(42px, 6vw, 68px);
  }
}

/* Mobile: tamanho menor, mas ainda 100% padronizado. */
@media (max-width: 640px) {
  .intro-polaroid-scene {
    --intro-polaroid-width: clamp(104px, 31vw, 142px);
    --intro-polaroid-border: 6px;
    --intro-polaroid-bottom: clamp(30px, 9vw, 42px);
  }

  .intro-polaroid,
  .intro-polaroid--1,
  .intro-polaroid--2,
  .intro-polaroid--3,
  .intro-polaroid--4,
  .intro-polaroid--5,
  .intro-polaroid--6,
  .intro-polaroid--7,
  .intro-polaroid--8 {
    width: var(--intro-polaroid-width) !important;
    min-width: var(--intro-polaroid-width) !important;
    max-width: var(--intro-polaroid-width) !important;
  }
}


/* =========================================================
   SITE MIX V57 — AJUSTE DAS 3 POLAROIDS CENTRAIS
   ========================================================= */

/*
  As três polaroids centrais ficam menores e mais afastadas
  do conteúdo principal, seguindo a referência do Figma.
  As molduras continuam totalmente padronizadas.
*/

.intro-polaroid--2 {
  top: -10% !important;
  left: 46.5% !important;
  transform:
    translate3d(var(--x), var(--y), 0)
    rotate(14deg)
    scale(.72) !important;
  transform-origin: center center !important;
}

.intro-polaroid--5 {
  top: 58% !important;
  left: 20.5% !important;
  transform:
    translate3d(var(--x), var(--y), 0)
    rotate(-14deg)
    scale(.76) !important;
  transform-origin: center center !important;
}

.intro-polaroid--6 {
  top: 58% !important;
  right: 20.5% !important;
  left: auto !important;
  transform:
    translate3d(var(--x), var(--y), 0)
    rotate(14deg)
    scale(.76) !important;
  transform-origin: center center !important;
}

/* Hover preservando o tamanho menor dessas três. */
.intro-polaroid--2:hover,
.intro-polaroid--2:focus-visible,
.intro-polaroid--2.is-active {
  transform:
    translate3d(var(--x), calc(var(--y) - 8px), 0)
    rotate(8deg)
    scale(.78) !important;
}

.intro-polaroid--5:hover,
.intro-polaroid--5:focus-visible,
.intro-polaroid--5.is-active {
  transform:
    translate3d(var(--x), calc(var(--y) - 8px), 0)
    rotate(-8deg)
    scale(.82) !important;
}

.intro-polaroid--6:hover,
.intro-polaroid--6:focus-visible,
.intro-polaroid--6.is-active {
  transform:
    translate3d(var(--x), calc(var(--y) - 8px), 0)
    rotate(8deg)
    scale(.82) !important;
}

/* Garante que o conteúdo central fique acima das polaroids. */
.intro-centerpiece {
  z-index: 20 !important;
}

.intro-polaroid {
  z-index: 3;
}

/* Tablet */
@media (max-width: 980px) {
  .intro-polaroid--2 {
    top: -5% !important;
    left: 45% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(13deg)
      scale(.68) !important;
  }

  .intro-polaroid--5 {
    top: 61% !important;
    left: 17% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(-13deg)
      scale(.70) !important;
  }

  .intro-polaroid--6 {
    top: 61% !important;
    right: 17% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(13deg)
      scale(.70) !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .intro-polaroid--2 {
    top: 1% !important;
    left: 39% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(12deg)
      scale(.58) !important;
  }

  .intro-polaroid--5 {
    top: 72% !important;
    left: 15% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(-12deg)
      scale(.62) !important;
  }

  .intro-polaroid--6 {
    top: 72% !important;
    right: 15% !important;
    transform:
      translate3d(var(--x), var(--y), 0)
      rotate(12deg)
      scale(.62) !important;
  }
}

/* =========================================================
   SITE MIX V58 — FUNDO ESCURO DA INTRO
   Paleta alinhada ao loading do coração.
   ========================================================= */

.intro-polaroid-scene,
#intro {
  background:
    radial-gradient(
      circle at 50% 42%,
      rgba(95, 62, 99, .30) 0%,
      rgba(65, 38, 68, .18) 28%,
      rgba(43, 22, 45, .92) 62%,
      #201122 100%
    ),
    linear-gradient(145deg, #2b162d 0%, #201122 100%) !important;
}

.intro-polaroid-scene__background {
  background:
    radial-gradient(
      circle at 50% 42%,
      rgba(255,255,255,.10) 0%,
      rgba(255,255,255,.035) 34%,
      transparent 72%
    ),
    linear-gradient(145deg, #2b162d 0%, #201122 100%) !important;
}

.intro-polaroid-scene__background::after {
  opacity: .18 !important;
  mix-blend-mode: soft-light !important;
}


/* =========================================================
   SITE MIX V59 — CAPÍTULO III / MURAL DE MEMÓRIAS
   ========================================================= */
.mural-section .section-lead{max-width:760px}
.mural-container{position:relative}
.memory-mural{
  position:relative;
  width:min(1180px,100%);
  height:760px;
  margin:70px auto 10px;
  overflow:visible;
  isolation:isolate;
}
.mural-threads{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.mural-threads path{
  fill:none;
  stroke:#7650a8;
  stroke-width:4;
  stroke-linecap:round;
  stroke-dasharray:1500;
  stroke-dashoffset:1500;
  opacity:.72;
  filter:drop-shadow(0 2px 2px rgba(65,37,86,.14));
  transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1) .6s;
}
.memory-mural.is-visible .mural-threads path{stroke-dashoffset:0}
.mural-photo{
  --rot:0deg;
  --delay:0ms;
  position:absolute;
  z-index:2;
  margin:0;
  opacity:0;
  transform:translateY(28px) rotate(var(--rot)) scale(.94);
  transition:
    transform .42s cubic-bezier(.2,.8,.2,1),
    filter .42s ease,
    opacity .65s ease;
  transition-delay:var(--delay);
  cursor:zoom-in;
  outline:none;
}
.memory-mural.is-visible .mural-photo{
  opacity:1;
  transform:translateY(0) rotate(var(--rot)) scale(1);
}
.mural-photo:hover,.mural-photo:focus-visible,.mural-photo.is-active{
  z-index:8;
  transform:translateY(-12px) rotate(calc(var(--rot) * .45)) scale(1.055);
  filter:drop-shadow(0 24px 30px rgba(55,35,65,.23));
  transition-delay:0s;
}
.mural-paper{
  display:block;
  padding:11px 11px 48px;
  background:#fffdf8;
  box-shadow:0 18px 38px rgba(63,50,68,.17);
}
.mural-paper img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(.98);
}
.mural-photo--1{left:3%;top:28px;width:300px;height:330px;--rot:-8deg;--delay:80ms}
.mural-photo--2{left:36%;top:4px;width:190px;height:245px;--rot:5deg;--delay:160ms}
.mural-photo--3{right:4%;top:40px;width:270px;height:315px;--rot:8deg;--delay:240ms}
.mural-photo--4{left:10%;bottom:16px;width:235px;height:300px;--rot:6deg;--delay:320ms}
.mural-photo--5{left:39%;bottom:8px;width:250px;height:318px;--rot:-5deg;--delay:400ms}
.mural-photo--6{right:9%;bottom:16px;width:220px;height:286px;--rot:-8deg;--delay:480ms}
.mural-photo--7{left:62%;top:260px;width:175px;height:225px;--rot:4deg;--delay:560ms}
.mural-photo--1 .mural-paper img,.mural-photo--3 .mural-paper img{aspect-ratio:4/3}
.mural-photo--2 .mural-paper img,.mural-photo--4 .mural-paper img,.mural-photo--5 .mural-paper img,.mural-photo--6 .mural-paper img,.mural-photo--7 .mural-paper img{aspect-ratio:3/4}
.mural-pin{
  position:absolute;
  z-index:5;
  left:50%;top:-7px;
  width:18px;height:18px;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle at 35% 28%,#d9c2ff 0 15%,#8d5ec9 34%,#563577 100%);
  box-shadow:0 4px 9px rgba(58,34,79,.32);
}
.mural-tape{
  position:absolute;
  z-index:5;
  width:82px;height:28px;
  background:rgba(229,216,174,.72);
  box-shadow:inset 0 0 14px rgba(117,100,62,.08);
  backdrop-filter:blur(1px);
}
.mural-tape--top{left:50%;top:-12px;transform:translateX(-50%) rotate(-4deg)}
.mural-tape--corner{right:-20px;top:8px;transform:rotate(45deg)}
.mural-note{
  display:none;
  position:absolute;
  left:20px;bottom:13px;
  z-index:6;
  color:#5b4560;
  font:italic 1rem/1 var(--serif);
  transform:rotate(-2deg);
}
.mural-doodle{position:absolute;z-index:1;color:#6c4a7c;opacity:.72;pointer-events:none;font-family:var(--serif)}
.mural-doodle--heart{right:31%;top:88px;font-size:58px;transform:rotate(9deg)}
.mural-doodle--stars{left:31%;bottom:52px;font-size:31px;letter-spacing:12px;transform:rotate(-7deg)}
.mural-doodle--arrow{left:28%;top:315px;font-size:66px;transform:rotate(16deg)}

@media(max-width:980px){
  .memory-mural{height:820px;margin-top:54px}
  .mural-photo--1{left:2%;top:24px;width:250px;height:290px}
  .mural-photo--2{left:39%;top:10px;width:165px;height:220px}
  .mural-photo--3{right:2%;top:35px;width:225px;height:285px}
  .mural-photo--4{left:4%;bottom:20px;width:205px;height:270px}
  .mural-photo--5{left:36%;bottom:6px;width:220px;height:295px}
  .mural-photo--6{right:3%;bottom:24px;width:195px;height:260px}
  .mural-photo--7{left:61%;top:310px;width:150px;height:205px}
}

@media(max-width:700px){
  .memory-mural{
    height:980px;
    margin-top:42px;
    overflow:hidden;
  }
  .mural-threads{opacity:.6}
  .mural-threads path{stroke-width:3}
  .mural-photo--1{left:-8%;top:20px;width:190px;height:225px}
  .mural-photo--2{left:50%;top:0;width:125px;height:180px}
  .mural-photo--3{right:-8%;top:115px;width:175px;height:220px}
  .mural-photo--4{left:-3%;top:350px;bottom:auto;width:155px;height:215px}
  .mural-photo--5{left:35%;top:430px;bottom:auto;width:170px;height:235px}
  .mural-photo--6{right:-5%;top:610px;bottom:auto;width:155px;height:215px}
  .mural-photo--7{left:8%;top:700px;width:130px;height:185px}
  .mural-doodle--heart{right:28%;top:305px;font-size:40px}
  .mural-doodle--stars{left:55%;bottom:75px;font-size:22px}
  .mural-doodle--arrow{left:20%;top:260px;font-size:48px}
  .mural-paper{padding:7px 7px 34px}
}


/* =========================================================
   SITE MIX V60 — MURAL COM CAMINHO CONTÍNUO
   Uma única corda percorre as 7 fotos, sem ramificações.
   ========================================================= */

.memory-mural{
  height:820px !important;
}

/* Somente um caminho, desenhado como uma rota contínua. */
.mural-threads{
  z-index:1 !important;
}

.mural-threads path{
  stroke:#7650a8 !important;
  stroke-width:4.5 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.78 !important;
  stroke-dasharray:2200 !important;
  stroke-dashoffset:2200 !important;
}

.memory-mural.is-visible .mural-threads path{
  stroke-dashoffset:0 !important;
}

/*
  As fotos ficam posicionadas ao longo do trajeto.
  A linha passa visualmente "por trás" das molduras
  e os alfinetes marcam os pontos da rota.
*/
.mural-photo{
  z-index:3 !important;
}

.mural-photo--1{
  left:2% !important;
  top:28px !important;
  width:250px !important;
  height:305px !important;
  --rot:-8deg !important;
}

.mural-photo--2{
  left:27% !important;
  top:92px !important;
  width:175px !important;
  height:230px !important;
  --rot:5deg !important;
}

.mural-photo--3{
  right:4% !important;
  top:35px !important;
  width:235px !important;
  height:292px !important;
  --rot:7deg !important;
}

.mural-photo--4{
  right:10% !important;
  top:315px !important;
  bottom:auto !important;
  width:205px !important;
  height:265px !important;
  --rot:-6deg !important;
}

.mural-photo--5{
  left:42% !important;
  top:405px !important;
  bottom:auto !important;
  width:220px !important;
  height:282px !important;
  --rot:5deg !important;
}

.mural-photo--6{
  left:9% !important;
  top:475px !important;
  right:auto !important;
  bottom:auto !important;
  width:205px !important;
  height:265px !important;
  --rot:-7deg !important;
}

.mural-photo--7{
  right:3% !important;
  left:auto !important;
  top:565px !important;
  width:170px !important;
  height:225px !important;
  --rot:4deg !important;
}

/*
  Os pins ficam mais presentes para deixar claro
  que a corda está seguindo de uma foto para outra.
*/
.mural-pin{
  z-index:7 !important;
  width:17px !important;
  height:17px !important;
  box-shadow:
    0 4px 9px rgba(58,34,79,.32),
    0 0 0 4px rgba(118,80,168,.10) !important;
}

/* Doodles afastados da corda para não confundir o caminho. */
.mural-doodle--heart{
  right:42% !important;
  top:26px !important;
  font-size:50px !important;
}

.mural-doodle--stars{
  left:31% !important;
  bottom:10px !important;
}

.mural-doodle--arrow{
  left:69% !important;
  top:480px !important;
  transform:rotate(28deg) !important;
}

/* Tablet */
@media(max-width:980px){
  .memory-mural{
    height:860px !important;
  }

  .mural-photo--1{
    left:1% !important;
    top:35px !important;
    width:220px !important;
    height:275px !important;
  }

  .mural-photo--2{
    left:31% !important;
    top:100px !important;
    width:155px !important;
    height:210px !important;
  }

  .mural-photo--3{
    right:1% !important;
    top:40px !important;
    width:210px !important;
    height:270px !important;
  }

  .mural-photo--4{
    right:4% !important;
    top:335px !important;
    width:185px !important;
    height:245px !important;
  }

  .mural-photo--5{
    left:39% !important;
    top:430px !important;
    width:200px !important;
    height:265px !important;
  }

  .mural-photo--6{
    left:3% !important;
    top:515px !important;
    width:185px !important;
    height:245px !important;
  }

  .mural-photo--7{
    right:1% !important;
    top:625px !important;
    width:145px !important;
    height:200px !important;
  }
}

/* Mobile: caminho em "S" vertical, ainda sem ramificações. */
@media(max-width:700px){
  .memory-mural{
    height:1120px !important;
    overflow:hidden !important;
  }

  .mural-threads{
    transform:none !important;
    opacity:.72 !important;
  }

  .mural-threads path{
    stroke-width:3.2 !important;
  }

  .mural-photo--1{
    left:-5% !important;
    top:20px !important;
    width:175px !important;
    height:215px !important;
  }

  .mural-photo--2{
    left:48% !important;
    top:145px !important;
    width:125px !important;
    height:175px !important;
  }

  .mural-photo--3{
    right:-5% !important;
    top:285px !important;
    width:165px !important;
    height:210px !important;
  }

  .mural-photo--4{
    left:3% !important;
    right:auto !important;
    top:445px !important;
    width:145px !important;
    height:200px !important;
  }

  .mural-photo--5{
    left:43% !important;
    top:600px !important;
    width:155px !important;
    height:215px !important;
  }

  .mural-photo--6{
    left:-3% !important;
    top:760px !important;
    width:145px !important;
    height:200px !important;
  }

  .mural-photo--7{
    right:-2% !important;
    top:885px !important;
    width:130px !important;
    height:185px !important;
  }

  .mural-doodle--heart{
    right:8% !important;
    top:80px !important;
  }

  .mural-doodle--arrow{
    left:15% !important;
    top:660px !important;
  }
}


/* =========================================================
   SITE MIX V61 — MURAL ORGANIZADO
   7 fotos sem sobreposição + 1 corda tocando todas.
   ========================================================= */

.memory-mural{
  position:relative !important;
  height:840px !important;
  overflow:hidden !important;
}

/* Remove totalmente os elementos decorativos solicitados. */
.mural-doodle,
.mural-doodle--heart,
.mural-doodle--arrow,
.mural-doodle--stars{
  display:none !important;
}

/*
  Remove pins soltos antigos para evitar pontos que não acompanham
  a nova trajetória. Cada foto ganha seu próprio pin pelo ::after.
*/
.mural-pin{
  display:none !important;
}

/* A corda fica atrás das fotos. */
.mural-threads{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.mural-thread-path{
  fill:none !important;
  stroke:#7650a8 !important;
  stroke-width:4.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.80 !important;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:2600 !important;
  stroke-dashoffset:2600 !important;
  transition:stroke-dashoffset 2.1s cubic-bezier(.25,.8,.25,1) .15s !important;
}

.memory-mural.is-visible .mural-thread-path{
  stroke-dashoffset:0 !important;
}

/* Molduras acima da corda e sem qualquer sobreposição. */
.mural-photo{
  position:absolute !important;
  z-index:3 !important;
  margin:0 !important;
}

/*
  Pin real de cada fotografia.
  A corda passa exatamente pela região superior central da moldura.
*/
.mural-photo::after{
  content:"" !important;
  position:absolute !important;
  z-index:8 !important;
  left:50% !important;
  top:-7px !important;
  width:18px !important;
  height:18px !important;
  transform:translateX(-50%) !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 35% 30%, #d9c2ff 0 9%, #9b6bd5 30%, #6f419f 67%, #4d2879 100%) !important;
  box-shadow:
    0 5px 10px rgba(63,35,88,.34),
    0 0 0 4px rgba(118,80,168,.10) !important;
}

/*
  Layout desktop:
  1 → 2 → 3
              ↓
        5 ← 4
        ↓
  6 → 7

  Todas possuem espaço próprio.
*/
.mural-photo--1{
  left:8% !important;
  top:45px !important;
  width:220px !important;
  height:275px !important;
  --rot:-7deg !important;
}

.mural-photo--2{
  left:39% !important;
  top:75px !important;
  width:170px !important;
  height:235px !important;
  --rot:4deg !important;
}

.mural-photo--3{
  right:6% !important;
  top:48px !important;
  width:220px !important;
  height:275px !important;
  --rot:6deg !important;
}

.mural-photo--4{
  right:10% !important;
  top:320px !important;
  bottom:auto !important;
  width:190px !important;
  height:250px !important;
  --rot:-5deg !important;
}

.mural-photo--5{
  left:40% !important;
  top:372px !important;
  bottom:auto !important;
  width:205px !important;
  height:265px !important;
  --rot:4deg !important;
}

.mural-photo--6{
  left:8% !important;
  top:442px !important;
  right:auto !important;
  bottom:auto !important;
  width:195px !important;
  height:255px !important;
  --rot:-6deg !important;
}

.mural-photo--7{
  left:41% !important;
  right:auto !important;
  top:565px !important;
  bottom:auto !important;
  width:180px !important;
  height:235px !important;
  --rot:5deg !important;
}

/* Interação preservada sem provocar colisões grandes. */
.mural-photo:hover,
.mural-photo:focus-visible,
.mural-photo.is-active{
  z-index:10 !important;
  transform:rotate(calc(var(--rot) * .45)) translateY(-7px) scale(1.035) !important;
}

/* Tablet */
@media(max-width:980px){
  .memory-mural{
    height:880px !important;
  }

  .mural-photo--1{
    left:3% !important;
    top:50px !important;
    width:195px !important;
    height:250px !important;
  }

  .mural-photo--2{
    left:39% !important;
    top:90px !important;
    width:150px !important;
    height:215px !important;
  }

  .mural-photo--3{
    right:3% !important;
    top:55px !important;
    width:195px !important;
    height:250px !important;
  }

  .mural-photo--4{
    right:5% !important;
    top:335px !important;
    width:170px !important;
    height:235px !important;
  }

  .mural-photo--5{
    left:38% !important;
    top:395px !important;
    width:185px !important;
    height:250px !important;
  }

  .mural-photo--6{
    left:3% !important;
    top:470px !important;
    width:175px !important;
    height:240px !important;
  }

  .mural-photo--7{
    left:40% !important;
    top:635px !important;
    width:155px !important;
    height:215px !important;
  }
}

/*
  Mobile: vira uma trilha vertical alternada.
  Continua sem sobreposição e com uma única corda.
*/
@media(max-width:700px){
  .memory-mural{
    height:1260px !important;
  }

  .mural-threads{
    opacity:.74 !important;
  }

  .mural-thread-path{
    stroke-width:3.1 !important;
  }

  .mural-photo--1{
    left:4% !important;
    top:25px !important;
    width:150px !important;
    height:205px !important;
  }

  .mural-photo--2{
    left:auto !important;
    right:5% !important;
    top:190px !important;
    width:130px !important;
    height:185px !important;
  }

  .mural-photo--3{
    left:5% !important;
    right:auto !important;
    top:355px !important;
    width:150px !important;
    height:205px !important;
  }

  .mural-photo--4{
    left:auto !important;
    right:5% !important;
    top:520px !important;
    width:135px !important;
    height:190px !important;
  }

  .mural-photo--5{
    left:5% !important;
    top:695px !important;
    width:145px !important;
    height:200px !important;
  }

  .mural-photo--6{
    left:auto !important;
    right:5% !important;
    top:865px !important;
    width:140px !important;
    height:195px !important;
  }

  .mural-photo--7{
    left:31% !important;
    right:auto !important;
    top:1050px !important;
    width:135px !important;
    height:190px !important;
  }
}


/* =========================================================
   SITE MIX V62 — REFINO DO MURAL
   Mantém o layout atual; suaviza a corda e separa as fotos.
   ========================================================= */

.memory-mural{
  height:860px !important;
}

/* A corda passa a parecer uma linha contínua e orgânica. */
.mural-thread-path{
  stroke:#7650a8 !important;
  stroke-width:4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.78 !important;
  filter:drop-shadow(0 2px 2px rgba(82,48,120,.08)) !important;
}

/*
  Reposicionamento leve: sem alterar o conceito do mural.
  As fotos deixam de encostar umas nas outras.
*/
.mural-photo--1{
  left:7% !important;
  top:42px !important;
}

.mural-photo--2{
  left:39.5% !important;
  top:72px !important;
}

.mural-photo--3{
  right:5.5% !important;
  top:45px !important;
}

.mural-photo--4{
  right:8% !important;
  top:330px !important;
}

.mural-photo--5{
  left:42.5% !important;
  top:390px !important;
}

.mural-photo--6{
  left:6% !important;
  top:468px !important;
}

.mural-photo--7{
  left:40.5% !important;
  top:602px !important;
}

/*
  Pequena redução em três molduras que estavam visualmente
  mais próximas das vizinhas.
*/
.mural-photo--4{
  width:180px !important;
  height:240px !important;
}

.mural-photo--5{
  width:195px !important;
  height:252px !important;
}

.mural-photo--6{
  width:185px !important;
  height:245px !important;
}

/* O hover fica mais contido para não voltar a causar colisões. */
.mural-photo:hover,
.mural-photo:focus-visible,
.mural-photo.is-active{
  transform:rotate(calc(var(--rot) * .55)) translateY(-5px) scale(1.02) !important;
}

/* Tablet */
@media(max-width:980px){
  .memory-mural{
    height:900px !important;
  }

  .mural-photo--1{
    left:2.5% !important;
    top:48px !important;
  }

  .mural-photo--2{
    left:39% !important;
    top:88px !important;
  }

  .mural-photo--3{
    right:2.5% !important;
    top:50px !important;
  }

  .mural-photo--4{
    right:3.5% !important;
    top:350px !important;
    width:164px !important;
    height:228px !important;
  }

  .mural-photo--5{
    left:39.5% !important;
    top:420px !important;
    width:176px !important;
    height:238px !important;
  }

  .mural-photo--6{
    left:2.5% !important;
    top:492px !important;
    width:168px !important;
    height:232px !important;
  }

  .mural-photo--7{
    left:40% !important;
    top:660px !important;
  }
}

/* Mobile: mantém a trilha alternada e aumenta o espaçamento vertical. */
@media(max-width:700px){
  .memory-mural{
    height:1320px !important;
  }

  .mural-photo--1{
    top:24px !important;
  }

  .mural-photo--2{
    top:205px !important;
  }

  .mural-photo--3{
    top:390px !important;
  }

  .mural-photo--4{
    top:575px !important;
  }

  .mural-photo--5{
    top:760px !important;
  }

  .mural-photo--6{
    top:945px !important;
  }

  .mural-photo--7{
    top:1120px !important;
  }
}


/* =========================================================
   SITE MIX V63 — AJUSTE FINO DO MURAL
   Separa as fotos restantes e melhora a continuidade.
   ========================================================= */

/* Cordão mais orgânico */
.mural-thread-path{
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  stroke-width:3.8 !important;
  opacity:.80 !important;
}

/* Esquerda: mãos e capela deixam de se sobrepor */
.mural-photo--6{
  left:4.5% !important;
  top:515px !important;
  width:178px !important;
  height:238px !important;
  --rot:-7deg !important;
  z-index:3 !important;
}

.mural-photo--1{
  left:10% !important;
  top:345px !important;
  width:205px !important;
  height:262px !important;
  --rot:2deg !important;
  z-index:4 !important;
}

/* Centro/direita: buquê e alianças mais separados */
.mural-photo--5{
  left:48% !important;
  top:355px !important;
  width:190px !important;
  height:248px !important;
  --rot:-2deg !important;
}

.mural-photo--4{
  right:5.5% !important;
  top:560px !important;
  width:175px !important;
  height:235px !important;
  --rot:6deg !important;
}

/* Ajusta levemente as outras para manter fluxo visual contínuo */
.mural-photo--2{
  left:39.5% !important;
  top:70px !important;
}

.mural-photo--3{
  right:5.5% !important;
  top:48px !important;
}

.mural-photo--7{
  left:40% !important;
  top:625px !important;
}

/* Mantém interação discreta para não criar novas colisões */
.mural-photo:hover,
.mural-photo:focus-visible,
.mural-photo.is-active{
  transform:rotate(calc(var(--rot) * .55)) translateY(-4px) scale(1.018) !important;
}

/* Tablet */
@media(max-width:980px){
  .mural-photo--1{
    left:7% !important;
    top:360px !important;
    width:190px !important;
    height:248px !important;
  }

  .mural-photo--6{
    left:2.5% !important;
    top:545px !important;
    width:168px !important;
    height:228px !important;
  }

  .mural-photo--5{
    left:47% !important;
    top:380px !important;
    width:180px !important;
    height:238px !important;
  }

  .mural-photo--4{
    right:3% !important;
    top:590px !important;
    width:165px !important;
    height:225px !important;
  }

  .mural-photo--7{
    left:39% !important;
    top:680px !important;
  }
}

/* Mobile: mantém alternância sem sobreposição */
@media(max-width:700px){
  .mural-photo--1{
    left:5% !important;
    top:390px !important;
    width:145px !important;
    height:200px !important;
  }

  .mural-photo--6{
    left:4% !important;
    top:960px !important;
    width:138px !important;
    height:190px !important;
  }

  .mural-photo--5{
    left:45% !important;
    top:770px !important;
    width:145px !important;
    height:200px !important;
  }

  .mural-photo--4{
    right:4% !important;
    top:585px !important;
    width:132px !important;
    height:185px !important;
  }

  .mural-photo--7{
    left:31% !important;
    top:1145px !important;
  }
}


/* =========================================================
   SITE MIX V64 — MURAL EM DUAS FILEIRAS
   3 fotos acima + 4 fotos abaixo, como na referência.
   ========================================================= */

.memory-mural{
  position:relative !important;
  height:1160px !important;
  min-height:1160px !important;
  overflow:visible !important;
  padding-bottom:120px !important;
}

/* A corda ocupa toda a nova altura da seção */
.mural-threads{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.mural-thread-path{
  fill:none !important;
  stroke:#7650a8 !important;
  stroke-width:4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.80 !important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 2px rgba(82,48,120,.08)) !important;
}

/* Todos os doodles continuam removidos */
.mural-doodle,
.mural-doodle--heart,
.mural-doodle--arrow,
.mural-doodle--stars{
  display:none !important;
}

/* Os pins antigos seguem desligados; cada foto usa o ::after */
.mural-pin{
  display:none !important;
}

.mural-photo{
  position:absolute !important;
  z-index:3 !important;
  margin:0 !important;
}

/* Pin individual exatamente no topo central da polaroid */
.mural-photo::after{
  content:"" !important;
  position:absolute !important;
  z-index:8 !important;
  top:-8px !important;
  left:50% !important;
  width:18px !important;
  height:18px !important;
  transform:translateX(-50%) !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 35% 30%, #dcc6ff 0 10%, #9a67d5 31%, #70409f 68%, #4d2879 100%) !important;
  box-shadow:
    0 5px 10px rgba(63,35,88,.34),
    0 0 0 4px rgba(118,80,168,.10) !important;
}

/* ---------------------------------------------------------
   LINHA SUPERIOR — 3 fotos
   --------------------------------------------------------- */

.mural-photo--1{
  left:7% !important;
  top:72px !important;
  width:245px !important;
  height:305px !important;
  --rot:-5deg !important;
}

.mural-photo--2{
  left:42% !important;
  top:108px !important;
  width:205px !important;
  height:285px !important;
  --rot:3deg !important;
}

.mural-photo--3{
  right:7% !important;
  top:74px !important;
  width:245px !important;
  height:305px !important;
  --rot:5deg !important;
}

/* ---------------------------------------------------------
   LINHA INFERIOR — 4 fotos
   --------------------------------------------------------- */

.mural-photo--6{
  left:4% !important;
  top:650px !important;
  width:205px !important;
  height:275px !important;
  --rot:-5deg !important;
}

.mural-photo--7{
  left:29% !important;
  top:680px !important;
  width:205px !important;
  height:275px !important;
  --rot:2deg !important;
}

.mural-photo--5{
  left:55% !important;
  top:640px !important;
  width:205px !important;
  height:275px !important;
  --rot:-3deg !important;
}

.mural-photo--4{
  right:4% !important;
  top:680px !important;
  width:205px !important;
  height:275px !important;
  --rot:4deg !important;
}

/* Hover discreto; nunca invade outra foto */
.mural-photo:hover,
.mural-photo:focus-visible,
.mural-photo.is-active{
  z-index:10 !important;
  transform:
    rotate(calc(var(--rot) * .55))
    translateY(-5px)
    scale(1.02) !important;
}

/* ---------------------------------------------------------
   TABLET — mantém a mesma lógica 3 + 4
   --------------------------------------------------------- */
@media(max-width:980px){
  .memory-mural{
    height:1200px !important;
    min-height:1200px !important;
  }

  .mural-photo--1{
    left:3% !important;
    top:72px !important;
    width:210px !important;
    height:270px !important;
  }

  .mural-photo--2{
    left:39.5% !important;
    top:110px !important;
    width:180px !important;
    height:250px !important;
  }

  .mural-photo--3{
    right:3% !important;
    top:72px !important;
    width:210px !important;
    height:270px !important;
  }

  .mural-photo--6{
    left:2% !important;
    top:675px !important;
    width:180px !important;
    height:248px !important;
  }

  .mural-photo--7{
    left:27% !important;
    top:705px !important;
    width:180px !important;
    height:248px !important;
  }

  .mural-photo--5{
    left:53% !important;
    top:670px !important;
    width:180px !important;
    height:248px !important;
  }

  .mural-photo--4{
    right:2% !important;
    top:705px !important;
    width:180px !important;
    height:248px !important;
  }
}

/* ---------------------------------------------------------
   MOBILE — sequência vertical alternada, sem sobreposição
   --------------------------------------------------------- */
@media(max-width:700px){
  .memory-mural{
    height:1540px !important;
    min-height:1540px !important;
    padding-bottom:120px !important;
    overflow:hidden !important;
  }

  .mural-photo--1{
    left:4% !important;
    top:35px !important;
    width:150px !important;
    height:205px !important;
  }

  .mural-photo--2{
    left:auto !important;
    right:5% !important;
    top:220px !important;
    width:135px !important;
    height:190px !important;
  }

  .mural-photo--3{
    left:5% !important;
    right:auto !important;
    top:405px !important;
    width:150px !important;
    height:205px !important;
  }

  .mural-photo--6{
    left:auto !important;
    right:5% !important;
    top:600px !important;
    width:138px !important;
    height:194px !important;
  }

  .mural-photo--7{
    left:5% !important;
    top:800px !important;
    width:140px !important;
    height:196px !important;
  }

  .mural-photo--5{
    left:auto !important;
    right:5% !important;
    top:1000px !important;
    width:140px !important;
    height:196px !important;
  }

  .mural-photo--4{
    left:29% !important;
    right:auto !important;
    top:1210px !important;
    width:140px !important;
    height:196px !important;
  }
}

/* V65: preserva toda a sombra no hover junto Ã s bordas da tela. */
.mural-photo{
  --hover-shift-x:0px;
}

.mural-photo--1,
.mural-photo--6{
  --hover-shift-x:16px;
}

.mural-photo--3,
.mural-photo--4{
  --hover-shift-x:-16px;
}

.mural-photo:hover,
.mural-photo:focus-visible,
.mural-photo.is-active{
  transform:
    translate3d(var(--hover-shift-x),-5px,0)
    rotate(calc(var(--rot) * .55))
    scale(1.02) !important;
}

@media(max-width:700px){
  .memory-mural{
    overflow:visible !important;
  }

  .mural-photo--1,
  .mural-photo--3,
  .mural-photo--7{
    --hover-shift-x:24px;
  }

  .mural-photo--2,
  .mural-photo--5,
  .mural-photo--6{
    --hover-shift-x:-24px;
  }

  .mural-photo--4{
    --hover-shift-x:0px;
  }

  .mural-photo:hover,
  .mural-photo:focus-visible,
  .mural-photo.is-active{
    filter:drop-shadow(0 20px 20px rgba(55,35,65,.22));
  }
}

/* V66: escala tipogrÃ¡fica equilibrada para os grandes tÃ­tulos do site. */
.intro-title{
  font-size:clamp(2.8rem,5vw,5rem) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}

.hero-title{
  font-size:clamp(3.2rem,7vw,6.2rem) !important;
  line-height:.9 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
}

.section-title,
.timeline-section .section-title{
  font-size:clamp(2.25rem,3.7vw,4.1rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.032em !important;
  text-wrap:balance;
}

.epilogue-title{
  font-size:clamp(3rem,7vw,6.2rem) !important;
  line-height:.92 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
}

.epilogue-script{
  font-size:clamp(1.9rem,4vw,3.4rem) !important;
}

@media(max-width:700px){
  .intro-title{
    font-size:clamp(2.35rem,11vw,3.65rem) !important;
    line-height:.96 !important;
  }

  .hero-title{
    font-size:clamp(2.7rem,12vw,4.2rem) !important;
    line-height:.92 !important;
  }

  .section-title,
  .timeline-section .section-title{
    font-size:clamp(2rem,8.5vw,2.8rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.025em !important;
  }

  .epilogue-title{
    font-size:clamp(2.65rem,11vw,4rem) !important;
    line-height:.96 !important;
  }

  .epilogue-script{
    font-size:clamp(1.7rem,8vw,2.7rem) !important;
  }
}

/* V67: mais respiro entre as oito polaroides da abertura. */
.intro-polaroid-scene{
  --intro-polaroid-width:clamp(160px,16vw,300px);
}

.intro-polaroid--1{
  top:-8% !important;
  left:3% !important;
}

.intro-polaroid--2{
  top:-10% !important;
  left:43.5% !important;
}

.intro-polaroid--3{
  top:-8% !important;
  right:3% !important;
}

.intro-polaroid--4{
  top:53% !important;
  left:-4% !important;
}

.intro-polaroid--5{
  top:65% !important;
  left:19% !important;
}

.intro-polaroid--6{
  top:65% !important;
  right:19% !important;
}

.intro-polaroid--7{
  top:53% !important;
  right:-4% !important;
}

.intro-polaroid--8{
  bottom:-27% !important;
  left:42.5% !important;
}

@media(max-width:980px){
  .intro-polaroid-scene{
    --intro-polaroid-width:clamp(132px,19vw,196px);
  }

  .intro-polaroid--1{top:-7% !important;left:-5% !important;}
  .intro-polaroid--2{top:-7% !important;left:43% !important;}
  .intro-polaroid--3{top:-7% !important;right:-5% !important;}
  .intro-polaroid--4{top:60% !important;left:-9% !important;}
  .intro-polaroid--5{top:69% !important;left:16% !important;}
  .intro-polaroid--6{top:69% !important;right:16% !important;}
  .intro-polaroid--7{top:60% !important;right:-9% !important;}
  .intro-polaroid--8{bottom:-22% !important;left:39% !important;}
}

@media(max-width:640px){
  .intro-polaroid-scene{
    --intro-polaroid-width:clamp(96px,27vw,122px);
  }

  .intro-polaroid--1{top:-5% !important;left:-12% !important;}
  .intro-polaroid--2{top:0 !important;left:40% !important;}
  .intro-polaroid--3{top:-5% !important;right:-12% !important;}
  .intro-polaroid--4{top:70% !important;left:-14% !important;}
  .intro-polaroid--5{top:79% !important;left:13% !important;}
  .intro-polaroid--6{top:79% !important;right:13% !important;}
  .intro-polaroid--7{top:70% !important;right:-14% !important;}
  .intro-polaroid--8{bottom:-17% !important;left:36% !important;}
}

/* V68: remove a linha pontilhada do foco nativo dos botÃµes-polaroid. */
.intro-polaroid,
.intro-polaroid:focus,
.intro-polaroid:focus-visible{
  outline:none !important;
  outline-offset:0 !important;
  -webkit-tap-highlight-color:transparent;
}

.intro-polaroid:focus-visible .intro-polaroid__paper{
  box-shadow:
    0 0 0 3px rgba(232,214,255,.5),
    0 31px 68px rgba(39,24,43,.29),
    0 8px 18px rgba(39,24,43,.15) !important;
}

/* V69: sobe a polaroide inferior esquerda e elimina a emenda diagonal de renderização. */
.intro-polaroid{
  filter:none !important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform-style:flat;
}

.intro-polaroid__paper{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

.intro-polaroid--5{
  top:57% !important;
}

@media(max-width:980px){
  .intro-polaroid--5{top:62% !important;}
}

@media(max-width:640px){
  .intro-polaroid--5{top:71% !important;}
}

/* V70: pétalas do epílogo com contraste rosé e vermelho integrado ao lilás. */
.epilogue .petal{
  background:
    linear-gradient(145deg,rgba(255,255,255,.38),transparent 44%),
    #d5b8d8;
  opacity:.82;
  box-shadow:
    0 5px 14px rgba(72,43,86,.2),
    inset 0 -3px 5px rgba(104,66,113,.12);
}

.epilogue .petal:nth-child(5n + 1),
.epilogue .petal:nth-child(7n + 3){
  background:
    linear-gradient(145deg,rgba(255,228,233,.48),transparent 43%),
    #cf5873;
  opacity:.92;
  box-shadow:
    0 6px 17px rgba(116,29,57,.34),
    inset 0 -4px 6px rgba(108,22,48,.16);
}

.epilogue .petal:nth-child(11n + 4){
  background:
    linear-gradient(145deg,rgba(255,221,228,.42),transparent 43%),
    #a93f60;
  opacity:.9;
  box-shadow:
    0 6px 18px rgba(83,19,44,.38),
    inset 0 -4px 6px rgba(73,15,37,.2);
}

/* V71: abertura em ameixa e lilás, alinhada à paleta das demais seções. */
.intro-polaroid-scene,
#intro{
  background:
    radial-gradient(circle at 50% 44%,rgba(184,143,220,.38) 0%,rgba(115,78,133,.24) 30%,transparent 59%),
    radial-gradient(circle at 86% 12%,rgba(207,111,145,.14),transparent 34%),
    linear-gradient(145deg,#29152c 0%,#3b2643 48%,#5c4a69 100%) !important;
}

.intro-polaroid-scene__background{
  background:
    radial-gradient(circle at 50% 43%,rgba(225,207,244,.18) 0%,rgba(178,139,210,.08) 38%,transparent 70%),
    linear-gradient(145deg,rgba(41,21,44,.98) 0%,rgba(59,38,67,.96) 48%,rgba(92,74,105,.94) 100%) !important;
}

.intro-title span{
  color:#e0bdff;
  background:linear-gradient(90deg,#f0dcff 0%,#d4a8f5 48%,#efcad8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 14px 38px rgba(206,157,242,.24);
}

.intro-open-button{
  min-width:min(78vw,330px) !important;
  padding:20px 38px 22px !important;
  color:#0f0b10 !important;
  background:linear-gradient(96deg,#fff6e3 0%,#eadcf5 50%,#fff6e3 100%) !important;
  font-family:var(--serif) !important;
  font-size:clamp(1.08rem,1.35vw,1.3rem) !important;
  font-style:italic !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  letter-spacing:.01em;
  text-shadow:none;
  box-shadow:
    0 18px 34px rgba(24,12,28,.28),
    0 0 0 1px rgba(224,190,245,.24) !important;
}

.intro-open-button:hover,
.intro-open-button:focus-visible{
  color:#000 !important;
  box-shadow:
    0 24px 42px rgba(24,12,28,.36),
    0 0 0 2px rgba(226,192,248,.34) !important;
}

/* V86: prólogo responsivo sem cortes ou estouro lateral. */
@media(max-width:700px){
  .prologue-visual{
    width:100% !important;
    max-width:620px !important;
    height:auto !important;
    min-height:0 !important;
    padding-inline:0 !important;
    padding-bottom:24px !important;
    overflow:visible !important;
  }

  .prologue-main-photo{
    width:calc(100% - clamp(32px,10vw,72px)) !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }

  .prologue-polaroid{
    right:0 !important;
    width:clamp(155px,44%,220px) !important;
    max-width:44% !important;
  }

  .prologue-polaroid img{
    object-position:center 18% !important;
  }
}

@media(min-width:701px) and (max-width:980px){
  .prologue-visual{
    width:100% !important;
    max-width:760px !important;
    height:auto !important;
    min-height:0 !important;
    padding-bottom:28px !important;
    margin-inline:auto !important;
  }

  .prologue-main-photo{
    width:calc(100% - clamp(76px,12vw,118px)) !important;
    max-width:none !important;
    height:auto !important;
  }

  .prologue-polaroid img{
    object-position:center 18% !important;
  }
}

/* V88: respiro entre as duas últimas fotos conectadas no mural mobile. */
@media(max-width:700px){
  .memory-mural--path .mural-photo--7{
    top:870px !important;
  }
}

/* V89: botão de abertura com acabamento de costura. */
.page-button.intro-open-button{
  min-width:min(78vw,330px) !important;
  max-width:calc(100vw - 36px) !important;
  padding:clamp(15px,2vw,18px) clamp(36px,7vw,54px) !important;
  border:2px dashed #ad79cf !important;
  border-radius:15px !important;
  outline:none;
  color:#4b2d55 !important;
  background:#f1e5d2 !important;
  clip-path:none !important;
  font-family:var(--serif) !important;
  font-size:clamp(1.08rem,1.35vw,1.3rem) !important;
  font-style:italic !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
  text-shadow:none !important;
  box-shadow:
    0 0 0 4px #f1e5d2,
    3px 3px 8px 1px rgba(26,15,30,.34) !important;
  transition:
    transform .12s ease-in-out,
    color .4s ease,
    box-shadow .2s ease,
    background-color .3s ease !important;
}

.page-button.intro-open-button::after{
  color:#9b61c2 !important;
}

.page-button.intro-open-button:hover{
  color:#321c3a !important;
  background:#f7ecd9 !important;
  transform:translateY(-2px) !important;
  box-shadow:
    0 0 0 4px #f7ecd9,
    4px 5px 10px 1px rgba(26,15,30,.36) !important;
}

.page-button.intro-open-button:focus-visible{
  outline:3px solid rgba(218,188,239,.9) !important;
  outline-offset:7px !important;
}

.page-button.intro-open-button:active{
  transform:translate(.1em,.1em) !important;
  box-shadow:
    0 0 0 4px #f1e5d2,
    1.5px 1.5px 3px 1px rgba(26,15,30,.42) !important;
}

/* V90: abertura mobile maior, organizada e realmente centralizada. */
@media(max-width:700px){
  .intro-polaroid-scene{
    --intro-polaroid-width:clamp(118px,34vw,154px) !important;
    --intro-polaroid-border:7px !important;
    --intro-polaroid-bottom:clamp(34px,10vw,46px) !important;
  }

  .intro-centerpiece{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    width:min(100%,520px) !important;
    max-width:100% !important;
    margin-inline:auto !important;
    padding:24px clamp(20px,6vw,32px) !important;
    box-sizing:border-box !important;
    justify-self:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
    transform:none !important;
  }

  .intro-title,
  .intro-subtitle{
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  .page-button.intro-open-button{
    display:block !important;
    width:min(82vw,340px) !important;
    min-width:0 !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
  }

  .intro-polaroid--1{
    top:-4% !important;
    left:-11% !important;
  }

  .intro-polaroid--2{
    top:2% !important;
    left:50% !important;
    right:auto !important;
    transform:translate3d(-50%,0,0) rotate(11deg) scale(.72) !important;
  }

  .intro-polaroid--3{
    top:-4% !important;
    right:-11% !important;
  }

  .intro-polaroid--4{
    top:68% !important;
    left:-12% !important;
  }

  .intro-polaroid--5{
    top:75% !important;
    left:15% !important;
    transform:translate3d(var(--x),var(--y),0) rotate(-11deg) scale(.76) !important;
  }

  .intro-polaroid--6{
    top:75% !important;
    right:15% !important;
    left:auto !important;
    transform:translate3d(var(--x),var(--y),0) rotate(11deg) scale(.76) !important;
  }

  .intro-polaroid--7{
    top:68% !important;
    right:-12% !important;
  }

  .intro-polaroid--8{
    bottom:-16% !important;
    left:36% !important;
  }

  .intro-polaroid--2:hover,
  .intro-polaroid--2:focus-visible,
  .intro-polaroid--2.is-active{
    transform:translate3d(-50%,-8px,0) rotate(6deg) scale(.78) !important;
  }

  .intro-polaroid--5:hover,
  .intro-polaroid--5:focus-visible,
  .intro-polaroid--5.is-active{
    transform:translate3d(var(--x),calc(var(--y) - 8px),0) rotate(-6deg) scale(.82) !important;
  }

  .intro-polaroid--6:hover,
  .intro-polaroid--6:focus-visible,
  .intro-polaroid--6.is-active{
    transform:translate3d(var(--x),calc(var(--y) - 8px),0) rotate(6deg) scale(.82) !important;
  }
}

/* V92: ordem definitiva do mural no mobile — sequência 1 a 7. */
@media(max-width:700px){
  .memory-mural.memory-mural--path{
    height:1950px !important;
    min-height:1950px !important;
    padding-bottom:100px !important;
    overflow:visible !important;
  }

  .memory-mural--path .mural-photo{
    width:150px !important;
    height:210px !important;
    margin:0 !important;
  }

  .memory-mural--path .mural-photo--1{
    top:30px !important;
    left:4% !important;
    right:auto !important;
  }

  .memory-mural--path .mural-photo--2{
    top:300px !important;
    left:auto !important;
    right:4% !important;
  }

  .memory-mural--path .mural-photo--3{
    top:570px !important;
    left:4% !important;
    right:auto !important;
  }

  .memory-mural--path .mural-photo--4{
    top:840px !important;
    left:auto !important;
    right:4% !important;
  }

  .memory-mural--path .mural-photo--5{
    top:1110px !important;
    left:4% !important;
    right:auto !important;
  }

  .memory-mural--path .mural-photo--6{
    top:1380px !important;
    left:auto !important;
    right:4% !important;
  }

  .memory-mural--path .mural-photo--7{
    top:1650px !important;
    left:50% !important;
    right:auto !important;
    margin-left:-75px !important;
  }
}
