.curtain-hero{--header-height:84px}.curtain-control[hidden]{display:none!important}
.curtain-hero{position:relative;isolation:isolate;height:calc(100svh - var(--header-height));min-height:500px;max-height:1000px;overflow:hidden;background:radial-gradient(ellipse at 48% 14%,#3b303f 0%,#251f2c 45%,#131218 100%);color:#fff;text-align:center}
.curtain-scene{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:75%;z-index:1}
.curtain-brand{width:clamp(192px,20vw,300px);max-width:75%;margin:0 auto 21px;opacity:.88}
.curtain-eyebrow{font:400 clamp(11px,1.02vw,15px)/1.6 Georgia,'Times New Roman',serif;letter-spacing:.24em;text-transform:uppercase;color:#e6dde6;margin-bottom:42px;white-space:nowrap}
.curtain-scene h1{font:400 clamp(28px,3.15vw,50px)/1.85 LProduceHeroDeco,'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.15em;text-shadow:0 5px 30px #0003}
.curtain-scene h1 span{display:block;white-space:nowrap}
#home-curtain{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;filter:drop-shadow(0 7px 12px #0008)}
.curtain-hero.is-ready #home-curtain{opacity:1}
.curtain-monogram{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(144px,15vw,220px);z-index:4;pointer-events:none;opacity:0}
.curtain-scroll{position:absolute;z-index:2;bottom:40px;left:50%;transform:translateX(-50%);color:#cbbda9;font:11px/1.5 Georgia,serif;letter-spacing:.15em;padding:12px 20px;text-align:center}
.curtain-scroll span{display:block;width:1px;height:42px;margin:12px auto 0;background:linear-gradient(#b8a17b,#b8a17b00)}
.curtain-control{position:absolute;right:24px;bottom:24px;z-index:5;border:1px solid #ffffff54;background:#19161e94;color:#fff;border-radius:2px;font-family:inherit;font-size:11px;line-height:1.5;letter-spacing:.08em;padding:12px 16px;cursor:pointer;backdrop-filter:blur(8px)}
.curtain-control span{margin-left:14px}
.curtain-control:hover{background:#19161ed9;border-color:#fff9}
.curtain-hero.is-opening .curtain-scroll{visibility:hidden}
.curtain-hero.is-opening .curtain-scene{opacity:var(--scene-opacity,1)}

@media(max-width:900px){.curtain-hero{--header-height:68px;min-height:520px;max-height:850px}.curtain-scene{top:46%;width:76%}.curtain-brand{width:220px;max-width:75%;margin-bottom:21px}.curtain-eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:36px}.curtain-scene h1{font-size:clamp(17px,4.3vw,36px);line-height:2;letter-spacing:.09em}.curtain-scroll{bottom:38px}.curtain-control{bottom:18px;right:16px;font-size:10px;padding:11px 12px}.curtain-control span{margin-left:8px}}
@media(max-width:360px){.curtain-scene h1{font-size:16px;letter-spacing:.07em}.curtain-eyebrow{font-size:8.5px}.curtain-brand{width:174px}.curtain-control{right:10px}}
@media(prefers-reduced-motion:reduce){.curtain-control{display:none}.curtain-hero *{animation:none!important;transition:none!important}}
.curtain-video-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;background:#19161e}
.curtain-video-backdrop video{position:absolute;left:0;top:54%;width:100%;height:108%;object-fit:cover;transform:translateY(-50%);filter:saturate(.95) brightness(.92);opacity:0}
.curtain-video-backdrop video.has-frame{opacity:1}
.curtain-video-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#120e0c6b,#120e0c14 43%,#120e0c52),linear-gradient(90deg,#120e0c52,transparent 40%,#120e0c3d)}
.curtain-brand{filter:brightness(0) invert(1);opacity:.92}
.curtain-scene h1{text-shadow:0 3px 24px #0009}
.curtain-eyebrow{text-shadow:0 2px 12px #0009}
.video-control{left:24px;right:auto}
@media(max-width:900px){.video-control{left:16px;right:auto}}
@media(max-width:360px){.video-control{left:10px;right:auto}}
@media(prefers-reduced-motion:reduce){.curtain-video-backdrop video{display:none}}

.curtain-video-backdrop video{opacity:1}.curtain-video-backdrop video:not(.has-frame){filter:saturate(.95) brightness(.92)}
@media(prefers-reduced-motion:reduce){.curtain-video-backdrop video{display:block}}

/* Approved 02: fullscreen opening then transparent navigation. Homepage only. */
html{scroll-padding-top:84px}
header{position:relative;height:0;z-index:1000;transition:opacity .65s ease,transform .65s ease}
header #outer.pc_nav{position:fixed;background:linear-gradient(#1d080bba,#1d080b40);border:0;backdrop-filter:none}
header #outer .logo img{filter:brightness(0) invert(1)}
header #outer .menuOpener ul li a,header #outer .contact a{color:#fff}
header #outer .contact a{background:#3c0a1840;border-color:#ffffff70}
html.is-scrolled header #outer.pc_nav{background:#fff;box-shadow:0 2px 12px #0001}
html.is-scrolled header #outer .logo img{filter:none}
html.is-scrolled header #outer .menuOpener ul li a,html.is-scrolled header #outer .contact a{color:#282624}
html.is-scrolled header #outer .contact a{background:#fff;border-color:#ccc}
.curtain-pending header,.fullscreen-opening header{opacity:0;visibility:hidden;transform:translateY(-8px)}
main{margin-top:0}
.curtain-hero{height:100svh;min-height:580px;max-height:none}
.curtain-hero .curtain-scene{width:90%}
.curtain-hero .curtain-scroll{bottom:50px}
.fullscreen-curtain{position:fixed;inset:0;z-index:2000;display:none;pointer-events:none}
.curtain-pending .fullscreen-curtain{display:block;background:none}
.fullscreen-opening .fullscreen-curtain{display:block;background:none}
#full-curtain{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 14px #0007)}
#full-monogram{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(144px,15vw,220px)}
@media(max-width:900px){
  html{scroll-padding-top:68px}
  header #outer .navback{background:transparent;border:0}
  #navToggle span{background:#fff}
  html.is-scrolled #navToggle span{background:#202020}
  header #outer .menuOpener ul.nav li a{color:#302d2b}
  header #outer .menuOpener .block{height:auto;max-height:calc(100svh - 68px);padding-bottom:30px}
}
/* Selected mobile typography 02: values match the 390px comparison. */
@media(max-width:600px){
  .curtain-hero .curtain-scene{width:92%;top:46%}
  .curtain-hero .curtain-brand{display:block;width:min(66.67vw,300px);max-width:none;height:auto;margin:0 auto min(5.4vw,24px)}
  .curtain-hero .curtain-eyebrow{font-size:min(3.33vw,15px);line-height:1.6;letter-spacing:.16em;margin-bottom:min(11.28vw,50px)}
  .curtain-hero .curtain-scene h1{font-size:min(7.18vw,36px);line-height:1.85;letter-spacing:.045em}
}
@media(prefers-reduced-motion:reduce){
  .fullscreen-curtain{display:none!important}
  .curtain-pending header,.fullscreen-opening header{opacity:1;visibility:visible;transform:none}
  header{transition:none}
}
