/* Dubai SoloMove v3.0 – visual audit / reference-aligned rhythm.
   Keeps website edge-to-edge and photos face-friendly without distorting them. */
:root{--sm30-text:#263d45;--sm30-muted:#566b72;--sm30-ratio:16/10}
body:not(.sm-dashboard-page){font-family:Inter,system-ui,Arial,sans-serif;font-size:15px;line-height:1.64}
body:not(.sm-dashboard-page) .sm-ref-header,
body:not(.sm-dashboard-page) .sm-ref-home,
body:not(.sm-dashboard-page) .sm-ref-footer{max-width:100%!important}
.sm-ref-home h1,.sm-ref-home h2,.sm-ref-home h3,
.sm-v21-internal-page h1,.sm-v21-internal-page h2,.sm-v21-internal-page h3,
.sm-crm-services-page h1{font-family:Inter,system-ui,sans-serif;letter-spacing:-.035em;overflow-wrap:break-word}
.sm-ref-home .sm-ref-block{padding-block:clamp(42px,5.3vw,76px)}
.sm-ref-home .sm-ref-block h2{font-size:clamp(27px,3.0vw,42px);line-height:1.16;margin-bottom:16px}
.sm-ref-home .sm-ref-block p{font-size:clamp(14px,1.03vw,15px);line-height:1.68;color:var(--sm30-muted)}
.sm-ref-home .sm-ref-kicker{font-size:11px;letter-spacing:.14em}
.sm-ref-header .sm-ref-navigation>a,.sm-ref-header .sm-v21-drop-trigger{font-size:13px!important;font-weight:700}
.sm-ref-header .sm-ref-navline{min-height:74px}
/* Hero: preserve subject's face to the right of the text. Overlay keeps readable contrast. */
.sm-v21-home .sm-v22-cover .sm-v22-hero-image{object-position:66% 32%!important;object-fit:cover;width:100%;height:100%}
.sm-v21-home .sm-v22-cover h1{font-size:clamp(34px,4.15vw,58px)!important;line-height:1.12!important;max-width:680px}
.sm-v21-home .sm-v22-cover .sm-ref-hero-text{max-width:675px}
.sm-v21-home .sm-v22-cover .sm-ref-hero-layout{min-height:clamp(490px,52vw,640px)}
.sm-v21-home .sm-v22-cover .sm-ref-hero-text p{font-size:clamp(15px,1.16vw,17px)}
/* Make the service photos equal in size and give each a known focal point. */
.sm-v21-home .sm-v21-service-rows{display:grid;grid-template-columns:1fr;gap:0}
.sm-v21-home .sm-v21-service-row,
.sm-v21-home .sm-v21-service-row:nth-child(even){grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);gap:clamp(22px,3vw,54px);min-height:348px;padding-block:24px;align-items:center}
.sm-v21-home .sm-v21-service-row:nth-child(even) .sm-v21-service-photo{order:0}
.sm-v21-home .sm-v21-service-photo{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--sm30-ratio);border-radius:14px;background:#d8e2e2;isolation:isolate}
.sm-v21-home .sm-v21-service-photo img{width:100%;height:100%!important;aspect-ratio:var(--sm30-ratio);object-fit:cover!important;object-position:50% 36%;transform:none!important}
.sm-v21-home .sm-v30-photo-house img{object-position:50% 32%}
.sm-v21-home .sm-v30-photo-villa img{object-position:52% 24%}
.sm-v21-home .sm-v30-photo-apartment img{object-position:53% 32%}
.sm-v21-home .sm-v30-photo-office img{object-position:50% 22%}
.sm-v21-home .sm-v30-photo-furniture img{object-position:54% 36%}
.sm-v21-home .sm-v30-photo-packing img{object-position:48% 26%}
.sm-v21-home .sm-v30-photo-intercity img{object-position:50% 36%}
.sm-v21-home .sm-v30-photo-affordable img{object-position:50% 30%}
.sm-v21-home .sm-v21-service-copy{padding-block:8px}
.sm-v21-home .sm-v21-service-copy h3{font-size:clamp(23px,2vw,28px);line-height:1.2;margin:8px 0 8px}
.sm-v21-home .sm-v21-service-copy>strong{font-size:14px;line-height:1.4}
.sm-v21-home .sm-v21-service-copy p{font-size:14px;line-height:1.62;margin:10px 0 16px}
/* Same-height cards and consistent links for all 7 emirates, even last incomplete row. */
.sm-v23-location-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.sm-v23-location-card{display:flex;flex-direction:column;height:100%;min-width:0;border-radius:14px;overflow:hidden}
.sm-v23-location-card img{flex:0 0 auto;width:100%;height:auto!important;aspect-ratio:var(--sm30-ratio);object-fit:cover;object-position:50% 48%}
.sm-v23-location-card>div{display:flex;flex:1;flex-direction:column;padding:18px 20px;gap:9px}
.sm-v23-location-card h3{font-size:20px;line-height:1.25;margin:0}
.sm-v23-location-card p{font-size:14px!important;line-height:1.55!important;flex:1;margin:0}
.sm-v23-location-card span{display:block;margin-top:auto;font-size:13px}
/* Equal-height benefits and process steps (no large random cards). */
.sm-v21-why-grid,.sm-v21-process{align-items:stretch;grid-auto-rows:1fr}
.sm-v21-why-grid article,.sm-v21-process article{display:flex;flex-direction:column;height:100%;min-height:0;gap:6px}
.sm-v21-why-grid h3,.sm-v21-process h3{font-size:16px;line-height:1.35;margin:5px 0}
.sm-v21-why-grid p,.sm-v21-process p{font-size:13px;line-height:1.55;margin:0}
/* Consistent detail pages: no stretched content or distorted imagery. */
.sm-v21-internal-page .sm-v23-location-banner img,.sm-v23-location-banner img{height:auto;aspect-ratio:16/7;object-fit:cover;object-position:50% 42%}
.sm-ref-service-grid{align-items:stretch;grid-auto-rows:1fr}
.sm-ref-service-card{display:flex;flex-direction:column}
.sm-ref-service-card>a img{height:auto!important;aspect-ratio:var(--sm30-ratio);object-fit:cover;object-position:50% 34%}
.sm-ref-service-card>div{display:flex;flex:1;flex-direction:column;gap:7px}
.sm-ref-service-card p{flex:1;min-height:0}
.sm-ref-service-card a:not(:has(img)){margin-top:auto}
.sm-ref-about-photo img{object-position:53% 33%!important}
@media(max-width:1050px){.sm-v23-location-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-v21-home .sm-v21-service-row,.sm-v21-home .sm-v21-service-row:nth-child(even){min-height:0;gap:22px}}
@media(max-width:760px){
 .sm-v21-home .sm-v21-service-row,.sm-v21-home .sm-v21-service-row:nth-child(even){grid-template-columns:1fr;gap:14px;padding-block:24px}
 .sm-v21-home .sm-v21-service-photo{width:100%;height:auto!important;aspect-ratio:16/9}
 .sm-v21-home .sm-v21-service-photo img{aspect-ratio:16/9;object-position:50% 30%}
 .sm-v21-home .sm-v21-service-copy{padding-block:0}
 .sm-v21-home .sm-v21-service-copy h3{font-size:23px}
 .sm-v21-home .sm-v22-cover .sm-v22-hero-image{object-position:68% 35%!important}
 .sm-v21-home .sm-v22-cover:after{background:linear-gradient(90deg,rgba(7,26,33,.91),rgba(7,26,33,.64)),linear-gradient(0deg,rgba(7,26,33,.42),transparent)}
 .sm-v21-home .sm-v22-cover h1{font-size:clamp(32px,7.3vw,46px)!important}
 .sm-ref-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .sm-v23-location-cards,.sm-ref-service-grid{grid-template-columns:1fr}
 .sm-ref-home .sm-ref-block{padding-block:38px}
 .sm-v21-home .sm-v22-cover .sm-ref-hero-layout{min-height:520px;padding-block:48px 52px}
 .sm-v21-home .sm-v22-cover h1{font-size:clamp(31px,8.4vw,42px)!important}
 .sm-v21-home .sm-v21-service-copy p{font-size:14px;line-height:1.62}
 .sm-v23-location-card img{aspect-ratio:16/9}
 .sm-v21-process,.sm-v21-why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:375px){.sm-v21-process,.sm-v21-why-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sm-v23-location-card,.sm-v21-service-photo img{transition:none}}
/* Keep photo-led editorial rows compact on very wide desktop screens. */
@media(min-width:761px){
 .sm-v21-home .sm-v21-service-photo{height:clamp(235px,24vw,325px)!important;max-height:325px!important;aspect-ratio:auto!important}
 .sm-v21-home .sm-v21-service-photo img{height:100%!important;aspect-ratio:auto!important}
}
@media(max-width:760px){
 .sm-v21-home .sm-v21-service-photo{height:clamp(190px,55vw,245px)!important;aspect-ratio:auto!important}
 .sm-v21-home .sm-v21-service-photo img{height:100%!important;aspect-ratio:auto!important}
}
.sm-v23-location-cards{grid-auto-rows:1fr}
