
  :root{
    --bg: #14121c;
    --bg-panel: #1e1b2a;
    --bg-panel-2: #241f33;
    --gold: #d9a441;
    --ink: #f3efe6;
    --muted: #9c97ac;
    --line: rgba(243,239,230,0.10);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Manrope', sans-serif;
    line-height:1.5;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em;}
  body.lang-ka{font-family:'Noto Sans Georgian', sans-serif;}
  body.lang-ka h1, body.lang-ka h2, body.lang-ka h3, body.lang-ka .logo, body.lang-ka .step-num, body.lang-ka .amount{font-family:'Noto Serif Georgian', serif;}
  a{color:inherit;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--gold); font-weight:700; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--gold); display:inline-block;}

  /* ---------- NAV ---------- */
  nav{
    position:sticky; top:0; z-index:50;
    background:rgba(20,18,28,0.82); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav .wrap{display:flex; align-items:center; justify-content:space-between; height:68px;}
  .logo{font-family:'Fraunces', serif; font-weight:600; font-size:27px; letter-spacing:0.01em;}
  .logo span{color:var(--gold);}
  .logo-block{display:flex; flex-direction:column; gap:3px;}
  .tagline{font-size:12px; color:var(--muted); letter-spacing:0.01em; font-family:'Manrope',sans-serif;}
  body.lang-ka .tagline{font-family:'Noto Sans Georgian', sans-serif;}
  .nav-cta{
    font-size:14px; font-weight:700; padding:10px 20px; border-radius:100px;
    background:var(--gold); color:#1a1508; text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .nav-cta:hover{transform:translateY(-1px); box-shadow:0 6px 20px rgba(217,164,65,0.25);}
  .nav-right{display:flex; align-items:center; gap:18px;}
  .lang-switch{display:flex; gap:2px; background:var(--bg-panel); border:1px solid var(--line); border-radius:100px; padding:3px;}
  .lang-btn{
    border:none; background:transparent; color:var(--muted); font-size:12px; font-weight:700;
    letter-spacing:0.03em; padding:7px 11px; border-radius:100px; cursor:pointer; text-transform:uppercase;
    transition:background .15s ease, color .15s ease;
  }
  .lang-btn.active{background:var(--gold); color:#1a1508;}
  .lang-btn:not(.active):hover{color:var(--ink);}
  @media (max-width:560px){
    .nav-cta{display:none;}
    .lang-btn{padding:6px 8px; font-size:11px;}
  }


  /* ---------- STORY COVER RIBBON ---------- */
  .story-ribbon{padding:20px 0 10px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
  .story-ribbon-track{display:flex;gap:16px;width:max-content;animation:storyRibbon 28s linear infinite;padding-left:16px}
  .story-ribbon:hover .story-ribbon-track{animation-play-state:paused}
  .story-ribbon-card{width:180px;flex:0 0 180px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 34px rgba(0,0,0,.28);cursor:pointer;position:relative;background:var(--bg-panel);transition:transform .2s ease,border-color .2s ease}
  .story-ribbon-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--gold)}
  .story-ribbon-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
  .story-ribbon-label{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:10px;background:rgba(10,11,20,.76);backdrop-filter:blur(8px);color:#fff;font:700 13px 'Manrope',sans-serif;text-align:center}
  @keyframes storyRibbon{from{transform:translateX(0)}to{transform:translateX(-588px)}}
  @media(max-width:640px){.story-ribbon-card{width:140px;flex-basis:140px}.story-ribbon-track{gap:12px}@keyframes storyRibbon{from{transform:translateX(0)}to{transform:translateX(-456px)}}}

  /* ---------- HERO ---------- */
  .hero{padding:88px 0 64px; position:relative;}
  .hero-grid{display:grid; gap:28px;}
  .hero h1{
    font-size:clamp(34px, 6vw, 60px); line-height:1.06; margin:18px 0 20px;
    max-width:16ch;
  }
  .hero h1 em{font-style:italic; color:var(--gold);}
  .brand-manifesto{font-family:'Fraunces',serif;font-size:clamp(18px,2.4vw,27px);line-height:1.35;color:var(--ink);max-width:38ch;margin:18px 0 8px;}
  .hero p.lead{font-size:18px; color:var(--muted); max-width:46ch; margin-bottom:32px;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:56px;}
  .btn-primary{
    background:var(--gold); color:#1a1508; font-weight:700; font-size:15px;
    padding:15px 28px; border-radius:100px; text-decoration:none; border:none; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-primary:hover{transform:translateY(-1px); box-shadow:0 8px 24px rgba(217,164,65,0.28);}
  .btn-ghost{
    border:1px solid var(--line); color:var(--ink); font-weight:600; font-size:15px;
    padding:15px 26px; border-radius:100px; text-decoration:none; background:transparent;
  }
  .btn-ghost:hover{border-color:rgba(243,239,230,0.3);}

  /* ambient waveform */
  #ambientWave{width:100%; height:120px; display:block; opacity:0.55;}

  /* ---------- SECTION LABELS ---------- */
  section{padding:76px 0;}
  .sec-head{margin-bottom:44px; max-width:60ch;}
  .sec-head h2{font-size:clamp(26px, 4vw, 38px); margin-top:14px;}
  .sec-head p{color:var(--muted); margin-top:12px; font-size:16px;}

  /* ---------- PORTFOLIO / PLAYER ---------- */
  .tracks{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .track{
    background:var(--bg-panel);
    border:1px solid var(--line);
    border-radius:20px;
    padding:24px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:330px;
  }
  .play-btn{
    width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
    background:var(--gold); color:#1a1508; font-size:0; position:relative; flex-shrink:0;
    transition:transform .15s ease;
    margin-bottom:18px;
  }
  .play-btn:hover{transform:scale(1.06);}
  .play-btn::before{
    content:""; position:absolute; top:50%; left:50%; transform:translate(-42%,-50%);
    width:0; height:0; border-style:solid; border-width:9px 0 9px 15px;
    border-color:transparent transparent transparent #1a1508;
  }
  .play-btn.playing::before{
    width:14px; height:16px; border-style:solid; border-width:0;
    background:
      linear-gradient(#1a1508,#1a1508) 0 0/4px 16px no-repeat,
      linear-gradient(#1a1508,#1a1508) 10px 0/4px 16px no-repeat;
    border:none; transform:translate(-50%,-50%);
  }
  .track-body{min-width:0; width:100%; display:flex; flex-direction:column; flex:1;}
  .track-title{font-family:'Fraunces', serif; font-weight:600; font-size:19px; margin-bottom:8px;}
  .track-desc{color:var(--muted); font-size:14px; margin-bottom:16px; line-height:1.6;}
  .track canvas{width:100%; height:54px; display:block; margin-top:auto;}
  .track-time{font-size:12px; color:var(--muted); margin-top:8px; font-variant-numeric:tabular-nums;}
  .story-cover{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px; margin-bottom:16px; display:block; border:1px solid var(--line);}
  .story-meta{display:flex; flex-wrap:wrap; gap:7px; margin:0 0 14px;}
  .story-meta span{font-size:11px; font-weight:700; letter-spacing:.02em; padding:6px 9px; border-radius:100px; background:var(--bg-panel-2); color:var(--muted); border:1px solid var(--line);}
  .listen-label{font-size:12px; color:var(--gold); font-weight:700; margin-top:9px;}
  @media (max-width:900px){.tracks{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:640px){.tracks{grid-template-columns:1fr;}.track{min-height:0;}}

  /* ---------- STEPS ---------- */
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:18px; overflow:hidden;}
  .step{background:var(--bg-panel); padding:24px 22px; display:block; min-height:170px;}
  .step-num{font-family:'Fraunces', serif; font-size:20px; color:var(--gold); font-weight:600; margin-bottom:12px;}
  .step h3{font-size:17px; margin-bottom:7px;}
  .step p{color:var(--muted); font-size:14px;}

  /* ---------- REVIEWS ---------- */
  .reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .review-card{
    background:var(--bg-panel); border:1px solid var(--line); border-radius:18px; padding:26px;
  }
  .review-quote{font-family:'Fraunces', serif; font-size:16px; line-height:1.5; margin-bottom:16px; font-style:italic;}
  .review-author{font-size:13px; color:var(--gold); font-weight:700;}
  @media (max-width:780px){ .reviews-grid{grid-template-columns:1fr;} .steps{grid-template-columns:1fr;} .step{min-height:0;} }


  /* ---------- AUTHOR STORIES ---------- */
  .author-intro{max-width:72ch;}
  .author-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .author-card{
    background:var(--bg-panel);
    border:1px solid var(--line);
    border-radius:20px;
    padding:24px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:360px;
  }
  .author-card .play-btn{margin-bottom:18px;}
  .author-card .track-body{width:100%; display:flex; flex-direction:column; flex:1;}
  .author-card .track-title{margin-top:0;}
  .author-card .track-desc{line-height:1.6; margin-bottom:16px;}
  .author-cover{
    width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px;
    margin-bottom:18px; border:1px solid var(--line);
  }
  .author-track-meta{
    display:flex; gap:10px; flex-wrap:wrap; margin:-2px 0 14px;
    color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.04em;
  }
  .author-track-meta span{
    padding:5px 9px; border:1px solid var(--line); border-radius:999px;
    background:rgba(255,255,255,.025);
  }
  .author-card canvas{margin-top:auto;}
  .author-signature{margin-top:30px; padding-top:24px; border-top:1px solid var(--line);}
  .author-signature strong{font-family:'Fraunces',serif; font-size:20px; color:var(--gold);}
  .author-signature p{color:var(--muted); margin-top:6px;}
  @media (max-width:980px){.author-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:640px){.author-grid{grid-template-columns:1fr;}.author-card{min-height:0;}}

  /* ---------- PRICING TIERS ---------- */
  .tiers-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .tier-card{
    background:var(--bg-panel); border:1px solid var(--line); border-radius:20px;
    padding:30px 26px; display:flex; flex-direction:column; position:relative;
    transition:border-color .15s ease, transform .15s ease;
  }
  .tier-card.featured{
    background:linear-gradient(165deg, var(--bg-panel-2), var(--bg-panel));
    border-color:rgba(217,164,65,0.4);
  }
  .tier-badge{
    position:absolute; top:-12px; left:26px; background:var(--gold); color:#1a1508;
    font-size:11px; font-weight:800; letter-spacing:0.05em; text-transform:uppercase;
    padding:5px 12px; border-radius:100px;
  }
  .tier-name{font-family:'Fraunces', serif; font-size:20px; font-weight:600; margin-bottom:6px;}
  .tier-price{font-family:'Fraunces', serif; font-size:34px; color:var(--gold); margin-bottom:2px;}
  .tier-price small{font-size:13px; color:var(--muted); font-family:'Manrope',sans-serif; font-weight:600;}
  .tier-features{list-style:none; color:var(--muted); font-size:14px; margin:20px 0 26px; display:grid; gap:10px; flex-grow:1;}
  .tier-features li{padding-left:20px; position:relative; line-height:1.4;}
  .tier-features li::before{content:"—"; position:absolute; left:0; color:var(--gold);}
  .tier-select{
    border:1px solid var(--line); background:transparent; color:var(--ink); font-weight:700; font-size:14px;
    padding:13px 20px; border-radius:100px; cursor:pointer; transition:all .15s ease;
  }
  .tier-select:hover{border-color:var(--gold);}
  .tier-card.selected{border-color:var(--gold); box-shadow:0 0 0 1px var(--gold);}
  .tier-card.selected .tier-select{background:var(--gold); color:#1a1508; border-color:var(--gold);}
  body.lang-ka .tier-name, body.lang-ka .tier-price{font-family:'Noto Serif Georgian', serif;}

  /* ---------- ORDER FORM ---------- */
  .order-box{background:var(--bg-panel); border:1px solid var(--line); border-radius:22px; padding:40px;}
  .order-summary{
    display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; font-size:13px;
  }
  .order-pill{
    background:var(--bg-panel-2); border:1px solid var(--line); border-radius:100px;
    padding:8px 16px; color:var(--muted);
  }
  .order-pill strong{color:var(--gold); font-weight:700;}
  .field-label{font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px; display:block;}
  .field-group{margin-bottom:22px;}
  .style-chips{display:flex; flex-wrap:wrap; gap:9px;}
  .chip{
    border:1px solid var(--line); background:var(--bg-panel-2); color:var(--muted);
    font-size:13px; font-weight:600; padding:9px 16px; border-radius:100px; cursor:pointer;
    transition:all .15s ease;
  }
  .chip:hover{border-color:rgba(217,164,65,0.5); color:var(--ink);}
  .chip.selected{background:var(--gold); color:#1a1508; border-color:var(--gold);}
  input[type="text"], select, textarea{
    width:100%; background:var(--bg-panel-2); border:1px solid var(--line); color:var(--ink);
    font-family:'Manrope',sans-serif; font-size:15px; padding:14px 16px; border-radius:12px;
    outline:none; transition:border-color .15s ease;
  }
  body.lang-ka input[type="text"], body.lang-ka select, body.lang-ka textarea{font-family:'Noto Sans Georgian', sans-serif;}
  input[type="text"]:focus, select:focus, textarea:focus{border-color:var(--gold);}
  textarea{min-height:110px; resize:vertical;}
  select{appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239c97ac'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .btn-generate{
    width:100%; background:var(--gold); color:#1a1508; font-weight:700; font-size:15px;
    padding:16px; border-radius:100px; border:none; cursor:pointer; margin-top:6px;
    transition:transform .15s ease;
  }
  .btn-generate:hover{transform:translateY(-1px);}
  .order-preview{
    display:none; margin-top:28px; padding-top:28px; border-top:1px solid var(--line);
  }
  .order-preview.visible{display:block;}
  .preview-text{
    background:var(--bg-panel-2); border:1px solid var(--line); border-radius:14px; padding:18px;
    font-size:14px; color:var(--ink); white-space:pre-wrap; line-height:1.6; margin-bottom:18px;
  }
  .send-actions{display:flex; gap:12px; flex-wrap:wrap;}
  .btn-wa{background:#25D366; color:#0a1a10;}
  .btn-copy{border:1px solid var(--line); background:transparent; color:var(--ink); font-weight:700; font-size:14px; padding:14px 22px; border-radius:100px; cursor:pointer;}
  .copied-note{font-size:12px; color:var(--gold); margin-top:10px; opacity:0; transition:opacity .2s ease;}
  .copied-note.show{opacity:1;}
  .golden-toggle{
    width:100%; text-align:left; background:transparent; border:1px dashed rgba(217,164,65,0.5);
    color:var(--gold); font-family:'Manrope',sans-serif; font-size:13px; font-weight:700;
    padding:14px 16px; border-radius:12px; cursor:pointer; transition:background .15s ease;
  }
  .golden-toggle:hover{background:rgba(217,164,65,0.08);}
  .golden-box{display:none; margin-top:16px; gap:14px;}
  .golden-box.open{display:grid;}
  .golden-q-label{font-size:13px; color:var(--muted); margin-bottom:6px; display:block; line-height:1.4;}
  .golden-box textarea{min-height:60px;}

  .mode-switch{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
  .mode-btn{
    border:1px solid var(--line); background:var(--bg-panel-2); color:var(--muted);
    font-family:'Manrope',sans-serif; font-size:13px; font-weight:700; padding:10px 18px;
    border-radius:100px; cursor:pointer; transition:all .15s ease;
  }
  .mode-btn.active{background:var(--gold); color:#1a1508; border-color:var(--gold);}
  .mode-hint{color:var(--muted); font-size:13px; margin-bottom:24px;}
  .field-hint{display:block; margin-top:8px; font-size:12px; color:var(--muted);}
  .checkbox-row{display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink); cursor:pointer;}
  .checkbox-row input{width:18px; height:18px; accent-color:var(--gold); cursor:pointer;}
  #orderOnlyFields.hidden{display:none;}

  #occasionGroup.hidden{display:none;}
  .conditional-field{display:none;}
  .conditional-field.visible{display:block;}
  .story-core{
    margin-top:26px;
    padding:24px;
    border:1px solid rgba(217,164,65,0.28);
    border-radius:18px;
    background:linear-gradient(160deg, rgba(217,164,65,0.08), rgba(255,255,255,0.015));
  }
  .story-core h3{font-size:22px; margin-bottom:8px;}
  .story-core p{color:var(--muted); font-size:14px; margin-bottom:16px;}
  .story-examples{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
  .story-example{
    border:1px solid var(--line);
    background:var(--bg-panel-2);
    color:var(--muted);
    padding:9px 13px;
    border-radius:14px;
    cursor:pointer;
    font:600 12px 'Manrope',sans-serif;
    text-align:left;
  }
  .story-example:hover{border-color:var(--gold); color:var(--ink);}
  .story-example.custom{border-color:rgba(217,164,65,0.45); color:var(--gold);}


  /* ---------- CORPORATE ---------- */
  .corporate-box{
    background:linear-gradient(155deg, var(--bg-panel-2), var(--bg-panel));
    border:1px solid var(--line); border-radius:22px; padding:40px;
    display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center;
  }
  .corp-text{color:var(--muted); margin:12px 0 22px; max-width:52ch;}
  .corp-controls{display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:420px; margin-bottom:18px;}
  .corp-total{font-family:'Fraunces', serif; font-size:24px; color:var(--gold);}
  body.lang-ka .corp-total{font-family:'Noto Serif Georgian', serif;}
  @media (max-width:780px){
    .corporate-box{grid-template-columns:1fr;}
    .corp-controls{grid-template-columns:1fr 1fr;}
  }

  @media (max-width:780px){
    .tiers-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .order-box{padding:26px;}
  }

  /* ---------- CONTACT ---------- */
  .contact-box{
    background:var(--bg-panel); border:1px solid var(--line); border-radius:22px;
    padding:48px; text-align:center;
  }
  .contact-box h2{font-size:clamp(24px,4vw,34px); margin-bottom:14px;}
  .contact-box p{color:var(--muted); max-width:46ch; margin:0 auto 28px;}
  .contact-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  footer{border-top:1px solid var(--line); padding:32px 0; color:var(--muted); font-size:13px;}
  footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

  @media (max-width:640px){
    .track{grid-template-columns:auto 1fr; padding:18px;}
    .author-card{grid-template-columns:1fr; padding:22px;}
    .author-card .play-btn{width:50px;height:50px;}
    .hero{padding-top:64px;}
  }

  #tracks .tracks{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
  }
  #tracks .track{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    overflow:hidden;
  }
  #tracks .story-cover{
    width:100%;
    aspect-ratio:1/1;
    height:auto;
    object-fit:cover;
    display:block;
    margin:0;
    border-radius:14px 14px 0 0;
  }
  #tracks .track-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:18px;
  }
  #tracks .track-desc{
    min-height:96px;
  }
  #tracks .story-meta{
    margin-top:auto;
  }
  @media(max-width:900px){
    #tracks .tracks{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media(max-width:620px){
    #tracks .tracks{grid-template-columns:1fr;}
    #tracks .track-desc{min-height:0;}
  }



/* TuneWrap philosophy */
.philosophy-section{position:relative;padding:92px 0;background:linear-gradient(180deg,rgba(217,164,65,.045),rgba(217,164,65,.018));border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.philosophy-section:before{content:"“";position:absolute;left:50%;top:-78px;transform:translateX(-50%);font-family:'Fraunces',serif;font-size:260px;color:rgba(217,164,65,.055);line-height:1}
.philosophy-inner{position:relative;max-width:940px;margin:0 auto;text-align:center}
.philosophy-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}
.philosophy-quote{font-family:'Fraunces',serif;font-size:clamp(34px,5vw,62px);line-height:1.13;letter-spacing:-.025em;margin:0 auto 18px;max-width:900px}
.philosophy-credit{color:var(--gold);font-weight:700;margin-bottom:28px}
.philosophy-text{max-width:820px;margin:0 auto;color:var(--muted);font-size:clamp(16px,2vw,19px);line-height:1.8}
@media(max-width:620px){.philosophy-section{padding:68px 0}.philosophy-quote{font-size:34px}.philosophy-text{font-size:16px;line-height:1.7}}

/* ---------- MOBILE HEADER + HERO ---------- */
.mobile-lang,
.mobile-menu,
.mobile-hero-title{
  display:none;
}

/* ---------- Stage 10: premium active-artwork signature ---------- */
.tunewrap-playing-overlay{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(2px,.8vw,5px);
  overflow:hidden;
  border-radius:inherit;
  background:
    radial-gradient(circle at 50% 48%,rgba(239,192,91,.2),transparent 52%),
    linear-gradient(145deg,rgba(217,164,65,.08),rgba(217,164,65,.015));
  box-shadow:inset 0 0 24px rgba(217,164,65,.09);
  opacity:.2;
  pointer-events:none;
  user-select:none;
}

.tunewrap-playing-overlay[hidden]{
  display:none!important;
}

.tunewrap-playing-overlay-card{
  top:8px;
  left:8px;
  width:68px;
  height:68px;
  border-radius:14px;
}

.tunewrap-playing-overlay-artwork{
  inset:0;
}

.story-ribbon-card > .tunewrap-playing-overlay-artwork{
  right:0;
  bottom:auto;
  width:100%;
  aspect-ratio:1;
  border-radius:17px 17px 0 0;
}

.tunewrap-playing-overlay i{
  width:clamp(2px,1.4%,4px);
  height:36%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,230,166,.96),rgba(217,164,65,.58));
  box-shadow:0 0 8px rgba(217,164,65,.38);
  transform:scaleY(.46);
  transform-origin:center;
}

.tunewrap-playing-overlay.is-playing i{
  animation:tunewrap-playing-pulse 1.65s cubic-bezier(.42,0,.3,1) infinite alternate;
}

.tunewrap-playing-overlay i:nth-child(2),
.tunewrap-playing-overlay i:nth-child(6){
  height:54%;
  animation-delay:-.92s;
}

.tunewrap-playing-overlay i:nth-child(3),
.tunewrap-playing-overlay i:nth-child(5){
  height:72%;
  animation-delay:-.38s;
}

.tunewrap-playing-overlay i:nth-child(4){
  height:88%;
  animation-delay:-1.2s;
}

.library-featured-play{
  z-index:3;
}

@keyframes tunewrap-playing-pulse{
  0%{transform:scaleY(.38);opacity:.66}
  52%{transform:scaleY(.72);opacity:.92}
  100%{transform:scaleY(1);opacity:.76}
}

@media (prefers-reduced-motion:reduce){
  .tunewrap-playing-overlay.is-playing i{
    animation:none;
    transform:scaleY(.68);
  }
}
.mobile-top-stack{
  display:contents;
}

@media(max-width:620px){
  nav{
    background:rgba(20,18,28,.96);
    backdrop-filter:blur(14px);
  }
  nav .wrap{
    position:relative;
    height:71px;
    padding:0 16px;
  }
  .logo-block{
    display:block;
  }
  .logo{
    font-size:28px;
    line-height:1;
  }
  .tagline,
  .nav-cta,
  .nav-right > .lang-switch{
    display:none;
  }
  .nav-right{
    gap:6px;
  }
  .mobile-lang,
  .mobile-menu{
    display:block;
    position:relative;
  }
  .mobile-lang summary,
  .mobile-menu summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
  }
  .mobile-lang summary::-webkit-details-marker,
  .mobile-menu summary::-webkit-details-marker{
    display:none;
  }
  .mobile-lang summary{
    display:flex;
    height:40px;
    min-width:59px;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid var(--line);
    border-radius:100px;
    color:var(--ink);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
  }
  .mobile-lang-icon{
    color:var(--gold);
    font-size:17px;
    line-height:1;
  }
  .mobile-lang-current::after{
    content:"RU";
  }
  .mobile-lang:has(.lang-btn.active[data-lang="uk"]) .mobile-lang-current::after{
    content:"UA";
  }
  .mobile-lang:has(.lang-btn.active[data-lang="ka"]) .mobile-lang-current::after{
    content:"GE";
  }
  .mobile-lang:has(.lang-btn.active[data-lang="en"]) .mobile-lang-current::after{
    content:"EN";
  }
  .mobile-lang:has(.lang-btn.active[data-lang="de"]) .mobile-lang-current::after{
    content:"DE";
  }
  .mobile-lang-options{
    position:absolute;
    z-index:70;
    top:48px;
    right:0;
    display:grid;
    grid-template-columns:repeat(3,auto);
    gap:4px;
    padding:7px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--bg-panel);
    box-shadow:0 16px 38px rgba(0,0,0,.36);
  }
  .mobile-lang:not([open]) .mobile-lang-options{
    display:none;
  }
  .mobile-lang-options .lang-btn{
    min-width:42px;
    padding:8px 9px;
  }
  .mobile-menu summary{
    display:flex;
    width:40px;
    height:40px;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    border:1px solid var(--line);
    border-radius:50%;
  }
  .mobile-menu summary span{
    display:block;
    width:16px;
    height:1px;
    background:var(--ink);
  }
  .mobile-menu-panel{
    position:absolute;
    z-index:70;
    top:48px;
    right:0;
    display:flex;
    width:min(286px,calc(100vw - 32px));
    flex-direction:column;
    gap:2px;
    padding:9px;
    border:1px solid var(--line);
    border-radius:17px;
    background:var(--bg-panel);
    box-shadow:0 18px 46px rgba(0,0,0,.42);
  }
  .mobile-menu:not([open]) .mobile-menu-panel{
    display:none;
  }
  .mobile-menu-panel a{
    padding:12px 13px;
    border-radius:10px;
    color:var(--ink);
    font-size:13px;
    font-weight:600;
    text-decoration:none;
  }
  .mobile-menu-panel a:last-child{
    margin-top:4px;
    background:var(--gold);
    color:#1a1508;
  }
  .mobile-top-stack{
    display:flex;
    flex-direction:column;
  }
  .mobile-top-stack .hero{
    order:1;
  }
  .mobile-top-stack .story-ribbon{
    order:2;
  }
  .hero{
    display:flex;
    min-height:calc(100svh - 71px);
    align-items:center;
    padding:38px 0 18px;
  }
  .hero .wrap{
    width:100%;
    padding:0 18px;
  }
  .hero-grid{
    gap:8px;
  }
  .hero .eyebrow,
  .hero .brand-manifesto,
  .desktop-hero-title{
    display:none;
  }
  .hero h1{
    max-width:9ch;
    margin:0 0 20px;
    font-size:clamp(46px,14vw,60px);
    line-height:.96;
    letter-spacing:-.035em;
  }
  .mobile-hero-title{
    display:none;
  }
  .mobile-title-ru{
    display:block;
  }
  body:has(.lang-btn.active[data-lang="uk"]) .mobile-title-ru,
  body:has(.lang-btn.active[data-lang="ka"]) .mobile-title-ru,
  body:has(.lang-btn.active[data-lang="en"]) .mobile-title-ru,
  body:has(.lang-btn.active[data-lang="de"]) .mobile-title-ru{
    display:none;
  }
  body:has(.lang-btn.active[data-lang="uk"]) .mobile-title-uk,
  body:has(.lang-btn.active[data-lang="ka"]) .mobile-title-ka,
  body:has(.lang-btn.active[data-lang="en"]) .mobile-title-en,
  body:has(.lang-btn.active[data-lang="de"]) .mobile-title-de{
    display:block;
  }
  .hero h1 .mobile-hero-title em{
    display:block;
    margin-top:3px;
    color:var(--gold);
    font-style:italic;
  }
  .hero p.lead{
    max-width:34ch;
    margin-bottom:25px;
    font-size:15px;
    line-height:1.58;
  }
  .hero-actions{
    display:block;
    margin-bottom:8px;
  }
  .hero-actions .btn-primary{
    display:flex;
    width:100%;
    min-height:64px;
    align-items:center;
    justify-content:center;
    padding:18px 24px;
    box-shadow:0 12px 30px rgba(217,164,65,.22);
    font-size:15px;
    text-align:center;
  }
  .hero-actions .btn-ghost{
    display:none;
  }
  #ambientWave{
    height:96px;
    opacity:.5;
    transform:translateY(-10px);
  }
}

/* ---------- MOBILE FIRST APP EXPERIENCE ---------- */
.mobile-player,
.mobile-bottom-nav,
.top-mini-player{
  display:none;
}

@media(max-width:620px){
  :root{
    --bg:#0a0a0a;
    --bg-panel:#15151a;
    --bg-panel-2:#1b1a20;
    --ink:#f5f1e8;
    --muted:#aaa5ae;
    --line:rgba(245,241,232,.1);
  }

  body{
    background:
      radial-gradient(circle at 78% 7%,rgba(217,164,65,.07),transparent 28rem),
      #0a0a0a;
    padding-bottom:calc(158px + env(safe-area-inset-bottom));
  }

  body > nav{
    background:rgba(10,10,10,.94);
    border-bottom-color:rgba(217,164,65,.12);
    box-shadow:0 8px 28px rgba(0,0,0,.22);
  }

  body > nav .wrap{
    height:80px;
    padding:0 18px;
  }

  .logo{
    font-size:31px;
    letter-spacing:-.025em;
  }

  .nav-right{
    gap:8px;
  }

  .mobile-lang summary,
  .mobile-menu summary{
    height:42px;
    border-color:rgba(217,164,65,.2);
    background:rgba(255,255,255,.025);
  }

  .mobile-lang summary{
    min-width:64px;
  }

  .mobile-lang-icon{
    color:var(--gold);
  }

  .mobile-menu summary{
    width:42px;
  }

  .mobile-lang-options,
  .mobile-menu-panel{
    top:51px;
    background:rgba(21,21,26,.98);
    border-color:rgba(217,164,65,.18);
  }

  .mobile-menu-panel a{
    min-height:44px;
    display:flex;
    align-items:center;
  }

  .story-ribbon{
    display:none;
  }

  .mobile-top-stack{
    display:block;
  }

  .hero{
    min-height:0;
    padding:12px 0 30px;
    display:block;
  }

  .hero .wrap{
    padding:0 12px;
  }

  .hero-grid{
    position:relative;
    display:flex;
    min-height:610px;
    overflow:hidden;
    flex-direction:column;
    justify-content:flex-end;
    padding:34px 21px 22px;
    border:1px solid rgba(217,164,65,.16);
    border-radius:28px;
    background:
      radial-gradient(circle at 72% 23%,rgba(217,164,65,.3),transparent 18%),
      radial-gradient(circle at 38% 43%,rgba(217,164,65,.11),transparent 34%),
      linear-gradient(152deg,#17151b 0%,#0b0b0d 62%,#141109 100%);
    box-shadow:0 24px 64px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.04);
  }

  .hero-grid::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg,transparent 34%,rgba(7,7,8,.12) 55%,rgba(7,7,8,.92) 100%),
      repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 12px);
  }

  .hero-grid::after{
    content:"";
    position:absolute;
    right:-80px;
    top:88px;
    width:280px;
    height:280px;
    border:1px solid rgba(217,164,65,.14);
    border-radius:50%;
    box-shadow:
      0 0 0 34px rgba(217,164,65,.025),
      0 0 0 76px rgba(217,164,65,.018);
    opacity:.9;
  }

  .hero-grid > div{
    position:relative;
    z-index:3;
  }

  #ambientWave{
    position:absolute;
    z-index:1;
    top:96px;
    left:-9%;
    width:118%;
    height:286px;
    opacity:.88;
    transform:none;
    filter:drop-shadow(0 0 24px rgba(217,164,65,.2));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  }

  .hero .eyebrow,
  .hero .brand-manifesto,
  .desktop-hero-title{
    display:none;
  }

  .mobile-hero-title{
    display:block;
  }

  .hero h1{
    max-width:8.4ch;
    margin:0 0 17px;
    font-size:clamp(45px,13.1vw,54px);
    line-height:.94;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  .hero h1 .mobile-hero-title em{
    display:block;
    margin-top:5px;
    color:var(--gold);
    font-style:italic;
  }

  .hero p.lead{
    max-width:35ch;
    margin:0 0 22px;
    color:#c9c4cb;
    font-size:14px;
    line-height:1.58;
  }

  .hero-actions{
    display:block;
    margin:0;
  }

  .hero-actions .btn-primary{
    min-height:66px;
    padding:19px 24px;
    border-radius:19px;
    background:linear-gradient(135deg,#e8b850,#c88d26);
    box-shadow:0 14px 34px rgba(217,164,65,.23),inset 0 1px rgba(255,255,255,.3);
    font-size:15px;
    letter-spacing:-.01em;
  }

  .hero-actions .btn-primary::before{
    content:"✦";
    margin-right:10px;
    font-size:18px;
  }

  .hero-actions .btn-ghost{
    display:none;
  }

  section{
    padding:44px 0;
  }

  section > .wrap,
  footer > .wrap{
    padding:0 14px;
  }

  .sec-head{
    margin-bottom:20px;
  }

  .sec-head .eyebrow{
    margin-bottom:8px;
    font-size:10px;
    letter-spacing:.18em;
  }

  .sec-head h2{
    margin-top:8px;
    font-size:30px;
    line-height:1.05;
  }

  .sec-head p{
    margin-top:10px;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
  }

  .philosophy-section{
    margin:0 12px;
    padding:36px 0;
    border:1px solid rgba(217,164,65,.13);
    border-radius:24px;
    background:
      radial-gradient(circle at 85% 10%,rgba(217,164,65,.11),transparent 38%),
      linear-gradient(155deg,#17161b,#0f0f12);
  }

  .philosophy-section::before{
    left:24px;
    top:-36px;
    transform:none;
    font-size:150px;
  }

  .philosophy-inner{
    padding:0 21px;
    text-align:left;
  }

  .philosophy-kicker{
    margin-bottom:18px;
    font-size:10px;
  }

  .philosophy-quote{
    margin:0 0 14px;
    font-size:36px;
    line-height:1.08;
  }

  .philosophy-credit{
    margin-bottom:18px;
    font-size:12px;
  }

  .philosophy-text{
    font-size:13px;
    line-height:1.7;
  }

  .steps{
    gap:10px;
    border:0;
    border-radius:0;
    background:transparent;
  }

  .step{
    display:grid;
    min-height:0;
    grid-template-columns:44px 1fr;
    gap:12px;
    padding:17px;
    border:1px solid var(--line);
    border-radius:17px;
    background:linear-gradient(145deg,#17171c,#111115);
  }

  .step-num{
    display:flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    margin:0;
    border:1px solid rgba(217,164,65,.25);
    border-radius:14px;
    background:rgba(217,164,65,.08);
    font-size:16px;
  }

  .step h3{
    margin-bottom:5px;
    font-size:17px;
  }

  .step p{
    font-size:12px;
    line-height:1.55;
  }

  #tracks .tracks,
  .author-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  #tracks .track{
    position:relative;
    display:grid;
    min-height:88px;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    overflow:hidden;
    padding:8px;
    border:1px solid rgba(245,241,232,.085);
    border-radius:18px;
    background:linear-gradient(145deg,#18181d,#111115);
    box-shadow:0 10px 26px rgba(0,0,0,.16);
  }

  #tracks .story-cover{
    width:72px;
    height:72px;
    grid-column:1;
    margin:0;
    border-radius:14px;
    object-fit:cover;
  }

  #tracks .track-body{
    display:flex;
    min-width:0;
    min-height:72px;
    grid-column:2;
    justify-content:center;
    padding:5px 48px 5px 12px;
  }

  #tracks .track-title,
  .author-card .track-title{
    overflow:hidden;
    margin:0 0 5px;
    font-family:'Manrope',sans-serif;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #tracks .track-desc,
  #tracks .listen-label,
  #tracks canvas,
  #tracks .track-time{
    display:none;
  }

  #tracks .story-meta{
    display:flex;
    gap:5px;
    margin:0;
    overflow:hidden;
    flex-wrap:nowrap;
  }

  #tracks .story-meta span{
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--muted);
    font-size:10px;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #tracks .story-meta span + span::before{
    content:"·";
    margin-right:5px;
    color:rgba(245,241,232,.25);
  }

  #tracks .play-btn,
  .author-card .play-btn{
    position:absolute;
    z-index:2;
    top:50%;
    right:13px;
    width:38px;
    height:38px;
    margin:0;
    transform:translateY(-50%);
    border:1px solid rgba(245,241,232,.28);
    background:rgba(255,255,255,.035);
  }

  #tracks .play-btn:hover,
  .author-card .play-btn:hover{
    transform:translateY(-50%) scale(1.04);
  }

  #tracks .play-btn::before,
  .author-card .play-btn::before{
    border-width:6px 0 6px 10px;
    border-left-color:var(--ink);
  }

  #tracks .play-btn.playing,
  .author-card .play-btn.playing{
    border-color:var(--gold);
    background:var(--gold);
  }

  #tracks .play-btn.playing::before,
  .author-card .play-btn.playing::before{
    width:11px;
    height:13px;
    background:
      linear-gradient(#1a1508,#1a1508) 0 0/3px 13px no-repeat,
      linear-gradient(#1a1508,#1a1508) 8px 0/3px 13px no-repeat;
  }

  .author-card{
    position:relative;
    display:grid;
    min-height:84px;
    grid-template-columns:68px minmax(0,1fr);
    align-items:center;
    padding:8px 54px 8px 8px;
    border:1px solid rgba(245,241,232,.085);
    border-radius:18px;
    background:linear-gradient(145deg,#18181d,#111115);
    box-shadow:0 10px 26px rgba(0,0,0,.16);
  }

  .author-card::before{
    content:"";
    display:block;
    width:68px;
    height:68px;
    grid-column:1;
    grid-row:1;
    border:1px solid rgba(217,164,65,.18);
    border-radius:14px;
    background:
      linear-gradient(90deg,transparent 8%,rgba(217,164,65,.82) 8% 12%,transparent 12% 20%,rgba(217,164,65,.45) 20% 24%,transparent 24% 32%,rgba(217,164,65,.9) 32% 36%,transparent 36% 44%,rgba(217,164,65,.55) 44% 48%,transparent 48% 56%,rgba(217,164,65,.75) 56% 60%,transparent 60% 68%,rgba(217,164,65,.38) 68% 72%,transparent 72% 80%,rgba(217,164,65,.7) 80% 84%,transparent 84%),
      radial-gradient(circle at 50% 45%,rgba(217,164,65,.19),transparent 64%),
      #17140e;
    background-size:100% 42%,100% 100%,100% 100%;
    background-position:center;
    background-repeat:no-repeat;
    box-shadow:inset 0 0 28px rgba(217,164,65,.06);
  }

  .author-card-with-cover::before{
    display:none;
  }

  .author-cover{
    width:68px;
    height:68px;
    grid-column:1;
    grid-row:1;
    margin:0;
    border-radius:14px;
    object-fit:cover;
  }

  .author-card .track-body{
    min-width:0;
    grid-column:2;
    grid-row:1;
    justify-content:center;
    padding-left:12px;
  }

  .author-card .track-body::before{
    content:"Kosta Trufakin";
    order:2;
    overflow:hidden;
    color:var(--muted);
    font-size:10px;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .author-card .track-title{
    order:1;
  }

  .author-card .track-desc,
  .author-card canvas,
  .author-card .author-track-meta{
    display:none;
  }

  .author-card .track-time{
    order:3;
    margin:3px 0 0;
    color:#77727e;
    font-size:9px;
  }

  .author-signature{
    margin-top:18px;
    padding:19px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#121216;
  }

  .author-signature strong{
    font-size:18px;
  }

  .author-signature p{
    font-size:12px;
  }

  .tiers-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .tier-card{
    padding:24px 20px 20px;
    border-radius:20px;
    background:linear-gradient(145deg,#18181d,#111115);
  }

  .tier-card.featured{
    background:
      radial-gradient(circle at 85% 8%,rgba(217,164,65,.14),transparent 30%),
      linear-gradient(145deg,#1b1919,#111115);
  }

  .tier-name{
    font-size:22px;
  }

  .tier-price{
    font-size:38px;
  }

  .tier-features{
    margin:16px 0 20px;
    font-size:12px;
  }

  .tier-select{
    min-height:50px;
  }

  .order-box,
  .corporate-box{
    padding:18px;
    border-radius:21px;
    background:
      radial-gradient(circle at 90% 0,rgba(217,164,65,.07),transparent 25rem),
      linear-gradient(145deg,#17171c,#111115);
  }

  .order-summary{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
  }

  .order-pill{
    padding:9px 12px;
    border-radius:11px;
    font-size:11px;
  }

  .mode-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .mode-btn{
    padding:11px 10px;
    font-size:11px;
  }

  .field-group{
    margin-bottom:18px;
  }

  .style-chips{
    gap:7px;
  }

  .chip{
    padding:9px 12px;
    font-size:11px;
  }

  input[type="text"],
  input[type="number"],
  select,
  textarea{
    min-height:50px;
    border-radius:13px;
    font-size:14px;
  }

  .story-core{
    padding:17px;
    border-radius:17px;
  }

  .story-core h3{
    font-size:20px;
  }

  .btn-generate{
    min-height:58px;
    border-radius:17px;
  }

  .corporate-box{
    gap:18px;
  }

  .corp-controls{
    grid-template-columns:1fr;
  }

  .corp-actions .btn-primary{
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:center;
    border-radius:16px;
  }

  footer{
    padding:28px 0 18px;
    font-size:11px;
  }

  .mobile-player{
    position:fixed;
    z-index:90;
    right:8px;
    bottom:calc(68px + env(safe-area-inset-bottom));
    left:8px;
    display:grid;
    height:74px;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.19);
    border-radius:17px 17px 5px 5px;
    background:rgba(20,19,22,.96);
    box-shadow:0 -12px 34px rgba(0,0,0,.46);
    backdrop-filter:blur(18px);
  }

  .mobile-player-progress{
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:2px;
    background:rgba(255,255,255,.08);
  }

  .mobile-player-progress span{
    display:block;
    width:0;
    height:100%;
    background:var(--gold);
    transition:width .15s linear;
  }

  .mobile-player-cover{
    position:relative;
    width:52px;
    height:52px;
    overflow:hidden;
    border-radius:11px;
    background:#18140c;
  }

  .mobile-player-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .mobile-player-cover.is-wave img{
    display:none;
  }

  .mobile-player-cover.is-wave::before{
    content:"";
    position:absolute;
    inset:11px 8px;
    background:
      linear-gradient(90deg,rgba(217,164,65,.9) 0 6%,transparent 6% 15%,rgba(217,164,65,.48) 15% 21%,transparent 21% 30%,rgba(217,164,65,.82) 30% 36%,transparent 36% 45%,rgba(217,164,65,.56) 45% 51%,transparent 51% 60%,rgba(217,164,65,.88) 60% 66%,transparent 66% 75%,rgba(217,164,65,.42) 75% 81%,transparent 81% 90%,rgba(217,164,65,.75) 90% 96%,transparent 96%);
  }

  .mobile-player-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
  }

  .mobile-player-copy strong,
  .mobile-player-copy span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mobile-player-copy strong{
    font-size:12px;
  }

  .mobile-player-copy span{
    color:var(--muted);
    font-size:9px;
  }

  .mobile-player-controls{
    display:flex;
    align-items:center;
    gap:3px;
  }

  .mobile-player-controls button{
    display:grid;
    width:31px;
    height:31px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--ink);
    cursor:pointer;
  }

  .mobile-player-controls svg{
    width:16px;
    height:16px;
    fill:currentColor;
  }

  .mobile-player-controls .mobile-main-play{
    width:42px;
    height:42px;
    background:var(--gold);
    color:#181207;
    box-shadow:0 5px 16px rgba(217,164,65,.22);
  }

  .mobile-play-icon{
    display:block;
    width:0;
    height:0;
    margin-left:3px;
    border-top:7px solid transparent;
    border-bottom:7px solid transparent;
    border-left:11px solid currentColor;
  }

  .mobile-main-play.playing .mobile-play-icon{
    width:12px;
    height:14px;
    margin:0;
    border:0;
    background:
      linear-gradient(currentColor,currentColor) 0 0/4px 14px no-repeat,
      linear-gradient(currentColor,currentColor) 8px 0/4px 14px no-repeat;
  }

  .mobile-bottom-nav{
    position:fixed;
    z-index:91;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    min-height:68px;
    grid-template-columns:repeat(5,1fr);
    padding:7px 5px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(217,164,65,.16);
    background:rgba(10,10,11,.98);
    box-shadow:0 -12px 30px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
  }

  .mobile-bottom-nav a{
    display:flex;
    min-width:0;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    color:#7f7a84;
    font-size:8px;
    font-weight:600;
    text-decoration:none;
  }

  .mobile-bottom-nav svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.6;
  }

  .mobile-bottom-nav a.active{
    color:var(--gold);
  }
}

/* ---------- STAGE 8.2 · MOBILE UX REFINEMENT ---------- */
.story-path-picker,
.story-path-back{
  display:none;
}

@media(max-width:620px){
  .app-scroll{
    scroll-snap-type:y mandatory;
  }

  .hero,
  #philosophy,
  #how,
  #tracks,
  #pricing,
  #contact,
  #corporate,
  #author{
    scroll-snap-stop:always;
  }

  #pricing .tiers-grid{
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    touch-action:pan-x pan-y;
  }

  #pricing .tier-card,
  #pricing .tier-card :where(button,a){
    touch-action:pan-x pan-y;
  }

  .story-path-picker{
    display:grid;
    min-height:0;
    flex:1;
    grid-template-columns:1fr;
    align-content:start;
    gap:10px;
    padding:1px 1px 14px;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    scrollbar-width:none;
  }

  .story-path-picker::-webkit-scrollbar{
    display:none;
  }

  .story-path-card{
    display:grid;
    min-height:124px;
    grid-template-columns:48px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:center;
    gap:8px 13px;
    padding:14px;
    border:1px solid rgba(217,164,65,.14);
    border-radius:var(--tw-radius-card);
    background:
      radial-gradient(circle at 0 0,rgba(217,164,65,.09),transparent 42%),
      linear-gradient(145deg,rgba(27,26,30,.92),rgba(13,13,15,.96));
    box-shadow:var(--tw-shadow-card);
  }

  .story-path-icon{
    display:grid;
    width:48px;
    height:48px;
    grid-row:1;
    place-items:center;
    border:1px solid rgba(217,164,65,.18);
    border-radius:15px;
    background:rgba(217,164,65,.07);
    font-size:23px;
  }

  .story-path-card h3{
    margin:0 0 4px;
    color:var(--ink);
    font-family:'Fraunces',serif;
    font-size:18px;
    line-height:1.16;
    letter-spacing:-.018em;
  }

  .story-path-card p{
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.48;
  }

  .story-path-card > button{
    min-height:46px;
    grid-column:1/-1;
    padding:11px 16px;
    border:1px solid rgba(244,214,150,.3);
    border-radius:var(--tw-radius-control);
    background:linear-gradient(135deg,#edbd58,#c98b29);
    color:#171106;
    box-shadow:0 10px 24px rgba(217,164,65,.16);
    font:800 12px/1.2 'Manrope',sans-serif;
    cursor:pointer;
    touch-action:manipulation;
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      filter var(--tw-motion-fast) ease;
  }

  .story-path-card > button:active{
    transform:scale(.975);
    filter:brightness(.95);
  }

  #contact:not(.is-story-path-form) #storyOrderForm{
    display:none;
  }

  #contact.is-story-path-form .story-path-picker,
  #contact.is-story-path-form > .wrap > .sec-head{
    display:none;
  }

  #contact.is-story-path-form #storyOrderForm{
    display:block;
  }

  .story-path-back{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    gap:7px;
    margin:0 0 12px;
    padding:8px 11px;
    border:1px solid rgba(217,164,65,.15);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    color:#d8d1c5;
    font:700 11px/1 'Manrope',sans-serif;
    cursor:pointer;
    touch-action:manipulation;
  }

  #contact.is-story-path-form > .wrap{
    scroll-padding-top:12px;
  }
}

