/* Shared visual language and the photographic property showcase. */
:root{--sh-ink:#102c43;--sh-ink-soft:#385269;--sh-night:#0b263c;--sh-paper:#f7f5f0;--sh-champagne:#d7bd91;--sh-line:#dce3e6;--sh-ease:cubic-bezier(.22,1,.36,1)}
body{font-family:Heebo,Arial,sans-serif;color:var(--sh-ink)}
body h1,body h2,body h3,body h4{font-family:Heebo,Arial,sans-serif!important;letter-spacing:-.035em;text-wrap:balance}
body p{line-height:1.68}
main{overflow:clip}
.site-header .header-contact,.cine-button,.home .button,.contact-form-panel button[type=submit],.lead-form button[type=submit],.discovery-search__submit,.discovery-sidebar__actions button,.property-mobile-action a{transition:background-color .3s var(--sh-ease),color .3s var(--sh-ease),border-color .3s var(--sh-ease),transform .3s var(--sh-ease),box-shadow .3s var(--sh-ease)}
.site-header .header-contact:hover,.cine-button:hover,.home .button:hover,.contact-form-panel button[type=submit]:hover,.lead-form button[type=submit]:hover,.discovery-search__submit:hover,.discovery-sidebar__actions button:hover{box-shadow:0 12px 24px rgba(9,37,59,.15)}

/* The native horizontal track works with touch, keyboard and without JavaScript. */
.home .home-listings{padding-block:clamp(70px,8vw,125px);overflow:hidden}
.home .home-listings--new{background:#fff}
.home .home-listings--stone{background:var(--sh-paper)}
.home .home-listings .section-heading{margin-bottom:28px}
.home .home-listings .section-heading h2{font-size:clamp(2.65rem,4.5vw,5.3rem);font-weight:680;line-height:1.03}
.home .home-listings .home-listings__count{margin:11px 0 0;color:var(--sh-ink-soft);font-size:.94rem;font-weight:600}
.home .home-listings .section-heading__tools{gap:24px}
.home .home-listings .image-cycle-toggle{min-height:44px;padding-inline:5px;color:var(--sh-ink-soft);text-underline-offset:5px}
.home .home-listings .section-link{min-height:44px;display:inline-flex;align-items:center;color:var(--sh-ink);text-decoration:none;border-bottom:1px solid var(--sh-champagne)}
.featured-showcase{max-width:1680px;margin-inline:auto;background:var(--sh-night)}
.home .home-listings .featured-showcase .home-property-grid{display:flex;grid-template-columns:none;gap:0;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;perspective:none}
.featured-showcase .home-property-grid::-webkit-scrollbar{display:none}
.home .home-listings .featured-showcase .property-card{position:relative;display:block;flex:0 0 100%;width:100%;height:clamp(540px,58vw,720px);min-width:0;margin:0!important;overflow:hidden;border:0!important;border-radius:0!important;background:var(--sh-night);box-shadow:none!important;scroll-snap-align:start;scroll-snap-stop:always;transform:none!important}
.home .home-listings .featured-showcase .property-card:hover{transform:none!important;box-shadow:none!important}
.home .home-listings .featured-showcase .property-card__image{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%!important;min-height:0;aspect-ratio:auto!important;overflow:hidden;clip-path:none!important;border:0;background:#3d505a;transform:none!important}
.home .home-listings .featured-showcase .property-card__image::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(7,27,41,.15),transparent 55%),linear-gradient(0deg,rgba(6,25,39,.38),transparent 45%);pointer-events:none}
.home .home-listings .featured-showcase .property-card__image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover!important;object-position:center 48%;background:transparent;transform:scale(1.015)!important;transition:opacity .8s ease,transform 1.2s var(--sh-ease)!important}
.home .home-listings .featured-showcase .property-card__image img.is-active{opacity:1}
@media(hover:hover) and (pointer:fine){.home .home-listings .featured-showcase .property-card:hover .property-card__image img.is-active{transform:scale(1.055)!important}}
.home .home-listings .featured-showcase .property-card__badge{position:absolute;z-index:3;inset-block-start:clamp(22px,3vw,48px);inset-inline-start:clamp(22px,4vw,64px);padding:8px 15px;border:1px solid rgba(255,255,255,.65);border-radius:0;background:rgba(8,34,54,.82);color:#fff;font-size:.81rem;backdrop-filter:blur(10px)}
.home .home-listings .featured-showcase .property-card__body{position:absolute;z-index:2;inset-block-end:clamp(26px,5vw,80px);inset-inline-start:clamp(24px,5vw,85px);width:min(540px,46vw);min-width:0;margin:0;padding:clamp(26px,3.2vw,46px)!important;border:1px solid rgba(255,255,255,.19);border-inline-start:4px solid var(--sh-champagne);border-radius:0;background:rgba(8,34,54,.94)!important;color:#fff;box-shadow:0 24px 52px rgba(2,15,25,.22);backdrop-filter:blur(18px);transform:none!important}
.home .home-listings .featured-showcase .property-card__location{margin:0 0 8px;color:#e0e9ed;font-size:.88rem;font-weight:500}
.home .home-listings .featured-showcase .property-card h3{margin:0 0 13px;color:#fff;font-size:clamp(1.85rem,2.55vw,3.2rem);font-weight:650;line-height:1.12}
.home .home-listings .featured-showcase .property-card h3 a{color:#fff;text-decoration:none}
.home .home-listings .featured-showcase .property-card__teaser{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:44ch;margin:0 0 12px;color:#dfe9ed;font-size:.95rem}
.home .home-listings .featured-showcase .property-card__specs{display:flex;flex-wrap:wrap;gap:8px;color:#f1f5f6;font-size:.85rem}
.home .home-listings .featured-showcase .property-card__specs span{padding:5px 9px;border:1px solid rgba(255,255,255,.25)}
.home .home-listings .featured-showcase .property-card__source{margin:12px 0 0;color:#cfdae1;font-size:.77rem}
.home .home-listings .featured-showcase .property-card__bottom{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.3)}
.home .home-listings .featured-showcase .property-card__bottom strong{color:var(--sh-champagne);font-size:clamp(1.5rem,2.2vw,2.5rem);font-weight:700;line-height:1.05;direction:ltr;unicode-bidi:isolate}
.home .home-listings .featured-showcase .property-card__bottom a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:8px 15px;border:1px solid var(--sh-champagne);border-radius:0;background:var(--sh-champagne);color:var(--sh-night);font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap}
.home .home-listings .featured-showcase .property-card__bottom a:hover{background:#fff;border-color:#fff;color:var(--sh-night)}
.featured-showcase__toolbar{display:flex;align-items:center;gap:22px;min-height:90px;color:#fff}
.featured-showcase__counter{min-width:78px;font-size:.91rem;font-weight:700;direction:ltr;text-align:right}
.featured-showcase__progress{height:2px;flex:1;background:rgba(255,255,255,.24)}
.featured-showcase__progress span{display:block;width:50%;height:100%;background:var(--sh-champagne);transform-origin:right;transition:width .65s var(--sh-ease)}
.featured-showcase__navigation{display:flex;gap:8px}
.featured-showcase__navigation button{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:transparent;color:#fff;font:inherit;font-size:1.55rem;cursor:pointer;transition:background .25s,border-color .25s,transform .3s var(--sh-ease)}
.featured-showcase__navigation button:hover{border-color:var(--sh-champagne);background:var(--sh-champagne);color:var(--sh-night)}
.featured-showcase__navigation button:disabled{opacity:.4;cursor:not-allowed}

/* A pinned narrative uses the real four-step office process already on the page. */
.home .home-process{padding:clamp(80px,9vw,135px) 0;background:var(--sh-night);color:#fff}
.home .home-process__layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(50px,9vw,150px);align-items:start}
.home .home-process__intro{position:sticky;top:125px;display:block;min-width:0}
.home .home-process h2{max-width:12ch;color:#fff;font-size:clamp(2.8rem,4vw,5rem)}
.home .home-process__intro p{max-width:35ch;color:#d7e2e8;font-size:1.07rem}
.home-process__progress{height:2px;max-width:340px;margin-top:35px;background:rgba(255,255,255,.22)}
.home-process__progress span{display:block;width:25%;height:100%;background:var(--sh-champagne);transition:width .5s var(--sh-ease)}
.home .home-process__steps{display:block;margin:0;padding:0;list-style:none}
.home .home-process__step{display:grid;grid-template-columns:55px 1fr;gap:20px;min-height:185px;margin:0;padding:36px 0 44px;border:0;border-top:1px solid rgba(255,255,255,.22);border-radius:0;background:transparent;color:#fff;opacity:.66;transition:opacity .4s,transform .5s var(--sh-ease)}
.home .home-process__step.is-current{opacity:1;transform:translateX(-7px)}
.home .home-process__step>span{margin:0;color:var(--sh-champagne);font-size:1.08rem}
.home .home-process__step h3{margin:0 0 10px;color:#fff;font-size:clamp(1.35rem,1.75vw,2rem)}
.home .home-process__step p{max-width:37ch;margin:0;color:#d7e2e8;font-size:.95rem}

/* One cadence across interior pages without hiding source material. */
.discovery-page,.about-page,.media-page,.links-page,.sold-page{background:var(--sh-paper)}
.discovery-intro,.about-opening,.page-hero--compact{background:var(--sh-paper);border-bottom:1px solid var(--sh-line)}
.discovery-intro h1,.about-opening h1,.page-hero--compact h1,.property-top h1{font-size:clamp(2.8rem,5vw,5.6rem);line-height:1.08}
.discovery-shortcuts a,.discovery-filter-options label span,.property-quick-actions a,.property-quick-actions button{transition:color .25s,border-color .25s,background-color .25s}
.discovery-grid .discovery-card{border-radius:0;box-shadow:0 9px 30px rgba(12,44,65,.055)}
.about-people{padding-block:clamp(70px,8vw,110px);background:var(--sh-night)}
.about-people .about-person{background:transparent;box-shadow:none}
.about-people .about-person__photo{height:clamp(340px,35vw,470px);border:1px solid rgba(255,255,255,.18);border-radius:0;background:#dfe7ec}
.about-people .about-person__copy{padding-top:26px}
.about-people .about-person__copy>h2:first-child{color:#fff;font-family:Heebo,Arial,sans-serif!important;font-size:clamp(2rem,2.6vw,3rem)}
.about-people .about-person__copy p{color:#dce7ec}
.property-gallery__stage,.property-gallery__mosaic button{overflow:hidden}
.property-gallery__stage img,.property-gallery__mosaic img{transition:transform .8s var(--sh-ease),opacity .25s}
@media(hover:hover) and (pointer:fine){.property-gallery__stage:hover img,.property-gallery__mosaic button:hover img{transform:scale(1.025)}}
.property-contact{position:sticky;top:118px;align-self:start}
.property-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:15px;padding:10px 15px;border:1px solid #1b7660;background:#eaf5ee;color:#145c49;text-decoration:none;font-weight:700}
.property-whatsapp:hover{background:#d9ede1;color:#0b4838}
.property-floorplan{margin-block:44px;padding-top:28px;border-top:1px solid var(--sh-line)}
.property-floorplan h2{font-size:clamp(1.8rem,2.5vw,2.8rem)}
.property-floorplan img{display:block;width:min(100%,900px);height:auto;margin-top:20px;border:1px solid var(--sh-line);background:#fff}
.property-similar{padding:clamp(55px,7vw,100px) 0;background:var(--sh-paper)}
.property-similar .section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}
.property-similar .section-heading h2{max-width:18ch;margin:0;font-size:clamp(2rem,3vw,3.5rem)}
.property-similar__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.property-similar__grid .property-card{min-width:0;overflow:hidden;border:1px solid var(--sh-line);background:#fff}
.property-similar__grid .property-card__image{display:block;aspect-ratio:1.35;overflow:hidden}
.property-similar__grid .property-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--sh-ease)}
.property-similar__grid .property-card:hover .property-card__image img{transform:scale(1.045)}
.property-similar__grid .property-card__body{padding:20px}
.property-similar__grid .property-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.recommendation-letter,.recommendation-scan,.about-person,.contact-form-panel{box-shadow:0 12px 34px rgba(12,44,65,.055)}
.recommendations-featured{padding-block:clamp(55px,7vw,95px)}
.recommendations-featured>h2{margin:0 0 28px;font-size:clamp(2.5rem,3.7vw,4.3rem)}
.recommendations-featured__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.recommendation-story{display:flex;flex-direction:column;min-width:0;padding:clamp(22px,2.5vw,34px);background:#fff;border:1px solid var(--sh-line)}
.recommendation-story:nth-child(3n + 2){background:#eef2f2}
.recommendation-story__excerpt{margin:0 0 18px;color:var(--sh-ink);font-size:1.04rem;line-height:1.7}
.recommendation-story details{margin-top:auto}
.recommendation-story summary{width:max-content;max-width:100%;cursor:pointer;color:#1d5879;font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.recommendation-story__full{padding-top:18px;color:var(--sh-ink-soft);font-size:.9rem}
.recommendation-story footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:25px;padding-top:14px;border-top:1px solid var(--sh-line);font-size:.83rem}
.recommendation-story footer time{color:var(--sh-ink-soft)}
.recommendations-original{margin-bottom:70px;padding-block:20px;border-top:1px solid var(--sh-line)}
.recommendations-original>summary{cursor:pointer;color:#1d5879;font-weight:700}
.seller-page{background:var(--sh-paper)}
.seller-hero{position:relative;display:flex;align-items:end;min-height:clamp(470px,57vw,680px);overflow:hidden;background:var(--sh-night);color:#fff}
.seller-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.seller-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(6,30,48,.87) 65%,rgba(6,30,48,.96))}
.seller-hero__inner{position:relative;z-index:1;padding-block:60px;color:#fff}
.seller-hero__inner>p:first-child{margin:0 0 12px;color:var(--sh-champagne);font-size:.9rem;font-weight:700}
.seller-hero h1{max-width:12ch;margin:0;color:#fff;font-size:clamp(3.4rem,6vw,7rem)}
.seller-hero__inner>p:nth-of-type(2){max-width:40ch;color:#e9f0f2;font-size:1.15rem}
.seller-hero__inner>a{display:inline-flex;align-items:center;gap:25px;min-height:50px;margin-top:15px;padding:10px 22px;background:var(--sh-champagne);color:var(--sh-night);text-decoration:none;font-weight:750}
.seller-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.75fr);gap:clamp(35px,7vw,110px);align-items:start;padding-block:clamp(65px,8vw,115px)}
.seller-story h2{font-size:clamp(2.2rem,3.5vw,4rem)}
.seller-story h3{margin-top:38px;padding-top:21px;border-top:1px solid var(--sh-line);font-size:clamp(1.45rem,2vw,2.25rem)}
.seller-story p{max-width:60ch;color:var(--sh-ink-soft)}
.seller-contact{position:sticky;top:120px;padding:clamp(25px,3vw,40px);background:#fff;border:1px solid var(--sh-line)}
.seller-contact h2{margin:0 0 8px;font-size:2.25rem}
.seller-contact>p{color:var(--sh-ink-soft)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cine-button,.home-contact .button,.featured-showcase__navigation button{transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0)}}
.home-why__pictures,.home-sell__visual{overflow:hidden}
@media(prefers-reduced-motion:no-preference){.home-why__atmosphere,.home-sell__visual img{transform:translate3d(0,var(--depth-offset,0px),0) scale(1.07);will-change:transform}}

@media(prefers-reduced-motion:no-preference){
  main{animation:sh-in .32s ease-out both}
  @keyframes sh-in{from{opacity:.7}to{opacity:1}}
  .motion-enabled .featured-showcase:not(.is-visible) .property-card__image{opacity:.84;clip-path:inset(4% 0 0 0)!important}
  .motion-enabled .featured-showcase .property-card__image{transition:opacity .9s var(--sh-ease),clip-path .9s var(--sh-ease)}
  .motion-enabled .home-listings .section-heading h2,.motion-enabled .home-process__intro h2{transition:transform .8s var(--sh-ease),opacity .8s var(--sh-ease)}
  .motion-enabled .home-listings:not(.is-visible) .section-heading h2,.motion-enabled .home-process:not(.is-visible) .home-process__intro h2{transform:translateY(18px);opacity:.5}
  .home .home-listings .featured-showcase .property-card__body{animation:sh-card-content .7s var(--sh-ease) both}
  @keyframes sh-card-content{from{opacity:.7;translate:0 15px}to{opacity:1;translate:0 0}}
}
@media(max-width:900px){
  .home .home-listings .featured-showcase .property-card__body{width:min(510px,55vw)}
  .home .home-process__layout{gap:45px}
}
@media(max-width:760px){
  .home .home-listings{padding-block:62px}
  .home .home-listings .section-heading{align-items:start;gap:16px}
  .home .home-listings .section-heading h2{font-size:clamp(2.4rem,9vw,3.6rem)}
  .home .home-listings .section-heading__tools{margin-top:4px;gap:14px}
  .featured-showcase{width:calc(100% - 24px)}
  .home .home-listings .featured-showcase .property-card{display:flex;flex-direction:column;height:auto;min-height:0}
  .home .home-listings .featured-showcase .property-card__image{position:relative;inset:auto;height:clamp(270px,75vw,450px)!important;flex:none}
  .home .home-listings .featured-showcase .property-card__image img{object-position:center 46%}
  .home .home-listings .featured-showcase .property-card__badge{top:16px;right:16px}
  .home .home-listings .featured-showcase .property-card__body{position:relative;inset:auto;display:flex;flex-direction:column;flex:1;width:100%;min-height:330px;padding:24px 22px 26px!important;border:0;border-inline-start:0;border-top:3px solid var(--sh-champagne);box-shadow:none;backdrop-filter:none}
  .home .home-listings .featured-showcase .property-card h3{font-size:clamp(1.7rem,6vw,2.3rem)}
  .home .home-listings .featured-showcase .property-card__bottom{margin-top:auto;padding-top:17px}
  .home .home-listings .featured-showcase .property-card__bottom strong{font-size:1.45rem}
  .featured-showcase__toolbar{min-height:74px;gap:14px}
  .featured-showcase__navigation button{width:43px;height:43px}
  .home .home-process{padding-block:70px}
  .home .home-process__layout{display:block}
  .home .home-process__intro{position:relative;top:auto;margin-bottom:36px}
  .home .home-process__step{min-height:0;padding:25px 0 30px;opacity:1;transform:none!important}
  .property-contact{position:static}
  .property-similar__grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .property-similar__grid .property-card{flex:0 0 min(82vw,360px);scroll-snap-align:start}
  .property-similar .section-heading{align-items:start}
  .property-similar .section-heading h2{font-size:2.1rem}
  .about-people .about-person__photo{height:360px}
  .seller-hero{min-height:420px}
  .seller-hero__inner{padding-block:50px}
  .seller-layout{display:block}
  .seller-contact{position:static;margin-top:38px}
  .recommendations-featured__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .discovery-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible;border:0;padding-top:14px}
  .discovery-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:7px 4px;border:1px solid #d8e0e3;color:#17394a;text-align:center;white-space:normal;font-size:.73rem;font-weight:650;line-height:1.2}
  .discovery-shortcuts a.is-active{background:var(--sh-night);border-color:var(--sh-night);color:#fff}
}
@media(max-width:420px){
  .home .home-listings .section-heading{display:block}
  .home .home-listings .section-heading__tools{display:flex;flex-direction:row;justify-content:space-between;margin-top:15px}
  .home .home-listings .featured-showcase .property-card__teaser{display:none}
  .home .home-listings .featured-showcase .property-card__body{min-height:285px;padding-inline:18px!important}
  .home .home-listings .featured-showcase .property-card__bottom a{padding-inline:10px;font-size:.8rem}
  .home .home-process__step{grid-template-columns:38px 1fr;gap:15px}
  .property-similar .section-heading{display:block}
  .property-similar .section-link{display:inline-flex;margin-top:12px}
  .recommendations-featured__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .home .home-listings .featured-showcase .home-property-grid{scroll-behavior:auto}
  .home .home-listings .featured-showcase .property-card__image img,.featured-showcase__progress span,.home .home-process__step,.home-process__progress span,.property-gallery__stage img,.property-gallery__mosaic img{transition:none!important;animation:none!important;transform:none!important}
}
