/* TuneWrap Stage 12.1 — Tablet & Desktop Experience
   IMPORTANT: every visual rule in this file starts at 621px.
   The verified phone UI (<=620px) is intentionally untouched.
*/

@media (min-width:621px){
  :root{
    --bg:#0a0a0a;
    --bg-panel:#15151a;
    --bg-panel-2:#1c1a1d;
    --ink:#f5f1e8;
    --muted:#aaa5ae;
    --line:rgba(245,241,232,.10);
    --gold:#d9a441;
    --wide-max:1240px;
    --wide-radius:26px;
    --wide-radius-sm:17px;
    --wide-shadow:0 24px 70px rgba(0,0,0,.32);
  }

  html{
    min-height:100%;
    background:#0a0a0a;
    scroll-padding-top:94px;
  }

  body{
    min-height:100%;
    padding:0;
    overflow-x:hidden;
    overflow-y:auto;
    background:
      radial-gradient(circle at 82% 3%,rgba(217,164,65,.085),transparent 33rem),
      radial-gradient(circle at 8% 38%,rgba(217,164,65,.035),transparent 31rem),
      #0a0a0a;
    color:var(--ink);
  }

  body.song-player-open,
  body.music-library-open,
  body.corporate-panel-open{
    overflow:hidden;
  }

  .app-scroll{
    position:static;
    width:100%;
    height:auto;
    overflow:visible;
    scroll-snap-type:none;
  }

  .wrap{
    width:100%;
    max-width:var(--wide-max);
    margin-right:auto;
    margin-left:auto;
    padding-right:clamp(26px,4vw,54px);
    padding-left:clamp(26px,4vw,54px);
  }

  section{
    padding:clamp(64px,7vw,96px) 0;
    scroll-margin-top:92px;
  }

  .mobile-player,
  .mobile-bottom-nav,
  .mobile-lang,
  .mobile-menu,
  .story-ribbon{
    display:none !important;
  }

  /* ---------- WIDE HEADER ---------- */
  body > nav{
    position:sticky;
    z-index:120;
    top:0;
    border-bottom:1px solid rgba(217,164,65,.13);
    background:rgba(9,9,10,.88);
    box-shadow:0 12px 34px rgba(0,0,0,.20);
    backdrop-filter:blur(20px) saturate(1.08);
    -webkit-backdrop-filter:blur(20px) saturate(1.08);
  }

  body > nav .wrap{
    height:82px;
  }

  .logo{
    color:#f7f1e7;
    font-size:30px;
    letter-spacing:-.025em;
  }

  .logo span{
    color:#dfa946;
  }

  .tagline{
    margin-top:2px;
    color:#817b83;
    font-size:10px;
    letter-spacing:.04em;
  }

  .nav-right{
    gap:12px;
  }

  .lang-switch{
    display:flex;
    gap:2px;
    padding:4px;
    border:1px solid rgba(217,164,65,.15);
    background:#111112;
  }

  .lang-btn{
    min-width:42px;
    min-height:36px;
    padding:7px 10px;
    color:#8f8992;
  }

  .lang-btn.active{
    background:linear-gradient(135deg,#edbd58,#c78b27);
    color:#130f08;
    box-shadow:0 6px 18px rgba(217,164,65,.17);
  }

  .nav-cta{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border:1px solid rgba(255,229,174,.18);
    background:linear-gradient(135deg,#e9b956,#c88924);
    color:#161006;
    box-shadow:0 10px 28px rgba(217,164,65,.17);
  }

  /* ---------- WIDE HERO ---------- */
  .mobile-top-stack{
    display:contents;
  }

  .hero{
    padding:24px 0 clamp(58px,6vw,82px);
  }

  .hero .wrap{
    max-width:var(--wide-max);
  }

  .hero-grid{
    position:relative;
    display:grid;
    min-height:clamp(520px,62vh,690px);
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
    align-items:center;
    gap:clamp(28px,5vw,70px);
    overflow:hidden;
    padding:clamp(42px,5vw,72px);
    border:1px solid rgba(217,164,65,.17);
    border-radius:34px;
    background:
      radial-gradient(circle at 78% 23%,rgba(217,164,65,.23),transparent 22%),
      radial-gradient(circle at 32% 58%,rgba(217,164,65,.08),transparent 36%),
      linear-gradient(145deg,#17151a 0%,#0b0b0d 62%,#151108 100%);
    box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.04);
    isolation:isolate;
  }

  .hero-grid::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      linear-gradient(115deg,rgba(255,255,255,.018),transparent 32%),
      repeating-linear-gradient(115deg,rgba(255,255,255,.009) 0 1px,transparent 1px 14px);
  }

  .hero-grid::after{
    content:"";
    position:absolute;
    z-index:0;
    top:50%;
    right:-120px;
    width:440px;
    height:440px;
    border:1px solid rgba(217,164,65,.11);
    border-radius:50%;
    box-shadow:
      0 0 0 52px rgba(217,164,65,.022),
      0 0 0 108px rgba(217,164,65,.013);
    transform:translateY(-50%);
    pointer-events:none;
  }

  .hero-grid > div,
  #ambientWave{
    position:relative;
    z-index:2;
  }

  .hero .eyebrow{
    display:flex;
    margin-bottom:14px;
    color:#dca849;
    font-size:10px;
    letter-spacing:.19em;
  }

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

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

  .hero h1{
    max-width:9.6ch;
    margin:0 0 22px;
    font-size:clamp(52px,5.6vw,78px);
    line-height:.95;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  .hero h1 .mobile-hero-title em{
    display:block;
    margin-top:5px;
    color:#e2aa43;
    font-style:italic;
    text-shadow:0 0 32px rgba(217,164,65,.13);
  }

  .hero p.lead{
    max-width:43ch;
    margin:0 0 28px;
    color:#c0bbc2;
    font-size:15px;
    line-height:1.67;
  }

  .hero-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    font-size:12px;
  }

  .hero-actions .btn-primary{
    padding:0 22px;
    border:1px solid rgba(255,230,177,.19);
    background:linear-gradient(135deg,#efc05b,#d9a441 52%,#bd7f20);
    box-shadow:0 14px 34px rgba(217,164,65,.20),inset 0 1px rgba(255,255,255,.27);
  }

  .hero-actions .btn-ghost{
    padding:0 18px;
    border-color:rgba(245,241,232,.12);
    background:rgba(255,255,255,.025);
    color:#d4cfd4;
  }

  #ambientWave{
    width:100%;
    height:300px;
    margin:0;
    opacity:.69;
    filter:drop-shadow(0 0 28px rgba(217,164,65,.15));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  }

  /* ---------- SHARED WIDE SECTION LANGUAGE ---------- */
  .sec-head{
    max-width:68ch;
    margin-bottom:30px;
  }

  .sec-head .eyebrow,
  .philosophy-kicker{
    color:#d9a441;
    font-size:10px;
    letter-spacing:.18em;
  }

  .sec-head h2{
    margin-top:10px;
    color:#f4eee5;
    font-size:clamp(34px,3.5vw,52px);
    line-height:1.02;
    letter-spacing:-.035em;
  }

  .sec-head p{
    max-width:58ch;
    margin-top:12px;
    color:#9f99a2;
    font-size:14px;
    line-height:1.65;
  }

  .process-wave,
  .philosophy-wave,
  .pricing-wave,
  .music-showcase-wave{
    display:block;
    width:min(100%,620px);
    height:62px;
    margin:4px 0 8px;
    opacity:.42;
    filter:drop-shadow(0 0 12px rgba(217,164,65,.12));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  }

  /* ---------- PHILOSOPHY ---------- */
  #philosophy.philosophy-section{
    width:min(calc(100% - 48px),calc(var(--wide-max) - 32px));
    max-width:1180px;
    margin:0 auto;
    padding:clamp(58px,6vw,84px) 0;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.14);
    border-radius:32px;
    background:
      radial-gradient(circle at 82% 12%,rgba(217,164,65,.11),transparent 36%),
      linear-gradient(150deg,#16151a,#0e0e10);
    box-shadow:var(--wide-shadow);
  }

  .philosophy-inner{
    max-width:930px;
    padding:0 clamp(36px,7vw,90px);
    text-align:left;
  }

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

  .philosophy-wave{
    width:72%;
    max-width:660px;
    height:74px;
  }

  .philosophy-quote{
    max-width:14ch;
    margin:0 0 22px;
    color:#f5efe5;
    font-size:clamp(42px,5vw,68px);
    line-height:1.05;
    letter-spacing:-.04em;
  }

  .philosophy-text{
    max-width:66ch;
    margin:0;
    color:#a9a3aa;
    font-size:15px;
    line-height:1.78;
  }

  /* ---------- PROCESS ---------- */
  #how{
    position:relative;
  }

  #how .steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    border:0;
    background:transparent;
    overflow:visible;
  }

  #how .step{
    min-height:210px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    align-content:start;
    gap:16px;
    padding:24px;
    border:1px solid rgba(245,241,232,.085);
    border-radius:22px;
    background:
      radial-gradient(circle at 95% 0,rgba(217,164,65,.075),transparent 37%),
      linear-gradient(145deg,#17171b,#101013);
    box-shadow:0 18px 44px rgba(0,0,0,.20);
  }

  #how .step-num{
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    margin:0;
    border:1px solid rgba(217,164,65,.25);
    border-radius:15px;
    background:rgba(217,164,65,.075);
    color:#d9a441;
    font-size:17px;
  }

  #how .step h3{
    margin-bottom:8px;
    color:#ede8df;
    font-size:19px;
  }

  #how .step p{
    color:#9f99a2;
    font-size:12px;
    line-height:1.65;
  }

  /* ---------- STORIES / AUTHOR SHOWCASE ---------- */
  #tracks,
  #author{
    position:relative;
  }

  #tracks > .wrap,
  #author > .wrap{
    display:block;
  }

  #tracks > .wrap > .songs-library-filters,
  #tracks > .wrap > .songs-library-stage,
  #author > .wrap > .author-grid,
  #author > .wrap > .author-signature{
    display:none;
  }

  .library-showcase{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(230px,310px);
    align-items:stretch;
    gap:16px;
  }

  .library-featured-card{
    min-height:240px;
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    align-items:center;
    gap:24px;
    padding:20px;
    border:1px solid rgba(217,164,65,.16);
    border-radius:26px;
    background:
      radial-gradient(circle at 88% 5%,rgba(217,164,65,.09),transparent 34%),
      linear-gradient(145deg,#17171b,#101013);
    box-shadow:0 22px 54px rgba(0,0,0,.25);
    color:inherit;
    text-align:left;
  }

  .library-featured-cover{
    position:relative;
    width:210px;
    height:210px;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.16);
    border-radius:20px;
    background:#121114;
    box-shadow:0 16px 38px rgba(0,0,0,.32);
  }

  .library-featured-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .library-featured-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .library-featured-copy small{
    color:#d8a342;
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .library-featured-copy strong{
    margin-top:13px;
    color:#f1ece4;
    font-family:'Fraunces',serif;
    font-size:clamp(27px,2.6vw,40px);
    line-height:1.05;
  }

  .library-featured-copy > span{
    margin-top:13px;
    color:#aaa4ad;
    font-size:11px;
    font-weight:800;
    letter-spacing:.09em;
  }

  .library-featured-play{
    width:52px;
    height:52px;
  }

  .library-showcase-footer{
    min-height:240px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    margin:0;
    padding:26px;
    border:1px solid rgba(245,241,232,.08);
    border-radius:26px;
    background:linear-gradient(145deg,#131316,#0e0e10);
  }

  .library-catalog-count{
    color:#969099;
    font-size:12px;
    line-height:1.5;
  }

  .library-catalog-count strong{
    display:block;
    margin-bottom:4px;
    color:#e2a943;
    font:600 42px/1 'Fraunces',serif;
  }

  .library-open-button{
    min-height:52px;
    padding:0 17px;
    border:1px solid rgba(217,164,65,.27);
    border-radius:15px;
    background:rgba(217,164,65,.08);
    color:#e7b657;
    font-size:11px;
    font-weight:800;
  }

  /* ---------- PRICING ---------- */
  #pricing{
    overflow:hidden;
  }

  #pricing .pricing-promo{
    width:max-content;
    max-width:100%;
    margin-top:18px;
    padding:9px 12px;
    border:1px solid rgba(217,164,65,.16);
    border-radius:999px;
    background:rgba(217,164,65,.06);
    color:#bcb5bd;
    font-size:10px;
  }

  #pricing .pricing-promo strong{
    color:#dbab4c;
  }

  .tiers-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:0;
    padding:0;
    overflow:visible;
  }

  .tier-card{
    min-height:400px;
    padding:28px 24px 24px;
    border:1px solid rgba(245,241,232,.085);
    border-radius:24px;
    background:linear-gradient(145deg,#17171b,#101013);
    box-shadow:0 20px 52px rgba(0,0,0,.21);
  }

  .tier-card.featured{
    background:
      radial-gradient(circle at 84% 4%,rgba(217,164,65,.15),transparent 33%),
      linear-gradient(145deg,#1a1818,#101013);
    border-color:rgba(217,164,65,.37);
  }

  .tier-badge{
    top:-11px;
    left:22px;
  }

  .tier-name{
    color:#f2ece3;
    font-size:24px;
  }

  .tier-price{
    margin-top:6px;
    color:#dca745;
    font-size:42px;
  }

  .tier-features{
    flex:1;
    gap:9px;
    margin:20px 0 24px;
    color:#aba5ad;
    font-size:12px;
    line-height:1.55;
  }

  .tier-select{
    min-height:52px;
    border-radius:15px;
  }

  .wedding-packages{
    margin-top:42px;
    padding:26px;
    border:1px solid rgba(217,164,65,.13);
    border-radius:28px;
    background:
      radial-gradient(circle at 92% 0,rgba(217,164,65,.08),transparent 31rem),
      linear-gradient(145deg,#151416,#0f0f11);
  }

  .wedding-packages-heading{
    margin-bottom:18px;
  }

  .wedding-packages-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }

  .wedding-package-card{
    width:100%;
    min-height:156px;
    height:auto;
    padding:18px 16px 15px;
    border-radius:19px;
  }

  /* ---------- ORDER SCREEN ---------- */
  #contact{
    position:relative;
    padding-top:72px;
  }

  #contact .story-path-picker{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
    margin-bottom:18px;
  }

  .story-path-card{
    min-height:160px;
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:start;
    gap:9px 14px;
    padding:20px;
    border:1px solid rgba(217,164,65,.13);
    border-radius:21px;
    background:
      radial-gradient(circle at 0 0,rgba(217,164,65,.08),transparent 38%),
      linear-gradient(145deg,#17171b,#101013);
    box-shadow:0 16px 42px rgba(0,0,0,.18);
  }

  .story-path-icon{
    display:grid;
    width:50px;
    height:50px;
    place-items:center;
    grid-row:1 / span 2;
    border:1px solid rgba(217,164,65,.22);
    border-radius:15px;
    background:rgba(217,164,65,.07);
    color:#dda944;
  }

  .story-path-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
  }

  .story-path-card h3{
    color:#eee8e0;
    font-size:18px;
  }

  .story-path-card p{
    color:#9e98a0;
    font-size:11px;
    line-height:1.55;
  }

  .story-path-card button{
    min-height:42px;
    grid-column:2;
    padding:0 13px;
    border:1px solid rgba(217,164,65,.19);
    border-radius:12px;
    background:rgba(217,164,65,.07);
    color:#e2ad49;
    font-size:10px;
    font-weight:800;
  }

  #contact .order-box{
    display:block;
    width:100%;
    max-width:none;
    padding:clamp(24px,3vw,36px);
    border:1px solid rgba(245,241,232,.085);
    border-radius:26px;
    background:
      radial-gradient(circle at 92% 0,rgba(217,164,65,.065),transparent 28rem),
      linear-gradient(145deg,#17171b,#101013);
    box-shadow:0 24px 62px rgba(0,0,0,.23);
  }

  #contact .story-path-back{
    display:none !important;
  }

  .mode-switch{
    max-width:520px;
    border:1px solid rgba(217,164,65,.13);
    border-radius:14px;
    background:#0d0d0e;
  }

  .mode-btn{
    min-height:44px;
  }

  .mode-hint{
    max-width:70ch;
    margin:12px 0 20px;
    color:#99939b;
    font-size:12px;
  }

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

  .order-pill{
    min-width:0;
    padding:11px 13px;
    border:1px solid rgba(245,241,232,.075);
    border-radius:13px;
    background:#0f0f11;
    font-size:10px;
  }

  .form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

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

  .field-label{
    margin-bottom:7px;
    color:#d4ced5;
    font-size:12px;
  }

  input[type="text"],
  input[type="number"],
  select,
  textarea{
    min-height:52px;
    padding:13px 14px;
    border:1px solid rgba(245,241,232,.10);
    border-radius:13px;
    background:#0b0b0c;
    color:#eee9e1;
    font-size:14px;
  }

  textarea{
    min-height:126px;
  }

  .style-chips{
    gap:7px;
  }

  .chip{
    min-height:40px;
    padding:8px 11px;
    border-radius:11px;
  }

  .story-core{
    margin:8px 0 20px;
    padding:22px;
    border:1px solid rgba(217,164,65,.13);
    border-radius:20px;
    background:rgba(217,164,65,.035);
  }

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

  .story-examples{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .golden-box.open{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .golden-box.open > div:last-child:nth-child(odd){
    grid-column:1 / -1;
  }

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

  .order-preview{
    margin-top:22px;
  }

  .send-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .send-actions > *{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
  }

  /* ---------- CONTACT HUB ---------- */
  #contactHub{
    min-height:0;
    padding-top:74px;
    padding-bottom:64px;
    overflow:hidden;
    background:
      radial-gradient(circle at 15% 8%,rgba(217,164,65,.07),transparent 24rem),
      linear-gradient(180deg,#0c0c0d,#090909);
  }

  #contactHub > .wrap{
    overflow:visible;
  }

  .contact-hub-heading{
    max-width:650px;
    margin-bottom:28px;
  }

  .contact-hub-heading h2{
    color:#f1ebe3;
    font-size:clamp(38px,4vw,56px);
  }

  .contact-hub-socials{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
  }

  .contact-hub-channel{
    min-height:98px;
    display:flex;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(245,241,232,.08);
    border-radius:18px;
    background:#111113;
  }

  .contact-hub-channel-icon{
    width:36px;
    height:36px;
  }

  .contact-hub-payment{
    margin-top:22px;
    padding:22px;
    border-radius:21px;
  }

  .contact-hub-navigation{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:18px;
  }

  .contact-hub-column{
    padding:24px;
    border:1px solid rgba(245,241,232,.075);
    border-radius:20px;
    background:#101012;
  }

  .contact-hub-column a,
  .contact-hub-column button,
  .contact-hub-column span{
    min-height:40px;
  }

  .contact-hub-copyright{
    margin-top:22px;
  }

  .contact-signature-wave{
    height:90px;
  }

  /* ---------- CORPORATE OVERLAY ---------- */
  #corporate.corporate-panel{
    background:
      radial-gradient(circle at 80% 10%,rgba(217,164,65,.12),transparent 30%),
      linear-gradient(180deg,#101012,#080809);
  }

  #corporate.corporate-panel > .corporate-panel-shell > .wrap{
    padding:30px max(26px,calc((100vw - 1180px)/2));
  }

  #corporate.corporate-panel .corporate-box{
    width:min(100%,940px);
    padding:34px;
    border-radius:26px;
    background:linear-gradient(145deg,#17171b,#101013);
  }

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

  /* ---------- WIDE TOP MINI PLAYER ---------- */
  .top-mini-player{
    display:none;
  }

  .top-mini-player.is-wide-active{
    position:fixed;
    z-index:170;
    top:94px;
    right:24px;
    left:auto;
    width:min(480px,calc(100vw - 48px));
    height:68px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 42px;
    align-items:center;
    gap:4px;
    padding:7px 8px;
    overflow:hidden;
    visibility:visible;
    border:1px solid rgba(217,164,65,.22);
    border-radius:18px;
    background:rgba(18,18,20,.96);
    box-shadow:0 20px 54px rgba(0,0,0,.42);
    opacity:1;
    pointer-events:auto;
    transform:none;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .top-mini-expand{
    min-width:0;
    height:54px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:5px 8px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#eee9e1;
    text-align:left;
  }

  .top-mini-brand{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .top-mini-artwork{
    width:42px;
    height:42px;
    overflow:hidden;
    border-radius:10px;
    background:#18140d;
  }

  .top-mini-artwork img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .top-mini-wordmark{
    display:none;
  }

  .top-mini-expand > strong{
    min-width:0;
    overflow:hidden;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

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

  .top-mini-controls button,
  .top-mini-stop{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#d9d3da;
  }

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

  .top-mini-toggle{
    background:#d9a441 !important;
    color:#181208 !important;
  }

  .top-mini-toggle-icon{
    display:block;
    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;
  }

  body.song-player-open .top-mini-player.is-wide-active{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }

  /* ---------- FULL PLAYER ON TABLET/DESKTOP ---------- */
  .song-player-screen{
    position:fixed;
    z-index:240;
    inset:0;
    width:100%;
    height:100dvh;
    display:block !important;
    padding:clamp(18px,2.5vw,34px);
    overflow:hidden;
    visibility:hidden;
    background:
      radial-gradient(circle at 76% 8%,rgba(217,164,65,.14),transparent 31%),
      linear-gradient(180deg,#0f0e10,#070708);
    opacity:0;
    pointer-events:none;
    transform:translateY(20px) scale(.985);
    transition:opacity .24s ease,transform .30s cubic-bezier(.22,.78,.22,1),visibility 0s linear .30s;
  }

  .song-player-screen.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
    transition:opacity .24s ease,transform .30s cubic-bezier(.22,.78,.22,1),visibility 0s;
  }

  .song-player-shell{
    position:relative;
    width:min(1180px,100%);
    height:100%;
    max-height:900px;
    display:grid;
    grid-template-rows:70px minmax(0,1fr) 120px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.17);
    border-radius:30px;
    background:rgba(14,14,16,.97);
    box-shadow:0 40px 110px rgba(0,0,0,.58);
  }

  .song-player-topbar{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:0 20px;
    border-bottom:1px solid rgba(217,164,65,.12);
    background:#0d0d0f;
  }

  .song-player-back,
  .song-player-minimize{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:6px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#ded8df;
    font:700 11px 'Manrope',sans-serif;
  }

  .song-player-back{
    width:max-content;
    padding:0 10px 0 5px;
  }

  .song-player-back svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
  }

  .song-player-minimize{
    justify-self:end;
    color:#d9a441;
  }

  .song-player-brand{
    color:#f3ede5;
    font:600 22px/1 'Fraunces',serif;
  }

  .song-player-brand span{
    color:#d9a441;
  }

  .song-player-scroll{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(260px,360px) minmax(0,1fr);
    align-content:start;
    gap:16px 30px;
    padding:28px 32px 34px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(217,164,65,.25) transparent;
  }

  .song-player-cover{
    position:sticky;
    top:0;
    width:100%;
    max-width:360px;
    aspect-ratio:1;
    grid-column:1;
    grid-row:1 / span 8;
    justify-self:center;
    overflow:hidden;
    border:1px solid rgba(217,164,65,.17);
    border-radius:24px;
    background:#151318;
    box-shadow:0 24px 58px rgba(0,0,0,.39);
  }

  .song-player-cover img,
  .song-player-cover-fallback{
    width:100%;
    height:100%;
  }

  .song-player-cover img{
    display:block;
    object-fit:cover;
  }

  .song-player-copy,
  .song-player-text-block,
  .song-player-order{
    grid-column:2;
  }

  .song-player-copy{
    margin:0;
    text-align:left;
  }

  .song-player-copy h1{
    margin:0;
    color:#f4eee6;
    font-size:clamp(31px,3.3vw,48px);
    line-height:1.03;
    letter-spacing:-.04em;
  }

  .song-player-language{
    display:inline-flex;
    margin-top:9px;
    padding:5px 9px;
    border:1px solid rgba(217,164,65,.2);
    border-radius:999px;
    background:rgba(217,164,65,.06);
    color:#d9a441;
    font-size:9px;
    font-weight:800;
    letter-spacing:.09em;
  }

  .song-player-description-preview{
    margin-top:13px;
  }

  .song-player-copy #songPlayerDescription{
    max-width:64ch;
    color:#aaa4ac;
    font-size:12px;
    line-height:1.65;
  }

  .song-player-description-toggle{
    min-height:38px;
    margin-top:4px;
    padding:0;
    border:0;
    background:transparent;
    color:#d9a441;
    font:800 10px/1.2 'Manrope',sans-serif;
  }

  .song-player-text-block{
    margin:0;
    padding:20px;
    border:1px solid rgba(245,241,232,.075);
    border-radius:19px;
    background:#101012;
  }

  .song-player-text-block h2{
    color:#e8e2da;
    font-size:19px;
  }

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

  .song-player-order{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    border-radius:15px;
    background:linear-gradient(135deg,#e8b651,#c58724);
    color:#171107;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
  }

  .song-player-controls{
    min-height:120px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:26px;
    padding:18px 32px;
    border-top:1px solid rgba(217,164,65,.12);
    background:#0c0c0e;
  }

  .song-player-timeline{
    min-width:0;
  }

  #songPlayerSeek{
    width:100%;
  }

  .song-player-times{
    display:flex;
    justify-content:space-between;
    margin-top:4px;
    color:#77717a;
    font-size:9px;
  }

  .song-player-transport{
    display:grid;
    grid-template-columns:46px 62px 46px;
    align-items:center;
    gap:12px;
  }

  .song-player-skip,
  .song-player-toggle{
    display:grid;
    place-items:center;
    border:1px solid rgba(245,241,232,.12);
    border-radius:50%;
    background:#151518;
    color:#eee8df;
  }

  .song-player-skip{
    width:46px;
    height:46px;
  }

  .song-player-skip svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
  }

  .song-player-toggle{
    width:62px;
    height:62px;
    border-color:rgba(217,164,65,.25);
    background:#d9a441;
    color:#171108;
    box-shadow:0 10px 28px rgba(217,164,65,.21);
  }

  .song-player-toggle-icon{
    display:block;
    width:0;
    height:0;
    margin-left:4px;
    border-top:9px solid transparent;
    border-bottom:9px solid transparent;
    border-left:14px solid currentColor;
  }

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

  .song-player-description-sheet{
    position:absolute;
    z-index:8;
    top:70px;
    right:0;
    bottom:120px;
    width:min(520px,50%);
    display:flex;
    flex-direction:column;
    visibility:hidden;
    border-left:1px solid rgba(217,164,65,.14);
    background:#101012;
    opacity:0;
    pointer-events:none;
    transform:translateX(20px);
    transition:.22s ease;
  }

  .song-player-description-sheet.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
  }

  .song-player-description-sheet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px;
    border-bottom:1px solid rgba(245,241,232,.075);
  }

  .song-player-description-sheet-head h2{
    font-size:20px;
  }

  .song-player-description-sheet-head button{
    min-height:38px;
    border:0;
    background:transparent;
    color:#d9a441;
  }

  .song-player-description-sheet-scroll{
    min-height:0;
    flex:1;
    padding:20px;
    overflow:auto;
    color:#c4bec6;
    font-size:13px;
    line-height:1.75;
    white-space:pre-wrap;
  }

  /* ---------- FULL LIBRARIES ---------- */
  .music-library-panel{
    background:rgba(5,5,6,.86);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .music-library-shell{
    width:min(1120px,calc(100% - 44px));
    max-width:none;
    margin:22px auto;
    height:calc(100dvh - 44px);
    border:1px solid rgba(217,164,65,.16);
    border-radius:28px;
    background:#0e0e10;
    box-shadow:0 35px 100px rgba(0,0,0,.52);
  }

  .music-library-topbar{
    min-height:68px;
    padding:0 20px;
  }

  .music-library-scroll{
    padding:24px 28px 34px;
  }

  .music-library-heading{
    max-width:720px;
  }

  .music-library-sticky{
    top:-24px;
    margin:20px -2px 16px;
    padding:12px 2px;
    background:rgba(14,14,16,.94);
  }

  .music-library-card-list{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .music-library-card-list .track,
  .music-library-card-list .author-card{
    min-height:116px;
  }

  /* ---------- TIER DETAILS ---------- */
  .tier-detail-panel{
    background:rgba(5,5,6,.86);
    backdrop-filter:blur(10px);
  }

  .tier-detail-shell{
    width:min(920px,calc(100% - 44px));
    max-height:calc(100dvh - 44px);
    margin:22px auto;
    border:1px solid rgba(217,164,65,.16);
    border-radius:28px;
    background:#0f0f11;
    box-shadow:0 35px 100px rgba(0,0,0,.52);
  }

  .tier-detail-body{
    padding:28px;
  }

  .tier-detail-card{
    max-width:none;
  }

  /* ---------- HOVER / FOCUS ---------- */
  @media (hover:hover){
    .hero-actions .btn-ghost:hover,
    .library-open-button:hover,
    .story-path-card button:hover{
      border-color:rgba(217,164,65,.38);
      background:rgba(217,164,65,.11);
    }

    .library-featured-card:hover,
    .tier-card:hover,
    .story-path-card:hover{
      transform:translateY(-2px);
      border-color:rgba(217,164,65,.27);
    }
  }
}

/* Tablet portrait / small laptop */
@media (min-width:621px) and (max-width:899px){
  :root{
    --wide-max:930px;
  }

  body > nav .wrap{
    height:76px;
    padding-right:22px;
    padding-left:22px;
  }

  .logo{
    font-size:27px;
  }

  .tagline{
    display:none;
  }

  .nav-cta{
    display:none;
  }

  .lang-switch{
    margin-left:auto;
  }

  .hero{
    padding-top:18px;
  }

  .hero-grid{
    min-height:570px;
    grid-template-columns:1fr;
    padding:44px;
  }

  .hero-grid > div{
    max-width:560px;
  }

  #ambientWave{
    position:absolute;
    z-index:1;
    top:42px;
    right:-3%;
    width:56%;
    height:310px;
    opacity:.42;
  }

  .hero h1{
    font-size:clamp(52px,8vw,66px);
  }

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

  #philosophy.philosophy-section{
    width:calc(100% - 38px);
  }

  #how .steps{
    grid-template-columns:1fr;
  }

  #how .step{
    min-height:0;
  }

  .library-showcase{
    grid-template-columns:minmax(0,1fr) 220px;
  }

  .library-featured-card{
    min-height:210px;
    grid-template-columns:160px minmax(0,1fr);
  }

  .library-featured-cover{
    width:160px;
    height:160px;
  }

  .library-showcase-footer{
    min-height:210px;
    padding:20px;
  }

  .tiers-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tier-card:last-child:nth-child(odd){
    grid-column:1 / -1;
  }

  .wedding-packages-grid,
  #contact .story-path-picker{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .story-path-card{
    min-height:176px;
    grid-template-columns:1fr;
  }

  .story-path-icon{
    grid-row:auto;
  }

  .story-path-card button{
    grid-column:1;
  }

  .contact-hub-socials{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .song-player-shell{
    grid-template-rows:66px minmax(0,1fr) 112px;
  }

  .song-player-scroll{
    grid-template-columns:220px minmax(0,1fr);
    gap:14px 22px;
    padding:24px;
  }

  .song-player-cover{
    max-width:220px;
  }

  .song-player-controls{
    min-height:112px;
    padding:16px 24px;
  }

  .music-library-shell{
    width:calc(100% - 30px);
    height:calc(100dvh - 30px);
    margin:15px auto;
  }
}

