/* Hallmark · component: hero and transitions · genre: editorial · theme: AltoMente light brand by request · signature: purple seed forms carry between learning surfaces · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 */
/* User-directed exception: the intro assembles the brand from seeds; subtle ambient waves continue with a reduced-motion fallback. */
@import url('./tokens.css');
html,body{overflow-x:clip}
h1,h2,h3{overflow-wrap:break-word;min-width:0;text-wrap:balance}
.v2-home .site-header,.v2-home .site-header.is-scrolled{background:var(--cinema-ground);color:var(--cinema-ink)}
.v2-home .site-header nav a[aria-current],.v2-home .site-header a:hover{color:var(--brand-deep)}
.v2-home .site-header [data-display-settings]:hover{background:var(--cinema-rule);color:var(--cinema-ink)}
.v2-home .site-header .button.primary{background:var(--cinema-button);color:var(--cinema-button-ink)}
.v2-home .site-header .button.primary:hover{background:var(--cinema-button-hover)}
.v2-home .menu-toggle span{background:var(--cinema-ink)}
.v2-home .site-header :focus-visible{outline-color:var(--cinema-focus)}
.cinema-hero{background:var(--cinema-ground);color:var(--cinema-ink);min-height:calc(100svh - var(--header-height));display:grid;align-items:center}
.cinema-hero-inner{width:min(var(--hero-width),calc(100% - 96px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--hero-gap);padding-block:var(--space-2xl);min-height:660px}
.cinema-copy{min-width:0;padding-block:var(--space-lg)}
.cinema-copy h1{font-size:clamp(3.5rem,calc(5.4vw * var(--text-scale,1)),5rem);line-height:1.65;letter-spacing:-.035em;max-width:10ch;color:var(--cinema-ink)}
.cinema-copy>p{font-size:1.25rem;line-height:1.95;max-width:31ch;margin-top:var(--space-lg);color:var(--cinema-muted)}
.cinema-copy .actions{justify-content:flex-start;gap:var(--space-lg);margin-top:var(--space-xl)}
.cinema-copy .button.primary{background:var(--cinema-button);color:var(--cinema-button-ink);min-height:56px;padding-inline:28px}
.cinema-copy .button.primary:hover{background:var(--cinema-button-hover)}
.cinema-copy .text-link{color:var(--cinema-ink)}
.cinema-copy :focus-visible{outline-color:var(--cinema-focus)}
.cinema-visual{min-width:0;display:grid;place-items:center;padding-bottom:var(--space-lg)}
.sunflower-figure{position:relative;margin:0;width:min(100%,560px);aspect-ratio:1;isolation:isolate}
.sunflower-mark{display:block;width:100%;height:auto;overflow:visible}
.sunflower-seed{transform-box:fill-box;transform-origin:center}
.sunflower-phi{font-family:var(--sunflower-phi-font);font-size:88px;font-style:italic;fill:var(--brand-purple)}
[data-sunflower]:not([data-seed-flow])[data-state=playing] .sunflower-seed{animation:sunflower-land 900ms var(--ease-out) var(--seed-delay) both}
[data-sunflower][data-state=playing] .sunflower-phi{animation:sunflower-centre 650ms var(--ease-out) 1550ms both;transform-box:fill-box;transform-origin:center}
@keyframes sunflower-land{from{opacity:0;transform:translate(var(--seed-x),var(--seed-y)) scale(.94)}to{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes sunflower-centre{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.sunflower-replay{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-sm);border:0;border-radius:8px;color:var(--cinema-muted);background:transparent;font:inherit;font-size:.875rem;cursor:pointer;position:absolute;inset-block-end:-24px;left:50%;transform:translateX(-50%);white-space:nowrap}
.sunflower-replay:hover{color:var(--cinema-ink)}
.sunflower-replay:focus-visible{outline:3px solid var(--cinema-focus);outline-offset:4px}
.sunflower-replay:active{transform:translateX(-50%) scale(.97)}
.sunflower-replay:disabled{opacity:.55;cursor:default}
.sunflower-replay svg{width:18px;height:18px}
.v2-tour{padding-block:96px}
.v2-tour .hero-caption{font-size:1rem;color:var(--muted);text-align:center;margin-top:var(--space-lg)}
.choice-list button[aria-pressed=true],.plan-card.featured,.display-option:has(input:checked){background:var(--purple-selection)}
html[data-high-contrast=true] .cinema-hero,html[data-high-contrast=true] .v2-home .site-header{background:var(--cinema-ground);color:var(--cinema-ink)}
html[data-high-contrast=true] .v2-home .site-header a[aria-current]{color:var(--cinema-ink)}
html[data-high-contrast=true] .cinema-copy>p{color:var(--cinema-ink)}
html[data-large-text] .cinema-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html[data-large-text] .cinema-copy h1{font-size:clamp(3rem,calc(4.5vw * var(--text-scale,1)),4.5rem)}
html[data-reduce-motion] [data-sunflower]:not([data-seed-flow]) .sunflower-seed,html[data-reduce-motion] .sunflower-phi{animation:none!important;opacity:1!important;transform:none!important}
html[data-reduce-motion] .sunflower-replay{display:none}
@media(max-width:1100px){
 .cinema-hero-inner{width:calc(100% - 64px);gap:var(--space-xl);min-height:610px;padding-block:var(--space-xl)}
 .cinema-copy h1{font-size:3.5rem}
 .cinema-copy .actions{flex-wrap:wrap;gap:var(--space-md)}
 html[data-large-text] .cinema-hero-inner{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
 html[data-large-text] .cinema-copy{max-width:720px}
 html[data-large-text] .cinema-visual{max-width:480px;width:100%;margin-inline:auto}
}
@media(max-width:680px){
 .cinema-hero{min-height:0}
 .cinema-hero-inner{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-xl) var(--space-2xl);min-height:0}
 .cinema-copy{padding-block:0}
 .cinema-copy h1{font-size:2.75rem;max-width:13ch}
 .cinema-copy>p{font-size:1.0625rem;max-width:32ch;margin-top:var(--space-md)}
 .cinema-copy .actions{margin-top:var(--space-lg);gap:var(--space-lg)}
 .cinema-copy .text-link{font-size:1rem}
 .cinema-visual{width:min(100%,390px);margin-inline:auto;padding-top:var(--space-lg)}
 .sunflower-replay{inset-block-end:-24px}
 .v2-tour{padding-block:var(--space-2xl)}
 .v2-home .site-header nav{background:var(--cinema-ground);color:var(--cinema-ink)}
 .v2-home .site-header nav a[aria-current],.v2-home .site-header nav .mobile-account{background:var(--cinema-rule);color:var(--cinema-ink)}
}
@media(max-width:1100px){
 html[data-large-text] .v2-home .site-header nav{background:var(--cinema-ground);color:var(--cinema-ink)}
}
@media(prefers-reduced-motion:reduce){
 [data-sunflower]:not([data-seed-flow]) .sunflower-seed,.sunflower-phi{animation:none!important;opacity:1!important;transform:none!important}
 .sunflower-replay{display:none}
}
