/* Sharvit 4.0 — an image-led page system. The source photography and copy are unchanged. */
:root{--a4-paper:#f5f3ed;--a4-cream:#edeae1;--a4-ink:#18272d;--a4-navy:#103446;--a4-line:#d9dbd6;--a4-serif:'Frank Ruhl Libre',David,serif}
body{background:var(--a4-paper)}
.container-wide,.discovery-page>.container-wide{width:min(100% - 72px,1440px)}
.site-header,.site-header.is-scrolled{background:rgba(250,249,245,.97);backdrop-filter:blur(16px)}
.header-inner,.home .header-inner{min-height:76px}
.site-header .brand img{max-height:61px}
.site-header .nav-list{gap:clamp(15px,2vw,34px)}
.site-header .nav-list a{font-size:.85rem}
.site-header .header-contact{padding-inline:24px}

/* Home: one readable text plane, one real property photograph, then a dedicated search dock. */
.home-hero{height:clamp(480px,37vw,560px);min-height:480px;max-height:none;background:var(--a4-paper);overflow:hidden}
.home-hero .hero-media,.home-hero .hero-shade{inset-block:0;inset-inline-start:43%;inset-inline-end:0;width:auto;height:100%}
.home-hero .hero-shade{background:linear-gradient(0deg,rgba(9,31,42,.4),transparent 34%);z-index:1}
.home-hero .hero-layout{height:100%;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:50px 0;position:relative;z-index:2}
.home-hero .hero-content{width:39%;max-width:530px;min-width:0}
.home-hero h1{color:var(--a4-ink);font-size:clamp(4.8rem,7.9vw,9rem);line-height:.84;letter-spacing:-.055em;animation:none}
.home-hero h1 span+span{margin-inline-start:clamp(25px,4vw,64px)}
.home-hero .hero-description{color:#3e535a;font-size:clamp(1.05rem,1.25vw,1.26rem);line-height:1.75;max-width:36ch;margin:38px 0 27px;animation:none}
.home-hero .hero-secondary-action{color:var(--a4-navy);border-color:var(--a4-navy);animation:none}
.home-hero .hero-secondary-action:hover{color:var(--a4-navy)}
.home-hero .hero-slide img{height:100%;object-fit:contain;background:#d9dedc;object-position:center;transform:none!important}
.home-hero .hero-meta{inset-inline-start:auto;inset-inline-end:36px;bottom:25px;width:auto;max-width:calc(57% - 48px);margin:0;color:#fff;justify-content:flex-end}
.home-search-dock{position:relative;z-index:4;background:var(--a4-paper);border-bottom:1px solid var(--a4-line);padding:22px 0 28px}
.home .home-search-dock .hero-search-wrap{position:relative;inset:auto;width:min(100% - 72px,1440px);margin:auto;padding:0;background:#fff;box-shadow:0 10px 35px rgba(16,52,70,.08);border:1px solid var(--a4-line)}
.home .home-search-dock .search-tabs{padding-inline:26px}
.home .home-search-dock .hero-search-more{position:absolute;top:12px;inset-inline-end:26px}
.home .home-search-dock .property-search--hero{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(4,minmax(100px,.75fr)) auto}
.home .home-search-dock .property-search--hero .search-field{display:flex;min-width:0;padding:10px 16px;min-height:76px;border-inline-end:1px solid var(--a4-line)}
.home .home-search-dock .property-search--hero .search-field--purpose{display:none}
.home .home-search-dock .property-search--hero .search-submit{align-self:center;margin:11px 13px;min-height:51px;min-width:135px}
.home .home-search-dock .property-search--hero input,.home .home-search-dock .property-search--hero select{min-width:0;width:100%}
.home .home-listings{padding-block:clamp(65px,6vw,105px)}
.home .home-listings .section-heading,.home .home-testimonials .section-heading{margin-bottom:30px;align-items:end}
.home .home-listings .section-heading h2,.home .home-testimonials .section-heading h2{font-size:clamp(3.3rem,5vw,5.7rem);line-height:1}
.home .home-listings--new .home-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.home .home-listings--new .property-card:nth-child(2){margin-top:0}
.home .home-listings--stone .home-property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.home .home-listings--stone .property-card:first-child{grid-column:auto;display:block;background:transparent;color:var(--a4-ink);overflow:visible}
.home .home-listings--stone .property-card:first-child .property-card__image{height:auto;min-height:0;aspect-ratio:1.5;background:#e7e5dd}
.home .home-listings--stone .property-card:first-child .property-card__body{padding:20px 0 0}
.home .home-listings--stone .property-card:first-child h3,.home .home-listings--stone .property-card:first-child h3 a,.home .home-listings--stone .property-card:first-child .property-card__bottom strong,.home .home-listings--stone .property-card:first-child .property-card__bottom a{color:var(--a4-ink)}
.home .home-listings--stone .property-card:first-child .property-card__location,.home .home-listings--stone .property-card:first-child .property-card__teaser,.home .home-listings--stone .property-card:first-child .property-card__specs,.home .home-listings--stone .property-card:first-child .property-card__source{color:#657273}
.home .home-listings--stone .property-card:first-child h3{font-size:clamp(2.1rem,2.65vw,3.1rem)}
.home .home-listings--stone .property-card:first-child .property-card__bottom{border-color:var(--a4-line)}
.home .home-property-grid .property-card__image{aspect-ratio:1.48}
.home .home-property-grid .property-card__image img{object-fit:contain;background:#e7e5dd}
.home .home-property-grid .property-card__body{padding-top:18px}
.home .home-property-grid .property-card h3{font-size:clamp(2.1rem,2.4vw,2.8rem);min-height:0}
.home .home-property-grid .property-card__bottom strong{font-size:clamp(1.8rem,2.2vw,2.6rem)}
.home .home-category-links{background:#e7e9e5;padding-inline:max(36px,calc((100vw - 1440px)/2));grid-template-columns:repeat(4,1fr)}
.home .home-category-links a{color:var(--a4-ink);border-inline-end:1px solid #cbd2ce;min-height:85px;font-weight:600}
.home .home-category-links a:hover{background:#d5e0de;color:var(--a4-navy)}
.home .home-about-grid{grid-template-columns:1.02fr .98fr}
.home .home-about-image{min-height:590px}
.home .home-about-copy{padding:clamp(50px,6vw,95px)}
.home .home-about-copy h2{font-size:clamp(3.5rem,5vw,5.8rem)}
.home .home-testimonials{padding-block:80px}
.home .home-contact{padding-block:70px}

/* Catalogue: one headline and count, continuous cards, clear filters. */
.discovery-page{padding-bottom:90px}
.discovery-intro{align-items:center;padding:42px 0 23px;min-height:0}
.discovery-intro h1{font-size:clamp(3.5rem,5.5vw,6rem);line-height:1}
.discovery-intro__aside{max-width:310px}
.discovery-intro__aside p{font-size:.82rem;line-height:1.55;max-width:none;margin:0}
.discovery-search{margin-top:18px}
.discovery-search__main{min-height:70px}
.discovery-shortcuts{padding:15px 0 4px}
.discovery-layout{grid-template-columns:minmax(205px,248px) minmax(0,1fr);gap:30px;padding-top:24px}
.discovery-sidebar{top:93px;padding:22px 18px 0}
.discovery-results__head{margin-bottom:18px;padding-bottom:16px}
.discovery-results__head h2{font-size:clamp(2.2rem,3vw,3.2rem)}
.discovery-results__head p{font-size:.82rem}
.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.discovery-card,.discovery-card:hover{border:1px solid var(--a4-line);transform:none;box-shadow:none}
.discovery-card__media{aspect-ratio:1.48}
.discovery-card__media img{object-fit:contain;background:#e9e9e3}
.discovery-card__content{padding:20px 21px 18px}
.discovery-card h3{font-size:clamp(1.85rem,2.25vw,2.5rem);min-height:0;margin:8px 0 14px}
.discovery-card__bottom strong{font-size:clamp(1.65rem,2vw,2.25rem)}
.discovery-card__source{margin-bottom:0}
.discovery-grid.is-list .discovery-card{grid-template-columns:minmax(210px,.9fr) minmax(0,1.1fr)}

/* Property: gallery and decision facts share the first viewport. */
.property-breadcrumb{padding-block:15px}
.property-showcase{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(26px,3vw,52px);padding-block:28px 30px;align-items:start}
.property-top{display:flex;flex-direction:column;gap:0;grid-column:1;grid-row:1;padding:20px 0 0;min-width:0}
.property-top h1{font-size:clamp(3.2rem,4.1vw,5.5rem);line-height:.98;margin-bottom:24px}
.property-top .property-place{margin-bottom:15px}
.property-top__facts{width:100%;margin-bottom:24px}
.property-top__facts span{padding-inline-end:14px;margin-inline-end:12px}
.property-price{width:100%;padding:20px 0 0;margin-top:5px;border-top:1px solid var(--a4-line)}
.property-price strong{font-size:clamp(2.35rem,3vw,3.5rem)}
.property-quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.property-gallery{grid-column:2;grid-row:1;min-width:0;width:100%}
.property-gallery__composition{height:clamp(350px,30vw,450px);grid-template-columns:minmax(0,1fr) minmax(0,.29fr)}
.property-gallery__stage>img,.property-gallery__mosaic button img{object-fit:contain}
.property-gallery .gallery-arrows button{background:var(--a4-navy);border-color:var(--a4-navy);color:#fff}
.property-gallery .gallery-arrows button:hover{background:#fff;color:var(--a4-navy)}
.property-gallery__thumbs{margin-top:9px}
.property-gallery__thumbs{scrollbar-width:none}
.property-gallery__thumbs::-webkit-scrollbar{display:none}
.property-layout{padding-block:55px 110px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(35px,5vw,80px)}
.property-detail__heading h2,.property-contact h2{font-size:clamp(2.6rem,3.5vw,3.9rem)}
.property-contact h2{font-size:2.5rem}
.property-spec-grid{margin:24px 0 35px}

/* Content pages: editorial title bar, then source text immediately. */
.page-hero--compact{background:var(--a4-paper);border-bottom:1px solid var(--a4-line);color:var(--a4-ink)}
.page-hero--compact .page-hero__inner{min-height:0;padding-block:48px 35px}
.page-hero--compact h1,.page-hero--compact p:not(.eyebrow){color:var(--a4-ink)}
.page-hero h1{font-size:clamp(3.4rem,5.6vw,6.2rem);line-height:1}
.page-hero--story .page-hero__inner{min-height:0;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);padding-block:35px;gap:35px}
.page-hero--story h1{font-size:clamp(3.6rem,5.8vw,6.5rem)}
.page-hero__image{height:clamp(300px,30vw,430px)}
.interior-page .page-content,.page-content{padding-block:40px 100px}
.page-content--about{max-width:1000px}
.page-content--about>p:first-child{font-size:clamp(1.55rem,2vw,2.15rem)}
.recommendations-content{max-width:1100px!important}
.contact-section{padding-block:clamp(46px,5vw,85px) 100px}
.contact-grid{align-items:start;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(45px,6vw,100px)}
.contact-info h1{font-family:var(--a4-serif);font-weight:400;font-size:clamp(3.5rem,5.5vw,6rem);line-height:.95;margin:0 0 24px}
.contact-info>p{font-size:1.05rem;line-height:1.7;margin-bottom:60px;max-width:32ch}
.contact-info h2{font-size:2.7rem}
.contact-form-panel{padding:clamp(30px,4vw,58px)}
.site-footer{padding-top:65px}

@media(max-width:1080px){
 .home .home-search-dock .property-search--hero{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
 .home .home-search-dock .property-search--hero .search-field--wide{grid-column:span 2}
 .home .home-search-dock .property-search--hero .search-submit{grid-column:4;grid-row:1/3;height:calc(100% - 22px)}
 .home .home-listings--stone .home-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home .home-listings--stone .property-card:last-child{grid-column:1/-1;width:calc(50% - 12px)}
 .property-showcase{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .property-gallery__composition{display:block;height:440px}
 .property-gallery__mosaic{display:none}
}
@media(max-width:850px){
 .container-wide,.discovery-page>.container-wide,.home .home-search-dock .hero-search-wrap{width:min(100% - 40px,1440px)}
 .home-hero{min-height:510px;height:510px}
 .home-hero .hero-media,.home-hero .hero-shade{inset-inline-start:46%}
 .home-hero .hero-content{width:43%}
 .home-hero h1{font-size:clamp(4.2rem,8.5vw,6.5rem)}
 .home .home-search-dock .property-search--hero{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home .home-search-dock .property-search--hero .search-field--wide{grid-column:1/-1}
 .home .home-search-dock .property-search--hero .search-submit{grid-column:1/-1;grid-row:auto;height:auto}
 .home .home-category-links{padding-inline:20px}
 .discovery-layout{display:block}
 .discovery-sidebar{position:fixed;top:0;width:min(430px,90vw);padding:0}
 .property-showcase{grid-template-columns:1fr;gap:20px}
 .property-gallery{grid-column:1;grid-row:1}
 .property-top{grid-column:1;grid-row:2;padding-top:8px}
 .property-top h1{font-size:clamp(3.3rem,6vw,5rem)}
 .property-gallery__composition{height:460px}
 .property-layout{grid-template-columns:1fr;padding-top:40px}
 .property-contact{position:static}
}
@media(max-width:680px){
 .container-wide,.discovery-page>.container-wide,.home .home-search-dock .hero-search-wrap{width:min(100% - 30px,1440px)}
 .home-hero{height:auto;min-height:0;display:flex;flex-direction:column;background:var(--a4-paper)}
 .home-hero .hero-media,.home-hero .hero-shade{position:absolute;inset-block:0 auto;inset-inline:0;width:100%;height:min(65vw,400px)}
 .home-hero .hero-slide img{height:min(65vw,400px);object-fit:contain;background:#d9dedc}
 .home-hero .hero-shade{background:linear-gradient(0deg,rgba(9,31,42,.38),transparent 48%)}
 .home-hero .hero-layout{height:auto;min-height:0;padding:calc(min(65vw,400px) + 25px) 0 28px;display:block}
 .home-hero .hero-content{width:100%;max-width:none}
 .home-hero h1{font-size:clamp(4.6rem,14vw,7rem);line-height:.84}
 .home-hero .hero-description{max-width:42ch;margin:23px 0 15px;font-size:1rem}
 .home-hero .hero-meta{top:calc(min(65vw,400px) - 61px);bottom:auto;inset-inline-start:15px;inset-inline-end:15px;max-width:none;width:auto;color:#fff}
 .home-search-dock{padding:0 0 27px}
 .home .home-search-dock .hero-search-wrap{border:1px solid var(--a4-line)}
 .home .home-search-dock .search-tabs{padding-inline:15px}
 .home .home-search-dock .hero-search-more{position:static;display:inline-flex;margin:10px 15px 13px}
 .home .home-search-dock .property-search--hero{grid-template-columns:minmax(0,1fr) auto;border:0}
 .home .home-search-dock .property-search--hero .search-field{display:flex;min-height:63px;padding:7px 12px;border-bottom:1px solid var(--a4-line)}
 .home .home-search-dock .property-search--hero .search-field--wide{grid-column:1}
 .home .home-search-dock .property-search--hero .search-field:not(.search-field--wide){display:none}
 .home .home-search-dock .property-search--hero .search-submit{grid-column:2;margin:8px;min-height:49px;min-width:115px}
 .home .home-listings{padding-block:62px}
 .home .home-listings .section-heading h2,.home .home-testimonials .section-heading h2{font-size:clamp(3rem,10vw,4.2rem)}
 .home .home-listings--new .home-property-grid,.home .home-listings--stone .home-property-grid{grid-template-columns:1fr;gap:35px}
 .home .home-listings--stone .property-card:last-child{grid-column:auto;width:auto}
 .home .home-property-grid .property-card h3{font-size:2.15rem}
 .home .home-category-links{grid-template-columns:repeat(2,1fr);padding:0 15px}
 .home .home-category-links a{min-height:68px;padding:12px;font-size:.84rem}
 .home .home-about-grid{grid-template-columns:1fr}
 .home .home-about-image{order:1;min-height:280px;height:300px}
 .home .home-about-copy{order:2;padding:45px 24px 60px}
 .home .home-about-copy h2{font-size:3.7rem}
 .discovery-intro{display:block;padding:30px 0 14px}
 .discovery-intro h1{font-size:clamp(3.3rem,11vw,4.5rem)}
 .discovery-intro__aside{padding-top:10px;max-width:36ch}
 .discovery-intro__aside p{font-size:.78rem}
 .discovery-search{margin-top:12px}
 .discovery-layout{padding-top:16px}
 .discovery-results__head h2{font-size:2.15rem}
 .discovery-grid,.discovery-grid.is-list{grid-template-columns:1fr;gap:24px}
 .discovery-grid.is-list .discovery-card{display:block}
 .discovery-card__media{aspect-ratio:1.48}
 .property-showcase{padding-top:12px}
 .property-gallery__composition{height:auto}
 .property-gallery__stage{height:min(78vw,430px)}
 .property-top h1{font-size:clamp(3.1rem,10vw,4.5rem)}
 .property-price{margin-top:0}
 .property-layout{padding-block:35px 95px}
 .page-hero--story .page-hero__inner{grid-template-columns:1fr;gap:20px;padding-block:28px}
 .page-hero--story h1,.page-hero h1{font-size:clamp(3.2rem,10vw,4.6rem)}
 .page-hero__image{height:235px}
 .page-hero--compact .page-hero__inner{padding-block:33px 26px}
 .interior-page .page-content,.page-content{padding-block:32px 80px}
 .contact-section{padding-block:35px 80px}
 .contact-grid{grid-template-columns:1fr;gap:30px}
 .contact-info h1{font-size:clamp(3.4rem,11vw,4.8rem)}
 .contact-info>p{margin-bottom:32px}
 .contact-info h2{font-size:2.25rem}
 .contact-form-panel{padding:24px}
}
@media(prefers-reduced-motion:reduce){.home-hero .hero-slide,.home .home-property-grid .property-card__image img{transition:none!important;animation:none!important}}