/* Desktop / large laptop */
@media (min-width:1024px){
  .hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  }

  .contact-hub-socials{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .music-library-card-list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Keep wide motion comfortable */
@media (prefers-reduced-motion:reduce) and (min-width:621px){
  .song-player-screen,
  .song-player-description-sheet,
  .library-featured-card,
  .tier-card,
  .story-path-card{
    transition:none !important;
  }
}
/* ---------- STAGE 12.1.1 · HERO WIDE ALIGNMENT ----------
   Desktop/tablet follows the successful mobile composition:
   one hero card, one CTA, waveform as background visual.
   Scope starts at 621px, so phone <=620px is untouched.
*/
@media (min-width:621px){
  /* Remove the two legacy desktop-only secondary actions. */
  .hero-actions .btn-ghost{
    display:none !important;
  }

  .hero{
    padding-top:18px;
  }

  .hero .wrap{
    max-width:1440px;
    padding-right:clamp(18px,3vw,34px);
    padding-left:clamp(18px,3vw,34px);
  }

  .hero-grid{
    position:relative;
    display:flex;
    min-height:clamp(610px,70vh,760px);
    align-items:flex-end;
    justify-content:flex-start;
    gap:0;
    padding:
      clamp(56px,6vw,82px)
      clamp(48px,6.3vw,92px)
      clamp(46px,5vw,70px);
    overflow:hidden;
    border-radius:34px;
  }

  /* Do not squeeze the text into the old two-column desktop layout. */
  .hero-grid > div{
    position:relative;
    z-index:4;
    width:min(64%,760px);
    max-width:none;
    margin:0;
  }

  .hero .eyebrow{
    margin:0 0 14px;
  }

  .hero h1{
    max-width:10.8ch;
    margin:0 0 22px;
    font-size:clamp(58px,5.9vw,82px);
    line-height:.95;
    letter-spacing:-.046em;
  }

  .hero p.lead{
    max-width:58ch;
    margin:0 0 27px;
    color:rgba(226,221,225,.80);
    font-size:15px;
    line-height:1.68;
  }

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

  .hero-actions .btn-primary{
    min-width:240px;
    min-height:57px;
    padding:0 25px;
    border-radius:17px;
    font-size:13px;
  }

  /* The waveform becomes the large background composition instead of
     occupying a separate narrow column. */
  #ambientWave{
    position:absolute;
    z-index:2;
    top:34px;
    right:-2%;
    width:72%;
    height:470px;
    margin:0;
    opacity:.64;
    pointer-events:none;
    filter:
      contrast(1.06)
      saturate(.95)
      drop-shadow(0 0 30px rgba(217,164,65,.15));
    -webkit-mask-image:
      linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent 100%);
    mask-image:
      linear-gradient(90deg,transparent 0,#000 12%,#000 94%,transparent 100%);
  }

  /* Soft lower fade makes the desktop hero read like the mobile card. */
  .hero-grid::before{
    z-index:1;
    background:
      linear-gradient(180deg,rgba(7,7,9,.02) 0%,rgba(7,7,9,.08) 42%,rgba(7,7,9,.88) 100%),
      linear-gradient(90deg,rgba(8,8,10,.72) 0%,rgba(8,8,10,.34) 50%,rgba(8,8,10,.03) 100%);
  }

  .hero-grid::after{
    z-index:1;
    top:41%;
    right:-94px;
    width:520px;
    height:520px;
    opacity:.75;
  }
}

