
@font-face{
  font-family:"ZT Gatha";
  src:local("ZT Gatha SemiBold"),local("ZT Gatha"),
      url("assets/fonts/ZTGatha-SemiBold.ttf") format("truetype");
  font-weight:600;font-style:normal;font-display:swap;
}
:root{
  --black:#07070a;
  --black-2:#0b0b10;
  --white:#fff;
  --paper:#f1efe9;
  --red:#f54857;
  --violet:#6357ff;
  --green:#08bd8d;
  --cyan:#11b9e7;
  --line:rgba(255,255,255,.14);
  --display:"ZT Gatha","Arial Black","Helvetica Neue",Arial,sans-serif;
  --body:"ZT Gatha","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--black);color:#fff;font-family:var(--body);line-height:1.5}
body.menu-open,body.brand-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--cyan);color:#050507}

.site-header{position:fixed;z-index:50;inset:0 0 auto;height:76px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(7,7,10,.92),rgba(7,7,10,.12));transition:.3s}
.site-header.is-scrolled{background:rgba(7,7,10,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}
.site-lockup{display:flex;align-items:center;gap:17px}
.site-lockup img{width:137px;height:38px;object-fit:contain;object-position:left}
.site-lockup span{padding-left:17px;border-left:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.46);font-size:10px}
.desktop-nav{display:flex;gap:27px;font-size:12px}
.desktop-nav a{position:relative;color:rgba(255,255,255,.64);padding:8px 0}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:#fff}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));transform:scaleX(0);transform-origin:left;transition:.3s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-button{display:none;width:42px;height:42px;border:0;background:none;cursor:pointer}
.menu-button span{display:block;height:2px;margin:6px;background:#fff;transition:.25s}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:45;inset:0;background:var(--black);opacity:0;visibility:hidden;pointer-events:none;transition:.3s}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu__inner{height:100%;padding:120px 7vw 40px;display:flex;flex-direction:column}
.mobile-menu a{padding:11px 0;border-bottom:1px solid var(--line);font-size:clamp(36px,10vw,64px);line-height:1.08}
.mobile-menu__note{margin-top:auto;color:rgba(255,255,255,.42);font-size:12px}

.section-dark{position:relative;overflow:hidden;isolation:isolate;background:var(--black)}
.section-light{position:relative;background:var(--paper);color:var(--black)}
.section-index{position:absolute;top:45px;left:4vw;font-size:11px;color:rgba(255,255,255,.35)}
.section-light .section-index{color:rgba(7,7,10,.36)}
.eyebrow{font-size:12px;color:rgba(255,255,255,.5)}
.section-light .eyebrow{color:rgba(7,7,10,.48)}
.hvn-gradient{color:transparent;background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));-webkit-background-clip:text;background-clip:text}
.text-button{display:inline-flex;gap:34px;align-items:center;margin-top:24px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.45);font-size:12px}
.text-button span{transition:.25s}
.text-button:hover span{transform:translate(4px,-4px)}
.text-button--dark{border-bottom-color:rgba(7,7,10,.35)}

.hero{position:relative;height:100svh;min-height:650px;overflow:hidden;background:var(--black)}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;background-image:linear-gradient(90deg,rgba(7,7,10,.7),rgba(7,7,10,.08) 64%),var(--hero-image);background-size:cover;background-position:center;transform:scale(1.035);transition:opacity .75s,visibility .75s,transform 7s ease}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.hero-shade{position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,var(--black))}
.hero-copy{position:absolute;left:6vw;bottom:13vh;width:min(880px,86vw)}
.hero-copy h1{display:flex;flex-direction:column;margin:18px 0 20px;font-size:clamp(56px,8vw,126px);line-height:.84;letter-spacing:-.065em}
.hero-copy h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.4px #fff}
.hero-copy p{max-width:560px;margin:0;color:rgba(255,255,255,.76);font-size:17px}
.hero-count{position:absolute;right:4.5vw;bottom:32px;font-size:11px}
.hero-stars{position:absolute;left:6vw;bottom:25px;display:grid;grid-template-columns:110px repeat(4,30px);gap:9px;align-items:center}
.hero-stars__track{height:2px;background:rgba(255,255,255,.18);overflow:hidden}
.hero-stars__track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));transition:.4s}
.hero-stars button{display:grid;place-items:center;width:30px;height:30px;padding:7px;border:0;border-radius:50%;background:none;opacity:.32;cursor:pointer;transition:.25s}
.hero-stars button img{width:100%;height:100%;object-fit:contain}
.hero-stars button.is-active{opacity:1;transform:scale(1.12)}
.hero-stars button.is-active img{filter:drop-shadow(0 0 11px var(--accent))}

