/* Shared editorial rhythm for the corporate home and Dining Design only.
   Keep storefronts, existing copy, image focus and the four-column gallery intact. */
:is(.shm-editorial-home, .shm-dining) {
  --sino-editorial-gap:clamp(32px,5vw,72px);
  --sino-editorial-space:clamp(64px,6.25vw,96px);
  --sino-editorial-light:#fdfdfc;
  --sino-editorial-stone:var(--sino-paper);
}

/* Full-width photograph, then a balanced two-column caption in normal flow. */
body.sino-brand-home .shm-editorial-home .shm-brand-hero { padding:0; background:var(--sino-editorial-light); }
.shm-editorial-home .shm-brand-hero__media { width:100%; height:clamp(280px,26vw,420px); min-height:0; aspect-ratio:auto; border-radius:0; }
body.sino-brand-home .shm-editorial-home .shm-brand-hero__caption {
  display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,1fr); align-items:center;
  gap:var(--sino-editorial-gap); width:min(calc(100% - 2 * var(--sino-shell-gutter)),var(--sino-shell-max));
  margin:0 auto; padding:40px 0 28px; background:transparent; transform:none;
}
.shm-editorial-home.has-scroll-motion .shm-brand-hero__caption::before { content:none; }
.shm-editorial-home .shm-brand-hero__caption h1 {
  margin:0; font-size:clamp(40px,3.8vw,60px); line-height:1.16;
  letter-spacing:-.043em; color:var(--sino-navy); text-wrap:pretty;
}
.shm-editorial-home .shm-brand-hero__detail { min-width:0; }
.shm-editorial-home .shm-brand-hero__caption .shm-brand-hero__promise {
  margin:0 0 12px; max-width:440px; font:400 clamp(15px,1.3vw,18px)/1.7 var(--shm-sans);
  letter-spacing:0; color:var(--sino-navy);
}
.shm-editorial-home .shm-brand-hero__explore { margin-top:0; }
.shm-dining .sdd-hero__copy { padding-block:40px 28px; }
.shm-dining .sdd-hero { background:var(--sino-paper); }
.shm-editorial-home .shm-brand-divisions { background:var(--sino-editorial-light); gap:clamp(20px,2vw,30px); padding-block:40px 72px; }
/* Stable columns and quiet photographs replace the glowing, expanding gallery. */
.shm-editorial-home .shm-brand-divisions::before,
.shm-editorial-home .shm-brand-divisions::after { content:none; display:none; }
.shm-editorial-home .shm-brand-division__photo { border-radius:2px; }
.shm-editorial-home .shm-brand-divisions h2 { padding-inline:0; font-size:clamp(23px,1.8vw,28px); }
.shm-editorial-home .shm-brand-progress { display:none; }
@media(min-width:901px) {
  .shm-editorial-home #bereiche { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* A short proof band with three equally weighted figures and a low panorama. */
.shm-editorial-home .shm-brand-statistics {
  padding-block:56px; gap:36px;
  background:var(--sino-editorial-stone);
}
.shm-editorial-home .shm-brand-stat { gap:16px; }
.shm-editorial-home .shm-brand-stat strong { font-size:clamp(64px,7.3vw,108px); }
.shm-editorial-home .shm-brand-statistics__photo { height:clamp(180px,16vw,220px); aspect-ratio:auto; border-radius:2px; }
.shm-editorial-home .shm-brand-stat__label { font-size:11px; }

/* Three complete stories, with less empty space and clearer type hierarchy. */
.shm-editorial-home .shm-brand-reasons { padding-block:var(--sino-editorial-space); background:var(--sino-editorial-light); }
.shm-editorial-home .shm-brand-reasons__heading { gap:32px; margin-bottom:48px; }
.shm-editorial-home .shm-brand-reasons__heading h2 { font-size:clamp(46px,4.5vw,64px); }
.shm-editorial-home .shm-brand-reasons__lead { font-size:clamp(24px,2.1vw,29px); }
.shm-editorial-home .shm-brand-reasons__list { gap:72px; }
.shm-editorial-home .shm-brand-reason { grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:var(--sino-editorial-gap); }
.shm-editorial-home .shm-brand-reason:nth-child(2) { grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); }
.shm-editorial-home .shm-brand-reason__photo { aspect-ratio:1.6; border-radius:2px; }
.shm-editorial-home .shm-brand-reason h3 { font-size:clamp(27px,2.4vw,34px); line-height:1.24; margin-bottom:18px; color:var(--sino-navy); }
.shm-editorial-home .shm-brand-reason h3 > span { display:none; }
.shm-editorial-home .shm-brand-reason p { max-width:650px; font-size:15px; line-height:1.85; }
.shm-editorial-home .shm-brand-reason__copy { padding:0; }

