/* Zodiac navigation: the glyphs counter-rotate so labels remain upright. */
.hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;overflow:visible}
.zodiac-orbit{position:relative;width:min(100%,590px);aspect-ratio:1;isolation:isolate;background:radial-gradient(ellipse,#29476255 0%,#101d3340 45%,transparent 70%)}
.orbit-halo{position:absolute;inset:5%;border:1px solid #d6b77480;border-radius:50%;outline:1px solid #d6b77430;outline-offset:14px;background:repeating-conic-gradient(from 0deg,#dcc59a80 0deg .2deg,transparent .2deg 5deg);mask:radial-gradient(transparent 67%,black 68%,black 70%,transparent 71%);animation:orbit-turn 90s linear infinite;pointer-events:none}
.orbit-center{position:absolute;inset:30%;border:1px solid #d6b77450;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:8px;background:radial-gradient(circle,#263c55,#0b1424);box-shadow:0 0 70px #b8955b20,inset 0 0 30px #d6b77414;pointer-events:none}
.orbit-center>span{font-size:clamp(28px,4vw,60px);color:#e8ce98;animation:orbit-glow 4s ease-in-out infinite}.orbit-center strong{font:clamp(16px,2vw,25px)/1.2 Georgia,serif;color:#f1e2c5}.orbit-center small{font-size:14px;margin-top:12px;color:#c1cada}
.orbit-signs{position:absolute;inset:0;animation:orbit-turn 150s linear infinite}.orbit-position{position:absolute;inset:0;transform:rotate(var(--angle));pointer-events:none}.orbit-sign{position:absolute;top:4%;left:50%;translate:-50% 0;transform:rotate(calc(-1 * var(--angle)));width:76px;height:76px;border-radius:50%;border:1px solid #d6b77465;background:#101c2f;color:#f1dfba;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;animation:orbit-upright 150s linear infinite;transition:background .25s,box-shadow .25s,border-color .25s}
.orbit-sign>span{font:34px/1 Georgia,serif;transition:scale .25s}.orbit-sign small{font-size:12px}.orbit-sign:hover,.orbit-sign:focus-visible,.orbit-sign[aria-pressed=true]{background:#2c3545;border-color:#f1d6a0;box-shadow:0 0 28px #dfb77655;outline:2px solid #d6b774;outline-offset:4px}.orbit-sign:hover>span{scale:1.15}.zodiac-orbit:hover .orbit-signs,.zodiac-orbit:hover .orbit-sign,.zodiac-orbit:focus-within .orbit-signs,.zodiac-orbit:focus-within .orbit-sign,.orbit-paused *{animation-play-state:paused!important}.orbit-pause{font-size:14px;color:#c9b58d;background:transparent;border:1px solid #d6b77440;border-radius:30px;padding:9px 18px;margin-top:12px}
@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes orbit-upright{from{transform:rotate(calc(-1 * var(--angle)))}to{transform:rotate(calc(-1 * var(--angle) - 360deg))}}@keyframes orbit-glow{50%{opacity:.55;filter:drop-shadow(0 0 12px #ecd39e)}}
#carta>.page-intro{padding:28px 0 24px;margin-bottom:16px}#carta>.page-intro h1{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:12px 0}#carta>.page-intro h1 br{display:none}#carta>.page-intro p{max-width:760px;margin:10px auto 0;font-size:16px}
.chart-size-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:14px;color:#e9d6ae;font-size:14px}.chart-size-control input{width:170px;accent-color:#d6b774}.chart-stage{max-width:var(--chart-size,100%);margin-inline:auto!important;transition:max-width .25s ease;box-shadow:0 0 55px #789bb618;border-radius:50%}
/* Restore deliberate accent motion disabled by the previous broad override. */
@media(prefers-reduced-motion:no-preference){.chart-stage .orbit-trace{animation:orbit-turn 48s linear infinite!important;transform-origin:400px 400px}.chart-stage .orbit-trace-b{animation-direction:reverse!important;animation-duration:70s!important}.chart-stage .aspect-flow{animation:connection-flow 7s linear infinite!important;animation-delay:var(--flow-delay)!important;stroke-dasharray:4 96;opacity:.6}.chart-stage .planet-satellite-ring{animation:orbit-glow 4s ease-in-out infinite!important}.natal-motion-paused .chart-stage *,.natal-page-hidden .chart-stage *{animation-play-state:paused!important}}
@keyframes connection-flow{to{stroke-dashoffset:-100}}
@media(max-width:600px){.hero-art{width:100%;margin:16px 0}.orbit-sign{width:58px;height:58px}.orbit-sign>span{font-size:26px}.orbit-sign small{font-size:11px}.orbit-center small{font-size:12px;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.zodiac-orbit *{animation:none!important;transition:none!important}.chart-stage{transition:none}}

#premium-output .report-actions[hidden]{display:none!important}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{position:relative;inset:auto;opacity:1;pointer-events:auto;z-index:1;width:100%;min-height:0}.zodiac-orbit{width:min(100%,500px)}}
/* Engraved art collection: original generated artwork and approved medallion sheet. */
.artisan-orbit{background:none;max-width:680px;width:100%;container-type:inline-size}
.orbit-artwork{position:absolute;inset:-3%;background:url('/assets/zodiac-astrolabe.png') center/contain no-repeat;border-radius:50%;mask-image:radial-gradient(circle,black 59%,transparent 72%);opacity:.86;animation:orbit-turn 220s linear infinite;pointer-events:none;z-index:-1}
.artisan-orbit .orbit-halo{inset:7%;opacity:.6}
.zodiac-medallion{display:block;position:relative;flex-shrink:0;width:100%;aspect-ratio:1;border-radius:50%;background-image:url('/assets/zodiac-medallions.png');background-size:548.57142857% 365.71428571%;background-position:var(--medal-x) var(--medal-y);box-shadow:0 3px 12px #0009,inset 0 0 0 1px #d7b57170;overflow:hidden;transition:filter .35s,box-shadow .35s,scale .35s;isolation:isolate}
.zodiac-medallion:after{content:'';position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 35%,#fff4d685 49%,transparent 63%);translate:-100% 0;rotate:-10deg;pointer-events:none}
.artisan-orbit .orbit-position:has(.orbit-sign:hover),.artisan-orbit .orbit-position:has(.orbit-sign:focus-visible){z-index:3}
.artisan-orbit .orbit-sign{width:17%;height:auto;aspect-ratio:1;top:3%;padding:0;border:0;background:transparent;display:block;box-shadow:none}
.artisan-orbit .orbit-sign>span{font-size:inherit;scale:1}.artisan-orbit .orbit-sign small{position:absolute;top:100%;left:50%;translate:-50% 3px;background:#09121de8;border:1px solid #b7975f44;border-radius:15px;padding:2px 8px;font-size:12px;line-height:1.3;white-space:nowrap;color:#f0dfbc}
.artisan-orbit .orbit-sign:hover,.artisan-orbit .orbit-sign:focus-visible{outline:1px solid #f9e1ac;outline-offset:4px}
.artisan-orbit .orbit-sign:hover .zodiac-medallion,.artisan-orbit .orbit-sign:focus-visible .zodiac-medallion{filter:brightness(1.3);scale:1.1;box-shadow:0 0 18px #ecc88790,0 0 45px #e5ad3e40}
.artisan-orbit .orbit-sign:hover .zodiac-medallion:after,.artisan-orbit .orbit-sign:focus-visible .zodiac-medallion:after{animation:medal-sheen .85s ease-out both}
.artisan-orbit .orbit-sign[aria-pressed=true]{outline:2px solid #ecd295;outline-offset:4px}.artisan-orbit .orbit-sign[aria-pressed=true] .zodiac-medallion{filter:brightness(1.18);box-shadow:0 0 20px #e9bb6677,0 0 48px #d6a04d40}
.artisan-orbit .orbit-sign[aria-pressed=true] small{color:#fff1d0;border-color:#d5b379}
.artisan-orbit .orbit-center{inset:33%;padding:6%;padding:10px;background:radial-gradient(circle,#162738ee,#060f1cf5);border:1px solid #dfc088a0;box-shadow:0 0 32px #c4a16533;gap:7px;pointer-events:auto;z-index:1}
.orbit-selected-art{width:46%;max-width:100px;line-height:0}.artisan-orbit .orbit-center strong{font-size:clamp(17px,4cqw,27px);margin:0}.orbit-read{background:transparent;border:0;border-bottom:1px solid #c6a66680;color:#ecdcbd;font-size:12px;padding:4px 0;cursor:pointer}.orbit-read:hover,.orbit-read:focus-visible{color:white;border-color:#f4dfaa;outline-offset:4px}
.orbit-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 10px;position:relative;z-index:2}.orbit-footer>span{font-size:14px;color:#c1b497}.orbit-footer .orbit-pause{margin:0}.orbit-pause:disabled{cursor:default;opacity:.75}
.orbit-paused .orbit-signs,.orbit-paused .orbit-sign,.orbit-paused .orbit-artwork,.orbit-tab-hidden *{animation-play-state:paused!important}
#zodiac-grid .zodiac-medallion{width:66px;margin:0 auto 10px}#zodiac-grid .zodiac:hover .zodiac-medallion,#zodiac-grid .zodiac:focus-visible .zodiac-medallion{filter:brightness(1.3);box-shadow:0 0 20px #ecc88777;scale:1.06}#zodiac-grid .zodiac.selected .zodiac-medallion{box-shadow:0 0 20px #ecc88788;filter:brightness(1.2)}
@keyframes medal-sheen{to{translate:100% 0}}
@media(max-width:600px){.artisan-orbit .orbit-sign small{font-size:11px;padding:2px 5px}.artisan-orbit .orbit-center{gap:4px;padding:7px}.orbit-selected-art{width:42%}.orbit-read{font-size:11px}.orbit-footer{margin-top:22px}#zodiac-grid .zodiac-medallion{width:54px}}
@media(prefers-reduced-motion:reduce){.orbit-artwork,.zodiac-medallion:after{animation:none!important}.zodiac-medallion{transition:none!important}.artisan-orbit .orbit-sign:hover .zodiac-medallion,.artisan-orbit .orbit-sign:focus-visible .zodiac-medallion{scale:1}}

.reading-layout#signos{scroll-margin-top:110px}.reading-title #reading-symbol{display:block;width:100px;min-width:100px;height:100px;font-size:0;line-height:0;background:none;filter:none}.reading-title #reading-symbol .zodiac-medallion{width:100%;height:100%}#reading-name:focus-visible{outline:1px solid #d6b774;outline-offset:6px}@media(max-width:600px){.reading-title #reading-symbol{width:72px;min-width:72px;height:72px}.reading-layout#signos{scroll-margin-top:90px}}

/* Approved horizontal signature, framed directly from the original identity artwork. */
.header .brand-art{width:270px;flex:0 0 270px;letter-spacing:0;line-height:0}
.brand-artwork{display:block;width:100%;aspect-ratio:650 / 195;background:url('/assets/astracielo-identity.png') 84.8758465% 93.486128% / 236.3076923% 525.1282051% no-repeat;mask-image:linear-gradient(90deg,transparent,black 3%,black 97%,transparent);transition:filter .25s}
.brand-art:hover .brand-artwork{filter:brightness(1.18)}
#hoy>.date-strip{padding-top:14px;padding-bottom:0}
#hoy>.hero{min-height:0;align-items:start;margin-top:10px}
#hoy>.hero>.hero-copy{align-self:start;padding-top:12px;padding-bottom:24px}
#hoy>.hero>.hero-art{align-self:start}
@media(max-width:1100px){.header .brand-art{width:225px;flex-basis:225px}}
@media(max-width:600px){.header .brand-art{width:200px;flex-basis:200px}#hoy>.hero{margin-top:6px}#hoy>.hero>.hero-copy{padding-top:8px}#hoy>.date-strip{padding-top:12px}}

/* Isolated logo with verified alpha transparency, no presentation background. */
.header .brand-artwork{aspect-ratio:2170 / 725;background-image:url("/assets/astracielo-logo-transparent.png");background-position:center;background-size:contain;background-repeat:no-repeat;mask-image:none;filter:none;box-shadow:none}.brand-art:hover .brand-artwork{filter:brightness(1.08)}

/* Chart first, settings afterwards; compact saved-chart selector. */
#carta>.page-intro{padding:16px 0 12px;margin-bottom:8px}#carta>.page-intro h1{font-size:clamp(28px,3vw,38px);margin:8px 0}#carta>.page-intro p{margin-top:6px;max-width:850px}
#carta .birth-layout{display:flex;flex-direction:column;gap:20px;align-items:stretch}
#carta #saved-profiles{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-start;gap:12px 18px;padding:10px 0 14px;margin:0;width:100%}
#carta #saved-profiles>label{flex:0 1 300px;width:300px;max-width:100%;font-size:14px;margin:0}
#carta #saved-profiles select{width:100%;margin-top:5px;padding:10px 12px}
#carta #saved-profiles>button{padding:10px 18px;margin:0;font-size:14px}
#carta #saved-profiles>p{flex-basis:100%;margin:0;font-size:14px}
#carta #natal-output{width:100%;padding:22px clamp(16px,4vw,48px)}
#carta #natal-output>.chart-stage{width:min(100%,720px)}
#carta #natal-output>.observatory-heading h2{font-size:clamp(26px,3vw,38px);margin:6px 0}
#carta #natal-output>.natal-meta{padding-bottom:8px;margin-bottom:8px}
#carta #natal-output>.chart-toolbar,#carta #astro-controls{margin-top:16px}
#carta #birth-form{width:min(100%,860px);align-self:center;position:static;scroll-margin-top:100px}
#carta #birth-form>h2{font-size:30px;margin:8px 0 18px}
@media(max-width:600px){#carta #saved-profiles>label{flex:1 1 180px}#carta #natal-output{padding:16px 12px}#carta .birth-layout{gap:14px}}

#carta #natal-output>.chart-stage{width:min(100%,calc(720px * var(--chart-scale,1)));max-width:100%}

/* Compact chart picker, including inherited flex and minimum-width rules. */
#carta #saved-profiles{width:fit-content;max-width:100%;align-self:flex-start;column-gap:12px;border-bottom:0}
#carta #saved-profiles>label{flex:0 0 auto;width:220px;min-width:0;max-width:100%}
#carta #saved-profiles #profile-select{width:220px;min-width:0;max-width:100%;box-sizing:border-box}
#carta #saved-profiles>p{max-width:460px}
