/* Colour belongs to sections, imagery and the identity, not UI decoration. */
.home-editorial .opening h1{color:var(--wine)}
.home-editorial .opening h1>span{color:var(--ocean)}
.home-editorial .opening .eyebrow{color:var(--wine)}
.home-editorial .nav-cta{background:var(--sand);color:var(--wine)}
.home-editorial .opening .ui-button{background:var(--wine);color:var(--primary-foreground)}
.home-editorial .atlas{background:var(--ocean);color:var(--on-ocean);--ring:var(--rose)}
.home-editorial .atlas h2 span,.home-editorial .atlas-heading>p:last-child,.home-editorial .atlas-bottom p{color:var(--ocean-muted)}
.home-editorial .map-land{fill:var(--ocean-land)}
.home-editorial .map-route{stroke:var(--route);stroke-width:1.6}
.home-editorial .map-node{fill:var(--route-node);stroke:var(--ocean)}
.home-editorial .map-labels{fill:var(--cream);font-size:17px}
.home-editorial .route-controls button{color:var(--on-ocean);border-color:var(--ocean-border)}
.home-editorial .route-controls button:hover{background:var(--ocean-hover)}
.home-editorial .route-controls button[aria-pressed=true]{background:var(--sand);color:var(--ocean);border-color:var(--sand)}
.presence-list{list-style:none;display:flex;gap:28px;flex-wrap:wrap;margin:30px 0 0;padding:20px 0;border-top:1px solid var(--ocean-border);font-size:18px}
.presence-list li::before{content:"";display:inline-block;width:5px;height:5px;background:var(--route);border-radius:50%;margin:0 9px 3px 0}
.presence-label{font-size:12px;margin-top:28px;color:var(--ocean-muted)}
.home-editorial .house-story h2{color:var(--wine)}
.home-editorial .house-story h2 span{color:var(--ocean)}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:28px;font-size:14px;font-weight:500;text-decoration:underline}
.home-editorial .sector-section{background:var(--sand)}
.home-editorial .sector-section h2,.home-editorial .sector-tab[aria-selected=true]{color:var(--wine)}
.home-editorial .sector-tab[aria-selected=true]{border-bottom-color:var(--wine)}
.sector-image{width:100%;height:250px;object-fit:cover;margin-bottom:30px}
.home-editorial .sector-panel{padding-top:0}
.house-invitation{display:grid;grid-template-columns:1.15fr 1fr;background:var(--sea-mist);align-items:stretch}
.house-invitation>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.house-invitation>div{padding:75px 12%;align-self:center}
.house-invitation h2{font-size:clamp(36px,4vw,58px);color:var(--ocean);margin-bottom:28px}
.house-invitation p{font-size:15px}
.house-invitation .eyebrow{color:var(--ocean)}
.home-editorial .contact{background:var(--wine);color:var(--cream);--ring:var(--rose)}
.home-editorial .contact h2 span{color:var(--rose)}
.home-editorial .contact p{color:var(--wine-muted)}
.home-editorial .contact .ui-button{background:var(--sand);color:var(--wine);border-color:var(--sand)}
.home-editorial .footer{background:var(--sea-mist);width:100%;max-width:none;padding-inline:48px}
.home-editorial .footer-wordmark{color:var(--wine)}
.footer-bottom{gap:22px;flex-wrap:wrap}
.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
.inner-opening{display:grid;grid-template-columns:1.5fr 1fr;gap:9%;padding-block:90px 70px;align-items:end}
.inner-opening h1{font-size:clamp(50px,6.6vw,94px);color:var(--wine)}
.inner-opening h1 span{color:var(--ocean)}
.inner-opening>p{font-size:17px;padding-bottom:8px}
.house-panorama{margin:0 20px}
.house-panorama img{width:100%;height:clamp(320px,44vw,650px);object-fit:cover}
.story-chapter{display:grid;grid-template-columns:.7fr 1.3fr;gap:12%;padding-block:105px}
.story-chapter h2{font-size:clamp(38px,4.2vw,62px);margin-bottom:32px;color:var(--wine)}
.story-chapter p:not(.eyebrow){font-size:16px;max-width:590px}
.story-chapter .eyebrow{color:var(--wine)}
.collaboration-section{background:var(--sand);padding-block:85px}
.collaboration-section h2{color:var(--wine);margin-bottom:45px}
.collaboration-rows article{display:grid;grid-template-columns:1fr 1.5fr;gap:12%;border-top:1px solid var(--sand-border);padding-block:30px}
.collaboration-rows h3{font-size:30px;color:var(--wine)}
.collaboration-rows p{font-size:15px}
.collaboration-rows .quiet{font-size:13px}
.heritage{align-items:center}
.legal-opening{padding-block:65px 35px;max-width:1000px}
.legal-opening h1{font-size:clamp(46px,6vw,80px);color:var(--wine)}
.draft-note{background:var(--sand);border-left:3px solid var(--copper);padding:18px 24px;margin-top:35px;font-size:14px;max-width:720px}
.draft-note p{margin-top:6px}
.legal-body{max-width:1000px;padding-bottom:80px}
.legal-body section{max-width:720px;padding-block:25px}
.legal-body h2{font-size:28px;letter-spacing:-.025em;line-height:1.15;color:var(--ocean);margin-bottom:18px}
.legal-body p{font-size:15px;line-height:1.8}
.legal-details{display:grid;grid-template-columns:1fr 1.6fr;margin:0;font-size:14px}
.legal-details dt,.legal-details dd{padding:15px 0;border-bottom:1px solid var(--border);margin:0}
.legal-details dt{padding-right:20px}
.pending{color:var(--copper)}
@media(max-width:1000px){.house-invitation>div{padding:45px 9%}.house-invitation>img{min-height:450px}.inner-opening{gap:6%}.inner-opening>p{font-size:15px}}
@media(max-width:700px){
 .home-editorial .footer{padding-inline:20px}
 .home-editorial .footer-bottom>span:last-child{flex-basis:100%}
 .footer-bottom nav{gap:16px}
 .presence-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:16px;margin-top:12px;padding-top:18px}
 .home-editorial .map-labels{display:none}
 .home-editorial .map-node{r:7}
 .home-editorial .map-wrap{margin-block:20px}
 .sector-image{height:205px;margin-top:25px}
 .home-editorial .sector-panel{min-height:590px}
 .house-invitation{display:flex;flex-direction:column}
 .house-invitation>img{height:330px;min-height:0}
 .house-invitation>div{padding:40px 20px 48px}
 .house-invitation h2{font-size:40px}
 .inner-opening{display:block;padding-block:48px 40px}
 .inner-opening h1{font-size:clamp(39px,10vw,66px)}
 .inner-opening>p{margin-top:28px}
 .house-panorama{margin:0 12px}
 .house-panorama img{height:340px;object-position:35% center}
 .story-chapter{display:block;padding-block:60px}
 .story-chapter h2{font-size:38px}
 .story-chapter p:not(.eyebrow){font-size:14px}
 .collaboration-section{padding-block:55px}
 .collaboration-section h2{font-size:38px}
 .collaboration-rows article{display:block}
 .collaboration-rows h3{font-size:28px;margin-bottom:20px}
 .collaboration-rows p{font-size:14px}
 .heritage .house-symbol{margin-bottom:40px}
 .legal-opening{padding-top:40px}
 .legal-opening h1{font-size:46px}
 .draft-note{padding:16px;font-size:13px}
 .legal-body h2{font-size:26px}
 .legal-body p{font-size:14px}
 .legal-details{display:block}
 .legal-details dt{border:0;font-weight:500;padding-bottom:0}
 .legal-details dd{padding-top:5px}
}