/* Service titles are a static list; descriptions remain in the content settings. */
.shm-dining .sdd-section { padding-block:var(--sino-editorial-space); }
.shm-dining .sdd-services { background:var(--sino-editorial-light); }
.shm-dining .sdd-section h2 { font-size:clamp(34px,3.65vw,52px); line-height:1.13; }
.shm-dining .sdd-services__grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--sino-editorial-gap); align-items:start; }
.shm-dining .sdd-services__photo { height:clamp(560px,49vw,690px); top:40px; border-radius:5px; }
.shm-dining .sdd-intro { margin-top:20px; font-size:15px; line-height:1.75; }
.shm-dining .sdd-service-list { display:block; margin:28px 0 0; }
.shm-dining .sdd-service-list li { padding:0; border-top:1px solid #051d3c1a; }
.shm-dining .sdd-service-list li:last-child { border-bottom:1px solid #051d3c1a; }
.shm-dining .sdd-service-list--static > li > .sdd-service-title {
  margin:0; padding:22px 0; color:var(--sino-navy);
  font:600 clamp(20px,1.5vw,24px)/1.3 var(--shm-sans);
}
@media (max-width:767px) {
  .shm-dining .sdd-service-list--static > li > .sdd-service-title { padding:20px 0; font-size:20px; }
}
.shm-dining .sdd-service-list details { margin:0; padding:0; }
.shm-dining .sdd-service-list summary {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  min-height:60px; padding:15px 0; list-style:none; cursor:pointer;
}
.shm-dining .sdd-service-list summary::-webkit-details-marker { display:none; }
.shm-dining .sdd-service-list summary h3 { margin:0; font:500 16px/1.5 var(--shm-sans); transition:color .5s; }
.shm-dining .sdd-service-list details[open] summary h3,
.shm-dining .sdd-service-list summary:hover h3 { color:var(--sino-burgundy); }
.shm-dining .sdd-service-list summary:focus-visible { outline:2px solid var(--sino-burgundy); outline-offset:4px; border-radius:2px; }
.shm-dining .sdd-service-toggle { position:relative; width:16px; height:16px; flex:0 0 16px; color:var(--sino-burgundy); }
.shm-dining .sdd-service-toggle::before,.shm-dining .sdd-service-toggle::after {
  content:''; position:absolute; top:7px; left:1px; width:14px; height:1px; background:currentColor;
}
.shm-dining .sdd-service-toggle::after { transform:rotate(90deg); transition:transform .5s; }
.shm-dining details[open] .sdd-service-toggle::after { transform:rotate(0); }
.shm-dining .sdd-service-list .sdd-service-description p { padding:0 36px 20px 0; margin:0; font-size:14px; line-height:1.8; }
@supports (interpolate-size:allow-keywords) {
  .shm-dining .sdd-service-list details { interpolate-size:allow-keywords; }
  .shm-dining .sdd-service-list details::details-content {
    block-size:0; overflow:clip; transition:block-size .55s cubic-bezier(.22,1,.36,1),content-visibility .55s allow-discrete;
  }
  .shm-dining .sdd-service-list details[open]::details-content { block-size:auto; }
}

/* One lead project and two supporting frames; every caption stays outside its photo. */
.shm-dining .sdd-projects { background:var(--sino-editorial-stone); }
.shm-dining .sdd-section-heading { margin-bottom:36px; gap:28px; }
.shm-dining .sdd-project-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:30px 36px; align-items:stretch; }
.shm-dining .sdd-project { display:grid; grid-template-rows:minmax(0,1fr) auto auto; min-width:0; }
.shm-dining .sdd-project:first-child { grid-row:span 2; }
.shm-dining .sdd-project__photo { position:relative; aspect-ratio:16/7; min-height:0; border-radius:5px; }
.shm-dining .sdd-project:first-child .sdd-project__photo { aspect-ratio:auto; min-height:420px; }
.shm-dining .sdd-project__photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.shm-dining .sdd-project h3 { margin:18px 0 8px; font-size:26px; line-height:1.2; }
.shm-dining .sdd-project:first-child h3 { font-size:32px; }
.shm-dining .sdd-project p { margin:0; max-width:550px; font-size:14px; line-height:1.65; }
.shm-dining .sdd-projects-note { margin-top:24px; font-size:11px; }
.shm-dining .sdd-why { background:var(--sino-editorial-light); }
.shm-dining .sdd-reasons { gap:40px; }
.shm-dining .sdd-reason-index { font-size:40px; margin-bottom:20px; }
.shm-dining .sdd-reasons h3 { font-size:27px; margin-bottom:14px; }
.shm-dining .sdd-reasons p { font-size:14px; line-height:1.8; }

/* Limit the saturated background to the invitation; practical details return to paper. */
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact {
  padding:60px var(--shm-panel-padding) 0;
  background:var(--sino-burgundy); color:var(--sino-paper);
}
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact__intro p { font-size:clamp(40px,4.4vw,64px); max-width:720px; }
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact :is(h2,.shm-brand-contact__intro p,.shm-brand-contact__button) { color:var(--sino-paper); }
:is(.shm-editorial-home,.shm-dining) .shm-brand-contact :is(address,.shm-brand-contact__hours) { color:#48505a; }
:is(.shm-editorial-home,.shm-dining) .shm-brand-contact__details {
  margin:48px calc(-1 * var(--shm-panel-padding)) 0;
  padding:40px var(--shm-panel-padding) 0; border:0;
  background:var(--sino-paper); color:var(--sino-navy);
}
:is(.shm-editorial-home,.shm-dining) .shm-brand-contact__details a:hover { color:var(--sino-burgundy); text-decoration:underline; text-underline-offset:5px; }
:is(.shm-editorial-home,.shm-dining) .shm-brand-contact__button::before { border-color:var(--sino-paper); }
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact__button:is(:hover,:focus-visible) { color:var(--sino-burgundy); }
:is(.shm-editorial-home,.shm-dining) .shm-brand-contact__button:is(:hover,:focus-visible)::before { background:var(--sino-paper); }
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact__button:focus-visible { outline-color:var(--sino-paper); }
body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact__details a:focus-visible { outline-color:var(--sino-burgundy); }
:is(.shm-editorial-home,.shm-dining) .shm-brand-footer { background:var(--sino-paper); padding-top:56px; }
:is(.shm-editorial-home,.shm-dining) .shm-brand-footer__signature { margin-top:40px; font-size:clamp(58px,10.8vw,174px); }

/* Homepage-only light closing chapter. Dining retains its existing wine invitation. */
body.sino-brand-home .shm-editorial-home .shm-brand-contact { background:var(--sino-paper); color:var(--sino-navy); }
body.sino-brand-home .shm-editorial-home .shm-brand-contact :is(h2,.shm-brand-contact__intro p) { color:var(--sino-burgundy); }
body.sino-brand-home .shm-editorial-home .shm-brand-contact__intro p { font-size:clamp(36px,3.8vw,54px); max-width:620px; }
body.sino-brand-home .shm-editorial-home .shm-brand-contact a.shm-brand-contact__button { color:var(--sino-navy); }
.shm-editorial-home .shm-brand-contact__button::before { border-color:var(--sino-burgundy); }
body.sino-brand-home .shm-editorial-home .shm-brand-contact a.shm-brand-contact__button:is(:hover,:focus-visible) { color:var(--sino-paper); }
.shm-editorial-home .shm-brand-contact__button:is(:hover,:focus-visible)::before { background:var(--sino-burgundy); }
body.sino-brand-home .shm-editorial-home .shm-brand-contact__button:focus-visible { outline-color:var(--sino-burgundy); }
.shm-editorial-home .shm-brand-footer__signature { font-size:clamp(54px,8vw,116px); }
.shm-editorial-home .shm-brand-footer__signature .shm-brand-logo { max-width:min(100%,480px); max-height:130px; }

/* Photo-only parallax is progressive; unsupported browsers keep a static image. */
@supports (animation-timeline:view()) {
 @media(min-width:901px) and (prefers-reduced-motion:no-preference) {
  .shm-dining .sdd-project:first-child .sdd-project__photo img {
    inset:-18px 0 auto; height:calc(100% + 36px);
    animation:sino-project-drift linear both; animation-timeline:view(); animation-range:entry 0% exit 100%;
  }
 }
}
@keyframes sino-project-drift { from { translate:0 -12px; } to { translate:0 12px; } }

@media(max-width:900px) {
 body.sino-brand-home .shm-editorial-home .shm-brand-hero__caption { grid-template-columns:1fr; gap:22px; padding-block:32px 20px; }
 .shm-editorial-home .shm-brand-hero__caption h1 { max-width:720px; }
 .shm-editorial-home .shm-brand-stat strong { font-size:clamp(56px,8.4vw,90px); }
 .shm-editorial-home .shm-brand-reasons__list { gap:48px; }
 .shm-editorial-home .shm-brand-reason,.shm-editorial-home .shm-brand-reason:nth-child(2) { grid-template-columns:1fr 1fr; gap:32px; }
 .shm-editorial-home .shm-brand-reason__photo { aspect-ratio:1.1; }
 .shm-dining .sdd-services__grid { grid-template-columns:1fr; gap:32px; }
 .shm-dining .sdd-services__photo { height:320px; position:relative; top:auto; }
 .shm-dining .sdd-project-grid { gap:28px; }
 .shm-dining .sdd-project:first-child .sdd-project__photo { min-height:360px; }
 .shm-dining .sdd-reasons { gap:26px; }
}
@media(max-width:600px) {
 .shm-editorial-home .shm-brand-hero__media { height:240px; }
 .shm-editorial-home .shm-brand-hero__caption h1 { font-size:clamp(34px,8.5vw,44px); }
 .shm-editorial-home .shm-brand-statistics { padding-block:36px; gap:28px; }
 .shm-editorial-home .shm-brand-stat { gap:12px; }
 .shm-editorial-home .shm-brand-stat strong { font-size:clamp(38px,10vw,60px); }
 .shm-editorial-home .shm-brand-stat__label { font-size:9px; letter-spacing:.025em; }
 .shm-editorial-home .shm-brand-statistics__photo { height:180px; }
 .shm-editorial-home .shm-brand-reasons__heading h2 { font-size:48px; }
 .shm-editorial-home .shm-brand-reason,.shm-editorial-home .shm-brand-reason:nth-child(2) { grid-template-columns:1fr; gap:26px; }
 .shm-editorial-home .shm-brand-reason__photo { aspect-ratio:1.5; }
 .shm-dining .sdd-project-grid { grid-template-columns:1fr; gap:32px; }
 .shm-dining .sdd-project:first-child { grid-row:auto; }
 .shm-dining .sdd-project__photo,.shm-dining .sdd-project:first-child .sdd-project__photo { aspect-ratio:4/3; min-height:0; }
 .shm-dining .sdd-project:first-child h3 { font-size:26px; }
 .shm-dining .sdd-reasons { gap:32px; }
 body.sino-brand-home :is(.shm-editorial-home,.shm-dining) .shm-brand-contact { padding-block:48px 0; }
 :is(.shm-editorial-home,.shm-dining) .shm-brand-footer__signature { font-size:12vw; }
}
@media(prefers-reduced-motion:reduce) {
 .shm-dining .sdd-service-list details::details-content,.shm-dining .sdd-service-toggle::after { transition:none; }
}
