/* Inner-page system: source content stays in WordPress; only its presentation changes. */
.site-header{isolation:isolate}
.site-header :focus-visible,.site-footer :focus-visible,main :focus-visible{outline:3px solid #f5d26d;outline-offset:2px;box-shadow:0 0 0 5px #0b405b}
.site-scroll-progress{position:absolute;right:0;bottom:0;z-index:2;width:100%;height:2px;background:#327596;transform:scaleX(0);transform-origin:right center;pointer-events:none}
.footer-bottom__links{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.footer-bottom__links a{margin:0}
.footer-bottom__links a:last-child{color:#fff}
.footer-bottom__links a:hover{text-decoration:underline;text-underline-offset:4px}

.page-hero{padding-block:0;background:#f6f5f1;border-bottom:1px solid #d7d8d2}
.page-hero__inner{display:flex;align-items:center;min-height:225px;padding-block:42px}
.page-hero__copy{min-width:0}
.page-hero h1{font-size:clamp(3.15rem,6.1vw,6.4rem);line-height:.99;margin:0;max-width:1050px;text-wrap:balance}
.page-hero p:not(.eyebrow){max-width:720px;margin:16px 0 0;font-size:1rem;line-height:1.75;color:#596762}
.page-hero--story{overflow:visible}
.page-hero--story .page-hero__inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,5vw,95px);min-height:490px;padding-block:42px}
.page-hero--story h1{font-size:clamp(4.2rem,7vw,7.6rem)}
.page-hero__image{position:relative;height:410px;overflow:hidden;background:#e6e2d9}
.page-hero__image img{display:block;width:100%;height:calc(100% + 120px);object-fit:cover;object-position:center top;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.page-hero__image::after{content:"";position:absolute;inset:0;border:1px solid rgba(11,34,43,.08);pointer-events:none}
.page-hero--story .page-hero__copy::after{content:"";display:block;width:min(100%,245px);height:1px;margin-top:31px;background:#a7a9a1}

.interior-page .page-content{max-width:1060px;padding-block:66px 105px;font-size:1.05rem;line-height:1.95;color:#344149}
.interior-page .page-content>p{max-width:78ch}
.interior-page .page-content>p:empty{display:none}
.interior-page .page-content a{color:#154e6d;text-decoration-thickness:1px;text-underline-offset:3px}
.interior-page .page-content a:hover{color:#0b283b}
.page-content--about>p:first-child{font-size:clamp(1.22rem,1.75vw,1.52rem);line-height:1.8;color:#172e3b;padding-right:23px;border-right:2px solid #173f55;margin-bottom:30px}
.page-content--about>p:not(:first-child){padding-top:23px;border-top:1px solid #d7d8d2;margin-bottom:30px}
.interior-page .page-content:not(.page-content--about):not(.recommendations-content)>p{padding-block:15px;margin:0;border-bottom:1px solid #e3e4e0}
.interior-page .page-content:not(.page-content--about):not(.recommendations-content)>p:has(>br:only-child){display:none}
.interior-page .page-content figure{max-width:100%;margin-block:37px}
.interior-page .page-content figure img{max-width:100%;height:auto;margin:0}
.interior-page .page-content h2,.interior-page .page-content h3,.interior-page .page-content h6{color:#172e3b;font-family:'Frank Ruhl Libre',David,serif;font-weight:400;letter-spacing:-.02em}
.interior-page .page-content h6{font-size:1.55rem;line-height:1.3}
.recommendations-content{max-width:960px!important}
.recommendations-content{padding-top:38px!important}
.recommendations-content figure:first-child{margin-top:0!important}
.recommendations-content figure{width:100%;max-width:830px!important;background:#f6f5f1;border:1px solid #d7d8d2;padding:clamp(12px,2.1vw,26px);margin:34px auto 42px!important;transition:box-shadow .3s ease,transform .3s ease}
.recommendations-content figure img{display:block;width:auto;max-width:100%!important;max-height:850px;margin-inline:auto!important;object-fit:contain}
.recommendations-content>p,.recommendations-content>h2{max-width:830px;margin-inline:auto}
.recommendations-content>p{color:#344149}

.page-template-page-contact .page-hero__inner{min-height:215px}
.contact-section.section-space{padding-block:55px 90px;background:#f6f5f1}
.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,105px);align-items:start}
.contact-info{padding-top:16px}
.contact-info h2{font-family:'Frank Ruhl Libre',David,serif;font-size:clamp(2.5rem,3vw,3.5rem);font-weight:400;letter-spacing:-.02em;margin-bottom:26px}
.contact-lines>div{padding-block:19px}
.contact-lines a,.contact-lines strong{font-size:1.13rem;font-weight:650}
.contact-form-panel{border:1px solid #d7d8d2;border-top:3px solid #153650;background:#fff;padding:clamp(23px,3vw,42px);box-shadow:0 16px 36px rgba(17,43,59,.06)}
.contact-form-panel .lead-form{margin-top:0;gap:17px}
.lead-form label{font-size:.85rem;font-weight:650}
.lead-form input,.lead-form textarea{border-color:#bfc8c7;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.lead-form input:hover,.lead-form textarea:hover{border-color:#667d82}
.lead-form input:focus,.lead-form textarea:focus{border-color:#153650;box-shadow:0 0 0 3px rgba(41,95,122,.14);outline:0}
.lead-form input:focus-visible,.lead-form textarea:focus-visible{outline:3px solid #0b6389;outline-offset:2px;box-shadow:none}
.lead-form .button{justify-content:center;min-height:52px;font-size:.95rem}
.form-note{font-size:.78rem}

.single-sharvit_property #main{background:#f6f5f1}
.property-breadcrumb{padding-block:16px;border-bottom:1px solid #d7d8d2}
.property-breadcrumb a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .2s ease}
.property-breadcrumb a:hover{text-decoration-color:currentColor}
.property-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,250px);align-items:end;gap:25px;padding-block:30px 31px}
.property-top__copy{min-width:0}
.property-top h1{font-size:clamp(2.9rem,4.7vw,5.1rem);max-width:1050px;line-height:1.04;margin:0 0 11px;text-wrap:balance}
.property-place{font-size:.95rem;color:#65716c}
.property-price{align-items:flex-end;justify-self:end;gap:1px;padding-bottom:4px}
.property-price strong{font-size:clamp(1.55rem,2.1vw,2.35rem);font-variant-numeric:tabular-nums}
.property-quick-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:21px}
.property-quick-actions a,.property-quick-actions button{border:0;border-bottom:1px solid #89958f;background:transparent;padding:0 0 4px;font-size:.78rem;font-weight:650;color:#284759;transition:color .2s,border-color .2s}
.property-quick-actions a:hover,.property-quick-actions button:hover{color:#0b283b;border-color:#0b283b}
.property-quick-actions span[aria-hidden]{display:inline-block;margin-inline-start:5px;transition:transform .2s ease}
.property-quick-actions a:hover span[aria-hidden],.property-quick-actions button:hover span[aria-hidden]{transform:translateX(-3px)}
.property-share-status{font-size:.75rem;color:#275e48}
.property-share-status:empty{display:none}
.property-gallery__stage{height:min(52vw,620px);min-height:380px;background:#e7e7e1}
.property-gallery__stage>img{width:100%;height:100%;object-fit:contain;background:#e7e7e1;transition:opacity .25s ease}
.property-gallery__stage.is-switching>img{opacity:.3}
.property-gallery__thumbs{gap:7px;margin-top:7px;scrollbar-color:#8b9b98 transparent}
.property-gallery__thumbs button{flex-basis:117px;height:79px;border:2px solid transparent;opacity:.76;transition:opacity .2s,border-color .2s}
.property-gallery__thumbs button:hover,.property-gallery__thumbs button.is-active{opacity:1}
.property-gallery__thumbs button.is-active{border-color:#153650}
.property-gallery__thumbs img{height:100%;object-fit:contain}
.gallery-count{bottom:15px;right:15px}
.property-layout{grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:clamp(35px,5vw,85px);padding-block:70px 100px}
.property-detail{min-width:0;scroll-margin-top:130px}
.property-detail__heading h2{font-size:clamp(2.25rem,3vw,3rem);margin-bottom:0}
.property-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 35px}
.property-spec-grid>div{padding:18px 10px 18px 0}
.property-spec-grid strong{font-size:1.2rem;font-weight:650}
.property-description{font-size:1.03rem;line-height:1.9}
.property-contact{top:125px;border-top:3px solid #153650;padding:30px;scroll-margin-top:125px}
.property-contact h2{font-size:2rem}
.property-phone{text-align:right}
.property-lightbox__content img{transition:opacity .18s ease}
.property-lightbox.is-switching .property-lightbox__content img{opacity:.35}
.not-found .page-hero__copy .button{margin-top:22px}

/* Motion appears only after the observer is ready. Nothing is hidden without JavaScript. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(17px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}
.motion-ready .page-hero__image[data-reveal]{clip-path:inset(0 0 12% 0);transition:clip-path .75s cubic-bezier(.2,.8,.2,1),opacity .65s ease,transform .65s ease}
.motion-ready .page-hero__image[data-reveal].is-revealed{clip-path:inset(0)}
@media(hover:hover) and (pointer:fine){.page-hero__image:hover img{transform:scale(1.025)}.recommendations-content figure:hover{box-shadow:0 16px 40px rgba(17,43,59,.09);transform:translateY(-3px)}}

@media(max-width:900px){
  .page-hero--story .page-hero__inner{min-height:0;gap:25px}
  .page-hero__image{height:320px}
  .property-layout{grid-template-columns:1fr}
  .property-contact{position:static}
  .contact-grid{grid-template-columns:1fr 1.2fr;gap:30px}
}
@media(max-width:680px){
  .page-hero__inner{min-height:0;padding-block:34px}
  .page-hero h1{font-size:clamp(2.85rem,11vw,4.6rem)}
  .page-hero p:not(.eyebrow){font-size:.9rem;margin-top:9px}
  .page-hero--story .page-hero__inner{grid-template-columns:1fr;gap:24px;padding-block:31px}
  .page-hero--story h1{font-size:clamp(3.4rem,12vw,5.4rem)}
  .page-hero--story .page-hero__copy::after{margin-top:14px;width:115px}
  .page-hero__image{height:235px}
  .interior-page .page-content{padding-block:39px 72px;font-size:1rem}
  .page-content--about>p:first-child{font-size:1.17rem}
  .contact-section.section-space{padding-block:32px 70px}
  .contact-grid{grid-template-columns:1fr;gap:28px}
  .contact-info{padding-top:0}
  .contact-info h2{font-size:2.35rem;margin-bottom:13px}
  .contact-lines{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
  .contact-lines>div{min-width:0;padding-block:12px}
  .contact-lines a,.contact-lines strong{font-size:.94rem}
  .contact-lines>div:last-child{grid-column:1/-1}
  .contact-lines a[href^="mailto:"]{font-size:.88rem}
  .contact-form-panel{padding:20px}
  .property-top{display:block;padding-block:24px 20px}
  .property-top h1{font-size:clamp(2.7rem,10vw,4.5rem)}
  .property-price{align-items:flex-start;margin-top:22px}
  .property-quick-actions{gap:15px;margin-top:15px}
  .property-quick-actions a,.property-quick-actions button{font-size:.75rem}
  .property-gallery__stage{height:min(88vw,420px);min-height:0}
  .property-gallery__thumbs button{flex-basis:88px;height:62px}
  .property-layout{padding-block:48px 70px}
  .property-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-bottom__links{gap:18px}
}
@media(max-width:380px){.contact-lines{grid-template-columns:1fr}.property-quick-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.site-scroll-progress,.property-gallery__stage>img,.property-lightbox__content img,.page-hero__image img,.recommendations-content figure{transition:none!important}.motion-ready [data-reveal],.motion-ready .page-hero__image[data-reveal]{opacity:1;transform:none;clip-path:none;transition:none}}
