/* Dining Design only. Keep the established corporate palette and shared shell. */
.shm-dining { background:var(--sino-paper); }
html:has(.shm-dining) { scroll-behavior:smooth; }
.shm-dining .sdd-hero { display:block; padding:0; }
.shm-dining .sdd-hero::before { display:none; }
.shm-dining .shm-brand-wordmark { flex-direction:column; align-items:flex-start; gap:5px; }
.shm-dining .shm-brand-wordmark small { font:500 9px/1.2 var(--sino-shell-font); letter-spacing:.22em; text-transform:uppercase; }
.shm-dining .sdd-shell { width:min(calc(100% - 2 * var(--sino-shell-gutter)),var(--sino-shell-max)); margin-inline:auto; }
.shm-dining section { scroll-margin-top:32px; }
.shm-dining .sdd-kicker { margin:0 0 22px; font:500 11px/1.5 var(--shm-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--sino-burgundy); }
.shm-dining :is(.sdd-hero__copy h1,.sdd-section h2) { color:var(--sino-burgundy); letter-spacing:-.045em; line-height:1.1; }
.shm-dining .sdd-section h2 { font-size:clamp(36px,4.4vw,66px); }
.shm-dining .sdd-hero__media { position:relative; height:clamp(280px,26vw,420px); overflow:hidden; border-radius:0; background:#e3e0dc; }
.shm-dining .sdd-hero__media :is(img,video) { width:100%; height:100%; display:block; object-fit:cover; }
/* One editorial caption, not an opaque card laid over the photograph. */
.shm-dining .sdd-hero__copy { display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,1fr); align-items:center; gap:clamp(32px,5vw,72px); width:min(calc(100% - 2 * var(--sino-shell-gutter)),var(--sino-shell-max)); margin:0 auto; padding:44px 0 28px; }
.shm-dining .sdd-hero__title,.shm-dining .sdd-hero__detail { min-width:0; }
.shm-dining .sdd-hero__copy .sdd-kicker { display:flex; align-items:center; gap:14px; margin:0 0 18px; font-size:10px; letter-spacing:.19em; }
.shm-dining .sdd-hero__copy .sdd-kicker::before { content:''; width:28px; height:1px; background:currentColor; }
.shm-dining .sdd-hero__copy h1 { margin:0; font-size:clamp(42px,4.1vw,66px); line-height:1.13; letter-spacing:-.043em; color:var(--sino-navy); text-wrap:pretty; overflow-wrap:normal; hyphens:none; }
.shm-dining .sdd-hero__copy h1 span { display:block; }
.shm-dining .sdd-hero__copy h1 span + span { color:var(--sino-burgundy); }
.shm-dining .sdd-hero__lead { max-width:420px; margin:0; font-size:16px; line-height:1.8; color:#48505a; text-wrap:pretty; }
.shm-dining .sdd-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-top:26px; }
.shm-dining :is(.sdd-hero__button,.sdd-hero__secondary) { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:50px; margin:0; font:500 12px/1.5 var(--shm-sans); letter-spacing:0; text-decoration:none; }
.shm-dining :is(.sdd-hero__button,.sdd-hero__secondary) svg { width:19px; height:19px; flex:0 0 19px; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .85s cubic-bezier(.22,1,.36,1); }
.shm-dining .sdd-hero__button { padding:12px 21px; border-radius:999px; background:var(--sino-burgundy); color:var(--sino-paper); transition:background-color .85s,color .85s; }
.shm-dining .sdd-hero__button:is(:hover,:focus-visible) { color:#fff; background:var(--sino-navy); }
.shm-dining .sdd-hero__button:is(:hover,:focus-visible) svg { transform:translateX(3px); }
.shm-dining .sdd-hero__secondary { padding:12px 0; color:var(--sino-navy); transition:color .85s; }
.shm-dining .sdd-hero__secondary:is(:hover,:focus-visible) { color:var(--sino-burgundy); }
.shm-dining .sdd-hero__secondary:is(:hover,:focus-visible) svg { transform:translateY(3px); }
.shm-dining :is(.sdd-hero__button,.sdd-hero__secondary):focus-visible { outline:2px solid var(--sino-navy); outline-offset:5px; }
/* Load-time motion never waits for scrolling or hides content without JavaScript. */
@media(prefers-reduced-motion:no-preference) {
 .shm-dining .sdd-hero__title { animation:sdd-caption-in 1.2s cubic-bezier(.22,1,.36,1) both; }
 .shm-dining .sdd-hero__detail { animation:sdd-caption-in 1.2s .12s cubic-bezier(.22,1,.36,1) both; }
}
@keyframes sdd-caption-in { from { opacity:.25; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.shm-dining .sdd-text-link { display:inline-flex; align-items:center; gap:18px; padding:14px 0; min-height:44px; font-size:13px; color:var(--sino-navy); }
.shm-dining .sdd-text-link span { transition:transform .7s cubic-bezier(.22,1,.36,1); }
.shm-dining .sdd-text-link:hover span { transform:translate(3px,-3px); }
.shm-dining .sdd-section { padding-block:clamp(72px,8vw,120px); }
.shm-dining .sdd-intro { max-width:680px; margin-top:24px; color:#59616b; font-size:15px; line-height:1.85; }
.shm-dining .sdd-services__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px,7vw,108px); align-items:start; }
.shm-dining .sdd-services__photo { position:sticky; top:32px; height:660px; overflow:hidden; border-radius:6px; }
.shm-dining .sdd-services__photo img { width:100%; height:100%; object-fit:cover; }
.shm-dining .sdd-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:40px 0 0; counter-reset:service; }
.shm-dining .sdd-service-list li { position:relative; margin:0; padding-top:16px; border-top:1px solid #051d3c20; }
.shm-dining .sdd-service-list h3 { font:500 15px/1.55 var(--shm-sans); color:var(--sino-navy); }
.shm-dining .sdd-service-list p { margin-top:10px; font-size:13px; line-height:1.8; color:#59616b; }
.shm-dining .sdd-projects { background:linear-gradient(180deg,var(--sino-paper),#eae5df); }
.shm-dining .sdd-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:48px; }
.shm-dining .sdd-section-heading > div { max-width:800px; }
.shm-dining .sdd-section-heading > .sdd-text-link { flex-shrink:0; }
.shm-dining .sdd-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.shm-dining .sdd-project__photo { aspect-ratio:4/5; overflow:hidden; border-radius:6px; }
.shm-dining .sdd-project__photo img { width:100%; height:100%; object-fit:cover; transition:transform 1.5s cubic-bezier(.22,1,.36,1); }
@media (hover:hover) { .shm-dining .sdd-project:hover img { transform:scale(1.04); } }
.shm-dining .sdd-project h3 { margin:22px 0 12px; font-size:28px; letter-spacing:-.02em; }
.shm-dining .sdd-project p { font-size:14px; line-height:1.75; color:#59616b; }
.shm-dining .sdd-projects-note { margin-top:28px; font-size:12px; color:#677079; }
.shm-dining .sdd-why { background:linear-gradient(180deg,#eae5df,var(--sino-paper)); }
.shm-dining .sdd-why .sdd-intro { max-width:310px; margin:0; }
.shm-dining .sdd-reasons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px; }
.shm-dining .sdd-reason-index { display:block; margin-bottom:24px; color:var(--sino-burgundy); font:400 64px/1 var(--shm-serif); letter-spacing:-.045em; }
.shm-dining .sdd-reasons h3 { font-size:30px; margin-bottom:18px; line-height:1.2; letter-spacing:-.02em; }
.shm-dining .sdd-reasons p { font-size:15px; line-height:1.85; color:#59616b; }
.shm-dining .sdd-contact { padding:80px var(--shm-panel-padding); background:radial-gradient(ellipse at 15% 20%,#840d0708,transparent 65%),var(--sino-paper); }
@media(max-width:900px) {
 .shm-dining .sdd-hero__copy { grid-template-columns:1fr; gap:24px; padding:36px 0 20px; }
 .shm-dining .sdd-hero__lead { max-width:580px; }
 .shm-dining .sdd-services__grid { grid-template-columns:1fr; gap:36px; }
 .shm-dining .sdd-services__photo { position:relative; top:auto; height:360px; }
 .shm-dining .sdd-section-heading { align-items:flex-start; flex-direction:column; }
 .shm-dining .sdd-project-grid { gap:18px; }
 .shm-dining .sdd-reasons { gap:28px; }
 .shm-dining .sdd-reasons h3 { font-size:24px; }
}
@media(max-width:600px) {
 .shm-dining .sdd-hero__media { height:240px; }
 .shm-dining .sdd-hero__copy { padding:30px 0 12px; gap:22px; }
 .shm-dining .sdd-hero__copy h1 { font-size:clamp(32px,8.5vw,44px); line-height:1.16; }
 .shm-dining .sdd-hero__lead { font-size:15px; }
 .shm-dining .sdd-actions { gap:10px 20px; margin-top:20px; }
 .shm-dining .sdd-service-list,.shm-dining .sdd-project-grid,.shm-dining .sdd-reasons { grid-template-columns:1fr; }
 .shm-dining .sdd-project-grid { gap:36px; }
 .shm-dining .sdd-project__photo { aspect-ratio:4/3; }
 .shm-dining .sdd-service-list { gap:22px; }
 .shm-dining .sdd-reasons { gap:40px; }
 .shm-dining .sdd-section { padding-block:64px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.shm-dining) { scroll-behavior:auto; } .shm-dining :is(.sdd-project__photo img,.sdd-text-link span,.sdd-hero__button,.sdd-hero__secondary,.sdd-actions svg) { transition:none; transform:none; } }
