/* Senim final review: component geometry, compact mobile reading, preserved brand. */
.senim-finalized{--ratio-service:16 / 9;--ratio-article:4 / 3;--ratio-wide:16 / 9;--ratio-portrait:3 / 4}
.senim-finalized .story-card .responsive-media{aspect-ratio:4/3}
.senim-finalized .story-card .media-service{aspect-ratio:16/9}
.senim-finalized .story-card .responsive-media img{height:100%;width:100%}
.senim-finalized .story-card{gap:18px}
.senim-finalized .story-copy :is(h2,h3){text-wrap:balance}
.senim-finalized .story-description{max-width:56ch}
.senim-finalized .article-intro>.editorial-image .responsive-media{aspect-ratio:16/9;max-height:610px}
.senim-finalized .article-intro>.editorial-image img{object-fit:contain}
.senim-finalized .batch-hero .responsive-media,.senim-finalized .batch-stage-cards .responsive-media,.senim-finalized .price-hero-image .responsive-media{aspect-ratio:4/3}
.senim-finalized .price-hero-image img{object-fit:contain;object-position:center}
.senim-finalized .contact-photo .responsive-media,.senim-finalized .about-location-grid .responsive-media,.senim-finalized .about-interior-grid .responsive-media{aspect-ratio:4/3}
.senim-finalized .contact-photo img,.senim-finalized .about-location-grid .responsive-media img,.senim-finalized .about-interior-grid .responsive-media img{object-fit:cover;object-position:50% 42%}
.senim-finalized .specialists-profile-hero figure,.senim-finalized .specialists-hero figure,.senim-finalized .specialist-row-photo{aspect-ratio:3/4}
.senim-finalized .specialists-profile-hero .staff-responsive{display:block;height:100%}
.senim-finalized .specialists-profile-hero img{object-fit:cover;object-position:50% 0;height:100%;width:100%;transform:scale(1.12);transform-origin:center top}
.senim-finalized .batch-nav>.container{flex-wrap:wrap;gap:4px 24px;padding-block:10px}
.senim-finalized .batch-nav a{display:inline-flex;align-items:center;min-height:38px;white-space:normal;max-width:36ch}
.senim-finalized main :is(a,button,summary):focus-visible{outline:2px solid #6c3e50;outline-offset:5px;border-radius:2px}
.senim-finalized .dark :is(a,button,summary):focus-visible{outline-color:#efc156}
.senim-finalized :is(h1,h2,h3){text-wrap:balance}
.senim-finalized :is(.button,summary){touch-action:manipulation}
@media(min-width:1000px){.senim-finalized.senim-kind-service-hub .story-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px}.senim-finalized.senim-kind-service-hub .story-copy :is(h2,h3){font-size:28px}}
@media(max-width:760px){
 .senim-finalized .article-intro{padding-top:18px}
 .senim-finalized .article-hero{padding:24px 0}
 .senim-finalized .article-hero h1{font-size:clamp(30px,7.8vw,38px);line-height:1.14;margin:12px 0 20px}
 .senim-finalized .article-hero .article-lead{font-size:16px;line-height:1.65}
 .senim-finalized .article-hero .eyebrow{margin-bottom:12px}
 .senim-finalized .article-meta{padding-block:12px;margin-top:20px;gap:6px 18px}
 .senim-finalized .article-intro>.editorial-image .responsive-media{aspect-ratio:4/3}
 .senim-finalized .batch-hero{gap:24px;padding-top:20px}
 .senim-finalized .batch-hero h1{font-size:clamp(31px,8vw,38px)}
 .senim-finalized .batch-lead{margin:20px 0;line-height:1.65}
 .senim-finalized .batch-nav>.container{flex-wrap:nowrap;gap:16px;overscroll-behavior-x:contain;scrollbar-width:thin;padding-block:8px}
 .senim-finalized .batch-nav a{flex-shrink:0;white-space:nowrap;min-height:44px}
 .senim-finalized .price-nav a{display:inline-flex;align-items:center;min-height:36px;font-size:12px}
 .senim-finalized .price-hero{gap:24px;padding-bottom:32px}
}
@media(max-width:580px){
 .senim-finalized .specialists-profile-hero{gap:24px;padding-bottom:38px}
 .senim-finalized .specialists-profile-hero figure{width:210px;max-width:65%;justify-self:start;margin:0}
 .senim-finalized .specialists-profile-hero h1{font-size:clamp(30px,8vw,38px);line-height:1.16}
 .senim-finalized .specialists-profile-role{font-size:19px;margin:16px 0}
 .senim-finalized .specialists-profile-hero .button{margin-top:22px}
 .senim-finalized .story-catalog{gap:34px}
 .senim-finalized .story-card{padding-top:18px;gap:16px}
 .senim-finalized .story-copy{gap:12px}
 .senim-finalized .story-copy :is(h2,h3){font-size:26px}
 .senim-finalized .story-description{font-size:15px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){.senim-finalized *, .senim-finalized *::before,.senim-finalized *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