@keyframes house-enter{from{opacity:0;transform:translateY(var(--motion-distance))}to{opacity:1;transform:translateY(0)}}
@keyframes route-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.motion-enter{animation:house-enter var(--duration-entrance) var(--ease) both}
.photo-interlude,.house-panorama{overflow:hidden}
.photo-interlude img,.service-image img,.house-panorama img{transition:transform var(--duration-image) var(--ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.photo-interlude:hover img,.service-image:hover img,.house-panorama:hover img{transform:scale(1.025)}}
.home-editorial .map-route.highlighted{stroke-dasharray:1;animation:route-draw var(--duration-entrance) var(--ease) both}
.text-link span,.ui-button>span,.nav-cta>span{transition:transform var(--duration-normal) var(--ease)}
@media(hover:hover){.text-link:hover span,.ui-button:hover>span,.nav-cta:hover>span{transform:translate(3px,-3px)}}
@media(prefers-reduced-motion:reduce){.motion-enter,.home-editorial .map-route.highlighted{animation:none!important}.photo-interlude img,.service-image img,.house-panorama img,.text-link span,.ui-button>span,.nav-cta>span{transform:none!important;transition:none!important}}

/* Service pages share the house identity and have their own navigational layer. */
.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;padding-top:30px;color:var(--muted-foreground)}
.breadcrumb a{min-height:32px;display:inline-flex;align-items:center}.breadcrumb>span{display:inline-flex;align-items:center}
.service-page .inner-opening{padding-block:45px 55px}
.service-page .inner-opening h1{font-size:clamp(45px,5.5vw,80px)}
.service-subnav{display:flex;gap:35px;flex-wrap:wrap;border-top:1px solid var(--border);padding-block:12px 25px}
.service-subnav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none;border-bottom:2px solid transparent}
.service-subnav a[aria-current=page]{color:var(--wine);border-bottom-color:var(--wine)}
.service-subnav a:hover{text-decoration:underline}
.service-panorama img{height:clamp(300px,34vw,460px);object-position:center 52%}
.service-outcome{background:var(--background)}
.service-start{background:var(--sea-mist);padding-block:75px}
.service-start>.wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;align-items:start}
.service-start h2{color:var(--ocean);font-size:clamp(38px,4.2vw,60px)}
.service-start h2 span{color:var(--ocean)}
.service-start p{font-size:15px}
.footer-services{display:flex;gap:32px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.footer-services a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;color:var(--wine)}
@media(max-width:700px){.breadcrumb{padding-top:22px;font-size:11px}.service-page .inner-opening{padding-block:28px 30px}.service-page .inner-opening h1{font-size:clamp(38px,10vw,60px)}.service-subnav{gap:5px 20px;padding-block:10px 20px}.service-subnav a{font-size:12px}.service-panorama img{height:300px}.service-start{padding-block:50px}.service-start>.wrap{display:block}.service-start h2{font-size:38px;margin-bottom:25px}.service-start p{font-size:14px}.footer-services{gap:5px 20px}.footer-services a{font-size:12px}}