/* Tablet: same composition, simply scaled — not a different structure. */
@media (min-width:621px) and (max-width:899px){
  .hero .wrap{
    padding-right:18px;
    padding-left:18px;
  }

  .hero-grid{
    min-height:clamp(590px,72vh,700px);
    display:flex;
    padding:48px 38px 46px;
  }

  .hero-grid > div{
    width:min(78%,620px);
  }

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

  #ambientWave{
    top:24px;
    right:-12%;
    width:84%;
    height:390px;
    opacity:.54;
  }
}
/* ---------- STAGE 12.1.2 · WIDE SECTION POLISH ----------
   Bring the screens after Hero closer to the successful mobile visual language:
   wider rhythm, less empty black space, stronger hierarchy, balanced cards.
   Phone <=620px remains untouched.
*/
@media (min-width:900px){
  :root{
    --wide-max:1320px;
  }

  /* Keep the wide pages visually related to the Hero width. */
  #how > .wrap,
  #tracks > .wrap,
  #pricing > .wrap,
  #contact > .wrap,
  #author > .wrap,
  #contactHub > .wrap{
    max-width:1320px;
    padding-right:34px;
    padding-left:34px;
  }

  /* ---------- PHILOSOPHY: balanced two-column statement ---------- */
  #philosophy.philosophy-section{
    width:min(calc(100% - 68px),1280px);
    max-width:1280px;
    min-height:520px;
    padding:0;
    border-radius:32px;
    background:
      radial-gradient(circle at 84% 12%,rgba(217,164,65,.13),transparent 34%),
      radial-gradient(circle at 8% 82%,rgba(217,164,65,.045),transparent 30%),
      linear-gradient(145deg,#17161a 0%,#0d0d0f 70%);
  }

  #philosophy .philosophy-inner{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
    grid-template-areas:
      "kicker kicker"
      "wave wave"
      "quote text";
    align-items:end;
    column-gap:clamp(42px,5vw,76px);
    row-gap:0;
    padding:50px clamp(48px,5.4vw,78px) 54px;
  }

  #philosophy .philosophy-kicker{
    grid-area:kicker;
    margin:0;
  }

  #philosophy .philosophy-wave{
    grid-area:wave;
    width:min(70%,680px);
    height:72px;
    margin:5px 0 24px;
    opacity:.48;
  }

  #philosophy .philosophy-quote{
    grid-area:quote;
    max-width:13ch;
    margin:0;
    align-self:start;
    font-size:clamp(44px,4.3vw,64px);
    line-height:1.04;
  }

  #philosophy .philosophy-text{
    grid-area:text;
    max-width:48ch;
    margin:0 0 4px;
    color:rgba(208,201,209,.72);
    font-size:14px;
    line-height:1.78;
  }

  /* ---------- HOW IT WORKS: denser, more confident ---------- */
  #how{
    padding-top:68px;
    padding-bottom:72px;
  }

  #how .sec-head{
    width:100%;
    max-width:920px;
    margin-bottom:24px;
  }

  #how .process-wave{
    width:min(62%,610px);
    height:52px;
    margin:2px 0 9px;
  }

  #how .sec-head h2{
    max-width:20ch;
    margin-top:4px;
    font-size:clamp(40px,3.7vw,54px);
    line-height:.98;
  }

  #how .steps{
    gap:13px;
  }

  #how .step{
    min-height:188px;
    grid-template-columns:56px minmax(0,1fr);
    gap:16px;
    padding:22px 22px 21px;
    border-color:rgba(217,164,65,.14);
    border-radius:21px;
    background:
      radial-gradient(circle at 92% 3%,rgba(217,164,65,.085),transparent 39%),
      linear-gradient(145deg,#171619,#111113);
  }

  #how .step-num{
    width:56px;
    height:56px;
    border-radius:16px;
    font-size:18px;
  }

  #how .step h3{
    margin:2px 0 8px;
    font-size:18px;
    line-height:1.22;
  }

  #how .step p{
    max-width:31ch;
    color:rgba(197,190,200,.70);
    font-size:12.5px;
    line-height:1.62;
  }

  /* ---------- STORIES + AUTHOR: use the screen, not a narrow strip ---------- */
  #tracks,
  #author{
    padding-top:70px;
    padding-bottom:74px;
  }

  #tracks .sec-head,
  #author .sec-head{
    max-width:900px;
    margin-bottom:24px;
  }

  #tracks .music-showcase-wave,
  #author .music-showcase-wave{
    width:min(64%,620px);
    height:54px;
    margin-bottom:8px;
  }

  #tracks .sec-head h2,
  #author .sec-head h2{
    max-width:20ch;
    font-size:clamp(40px,3.6vw,52px);
  }

  .library-showcase{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:13px;
  }

  .library-featured-card{
    min-height:224px;
    grid-template-columns:188px minmax(0,1fr);
    gap:24px;
    padding:17px;
    border-radius:23px;
  }

  .library-featured-cover{
    width:188px;
    height:188px;
    border-radius:19px;
  }

  .library-featured-copy strong{
    max-width:15ch;
    font-size:clamp(28px,2.45vw,38px);
  }

  .library-showcase-footer{
    min-height:224px;
    padding:24px;
    border-radius:23px;
  }

  /* ---------- PRICING: one coherent composition ---------- */
  #pricing{
    padding-top:66px;
    padding-bottom:78px;
  }

  #pricing .sec-head{
    max-width:920px;
    margin-bottom:26px;
  }

  #pricing .pricing-wave{
    width:min(62%,620px);
    height:52px;
    margin:2px 0 7px;
  }

  #pricing .sec-head h2{
    margin-top:3px;
    font-size:clamp(40px,3.8vw,54px);
  }

  #pricing .sec-head p{
    max-width:58ch;
    font-size:13px;
  }

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

  #pricing .tiers-grid{
    gap:12px;
  }

  #pricing .tier-card{
    min-height:238px;
    padding:22px 20px 20px;
    overflow:hidden;
    border-color:rgba(217,164,65,.20);
    border-radius:21px;
    background:
      radial-gradient(circle at 92% 0,rgba(217,164,65,.07),transparent 34%),
      linear-gradient(145deg,#171619,#101012);
  }

  #pricing .tier-card.featured{
    border-color:rgba(217,164,65,.40);
    background:
      radial-gradient(circle at 88% 0,rgba(217,164,65,.14),transparent 35%),
      linear-gradient(145deg,#1b1816,#101012);
  }

  #pricing .tier-name{
    font-size:23px;
    line-height:1.12;
  }

  #pricing .tier-price{
    margin-top:10px;
    font-size:40px;
    line-height:1;
  }

  #pricing .tier-features{
    margin-top:16px;
    margin-bottom:16px;
    gap:7px;
    font-size:11.5px;
  }

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

  #pricing .wedding-packages{
    margin-top:34px;
    padding:24px 25px 26px;
    border-radius:25px;
    background:
      radial-gradient(circle at 90% 0,rgba(217,164,65,.085),transparent 31rem),
      linear-gradient(145deg,#171619,#101012);
  }

  #pricing .wedding-packages-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,360px);
    align-items:end;
    gap:28px;
    margin-bottom:18px;
  }

  #pricing .wedding-packages-heading p{
    margin:0;
    justify-self:end;
    max-width:34ch;
    color:rgba(196,189,199,.68);
    text-align:right;
    font-size:11px;
    line-height:1.55;
  }

  #pricing .wedding-packages-grid{
    gap:12px;
  }

  #pricing .wedding-package-card{
    min-height:178px;
    padding:18px 16px 16px;
    border-color:rgba(217,164,65,.21);
    border-radius:19px;
    background:linear-gradient(145deg,#151417,#0f0f11);
  }

  #pricing .pricing-wave-lower{
    width:min(60%,650px);
    height:52px;
    margin:18px auto 0;
    opacity:.38;
  }

  /* ---------- START YOUR STORY ---------- */
  #contact{
    padding-top:70px;
    padding-bottom:76px;
  }

  #contact .sec-head{
    max-width:870px;
    margin-bottom:24px;
  }

  #contact .story-path-picker{
    gap:12px;
  }

  #contact .story-path-card{
    min-height:150px;
    padding:18px;
  }

  #contact .order-box{
    margin-top:14px;
    padding:30px;
  }
}

