/* Entrance architecture is HTML/CSS. Existing navigation, audio, En and header
   remain untouched. This file is loaded by the entrance page alone. */
.home-view .home-frame{background:#fff}
.home-view .home-frame::before,.home-view .home-frame::after{background:none;mask-image:none}
.home-view .workspace{background-image:none;background-color:transparent}
.home-view .home-cloud{visibility:hidden}
.entrance-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(110deg,#fff,var(--paper) 49%,#fff)}
.entrance-scene::before{content:'';position:absolute;inset:10% 0 15%;background:linear-gradient(120deg,transparent 10%,#fff 20%,transparent 29%),linear-gradient(245deg,transparent 4%,#fff 18%,transparent 30%);opacity:.85}
.entrance-floor{position:absolute;left:-15%;right:-15%;top:85%;height:40%;transform-origin:50% 0;transform:perspective(500px) rotateX(52deg);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),var(--line) 12.5%),repeating-linear-gradient(0deg,#fff 0,var(--paper) 59px,var(--line) 60px);border-top:1px solid var(--line);box-shadow:0 -4px 12px #17191b0c}
.entrance-portal{position:absolute;left:30.4%;top:12.9%;width:37.2%;height:72.3%;padding:2.35%;background:linear-gradient(135deg,#fff,#e6e8eb 49%,#fff);box-shadow:inset 5px 6px 10px #17191b20,inset -4px -3px 8px #fff,0 1px 3px #fff}
.entrance-jamb{width:100%;height:100%;padding:5.8%;padding-bottom:0;background:linear-gradient(135deg,#e6e8eb,#fff 43%,#e6e8eb);box-shadow:inset 4px 5px 8px #17191b24,inset -3px -2px 6px #fff}
.entrance-jamb.jamb-two{padding:5.9%;padding-bottom:0}
.entrance-jamb.jamb-three{padding:4.2%;padding-bottom:0}
.entrance-opening{position:relative;height:100%;width:100%;perspective:850px;background:linear-gradient(90deg,var(--paper),#fff 62%,var(--paper));box-shadow:inset 0 0 16px #17191b40;overflow:visible}
.entrance-backlight{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 8%,#fff 8.8%,#fff 9.5%);box-shadow:0 0 35px #fff}
.entrance-door{position:absolute;top:0;height:100%;width:49%;background:linear-gradient(110deg,#17191b,#252629 58%,#17191b);border:1px solid #17191b;box-shadow:inset 1px 0 2px #61666b,0 10px 15px #17191b35}
.door-left{left:0;transform-origin:left center;transform:rotateY(-8deg)}
.door-right{right:0;transform-origin:right center;transform:rotateY(28deg);background:linear-gradient(90deg,#252629,#17191b)}
.entrance-reflection{position:absolute;left:34%;top:84%;width:32%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#a5121338,transparent 68%);filter:blur(12px)}
/* The original hover/focus/cue fill, rim orbit and interaction rules still win. */
.home-view .folder-link.glass-tile{border-radius:30px;background:linear-gradient(145deg,#fff,var(--paper) 66%,#fff);box-shadow:inset 0 2px 4px #fff,inset -3px -4px 7px #ffffffb8,0 16px 22px #17191b26,0 3px 5px #17191b12}
.home-view .tile-symbol{filter:drop-shadow(1px 2px 0 #fff) drop-shadow(0 4px 2px #17191b42)}
.home-view .tile-symbol svg{stroke-width:1.8}
.home-view [data-home-folder="about"] .tile-symbol,.home-view [data-home-folder="contacts"] .tile-symbol,.home-view [data-home-folder="new-year-show"] .tile-symbol{color:var(--red)}
.home-view .folder-link.glass-tile:hover,.home-view .folder-link.glass-tile:focus-visible,.home-view .folder-link.glass-tile.en-theatre-cue{box-shadow:inset 0 2px 3px #fffa,inset 0 -3px 5px #fff7,0 15px 28px #1f27321a,0 0 15px #c72125b3,0 0 36px #a512138c,0 0 76px #a5121359}
.home-view .glass-tile:hover .tile-symbol,.home-view .glass-tile:focus-visible .tile-symbol,.home-view .glass-tile.en-theatre-cue .tile-symbol{color:#fff}
@media(min-width:1024px) and (min-height:560px){
 .home-view .workspace-head{left:2.8%;top:14.5%;width:94.4%;grid-template-columns:1fr 1fr}
 .home-view .workspace-head h2{font-size:clamp(24px,2.1cqw,38px);line-height:1.15}
 .home-view .workspace-head p{justify-self:end;font-size:clamp(14px,1.4cqw,24px)}
 .home-view .folder-link.glass-tile[data-home-folder="about"]{left:14.3%;top:36.3%;width:13%;padding:1.05cqw}
 .home-view .folder-link.glass-tile[data-home-folder="projects"]{left:26.2%;top:51.1%;width:10.6%;padding:.9cqw}
 .home-view .folder-link.glass-tile[data-home-folder="contacts"]{left:15.2%;top:69.6%;width:13.2%;padding:1.05cqw}
 .home-view .folder-link.glass-tile[data-home-folder="styles"]{left:83.7%;top:37.6%;width:13.2%;padding:1.05cqw}
 .home-view .folder-link.glass-tile[data-home-folder="packages"]{left:71.2%;top:63%;width:12.5%;padding:1.05cqw}
 .home-view .folder-link.glass-tile[data-home-folder="new-year-show"]{left:87.1%;top:69.6%;width:15%;padding:1.05cqw;border-radius:30px}
 .home-view .glass-tile .folder-label,.home-view .glass-tile[data-home-folder="new-year-show"] .folder-label{font-size:clamp(14px,1.4cqw,24px)}
 .home-view .glass-tile[data-home-folder="projects"] .folder-label{font-size:clamp(12px,1.13cqw,20px)}
 .home-view .glass-tile .folder-sub{font-size:clamp(11px,1.13cqw,19px);line-height:1.3;margin-top:.55cqw}
 .home-view .tile-symbol{width:3.8cqw;height:3.8cqw;margin-bottom:.6cqw}
 .home-view [data-home-folder="projects"] .tile-symbol{width:3cqw;height:3cqw}
 .home-view [data-home-folder="new-year-show"] .tile-symbol{width:5.1cqw;height:5.1cqw}
 .home-view .home-en{left:49%;top:58%;width:24cqw}
}
@media(max-width:1023px),(max-height:559px){
 .home-view .home-frame{position:relative;isolation:isolate}
 .entrance-scene{top:90px;bottom:auto;height:650px;z-index:-1}
 .entrance-portal{left:20%;top:20%;width:60%;height:70%}
 .entrance-floor{top:90%}
 .entrance-reflection{top:90%}
 .home-view .workspace-head{position:relative;z-index:2}
 .home-view .folder-field{position:relative;z-index:3}
 .home-view .home-en{margin-top:60px;margin-bottom:65px}
 .home-view .folder-link.glass-tile[data-home-folder="new-year-show"]{opacity:1;justify-self:center;width:100%;max-width:176px}
}
/* Revision 22: closed velvet curtain, sculpted vector icons, three light tiers. */
.home-view .home-en{visibility:hidden!important;pointer-events:none!important}
.home-view .en-birth-field{display:none!important}
.home-view .entrance-jamb{position:relative}
.entrance-neon{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2;fill:none;stroke-linecap:round}
.entrance-neon path{vector-effect:non-scaling-stroke}
.neon-track{stroke:var(--red);stroke-width:1.4;opacity:.55;filter:drop-shadow(0 0 4px #a51213)}
.neon-haze{stroke:#a51213;stroke-width:9;stroke-dasharray:58 142;filter:blur(4px);opacity:.7;animation:entrance-neon-flow 22s linear infinite}
.neon-core{stroke:#fff;stroke-width:2;stroke-dasharray:10 190;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px #a51213);animation:entrance-neon-flow 22s linear infinite}
.jamb-two>.entrance-neon path{animation-delay:-7.33s}
.jamb-three>.entrance-neon path{animation-delay:-14.66s}
@keyframes entrance-neon-flow{to{stroke-dashoffset:-400}}
.entrance-curtain{position:absolute;inset:0;overflow:hidden;background:#780b11;box-shadow:inset 0 0 28px #17191b;isolation:isolate}
.curtain-half{position:absolute;inset:0 50% 0 0;background:linear-gradient(180deg,#17191b80,transparent 22%,#17191b40 91%,#17191ba8),repeating-linear-gradient(90deg,#780b11 0%,#17191b 3%,#780b11 6%,#a51213 10%,#c5262a 12%,#a51213 14%,#780b11 19%,#17191b 22%,#780b11 26%);box-shadow:inset -7px 0 10px #17191b,inset 3px 0 5px #17191b;transform-origin:top center}
.curtain-right{inset:0 0 0 50%;transform:scaleX(-1)}
.curtain-half::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 2px,#17191b08 2px 3px);mix-blend-mode:multiply}
.curtain-valance{position:absolute;top:-13%;width:55%;height:31%;border-radius:0 0 70% 45%;z-index:2;background:repeating-radial-gradient(ellipse at 40% 0,#780b11 0%,#17191b 10%,#a51213 14%,#c5262a 16%,#a51213 18%,#780b11 25%);box-shadow:0 5px 5px #17191b80;border-bottom:2px solid #780b11}
.valance-left{left:0;transform:rotate(-9deg)}
.valance-right{right:0;transform:scaleX(-1) rotate(-9deg)}
.home-view .tile-symbol svg{stroke:none;overflow:visible}
.home-view .tile-symbol{filter:drop-shadow(0 4px 2px #17191b55)}
.home-view .glass-tile:hover .tile-symbol,.home-view .glass-tile:focus-visible .tile-symbol,.home-view .glass-tile.en-theatre-cue .tile-symbol{filter:drop-shadow(0 3px 2px #17191b55) drop-shadow(0 0 3px #fff9)}
@media(prefers-reduced-motion:reduce){.entrance-neon path{animation:none}}
/* Revision 23: deep velvet with irregular hanging folds and pooled hem. */
.entrance-velvet{background:#000;box-shadow:inset 0 0 20px #000}
.velvet-cloth{display:block;width:100%;height:100%;overflow:hidden}
.neon-track{stroke:#a51213;stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 2px #a51213) drop-shadow(0 0 6px #a51213)}
.neon-haze{stroke:#c5262a;stroke-width:8;opacity:.95;filter:blur(2px)}
.neon-core{stroke:#fff;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px #c5262a)}
/* Revision 24: the cloth spills beyond the threshold onto the actual floor. */
.entrance-velvet{overflow:visible;background:none;box-shadow:none;z-index:3}
.entrance-velvet .velvet-cloth{overflow:visible}
@media(min-width:1024px) and (min-height:560px){
 .home-view .workspace-head{left:5%;width:90%}
 .home-view .workspace-head h2{font-size:clamp(21px,1.85cqw,34px)}
}

/* Closed graphite door leaves; only entrance contours are removed. */
.home-view .entrance-door{width:50%;height:100%;transform:none;background:linear-gradient(100deg,#373b40,#252629 32%,#17191b 100%);border:1px solid #17191b;box-shadow:inset 2px 2px 3px #61666b,inset -4px -3px 8px #0008,0 4px 7px #17191b40}
.home-view .door-left{left:0;right:auto}
.home-view .door-right{right:0;left:auto;background:linear-gradient(100deg,#252629,#373b40 55%,#252629);border-left:3px solid #17191b}
.home-view .entrance-reflection{display:none}
.home-view .folder-link.glass-tile{transition-duration:.15s;backdrop-filter:none}
.home-view .glass-tile::before,.home-view .glass-tile::after,.home-view .tile-symbol,.home-view .glass-tile .folder-label,.home-view .glass-tile .folder-sub,.home-view .tile-fill,.home-view .tile-radiance{transition-duration:.15s;transition-delay:0s}
/* Recessed heavy leaves: bevels, side reveals and a narrow centre joint. */
.home-view .entrance-opening{background:#17191b;box-shadow:inset 0 0 24px #0009,0 4px 10px #17191b35}
.home-view .entrance-door{top:1%;height:98%;width:49.1%;border:0;border-radius:2px;box-shadow:inset 2px 2px 2px #61666b,inset 7px 0 9px #ffffff12,inset -9px -6px 12px #0008,0 0 3px #000,0 7px 10px #0008}
.home-view .door-left{left:.6%}
.home-view .door-right{right:.6%;border-left:0;box-shadow:inset 2px 2px 2px #61666b,inset 7px 0 10px #ffffff0d,inset -9px -6px 12px #0009,0 0 3px #000,0 7px 10px #0008}
.home-view .entrance-door::before{content:'';position:absolute;inset:3.2% 7%;border-radius:1px;background:linear-gradient(110deg,#373b40,#252629 40%,#252629 75%,#17191b);box-shadow:0 1px 1px #61666b66,inset 2px 3px 5px #000b,inset -1px -1px 2px #ffffff25;border:1px solid #17191b}
.home-view .entrance-door::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,#0006,transparent 8%,transparent 91%,#0007),linear-gradient(90deg,#0002,transparent 12%,transparent 86%,#0005)}
/* Keep the left trio staggered, with a clear gap between their edges. */
@media(min-width:1024px) and (min-height:560px){
 .home-view .folder-link.glass-tile[data-home-folder="about"]{left:13.5%;top:35.7%}
 .home-view .folder-link.glass-tile[data-home-folder="projects"]{left:27%;top:51.1%}
 .home-view .folder-link.glass-tile[data-home-folder="contacts"]{left:13.8%;top:70.2%}
}

/* Two up/down tubular sconces, mounted on the second recessed reveal. */
.entrance-sconce{position:absolute;top:41%;height:20%;width:1.3%;min-width:4px;z-index:4;border-radius:2px;background:linear-gradient(90deg,#17191b,#373b40 40%,#17191b 85%);box-shadow:2px 2px 3px #17191b70,inset 1px 0 1px #61666b}
.sconce-left{left:2%}.sconce-right{right:2%}
.entrance-sconce::before,.entrance-sconce::after{content:'';position:absolute;left:50%;width:850%;height:64%;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 85%,#fffdf0e6 0%,#fff8df66 25%,#fff8df22 53%,transparent 75%);filter:blur(3px)}
.entrance-sconce::before{bottom:99%}
.entrance-sconce::after{top:99%;transform:translateX(-50%) rotate(180deg)}
.entrance-portal{box-shadow:inset 5px 5px 7px #17191b40,inset -2px -1px 3px #fff,0 2px 4px #17191b20}
.entrance-jamb{background:linear-gradient(105deg,#e6e8eb,#fff 12%,#fff 75%,#e6e8eb);box-shadow:inset 4px 5px 6px #17191b42,inset -2px -2px 3px #fff,1px 1px 2px #17191b24}
.entrance-floor{box-shadow:0 -2px 4px #17191b18,0 -8px 16px #17191b0a}
/* Two solid steps anchor the portal and door leaves to the floor. */
.entrance-steps{position:absolute;left:28.8%;top:81%;width:40.4%;height:13.5%;pointer-events:none;z-index:1}
.entrance-step{position:absolute;border:1px solid #d8dadd;background:linear-gradient(180deg,#fff 0%,#f3f4f5 60%,#e6e8eb 61%,#d8dadd 100%);box-shadow:0 7px 8px #17191b28,inset 0 1px 0 #fff}
.entrance-step.lower{left:-2%;top:42%;width:104%;height:53%;clip-path:polygon(4% 0,96% 0,100% 65%,100% 100%,0 100%,0 65%)}
.entrance-step.upper{left:2%;top:0;width:96%;height:58%;clip-path:polygon(3% 0,97% 0,100% 65%,100% 100%,0 100%,0 65%);box-shadow:0 6px 7px #17191b38,inset 0 1px 0 #fff}
.entrance-portal{z-index:2}
.home-view .entrance-door{box-shadow:inset 2px 2px 2px #61666b,inset 7px 0 9px #ffffff12,inset -5px -5px 9px #0006,0 2px 3px #0008}
.home-view .door-right{box-shadow:inset 2px 2px 2px #61666b,inset 4px 0 6px #ffffff12,inset -8px -5px 10px #0008,0 2px 3px #0008}
.entrance-sconce{background:linear-gradient(90deg,#373b40 0%,#fff4d4 24%,#fffef3 55%,#fff4d4 76%,#17191b 100%);box-shadow:0 0 4px #fff4d4,0 0 14px #fff1caaa,2px 2px 3px #17191b55}
.entrance-sconce::before,.entrance-sconce::after{width:1700%;height:165%;background:radial-gradient(ellipse at 50% 100%,#fff9e6e6 0%,#fff1c999 25%,#ffedc244 51%,transparent 73%);filter:blur(4px)}
@media(max-width:1023px),(max-height:559px){.entrance-steps{left:17%;top:86%;width:66%;height:13%}}
.entrance-sconce::before,.entrance-sconce::after{width:1500%;height:145%;background:linear-gradient(0deg,#fff5d8cc 0%,#fff1ca80 26%,#fff1ca22 72%,transparent 100%);clip-path:polygon(0 0,100% 0,57% 100%,43% 100%);filter:blur(3px)}
/* Broad treads meet the threshold, in front of the portal's lower edge. */
.entrance-steps{left:27%;top:81%;width:44%;height:13.3%;z-index:3;filter:drop-shadow(0 4px 3px #17191b25)}
.entrance-step{background:linear-gradient(180deg,#f8f9fa 0%,#fff 74%,#d8dadd 75%,#e6e8eb 100%)}
.entrance-step.upper{left:3.5%;width:93%;top:0;height:58%;clip-path:polygon(4% 0,96% 0,100% 75%,100% 100%,0 100%,0 75%)}
.entrance-step.lower{left:0;width:100%;top:50%;height:50%;clip-path:polygon(4% 0,96% 0,100% 75%,100% 100%,0 100%,0 75%)}
/* Restore the dark cylindrical housings. Light sampled from the supplied reference. */
.entrance-sconce{background:linear-gradient(90deg,#17191b,#373b40 40%,#17191b 85%);box-shadow:2px 2px 3px #17191b70,inset 1px 0 1px #61666b}
.entrance-sconce::before,.entrance-sconce::after{width:1400%;height:110%;clip-path:none;background:radial-gradient(ellipse at 50% 88%,#fbead5 0%,#f8e1cadd 15%,#e5cbb27a 36%,#cab3a233 55%,transparent 75%);filter:blur(5px)}
@media(max-width:1023px),(max-height:559px){.entrance-steps{left:17%;top:86%;width:66%;height:13%}}
@media(min-width:1024px) and (min-height:560px){
 .entrance-steps{top:80.45%}
 .entrance-step.upper{clip-path:polygon(4.8% 0,95.2% 0,100% 75%,100% 100%,0 100%,0 75%);border-top:0}
}
/* Fine recessed door edges, rather than thick black picture frames. */
.home-view .entrance-door::before{inset:2.3% 4%;border:1px solid #17191b66;background:linear-gradient(108deg,#373b40,#252629 58%,#252629);box-shadow:inset 1px 1px 2px #0006,inset -1px -1px 1px #61666b55,0 1px 1px #ffffff0d}
.home-view .entrance-door{box-shadow:inset 1px 1px 1px #61666b88,inset 3px 0 4px #ffffff0c,inset -2px -2px 4px #0005,0 1px 2px #0005}
.home-view .door-right{box-shadow:inset 1px 1px 1px #61666b66,inset 2px 0 3px #ffffff0c,inset -3px -2px 4px #0006,0 1px 2px #0005}
.home-view .entrance-door::after{background:linear-gradient(180deg,#0003,transparent 6%,transparent 95%,#0003)}
/* Narrow warm-white up/down beams, with soft edges rather than a flame halo. */
.entrance-sconce::before,.entrance-sconce::after{width:420%;height:135%;clip-path:none;background:radial-gradient(ellipse at 50% 100%,#fff4e6cc 0%,#f8e1ca66 28%,#f8e1ca22 55%,transparent 80%);filter:blur(2px)}
.entrance-sconce::before,.entrance-sconce::after{width:320%;background:linear-gradient(90deg,transparent,#f0d3b18c 32%,#fff0dbdd 50%,#f0d3b18c 68%,transparent);mask-image:linear-gradient(0deg,#000 0%,#000b 35%,transparent 100%);filter:blur(1.5px)}

/* Reuse the accepted dark tubes as door pulls, with no emitted light. */
.entrance-door .entrance-sconce{top:41%;height:20%;width:3.3%;min-width:4px;background:linear-gradient(90deg,#17191b,#373b40 40%,#17191b 85%);box-shadow:3px 2px 3px #0009,inset 1px 0 1px #61666b;z-index:4}
.entrance-door .sconce-left{left:auto;right:9%}
.entrance-door .sconce-right{right:auto;left:9%}
.entrance-door .entrance-sconce::before,.entrance-door .entrance-sconce::after{display:none}

/* Glass OPEN plaque. All decorative layers belong to the right door leaf. */
.home-view .entrance-open-sign{
 position:absolute;left:17%;top:22%;width:68%;aspect-ratio:2.5;
 display:grid;place-items:center;container-type:inline-size;isolation:isolate;
 border:.75px solid #e8eef02e;border-top-color:#ffffff45;
 border-radius:6px;pointer-events:none;z-index:3;
 background:linear-gradient(125deg,#ffffff20 0%,#ffffff0a 42%,#ffffff03 100%);
 box-shadow:inset 0 1px 0 #ffffff08,0 4px 7px #00000030;
}
.home-view .entrance-open-sign::after{
 content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(115deg,#ffffff0b 0%,#ffffff02 45%,transparent 46%);
}
.home-view .entrance-open-label{
 color:#fff9fa;font-family:Uncage,Arial,sans-serif;font-size:13.6cqw;line-height:1;
 font-weight:400;letter-spacing:0;white-space:nowrap;
 text-shadow:0 0 1px #fff6,0 0 6px #fff2;position:relative;z-index:1;
}
.home-view .entrance-open-light{
 position:absolute;left:0;top:0;width:3px;height:3px;border-radius:50%;z-index:2;
 background:#fff7f4;box-shadow:0 0 2px 1px #ffd9d9,0 0 6px 2px #ef3c43b3,0 0 12px 5px #bc1c2333;
 offset-path:inset(0 round 6px);offset-anchor:50% 50%;offset-rotate:0deg;
 animation:entrance-open-orbit 12s linear infinite;pointer-events:none;
}
@keyframes entrance-open-orbit{from{offset-distance:0%}to{offset-distance:100%}}
@supports not (offset-path:inset(0 round 6px)){
 .home-view .entrance-open-light{transform:translate(-50%,-50%);animation:entrance-open-orbit-fallback 12s linear infinite}
 @keyframes entrance-open-orbit-fallback{
  0%,100%{left:6%;top:0}33%{left:94%;top:0}36%{left:100%;top:15%}
  47%{left:100%;top:85%}50%{left:94%;top:100%}83%{left:6%;top:100%}
  86%{left:0;top:85%}97%{left:0;top:15%}
 }
}
@media(prefers-reduced-motion:reduce){.home-view .entrance-open-light{animation:none;offset-distance:23%}}
