/* Exterior: the same warm brand language as the residence introduction. */
.gallery{position:relative;isolation:isolate;background:#231b1c}
.gallery:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 0,#7a302844,transparent 42%),linear-gradient(135deg,#38191a33,transparent 70%)}
body:not(.interior-mode) .gallery{padding:72px 5.5% 100px;background:#2b1517}
body:not(.interior-mode) .gallery:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/catalogue/spread-01-right.webp') center top/500px auto;opacity:.025;mask-image:linear-gradient(#000,transparent 65%)}
body:not(.interior-mode) .gallery>.section-top{padding-bottom:22px;border-color:#dabb9850}
body:not(.interior-mode) .gallery>.section-top .eyebrow{color:#e8c6a4}
body:not(.interior-mode) .gallery-heading{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:7%;row-gap:32px;align-items:center;margin:32px 0 80px;padding:60px 6%;min-height:580px;background:linear-gradient(135deg,#622826,#40191c);border:1px solid #e5c8ab26;overflow:hidden}
body:not(.interior-mode) .gallery-heading:before{content:'';position:absolute;inset-inline-start:-220px;bottom:-450px;width:800px;height:800px;border:1px solid #d7b89b30;border-radius:48%;box-shadow:0 0 0 32px #d7b89b08,0 0 0 64px #d7b89b06;pointer-events:none;z-index:-1}
body:not(.interior-mode) .gallery-heading h2{grid-column:1;align-self:end;font-size:clamp(44px,5.7vw,90px);line-height:1.06;max-width:520px;text-wrap:balance}
body:not(.interior-mode) .gallery-heading h2 em{color:#dfb78f}
body:not(.interior-mode) .gallery-heading>div{grid-column:1;align-self:start;max-width:320px;border-inline-start:1px solid #d7b89b70;padding:0 0 0 24px;padding-inline:24px 0}
body:not(.interior-mode) .gallery-heading p{color:#f0d9c1;font-size:20px;line-height:1.7}
.exterior-gallery-feature{display:none}
body:not(.interior-mode) .exterior-gallery-feature{display:block;grid-column:2;grid-row:1 / 3;align-self:stretch;position:relative;width:100%;min-height:450px;padding:0;text-align:start;background:#281f20;border:1px solid #e5c8ab38;box-shadow:0 24px 60px #16060866;overflow:hidden}
.exterior-feature-backdrop{position:absolute;inset:0;background:url('assets/overview.webp') center/cover;filter:blur(24px) brightness(.48);opacity:.5}
.exterior-gallery-feature>img{position:absolute;inset:24px 0 58px;width:100%;height:calc(100% - 82px);object-fit:contain;filter:drop-shadow(0 10px 20px #0004);transition:filter .6s ease}
.exterior-gallery-feature:hover>img{filter:drop-shadow(0 15px 30px #0007) brightness(1.04)}
.exterior-feature-caption{position:absolute;inset:auto 20px 16px;display:flex;gap:14px;align-items:center;border-top:1px solid #e5c8ab40;padding-top:12px;font-size:17px;color:#f7eadb}
.exterior-feature-caption>span:first-child{font-size:11px;opacity:.6}.exterior-feature-caption>span:last-child{margin-inline-start:auto;font-family:Arial}
body:not(.interior-mode) .gallery-collection[data-collection="Exterior"]>.collection-title{padding:0 0 24px;border-top:0;border-bottom:1px solid #d7b89b55}
body:not(.interior-mode) .gallery-collection[data-collection="Exterior"]>.collection-title h3{font-size:clamp(34px,4vw,56px)}
body:not(.interior-mode) .gallery-collection[data-collection="Exterior"]>.room-collection{margin-top:28px}
body:not(.interior-mode) .gallery-collection[data-collection="Exterior"]>.room-collection>h4{display:flex;align-items:center;gap:18px;margin-bottom:34px;font-size:12px;letter-spacing:.12em}
body:not(.interior-mode) .gallery-collection[data-collection="Exterior"]>.room-collection>h4:before{content:'';width:36px;height:1px;background:#d7b89b88}
body:not(.interior-mode) #gallery-grid .gallery-collection[data-collection="Exterior"] .gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:54px 30px;align-items:end}
body:not(.interior-mode) #gallery-grid .exterior-card{grid-column:span 4;min-width:0;text-align:start}
body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(1),body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(7){grid-column:span 7}
body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(2),body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(6){grid-column:span 5}
body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(n+11){grid-column:span 6}
body:not(.interior-mode) #gallery-grid .exterior-card .thumb-wrap{position:relative;aspect-ratio:4/5;background:#21191b;border:1px solid #e5c8ab26;padding:20px;isolation:isolate;transition:border-color .45s,box-shadow .6s}
body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(1) .thumb-wrap,body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(7) .thumb-wrap{aspect-ratio:1/1}
body:not(.interior-mode) #gallery-grid .exterior-card.landscape .thumb-wrap{aspect-ratio:16/10}
.exterior-tile-backdrop{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(28px) brightness(.4);opacity:.5;z-index:-1}
body:not(.interior-mode) #gallery-grid .exterior-card .thumb-wrap img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto;transform:none;transition:filter .7s}
body:not(.interior-mode) #gallery-grid .exterior-card .thumb-wrap:after{display:none}
.exterior-view-icon{position:absolute;inset-inline-end:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:#351514df;border:1px solid #d7b89b70;border-radius:50%;font:17px Arial;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .45s}
body:not(.interior-mode) #gallery-grid .exterior-card:hover .thumb-wrap,body:not(.interior-mode) #gallery-grid .exterior-card:focus-visible .thumb-wrap{border-color:#e3c39b90;box-shadow:0 18px 40px #16070860}
body:not(.interior-mode) #gallery-grid .exterior-card:hover img{filter:brightness(1.04)}
.exterior-card:hover .exterior-view-icon,.exterior-card:focus-visible .exterior-view-icon{opacity:1;transform:none}
body:not(.interior-mode) #gallery-grid .render-caption{border-bottom:1px solid #e5c8ab35;padding-bottom:16px;margin-top:16px;font-size:19px;align-items:center;gap:18px}
body:not(.interior-mode) #gallery-grid .render-caption>span:first-child{font-size:12px;color:#d7b89b99;font-variant-numeric:tabular-nums}
.caption-arrow{margin-inline-start:auto;font:17px Arial;color:#d7b89b;transition:transform .4s}.exterior-card:hover .caption-arrow{transform:translate(3px,-3px)}
.brand-panel h2,.brand-panel p{ text-wrap:pretty }
.brand-link{transition:color .35s,border-color .35s}.brand-link:hover{color:#fff4e5;border-color:#fff4e5}
.desktop-view .header .desktop-mobile-link{display:inline-flex;align-items:center;border:1px solid #d7b89b66;border-radius:3px;padding:6px 12px;min-height:34px}
.desktop-view .header .desktop-mobile-link:after{display:none}
.desktop-view .header nav{gap:clamp(12px,1.4vw,24px)!important}
html[lang=ar] body:not(.interior-mode) .gallery-heading h2{font-size:clamp(32px,4.4vw,64px);line-height:1.6}
html[lang=ar] body:not(.interior-mode) .gallery-heading p{font-size:16px;line-height:2}
html[lang=ar] .exterior-feature-caption,html[lang=ar] body:not(.interior-mode) #gallery-grid .render-caption{font-size:14px;line-height:1.8}
@media(max-width:1100px){
 body:not(.interior-mode) .gallery-heading{padding:40px 5%;column-gap:5%;min-height:520px}
 body:not(.interior-mode) .gallery-heading h2{font-size:60px}
 body:not(.interior-mode) #gallery-grid .gallery-collection[data-collection="Exterior"] .gallery-grid{gap:40px 22px}
 body:not(.interior-mode) #gallery-grid .exterior-card .thumb-wrap{padding:12px}
 .exterior-gallery-feature{min-height:400px}
}
@media(max-width:760px){
 body:not(.interior-mode) .gallery{padding:52px 6% 64px}
 body:not(.interior-mode) .gallery-heading{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:36px 7%;margin:24px 0 44px;min-height:0}
 body:not(.interior-mode) .gallery-heading h2{align-self:auto;font-size:clamp(40px,10vw,60px)}
 body:not(.interior-mode) .gallery-heading>div{padding-block:0;max-width:none}
 body:not(.interior-mode) .gallery-heading p{font-size:18px}
 body:not(.interior-mode) .exterior-gallery-feature{min-height:0;aspect-ratio:4/5;flex:none}
 body:not(.interior-mode) #gallery-grid .gallery-collection[data-collection="Exterior"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
 body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(n){grid-column:span 1}
 body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(1),body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(7),body:not(.interior-mode) #gallery-grid .exterior-card.landscape{grid-column:1 / -1}
 body:not(.interior-mode) #gallery-grid .exterior-card .thumb-wrap{padding:8px;aspect-ratio:3/4}
 body:not(.interior-mode) #gallery-grid .render-caption{gap:8px;font-size:15px;line-height:1.5;margin-top:10px;padding-bottom:12px}
 body:not(.interior-mode) #gallery-grid .render-caption>span:first-child{font-size:10px}
 .caption-arrow{display:none}.exterior-view-icon{opacity:1;transform:none;width:26px;height:26px;font-size:14px;bottom:8px;inset-inline-end:8px}
 html[lang=ar] body:not(.interior-mode) #gallery-grid .render-caption{font-size:12px}
 html[lang=ar] body:not(.interior-mode) .gallery-heading h2{font-size:32px}
}
@media(min-width:1101px){body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(2),body:not(.interior-mode) #gallery-grid .exterior-card:nth-child(6){padding-inline:5%}}
/* Enable reveal styles only after the observer is installed. Photos retain
   their full composition; the card enters without zooming/cropping its image. */
@media(prefers-reduced-motion:no-preference){
 .editorial-motion-ready .motion-item{opacity:0;transform:translateY(28px);transition:opacity .8s ease var(--motion-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms)}
 .editorial-motion-ready .motion-item.motion-visible{opacity:1;transform:none}
 .editorial-motion-ready .motion-item:focus-within,.editorial-motion-ready .motion-item:focus-visible{opacity:1;transform:none;transition-delay:0ms}
}
@media(prefers-reduced-motion:reduce){.motion-item{opacity:1!important;transform:none!important}.exterior-view-icon{opacity:1;transform:none}.exterior-card:hover .caption-arrow{transform:none}}