/* Tablet keeps a single-column philosophy and more generous than mobile spacing. */
@media (min-width:621px) and (max-width:899px){
  #philosophy.philosophy-section{
    width:calc(100% - 36px);
    min-height:0;
  }

  #philosophy .philosophy-inner{
    display:block;
    padding:42px 38px 44px;
  }

  #philosophy .philosophy-wave{
    width:88%;
    margin-bottom:18px;
  }

  #philosophy .philosophy-quote{
    max-width:12ch;
    margin-bottom:20px;
    font-size:clamp(38px,6.5vw,54px);
  }

  #philosophy .philosophy-text{
    max-width:58ch;
  }

  #how,
  #tracks,
  #pricing,
  #contact,
  #author{
    padding-top:58px;
    padding-bottom:62px;
  }

  #pricing .wedding-packages-heading{
    display:block;
  }

  #pricing .wedding-packages-heading p{
    margin-top:8px;
    text-align:left;
  }
}

/* ---------- STAGE 12.1.4 · WIDE COPY + PRICING ALIGNMENT ----------
   Desktop copy rhythm requested after visual review.
   No mobile <=620px rules are changed.
*/
@media (min-width:900px){
  /* Shared explicit desktop line rows. */
  .wide-copy-line{
    display:block;
    width:max-content;
    max-width:none;
    white-space:nowrap;
  }

  /* HERO: first memory sentence = one line, ring detail = next line. */
  .hero p.lead{
    max-width:700px;
  }

  /* PHILOSOPHY: exactly 3 lines, no decorative quote marks. */
  #philosophy .philosophy-inner{
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    column-gap:clamp(34px,4vw,60px);
  }

  #philosophy .philosophy-quote{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(42px,3.9vw,58px);
    line-height:1.06;
    letter-spacing:-.038em;
  }

  #philosophy .philosophy-text{
    max-width:46ch;
  }

  /* STORIES: give the explanatory copy enough width for the long second row. */
  #tracks .sec-head{
    max-width:none;
  }

  #tracks .sec-head p{
    max-width:none;
    width:100%;
  }

  /* AUTHOR: subtitle must stay on one clean line on desktop. */
  #author .sec-head{
    max-width:none;
  }

  #author .sec-head p{
    max-width:none;
    width:max-content;
    white-space:nowrap;
  }

  /* PRICING intro: explicit two-line composition. */
  #pricing .sec-head{
    max-width:none;
  }

  #pricing .sec-head p{
    max-width:none;
  }

  /* Standard pricing cards: force equal geometry. */
  #pricing .tiers-grid{
    align-items:stretch;
  }

  #pricing .tier-card,
  #pricing .tier-card.featured{
    min-height:238px !important;
    height:100% !important;
    align-self:stretch !important;
  }

  #pricing .tier-card.featured{
    transform:none;
  }

  #pricing .tier-card .tier-select,
  #pricing .tier-card .tier-more,
  #pricing .tier-card [data-tier-details],
  #pricing .tier-card button:last-child{
    margin-top:auto;
  }

  /* WEDDING: title becomes a real white section title like "Выберите свой формат". */
  #pricing .wedding-packages-heading{
    grid-template-columns:minmax(0,1fr) minmax(320px,430px);
    align-items:end;
  }

  #pricing .wedding-packages-eyebrow{
    margin:0;
    color:#f4eee5;
    font-family:'Fraunces',serif;
    font-size:clamp(38px,3.6vw,52px);
    font-weight:600;
    line-height:1.02;
    letter-spacing:-.035em;
    text-transform:none;
  }

  #pricing .wedding-packages-heading p{
    max-width:none;
    justify-self:end;
    color:rgba(208,201,209,.72);
    font-size:13px;
    line-height:1.55;
    text-align:left;
  }

  #pricing .wedding-packages-grid{
    align-items:stretch;
  }

  #pricing .wedding-package-card{
    min-height:178px;
    height:100%;
    align-self:stretch;
  }

  /* ORDER intro: the explanatory sentence remains one line. */
  #contact .sec-head{
    max-width:none;
  }

  #contact .sec-head p{
    max-width:none;
    width:max-content;
    white-space:nowrap;
  }
}

