/* AA v4.5.4 — an actual textured moon sphere, and the ORIGINAL project gallery. */
.aa-projects{background-color:#090811;background-image:radial-gradient(ellipse at 56% 23%,rgba(63,45,85,.18),transparent 34%),url('aa-project-stars.svg');background-size:auto,1400px auto;background-position:center top,center top;background-repeat:no-repeat,repeat-y}
.ap-hero{background:transparent;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(310px, .95fr) minmax(460px,1.12fr);grid-template-areas:'moon label' 'moon headline' 'moon under' 'moon foot';column-gap:4vw;row-gap:0;align-content:center;align-items:center;padding:120px 6vw 70px;overflow:hidden;position:relative}
.ap-hero::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 27% 42%,rgba(135,94,191,.13),transparent 35%);}
.ap-hero::after{display:none}
.ap-hero>.ap-moon-stage{grid-area:moon;position:relative;z-index:2;align-self:center;aspect-ratio:1/1;max-height:620px;max-width:620px;width:100%;min-width:0;display:grid;place-items:center;overflow:visible}
.ap-moon-halo{position:absolute;inset:-7%;border-radius:50%;background:radial-gradient(circle,rgba(213,183,253,.13) 10%,rgba(171,111,227,.10) 38%,transparent 69%);filter:blur(19px);pointer-events:none;}
.ap-moon-canvas,.ap-moon-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.ap-moon-canvas{z-index:3;opacity:0;transition:opacity .55s;touch-action:pan-y;cursor:grab;outline-offset:3px}
.ap-moon-stage.moon-ready .ap-moon-canvas{opacity:1}
.ap-moon-canvas:active{cursor:grabbing;touch-action:none}
.ap-moon-fallback{z-index:2;filter:drop-shadow(0 0 30px rgba(177,136,222,.28));transition:opacity .55s;pointer-events:none}
.ap-moon-stage.moon-ready .ap-moon-fallback{opacity:0}
.ap-moon-hint{position:absolute;z-index:4;left:50%;bottom:-24px;transform:translateX(-50%);color:#b9a0cd;white-space:nowrap;font-size:9px;letter-spacing:.19em;pointer-events:none;text-shadow:0 2px 8px #080710}
.ap-hero>.ap-kicker{grid-area:label;position:relative;z-index:4;align-self:end;margin:0 0 18px}
.ap-hero>h1{grid-area:headline;position:relative;z-index:4;font-size:clamp(46px,5.6vw,92px);line-height:1.035;margin:0 0 26px;letter-spacing:-.067em;font-weight:500;max-width:830px}
.ap-hero h1>span{padding-left:min(11vw,135px)}
.ap-hero>.ap-hero-bottom{grid-area:under;position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:26px;max-width:790px;width:100%;margin:0 0 24px}
.ap-hero-bottom>p{min-width:0;max-width:385px}
.ap-hero>.ap-hero-bottom>a{flex:none;gap:14px;white-space:nowrap}
.ap-hero>.ap-hero-bottom>a span{width:48px;height:48px}
.ap-hero>small{grid-area:foot;position:relative;z-index:4;margin-top:0}
.ap-enhanced .ap-stage{background:transparent}
/* Keep the original orbit/gallery/card/index styles from projects.css unchanged. */
@media(max-width:1050px){.ap-hero{grid-template-columns:minmax(245px,.85fr) minmax(370px,1.15fr);column-gap:3vw;padding:120px 5vw 60px}.ap-hero>h1{font-size:clamp(43px,5.3vw,67px)}.ap-hero>.ap-hero-bottom{align-items:flex-start;flex-direction:column;gap:13px}}
@media(max-width:740px){.ap-hero{display:flex;flex-direction:column;align-items:flex-start;min-height:auto;padding:115px 7vw 70px;gap:0}.ap-hero>.ap-kicker{order:0;align-self:stretch;margin-bottom:15px}.ap-hero>h1{order:1;font-size:clamp(44px,10vw,70px);margin-bottom:22px}.ap-hero>h1>span{padding-left:14vw}.ap-hero>.ap-moon-stage{order:2;width:min(85vw,440px);margin:0 auto 39px;min-height:0}.ap-moon-hint{bottom:-14px;font-size:8px}.ap-hero>.ap-hero-bottom{order:3;margin-bottom:22px}.ap-hero>small{order:4;margin:0}.ap-hero>.ap-hero-bottom>a span{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.ap-moon-canvas,.ap-moon-fallback{transition:none}.ap-moon-halo{filter:none}}

/* AA 4.7.1: one uninterrupted space backdrop for the Projects intro and gallery.
   The prior hero had its own star image and the gallery had a separate solid
   rectangle, causing an obvious horizontal band at the transition. */
.aa-projects{
  background-color:#090811;
  background-image:
    radial-gradient(ellipse 70vw 56vw at 50% 42%,rgba(66,47,92,.20),transparent 77%),
    url('aa-project-stars.svg');
  background-position:center center,center center;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
  background-attachment:fixed,fixed;
}
.aa-projects .ap-hero,
.aa-projects .ap-flight,
.aa-projects .ap-stage,
.aa-projects.ap-enhanced .ap-stage,
.aa-projects .ap-end{
  background-color:transparent;
  background-image:none;
}
.aa-projects .ap-hero::before,.aa-projects .ap-hero::after{display:none}
.aa-projects.ap-enhanced .ap-stars{opacity:0}
.aa-projects.ap-enhanced .ap-nebula{opacity:.09}
.aa-projects .ap-flight{border:0;box-shadow:none}
.aa-projects .ap-stage{border:0;box-shadow:none}
/* Preserve the exact original scrolling project-card stage and controls. */
/* Remove the gallery-only color wash: no straight horizontal color transition. */
.aa-projects.ap-enhanced .ap-nebula{opacity:0}
