/* Header and hero together fill the first stable viewport. */
:root{--hero-header-size:112px;--hero-note-space:88px}
.site-header{height:var(--hero-header-size)}
#home{height:calc(100svh - var(--hero-header-size));min-height:0;display:flex;flex-direction:column}
#home .hero-layout{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);padding-top:clamp(16px,3svh,36px)}
#home .hero-copy{align-self:center;padding-top:0}
#home .hero-figure{height:100%;min-height:0;margin-top:0;margin-bottom:0;align-self:stretch}
#home .hero-image{height:calc(100% - var(--hero-note-space));min-height:0;aspect-ratio:auto}
#home .hero-image>img.hero-cosmic-art{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
#home .hero-note{bottom:10px}
#home .hero-meta{flex:0 0 auto;margin-top:0;padding-top:16px;padding-bottom:22px}
@media(max-width:1200px){
 :root{--hero-header-size:96px;--hero-note-space:76px}
 #home .hero-layout{padding-top:24px}
 #home .hero-meta{padding-top:14px;padding-bottom:20px}
}
@media(max-width:900px) and (min-width:641px){
 :root{--hero-note-space:62px}
 #home .hero-layout{padding-top:20px}
 #home .hero-note{bottom:8px}
}
@media(max-width:640px){
 :root{--hero-header-size:90px;--hero-note-space:58px}
 #home .hero-layout{padding-top:clamp(12px,3svh,28px);gap:16px}
 #home .hero-copy{flex:0 0 auto;align-self:auto}
 #home .hero-figure{flex:1;min-height:0;height:auto;align-self:auto}
 #home .hero-note{bottom:4px!important}
 #home .hero-meta{padding-top:12px;padding-bottom:18px}
}
@media(max-width:640px) and (max-height:700px){
 :root{--hero-header-size:76px;--hero-note-space:52px}
 #home .hero-layout{padding-top:12px;gap:10px}
 #home .hero-description{margin-top:22px}
 #home .hero-link{margin-top:18px}
 #home .hero-meta{padding-top:10px;padding-bottom:14px}
}
@media(min-width:641px) and (max-height:560px){
 :root{--hero-header-size:60px;--hero-note-space:50px}
 #home .hero-layout{padding-top:10px}
 #home #hero-title{font-size:min(5.2vw,46px)}
 #home .hero-description{font-size:15px;line-height:1.45;margin-top:18px;max-width:400px}
 #home .hero-link{font-size:17px;margin-top:18px}
 #home .hero-note{font-size:22px;bottom:4px}
 #home .hero-meta{font-size:11px;padding-top:8px;padding-bottom:10px}
}

/* Keep compact phone landscapes readable within the first screen. */
@media(min-width:480px) and (max-width:640px) and (max-height:500px){
 :root{--hero-header-size:60px;--hero-note-space:40px}
 #home .hero-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:12px;padding-top:8px}
 #home .hero-copy{align-self:center}
 #home #hero-title{font-size:min(5.2vw,30px)}
 #home .hero-description{font-size:13px;line-height:1.4;margin-top:12px}
 #home .hero-link{font-size:13px;gap:8px;margin-top:12px;padding-bottom:4px}
 #home .hero-figure{height:100%}
 #home .hero-note{font-size:15px!important;right:6px!important;line-height:1.05}
 #home .hero-note svg{width:30px;height:30px}
 #home .hero-meta{padding-top:6px;padding-bottom:8px}
 #home .hero-meta span:last-child{font-size:10px;line-height:1.2}
}

/* Leave more breathing room above the divider on tall desktop screens. */
@media(min-width:1201px) and (min-height:800px){
 #home{--hero-content-lift:clamp(40px,4svh,56px)}
 #home .hero-copy,#home .hero-figure{translate:0 calc(-1 * var(--hero-content-lift))}
}