@media(max-width:370px){
  .hero-grid{
    min-height:590px;
  }

  .hero h1{
    font-size:43px;
  }

  .mobile-player{
    grid-template-columns:46px minmax(0,1fr) auto;
    gap:7px;
  }

  .mobile-player-cover{
    width:46px;
    height:46px;
  }

  .mobile-player-controls button{
    width:27px;
  }

  .mobile-player-controls .mobile-main-play{
    width:38px;
    height:38px;
  }
}

/* ---------- STAGE 2 · PREMIUM MOBILE UI POLISH ---------- */
@keyframes premiumReveal{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes premiumViewReveal{
  from{
    opacity:0;
    translate:0 18px;
  }
  to{
    opacity:1;
    translate:0 0;
  }
}

@keyframes premiumHalo{
  0%,
  100%{
    opacity:.58;
    transform:translate3d(0,0,0) scale(1);
  }
  50%{
    opacity:.86;
    transform:translate3d(-8px,7px,0) scale(1.06);
  }
}

@keyframes premiumWave{
  0%,
  100%{
    opacity:.72;
    filter:contrast(1.06) saturate(1.06) drop-shadow(0 0 20px rgba(217,164,65,.2));
  }
  50%{
    opacity:.94;
    filter:contrast(1.14) saturate(1.16) drop-shadow(0 0 34px rgba(217,164,65,.32));
  }
}

@keyframes premiumShimmer{
  0%,
  64%{
    transform:translateX(-165%) skewX(-18deg);
  }
  100%{
    transform:translateX(225%) skewX(-18deg);
  }
}

@media(max-width:620px){
  :root{
    --premium-surface:rgba(24,23,27,.82);
    --premium-surface-strong:rgba(27,25,29,.94);
    --premium-line:rgba(245,225,181,.105);
    --premium-line-gold:rgba(217,164,65,.24);
    --premium-shadow:0 22px 58px rgba(0,0,0,.34);
    --premium-shadow-deep:0 30px 80px rgba(0,0,0,.52);
  }

  body{
    background:
      radial-gradient(circle at 82% 3%,rgba(217,164,65,.105),transparent 22rem),
      radial-gradient(circle at -12% 32%,rgba(217,164,65,.045),transparent 25rem),
      linear-gradient(180deg,#090909 0%,#0b0a0d 48%,#080808 100%);
    padding-bottom:calc(168px + env(safe-area-inset-bottom));
  }

  body > nav{
    border-bottom-color:rgba(217,164,65,.14);
    background:linear-gradient(180deg,rgba(13,12,14,.94),rgba(9,9,10,.88));
    box-shadow:
      0 12px 36px rgba(0,0,0,.38),
      inset 0 -1px rgba(255,255,255,.018);
    backdrop-filter:blur(24px) saturate(1.25);
    -webkit-backdrop-filter:blur(24px) saturate(1.25);
  }

  body > nav .wrap{
    height:84px;
    padding:0 20px;
  }

  .logo{
    font-size:33px;
    letter-spacing:-.035em;
    text-shadow:0 5px 24px rgba(0,0,0,.6);
  }

  .logo span{
    text-shadow:0 0 26px rgba(217,164,65,.3);
  }

  .nav-right{
    gap:9px;
  }

  .mobile-lang summary,
  .mobile-menu summary{
    height:43px;
    border-color:rgba(245,225,181,.13);
    background:
      linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
    box-shadow:
      inset 0 1px rgba(255,255,255,.045),
      0 8px 24px rgba(0,0,0,.2);
    transition:
      border-color .28s ease,
      background .28s ease,
      transform .28s ease,
      box-shadow .28s ease;
  }

  .mobile-lang summary{
    min-width:66px;
  }

  .mobile-menu summary{
    width:43px;
  }

  .mobile-menu summary span{
    width:17px;
    background:#eee9df;
    transition:transform .24s ease,opacity .24s ease;
  }

  .mobile-lang[open] summary,
  .mobile-menu[open] summary{
    border-color:rgba(217,164,65,.42);
    background:rgba(217,164,65,.08);
    box-shadow:0 0 24px rgba(217,164,65,.09);
  }

  .mobile-lang-options,
  .mobile-menu-panel{
    top:53px;
    border-color:rgba(217,164,65,.22);
    background:
      linear-gradient(145deg,rgba(29,28,33,.98),rgba(15,15,18,.985));
    box-shadow:
      0 26px 68px rgba(0,0,0,.62),
      inset 0 1px rgba(255,255,255,.05);
    backdrop-filter:blur(26px) saturate(1.25);
    -webkit-backdrop-filter:blur(26px) saturate(1.25);
  }

  .mobile-lang-options{
    border-radius:17px;
  }

  .mobile-menu-panel{
    gap:4px;
    padding:10px;
    border-radius:20px;
  }

  .mobile-menu-panel a{
    min-height:46px;
    padding:13px 14px;
    border:1px solid transparent;
    border-radius:12px;
    transition:color .22s ease,background .22s ease,border-color .22s ease;
  }

  .mobile-menu-panel a:last-child{
    background:linear-gradient(135deg,#edbd58,#c88d26);
    box-shadow:0 10px 26px rgba(217,164,65,.2);
  }

  .hero{
    padding:14px 0 40px;
  }

  .hero .wrap{
    padding:0 11px;
  }

  .hero-grid{
    min-height:clamp(610px,calc(100svh - 106px),670px);
    isolation:isolate;
    padding:40px 23px 25px;
    border-color:rgba(234,190,101,.23);
    border-radius:31px;
    background:
      radial-gradient(ellipse at 77% 19%,rgba(232,184,80,.34),transparent 19%),
      radial-gradient(ellipse at 44% 35%,rgba(217,164,65,.13),transparent 37%),
      radial-gradient(ellipse at 0 92%,rgba(217,164,65,.08),transparent 40%),
      linear-gradient(152deg,#1a171b 0%,#0d0c0f 54%,#151107 100%);
    box-shadow:
      0 38px 88px rgba(0,0,0,.58),
      0 10px 32px rgba(217,164,65,.055),
      inset 0 1px rgba(255,255,255,.075),
      inset 0 -1px rgba(217,164,65,.07);
    animation:premiumReveal .75s cubic-bezier(.2,.75,.25,1) both;
  }

  .hero-grid::before{
    z-index:0;
    background:
      linear-gradient(180deg,rgba(5,5,6,.02) 19%,rgba(7,7,8,.1) 49%,rgba(7,7,8,.95) 100%),
      linear-gradient(118deg,rgba(255,255,255,.025),transparent 32%),
      repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 13px);
  }

  .hero-grid::after{
    z-index:0;
    top:67px;
    right:-90px;
    width:330px;
    height:330px;
    border-color:rgba(232,184,80,.17);
    background:radial-gradient(circle,rgba(217,164,65,.13),transparent 61%);
    box-shadow:
      0 0 0 38px rgba(217,164,65,.025),
      0 0 0 84px rgba(217,164,65,.012),
      0 0 100px rgba(217,164,65,.12);
    animation:premiumHalo 8s ease-in-out infinite;
  }

  #ambientWave{
    top:78px;
    left:-12%;
    width:124%;
    height:322px;
    opacity:.82;
    mix-blend-mode:screen;
    filter:contrast(1.1) saturate(1.1) drop-shadow(0 0 26px rgba(217,164,65,.26));
    animation:premiumWave 7s ease-in-out infinite;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  }

  .hero-grid > div{
    z-index:3;
  }

  .hero h1{
    max-width:8.2ch;
    margin-bottom:20px;
    font-size:clamp(48px,13.8vw,58px);
    font-weight:600;
    line-height:.925;
    letter-spacing:-.052em;
    text-shadow:
      0 4px 26px rgba(0,0,0,.78),
      0 1px rgba(255,255,255,.06);
  }

  .hero h1 .mobile-hero-title em{
    margin-top:7px;
    color:#e6b451;
    text-shadow:
      0 0 30px rgba(217,164,65,.18),
      0 4px 24px rgba(0,0,0,.68);
  }

  .hero p.lead{
    max-width:33ch;
    margin-bottom:26px;
    color:#d2cdd2;
    font-size:14px;
    font-weight:450;
    line-height:1.66;
    letter-spacing:.002em;
    text-shadow:0 3px 16px rgba(0,0,0,.76);
  }

  .hero-actions .btn-primary{
    position:relative;
    min-height:70px;
    overflow:hidden;
    padding:21px 25px;
    border:1px solid rgba(255,230,177,.22);
    border-radius:21px;
    background:linear-gradient(135deg,#efc05b 0%,#d9a441 47%,#bd7f20 100%);
    box-shadow:
      0 18px 42px rgba(217,164,65,.26),
      0 4px 15px rgba(0,0,0,.26),
      inset 0 1px rgba(255,255,255,.4),
      inset 0 -1px rgba(95,55,6,.2);
    font-size:15px;
    font-weight:800;
    letter-spacing:-.012em;
    transition:
      transform .28s cubic-bezier(.2,.75,.25,1),
      box-shadow .28s ease,
      filter .28s ease;
  }

  .hero-actions .btn-primary::after{
    content:"";
    position:absolute;
    inset:-25% auto -25% -26%;
    width:26%;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);
    transform:translateX(-165%) skewX(-18deg);
    animation:premiumShimmer 5.8s ease-in-out infinite;
  }

  section{
    padding:56px 0;
  }

  section > .wrap,
  footer > .wrap{
    padding:0 16px;
  }

  .sec-head{
    margin-bottom:26px;
  }

  .sec-head .eyebrow{
    margin-bottom:10px;
    color:#dfac49;
    font-size:10px;
    letter-spacing:.2em;
  }

  .sec-head .eyebrow::before{
    width:26px;
    background:linear-gradient(90deg,var(--gold),transparent);
    box-shadow:0 0 12px rgba(217,164,65,.2);
  }

  .sec-head h2{
    margin-top:10px;
    font-size:clamp(31px,9vw,36px);
    line-height:1.02;
    letter-spacing:-.032em;
    text-wrap:balance;
  }

  .sec-head p{
    max-width:39ch;
    margin-top:13px;
    color:#aaa5ad;
    font-size:13px;
    line-height:1.72;
  }

  .philosophy-section{
    margin:4px 11px;
    padding:46px 0;
    border-color:rgba(217,164,65,.2);
    border-radius:29px;
    background:
      radial-gradient(circle at 82% 7%,rgba(217,164,65,.16),transparent 34%),
      linear-gradient(150deg,rgba(28,26,29,.96),rgba(13,13,15,.98));
    box-shadow:
      var(--premium-shadow),
      inset 0 1px rgba(255,255,255,.055),
      inset 0 -1px rgba(217,164,65,.045);
  }

  .philosophy-section::before{
    top:-30px;
    left:22px;
    color:rgba(217,164,65,.075);
    font-size:164px;
    text-shadow:0 0 34px rgba(217,164,65,.08);
  }

  .philosophy-inner{
    padding:0 24px;
  }

  .philosophy-kicker{
    margin-bottom:23px;
    color:#dfac49;
    letter-spacing:.19em;
  }

  .philosophy-quote{
    margin-bottom:18px;
    font-size:clamp(36px,10.2vw,43px);
    line-height:1.06;
    letter-spacing:-.035em;
    text-shadow:0 8px 30px rgba(0,0,0,.4);
  }

  .philosophy-credit{
    margin-bottom:22px;
    color:#e0ab43;
  }

  .philosophy-text{
    color:#b4afb6;
    font-size:13px;
    line-height:1.78;
  }

  .steps,
  #tracks .tracks,
  .author-grid,
  .tiers-grid{
    gap:13px;
  }

  .step,
  #tracks .track,
  .author-card,
  .tier-card,
  .order-box,
  .corporate-box,
  .contact-box,
  .author-signature{
    border-color:var(--premium-line);
    background:
      radial-gradient(circle at 92% 0,rgba(217,164,65,.045),transparent 34%),
      linear-gradient(145deg,rgba(29,28,33,.94),rgba(15,15,18,.97));
    box-shadow:
      0 18px 48px rgba(0,0,0,.23),
      inset 0 1px rgba(255,255,255,.045);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    transition:
      transform .32s cubic-bezier(.2,.75,.25,1),
      border-color .32s ease,
      box-shadow .32s ease,
      background .32s ease;
  }

  .step{
    grid-template-columns:48px 1fr;
    gap:15px;
    padding:20px;
    border-radius:20px;
  }

  .step-num{
    width:48px;
    height:48px;
    border-color:rgba(217,164,65,.3);
    border-radius:16px;
    background:
      radial-gradient(circle at 35% 25%,rgba(255,255,255,.08),transparent 38%),
      rgba(217,164,65,.075);
    box-shadow:
      inset 0 1px rgba(255,255,255,.05),
      0 10px 24px rgba(0,0,0,.2);
  }

  .step h3{
    margin-bottom:7px;
    font-size:19px;
    letter-spacing:-.02em;
  }

  .step p{
    color:#aaa5ad;
    font-size:12px;
    line-height:1.68;
  }

  #tracks .track{
    min-height:94px;
    grid-template-columns:78px minmax(0,1fr);
    padding:8px;
    border-radius:21px;
  }

  #tracks .story-cover{
    width:78px;
    height:78px;
    border-color:rgba(255,255,255,.1);
    border-radius:16px;
    box-shadow:0 10px 26px rgba(0,0,0,.38);
    transition:transform .38s cubic-bezier(.2,.75,.25,1),filter .38s ease;
  }

  #tracks .track-body{
    min-height:78px;
    padding:7px 48px 7px 14px;
  }

  #tracks .track-title,
  .author-card .track-title{
    margin-bottom:6px;
    color:#f4efe5;
    font-size:14px;
    font-weight:750;
    letter-spacing:-.012em;
  }

  #tracks .story-meta span,
  .author-card .track-body::before{
    color:#aaa5ad;
    font-size:10px;
  }

  #tracks .play-btn,
  .author-card .play-btn{
    right:14px;
    width:40px;
    height:40px;
    border-color:rgba(245,241,232,.24);
    background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
    box-shadow:
      0 8px 24px rgba(0,0,0,.3),
      inset 0 1px rgba(255,255,255,.06);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:
      transform .26s cubic-bezier(.2,.75,.25,1),
      border-color .26s ease,
      background .26s ease,
      box-shadow .26s ease;
  }

  #tracks .play-btn.playing,
  .author-card .play-btn.playing{
    border-color:#e8b650;
    background:linear-gradient(135deg,#efc05b,#c78a24);
    box-shadow:0 0 28px rgba(217,164,65,.28);
  }

  .author-card{
    min-height:90px;
    grid-template-columns:74px minmax(0,1fr);
    padding:8px 56px 8px 8px;
    border-radius:21px;
  }

  .author-card::before,
  .author-cover{
    width:74px;
    height:74px;
    border-radius:16px;
    box-shadow:
      0 10px 28px rgba(0,0,0,.35),
      inset 0 0 28px rgba(217,164,65,.07);
  }

  .author-card .track-body{
    padding-left:14px;
  }

  .author-card .track-time{
    margin-top:4px;
    color:#817c85;
  }

  .author-signature{
    margin-top:24px;
    padding:22px;
    border-radius:21px;
  }

  .author-signature strong{
    font-size:20px;
    text-shadow:0 0 22px rgba(217,164,65,.12);
  }

  .author-signature p{
    margin-top:7px;
    color:#aaa5ad;
    line-height:1.65;
  }

  .tier-card{
    padding:28px 22px 22px;
    border-radius:23px;
  }

  .tier-card.featured{
    border-color:rgba(217,164,65,.38);
    background:
      radial-gradient(circle at 86% 5%,rgba(217,164,65,.18),transparent 31%),
      linear-gradient(145deg,rgba(32,29,28,.98),rgba(15,15,18,.98));
    box-shadow:
      0 24px 58px rgba(0,0,0,.3),
      0 0 38px rgba(217,164,65,.055),
      inset 0 1px rgba(255,255,255,.055);
  }

  .tier-badge{
    top:-11px;
    box-shadow:0 9px 22px rgba(217,164,65,.22);
  }

  .tier-name{
    font-size:24px;
    letter-spacing:-.025em;
  }

  .tier-price{
    margin-top:2px;
    font-size:42px;
    line-height:1.08;
    text-shadow:0 0 24px rgba(217,164,65,.11);
  }

  .tier-features{
    margin:20px 0 24px;
    gap:12px;
    color:#aaa5ad;
    line-height:1.55;
  }

  .tier-select{
    min-height:54px;
    border-color:rgba(217,164,65,.2);
    background:rgba(255,255,255,.018);
    transition:
      transform .25s ease,
      color .25s ease,
      border-color .25s ease,
      background .25s ease,
      box-shadow .25s ease;
  }

  .tier-card.selected{
    border-color:rgba(232,184,80,.75);
    box-shadow:
      0 26px 62px rgba(0,0,0,.34),
      0 0 0 1px rgba(217,164,65,.2),
      0 0 34px rgba(217,164,65,.1);
  }

  .order-box,
  .corporate-box{
    padding:22px;
    border-radius:24px;
  }

  .order-pill{
    padding:11px 13px;
    border-color:rgba(245,225,181,.09);
    border-radius:13px;
    background:rgba(255,255,255,.025);
  }

  .mode-switch{
    gap:7px;
    padding:4px;
    border:1px solid rgba(245,225,181,.08);
    border-radius:15px;
    background:rgba(0,0,0,.18);
  }

  .mode-btn{
    border-color:transparent;
    border-radius:12px;
    background:transparent;
    transition:color .25s ease,background .25s ease,box-shadow .25s ease;
  }

  .mode-btn.active{
    background:linear-gradient(135deg,#e9b852,#ca8d28);
    box-shadow:0 8px 22px rgba(217,164,65,.17);
  }

  .chip{
    border-color:rgba(245,225,181,.1);
    background:rgba(255,255,255,.025);
    transition:
      transform .22s ease,
      border-color .22s ease,
      color .22s ease,
      background .22s ease,
      box-shadow .22s ease;
  }

  .chip.selected{
    background:linear-gradient(135deg,#e8b750,#c98c27);
    box-shadow:0 8px 22px rgba(217,164,65,.14);
  }

  input[type="text"],
  input[type="number"],
  select,
  textarea{
    width:100%;
    min-height:53px;
    padding:14px 16px;
    border-color:rgba(245,225,181,.1);
    border-radius:15px;
    background:rgba(255,255,255,.035);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-size:14px;
    outline:none;
    box-shadow:inset 0 1px rgba(255,255,255,.018);
    transition:
      border-color .25s ease,
      background .25s ease,
      box-shadow .25s ease;
  }

  input[type="text"]:focus,
  input[type="number"]:focus,
  select:focus,
  textarea:focus{
    border-color:rgba(217,164,65,.6);
    background:rgba(255,255,255,.05);
    box-shadow:
      0 0 0 3px rgba(217,164,65,.08),
      0 10px 30px rgba(0,0,0,.16);
  }

  .story-core{
    padding:20px;
    border-color:rgba(217,164,65,.32);
    border-radius:20px;
    background:
      radial-gradient(circle at 90% 0,rgba(217,164,65,.1),transparent 38%),
      rgba(217,164,65,.035);
    box-shadow:inset 0 1px rgba(255,255,255,.03);
  }

  .story-core h3{
    font-size:22px;
    letter-spacing:-.02em;
  }

  .story-example,
  .golden-toggle{
    transition:
      transform .22s ease,
      border-color .22s ease,
      color .22s ease,
      background .22s ease;
  }

  .btn-generate,
  .corp-actions .btn-primary,
  .contact-actions .btn-primary{
    min-height:60px;
    border:1px solid rgba(255,230,177,.18);
    border-radius:18px;
    background:linear-gradient(135deg,#edbd58,#c98c27);
    box-shadow:
      0 15px 34px rgba(217,164,65,.19),
      inset 0 1px rgba(255,255,255,.3);
    transition:
      transform .28s cubic-bezier(.2,.75,.25,1),
      box-shadow .28s ease,
      filter .28s ease;
  }

  .corp-total{
    font-size:27px;
    text-shadow:0 0 24px rgba(217,164,65,.12);
  }

  .contact-box{
    padding:32px 22px;
    border-radius:24px;
  }

  .contact-box h2{
    font-size:33px;
    line-height:1.06;
    letter-spacing:-.03em;
  }

  .contact-box p{
    margin-bottom:24px;
    color:#aaa5ad;
    font-size:13px;
    line-height:1.72;
  }

  footer{
    padding:34px 0 24px;
    border-top-color:rgba(245,225,181,.08);
  }

  .mobile-player{
    right:9px;
    bottom:calc(72px + env(safe-area-inset-bottom));
    left:9px;
    height:78px;
    gap:11px;
    padding:10px 11px;
    border-color:rgba(217,164,65,.25);
    border-radius:20px 20px 8px 8px;
    background:
      linear-gradient(145deg,rgba(29,27,30,.94),rgba(15,15,17,.97));
    box-shadow:
      0 -18px 52px rgba(0,0,0,.58),
      0 0 32px rgba(217,164,65,.045),
      inset 0 1px rgba(255,255,255,.065);
    backdrop-filter:blur(26px) saturate(1.28);
    -webkit-backdrop-filter:blur(26px) saturate(1.28);
  }

  .mobile-player-progress{
    height:2px;
    background:rgba(255,255,255,.065);
  }

  .mobile-player-progress span{
    background:linear-gradient(90deg,#b8781c,#f0c260);
    box-shadow:0 0 14px rgba(217,164,65,.38);
  }

  .mobile-player-cover{
    width:54px;
    height:54px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;
    box-shadow:0 9px 24px rgba(0,0,0,.38);
  }

  .mobile-player-copy{
    gap:4px;
  }

  .mobile-player-copy strong{
    color:#f2ede4;
    font-size:12px;
    letter-spacing:-.01em;
  }

  .mobile-player-copy span{
    color:#96919a;
  }

  .mobile-player-controls{
    gap:4px;
  }

  .mobile-player-controls button{
    transition:color .22s ease,background .22s ease,transform .22s ease;
  }

  .mobile-player-controls .mobile-main-play{
    width:44px;
    height:44px;
    background:linear-gradient(135deg,#efc05b,#c98c27);
    box-shadow:
      0 9px 24px rgba(217,164,65,.25),
      inset 0 1px rgba(255,255,255,.3);
  }

  .mobile-bottom-nav{
    min-height:72px;
    padding:8px 5px calc(8px + env(safe-area-inset-bottom));
    border-top-color:rgba(217,164,65,.17);
    background:linear-gradient(180deg,rgba(14,14,16,.96),rgba(8,8,9,.985));
    box-shadow:
      0 -18px 48px rgba(0,0,0,.55),
      inset 0 1px rgba(255,255,255,.02);
    backdrop-filter:blur(26px) saturate(1.2);
    -webkit-backdrop-filter:blur(26px) saturate(1.2);
  }

  .mobile-bottom-nav a{
    position:relative;
    gap:4px;
    font-size:8px;
    letter-spacing:.01em;
    transition:color .24s ease,transform .24s ease;
  }

  .mobile-bottom-nav svg{
    width:21px;
    height:21px;
    stroke-width:1.55;
    filter:drop-shadow(0 5px 9px rgba(0,0,0,.34));
  }

  .mobile-bottom-nav a.active{
    color:#e3ad47;
    text-shadow:0 0 16px rgba(217,164,65,.24);
  }

  .mobile-bottom-nav a.active::before{
    content:"";
    position:absolute;
    top:-8px;
    left:50%;
    width:34px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    box-shadow:0 2px 12px rgba(217,164,65,.55);
    transform:translateX(-50%);
  }

  :where(
    a,
    button,
    summary,
    input,
    select,
    textarea
  ):focus-visible{
    outline:2px solid rgba(232,184,80,.88);
    outline-offset:3px;
  }

  @supports (animation-timeline:view()){
    :where(
      .philosophy-section,
      .sec-head,
      .step,
      #tracks .track,
      .author-card,
      .tier-card,
      .order-box,
      .corporate-box,
      .contact-box,
      .author-signature
    ){
      animation-name:premiumViewReveal;
      animation-duration:1ms;
      animation-fill-mode:both;
      animation-timing-function:linear;
      animation-timeline:view();
      animation-range:entry 8% cover 24%;
    }
  }
}

@media (hover:hover) and (max-width:620px){
  .mobile-lang summary:hover,
  .mobile-menu summary:hover{
    border-color:rgba(217,164,65,.38);
    background:rgba(217,164,65,.07);
    transform:translateY(-1px);
  }

  .mobile-menu-panel a:not(:last-child):hover{
    border-color:rgba(217,164,65,.13);
    background:rgba(217,164,65,.055);
    color:#f7f0e2;
  }

  .hero-actions .btn-primary:hover,
  .btn-generate:hover,
  .corp-actions .btn-primary:hover,
  .contact-actions .btn-primary:hover{
    transform:translateY(-3px);
    filter:saturate(1.06) brightness(1.03);
    box-shadow:
      0 23px 52px rgba(217,164,65,.31),
      0 6px 18px rgba(0,0,0,.28),
      inset 0 1px rgba(255,255,255,.42);
  }

  .step:hover,
  #tracks .track:hover,
  .author-card:hover,
  .tier-card:hover,
  .order-box:hover,
  .corporate-box:hover,
  .contact-box:hover,
  .author-signature:hover{
    border-color:rgba(217,164,65,.29);
    box-shadow:
      0 25px 62px rgba(0,0,0,.34),
      0 0 34px rgba(217,164,65,.045),
      inset 0 1px rgba(255,255,255,.06);
    transform:translateY(-3px);
  }

  #tracks .track:hover .story-cover,
  .author-card:hover .author-cover{
    filter:saturate(1.08) contrast(1.03);
    transform:scale(1.035);
  }

  #tracks .play-btn:hover,
  .author-card .play-btn:hover{
    border-color:rgba(217,164,65,.55);
    background:rgba(217,164,65,.1);
    box-shadow:0 10px 28px rgba(0,0,0,.32),0 0 22px rgba(217,164,65,.08);
    transform:translateY(-50%) scale(1.07);
  }

  .tier-select:hover,
  .chip:hover,
  .story-example:hover,
  .golden-toggle:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(0,0,0,.16);
  }

  .mobile-player-controls button:hover{
    background:rgba(255,255,255,.055);
    color:#efbd57;
    transform:scale(1.06);
  }

  .mobile-bottom-nav a:hover{
    color:#d8d1c6;
    transform:translateY(-1px);
  }
}

@media(max-width:370px){
  .hero-grid{
    min-height:605px;
    padding-right:20px;
    padding-left:20px;
  }

  .hero h1{
    font-size:45px;
  }

  .mobile-player{
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:7px;
  }

  .mobile-player-cover{
    width:48px;
    height:48px;
  }

  .mobile-player-controls button{
    width:28px;
  }

  .mobile-player-controls .mobile-main-play{
    width:40px;
    height:40px;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation:none !important;
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* ---------- STAGE 3 · PREMIUM MOBILE POLISH ---------- */
@keyframes tuneDnaDrift{
  0%,
  100%{
    opacity:.18;
    transform:translate3d(-2%,0,0) rotate(-3deg) scale(1);
  }
  50%{
    opacity:.34;
    transform:translate3d(2%,7px,0) rotate(-1deg) scale(1.035);
  }
}

@keyframes tuneDnaGlow{
  0%,
  100%{
    opacity:.16;
    filter:blur(0);
  }
  50%{
    opacity:.31;
    filter:blur(.35px);
  }
}

@media(max-width:620px){
  :root{
    --mobile-header:84px;
    --mobile-stack:calc(164px + env(safe-area-inset-bottom));
    --stage3-section-space:38px;
  }

  body{
    padding-bottom:calc(var(--mobile-stack) + 16px);
  }

  .hero,
  #philosophy,
  #how,
  #pricing,
  #contact{
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }

  #tracks,
  #corporate,
  #author{
    scroll-snap-align:none;
  }

  body > nav .wrap{
    height:var(--mobile-header);
  }

  .hero{
    padding:10px 0 22px;
  }

  .hero-grid{
    min-height:clamp(486px,calc(100svh - 94px),720px);
    padding:26px 22px calc(var(--mobile-stack) + 14px);
    border-radius:28px;
    background:
      radial-gradient(ellipse at 76% 16%,rgba(236,189,89,.32),transparent 18%),
      radial-gradient(ellipse at 32% 36%,rgba(217,164,65,.12),transparent 34%),
      radial-gradient(ellipse at 0 90%,rgba(217,164,65,.075),transparent 36%),
      linear-gradient(152deg,#19171b 0%,#0d0c0f 55%,#141007 100%);
    box-shadow:
      0 28px 68px rgba(0,0,0,.5),
      0 8px 30px rgba(217,164,65,.05),
      inset 0 1px rgba(255,255,255,.07);
  }

  .hero-grid::after{
    top:52px;
    right:-84px;
    width:290px;
    height:290px;
  }

  #ambientWave{
    top:54px;
    left:-10%;
    width:120%;
    height:260px;
    opacity:.8;
  }

  .hero h1{
    max-width:8.4ch;
    margin-bottom:13px;
    font-size:clamp(43px,12.7vw,52px);
    line-height:.93;
  }

  .hero h1 .mobile-hero-title em{
    margin-top:4px;
  }

  .hero p.lead{
    max-width:36ch;
    margin-bottom:17px;
    font-size:13px;
    line-height:1.52;
  }

  .hero-actions .btn-primary{
    min-height:60px;
    padding:17px 21px;
    border-radius:18px;
    box-shadow:
      0 14px 34px rgba(217,164,65,.24),
      0 3px 12px rgba(0,0,0,.24),
      inset 0 1px rgba(255,255,255,.38);
  }

  section{
    padding:var(--stage3-section-space) 0;
  }

  #philosophy,
  #how,
  #pricing{
    min-height:calc(100svh - var(--mobile-header));
    align-items:center;
    justify-content:center;
    padding-top:22px;
    padding-bottom:calc(var(--mobile-stack) + 14px);
  }

  #how,
  #pricing{
    display:flex;
  }

  #how > .wrap,
  #pricing > .wrap{
    width:100%;
  }

  .sec-head{
    margin-bottom:18px;
  }

  .sec-head .eyebrow{
    margin-bottom:6px;
    font-size:9px;
    letter-spacing:.18em;
  }

  .sec-head h2{
    margin-top:7px;
    font-size:clamp(27px,8.2vw,33px);
    line-height:1.02;
  }

  .sec-head p{
    margin-top:8px;
    font-size:12px;
    line-height:1.55;
  }

  .philosophy-section{
    display:flex;
    margin:0 10px;
    padding-top:28px;
    border-radius:25px;
  }

  .philosophy-inner{
    padding:0 21px;
  }

  .philosophy-kicker{
    margin-bottom:15px;
    font-size:9px;
  }

  .philosophy-quote{
    margin-bottom:12px;
    font-size:clamp(31px,9.1vw,38px);
    line-height:1.04;
  }

  .philosophy-credit{
    margin-bottom:13px;
    font-size:11px;
  }

  .philosophy-text{
    font-size:12px;
    line-height:1.58;
  }

  .steps{
    gap:8px;
  }

  .step{
    grid-template-columns:40px 1fr;
    gap:12px;
    padding:13px 14px;
    border-radius:17px;
  }

  .step-num{
    width:40px;
    height:40px;
    border-radius:13px;
    font-size:14px;
  }

  .step h3{
    margin-bottom:3px;
    font-size:16px;
  }

  .step p{
    font-size:11px;
    line-height:1.48;
  }

  #tracks .tracks,
  .author-grid{
    gap:8px;
  }

  #tracks .track{
    min-height:82px;
    grid-template-columns:66px minmax(0,1fr);
    padding:7px;
    border-radius:18px;
  }

  #tracks .story-cover{
    width:66px;
    height:66px;
    border-radius:13px;
  }

  #tracks .track-body{
    min-height:66px;
    padding:4px 44px 4px 11px;
  }

  #tracks .play-btn{
    right:11px;
    width:36px;
    height:36px;
  }

  .author-card{
    min-height:80px;
    grid-template-columns:64px minmax(0,1fr);
    padding:7px 50px 7px 7px;
    border-radius:18px;
  }

  .author-card::before,
  .author-cover{
    width:64px;
    height:64px;
    border-radius:13px;
  }

  .author-card .track-body{
    padding-left:11px;
  }

  .author-card .play-btn{
    right:10px;
    width:36px;
    height:36px;
  }

  .author-signature{
    margin-top:15px;
    padding:16px;
  }

  .author-signature p{
    margin-top:5px;
    line-height:1.5;
  }

  #pricing{
    overflow:hidden;
  }

  #pricing .sec-head{
    margin-bottom:12px;
  }

  .tiers-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-columns:min(78vw,292px);
    grid-auto-flow:column;
    gap:10px;
    margin-right:-16px;
    padding:12px 24px 17px 1px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:1px 22px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .tiers-grid::-webkit-scrollbar{
    display:none;
  }

  .tier-card{
    display:flex;
    min-height:286px;
    flex-direction:column;
    padding:18px 17px 16px;
    border-radius:20px;
    scroll-snap-align:start;
  }

  .tier-card.featured{
    order:-1;
    border-color:rgba(232,184,80,.48);
    box-shadow:
      0 20px 48px rgba(0,0,0,.34),
      0 0 36px rgba(217,164,65,.09),
      inset 0 1px rgba(255,255,255,.06);
  }

  .tier-badge{
    top:-10px;
    padding:5px 11px;
    font-size:9px;
  }

  .tier-name{
    font-size:20px;
  }

  .tier-card.featured .tier-name{
    color:#efbd57;
  }

  .tier-price{
    margin-top:0;
    color:#aaa5ad;
    font-size:32px;
    line-height:1.05;
  }

  .tier-price small{
    font-size:9px;
  }

  .tier-features{
    flex:1;
    gap:7px;
    margin:12px 0 14px;
    color:#c0bbc1;
    font-size:11px;
    line-height:1.42;
  }

  .tier-features li::before{
    margin-right:7px;
  }

  .tier-features li:first-child{
    color:#f2ece1;
    font-weight:700;
  }

  .tier-select{
    min-height:46px;
    border-radius:14px;
    font-size:12px;
  }

  #contact{
    padding-top:42px;
    padding-bottom:calc(var(--mobile-stack) + 20px);
  }

  .order-box,
  .corporate-box{
    padding:16px;
    border-radius:21px;
  }

  .mode-hint{
    margin:10px 0 14px;
    font-size:11px;
    line-height:1.5;
  }

  .order-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-bottom:16px;
  }

  .order-pill{
    min-width:0;
    padding:8px;
    font-size:9px;
    line-height:1.35;
  }

  .order-pill strong{
    display:block;
    overflow:hidden;
    margin-top:2px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .field-group{
    margin-bottom:14px;
  }

  .field-label{
    margin-bottom:6px;
    font-size:12px;
  }

  .style-chips{
    gap:6px;
  }

  .chip{
    padding:8px 10px;
    font-size:10px;
  }

  input[type="text"],
  input[type="number"],
  select,
  textarea{
    min-height:48px;
    padding:12px 14px;
    border-radius:13px;
    font-size:13px;
  }

  .story-core{
    padding:15px;
    border-radius:17px;
  }

  .story-core h3{
    font-size:18px;
    line-height:1.2;
  }

  .story-core p{
    margin-top:7px;
    font-size:11px;
    line-height:1.5;
  }

  .btn-generate{
    min-height:54px;
  }

  .contact-alternatives{
    margin-top:14px;
    padding:16px;
    border:1px solid rgba(217,164,65,.16);
    border-radius:21px;
    background:
      radial-gradient(circle at 86% 0,rgba(217,164,65,.1),transparent 45%),
      linear-gradient(145deg,rgba(25,24,28,.93),rgba(14,14,17,.97));
    box-shadow:
      0 18px 44px rgba(0,0,0,.25),
      inset 0 1px rgba(255,255,255,.045);
  }

  .contact-alternatives > p{
    margin:0 0 12px;
    color:#c8c2c8;
    font-family:'Fraunces',serif;
    font-size:16px;
    line-height:1.35;
  }

  .contact-channels{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .contact-channel{
    display:grid;
    min-width:0;
    min-height:54px;
    grid-template-columns:32px minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:9px;
    border:1px solid rgba(245,225,181,.09);
    border-radius:14px;
    background:rgba(255,255,255,.025);
    color:var(--ink);
    text-decoration:none;
    transition:transform .22s ease,border-color .22s ease,background .22s ease;
  }

  .contact-channel-mark{
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    border:1px solid rgba(217,164,65,.24);
    border-radius:10px;
    background:rgba(217,164,65,.075);
    color:#e1aa42;
    font-size:9px;
    font-weight:800;
    letter-spacing:.02em;
  }

  .contact-channel strong,
  .contact-channel small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .contact-channel strong{
    font-size:10px;
  }

  .contact-channel small{
    margin-top:2px;
    color:#98929a;
    font-size:8px;
  }

  .contact-channel.is-pending{
    opacity:.58;
  }

  #corporate{
    padding-top:34px;
    padding-bottom:34px;
  }

  .corporate-box{
    gap:14px;
  }

  .corp-text{
    font-size:12px;
    line-height:1.55;
  }

  .corp-controls{
    gap:10px;
    margin-top:14px;
  }

  .corp-total{
    margin-top:14px;
    font-size:24px;
  }

  #author{
    padding-top:40px;
    padding-bottom:40px;
  }

  footer{
    padding:24px 0 16px;
  }

  #philosophy,
  #how,
  #pricing,
  #corporate,
  #author{
    position:relative;
    overflow:clip;
    isolation:isolate;
  }

  #philosophy > .wrap,
  #how > .wrap,
  #pricing > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    position:relative;
    z-index:2;
  }

  #philosophy::after,
  #how::after,
  #pricing::after,
  #corporate::after,
  #author::after{
    content:"";
    position:absolute;
    z-index:0;
    width:138%;
    height:150px;
    pointer-events:none;
    background:
      repeating-radial-gradient(
        ellipse at 50% 50%,
        transparent 0 17px,
        rgba(217,164,65,.14) 18px 19px,
        transparent 20px 34px
      );
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
    animation:tuneDnaDrift 11s ease-in-out infinite;
  }

  #philosophy::after{
    right:-28%;
    bottom:12%;
  }

  #how::after{
    top:28%;
    left:-24%;
  }

  #pricing::after{
    right:-25%;
    bottom:27%;
    animation-delay:-4s;
  }

  #corporate::after{
    top:17%;
    left:-25%;
    animation-delay:-7s;
  }

  #author::after{
    top:5%;
    right:-26%;
    animation-delay:-2s;
  }

  #how::before,
  #pricing::before,
  #corporate::before,
  #author::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 13% 22%,rgba(236,189,89,.17) 0 1px,transparent 2px),
      radial-gradient(circle at 79% 36%,rgba(236,189,89,.12) 0 1px,transparent 2px),
      radial-gradient(circle at 64% 78%,rgba(236,189,89,.11) 0 1px,transparent 2px),
      radial-gradient(circle at 28% 89%,rgba(236,189,89,.09) 0 1px,transparent 2px);
    background-size:127px 139px,151px 163px,173px 181px,193px 211px;
    animation:tuneDnaGlow 8s ease-in-out infinite;
  }

  .mobile-player{
    bottom:calc(72px + env(safe-area-inset-bottom));
  }

  .mobile-bottom-nav{
    min-height:72px;
  }
}

