@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#f7f5f0;--paper:#fffefa;--ink:#26332d;--muted:#65726a;--line:#dedfd7;--olive:#536851;--sage:#e9eee7;--gold:#b79b6a;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button{cursor:pointer}.container{width:min(100% - 64px,1240px);margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--olive)}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(56px,7vw,104px);line-height:1.02}h2{font-size:clamp(39px,4vw,64px);line-height:1.1}h3{font-size:25px;line-height:1.23}p{line-height:1.75;color:var(--muted)}.lead{font-size:18px;line-height:1.7}.small{font-size:13px}.header{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(38,51,45,.08)}.header-inner{min-height:84px;display:flex;align-items:center;gap:40px}.brand{display:flex;flex-direction:column;line-height:1;min-width:205px}.brand strong{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.06em}.brand span{font-size:8px;text-transform:uppercase;letter-spacing:.25em;margin-top:7px;color:var(--muted)}.nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav a{font-size:13px;font-weight:600;color:#58645c;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]::after{content:"";display:block;height:1px;background:var(--olive);margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 23px;border:1px solid var(--olive);border-radius:999px;background:var(--olive);color:white;font-size:13px;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);background:#3f5440;box-shadow:0 12px 24px rgba(45,64,46,.16)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d5b87b;outline-offset:3px}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--sage);box-shadow:none}.btn.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.arrow{position:relative;display:inline-block;width:16px;height:16px;flex:0 0 16px}.arrow:before{content:"";position:absolute;left:2px;top:8px;width:11px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:center}.arrow:after{content:"";position:absolute;right:1px;top:2px;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}.mobile-menu{display:none;margin-left:auto;width:42px;height:42px;padding:0;background:none;border:0;color:var(--ink)}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .25s,opacity .25s}.menu-icon{position:relative;margin:auto}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-7px}.menu-icon:after{top:7px}.mobile-menu[aria-expanded=true] .menu-icon{background:transparent}.mobile-menu[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.mobile-menu[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}.mobile-nav-cta{display:none}.hero{padding:52px 0 92px}.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:6vw;align-items:center}.hero-copy{padding:25px 0}.hero h1{margin:22px 0 28px;max-width:680px}.hero h1 em{font-weight:400;color:var(--olive)}.hero .lead{max-width:530px;margin-bottom:31px}.actions{display:flex;gap:11px;flex-wrap:wrap}.hero-image-wrap{position:relative;padding:0 0 38px 32px}.hero-image{height:625px;border-radius:180px 180px 24px 24px;object-position:center}.hero-image-wrap:after{content:"";position:absolute;inset:24px 24px 12px 0;border:1px solid rgba(83,104,81,.37);border-radius:180px 180px 24px 24px;z-index:-1}.image-caption{position:absolute;bottom:60px;left:0;background:var(--paper);padding:19px 26px;border-radius:4px 18px 18px 4px;box-shadow:0 12px 35px rgba(0,0,0,.08)}.image-caption span{display:block;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.image-caption strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.section{padding:100px 0}.section.white{background:var(--paper)}.section.sage{background:var(--sage)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:36px}.section-head h2{max-width:700px;margin:12px 0 0}.section-head p{max-width:350px;margin:0}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--olive);padding-bottom:7px;white-space:nowrap;transition:gap .2s}.text-link:hover{color:var(--olive)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#778078}.strip-inner span:nth-child(2){color:var(--ink)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.property-card{display:block;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden;transition:transform .3s,box-shadow .3s}.property-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(38,51,45,.1)}.card-image{position:relative;overflow:hidden;height:260px;background:#d9d7cb}.card-image img{height:100%;transition:transform .5s,filter .4s}.property-card:hover .card-image img{transform:scale(1.04);filter:sepia(.13)}.card-image:after{content:"";position:absolute;inset:0;background:rgba(175,154,96,0);transition:background .3s}.property-card:hover .card-image:after{background:rgba(175,154,96,.16)}.card-tag{position:absolute;top:17px;left:17px;z-index:2;background:rgba(255,254,250,.95);padding:8px 12px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.card-overlay{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-40%);opacity:0;background:var(--paper);border-radius:999px;padding:13px 19px;font-size:12px;font-weight:700;white-space:nowrap;transition:opacity .3s,transform .3s}.property-card:hover .card-overlay{opacity:1;transform:translate(-50%,-50%)}.card-body{padding:25px}.card-body h3{font-family:Georgia,serif;font-weight:400;margin:6px 0 7px}.card-body p{font-size:13px;margin:0}.card-bottom{border-top:1px solid var(--line);margin-top:23px;padding-top:16px;display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:var(--olive)}.demo-note{margin-top:18px;font-size:12px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:.95fr 1fr;gap:9vw;align-items:center}.story-image{height:610px;border-radius:22px;object-position:center}.story-copy h2{margin:14px 0 26px}.story-copy p{max-width:580px}.story-points{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:30px 0}.story-point{border-top:1px solid var(--line);padding-top:17px}.story-point strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:400;margin-bottom:7px}.story-point span{display:block;font-size:12px;line-height:1.6;color:var(--muted)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.approach-card{padding:26px 10px 15px 0;border-top:1px solid #bac6b7}.approach-card .number{font-family:Georgia,serif;font-size:45px;color:#9cad9a}.approach-card h3{font-family:Georgia,serif;font-weight:400;margin:31px 0 11px}.approach-card p{font-size:14px;max-width:340px}.cta-panel{background:var(--olive);border-radius:26px;padding:70px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px}.cta-panel h2,.cta-panel p,.cta-panel .eyebrow{color:#fff}.cta-panel h2{margin:12px 0 0}.cta-panel p{max-width:360px;margin-left:auto;color:#e0e9df}.cta-panel .btn{margin-left:auto}.footer{background:#26342d;color:white;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer p,.footer a{color:#c8d0c7;font-size:13px}.footer a:hover{color:white}.footer nav{display:grid;gap:13px}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 18px;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #526056;margin-top:45px;padding-top:20px;color:#b5c0b5;font-size:11px}.page-hero{padding:95px 0 75px;text-align:center}.page-hero h1{font-size:clamp(54px,6vw,86px);max-width:880px;margin:18px auto 22px}.page-hero p{max-width:650px;margin:auto}.filters{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:28px}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 17px;color:var(--muted);font-size:12px;font-weight:700}.filter-buttons button.active,.filter-buttons button:hover{background:var(--olive);border-color:var(--olive);color:white}.listing-empty{display:none;padding:40px;background:var(--paper);border-radius:20px}.about-feature{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.about-feature img{height:580px;border-radius:200px 200px 22px 22px}.quote{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);line-height:1.35;letter-spacing:-.03em;color:var(--ink)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.process div{border-top:1px solid var(--line);padding-top:20px}.process span{font-size:12px;color:var(--olive)}.process h3{font-family:Georgia,serif;font-weight:400;margin:22px 0 10px}.process p{font-size:13px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:50px 0 110px}.contact-layout h1{font-size:clamp(57px,6vw,86px);margin:16px 0 28px}.contact-layout p{max-width:510px}.contact-options{margin-top:36px;display:grid;gap:13px}.contact-option{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center}.contact-option strong{font-size:14px}.contact-option span{font-size:11px;color:var(--muted)}.form-box{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:36px}.form-box h3{font-family:Georgia,serif;font-weight:400}.field{display:grid;gap:7px;margin:17px 0}.field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.field input,.field textarea,.field select{width:100%;border:1px solid #dce0d8;border-radius:10px;background:#fdfdfb;padding:13px 14px;color:var(--ink)}.field textarea{min-height:118px;resize:vertical}.form-box .btn{width:100%;margin-top:10px}.form-message{font-size:12px;margin:12px 0 0}.notice{background:#f4efe3;border-radius:12px;padding:14px 16px;color:#665a41;font-size:12px;line-height:1.5}.hidden{display:none!important}
@media(max-width:900px){.container{width:min(100% - 40px,1240px)}.header-inner{min-height:72px}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bg);padding:25px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.header-inner>.btn{display:none}.mobile-menu{display:block}.hero-grid,.story-grid,.about-feature,.contact-layout{grid-template-columns:1fr;gap:45px}.hero{padding:40px 0 70px}.hero-image-wrap{max-width:650px}.hero-image{height:530px}.section{padding:75px 0}.card-grid,.approach-grid,.process{grid-template-columns:repeat(2,1fr)}.cta-panel{padding:45px;grid-template-columns:1fr;gap:20px}.cta-panel p,.cta-panel .btn{margin-left:0}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:25px}}
@media(max-width:620px){.container{width:min(100% - 32px,1240px)}.brand{min-width:0}.brand strong{font-size:24px}.hero-image-wrap{padding-left:14px}.hero-image{height:420px;border-radius:130px 130px 18px 18px}.image-caption{left:0;bottom:52px;padding:13px 16px}.image-caption strong{font-size:16px}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}.card-grid,.approach-grid,.process,.footer-grid{grid-template-columns:1fr}.card-image{height:255px}.story-image,.about-feature img{height:430px}.story-points{grid-template-columns:1fr}.section{padding:60px 0}.strip-inner{flex-wrap:wrap;justify-content:center;text-align:center}.strip-inner span{font-size:9px}.cta-panel{padding:36px 25px}.footer-bottom{display:block}.page-hero{padding:70px 0 55px}.contact-layout{padding:25px 0 75px}.form-box{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.contact-option{transition:transform .25s,box-shadow .25s,border-color .25s}.contact-option:hover{transform:translateY(-3px);border-color:#b9c5b6;box-shadow:0 12px 25px rgba(38,51,45,.08)}

/* Quiet luxury palette: luminous porcelain, soft stone, charcoal and champagne. */
:root{--bg:#f3f4f1;--paper:#fbfbf9;--ink:#202421;--muted:#696d69;--line:#d9ddd8;--olive:#303632;--sage:#e6e9e5;--gold:#a48253;--radius:18px}
.header{background:rgba(243,244,241,.94);border-bottom-color:rgba(48,54,50,.10)}
.nav a{color:#6a706b}
.btn:hover{background:#202421;box-shadow:0 12px 24px rgba(32,36,33,.16)}
.hero h1 em{color:var(--gold)}
.hero-image{border-radius:8px;filter:saturate(.78) contrast(1.03)}
.hero-image-wrap:after{border-color:rgba(168,131,79,.45);border-radius:8px}
.section.sage{border-top:1px solid rgba(164,130,83,.18);border-bottom:1px solid rgba(164,130,83,.18)}
.property-card:hover{box-shadow:0 18px 38px rgba(33,29,26,.10)}
.property-card:hover .card-image:after{background:rgba(168,131,79,.16)}
.story-image{border-radius:8px;filter:saturate(.76) contrast(1.03)}
.approach-card{border-top-color:#cbbba6}
.approach-card .number{color:var(--gold)}
.footer{background:#1f2421}
@media(max-width:620px){.hero-image{border-radius:6px}.story-image,.about-feature img{border-radius:6px}}
.journey-emphasis{margin:26px 0 0;padding:20px 0;border-top:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.55;color:var(--ink)}
.journey-emphasis strong{font-weight:400;color:var(--gold)}
.personal-story{max-width:840px;margin-top:30px}
.personal-story p{max-width:780px}
.personal-story strong{color:var(--ink);font-weight:700}
.story-quote{max-width:970px!important;margin:46px 0!important;padding:38px 0;border-top:1px solid rgba(168,131,79,.45);border-bottom:1px solid rgba(168,131,79,.45)}
.featured-hero p{max-width:1000px}
.about-hero h1{font-family:"DM Sans",Arial,sans-serif;font-weight:600;letter-spacing:-.045em}
.about-hero p{max-width:900px}

/* Restrained entrance motion for a softer, more polished browsing experience. */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
.property-card,.contact-option,.btn{transform-origin:center bottom}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;will-change:auto}}

/* Reusable WhatsApp enquiry form and modal. */
.modal-open{overflow:hidden}.enquiry-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease}.enquiry-modal.open{visibility:visible;opacity:1}.enquiry-backdrop{position:absolute;inset:0;background:rgba(20,24,21,.68);backdrop-filter:blur(8px)}.enquiry-dialog{position:relative;width:min(100%,620px);max-height:calc(100vh - 48px);overflow:auto;transform:translateY(18px) scale(.985);transition:transform .35s cubic-bezier(.22,1,.36,1)}.enquiry-modal.open .enquiry-dialog{transform:none}.enquiry-dialog .form-box{position:relative;padding:44px;background:var(--paper);box-shadow:0 28px 80px rgba(10,14,11,.24)}.enquiry-close{position:absolute;top:18px;right:20px;border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;padding:5px 9px}.enquiry-intro{font-size:14px;margin:-3px 0 24px;max-width:480px}.enquiry-form .field label,.interest-field legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.enquiry-form .field input,.enquiry-form .field textarea{display:block;margin-top:7px}.interest-field{border:0;padding:0;margin:20px 0}.interest-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.interest-pills label{cursor:pointer}.interest-pills input{position:absolute;opacity:0;pointer-events:none}.interest-pills span{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s}.interest-pills input:checked+span{background:var(--olive);border-color:var(--olive);color:#fff}.interest-pills input:focus-visible+span{outline:3px solid #d5b87b;outline-offset:2px}.interest-pills span:hover{border-color:var(--gold);transform:translateY(-1px)}.enquiry-form .btn{width:100%;margin-top:6px}.form-message{min-height:20px;margin:12px 0 0}.contact-layout [data-enquiry-embed]{align-self:start}
@media(max-width:620px){.enquiry-modal{padding:12px}.enquiry-dialog{max-height:calc(100vh - 24px)}.enquiry-dialog .form-box{padding:38px 22px 26px}.enquiry-close{top:12px;right:12px}.interest-pills{gap:7px}.interest-pills span{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.enquiry-modal,.enquiry-dialog{transition:none}}
/* Portal identifiers stay private for internal listing reconciliation. */
.card-body small { display: none !important; }

/* Listing galleries use Ashlynn's own authorised listing images. */
.home-gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin:48px auto 30px;text-align:left}.home-gallery img{height:230px;border-radius:14px;background:var(--sage)}.home-gallery img:first-child{grid-row:span 2;height:474px}.home-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0;text-align:left}.home-facts div{border-top:1px solid var(--line);padding-top:14px}.home-facts span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.home-facts strong{display:block;margin-top:7px;font-family:Georgia,serif;font-size:20px;font-weight:400}.home-detail-cta{margin:44px auto 0;padding:30px;max-width:660px;border-radius:18px;background:var(--sage);text-align:left}.home-detail-cta p{margin-bottom:18px}
@media(max-width:700px){.home-gallery{grid-template-columns:1fr 1fr;gap:9px;margin-top:32px}.home-gallery img,.home-gallery img:first-child{height:170px;grid-row:auto;border-radius:10px}.home-gallery img:first-child{grid-column:span 2;height:290px}.home-facts{grid-template-columns:1fr 1fr}.home-detail-cta{padding:22px}}


/* Mobile landing experience: a quieter image-led hero and swipeable featured homes. */
@media(max-width:900px){
 .nav{box-shadow:0 18px 38px rgba(32,36,33,.08)}
 .nav .mobile-nav-cta{display:inline-flex;width:100%;margin-top:8px;color:#fff}
}
@media(max-width:620px){
 .header-inner{min-height:68px}.nav{top:68px;padding:22px 16px 26px;gap:21px}
 .hero{position:relative;overflow:hidden;min-height:calc(100svh - 68px);padding:58px 0 64px;display:grid;align-items:center}
 .hero-grid{display:block}.hero-copy{position:relative;z-index:2;padding:0}.hero h1{font-size:clamp(52px,16vw,72px);margin:20px 0 24px}.hero .lead{font-size:16px;line-height:1.72;color:#505551}
 .hero-image-wrap{position:absolute;inset:0;z-index:0;max-width:none;padding:0;pointer-events:none}.hero-image-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(243,244,241,.98) 0%,rgba(243,244,241,.92) 48%,rgba(243,244,241,.48) 100%),linear-gradient(0deg,rgba(243,244,241,.88),rgba(243,244,241,.08) 55%)}
 .hero-image-wrap:after{display:none}.hero-image{height:100%;border-radius:0!important;object-position:67% center;opacity:.72;filter:saturate(.62) contrast(1.02)}.image-caption{display:none}
 .hero .actions{gap:10px}.hero .actions .btn{padding:14px 17px}
 .featured-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;margin-right:-16px;padding:4px 16px 20px 0;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none}
 .featured-carousel::-webkit-scrollbar{display:none}.featured-carousel .property-card{flex:0 0 84%;scroll-snap-align:start}.featured-carousel .property-card:hover{transform:none}
}