.statement{min-height:86vh;padding:120px 7vw;display:flex;align-items:center}
.statement__content{position:relative;z-index:2;max-width:900px}
.statement h2{margin:28px 0 30px;font-size:clamp(53px,7.4vw,118px);line-height:.87;letter-spacing:-.058em}
.statement p{max-width:620px;margin:0;color:rgba(255,255,255,.65);font-size:17px;line-height:1.7}

.relationship{padding:120px 7vw}
.relationship__intro{display:grid;grid-template-columns:.35fr 1.65fr;gap:6vw}
.relationship__intro h2{margin:0;font-size:clamp(52px,7vw,108px);line-height:.88;letter-spacing:-.055em}
.relationship__row{margin-top:80px;padding-top:55px;border-top:1px solid rgba(7,7,10,.18);display:grid;grid-template-columns:1fr .28fr 1fr;gap:3vw;align-items:center}
.relationship__brand span{display:block;margin-bottom:32px;color:rgba(7,7,10,.48);font-size:11px}
.relationship__brand img{width:min(310px,78%);height:75px;object-fit:contain;object-position:left}
.relationship__brand--hvn{text-align:center}
.relationship__brand--hvn img{width:155px;height:155px;margin:auto}
.relationship__bridge{height:155px;display:grid;grid-template-rows:1fr auto 1fr;justify-items:center}
.relationship__bridge i{width:1px;height:100%;background:linear-gradient(transparent,rgba(7,7,10,.5))}
.relationship__bridge i:last-child{background:linear-gradient(rgba(7,7,10,.5),transparent)}
.relationship__bridge img{width:36px;filter:brightness(0)}

.brand-focus,.brand-page{padding:120px 7vw}
.brand-focus__head,.brand-page__head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:7vw;margin-bottom:52px}
.brand-focus__head h2,.brand-page__head h2{margin:12px 0 0;font-size:clamp(65px,10vw,160px);line-height:.75;letter-spacing:-.07em}
.brand-focus__head p,.brand-page__head p{max-width:420px;margin:0;color:rgba(255,255,255,.58)}

