/* Mobile is its own stage; the desktop palette and layout remain as they were. */
.mobile-dock,.mobile-stardust{display:none}
.auth-invitation{display:inline-flex;align-items:center;gap:1px;padding:0;border:0;background:transparent;font-family:inherit;line-height:1.4;text-align:left;cursor:pointer}

@media(max-width:620px){
  :root{--mobile-night:#111225;--mobile-glow:#ddd5ff;--mobile-lavender:#c7b8ff;--mobile-ink:#24243a}
  body{background:#f3f2f8;color:var(--mobile-ink)}
  .section{scroll-margin-top:0}
  .container,.nav-wrap{width:calc(100% - 42px)}
  .site-header .nav-wrap{height:83px;border-bottom:1px solid rgba(226,224,255,.19)}
  .site-header .brand{letter-spacing:.13em}.site-header .brand-mark{color:#ded6ff;text-shadow:0 0 19px rgba(193,175,255,.75)}
  .site-header .brand small{color:#dedbef;opacity:.8}
  .menu-toggle{position:relative;width:48px;height:48px;align-items:center;border-radius:16px;border-color:rgba(224,218,255,.36);background:rgba(22,24,52,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 25px rgba(6,8,27,.3);overflow:hidden;backdrop-filter:blur(12px)}
  .menu-toggle span:not(.sr-only):not(.touch-feedback){width:19px;height:1.5px;background:#f4f1ff;border-radius:3px}
  .site-header nav{top:77px;left:21px;right:21px;border-radius:17px;background:rgba(22,22,48,.96);border-color:rgba(218,209,255,.28);box-shadow:0 20px 45px rgba(4,5,22,.45);backdrop-filter:blur(20px)}
  .site-header nav a{padding:16px;font-size:14px}

  .hero{min-height:max(840px,100svh);background:#0b0d20}
  .hero-image{background-image:url('/assets/mobile-observatory.webp');background-position:62% center;transform-origin:68% 65%;animation:mobile-observatory-drift 38s ease-in-out infinite alternate}
  .hero-shade{background:linear-gradient(180deg,rgba(7,9,26,.25) 0%,rgba(7,9,26,.38) 20%,rgba(7,9,26,.58) 53%,rgba(7,9,26,.04) 82%,rgba(7,9,26,.18) 100%),linear-gradient(90deg,rgba(6,8,24,.88),rgba(10,10,29,.56) 68%,rgba(7,9,26,.18))}
  @keyframes mobile-observatory-drift{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(-.6%,.2%,0)}}
  .hero-content{position:relative;z-index:1;padding-top:127px;padding-bottom:210px}
  .hero .eyebrow{color:#ded8ff;letter-spacing:.14em;margin-bottom:22px}
  .hero h1{font-size:clamp(42px,11.5vw,65px);letter-spacing:-.064em;line-height:1.025;text-shadow:0 4px 25px rgba(3,4,16,.3)}
  .hero h1 em{color:#ddd5ff}
  .auth-trigger::after{background:linear-gradient(90deg,#e2d9ff,rgba(201,186,255,.12))}
  .auth-spark{color:#f5eaff;text-shadow:0 0 10px #d1b6ff}
  .auth-invitation{font-size:10px;letter-spacing:.13em;color:#e0d9fa;margin-top:13px;min-height:28px}
  .auth-invitation span{font-size:16px;color:#e1d1ff}
  .hero-copy{font-size:14px;line-height:1.75;color:#f2f1fc;max-width:35ch;margin:17px 0 25px;text-shadow:0 2px 15px rgba(4,4,18,.8)}
  .pronounce{color:#d2d0e7}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:385px}
  .hero-actions .button{min-height:57px;width:100%;padding:0 12px 0 18px;border-radius:16px;font-size:13px;letter-spacing:.005em}
  .hero-actions .button-light{background:linear-gradient(115deg,#f4f1ff,#d8ceff 68%,#c4b8fb);border:1px solid rgba(255,255,255,.7);color:#1d1a39;box-shadow:0 12px 35px rgba(92,72,171,.28),inset 0 1px 0 #fff}
  .hero-actions .button-outline{background:rgba(19,19,44,.54);border:1px solid rgba(220,215,250,.5);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:blur(12px)}
  .hero-actions .button>span:not(.touch-feedback){display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(43,35,94,.11);font-size:18px}
  .hero-actions .button-outline>span:not(.touch-feedback){background:rgba(222,214,255,.12)}
  .hero-actions .button-light::before{animation:button-light-sweep 7s ease-in-out infinite}
  @keyframes button-light-sweep{0%,52%,100%{transform:translateX(-230%) skewX(-20deg)}72%,85%{transform:translateX(650%) skewX(-20deg)}}
  .hero-actions .button:active,.menu-toggle:active{transform:scale(.975);filter:brightness(1.1)}
  .hero-bottom{display:none}
  .mobile-stardust{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .mobile-stardust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f3eaff;box-shadow:0 0 8px 2px rgba(214,195,255,.65);animation:mobile-twinkle 4.8s ease-in-out infinite alternate}
  .mobile-stardust i:nth-child(1){top:17%;left:83%;animation-delay:-1s}.mobile-stardust i:nth-child(2){top:24%;left:68%;animation-delay:-2.7s}.mobile-stardust i:nth-child(3){top:38%;left:88%;animation-delay:-.6s}.mobile-stardust i:nth-child(4){top:53%;left:76%;animation-delay:-3.5s}.mobile-stardust i:nth-child(5){top:72%;left:12%;animation-delay:-2s}.mobile-stardust i:nth-child(6){top:79%;left:67%;animation-delay:-4s}
  @keyframes mobile-twinkle{from{opacity:.12;transform:scale(.65)}to{opacity:.8;transform:scale(1.3)}}

  .intro-strip{background:#e9e7f5}.strip-spark{color:#7867b9}.strip-inner{min-height:120px}.strip-inner p{color:#302c49}
  .story{background:#f5f4fa}.eyebrow.dark{color:#6a5a9b}.story h2 em,.books h2 em,.reflections h2 em{color:#7566a5}.story .lead{color:#302b45!important}
  .story-copy{color:#5b5a70}.story-copy h3{color:#322a50}.story-divider{background:#dfdcea}.story-signoff,.text-link{color:#685693!important}
  .galaxy-section{background:#111327}.galaxy-section::before{filter:hue-rotate(26deg) saturate(.78);opacity:.85}.galaxy-section h2 em{color:#d0c5ff}.galaxy-section .eyebrow.light,.project-kicker{color:#d2c6ff}
  .project-card{border-radius:19px;border-color:rgba(221,213,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 15px 35px rgba(4,5,21,.18)}
  .project-feature{background:linear-gradient(145deg,rgba(69,57,105,.96),rgba(33,34,69,.98))}.project-corn{background:linear-gradient(145deg,rgba(65,53,68,.97),rgba(31,31,50,.98))}.project-ai{background:rgba(31,39,70,.97)}.project-auto{background:rgba(43,39,78,.97)}
  .project-top{color:#e4def8}.project-card p:not(.project-kicker){color:#dddced}.project-link{color:#f1eaff}.symbol-orbit{color:#e3d4ff}.status i{background:#d6c8ff}
  .galaxy-footnote{color:#cdc9e1}.galaxy-footnote span{color:#d6c7ff}
  .books{background:#f8f7fb}.book-feature{background:#eae8f3;border-radius:19px}.book-info h3 em{color:#74659d}.book-subtitle{color:#71618e!important}.book-info p:not(.eyebrow){color:#59576d}
  .book-info .button-dark{background:#3a315b;border-radius:14px;box-shadow:0 10px 24px rgba(63,45,114,.2)}.book-second{background:#20213e;border-radius:19px}.book-second h3 em{color:#d1c5ff}.book-second-copy>p:not(.eyebrow){color:#dedceb}
  .earlier-book{background:#eeedf6;border-color:#dedbeb;border-radius:19px}.earlier-book h3{color:#343047}.earlier-book p:not(.eyebrow){color:#625e72}.earlier-book-spark{color:#8272b3;border-color:#c9c0e5}
  .reflections{background:#ebeaf4}.reflection-copy>p:not(.eyebrow){color:#5f5c71}.label-star{border-color:#c9c1e3;color:#8170b1}.reflection-label strong{color:#403752}.reflection-label small{color:#716e82}.reflection-figure figcaption{color:#716195}.reflection-figure summary{color:#64528f}
  .closing{background:#121325}.closing::before{filter:hue-rotate(25deg) saturate(.75)}.closing-star,.closing h2 em{color:#d4c8ff}.closing .eyebrow.light{color:#d9ccff}.closing-inner>p:not(.eyebrow){color:#d3d0e3}
  .auth-dialog{background:#15172d;border-color:rgba(226,216,255,.38)}.auth-art::after{background:linear-gradient(0deg,#15172d,transparent 55%)}.auth-dialog-copy h2 em{color:#d8cbff}.auth-dialog-copy blockquote{border-color:#cbb9ff}.auth-dialog-copy .eyebrow.light,.auth-dialog-copy .auth-note{color:#cfc2f7!important}.auth-return{color:#e8e1ff;border-color:#c6b5ed}
  .site-footer{background:#0f1021}.footer-brand .brand-mark{color:#cbbdff}.footer-inner{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}

  .mobile-dock{position:fixed;z-index:6;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:6px;gap:3px;border:1px solid rgba(229,224,255,.25);border-radius:23px;background:rgba(17,17,37,.91);box-shadow:0 14px 42px rgba(5,5,20,.4),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  .mobile-dock a{position:relative;min-width:0;min-height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:16px;text-decoration:none;color:#b6b2ce;overflow:hidden;transition:background .25s,color .25s,transform .2s}
  .mobile-dock a[aria-current="location"]{background:rgba(176,155,255,.2);color:#f5f0ff;box-shadow:inset 0 1px 0 rgba(235,225,255,.2)}
  .mobile-dock a:active{transform:scale(.92);background:rgba(193,176,255,.25)}
  .mobile-dock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .mobile-dock a>span:not(.touch-feedback){font-size:9px;line-height:1;letter-spacing:.015em;font-weight:700}
  .mobile-dock a:focus-visible{outline:2px solid #e6dbff;outline-offset:-3px}
  .touch-feedback,.menu-toggle .touch-feedback{position:absolute!important;z-index:3;width:0!important;height:0!important;padding:0!important;margin:0!important;display:block!important;background:transparent!important;pointer-events:none}
  .touch-feedback::before{content:"";position:absolute;width:15px;height:15px;left:-7.5px;top:-7.5px;border:1px solid rgba(255,255,255,.9);border-radius:50%;animation:touch-ring .65s ease-out both}
  .touch-feedback i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 7px #e3d5ff;animation:touch-spark .6s ease-out both}
  @keyframes touch-ring{from{transform:scale(.15);opacity:.9}to{transform:scale(6);opacity:0}}
  @keyframes touch-spark{from{transform:translate(0,0) scale(.5);opacity:1}to{transform:translate(var(--spark-x),var(--spark-y)) scale(1.1);opacity:0}}
}
@media(max-width:360px){.hero h1{font-size:42px}.hero-copy{font-size:13.5px}.hero-actions .button{min-height:54px}.mobile-dock{left:9px;right:9px}.mobile-dock a>span:not(.touch-feedback){font-size:8.5px}}
@media(prefers-reduced-motion:reduce){.mobile-stardust i,.hero-actions .button-light::before,.touch-feedback::before,.touch-feedback i{animation:none!important}.mobile-dock a,.menu-toggle{transition:none!important}.hero-actions .button:active,.menu-toggle:active,.mobile-dock a:active{transform:none!important}}
