/* 澄隐 V2 · 全站共用层：页头、手机菜单、页脚联系、安静常驻的咨询路径、占位符。
   最后加载，覆盖 site / chapters / cinematic-inner 的同名规则。 */
:root{--amber:#baa382;--earth:#4f3d31;--deep:#1e2e28;--ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-padding-top:104px}
::selection{background:#baa38259}

/* —— 页头：手机端常驻「预约咨询」，不必先打开菜单 —— */
.header-book{display:none}
.nav-book{transition:background .3s,color .3s,border-color .3s}
.nav-book:hover{background:var(--pine);border-color:var(--pine);color:var(--paper)!important}
.nav a:not(.nav-book){position:relative}
.nav a:not(.nav-book):after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:not(.nav-book):hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}
.nav a[aria-current=page]{text-decoration:none!important}

@media(max-width:960px){
 .header-inner{gap:14px}
 .header-book{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;margin-left:auto;border:1px solid currentColor;font-size:14px;white-space:nowrap}
 .menu-toggle{min-width:56px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px}
 .menu-toggle:before{content:"";width:18px;height:7px;border-block:1px solid currentColor;transition:height .3s}
 .menu-open .menu-toggle:before{height:1px;border-bottom:0}
 /* 菜单：整屏纸面，宋体大字，下方是预约入口 */
 .nav{position:fixed!important;top:72px!important;left:0;right:0;bottom:0;max-height:none!important;padding:28px 28px 40px!important;background:var(--paper)!important;color:var(--ink)!important;border:0!important;overflow:auto}
 .nav.is-open{display:flex;animation:menu-in .35s var(--ease) both}
 .nav a{font:24px/1.6 var(--serif)!important;min-height:64px!important;display:flex;align-items:center;border-bottom:1px solid var(--line)!important;color:var(--ink)!important}
 .nav a:not(.nav-book):after{display:none}
 .nav a[aria-current=page]{color:var(--accent)!important}
 .nav .nav-book{margin-top:auto!important;justify-content:center;font:16px/1.5 var(--sans)!important;min-height:54px!important;border:1px solid var(--pine)!important;background:var(--pine)!important;color:var(--paper)!important}
 .menu-open .header{background:var(--paper)!important;color:var(--ink)!important}
 .menu-open .header-inner{border-color:var(--line)!important}
 .menu-open .header-book{visibility:hidden}
 .menu-open .quiet-ask{display:none}
}
@keyframes menu-in{from{opacity:0}to{opacity:1}}
@media(max-width:380px){.header-book{padding-inline:11px;font-size:13px}.brand-name{font-size:27px!important}}

/* —— 页脚：加入联系一栏 —— */
.footer{background:var(--paper)}
.footer-top{grid-template-columns:1.4fr 1fr 1fr 1.25fr!important}
.footer-contact h2{font:15px/1.6 var(--sans);color:var(--ink);margin-bottom:12px}
.footer-contact dl{margin:0;display:grid;gap:8px;font-size:14px}
.footer-contact dl div{display:grid;grid-template-columns:4.5em 1fr;gap:8px}
.footer-contact dt{color:var(--muted)}
.footer-contact dd{margin:0;color:var(--ink)}
.footer-contact .text-link{margin-top:10px;font-size:14px}
.wechat-qr{margin:10px 0 0;display:grid;gap:6px;justify-items:start}.wechat-qr img{width:112px;height:112px;background:#fff;padding:6px;border:1px solid var(--line,#ddd)}.wechat-qr figcaption{font-size:13px;color:var(--muted)}
@media(max-width:960px){.footer-top{grid-template-columns:1fr 1fr!important}.footer-top>div:first-child,.footer-contact{grid-column:1/-1}}

/* —— 占位符：待创始人提供的真实信息，醒目可查，上线前必须全部替换 —— */
.ph{display:inline-block;padding:0 6px;border:1px dashed var(--amber);background:#baa3821f;color:var(--earth);font-size:.92em;line-height:1.7}
.on-dark .ph,.cine-over-dark .quiet-ask .ph{color:var(--paper)}

/* —— 安静常驻的咨询路径：滚过首屏后从底部出现，到邀请区/页脚/联系页时自动退下，可关闭 —— */
.quiet-ask{position:fixed;z-index:38;left:50%;bottom:22px;transform:translate(-50%,calc(100% + 40px));display:flex;align-items:center;gap:22px;padding:10px 10px 10px 24px;max-width:calc(100vw - 32px);background:#f6f1e9f2;color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 40px #1e2e281f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .6s var(--ease),opacity .4s;opacity:0;pointer-events:none}
.quiet-ask.is-shown{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.quiet-ask p{margin:0;font-size:14px;color:var(--ink);white-space:nowrap}
.quiet-ask a{display:inline-flex;align-items:center;min-height:42px;padding:6px 20px;background:var(--pine);color:var(--paper);font-size:14px;white-space:nowrap;transition:background .3s}
.quiet-ask a:hover{background:var(--deep)}
.quiet-ask button{border:0;background:none;color:var(--muted);min-width:40px;min-height:40px;font-size:20px;line-height:1}
.quiet-ask button:hover{color:var(--ink)}
@media(max-width:640px){.quiet-ask{left:12px;right:12px;bottom:12px;transform:translateY(calc(100% + 30px));padding-left:16px;gap:10px}.quiet-ask.is-shown{transform:none}.quiet-ask p{white-space:normal;font-size:13px;line-height:1.6;flex:1}.quiet-ask a{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.quiet-ask{transition:none}.nav.is-open{animation:none}}

/* —— 键盘焦点 —— */
:focus-visible{outline-color:var(--amber)!important}

/* ===== 第二阶段（2026-10-06）：内页与首页同一套交互 ===== */
/* 页头高度即锚点留白：跳转后标题紧贴页头下沿，不再露出上一段的一条边 */
html:not(.cinematic-document){scroll-padding-top:88px}
@media(max-width:960px){html:not(.cinematic-document){scroll-padding-top:72px}}
.cinematic-inner .chapter-anchor{scroll-margin-top:0}
/* 首屏不再有无限「呼吸」缩放：画面只随滚动推进 */
.chapter-image picture,.season-backdrop picture,
.cinematic-inner .chapter-image picture,.cinematic-inner .season-backdrop picture{animation:none!important}
.cinematic-inner .chapter-image img,.cinematic-inner .season-backdrop img{transform:scale(1.035)}
.cinematic-inner .chapter-stage:before,.cinematic-inner .season-stage:before{transform:none}
/* 减少动态效果：直接给终态，四时切换也不做转场 */
.is-reduced .season-backdrop,.is-reduced .inner-season-leaving{animation:none!important}
.is-reduced .inner-frame>picture{clip-path:none}
.is-reduced .inner-frame>picture>img{transform:none}

/* ===== 第二阶段：预约咨询表单 ===== */
.page-contact [hidden]{display:none!important}
.ask-form{display:grid;gap:44px}
.ask-form .actions{margin-top:0}
.ask-form>.status{margin-top:-26px}
.ask-form .status.error:empty{display:none}
.ask-step{border:0;margin:0;padding:0;min-width:0}
.ask-step>legend,.ask-step>label,.ask-step>summary{display:flex;align-items:baseline;gap:12px;font:22px/1.5 var(--serif);color:var(--ink);margin-bottom:18px;padding:0}
.ask-no{font:15px/1 var(--serif);color:var(--accent);min-width:1.2em}
.ask-optional{margin-left:auto;font:13px/1.5 var(--sans);color:var(--muted)}
.choice-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{position:relative;display:grid;gap:4px;min-height:96px;padding:18px 20px 18px 50px;border:1px solid var(--line);background:#fbf8f3;cursor:pointer;transition:border-color .25s,background .25s}
.choice:hover{border-color:#b9ac98}
.choice input{position:absolute;left:20px;top:22px;margin:0;width:18px;height:18px;accent-color:var(--pine)}
.choice-title{font-size:16px;color:var(--ink)}
.choice-note{font-size:13px;line-height:1.7;color:var(--muted)}
.choice:has(input:checked){border-color:var(--pine);background:var(--paper);box-shadow:inset 0 0 0 1px var(--pine)}
.choice:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:3px}
.ask-step.field textarea{min-height:132px}
.ask-count{margin:8px 0 0;font-size:13px;color:var(--muted);text-align:right;min-height:1.5em}
.ask-form .inquiry-details{margin-top:0;padding:18px 0}
.ask-form .inquiry-details>summary{margin:0;min-height:48px;align-items:center;list-style:none;cursor:pointer}
.ask-form .inquiry-details>summary::-webkit-details-marker{display:none}
.ask-form .inquiry-details>summary:after{content:"+";font:22px/1 var(--sans);color:var(--muted);margin-left:14px;transition:transform .3s var(--ease)}
.ask-form .inquiry-details[open]>summary:after{transform:rotate(45deg)}
.ask-form .inquiry-details>summary .ask-optional{margin-left:auto}
.ask-field-error{margin:-10px 0 0;font-size:13px;color:#9b4a32}
.ask-field-error:empty{display:none}
.field input[aria-invalid=true]{border-color:#9b4a32;box-shadow:inset 0 0 0 1px #9b4a32}
.ask-form .status.error{margin:0;padding:12px 16px;border-left:2px solid #9b4a32;background:#9b4a3214;color:#9b4a32}
/* 结果 */
.inquiry-result{margin-top:0;padding:34px 34px 30px;background:var(--stone);border-top:2px solid var(--pine)}
.ask-result-kicker{margin:0 0 8px;font-size:13px;letter-spacing:.08em;color:var(--accent)}
.inquiry-result h3{font:28px/1.5 var(--serif)}
.inquiry-result h3:focus{outline:none}
.inquiry-result textarea{min-height:300px}
.ask-next{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.ask-next h4{font:18px/1.5 var(--serif);margin:0 0 8px;color:var(--ink)}
.ask-next p{margin:0;font-size:14px;line-height:1.9}
.ask-next dl{margin:0;display:grid;gap:10px;font-size:15px}
.ask-next dl div{display:grid;grid-template-columns:5em 1fr;gap:8px;align-items:center}
.ask-next dt{color:var(--muted)}
.ask-next dd{margin:0}
.ask-inline{margin-left:10px;background:none;border:0;border-bottom:1px solid currentColor;padding:0;min-height:32px;font-size:14px;color:var(--pine);cursor:pointer}
@media(max-width:640px){
 .ask-form{gap:36px}
 .choice-group{grid-template-columns:1fr}
 .choice{min-height:0;padding:16px 16px 16px 46px}
 .choice input{left:16px;top:19px}
 .ask-step>legend,.ask-step>label,.ask-step>summary{font-size:20px}
 .inquiry-result{padding:24px 18px}
 .inquiry-result .actions .button{flex:1 1 40%}
}
.ask-availability{margin-bottom:44px}
.ask-no{font-size:17px}
.contact-aside section{scroll-margin-top:32px}

/* 方案页：每日路线与包含清单 */
.journey .journey-route{margin:0 0 4px;font-size:14px;color:var(--muted)}
.plain-list{margin:0;padding-left:1.2em;display:grid;gap:4px}
.plain-list li{line-height:1.7}
/* 2026-11-01 排版：页脚二维码并排；方案页「怎样预订」的小程序码放在正文列；手机上影像名称紧跟自己的图 */
.contact-qrs{display:flex;flex-wrap:wrap;gap:12px 16px;margin:14px 0 4px}
.contact-qrs .wechat-qr{margin:0;width:112px}
.contact-qrs .wechat-qr figcaption{white-space:nowrap}
.row-body [data-mp-entry] .wechat-qr{margin-top:16px}
@media(max-width:760px){.cinematic-inner.chapter-page .gallery-grid{row-gap:64px}.cinematic-inner.chapter-page .gallery-item figcaption{padding-top:6px}.cinematic-inner.chapter-page .gallery-item .caption{padding-top:0;font-size:20px;line-height:1.5}}

/* 咨询表单（2026-11-04 简化）：选项点选、人数加减 */
.ask-label{margin:0 0 10px;font-size:14px;color:var(--muted)}
.ask-label+.chip-group{margin-bottom:22px}
.chip-group{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);background:#fbf8f3;font-size:15px;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.chip:hover{border-color:#b9ac98}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip:has(input:checked){border-color:var(--pine);background:var(--pine);color:#f6f1e9}
.chip:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:3px}
.stepper{display:flex;align-items:stretch;max-width:200px;border:1px solid var(--line);background:#fbf8f3}
.stepper button{flex:none;width:48px;min-height:48px;border:0;background:none;font-size:20px;color:var(--pine);cursor:pointer}
.stepper button:hover{background:var(--stone)}
.stepper input{flex:1;min-width:0;border:0;background:none;text-align:center;font-size:17px;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ask-hint{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--muted)}
.ask-other{margin-top:18px}
.field label .ask-optional{margin-left:8px}
.ask-form .ask-alt{margin-top:-18px;font-size:13px;line-height:1.9;color:var(--muted)}
.ask-alt .ask-inline{margin:0 2px;font-size:13px;min-height:0}
.ask-step>label.ask-consent{display:block;margin:22px 0 0;font:14px/1.8 var(--sans);color:var(--muted)}
.ask-step>label.ask-consent input{width:auto;min-height:0;margin:0 6px 0 0;vertical-align:-2px;accent-color:var(--pine)}
@media(max-width:640px){.chip{padding:0 14px;font-size:14px}.stepper{max-width:none}}

/* 订单进度（2026-11-04） */
.progress-link{margin:18px 0 22px;padding:18px 20px;background:var(--paper);border-left:2px solid var(--pine)}
.progress-link p{margin:0 0 10px;font-size:14px;line-height:1.8}
.progress-link-row{display:flex;gap:10px;flex-wrap:wrap}
.progress-link-row input{flex:1 1 260px;min-width:0;font-size:13px}
.progress-link-mp{display:flex;gap:14px;align-items:center;margin-top:14px!important;color:var(--muted)}
.progress-link-mp img{flex:none;width:96px;height:96px}
.progress-stage{padding:28px 30px;background:var(--stone);border-top:2px solid var(--pine);margin-bottom:28px}
.progress-stage h2{font:26px/1.5 var(--serif);margin:0 0 6px}
.progress-facts{display:grid;gap:10px;margin:0 0 28px;font-size:15px}
.progress-facts div{display:grid;grid-template-columns:5em 1fr;gap:10px}
.progress-facts dt{color:var(--muted)}
.progress-facts dd{margin:0}
.progress-pay h3,.progress-itinerary h3,.progress-mp h3{font:20px/1.5 var(--serif);margin:0 0 12px}
.progress-day{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.progress-day h4{font:16px/1.6 var(--serif);margin:0 0 8px}
.progress-day ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.progress-day li{display:grid;grid-template-columns:7.5em 1fr;gap:4px 12px;font-size:15px}
.progress-day small{grid-column:2;color:var(--muted);font-size:13px;line-height:1.7}
.progress-time{color:var(--muted);font-size:14px}
.progress-mp{display:flex;gap:18px;align-items:center;margin:36px 0 18px;padding-top:24px;border-top:1px solid var(--line)}
.progress-mp img{flex:none;width:120px;height:120px}
.progress-mp p{margin:0;font-size:14px;line-height:1.8}
.progress-privacy{font-size:13px}
.progress-pay{margin-bottom:32px}
.progress-pay .subtle{margin:0;font-size:14px}
@media(max-width:640px){.progress-stage{padding:22px 18px}.progress-day li{grid-template-columns:1fr}.progress-day small{grid-column:1}.progress-mp{align-items:flex-start}}
