:root{--paper:#f5f2e9;--bg:#e9e9df;--ink:#283d34;--muted:#677368;--green:#365b49;--pale:#e7ece1;--line:#d6dacd;--ochre:#90753f;--red:#924b40;--serif:'Songti SC','STSong','Noto Serif CJK SC',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa8547;outline-offset:4px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}button{border:0;background:none}a{color:var(--green)}.prototype{position:relative;z-index:5;min-height:36px;padding:6px 22px;background:#334d40;color:#f8f6ec;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.05em}.prototype button{color:#f8f6ec;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:4px}.layout{max-width:1110px;margin:auto;display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:start;padding:42px 32px}.intro{position:sticky;top:100px;padding:60px 0}.intro h1{font:46px/1.6 var(--serif);letter-spacing:.16em;margin:25px 0}.intro>p{color:var(--muted)}.intro-en{font-size:11px;letter-spacing:.2em}.intro-line{display:block;width:42px;border-top:1px solid #9aab99;margin:32px 0}.intro-small{font:17px/2 var(--serif)}.vertical{position:absolute;right:8px;top:70px;writing-mode:vertical-rl;font:17px/2.1 var(--serif);letter-spacing:.25em;color:#768372}.seal{font:16px/1.3 var(--serif);border:1px solid #9a6551;color:#9a6551;padding:5px;width:29px;margin-top:35px}.phone{background:var(--paper);box-shadow:0 15px 65px #34463212;min-height:830px;overflow:hidden}header{height:87px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid #d6dacd80}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0;font:23px/1.3 var(--serif);letter-spacing:.1em}.brand-mark{display:grid;place-items:center;border:1px solid #64816c;width:34px;height:39px;font-size:24px}.brand small{display:block;font:8px/2.2 sans-serif;letter-spacing:.13em}.header-label{font:12px var(--serif);letter-spacing:.2em;color:var(--muted)}.hero{min-height:195px;position:relative;padding:28px 26px;isolation:isolate;overflow:hidden;background:#edeadf}.hero img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eeeadef0 0%,#eeeadeb0 38%,transparent 70%)}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--ochre);text-transform:uppercase}.hero h1{font:31px/1.5 var(--serif);letter-spacing:.15em;margin:11px 0}.hero p{font:14px/1.8 var(--serif);color:#596657}.hero .stamp{margin-top:15px;display:inline-block;font-size:11px;border:1px solid #a6aa9680;padding:2px 8px;letter-spacing:.15em}.content{padding:24px 26px 32px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-head h2{font:23px/1.4 var(--serif);letter-spacing:.08em}.section-head span{font-size:12px;color:var(--muted)}.project{display:block;width:100%;text-align:left;border-top:1px solid var(--line);padding:24px 0;position:relative}.project:last-of-type{border-bottom:1px solid var(--line)}.project-top{display:flex;justify-content:space-between;align-items:center}.project h3{font:25px var(--serif);letter-spacing:.12em;margin:6px 0 12px}.project .index{font:italic 22px Georgia;color:#9d997b}.project p{font:15px/1.8 var(--serif);color:var(--muted)}.project-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.meta{display:flex;gap:12px;font-size:12px;color:var(--muted)}.link-btn{color:var(--green);font-size:14px;display:inline-flex;gap:9px;align-items:center}.arrow{font-size:19px}.notice{margin-top:22px;font-size:13px;line-height:1.9;color:var(--muted);display:flex;gap:12px}.notice span:first-child{flex-shrink:0;font-family:var(--serif);color:var(--ochre)}footer{padding:20px 26px 26px;font-size:11px;letter-spacing:.12em;color:#788173;display:flex;justify-content:space-between;border-top:1px solid #d6dacd70}.back{font-size:14px;padding:0;min-height:36px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:15px}.page-title{font:30px/1.4 var(--serif);letter-spacing:.1em}.subtitle{font-size:14px;color:var(--muted);margin:9px 0 23px}.facts{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px;font-size:14px}.facts strong{font-weight:500;color:var(--green)}.step-label{display:flex;justify-content:space-between;align-items:center;margin:24px 0 13px;font-size:16px}.step-label small{font-size:12px;color:var(--muted)}.dates{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.date{border:1px solid var(--line);border-radius:3px;padding:11px 2px;text-align:center;line-height:1.5;background:#faf8f0}.date span{display:block;font-size:12px}.date strong{font:23px/1.6 Georgia}.date em{display:block;font-size:11px;font-style:normal;color:var(--muted)}.date.selected{background:var(--green);color:var(--paper);border-color:var(--green)}.date.selected em{color:#dce4d4}.slot{display:flex;width:100%;align-items:center;justify-content:space-between;padding:17px 15px;border:1px solid var(--line);border-radius:3px;margin:10px 0;text-align:left;background:#faf8f0;gap:10px}.slot strong{display:block;font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.slot small{font-size:12px;color:var(--muted)}.slot .remaining{font-size:14px;white-space:nowrap}.slot.selected{border-color:var(--green);background:#e7eddf;box-shadow:inset 3px 0 var(--green)}.slot:disabled{color:#899184;background:#eeeede}.slot:disabled .remaining{color:#818877}.primary{display:block;width:100%;background:var(--green);color:#fffdf3;border-radius:3px;min-height:51px;padding:11px 18px;font-size:16px;letter-spacing:.06em}.primary:disabled{background:#d5d9cd;color:#677368}.secondary{display:block;width:100%;border:1px solid #91a28d;border-radius:3px;min-height:49px;padding:10px 18px;font-size:15px;margin-top:12px}.action{margin-top:25px}.note{font-size:12px;color:var(--muted);line-height:1.9;margin-top:13px}.details{margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.details h3{font:17px var(--serif);margin-bottom:8px}.details p{font-size:14px;color:var(--muted);line-height:1.9}.booking-summary{background:#e8eddf;padding:18px 20px;margin:22px 0}.booking-summary h3{font:22px var(--serif);margin-bottom:8px}.booking-summary p{font-size:14px;color:#566651;line-height:1.9}.form-label{display:block;font-size:15px;margin:22px 0 8px}.input{display:block;width:100%;min-height:50px;border:1px solid #bec7b8;background:#faf8f0;border-radius:3px;padding:10px 13px;color:var(--ink)}.input::placeholder{color:#899083;font-size:14px}.counter{display:flex;align-items:center;width:100%;border:1px solid #bec7b8;background:#faf8f0;border-radius:3px}.counter button{width:54px;min-height:49px;font-size:23px}.counter input{width:100%;min-width:0;border:0;background:none;text-align:center;font-size:20px;color:var(--ink);appearance:textfield}.counter input::-webkit-inner-spin-button{appearance:none}.error{font-size:14px;color:var(--red);margin-top:15px}.form-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:15px}.form-total strong{color:var(--green);font-weight:500}.success-heading{text-align:center;padding:12px 0 25px}.success-symbol{border:1px solid #839976;color:var(--green);height:51px;width:51px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;font-size:25px}.success-heading h1{font:29px var(--serif);letter-spacing:.1em}.success-heading p{font-size:14px;color:var(--muted);margin-top:10px}.ticket{border:1px solid #becab7;background:#faf8f0;position:relative;padding:23px}.ticket-top{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.ticket h2{font:23px var(--serif)}.badge{background:#e2ead9;padding:3px 8px;font-size:12px;white-space:nowrap}.ticket dl{margin:19px 0 0;display:grid;grid-template-columns:70px 1fr;gap:12px;font-size:14px}.ticket dt{color:var(--muted)}.ticket dd{margin:0;text-align:right;overflow-wrap:anywhere}.ticket-number{margin-top:21px;padding-top:14px;border-top:1px dashed var(--line);font-size:11px;letter-spacing:.08em;color:var(--muted);display:flex;justify-content:space-between}.cancel{display:block;margin:21px auto 0;color:var(--red);font-size:14px;text-decoration:underline;text-underline-offset:5px;padding:8px}.center{text-align:center}.empty{padding:27px 18px;background:#ebeede;text-align:center;font-size:14px;color:var(--muted)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:26px;max-width:calc(100vw - 38px);width:370px;box-shadow:0 20px 90px #182a3240}dialog::backdrop{background:#18322465;backdrop-filter:blur(3px)}dialog h2{font:24px var(--serif);margin-bottom:15px}dialog p{font-size:14px;line-height:1.9;color:var(--muted)}dialog .primary{margin-top:22px}dialog select{width:100%;padding:10px;background:#faf8f0;border:1px solid var(--line);margin-top:16px;color:var(--ink)}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);max-width:90vw;width:max-content;background:#2f463ded;color:#fff;padding:12px 20px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s;font-size:14px;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}.manual-link{word-break:break-all;font-size:12px;padding:10px;background:#e7ece1;margin-top:12px}.scenario{font-size:12px;margin-top:12px;color:var(--ochre)}@media(min-width:1000px){.phone{border:1px solid #d5d9cc;border-radius:6px}.phone header{background:#f4f1e9}}@media(max-width:999px){.layout{display:block;padding:0;max-width:520px}.intro{display:none}.phone{min-height:calc(100dvh - 36px);box-shadow:none}.prototype{padding:5px 16px;font-size:11px}.prototype button{font-size:11px}header{height:79px;padding:0 23px}.content{padding:22px 23px 30px}.hero{padding:24px 23px;min-height:192px}footer{padding-left:23px;padding-right:23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:350px){.content{padding-left:16px;padding-right:16px}.slot strong{font-size:16px}.meta{gap:7px}.brand{font-size:21px}.header-label{font-size:11px}.prototype{padding-left:10px;padding-right:10px}}

.project-english{text-transform:none}

.occupancy{display:block;margin-top:5px;font-size:14px;color:var(--muted)}.occupancy b{font-weight:600;color:var(--ink)}.slot .remaining{padding:5px 9px;background:var(--pale);border-radius:3px;color:var(--green);font-weight:500}.slot:disabled .remaining{background:#e3e5da;color:#697064}
