/* Shared internal heroes only. Existing content and Home keep their styles. */
.horizon{--horizon-height:66svh;--horizon-title:clamp(32px,4.9vw,68px);--horizon-entry:700ms;--horizon-line-opacity:.32;position:relative;isolation:isolate;overflow:hidden;min-height:430px;height:var(--horizon-height);max-height:740px;background:#070c10;color:#ece9df;display:grid;align-items:center;padding:95px var(--page-gutter) 85px;}
.horizon--compact{--horizon-height:42svh;min-height:300px;max-height:410px;padding-top:85px;padding-bottom:65px;--horizon-title:clamp(32px,4vw,54px)}
.horizon::after{content:'';position:absolute;inset:auto 0 0;height:85px;background:linear-gradient(transparent,#000);pointer-events:none;z-index:-1}
.horizon-atmosphere{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 25% 48%,#8396a419,transparent 55%),radial-gradient(ellipse at 80% 75%,#caba8d0c,transparent 45%)}
.horizon-composition{width:min(100%,1120px);margin:auto;display:flex;align-items:center;gap:clamp(28px,5vw,80px)}
.horizon-emblem{flex:0 0 clamp(88px,12vw,155px);aspect-ratio:1;border:1px solid #d7c79744;border-radius:50%;padding:5px;position:relative;box-shadow:0 0 40px #bdd1d008}
.horizon-emblem::before{content:'';position:absolute;inset:-10px;border-left:1px solid #d7c79744;border-radius:50%;transform:rotate(-25deg)}
.horizon-emblem img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.65)}
.horizon-heading{min-width:0;flex:1}
.horizon h1{font:500 var(--horizon-title)/1.16 Arial,sans-serif;letter-spacing:.065em;margin:0;overflow:hidden;text-wrap:balance;overflow-wrap:normal}
.horizon h1 span{display:block;animation:horizon-title var(--horizon-entry) cubic-bezier(.2,.8,.2,1) both}
.horizon-heading p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#bfc2bb;margin:20px 0 0}
.horizon-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;fill:none;stroke:var(--horizon-accent);stroke-width:.65;opacity:calc(var(--horizon-line-opacity)*(1 - var(--horizon-progress,0)*.85));}
.horizon-lines g{transform-box:fill-box;}
.horizon-lines__left{translate:calc(var(--horizon-progress,0)*-130px) 0}
.horizon-lines__right{translate:calc(var(--horizon-progress,0)*130px) 0}
.horizon-lines path{stroke-dasharray:1100;stroke-dashoffset:0;animation:horizon-lines var(--horizon-entry) ease-out both}
.horizon-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:20px;padding:8px 16px;color:#d7c797;text-decoration:none;font-size:11px;letter-spacing:.12em}
.horizon-scroll:hover{color:#fff3ce}
@keyframes horizon-title{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes horizon-lines{from{stroke-dashoffset:1100;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:700px){.horizon{--horizon-height:57svh;min-height:380px;padding:90px 24px 70px;--horizon-title:clamp(25px,7.4vw,43px)}.horizon-composition{flex-direction:column;gap:23px;text-align:center}.horizon-emblem{flex:none;width:72px}.horizon-heading{flex:none;width:100%}.horizon-heading p{font-size:10px;letter-spacing:.09em;margin-top:14px}.horizon--compact{--horizon-height:38svh;min-height:310px;max-height:350px;padding-top:83px;--horizon-title:32px}.horizon--compact .horizon-emblem{width:52px}.horizon--compact .horizon-composition{gap:16px}.horizon-scroll{bottom:15px}.horizon-lines{--horizon-line-opacity:.22}}
@media(prefers-reduced-motion:reduce){.horizon *{animation:none!important;translate:none!important}.horizon-lines{opacity:var(--horizon-line-opacity)}}
