:root{--helv: "Helvetica Neue", Helvetica, Arial, sans-serif;--bone: #F3EEE4;--cube: #F4F3F0}body:has(.door){background:#050505;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.door{position:relative;height:100svh;min-height:560px;overflow:hidden;background:#050505;color:var(--bone)}.door-photo{position:absolute;inset:0;opacity:0;animation:door-rise 4.5s cubic-bezier(.2,.6,.2,1) .4s forwards}.door-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.9) contrast(1.05)}@keyframes door-rise{0%{opacity:0}to{opacity:1}}.door-vignette{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,5,5,.7) 0%,transparent 16%),linear-gradient(to top,rgba(5,5,5,.88) 0%,rgba(5,5,5,.35) 32%,transparent 55%),radial-gradient(ellipse 70% 60% at 50% 45%,#05050526,#0505058c 60%,#050505eb);animation:door-breathe 9s ease-in-out infinite}@keyframes door-breathe{0%,to{opacity:1}50%{opacity:.82}}.door-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:door-grain 1.2s steps(6) infinite}@keyframes door-grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.door-ui{position:absolute;inset:0;z-index:2;transition:opacity 3s ease}body.idle .door-ui{opacity:0}body.idle .door{cursor:none}.door-top,.door-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:0 clamp(1.2rem,3vw,2.4rem);font-family:var(--helv);font-size:.68rem;line-height:1.45;letter-spacing:.01em;color:#f3eee4b8;opacity:0;animation:door-appear 2s ease 5s forwards}.door-top{top:clamp(1rem,2.6vh,1.6rem);align-items:flex-start}.door-bottom{bottom:clamp(1rem,2.6vh,1.6rem)}.tnum{font-variant-numeric:tabular-nums}.door-clock{text-align:right}.wall-label{display:flex;flex-direction:column}.wall-label strong{font-weight:500;color:var(--bone)}.door-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2rem;padding:0 1.4rem clamp(6.5rem,15vh,9rem);text-align:center;pointer-events:none}.door-center>*{pointer-events:auto}.door-logo{display:block;width:clamp(160px,19vw,230px);aspect-ratio:98 / 70;background-color:#e0588c;-webkit-mask:var(--sig) no-repeat center / contain;mask:var(--sig) no-repeat center / contain;opacity:0;animation:door-appear 2.4s ease 2.6s forwards;filter:drop-shadow(0 0 18px rgba(224,88,140,.35))}.door-touch-note{display:none}.door-btn{display:inline-block;font-family:var(--helv);font-weight:400;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--bone);background:#05050540;border:1px solid rgba(243,238,228,.45);padding:1.15rem 2.6rem 1.15rem calc(2.6rem + .32em);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;animation:door-appear 2.4s ease 4.2s forwards;transition:border-color .6s ease,color .6s ease,box-shadow .8s ease,background .6s ease}.door-btn:hover,.door-btn:focus-visible{border-color:#e0588c;color:#fff;background:#ce32701f;box-shadow:0 0 40px #e0588c47,inset 0 0 20px #e0588c1f;outline:none}@keyframes door-appear{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.touch{position:fixed;z-index:40;left:0;top:0;pointer-events:none;font-family:var(--helv);font-size:.68rem;letter-spacing:.01em;color:var(--bone);white-space:nowrap;opacity:0;transition:opacity .4s ease;transform:translate(-9999px,-9999px)}.touch.on{opacity:.85}.veil{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1.4rem;background:var(--cube);color:#111;clip-path:inset(50% 0 50% 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}.veil[hidden]{display:none}.veil.open{clip-path:inset(0 0 0 0)}.veil-inner{max-width:30rem;width:100%;font-family:var(--helv);opacity:0;transition:opacity .8s ease .7s}.veil.open .veil-inner{opacity:1}.veil-kicker{font-size:.68rem;color:#777}.veil-inner h2{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(2.6rem,6vw,3.8rem);line-height:1;letter-spacing:-.01em;margin:.4rem 0 2.2rem}.veil-inner ol{list-style:none;counter-reset:c;border-top:1px solid #111}.veil-inner li{counter-increment:c;display:grid;grid-template-columns:2.4rem 1fr;padding:.85rem 0;border-bottom:1px solid rgba(17,17,17,.18);font-size:.95rem;line-height:1.4}.veil-inner li:before{content:counter(c,decimal-leading-zero);font-size:.68rem;color:#777;padding-top:.2rem;font-variant-numeric:tabular-nums}.veil-inner ol+.veil-btn{margin-top:2.6rem}.veil-btn{display:block;text-align:center;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:var(--cube);background:#111;padding:1.2rem 1rem 1.2rem calc(1rem + .32em);transition:background .4s ease}.veil-btn:hover,.veil-btn:focus-visible{background:#ce3270;outline:none}.veil-close{position:absolute;top:1.2rem;right:clamp(1.2rem,3vw,2.4rem);background:none;border:none;font-family:var(--helv);font-size:.68rem;color:#111;cursor:pointer;text-decoration:underline;text-underline-offset:3px}@media(min-aspect-ratio:1/1){.door-center{inset:0 0 0 auto;width:32%;justify-content:center;padding:0 1.4rem}}@media(max-width:700px){.door-center{padding-bottom:3.4rem;gap:1.1rem}.door-logo{width:150px;position:relative;left:14px}.door-made{display:none}.door-touch-note{display:inline}.door-btn{padding:1.05rem 2rem 1.05rem calc(2rem + .32em)}.door-top,.door-bottom{justify-content:center;text-align:center}.door-top>span:first-child,.wall-label{display:none}.door-clock{text-align:center}.door-top,.door-bottom{color:#f3eee4e6;text-shadow:0 0 10px rgba(5,5,5,.95),0 0 3px rgba(5,5,5,.9)}}.print-label{display:none}@media print{@page{margin:0}body:has(.door){background:#fff;overflow:visible}.door,.touch,.veil,astro-dev-toolbar{display:none!important}.print-label{display:flex;flex-direction:column;position:fixed;left:2.2cm;bottom:2.2cm;font-family:var(--helv);font-size:8pt;line-height:1.45;color:#111}.print-label strong{font-weight:500}}@media(prefers-reduced-motion:reduce){.door-photo,.door-logo,.door-btn,.door-top,.door-bottom{animation:none;opacity:1}.door-vignette,.door-grain{animation:none}.veil,.veil-inner{transition:none}}
