/* Zodiaro 2.5 premium interaction pass. */
.hero__trust { overflow: hidden; display: block; min-height: 58px; border-top: 1px solid rgba(120,89,41,.25); }
.hero__trust-track { display: flex; width: max-content; min-width: 200%; align-items: center; animation: zodiaro-trust-marquee 24s linear infinite; }
.hero__trust-track p { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; min-width: 50%; min-height: 58px; padding-inline: 2rem; margin: 0; color: var(--gold-dark); font-size: .56rem; font-weight: 700; letter-spacing: .23em; text-transform: uppercase; white-space: nowrap; }
.hero__trust-track .ui-icon { width: .72rem; height: .72rem; margin-inline: 1.2rem; color: var(--gold); }

.report-delivery { padding-top: .2rem; }
.report-delivery .check-row { margin-bottom: .55rem; }
.report-delivery__email { margin: .55rem 0 .35rem; }
.report-delivery > p { margin: 0 0 .85rem; color: var(--muted); font-size: .61rem; line-height: 1.45; }
.chart-form--mockup .report-delivery .check-row { margin: 0 0 .35rem; }
.chart-form--mockup .report-delivery > p { margin-bottom: .55rem; }
.chart-form--mockup .report-delivery__email input { height: 38px; }
.is-chart-submitting .hero__copy,
.is-chart-submitting .tool-hero__copy { opacity: .74; transform: translateY(-4px); transition: opacity 240ms ease, transform 240ms ease; }
.result-delivery { border-bottom: 1px solid rgba(184,139,69,.34); background: #efe6d6; }
.result-delivery .wrap { display: flex; align-items: center; gap: 1rem; min-height: 78px; }
.result-delivery .ui-icon { width: 22px; height: 22px; color: var(--gold-dark); }
.result-delivery p, .result-delivery strong, .result-delivery small { display: block; margin: 0; }
.result-delivery small { margin-top: .2rem; color: var(--muted); }

.premium-blueprint { background: #efe8dc; }
.premium-blueprint__layout { row-gap: 3.5rem; }
.premium-blueprint__intro { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); align-items: end; gap: 2rem 6rem; max-width: none; padding: 0; }
.premium-blueprint__intro h2 { max-width: 14ch; margin-bottom: 0; }
.premium-blueprint__intro > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: 47ch; margin-bottom: 4.5rem; }
.premium-blueprint__intro .button { grid-column: 2; justify-self: start; margin-top: -3.5rem; }
.premium-blueprint__grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-flow: dense; border: 1px solid var(--line); background: var(--line); }
.premium-blueprint__card { min-height: 0; }
.premium-blueprint__card--demo { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,.9fr) minmax(320px,1.1fr); gap: clamp(2rem,7vw,7rem); align-items: center; min-height: 600px; border: 0; background: var(--paper); }
.premium-blueprint__card--demo h3 { max-width: 15ch; font-size: clamp(2.25rem,4.6vw,4.5rem); }
.shift-demo__copy { max-width: 580px; }
.shift-demo__copy > p:not(.eyebrow) { min-height: 4.8em; color: var(--muted); }
.shift-demo__copy label { display: grid; grid-template-columns: 1fr auto; gap: .65rem 1rem; align-items: center; margin-top: 2rem; color: var(--ink); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.shift-demo__copy input { grid-column: 1 / -1; width: 100%; accent-color: var(--terracotta); cursor: ew-resize; }
.shift-demo__copy output { color: var(--gold-dark); }
.shift-demo__copy small { display: block; margin-top: 1.25rem; color: var(--muted); font-size: .64rem; line-height: 1.55; }
.shift-demo__sky { position: relative; justify-self: center; width: min(100%,520px); aspect-ratio: 1; border: 1px solid rgba(120,89,41,.28); border-radius: 50%; background: radial-gradient(circle,rgba(184,139,69,.16),transparent 58%); box-shadow: inset 0 0 60px rgba(184,139,69,.08); }
.shift-demo__sky::before,
.shift-demo__sky::after,
.shift-demo__sky > i { position: absolute; inset: 12%; border: 1px solid rgba(120,89,41,.22); border-radius: 50%; content: ""; }
.shift-demo__sky::after { inset: 26%; }
.shift-demo__sky > i:nth-of-type(1) { inset: 38%; }
.shift-demo__sky > i:nth-of-type(2) { inset: 5% 22%; transform: rotate(24deg); }
.shift-demo__sky > i:nth-of-type(3) { inset: 21% 7%; transform: rotate(-16deg); }
.shift-demo__core { position: absolute; z-index: 3; inset: 50% auto auto 50%; display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid var(--gold); border-radius: 50%; background: var(--ink); color: #dbc18e; font: 600 2.1rem/1 var(--display); transform: translate(-50%,-50%); box-shadow: 0 0 55px rgba(184,139,69,.22); }
.shift-demo__sky b { position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--gold); border-radius: 50%; background: #2d243b; color: #fff; font: 700 .6rem/1 var(--sans); letter-spacing: .06em; transform: translate(-50%,-50%); transition: transform 850ms cubic-bezier(.2,.8,.2,1); }

.premium-accordion { grid-column: 1 / -1; display: grid; grid-template-columns: 1.45fr .8fr .8fr; min-height: 390px; transition: grid-template-columns 520ms cubic-bezier(.2,.8,.2,1); }
.premium-accordion__item { position: relative; overflow: hidden; padding: clamp(1.5rem,3vw,2.6rem); background: var(--paper); color: var(--ink); }
.premium-accordion__item + .premium-accordion__item { border-left: 1px solid var(--line); }
.premium-accordion__item--ink { background: var(--ink); color: #fff; }
.premium-accordion__item button { display: grid; width: 100%; min-height: 112px; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.premium-accordion__item button span { color: var(--gold-dark); font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.premium-accordion__item--ink button span { color: #dbc18e; }
.premium-accordion__item button strong { align-self: end; max-width: 14ch; font: 600 clamp(1.7rem,2.7vw,2.8rem)/1 var(--display); }
.premium-accordion__item > div { max-width: 44ch; opacity: 0; transform: translateY(22px); transition: opacity 320ms ease, transform 420ms cubic-bezier(.2,.8,.2,1); }
.premium-accordion__item.is-active > div { opacity: 1; transform: none; }
.premium-accordion__item--ink p { color: rgba(255,255,255,.7); }

.chart-story { overflow: clip; background: radial-gradient(circle at 25% 45%,rgba(184,139,69,.13),transparent 32%),#171226; }
.chart-story__layout { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(3rem,8vw,9rem); align-items: start; }
.chart-story__stage { position: sticky; top: 13vh; display: grid; place-items: center; min-height: 74vh; }
.chart-story__stage img { width: min(100%,620px); filter: sepia(.14) drop-shadow(0 28px 60px rgba(0,0,0,.28)); }
.chart-story__stage span { position: absolute; bottom: 8%; padding: .7rem 1rem; border: 1px solid rgba(219,193,142,.35); background: rgba(23,18,38,.82); color: #dbc18e; font-size: .64rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.chart-story__chapters article { display: flex; min-height: 86vh; flex-direction: column; justify-content: center; opacity: .32; transition: opacity 240ms ease; }
.chart-story__chapters article.is-current { opacity: 1; }
.chart-story__chapters h2 { max-width: 11ch; color: #fff; font-size: clamp(2.8rem,5.2vw,5.6rem); }
.chart-story__chapters article > p:last-child { max-width: 49ch; color: rgba(255,255,255,.7); }

.method-ledger { background: #f7f3ec; }
.method-ledger__layout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.method-ledger header { max-width: 520px; }
.method-ledger__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.method-ledger__grid article { min-height: 170px; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-ledger__grid strong,
.method-ledger__grid span { display: block; }
.method-ledger__grid strong { margin-bottom: 2.6rem; font-family: var(--display); font-size: 1.55rem; }
.method-ledger__grid span { color: var(--muted); font-size: .78rem; line-height: 1.6; }

.period-list > a { grid-template-columns: 1fr auto; }
.celestial-motion-toggle--scene:hover,
.celestial-motion-toggle--scene:focus-visible { border-color: #dbc18e; background: #171226; color: #fff; }
.button:focus-visible,
.text-link:focus-visible,
.premium-accordion__item button:focus-visible,
input:focus-visible,
select:focus-visible { outline: 3px solid #d27755; outline-offset: 3px; }
.is-document-hidden *, .is-document-hidden *::before, .is-document-hidden *::after { animation-play-state: paused !important; }

@keyframes zodiaro-trust-marquee { to { transform: translateX(-50%); } }

@media (max-width: 980px) {
	.hero__trust { position: relative; width: 100%; min-height: 52px; padding: 0; }
	.hero__trust-track p { min-height: 52px; }
	.premium-blueprint__intro { grid-template-columns: 1fr; }
	.premium-blueprint__intro > p:not(.eyebrow), .premium-blueprint__intro .button { grid-column: 1; grid-row: auto; margin: 0; }
	.premium-blueprint__card--demo, .chart-story__layout, .method-ledger__layout { grid-template-columns: 1fr; }
	.premium-blueprint__card--demo { min-height: 0; }
	.chart-story__stage { position: relative; top: auto; min-height: auto; padding-block: 4rem 1rem; }
	.chart-story__stage img { width: min(76vw,520px); }
	.chart-story__chapters article { min-height: auto; padding-block: 4rem; opacity: 1; }
}

@media (max-width: 700px) {
	.hero__trust-track p { min-width: 100vw; padding-inline: 1rem; font-size: .48rem; letter-spacing: .15em; }
	.premium-blueprint__card--demo { display: block; padding: 1.6rem; }
	.shift-demo__sky { width: min(100%,360px); margin-top: 3rem; }
	.premium-accordion { display: block; min-height: 0; }
	.premium-accordion__item + .premium-accordion__item { border-top: 1px solid var(--line); border-left: 0; }
	.premium-accordion__item > div { max-height: 0; overflow: hidden; opacity: 0; }
	.premium-accordion__item.is-active > div { max-height: 180px; opacity: 1; }
	.method-ledger__grid { grid-template-columns: 1fr; }
	.period-list > a { grid-template-columns: 1fr auto; }
}

@media (prefers-reduced-motion: reduce) {
	.hero__trust-track { animation: none; transform: none; }
	.hero__trust-track p[aria-hidden="true"] { display: none; }
	.shift-demo__sky b, .premium-accordion__item > div { transition: none; }
}

/* Homepage rhythm repair: keep cinematic chapters without empty-screen gaps. */
.zodiaro-front-page .section-heading { margin-bottom: clamp(1.75rem,2.4vw,2.5rem); }

@media (min-width: 981px) {
	.zodiaro-front-page .section { padding-block: clamp(3rem,3.25vw,3.5rem); }
	.zodiaro-front-page .premium-blueprint__layout { row-gap: 2rem; }
	.zodiaro-front-page .premium-blueprint__card--demo { min-height: 480px; }
	.zodiaro-front-page .premium-accordion { min-height: 300px; }
	.zodiaro-front-page .chart-story__stage,
	.zodiaro-front-page .chart-story__chapters article { min-height: clamp(440px,52vh,540px); }
	.zodiaro-front-page .big-three__grid article { min-height: 280px; }
	.zodiaro-front-page .period-list > a { min-height: 112px; }
	.zodiaro-front-page .method-ledger__grid article { min-height: 150px; }
	.zodiaro-front-page .closing-cta { min-height: 460px; }
}

@media (min-width: 861px) and (max-width: 980px) {
	.zodiaro-front-page .section { padding-block: 3.75rem; }
}

@media (max-width: 860px) {
	.zodiaro-front-page .section { padding-block: 4rem; }
}

@media (max-width: 620px) {
	.zodiaro-front-page .section { padding-block: 3.5rem; }
}
