/* CHAOPIN: a restaurant introduction, with a separate complete menu. */
:root{--paper:#faf8f3;--ink:#233c33;--muted:#68716b;--red:#805139;--line:#dcded5;--cream:#f0f1e9}
body{background-image:none}
.site-header{padding:20px 5.5%;min-height:92px;background:var(--paper);gap:24px;border-bottom:0}
.brand-mark{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-weight:600;letter-spacing:.02em;font-size:32px}
.brand-word{font-family:Arial,sans-serif;font-size:15px;letter-spacing:.24em}.brand-word small{font-size:6px;letter-spacing:.16em}
.desktop-nav{gap:25px;font-size:12px;line-height:1.5}.desktop-nav a{padding:8px 0;white-space:nowrap}.desktop-nav a:hover{color:#986a42}
.header-actions{gap:18px}.header-book{padding:13px 21px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:12px;white-space:nowrap}
.language-picker{border:0;padding:7px 0;background:transparent;gap:6px}.language-picker .globe-icon{width:19px;height:19px;color:var(--ink)}.language-picker span.language-word{font-size:10px}.language-picker select{font-family:var(--body);font-size:12px;width:89px;min-height:30px}
.section-wrap{width:89%;max-width:1240px}.brand-home h2{font-size:clamp(32px,3.3vw,48px);line-height:1.3;letter-spacing:-.015em}.brand-home h3{font-size:24px;line-height:1.4}.brand-home p{line-height:1.85}.brand-home .eyebrow{font-size:11px;letter-spacing:.14em;font-weight:500;margin:0 0 22px}.brand-home .text-link{font-size:13px;display:inline-flex;gap:26px;border-bottom:1px solid currentColor;padding-bottom:7px;line-height:1.6}.brand-home .button{min-height:52px;padding:15px 25px;font-size:13px;gap:30px}.brand-home .button.brand-light{background:#f5f2e8;color:#213d34;border:1px solid #f5f2e8}.brand-home .button:hover{filter:brightness(.94)}
.brand-hero{position:relative;isolation:isolate;background:#263a32;color:#fff;min-height:620px;height:calc(100svh - 92px);max-height:920px;overflow:hidden}
.brand-hero-image,.brand-hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.brand-hero-image{object-fit:cover;object-position:62% 51%}.brand-hero-shade{background:linear-gradient(90deg,rgba(17,34,28,.87),rgba(17,34,28,.66) 35%,rgba(17,34,28,.09) 80%),linear-gradient(0deg,rgba(17,34,28,.49),transparent 35%)}
.brand-hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:30px;padding-bottom:125px}.brand-hero-copy{max-width:650px}.brand-hero .eyebrow{color:#ede4d0;margin-bottom:26px;font-size:11px}.brand-hero h1{font-family:var(--serif);font-size:clamp(48px,5.5vw,78px);font-weight:400;letter-spacing:-.02em;line-height:1.08}.brand-hero h1 span{display:block}.brand-hero h1 span+span{margin-top:7px}.brand-hero-description{font-size:15px;max-width:510px;color:#f3f2ec;margin:26px 0 0;text-wrap:pretty}.brand-hero-actions{display:flex;align-items:center;gap:32px;margin-top:34px}.hero-reserve{display:inline-flex;gap:24px;align-items:center;font-size:13px;border-bottom:1px solid #ffffff65;padding:12px 0}.brand-hero-footer{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff4d;padding-top:21px;color:#eceee6}.brand-hero-footer>span{font:11px Arial,sans-serif;letter-spacing:.2em}.brand-hero-footer>div{display:flex;gap:20px;align-items:baseline;font-size:11px}.brand-hero-footer b{font-weight:400;font-size:16px;letter-spacing:.07em}.brand-hero-footer small{font-size:10px;opacity:.85}.hero-scroll{font-size:24px;font-weight:300}
.fresh-section{padding:80px 0 60px;background:#ecefe5}.fresh-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.fresh-heading h2{max-width:650px}.fresh-description{max-width:610px;margin:22px 0;color:#4e6057;font-size:15px}.arrival-time{border-left:1px solid #bac5b6;padding:22px 0 22px 14%;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.arrival-time>span{font-size:12px;color:#536b5c}.arrival-time strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(45px,4.9vw,72px);font-weight:400;line-height:1.1;white-space:nowrap;letter-spacing:-.045em}.arrival-time strong span{padding:0 8px;opacity:.45;font-size:.6em;vertical-align:middle}.arrival-time small{font-size:11px;letter-spacing:.08em;color:#627568}.fresh-promises{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid #c6cebd;margin-top:42px;padding-top:28px}.fresh-promises article{display:flex;gap:17px;align-items:flex-start}.promise-dot{flex:none;width:6px;height:6px;background:#82977c;border-radius:50%;margin-top:12px}.fresh-promises h3{font:500 17px/1.5 var(--body);letter-spacing:0;margin-bottom:8px}.fresh-promises p{font-size:13px;color:#5b6d61;margin:0}
.about-section{padding:110px 0;display:grid;grid-template-columns:1.03fr 1fr;gap:9%;align-items:center}.about-photo img{width:100%;height:auto;aspect-ratio:7/5;object-fit:contain}.about-photo figcaption{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font:10px/1.6 Arial,sans-serif;color:var(--muted);letter-spacing:.1em}.about-photo figcaption small{font:10px/1.6 var(--body);letter-spacing:0}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px;margin-bottom:0}.about-copy .about-culture{padding-top:22px;border-top:1px solid var(--line)}.about-copy .text-link{margin-top:26px}
.signature-section{padding:80px 0;background:#f0eee7}.signature-section .section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end;margin-bottom:42px}.signature-section .section-heading>p{color:var(--muted);font-size:14px;margin:0}.signature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.signature-grid article{min-width:0}.signature-grid figure{overflow:hidden;background:#e6e0d5}.signature-grid img{width:100%;height:auto;aspect-ratio:7/5;object-fit:contain;transition:transform .4s ease}.signature-grid a:hover img{transform:scale(1.025)}.signature-caption{display:flex;gap:10px;justify-content:space-between;align-items:baseline;margin-top:19px}.signature-caption h3{font-size:23px;line-height:1.5;letter-spacing:0}.signature-caption>span{font:20px Arial,sans-serif;color:#7b8a7a}.signature-grid article>p{font-size:12px;margin:8px 0 0;color:var(--muted)}.signature-source{font-size:10px!important;text-align:right;color:#7a8277;margin:24px 0 0}
.brand-home .space-section{padding:110px 0 90px}.brand-home .section-heading>p{color:var(--muted);font-size:14px}.brand-home .space-gallery{gap:32px}.brand-home .space-gallery img{border-radius:0}.brand-home .space-note{font-size:12px;margin-top:25px;color:var(--muted)}
.menu-gateway{padding:65px 0;background:#233d33;color:#f7f5ec}.menu-gateway>.section-wrap{display:flex;align-items:center;justify-content:space-between;gap:70px}.menu-gateway .eyebrow{color:#cad4bd}.menu-gateway h2{font-size:clamp(30px,3vw,42px);max-width:780px}.menu-gateway p:not(.eyebrow){color:#c7d1c9;font-size:14px;margin:20px 0 0;max-width:640px}.menu-gateway .button{flex:none}
.brand-home .visit-section{background:var(--paper);padding:100px 0}.brand-home .visit-inner{grid-template-columns:1.15fr 1fr;gap:12%}.brand-home .visit-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.brand-home .visit-copy h2{margin-bottom:25px}.brand-home .contact-panel{background:#eef0e7;border:0;box-shadow:none;padding:40px}.brand-home .contact-phones{margin-top:35px}.brand-home .contact-phones a{font-size:31px;color:var(--ink)}.brand-home .contact-phones small{font-size:11px}.brand-home .contact-social{border-color:#cbd4c3}.brand-home .booking-note{font-size:11px}.brand-home .line-id{font-size:48px}.brand-home .faq-section{padding-top:0;padding-bottom:80px;gap:10%}.brand-home .faq-section h2{font-size:29px;line-height:1.5}.brand-home .faq-list summary{font-size:14px}.brand-home .faq-list p{font-size:13px}
.site-footer{padding-top:40px}.footer-main .brand-mark{font-size:35px}.footer-main>p{font-family:var(--body);font-size:13px}.footer-small{font-size:10px}.mobile-contact{background:#233d33}.mobile-contact a{font-size:12px}.menu-home-link{padding-top:28px;font-size:13px}.menu-home-link a{display:inline-flex;gap:10px;align-items:center}.menu-only .menu-section{padding-top:35px}.menu-only .menu-fresh-note{background:#ecefe5;padding:17px 20px;font-size:13px;line-height:1.8;border-left:3px solid #7e9376;margin:0 0 28px}.menu-only .menu-contact{background:#ecefe5}
.nav-toggle{display:none;width:42px;height:42px;background:transparent;padding:10px 7px;flex:none}.nav-toggle span{display:block;width:23px;height:1px;background:var(--ink);margin:7px 0}.mobile-nav[hidden]{display:none!important}.mobile-nav{display:none}.site-header a:focus-visible,.nav-toggle:focus-visible{outline-color:#a77749}.brand-hero a:focus-visible,.menu-gateway a:focus-visible{outline-color:white}
html[lang^="zh"] .brand-home h1{font-family:var(--chinese-font);font-size:clamp(42px,4.4vw,66px);font-weight:500;line-height:1.4;letter-spacing:0}html[lang^="zh"] .brand-home h2{font-size:clamp(29px,3vw,42px);font-weight:500;line-height:1.5;letter-spacing:0}html[lang^="zh"] .brand-home h3{font-weight:500;letter-spacing:0}html[lang^="zh"] .brand-home .signature-caption h3{font-size:21px}html[lang^="zh"] .brand-home .fresh-promises h3{font-size:17px}html[lang=th] .brand-home h1{font-family:'Noto Sans Thai',sans-serif;font-size:clamp(41px,4.4vw,64px);font-weight:500;line-height:1.35}html[lang=th] .brand-home h2,html[lang=th] .brand-home h3{font-family:'Noto Sans Thai',sans-serif;font-weight:500;line-height:1.5;letter-spacing:0}html[lang=th] .brand-home h2{font-size:clamp(28px,2.8vw,40px)}html[lang=ru] .brand-hero h1,html[lang=de] .brand-hero h1{font-size:clamp(43px,4.5vw,63px)}html[lang=hi] .brand-hero h1{font-size:clamp(40px,4.3vw,61px);line-height:1.5}
@media(min-width:1500px){.brand-hero-inner{max-width:1350px}.site-header{padding-left:6%;padding-right:6%}}
@media(max-width:1150px){.desktop-nav{gap:17px;font-size:11px}.header-book{display:none}.brand-hero{height:700px;max-height:none}.brand-hero-copy{max-width:590px}.signature-grid{gap:20px}.signature-caption h3,html[lang^="zh"] .brand-home .signature-caption h3{font-size:19px}.arrival-time{padding-left:8%}.brand-home .visit-inner{gap:8%}}
@media(max-width:900px){.site-header{padding:15px 5%;min-height:80px}.desktop-nav{display:none}.nav-toggle{display:block}.header-actions{gap:15px}.brand-word{font-size:14px}.brand-mark{font-size:30px}.mobile-nav{display:grid;position:absolute;z-index:40;top:80px;left:0;right:0;padding:16px 6% 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px #10251c15}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.brand-hero{height:650px;min-height:580px}.brand-hero-copy{max-width:600px}.brand-hero-shade{background:linear-gradient(90deg,#11221ce8,#11221ca8 50%,#11221c3b)}.fresh-section{padding:60px 0 45px}.fresh-heading{gap:6%}.arrival-time strong{font-size:49px}.about-section{gap:6%;padding:80px 0}.signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}.signature-caption h3,html[lang^="zh"] .brand-home .signature-caption h3{font-size:23px}.brand-home .space-section{padding:80px 0}.menu-gateway>.section-wrap{gap:35px}.brand-home .visit-inner{gap:6%}.brand-home .contact-panel{padding:30px}.brand-hero-footer>div{gap:12px}.brand-hero-footer small{display:none}}
@media(max-width:650px){html{scroll-padding-top:20px}.site-header{padding:13px 5%;min-height:76px;gap:10px}.brand{gap:8px}.brand-mark{font-size:29px}.brand-word{font-size:12px;letter-spacing:.15em}.brand-word small{font-size:5px;letter-spacing:.05em}.header-actions{gap:5px}.language-picker{gap:4px}.language-picker span.language-word{display:none}.language-picker .globe-icon{width:19px;height:19px}.language-picker select{width:78px;font-size:11px;padding:6px 0}.nav-toggle{width:34px;padding:8px 5px}.mobile-nav{top:76px}.section-wrap{width:88%}.brand-hero{height:calc(100svh - 76px);min-height:610px;max-height:850px}.brand-hero-image{object-position:60% 50%}.brand-hero-shade{background:linear-gradient(90deg,#11221cd9,#11221c70),linear-gradient(0deg,#11221ca8,transparent 70%)}.brand-hero-inner{justify-content:center;padding-top:30px;padding-bottom:130px}.brand-hero-copy{max-width:none}.brand-hero .eyebrow{font-size:10px;margin-bottom:25px;letter-spacing:.1em}.brand-hero h1,html[lang=de] .brand-hero h1,html[lang=ru] .brand-hero h1{font-size:46px;line-height:1.15}.brand-hero-description{font-size:14px;line-height:1.9!important;margin-top:23px;max-width:450px}.brand-hero-actions{gap:25px;margin-top:29px}.brand-home .button{padding:14px 20px;font-size:12px;gap:25px}.hero-reserve{font-size:12px;gap:16px}.brand-hero-footer{bottom:28px;display:grid;grid-template-columns:1fr auto;gap:13px;padding-top:20px}.brand-hero-footer>span{font-size:10px;grid-column:1}.brand-hero-footer>div{grid-column:1;gap:12px;font-size:10px;flex-wrap:wrap}.brand-hero-footer b{font-size:14px}.hero-scroll{grid-column:2;grid-row:1/3;font-size:26px}.fresh-section{padding:50px 0 40px}.fresh-heading{grid-template-columns:1fr;gap:30px}.brand-home .eyebrow{font-size:10px;margin-bottom:15px}.brand-home h2{font-size:32px;line-height:1.35}.fresh-description{font-size:14px;margin:19px 0}.arrival-time{padding:24px 0 0;border-left:0;border-top:1px solid #bdc8b8;gap:10px}.arrival-time strong{font-size:64px}.arrival-time>span{font-size:12px}.fresh-promises{grid-template-columns:1fr;gap:24px;margin-top:26px;padding-top:25px}.fresh-promises p{font-size:13px}.fresh-promises h3{font-size:16px}.about-section{padding:65px 0;grid-template-columns:1fr;gap:35px}.about-photo img{aspect-ratio:7/5}.about-photo figcaption{font-size:9px;letter-spacing:.06em;padding:12px 0}.about-photo figcaption small{font-size:9px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:20px}.signature-section{padding:55px 0}.signature-section .section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.signature-section .section-heading>p{font-size:14px}.signature-grid{gap:28px 17px}.signature-caption{margin-top:13px;gap:5px}.signature-caption h3,html[lang^="zh"] .brand-home .signature-caption h3{font-size:18px;line-height:1.5}.signature-caption>span{font-size:17px}.signature-grid article>p{font-size:11px}.signature-source{font-size:10px!important}.brand-home .space-section{padding:65px 0 50px}.brand-home .space-gallery{grid-template-columns:1fr;gap:25px}.brand-home .section-heading>p{font-size:14px}.brand-home .space-note{font-size:12px;line-height:1.8}.menu-gateway{padding:50px 0}.menu-gateway>.section-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.menu-gateway h2{font-size:31px}.menu-gateway p:not(.eyebrow){font-size:14px}.brand-home .visit-section{padding:65px 0}.brand-home .visit-inner{grid-template-columns:1fr;gap:35px}.brand-home .contact-panel{padding:30px;box-shadow:none}.brand-home .line-id{font-size:45px}.brand-home .contact-phones a{font-size:30px}.brand-home .faq-section{padding-bottom:55px;grid-template-columns:1fr;gap:25px}.brand-home .faq-section h2{font-size:26px}.brand-home .faq-list summary{font-size:14px}.brand-home .faq-list p{font-size:13px}.site-footer{padding-bottom:95px}.footer-main .brand-mark{font-size:30px}.footer-main>p{font-size:12px}.footer-small{font-size:10px}.footer-small>span:last-child{font-size:10px}.mobile-contact{grid-template-columns:1fr 1fr 1fr;min-height:52px}.mobile-contact a{font-size:11px;padding:15px 5px}.menu-only .menu-section{padding-top:22px}.menu-home-link{padding-top:22px;font-size:13px}.menu-only .menu-fresh-note{font-size:12px;padding:14px 16px}.brand-home .text-link{font-size:13px}html[lang^="zh"] .brand-home h1{font-size:36px;line-height:1.45;font-weight:500}html[lang^="zh"] .brand-home h2{font-size:28px;line-height:1.5;font-weight:500}html[lang^="zh"] .brand-home .fresh-promises h3{font-size:17px}html[lang=th] .brand-home h1{font-size:36px;line-height:1.4}html[lang=th] .brand-home h2{font-size:28px;line-height:1.5}html[lang=hi] .brand-hero h1{font-size:36px;line-height:1.5}}
@media(max-width:370px){.brand-word{font-size:10px}.brand-mark{font-size:27px}.brand-word small{font-size:4px}.language-picker select{width:71px;font-size:10px}.header-actions{gap:2px}.brand-hero{min-height:610px}.brand-hero h1,html[lang=de] .brand-hero h1,html[lang=ru] .brand-hero h1{font-size:40px}html[lang^="zh"] .brand-home h1,html[lang=th] .brand-home h1,html[lang=hi] .brand-hero h1{font-size:31px}.brand-hero-actions{gap:20px}.brand-hero-footer>div{gap:9px}.signature-caption h3,html[lang^="zh"] .brand-home .signature-caption h3{font-size:16px}.arrival-time strong{font-size:56px}}
@media(prefers-reduced-motion:reduce){.signature-grid img{transition:none}}
