:root{--paper:#f4f6f2;--paper-deep:#e8ede7;--ink:#15201d;--muted:#5c6a65;--line:#cbd4ce;--card:#fff;--night:#16211e;--clay:#b8423b;--gold:#d29a32;--teal:#35746d;--display:Georgia, "Noto Serif SC", "Songti SC", serif;--body:"PingFang SC", "Microsoft YaHei", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.program-site{background:var(--paper);min-height:100vh;overflow:hidden}.program-hero{color:#fff;background-color:var(--night);background-image:url(/home-carousel/denghuo-home-1440w.webp);background-position:50%;background-size:cover;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.program-hero:before{content:"";background:#091310c2;position:absolute;inset:0}.program-hero-copy{z-index:1;text-align:center;flex-direction:column;align-items:center;width:min(720px,100% - 40px);display:flex;position:relative}.program-seal,.program-footer-mark{color:var(--gold);font:700 45px/1 var(--display);border:2px solid;place-items:center;display:grid}.program-seal{background:#12201c61;width:110px;height:110px;margin-bottom:25px;box-shadow:0 9px 25px #0000003d}.program-kicker,.program-heading>p{color:var(--gold);letter-spacing:.18em;margin:0;font-size:13px;font-weight:800}.program-hero h1{font:700 clamp(52px, 10vw, 110px)/1 var(--display);letter-spacing:0;margin:11px 0 9px}.program-subtitle{letter-spacing:.08em;margin:0;font-size:clamp(17px,2.5vw,24px)}.program-hero-copy-text{color:#d8e2dc;max-width:450px;margin:24px 0 0;font-size:17px}.program-time{color:#bfcfc6;font:italic 13px/1.5 var(--display);letter-spacing:.11em;margin:28px 0 0}.program-scroll-cue{z-index:1;color:#d8e2dc;font:13px/1.5 var(--display);text-align:center;background:0 0;border:0;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.program-scroll-cue svg{color:var(--gold);justify-self:center;margin-top:4px}.program-section{width:min(1100px,100% - 40px);margin:0 auto;padding:clamp(64px,10vw,118px) 0}.program-heading{text-align:center;margin:0 auto 38px}.program-heading h2{font:700 clamp(32px, 5vw, 58px)/1.1 var(--display);margin:7px 0 0}.program-heading>span{max-width:640px;color:var(--muted);margin:18px auto 0;font-size:17px;display:block}.program-card{border:1px solid var(--line);background:var(--card);border-radius:6px;box-shadow:0 2px 9px #14211d0f}.program-feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.program-feature-grid article{text-align:center;min-height:218px;padding:29px}.program-feature-grid svg{color:var(--clay)}.program-feature-grid h3{font:700 22px/1.25 var(--display);margin:25px 0 7px}.program-feature-grid p{color:var(--muted);margin:0}.program-area-section{background:var(--paper-deep);width:100%;padding-left:max(20px,50vw - 550px);padding-right:max(20px,50vw - 550px)}.program-area-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.program-area-card{min-height:210px;color:var(--ink);text-align:left;padding:24px;transition:border-color .18s,box-shadow .18s,transform .18s}.program-area-card:hover,.program-area-card.is-selected{border-color:var(--clay);transform:translateY(-4px);box-shadow:0 9px 20px #14211d1f}.program-area-card>span{color:var(--clay);background:#f4e3e1;padding:2px 8px;font-size:12px;font-weight:800;display:inline-block}.program-area-card strong{font:700 27px/1.15 var(--display);margin-top:34px;display:block}.program-area-card p{color:var(--muted);margin:11px 0 0;font-size:14px}.program-mode-note{max-width:750px;color:var(--muted);text-align:center;margin:-14px auto 30px}.program-grade-grid{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.program-grade-grid article{border:1px solid var(--line);background:var(--card);border-radius:6px;min-height:116px;padding:17px}.program-grade-grid article strong{color:var(--ink);font:700 16px/1.32 var(--display);display:block}.program-grade-grid article span{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.5;display:block}.grade-s{background:#fffaf0!important;border-color:#d9b65e!important}.grade-s strong,.program-shop-title .grade-s{color:#946300!important}.grade-a{background:#fff6f5!important;border-color:#d9aaaa!important}.grade-a strong,.program-shop-title .grade-a{color:#9e3e39!important}.grade-b{background:#f6fbf9!important;border-color:#bcd1cb!important}.grade-b strong,.program-shop-title .grade-b{color:#27685f!important}.grade-c{background:#f7f8f7!important}.grade-d{background:#fff3f4!important;border-color:#aa6870!important}.grade-d strong,.program-shop-title .grade-d{color:#923a45!important}.program-list-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:44px;margin-top:36px;display:flex}.program-list-toolbar p{color:var(--muted);margin:0;font-size:14px}.program-list-toolbar button{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);border-radius:4px;padding:7px 12px;font-weight:700}.program-shop-list{gap:13px;margin-top:10px;display:grid}.program-shop-card{justify-content:space-between;align-items:center;gap:25px;min-height:172px;padding:24px;display:flex}.program-shop-main{min-width:0}.program-shop-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.program-shop-title h3{font:700 24px/1.2 var(--display);margin:0}.program-shop-title>span{border:1px solid;border-radius:3px;padding:3px 8px;font-size:12px;font-weight:800}.program-shop-main>p{color:var(--muted);margin:8px 0;font-size:14px}.program-score{color:var(--line);align-items:center;gap:2px;display:flex}.program-score .is-filled{color:var(--gold);fill:currentColor}.program-score strong{color:var(--gold);margin-left:6px;font-size:16px}.program-tags{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.program-tags span{background:var(--paper-deep);color:var(--muted);border-radius:3px;padding:2px 8px;font-size:13px}.program-route-toggle,.program-route-action{border:1px solid var(--clay);background:var(--clay);color:#fff;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:9px 13px;font-weight:800;display:inline-flex}.program-route-toggle[aria-pressed=true]{background:var(--card);color:var(--clay)}.program-empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:6px;margin:36px 0 0;padding:30px}.program-route-section{width:min(850px,100% - 40px)}.program-route-card{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:clamp(24px,5vw,44px);box-shadow:0 2px 9px #14211d0f}.program-route-card ol{gap:25px;margin:0;padding:0;list-style:none;display:grid;position:relative}.program-route-card ol:before{background:var(--line);content:"";width:1px;position:absolute;top:24px;bottom:24px;left:19px}.program-route-card li{align-items:flex-start;gap:15px;display:flex;position:relative}.program-route-card li>span,.program-route-list>div>span{background:var(--clay);color:#fff;border-radius:50%;flex:0 0 39px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.program-route-card li h3{font:700 19px/1.25 var(--display);margin:3px 0 1px}.program-route-card li p{color:var(--muted);margin:0}.program-route-empty{color:var(--muted);margin:28px 0 0}.program-route-list{border-top:1px solid var(--line);gap:7px;margin-top:32px;padding-top:24px;display:grid}.program-route-list>p{color:var(--muted);margin:0 0 4px;font-size:14px;font-weight:800}.program-route-list>div{border:1px solid var(--line);border-radius:4px;grid-template-columns:34px minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:8px;display:grid}.program-route-list>div>span{background:var(--teal);flex-basis:28px;width:28px;height:28px;font-size:13px}.program-route-list strong{font:700 16px/1.2 var(--display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.program-route-list small{color:var(--muted);grid-column:2;font-size:12px}.program-route-list button{border:1px solid var(--line);background:var(--card);width:32px;height:32px;color:var(--ink);border-radius:3px;place-items:center;display:grid}.program-route-list svg{color:var(--muted)}.program-route-action{margin-top:30px}.program-route-action:disabled{border-color:var(--line);background:var(--paper-deep);color:var(--muted);cursor:not-allowed}.program-route-share{border:1px solid var(--teal);background:var(--card);min-height:44px;color:var(--teal);border-radius:4px;justify-content:center;align-items:center;gap:6px;margin-left:9px;padding:9px 13px;font-weight:800;display:inline-flex}.program-share-message{min-height:22px;color:var(--muted);margin:9px 0 0 10px;font-size:13px;display:inline-block}.program-quotes-section{background:var(--paper-deep);width:100%;padding-left:max(20px,50vw - 550px);padding-right:max(20px,50vw - 550px)}.program-quote-grid,.program-story-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.program-quote-grid article{min-height:205px;padding:24px}.program-quote-grid b{height:36px;color:var(--gold);font:700 56px/.8 var(--display);opacity:.48;display:block}.program-quote-grid blockquote{font:700 18px/1.7 var(--display);margin:14px 0 21px}.program-quote-grid footer{align-items:center;gap:9px;display:flex}.program-quote-grid footer>span{width:30px;height:30px;color:var(--clay);background:#f4e3e1;border-radius:50%;place-items:center;font-weight:800;display:grid}.program-quote-grid footer p{margin:0}.program-quote-grid footer strong,.program-quote-grid footer small{display:block}.program-quote-grid footer small{color:var(--muted);font-size:12px}.program-story-grid article{flex-direction:column;min-height:260px;padding:25px;display:flex}.program-story-grid h3{font:700 22px/1.35 var(--display);margin:0}.program-story-grid>article>p{color:var(--muted);margin:12px 0 20px}.program-story-body{color:var(--muted)}.program-story-body p{margin:0 0 12px}.program-story-grid footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:16px;font-size:14px;display:flex}.program-story-grid footer button{min-height:38px;color:var(--clay);background:0 0;border:0;font-weight:800}.program-gallery-section{background:var(--night);color:#fff;width:100%;padding-left:max(20px,50vw - 550px);padding-right:max(20px,50vw - 550px)}.program-gallery-section .program-heading h2{color:#fff}.program-gallery-section .program-heading>span{color:#b7c6be}.program-gallery-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.program-gallery-grid figure{background:#1d302b;border-color:#476057;margin:0;overflow:hidden}.program-gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform .22s}.program-gallery-grid figure:hover img{transform:scale(1.04)}.program-gallery-grid figcaption{padding:12px}.program-gallery-grid figcaption strong,.program-gallery-grid figcaption span{display:block}.program-gallery-grid figcaption strong{font:700 16px/1.25 var(--display)}.program-gallery-grid figcaption span{color:#b7c6be;margin-top:3px;font-size:12px}.program-footer{color:#e9f0ec;background:#111a17;grid-template-columns:1fr 1.2fr 1fr;gap:34px;padding:52px max(20px,50vw - 550px);display:grid}.program-footer-mark{width:38px;height:38px;margin-bottom:13px;font-size:21px}.program-footer h2{font:700 24px/1.2 var(--display);margin:0}.program-footer p{color:#b7c6be;margin:7px 0 0;font-size:13px}.program-footer nav{flex-wrap:wrap;align-content:start;gap:9px 18px;display:flex}.program-footer nav a,.program-footer>div:last-child a{color:#d4e0d9;font-size:14px}.program-footer nav a:hover,.program-footer>div:last-child a:hover{color:var(--gold)}.program-footer>div:last-child a{text-decoration:underline}.info-page{background:var(--paper);min-height:100vh;color:var(--ink)}.info-page-header,.public-info-footer{width:min(920px,100% - 40px);margin:0 auto}.info-page-header{border-bottom:1px solid var(--line);padding:26px 0}.info-brand{align-items:center;gap:10px;display:inline-flex}.ganfan-mark{border:1px solid var(--clay);color:var(--clay);font:700 16px/1 var(--display);padding:5px 8px}.info-brand-copy strong{font:700 20px/1.1 var(--display);display:block}.info-brand-copy small{color:var(--muted);font-size:12px;display:block}.info-page-body{width:min(760px,100% - 40px);margin:0 auto;padding:68px 0}.info-page-body h1{font:700 clamp(40px, 7vw, 70px)/1 var(--display);margin:0}.info-page-body h2{font:700 26px var(--display);margin:42px 0 12px}.info-page-body p,.info-page-body li{color:var(--muted)}.info-page-body a{color:var(--clay);text-decoration:underline}.info-kicker{color:var(--clay);margin:0 0 12px;font-size:14px;font-weight:700}.info-updated{color:var(--muted);margin:16px 0 36px;font-size:14px}.public-info-footer{border-top:1px solid var(--line);color:var(--muted);padding:36px 0 48px;font-size:13px}.public-info-footer nav{flex-wrap:wrap;gap:10px 18px;margin-bottom:20px;display:flex}.public-info-footer a{color:var(--clay);text-decoration:underline}@media (max-width:800px){.program-feature-grid,.program-grade-grid,.program-area-grid{grid-template-columns:repeat(2,1fr)}.program-shop-card{padding:20px;display:grid}.program-route-toggle{justify-self:start}.program-gallery-grid{grid-template-columns:repeat(2,1fr)}.program-footer{grid-template-columns:1fr}}@media (max-width:520px){.program-hero{min-height:100svh}.program-seal{width:88px;height:88px;margin-bottom:21px;font-size:37px}.program-section{width:min(100% - 32px,1100px);padding:60px 0}.program-area-section,.program-quotes-section,.program-gallery-section{width:100%;padding-left:16px;padding-right:16px}.program-feature-grid,.program-grade-grid,.program-quote-grid,.program-story-grid{grid-template-columns:1fr}.program-feature-grid article{min-height:0}.program-area-card{min-height:175px;padding:18px}.program-area-card strong{margin-top:23px;font-size:24px}.program-grade-grid article{min-height:0}.program-shop-title h3{font-size:21px}.program-route-section{width:min(100% - 32px,850px)}.program-route-card{padding:22px 17px}.program-route-share{margin-top:9px;margin-left:0}.program-share-message{margin-left:0;display:block}.program-route-list>div{grid-template-columns:32px minmax(0,1fr) auto auto}.program-route-list>div>svg{display:none}.program-gallery-grid{gap:9px}.program-footer{padding:42px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
