:root{--bg:#140b10;--wine:#761d36;--rose:#d59b9e;--gold:#cdbca0;--text:#f2e9e0;--muted:#b9a6a8;--line:#cdbca02b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Yu Mincho','Hiragino Mincho ProN',serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:absolute;top:-60px}.skip:focus{top:10px;z-index:100;background:#000;padding:15px}.topbar{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid #ffffff20;background:linear-gradient(#100810a8,transparent)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:65px;height:65px;object-fit:contain}.brand span{font-size:22px;letter-spacing:.18em}.brand small{font-size:10px;letter-spacing:.1em;display:block;margin-top:7px}.topbar nav{display:flex;gap:30px;align-items:center;font-size:13px;letter-spacing:.1em}.topbar nav a:hover,.text-link:hover{color:var(--rose)}.nav-recruit{border:1px solid #fff5;padding:12px 20px}.menu-toggle{display:none}.mobile-menu{position:fixed;z-index:30;inset:90px 0 auto;background:#1a0b16fa;padding:25px}.mobile-menu a{display:block;padding:18px;border-bottom:1px solid var(--line)}.hero{height:100svh;min-height:690px;max-height:1100px;position:relative;background:#20131a;overflow:hidden}.hero video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,#100810b8,transparent 85%),linear-gradient(0deg,#140b10 0%,transparent 40%,#10081033)}.hero-content{position:absolute;left:9%;top:50%;transform:translateY(-35%)}.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0 0 26px}.hero-small{font-size:14px;letter-spacing:.2em;margin:0 0 24px}.hero h1{font-size:clamp(44px,5.6vw,82px);font-weight:400;letter-spacing:.1em;line-height:1.6;margin:0;text-shadow:0 2px 30px #0005}.hero h1 span{color:#f3d9d3}.hero-sub{letter-spacing:.25em;font-size:13px;margin:24px 0 35px}.hero-links{display:flex;align-items:center;gap:34px}.btn{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;padding:19px 25px;border:1px solid #cdbca077;font-size:12px;letter-spacing:.1em;transition:background .2s}.btn:hover{background:#76203b}.filled{background:#761d36;border-color:#a35f6b}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.08em;border-bottom:1px solid #cdbca04a;padding:10px 0}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font:11px Georgia,serif;letter-spacing:.15em}.hero-bottom small{display:block;font-size:8px;margin-top:8px;color:var(--muted)}.hero-bottom button{background:none;border:1px solid #fff4;padding:11px 15px;font-size:12px}.hero-bottom button span{font-size:8px;margin-left:8px}.ribbon{display:flex;justify-content:space-around;padding:24px 5%;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--line);color:var(--gold)}.section{padding:110px 8%;max-width:1500px;margin:auto}h2{font-size:clamp(27px,3vw,42px);line-height:1.7;font-weight:400;letter-spacing:.1em;margin:0}h3{font-weight:400;font-size:21px}.story{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center;background:radial-gradient(ellipse at right,#46142760,transparent 65%)}.story-photo{padding-bottom:30px}.story-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center;border:1px solid var(--line)}.photo-caption{display:block;font:9px Georgia;letter-spacing:.24em;margin-top:20px;color:var(--gold)}.story-copy p:not(.eyebrow){font-size:13px;line-height:2.5;color:#d7c5c6;margin:22px 0}.ornament{font-size:24px;color:var(--rose);margin:20px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}.cast-section{border-top:1px solid var(--line)}.cast-image{display:block;position:relative;border:1px solid var(--line);overflow:hidden;background:#100a0d}.cast-image img{width:100%;transition:transform .8s}.cast-image:hover img{transform:scale(1.025)}.image-link{position:absolute;bottom:0;right:0;background:#340d23e8;padding:20px 25px;letter-spacing:.2em;font-size:10px}.muted{font-size:12px;line-height:2;color:var(--muted)}.system-section{background:linear-gradient(120deg,#220e18,#170c12)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:25px}.plan{padding:37px;border:1px solid var(--line);background:#130c1180;transition:border-color .2s}.plan:hover{border-color:var(--rose)}.accent{background:linear-gradient(135deg,#471326,#25101c);border-color:#b56a7d66}.plan-index{font-size:10px;letter-spacing:.2em;color:var(--gold)}.price{font-size:46px;margin:20px 0;letter-spacing:.03em}.price span{font-size:12px;margin-left:10px;color:var(--muted)}.plan>p:not(.price){font-size:12px;color:var(--muted)}.plan-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:11px}.fine{font:11px/1.9 sans-serif;color:var(--muted);margin-top:20px}.gallery-section{padding-bottom:70px}.gallery-section .section{padding-bottom:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 3%}.gallery button{border:0;padding:0;background:none;overflow:hidden}.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.04)}.access-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.access-lead{font-size:14px;color:var(--rose);margin:25px 0}dl{font-size:12px;margin:30px 0}dl>div{display:grid;grid-template-columns:80px 1fr;padding:18px 0;border-bottom:1px solid var(--line);line-height:2}dt{color:var(--muted)}dd{margin:0}.access-photo{position:relative}.access-photo img{aspect-ratio:4/5;object-fit:cover;filter:brightness(.65)}.access-photo>div{position:absolute;bottom:40px;left:35px;font-size:25px;letter-spacing:.2em}.access-photo small{display:block;font-size:10px;margin-top:15px;letter-spacing:.1em}.recruit-section{text-align:center;background:linear-gradient(#140b10bb,#140b10dd),url('../img/haikei2-optimized.webp') center/cover;border-block:1px solid var(--line)}.recruit-section>p:not(.eyebrow){font-size:13px;line-height:2;margin:20px 0 30px}footer{padding:65px 8% 35px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px}.socials{display:flex;gap:25px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.mobile-dock{display:none}dialog{background:#140b10;color:var(--text);border:1px solid var(--line);max-width:90vw;max-height:90svh;padding:45px 15px 15px}dialog::backdrop{background:#000d}dialog img{max-height:75svh;object-fit:contain;margin:auto}#close-photo{position:absolute;right:15px;top:12px;background:none;border:0;font-size:12px}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:700px){html{scroll-padding-top:25px}.topbar{padding:15px 6%}.brand img{width:48px;height:48px}.brand span{font-size:16px}.brand small{font-size:8px}.topbar nav{display:none}.menu-toggle{display:block;background:none;border:1px solid #fff5;padding:11px;font-size:9px;letter-spacing:.12em}.menu-toggle span{margin-left:8px}.hero{min-height:650px;max-height:950px}.hero video{object-position:58% center}.shade{background:linear-gradient(90deg,#100810a0,transparent),linear-gradient(0deg,#140b10,transparent 85%)}.hero-content{left:8%;right:6%;top:48%;transform:translateY(-28%)}.eyebrow{font-size:8px;letter-spacing:.16em}.hero-small{font-size:12px}.hero h1{font-size:40px;line-height:1.75;letter-spacing:.06em}.hero-sub{font-size:11px}.hero-links{gap:20px;align-items:start;flex-direction:column}.btn{padding:17px 20px;font-size:11px}.hero-bottom{bottom:24px;left:8%;right:8%}.hero-bottom>a{display:none}.ribbon{padding:20px 5%;font-size:9px;gap:20px}.ribbon>span:nth-child(2){display:none}.section{padding:70px 7%}.story{grid-template-columns:1fr;gap:25px}.story-photo img{aspect-ratio:4/3}.story-copy{padding-top:10px}.story-copy p:not(.eyebrow){font-size:12px}.section-head{display:block;margin-bottom:25px}.section-head .text-link{margin-top:15px}h2{font-size:28px}.cast-image .image-link{font-size:8px;padding:14px}.plans{grid-template-columns:1fr;gap:16px}.plan{padding:28px}.price{font-size:42px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 7% 15px}.gallery button{flex:0 0 75%;scroll-snap-align:center}.gallery-section{padding-bottom:10px}.access-section{grid-template-columns:1fr;gap:40px}.access-photo img{aspect-ratio:4/3}.footer-top{display:block}.socials{margin-top:30px}.footer-bottom{flex-direction:column;line-height:1.8}footer{padding-bottom:100px}.mobile-dock{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#230e1bf5;backdrop-filter:blur(15px);border-top:1px solid #b98b9555;padding-bottom:env(safe-area-inset-bottom)}.mobile-dock a{padding:19px 5px;text-align:center;font-size:11px;border-right:1px solid var(--line)}.mobile-dock a:last-child{background:#761d36}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}