@media (hover:hover) and (max-width:620px){
  .contact-channel:not(.is-pending):hover{
    border-color:rgba(217,164,65,.32);
    background:rgba(217,164,65,.07);
    transform:translateY(-1px);
  }
}

@media(max-width:370px){
  .hero-grid{
    min-height:clamp(480px,calc(100svh - 92px),640px);
    padding-right:18px;
    padding-left:18px;
  }

  .hero h1{
    font-size:41px;
  }

  .hero p.lead{
    font-size:12px;
  }

  .tiers-grid{
    grid-auto-columns:82vw;
  }

  .contact-channels{
    grid-template-columns:1fr;
  }
}

/* ---------- STAGE 4 · MOBILE APP LAYOUT ---------- */
@media(max-width:620px){
  :root{
    --app-header-height:84px;
    --app-bottom-nav-height:72px;
    --app-bottom-nav-total:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom));
    --app-player-height:78px;
    --app-screen:calc(100dvh - var(--app-header-height) - var(--app-bottom-nav-total));
    --app-safe-bottom:calc(var(--app-player-height) + 12px);
    --app-side:16px;
    --mobile-header:var(--app-header-height);
  }

  html{
    scroll-behavior:smooth;
  }

  body{
    padding-top:var(--app-header-height);
    padding-bottom:var(--app-bottom-nav-total);
    overscroll-behavior-y:auto;
  }

  body > nav{
    position:fixed;
    top:0;
    right:0;
    left:0;
    width:100%;
    height:var(--app-header-height);
  }

  body > nav .wrap{
    height:100%;
  }

  .mobile-bottom-nav{
    height:var(--app-bottom-nav-total);
    min-height:var(--app-bottom-nav-total);
    max-height:var(--app-bottom-nav-total);
  }

  .hero,
  #philosophy,
  #how,
  #tracks,
  #pricing,
  #contact,
  #corporate,
  #author{
    width:100%;
    height:var(--app-screen);
    min-height:var(--app-screen);
    max-height:var(--app-screen);
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    padding-bottom:0;
    overflow:hidden;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  #philosophy{
    width:calc(100% - 20px);
    margin-right:10px;
    margin-left:10px;
  }

  .hero{
    padding:8px 0;
  }

  .hero .wrap{
    height:100%;
  }

  .hero-grid{
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    padding:24px 22px calc(var(--app-safe-bottom) + 6px);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
    justify-content:flex-start;
  }

  .hero-grid::-webkit-scrollbar{
    display:none;
  }

  .hero-grid > div{
    margin-top:auto;
  }

  #ambientWave{
    top:42px;
    height:min(31vh,252px);
  }

  .hero h1{
    font-size:clamp(41px,12.4vw,50px);
  }

  .hero p.lead{
    margin-bottom:15px;
    font-size:12.5px;
    line-height:1.5;
  }

  .hero-actions .btn-primary{
    min-height:58px;
    padding:16px 20px;
  }

  #philosophy{
    display:flex;
    align-items:stretch;
    padding:0;
  }

  .philosophy-inner{
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
    flex-direction:column;
    justify-content:flex-start;
    padding:24px 21px var(--app-safe-bottom);
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
  }

  .philosophy-inner::-webkit-scrollbar{
    display:none;
  }

  .philosophy-kicker{
    margin-top:auto;
    margin-bottom:13px;
  }

  .philosophy-quote{
    font-size:clamp(29px,8.7vw,36px);
  }

  .philosophy-text{
    margin-bottom:auto;
    line-height:1.52;
  }

  #how,
  #tracks,
  #pricing,
  #corporate,
  #author{
    display:block;
  }

  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    width:100%;
    height:100%;
    min-height:0;
    padding:24px var(--app-side) var(--app-safe-bottom);
  }

  #how > .wrap,
  #corporate > .wrap{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
  }

  #how > .wrap::-webkit-scrollbar,
  #corporate > .wrap::-webkit-scrollbar{
    display:none;
  }

  #how .sec-head{
    margin-top:auto;
    margin-bottom:14px;
  }

  #how .steps{
    flex:none;
    margin-bottom:auto;
  }

  #how .step{
    padding:12px 13px;
  }

  #how .step p{
    line-height:1.42;
  }

  #tracks > .wrap{
    display:flex;
    flex-direction:column;
  }

  #tracks .sec-head{
    flex:none;
    margin-bottom:13px;
  }

  #tracks .sec-head p{
    max-width:37ch;
    line-height:1.48;
  }

  #tracks .tracks{
    display:grid;
    min-height:0;
    flex:1;
    align-content:start;
    padding:1px 3px 18px 0;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
    scroll-padding-block:8px;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 24px),transparent 100%);
  }

  #tracks .tracks::-webkit-scrollbar{
    display:none;
  }

  #tracks .track{
    scroll-margin-block:8px;
  }

  #pricing > .wrap{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
  }

  #pricing > .wrap::-webkit-scrollbar{
    display:none;
  }

  #pricing .sec-head{
    flex:none;
    margin-top:auto;
    margin-bottom:10px;
  }

  #pricing .tiers-grid{
    position:relative;
    display:grid;
    width:100%;
    min-height:286px;
    max-height:356px;
    flex:1;
    grid-template-columns:none;
    grid-auto-columns:calc(100% - 30px);
    grid-auto-flow:column;
    align-items:stretch;
    gap:10px;
    margin:0 0 auto;
    padding:14px 24px 18px 14px;
    overflow-x:auto;
    overflow-y:hidden;
    border:1px solid rgba(217,164,65,.13);
    border-radius:25px;
    background:
      radial-gradient(circle at 82% 12%,rgba(217,164,65,.09),transparent 36%),
      linear-gradient(145deg,rgba(24,23,27,.8),rgba(12,12,14,.88));
    box-shadow:
      inset 0 1px rgba(255,255,255,.035),
      inset -28px 0 44px rgba(0,0,0,.16),
      0 18px 44px rgba(0,0,0,.2);
    scroll-padding-inline:14px 24px;
    scroll-snap-type:x mandatory;
    touch-action:pan-x pan-y;
  }

  #pricing .tier-card{
    width:100%;
    height:100%;
    min-height:0;
    padding:17px 16px 15px;
    align-self:stretch;
    border-radius:19px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  #pricing .tier-card.featured{
    box-shadow:
      0 18px 40px rgba(0,0,0,.34),
      0 0 30px rgba(217,164,65,.085),
      inset 0 1px rgba(255,255,255,.06);
  }

  #pricing .tier-features{
    margin-top:10px;
    margin-bottom:12px;
  }

  #pricing .tier-select{
    min-height:44px;
  }

  #contact{
    position:relative;
    background:
      radial-gradient(circle at 94% 9%,rgba(217,164,65,.065),transparent 34%),
      transparent;
  }

  #contact > .wrap{
    width:100%;
    height:100%;
    min-height:0;
    padding:24px var(--app-side) var(--app-safe-bottom);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
    scroll-padding-block:18px;
    -webkit-overflow-scrolling:touch;
  }

  #contact > .wrap::-webkit-scrollbar{
    display:none;
  }

  #contact .sec-head{
    margin-bottom:15px;
  }

  #contact .order-box{
    padding:15px;
  }

  #contact .contact-alternatives{
    margin-bottom:2px;
  }

  #corporate .corporate-box{
    flex:none;
    width:100%;
    margin-top:auto;
    margin-bottom:auto;
    padding:17px;
  }

  #corporate .corp-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #corporate .corp-actions .btn-primary{
    min-height:50px;
  }

  #author > .wrap{
    display:flex;
    flex-direction:column;
  }

  #author .author-intro{
    flex:none;
    margin-bottom:12px;
  }

  #author .author-intro p{
    font-size:11px;
    line-height:1.46;
  }

  #author .author-grid{
    display:grid;
    min-height:0;
    flex:1;
    align-content:start;
    padding:1px 3px 18px 0;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
    overscroll-behavior-y:auto;
    scroll-padding-block:8px;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 24px),transparent 100%);
  }

  #author .author-grid::-webkit-scrollbar{
    display:none;
  }

  #author .author-card{
    scroll-margin-block:8px;
  }

  #author .author-signature{
    flex:none;
    margin-top:10px;
    padding:13px 15px;
  }

  #author .author-signature strong{
    font-size:17px;
  }

  #author .author-signature p{
    font-size:10px;
    line-height:1.42;
  }

  footer{
    display:none;
  }

  .mobile-bottom-nav a[aria-current="page"]{
    color:#e3ad47;
    text-shadow:0 0 16px rgba(217,164,65,.24);
  }
}