.hvn-panel{position:relative;z-index:2;width:100%;min-height:500px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.015);overflow:hidden;cursor:pointer;transition:.35s}
.hvn-panel--large{min-height:620px}
.hvn-panel::before{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(90deg,rgba(245,72,87,.38),rgba(99,87,255,.4),rgba(8,189,141,.34),rgba(17,185,231,.38));filter:blur(80px);opacity:.48;transition:.35s}
.hvn-panel__color,.hvn-panel__black{position:absolute;left:50%;top:50%;width:clamp(170px,22vw,320px);transform:translate(-50%,-50%);transition:.4s}
.hvn-panel__black{opacity:0}
.hvn-panel__prompt{position:absolute;left:25px;bottom:22px;color:rgba(255,255,255,.42);font-size:11px}
.hvn-panel__arrow{position:absolute;right:25px;bottom:18px;font-size:20px}
.hvn-panel:hover{background:#fff;border-color:#fff}
.hvn-panel:hover::before{opacity:0}
.hvn-panel:hover .hvn-panel__color{opacity:0;transform:translate(-50%,-50%) scale(1.05)}
.hvn-panel:hover .hvn-panel__black{opacity:1}
.hvn-panel:hover .hvn-panel__prompt,.hvn-panel:hover .hvn-panel__arrow{color:#07070a}

.timeline-preview{padding:120px 7vw;display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end}
.timeline-preview__year{font-size:clamp(92px,15vw,230px);line-height:.72;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:2px var(--black)}
.timeline-preview__copy h2{margin:26px 0 20px;font-size:clamp(45px,6vw,85px);line-height:.9;letter-spacing:-.05em}
.timeline-preview__copy p{max-width:520px;color:rgba(7,7,10,.64)}

.internal-hero,.hvn-hero{min-height:78vh;padding:170px 7vw 95px;display:flex;flex-direction:column;justify-content:flex-end}
.internal-hero h1,.hvn-hero h1{position:relative;z-index:2;max-width:1220px;margin:28px 0 0;font-size:clamp(58px,8.5vw,140px);line-height:.84;letter-spacing:-.06em}
.internal-hero .eyebrow,.hvn-hero .eyebrow{position:relative;z-index:2}
.editorial{padding:120px 7vw;display:grid;grid-template-columns:.42fr 1.58fr;gap:6vw}
.editorial__lead h2{margin:30px 0 0;font-size:clamp(44px,6vw,90px);line-height:.9;letter-spacing:-.05em}
.editorial__body{padding-top:47px}
.editorial__body p{max-width:700px;color:rgba(7,7,10,.66);font-size:17px;line-height:1.75}
.principles{padding:120px 7vw}
.principle-list{position:relative;z-index:2;margin-top:45px;border-top:1px solid rgba(255,255,255,.14)}
.principle-list article{display:grid;grid-template-columns:.12fr .65fr 1fr;gap:3vw;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.principle-list article>span{color:var(--cyan);font-size:11px}
.principle-list h3{margin:0;font-size:clamp(27px,3.2vw,50px);line-height:1}
.principle-list p{max-width:540px;margin:0;color:rgba(255,255,255,.6)}
.history-list{padding:80px 7vw 120px}
.history-list article{display:grid;grid-template-columns:.42fr 1.58fr;gap:6vw;padding:55px 0;border-bottom:1px solid rgba(7,7,10,.16)}
.history-list article>div:first-child{font-size:clamp(42px,7vw,95px);line-height:.8;letter-spacing:-.055em}
.history-list article span{font-size:clamp(28px,4vw,60px);line-height:1}
.history-list article p{max-width:650px;color:rgba(7,7,10,.64)}
.empty-state{min-height:60vh;padding:110px 7vw;display:grid;grid-template-columns:.45fr 1.55fr;gap:7vw;align-items:center}
.empty-state>img{width:min(280px,70%);margin:auto;filter:brightness(0)}
.empty-state h2{margin:26px 0 18px;font-size:clamp(45px,6vw,90px);line-height:.9;letter-spacing:-.05em}
.empty-state p{max-width:620px;color:rgba(7,7,10,.64)}
.hvn-hero__copy{position:relative;z-index:2;max-width:870px}
.hvn-hero p{max-width:700px;color:rgba(255,255,255,.64);font-size:18px}
.back-link{position:absolute;z-index:3;top:105px;left:7vw;color:rgba(255,255,255,.55);font-size:11px}
.hvn-palette{display:grid;grid-template-columns:repeat(4,1fr);min-height:36vh}
.hvn-palette span{display:flex;align-items:flex-end;padding:23px;color:#07070a;font-size:11px}
.hvn-palette span:nth-child(1){background:var(--red)}
.hvn-palette span:nth-child(2){background:var(--violet)}
.hvn-palette span:nth-child(3){background:var(--green)}
.hvn-palette span:nth-child(4){background:var(--cyan)}

.liquid-butterfly{position:absolute;z-index:1;top:50%;right:-5vw;width:min(62vw,880px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity 1.1s,transform 1.3s}
.liquid-butterfly--left{right:auto;left:-12vw}
[data-glass].glass-visible .liquid-butterfly{opacity:.68;transform:translateY(-50%) scale(1.02)}
.liquid-butterfly__color,.liquid-butterfly__glass,.liquid-butterfly__light{position:absolute;inset:0;mask:url("assets/hvn-butterfly-color.png") center/contain no-repeat;-webkit-mask:url("assets/hvn-butterfly-color.png") center/contain no-repeat}
.liquid-butterfly__color{background:radial-gradient(circle at 20% 20%,rgba(245,72,87,.85),transparent 30%),radial-gradient(circle at 80% 20%,rgba(99,87,255,.88),transparent 30%),radial-gradient(circle at 25% 80%,rgba(8,189,141,.78),transparent 30%),radial-gradient(circle at 80% 80%,rgba(17,185,231,.82),transparent 30%);filter:blur(25px);opacity:.42}
.liquid-butterfly__glass{background:linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.08) 28%,rgba(255,255,255,.03) 52%,rgba(255,255,255,.22) 76%,rgba(255,255,255,.06));backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.liquid-butterfly__light{background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.78) 43%,rgba(255,255,255,.07) 55%,transparent 70%);background-size:220% 100%;background-position:-140% 0;mix-blend-mode:screen;animation:glassSweep 8s ease-in-out infinite}
.liquid-butterfly>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.28;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 30px rgba(99,87,255,.22))}
@keyframes glassSweep{0%,58%{background-position:-140% 0}80%,100%{background-position:150% 0}}

