/* Cinematic, responsive lotus opening. The vector petals retain their geometry. */
html.has-opening body .site-opening {
  display:block; position:fixed; inset:0; width:100%; height:100dvh; min-height:100dvh;
  overflow:hidden; isolation:isolate; background:#0B0405; color:#F1E6D9;
  animation: v72-failsafe 0s linear 5.5s forwards;
}
html.has-opening body .site-opening::before,html.has-opening body .site-opening::after {display:none;content:none}
html.has-opening body .v72-circle {position:absolute;left:50%;width:min(63vw,900px);height:min(63vw,900px);border-radius:50%;background:radial-gradient(circle at 50% 50%,#270B10,#190709 70%,#100506);transform:translateX(-50%);opacity:.95;pointer-events:none}
html.has-opening body .v72-circle-top {bottom:calc(50% + min(17vh,145px))}
html.has-opening body .v72-circle-bottom {top:calc(50% + min(17vh,145px))}
html.has-opening body .v72-center {position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:min(90vw,600px);text-align:center}
html.has-opening body .v72-name {margin:0;color:#F1E6D9;font:400 clamp(40px,5vw,72px)/1.1 'Times New Roman',serif;letter-spacing:-.025em;white-space:nowrap;animation:v72-title .28s ease-out both}
html.has-opening body .v72-progress {margin-top:28px;width:min(440px,72vw);height:2px;background:#4B292E;overflow:hidden}
html.has-opening body .v72-progress span {display:block;height:100%;width:var(--v72-progress,0%);background:#F1E6D9;transition:width .25s ease}
html.has-opening body .v72-value {margin:12px 0 0;color:#D8CBCD;font:400 12px/1.4 'Century Gothic',Arial,sans-serif;letter-spacing:.12em}
html.has-opening body .v72-flower {position:absolute;z-index:2;pointer-events:none;width:min(24vw,270px);height:auto;animation:v72-flower-in .32s ease-out both}
html.has-opening body .v72-flower-svg {display:block;width:100%;height:auto;overflow:visible}
html.has-opening body .v72-flower-top {left:50%;top:clamp(-10px,2vh,20px);transform:translateX(-50%) rotate(180deg)}
html.has-opening body .v72-flower-bottom {left:50%;bottom:clamp(-5px,2vh,20px);transform:translateX(-50%)}
html.has-opening body .v72-flower-left,html.has-opening body .v72-flower-right {width:min(17vw,180px);top:50%;opacity:.68}
html.has-opening body .v72-flower-left {left:-7%;transform:translateY(-50%) rotate(90deg)}
html.has-opening body .v72-flower-right {right:-7%;transform:translateY(-50%) rotate(-90deg)}
html.has-opening body .v72-branch {position:absolute;width:min(20vw,240px);height:42%;top:29%;opacity:.33;pointer-events:none}
html.has-opening body .v72-branch svg {width:100%;height:100%}
html.has-opening body .v72-branch-left {left:-4%}
html.has-opening body .v72-branch-right {right:-4%;transform:scaleX(-1)}
html.has-opening body .v72-petal {transform-box:fill-box;transform-origin:50% 100%;animation:v72-unfold 2.8s cubic-bezier(.2,.7,.25,1) var(--delay) both}
html.has-opening body .v72-flower-bottom .v72-petal {animation-delay:calc(var(--delay) + .12s)}
html.has-opening body .v72-flower-left .v72-petal,html.has-opening body .v72-flower-right .v72-petal {animation:none}
html.has-opening body .site-opening.v72-ready .v72-petal {animation-duration:.3s;animation-delay:0s}
html.has-opening body .site-opening.is-done {animation:v72-exit 1s cubic-bezier(.76,0,.24,1) forwards}
@keyframes v72-title {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes v72-flower-in {from{opacity:0}to{opacity:1}}
@keyframes v72-unfold {from{transform:rotate(var(--tilt)) scale(.97)}to{transform:rotate(0deg) scale(1)}}
@keyframes v72-exit {to{transform:translateY(-100%);visibility:hidden}}
@keyframes v72-failsafe {to{visibility:hidden;pointer-events:none}}
@media(max-width:767px){
  html.has-opening body .v72-circle {width:110vw;height:110vw}
  html.has-opening body .v72-circle-top {bottom:calc(50% + 22vh)}
  html.has-opening body .v72-circle-bottom {top:calc(50% + 22vh)}
  html.has-opening body .v72-flower {width:min(48vw,195px)}
  html.has-opening body .v72-flower-top {top:calc(env(safe-area-inset-top) + 1vh)}
  html.has-opening body .v72-flower-bottom {bottom:calc(env(safe-area-inset-bottom) + 1vh)}
  html.has-opening body .v72-flower-left,html.has-opening body .v72-flower-right {width:28vw}
  html.has-opening body .v72-flower-left {left:-16%}
  html.has-opening body .v72-flower-right {right:-16%}
  html.has-opening body .v72-name {font-size:clamp(34px,9vw,48px)}
  html.has-opening body .v72-progress {width:min(74vw,320px);margin-top:24px}
}
@media(max-height:480px){html.has-opening body .v72-flower {width:min(19vw,150px)} html.has-opening body .v72-name {font-size:clamp(30px,8vh,48px)}}
@media(prefers-reduced-motion:reduce){
 html.has-opening body .site-opening {animation:v72-failsafe 0s linear 5.5s forwards!important}
 html.has-opening body :is(.v72-flower,.v72-petal,.v72-name) {animation:none!important}
 html.has-opening body .site-opening.is-done {animation:v72-reduced .15s ease forwards!important}
 html.has-opening body .v72-progress span {transition:none}
}
@keyframes v72-reduced {to{opacity:0;visibility:hidden}}
/* A fine stationary-geometry grain and very slow ambient movement. */
html.has-opening body .v72-grain {position:absolute;inset:-8px;z-index:3;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");animation:v72-grain 20s ease-in-out infinite alternate}
html.has-opening body .v72-circle-top {animation:v72-top-drift 24s ease-in-out infinite alternate}
html.has-opening body .v72-circle-bottom {animation:v72-bottom-drift 26s ease-in-out infinite alternate}
html.has-opening body .v72-flower-left svg {animation:v72-left-drift 20s ease-in-out infinite alternate;transform-origin:50% 50%}
html.has-opening body .v72-flower-right svg {animation:v72-right-drift 22s -5s ease-in-out infinite alternate;transform-origin:50% 50%}
@keyframes v72-grain {to{transform:translate(3px,2px)}}
@keyframes v72-top-drift {to{transform:translate(-50%,4px)}}
@keyframes v72-bottom-drift {to{transform:translateX(-50%) scale(1.01)}}
@keyframes v72-left-drift {to{transform:rotate(1deg) scale(1.01)}}
@keyframes v72-right-drift {to{transform:translateY(4px) rotate(-.7deg)}}
@media(prefers-reduced-motion:reduce){html.has-opening body :is(.v72-grain,.v72-circle,.v72-flower-left svg,.v72-flower-right svg){animation:none!important}}
html.has-opening body .v72-indeterminate .v72-progress span {width:35%;animation:v72-indeterminate 1s ease-in-out infinite alternate}
@keyframes v72-indeterminate {from{transform:translateX(0)}to{transform:translateX(185%)}}
@media(prefers-reduced-motion:reduce){html.has-opening body .v72-indeterminate .v72-progress span {animation:none}}