@media(max-width:370px){
  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    padding-top:18px;
  }

  .sec-head h2{
    font-size:26px;
  }

  #pricing .tiers-grid{
    min-height:276px;
    grid-auto-columns:calc(100% - 22px);
    padding-right:18px;
    padding-left:10px;
    scroll-padding-inline:10px 18px;
  }

  #corporate .corp-controls{
    grid-template-columns:1fr;
  }
}

/* ---------- STAGE 5 · MOBILE SCREEN COMPOSITION ---------- */
@media(max-width:620px){
  :root{
    --app-player-height:0px;
    --app-safe-bottom:24px;
  }

  .mobile-player{
    display:none !important;
  }

  .hero-grid{
    padding-bottom:var(--app-safe-bottom);
  }

  .hero-grid > div,
  .philosophy-kicker,
  #how .sec-head,
  #pricing .sec-head{
    margin-top:0;
  }

  .philosophy-text,
  #how .steps,
  #pricing .tiers-grid{
    margin-bottom:0;
  }

  #corporate .corporate-box{
    margin-top:0;
    margin-bottom:0;
  }
}

/* ---------- MOBILE SCREEN HEIGHT FIX ---------- */
@media(max-width:620px){
  :root{
    --app-content-gap:18px;
  }

  .hero .wrap,
  .philosophy-inner,
  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    min-height:0;
    max-height:100%;
    margin-top:0;
    margin-bottom:0;
  }

  .hero-grid,
  .philosophy-inner,
  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    padding-top:var(--app-content-gap);
    padding-bottom:var(--app-content-gap);
    align-content:flex-start;
    justify-content:flex-start;
  }

  .hero-grid > div,
  .philosophy-kicker,
  #how .sec-head,
  #pricing .sec-head,
  #corporate .corporate-box{
    margin-top:0;
  }

  .philosophy-text,
  #how .steps,
  #pricing .tiers-grid,
  #corporate .corporate-box{
    margin-bottom:0;
  }
}

/* ---------- STAGE 6 · SCROLL SNAP ARCHITECTURE ---------- */
@media(max-width:620px){
  html,
  body{
    width:100%;
    height:100dvh;
    overflow:hidden;
  }

  body{
    padding-top:0;
    padding-bottom:0;
  }

  .app-scroll{
    position:fixed;
    z-index:1;
    top:var(--app-header-height);
    right:0;
    left:0;
    width:100%;
    height:var(--app-screen);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scroll-behavior:smooth;
    scroll-snap-type:y mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .app-scroll::-webkit-scrollbar{
    display:none;
  }

  .mobile-top-stack{
    display:contents;
  }

  .hero,
  #philosophy,
  #how,
  #tracks,
  #pricing,
  #contact,
  #corporate,
  #author{
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:620px){
  .app-scroll{
    scroll-behavior:auto;
    scroll-snap-type:y proximity;
  }
}

/* ---------- STAGE 7 · FULL SCREEN SONG PLAYER ---------- */
.song-player-screen{
  display:none;
}

@media(max-width:620px){
  .song-player-screen{
    position:fixed;
    z-index:200;
    inset:0;
    display:block;
    width:100%;
    height:100dvh;
    padding:0;
    overflow:hidden;
    visibility:hidden;
    background:
      radial-gradient(circle at 76% 10%,rgba(217,164,65,.16),transparent 30%),
      radial-gradient(circle at 8% 56%,rgba(217,164,65,.055),transparent 33%),
      linear-gradient(180deg,#121013 0%,#09090a 52%,#070708 100%);
    opacity:0;
    transform:translateY(100%);
    transition:
      transform .46s cubic-bezier(.22,.78,.22,1),
      opacity .32s ease,
      visibility 0s linear .46s;
    isolation:isolate;
  }

  .song-player-screen::before{
    content:"";
    position:absolute;
    z-index:0;
    top:20%;
    left:-18%;
    width:136%;
    height:170px;
    pointer-events:none;
    background:
      repeating-radial-gradient(
        ellipse at 50% 50%,
        transparent 0 19px,
        rgba(217,164,65,.105) 20px 21px,
        transparent 22px 38px
      );
    opacity:.34;
    transform:rotate(-4deg);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
  }

  .song-player-screen.is-open{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    transition:
      transform .46s cubic-bezier(.22,.78,.22,1),
      opacity .32s ease,
      visibility 0s;
  }

  .song-player-shell{
    position:relative;
    z-index:1;
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
    flex-direction:column;
  }

  .song-player-topbar{
    display:grid;
    min-height:calc(68px + env(safe-area-inset-top));
    flex:none;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:env(safe-area-inset-top) 17px 0;
    border-bottom:1px solid rgba(217,164,65,.12);
    background:rgba(10,10,11,.74);
    box-shadow:0 12px 34px rgba(0,0,0,.25);
    backdrop-filter:blur(22px) saturate(1.15);
    -webkit-backdrop-filter:blur(22px) saturate(1.15);
  }

  .song-player-back{
    display:flex;
    width:max-content;
    min-height:44px;
    align-items:center;
    gap:6px;
    padding:0 10px 0 5px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--ink);
    font:700 12px 'Manrope',sans-serif;
    cursor:pointer;
  }

  .song-player-back svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .song-player-brand{
    color:var(--ink);
    font:600 22px/1 'Fraunces',serif;
    letter-spacing:-.025em;
  }

  .song-player-brand span{
    color:var(--gold);
  }

  .song-player-minimize{
    justify-self:end;
    min-height:40px;
    padding:0 8px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#d9a441;
    font:700 11px 'Manrope',sans-serif;
    cursor:pointer;
  }

  .song-player-scroll{
    width:100%;
    min-height:0;
    flex:1;
    padding:18px 20px calc(30px + env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    will-change:transform,opacity;
  }

  .song-player-scroll::-webkit-scrollbar{
    display:none;
  }

  .song-player-cover{
    position:relative;
    width:100%;
    max-width:430px;
    aspect-ratio:1/1;
    margin:0 auto;
    overflow:hidden;
    border:1px solid rgba(239,195,102,.24);
    border-radius:28px;
    background:
      radial-gradient(circle at 72% 22%,rgba(236,189,89,.26),transparent 23%),
      linear-gradient(145deg,#1f1c21,#0b0b0d 62%,#171108);
    box-shadow:
      0 30px 76px rgba(0,0,0,.56),
      0 8px 32px rgba(217,164,65,.1),
      inset 0 1px rgba(255,255,255,.075);
  }

  .song-player-cover::after{
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg,transparent 58%,rgba(4,4,5,.28)),
      linear-gradient(115deg,rgba(255,255,255,.045),transparent 28%);
  }

  .song-player-cover img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .song-player-cover.is-wave img{
    display:none;
  }

  .song-player-cover-fallback{
    position:absolute;
    z-index:1;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:22px;
  }

  .song-player-cover.is-wave .song-player-cover-fallback{
    display:flex;
  }

  .song-player-cover-fallback span{
    position:absolute;
    top:25px;
    left:25px;
    color:rgba(245,241,232,.9);
    font:600 22px/1 'Fraunces',serif;
    letter-spacing:-.02em;
  }

  .song-player-cover-fallback i{
    width:7px;
    height:clamp(38px,13vw,70px);
    border-radius:100px;
    background:linear-gradient(180deg,#efbd57,rgba(217,164,65,.18));
    box-shadow:0 0 22px rgba(217,164,65,.2);
    animation:songPlayerWave 1.65s ease-in-out infinite alternate;
  }

  .song-player-cover-fallback i:nth-of-type(2),
  .song-player-cover-fallback i:nth-of-type(6){
    height:clamp(62px,19vw,104px);
    animation-delay:-.4s;
  }

  .song-player-cover-fallback i:nth-of-type(3),
  .song-player-cover-fallback i:nth-of-type(5){
    height:clamp(84px,25vw,136px);
    animation-delay:-.8s;
  }

  .song-player-cover-fallback i:nth-of-type(4){
    height:clamp(104px,31vw,166px);
    animation-delay:-1.15s;
  }

  .song-player-copy{
    max-width:430px;
    margin:22px auto 0;
    text-align:center;
  }

  .song-player-copy h1{
    color:var(--ink);
    font-size:clamp(31px,9vw,40px);
    line-height:1.02;
    letter-spacing:-.035em;
  }

  .song-player-copy p{
    margin-top:11px;
    color:#aaa4ac;
    font-size:12px;
    line-height:1.58;
  }

  .song-player-controls{
    max-width:430px;
    margin:21px auto 0;
  }

  .song-player-transport{
    display:grid;
    grid-template-columns:48px 58px 48px;
    align-items:center;
    justify-content:center;
    gap:18px;
  }

  .song-player-skip{
    display:grid;
    width:48px;
    height:48px;
    place-items:center;
    border:1px solid rgba(245,225,181,.15);
    border-radius:50%;
    background:rgba(255,255,255,.035);
    color:#e8e0d2;
    box-shadow:
      0 12px 28px rgba(0,0,0,.24),
      inset 0 1px rgba(255,255,255,.035);
    cursor:pointer;
    transition:
      transform .18s ease,
      border-color .18s ease,
      background .18s ease;
  }

  .song-player-skip:active{
    transform:scale(.94);
    border-color:rgba(217,164,65,.38);
    background:rgba(217,164,65,.09);
  }

  .song-player-skip svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .song-player-toggle{
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border:1px solid rgba(255,236,194,.38);
    border-radius:50%;
    background:linear-gradient(145deg,#edbd58,#c98b29);
    color:#171106;
    box-shadow:
      0 14px 34px rgba(217,164,65,.28),
      inset 0 1px rgba(255,255,255,.46);
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease;
  }

  .song-player-toggle:active{
    transform:scale(.96);
  }

  .song-player-toggle-icon{
    width:0;
    height:0;
    margin-left:4px;
    border-top:8px solid transparent;
    border-bottom:8px solid transparent;
    border-left:12px solid currentColor;
  }

  .song-player-toggle.playing .song-player-toggle-icon{
    width:14px;
    height:17px;
    margin:0;
    border:0;
    background:
      linear-gradient(currentColor,currentColor) 0 0/4px 17px no-repeat,
      linear-gradient(currentColor,currentColor) 10px 0/4px 17px no-repeat;
  }

  .song-player-timeline{
    min-width:0;
    margin-top:13px;
  }

  #songPlayerSeek{
    --seek-progress:0%;
    width:100%;
    height:24px;
    margin:0;
    padding:0;
    border:0;
    appearance:none;
    -webkit-appearance:none;
    background:transparent;
    cursor:pointer;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
  }

  #songPlayerSeek::-webkit-slider-runnable-track{
    width:100%;
    height:4px;
    border-radius:100px;
    background:
      linear-gradient(
        90deg,
        var(--gold) 0 var(--seek-progress),
        rgba(245,241,232,.18) var(--seek-progress) 100%
      );
    box-shadow:0 0 16px rgba(217,164,65,.08);
  }

  #songPlayerSeek::-moz-range-track{
    width:100%;
    height:4px;
    border-radius:100px;
    background:rgba(245,241,232,.18);
  }

  #songPlayerSeek::-moz-range-progress{
    height:4px;
    border-radius:100px;
    background:var(--gold);
  }

  #songPlayerSeek::-webkit-slider-thumb{
    width:17px;
    height:17px;
    margin-top:-6.5px;
    border:2px solid #f4d695;
    border-radius:50%;
    appearance:none;
    -webkit-appearance:none;
    background:var(--gold);
    box-shadow:0 0 0 5px rgba(217,164,65,.11),0 0 18px rgba(217,164,65,.4);
  }

  #songPlayerSeek::-moz-range-thumb{
    width:17px;
    height:17px;
    border:2px solid #f4d695;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 5px rgba(217,164,65,.11),0 0 18px rgba(217,164,65,.4);
  }

  .song-player-times{
    display:flex;
    justify-content:space-between;
    margin-top:1px;
    color:#8e8991;
    font-size:10px;
    font-variant-numeric:tabular-nums;
  }

  .song-player-text-block{
    max-width:430px;
    margin:24px auto 0;
    padding:18px;
    border:1px solid rgba(245,225,181,.1);
    border-radius:21px;
    background:
      radial-gradient(circle at 90% 0,rgba(217,164,65,.075),transparent 40%),
      rgba(255,255,255,.026);
    box-shadow:inset 0 1px rgba(255,255,255,.025);
  }

  .song-player-text-block[hidden]{
    display:none;
  }

  .song-player-text-block h2{
    color:#e4ad43;
    font-size:19px;
    line-height:1.2;
  }

  .song-player-text{
    margin-top:11px;
    color:#beb8bf;
    font-size:12px;
    line-height:1.7;
    white-space:pre-line;
  }

  .song-player-text.is-empty{
    color:#817c84;
    font-style:italic;
  }

  .song-player-order{
    display:flex;
    width:100%;
    max-width:430px;
    min-height:56px;
    align-items:center;
    justify-content:center;
    margin:18px auto 0;
    padding:15px 20px;
    border:1px solid rgba(255,236,194,.36);
    border-radius:18px;
    background:linear-gradient(135deg,#efc05b,#d9a441 55%,#be8123);
    color:#171106;
    box-shadow:
      0 18px 42px rgba(217,164,65,.23),
      inset 0 1px rgba(255,255,255,.42);
    font-size:13px;
    font-weight:800;
    text-align:center;
    text-decoration:none;
  }

  .track,
  .author-card{
    cursor:pointer;
  }
}