.site-footer{position:relative;padding:90px 7vw 28px;background:#050507;border-top:1px solid rgba(255,255,255,.12)}
.footer-line{position:absolute;inset:0 0 auto;height:5px;display:grid;grid-template-columns:repeat(4,1fr)}
.footer-line span:nth-child(1){background:var(--red)}.footer-line span:nth-child(2){background:var(--violet)}.footer-line span:nth-child(3){background:var(--green)}.footer-line span:nth-child(4){background:var(--cyan)}
.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}
.footer-brand img{width:175px}
.footer-brand p{margin:17px 0 0;color:rgba(255,255,255,.45);font-size:12px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px;font-size:12px}
.footer-nav a{color:rgba(255,255,255,.62)}
.footer-nav a:hover{color:#fff}
.footer-bottom{margin-top:50px;padding-top:18px;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;color:rgba(255,255,255,.36);font-size:10px}

.brand-overlay{position:fixed;z-index:90;inset:0;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(circle at 15% 80%,rgba(245,72,87,.14),transparent 28%),radial-gradient(circle at 85% 20%,rgba(99,87,255,.16),transparent 30%),#050507;transition:.35s}
.brand-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.brand-overlay__close{position:absolute;z-index:3;right:4vw;top:27px;padding:9px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,5,7,.55);cursor:pointer}
.brand-overlay__content{min-height:100vh;padding:13vh 7vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center}
.brand-overlay__copy h2{display:flex;align-items:center;gap:15px;margin:45px 0 28px;font-size:clamp(90px,14vw,220px);line-height:.72;letter-spacing:-.07em}
.brand-overlay__copy h2 img{width:.25em}
.brand-overlay__copy p{max-width:760px;color:rgba(255,255,255,.66);font-size:20px;line-height:1.45}
.brand-overlay__mark{width:min(470px,80%);justify-self:center}
.brand-overlay__visit{position:absolute;right:4vw;bottom:32px;display:flex;justify-content:space-between;gap:70px;min-width:220px;padding:15px 18px;background:#fff;color:#07070a}
.page-wipe{position:fixed;z-index:120;inset:0;background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));transform:translateY(101%);transition:.35s;pointer-events:none}
body.is-leaving .page-wipe{transform:none}

.has-js [data-reveal] .reveal-item{opacity:0;transform:translateY(28px);filter:blur(6px)}
[data-reveal].revealed .reveal-item{animation:reveal .8s both}
[data-reveal].revealed .reveal-item:nth-child(2){animation-delay:.08s}
[data-reveal].revealed .reveal-item:nth-child(3){animation-delay:.16s}
[data-reveal].revealed .reveal-item:nth-child(4){animation-delay:.24s}
@keyframes reveal{to{opacity:1;transform:none;filter:none}}

