:root{--silk:#fff8e8;--parchment:#f1e4c9;--paper:#ead8b5;--cinnabar:#a14331;--red:#7d2e25;--yellow:#d3aa56;--jade:#657d68;--jade-dark:#354e43;--cobalt:#294b73;--ink:#2c2119;--muted:#715e4c;--hair:rgba(76,50,31,.2);--cream:#fbf0d9}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--silk);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img,video{width:100%;height:100%;display:block;object-fit:cover}.serif{font-family:Baskerville,Georgia,"Times New Roman",serif}.cn{font-family:"Songti SC","STSong",serif}.grain{position:fixed;z-index:200;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.site{margin-left:88px}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.rail{position:fixed;z-index:100;inset:0 auto 0 0;width:88px;background:var(--red);color:#fff5da;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,242,202,.28)}.mark{width:46px;height:58px;margin-top:24px;border:1px solid #e4bd69;display:grid;place-items:center;font:700 1.35rem "Songti SC",serif;position:relative}.mark:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,236,187,.35)}.rail-nav{margin:auto;display:flex;gap:28px;align-items:center;writing-mode:vertical-rl;font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.rail-nav a{opacity:.68;transition:.25s}.rail-nav a:hover,.rail-nav a.active{opacity:1;color:#ffe098}.reserve-tab{writing-mode:vertical-rl;padding:18px 0;width:100%;min-height:155px;display:grid;place-items:center;background:var(--yellow);color:var(--ink);font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.menu-toggle{display:none}
.hero{height:100svh;min-height:720px;position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}.hero-media{position:absolute;inset:0;z-index:-3}.hero-media video{filter:saturate(.84) contrast(.98)}.hero:after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(68,37,21,.6),rgba(51,30,18,.08) 56%),linear-gradient(0deg,rgba(48,26,13,.48),transparent 44%)}.hero-frame{position:absolute;inset:24px;border:1px solid rgba(255,241,198,.62);pointer-events:none}.hero-frame:before,.hero-frame:after{content:"◆";position:absolute;color:#f3ce7d;font-size:.65rem;top:-8px}.hero-frame:before{left:22%}.hero-frame:after{right:22%}.hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff9e8;padding-left:7vw;max-width:760px}.kicker{display:flex;gap:12px;align-items:center;font-size:.65rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.kicker:before{content:"";width:42px;height:1px;background:currentColor}.hero h1{font:500 clamp(5.7rem,11vw,11.5rem)/.68 Baskerville,Georgia,serif;letter-spacing:-.065em;margin:28px 0}.hero h1 em{display:block;color:#ffe0a1;font-style:italic;margin-left:1.2em}.hero-lead{max-width:540px;font-family:Baskerville,Georgia,serif;font-size:1.16rem;color:#fff2d4}.hero-actions{display:flex;gap:12px;margin-top:30px}.hero-button{min-height:51px;padding:0 25px;display:inline-flex;align-items:center;border:1px solid #f4d797;background:rgba(95,37,24,.35);backdrop-filter:blur(8px);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-button.solid{background:#f1d38e;color:#43251b}.vertical-title{position:absolute;right:4.5vw;top:12vh;display:flex;gap:10px;color:#fff1c6;writing-mode:vertical-rl}.vertical-title strong{font:600 clamp(2rem,3.2vw,3.8rem) "Songti SC",serif;letter-spacing:.18em}.vertical-title span{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;border-left:1px solid rgba(255,241,198,.55);padding-left:10px}.hero-foot{position:absolute;bottom:38px;right:4.5vw;color:#fff6dc;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase}.hero-foot:after{content:"";display:inline-block;width:70px;height:1px;background:#ffe0a1;margin-left:14px;vertical-align:middle}
.prologue{background:var(--cobalt);color:#fff6df;padding:17px 0;overflow:hidden}.prologue-track{display:flex;width:max-content;gap:46px;animation:marquee 28s linear infinite;font:500 1.05rem Baskerville,Georgia,serif;letter-spacing:.14em;text-transform:uppercase}.prologue span:after{content:"壽";font-family:"Songti SC",serif;color:#e7bd66;margin-left:46px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{position:relative;padding:125px 0}.section-label{color:var(--cinnabar);font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px}.section-label span{font:700 1rem "Songti SC",serif;margin-right:12px}.title{font:500 clamp(3.5rem,6.5vw,7rem)/.88 Baskerville,Georgia,serif;letter-spacing:-.045em}.title .cn{display:block;color:var(--cinnabar);font-size:.22em;letter-spacing:.16em;line-height:1.5;margin-top:16px}.lead{max-width:630px;color:var(--muted);font-family:Baskerville,Georgia,serif;font-size:1.12rem}.intro{background:var(--parchment);overflow:hidden}.intro:before{content:"宴";position:absolute;right:-1vw;top:-2vw;font:700 24rem/1 "Songti SC",serif;color:rgba(161,67,49,.045)}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:end}.intro-copy .lead{margin-top:28px}.imperial-note{border-left:1px solid var(--cinnabar);padding:0 0 8px 34px;position:relative}.imperial-note:before{content:"御膳";position:absolute;right:0;top:-65px;border:2px solid var(--cinnabar);color:var(--cinnabar);padding:8px 6px;font:700 .78rem "Songti SC",serif;writing-mode:vertical-rl;letter-spacing:.12em}.imperial-note blockquote{font:italic 500 clamp(2rem,3.6vw,4rem)/1.12 Baskerville,Georgia,serif}.imperial-note p{margin-top:20px;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.courses{background:var(--silk)}.course{min-height:620px;border-top:1px solid var(--hair);display:grid;grid-template-columns:90px 1fr 1fr;align-items:center;gap:60px;position:relative}.course:last-child{border-bottom:1px solid var(--hair)}.course:nth-child(even){grid-template-columns:90px 1fr 1fr}.course-index{align-self:stretch;border-right:1px solid var(--hair);display:flex;align-items:flex-start;padding-top:42px;font:500 2rem Baskerville,Georgia,serif;color:var(--cinnabar)}.course-visual{height:500px;position:relative;padding:20px}.course-visual:before{content:"";position:absolute;inset:0;border:1px solid var(--yellow);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}.course-visual img,.course-visual video{position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%)}.course-copy{padding-right:5vw}.course-copy .glyph{font:700 5rem/1 "Songti SC",serif;color:var(--cinnabar);opacity:.18}.course-copy h3{font:500 clamp(2.8rem,4.5vw,5.2rem)/.9 Baskerville,Georgia,serif;margin:-14px 0 18px}.course-copy .cn-name{color:var(--cinnabar);font:600 1rem "Songti SC",serif;letter-spacing:.15em;margin-bottom:18px}.course-copy p{color:var(--muted);max-width:430px}.text-link{display:inline-block;margin-top:25px;color:var(--cobalt);font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--cobalt);padding-bottom:5px}.course.reverse .course-visual{grid-column:3}.course.reverse .course-copy{grid-column:2;grid-row:1;padding-right:0;padding-left:3vw}
.moongate{min-height:820px;background:var(--jade-dark);color:#fff6df;position:relative;display:grid;place-items:center;overflow:hidden}.moongate-image{position:absolute;inset:0}.moongate-image img{opacity:.48;filter:saturate(.72)}.moongate-image:after{content:"";position:absolute;inset:0;background:rgba(31,57,46,.44)}.moon-window{width:min(670px,72vw);aspect-ratio:1;border-radius:50%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px;background:rgba(251,240,217,.94);color:var(--ink);border:12px double var(--yellow);box-shadow:0 0 0 999px rgba(36,62,51,.16)}.moon-window .lead{margin:23px auto}.moon-window .title{font-size:clamp(3rem,5vw,5.7rem)}
.decree{background:var(--paper);padding:100px 0}.decree-sheet{width:min(920px,calc(100% - 40px));margin:auto;background:var(--silk);padding:85px max(35px,8vw);position:relative;border-inline:12px solid var(--cinnabar);box-shadow:0 25px 70px rgba(76,45,21,.15)}.decree-sheet:before,.decree-sheet:after{content:"";position:absolute;left:-28px;right:-28px;height:21px;background:linear-gradient(90deg,var(--cobalt) 0 8%,var(--yellow) 8% 12%,var(--cinnabar) 12% 88%,var(--yellow) 88% 92%,var(--cobalt) 92%)}.decree-sheet:before{top:-10px}.decree-sheet:after{bottom:-10px}.decree-head{text-align:center}.decree-head .section-label{margin-bottom:15px}.decree-head .lead{margin:25px auto}.decree-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.button{min-height:51px;padding:0 24px;border:1px solid var(--cinnabar);background:transparent;color:var(--red);font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.button.fill{background:var(--cinnabar);color:#fff8e8}.button.jade{background:var(--jade-dark);color:#fff;border-color:var(--jade-dark)}
.page-hero{height:76svh;min-height:620px;position:relative;isolation:isolate;display:flex;align-items:end;overflow:hidden;color:#fff7df}.page-hero>img,.page-hero>video{position:absolute;inset:0;z-index:-2}.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(74,35,23,.72),rgba(58,36,19,.1)),linear-gradient(0deg,rgba(49,27,16,.6),transparent 55%)}.page-hero-copy{padding:170px 7vw 75px;max-width:960px}.page-hero .title{font-size:clamp(4.8rem,9vw,9rem)}.page-hero .title .cn{color:#ffe0a0}.crumb{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px}.crumb a{opacity:.68}.page-hero .lead{color:#fff0d0;margin-top:22px}
.menu-scroll{background:var(--parchment);padding:100px 0}.menu-heading{text-align:center;margin-bottom:55px}.menu-heading .lead{margin:20px auto}.menu-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-top:28px}.menu-filter button{border:0;border-bottom:1px solid var(--hair);background:transparent;padding:9px 18px;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.menu-filter button.active{color:var(--cinnabar);border-color:var(--cinnabar)}.menu-chapter{display:grid;grid-template-columns:150px 1fr;max-width:980px;margin:auto;border-top:1px solid var(--hair)}.chapter-name{padding:34px 25px 34px 0;border-right:1px solid var(--hair);color:var(--cinnabar);font:600 1rem "Songti SC",serif;writing-mode:vertical-rl;letter-spacing:.15em}.menu-list{padding:15px 0 20px 45px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:19px 0;border-bottom:1px dotted rgba(76,50,31,.28)}.menu-item h3{font:500 1.55rem Baskerville,Georgia,serif}.menu-item .price{color:var(--cinnabar);font:500 1.2rem Baskerville,Georgia,serif}.menu-item p{grid-column:1/-1;color:var(--muted);font-size:.78rem}.menu-item[hidden]{display:none}.menu-chapter:has(.menu-item:not([hidden])){display:grid}.menu-chapter:not(:has(.menu-item:not([hidden]))){display:none}
.screen{display:grid;grid-template-columns:repeat(3,1fr);min-height:650px}.screen-panel{position:relative;overflow:hidden;border-right:1px solid #ead08d;color:#fff8e8;padding:55px 34px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}.screen-panel img{position:absolute;inset:0;z-index:-2;transition:transform .8s}.screen-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(82,34,23,.9),rgba(79,45,23,.05) 72%)}.screen-panel:hover img{transform:scale(1.05)}.screen-panel .number{font:500 3rem Baskerville,Georgia,serif;color:#f4cd7b}.screen-panel h3{font:500 2.6rem/1 Baskerville,Georgia,serif;margin:8px 0}.screen-panel p{font-size:.8rem;color:#f5e1c0}.screen-panel .text-link{color:#ffe09b;border-color:#ffe09b}
.story-ribbon{display:grid;grid-template-columns:1.15fr .85fr;min-height:670px}.story-art{position:relative;overflow:hidden}.story-art:after{content:"";position:absolute;inset:0;border:22px solid rgba(255,248,232,.38)}.story-copy{background:var(--cobalt);color:#fff7df;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.story-copy .section-label,.story-copy .title .cn{color:#f1cc7c}.story-copy .lead{color:#e8deca;margin-top:25px}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-details{margin-top:35px}.contact-row{padding:18px 0;border-top:1px solid var(--hair)}.contact-row small{display:block;color:var(--cinnabar);font-size:.58rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.invitation{background:var(--cream);padding:55px;position:relative;border:1px solid var(--yellow)}.invitation:before{content:"";position:absolute;inset:8px;border:1px solid rgba(161,67,49,.3);pointer-events:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{color:var(--cinnabar);font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--hair);background:transparent;padding:12px 2px;color:var(--ink);outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cinnabar)}.form-status{color:var(--jade-dark);font-size:.78rem;margin-top:14px;min-height:1.2em}
.reveal{opacity:0;transform:translateY(25px);transition:.8s}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero video,.course video{display:none}}
@media(max-width:900px){.site{margin-left:0}.rail{inset:0 0 auto;width:auto;height:76px;flex-direction:row;padding:0 18px;background:rgba(125,46,37,.95);backdrop-filter:blur(14px)}.mark{margin:0;width:40px;height:48px}.rail-nav{position:fixed;inset:76px 0 0;background:var(--silk);color:var(--ink);writing-mode:horizontal-tb;flex-direction:column;justify-content:center;transform:translateY(-120%);transition:.35s;font-size:.9rem}.rail-nav.open{transform:none}.reserve-tab{display:none}.menu-toggle{display:block;margin-left:auto;width:44px;height:44px;border:1px solid #e7bd67;background:transparent;color:#fff5dc}.intro-grid,.story-ribbon,.contact-layout{grid-template-columns:1fr}.course{grid-template-columns:55px 1fr;gap:30px;padding:55px 0}.course-index{grid-row:1/3}.course-visual,.course.reverse .course-visual{grid-column:2;height:430px}.course-copy,.course.reverse .course-copy{grid-column:2;grid-row:auto;padding:0}.screen{grid-template-columns:1fr;}.screen-panel{min-height:470px}.story-art{min-height:500px}}
@media(max-width:600px){.wrap{width:calc(100% - 30px)}.section{padding:82px 0}.hero{min-height:680px}.hero-copy{padding:120px 25px 70px}.hero h1{font-size:clamp(4.5rem,21vw,6.7rem)}.vertical-title{display:none}.hero-frame{inset:12px}.hero-actions,.decree-actions{flex-direction:column;align-items:flex-start}.intro-grid{gap:60px}.imperial-note{padding-left:20px}.course{grid-template-columns:35px 1fr;gap:18px}.course-visual,.course.reverse .course-visual{height:330px;padding:10px}.course-copy h3{font-size:2.8rem}.moon-window{width:90vw;padding:45px 30px;border-width:7px}.decree-sheet{padding:60px 28px}.menu-chapter{grid-template-columns:55px 1fr}.chapter-name{padding-right:13px}.menu-list{padding-left:20px}.story-art{min-height:390px}.story-copy{padding:70px 28px}.invitation{padding:40px 25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}

/* 3.1: horizontal palace-eave navigation */
.site{margin-left:0}.topnav{position:fixed;z-index:120;inset:0 0 auto;height:90px;padding:0 4vw;display:flex;align-items:center;color:#fff5da;border-bottom:1px solid rgba(255,241,198,.34);background:linear-gradient(180deg,rgba(78,31,24,.78),rgba(78,31,24,.12));transition:.35s}.topnav.scrolled{height:72px;background:rgba(125,46,37,.96);backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(50,24,15,.16)}.top-brand{display:flex;align-items:center;gap:14px}.top-brand .mark{margin:0;width:43px;height:53px}.top-brand strong{display:block;font:600 1.2rem "Songti SC","STSong",serif;letter-spacing:.13em}.top-brand small{display:block;color:#ead19b;font-size:.52rem;letter-spacing:.18em;margin-top:3px}.topnav-links{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:.68rem;font-weight:700;letter-spacing:.13em}.topnav-links>a:not(.top-reserve){position:relative}.topnav-links>a:not(.top-reserve):after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:#f1cf80;transition:.3s}.topnav-links>a:hover:after,.topnav-links>a.active:after{width:100%}.top-reserve{height:43px;padding:0 19px;display:inline-flex;align-items:center;border:1px solid #ebcc86;background:rgba(237,204,134,.12)}.topnav .menu-toggle{display:none}.page-hero-copy{padding-top:190px}
@media(max-width:900px){.topnav{height:74px;padding:0 18px;background:rgba(125,46,37,.96)}.topnav.scrolled{height:68px}.top-brand .mark{width:37px;height:45px}.top-brand small{display:none}.topnav-links{position:fixed;inset:74px 0 0;background:var(--silk);color:var(--ink);flex-direction:column;justify-content:center;gap:27px;transform:translateY(-120%);transition:.35s;font-size:1rem}.topnav-links.open{transform:none}.top-reserve{background:var(--cinnabar);color:#fff;border-color:var(--cinnabar)}.topnav .menu-toggle{display:block;margin-left:auto;width:44px;height:44px;border:1px solid #e7bd67;background:transparent;color:#fff5dc}.hero-copy{padding-top:145px}.page-hero-copy{padding-top:160px}}

/* 3.2: refined Chinese typography */
:root{--font-cn-display:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;--font-cn-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}
body{font-family:var(--font-cn-body);font-size:16px;letter-spacing:.012em}.cn,.serif{font-family:var(--font-cn-display)}.mark,.top-brand strong,.vertical-title strong,.section-label span,.course-copy .glyph,.chapter-name{font-family:var(--font-cn-display)}
.hero h1{font-family:var(--font-cn-display);font-size:clamp(5rem,9.7vw,9.8rem);font-weight:600;line-height:.78;letter-spacing:.01em}.hero h1 em{font-style:normal;color:#ffe0a1;margin-left:.85em}.hero-lead{font-family:var(--font-cn-display);font-size:clamp(1.08rem,1.35vw,1.28rem);line-height:1.9;letter-spacing:.055em}.kicker{font-size:.7rem;letter-spacing:.28em}.title{font-family:var(--font-cn-display);font-size:clamp(3rem,5.4vw,5.8rem);font-weight:600;line-height:1.04;letter-spacing:.015em}.title .cn{font-size:.25em;font-weight:600;letter-spacing:.2em;line-height:1.65;margin-top:15px}.lead{font-family:var(--font-cn-body);font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.95;letter-spacing:.035em}.section-label{font-size:.69rem;letter-spacing:.24em}.imperial-note blockquote{font-family:var(--font-cn-display);font-size:clamp(1.85rem,3vw,3.25rem);font-style:normal;font-weight:500;line-height:1.55;letter-spacing:.045em}.imperial-note p{font-size:.68rem}.course-copy h3{font-family:var(--font-cn-display);font-size:clamp(2.65rem,4vw,4.45rem);font-weight:600;line-height:1.12;letter-spacing:.03em}.course-copy .cn-name{font-size:.9rem;letter-spacing:.18em}.course-copy p{font-size:.92rem;line-height:1.9}.text-link,.button,.hero-button{font-family:var(--font-cn-body);font-size:.68rem;letter-spacing:.18em}.menu-item h3{font-family:var(--font-cn-display);font-size:1.42rem;font-weight:600;letter-spacing:.03em}.menu-item p{font-size:.78rem;letter-spacing:.06em}.screen-panel h3{font-family:var(--font-cn-display);font-size:2.45rem;font-weight:600;letter-spacing:.06em}.screen-panel p{font-size:.86rem;line-height:1.9}.top-brand strong{font-size:1.26rem}.top-brand small{font-family:var(--font-cn-body);font-size:.56rem}.topnav-links{font-size:.73rem;letter-spacing:.16em}

/* 3.2: grand full-screen mobile navigation */
@media(max-width:900px){
  .topnav{height:76px;padding:0 20px;background:linear-gradient(90deg,#70261f,#91392b);border-bottom-color:rgba(244,213,146,.5)}.topnav.scrolled{height:70px}.top-brand,.topnav .menu-toggle{position:relative;z-index:4}.top-brand .mark{width:38px;height:47px}.top-brand strong{font-size:1.1rem}.topnav .menu-toggle{display:grid;place-items:center;margin-left:auto;width:46px;height:46px;border:1px solid rgba(255,225,157,.7);background:rgba(255,241,204,.06);font-size:1.05rem;transition:background .25s,transform .25s}.topnav .menu-toggle:hover{background:rgba(255,225,157,.15)}body.menu-open .topnav .menu-toggle{background:var(--yellow);color:var(--red);transform:rotate(90deg)}
  .topnav-links{position:fixed;z-index:2;inset:0;padding:116px max(28px,9vw) 45px;display:flex;align-items:stretch;justify-content:center;gap:0;background:radial-gradient(circle at 76% 32%,rgba(214,176,91,.2),transparent 27%),linear-gradient(145deg,#61211c,#8d3528 56%,#563027);color:#fff4d5;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.035);transition:opacity .35s ease,transform .45s ease,visibility .35s}
  .topnav-links:before{content:"御";position:absolute;right:-5vw;top:14vh;font:700 min(62vw,28rem)/1 var(--font-cn-display);color:rgba(255,231,174,.055);pointer-events:none}.topnav-links:after{content:"";position:absolute;left:50%;top:50%;width:min(78vw,520px);aspect-ratio:1;border:1px solid rgba(233,197,115,.16);border-radius:50%;transform:translate(-50%,-43%);box-shadow:0 0 0 14px rgba(233,197,115,.025),0 0 0 28px rgba(233,197,115,.018);pointer-events:none}
  .topnav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.topnav-links>a{position:relative;z-index:1;min-height:57px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(241,211,146,.2);font:600 clamp(1.35rem,5.5vw,1.85rem) var(--font-cn-display);letter-spacing:.16em;opacity:.88;transform:translateY(16px);transition:opacity .25s,transform .4s}.topnav-links.open>a{transform:none}.topnav-links.open>a:nth-child(2){transition-delay:.04s}.topnav-links.open>a:nth-child(3){transition-delay:.08s}.topnav-links.open>a:nth-child(4){transition-delay:.12s}.topnav-links.open>a:nth-child(5){transition-delay:.16s}.topnav-links>a:not(.top-reserve):before{font:500 .58rem var(--font-cn-body);letter-spacing:.12em;color:#e4bd69}.topnav-links>a:nth-child(1):before{content:"壹"}.topnav-links>a:nth-child(2):before{content:"贰"}.topnav-links>a:nth-child(3):before{content:"叁"}.topnav-links>a:nth-child(4):before{content:"肆"}.topnav-links>a:nth-child(5):before{content:"伍"}.topnav-links>a:not(.top-reserve):after{display:none}.topnav-links>a.active{color:#ffe09b}.top-reserve{min-height:55px!important;margin-top:20px;justify-content:center!important;background:#e0b85d!important;color:#49231c!important;border:1px solid #f0d58f!important;font:700 .78rem var(--font-cn-body)!important;letter-spacing:.22em!important}.hero-copy{padding-top:150px}.page-hero-copy{padding-top:165px}
}
@media(max-width:600px){.hero h1{font-size:clamp(4.1rem,19vw,5.7rem);line-height:.84}.hero h1 em{margin-left:.45em}.hero-lead{font-size:1rem;line-height:1.85;max-width:90%}.title{font-size:clamp(2.55rem,11.5vw,3.75rem);line-height:1.12}.title .cn{font-size:.3em;line-height:1.55;letter-spacing:.14em}.section-label{font-size:.63rem}.course-copy h3{font-size:clamp(2.25rem,10vw,3rem);line-height:1.18}.course-copy p{font-size:.87rem}.moon-window .title{font-size:clamp(2.35rem,10.5vw,3.4rem)}.decree-head .title{font-size:clamp(2.4rem,10vw,3.5rem)}.screen-panel h3{font-size:2.2rem}.topnav-links{padding-inline:27px}.topnav-links>a{min-height:54px}}
@media(min-width:901px){.topnav-links{font-size:.88rem;letter-spacing:.13em;gap:32px}.topnav-links .top-reserve{font-size:.8rem;padding-inline:23px}}

/* 3.2 mobile navigation reliability and animated menu glyph */
.menu-icon{position:relative;display:block;width:20px;height:15px}.menu-icon i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transform-origin:center;border-radius:2px;transition:top .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1),opacity .2s ease}.menu-icon i:nth-child(1){top:0}.menu-icon i:nth-child(2){top:6.5px}.menu-icon i:nth-child(3){top:13px}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(1){top:6.5px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0;transform:scaleX(.35)}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(3){top:6.5px;transform:rotate(-45deg)}
@media(max-width:900px){.topnav.scrolled,.topnav.nav-open{backdrop-filter:none;-webkit-backdrop-filter:none}.topnav.nav-open{height:76px;background:linear-gradient(90deg,#70261f,#91392b)}body.menu-open .topnav .menu-toggle{transform:none}.topnav .menu-toggle{transition:background .3s ease,color .3s ease,border-color .3s ease}}

/* 3.2 modern mobile menu trigger */
.menu-label{display:none}.menu-icon i:nth-child(3){display:none}
@media(max-width:900px){
  .topnav .menu-toggle{width:auto;height:44px;min-width:92px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.11);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(48,18,13,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:initial;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .topnav .menu-toggle:hover{background:rgba(255,255,255,.17)}.topnav .menu-toggle:active{transform:scale(.96)}.topnav .menu-toggle:focus-visible{outline:2px solid #ffe09b;outline-offset:3px}
  .menu-label{display:block;min-width:2.2em;text-align:left;font:600 .72rem var(--font-cn-body);letter-spacing:.12em}.menu-label:before{content:"菜单"}.menu-toggle[aria-expanded="true"] .menu-label:before{content:"关闭"}
  .menu-icon{width:18px;height:12px}.menu-icon i{height:1.5px;transition:top .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),width .25s ease}.menu-icon i:nth-child(1){top:2px}.menu-icon i:nth-child(2){top:9px;width:70%;left:30%}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(1){top:5.5px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){top:5.5px;left:0;width:100%;opacity:1;transform:rotate(-45deg)}
  body.menu-open .topnav .menu-toggle{background:rgba(255,242,207,.95);color:#70261f;border-color:#f3d58e;box-shadow:0 10px 28px rgba(43,16,12,.2)}
}
@media(max-width:380px){.topnav .menu-toggle{min-width:78px;padding-inline:12px;gap:8px}.menu-label{font-size:.67rem}.top-brand strong{font-size:1rem}}

/* Canton Sky brand system */
.brand-emblem{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#b31e24;box-shadow:0 0 0 1px rgba(244,213,146,.72),0 0 0 4px rgba(244,213,146,.08)}.brand-emblem img{width:100%;height:100%;object-fit:cover}.top-brand strong{font-family:Georgia,"Times New Roman",serif;letter-spacing:.035em}.top-brand small{letter-spacing:.1em}.social-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.social-links a{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid var(--hair);color:var(--cinnabar);font-size:.68rem;font-weight:700;letter-spacing:.08em;transition:.25s}.social-links a:hover{background:var(--cinnabar);border-color:var(--cinnabar);color:var(--silk)}
.site-footer{position:relative;padding:64px max(28px,5vw) 34px;background:#233e36;color:#e5eadf;border-top:1px solid rgba(228,194,117,.3)}.footer-main{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:1.15fr .8fr .8fr;gap:60px;align-items:start}.footer-logo{display:flex;align-items:center;gap:20px}.footer-logo img{width:112px;height:94px;object-fit:cover;object-position:center;border:1px solid rgba(232,196,116,.38)}.footer-logo strong{display:block;color:#fff1ce;font:600 1.8rem/1.1 var(--font-cn-display)}.footer-logo span{display:block;color:#d5b875;font:500 .88rem Georgia,serif;letter-spacing:.08em;margin-top:7px}.footer-column h3{color:#e8c576;font:600 .75rem var(--font-cn-body);letter-spacing:.16em;margin-bottom:16px}.footer-column a,.footer-column p{display:block;color:#d5ded8;font-size:.82rem;line-height:1.9}.footer-column a:hover{color:#ffe09b}.footer-social{display:flex;gap:14px;margin-top:12px}.footer-social a{color:#e8c576;font-size:.68rem;font-weight:700;letter-spacing:.08em}.footer-bottom{width:min(1200px,100%);margin:42px auto 0;padding-top:20px;border-top:1px solid rgba(232,196,116,.17);display:flex;justify-content:space-between;gap:20px;color:#9fb0a7;font-size:.66rem;letter-spacing:.05em}
@media(max-width:900px){.brand-emblem{width:44px;height:44px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-bottom{flex-direction:column}.top-brand strong{font-size:1.03rem}}
@media(max-width:600px){.brand-emblem{width:40px;height:40px}.top-brand{gap:10px}.top-brand strong{font-size:.95rem}.footer-main{grid-template-columns:1fr;gap:35px}.footer-brand-block{grid-column:auto}.footer-logo img{width:92px;height:78px}.footer-logo strong{font-size:1.55rem}.site-footer{padding-top:50px}}

/* Canton Sky typography and full-logo presentation */
.hero-en{font-family:Georgia,"Times New Roman",serif;font-size:.7em;font-weight:500;letter-spacing:-.035em}
.footer-logo img{object-fit:contain;background:#a91f25}
.imperial-note:before{content:"粤天"}
@media(max-width:900px){.topnav-links:before{content:"粤"}}

/* 3.4 — grand Canton Sky visual refinement */
::selection{background:var(--cinnabar);color:var(--silk)}
body{background:#f7eedb}
body:before{content:"";position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 12% 18%,rgba(211,170,86,.08),transparent 25%),radial-gradient(circle at 86% 72%,rgba(101,125,104,.07),transparent 26%);pointer-events:none}
a,button{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e2b85e;outline-offset:4px}

/* Navigation: lacquer, gold and a clearer brand presence */
.topnav{height:96px;padding-inline:clamp(24px,4.5vw,76px);background:linear-gradient(180deg,rgba(51,23,18,.88),rgba(72,31,23,.32) 72%,transparent);border-bottom:1px solid rgba(244,210,137,.4)}
.topnav:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent 3%,rgba(224,184,93,.82) 24%,rgba(255,227,160,.45) 50%,rgba(224,184,93,.82) 76%,transparent 97%);transform:scaleX(.92)}
.topnav.scrolled{height:76px;background:linear-gradient(90deg,rgba(105,35,29,.985),rgba(130,48,36,.985),rgba(93,35,29,.985));box-shadow:0 12px 38px rgba(54,21,15,.22)}
.brand-emblem{width:58px;height:58px;box-shadow:0 0 0 1px rgba(244,213,146,.8),0 0 0 5px rgba(244,213,146,.07),0 10px 24px rgba(36,12,9,.25)}
.top-brand{gap:17px}.top-brand strong{font-size:1.42rem;color:#fff7df;text-shadow:0 2px 16px rgba(0,0,0,.25)}.top-brand small{font-size:.61rem;color:#efd397;letter-spacing:.14em}
.topnav-links{gap:clamp(20px,2vw,38px)}.topnav-links>a:not(.top-reserve){padding-block:12px;color:#fff4d8;text-shadow:0 1px 10px rgba(0,0,0,.18)}
.top-reserve{height:46px;padding-inline:24px;background:linear-gradient(135deg,rgba(241,208,131,.2),rgba(211,170,86,.08));border-color:#e4be6b;box-shadow:inset 0 0 0 1px rgba(255,244,207,.08)}
.top-reserve:hover{background:#e6c16f;color:#4b271d;box-shadow:0 10px 28px rgba(37,15,10,.22);transform:translateY(-2px)}

/* Hero: richer cinematic depth without changing the composition */
.hero{min-height:760px;background:#3d2419}
.hero-media video{filter:saturate(1.02) contrast(1.04) brightness(.93);animation:hero-breathe 18s ease-in-out infinite alternate}
@keyframes hero-breathe{from{transform:scale(1.005)}to{transform:scale(1.065)}}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 66% 46%,transparent 0 16%,rgba(30,14,9,.15) 55%,rgba(26,12,8,.42) 100%);pointer-events:none}
.hero:after{background:linear-gradient(90deg,rgba(53,25,17,.78),rgba(49,27,17,.18) 58%,rgba(24,13,9,.12)),linear-gradient(0deg,rgba(35,17,10,.72),transparent 54%)}
.hero-frame{inset:30px;border-color:rgba(255,225,155,.68);box-shadow:inset 0 0 70px rgba(45,19,11,.08)}
.hero-frame:before,.hero-frame:after{font-size:.85rem;top:-10px;text-shadow:0 0 14px #efc973}
.hero-copy{padding-left:clamp(40px,8vw,150px);max-width:920px}
.kicker{color:#f4d58e;text-shadow:0 2px 18px rgba(0,0,0,.38)}.kicker:before{width:58px;background:linear-gradient(90deg,#f2d184,transparent)}
.hero h1{margin:30px 0 34px;color:#fff8e6;text-shadow:0 7px 34px rgba(31,13,8,.38)}
.hero h1 em{color:#f4d892;text-shadow:0 5px 28px rgba(35,14,9,.32)}
.hero-lead{max-width:610px;color:#fff1d0;text-shadow:0 2px 18px rgba(25,11,7,.5)}
.hero-button{min-height:56px;padding-inline:29px;border-color:rgba(246,216,149,.85);background:rgba(74,31,21,.38);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.hero-button:hover{background:rgba(249,224,164,.14);transform:translateY(-3px);box-shadow:0 12px 30px rgba(28,12,8,.22)}
.hero-button.solid{background:linear-gradient(135deg,#f1d58f,#d5aa53);box-shadow:0 10px 30px rgba(33,14,9,.2)}
.hero-button.solid:hover{background:#f5dda2}.vertical-title{top:15vh;color:#ffe8ad}.vertical-title strong{text-shadow:0 4px 22px rgba(23,10,7,.45)}
.hero-foot{display:flex;align-items:center;gap:16px}.hero-foot:before{content:"营业";display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,224,151,.7);border-radius:50%;color:#f5d789;font-family:var(--font-cn-display);font-size:.65rem;letter-spacing:.08em}.hero-foot:after{display:none}

.prologue{padding:19px 0;background:linear-gradient(90deg,#203c4e,#294b73 45%,#243d50);border-block:1px solid rgba(226,190,111,.38);box-shadow:0 12px 35px rgba(40,27,18,.12)}
.prologue-track{gap:54px;color:#fff3d5}.prologue span:after{color:#f0ca76;margin-left:54px}

/* Editorial sections and signature dishes */
.section{padding-block:clamp(95px,10vw,145px)}
.intro{background:radial-gradient(circle at 92% 18%,rgba(189,84,60,.08),transparent 26%),linear-gradient(135deg,#f1e4c9,#f7ecd6 48%,#ead7b4)}
.intro:after{content:"";position:absolute;inset:22px;border:1px solid rgba(161,67,49,.11);pointer-events:none}
.intro-grid{gap:clamp(55px,8vw,120px)}
.section-label{display:flex;align-items:center;gap:10px}.section-label:after{content:"";width:48px;height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.55}
.title{color:#261c16;text-wrap:balance}.lead{line-height:2;color:#665442}
.imperial-note{padding:34px 38px 30px 48px;border-left:3px solid var(--cinnabar);background:linear-gradient(105deg,rgba(255,250,235,.7),rgba(255,250,235,.15));box-shadow:26px 28px 65px rgba(91,54,29,.08)}
.imperial-note:after{content:"";position:absolute;right:14px;bottom:14px;width:50px;height:50px;border-right:1px solid rgba(161,67,49,.38);border-bottom:1px solid rgba(161,67,49,.38)}
.imperial-note blockquote{color:#34231b}

.courses{padding-block:45px 80px;background:linear-gradient(180deg,#fff8e8,#f9efd9)}
.course{min-height:690px;grid-template-columns:100px minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(36px,6vw,85px);border-color:rgba(114,75,44,.18)}
.course-index{position:relative;border-right:0;padding-top:56px;font-family:var(--font-cn-display);font-size:2.1rem;color:#9f4635}
.course-index:after{content:"";position:absolute;top:110px;bottom:50px;left:16px;width:1px;background:linear-gradient(var(--cinnabar),rgba(161,67,49,.06))}
.course-visual{height:540px;padding:18px;background:#efe0c2;box-shadow:0 30px 65px rgba(76,42,22,.2);transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s ease}
.course-visual:before{inset:9px;border-color:rgba(237,199,109,.95);z-index:2;pointer-events:none}
.course:hover .course-visual{transform:translateY(-9px);box-shadow:0 42px 80px rgba(76,42,22,.25)}
.course-visual img,.course-visual video{clip-path:none;transition:transform 1s cubic-bezier(.22,1,.36,1),filter .6s ease}.course:hover .course-visual img,.course:hover .course-visual video{transform:scale(1.035);filter:saturate(1.07)}
.course-copy{position:relative;padding-block:40px}.course-copy:before{content:"";position:absolute;left:-34px;top:28px;width:78px;height:78px;border:1px solid rgba(211,170,86,.27);border-radius:50%}
.course-copy .glyph{font-size:7rem;color:#af503c;opacity:.12}.course-copy h3{position:relative;margin-top:-30px}.course-copy .cn-name{margin-top:30px;color:#973d30}.text-link{padding-bottom:8px}.text-link:hover{color:var(--cinnabar);border-color:var(--cinnabar);transform:translateX(4px)}

/* Moon gate and invitation: grand destination moments */
.moongate{min-height:880px}.moongate-image img{opacity:.58;filter:saturate(.86) contrast(1.03);transform:scale(1.02)}.moongate-image:after{background:linear-gradient(90deg,rgba(24,56,45,.62),rgba(31,57,46,.25),rgba(24,56,45,.62))}
.moon-window{width:min(690px,72vw);border:1px solid #e2bb69;box-shadow:0 0 0 10px rgba(237,203,127,.2),0 0 0 11px rgba(244,221,166,.42),0 28px 80px rgba(13,35,27,.34),0 0 0 999px rgba(27,57,46,.14);background:radial-gradient(circle at 50% 35%,#fff9e9,#f1e2c4 78%)}
.moon-window:before{content:"粤天";position:absolute;top:10%;font:600 .72rem var(--font-cn-display);letter-spacing:.55em;color:var(--cinnabar)}
.moon-window .button{margin-top:8px}
.button{min-height:54px;padding-inline:27px}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(71,38,22,.13)}
.decree{padding:125px 0;background:radial-gradient(circle at 18% 50%,rgba(161,67,49,.08),transparent 27%),linear-gradient(135deg,#e9d5b0,#f4e8cf 50%,#e7d0a9)}
.decree-sheet{width:min(1040px,calc(100% - 48px));padding:100px max(42px,9vw);border-inline-width:10px;background:linear-gradient(rgba(255,249,234,.96),rgba(251,239,214,.96));box-shadow:0 38px 90px rgba(76,45,21,.2)}
.decree-sheet:before,.decree-sheet:after{height:18px;left:-24px;right:-24px}.decree-head:before{content:"";display:block;width:54px;height:54px;margin:0 auto 28px;border:1px solid var(--cinnabar);transform:rotate(45deg);box-shadow:inset 0 0 0 7px #f7ead0,inset 0 0 0 8px rgba(161,67,49,.4)}
.decree-head .section-label{justify-content:center}.decree-head .section-label:after{display:none}

/* Inner pages */
.page-hero{height:80svh;min-height:660px}.page-hero>img,.page-hero>video{filter:saturate(.95) contrast(1.04);animation:page-hero-breathe 20s ease-in-out infinite alternate}
@keyframes page-hero-breathe{to{transform:scale(1.055)}}
.page-hero:before{content:"";position:absolute;z-index:-1;inset:26px;border:1px solid rgba(255,227,161,.46);pointer-events:none}
.page-hero:after{background:linear-gradient(90deg,rgba(54,25,17,.8),rgba(46,28,17,.22) 63%,rgba(27,15,10,.2)),linear-gradient(0deg,rgba(41,20,12,.76),transparent 62%)}
.page-hero-copy{padding-left:clamp(40px,8vw,150px);padding-bottom:90px;max-width:1080px;text-shadow:0 4px 22px rgba(29,12,7,.26)}
.crumb{display:inline-flex;padding:8px 13px;border:1px solid rgba(255,226,157,.36);background:rgba(66,27,18,.24);backdrop-filter:blur(8px)}
.page-hero .lead{max-width:690px}

.menu-scroll{padding:125px 0;background:radial-gradient(circle at 90% 10%,rgba(161,67,49,.07),transparent 24%),linear-gradient(135deg,#f0e2c7,#f7eedb 52%,#ead7b6)}
.menu-heading{margin-bottom:75px}.menu-filter{gap:8px}.menu-filter button{border:1px solid rgba(121,78,47,.18);padding:11px 20px;background:rgba(255,250,237,.34)}.menu-filter button:hover,.menu-filter button.active{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff7df}
.menu-chapter{max-width:1080px;background:rgba(255,251,240,.48);border-top-color:rgba(125,75,43,.24);box-shadow:0 18px 55px rgba(82,52,29,.06)}.menu-chapter+.menu-chapter{margin-top:18px}.chapter-name{padding-top:42px;background:rgba(161,67,49,.045)}.menu-list{padding-right:38px}.menu-item{padding:24px 0}.menu-item h3{color:#32231b}.menu-item .price{font-weight:600;color:#963d30}.menu-item:hover h3{color:var(--cinnabar);transform:translateX(4px)}.menu-item h3{transition:.25s}

.screen{min-height:720px;background:#251712}.screen-panel{padding:70px 42px}.screen-panel:before{content:"";position:absolute;inset:18px;border:1px solid rgba(245,214,144,.26);pointer-events:none}.screen-panel:after{background:linear-gradient(0deg,rgba(67,27,20,.96),rgba(66,38,21,.16) 75%)}.screen-panel .number{font-size:4rem}.screen-panel h3{font-size:2.8rem}.screen-panel:hover img{transform:scale(1.075)}
.story-ribbon{min-height:720px}.story-art:after{border-width:28px;border-color:rgba(255,248,232,.28)}.story-copy{background:radial-gradient(circle at 100% 0,rgba(237,202,118,.14),transparent 34%),linear-gradient(145deg,#294b73,#203b5b);padding-inline:clamp(45px,8vw,120px)}

.contact-layout{gap:clamp(55px,8vw,110px);align-items:start}.contact-row{padding:21px 0}.contact-row a{font-weight:600}.invitation{padding:65px;background:linear-gradient(145deg,#fff8e8,#f4e4c5);border-color:#d5a950;box-shadow:0 35px 75px rgba(87,50,25,.16)}.invitation:before{inset:11px}.field input,.field select,.field textarea{padding-block:14px}.form-status{font-weight:600}

/* The supplied full logo becomes the site's formal brand signature */
.site-footer{padding:82px max(28px,6vw) 38px;background:radial-gradient(circle at 12% 30%,rgba(223,184,98,.09),transparent 24%),linear-gradient(125deg,#19352d,#274a3f 55%,#1d392f);overflow:hidden}
.site-footer:before{content:"粤";position:absolute;right:-.04em;bottom:-.25em;color:rgba(239,207,137,.035);font:700 clamp(18rem,36vw,34rem)/1 var(--font-cn-display);pointer-events:none}
.footer-main,.footer-bottom{position:relative;z-index:1}.footer-main{grid-template-columns:1.35fr .72fr .85fr;gap:clamp(40px,6vw,90px)}
.footer-logo{display:block}.footer-logo img{width:min(290px,100%);height:auto;aspect-ratio:auto;border:1px solid rgba(235,201,126,.52);box-shadow:0 20px 50px rgba(7,24,18,.26)}.footer-logo>div{margin-top:19px}.footer-logo strong{font-size:1.45rem}.footer-logo span{font-size:.76rem}.footer-column h3{padding-bottom:12px;border-bottom:1px solid rgba(232,196,116,.18)}.footer-column a,.footer-column p{font-size:.86rem}.footer-social{flex-wrap:wrap;gap:9px}.footer-social a{padding:7px 10px;border:1px solid rgba(232,196,116,.25)}.footer-social a:hover{background:#e2bd68;color:#213a32;border-color:#e2bd68}.footer-bottom{margin-top:58px}

@media(max-width:1100px) and (min-width:901px){.topnav-links{gap:16px}.topnav-links{font-size:.78rem}.top-brand small{display:none}.course{grid-template-columns:72px 1.05fr .95fr;gap:38px}}
@media(max-width:900px){
  .topnav,.topnav.scrolled{height:76px;padding-inline:18px}.topnav:after{bottom:0}.brand-emblem{width:45px;height:45px}.top-brand{gap:12px}.top-brand strong{font-size:1.08rem}
  .hero{min-height:720px}.hero-frame{inset:14px}.hero-copy{padding:130px 28px 80px;max-width:720px}.hero-foot{right:28px;bottom:28px}.hero-foot:before{display:none}
  .course{min-height:auto;grid-template-columns:52px 1fr;gap:26px;padding:70px 0}.course-index:after{left:12px}.course-visual,.course.reverse .course-visual{height:min(58vw,470px)}.course-copy:before{display:none}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-logo{display:flex}.footer-logo img{width:230px}.footer-logo>div{margin:0 0 0 22px}
}
@media(max-width:600px){
  .topnav .menu-toggle{min-width:88px}.hero{min-height:700px}.hero-media video{animation:none}.hero h1{margin-block:25px}.hero-en{font-size:.62em}.hero-lead{max-width:100%}.hero-actions{width:100%;gap:9px}.hero-button{width:min(250px,100%);justify-content:center}.hero-foot{font-size:.52rem}.vertical-title{display:none}
  .section{padding-block:88px}.intro:after{inset:10px}.intro-grid{gap:52px}.imperial-note{padding:30px 24px 26px 30px}.imperial-note:before{right:12px;top:-45px}
  .course{grid-template-columns:30px 1fr;gap:14px;padding:60px 0}.course-index{font-size:1.55rem}.course-index:after{left:8px;top:94px}.course-visual,.course.reverse .course-visual{height:88vw;padding:10px}.course-copy{padding-block:22px}.course-copy .glyph{font-size:5.5rem}
  .moongate{min-height:730px}.moon-window{width:90vw;padding:55px 31px}.moon-window:before{top:8%}
  .decree{padding:80px 0}.decree-sheet{width:calc(100% - 30px);padding:70px 27px}.decree-head:before{width:42px;height:42px}
  .page-hero{height:74svh;min-height:610px}.page-hero:before{inset:12px}.page-hero-copy{padding:145px 27px 64px}.crumb{font-size:.53rem}.page-hero .title{font-size:clamp(3.25rem,15vw,4.8rem)}
  .menu-scroll{padding:90px 15px}.menu-filter{gap:6px}.menu-filter button{padding:9px 12px}.menu-chapter{grid-template-columns:48px 1fr}.menu-list{padding:14px 18px}.menu-item{gap:6px 12px}.menu-item h3{font-size:1.2rem}.menu-item .price{font-size:1rem}
  .screen-panel{padding:58px 32px}.screen-panel:before{inset:12px}.story-art:after{border-width:14px}.invitation{padding:45px 25px}
  .site-footer{padding-top:60px}.footer-main{grid-template-columns:1fr}.footer-brand-block{grid-column:auto}.footer-logo{display:block}.footer-logo img{width:min(260px,100%)}.footer-logo>div{margin:17px 0 0}.footer-bottom{margin-top:40px}
}
@media(prefers-reduced-motion:reduce){.hero-media video,.page-hero>img,.page-hero>video{animation:none!important}.course-visual,.course-visual img,.course-visual video{transition:none!important}}

/* 3.4.1 — requested hero and footer refinements */
.hero-media video{animation:none;transform:none;filter:saturate(.96) contrast(1.01) brightness(.98)}
.hero-media img{animation:hero-drift-once 22s cubic-bezier(.2,.65,.3,1) 1 forwards;transform-origin:58% 48%;will-change:transform}
@keyframes hero-drift-once{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-.7%,-.35%,0)}}
.hero:before{display:none}
.hero:after{background:linear-gradient(90deg,rgba(112,38,29,.62),rgba(91,39,25,.12) 58%,rgba(64,27,19,.04)),linear-gradient(0deg,rgba(92,32,24,.38),transparent 47%)}
.hero-frame{inset:0 30px 30px;border-top:0;box-shadow:none}
.hero-frame:before,.hero-frame:after{display:none}

.page-hero .title{color:#fff8e6;text-shadow:0 5px 28px rgba(24,10,7,.58)}
.page-hero .title .cn{color:#ffe09f;text-shadow:0 3px 18px rgba(24,10,7,.48)}

/* Restore the previous compact footer */
.site-footer{padding:64px max(28px,5vw) 34px;background:#233e36;color:#e5eadf;border-top:1px solid rgba(228,194,117,.3);overflow:visible}
.site-footer:before{display:none}
.footer-main{grid-template-columns:1.15fr .8fr .8fr;gap:60px;align-items:start}
.footer-logo{display:flex;align-items:center;gap:20px}
.footer-logo img{width:112px;height:94px;object-fit:contain;object-position:center;background:#a91f25;border:1px solid rgba(232,196,116,.38);box-shadow:none}
.footer-logo>div{margin:0}
.footer-logo strong{font-size:1.8rem}
.footer-logo span{font-size:.88rem}
.footer-column h3{padding-bottom:0;border-bottom:0}
.footer-column a,.footer-column p{font-size:.82rem}
.footer-social{gap:14px;margin-top:12px}
.footer-social a{padding:0;border:0}
.footer-social a:hover{background:transparent;color:#ffe09b}
.footer-bottom{margin-top:42px}

@media(max-width:900px){
  .hero-frame{inset:0 14px 14px}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand-block{grid-column:1/-1}
  .footer-logo{display:flex}
  .footer-logo img{width:112px;height:94px}
  .footer-logo>div{margin:0}
  .footer-bottom{flex-direction:column}
}
@media(max-width:600px){
  .hero-frame{inset:0 12px 12px}
  .footer-main{grid-template-columns:1fr;gap:35px}
  .footer-brand-block{grid-column:auto}
  .footer-logo{display:flex}
  .footer-logo img{width:92px;height:78px}
  .footer-logo>div{margin:0}
  .footer-logo strong{font-size:1.55rem}
  .site-footer{padding-top:50px}
  .footer-bottom{margin-top:42px}
}
@media(prefers-reduced-motion:reduce){.hero-media img{animation:none;transform:none}}

/* 3.5 — responsive audit and restrained imperial detailing */
html{overflow-x:clip}
.site,.site-footer{max-width:100%;overflow-x:clip}
.contact-row a,.contact-row span,.footer-column a,.footer-column p{overflow-wrap:anywhere}
.page-hero-copy:after{content:"";display:block;width:clamp(90px,12vw,170px);height:2px;margin-top:32px;background:linear-gradient(90deg,#e6bf68,rgba(230,191,104,0));box-shadow:0 1px 8px rgba(230,191,104,.24)}
.menu-heading:after{content:"◆";display:block;margin:34px auto 0;color:#b04b38;font-size:.65rem;text-shadow:-24px 0 0 rgba(211,170,86,.7),24px 0 0 rgba(211,170,86,.7)}
.story-copy{position:relative;overflow:hidden}.story-copy:after{content:"粤";position:absolute;right:-.08em;bottom:-.18em;color:rgba(255,234,182,.04);font:700 clamp(12rem,25vw,25rem)/1 var(--font-cn-display);pointer-events:none}.story-copy>*{position:relative;z-index:1}
.contact-row small{margin-bottom:3px}.field input,.field select,.field textarea{min-width:0;width:100%}

@media(max-width:900px){
  .topnav{padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top))}.topnav.scrolled,.topnav.nav-open{height:calc(76px + env(safe-area-inset-top))}
  .topnav-links{height:100dvh;min-height:100svh;padding-top:calc(108px + env(safe-area-inset-top));padding-bottom:calc(34px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .topnav-links>a{flex:0 0 auto;width:min(620px,100%)}
  .hero-media img{object-position:62% center}
  .page-hero>img,.page-hero>video{animation:none;transform:none}.page-hero-copy{width:100%;padding-right:clamp(28px,8vw,70px)}
  .page-hero .lead{max-width:620px}.page-hero-copy:after{margin-top:25px}
  .intro-grid{align-items:start}.imperial-note{max-width:700px}
  .course{align-items:start}.course-index{grid-row:1/3}.course-visual,.course.reverse .course-visual{grid-row:1}.course-copy,.course.reverse .course-copy{grid-row:2;padding-left:0}
  .screen{min-height:auto}.screen-panel{min-height:540px;border-right:0;border-bottom:1px solid rgba(234,208,141,.58)}
  .story-ribbon{min-height:auto}.story-art{min-height:56vw}.story-copy{min-height:520px}
  .contact-layout{gap:65px}.invitation{width:100%}
  .footer-column{min-width:0}
}

@media(max-width:600px){
  body{font-size:15px}
  .topnav{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}.top-brand{min-width:0}.top-brand>span:last-child{min-width:0}.top-brand strong{white-space:nowrap}.topnav .menu-toggle{flex:0 0 auto}
  .topnav-links{justify-content:flex-start;padding-top:calc(106px + env(safe-area-inset-top))}.topnav-links>a{font-size:clamp(1.3rem,6.5vw,1.7rem)}
  .hero{height:max(100svh,720px);min-height:720px}.hero-copy{justify-content:center;padding:126px 27px 105px}.kicker{max-width:88%;font-size:.6rem;line-height:1.7;letter-spacing:.2em}.kicker:before{width:30px;flex:0 0 30px}
  .hero h1{font-size:clamp(3.8rem,17.5vw,5.25rem);line-height:.88}.hero h1 em{margin-left:.3em}.hero-lead{font-size:.95rem;line-height:1.8;letter-spacing:.035em}.hero-actions{margin-top:23px}.hero-button{min-height:51px}.hero-foot{right:25px;bottom:28px;letter-spacing:.1em}
  .prologue{padding-block:14px}.prologue-track{gap:34px;font-size:.88rem}.prologue span:after{margin-left:34px}
  .section-label{line-height:1.65}.section-label:after{width:34px}.title{overflow-wrap:break-word}.lead{line-height:1.9}
  .intro:before{right:-12vw;font-size:17rem}.imperial-note{max-width:100%;box-shadow:14px 20px 45px rgba(91,54,29,.07)}
  .courses{padding-top:18px}.course{padding-block:55px}.course-index{padding-top:14px}.course-index:after{top:57px;bottom:25px}.course-visual,.course.reverse .course-visual{height:clamp(300px,90vw,440px)}.course-copy .cn-name{margin-top:22px}.course-copy p{max-width:100%}
  .moongate{min-height:760px;padding:72px 17px}.moon-window{width:100%;min-height:570px;aspect-ratio:auto;padding:105px 30px 65px;border:1px solid #e2bb69;border-radius:50% 50% 18px 18px / 22% 22% 18px 18px;box-shadow:0 0 0 7px rgba(237,203,127,.17),0 0 0 8px rgba(244,221,166,.38),0 28px 70px rgba(13,35,27,.3)}.moon-window:before{top:50px}.moon-window .title{font-size:clamp(2.35rem,11vw,3.2rem)}.moon-window .lead{margin-block:20px}.moon-window .button{display:inline-flex;align-items:center;justify-content:center}
  .decree-actions{width:100%}.decree-actions .button{width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center}.decree-sheet:before,.decree-sheet:after{left:-15px;right:-15px}
  .page-hero{height:max(72svh,600px);min-height:600px}.page-hero-copy{padding:132px 26px 58px}.page-hero .title{font-size:clamp(3rem,14vw,4.35rem);line-height:1.04}.page-hero .title .cn{font-size:.28em}.page-hero .lead{font-size:.92rem;line-height:1.82}.page-hero-copy:after{margin-top:21px}
  .menu-heading{text-align:left;margin-bottom:55px}.menu-heading .lead{margin-inline:0}.menu-heading:after{margin-left:28px}.menu-filter{justify-content:flex-start}.menu-filter button{min-height:42px;flex:1 1 calc(50% - 6px)}
  .menu-chapter{grid-template-columns:42px minmax(0,1fr)}.chapter-name{padding:28px 10px 28px 0;font-size:.88rem}.menu-list{min-width:0;padding:10px 16px}.menu-item h3{min-width:0;overflow-wrap:anywhere}.menu-item .price{white-space:nowrap}.menu-item p{line-height:1.7}
  .screen-panel{min-height:520px;padding:58px 31px 46px}.screen-panel .number{font-size:3.25rem}.screen-panel h3{font-size:2.15rem}.screen-panel p{max-width:460px}
  .story-art{min-height:420px}.story-copy{min-height:auto;padding:76px 27px}.story-copy:after{font-size:15rem}
  .contact-layout{gap:55px}.contact-details{margin-top:28px}.contact-row{padding-block:18px}.social-links{gap:7px}.social-links a{flex:1 1 auto;justify-content:center}.invitation{padding:44px 25px}.field input,.field select,.field textarea{font-size:16px}.field textarea{min-height:120px}
  .footer-logo{align-items:center}.footer-logo img{flex:0 0 92px}.footer-logo>div{min-width:0}.footer-logo strong{font-size:1.4rem}.footer-logo span{font-size:.7rem;line-height:1.5}.footer-social{flex-wrap:wrap}.footer-column a,.footer-column p{line-height:1.8}.footer-bottom{font-size:.62rem}
}

@media(max-width:390px){
  .topnav .menu-toggle{min-width:74px;padding-inline:10px}.menu-label{min-width:2em}.brand-emblem{width:38px;height:38px}.top-brand strong{font-size:.9rem}
  .hero-copy{padding-inline:23px}.hero-foot{display:none}.hero h1{font-size:clamp(3.55rem,17vw,4.2rem)}
  .moon-window{min-height:590px;padding-inline:24px}
  .menu-item{grid-template-columns:1fr}.menu-item .price{grid-column:1;margin-top:2px}.menu-item p{grid-column:1}
  .screen-panel{min-height:500px;padding-inline:27px}.invitation{padding-inline:21px}
  .footer-logo{gap:14px}.footer-logo img{width:82px;height:70px;flex-basis:82px}.footer-logo strong{font-size:1.25rem}
}

@media(max-width:900px) and (max-height:690px){
  .topnav-links{padding-top:calc(88px + env(safe-area-inset-top));padding-bottom:20px}.topnav-links>a{min-height:45px;font-size:1.2rem}.top-reserve{min-height:48px!important;margin-top:10px}
}

@media(hover:none){.course:hover .course-visual,.course:hover .course-visual img,.course:hover .course-visual video,.screen-panel:hover img,.text-link:hover{transform:none}}
