*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Noto Serif SC","Songti SC","STSong",serif;color:#ead9bb;background:#0e0b08}
body{overflow-x:hidden}
.place-top{min-height:72vh;position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;background:#0e0b08 url("place.png") center/cover fixed no-repeat}
.place-top::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,12,.2),rgba(7,5,3,.15) 35%,rgba(7,4,2,.9) 100%);z-index:-1}
.place-top::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 28%,rgba(243,190,103,.18),transparent 30%);pointer-events:none}
.place-bg{position:absolute;inset:0;z-index:-2}
.place-content{width:min(1120px,100%);margin:auto;padding:120px 6vw 72px;position:relative}
.back{position:absolute;z-index:3;left:6vw;top:28px;display:inline-flex;align-items:center;color:#f0d19a;text-decoration:none;border:1px solid rgba(226,190,126,.45);background:rgba(12,9,6,.48);padding:10px 15px;border-radius:999px;transition:.25s}
.back:hover{background:rgba(82,50,23,.72);border-color:#d7a95e;transform:translateY(-2px)}
.place-number{display:inline-block;color:#e6be79;font-size:13px;letter-spacing:.2em;padding:8px 13px;border:1px solid rgba(230,190,120,.38);background:rgba(12,9,6,.4);backdrop-filter:blur(5px)}
.place-content h1{font-size:clamp(64px,10vw,118px);font-weight:400;line-height:1;margin:20px 0 18px;letter-spacing:.12em;color:#f5dfb0;text-shadow:0 8px 35px rgba(0,0,0,.75)}
.desc{max-width:760px;margin:0;color:#e0d0b4;font-size:clamp(16px,2vw,20px);line-height:2;text-shadow:0 2px 15px #000}
.enter-tip{margin-top:28px;color:#d5ae70;font-size:13px;letter-spacing:.16em}
.explore{background:linear-gradient(#17100bd9,#0d0906 70%);padding:72px 6vw 85px;border-top:1px solid rgba(224,174,94,.15)}
.section-title{width:min(1100px,100%);margin:auto;text-align:center}
.label,.kind{color:#c99957;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.section-title h2,.route h2{font-size:clamp(30px,5vw,48px);font-weight:400;margin:13px 0;color:#ead2a7}
.section-title p,.route>p{color:#a99b86;line-height:1.9}
.spot-grid{width:min(1100px,100%);margin:38px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.spot{appearance:none;text-align:left;color:#ead9bb;cursor:pointer;min-height:280px;padding:30px;background:linear-gradient(145deg,rgba(35,24,17,.95),rgba(17,12,9,.95));border:1px solid rgba(159,116,61,.35);box-shadow:0 18px 45px rgba(0,0,0,.24);transition:.28s;position:relative;overflow:hidden}
.spot::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(221,174,94,.08),transparent 45%);pointer-events:none}
.spot:hover{transform:translateY(-8px);border-color:#c99550;box-shadow:0 26px 60px rgba(0,0,0,.4)}
.spot h3{font-size:28px;font-weight:400;color:#e8c27f;margin:13px 0}
.spot p{color:#afa18c;line-height:1.9;margin:0 0 28px}
.open{color:#d5aa67;font-size:13px;letter-spacing:.08em}
.route{padding:70px 6vw 90px;text-align:center;background:#0d0906}
.route h2{margin-bottom:8px}
.people-links{width:min(900px,100%);margin:34px auto 0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.people-links a{min-width:110px;color:#e8c98f;text-decoration:none;padding:14px 20px;border:1px solid rgba(181,135,71,.42);background:rgba(36,24,15,.7);transition:.25s}
.people-links a:hover{background:#5a3b20;border-color:#d0a15c;transform:translateY(-3px)}
.place-foot{text-align:center;color:#756956;padding:26px 15px;background:#090604;font-size:12px;letter-spacing:.12em}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal.show{display:flex}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
.spot-paper{position:relative;width:min(680px,100%);padding:45px;background:#ead9b7;color:#493321;box-shadow:0 30px 90px #000;border:1px solid #b78c55}
.spot-paper h2{font-size:42px;font-weight:400;margin:12px 0 18px}.spot-paper p{line-height:2}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:32px;color:#6d4b2c;cursor:pointer}.character-link{display:inline-block;margin-top:16px;color:#7b512a;text-decoration:none;border-bottom:1px solid #a9783e;padding-bottom:4px}
@media(max-width:800px){.place-top{min-height:70vh;background-attachment:scroll}.place-content{padding:125px 22px 55px}.back{left:22px}.spot-grid{grid-template-columns:1fr}.explore,.route{padding-left:22px;padding-right:22px}.spot{min-height:220px}}
@media(max-width:520px){.place-content h1{font-size:64px}.desc{font-size:16px}.spot-paper{padding:34px 24px}.spot-paper h2{font-size:34px}}