@media(max-width:900px){
  .site-lockup span{display:none}
  .desktop-nav{display:none}
  .menu-button{display:block}
  .relationship__intro,.relationship__row,.timeline-preview,.editorial,.history-list article,.empty-state,.footer-main,.brand-overlay__content{grid-template-columns:1fr}
  .relationship__row{gap:35px}
  .relationship__bridge{height:90px;grid-template:1fr/1fr auto 1fr;align-items:center}
  .relationship__bridge i{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(7,7,10,.5))}
  .relationship__bridge i:last-child{background:linear-gradient(90deg,rgba(7,7,10,.5),transparent)}
  .relationship__brand--hvn{text-align:left}
  .relationship__brand--hvn img{margin:0}
  .brand-focus__head,.brand-page__head{align-items:flex-start;flex-direction:column}
  .editorial__body{padding-top:0}
  .principle-list article{grid-template-columns:50px 1fr}
  .principle-list p{grid-column:2}
  .footer-nav{justify-content:flex-start}
  .brand-overlay__mark{width:min(340px,65%)}
}
@media(max-width:650px){
  .site-header{height:70px;padding:0 5.5vw}
  .site-lockup img{width:120px}
  .hero-copy{left:5.5vw;bottom:17vh;width:89vw}
  .hero-copy h1{font-size:15vw}
  .hero-copy h1 em{-webkit-text-stroke:1px #fff}
  .hero-copy p{font-size:14px}
  .hero-stars{left:5.5vw;grid-template-columns:70px repeat(4,27px)}
  .hero-count{right:5.5vw}
  .statement,.relationship,.brand-focus,.brand-page,.timeline-preview,.editorial,.principles,.history-list,.empty-state{padding:86px 5.5vw}
  .section-index{left:5.5vw;top:28px}
  .statement h2{font-size:15vw}
  .relationship__intro h2{font-size:14vw}
  .hvn-panel{min-height:390px}
  .hvn-panel--large{min-height:470px}
  .timeline-preview__year{font-size:26vw}
  .internal-hero,.hvn-hero{min-height:68vh;padding:135px 5.5vw 70px}
  .internal-hero h1,.hvn-hero h1{font-size:15vw}
  .back-link{left:5.5vw;top:96px}
  .hvn-palette{grid-template-columns:repeat(2,1fr);min-height:48vh}
  .liquid-butterfly{width:min(105vw,560px);right:-45vw}
  .liquid-butterfly--left{left:-48vw}
  [data-glass].glass-visible .liquid-butterfly{opacity:.42}
  .site-footer{padding:75px 5.5vw 25px}
  .footer-bottom{flex-direction:column;gap:6px}
  .brand-overlay__content{padding:120px 5.5vw 140px}
  .brand-overlay__copy h2{font-size:29vw}
  .brand-overlay__copy p{font-size:15px}
  .brand-overlay__visit{left:5.5vw;right:5.5vw;bottom:22px}
}
@media(hover:none){
  .hvn-panel:hover{background:rgba(255,255,255,.015);border-color:rgba(255,255,255,.18)}
  .hvn-panel:hover::before{opacity:.48}
  .hvn-panel:hover .hvn-panel__color{opacity:1;transform:translate(-50%,-50%)}
  .hvn-panel:hover .hvn-panel__black{opacity:0}
  .hvn-panel:hover .hvn-panel__prompt,.hvn-panel:hover .hvn-panel__arrow{color:inherit}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .has-js [data-reveal] .reveal-item{opacity:1;transform:none;filter:none}
}


/* v10 — richer HVN color system and expanded motion language */
@font-face{
  font-family:"ZT Gatha";
  src:local("ZT Gatha SemiBold"),local("ZT Gatha"),
      url("assets/fonts/ZTGatha-SemiBold.ttf") format("truetype");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

.page-color-rail{
  position:fixed;
  z-index:80;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  display:grid;
  grid-template-rows:repeat(4,1fr);
  pointer-events:none;
}
.page-color-rail span:nth-child(1){background:var(--red)}
.page-color-rail span:nth-child(2){background:var(--violet)}
.page-color-rail span:nth-child(3){background:var(--green)}
.page-color-rail span:nth-child(4){background:var(--cyan)}
.page-color-rail::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.92),transparent);
  transform:translateY(-120%);
  animation:railSweep 7s ease-in-out infinite;
}
@keyframes railSweep{
  0%,62%{transform:translateY(-120%)}
  82%,100%{transform:translateY(120%)}
}

