h1,h2,h3,h4,.hero-title,.bundle-title,.feature-title{ text-wrap:balance; }
  p,.hero-sub,.feature-body{ text-wrap:pretty; }
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{ outline:2px solid rgba(216,185,126,.7); outline-offset:3px; border-radius:6px; }

  /* ===== Auth glass window (scoped to #modal-auth) ===== */
  #modal-auth .modal.auth-modal{
    max-width: 880px;
    padding: 0;
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  #modal-auth .auth-pane{
    flex: 1 1 52%;
    min-width: 0;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  #modal-auth .modal-head{ padding: 40px 40px 0; }
  #modal-auth .modal-body{ padding: 0 40px 40px; }
  #modal-auth .field-input:focus{
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(183,146,86,.18);
  }
  #modal-auth .btn-primary{
    background: linear-gradient(135deg,#fbf6ec,#e7d8b6);
    color: #1a140e;
    border: 1px solid rgba(216,185,126,.5);
  }
  #modal-auth .btn-primary:hover{
    background: linear-gradient(135deg,#ffffff,#efe2c6);
    transform: translateY(-1px);
  }

  /* right animated panel */
  #modal-auth .auth-aside{
    flex: 1 1 48%;
    position: relative;
    overflow: hidden;
    min-height: 540px;
    background: radial-gradient(125% 85% at 70% 12%, #2a2417 0%, #14110b 55%, #0b0906 100%);
    border-left: 1px solid var(--line);
  }
  .aa-glow{ position:absolute; border-radius:50%; filter: blur(34px); opacity:.5; pointer-events:none; }
  .aa-glow-1{ width:200px; height:200px; left:-40px; top:60px;
    background: radial-gradient(circle, rgba(216,185,126,.6), transparent 70%);
    animation: aaFloat1 11s ease-in-out infinite; }
  .aa-glow-2{ width:250px; height:250px; right:-70px; bottom:-40px;
    background: radial-gradient(circle, rgba(150,110,60,.55), transparent 70%);
    animation: aaFloat2 14s ease-in-out infinite; }

  .aa-stars{ position:absolute; inset:0; pointer-events:none; }
  .aa-stars::before, .aa-stars::after{
    content:""; position:absolute; left:0; top:0; width:2px; height:2px; border-radius:50%;
    background: rgba(255,248,230,.95);
    box-shadow:
      14px 32px rgba(255,248,230,.9), 60px 88px rgba(255,248,230,.7), 110px 20px rgba(255,248,230,.85),
      150px 140px rgba(255,248,230,.6), 200px 60px rgba(255,248,230,.9), 250px 120px rgba(255,248,230,.65),
      300px 40px rgba(255,248,230,.85), 350px 96px rgba(255,248,230,.7), 400px 150px rgba(255,248,230,.6),
      40px 180px rgba(255,248,230,.8), 90px 240px rgba(255,248,230,.7), 170px 210px rgba(255,248,230,.85),
      230px 270px rgba(255,248,230,.6), 290px 200px rgba(255,248,230,.8), 340px 250px rgba(255,248,230,.65),
      390px 300px rgba(255,248,230,.7), 24px 320px rgba(255,248,230,.85), 130px 340px rgba(255,248,230,.6),
      210px 380px rgba(255,248,230,.8), 300px 360px rgba(255,248,230,.7), 360px 420px rgba(255,248,230,.6),
      80px 440px rgba(255,248,230,.8), 180px 470px rgba(255,248,230,.65), 260px 500px rgba(255,248,230,.75),
      120px 540px rgba(255,248,230,.6);
    animation: aaTwinkle 3.6s ease-in-out infinite;
  }
  .aa-stars::after{
    width:1px; height:1px; background: rgba(255,248,230,.7);
    box-shadow:
      30px 60px rgba(255,248,230,.6), 100px 130px rgba(255,248,230,.5), 160px 40px rgba(255,248,230,.6),
      220px 100px rgba(255,248,230,.5), 280px 70px rgba(255,248,230,.55), 330px 150px rgba(255,248,230,.5),
      380px 90px rgba(255,248,230,.55), 50px 220px rgba(255,248,230,.5), 120px 280px rgba(255,248,230,.55),
      190px 250px rgba(255,248,230,.5), 250px 320px rgba(255,248,230,.55), 310px 290px rgba(255,248,230,.5),
      360px 340px rgba(255,248,230,.5), 20px 400px rgba(255,248,230,.55), 90px 380px rgba(255,248,230,.5),
      150px 430px rgba(255,248,230,.55), 220px 460px rgba(255,248,230,.5), 290px 440px rgba(255,248,230,.55),
      350px 480px rgba(255,248,230,.5), 60px 500px rgba(255,248,230,.5), 140px 520px rgba(255,248,230,.55),
      240px 540px rgba(255,248,230,.5);
    animation: aaTwinkle 5s ease-in-out infinite reverse;
  }

  .aa-comet{ position:absolute; top:-8%; left:62%; width:3px; height:3px; border-radius:50%;
    background:#fff; box-shadow:0 0 6px 1px rgba(255,255,255,.85); opacity:0;
    animation: aaComet 6s linear infinite; }
  .aa-comet::after{ content:""; position:absolute; right:1px; top:50%;
    width:90px; height:1px; transform-origin: right center; transform: translateY(-50%) rotate(-46deg);
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75)); }
  .aa-comet-2{ left:33%; animation-delay:2.4s; animation-duration:7s; }
  .aa-comet-3{ left:82%; animation-delay:4.2s; animation-duration:5.5s; }

  .aa-brand{ position:absolute; left:40px; right:40px; bottom:40px; z-index:2; }
  .aa-brand-mark{ font-family: var(--font-serif); font-size:22px; color:#f3ead6; letter-spacing:.02em; }
  .aa-brand-mark span{ color: var(--gold); }
  .aa-brand-line{ font-size:12px; color: rgba(220,205,175,.6); margin-top:6px; max-width:240px; }

  @keyframes aaFloat1{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(20px,24px); } }
  @keyframes aaFloat2{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(-26px,-18px); } }
  @keyframes aaTwinkle{ 0%,100%{ opacity:.35; } 50%{ opacity:1; } }
  @keyframes aaComet{
    0%{ transform: translate(0,0); opacity:0; }
    8%{ opacity:1; }
    62%{ opacity:1; }
    100%{ transform: translate(-260px,460px); opacity:0; }
  }

  @media (max-width: 820px){
    #modal-auth .modal.auth-modal{ flex-direction: column; max-width: 460px; }
    #modal-auth .auth-aside{ display:none; }
    #modal-auth .modal-head{ padding: 32px 28px 0; }
    #modal-auth .modal-body{ padding: 0 28px 28px; }
  }

  @media (prefers-reduced-motion: reduce){
    .aa-glow, .aa-stars::before, .aa-stars::after, .aa-comet{ animation: none !important; }
    .aa-comet{ opacity: 0; }
  }
