/* Hero variant styles — bright "toward a good future" candidates */
.hero.hv-a,.hero.hv-b{background:linear-gradient(155deg,#FFFFFF 0%,#FDFCFA 42%,#F1EBE3 100%)}
.hv-a-photo{position:absolute;right:0;top:0;bottom:0;width:58%;overflow:hidden}
.hv-a-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(1.1) contrast(.94) saturate(.8);animation:heroDrift 26s var(--ease-inout) infinite alternate}
.hv-a-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#FDFCFA 0%,rgba(253,252,250,.86) 26%,rgba(253,252,250,.42) 62%,rgba(242,234,218,.35) 100%)}
.hv-a-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(142,118,71,.09) 0 1px,rgba(142,118,71,0) 1px 64px),repeating-linear-gradient(0deg,rgba(142,118,71,.055) 0 1px,rgba(142,118,71,0) 1px 64px)}
.hv-a-grid::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(142,118,71,.16) 0 1px,rgba(142,118,71,0) 1px 320px)}
.hv-a-scan{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.7) 50%,rgba(255,255,255,0) 58%);animation:hvScan 14s linear infinite}
@keyframes hvScan{0%{transform:translateY(-55%)}100%{transform:translateY(55%)}}
.hv-a-ticks{position:absolute;inset:0;pointer-events:none}
.hv-a-ticks span{position:absolute;font:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold-700);opacity:.8}
.hv-a-ticks span:nth-child(1){left:var(--gutter);top:24px}
.hv-a-ticks span:nth-child(2){right:var(--gutter);top:24px}
.hv-b-glow{position:absolute;inset:0;background:radial-gradient(70% 60% at 74% 34%,rgba(211,191,155,.5) 0%,rgba(211,191,155,0) 70%),radial-gradient(60% 50% at 20% 80%,rgba(196,214,235,.4) 0%,rgba(196,214,235,0) 72%)}
.hv-b-photo{position:absolute;right:-4%;top:0;bottom:0;width:56%;overflow:hidden;opacity:.5;mask-image:radial-gradient(70% 70% at 60% 50%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(70% 70% at 60% 50%,#000 0%,transparent 78%)}
.hv-b-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(1.18) saturate(.6) contrast(.9)}
.hv-b-orbit{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(62vw,760px);aspect-ratio:1}
.hv-b-orbit svg{width:100%;height:100%;overflow:visible}
.hv-b-orbit ellipse,.hv-b-orbit circle{fill:none;stroke:rgba(22,36,58,.34);stroke-width:.6;vector-effect:non-scaling-stroke}
.hv-b-orbit .hv-b-node{fill:var(--gold-600);stroke:none}
.hv-b-orbit .hv-b-core{display:none}
.hv-b-spin{transform-origin:200px 200px;animation:hvSpin 120s linear infinite}
.hv-b-spin2{transform-origin:200px 200px;animation:hvSpin 76s linear infinite reverse}
@keyframes hvSpin{to{transform:rotate(360deg)}}
.hv-b-orbit::after{content:none}
@keyframes hvBreathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.05)}}
.hv-c{background:linear-gradient(150deg,#FFFFFF 0%,#FDFCFA 46%,#F8F5F0 100%)}
.hv-c-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:100svh}
.hv-c-copy{position:relative;z-index:2}
.hv-c-media{position:relative;align-self:stretch;overflow:hidden}
.hv-c-media img{width:100%;height:100%;object-fit:cover;filter:brightness(1.04) contrast(.98) saturate(.82);animation:heroDrift 26s var(--ease-inout) infinite alternate}
.hv-c-duo{position:absolute;inset:0;background:linear-gradient(168deg,rgba(196,214,235,.3) 0%,rgba(242,234,218,.28) 100%);mix-blend-mode:screen}
.hv-c-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#FDFCFA 0%,rgba(253,252,250,.5) 22%,rgba(253,252,250,0) 58%)}
.hv-c-lines{position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.45) 0 1px,rgba(255,255,255,0) 1px 10px);opacity:.32}
.hv-c-band{position:absolute;inset:-10% -30%;z-index:2;background:linear-gradient(102deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 60%);animation:hvBand 20s var(--ease-inout) infinite}
@keyframes hvBand{0%,100%{transform:translateX(-24%)}50%{transform:translateX(24%)}}
.hv-c-frame{position:absolute;inset:clamp(16px,2.4vw,40px);z-index:3;border:1px solid rgba(194,169,126,.55);border-left:0}
.hv-c-cap{position:absolute;z-index:4;left:clamp(28px,3.4vw,56px);bottom:clamp(28px,3.4vw,56px);font:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold-700)}
@media (prefers-reduced-motion:reduce){.hv-a-scan,.hv-a-photo img,.hv-b-spin,.hv-b-spin2,.hv-b-orbit::after,.hv-c-band,.hv-c-media img{animation:none}}
@media (max-width:1080px){.hv-c-grid{grid-template-columns:1fr;min-height:auto}.hv-c-media{min-height:52svh;order:-1}.hv-c-media::after{background:linear-gradient(180deg,rgba(253,252,250,.25) 0%,rgba(253,252,250,0) 45%,#FDFCFA 100%)}.hv-c-frame{border-left:1px solid rgba(194,169,126,.55);border-bottom:0}}
@media (max-width:900px){.hv-a-photo{width:100%;opacity:.5}.hv-a-photo::after{background:linear-gradient(180deg,rgba(253,252,250,.72) 0%,rgba(253,252,250,.9) 60%,#FDFCFA 100%)}.hv-b-photo{right:-20%;width:90%}.hv-b-orbit{right:-30%;opacity:.6}}
@media (max-width:640px){.hv-b-orbit{right:auto;left:50%;top:44%;transform:translate(-50%,-50%);width:min(68vw,330px);opacity:.62}.hv-b-photo{right:auto;left:50%;transform:translateX(-50%);top:8%;bottom:auto;height:70%;width:96%}}.hv-a-ticks span:nth-child(2){display:none}}
