/* Continuous automatic-door entrance: the hero is prepared behind two moving panels. */
.intro,.intro-cheongna,.intro-centum{background:transparent;isolation:isolate}.intro-door{position:absolute;top:0;bottom:0;width:50.1%;z-index:-1;background:var(--dark);transition:transform 1.9s cubic-bezier(.65,0,.18,1);will-change:transform}.intro-door-left{left:0;box-shadow:5px 0 24px #00000015}.intro-door-right{right:0;box-shadow:-5px 0 24px #00000015}.intro-door:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 50%,#ffffff08,transparent 75%)}.intro-door-left:before{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#d5c5a55e,transparent)}.intro-cheongna .intro-door{background:#f2efe5}.intro-centum .intro-door{background:#153a2b}.intro.closing{animation:none;clip-path:none;visibility:visible;pointer-events:none}.intro.closing .intro-door-left{transform:translateX(-101%)}.intro.closing .intro-door-right{transform:translateX(101%)}.intro-title{transition:opacity .55s ease,transform .85s cubic-bezier(.2,.6,.2,1),filter .7s}.intro.closing .intro-title{opacity:0;transform:scale(.94);filter:blur(5px)}.intro-top,.intro-bottom{transition:opacity .4s}.intro.closing .intro-top,.intro.closing .intro-bottom{opacity:0}.intro-bottom i{display:none}.intro-bottom{justify-content:space-between}.intro-bottom>span:last-child{margin-left:auto}
/* Never show the copy early, or restart a complete hero block at curtain removal. */
.intro-ready:not(.hero-enter) .gy-hero-copy>*,.intro-ready:not(.hero-enter) .ark-copy>*,.intro-ready:not(.hero-enter) .centum-copy>*,.intro-ready:not(.hero-enter) .hero-bottom,.intro-ready:not(.hero-enter) .centum-chapters,.intro-ready:not(.hero-enter) .circle-cta,.intro-ready:not(.hero-enter) .header,.intro-ready:not(.hero-enter) .floating-reserve,.intro-ready:not(.hero-enter) .mobile-dock{opacity:0}
.hero-enter .hero-image{animation:door-hero-settle 5s cubic-bezier(.16,.6,.2,1) both}.hero-enter .hero-serif,.hero-enter .nature-script,.hero-enter .ark-english{animation:door-copy 1.6s .7s cubic-bezier(.16,1,.3,1) both}.hero-enter h1{animation:door-copy 1.5s .95s cubic-bezier(.16,1,.3,1) both}.hero-enter .gy-hero-copy>.eyebrow,.hero-enter .ark-copy>.eyebrow,.hero-enter .centum-copy>.eyebrow{animation:door-copy 1.3s .55s both}.hero-enter .gy-hero-copy>p,.hero-enter .ark-copy>p,.hero-enter .centum-copy>p,.hero-enter .ark-details{animation:door-copy 1.4s 1.15s both}.hero-enter .hero-link,.hero-enter .ark-copy>.text-link{animation:door-copy 1.4s 1.35s both}.hero-enter .hero-bottom,.hero-enter .centum-chapters{animation:door-copy 1.5s 1.5s both}.hero-enter .header:not(.scrolled){animation:door-header 1.3s 1s both}.hero-enter .circle-cta{animation:door-copy 1.4s 1.4s both}.hero-enter .floating-reserve,.hero-enter .mobile-dock{animation:door-ui 1s 1.8s both}.hero-enter .hero-video{animation:door-video 3s ease both}
@keyframes door-copy{from{opacity:0;transform:translateY(22px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes door-header{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes door-ui{from{opacity:0}to{opacity:1}}@keyframes door-hero-settle{from{transform:scale(1.065);filter:brightness(.8)}to{transform:scale(1);filter:brightness(1)}}@keyframes door-video{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
/* CHEONGNA — an expanding circular aperture, echoing the round graphic CTA. */
.intro-cheongna .intro-door{display:none}.intro-cheongna{background:#f2efe5;--aperture:0px;-webkit-mask-image:radial-gradient(circle at 62% 48%,transparent 0,transparent var(--aperture),#000 calc(var(--aperture) + 2px));mask-image:radial-gradient(circle at 62% 48%,transparent 0,transparent var(--aperture),#000 calc(var(--aperture) + 2px))}.intro-cheongna.closing{animation:ark-aperture 2s cubic-bezier(.55,0,.18,1) forwards}.intro-cheongna.closing .intro-title{transform:translateY(-12px);filter:blur(3px);transition-duration:.45s}.theme-cheongna.hero-motion .hero-image{transform-origin:62% 48%}.theme-cheongna .intro-title strong{animation:ark-title-build 1.25s both}.theme-cheongna .intro-emblem{animation:ark-ring-build 1.3s both}
@property --aperture{syntax:'<length>';inherits:false;initial-value:0px}
@keyframes ark-aperture{from{--aperture:0px}to{--aperture:160vmax}}@keyframes ark-title-build{from{opacity:0;letter-spacing:.3em;transform:translateY(12px)}to{opacity:1;letter-spacing:.14em;transform:none}}@keyframes ark-ring-build{from{opacity:0;transform:rotate(-60deg) scale(.7)}to{opacity:1;transform:none}}
/* CENTUM — a continuous forest-film dissolve, no shutter or moving panels. */
.intro-centum .intro-door{display:none}.intro-centum{background:linear-gradient(#12372ec9,#12372ee6),url('assets/trivn-hero.webp') center/cover;transition:none}.intro-centum.closing{animation:forest-dissolve 2s cubic-bezier(.2,.55,.3,1) forwards}.intro-centum.closing .intro-title{transform:translateY(-18px);filter:blur(5px);transition:opacity 1s,transform 1.4s,filter 1.2s}.intro-centum .intro-title strong{animation:forest-title 1.5s both}.intro-centum .intro-emblem{animation:forest-title 1.5s both}.theme-centum.hero-motion .hero-image{transform-origin:center}.theme-centum .hero-enter .hero-image{animation-duration:7s}
@keyframes forest-dissolve{0%{opacity:1}35%{opacity:.8}100%{opacity:0}}@keyframes forest-title{from{opacity:0;filter:blur(10px);transform:translateY(7px)}to{opacity:1;filter:blur(0);transform:none}}
@media(max-width:600px){.intro-cheongna{-webkit-mask-image:radial-gradient(circle at 65% 48%,transparent 0,transparent var(--aperture),#000 calc(var(--aperture) + 2px));mask-image:radial-gradient(circle at 65% 48%,transparent 0,transparent var(--aperture),#000 calc(var(--aperture) + 2px))}}
@media(prefers-reduced-motion:reduce){.intro-door{transition:none}.hero-enter .hero-image,.hero-enter .hero-video,.hero-enter .header,.hero-enter .gy-hero-copy>*,.hero-enter .ark-copy>*,.hero-enter .centum-copy>*,.hero-enter .floating-reserve,.hero-enter .mobile-dock{animation:none!important;opacity:1;transform:none;filter:none}}