.site-header::after{
  content:"";
  position:absolute;
  left:4.5vw;
  right:4.5vw;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  opacity:.45;
  transform-origin:left;
  transform:scaleX(.4);
  transition:transform .45s,opacity .35s;
}
.site-header.is-scrolled::after{transform:scaleX(1);opacity:.85}
.site-lockup{gap:0}
.site-lockup img{
  filter:drop-shadow(0 0 18px rgba(255,255,255,.05));
}

.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  z-index:5;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  box-shadow:0 -12px 45px rgba(99,87,255,.28);
}
.hero-copy::before{
  content:"";
  display:block;
  width:0;
  height:3px;
  margin-bottom:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--red),var(--violet),var(--green),var(--cyan));
  animation:heroAccentIn .9s .08s both;
}
@keyframes heroAccentIn{to{width:min(200px,48vw)}}
.hero-copy h1 em{
  -webkit-text-stroke:1.5px #fff;
  text-shadow:
    0 0 36px color-mix(in srgb,var(--accent) 28%,transparent),
    0 0 70px color-mix(in srgb,var(--accent) 16%,transparent);
}
.hero-stars{
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(5,5,8,.42);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 45px rgba(0,0,0,.24);
}
.hero-stars button:hover{opacity:.8;transform:scale(1.13) rotate(-5deg)}

.relationship--colorwash{
  background:
    radial-gradient(circle at 8% 12%,rgba(245,72,87,.14),transparent 25%),
    radial-gradient(circle at 92% 10%,rgba(99,87,255,.12),transparent 28%),
    radial-gradient(circle at 22% 100%,rgba(8,189,141,.10),transparent 28%),
    radial-gradient(circle at 82% 100%,rgba(17,185,231,.12),transparent 28%),
    var(--paper);
}
.relationship__row{
  position:relative;
}
.relationship__row::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  opacity:.55;
}
.relationship__bridge img{
  filter:brightness(0) drop-shadow(0 0 10px rgba(99,87,255,.18));
  animation:bridgePulse 3.6s ease-in-out infinite;
}
@keyframes bridgePulse{
  0%,100%{transform:scale(.94) rotate(-7deg)}
  50%{transform:scale(1.12) rotate(7deg)}
}

.brand-focus{
  background:
    radial-gradient(circle at 10% 24%,rgba(245,72,87,.11),transparent 26%),
    radial-gradient(circle at 90% 20%,rgba(99,87,255,.13),transparent 27%),
    radial-gradient(circle at 22% 92%,rgba(8,189,141,.10),transparent 26%),
    radial-gradient(circle at 84% 92%,rgba(17,185,231,.11),transparent 25%),
    var(--black);
}
.hvn-word{
  color:transparent;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 0 45px rgba(99,87,255,.15);
}
.hvn-panel{
  border-color:rgba(255,255,255,.22);
  box-shadow:0 45px 120px rgba(0,0,0,.35);
}
.hvn-panel::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.08;
  background-image:
    linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(circle,#000,transparent 76%);
  transition:opacity .35s;
}
.hvn-panel:hover::after{opacity:0}

.timeline-preview--colorwash{
  background:
    radial-gradient(circle at 8% 92%,rgba(245,72,87,.15),transparent 28%),
    radial-gradient(circle at 48% 0%,rgba(99,87,255,.10),transparent 26%),
    radial-gradient(circle at 100% 90%,rgba(17,185,231,.14),transparent 28%),
    var(--paper);
}
.timeline-preview__year{
  text-shadow:14px 17px 0 rgba(99,87,255,.06);
}

.internal-hero,
.hvn-hero{
  background:
    radial-gradient(circle at 12% 18%,rgba(245,72,87,.10),transparent 25%),
    radial-gradient(circle at 88% 18%,rgba(99,87,255,.11),transparent 27%),
    radial-gradient(circle at 15% 92%,rgba(8,189,141,.08),transparent 27%),
    radial-gradient(circle at 86% 90%,rgba(17,185,231,.09),transparent 25%),
    var(--black);
}
.principle-list article{
  position:relative;
  transition:padding .3s,background .3s;
}
.principle-list article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(var(--red),var(--violet),var(--green),var(--cyan));
  opacity:0;
  transform:scaleY(.25);
  transition:.3s;
}
.principle-list article:hover{
  padding-left:18px;
  background:linear-gradient(90deg,rgba(99,87,255,.07),transparent 72%);
}
.principle-list article:hover::before{opacity:1;transform:scaleY(1)}

