:root{--gold: #bc8d3f;--gold-light: #d9bb86;--sand: #e7d4b6;--cream: #f4efe4;--maroon: #7c1d3a;--ink: #20271f;--green-deep: #2b3a2c;--shadow: rgba(20, 28, 20, .55);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Be Vietnam Pro", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:#3f5340;overflow:hidden}body{font-family:var(--sans);color:var(--cream);-webkit-font-smoothing:antialiased}.hidden{opacity:0!important;pointer-events:none!important}#app{position:fixed;inset:0}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}.grain{position:fixed;inset:-50%;z-index:4;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainshift 8s steps(6) infinite}@keyframes grainshift{0%{transform:translate(0)}50%{transform:translate(-4%,3%)}to{transform:translate(2%,-2%)}}.vignette{position:fixed;inset:0;z-index:3;pointer-events:none;background:radial-gradient(120% 100% at 50% 38%,transparent 52%,rgba(20,28,18,.42) 100%)}#loader{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#4d6651;transition:opacity 1s ease,visibility 1s ease}.loader-inner{position:relative;width:200px;height:200px;display:grid;place-items:center}.loader-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#f4efe41f;stroke-width:1}.ring-fg{fill:none;stroke:var(--cream);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:578;stroke-dashoffset:578;transition:stroke-dashoffset .4s ease}.loader-logo{width:52px;height:56px}.loader-logo svg,.nav-logo svg,.intro-logo svg,.inquire-logo svg,.loader-logo path{width:100%;height:100%}.loader-pct{margin-top:38px;font-family:var(--serif);font-size:15px;letter-spacing:2px;color:var(--cream);opacity:.85}.loader-pct i{font-style:normal;opacity:.6;margin-left:1px}.loader-word{margin-top:10px;font-size:10.5px;letter-spacing:4px;text-transform:uppercase;color:#f4efe48c;font-weight:300}#intro{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity 1.2s ease;overflow:hidden;background:transparent}.hidden-video{position:fixed;bottom:0;left:0;width:2px;height:2px;opacity:.001;pointer-events:none;z-index:-1}.intro-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,28,18,.5) 0%,transparent 28%,transparent 55%,rgba(20,28,18,.72) 100%),radial-gradient(120% 90% at 50% 60%,transparent 40%,rgba(20,28,18,.45) 100%)}.intro-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.intro-sound{position:absolute;bottom:30px;right:34px;z-index:3;cursor:pointer;width:44px;height:44px;border:1px solid rgba(244,239,228,.3);border-radius:50%;display:grid;place-items:center;transition:border-color .4s,background .4s}.intro-sound:hover{border-color:var(--gold);background:#bc8d3f1f}.sound-bars{display:flex;align-items:center;gap:2px;height:16px}.sound-bars i{width:2px;height:4px;background:var(--cream);border-radius:2px}.intro-sound.playing .sound-bars i{animation:bars .9s ease-in-out infinite}.intro-sound.playing .sound-bars i:nth-child(2){animation-delay:.15s}.intro-sound.playing .sound-bars i:nth-child(3){animation-delay:.3s}.intro-sound.playing .sound-bars i:nth-child(4){animation-delay:.45s}@keyframes bars{0%,to{height:4px}50%{height:15px}}.intro-kicker{font-size:11px;letter-spacing:5px;text-transform:uppercase;font-weight:400;color:var(--gold-light);margin-bottom:26px;opacity:.9}.intro-logo{width:60px;height:64px;margin-bottom:18px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.4))}.intro-title{font-family:var(--serif);font-weight:500;line-height:.98;font-size:clamp(46px,9vw,128px);letter-spacing:1px;color:var(--cream);text-shadow:0 8px 40px rgba(20,28,18,.5)}.intro-title em{font-style:italic;color:var(--gold-light)}.intro-sub{margin-top:22px;font-size:13px;letter-spacing:1.5px;font-weight:300;color:#f4efe4c7;max-width:440px}.intro-actions{margin-top:52px;display:flex;flex-direction:column;align-items:center;gap:20px}.btn-explore{position:relative;overflow:hidden;cursor:pointer;border:none;background:var(--gold);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:3px;text-transform:uppercase;padding:18px 46px;border-radius:40px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;box-shadow:0 10px 40px #bc8d3f59}.btn-explore-label{position:relative;z-index:2}.btn-explore-fill{position:absolute;inset:0;z-index:1;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.btn-explore:hover{transform:translateY(-2px);box-shadow:0 16px 50px #bc8d3f80}.btn-explore:hover .btn-explore-fill{transform:scaleX(1)}.btn-audio{background:none;border:none;cursor:pointer;color:#f4efe4b3;font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;position:relative;padding-bottom:5px;transition:color .4s}.btn-audio:after,.nav-tag:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;opacity:.4;transform:scaleX(1)}.btn-audio:hover{color:var(--cream)}#nav{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:26px 42px;transition:opacity .8s ease;mix-blend-mode:normal}.nav-logo{width:30px;height:34px;cursor:pointer}.nav-links{display:flex;align-items:center;gap:30px}.nav-tag{position:relative;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--cream);font-weight:400;padding-bottom:4px;opacity:.85}.nav-inquire{cursor:pointer;background:#f4efe414;border:1px solid rgba(244,239,228,.35);color:var(--cream);font-family:var(--sans);font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;padding:12px 24px;border-radius:30px;backdrop-filter:blur(6px);transition:background .4s,border-color .4s,color .4s}.nav-inquire:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}#rail{position:fixed;right:42px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:16px;transition:opacity .8s ease}.rail-item{display:flex;align-items:center;gap:12px;justify-content:flex-end;cursor:pointer}.rail-num{font-family:var(--serif);font-size:12px;color:#f4efe466;transition:color .4s,transform .4s;transform-origin:right}.rail-dot{width:7px;height:7px;border-radius:50%;border:1px solid rgba(244,239,228,.5);position:relative;transition:all .5s}.rail-item.active .rail-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #bc8d3f33}.rail-item.active .rail-num{color:var(--cream);transform:scale(1.15)}.rail-item:hover .rail-num{color:var(--cream)}#scrollHint{position:fixed;bottom:34px;left:50%;transform:translate(-50%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity .8s ease}#scrollHint span{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#f4efe499}.scroll-mouse{width:22px;height:34px;border:1px solid rgba(244,239,228,.5);border-radius:12px;position:relative}.scroll-dot{position:absolute;left:50%;top:7px;width:3px;height:6px;border-radius:3px;background:var(--cream);transform:translate(-50%);animation:scrolldot 1.8s ease-in-out infinite}@keyframes scrolldot{0%{opacity:0;top:7px}30%{opacity:1}70%{opacity:1;top:18px}to{opacity:0;top:18px}}#content{position:fixed;inset:0;z-index:20;pointer-events:none}#content:before{content:"";position:absolute;left:0;bottom:0;right:0;height:100%;background:linear-gradient(180deg,rgba(14,20,14,.45) 0%,transparent 18%,transparent 60%,rgba(14,20,14,.34) 100%),linear-gradient(105deg,rgba(14,20,14,.34) 0%,transparent 42%);pointer-events:none}.panel{position:absolute;left:5vw;bottom:8vh;width:min(480px,88vw);opacity:0;transform:translateY(40px);transition:none;will-change:opacity,transform;padding:32px 38px 34px;border-radius:8px;background:linear-gradient(150deg,#161e169e,#161e1666);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);border:1px solid rgba(244,239,228,.12);border-left:2px solid var(--gold);box-shadow:0 30px 80px #0006}.panel .p-index{font-family:var(--serif);font-size:13px;letter-spacing:3px;color:var(--gold-light);display:flex;align-items:center;gap:14px;margin-bottom:18px}.panel .p-index:after{content:"";width:54px;height:1px;background:linear-gradient(90deg,var(--gold-light),transparent)}.panel .p-chapter{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#f4efe48c;margin-bottom:14px}.panel .p-title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,62px);line-height:1.02;color:var(--cream);margin-bottom:8px;text-shadow:0 6px 30px rgba(20,28,18,.5)}.panel .p-title-en{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--gold-light);margin-bottom:22px;opacity:.9}.panel .p-body{font-size:14.5px;line-height:1.7;font-weight:300;color:#f7f3e9f2}.panel .p-body-en{font-size:12.5px;line-height:1.65;font-weight:300;color:#d9bb86c7;margin-top:12px;font-style:italic}.panel .p-stat{margin-top:28px;display:flex;align-items:baseline;gap:12px}.panel .p-stat b{font-family:var(--serif);font-size:40px;font-weight:500;color:var(--gold);line-height:1}.panel .p-stat span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#f4efe499}#markers{position:fixed;inset:0;z-index:18;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);opacity:0;transition:opacity .6s ease}.marker.show{opacity:1}.marker-ring{width:44px;height:44px;border:1px solid rgba(244,239,228,.7);border-radius:50%;position:relative;display:grid;place-items:center}.marker-ring:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold-light);animation:markerpulse 2.4s ease-out infinite}.marker-core{width:6px;height:6px;background:var(--gold-light);border-radius:50%;box-shadow:0 0 12px var(--gold-light)}.marker-label{position:absolute;left:54px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--cream);text-shadow:0 2px 8px rgba(0,0,0,.6)}@keyframes markerpulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.1);opacity:0}}#inquire{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#1c261cc7;backdrop-filter:blur(10px);transition:opacity .6s ease}.inquire-close{position:absolute;top:28px;right:34px;background:none;border:none;color:var(--cream);font-size:18px;cursor:pointer;opacity:.7}.inquire-close:hover{opacity:1}.inquire-card{background:linear-gradient(160deg,#4d6651,#38503c);border:1px solid rgba(217,187,134,.25);border-radius:4px;padding:52px 48px;max-width:460px;width:90%;text-align:center;box-shadow:0 40px 100px #00000080}.inquire-logo{width:46px;height:50px;margin:0 auto 20px}.inquire-card h2{font-family:var(--serif);font-weight:500;font-size:38px;color:var(--cream);margin-bottom:12px}.inquire-card p{font-size:13px;font-weight:300;line-height:1.6;color:#f4efe4bf;margin-bottom:28px}#inquireForm{display:flex;flex-direction:column;gap:12px}#inquireForm input{background:#f4efe40f;border:1px solid rgba(244,239,228,.2);border-radius:3px;padding:14px 16px;color:var(--cream);font-family:var(--sans);font-size:13px}#inquireForm input::placeholder{color:#f4efe466}#inquireForm input:focus{outline:none;border-color:var(--gold)}#inquireForm button{margin-top:8px;background:var(--gold);color:var(--ink);border:none;border-radius:30px;padding:15px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:background .4s}#inquireForm button:hover{background:var(--gold-light)}.inquire-contact{margin-top:26px;display:flex;flex-direction:column;gap:6px}.inquire-contact a{color:var(--gold-light);font-family:var(--serif);font-size:22px;text-decoration:none}.inquire-contact span{font-size:11px;color:#f4efe48c;letter-spacing:.5px}@media (max-width: 720px){.panel{left:6vw;right:6vw;bottom:9vh;max-width:none}#rail{right:18px}#nav{padding:18px 22px}.marker-label{display:none}}
