  :root{
    --cream:#FAF5EC;
    --paper:#F1E7D6;
    --ink:#150E0A;
    --ink-2:#221610;
    --ink-soft:#4A3A2E;
    --gold:#B6874A;
    --gold-light:#D8B27C;
    --wine:#7A2635;
    --blush:#E9CFC2;
    --line: rgba(182,135,74,.28);
    --shadow: 0 30px 60px -20px rgba(21,14,10,.35);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Plus Jakarta Sans', sans-serif;
    background:var(--cream);
    color:var(--ink-soft);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{display:block; max-width:100%;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  .eyebrow{
    font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
    font-weight:700; color:var(--wine); display:flex; align-items:center; gap:.5rem;
  }
  .eyebrow::before{content:''; width:22px; height:1px; background:var(--wine);}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:440; line-height:1.05; letter-spacing:-.01em;}
  em{font-style:italic; color:var(--gold);}
  .wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
  section{position:relative;}
  .btn{
    display:inline-flex; align-items:center; gap:.6rem;
    padding:1rem 1.9rem; border-radius:100px;
    font-weight:700; font-size:.92rem; letter-spacing:.02em;
    border:1px solid transparent; cursor:pointer;
    transition:transform .35s cubic-bezier(.2,.9,.3,1), box-shadow .35s, background .35s;
  }
  .btn-primary{
    background:linear-gradient(180deg,#EBC87A 0%,var(--gold-light) 28%,var(--gold) 68%,#9A6C32 100%);
    color:var(--ink);
    box-shadow:0 14px 40px -12px rgba(182,135,74,.72), inset 0 1px 0 rgba(255,255,255,.28);
  }
  .btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 52px -12px rgba(182,135,74,.88), 0 0 0 3px rgba(216,178,124,.32), inset 0 1px 0 rgba(255,255,255,.28);
  }
  .btn-ghost{border-color:rgba(21,14,10,.22); color:var(--ink);}
  .btn-ghost:hover{background:rgba(21,14,10,.05); transform:translateY(-2px);}
  .btn-dark{background:var(--ink); color:var(--cream);}
  .btn-dark:hover{transform:translateY(-3px); box-shadow:0 18px 34px -16px rgba(0,0,0,.5);}
  .btn-outline{border-color:var(--ink-soft); color:var(--ink-soft);}

  /* GRAIN */
  .grain::after{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  /* ===== NAV ===== */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:22px 0; transition:.4s;
  }
  .nav .wrap{display:flex; align-items:center; justify-content:space-between;}
  .nav.scrolled{background:rgba(250,245,236,.86); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); padding:14px 0;}
  .logo{font-family:'Fraunces',serif; font-size:1.3rem; font-weight:500; color:var(--ink); letter-spacing:-.01em;}
  .logo span{color:var(--gold);}
  .nav-links{display:flex; gap:2.2rem; font-size:.92rem; font-weight:600; color:var(--ink-soft);}
  .nav-links a:hover{color:var(--gold);}
  .nav .btn{white-space:nowrap;}
  @media(max-width:860px){.nav-links{display:none;}}
  @media(max-width:480px){.nav .btn{font-size:.82rem; padding:.7rem 1.1rem;}}

  /* ===== HERO ===== */
  .hero{
    background:radial-gradient(120% 100% at 85% 0%, var(--paper) 0%, var(--cream) 55%), var(--cream);
    min-height:86vh; display:flex; align-items:flex-end; padding:120px 0 64px;
    overflow:hidden;
  }
  .hero-line{position:absolute; top:110px; left:0; right:0; opacity:.7; pointer-events:none;}
  .hero-grid{
    display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; width:100%;
    position:relative; z-index:2;
  }
  .hero h1{
    font-size:clamp(2.8rem,5.6vw,4.6rem); color:var(--ink); margin:22px 0 26px;
  }
  .hero p{max-width:460px; font-size:1.08rem; line-height:1.65; color:var(--ink-soft); margin-bottom:34px;}
  .hero-proof{
    display:flex; gap:22px; margin-top:34px; flex-wrap:wrap;
    font-size:.85rem; color:var(--ink-soft);
  }
  .hero-proof strong{color:var(--wine); font-weight:700;}
  .hero-media{position:relative; max-width:580px;}
  .hero-media .frame{
    position:relative; border-radius:22px; overflow:hidden;
    box-shadow:var(--shadow); min-height:200px;
    background:linear-gradient(155deg,#5a3b28,#7A2635 45%,#2c1c14);
  }
  .hero-media .frame::before{
    content:''; position:absolute; inset:0; pointer-events:none;
  }
  .hero-media .frame video{
    position:static; width:100%; height:auto; object-fit:contain; display:block;
  }
  .play-badge{
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:72px; height:72px; border-radius:50%; background:rgba(250,245,236,.14);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    border:1px solid rgba(250,245,236,.4);
    display:flex; align-items:center; justify-content:center; z-index:3;
    cursor:pointer; opacity:1; transition:opacity .3s ease, transform .3s ease;
  }
  .play-badge:hover{transform:translate(-50%,-50%) scale(1.08);}
  .play-badge.hidden{opacity:0; pointer-events:none;}
  /* pulse ring — only in play/preview state */
  .play-badge::before{
    content:''; position:absolute; inset:0; border-radius:50%;
    border:2px solid rgba(250,245,236,.5);
    animation:badge-pulse 2s ease-out infinite;
    pointer-events:none;
  }
  .play-badge:hover::before{animation-duration:1.2s;}
  .play-badge.hidden::before,
  .play-badge.pause-icon::before{animation:none; opacity:0;}
  @keyframes badge-pulse{
    0%  {transform:scale(1);   opacity:.5;}
    100%{transform:scale(1.65);opacity:0;}
  }
  @media(prefers-reduced-motion:reduce){.play-badge::before{animation:none;}}
  .play-badge::after{
    content:''; width:26px; height:26px; margin-left:4px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='8,5 20,12 8,19' fill='%23FAF5EC'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:background-image .12s ease;
  }
  .play-badge.pause-icon::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3Crect x='14' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3C/svg%3E");
    margin-left:0;
  }
  .hero-card{
    position:absolute; left:-40px; bottom:-30px; background:#FFFFFF; color:var(--ink);
    border:1px solid var(--line);
    padding:18px 22px; border-radius:16px; box-shadow:var(--shadow); z-index:4;
    display:flex; align-items:center; gap:14px; transform:rotate(-2deg);
  }
  .hero-card .stars{color:var(--gold); font-size:.85rem; letter-spacing:2px;}
  .hero-card small{display:block; color:var(--ink-soft); font-size:.78rem; margin-top:2px;}
  @media(max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-media{order:-1; max-width:100%; margin:16px 0 20px;}
    .hero-media .frame{transform:none; aspect-ratio:auto; min-height:0;}
    .hero-media .frame video{position:static; inset:auto; width:100%; height:auto; object-fit:contain; z-index:auto;}
    .hero-card{left:10px; bottom:-20px;}
    .hero{padding-top:120px;}
    .play-badge{width:64px; height:64px;}
  }

  /* ===== TICKER ===== */
  .ticker{background:var(--ink); border-top:1px solid rgba(250,245,236,.08); overflow:hidden; height:44px; display:flex; align-items:center;}
  .ticker-track{display:flex; gap:60px; white-space:nowrap; animation:scroll 22s linear infinite; font-size:.78rem; letter-spacing:.05em; color:rgba(250,245,236,.65); font-weight:600;}
  .ticker-track span{color:var(--gold-light);}
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ===== MOMENTS (bento) ===== */
  .moments{background:var(--ink); padding:88px 0 84px;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 44px;}
  .section-head .eyebrow{justify-content:center;}
  .section-head .eyebrow::before,.section-head .eyebrow::after{content:''; width:22px; height:1px; background:currentColor;}
  .section-head .eyebrow{gap:.5rem;}
  .section-head h2{font-size:clamp(2rem,3.6vw,2.8rem); margin:16px 0 10px;}
  .light-head h2{color:var(--ink);}
  .dark-head h2, .dark-head .eyebrow{color:var(--cream);}
  .dark-head .eyebrow{color:var(--gold-light);}
  .section-head p{color:var(--ink-soft); font-size:1.02rem;}
  .dark-head p{color:rgba(250,245,236,.55);}

  .bento{
    display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:190px 190px 190px;
    gap:14px;
  }
  .bento .tile{
    position:relative; border-radius:20px; overflow:hidden; cursor:pointer;
    box-shadow:0 20px 40px -22px rgba(0,0,0,.6);
    transition:transform .5s cubic-bezier(.2,.9,.3,1);
    background-size:cover; background-position:center;
  }
  .bento .tile:hover{transform:translateY(-6px);}
  .tile .cap{
    position:absolute; left:0; right:0; bottom:0; padding:20px;
    background:linear-gradient(0deg, rgba(10,6,4,.85), transparent 70%);
    color:var(--cream); font-weight:700; font-size:1.02rem; display:flex; align-items:center; gap:10px;
  }
  /* play button centralizado */
  .tile-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:64px; height:64px; border-radius:50%; z-index:2;
    background:rgba(250,245,236,.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    border:1.5px solid rgba(250,245,236,.5);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:transform .3s ease;
  }
  .tile-play::after{
    content:''; width:22px; height:22px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='8,5 20,12 8,19' fill='%23FAF5EC'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .18s ease;
  }
  .tile:hover .tile-play{ transform:translate(-50%,-50%) scale(1.08); }
  /* pulse ring */
  .tile-pulse{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:64px; height:64px; border-radius:50%;
    border:2px solid var(--gold-light);
    z-index:1; pointer-events:none;
    animation:tile-pulse 2s ease-out infinite;
  }
  @keyframes tile-pulse{
    0%   { transform:translate(-50%,-50%) scale(1);   opacity:.5; }
    100% { transform:translate(-50%,-50%) scale(1.6); opacity:0;  }
  }
  .tile:hover .tile-pulse{ animation-duration:1.2s; }
  @media(prefers-reduced-motion:reduce){ .tile-pulse{ animation:none; } }
  @media(max-width:760px){
    .tile-play{ width:52px; height:52px; }
    .tile-play::after{ width:18px; height:18px; }
    .tile-pulse{ width:52px; height:52px; }
  }
  /* cap: remove old play icon */
  .tile .cap::before{ display:none; }
  .t1{grid-column:1/3; grid-row:1/3; background-image:url('https://cdn.musicadocoracao.co/site-assets/e355ab024_generated_image.webp');}
  .t2{grid-column:3/4; grid-row:1/2; background-image:url('https://cdn.musicadocoracao.co/site-assets/88772d823_generated_image.webp');}
  .t3{grid-column:4/5; grid-row:1/2; background-image:url('https://cdn.musicadocoracao.co/site-assets/b9100e919_generated_image.webp');}
  .t4{grid-column:3/4; grid-row:2/3; background-image:url('https://cdn.musicadocoracao.co/site-assets/f2420121a_generated_image.webp');}
  .t5{grid-column:4/5; grid-row:2/3; background-image:url('https://cdn.musicadocoracao.co/site-assets/1fa7a2320_generated_image.webp');}
  .t6{grid-column:1/5; grid-row:3/4; background-image:url('https://cdn.musicadocoracao.co/site-assets/28654143d_generated_image.webp');}
  @media(max-width:900px){
    .bento{grid-template-columns:1fr 1fr; grid-template-rows:230px 170px 170px 210px;}
    .t1{grid-column:1/3; grid-row:1/2;}
    .t2{grid-column:1/2; grid-row:2/3;}
    .t3{grid-column:2/3; grid-row:2/3;}
    .t4{grid-column:1/2; grid-row:3/4;}
    .t5{grid-column:2/3; grid-row:3/4;}
    .t6{grid-column:1/3; grid-row:4/5;}
  }

  /* ===== AUDIO RACK ===== */
  .audio{background:var(--paper); padding:88px 0;}
  .filters{display:flex; gap:10px; justify-content:center; margin-bottom:36px;}
  .filter{padding:.6rem 1.3rem; border-radius:100px; font-size:.85rem; font-weight:700; background:transparent; border:1px solid var(--line); color:var(--ink-soft); cursor:pointer; transition:.3s;}
  .filter.active{background:var(--ink); color:var(--cream); border-color:var(--ink);}
  .rack{background:var(--ink); border-radius:24px; padding:10px; box-shadow:var(--shadow); max-width:880px; margin:0 auto;}
  .track{
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px;
    padding:18px 20px; border-radius:16px; cursor:pointer; transition:.3s;
  }
  .track:hover, .track.playing{background:rgba(250,245,236,.05);}
  .track + .track{border-top:1px solid rgba(250,245,236,.06);}
  .play-btn{
    width:42px; height:42px; border-radius:50%; background:var(--gold); flex-shrink:0;
    display:flex; align-items:center; justify-content:center; transition:.3s;
  }
  .track.playing .play-btn{background:var(--wine);}
  .play-btn::after{content:''; width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='8,5 20,12 8,19' fill='%23150E0A'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .18s ease;}
  .track.playing .play-btn::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3Crect x='14' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3C/svg%3E"); animation:icon-pop .2s ease;}
  .track-info{min-width:0;}
  .track-info .tag{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-light); font-weight:700;}
  .track-info .quote{color:rgba(250,245,236,.85); font-family:'Fraunces',serif; font-style:italic; font-size:1rem; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .track-info .voice{font-size:.75rem; color:rgba(250,245,236,.4); margin-top:2px;}
  .waveform{display:flex; align-items:center; gap:2px; height:34px; width:180px;}
  .waveform span{
    width:3px; background:rgba(250,245,236,.25); border-radius:2px; flex-shrink:0;
  }
  .track.playing .waveform span{background:var(--gold-light); animation:wave 1s ease-in-out infinite;}
  .track.playing .waveform span:nth-child(odd){animation-delay:.15s;}
  @keyframes wave{0%,100%{transform:scaleY(.4);} 50%{transform:scaleY(1);}}
  @media(max-width:640px){.waveform{width:90px;} .track-info .quote{font-size:.88rem;}}

  .track-time{font-size:.72rem; color:rgba(250,245,236,.38); margin-top:4px; font-variant-numeric:tabular-nums; letter-spacing:.02em;}
  .track.playing .track-time{color:var(--gold-light);}
  .tile.playing .tile-play{background:rgba(182,135,74,.4); border-color:var(--gold-light);}
  .tile.playing .tile-pulse{border-color:var(--gold-light); animation-duration:.9s;}
  .tile.playing .tile-play::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3Crect x='14' y='4' width='5' height='16' rx='1.5' fill='%23FAF5EC'/%3E%3C/svg%3E"); animation:icon-pop .2s ease;}
  @keyframes icon-pop{from{transform:scale(.6);opacity:0;} to{transform:scale(1);opacity:1;}}

  .audio-cta{text-align:center; margin-top:36px;}

  /* ===== FEATURES ===== */
  .features{background:var(--cream); padding:88px 0;}
  .feat-strip{display:grid; grid-template-columns:repeat(4,1fr);}
  .feat{position:relative; padding:10px 28px; text-align:left;}
  .feat + .feat{border-left:1px solid var(--line);}
  .feat .num{
    font-family:'Fraunces',serif; font-style:italic; font-size:3.2rem; color:var(--blush);
    position:absolute; top:-6px; right:14px; z-index:0; line-height:1;
  }
  .feat-icon{width:44px; height:44px; border-radius:50%; background:var(--blush); display:flex; align-items:center; justify-content:center; margin-bottom:20px; position:relative; z-index:1;}
  .feat h3{font-size:1.15rem; font-weight:600; margin-bottom:10px; position:relative; z-index:1;}
  .feat p{font-size:.92rem; line-height:1.55; color:var(--ink-soft); position:relative; z-index:1;}
  @media(max-width:900px){.feat-strip{grid-template-columns:1fr 1fr;} .feat+.feat{border-left:none;} .feat{border-top:1px solid var(--line); padding-top:32px;}}

  /* ===== TESTIMONIALS MARQUEE ===== */
  .testi{background:var(--ink); padding:88px 0 80px; overflow:hidden;}
  .marquee{display:flex; gap:22px; width:max-content; animation:marquee 42s linear infinite;}
  .marquee:hover{animation-play-state:paused;}
  @keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .quote-card{
    width:340px; flex-shrink:0; background:var(--ink-2); border:1px solid rgba(250,245,236,.08);
    border-radius:20px; padding:30px; position:relative;
  }
  .quote-card .mark{font-family:'Fraunces',serif; font-size:3rem; color:var(--gold); line-height:1; opacity:.5;}
  .quote-card p{color:rgba(250,245,236,.82); font-size:.98rem; line-height:1.6; margin:12px 0 18px;}
  .quote-card .highlight{font-family:'Caveat',cursive; color:var(--gold-light); font-size:1.5rem; display:block; margin-top:10px;}
  .quote-card .who{display:flex; align-items:center; gap:10px; margin-top:18px;}
  .avatar{width:38px; height:38px; border-radius:50%; background:linear-gradient(150deg,var(--gold),var(--wine)); object-fit:cover; flex-shrink:0;}
  .who strong{color:var(--cream); font-size:.9rem; display:block;}
  .who span{color:rgba(250,245,236,.45); font-size:.78rem;}

  /* ===== PRICING ===== */
  .pricing{background:var(--cream); padding:92px 0 76px;}
  .plans{display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:900px; margin:0 auto 40px;}
  .plan{
    background:#fff; border:1px solid var(--line); border-radius:24px; padding:40px 34px;
    position:relative; transition:.4s;
  }
  .plan.rec{
    background:linear-gradient(180deg,#fff, var(--blush) 220%);
    border:1px solid var(--gold);
    box-shadow:0 30px 60px -20px rgba(182,135,74,.45);
  }
  .badge{
    position:absolute; top:-14px; left:50%; transform:translateX(-50%);
    background:var(--wine); color:var(--cream); font-size:.72rem; font-weight:700;
    padding:7px 16px; border-radius:100px; letter-spacing:.04em;
  }
  .plan .tag{font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); font-weight:700;}
  .plan h3{font-size:1.6rem; margin:10px 0 4px;}
  .plan .price{font-family:'Fraunces',serif; font-size:2.6rem; color:var(--ink);}
  .plan .price sup{font-size:1rem; font-family:'Plus Jakarta Sans';}
  .plan .sub{font-size:.85rem; color:var(--ink-soft); margin:6px 0 24px;}
  .plan ul{margin-bottom:28px;}
  .plan li{display:flex; gap:10px; font-size:.92rem; padding:8px 0; align-items:flex-start;}
  .check{width:18px; height:18px; border-radius:50%; background:var(--blush); color:var(--wine); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:.7rem; margin-top:2px;}
  .plan.rec .check{background:var(--gold); color:#fff;}
  .plan .btn{width:100%; justify-content:center;}
  .plan-note{text-align:center; font-size:.78rem; color:var(--ink-soft); margin-top:14px; opacity:.7;}
  .trust-strip{
    max-width:640px; margin:0 auto; text-align:center; background:var(--paper); border-radius:18px; padding:22px;
    font-size:.9rem; color:var(--ink-soft);
  }
  @media(max-width:760px){.plans{grid-template-columns:1fr;}}

  /* ===== FAQ ===== */
  .faq{background:var(--paper); padding:88px 0;}
  .faq-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 60px; max-width:1000px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line); padding:20px 0;}
  .faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; font-size:1rem; color:var(--ink); padding:6px 8px; margin:-6px -8px; border-radius:8px; transition:background .3s ease;}
  .faq-item.open .faq-q{background:rgba(233,207,194,.4);}
  .faq-q .faq-icon{flex-shrink:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:8px; transition:transform .3s ease, background .3s ease;}
  .faq-item.open .faq-icon{transform:rotate(180deg); background:rgba(182,135,74,.12);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease; font-size:.92rem; color:var(--ink-soft); line-height:1.6;}
  .faq-item.open .faq-a{max-height:200px; padding-top:12px;}
  @media(max-width:760px){.faq-grid{grid-template-columns:1fr;}}

  /* ===== CTA FINAL ===== */
  .cta-final{background:var(--ink); padding:104px 0; text-align:center; position:relative; overflow:hidden;}
  .cta-final h2{color:var(--cream); font-size:clamp(2.2rem,4.4vw,3.4rem); margin:18px 0 20px;}
  .cta-final p{max-width:480px; margin:0 auto 40px; color:rgba(250,245,236,.6); font-size:1.02rem; line-height:1.6;}
  .cta-final .eyebrow{justify-content:center; color:var(--gold-light);}
  .cta-final .eyebrow::before{background:var(--gold-light);}

  /* ===== FOOTER ===== */
  footer{background:var(--ink); padding:70px 0 30px; border-top:1px solid rgba(250,245,236,.08);}
  .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:50px; padding-bottom:50px;}
  .foot-brand h3{font-family:'Fraunces',serif; color:var(--cream); font-size:1.4rem; font-weight:500;}
  .foot-brand p{color:rgba(250,245,236,.45); font-size:.88rem; margin-top:8px; max-width:260px;}
  .foot-cols{display:flex; gap:70px;}
  .foot-col h4{color:var(--gold-light); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;}
  .foot-col li{margin-bottom:10px;}
  .foot-col a{color:rgba(250,245,236,.6); font-size:.9rem;}
  .foot-col a:hover{color:var(--cream);}
  .foot-bottom{display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(250,245,236,.08); font-size:.78rem; color:rgba(250,245,236,.4); flex-wrap:wrap; gap:10px;}

  /* sticky mobile cta */
  .sticky-cta{
    position:fixed; bottom:0; left:0; right:0; z-index:90; background:var(--cream);
    padding:14px 20px; box-shadow:0 -10px 30px rgba(0,0,0,.15); display:none;
    transform:translateY(100%); transition:transform .4s;
  }
  .sticky-cta.show{transform:translateY(0);}
  .sticky-cta .btn{width:100%; justify-content:center;}
  @media(max-width:760px){.sticky-cta{display:block;}}

  /* ===== MOBILE OPTIMIZATION ===== */
  @media(max-width:760px){
    .wrap{padding:0 20px;}
    .nav{padding:16px 0;}
    .nav.scrolled{padding:12px 0;}

    .hero{min-height:auto; padding:100px 0 48px; align-items:flex-start;}
    .hero-line{top:76px;}
    .hero h1{margin:16px 0 18px; font-size:clamp(2.1rem,8vw,2.8rem);}
    .hero p{font-size:1rem; margin-bottom:26px;}
    .hero-proof{gap:16px; margin-top:24px;}
    .hero-card{padding:14px 16px; left:6px; bottom:-20px; gap:10px;}

    .moments{padding:60px 0 56px;}
    .audio{padding:60px 0;}
    .features{padding:60px 0;}
    .testi{padding:60px 0 54px;}
    .pricing{padding:64px 0 52px;}
    .faq{padding:60px 0;}
    .cta-final{padding:70px 0;}
    footer{padding:48px 0 24px;}

    .section-head{margin-bottom:32px;}
    .section-head h2{font-size:clamp(1.6rem,7vw,2.1rem);}

    .filters{gap:8px; flex-wrap:wrap;}
    .rack{padding:6px; border-radius:18px;}
    .track{grid-template-columns:auto 1fr; gap:12px; padding:14px;}
    .waveform{display:none;}

    .feat{padding:0 0 0 0;}
    .feat-strip{gap:28px;}

    .quote-card{width:260px; padding:24px;}

    .plan{padding:28px 22px;}
    .plan.rec{margin-top:6px;}
    .badge{font-size:.66rem; padding:6px 12px;}

    .faq-q{font-size:.94rem;}

    .cta-final p{font-size:.96rem;}

    .foot-top{gap:32px; padding-bottom:32px;}
    .foot-cols{gap:36px; flex-wrap:wrap;}
  }

  @media(max-width:480px){
    .wrap{padding:0 16px;}
    .hero-proof{flex-direction:column; gap:8px;}
    .bento{grid-template-rows:200px 150px 150px 180px;}
    .feat-strip{grid-template-columns:1fr;}
    .feat+.feat{border-top:1px solid var(--line); padding-top:24px;}
    .foot-cols{gap:28px;}
    .foot-col{min-width:44%;}
  }
