@font-face{font-family:BookCaslon;src:url("/assets/LibreCaslonDisplay-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:BookItalic;src:url("/assets/fonts/cormorant-garamond-latin-italic.woff2") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
.page-book-v7 {--bk-paper:#f4eee3;--bk-ink:#27211f;--bk-mid:#5f554e;--bk-line:#c8bcad;--bk-accent:#814732;--bk-serif:BookCaslon,"Songti SC","Noto Serif CJK SC",Georgia,serif;--bk-sans:Arial,"PingFang SC","Microsoft YaHei",sans-serif;--bk-edge:clamp(22px,4.5vw,74px);background:var(--bk-paper);color:var(--bk-ink)}
.bk-main{width:auto;max-width:none;margin:0;color:var(--bk-ink);font-family:var(--bk-sans);}
.bk-main *, .bk-main *::before,.bk-main *::after {box-sizing:border-box;}
.bk-main [hidden]{display:none!important}
.page-book-v7 :is(#booking-calendar,#calendar-selected){scroll-margin-top:24px}
.bk-desk{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);grid-template-areas:"print service";max-width:1800px;margin:0 auto;padding:clamp(38px,4vw,76px) var(--bk-edge) clamp(45px,5.5vw,95px);gap:clamp(38px,5.5vw,110px);align-items:start;}
.bk-ticket{grid-area:service;min-width:0}
.bk-opening{margin:0 0 19px}
.bk-running,.bk-tag,.bk-selected>.warm-eyebrow,.bk-plate{color:var(--bk-mid);font:500 10px/1.4 var(--bk-sans);letter-spacing:.15em}
.bk-running{display:flex;align-items:center;gap:11px;margin:0}
.bk-running i,.bk-plate i{display:block;width:25px;height:1px;background:#9f8c7d}
.bk-opening h1{color:var(--bk-ink);font:400 clamp(52px,5.15vw,91px)/.99 var(--bk-serif);letter-spacing:-.055em;margin:clamp(15px,1.65vw,27px) 0 0}
html[lang=zh] .bk-opening h1,html[lang=zh-CN] .bk-opening h1{line-height:1.15;font-size:clamp(43px,4.3vw,74px);letter-spacing:-.065em}
.bk-print{grid-area:print;min-width:0;margin:0;padding:clamp(12px,1.75vw,34px);background:#271f21;color:#f7f0e6;align-self:start}
.bk-photo{height:clamp(350px,min(42vw,calc(100svh - 268px)),680px);width:100%;display:block;overflow:hidden}
.bk-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.bk-print figcaption{display:block;padding:17px 0 1px;margin:0;color:#e8d6c8;}
.bk-plate{display:flex;align-items:center;gap:9px;color:#dfcbbd;font-size:9px;letter-spacing:.12em}
.bk-plate b{font-weight:400;color:#efc5ad}
.bk-caption{margin-top:14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}
.bk-print-label{font:500 11px/1.35 var(--bk-sans);color:#dac7bd}
.bk-caption p{font:400 clamp(25px,2.1vw,39px)/1.1 var(--bk-serif);letter-spacing:-.038em;margin:5px 0 0;color:#fff4e8}
.bk-caption a{color:#f8e6d6;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font:500 12px/1.4 var(--bk-sans)}
.bk-reference{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;padding:7px 0;margin:12px 0 18px;border-block:1px solid var(--bk-line);font:400 12px/1.35 var(--bk-sans)}
.bk-reference p{margin:0;color:var(--bk-mid);font:inherit;}
.bk-reference strong{font-weight:600;color:var(--bk-ink)}.bk-reference .actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 0 auto;}
.bk-reference a,.bk-reference button{appearance:none;border:0;background:none;color:var(--bk-accent);min-height:44px;padding:0;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px;font:500 12px/1.3 var(--bk-sans);cursor:pointer}
.bk-selection{display:block;margin:0;padding:0;grid-area:auto;min-width:0}
.bk-service{border-top:1px solid var(--bk-ink);margin:0;}
.bk-reference:not([hidden])+.bk-selection .bk-service{border-top:0}
.bk-selected{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:7px 10px;padding:16px 0 12px}
.bk-selected>.warm-eyebrow{grid-column:1/-1;text-transform:uppercase;color:var(--bk-accent);margin:0}
.bk-selected h2{font:400 clamp(25px,2.25vw,40px)/1.1 var(--bk-serif);letter-spacing:-.035em;margin:0;overflow-wrap:anywhere;color:var(--bk-ink)}
.bk-selected .warm-change{appearance:none;padding:8px 0;border:0;background:transparent;color:var(--bk-accent);text-decoration:underline;text-underline-offset:4px;font:500 13px/1.4 var(--bk-sans);cursor:pointer}
.bk-main .bk-service [data-warm-options]{margin:0}
.bk-service fieldset{display:block;min-width:0;margin:0;padding:0;border:0;}
.bk-service label.booking-option {position:relative;display:grid;grid-template-columns:17px minmax(0,1fr) auto;gap:3px 13px;align-items:center;padding:10px 2px;text-align:left;border:0;border-top:1px solid var(--bk-line);border-radius:0;box-shadow:none;background:transparent;cursor:pointer;font-family:var(--bk-sans);}
.bk-service label.booking-option:last-child{border-bottom:1px solid var(--bk-line);}
.bk-service label.booking-option:hover,.bk-service label.booking-option:has(input:checked){background:#ece2d4;}
.bk-service label.booking-option:focus-within{outline:2px solid var(--bk-accent);outline-offset:1px}
.bk-service .booking-option input[type=radio]{position:static;grid-area:1/1/3/2;appearance:auto;opacity:1;width:15px;height:15px;min-width:0;min-height:0;margin:0;accent-color:#874b39;clip-path:none}
.bk-service .booking-option .option-title{grid-area:1/2;display:block;font:400 clamp(17px,1.3vw,22px)/1.18 var(--bk-serif);letter-spacing:-.025em;color:var(--bk-ink);margin:0}
.bk-service .booking-option .option-price{grid-area:1/3;white-space:nowrap;font:400 18px/1 var(--bk-serif);color:var(--bk-ink);letter-spacing:-.015em;margin:0}
.bk-service .booking-option .option-body{grid-area:2/2/3/4;font:400 12px/1.45 var(--bk-sans);color:var(--bk-mid);margin:0}
.bk-service .booking-payment,.bk-inclusions p{color:var(--bk-ink);font:400 clamp(14px,1.02vw,18px)/1.55 var(--bk-sans);min-height:0;max-width:58ch;margin:0 0 5px}
.bk-desk[data-chosen=""] .booking-payment{margin:9px 0 0;font-size:13px;color:var(--bk-mid)}
.bk-inclusions p{color:var(--bk-mid);font-size:14px;}
.bk-collections {display:grid;grid-template-columns:.87fr 1.13fr;gap:13px;margin:12px 0 0}
.bk-collections>div {padding-top:8px;border-top:1px solid var(--bk-line);}
.bk-collections dt {font:400 clamp(32px,2.55vw,48px)/1 var(--bk-serif);letter-spacing:-.045em;color:var(--bk-ink)}
.bk-collections dt small {font:500 11px/1 var(--bk-sans);vertical-align:top;display:inline-block;margin:4px 3px 0 0;letter-spacing:0}
.bk-collections dd {font:400 12px/1.35 var(--bk-sans);margin:4px 0 0;color:var(--bk-mid)}
.bk-calendar{margin:19px 0 0!important;padding:0}
.bk-calendar #calendar-selected,.bk-calendar #calendar-empty{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;border-radius:0;border:1px solid var(--bk-ink);padding:0 19px;color:#fff6e9;background:var(--bk-ink);font:600 14px/1.3 var(--bk-sans);letter-spacing:0}
.bk-calendar #calendar-selected:hover{background:#503029}
.bk-calendar #calendar-empty{border-color:var(--bk-line);color:#6e6358;background:#e6ddd0;cursor:default}
.bk-calendar .bk-calendar-note,.bk-calendar .bk-preview-note{font:400 12px/1.5 var(--bk-sans);color:var(--bk-mid);max-width:55ch;margin:9px 0 0}
.bk-calendar .bk-preview-note{color:var(--bk-accent);margin:5px 0}
.bk-dossier{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);align-items:start;gap:clamp(32px,7vw,140px);max-width:1800px;margin:0 auto;border-top:1px solid var(--bk-line);padding:clamp(40px,5vw,90px) var(--bk-edge);background:#ebe3d6}
.bk-dossier .bk-tag{margin:0 0 19px;color:var(--bk-accent);text-transform:uppercase}
.bk-dossier h2{font:400 clamp(39px,4.6vw,82px)/1.04 var(--bk-serif);letter-spacing:-.05em;color:var(--bk-ink);margin:0 0 16px}
.bk-aside [data-block=taxes_extras] p{margin:0;max-width:39ch;font:400 14px/1.6 var(--bk-sans);color:var(--bk-mid)}
.bk-terms{min-width:0}.bk-condition{margin:0;padding:0}
.bk-detail{border-top:1px solid #b7a99a;color:var(--bk-ink);padding:0;margin:0;background:transparent}
.bk-detail:last-of-type{border-bottom:1px solid #b7a99a}
.bk-detail summary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:55px;padding:9px 0;cursor:pointer;list-style:none;font:400 clamp(19px,1.55vw,26px)/1.28 var(--bk-serif);color:var(--bk-ink);}
.bk-detail summary::-webkit-details-marker{display:none}.bk-detail summary:after{content:"+";font:400 18px/1 var(--bk-sans);color:var(--bk-accent)}.bk-detail[open]>summary:after{content:"−"}
.bk-detail-copy{padding:0 0 17px;max-width:75ch;font:400 14px/1.6 var(--bk-sans)}
.bk-detail-copy p,.bk-detail-copy li,.bk-detail-copy .notice{font:inherit;max-width:none;color:var(--bk-mid);margin:8px 0}
.bk-detail-copy .actions{gap:18px;margin:8px 0;display:flex;flex-wrap:wrap}
.bk-detail-copy a{color:var(--bk-accent);text-decoration:underline;text-underline-offset:4px}
.bk-detail-copy ol{padding-left:22px}
.page-book-v7 .r2-continuation{max-width:1000px;margin:auto;padding:0 var(--bk-edge)}
.bk-main :is(button,a,summary,input):focus-visible{outline:2px solid #a2573c;outline-offset:3px}
@media(max-width:960px) and (min-width:761px){.bk-desk{grid-template-columns:38fr 62fr;gap:26px;}.bk-photo{height:350px}.bk-opening h1{font-size:51px}.bk-selected h2{font-size:28px}}
@media(max-width:760px){
 .bk-desk{display:flex;flex-direction:column;gap:30px;padding:25px var(--bk-edge) 33px;}
 .bk-ticket,.bk-print{width:100%}.bk-opening{margin-bottom:16px}
 .bk-opening h1{font-size:clamp(48px,12vw,76px);margin-top:16px}
 html[lang=zh] .bk-opening h1,html[lang=zh-CN] .bk-opening h1{font-size:clamp(39px,10.4vw,59px)}
 .bk-selected{padding:14px 0 10px}
 .bk-reference{gap:0 7px;margin:10px 0 9px;padding:3px 0}
 .bk-reference .actions{gap:10px}
 .bk-reference button,.bk-reference a{min-height:44px}
 .bk-service .booking-payment,.bk-inclusions p{font-size:14px;line-height:1.5}
 .bk-inclusions p{margin-top:5px}
 .bk-service .booking-option .option-body{font-size:11px}
 .bk-calendar{margin-top:16px!important}
 .bk-collections{margin-top:9px;gap:10px}.bk-collections dt{font-size:30px}.bk-collections dd{font-size:11.5px}
 .bk-selection .bk-selected:has(+[hidden]){padding-bottom:7px}
 .bk-print{padding:14px;}
 .bk-photo{height:clamp(220px,78vw,404px)}
 .bk-print figcaption{padding-top:12px}
 .bk-caption{margin-top:6px}
 .bk-dossier{grid-template-columns:1fr;gap:23px;padding:37px var(--bk-edge)}
 .bk-dossier h2{font-size:41px;}
 .bk-detail summary{min-height:50px}
}
@media(max-width:365px){.page-book-v7{--bk-edge:15px}.bk-selected h2{font-size:23px}.bk-selected .warm-change{font-size:12px}.bk-reference .actions{margin-left:0}.bk-service label.booking-option{gap:2px 8px;padding:7px 0}}

.bk-selected .warm-change{min-height:44px}