/* ---------- STAGE 7.3 · TOP MINI PLAYER ---------- */
@media(max-width:620px){
  body > nav{
    transition:opacity .2s ease,visibility .2s ease;
  }

  body.mini-player-active > nav{
    visibility:hidden;
    pointer-events:none;
    opacity:0;
  }

  .top-mini-player{
    position:fixed;
    z-index:90;
    top:0;
    right:0;
    left:0;
    display:none;
    width:100%;
    height:var(--app-header-height);
    grid-template-columns:minmax(0,1fr) auto 38px;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-bottom:1px solid rgba(217,164,65,.2);
    background:
      radial-gradient(circle at 12% 0,rgba(217,164,65,.12),transparent 48%),
      rgba(10,10,10,.96);
    box-shadow:0 10px 30px rgba(0,0,0,.32);
    backdrop-filter:blur(22px) saturate(1.12);
    -webkit-backdrop-filter:blur(22px) saturate(1.12);
  }

  .top-mini-player.is-active{
    display:grid;
    animation:topMiniAppear .24s ease both;
  }

  .top-mini-expand{
    display:flex;
    min-width:0;
    min-height:64px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    padding:5px 7px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--ink);
    text-align:left;
    cursor:pointer;
  }

  .top-mini-expand:active{
    background:rgba(217,164,65,.06);
  }

  .top-mini-brand{
    display:flex;
    min-width:0;
    align-items:center;
    gap:6px;
    color:var(--ink);
    font:600 17px/1 'Fraunces',serif;
    letter-spacing:-.025em;
  }

  .top-mini-brand svg{
    width:16px;
    height:16px;
    flex:none;
    fill:none;
    stroke:#d9a441;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .top-mini-artwork{
    position:relative;
    display:block;
    width:24px;
    height:24px;
    flex:none;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.22);
    border-radius:7px;
    background:#17140e;
  }

  .top-mini-artwork img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity var(--tw-motion-base) ease;
  }

  .top-mini-artwork img.is-loaded{
    opacity:1;
  }

  .top-mini-wordmark{
    min-width:0;
    white-space:nowrap;
  }

  .top-mini-brand em{
    color:#d9a441;
    font-style:normal;
  }

  .top-mini-expand strong{
    display:block;
    width:100%;
    overflow:hidden;
    color:#c8c2c8;
    font-size:10px;
    font-weight:700;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .top-mini-controls{
    display:flex;
    align-items:center;
    gap:3px;
  }

  .top-mini-controls button,
  .top-mini-stop{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    flex:none;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#e8e0d2;
    cursor:pointer;
  }

  .top-mini-controls button:active,
  .top-mini-stop:active{
    background:rgba(217,164,65,.1);
    transform:scale(.94);
  }

  .top-mini-controls svg,
  .top-mini-stop svg{
    width:20px;
    height:20px;
    fill:currentColor;
  }

  .top-mini-stop{
    color:#918b93;
  }

  .top-mini-stop svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
  }

  .top-mini-toggle{
    border:1px solid rgba(255,236,194,.34) !important;
    background:linear-gradient(145deg,#edbd58,#c98b29) !important;
    color:#171106 !important;
    box-shadow:0 8px 22px rgba(217,164,65,.2);
  }

  .top-mini-toggle-icon{
    width:0;
    height:0;
    margin-left:2px;
    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
    border-left:9px solid currentColor;
  }

  .top-mini-toggle.playing .top-mini-toggle-icon{
    width:11px;
    height:13px;
    margin:0;
    border:0;
    background:
      linear-gradient(currentColor,currentColor) 0 0/3px 13px no-repeat,
      linear-gradient(currentColor,currentColor) 8px 0/3px 13px no-repeat;
  }
}

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

@keyframes songPlayerWave{
  from{
    opacity:.55;
    transform:scaleY(.68);
  }
  to{
    opacity:1;
    transform:scaleY(1.08);
  }
}

@media (prefers-reduced-motion:reduce){
  .song-player-screen{
    transition:none;
  }

  .song-player-cover-fallback i{
    animation:none;
  }

  .top-mini-player.is-active{
    animation:none;
  }
}

/* ---------- STAGE 8 · PREMIUM MOBILE POLISH ---------- */
@media(max-width:620px){
  :root{
    --tw-radius-control:14px;
    --tw-radius-card:20px;
    --tw-radius-large:24px;
    --tw-shadow-card:
      0 18px 46px rgba(0,0,0,.28),
      inset 0 1px rgba(255,255,255,.045);
    --tw-shadow-elevated:
      0 26px 68px rgba(0,0,0,.48),
      0 8px 26px rgba(217,164,65,.06),
      inset 0 1px rgba(255,255,255,.06);
    --tw-motion-fast:180ms;
    --tw-motion-base:280ms;
    --tw-motion-slow:420ms;
    --tw-ease:cubic-bezier(.22,.78,.22,1);
    --app-content-gap:18px;
  }

  html,
  body{
    overscroll-behavior:none;
  }

  body{
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
  }

  :where(a,button,summary,input,select,textarea){
    -webkit-tap-highlight-color:transparent;
  }

  :where(a,button,summary){
    touch-action:manipulation;
  }

  .app-scroll{
    scroll-snap-type:y proximity;
    overscroll-behavior-y:none;
    scroll-padding-block:0;
    touch-action:pan-y;
  }

  body.form-input-active .app-scroll{
    scroll-snap-type:none;
    scroll-behavior:auto;
  }

  .hero-grid,
  .philosophy-inner,
  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author > .wrap{
    padding-top:var(--app-content-gap);
    padding-bottom:var(--app-content-gap);
  }

  #how > .wrap,
  #tracks .tracks,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author .author-grid,
  .song-player-scroll{
    overscroll-behavior-y:contain;
    touch-action:pan-y;
  }

  .sec-head{
    margin-bottom:14px;
  }

  .sec-head .eyebrow{
    margin-bottom:7px;
    font-size:9px;
    line-height:1.35;
  }

  .sec-head h2,
  #corporate .corporate-box h2{
    margin-top:7px;
    font-size:clamp(28px,8.3vw,32px);
    line-height:1.06;
    letter-spacing:-.03em;
    text-wrap:balance;
  }

  .sec-head p,
  .corp-text{
    margin-top:9px;
    font-size:12px;
    line-height:1.62;
  }

  .philosophy-kicker{
    margin-bottom:14px;
  }

  .philosophy-quote{
    margin-bottom:13px;
    font-size:clamp(30px,8.9vw,36px);
    line-height:1.08;
  }

  .philosophy-credit{
    margin-bottom:14px;
  }

  .philosophy-text{
    max-width:45ch;
    font-size:13px;
    line-height:1.66;
  }

  .steps,
  #tracks .tracks,
  .author-grid{
    gap:10px;
  }

  .step,
  #tracks .track,
  .author-card,
  .tier-card,
  .order-box,
  .corporate-box,
  .contact-alternatives,
  .author-signature{
    border-radius:var(--tw-radius-card);
    box-shadow:var(--tw-shadow-card);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .step{
    grid-template-columns:44px 1fr;
    gap:13px;
    padding:14px;
  }

  .step-num{
    width:44px;
    height:44px;
    border-radius:var(--tw-radius-control);
  }

  .step h3{
    margin-bottom:4px;
    font-size:17px;
    line-height:1.2;
  }

  .step p{
    font-size:11px;
    line-height:1.5;
  }

  #tracks .track,
  .author-card{
    min-height:88px;
  }

  #tracks .track{
    grid-template-columns:72px minmax(0,1fr);
    padding:8px;
  }

  #tracks .story-cover,
  .author-card::before,
  .author-cover{
    width:72px;
    height:72px;
    border-radius:16px;
  }

  #tracks .story-cover,
  .author-cover,
  .song-player-cover img{
    aspect-ratio:1/1;
    object-fit:cover;
    background:#151319;
    backface-visibility:hidden;
  }

  .story-ribbon-card img,
  .story-cover,
  .author-cover,
  #songPlayerCover{
    opacity:0;
    transition:opacity var(--tw-motion-base) ease;
  }

  .story-ribbon-card img.is-loaded,
  .story-cover.is-loaded,
  .author-cover.is-loaded,
  #songPlayerCover.is-loaded{
    opacity:1;
  }

  #tracks .track-body{
    min-height:72px;
    padding:5px 52px 5px 12px;
  }

  .author-card{
    grid-template-columns:72px minmax(0,1fr);
    padding:8px 54px 8px 8px;
  }

  .author-card .track-body{
    padding-left:12px;
  }

  #tracks .track-title,
  .author-card .track-title{
    margin-bottom:5px;
    font-size:14px;
    line-height:1.32;
  }

  #tracks .play-btn,
  .author-card .play-btn{
    right:10px;
    width:44px;
    height:44px;
  }

  #tracks .play-btn:active,
  .author-card .play-btn:active{
    transform:translateY(-50%) scale(.94);
  }

  .author-signature{
    margin-top:10px;
    padding:14px 15px;
  }

  .author-signature p{
    line-height:1.52;
  }

  #pricing .tiers-grid{
    border-radius:var(--tw-radius-large);
    box-shadow:var(--tw-shadow-card);
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    touch-action:pan-x;
  }

  #pricing .tier-card{
    padding:17px 16px 15px;
  }

  #pricing .tier-features{
    line-height:1.48;
  }

  .order-box,
  .corporate-box{
    padding:16px;
  }

  .mode-switch{
    border-radius:var(--tw-radius-control);
  }

  .mode-btn,
  .chip,
  .story-example,
  .golden-toggle,
  .tier-select,
  .btn-copy{
    min-height:44px;
    border-radius:var(--tw-radius-control);
  }

  .mode-btn,
  .chip,
  .story-example,
  .golden-toggle,
  .tier-select,
  .btn-copy,
  .btn-primary,
  .btn-generate{
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      color var(--tw-motion-fast) ease,
      border-color var(--tw-motion-fast) ease,
      background var(--tw-motion-fast) ease,
      box-shadow var(--tw-motion-fast) ease,
      filter var(--tw-motion-fast) ease;
  }

  .mode-btn:active,
  .chip:active,
  .story-example:active,
  .golden-toggle:active,
  .tier-select:active,
  .btn-copy:active,
  .btn-primary:active,
  .btn-generate:active{
    transform:scale(.97);
  }

  .order-summary{
    margin-bottom:16px;
  }

  .order-pill{
    border-radius:var(--tw-radius-control);
  }

  .field-group{
    margin-bottom:16px;
  }

  .field-label{
    margin-bottom:7px;
    font-size:12px;
    line-height:1.4;
  }

  .checkbox-row{
    min-height:44px;
  }

  input[type="text"],
  input[type="number"],
  select,
  textarea{
    min-height:52px;
    padding:13px 14px;
    border-radius:var(--tw-radius-control);
    font-size:16px;
    line-height:1.45;
    scroll-margin-block:84px 24px;
  }

  textarea{
    min-height:118px;
  }

  .story-core{
    margin-top:22px;
    padding:16px;
    border-radius:var(--tw-radius-card);
  }

  .story-core h3{
    font-size:20px;
    line-height:1.22;
  }

  .story-core p{
    line-height:1.55;
  }

  .btn-generate,
  .corp-actions .btn-primary,
  .send-actions .btn-primary{
    min-height:56px;
    border-radius:16px;
  }

  .send-actions{
    gap:10px;
  }

  .contact-alternatives{
    margin-top:16px;
    padding:16px;
  }

  .contact-channel{
    min-height:56px;
    border-radius:var(--tw-radius-control);
  }

  .corp-controls{
    gap:12px;
  }

  .corp-text{
    margin-bottom:18px;
  }

  .corp-total{
    margin-top:12px;
  }

  .mobile-lang summary,
  .mobile-menu summary{
    min-width:44px;
    min-height:44px;
  }

  .mobile-lang-options .lang-btn{
    min-width:44px;
    min-height:44px;
  }

  .mobile-menu-panel a{
    min-height:48px;
    border-radius:12px;
  }

  body > nav{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    transition:
      transform var(--tw-motion-base) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s;
  }

  body.mini-player-active > nav{
    visibility:hidden;
    opacity:0;
    transform:translateY(-10px);
    transition:
      transform var(--tw-motion-base) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s linear var(--tw-motion-base);
  }

  .top-mini-player{
    display:grid;
    height:var(--app-header-height);
    grid-template-columns:minmax(0,1fr) auto 44px;
    gap:2px;
    padding:6px 8px;
    visibility:hidden;
    opacity:0;
    transform:translateY(-10px);
    pointer-events:none;
    box-shadow:0 12px 34px rgba(0,0,0,.36);
    transition:
      transform var(--tw-motion-base) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s linear var(--tw-motion-base);
  }

  .top-mini-player.is-active{
    display:grid;
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
    animation:none;
    transition:
      transform var(--tw-motion-base) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s;
  }

  .top-mini-expand{
    width:100%;
    min-height:64px;
    padding:5px 7px;
    border-radius:var(--tw-radius-control);
  }

  .top-mini-brand{
    gap:6px;
    font-size:16px;
  }

  .top-mini-expand strong{
    font-size:10px;
    line-height:1.35;
  }

  .top-mini-controls{
    gap:0;
  }

  .top-mini-controls button,
  .top-mini-stop{
    width:44px;
    height:44px;
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      color var(--tw-motion-fast) ease,
      background var(--tw-motion-fast) ease,
      box-shadow var(--tw-motion-fast) ease;
  }

  .top-mini-controls button:active,
  .top-mini-stop:active{
    transform:scale(.94);
  }

  .top-mini-toggle{
    box-shadow:
      0 9px 24px rgba(217,164,65,.23),
      inset 0 1px rgba(255,255,255,.25);
  }

  .song-player-screen{
    opacity:.82;
    transform:translateY(102%);
    contain:layout paint style;
    transition:
      transform var(--tw-motion-slow) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s linear var(--tw-motion-slow);
  }

  .song-player-screen.is-open{
    opacity:1;
    transform:translateY(0);
    transition:
      transform var(--tw-motion-slow) var(--tw-ease),
      opacity var(--tw-motion-base) ease,
      visibility 0s;
  }

  .song-player-topbar{
    min-height:calc(72px + env(safe-area-inset-top));
    padding-right:14px;
    padding-left:14px;
  }

  .song-player-back,
  .song-player-minimize{
    min-height:44px;
    border-radius:var(--tw-radius-control);
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      color var(--tw-motion-fast) ease,
      background var(--tw-motion-fast) ease;
  }

  .song-player-back:active,
  .song-player-minimize:active{
    transform:scale(.96);
    background:rgba(217,164,65,.07);
  }

  .song-player-scroll{
    padding:18px 18px calc(28px + env(safe-area-inset-bottom));
    scroll-behavior:smooth;
    scroll-padding-block:18px;
    will-change:auto;
  }

  .song-player-cover{
    width:min(100%,52dvh,430px);
    border-radius:var(--tw-radius-large);
    box-shadow:var(--tw-shadow-elevated);
  }

  .song-player-copy{
    margin-top:19px;
  }

  .song-player-copy h1{
    font-size:clamp(29px,8.4vw,38px);
    line-height:1.06;
    text-wrap:balance;
  }

  .song-player-copy p{
    max-width:46ch;
    margin:10px auto 0;
    font-size:13px;
    line-height:1.62;
  }

  .song-player-controls{
    margin-top:19px;
  }

  #songPlayerSeek{
    height:44px;
  }

  .song-player-transport{
    grid-template-columns:48px 60px 48px;
    gap:20px;
  }

  .song-player-toggle{
    width:60px;
    height:60px;
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      box-shadow var(--tw-motion-fast) ease,
      filter var(--tw-motion-fast) ease;
  }

  .song-player-skip{
    min-width:48px;
    min-height:48px;
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      border-color var(--tw-motion-fast) ease,
      background var(--tw-motion-fast) ease;
  }

  .song-player-skip:disabled,
  .song-player-toggle:disabled,
  .top-mini-controls button:disabled{
    opacity:.48;
    transform:none;
    cursor:default;
  }

  .song-player-text-block{
    margin-top:21px;
    padding:18px;
    border-radius:var(--tw-radius-card);
    box-shadow:var(--tw-shadow-card);
  }

  .song-player-text-block h2{
    font-size:19px;
    line-height:1.25;
  }

  .song-player-text{
    margin-top:11px;
    font-size:13px;
    line-height:1.74;
    white-space:pre-wrap;
  }

  .song-player-order{
    min-height:56px;
    margin-top:18px;
    border-radius:16px;
    transition:
      transform var(--tw-motion-fast) var(--tw-ease),
      box-shadow var(--tw-motion-fast) ease,
      filter var(--tw-motion-fast) ease;
  }

  .song-player-order:active{
    transform:scale(.98);
  }

  .mobile-bottom-nav a{
    min-height:52px;
    transition:
      color var(--tw-motion-fast) ease,
      transform var(--tw-motion-fast) var(--tw-ease);
  }

  .mobile-bottom-nav a:active{
    transform:scale(.96);
  }
}

@media(max-width:370px){
  .top-mini-player{
    grid-template-columns:minmax(0,1fr) auto 44px;
    padding-right:5px;
    padding-left:6px;
  }

  .top-mini-controls button,
  .top-mini-stop{
    width:44px;
    height:44px;
  }

  .top-mini-brand{
    font-size:15px;
  }

  .top-mini-brand svg{
    width:15px;
    height:15px;
  }

  .song-player-scroll{
    padding-right:15px;
    padding-left:15px;
  }
}

@media(max-width:620px) and (hover:none){
  #tracks .play-btn:hover,
  .author-card .play-btn:hover{
    transform:translateY(-50%);
  }

  .btn-primary:hover,
  .btn-generate:hover{
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:620px){
  .app-scroll,
  .hero-grid,
  .philosophy-inner,
  #how > .wrap,
  #tracks .tracks,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author .author-grid,
  .song-player-scroll{
    scroll-behavior:auto;
  }

  .hero-grid,
  #ambientWave,
  #philosophy::after,
  #how::after,
  #pricing::after,
  #corporate::after,
  #author::after,
  #how::before,
  #pricing::before,
  #corporate::before,
  #author::before{
    animation:none;
  }

  :where(a,button,summary,input,select,textarea),
  body > nav,
  .top-mini-player,
  .song-player-screen{
    transition-duration:.01ms;
  }
}

/* ---------- STAGE 8.1 · SONGS LIBRARY REDESIGN ---------- */
.songs-library-filters{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.songs-language-rail{
  display:flex;
  width:100%;
  gap:8px;
  padding:4px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  touch-action:pan-x pan-y;
  border:1px solid rgba(245,225,181,.1);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 0,rgba(217,164,65,.09),transparent 48%),
    rgba(10,10,12,.46);
  box-shadow:
    inset 0 1px rgba(255,255,255,.035),
    0 14px 34px rgba(0,0,0,.18);
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}

.songs-language-rail::-webkit-scrollbar{
  display:none;
}

.songs-language-tab{
  position:relative;
  display:flex;
  min-width:72px;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:1 0 auto;
  padding:9px 14px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#98929b;
  font:700 12px/1 'Manrope',sans-serif;
  letter-spacing:.035em;
  cursor:pointer;
  scroll-snap-align:center;
  transition:
    transform 180ms cubic-bezier(.22,.78,.22,1),
    color 220ms ease,
    border-color 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease;
}

.songs-language-tab::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:4px;
  left:12px;
  height:1px;
  opacity:0;
  background:linear-gradient(90deg,transparent,#f0c260,transparent);
  transform:scaleX(.5);
  transition:opacity 220ms ease,transform 220ms cubic-bezier(.22,.78,.22,1);
}

.songs-language-tab span{
  font-size:17px;
  line-height:1;
  filter:saturate(.86);
}

.songs-language-tab strong{
  font:inherit;
}

.songs-language-tab:hover{
  color:var(--ink);
  border-color:rgba(217,164,65,.16);
  background:rgba(255,255,255,.025);
}

.songs-language-tab:active{
  transform:scale(.96);
}

.songs-language-tab.is-active{
  border-color:rgba(255,232,184,.27);
  background:linear-gradient(135deg,#edbd58 0%,#d9a441 52%,#bd7f20 100%);
  color:#171106;
  box-shadow:
    0 10px 26px rgba(217,164,65,.2),
    inset 0 1px rgba(255,255,255,.36);
}

.songs-language-tab.is-active::after{
  opacity:1;
  transform:scaleX(1);
}

.songs-language-tab.is-active span{
  filter:none;
}

.songs-library-context{
  display:flex;
  min-height:24px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 4px;
}

.songs-library-language{
  color:#ddd6ca;
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.01em;
}

.songs-library-count{
  color:#8f8992;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}

.songs-library-stage{
  position:relative;
  min-width:0;
  min-height:180px;
  opacity:1;
  transform:translateY(0);
  transition:
    opacity 220ms ease,
    transform 240ms cubic-bezier(.22,.78,.22,1);
}

.songs-library-stage.is-switching{
  opacity:.72;
  transform:translateY(3px);
}

#tracks .track[hidden]{
  display:none !important;
}

.songs-library-stage.is-empty .tracks{
  display:none !important;
}

.songs-library-empty{
  min-height:240px;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:28px 22px;
  border:1px solid rgba(217,164,65,.14);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 12%,rgba(217,164,65,.1),transparent 42%),
    linear-gradient(145deg,rgba(26,25,29,.9),rgba(13,13,15,.96));
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px rgba(255,255,255,.04);
  text-align:center;
}

.songs-library-empty:not([hidden]){
  display:grid;
}

.songs-library-empty-mark{
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  margin-bottom:3px;
  border:1px solid rgba(217,164,65,.26);
  border-radius:16px;
  background:rgba(217,164,65,.075);
  color:#e6b451;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  font:600 24px/1 'Fraunces',serif;
}

.songs-library-empty strong{
  font-family:'Fraunces',serif;
  font-size:20px;
  line-height:1.2;
}

.songs-library-empty p{
  max-width:34ch;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

@media(max-width:620px){
  #tracks .sec-head{
    margin-bottom:10px;
  }

  #tracks .sec-head p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .songs-library-filters{
    flex:none;
    gap:7px;
    margin-bottom:10px;
  }

  .songs-language-rail{
    gap:5px;
    padding:4px;
    border-radius:17px;
  }

  .songs-language-tab{
    min-width:62px;
    min-height:46px;
    gap:5px;
    padding:8px 11px;
    border-radius:13px;
    font-size:11px;
  }

  .songs-language-tab span{
    font-size:16px;
  }

  .songs-library-context{
    min-height:20px;
    padding:0 3px;
  }

  .songs-library-language{
    font-size:14px;
  }

  .songs-library-count{
    font-size:10px;
  }

  .songs-library-stage{
    display:flex;
    min-height:0;
    flex:1;
    flex-direction:column;
  }

  #tracks .songs-library-stage .tracks{
    width:100%;
    min-height:0;
    flex:1;
    overflow-y:visible;
    overscroll-behavior-y:auto;
    touch-action:pan-y;
  }

  #tracks .songs-library-stage .tracks.is-scrollable{
    overflow-y:auto;
  }

  .songs-library-empty{
    width:100%;
    min-height:0;
    flex:1;
    border-radius:var(--tw-radius-card);
  }
}

@media(max-width:370px){
  .songs-language-tab{
    min-width:59px;
    padding-right:9px;
    padding-left:9px;
  }

  .songs-library-filters{
    margin-bottom:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  .songs-language-tab,
  .songs-language-tab::after,
  .songs-library-stage{
    transition-duration:.01ms;
  }
}

/* ---------- STAGE 8.1.2 · REGRESSION QA ---------- */
@media(max-width:620px){
  /*
    Long screens keep their own vertical scroll, but release the gesture to
    appScroll at either boundary so screen-to-screen swiping never dead-ends.
  */
  .hero-grid,
  .philosophy-inner,
  #how > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #corporate > .wrap,
  #author .author-grid,
  #tracks .songs-library-stage .tracks.is-scrollable{
    overscroll-behavior-y:auto;
  }
}

/* Stage 8.2 gesture ownership must remain last in the mobile cascade. */
@media(max-width:620px){
  .app-scroll{
    scroll-snap-type:y mandatory;
  }

  #pricing .tiers-grid{
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    touch-action:none;
  }

  #pricing .tier-card,
  #pricing .tier-card :where(button,a){
    touch-action:none;
  }
}

/* ---------- STAGE 8.8 · PRICING, LOCALIZATION & PLAYER UX ---------- */
.pricing-promo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:13px;
  padding:7px 10px;
  border:1px solid rgba(217,164,65,.22);
  border-radius:999px;
  background:rgba(217,164,65,.065);
  color:#c9c2c8;
  font-size:10px;
  line-height:1.2;
}

.pricing-promo strong{
  color:#edbd58;
  font-weight:800;
}

.pricing-promo span{
  color:#aaa4ac;
}

.tier-price-promo{
  display:flex;
  align-items:baseline;
  gap:6px;
}

.tier-price-promo s{
  color:#77717a;
  font-size:.48em;
  font-weight:600;
  text-decoration-color:rgba(239,189,87,.78);
  text-decoration-thickness:1px;
}

.tier-price-promo strong{
  color:#efbd57;
  font-weight:700;
}

.tier-card-open{
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(245,225,181,.1);
  color:#d9a441;
  font-size:10px;
  font-weight:800;
}

.tier-card-open svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tier-detail-panel{
  position:fixed;
  z-index:240;
  inset:0;
  display:block;
  width:100%;
  height:100dvh;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease,visibility 0s linear .36s;
}

.tier-detail-panel.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:opacity .3s ease,visibility 0s;
}

.tier-detail-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(3,3,4,.82);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.tier-detail-shell{
  position:absolute;
  inset:0;
  display:flex;
  min-height:0;
  flex-direction:column;
  background:
    radial-gradient(circle at 78% 12%,rgba(217,164,65,.14),transparent 30%),
    linear-gradient(180deg,#121013,#080809 72%);
  transform:translateY(24px);
  transition:transform .42s cubic-bezier(.22,.78,.22,1);
}

.tier-detail-panel.is-open .tier-detail-shell{
  transform:translateY(0);
}

.tier-detail-topbar{
  position:relative;
  z-index:2;
  display:grid;
  min-height:calc(70px + env(safe-area-inset-top));
  flex:none;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:env(safe-area-inset-top) 16px 0;
  border-bottom:1px solid rgba(217,164,65,.11);
  background:rgba(10,10,11,.72);
}

.tier-detail-close{
  display:flex;
  width:max-content;
  min-height:44px;
  align-items:center;
  gap:7px;
  padding:0 8px 0 4px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#e9e4da;
  font:700 11px 'Manrope',sans-serif;
}

.tier-detail-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
}

.tier-detail-step{
  justify-self:end;
  color:#9d969e;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:right;
  text-transform:uppercase;
}

