/* Astraea belongs to the Louforeal atlas: one blue landscape, many ways in. */
html[data-world="astro"],body[data-world="astro"] { background:#121c32; }
body[data-world="astro"] { --ag-ink:#121c32; --ag-plum:#242d46; --ag-paper:#eee8d8; --ag-muted:#bcc8da; --ag-coral:#d6a494; --ag-gold:#d5bb84; --silver:#eee8d8; --muted:#bcc8da; --line:#b9c8dc2b; }
body[data-world="astro"] .inner-shell { position:relative; isolation:isolate; background:radial-gradient(ellipse at 12% 52%,#23354c66,transparent 55%),#121c32; }
body[data-world="astro"] .site-header { position:relative; z-index:4; background:transparent; }
body[data-world="astro"] .site-footer { background:transparent; }
#page-astro em { color:#c4cfe4; }
#page-astro .ag-eyebrow { color:#d5bb84; }
.ag-hero { height:min(770px,calc(100svh - 88px)); min-height:665px; background:transparent; overflow:visible; }
.ag-observatory { inset:-88px 0 auto; width:100%; height:calc(100% + 140px); object-fit:cover; object-position:center 43%; opacity:1; transform:translate3d(var(--ag-drift-x,0px),var(--ag-drift-y,0px),0) scale(1.015); transition:transform 1.2s ease-out; mask-image:linear-gradient(#000 0%,#000 68%,transparent 100%); -webkit-mask-image:linear-gradient(#000 0%,#000 68%,transparent 100%); }
.ag-hero::after { inset:-88px 0 -30px; background:linear-gradient(90deg,#121c3224,transparent 52%),linear-gradient(180deg,#121c3266,transparent 20%); }
.ag-hero-inner { padding:18px clamp(28px,6vw,100px) 95px; }
.ag-brand { gap:15px; font:500 clamp(45px,4.4vw,64px)/1 var(--serif); letter-spacing:-1.8px; }
.ag-brand svg { width:40px;height:40px; color:#d5bb84; }
.ag-hero .ag-eyebrow { font-size:9px; letter-spacing:1.6px; margin-top:12px; max-width:390px; line-height:1.8; }
.ag-hero h2 { font-size:clamp(52px,5.1vw,76px); line-height:1.04; max-width:51%; margin-top:36px; letter-spacing:-1.2px; text-shadow:0 2px 20px #10182b33; }
.ag-hero h2 em { color:#cbd8e9; }
#page-astro .ag-hero-description { max-width:355px; color:#d8dfeb; font:500 21px/1.5 var(--serif); margin-top:26px; text-wrap:pretty; }
.ag-hero-actions { max-width:510px; gap:23px; margin-top:30px; }
.ag-primary { border-radius:50px; min-height:49px; padding:12px 27px; font-size:20px; color:#24354b; box-shadow:0 8px 26px #060f1d25; }
.ag-text-link { font-size:20px; border-color:#b3bfcd62; }
.ag-hero-foot { bottom:19px; color:#c9d1df; }
.ag-hero-foot > span { font-size:9px; letter-spacing:1.5px; }
.ag-hero-foot button { font-size:12px; }
.ag-sky-notes { position:absolute; inset:0; pointer-events:none; }
.ag-sky-note { pointer-events:auto; position:absolute; display:flex; align-items:center; gap:14px; padding:10px 14px 10px 9px; border:0; border-radius:32px; background:#121c3266; backdrop-filter:blur(5px); color:#f0e8d5; text-align:left; cursor:pointer; transition:background .3s,transform .3s; }
.ag-sky-note > span:last-child { display:block; font:500 18px/1.2 var(--serif); white-space:nowrap; }
.ag-sky-note small { display:block; margin-bottom:3px; font:400 8px/1 var(--sans); letter-spacing:1.4px; color:#d7c494; }
.ag-note-dot { width:7px;height:7px;border-radius:50%;background:#e7d1a7;box-shadow:0 0 0 5px #e7d1a714,0 0 0 10px #e7d1a70a;flex:none; }
.ag-sky-note:hover,.ag-sky-note:focus-visible { background:#263a55c9; transform:translateY(-3px); }
.ag-sky-note-natal { top:16%; left:64%; }
.ag-sky-note-synastry { top:48%; right:5%; }
.ag-sky-note-written { top:75%; left:55%; }
.ag-content { position:relative; }
@media(min-width:1600px) { .ag-hero { height:800px;min-height:800px; } .ag-hero-inner { padding-bottom:90px; } .ag-observatory { object-position:center 46%; } }
@media(min-width:801px) and (max-width:1100px) {
 .ag-hero { min-height:650px; }
 .ag-hero-inner { padding-inline:4vw; }
 .ag-hero h2 { font-size:55px;max-width:54%; }
 .ag-observatory { object-position:52% center; }
 .ag-hero::after { background:linear-gradient(90deg,#121c3255,transparent 65%); }
 #page-astro .ag-hero-description { max-width:330px; }
 .ag-hero-actions { max-width:350px;gap:12px; }
 .ag-sky-note-natal { left:64%;top:12%; }
 .ag-sky-note-synastry { right:2%;top:50%; }
 .ag-sky-note-written { left:58%;top:79%; }
}
@media(max-width:800px) {
 .ag-hero { display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;height:auto;padding:26px 0 0;isolation:isolate;overflow:hidden; }
 .ag-hero::before { content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 90% 35%,#28426840,transparent 65%); }
 .ag-hero::after { display:none; }
 .ag-hero-inner { grid-column:1;grid-row:1;padding:0 26px;max-width:570px;z-index:2; }
 .ag-brand { font-size:48px;gap:14px; }
 .ag-brand svg { width:34px;height:34px; }
 .ag-hero .ag-eyebrow { font-size:8px;max-width:330px;margin-top:12px;letter-spacing:1.35px; }
 .ag-hero h2 { font-size:clamp(44px,11.5vw,63px);max-width:100%;margin-top:27px;line-height:1.04;letter-spacing:-.7px; }
 #page-astro .ag-hero-description { font-size:19px;max-width:350px;line-height:1.45;margin-top:20px; }
 .ag-hero-actions { gap:16px;margin-top:24px;max-width:none; }
 .ag-hero-actions .ag-primary { min-height:46px;font-size:18px;padding:11px 18px;gap:12px; }
 .ag-hero-actions .ag-text-link { font-size:17px;gap:8px; }
 .ag-observatory { position:relative;grid-column:1;grid-row:2;inset:auto;width:100%;height:clamp(340px,105vw,550px);object-fit:cover;object-position:right 48%;margin:-10px 0 0;z-index:-1;transform:none;mask-image:linear-gradient(transparent,#000 12%,#000 78%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 78%,transparent); }
 .ag-sky-notes { position:relative;grid-column:1;grid-row:2;inset:auto;margin-top:-10px; }
 .ag-sky-note { gap:10px;padding:8px 13px 8px 10px;background:#121c3299; }
 .ag-sky-note > span:last-child { font-size:17px; }
 .ag-sky-note-natal { left:8%;top:17%; }
 .ag-sky-note-synastry { right:5%;top:49%; }
 .ag-sky-note-written { left:11%;top:73%; }
 .ag-hero-foot { position:relative;grid-column:1;grid-row:3;inset:auto;max-width:570px;width:100%;margin:-4px auto 0;padding:0 26px 10px;gap:20px; }
 .ag-hero-foot > span { font-size:8px;letter-spacing:1px;max-width:155px; }
 .ag-hero-foot button { font-size:11px;gap:9px; }
 .ag-content { padding-inline:26px; }
}
@media(max-width:359px) {
 .ag-hero-inner,.ag-hero-foot,.ag-content { padding-inline:21px; }
 .ag-hero h2 { font-size:40px; }
 .ag-brand { font-size:44px; }
 #page-astro .ag-hero-description { font-size:18px; }
 .ag-hero-actions { gap:11px; }
 .ag-hero-actions .ag-primary { font-size:17px;padding-inline:17px;gap:9px; }
 .ag-hero-actions .ag-text-link { font-size:17px;gap:8px; }
 .ag-hero-foot > span { max-width:125px; }
}
@media(prefers-reduced-motion:reduce) { .ag-observatory,.ag-sky-note { transition:none;transform:none; } }