.history-list article{
  position:relative;
  transition:padding .3s,background .3s;
}
.history-list article::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  transform:scaleX(0);
  transform-origin:left;
  transition:.4s;
}
.history-list article:hover{padding-left:16px;background:linear-gradient(90deg,rgba(99,87,255,.06),transparent 70%)}
.history-list article:hover::after{transform:scaleX(1)}

.site-footer{
  background:
    radial-gradient(circle at 8% 120%,rgba(245,72,87,.16),transparent 28%),
    radial-gradient(circle at 42% 120%,rgba(99,87,255,.17),transparent 29%),
    radial-gradient(circle at 72% 120%,rgba(8,189,141,.14),transparent 28%),
    radial-gradient(circle at 100% 115%,rgba(17,185,231,.15),transparent 28%),
    #050507;
}
.footer-nav a{
  position:relative;
}
.footer-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  transform:scaleX(0);
  transform-origin:left;
  transition:.3s;
}
.footer-nav a:hover::after{transform:scaleX(1)}

.accent-heading{
  position:relative;
}
.accent-heading::after{
  content:"";
  display:block;
  width:0;
  height:4px;
  margin-top:20px;
  background:linear-gradient(90deg,var(--red),var(--violet),var(--green),var(--cyan));
  animation:accentHeadingLine .9s .35s both;
}
@keyframes accentHeadingLine{to{width:min(240px,55vw)}}

/* Expanded text animation system */
.text-animate{
  opacity:0;
  transform:translateY(28px);
  filter:blur(7px);
  will-change:opacity,transform,filter;
}
.text-animate--hero{
  transform:translateY(42px) skewY(1.2deg);
}
.text-animate--title{
  transform:translateY(36px) skewY(1deg);
}
.text-animate--soft{
  transform:translateY(18px);
}
.text-animate--body{
  transform:translateY(22px);
}
.text-animate.is-text-visible{
  animation:textReveal .9s cubic-bezier(.16,.82,.2,1) both;
}
.text-animate--hero.is-text-visible{animation-duration:1.05s}
.text-animate--title.is-text-visible{animation-duration:.98s}
.text-animate--body.is-text-visible{animation-delay:.08s}
@keyframes textReveal{
  0%{opacity:0;transform:translateY(34px) skewY(1deg);filter:blur(8px)}
  72%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
.hero-slide .hero-copy .eyebrow,
.hero-slide .hero-copy h1 span,
.hero-slide .hero-copy h1 em,
.hero-slide .hero-copy p{
  opacity:0;
  filter:blur(7px);
}
.hero-slide.is-active .hero-copy .eyebrow{animation:heroTextIn .68s .12s both}
.hero-slide.is-active .hero-copy h1 span{animation:heroLineIn .95s .22s cubic-bezier(.16,.82,.2,1) both}
.hero-slide.is-active .hero-copy h1 em{animation:heroLineIn .95s .34s cubic-bezier(.16,.82,.2,1) both}
.hero-slide.is-active .hero-copy p{animation:heroTextIn .75s .52s both}
@keyframes heroTextIn{
  from{opacity:0;transform:translateY(18px);filter:blur(7px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes heroLineIn{
  from{opacity:0;transform:translateY(44px);filter:blur(9px)}
  to{opacity:1;transform:none;filter:none}
}

@media(max-width:650px){
  .page-color-rail{width:3px}
  .hero-copy::before{height:2px}
  .accent-heading::after{height:3px}
}
@media(prefers-reduced-motion:reduce){
  .page-color-rail::after,
  .relationship__bridge img{animation:none!important}
  .text-animate,
  .hero-slide .hero-copy .eyebrow,
  .hero-slide .hero-copy h1 span,
  .hero-slide .hero-copy h1 em,
  .hero-slide .hero-copy p{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
  }
}