.tier-detail-body{
  display:grid;
  min-height:0;
  flex:1;
  place-items:center;
  padding:20px 18px calc(20px + env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior-y:contain;
}

.tier-detail-card{
  position:relative;
  width:min(100%,430px);
  padding:24px 21px 21px;
  border:1px solid rgba(239,195,102,.25);
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 5%,rgba(217,164,65,.12),transparent 32%),
    linear-gradient(145deg,rgba(29,27,31,.97),rgba(13,13,15,.98));
  box-shadow:
    0 30px 80px rgba(0,0,0,.5),
    inset 0 1px rgba(255,255,255,.055);
}

.tier-detail-badge{
  position:absolute;
  top:18px;
  right:18px;
  padding:6px 10px;
  border:1px solid rgba(239,195,102,.25);
  border-radius:999px;
  background:rgba(217,164,65,.1);
  color:#edbd58;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}

.tier-detail-kicker{
  max-width:70%;
  color:#d9a441;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tier-detail-card h2{
  margin-top:10px;
  color:#f2ede4;
  font-size:clamp(34px,10vw,48px);
  line-height:1;
}

.tier-detail-price{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-top:14px;
}

.tier-detail-price s{
  color:#77717a;
  font-size:17px;
  text-decoration-color:#d9a441;
}

.tier-detail-price strong{
  color:#efbd57;
  font:600 clamp(39px,12vw,54px)/1 'Fraunces',serif;
}

.tier-detail-price small{
  color:#8e8991;
  font-size:10px;
  font-weight:800;
}

.tier-detail-until{
  margin-top:4px;
  color:#9f99a1;
  font-size:10px;
}

.tier-detail-features{
  display:grid;
  gap:11px;
  margin:22px 0 21px;
  padding:0;
  color:#c8c1c7;
  font-size:12px;
  line-height:1.45;
  list-style:none;
}

.tier-detail-features li{
  display:flex;
  gap:9px;
}

.tier-detail-features li::before{
  content:"✓";
  flex:none;
  color:#d9a441;
  font-weight:800;
}

.tier-detail-select{
  width:100%;
  min-height:56px;
  padding:14px 18px;
  border:1px solid rgba(255,236,194,.38);
  border-radius:17px;
  background:linear-gradient(135deg,#efc05b,#d9a441 56%,#bd7e20);
  color:#171106;
  box-shadow:0 18px 42px rgba(217,164,65,.22),inset 0 1px rgba(255,255,255,.4);
  font:800 13px 'Manrope',sans-serif;
}

@media(max-width:620px){
  body.tier-panel-open{
    overflow:hidden;
  }

  #pricing > .wrap{
    justify-content:center;
    overflow:hidden;
  }

  #pricing .sec-head{
    margin-top:0;
    margin-bottom:12px;
  }

  #pricing .sec-head p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  #pricing .pricing-promo{
    width:100%;
    justify-content:space-between;
    margin-top:10px;
  }

  #pricing .tiers-grid{
    display:grid;
    width:100%;
    min-height:0;
    max-height:none;
    flex:none;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-columns:auto;
    grid-auto-flow:row;
    align-items:stretch;
    gap:8px;
    margin:0;
    padding:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    scroll-snap-type:none;
    touch-action:pan-y;
  }

  #pricing .tier-card{
    width:auto;
    min-width:0;
    height:178px;
    min-height:178px;
    padding:14px 10px 10px;
    border-radius:17px;
    scroll-snap-align:none;
    touch-action:pan-y;
    cursor:pointer;
  }

  #pricing .tier-card.featured{
    order:initial;
  }

  #pricing .tier-badge{
    position:static;
    width:max-content;
    max-width:100%;
    margin:-4px 0 6px;
    overflow:hidden;
    padding:4px 6px;
    font-size:7px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #pricing .tier-name{
    min-height:2.5em;
    overflow-wrap:anywhere;
    color:#e9e3da;
    font-size:clamp(11px,3.4vw,14px);
    line-height:1.2;
  }

  #pricing .tier-price{
    flex-wrap:wrap;
    gap:3px 5px;
    margin-top:8px;
    font-size:clamp(24px,7.2vw,31px);
    line-height:1;
  }

  #pricing .tier-price small{
    width:100%;
    font-size:7px;
  }

  #pricing .tier-card-open{
    min-height:38px;
    font-size:8px;
  }
}

@media(max-width:360px), (max-height:650px) and (max-width:620px){
  #pricing .sec-head p{
    display:none;
  }

  #pricing .pricing-promo{
    margin-top:8px;
  }

  #pricing .tier-card{
    height:164px;
    min-height:164px;
  }

  .tier-detail-body{
    padding-top:12px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom));
  }

  .tier-detail-card{
    padding:18px 18px 16px;
  }

  .tier-detail-card h2{
    font-size:32px;
  }

  .tier-detail-price strong{
    font-size:39px;
  }

  .tier-detail-features{
    gap:8px;
    margin:16px 0;
    font-size:11px;
  }
}

/* ---------- STAGE 8.3 · PREMIUM HERO REFINEMENT ---------- */
@media(max-width:620px){
  body > nav{
    border-bottom-color:rgba(217,164,65,.095);
    background:linear-gradient(180deg,rgba(11,11,12,.96),rgba(9,9,10,.92));
    box-shadow:
      inset 0 -1px rgba(255,255,255,.012),
      0 8px 28px rgba(0,0,0,.22);
    backdrop-filter:blur(22px) saturate(1.12);
    -webkit-backdrop-filter:blur(22px) saturate(1.12);
  }

  body > nav .wrap{
    padding-right:17px;
    padding-left:17px;
  }

  .logo{
    font-size:30px;
    letter-spacing:-.03em;
    text-shadow:0 3px 18px rgba(0,0,0,.46);
  }

  .logo span{
    text-shadow:0 0 22px rgba(217,164,65,.22);
  }

  .nav-right{
    gap:7px;
  }

  .mobile-lang summary,
  .mobile-menu summary{
    height:40px;
    border-color:rgba(245,225,181,.105);
    background:rgba(255,255,255,.018);
    box-shadow:
      inset 0 1px rgba(255,255,255,.025),
      0 5px 16px rgba(0,0,0,.14);
  }

  .mobile-lang summary{
    min-width:62px;
  }

  .mobile-menu summary{
    width:40px;
  }

  .mobile-menu summary span{
    width:16px;
  }

  .hero .wrap{
    padding-right:10px;
    padding-left:10px;
  }

  .hero-grid{
    padding:18px 20px 18px;
    border-color:rgba(234,190,101,.17);
    border-radius:27px;
    background:
      radial-gradient(ellipse at 76% 15%,rgba(232,184,80,.27),transparent 20%),
      radial-gradient(ellipse at 34% 36%,rgba(217,164,65,.09),transparent 37%),
      radial-gradient(ellipse at 0 94%,rgba(217,164,65,.055),transparent 37%),
      linear-gradient(153deg,#18161a 0%,#0c0c0e 57%,#131007 100%);
    box-shadow:
      0 24px 60px rgba(0,0,0,.43),
      0 7px 25px rgba(217,164,65,.035),
      inset 0 1px rgba(255,255,255,.06),
      inset 0 -1px rgba(217,164,65,.055);
  }

  .hero-grid::before{
    background:
      linear-gradient(180deg,rgba(5,5,6,.015) 18%,rgba(7,7,8,.04) 43%,rgba(7,7,8,.72) 72%,rgba(7,7,8,.96) 100%),
      linear-gradient(118deg,rgba(255,255,255,.018),transparent 32%),
      repeating-linear-gradient(115deg,rgba(255,255,255,.009) 0 1px,transparent 1px 14px);
  }

  .hero-grid::after{
    top:45px;
    right:-92px;
    width:286px;
    height:286px;
    border-color:rgba(232,184,80,.13);
    background:radial-gradient(circle,rgba(217,164,65,.105),transparent 62%);
    box-shadow:
      0 0 0 36px rgba(217,164,65,.018),
      0 0 0 78px rgba(217,164,65,.009),
      0 0 84px rgba(217,164,65,.08);
  }

  #ambientWave{
    top:42px;
    left:-10%;
    width:120%;
    height:min(31vh,252px);
    opacity:.94;
    mix-blend-mode:screen;
    filter:
      contrast(1.18)
      saturate(1.08)
      drop-shadow(0 0 18px rgba(217,164,65,.3));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  }

  .hero-grid > div{
    width:100%;
    margin-top:auto;
    padding-bottom:8px;
  }

  .hero h1{
    max-width:8.8ch;
    margin-bottom:12px;
    font-size:clamp(39px,11.8vw,46px);
    font-weight:600;
    line-height:.95;
    letter-spacing:-.045em;
    text-shadow:
      0 4px 24px rgba(0,0,0,.72),
      0 1px rgba(255,255,255,.045);
  }

  .hero h1 .mobile-hero-title em{
    margin-top:3px;
    text-shadow:
      0 0 24px rgba(217,164,65,.16),
      0 4px 20px rgba(0,0,0,.64);
  }

  .hero p.lead{
    max-width:34ch;
    margin-bottom:16px;
    color:rgba(226,221,225,.82);
    font-size:12.5px;
    font-weight:450;
    line-height:1.54;
    letter-spacing:.006em;
    text-shadow:0 2px 13px rgba(0,0,0,.68);
  }

  .hero-actions .btn-primary{
    min-height:61px;
    padding:17px 21px;
    border-color:rgba(255,230,177,.2);
    border-radius:18px;
    background:linear-gradient(135deg,#efc05b 0%,#d9a441 48%,#bd7f20 100%);
    box-shadow:
      0 13px 30px rgba(217,164,65,.21),
      0 3px 11px rgba(0,0,0,.22),
      inset 0 1px rgba(255,255,255,.4),
      inset 0 -1px rgba(95,55,6,.18);
    font-size:14px;
    letter-spacing:-.005em;
  }

  .hero-actions .btn-primary::before{
    margin-right:9px;
    font-size:15px;
  }
}

@media(max-width:350px){
  .hero-grid{
    padding-right:17px;
    padding-left:17px;
  }

  .hero h1{
    font-size:38px;
  }

  .hero p.lead{
    font-size:12px;
  }
}

/* ---------- STAGE 8.5 · PROCESS REFINEMENT ---------- */
@media(max-width:620px){
  #how > .wrap{
    padding-top:15px;
    padding-right:20px;
    padding-left:20px;
    overflow-x:hidden;
  }

  #how .sec-head{
    margin-bottom:13px;
  }

  #how .sec-head .eyebrow{
    margin:0 0 5px;
    color:rgba(231,186,96,.86);
    font-size:11px;
    letter-spacing:.17em;
  }

  .process-wave{
    position:relative;
    z-index:2;
    display:block;
    width:112%;
    height:52px;
    margin:0 -6% 7px;
    opacity:.42;
    mix-blend-mode:screen;
    filter:
      contrast(1.06)
      saturate(.9)
      drop-shadow(0 0 12px rgba(217,164,65,.14));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
    pointer-events:none;
  }

  #how .sec-head h2{
    max-width:12ch;
    margin:0;
    font-size:clamp(27px,8.1vw,32px);
    line-height:1.04;
    letter-spacing:-.034em;
    text-wrap:balance;
    text-shadow:0 4px 22px rgba(0,0,0,.4);
  }

  #how .steps{
    gap:9px;
  }

  #how .step{
    padding-top:13px;
    padding-bottom:13px;
  }
}

@media(max-width:350px){
  #how > .wrap{
    padding-right:17px;
    padding-left:17px;
  }

  .process-wave{
    height:46px;
    margin-bottom:6px;
  }

  #how .sec-head h2{
    font-size:26px;
  }

  #how .steps{
    gap:8px;
  }

  #how .step{
    padding:11px 12px;
  }
}

/* ---------- STAGE 8.4 · PHILOSOPHY PREMIUM REFINEMENT ---------- */
@media(max-width:620px){
  #philosophy::after{
    bottom:5%;
    opacity:.3;
    -webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.78) 18%,rgba(0,0,0,.78) 82%,transparent);
    mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.78) 18%,rgba(0,0,0,.78) 82%,transparent);
  }

  .philosophy-section::before{
    top:17%;
    right:5%;
    opacity:.34;
  }

  .philosophy-inner{
    padding:16px 21px max(18px,var(--app-safe-bottom));
    overflow-x:hidden;
  }

  .philosophy-kicker{
    margin:0 0 7px;
    color:rgba(231,186,96,.86);
    font-size:11px;
    letter-spacing:.17em;
  }

  .philosophy-wave{
    position:relative;
    z-index:2;
    display:block;
    flex:0 0 72px;
    width:114%;
    height:72px;
    margin:0 -7% 9px;
    opacity:.53;
    mix-blend-mode:screen;
    filter:
      contrast(1.08)
      saturate(.94)
      drop-shadow(0 0 14px rgba(217,164,65,.18));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    pointer-events:none;
  }

  .philosophy-quote{
    max-width:10.8ch;
    margin:0 0 13px;
    font-size:clamp(28px,8.65vw,34px);
    line-height:1.07;
    letter-spacing:-.034em;
    text-wrap:balance;
    text-shadow:
      0 4px 24px rgba(0,0,0,.48),
      0 0 22px rgba(217,164,65,.035);
  }

  .philosophy-text{
    max-width:43ch;
    margin:0;
    color:rgba(226,221,225,.76);
    font-size:12px;
    line-height:1.58;
    letter-spacing:.002em;
  }
}

@media(max-width:350px){
  .philosophy-inner{
    padding-right:18px;
    padding-left:18px;
  }

  .philosophy-wave{
    flex-basis:66px;
    height:66px;
    margin-bottom:7px;
  }

  .philosophy-quote{
    font-size:27px;
  }

  .philosophy-text{
    font-size:11.5px;
    line-height:1.55;
  }
}

/* ---------- STAGE 8.8 · HIDDEN CORPORATE PANEL ---------- */
#corporate.corporate-panel{
  position:fixed !important;
  z-index:230;
  inset:0;
  display:block;
  width:100%;
  height:100dvh;
  min-height:0;
  padding:0;
  overflow:hidden;
  visibility:hidden;
  background:
    radial-gradient(circle at 82% 12%,rgba(217,164,65,.13),transparent 31%),
    radial-gradient(circle at 8% 72%,rgba(217,164,65,.05),transparent 35%),
    linear-gradient(180deg,#121013,#080809 74%);
  opacity:0;
  pointer-events:none;
  transform:translateY(100%);
  transition:
    transform .44s cubic-bezier(.22,.78,.22,1),
    opacity .3s ease,
    visibility 0s linear .44s;
}

#corporate.corporate-panel.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  transition:
    transform .44s cubic-bezier(.22,.78,.22,1),
    opacity .3s ease,
    visibility 0s;
}

.corporate-panel-shell{
  position:relative;
  z-index:2;
  display:flex;
  width:100%;
  height:100%;
  min-height:0;
  flex-direction:column;
}

.corporate-panel-topbar{
  display:grid;
  min-height:calc(70px + env(safe-area-inset-top));
  flex:none;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:env(safe-area-inset-top) 16px 0;
  border-bottom:1px solid rgba(217,164,65,.11);
  background:rgba(10,10,11,.75);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(22px) saturate(1.1);
  -webkit-backdrop-filter:blur(22px) saturate(1.1);
}

.corporate-panel-close{
  display:flex;
  width:max-content;
  min-height:44px;
  align-items:center;
  gap:7px;
  padding:0 8px 0 4px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#e9e4da;
  font:700 11px 'Manrope',sans-serif;
}

.corporate-panel-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
}

.corporate-panel-label{
  justify-self:end;
  color:#9d969e;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:right;
  text-transform:uppercase;
}

#corporate.corporate-panel > .corporate-panel-shell > .wrap{
  display:grid;
  width:100%;
  min-height:0;
  flex:1;
  place-items:center;
  padding:24px max(18px,calc((100vw - 1120px)/2)) calc(24px + env(safe-area-inset-bottom));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

#corporate.corporate-panel > .corporate-panel-shell > .wrap::-webkit-scrollbar{
  display:none;
}

#corporate.corporate-panel .corporate-box{
  width:min(100%,900px);
  margin:0;
}

body.corporate-panel-open{
  overflow:hidden;
}

@media(max-width:620px){
  #corporate.corporate-panel > .corporate-panel-shell > .wrap{
    height:auto;
    padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  }

  #corporate.corporate-panel .corporate-box{
    margin:0;
    padding:19px;
  }

  #corporate.corporate-panel .corp-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-height:620px) and (max-width:620px){
  #corporate.corporate-panel > .corporate-panel-shell > .wrap{
    place-items:start center;
    padding-top:12px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom));
  }

  #corporate.corporate-panel .corporate-box{
    padding:15px;
  }

  #corporate.corporate-panel .corp-text{
    font-size:11px;
  }
}

/* ---------- STAGE 8.8 · FIXED FULL PLAYER CONTROLS ---------- */
@media(max-width:620px){
  .song-player-shell{
    --player-controls-height:126px;
    height:100dvh;
    max-height:100dvh;
    overflow:hidden;
  }

  .song-player-topbar{
    min-height:calc(70px + env(safe-area-inset-top));
  }

  .song-player-scroll{
    position:relative;
    width:100%;
    min-height:0;
    flex:1 1 auto;
    padding:9px 16px 16px;
    overflow-x:hidden;
    overflow-y:auto;
    scroll-padding-block:9px 18px;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
  }

  .song-player-cover{
    width:clamp(142px,min(58vw,27dvh),232px);
    max-width:none;
    aspect-ratio:1;
    border-radius:clamp(19px,5.5vw,25px);
  }

  .song-player-copy{
    max-width:430px;
    margin:9px auto 0;
  }

  .song-player-copy h1{
    display:-webkit-box;
    max-width:100%;
    overflow:hidden;
    color:#f3eee5;
    font-size:clamp(21px,7vw,32px);
    line-height:1.06;
    letter-spacing:-.03em;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .song-player-language{
    display:block;
    width:max-content;
    min-width:34px;
    margin:5px auto 0;
    padding:3px 8px;
    border:1px solid rgba(217,164,65,.2);
    border-radius:999px;
    background:rgba(217,164,65,.065);
    color:#d9a441;
    font-size:8px;
    font-weight:800;
    letter-spacing:.09em;
    line-height:1.2;
    text-transform:uppercase;
  }

  .song-player-description-preview{
    display:grid;
    justify-items:center;
    margin-top:5px;
  }

  .song-player-copy #songPlayerDescription{
    display:-webkit-box;
    max-width:46ch;
    margin:0 auto;
    overflow:hidden;
    color:#aaa4ac;
    font-size:clamp(10.5px,3.05vw,12px);
    line-height:1.43;
    text-align:center;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
  }

  .song-player-description-toggle{
    display:inline-flex;
    min-width:44px;
    min-height:44px;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:8px 10px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#d9a441;
    font:800 10px/1.2 'Manrope',sans-serif;
    text-decoration:underline;
    text-decoration-color:rgba(217,164,65,.35);
    text-underline-offset:3px;
  }

  .song-player-description-toggle[hidden]{
    display:none;
  }

  .song-player-controls{
    position:relative;
    z-index:6;
    display:flex;
    width:100%;
    max-width:none;
    min-height:var(--player-controls-height);
    flex:none;
    flex-direction:column;
    gap:3px;
    margin:0;
    padding:5px 18px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(217,164,65,.12);
    background:
      radial-gradient(circle at 50% 0,rgba(217,164,65,.08),transparent 48%),
      rgba(8,8,9,.95);
    box-shadow:0 -16px 38px rgba(0,0,0,.34);
    backdrop-filter:blur(22px) saturate(1.08);
    -webkit-backdrop-filter:blur(22px) saturate(1.08);
  }

  .song-player-timeline{
    width:min(100%,430px);
    margin:0 auto;
  }

  #songPlayerSeek{
    height:36px;
  }

  .song-player-times{
    margin-top:-2px;
  }

  .song-player-transport{
    grid-template-columns:44px 54px 44px;
    gap:19px;
    margin-top:1px;
  }

  .song-player-skip{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
  }

  .song-player-toggle{
    width:54px;
    height:54px;
  }

  .song-player-text-block{
    margin-top:15px;
  }

  .song-player-order{
    margin-bottom:2px;
  }

  .song-player-description-sheet{
    position:absolute;
    z-index:7;
    top:calc(70px + env(safe-area-inset-top) + 8px);
    right:12px;
    bottom:calc(var(--player-controls-height) + env(safe-area-inset-bottom) + 8px);
    left:12px;
    display:flex;
    min-height:0;
    flex-direction:column;
    overflow:hidden;
    visibility:hidden;
    border:1px solid rgba(239,195,102,.24);
    border-radius:23px;
    background:
      radial-gradient(circle at 82% 5%,rgba(217,164,65,.11),transparent 32%),
      linear-gradient(160deg,rgba(27,25,29,.985),rgba(10,10,12,.99));
    box-shadow:
      0 28px 70px rgba(0,0,0,.58),
      inset 0 1px rgba(255,255,255,.05);
    opacity:0;
    pointer-events:none;
    transform:translateY(14px) scale(.985);
    transition:
      transform .28s cubic-bezier(.22,.78,.22,1),
      opacity .22s ease,
      visibility 0s linear .28s;
  }

  .song-player-description-sheet.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition:
      transform .28s cubic-bezier(.22,.78,.22,1),
      opacity .22s ease,
      visibility 0s;
  }

  .song-player-description-sheet-head{
    display:flex;
    min-height:58px;
    flex:none;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 10px 8px 16px;
    border-bottom:1px solid rgba(217,164,65,.12);
  }

  .song-player-description-sheet-head h2{
    color:#eee8de;
    font-size:17px;
    line-height:1.2;
  }

  .song-player-description-sheet-head button{
    min-width:44px;
    min-height:44px;
    padding:0 9px;
    border:0;
    border-radius:12px;
    background:rgba(217,164,65,.075);
    color:#d9a441;
    font:800 10px 'Manrope',sans-serif;
  }

  .song-player-description-sheet-scroll{
    min-height:0;
    flex:1;
    padding:16px 17px 20px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    color:#c8c1c7;
    font-size:13px;
    line-height:1.72;
    white-space:pre-wrap;
    scrollbar-width:thin;
    scrollbar-color:rgba(217,164,65,.35) transparent;
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-height:620px) and (max-width:620px){
  .song-player-shell{
    --player-controls-height:118px;
  }

  .song-player-scroll{
    padding-top:7px;
  }

  .song-player-cover{
    width:clamp(132px,min(55vw,25dvh),166px);
  }

  .song-player-copy{
    margin-top:7px;
  }

  .song-player-copy h1{
    font-size:clamp(20px,6.6vw,25px);
  }

  .song-player-language{
    margin-top:3px;
  }

  .song-player-description-preview{
    margin-top:3px;
  }

  .song-player-copy #songPlayerDescription{
    font-size:10.5px;
    line-height:1.38;
  }

  .song-player-description-toggle{
    min-height:38px;
    padding-top:5px;
    padding-bottom:5px;
  }

  .song-player-controls{
    padding-top:3px;
    padding-bottom:calc(5px + env(safe-area-inset-bottom));
  }

  #songPlayerSeek{
    height:32px;
  }

  .song-player-transport{
    grid-template-columns:44px 50px 44px;
    gap:17px;
  }

  .song-player-toggle{
    width:50px;
    height:50px;
  }
}

/* ---------- STAGE 8.9 · PRICING COMPOSITION ---------- */
.pricing-order-cta{
  display:flex;
  width:100%;
  min-height:56px;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  border:1px solid rgba(255,236,194,.38);
  border-radius:18px;
  background:linear-gradient(135deg,#efc05b,#d9a441 56%,#bd7e20);
  color:#171106;
  box-shadow:
    0 18px 42px rgba(217,164,65,.22),
    inset 0 1px rgba(255,255,255,.42);
  font-size:13px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  transition:
    transform var(--tw-motion-fast) var(--tw-ease),
    box-shadow var(--tw-motion-fast) ease,
    filter var(--tw-motion-fast) ease;
}

.pricing-order-cta:active{
  transform:scale(.98);
  filter:brightness(.97);
}

@media(max-width:620px){
  #pricing > .wrap{
    display:grid;
    height:100%;
    min-height:0;
    grid-template-rows:auto auto auto;
    align-content:start;
    gap:8px;
    padding:11px var(--app-side) max(8px,env(safe-area-inset-bottom));
    overflow:hidden;
  }

  #pricing .sec-head{
    min-width:0;
    margin:0;
  }

  #pricing .sec-head .eyebrow{
    margin:0;
    color:rgba(231,186,96,.88);
    font-size:11px;
    letter-spacing:.17em;
  }

  .pricing-wave{
    position:relative;
    z-index:2;
    display:block;
    width:112%;
    height:44px;
    margin:2px -6% 3px;
    opacity:.47;
    mix-blend-mode:screen;
    filter:
      contrast(1.06)
      saturate(.9)
      drop-shadow(0 0 12px rgba(217,164,65,.15));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
    pointer-events:none;
  }

  #pricing .sec-head h2{
    margin:0;
    font-size:clamp(25px,7.8vw,31px);
    line-height:1.04;
    letter-spacing:-.033em;
    text-wrap:balance;
  }

  #pricing .sec-head p{
    display:block;
    max-width:43ch;
    margin:6px 0 0;
    overflow:visible;
    color:#aaa4ac;
    font-size:clamp(10.5px,2.9vw,12px);
    line-height:1.38;
    -webkit-box-orient:initial;
    -webkit-line-clamp:unset;
  }

  #pricing .pricing-promo{
    width:100%;
    min-height:26px;
    justify-content:space-between;
    margin-top:7px;
    padding:5px 9px;
    font-size:8.5px;
  }

  #pricing .tiers-grid{
    gap:7px;
  }

  #pricing .tier-card{
    height:134px;
    min-height:134px;
    padding:11px 9px 8px;
    border-radius:16px;
  }

  #pricing .tier-badge{
    margin:-2px 0 4px;
    padding:3px 5px;
    font-size:6.5px;
  }

  #pricing .tier-name{
    min-height:2.35em;
    font-size:clamp(10.5px,3.15vw,13px);
  }

  #pricing .tier-price{
    margin-top:5px;
    font-size:clamp(22px,6.6vw,28px);
  }

  #pricing .tier-card-open{
    min-height:32px;
    padding-top:7px;
  }

  .pricing-order-cta{
    min-height:50px;
    padding:12px 16px;
    border-radius:16px;
    font-size:12px;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  #pricing > .wrap{
    gap:6px;
    padding-top:8px;
    padding-right:15px;
    padding-left:15px;
  }

  #pricing .sec-head .eyebrow{
    font-size:10px;
  }

  .pricing-wave{
    height:36px;
    margin-top:1px;
    margin-bottom:2px;
  }

  #pricing .sec-head h2{
    font-size:23px;
  }

  #pricing .sec-head p{
    display:block;
    margin-top:4px;
    font-size:9.7px;
    line-height:1.32;
  }

  #pricing .pricing-promo{
    min-height:22px;
    margin-top:5px;
    padding-top:4px;
    padding-bottom:4px;
    font-size:7.7px;
  }

  #pricing .tier-card{
    height:121px;
    min-height:121px;
    padding:9px 7px 7px;
  }

  #pricing .tier-name{
    min-height:2.3em;
    font-size:10px;
  }

  #pricing .tier-price{
    margin-top:3px;
    font-size:20px;
  }

  #pricing .tier-card-open{
    min-height:28px;
    padding-top:5px;
    font-size:7px;
  }

  .pricing-order-cta{
    min-height:46px;
    padding-top:10px;
    padding-bottom:10px;
    font-size:11px;
  }
}

