@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;900&display=swap');
:root{--paper:#fefcfa;--green:#162b15;--orange:#fe4806;--muted:#596155;--line:#162b153b;--gutter:4.45vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:55px}body{margin:0;background:var(--paper);color:var(--green);font-family:'Noto Sans TC',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}p{font-size:16px;line-height:1.9}h2{font-size:48px;line-height:1.38;font-weight:600;letter-spacing:-1.5px}h3{font-size:23px;line-height:1.5;font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.skip{position:fixed;left:15px;top:-90px;background:var(--paper);z-index:20;padding:15px}.skip:focus{top:15px}.topline{height:45px;background:#0c1b0c;color:var(--paper);display:flex;justify-content:center;align-items:center;gap:25px;font-size:12px;position:sticky;top:0;z-index:9}.topline a{text-decoration:underline;text-underline-offset:4px}.site-header{display:flex;align-items:center;gap:40px;padding:24px var(--gutter);position:relative;z-index:8;background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap}.brand img{width:46px;height:46px;object-fit:contain}.brand span{font-size:24px;font-weight:700;letter-spacing:1px}.site-header nav{display:flex;gap:42px;align-items:center;margin:auto;font-size:15px}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:var(--orange)}.header-contact{background:#40523b;color:var(--paper);font-size:14px;padding:15px 22px;border-radius:3px}.menu-toggle{display:none}.hero{padding:85px var(--gutter) 75px}.hero-wordmark{position:relative}.parent-brand{font-size:50px;color:var(--orange);font-weight:700;line-height:1.3;position:relative;z-index:2}.hero h1{font-size:24.3vw;line-height:1.18;letter-spacing:-.082em;font-weight:900;white-space:nowrap;position:relative;z-index:1;margin-left:-.016em;margin-top:0}.branch{position:absolute;right:-1%;top:-95px;width:42%;height:auto;z-index:2;pointer-events:none}.hero-foot{display:flex;justify-content:space-between;align-items:flex-start;margin-top:47px;gap:60px}.location{display:flex;gap:18px;align-items:center;font-size:16px;line-height:1.8}.location strong{font-size:20px;font-weight:500}.location-line{width:3px;height:60px;background:var(--orange)}.hero-intro{width:355px}.hero-intro p{margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:var(--paper);padding:15px 25px;min-height:48px;font-size:15px;border-radius:3px;transition:background .2s,transform .2s}.button.orange{background:var(--orange)}.button:hover{background:#be3809;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--green)}.wide-photo{position:relative;height:750px;isolation:isolate}.wide-photo>img{height:100%;object-position:center}.wide-photo:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#071207a8,transparent 85%)}.photo-copy{position:absolute;left:var(--gutter);top:14%;z-index:1;color:var(--paper);max-width:480px}.photo-copy h2{font-size:52px;margin:18px 0 24px;line-height:1.4}.photo-copy p{color:#fffffff2}.photo-copy .button{margin-top:28px}.small-label{display:block;font-size:13px;letter-spacing:1px;margin-bottom:22px}.white-link{display:inline-block;border-bottom:1px solid #ffffff8c;padding:12px 0;margin-top:20px;font-size:14px}.white-link span{margin-left:20px}.section{padding:100px var(--gutter)}.section-title{text-align:center;max-width:690px;margin:0 auto 65px}.section-title .small-label{color:#c23600;margin-bottom:18px}.section-title h2{margin-bottom:25px}.section-title>p:last-child{color:var(--muted)}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:70px}.menu-list article{padding:25px 0 40px;border-bottom:1px solid var(--line)}.menu-line{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px}.menu-line>span{font-size:13px;color:#bd3605}.menu-list p{max-width:520px}.menu-note{font-size:12px;color:var(--muted);margin-top:32px;text-align:center}.split{display:grid;grid-template-columns:1fr 1fr}.split-photo{min-width:0;position:relative}.split-photo img{height:100%;min-height:650px}.split-copy{padding:100px 13%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.split-copy h2{font-size:44px;margin-bottom:30px}.split-copy p{margin-bottom:20px}.split-copy .small-label{color:#bd3605}.split-copy .button{margin-top:13px}.hotpot{display:flex;flex-direction:column;justify-content:center;background:#e9e7e1;padding:60px 0}.hotpot img{width:100%;height:auto;min-height:0;object-fit:contain}.credit{font-size:10px;color:var(--muted);margin:18px var(--gutter) 0}.ice-split{margin-top:0}.ice-split .split-photo img{object-position:center 55%}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:14px;padding:10px 0;border-bottom:1px solid var(--green)}.text-link:hover{color:#bd3605}.brand-statement{padding:110px var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;min-height:700px}.statement-copy>p{margin-bottom:25px}.statement-copy h2{font-size:66px;line-height:1.35;font-weight:700}.statement-art{position:relative;isolation:isolate}.statement-art img{width:100%;max-height:530px;object-fit:contain;transform:rotate(-12deg)}.statement-art span{position:absolute;bottom:8%;left:5%;background:var(--orange);color:var(--paper);width:160px;height:160px;border-radius:50%;display:grid;place-items:center;font-size:45px;letter-spacing:3px;z-index:-1}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper)}.story-photo{padding:70px 11%;background:linear-gradient(90deg,var(--green) 0 10%,var(--orange) 10% 12%,var(--paper) 12% 15%,var(--green) 15% 100%)}.story-photo img{height:650px;object-position:38%}.story-copy{padding:90px 13% 90px 6%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.story-copy h2{margin-bottom:30px}.story-copy p{color:#fefcfad9;margin-bottom:22px}.story-copy .button{margin-top:20px}.album-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px;gap:30px}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}.gallery-item{border:0;background:none;padding:0;text-align:left;min-width:0}.gallery-item img{height:380px;transition:filter .3s}.gallery-item:hover img{filter:brightness(.9)}.gallery-item>span{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:18px 0}.gallery-item b{font-size:20px;font-weight:400}.contact{display:grid;grid-template-columns:1fr 1.8fr;gap:9%;padding-top:30px}.contact-title h2{margin-bottom:25px}.contact-title p{color:var(--muted)}.contact-logo{width:130px;margin:45px 0;opacity:.8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 55px}.contact-grid h3{font-size:20px;margin-bottom:15px}.contact-grid p{font-size:15px;margin-bottom:13px}.contact-grid a{font-size:15px;color:#b93606;display:inline-block;margin-right:15px}.faq{margin-top:55px}.faq>h3{margin-bottom:25px;font-size:22px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:16px;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--orange);font-size:20px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 25px 25px 0;font-size:14px;color:var(--muted)}.last-photo{height:530px}.last-photo>img{object-position:50% 60%}.last-photo .photo-copy{top:16%}.last-photo:after{background:linear-gradient(90deg,#071207b5,transparent 80%)}footer{padding:65px var(--gutter) 25px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.footer-top p{font-size:13px}.footer-top>div{display:flex;gap:24px;font-size:13px;padding-top:12px}.source-note{border-top:1px solid var(--line);margin-top:45px;padding:22px 0;font-size:11px}.source-note summary{cursor:pointer}.source-note p{max-width:900px;font-size:12px;margin-top:20px}.source-note a{text-decoration:underline}.version-links{display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted)}.version-links>div{display:flex;gap:22px}.version-links a{text-decoration:underline;text-underline-offset:3px}.mobile-dock{display:none}dialog{border:0;padding:10px;background:var(--paper);width:min(1050px,92vw);max-width:92vw;color:var(--green)}dialog::backdrop{background:#071207dc}.dialog-close{position:absolute;top:12px;right:12px;background:var(--paper);border:0;width:42px;height:42px;font-size:28px;z-index:2}dialog img{max-height:80vh;object-fit:contain}dialog p{text-align:center;padding:15px;font-size:14px}body.modal-open{overflow:hidden}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-visible{opacity:1;transform:none}
@media(min-width:1650px){body{max-width:1920px;margin:auto}.hero h1{font-size:min(24.3vw,450px)}}
@media(max-width:1050px){.hero{padding-top:65px}.site-header nav{gap:24px}.site-header{gap:25px}.brand span{font-size:21px}.parent-brand{font-size:40px}.branch{top:-70px}.hero-foot{margin-top:35px}.wide-photo{height:650px}.split-copy{padding:65px 10%}.split-copy h2{font-size:36px}.split-photo img{min-height:550px}.hotpot img{min-height:0}.story-copy{padding:65px 10%}.story-photo{padding-top:60px;padding-bottom:60px}.story-photo img{height:630px}.story h2{font-size:39px}.menu-list{gap:40px}.menu-line{display:block}.menu-line span{display:block;margin-top:10px}.statement-copy h2{font-size:56px}.contact{gap:6%;grid-template-columns:1fr 1.5fr}.contact-grid{gap:35px 20px}.contact-title h2{font-size:37px}.gallery-item img{height:290px}.footer-top{gap:25px}.footer-top>div{gap:15px}.footer-top .brand span{font-size:18px}}
@media(max-width:650px){:root{--gutter:20px}html{scroll-padding-top:20px}.topline{display:none}.site-header{padding:20px var(--gutter);height:82px;justify-content:space-between}.brand{gap:9px}.brand img{width:38px;height:38px}.brand span{font-size:22px}.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:space-between;background:none;border:0;width:40px;height:40px;padding:9px 4px}.menu-toggle span{display:block;width:31px;height:2px;background:var(--orange);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(10px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-10px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:28px 20px 35px;background:var(--paper);border-bottom:1px solid var(--line);font-size:17px;margin:0;box-shadow:0 15px 20px #162b1510}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.site-header nav a{padding:10px 0}.hero{padding:22px var(--gutter) 50px}.parent-brand{font-size:30px;line-height:1.3}.hero h1{font-size:24vw;line-height:1.3;letter-spacing:-.094em;margin-top:10px;margin-left:-2px}.branch{width:45%;right:-2%;top:-15px;z-index:2}.hero-foot{display:block;margin-top:30px}.location{font-size:13px;gap:13px;line-height:1.9}.location strong{font-size:18px;font-weight:500}.location-line{height:44px;width:2px}.hero-intro{width:100%;margin-top:27px}.hero-intro p{font-size:15px;line-height:1.9;margin-bottom:20px}.button{font-size:14px;padding:14px 24px;min-height:48px}.wide-photo{height:490px}.intro-photo>img{object-position:59% center}.wide-photo:after{background:linear-gradient(180deg,#0712079c,transparent 85%)}.photo-copy{top:32px;left:var(--gutter);right:var(--gutter);max-width:none}.photo-copy h2{font-size:35px;line-height:1.4;margin:15px 0 20px}.photo-copy p{font-size:14px}.small-label{font-size:12px;margin-bottom:18px}.white-link{font-size:13px;margin-top:15px;padding:10px 0}.section{padding:65px var(--gutter)}h2{font-size:34px;letter-spacing:-.8px}p{font-size:15px;line-height:1.9}.section-title{margin-bottom:30px}.section-title h2{font-size:34px;margin-bottom:22px}.section-title>p:last-child{font-size:14px}.section-title br{display:none}.menu-list{grid-template-columns:1fr;gap:0}.menu-list article{padding:26px 0 30px}.menu-line{display:flex;gap:20px;margin-bottom:16px}.menu-line h3{font-size:21px}.menu-line span{font-size:11px;margin:0}.menu-list p{font-size:14px}.menu-note{font-size:11px;text-align:left;margin-top:25px}.split{grid-template-columns:1fr}.split-copy{padding:50px var(--gutter) 58px}.split-copy h2{font-size:33px;margin-bottom:25px}.split-copy p{font-size:15px}.split-photo img{height:420px;min-height:0}.hotpot{padding:35px 0 20px}.hotpot img{height:auto}.credit{margin-top:13px;font-size:9px}.ice-split .split-photo{grid-row:1}.ice-split .split-copy{grid-row:2}.ice-split .split-photo img{height:440px}.brand-statement{padding:55px var(--gutter) 65px;min-height:0;gap:0;position:relative;grid-template-columns:1fr 1fr}.statement-copy{position:relative;z-index:1}.statement-copy>p{font-size:12px;margin-bottom:22px;white-space:nowrap}.statement-copy h2{font-size:35px;line-height:1.4}.statement-art{height:260px}.statement-art img{width:230px;max-width:none;position:absolute;top:5px;right:-23px;transform:rotate(-10deg)}.statement-art span{width:84px;height:84px;font-size:24px;left:4px;bottom:0;letter-spacing:2px}.story{grid-template-columns:1fr}.story-photo{padding:45px 25px 0 38px;background:linear-gradient(90deg,var(--green) 0 15px,var(--orange) 15px 20px,var(--paper) 20px 25px,var(--green) 25px 100%)}.story-photo img{height:380px;object-position:50%}.story-copy{padding:45px var(--gutter) 60px}.story-copy h2{font-size:35px;line-height:1.4}.story-copy p{font-size:15px;margin-bottom:20px}.story-copy .button{margin-top:10px}.album-title{display:block;margin-bottom:30px}.album-title h2{font-size:33px}.album-title .text-link{font-size:13px;margin-top:12px}.gallery{grid-template-columns:1fr 1fr;gap:18px}.gallery-item:first-child{grid-column:1/-1}.gallery-item:first-child img{height:260px}.gallery-item img{height:230px}.gallery-item>span{font-size:12px;padding:12px 0}.contact{grid-template-columns:1fr;gap:35px;padding-top:10px}.contact-title h2{font-size:34px}.contact-title p{font-size:14px}.contact-logo{display:none}.contact-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.contact-grid h3{font-size:18px;margin-bottom:10px}.contact-grid p,.contact-grid a{font-size:13px}.contact-grid a{line-height:1.9}.faq{margin-top:35px}.faq>h3{font-size:22px}.faq summary{font-size:15px;line-height:1.8;padding:19px 0}.faq details p{font-size:14px}.last-photo{height:450px}.last-photo .photo-copy{top:40px}.last-photo>img{object-position:60%}.last-photo:after{background:linear-gradient(90deg,#071207b5,transparent 100%)}.last-photo .photo-copy h2{font-size:34px}.last-photo .button{margin-top:10px}footer{padding:45px var(--gutter) 95px}.footer-top{display:block}.footer-top .brand span{font-size:22px}.footer-top p{font-size:13px;margin-top:25px}.footer-top>div{margin-top:22px;gap:25px;font-size:13px}.source-note{margin-top:30px;padding:20px 0}.version-links{font-size:10px;gap:15px}.version-links>div{gap:15px}.mobile-dock{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:10;background:var(--paper);padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:10px}.mobile-dock a{display:flex;justify-content:center;align-items:center;min-height:44px;width:50%;font-size:14px;border:1px solid var(--green);background:var(--green);color:var(--paper);border-radius:2px}.mobile-dock a:last-child{background:none;color:var(--green)}dialog{max-width:95vw;width:95vw;padding:7px}dialog img{max-height:75vh}dialog p{font-size:12px}.reveal-ready{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}

/* The site's interface uses the same three inks as the citrus illustration. */
:root{
 --paper:#fefcfa;
 --green:#162b15;
 --orange:#cf4615;
 --muted:rgba(22,43,21,.72);
 --line:rgba(22,43,21,.22);
}
.topline{background:var(--orange)}
.site-header,.site-header nav,.mobile-dock{background:var(--paper)}
.header-contact{background:var(--orange);color:var(--paper)}
.hero,.menu-section,.food-split .split-copy,.ice-split .split-copy,
.brand-statement,.album,.contact,footer{background:var(--paper)}
.hero h1{color:var(--orange)}
.menu-section{background:var(--orange);color:var(--paper);--muted:rgba(254,252,250,.88);--line:rgba(254,252,250,.45)}
.menu-section .section-title .small-label,.menu-section .menu-line>span{color:var(--paper)}
.button:not(.light){background:var(--orange);color:var(--paper)}
.mobile-dock a{background:var(--orange);border-color:var(--orange);color:var(--paper)}
.mobile-dock a:last-child{background:var(--paper);color:var(--orange)}
.hero .parent-brand,.section-title .small-label,.menu-line>span,
.split-copy .small-label,.contact-grid a{color:var(--orange)}
.hotpot{background:var(--paper)}
.brand-statement{color:var(--green);border-top:1px solid var(--line)}
.statement-art span{background:var(--green);color:var(--paper)}
.story{background:var(--green);color:var(--paper)}
.story-photo{background:linear-gradient(90deg,var(--green) 0 10%,var(--orange) 10% 12%,var(--paper) 12% 15%,var(--green) 15% 100%)}
.story-copy p{color:var(--paper)}
.album{border-bottom:1px solid var(--line)}
.photo-copy p{color:var(--paper)}
.white-link{border-bottom-color:rgba(254,252,250,.55)}
.wide-photo:after{background:linear-gradient(90deg,rgba(22,43,21,.72),transparent 85%)}
.last-photo:after{background:linear-gradient(90deg,rgba(22,43,21,.8),transparent 80%)}
.button:hover{background:var(--orange)}
dialog::backdrop{background:rgba(22,43,21,.88)}
.text-link:hover{color:var(--orange)}
.intro-photo>img{object-position:center 52%}
.gallery-item img{object-position:center}
@media(min-width:651px) and (max-width:1050px){.statement-art span{bottom:-18%;left:8%}}
@media(max-width:650px){
 .intro-photo>img{object-position:51% center}
 .intro-photo:after{background:linear-gradient(180deg,rgba(22,43,21,.72),transparent 78%)}
 .story-photo{background:linear-gradient(90deg,var(--green) 0 15px,var(--orange) 15px 20px,var(--paper) 20px 25px,var(--green) 25px 100%)}
 .story-photo img{object-position:center 50%}
 .album .gallery-item img{object-position:center}
 .last-photo:after{background:linear-gradient(90deg,rgba(22,43,21,.8),transparent 100%)}
}

/* September 30: venue details, delivery offers and dining information. */
.season-copy{margin-top:18px}
.statement-art .care-label{font-size:36px;line-height:1.25;text-align:center;align-content:center}
.service-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}
.service-heading .small-label{color:var(--orange)}
.service-heading>p{max-width:320px;color:var(--muted)}
.delivery{border-bottom:1px solid var(--line)}
.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.delivery-options article{border-top:2px solid var(--orange);padding:28px 0}
.delivery-options h3{font-size:27px;margin-bottom:20px}
.delivery-minimum{margin-bottom:22px}
.delivery-minimum strong{display:block;font-size:38px;font-weight:600;color:var(--orange);line-height:1.5}
.delivery-options dl{margin:0 0 20px}
.delivery-options dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:16px;line-height:1.8}
.delivery-options dt{font-weight:500}
.delivery-options dd{margin:0}
.delivery-options article>p:last-child{font-size:14px;color:var(--muted)}
.delivery-action{display:flex;gap:28px;align-items:center;margin-top:12px}
.dining-list{list-style:none;counter-reset:dining;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:30px 60px}
.dining-list li{counter-increment:dining;border-top:1px solid var(--line);padding:25px 0 0 46px;position:relative}
.dining-list li:before{content:counter(dining,decimal-leading-zero);position:absolute;left:0;top:28px;color:var(--orange);font-size:14px}
.dining-list h3{font-size:22px;margin-bottom:14px}
.dining-list p{font-size:15px}
@media(min-width:651px) and (max-width:1050px){.site-header nav{gap:16px;font-size:13px}.header-contact{display:none}.delivery-options,.dining-list{gap:30px}.service-heading h2{font-size:38px}}
@media(max-width:650px){
 .intro-photo{height:auto;min-height:740px;display:grid;align-items:start}
 .intro-photo>img{position:absolute;inset:0;width:100%;height:100%;object-position:51% center}
 .intro-photo:after{display:block;background:linear-gradient(180deg,rgba(22,43,21,.84) 0%,rgba(22,43,21,.62) 62%,rgba(22,43,21,.08) 100%)}
 .intro-photo .photo-copy{position:relative;top:auto;left:auto;right:auto;padding:36px var(--gutter) 180px;color:var(--paper)}
 .intro-photo .photo-copy p{color:var(--paper)}
 .statement-art .care-label{font-size:21px;line-height:1.25}
 .ice-split .split-copy h2{font-size:30px;letter-spacing:-1px}
 .service-heading{display:block;margin-bottom:30px}
 .service-heading h2{font-size:32px}
 .service-heading>p{font-size:14px;margin-top:24px}
 .delivery-options,.dining-list{grid-template-columns:1fr;gap:12px}
 .delivery-options article{padding:25px 0}
 .delivery-options h3{font-size:24px}
 .delivery-minimum strong{font-size:34px}
 .delivery-options dl>div{grid-template-columns:80px 1fr;gap:15px;font-size:15px}
 .delivery-action{flex-wrap:wrap;gap:18px}
 .dining-list li{padding:24px 0 20px 36px}
 .dining-list h3{font-size:21px}
 .dining-list li:before{top:27px;font-size:12px}
}

@media(max-width:650px){.contact-grid .opening-hours{grid-column:1/-1}}

/* Delivery polish: keyboard focus, anchors and stable intrinsic image sizes. */
html{scroll-padding-top:24px}
:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.photo-copy :focus-visible,.story-copy :focus-visible{outline-color:var(--paper)}
.brand img,.contact-logo{height:auto}
.contact-grid a{overflow-wrap:anywhere}
@media(max-width:650px){.version-links{flex-wrap:wrap;line-height:1.8}.white-link{min-height:44px}.contact-grid a{display:inline-block;min-height:44px;padding:6px 0}}

footer .version-links{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.hotpot .credit{display:block}

/* Official social links: retain brand palette and mobile touch targets. */
.official-links a{display:block;width:fit-content;min-height:44px;padding:6px 0}
.footer-top>div{flex-wrap:wrap}
@media(max-width:650px){.mobile-dock{gap:8px}.mobile-dock a{width:auto;flex:1;font-size:13px}.mobile-dock a[href^="https://lin.ee"]{background:var(--paper);color:var(--orange);border-color:var(--orange)}.official-links{grid-column:1/-1}.footer-top>div a{min-height:44px;display:inline-flex;align-items:center}}

/* Official LINE floating contact; keep clear of mobile navigation. */
.line-float{position:fixed;right:24px;bottom:24px;z-index:11;display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:14px 18px;border-radius:999px;background:var(--green);color:var(--paper);border:1px solid var(--paper);box-shadow:0 4px 16px rgba(22,43,21,.18);font-size:14px;font-weight:600}
.line-float svg{flex-shrink:0}
.line-float:hover{background:var(--orange)}
body.modal-open .line-float{visibility:hidden}
@media(max-width:650px){.line-float{right:14px;bottom:calc(84px + env(safe-area-inset-bottom));min-height:52px;padding:12px 15px;font-size:13px;gap:7px}.line-float svg{width:20px;height:20px}.mobile-dock a{font-size:14px}}

/* Mobile reading pass: body copy 17px, controls 16px, secondary labels 14px+. */
@media(max-width:650px){
 body{font-size:17px}
 p,.hero-intro p,.photo-copy p,.section-title>p:last-child,.menu-list p,
 .menu-note,.split-copy p,.story-copy p,.contact-title p,.contact-grid p,
 .contact-grid a,.faq details p,.service-heading>p,.delivery-options article>p:last-child,
 .dining-list p,.footer-top p{font-size:1.0625rem;line-height:1.85}
 .location{font-size:1rem;line-height:1.8}
 .location strong{font-size:1.1875rem}
 .small-label,.menu-line span,.statement-copy>p,.gallery-item>span,
 .credit,dialog p,.version-links{font-size:.875rem;line-height:1.75}
 .statement-copy>p{font-size:.9375rem;white-space:normal;max-width:12em}
 .menu-line{align-items:flex-start;flex-wrap:wrap;gap:8px 16px}
 .menu-line h3{font-size:1.375rem}
 .menu-note{font-size:1rem}
 .button,.white-link,.text-link,.album-title .text-link,.footer-top>div,
 .mobile-dock a,.faq summary{font-size:1rem;line-height:1.6}
 .button,.white-link,.text-link,.site-header nav a{min-height:48px}
 .menu-toggle{width:44px;height:44px;padding:11px 6px}
 .contact-grid h3{font-size:1.25rem}
 .contact-grid a{margin-right:0}
 .delivery-options dl>div{font-size:1.0625rem;grid-template-columns:5em 1fr;gap:14px}
 .dining-list h3{font-size:1.375rem}
 .line-float{font-size:.9375rem;min-height:52px;bottom:calc(92px + env(safe-area-inset-bottom))}
 .mobile-dock a{min-height:48px}
 .footer-top>div{gap:12px 24px}
 .version-links{display:block}
 .version-links>span{display:block;margin-top:8px}
 .intro-photo .photo-copy{padding-bottom:180px}
}
@media(max-width:420px){.contact-grid{grid-template-columns:1fr;gap:28px}.delivery-options dl>div{grid-template-columns:4.5em 1fr}.menu-line{display:block}.menu-line span{margin-top:6px}}
@media(max-width:650px){
 .brand-statement{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .statement-copy{min-width:0}
 .statement-copy>p{width:calc(100vw - 40px);max-width:none}
 .statement-copy h2{font-size:clamp(27px,8.5vw,35px);white-space:nowrap}
 .statement-art img{width:min(56vw,230px)}
}
@media(max-width:650px){
 html{scroll-padding-bottom:160px}
 footer{padding-bottom:calc(160px + env(safe-area-inset-bottom))}
 .site-header nav.open{max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain}
 .faq summary{min-height:56px;align-items:center}
 .faq summary span{flex-shrink:0}
 .gallery-item>span{min-height:48px}
}
