/* HOME-SPACE-003: curated photo strip, native proportions and on-demand full-size viewing. */
.ds-home-clarity .hc-hero__foot--space{justify-content:flex-start;padding-block:0;border-top:0}
.ds-home-clarity .hc-hero__foot--space>a{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:none;font-size:12px;text-align:left;color:#d5d7df}
.ds-home-clarity .hc-hero__foot--space>a span{padding:0;font-size:18px;color:#ef7776}
:is(#ds-home-space,#ds-service-space){--dshs-height:clamp(310px,30vw,430px);position:relative;padding:60px 0 48px;border-bottom:1px solid #ffffff20;background:#111317;color:#f4f4f2;scroll-margin-top:90px}
:is(#ds-home-space,#ds-service-space) .dshs-anchor{position:absolute;top:0;scroll-margin-top:90px}
:is(#ds-home-space,#ds-service-space) .dshs-heading{margin-bottom:25px}
:is(#ds-home-space,#ds-service-space) h2{margin-top:12px;font-size:clamp(28px,2.65vw,38px);line-height:1.18;letter-spacing:-.025em}
:is(#ds-home-space,#ds-service-space) .dshs-intro{margin-top:14px;color:#aeb2ba;font-size:14px;line-height:1.6}
:is(#ds-home-space,#ds-service-space) .dshs-track{position:relative;display:flex;align-items:flex-start;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 10px;outline-offset:5px}
:is(#ds-home-space,#ds-service-space) .dshs-track::-webkit-scrollbar{display:none}
:is(#ds-home-space,#ds-service-space) .dshs-slide{flex:0 0 calc(var(--dshs-height)*var(--dshs-ratio));min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
:is(#ds-home-space,#ds-service-space) .dshs-photo{position:relative;display:block;overflow:hidden;height:var(--dshs-height);border:0;border-radius:11px;background:transparent;color:#fff;box-shadow:none}
:is(#ds-home-space,#ds-service-space) .dshs-photo>img,:is(#ds-home-space,#ds-service-space) .dshs-photo>noscript>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
:is(#ds-home-space,#ds-service-space) .dshs-enlarge{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ffffff50;border-radius:50%;background:#11151ba8;font-size:20px;line-height:1;pointer-events:none}
:is(#ds-home-space,#ds-service-space) figcaption{display:block;padding:13px 1px 0;line-height:1.45}
:is(#ds-home-space,#ds-service-space) figcaption strong{display:block;font-size:16px;font-weight:600}
:is(#ds-home-space,#ds-service-space) figcaption>span{display:block;margin-top:4px;font-size:12px;color:#aeb2ba}
:is(#ds-home-space,#ds-service-space) .dshs-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
:is(#ds-home-space,#ds-service-space) .dshs-controls>p{margin:0;color:#aeb2ba;font-size:12px;line-height:1.5}
:is(#ds-home-space,#ds-service-space) .dshs-pager{display:flex;flex-shrink:0;align-items:center;gap:8px}
:is(#ds-home-space,#ds-service-space) .dshs-pager>span{min-width:48px;margin-right:8px;color:#d4d8e0;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#ds-home-space,#ds-service-space) button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #ffffff38;border-radius:8px;background:#20242b;color:#f2f4f8;font:inherit;touch-action:manipulation}
:is(#ds-home-space,#ds-service-space) .dshs-pager>button{font-size:22px;line-height:1}
:is(#ds-home-space,#ds-service-space) button:disabled{opacity:.35}
:is(#ds-home-space,#ds-service-space) button:hover:not(:disabled){background:#2c313b;border-color:#ffffff70}
:is(#ds-home-space,#ds-service-space) :where(a,button,[tabindex]):focus-visible{outline:2px solid #bcefff;outline-offset:4px}
:is(#ds-home-space,#ds-service-space) .dshs-thumbs{display:flex;gap:9px;overflow-x:auto;margin-top:16px;padding:3px 2px 6px;scrollbar-width:none}
:is(#ds-home-space,#ds-service-space) .dshs-thumbs::-webkit-scrollbar{display:none}
:is(#ds-home-space,#ds-service-space) .dshs-thumb{flex:0 0 52px;min-width:0;height:65px;min-height:0;padding:2px;border:1px solid transparent;border-radius:7px;background:transparent;opacity:.65}
:is(#ds-home-space,#ds-service-space) .dshs-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
:is(#ds-home-space,#ds-service-space) .dshs-thumb[aria-pressed=true]{border-color:#ed666d;opacity:1}
:is(#ds-home-space,#ds-service-space) .dshs-thumb:hover{opacity:1}
:is(#ds-home-space,#ds-service-space) .dshs-viewer{width:min(1100px,calc(100vw - 32px));height:min(900px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;border:1px solid #ffffff30;border-radius:14px;background:#101217;color:#f2f4f8;font-family:inherit;overscroll-behavior:contain}
:is(#ds-home-space,#ds-service-space) .dshs-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
:is(#ds-home-space,#ds-service-space) .dshs-viewer::backdrop{background:#030509e8}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px;border-bottom:1px solid #ffffff20}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-head h3{margin:0;font-size:14px;line-height:1.4;font-weight:600}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-head button{font-size:28px;line-height:1}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:10px;overflow:hidden}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-media>img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-media>p{position:absolute;inset:auto 20px 20px;padding:12px;background:#111b;color:#fff;font-size:13px}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;border-top:1px solid #ffffff20}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-foot p{margin:0;font-size:13px;line-height:1.5}
:is(#ds-home-space,#ds-service-space) .dshs-viewer-foot a{display:inline-flex;align-items:center;min-height:44px;color:#acb4c3;font-size:11px;text-decoration:underline;text-underline-offset:4px}
:is(#ds-home-space,#ds-service-space) [hidden]{display:none!important}
@media(min-width:768px){
 :is(#ds-home-space,#ds-service-space) .hc-container{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}
 :is(#ds-home-space,#ds-service-space) .dshs-heading{grid-column:1;grid-row:1}
 :is(#ds-home-space,#ds-service-space) .dshs-controls{grid-column:2;grid-row:1;align-self:end;margin:0 0 25px}
 :is(#ds-home-space,#ds-service-space) .dshs-controls>p{display:none}
 :is(#ds-home-space,#ds-service-space) .dshs-track{grid-column:1/-1;grid-row:2}
 :is(#ds-home-space,#ds-service-space) .dshs-thumbs{grid-column:1/-1;grid-row:3}
}
@media(max-width:767px){
 :is(#ds-home-space,#ds-service-space){--dshs-height:min(112vw,390px);padding:35px 0}
 :is(#ds-home-space,#ds-service-space) .dshs-heading{margin-bottom:19px}
 :is(#ds-home-space,#ds-service-space) h2{font-size:27px;line-height:1.2;margin-top:10px}
 :is(#ds-home-space,#ds-service-space) .dshs-intro{font-size:13px;line-height:1.5;margin-top:11px}
 :is(#ds-home-space,#ds-service-space) .dshs-track{gap:12px;margin-right:-20px}
 :is(#ds-home-space,#ds-service-space) .dshs-photo{border-radius:9px}
 :is(#ds-home-space,#ds-service-space) figcaption{padding-top:12px}
 :is(#ds-home-space,#ds-service-space) .dshs-controls{gap:10px;margin-top:10px}
 :is(#ds-home-space,#ds-service-space) .dshs-controls>p{max-width:125px;font-size:11px}
 :is(#ds-home-space,#ds-service-space) .dshs-pager{gap:6px}
 :is(#ds-home-space,#ds-service-space) .dshs-pager>span{min-width:42px;margin-right:1px;font-size:11px}
 :is(#ds-home-space,#ds-service-space) .dshs-thumbs{display:none}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:10px}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer-head{padding:7px 9px}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer-head h3{font-size:12px}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer-media{padding:6px}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer-foot{align-items:flex-start;gap:10px;padding:9px}
 :is(#ds-home-space,#ds-service-space) .dshs-viewer-foot p{font-size:12px}
}
@media(max-width:359px){:is(#ds-home-space,#ds-service-space) .dshs-track{margin-right:-16px}:is(#ds-home-space,#ds-service-space) .dshs-viewer-foot{flex-wrap:wrap}:is(#ds-home-space,#ds-service-space) .dshs-viewer-foot>.dshs-pager{margin-left:auto}}
@media(prefers-reduced-motion:reduce){:is(#ds-home-space,#ds-service-space) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* HOME-SPACE-005: fit wide owner photos on a phone without cropping the scene. */
@media(max-width:767px){
 :is(#ds-home-space,#ds-service-space) .dshs-slide--landscape{flex-basis:min(calc(var(--dshs-height)*var(--dshs-ratio)),calc(100vw - 40px))}
 :is(#ds-home-space,#ds-service-space) .dshs-slide--landscape .dshs-photo{height:auto;aspect-ratio:var(--dshs-ratio)}
}

/* SERVICE-GALLERY-001: compact service context, same source/assets and natural image ratios. */
#ds-service-space{--dshs-height:260px;padding:0;border:0;background:transparent;min-width:0;width:100%;scroll-margin-top:100px}
#ds-service-space .hc-container{width:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
#ds-service-space .dshs-heading{grid-column:1/-1;grid-row:1;margin:0 0 14px}
#ds-service-space .hc-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.07em;color:#adb4c0;margin:0 0 7px}
#ds-service-space h2{font-size:24px;line-height:1.2;margin:0;max-width:100%}
#ds-service-space .dshs-intro{display:none}
#ds-service-space .dshs-track{grid-column:1/-1;grid-row:2;margin:0;max-width:100%}
#ds-service-space .dshs-controls{grid-column:1/-1;grid-row:3;margin:10px 0 0;align-self:auto}
#ds-service-space .dshs-controls>p{display:block}
#ds-service-space .dshs-thumbs{display:none}
#ds-service-space figcaption strong{font-size:14px}
#ds-service-space figcaption>span{font-size:11px}
@media(max-width:767px){#ds-service-space{--dshs-height:220px}#ds-service-space h2{font-size:22px}#ds-service-space .dshs-heading{margin-bottom:12px}#ds-service-space .hc-container{display:block}#ds-service-space .dshs-controls>p{max-width:none}#ds-service-space .dshs-track{margin:0}}