/* ---------- STAGE 9.4 · ORDER SCREEN & CONTACT HUB ---------- */
.story-path-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#contact .story-path-picker{
  display:grid;
}

#contact:not(.is-story-path-form) #storyOrderForm{
  display:none;
}

#contact.is-story-path-form .story-path-picker,
#contact.is-story-path-form > .wrap > .sec-head{
  display:none;
}

#contact.is-story-path-form #storyOrderForm{
  display:block;
}

.contact-hub{
  position:relative;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 83% 5%,rgba(217,164,65,.09),transparent 31%),
    radial-gradient(circle at 12% 72%,rgba(217,164,65,.045),transparent 32%),
    linear-gradient(180deg,#0d0d0f,#09090a 76%);
}

.contact-hub::before{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(118deg,rgba(255,255,255,.008) 0 1px,transparent 1px 18px);
  content:"";
  pointer-events:none;
}

.contact-hub-scroll{
  position:relative;
  z-index:1;
  display:flex;
  min-height:720px;
  flex-direction:column;
  padding-top:46px;
  padding-bottom:16px;
}

.contact-hub-heading{
  text-align:center;
}

.contact-hub-heading .eyebrow{
  color:rgba(231,186,96,.82);
  letter-spacing:.19em;
}

.contact-hub-heading h2{
  margin:7px 0 0;
  font-size:clamp(36px,6vw,58px);
  line-height:1;
}

.contact-hub-heading p{
  margin:9px 0 0;
  color:#aaa4ac;
  font-size:13px;
}

.contact-hub-socials{
  display:grid;
  width:min(100%,620px);
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  margin:24px auto 0;
}

.contact-hub-channel{
  display:flex;
  min-width:0;
  min-height:66px;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(240,200,116,.16);
  border-radius:17px;
  background:rgba(255,255,255,.025);
  color:#e1ad4c;
  text-align:center;
  text-decoration:none;
  touch-action:manipulation;
  transition:
    transform var(--tw-motion-fast) var(--tw-ease),
    border-color var(--tw-motion-fast) ease,
    background var(--tw-motion-fast) ease,
    box-shadow var(--tw-motion-fast) ease;
}

.contact-hub-channel-icon{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
}

.contact-hub-channel-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-hub-at{
  font:600 24px/1 'Fraunces',serif;
}

.contact-hub-channel small{
  overflow:hidden;
  max-width:100%;
  color:#b9b1b8;
  font-size:8px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.contact-hub-channel.is-pending{
  opacity:.42;
}

.contact-hub-channel:not(.is-pending):hover,
.contact-hub-channel:not(.is-pending):focus-visible{
  border-color:rgba(239,195,102,.48);
  background:rgba(217,164,65,.07);
  box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 22px rgba(217,164,65,.08);
  outline:none;
  transform:translateY(-2px);
}

.contact-hub-channel:not(.is-pending):active{
  transform:scale(.97);
}

.contact-hub-payment{
  display:flex;
  width:min(100%,620px);
  min-height:70px;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:18px auto 0;
  padding:13px 15px;
  border:1px solid rgba(245,225,181,.095);
  border-radius:18px;
  background:rgba(255,255,255,.022);
}

.contact-hub-payment h3,
.contact-hub-column h3{
  margin:0;
  color:#e3ae4c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-hub-payment p{
  margin:4px 0 0;
  color:#8f8992;
  font-size:9px;
  line-height:1.35;
}

.contact-payment-slot{
  display:flex;
  flex:none;
  gap:5px;
}

.contact-payment-slot span{
  display:block;
  width:26px;
  height:18px;
  border:1px dashed rgba(217,164,65,.2);
  border-radius:5px;
  background:rgba(217,164,65,.025);
}

.contact-hub-navigation{
  display:grid;
  width:min(100%,620px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin:20px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(245,225,181,.08);
}

.contact-hub-column{
  display:grid;
  min-width:0;
  align-content:start;
}

.contact-hub-column h3{
  margin-bottom:6px;
}

.contact-hub-column :where(a,button,span){
  display:flex;
  min-width:0;
  min-height:38px;
  align-items:center;
  padding:4px 0;
  border:0;
  border-bottom:1px solid rgba(245,225,181,.055);
  background:none;
  color:#bdb6bd;
  font:600 10px/1.3 'Manrope',sans-serif;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  touch-action:manipulation;
  transition:color var(--tw-motion-fast) ease,padding-left var(--tw-motion-fast) ease;
}

.contact-hub-column :where(a,button):hover,
.contact-hub-column :where(a,button):focus-visible{
  padding-left:4px;
  color:#efbd57;
  outline:none;
}

.contact-hub-column .is-pending{
  color:#6f6a71;
  cursor:default;
}

.contact-hub-copyright{
  display:flex;
  width:min(100%,620px);
  align-items:baseline;
  justify-content:center;
  gap:9px;
  margin:18px auto 0;
  color:#77727a;
  font-size:8px;
}

.contact-hub-copyright strong{
  color:#d7a341;
  font:600 14px/1 'Fraunces',serif;
}

.contact-hub-copyright small{
  color:#77727a;
  font-size:8px;
}

.contact-signature-wave{
  display:block;
  width:min(112%,680px);
  height:52px;
  flex:none;
  margin:auto auto 0;
  opacity:.16;
  filter:contrast(1.02) saturate(.86) drop-shadow(0 0 9px rgba(217,164,65,.1));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
  pointer-events:none;
  transition:opacity .9s ease,filter .9s ease;
}

.contact-hub.is-signature-visible .contact-signature-wave{
  opacity:.38;
  filter:contrast(1.04) saturate(.9) drop-shadow(0 0 12px rgba(217,164,65,.13));
}

@media(min-width:621px){
  #contact .story-path-picker{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }

  #contact .story-path-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:12px;
    padding:18px;
    border:1px solid rgba(217,164,65,.14);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(27,26,30,.92),rgba(13,13,15,.96));
  }

  #contact .story-path-card > button{
    min-height:46px;
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  #contactHub{
    width:100%;
    height:var(--app-screen);
    min-height:var(--app-screen);
    max-height:var(--app-screen);
    padding:0;
    overflow:hidden;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  #contactHub > .wrap{
    width:100%;
    height:100%;
    min-height:0;
    padding:14px var(--app-side) max(7px,env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    scrollbar-width:none;
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
  }

  #contactHub > .wrap::-webkit-scrollbar{
    display:none;
  }

  #contact:not(.is-story-path-form) > .wrap{
    display:flex;
    height:100%;
    min-height:0;
    flex-direction:column;
    justify-content:safe center;
    padding:7px var(--app-side);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    touch-action:pan-y;
  }

  #contact:not(.is-story-path-form) .sec-head{
    flex:none;
    margin:0 0 6px;
  }

  #contact:not(.is-story-path-form) .sec-head .eyebrow{
    margin-bottom:4px;
    font-size:9px;
    letter-spacing:.16em;
  }

  #contact:not(.is-story-path-form) .sec-head h2{
    margin:0;
    font-size:clamp(22px,6.6vw,27px);
    line-height:1.02;
  }

  #contact:not(.is-story-path-form) .sec-head p{
    display:none;
  }

  #contact .story-path-picker{
    width:100%;
    min-height:0;
    flex:none;
    align-content:start;
    gap:6px;
    padding:0;
    overflow:visible;
    touch-action:pan-y;
  }

  #contact .story-path-card{
    min-height:0;
    grid-template-columns:36px minmax(0,1fr);
    grid-template-rows:auto 44px;
    align-items:center;
    gap:5px 9px;
    padding:7px 9px;
    border-radius:15px;
    touch-action:pan-y;
  }

  #contact .story-path-icon{
    width:36px;
    height:36px;
    border-radius:11px;
    color:#e6b455;
    font-size:0;
  }

  #contact .story-path-icon svg{
    width:21px;
    height:21px;
  }

  #contact .story-path-card > div{
    min-width:0;
  }

  #contact .story-path-card h3{
    margin:0 0 2px;
    font-size:15px;
    line-height:1.08;
  }

  #contact .story-path-card p{
    font-size:9.2px;
    line-height:1.28;
  }

  #contact .story-path-card > button{
    min-height:44px;
    grid-column:1/-1;
    padding:7px 12px;
    border-radius:13px;
    font-size:10.5px;
    touch-action:manipulation;
  }

  .contact-hub-heading .eyebrow{
    font-size:9px;
    letter-spacing:.18em;
  }

  .contact-hub-heading h2{
    margin-top:4px;
    font-size:clamp(29px,8.4vw,35px);
  }

  .contact-hub-heading p{
    margin-top:5px;
    font-size:10px;
    line-height:1.35;
  }

  .contact-hub-socials{
    gap:4px;
    margin-top:10px;
  }

  .contact-hub-channel{
    min-height:55px;
    gap:3px;
    border-radius:13px;
  }

  .contact-hub-channel-icon{
    width:34px;
    height:34px;
  }

  .contact-hub-channel-icon svg{
    width:23px;
    height:23px;
  }

  .contact-hub-channel small{
    font-size:clamp(6.1px,1.75vw,7.5px);
  }

  .contact-hub-payment{
    min-height:56px;
    gap:10px;
    margin-top:10px;
    padding:9px 11px;
    border-radius:15px;
  }

  .contact-hub-payment h3,
  .contact-hub-column h3{
    font-size:8.5px;
  }

  .contact-hub-payment p{
    font-size:7.8px;
  }

  .contact-payment-slot span{
    width:21px;
    height:15px;
  }

  .contact-hub-navigation{
    gap:14px;
    margin-top:10px;
    padding-top:10px;
  }

  .contact-hub-column h3{
    margin-bottom:3px;
  }

  .contact-hub-column :where(a,button,span){
    min-height:44px;
    padding:4px 0;
    font-size:clamp(8px,2.25vw,9.5px);
    line-height:1.24;
  }

  .contact-hub-copyright{
    flex-wrap:wrap;
    gap:4px 8px;
    margin-top:10px;
    font-size:7px;
  }

  .contact-hub-copyright strong{
    font-size:13px;
  }

  .contact-hub-copyright small{
    font-size:7px;
  }

  .contact-signature-wave{
    width:100%;
    height:46px;
    margin-right:auto;
    margin-left:auto;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  #contact:not(.is-story-path-form) > .wrap{
    justify-content:flex-start;
    padding-top:5px;
    padding-right:15px;
    padding-left:15px;
  }

  #contact:not(.is-story-path-form) .sec-head{
    margin-bottom:5px;
  }

  #contact:not(.is-story-path-form) .sec-head h2{
    font-size:21px;
  }

  #contact .story-path-picker{
    gap:5px;
  }

  #contact .story-path-card{
    gap:4px 8px;
    padding:6px 8px;
  }

  #contact .story-path-card h3{
    font-size:14px;
  }

  #contact .story-path-card p{
    font-size:8.7px;
    line-height:1.23;
  }

  #contact .story-path-card > button{
    font-size:10px;
  }

  #contactHub > .wrap{
    padding-top:10px;
    padding-right:15px;
    padding-left:15px;
  }

  .contact-hub-column :where(a,button,span){
    min-height:42px;
    font-size:7.8px;
  }

  .contact-signature-wave{
    height:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-signature-wave,
  .contact-hub-channel,
  .contact-hub-column :where(a,button,span){
    transition-duration:.01ms;
  }
}

/* ---------- STAGE 8.9 · LIBRARY SHOWCASES ---------- */
#tracks > .wrap > .songs-library-filters,
#tracks > .wrap > .songs-library-stage,
#author > .wrap > .author-grid,
#author > .wrap > .author-signature{
  display:none;
}

.library-showcase{
  width:min(100%,720px);
}

.library-featured-card{
  display:grid;
  width:100%;
  min-height:164px;
  grid-template-columns:minmax(132px,42%) minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:12px;
  border:1px solid rgba(245,225,181,.13);
  border-radius:24px;
  background:
    radial-gradient(circle at 18% 0,rgba(217,164,65,.12),transparent 44%),
    linear-gradient(145deg,rgba(27,26,30,.96),rgba(13,13,16,.98));
  color:var(--ink);
  box-shadow:
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px rgba(255,255,255,.035);
  text-align:left;
  cursor:pointer;
  touch-action:pan-y;
  transition:
    transform var(--tw-motion-fast) var(--tw-ease),
    border-color var(--tw-motion-fast) ease,
    background var(--tw-motion-base) ease;
}

.library-featured-card:active{
  transform:scale(.985);
  border-color:rgba(217,164,65,.32);
}

.library-featured-cover{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(217,164,65,.18);
  border-radius:18px;
  background:#151319;
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}

.library-featured-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.library-featured-play{
  position:absolute;
  right:10px;
  bottom:10px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,241,210,.46);
  border-radius:50%;
  background:linear-gradient(135deg,#efc05b,#d9a441 58%,#bd7e20);
  box-shadow:0 10px 24px rgba(0,0,0,.3);
}

.library-featured-play::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  transform:translate(-38%,-50%);
  border-width:7px 0 7px 11px;
  border-style:solid;
  border-color:transparent transparent transparent #171106;
}

.library-featured-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}

.library-featured-copy small{
  margin-bottom:10px;
  color:rgba(231,186,96,.84);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.35;
  text-transform:uppercase;
}

.library-featured-copy strong{
  display:-webkit-box;
  overflow:hidden;
  font-family:'Fraunces',serif;
  font-size:clamp(20px,5vw,28px);
  font-weight:600;
  line-height:1.08;
  text-wrap:balance;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.library-featured-copy > span{
  margin-top:11px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}

.library-showcase-footer{
  display:grid;
  gap:11px;
  margin-top:14px;
}

.library-catalog-count{
  color:var(--muted);
  font-size:12px;
  text-align:center;
}

.library-catalog-count strong{
  color:var(--gold);
  font-size:15px;
}

.library-open-button{
  width:100%;
  min-height:52px;
  padding:13px 18px;
  border:1px solid rgba(217,164,65,.35);
  border-radius:17px;
  background:
    linear-gradient(135deg,rgba(217,164,65,.14),rgba(217,164,65,.055)),
    rgba(19,18,21,.94);
  color:#efc365;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  touch-action:pan-y;
  transition:
    transform var(--tw-motion-fast) var(--tw-ease),
    background var(--tw-motion-fast) ease;
}

.library-open-button:active{
  transform:scale(.985);
  background:rgba(217,164,65,.16);
}

/* ---------- STAGE 8.9 · FULLSCREEN MUSIC LIBRARIES ---------- */
.music-library-panel{
  position:fixed;
  z-index:180;
  inset:0;
  display:block;
  width:100%;
  height:100dvh;
  padding:0;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(18px);
  transition:
    transform .32s var(--tw-ease),
    opacity .26s ease,
    visibility 0s linear .34s;
}

.music-library-panel.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  transition:
    transform .32s var(--tw-ease),
    opacity .26s ease,
    visibility 0s;
}

.music-library-shell{
  display:grid;
  width:100%;
  height:100%;
  min-height:0;
  grid-template-rows:auto minmax(0,1fr);
  background:
    radial-gradient(circle at 88% 0,rgba(217,164,65,.11),transparent 30%),
    radial-gradient(circle at 8% 78%,rgba(217,164,65,.045),transparent 34%),
    #0b0b0d;
}

.music-library-topbar{
  display:grid;
  min-height:calc(64px + env(safe-area-inset-top));
  grid-template-columns:minmax(74px,1fr) auto minmax(74px,1fr);
  align-items:center;
  gap:8px;
  padding:env(safe-area-inset-top) 14px 0;
  border-bottom:1px solid rgba(245,225,181,.09);
  background:rgba(10,10,12,.88);
  backdrop-filter:blur(22px) saturate(1.08);
  -webkit-backdrop-filter:blur(22px) saturate(1.08);
}

.music-library-close{
  display:flex;
  width:max-content;
  min-width:44px;
  min-height:44px;
  align-items:center;
  gap:5px;
  padding:0 8px 0 4px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.music-library-close:active{
  background:rgba(217,164,65,.08);
}

.music-library-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.music-library-topbar .song-player-brand{
  justify-self:center;
}

.music-library-kind{
  overflow:hidden;
  justify-self:end;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.music-library-scroll{
  min-height:0;
  padding:22px max(14px,env(safe-area-inset-left)) calc(28px + env(safe-area-inset-bottom));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scrollbar-width:none;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}

.music-library-scroll::-webkit-scrollbar{
  display:none;
}

.music-library-heading{
  max-width:42ch;
}

.music-library-heading .eyebrow{
  color:rgba(231,186,96,.84);
  font-size:10px;
}

.music-library-heading h2{
  margin-top:9px;
  font-family:'Fraunces',serif;
  font-size:clamp(27px,8vw,36px);
  line-height:1.05;
  letter-spacing:-.025em;
}

.music-library-heading > p:last-child{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.48;
}

.music-library-filters{
  position:sticky;
  z-index:4;
  top:-22px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  margin:18px 0 14px;
  padding:8px 0;
  background:linear-gradient(180deg,#0b0b0d 74%,transparent);
}

.music-library-filters button{
  min-width:0;
  min-height:44px;
  padding:8px 4px;
  border:1px solid rgba(245,225,181,.1);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#9f9aa2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  cursor:pointer;
  transition:
    color var(--tw-motion-fast) ease,
    border-color var(--tw-motion-fast) ease,
    background var(--tw-motion-fast) ease,
    transform var(--tw-motion-fast) var(--tw-ease);
}

.music-library-filters button.is-active{
  border-color:rgba(239,192,91,.48);
  background:linear-gradient(135deg,#e8b850,#bf7f21);
  color:#171106;
  box-shadow:0 9px 24px rgba(217,164,65,.15);
}

.music-library-filters button:active{
  transform:scale(.96);
}

.music-library-results{
  min-height:0;
}

.music-library-card-list{
  display:grid;
  width:100%;
  grid-template-columns:1fr;
  gap:10px;
  overflow:visible;
  padding:0;
  -webkit-mask-image:none;
  mask-image:none;
}

.music-library-panel [hidden]{
  display:none!important;
}

.music-library-panel .track,
.music-library-panel .author-card{
  position:relative;
  display:grid;
  width:100%;
  min-height:92px;
  grid-template-columns:76px minmax(0,1fr);
  align-items:center;
  overflow:hidden;
  padding:8px 58px 8px 8px;
  border:1px solid rgba(245,241,232,.085);
  border-radius:18px;
  background:linear-gradient(145deg,#18181d,#111115);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  cursor:pointer;
  touch-action:pan-y;
}

.music-library-panel .track .story-cover,
.music-library-panel .author-card::before,
.music-library-panel .author-cover{
  width:76px;
  height:76px;
  grid-column:1;
  grid-row:1;
  margin:0;
  border-radius:15px;
}

.music-library-panel .author-card::before{
  content:"";
  display:block;
  border:1px solid rgba(217,164,65,.18);
  background:
    linear-gradient(90deg,transparent 8%,rgba(217,164,65,.82) 8% 12%,transparent 12% 20%,rgba(217,164,65,.45) 20% 24%,transparent 24% 32%,rgba(217,164,65,.9) 32% 36%,transparent 36% 44%,rgba(217,164,65,.55) 44% 48%,transparent 48% 56%,rgba(217,164,65,.75) 56% 60%,transparent 60% 68%,rgba(217,164,65,.38) 68% 72%,transparent 72% 80%,rgba(217,164,65,.7) 80% 84%,transparent 84%),
    radial-gradient(circle at 50% 45%,rgba(217,164,65,.19),transparent 64%),
    #17140e;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 42%,100% 100%,100% 100%;
}

.music-library-panel .author-card-with-cover::before{
  display:none;
}

.music-library-panel .track-body,
.music-library-panel .author-card .track-body{
  display:flex;
  min-width:0;
  min-height:76px;
  grid-column:2;
  grid-row:1;
  justify-content:center;
  padding:5px 0 5px 12px;
}

.music-library-panel .track-title,
.music-library-panel .author-card .track-title{
  overflow:hidden;
  margin:0 0 6px;
  font-family:'Manrope',sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.32;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.music-library-panel .track-desc,
.music-library-panel .listen-label,
.music-library-panel canvas,
.music-library-panel .track-time,
.music-library-panel .author-track-meta{
  display:none;
}

.music-library-panel .story-meta{
  display:flex;
  gap:5px;
  margin:0;
  overflow:hidden;
  flex-wrap:nowrap;
}

.music-library-panel .story-meta span{
  overflow:hidden;
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.music-library-panel .story-meta span + span::before{
  content:"·";
  margin-right:5px;
  color:rgba(245,241,232,.25);
}

.music-library-panel .author-card .track-body::before{
  content:"Kosta Trufakin";
  order:2;
  overflow:hidden;
  color:var(--muted);
  font-size:10px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.music-library-panel .author-card .track-title{
  order:1;
}

.music-library-panel .play-btn{
  position:absolute;
  z-index:2;
  top:50%;
  right:10px;
  width:44px;
  height:44px;
  margin:0;
  transform:translateY(-50%);
  border:1px solid rgba(245,241,232,.28);
  background:rgba(255,255,255,.035);
}

.music-library-panel .play-btn:hover{
  transform:translateY(-50%) scale(1.04);
}

.music-library-panel .play-btn::before{
  border-width:6px 0 6px 10px;
  border-left-color:var(--ink);
}

.music-library-panel .play-btn.playing{
  border-color:var(--gold);
  background:var(--gold);
}

.music-library-empty{
  display:grid;
  min-height:180px;
  place-content:center;
  gap:9px;
  padding:30px 18px;
  border:1px dashed rgba(217,164,65,.22);
  border-radius:20px;
  color:var(--muted);
  text-align:center;
}

.music-library-empty span{
  color:var(--gold);
  font-family:'Fraunces',serif;
  font-size:34px;
}

.music-library-empty p{
  max-width:27ch;
  font-size:12px;
  line-height:1.5;
}

.music-library-results .author-signature{
  margin:14px 0 0;
}

body.music-library-open{
  overflow:hidden;
}

@media(max-width:620px){
  .music-library-kind{
    visibility:hidden;
  }

  #tracks > .wrap,
  #author > .wrap{
    display:grid;
    height:100%;
    min-height:0;
    grid-template-rows:auto minmax(0,1fr);
    align-content:start;
    gap:11px;
    padding:14px var(--app-side) max(12px,env(safe-area-inset-bottom));
    overflow:hidden;
  }

  #tracks .sec-head,
  #author .sec-head{
    margin:0;
  }

  #tracks .sec-head h2,
  #author .sec-head h2{
    margin-top:7px;
    font-size:clamp(24px,7.7vw,31px);
    line-height:1.03;
  }

  #tracks .sec-head p,
  #author .sec-head p{
    display:-webkit-box;
    max-width:40ch;
    overflow:hidden;
    margin-top:7px;
    font-size:11px;
    line-height:1.42;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  #tracks .sec-head p{
    -webkit-line-clamp:3;
  }

  .library-showcase{
    display:flex;
    min-height:0;
    flex-direction:column;
    justify-content:center;
  }

  .library-featured-card{
    min-height:0;
    grid-template-columns:minmax(112px,41%) minmax(0,1fr);
    gap:13px;
    padding:9px;
    border-radius:20px;
  }

  .library-featured-cover{
    border-radius:16px;
  }

  .library-featured-play{
    right:8px;
    bottom:8px;
    width:44px;
    height:44px;
  }

  .library-featured-copy small{
    margin-bottom:7px;
    font-size:7.5px;
  }

  .library-featured-copy strong{
    font-size:clamp(18px,5.6vw,24px);
  }

  .library-featured-copy > span{
    margin-top:8px;
    font-size:10px;
  }

  .library-showcase-footer{
    gap:8px;
    margin-top:9px;
  }

  .library-catalog-count{
    font-size:10px;
  }

  .library-catalog-count strong{
    font-size:13px;
  }

  .library-open-button{
    min-height:48px;
    padding:11px 15px;
    border-radius:16px;
    font-size:11px;
  }

  body.music-library-open.mini-player-active .top-mini-player{
    z-index:190;
  }

  body.music-library-open.mini-player-active .music-library-shell{
    padding-top:var(--app-header-height);
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  #tracks > .wrap,
  #author > .wrap{
    gap:7px;
    padding-top:9px;
    padding-right:15px;
    padding-left:15px;
  }

  #tracks .sec-head .eyebrow,
  #author .sec-head .eyebrow{
    font-size:9px;
  }

  #tracks .sec-head h2,
  #author .sec-head h2{
    margin-top:4px;
    font-size:22px;
  }

  #tracks .sec-head p,
  #author .sec-head p{
    margin-top:4px;
    font-size:9.4px;
    line-height:1.32;
  }

  .library-featured-card{
    grid-template-columns:100px minmax(0,1fr);
    gap:10px;
    padding:8px;
  }

  .library-featured-copy small{
    margin-bottom:5px;
    font-size:6.7px;
  }

  .library-featured-copy strong{
    font-size:18px;
  }

  .library-featured-copy > span{
    margin-top:5px;
    font-size:9px;
  }

  .library-featured-play{
    width:40px;
    height:40px;
  }

  .library-showcase-footer{
    gap:5px;
    margin-top:6px;
  }

  .library-open-button{
    min-height:44px;
    padding:9px 12px;
    font-size:10px;
  }
}

@media(min-width:621px){
  .music-library-shell{
    width:min(760px,100%);
    margin-left:auto;
    border-left:1px solid rgba(217,164,65,.16);
    box-shadow:-30px 0 80px rgba(0,0,0,.48);
  }
}

@media(prefers-reduced-motion:reduce){
  .music-library-panel,
  .music-library-shell,
  .library-featured-card,
  .library-open-button{
    transition-duration:.01ms;
  }
}

/* ---------- STAGE 8.10 · MUSIC LIBRARY UX ---------- */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.music-showcase-wave{
  display:block;
  width:min(100%,420px);
  height:34px;
  margin:7px auto 0;
  opacity:.78;
  filter:drop-shadow(0 4px 10px rgba(217,164,65,.09));
}

#tracks .music-showcase-wave{
  display:block;
}