.error-content{padding-block:90px 120px;max-width:1050px}.error-content h1{font-size:clamp(48px,7vw,100px);color:var(--wine);margin-bottom:30px}.error-content h1 span{color:var(--ocean)}.error-content>p:not(.eyebrow){max-width:560px}.error-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.error-links .text-link{margin-top:0}@media(max-width:700px){.error-content{padding-block:55px 75px}.error-content h1{font-size:46px}.error-content>p:not(.eyebrow){font-size:14px}}

/* Documentary photographs: preserve each subject in responsive crops. */
.home-editorial .photo-interlude{height:auto;overflow:visible;background:transparent}
.home-editorial .photo-interlude>img{height:clamp(360px,35vw,560px);object-position:center 59%}
.sector-image{margin-bottom:30px}
.invitation-photo{margin:0;position:relative;min-height:520px}
.invitation-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 65%}
.house-panorama img[src*="mallorca-courtyard"]{object-position:center 62%}
.service-panorama img[src*="naples-sculpture-gallery"]{object-position:center 72%}
.service-panorama img[src*="miami-art-deco"]{object-position:center 52%}
@media(max-width:700px){
 .home-editorial .photo-interlude>img{height:300px;object-position:center 59%}
 .service-image img[src*="naples-sculpture-gallery"]{height:420px;object-position:center 66%}
 .invitation-photo{min-height:400px;width:100%}
}