/* Tablet keeps natural wrapping to avoid horizontal overflow. */
@media (min-width:621px) and (max-width:899px){
  .wide-copy-line{
    display:inline;
    width:auto;
    white-space:normal;
  }

  #philosophy .philosophy-quote,
  #author .sec-head p,
  #contact .sec-head p{
    white-space:normal;
  }

  #pricing .wedding-packages-eyebrow{
    color:#f4eee5;
    font-family:'Fraunces',serif;
    font-size:clamp(34px,5vw,44px);
    font-weight:600;
    line-height:1.04;
    letter-spacing:-.03em;
    text-transform:none;
  }
}

/* ---------- STAGE 12.1.6 · WEDDING DETAIL = STANDARD FORMAT CARD ----------
   Tablet/desktop wedding detail panels now use the same compact card language
   as the regular "Ваш формат" package detail card.
   Phone <=620px remains untouched.
*/
@media (min-width:621px){
  .tier-detail-panel.is-wedding .tier-detail-card{
    width:min(100%,430px);
    max-width:430px;
    padding:24px 21px 21px;
  }

  /* Remove the large wedding illustration on wide layouts. */
  .tier-detail-panel.is-wedding .tier-detail-visual{
    display:none !important;
  }

  .tier-detail-panel.is-wedding .tier-detail-kicker{
    max-width:100%;
  }

  .tier-detail-panel.is-wedding .tier-detail-card h2{
    margin-top:10px;
  }

  .tier-detail-panel.is-wedding .tier-detail-description{
    margin-top:10px;
    color:#aaa4ac;
    font-size:11.5px;
    line-height:1.52;
  }

  /* Price uses exactly the same visual language as the ordinary tier card. */
  .tier-detail-panel.is-wedding .tier-detail-price{
    margin-top:13px;
  }

  .tier-detail-panel.is-wedding .tier-detail-until{
    display:block;
  }

  /* Wedding information is flattened: no big nested cards. */
  .tier-detail-panel.is-wedding .tier-detail-wedding-content{
    display:grid;
    gap:13px;
    margin:17px 0 18px;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block{
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block + .tier-detail-info-block{
    padding-top:12px;
    border-top:1px solid rgba(245,225,181,.10);
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block h3{
    margin:0 0 8px;
    color:#d9a441;
    font:800 10px/1.25 'Manrope',sans-serif;
    letter-spacing:.07em;
    text-transform:uppercase;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block ul{
    display:grid;
    gap:7px;
    margin:0;
    padding:0;
    color:#c8c1c7;
    font-size:11.5px;
    line-height:1.38;
    list-style:none;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block li{
    display:flex;
    gap:9px;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block li::before{
    content:"✓";
    flex:none;
    color:#d9a441;
    font-weight:800;
  }

  .tier-detail-panel.is-wedding .tier-detail-info-block p{
    margin:0;
    color:#c8c1c7;
    font-size:11.5px;
    line-height:1.45;
  }

  .tier-detail-panel.is-wedding .tier-detail-select{
    margin-top:0;
  }
}

/* Desktop keeps the entire wedding card compact and centered. */
@media (min-width:900px){
  .tier-detail-panel.is-wedding .tier-detail-shell{
    width:min(920px,calc(100% - 44px));
    height:calc(100dvh - 44px);
    max-height:760px;
    inset:22px auto auto 50%;
    border:1px solid rgba(217,164,65,.16);
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 35px 100px rgba(0,0,0,.52);
    transform:translate(-50%,24px);
  }

  .tier-detail-panel.is-wedding.is-open .tier-detail-shell{
    transform:translate(-50%,0);
  }

  .tier-detail-panel.is-wedding .tier-detail-body{
    padding:28px;
  }
}