.music-library-sticky{
  position:sticky;
  z-index:5;
  top:-22px;
  display:grid;
  gap:8px;
  margin:17px 0 12px;
  padding:10px 0 9px;
  border-bottom:1px solid rgba(245,225,181,.07);
  background:
    linear-gradient(180deg,#0b0b0d 0,#0b0b0d 88%,rgba(11,11,13,.93) 100%);
}

.music-library-search{
  position:relative;
  display:flex;
  width:100%;
  height:46px;
  align-items:center;
}

.music-library-search svg{
  position:absolute;
  z-index:1;
  left:14px;
  width:18px;
  height:18px;
  fill:none;
  stroke:rgba(245,241,232,.52);
  stroke-linecap:round;
  stroke-width:1.65;
  pointer-events:none;
}

.music-library-search input{
  width:100%;
  height:46px;
  padding:0 42px;
  border:1px solid rgba(245,225,181,.12);
  border-radius:15px;
  outline:0;
  background:rgba(255,255,255,.035);
  color:var(--ink);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  font:600 13px/1.2 'Manrope',sans-serif;
  -webkit-appearance:none;
  appearance:none;
  transition:
    border-color var(--tw-motion-fast) ease,
    background var(--tw-motion-fast) ease,
    box-shadow var(--tw-motion-fast) ease;
}

.music-library-search input::-webkit-search-cancel-button{
  width:17px;
  height:17px;
  cursor:pointer;
  filter:invert(82%) sepia(28%) saturate(971%) hue-rotate(358deg) brightness(95%);
}

.music-library-search input::placeholder{
  color:#87828a;
  opacity:1;
}

.music-library-search input:focus{
  border-color:rgba(239,192,91,.48);
  background:rgba(217,164,65,.055);
  box-shadow:0 0 0 3px rgba(217,164,65,.08);
}

.music-library-sticky .music-library-filters{
  position:relative;
  top:auto;
  display:flex;
  gap:6px;
  margin:0;
  padding:0 0 2px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  background:none;
  scrollbar-width:none;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
}

.music-library-sticky .music-library-filters::-webkit-scrollbar{
  display:none;
}

.music-library-sticky .music-library-filters button{
  min-width:48px;
  min-height:42px;
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:13px;
}

.music-library-sticky .music-library-filters button[data-library-language="ALL"]{
  min-width:62px;
}

.music-library-result-count{
  min-height:1.35em;
  margin:-5px 0 10px;
  color:#918b93;
  font-size:10px;
  font-weight:650;
  letter-spacing:.015em;
  line-height:1.35;
  text-align:right;
}

.music-library-panel .track,
.music-library-panel .author-card{
  min-height:86px;
  grid-template-columns:68px minmax(0,1fr);
  padding:8px 58px 8px 8px;
  border-radius:17px;
  transition:
    border-color var(--tw-motion-fast) ease,
    background var(--tw-motion-fast) ease,
    box-shadow var(--tw-motion-fast) ease,
    transform var(--tw-motion-fast) var(--tw-ease);
}

.music-library-panel .track:active,
.music-library-panel .author-card:active{
  transform:scale(.992);
}

.music-library-panel .track.is-active-track,
.music-library-panel .author-card.is-active-track{
  border-color:rgba(239,192,91,.34);
  background:
    linear-gradient(145deg,rgba(217,164,65,.105),rgba(17,17,21,.98));
  box-shadow:
    0 11px 28px rgba(0,0,0,.18),
    inset 0 0 0 1px rgba(217,164,65,.045);
}

.music-library-panel .track .story-cover,
.music-library-panel .author-card::before,
.music-library-panel .author-cover{
  width:68px;
  height:68px;
  border-radius:14px;
}

.music-library-panel .track-body,
.music-library-panel .author-card .track-body{
  min-height:68px;
  padding:4px 0 4px 11px;
}

.music-library-panel .track-title,
.music-library-panel .author-card .track-title{
  display:-webkit-box;
  margin-bottom:6px;
  overflow:hidden;
  font-size:13px;
  line-height:1.28;
  text-overflow:clip;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.music-library-panel .story-meta,
.music-library-panel .author-card .track-body::before{
  display:none;
}

.music-library-card-meta{
  display:-webkit-box;
  order:3;
  overflow:hidden;
  color:#8f8992;
  font-size:9.5px;
  font-weight:550;
  letter-spacing:.01em;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.music-library-panel .play-btn{
  right:8px;
}

.music-library-empty{
  gap:10px;
}

.music-library-empty strong{
  color:var(--ink);
  font-size:15px;
}

.music-library-empty button{
  min-width:150px;
  min-height:44px;
  margin:2px auto 0;
  padding:9px 15px;
  border:1px solid rgba(217,164,65,.35);
  border-radius:14px;
  background:rgba(217,164,65,.09);
  color:#efc365;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:620px){
  #tracks .sec-head p,
  #author .sec-head p{
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
  }

  #tracks .sec-head h2,
  #author .sec-head h2{
    margin-top:5px;
  }

  .music-showcase-wave{
    height:30px;
    margin-top:4px;
  }

  .library-featured-card{
    grid-template-columns:minmax(120px,44%) minmax(0,1fr);
  }

  .library-featured-play{
    width:40px;
    height:40px;
  }

  .library-showcase{
    justify-content:flex-start;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  .music-showcase-wave{
    height:24px;
    margin-top:2px;
  }

  #tracks .sec-head p,
  #author .sec-head p{
    font-size:9.2px;
    line-height:1.28;
  }

  .library-featured-card{
    grid-template-columns:108px minmax(0,1fr);
  }

  .library-featured-play{
    width:36px;
    height:36px;
  }

  .music-library-search,
  .music-library-search input{
    height:44px;
  }
}

@media(prefers-reduced-motion:reduce){
  .music-library-panel .track,
  .music-library-panel .author-card,
  .music-library-search input,
  .top-mini-artwork img{
    transition-duration:.01ms;
  }
}


/* ---------- STAGE 9 · WEDDING PACKAGES INTEGRATION ---------- */
.wedding-packages{
  display:grid;
  gap:12px;
  width:100%;
  min-width:0;
}

.wedding-packages-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}

.wedding-packages-eyebrow{
  color:#e5b152;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.wedding-packages-heading p{
  max-width:34ch;
  color:#aaa4ac;
  font-size:12px;
  line-height:1.4;
  text-align:right;
}

.wedding-packages-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
  min-width:0;
}

.wedding-package-card{
  position:relative;
  display:grid;
  min-width:0;
  min-height:104px;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:14px 12px;
  overflow:hidden;
  border:1px solid rgba(229,177,82,.26);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 12%,rgba(217,164,65,.12),transparent 48%),
    linear-gradient(145deg,rgba(27,25,29,.96),rgba(13,13,15,.98));
  color:#f1ece4;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
  text-align:left;
  cursor:pointer;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.wedding-package-card:hover,
.wedding-package-card:focus-visible{
  border-color:rgba(239,195,102,.58);
  box-shadow:
    0 12px 34px rgba(0,0,0,.28),
    0 0 28px rgba(217,164,65,.12),
    inset 0 1px rgba(255,255,255,.055);
  outline:none;
}

.wedding-package-card:active{
  transform:scale(.985);
  border-color:rgba(239,195,102,.72);
  box-shadow:0 0 32px rgba(217,164,65,.2);
}

.wedding-package-card.selected{
  border-color:#d9a441;
  box-shadow:0 0 0 1px rgba(217,164,65,.5),0 0 28px rgba(217,164,65,.15);
}

.wedding-package-icon{
  display:grid;
  width:34px;
  height:34px;
  flex:none;
  place-items:center;
  border:1px solid rgba(239,195,102,.22);
  border-radius:12px;
  background:rgba(217,164,65,.075);
  color:#e7b75b;
}

.wedding-package-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.wedding-package-copy{
  display:grid;
  min-width:0;
  gap:4px;
}

.wedding-package-copy strong{
  overflow:hidden;
  color:#f2ede4;
  font:600 16px/1.15 'Fraunces',serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.lang-ka .wedding-package-copy strong{
  font-family:'Noto Serif Georgian',serif;
}

.wedding-package-copy small{
  display:-webkit-box;
  overflow:hidden;
  color:#aaa3aa;
  font-size:10px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.wedding-package-arrow{
  display:grid;
  width:26px;
  height:44px;
  place-items:center;
  color:#d9a441;
}

.wedding-package-arrow svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tier-detail-visual{
  width:100%;
  margin-bottom:18px;
  overflow:hidden;
  border:1px solid rgba(239,195,102,.2);
  border-radius:20px;
  aspect-ratio:16/7;
  background:#0d0c0e;
  box-shadow:0 18px 44px rgba(0,0,0,.3);
}

.tier-detail-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.tier-detail-description{
  margin-top:12px;
  color:#c8c1c7;
  font-size:13px;
  line-height:1.55;
}

.tier-detail-wedding-content{
  display:grid;
  gap:16px;
  margin:20px 0;
}

.tier-detail-info-block{
  padding:16px;
  border:1px solid rgba(245,225,181,.09);
  border-radius:17px;
  background:rgba(255,255,255,.025);
}

.tier-detail-info-block h3{
  margin:0 0 10px;
  color:#e4b152;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tier-detail-info-block ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  color:#c8c1c7;
  font-size:12px;
  line-height:1.42;
  list-style:none;
}

.tier-detail-info-block li{
  display:flex;
  gap:8px;
}

.tier-detail-info-block li::before{
  content:"—";
  flex:none;
  color:#d9a441;
}

.tier-detail-info-block p{
  color:#ded6ce;
  font-size:12px;
  line-height:1.5;
}

.tier-detail-panel.is-wedding .tier-detail-card{
  width:min(100%,520px);
}

.tier-detail-panel.is-wedding .tier-detail-card h2{
  font-size:clamp(34px,9vw,50px);
}

.wedding-package-field[hidden],
.wedding-order-type-pill[hidden],
.tier-detail-visual[hidden],
.tier-detail-description[hidden],
.tier-detail-price[hidden],
.tier-detail-until[hidden],
.tier-detail-features[hidden],
.tier-detail-wedding-content[hidden]{
  display:none !important;
}

@media(max-width:620px){
  #pricing > .wrap{
    grid-template-rows:auto auto auto auto;
    gap:7px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-width:none;
    touch-action:pan-y;
  }

  #pricing > .wrap::-webkit-scrollbar{
    display:none;
  }

  .wedding-packages{
    gap:7px;
  }

  .wedding-packages-heading{
    display:block;
  }

  .wedding-packages-eyebrow{
    font-size:9px;
    letter-spacing:.15em;
  }

  .wedding-packages-heading p{
    max-width:none;
    margin-top:3px;
    font-size:9.5px;
    line-height:1.3;
    text-align:left;
  }

  .wedding-packages-grid{
    gap:6px;
  }

  .wedding-package-card{
    min-height:88px;
    grid-template-columns:1fr auto;
    grid-template-rows:auto 1fr;
    align-items:start;
    gap:5px 3px;
    padding:9px 7px 7px;
    border-radius:15px;
  }

  .wedding-package-icon{
    width:27px;
    height:27px;
    grid-column:1;
    grid-row:1;
    border-radius:9px;
  }

  .wedding-package-icon svg{
    width:18px;
    height:18px;
  }

  .wedding-package-copy{
    grid-column:1 / -1;
    grid-row:2;
    gap:3px;
  }

  .wedding-package-copy strong{
    font-size:clamp(10px,3vw,12px);
    line-height:1.1;
  }

  .wedding-package-copy small{
    font-size:clamp(7.5px,2.25vw,9px);
    line-height:1.25;
    -webkit-line-clamp:2;
  }

  .wedding-package-arrow{
    width:22px;
    height:27px;
    grid-column:2;
    grid-row:1;
  }

  .wedding-package-arrow svg{
    width:15px;
    height:15px;
  }

  .tier-detail-panel.is-wedding .tier-detail-body{
    place-items:start center;
  }

  .tier-detail-panel.is-wedding .tier-detail-card{
    padding:17px 16px 16px;
  }

  .tier-detail-visual{
    margin-bottom:14px;
    border-radius:16px;
  }

  .tier-detail-description{
    margin-top:9px;
    font-size:11.5px;
    line-height:1.48;
  }

  .tier-detail-wedding-content{
    gap:11px;
    margin:15px 0;
  }

  .tier-detail-info-block{
    padding:12px;
    border-radius:14px;
  }

  .tier-detail-info-block ul{
    gap:6px;
    font-size:10.5px;
  }

  .tier-detail-info-block p{
    font-size:10.5px;
  }

  .order-summary:has(.wedding-order-type-pill:not([hidden])){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  .wedding-packages{
    gap:5px;
  }

  .wedding-packages-heading p{
    margin-top:2px;
    font-size:8.6px;
  }

  .wedding-packages-grid{
    gap:4px;
  }

  .wedding-package-card{
    min-height:76px;
    padding:7px 5px 5px;
  }

  .wedding-package-icon{
    width:24px;
    height:24px;
  }

  .wedding-package-icon svg{
    width:16px;
    height:16px;
  }

  .wedding-package-copy strong{
    font-size:9.5px;
  }

  .wedding-package-copy small{
    overflow:hidden;
    font-size:7.2px;
    text-overflow:ellipsis;
    white-space:nowrap;
    -webkit-line-clamp:1;
  }

  .wedding-package-arrow{
    width:18px;
    height:24px;
  }

  .tier-detail-panel.is-wedding .tier-detail-card h2{
    font-size:30px;
  }
}


/* Stage 9: panel-local language switch and pricing scroll ownership */
.tier-detail-meta{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.tier-detail-language{
  display:block;
  flex:none;
}

.tier-detail-language select{
  width:54px;
  min-height:34px;
  padding:6px 23px 6px 9px;
  border:1px solid rgba(239,195,102,.2);
  border-radius:11px;
  background-color:rgba(255,255,255,.035);
  background-position:right 7px center;
  color:#e7b75b;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:620px){
  .tier-detail-meta{
    gap:5px;
  }

  .tier-detail-step{
    max-width:74px;
    overflow:hidden;
    font-size:7px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .tier-detail-language select{
    width:50px;
    min-height:32px;
    padding-left:8px;
    font-size:8px;
  }
}

@media(max-width:350px){
  .tier-detail-step{
    display:none;
  }
}

/* Stage 9: preserve full card rows inside the internally scrollable pricing screen */
@media(max-width:620px){
  #pricing .tiers-grid{
    min-height:134px;
  }

  .wedding-packages-grid{
    min-height:88px;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  #pricing .tiers-grid{
    min-height:121px;
  }

  .wedding-packages-grid{
    min-height:76px;
  }
}

/* Stage 9: keep the universal CTA close to the bottom navigation on tall screens */
@media(max-width:620px){
  #pricing > .wrap{
    grid-template-rows:auto auto auto minmax(50px,1fr);
  }

  .pricing-order-cta{
    align-self:end;
  }
}

/* Stage 9: balanced CTA spacing without a large empty tail */
@media(max-width:620px){
  #pricing > .wrap{
    grid-template-rows:auto auto auto auto;
  }

  .pricing-order-cta{
    align-self:auto;
  }
}

@media(min-height:760px) and (max-width:620px){
  .pricing-order-cta{
    margin-top:52px;
  }
}

/* ---------- STAGE 9.2 · WEDDING PACKAGES CARD REDESIGN ---------- */
.wedding-packages-grid{
  gap:12px;
  align-items:stretch;
}

.wedding-package-card{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  width:100%;
  min-width:0;
  height:164px;
  min-height:164px;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(2.35em,auto) minmax(0,1fr) auto;
  align-items:center;
  justify-items:center;
  gap:10px;
  padding:18px 14px 14px;
  overflow:hidden;
  border:1px solid rgba(233,184,88,.34);
  border-radius:19px;
  background:
    radial-gradient(circle at 50% -8%,rgba(231,183,87,.15),transparent 44%),
    linear-gradient(155deg,rgba(26,23,24,.97),rgba(12,12,14,.99));
  color:#f3eee7;
  box-shadow:
    inset 0 1px rgba(255,255,255,.045),
    0 12px 30px rgba(0,0,0,.2);
  text-align:center;
  cursor:pointer;
  touch-action:manipulation;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.wedding-package-card:hover,
.wedding-package-card:focus-visible{
  border-color:rgba(241,199,111,.72);
  background:
    radial-gradient(circle at 50% -8%,rgba(231,183,87,.22),transparent 46%),
    linear-gradient(155deg,rgba(30,26,25,.98),rgba(13,13,15,.99));
  box-shadow:
    0 15px 36px rgba(0,0,0,.3),
    0 0 30px rgba(217,164,65,.14),
    inset 0 1px rgba(255,255,255,.065);
  outline:none;
}

.wedding-package-card:active{
  transform:scale(.982);
  border-color:rgba(246,207,126,.82);
  box-shadow:
    0 8px 25px rgba(0,0,0,.3),
    0 0 34px rgba(217,164,65,.2),
    inset 0 1px rgba(255,255,255,.07);
}

.wedding-package-card.selected{
  border-color:#d9a441;
  box-shadow:
    0 0 0 1px rgba(217,164,65,.44),
    0 0 30px rgba(217,164,65,.16),
    inset 0 1px rgba(255,255,255,.06);
}

.wedding-package-name{
  grid-column:1;
  display:flex;
  width:100%;
  min-width:0;
  min-height:2.35em;
  align-items:center;
  justify-content:center;
  overflow:visible;
  color:#f4efe8;
  font:600 18px/1.12 'Fraunces',serif;
  overflow-wrap:normal;
  text-wrap:balance;
  text-overflow:clip;
  white-space:normal;
  word-break:normal;
  hyphens:none;
}

body.lang-ka .wedding-package-name{
  font-family:'Noto Serif Georgian',serif;
}

.wedding-package-price{
  grid-column:1;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:4px;
  min-width:0;
}

.wedding-package-price s{
  color:#817a80;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration-color:rgba(231,183,87,.82);
  text-decoration-thickness:1px;
}

.wedding-package-price strong{
  color:#efbd57;
  font:600 38px/1 'Fraunces',serif;
  letter-spacing:-.035em;
  text-shadow:0 0 22px rgba(217,164,65,.14);
}

.wedding-package-more{
  grid-column:1;
  display:flex;
  width:100%;
  min-height:22px;
  align-items:flex-end;
  justify-content:center;
  color:#dcb15a;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
  white-space:normal;
}

/* The compact Advanced tariff no longer carries the accidental yellow strip. */
#pricing .tier-card .tier-badge{
  display:none !important;
}

@media(max-width:620px){
  #pricing > .wrap{
    grid-template-rows:auto auto auto;
  }

  .wedding-packages-grid{
    gap:6px;
    min-height:132px;
  }

  .wedding-package-card{
    height:132px;
    min-height:132px;
    grid-template-rows:minmax(2.25em,auto) minmax(0,1fr) auto;
    gap:5px;
    padding:10px 7px 8px;
    border-radius:15px;
  }

  .wedding-package-name{
    min-height:2.25em;
    font-size:clamp(11px,3.25vw,13px);
    line-height:1.08;
  }

  .wedding-package-price{
    gap:2px;
  }

  .wedding-package-price s{
    font-size:clamp(8.5px,2.25vw,10px);
  }

  .wedding-package-price strong{
    font-size:clamp(25px,7.4vw,31px);
  }

  .wedding-package-more{
    min-height:18px;
    font-size:clamp(8px,2.35vw,9.5px);
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  .wedding-packages-grid{
    gap:4px;
    min-height:94px;
  }

  .wedding-package-card{
    height:94px;
    min-height:94px;
    grid-template-rows:minmax(2.05em,auto) minmax(0,1fr) 14px;
    gap:1px;
    padding:5px 4px 4px;
    border-radius:14px;
  }

  .wedding-package-name{
    min-height:2.05em;
    font-size:9.6px;
    line-height:1.03;
  }

  .wedding-package-price{
    gap:1px;
  }

  .wedding-package-price s{
    font-size:7.5px;
  }

  .wedding-package-price strong{
    font-size:20px;
  }

  .wedding-package-more{
    min-height:14px;
    font-size:7.2px;
    line-height:1;
  }
}


@media (min-width:351px) and (max-width:620px) and (max-height:700px){
  .wedding-packages-grid{
    min-height:114px;
  }

  .wedding-package-card{
    height:114px;
    min-height:114px;
    grid-template-rows:minmax(2.15em,auto) minmax(0,1fr) 16px;
    gap:2px;
    padding:8px 6px 6px;
  }

  .wedding-package-name{
    min-height:2.15em;
    font-size:11.2px;
    line-height:1.05;
  }

  .wedding-package-price s{
    font-size:8.5px;
  }

  .wedding-package-price strong{
    font-size:25px;
  }

  .wedding-package-more{
    min-height:16px;
    font-size:8.2px;
  }
}


/* ---------- HOTFIX · PRICING SCREEN SWIPE REGRESSION ---------- */
@media(max-width:620px){
  /* Let a boundary gesture leave the pricing screen and continue in appScroll. */
  #pricing > .wrap{
    overscroll-behavior-y:auto;
  }
}

/* ---------- STAGE 9.3.1 · UNIFIED PRICING CARDS ---------- */
#pricing{
  --pricing-card-height:164px;
  --pricing-card-gap:12px;
}

#pricing .tiers-grid,
#pricing .wedding-packages-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--pricing-card-gap);
  align-items:stretch;
}

#pricing .tier-card,
#pricing .tier-card.featured{
  display:flex;
  width:100%;
  min-width:0;
  height:var(--pricing-card-height);
  min-height:var(--pricing-card-height);
  flex-direction:column;
  padding:18px 14px 14px;
  overflow:hidden;
  border:1px solid rgba(233,184,88,.34);
  border-radius:19px;
  background:
    radial-gradient(circle at 50% -8%,rgba(231,183,87,.13),transparent 44%),
    linear-gradient(155deg,rgba(26,23,24,.97),rgba(12,12,14,.99));
  color:#f3eee7;
  box-shadow:
    inset 0 1px rgba(255,255,255,.045),
    0 12px 30px rgba(0,0,0,.2);
  text-align:left;
  cursor:pointer;
  touch-action:pan-y;
  transition:
    transform var(--tw-motion-fast) var(--tw-ease),
    border-color var(--tw-motion-fast) ease,
    box-shadow var(--tw-motion-fast) ease,
    background var(--tw-motion-base) ease;
}

#pricing .tier-card.featured .tier-name{
  color:#e9e3da;
}

#pricing .tier-card:hover,
#pricing .tier-card:focus-visible{
  border-color:rgba(241,199,111,.68);
  background:
    radial-gradient(circle at 50% -8%,rgba(231,183,87,.2),transparent 46%),
    linear-gradient(155deg,rgba(30,26,25,.98),rgba(13,13,15,.99));
  box-shadow:
    0 15px 36px rgba(0,0,0,.3),
    0 0 30px rgba(217,164,65,.13),
    inset 0 1px rgba(255,255,255,.06);
  outline:none;
}

#pricing .tier-card:active{
  transform:scale(.982);
  border-color:rgba(246,207,126,.82);
  box-shadow:
    0 8px 25px rgba(0,0,0,.3),
    0 0 34px rgba(217,164,65,.2),
    inset 0 1px rgba(255,255,255,.07);
}

#pricing .tier-card.selected,
#pricing .tier-card.featured.selected{
  border-color:#d9a441;
  box-shadow:
    0 0 0 1px rgba(217,164,65,.44),
    0 0 30px rgba(217,164,65,.16),
    inset 0 1px rgba(255,255,255,.06);
}

#pricing .tier-name{
  overflow:visible;
  overflow-wrap:normal;
  text-overflow:clip;
  white-space:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

#pricing .tier-price-promo{
  display:grid;
  grid-template-columns:max-content max-content;
  align-items:baseline;
  justify-content:start;
  column-gap:5px;
  row-gap:2px;
}

#pricing .tier-price-promo small{
  width:auto;
  grid-column:1 / -1;
}

.wedding-packages-heading{
  align-items:center;
}

.wedding-packages-eyebrow{
  color:#e7b75b;
  font-size:12px;
  letter-spacing:.14em;
}

.wedding-packages-heading p{
  line-height:1.45;
}

@media(max-width:620px){
  #pricing{
    --pricing-card-height:134px;
    --pricing-card-gap:7px;
  }

  #pricing .tiers-grid,
  #pricing .wedding-packages-grid{
    min-height:var(--pricing-card-height);
  }

  #pricing .tier-card,
  #pricing .tier-card.featured{
    height:var(--pricing-card-height);
    min-height:var(--pricing-card-height);
    padding:11px 9px 8px;
    border-radius:16px;
  }

  #pricing .tier-price{
    font-size:clamp(21px,6.2vw,26px);
  }

  .wedding-packages-eyebrow{
    font-size:10.5px;
    line-height:1.2;
    letter-spacing:.14em;
  }

  .wedding-packages-heading p{
    margin-top:4px;
    font-size:9.5px;
    line-height:1.35;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  #pricing{
    --pricing-card-height:121px;
    --pricing-card-gap:6px;
  }

  #pricing .tier-card,
  #pricing .tier-card.featured{
    padding:9px 7px 7px;
  }

  #pricing .tier-price{
    font-size:20px;
  }

  .wedding-packages-eyebrow{
    font-size:9.5px;
  }

  .wedding-packages-heading p{
    margin-top:2px;
    font-size:8.6px;
    line-height:1.28;
  }
}

/* ---------- STAGE 9.4.1 · PRICING DUAL DNA WAVE ---------- */
#pricing .pricing-wave{
  pointer-events:none;
}

@media(max-width:620px){
  #pricing > .wrap{
    grid-template-rows:auto auto auto minmax(30px,1fr);
  }

  #pricing .pricing-wave{
    width:100%;
    margin-right:0;
    margin-left:0;
  }

  .pricing-wave-lower{
    height:30px;
    align-self:end;
    margin-top:0;
    margin-bottom:0;
    opacity:.34;
  }
}

@media(max-width:350px), (max-height:620px) and (max-width:620px){
  .pricing-wave-lower{
    height:24px;
    margin-top:0;
  }
}
/* Stage 11: the public UI waits for its canonical D1 Track Catalog. */
.catalog-bootstrap{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:14px;
  padding:24px;
  color:#f3e7ca;
  text-align:center;
  background:#070707;
  font:500 14px/1.45 Inter,system-ui,sans-serif;
}
.catalog-bootstrap-mark{
  width:42px;
  height:42px;
  border:1px solid rgba(216,177,92,.24);
  border-top-color:#d8b15c;
  border-radius:50%;
  animation:catalog-bootstrap-spin .8s linear infinite;
}
.catalog-bootstrap.is-error strong{font:600 18px/1.2 Georgia,serif;color:#e1bd6f}
.catalog-bootstrap.is-error button{
  min-height:44px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  color:#090909;
  background:linear-gradient(135deg,#f0d38c,#b88a36);
  font:700 14px/1 Inter,system-ui,sans-serif;
}
@keyframes catalog-bootstrap-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.catalog-bootstrap-mark{animation:none}}


/* Stage 12.13.6.1 — Fast seamless boot */
.catalog-bootstrap{
  gap:11px;
  padding:24px;
  opacity:1;
  transition:opacity .18s ease;
}
.catalog-bootstrap-brand{
  display:block;
  margin-bottom:4px;
  color:#f6f0e5;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(28px,5vw,38px);
  font-weight:600;
  letter-spacing:-.025em;
}
.catalog-bootstrap-brand span{
  color:#d9a441;
}
.catalog-bootstrap-copy{
  display:block;
  min-width:min(290px,78vw);
  color:#aaa4a9;
  font:600 12px/1.45 'Manrope',Inter,system-ui,sans-serif;
  letter-spacing:.02em;
}
.catalog-bootstrap.is-leaving{
  opacity:0;
  pointer-events:none;
}
@media(max-width:620px){
  .catalog-bootstrap{
    padding:20px;
  }
  .catalog-bootstrap-brand{
    font-size:30px;
  }
  .catalog-bootstrap-copy{
    min-width:min(250px,74vw);
    font-size:11px;
  }
}
