:root{--claret:#5B0D16;--claret-deep:#420A10;--midnight:#0D1420;--gold:#C8A46A;--gold-bright:#D9BC85;--ivory:#F6F3EF;--ink:#211D1B;--serif:"Cinzel","Trajan Pro",Georgia,serif;--sans:"Montserrat",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ivory);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--claret-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wordmark{display:inline-block;text-align:center;text-decoration:none;color:var(--ivory)}
.wordmark .name{font-family:var(--serif);font-weight:500;font-size:1.35rem;letter-spacing:.22em}
.wordmark .sub{display:flex;align-items:center;gap:.6rem;justify-content:center;margin-top:.15rem}
.wordmark .sub::before,.wordmark .sub::after{content:"";height:1px;width:26px;background:var(--gold)}
.wordmark .sub span{font-size:.58rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
nav{background:var(--claret);padding:1rem 1.5rem;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(13,20,32,.25)}
.nav-in{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{color:var(--ivory);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;opacity:.9}
.nav-links a:hover{color:var(--gold-bright);opacity:1}
.btn{display:inline-block;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;text-align:center;padding:.9rem 1.5rem;cursor:pointer;transition:all .25s ease;border:1px solid var(--gold)}
.btn.gold{background:var(--gold);color:var(--claret-deep)}
.btn.gold:hover{background:var(--gold-bright)}
.btn.ghost{background:transparent;color:var(--ivory)}
.btn.ghost:hover{background:rgba(200,164,106,.15)}
@media (max-width:760px){.nav-links a:not(.btn){display:none}}
.hero{background:radial-gradient(120% 90% at 85% 10%,rgba(200,164,106,.14),transparent 55%),linear-gradient(160deg,var(--claret) 0%,var(--claret-deep) 55%,var(--midnight) 100%);color:var(--ivory);padding:clamp(3rem,7vw,5rem) 1.5rem clamp(2.5rem,6vw,4rem);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}
.hero-in{max-width:1140px;margin:0 auto}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,4.8vw,3.2rem);line-height:1.32;letter-spacing:.06em;max-width:16em;animation:fadeUp .9s ease both}
.hero h1 span{display:block}
.hero p{max-width:34rem;margin-top:1.4rem;opacity:.85;font-size:.98rem;animation:fadeUp .9s .12s ease both}
.hero-cta{margin-top:2.4rem;display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .9s .22s ease both}
.creds{background:var(--claret-deep);border-top:1px solid rgba(200,164,106,.35);border-bottom:1px solid rgba(200,164,106,.35)}
.creds-in{max-width:1140px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 0;color:var(--ivory)}
.creds-in span{font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;opacity:.92}
.creds-in .bar{color:var(--gold);padding:0 1.4em;opacity:.8}
section{padding:clamp(2.25rem,5vw,3.75rem) 1.5rem}
.wrap{max-width:1140px;margin:0 auto}
.wrap.narrow{max-width:760px}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,3vw,1.9rem);letter-spacing:.16em;text-transform:uppercase;color:var(--claret)}
.sec-head::after{content:"";display:block;width:44px;height:2px;background:var(--gold);margin:1.1rem auto 0}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.svc{text-align:center;padding:0 .5rem}
.svc .glyph{width:64px;height:64px;margin:0 auto 1.1rem;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center}
.svc .glyph svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.4}
.svc h3{font-family:var(--serif);font-weight:500;font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;color:var(--claret)}
.svc p{font-size:.88rem;margin-top:.7rem;color:#4C4440}
@media (max-width:860px){.services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.services{grid-template-columns:1fr}}
.discreet{margin-top:2.8rem;text-align:center;font-size:.92rem;color:#4C4440;max-width:44rem;margin-left:auto;margin-right:auto;border-top:1px solid #E5DFD6;padding-top:1.6rem}
.discreet a{color:var(--claret);font-weight:600}
.meet{background:var(--ivory)}
.meet-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.portrait{aspect-ratio:4/5;background:linear-gradient(160deg,var(--claret) 0%,var(--midnight) 100%);display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);overflow:hidden}
.portrait iframe,.portrait video,.portrait img{width:100%;height:100%;object-fit:cover;border:0}
.portrait .mono{font-family:var(--serif);color:var(--gold);font-size:3rem;letter-spacing:.1em;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.portrait .mono::before,.portrait .mono::after{content:"";width:34px;height:1px;background:var(--gold)}
.meet h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.6vw,1.8rem);letter-spacing:.14em;text-transform:uppercase;color:var(--claret)}
.meet .rule{width:44px;height:2px;background:var(--gold);margin:1rem 0 1.3rem}
.meet p{color:#4C4440;margin-bottom:1rem;max-width:36rem}
@media (max-width:760px){.meet-grid{grid-template-columns:1fr}.portrait{max-width:320px}}
.cta{background:var(--ivory);color:var(--claret);text-align:center}
.cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3.4vw,2.1rem);letter-spacing:.18em;text-transform:uppercase}
.cta h2::after{content:"";display:block;width:44px;height:2px;background:var(--gold);margin:1.1rem auto 0}
.cta p{margin-top:.8rem;font-size:.95rem;color:rgb(76,68,64)}
.cta .field input,.cta .field select,.cta .field textarea{background:rgb(251,249,245);border:1px solid rgb(213,204,187);color:var(--claret)}
.cta-form{max-width:680px;margin:2.4rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
.field.hp{position:absolute;left:-9999px;top:-9999px}
.field label{font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:1rem;padding:.85rem .95rem;background:rgba(246,243,239,.06);border:1px solid rgba(200,164,106,.5);color:var(--ivory);border-radius:0}
.field select{background-color:var(--claret-deep)}
.field textarea{min-height:96px;resize:vertical}
.field ::placeholder{color:rgba(246,243,239,.45)}
.cta .btn{width:100%}
.cta-note{font-size:.78rem;opacity:.65;margin-top:1.1rem}
.form-status{margin-top:1rem;font-size:.9rem;min-height:1.2em}
.form-status.ok{color:var(--gold-bright)}
.form-status.err{color:#E8A0A0}
@media (max-width:600px){.cta-form{grid-template-columns:1fr}}
#faq{background:var(--ivory)}
.faq-list{border-top:1px solid #DDD5C8}
.faq-item{border-bottom:1px solid #DDD5C8}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:0;text-align:left;padding:1.2rem 0;font-family:var(--sans);font-size:.98rem;font-weight:600;color:var(--ink);cursor:pointer}
.faq-q .chev{font-family:var(--serif);color:var(--gold);font-size:1.2rem;transition:transform .25s ease}
.faq-item.open .chev{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:320px}
.faq-a p{padding:0 0 1.2rem;font-size:.92rem;color:#4C4440;max-width:60ch}
.alerts{background:var(--ivory)}
.alerts-intro{text-align:center;color:#4C4440;margin:-1.6rem 0 1.8rem;font-size:.95rem}
.alerts-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:1rem;align-items:end}
.alerts .field label{color:var(--claret)}
.alerts .field input,.alerts .field select{background:#FBF9F5;border:1px solid #D5CCBB;color:var(--ink)}
.alerts .form-status{text-align:center}
.alerts .form-status.ok{color:var(--claret)}
.alerts .form-status.err{color:#9E2B25}
@media (max-width:760px){.alerts-form{grid-template-columns:1fr}}
footer{background:var(--midnight);color:var(--ivory);padding:2.8rem 1.5rem 1.8rem}
.foot-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;align-items:start}
footer h4{font-size:.68rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
footer p,footer a{font-size:.9rem;opacity:.85;color:var(--ivory);text-decoration:none}
footer a:hover{color:var(--gold-bright)}
.foot-legal{max-width:1140px;margin:2.4rem auto 0;border-top:1px solid rgba(200,164,106,.3);padding-top:1.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.5rem;font-size:.7rem;letter-spacing:.08em;opacity:.7}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:1.6rem}}
.callbar{display:none}
@media (max-width:760px){.callbar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.7rem .8rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(13,20,32,.96);border-top:1px solid rgba(200,164,106,.4)}.callbar .btn{padding:.85rem .5rem}body{padding-bottom:4.6rem}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ===== Hero media (photo/video with Ken Burns) ===== */
.hero{padding:clamp(6rem,14vw,11rem) 1.5rem clamp(5rem,12vw,9rem)}
.hero-media{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media img.kenburns{animation:kenburns 24s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-1.5%,1.5%)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(66,10,16,.93) 0%,rgba(66,10,16,.78) 45%,rgba(13,20,32,.55) 100%)}
.hero-in{position:relative;z-index:2}

/* ===== Featured properties ===== */
.props-section{background:var(--ivory)}
.props{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.prop-card{background:#fff;border:1px solid #E5DFD6;display:flex;flex-direction:column;transition:box-shadow .3s ease,transform .3s ease}
.prop-card:hover{box-shadow:0 16px 40px rgba(13,20,32,.14);transform:translateY(-3px)}
.prop-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.prop-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prop-card:hover .prop-img img{transform:scale(1.05)}
.prop-status{position:absolute;top:12px;left:12px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.4rem .7rem;background:var(--claret);color:var(--ivory)}
.prop-status.by-auction{background:var(--gold);color:var(--claret-deep)}
.prop-status.sale-agreed{background:var(--midnight)}
.prop-status.to-let{background:#3E5C46}
.prop-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.prop-body h3{font-family:var(--sans);font-size:.98rem;font-weight:600;line-height:1.4;color:var(--ink)}
.prop-price{font-family:var(--serif);font-size:1.15rem;color:var(--claret);letter-spacing:.02em}
.prop-meta{font-size:.82rem;color:#6B635B}
.prop-ber{display:inline-block;margin-left:.4rem;font-size:.68rem;font-weight:700;color:#3E5C46;border:1px solid #3E5C46;padding:.08rem .4rem;border-radius:2px}
.prop-link{margin-top:auto;padding-top:.7rem;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--claret);text-decoration:none}
.prop-link:hover{color:var(--gold)}
@media (max-width:960px){.props{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.props{grid-template-columns:1fr}}

/* ===== Footer upgrade ===== */
.foot-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}
footer ul{list-style:none}
footer li{margin-bottom:.35rem}
.foot-tag{margin-top:.9rem;font-size:.85rem;opacity:.75;max-width:22rem;line-height:1.6}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ===== Content revision: about block + service cards with lists ===== */
.about-block{background:var(--ivory);padding-bottom:clamp(1.5rem,4vw,3rem)}
.about-copy{text-align:center;font-size:1.05rem;line-height:1.85;color:#3F3A33;max-width:46rem;margin:0 auto}
.services{grid-template-columns:repeat(3,1fr);align-items:stretch}
.svc{text-align:left;background:#fff;border:1px solid #E5DFD6;padding:1.7rem 1.6rem;display:flex;flex-direction:column}
.svc h3{font-size:1.02rem;letter-spacing:.14em;border-bottom:2px solid var(--gold);padding-bottom:.7rem;margin-bottom:.9rem}
.svc .lead{font-size:.88rem;color:#4C4440;margin-bottom:.8rem}
.svc ul{list-style:none;margin:0;padding:0}
.svc li{font-size:.88rem;color:#4C4440;padding:.32rem 0 .32rem 1.1rem;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.85em;width:.55rem;height:2px;background:var(--gold)}
.foot-grid.three{grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:960px){.services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.services{grid-template-columns:1fr}}
@media (max-width:860px){.foot-grid.three{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid.three{grid-template-columns:1fr}}

/* ===== v3: carousel hero, bigger CTAs, call modal, filters, detail page, partner badges ===== */
.hero-media img{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;animation:none}
.hero-media img.active{opacity:1;animation:kenburns 12s ease-in-out both}
.hero .hero-cta .btn{padding:1.25rem 2.4rem;font-size:.85rem}
.hero-in h1{display:none}
.props-cta{text-align:center;margin-top:2.4rem}
.props-cta .btn{border-color:var(--claret);color:var(--claret)}
.props-cta .btn:hover{background:var(--claret);color:var(--ivory)}
/* Call modal */
#call-modal{position:fixed;inset:0;z-index:100;background:rgba(13,20,32,.7);display:none;align-items:center;justify-content:center;padding:1.5rem}
#call-modal.open{display:flex}
.call-box{background:var(--ivory);padding:2.6rem 2.8rem;text-align:center;position:relative;border-top:4px solid var(--gold);max-width:420px;width:100%}
.call-close{position:absolute;top:.5rem;right:.9rem;background:none;border:0;font-size:1.8rem;color:var(--claret);cursor:pointer}
.call-label{font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--claret);margin-bottom:.9rem}
.call-number{font-family:var(--serif);font-size:1.7rem;color:var(--ink);text-decoration:none;letter-spacing:.04em}
.call-number:hover{color:var(--claret)}
.call-hint{font-size:.78rem;color:#6B635B;margin-top:.8rem}
/* Filters bar */
.filters{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.4rem}
.filters select{font-family:var(--sans);font-size:.9rem;padding:.75rem 2.2rem .75rem .9rem;border:1px solid #D5CCBB;background:#FBF9F5;color:var(--ink)}
.res-count{text-align:center;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#6B635B;margin-bottom:1.6rem}
.prop-imglink{display:block}
.prop-img{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.prop-body h3 a{color:var(--ink);text-decoration:none}
.prop-body h3 a:hover{color:var(--claret)}
/* Page hero (small, for sub-pages) */
.page-hero{background:linear-gradient(120deg,var(--claret) 0%,var(--claret-deep) 70%,var(--midnight) 100%);color:var(--ivory);padding:3.4rem 1.5rem 2.6rem;text-align:center}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3.2vw,2rem);letter-spacing:.16em;text-transform:uppercase}
/* Property detail */
.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:start}
#d-main-img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #E5DFD6}
.thumbs{display:flex;gap:.7rem;margin-top:.7rem;flex-wrap:wrap}
.thumbs img{width:92px;height:66px;object-fit:cover;cursor:pointer;border:2px solid transparent;opacity:.75}
.thumbs img.sel,.thumbs img:hover{border-color:var(--gold);opacity:1}
.detail-info h1{font-family:var(--sans);font-weight:600;font-size:1.3rem;line-height:1.4;margin:.8rem 0 .3rem}
.detail-info .prop-price{font-size:1.5rem}
.detail-desc{margin:1.1rem 0;color:#4C4440;font-size:.95rem;line-height:1.75}
.detail-features{list-style:none;margin:0 0 1.4rem;padding:0}
.detail-features li{font-size:.9rem;color:#4C4440;padding:.3rem 0 .3rem 1.1rem;position:relative}
.detail-features li::before{content:"";position:absolute;left:0;top:.85em;width:.55rem;height:2px;background:var(--gold)}
.detail-enq{background:#fff;border:1px solid #E5DFD6;padding:1.6rem}
.detail-enq h2{font-family:var(--serif);font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--claret);margin-bottom:1rem}
.detail-enq .field label{color:var(--claret)}
.detail-enq .field input,.detail-enq .field textarea{background:#FBF9F5;border:1px solid #D5CCBB;color:var(--ink)}
.detail-enq .form-status.ok{color:#3E5C46}
.detail-enq .form-status.err{color:#9E2B25}
.detail-enq .cta-form{display:grid;grid-template-columns:1fr;gap:.9rem;margin:0;text-align:left;max-width:none}
@media (max-width:860px){.detail-grid{grid-template-columns:1fr}}
/* Alerts simplified */
.alerts-form.simple{grid-template-columns:1.6fr auto;max-width:560px;margin:0 auto}
@media (max-width:600px){.alerts-form.simple{grid-template-columns:1fr}}
/* Footer minimal + partner badges */
.foot-grid.mini{grid-template-columns:1fr auto;align-items:end}
.partners{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.partner-badge{font-family:var(--serif);font-size:.78rem;letter-spacing:.12em;color:var(--gold);border:1px solid rgba(200,164,106,.5);padding:.5rem .9rem;white-space:nowrap}
.partner-badge small{display:block;font-family:var(--sans);font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(246,243,239,.55);margin-top:.2rem}
@media (max-width:700px){.foot-grid.mini{grid-template-columns:1fr}.partners{justify-content:flex-start;margin-top:1.4rem}}

/* ===== v4: clean hero, service footage, simple filters, detail page ===== */
/* Hero: remove heavy red tint, add intro copy */
.hero::before{background:linear-gradient(180deg,rgba(13,20,32,.42) 0%,rgba(13,20,32,.20) 35%,rgba(13,20,32,.55) 100%)}
.hero{padding:clamp(7rem,16vw,12rem) 1.5rem clamp(5rem,10vw,8rem)}
.hero-intro{max-width:38rem;font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.75;color:#fff;text-shadow:0 1px 14px rgba(13,20,32,.55);margin-bottom:2.2rem;animation:fadeUp .9s .1s ease both}
.hero-cta{animation:fadeUp .9s .25s ease both}

/* Property cards become full-card links */
a.prop-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
a.prop-card .prop-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.prop-title{font-family:var(--sans);font-size:.96rem;font-weight:600;line-height:1.4;color:var(--ink)}
a.prop-card:hover .prop-title{color:var(--claret)}
.no-res{grid-column:1/-1;text-align:center;color:#6B635B;padding:2.5rem 1rem}

/* Services with motion backdrop */
.services.three{grid-template-columns:repeat(3,1fr)}
.svc.media{position:relative;overflow:hidden;border:0;padding:0;min-height:400px;display:flex;align-items:flex-end;background:var(--midnight)}
.svc-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.svc-bg img,.svc-bg video{width:100%;height:100%;object-fit:cover;animation:svcpan 22s ease-in-out infinite alternate}
@keyframes svcpan{from{transform:scale(1.04)}to{transform:scale(1.18) translate(-2%,-2%)}}
.svc.media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,20,32,.15) 0%,rgba(66,10,16,.62) 55%,rgba(13,20,32,.9) 100%)}
.svc-inner{position:relative;z-index:2;padding:1.8rem 1.6rem;color:var(--ivory);width:100%}
.svc.media h3{color:var(--ivory);border-bottom:2px solid var(--gold);padding-bottom:.6rem;margin-bottom:.85rem}
.svc.media .lead{color:rgba(246,243,239,.9)}
.svc.media ul li{color:rgba(246,243,239,.86)}
.svc.media ul li::before{background:var(--gold)}
@media (max-width:860px){.services.three{grid-template-columns:1fr}.svc.media{min-height:320px}}

/* Properties page header - lighter, shorter */
.page-hero{padding:2.2rem 1.5rem 1.8rem;background:linear-gradient(120deg,var(--claret) 0%,var(--claret-deep) 100%)}
.page-hero h1{font-size:clamp(1.15rem,2.4vw,1.5rem)}
/* Available / Successes toggle */
.state-tabs{display:flex;justify-content:center;gap:0;margin:2.2rem auto 1.8rem;border:1px solid #D5CCBB;width:max-content;background:#fff}
.state-tabs button{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.95rem 2rem;background:none;border:0;color:#6B635B;cursor:pointer;transition:all .2s}
.state-tabs button.on{background:var(--claret);color:var(--ivory)}
.filters{gap:.8rem;margin-bottom:1.6rem}
.filters select{min-width:170px}
/* Detail page polish */
.detail-head{margin-bottom:1.6rem}
.detail-head .prop-status{position:static;display:inline-block;margin-bottom:.7rem}
.detail-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.3;letter-spacing:.02em;color:var(--claret)}
.detail-head .prop-price{font-size:1.4rem;margin-top:.4rem}
.facts{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0 1.4rem}
.fact{border:1px solid #E5DFD6;background:#fff;padding:.7rem 1.1rem;text-align:center;min-width:88px}
.fact strong{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--claret)}
.fact span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#6B635B}
.docs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.6rem}
.btn.small{padding:.7rem 1.2rem;font-size:.64rem}
.btn.ghost-dark{background:transparent;color:var(--claret);border-color:var(--claret)}
.btn.ghost-dark:hover{background:var(--claret);color:var(--ivory)}
.map-block{margin:2rem 0}
.map-block h2,.detail-block h2{font-family:var(--serif);font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;color:var(--claret);margin-bottom:.9rem}
#d-map iframe{width:100%;height:320px;border:1px solid #E5DFD6;display:block;margin-bottom:.8rem}
/* Partner logos */
.partner-logo{height:26px;width:auto;display:block;filter:brightness(0) invert(1) opacity(.85)}
.partner-badge:has(.partner-logo){padding:.5rem .8rem;background:rgba(246,243,239,.06)}

/* ===== v5: taller nav w/ centred logo, readable hero, brand-only status colours, joined services band ===== */
nav{padding:1.5rem 1.5rem}
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem}
.nav-left{display:flex;align-items:center;gap:2rem;justify-content:flex-start}
.nav-right{display:flex;align-items:center;gap:1.4rem;justify-content:flex-end}
.nav-left a,.nav-right a:not(.btn){color:var(--ivory);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;opacity:.9;white-space:nowrap}
.nav-left a:hover,.nav-right a:not(.btn):hover{color:var(--gold-bright);opacity:1}
.nav-in .wordmark{justify-self:center}
.nav-in .wordmark .name{font-size:1.85rem;letter-spacing:.26em}
.nav-in .wordmark .sub span{font-size:.62rem;letter-spacing:.46em}
.nav-in .wordmark .sub::before,.nav-in .wordmark .sub::after{width:34px}
@media (max-width:1080px){
  .nav-in{grid-template-columns:1fr auto 1fr;gap:.6rem}
  .nav-left a,.nav-right a:not(.btn){font-size:.62rem;letter-spacing:.14em}
  .nav-in .wordmark .name{font-size:1.3rem;letter-spacing:.2em}
}
@media (max-width:760px){
  .nav-left{display:none}
  .nav-in{grid-template-columns:1fr auto}
  .nav-right a:not(.btn){display:none}
  .nav-in .wordmark{justify-self:start}
}

/* Hero copy - readability without size change */
.hero::before{background:linear-gradient(180deg,rgba(13,20,32,.55) 0%,rgba(13,20,32,.38) 45%,rgba(13,20,32,.68) 100%)}
.hero-intro{color:#fff;text-shadow:0 2px 10px rgba(13,20,32,.9),0 1px 3px rgba(13,20,32,.95);font-weight:500}

/* Status badges - claret / gold / navy only */
.prop-status{background:var(--claret);color:var(--ivory)}
.prop-status.by-auction{background:var(--gold);color:var(--claret-deep)}
.prop-status.to-let,.prop-status.let{background:var(--midnight);color:var(--ivory)}
.prop-status.sale-agreed,.prop-status.sold{background:var(--claret-deep);color:var(--gold)}
.prop-ber{color:var(--midnight);border-color:var(--midnight)}
.detail-enq .form-status.ok{color:var(--claret)}

/* Services: one joined landscape band */
#services{padding-left:0;padding-right:0}
#services .wrap{max-width:none;padding:0}
#services .sec-head{margin-bottom:2.4rem;padding:0 1.5rem}
.services.three{grid-template-columns:repeat(3,1fr);gap:0}
.svc.media{min-height:460px;border-right:1px solid rgba(200,164,106,.35)}
.svc.media:last-child{border-right:0}
.svc.media::after{background:linear-gradient(180deg,rgba(13,20,32,.35) 0%,rgba(66,10,16,.80) 50%,rgba(13,20,32,.96) 100%)}
.svc-inner{padding:2rem 1.9rem 2.2rem}
.svc.media h3{font-size:1.1rem;letter-spacing:.18em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.svc.media .lead{color:#fff;font-size:.92rem;font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.75);margin-bottom:1rem}
.svc.media ul li{color:#fff;font-size:.9rem;text-shadow:0 1px 6px rgba(0,0,0,.75);padding-top:.4rem;padding-bottom:.4rem}
@media (max-width:860px){.services.three{grid-template-columns:1fr}.svc.media{min-height:340px;border-right:0;border-bottom:1px solid rgba(200,164,106,.35)}}

/* Detail page: description under photo, details to the right */
.detail-grid{grid-template-columns:1.35fr 1fr;align-items:start}
.detail-left .detail-block{margin-top:1.6rem}
.detail-desc{font-size:1rem;line-height:1.85}
@media (max-width:860px){.detail-grid{grid-template-columns:1fr}}

/* ===== v6: nav swap + bigger logo, sleeker services, people slider, paging ===== */
.nav-in .wordmark .name{font-size:2.25rem;letter-spacing:.28em}
.nav-in .wordmark .sub span{font-size:.66rem;letter-spacing:.5em}
.nav-in .wordmark .sub::before,.nav-in .wordmark .sub::after{width:40px}
@media (max-width:1080px){.nav-in .wordmark .name{font-size:1.5rem;letter-spacing:.2em}}

/* Services - sleeker: lighter image, gradient only at the foot, crisp type */
.svc.media{min-height:490px}
.svc.media::after{background:linear-gradient(180deg,rgba(13,20,32,0) 0%,rgba(13,20,32,.05) 30%,rgba(66,10,16,.72) 72%,rgba(66,10,16,.94) 100%)}
.svc-bg img,.svc-bg video{filter:saturate(1.02) contrast(1.02)}
.svc-inner{padding:1.9rem 1.8rem 2.1rem}
.svc.media h3{font-size:1.05rem;letter-spacing:.24em;text-shadow:none;border-bottom-width:1px;padding-bottom:.65rem;margin-bottom:.8rem}
.svc.media .lead{font-size:.88rem;font-weight:400;color:rgba(246,243,239,.92);text-shadow:none;margin-bottom:.9rem}
.svc.media ul li{font-size:.855rem;font-weight:400;color:rgba(246,243,239,.9);text-shadow:none;padding:.3rem 0 .3rem 1.05rem;letter-spacing:.01em}
.svc.media ul li::before{top:.82em;width:.45rem;height:1px}

/* Our People slider */
.people-wrap{position:relative;overflow:hidden}
.people-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.person{min-width:100%}
.person .meet-grid{align-items:start}
.person .label{color:var(--gold);letter-spacing:.28em;font-size:.7rem;font-weight:600;text-transform:uppercase}
.person h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.6vw,1.8rem);letter-spacing:.14em;text-transform:uppercase;color:var(--claret);margin-top:.5rem}
.person-role{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#6B635B;margin-top:.35rem}
.person p{color:#4C4440;margin-bottom:1rem;max-width:36rem}
.pnav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border:1px solid var(--gold);background:rgba(246,243,239,.9);color:var(--claret);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.pnav:hover{background:var(--claret);color:var(--ivory)}
.pnav.prev{left:8px}
.pnav.next{right:8px}
.people-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.6rem}
.pdot{width:32px;height:32px;border-radius:0;border:none;background:transparent;cursor:pointer;padding:0;position:relative;opacity:.4;transition:opacity .2s}
.pdot::before{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;border-top:3.5px solid var(--claret);border-right:3.5px solid var(--claret);transform:translate(-50%,-50%) rotate(-135deg)}
.pdot:last-child::before{transform:translate(-50%,-50%) rotate(45deg)}
.pdot.on{opacity:1}
@media (max-width:760px){.pnav{width:36px;height:36px}}

/* Pagination */
.pager{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem}
.pg{font-family:var(--sans);font-size:.78rem;font-weight:600;min-width:40px;padding:.6rem .75rem;border:1px solid #D5CCBB;background:#fff;color:var(--ink);cursor:pointer;transition:all .2s}
.pg:hover:not(:disabled){border-color:var(--claret);color:var(--claret)}
.pg.on{background:var(--claret);border-color:var(--claret);color:var(--ivory)}
.pg:disabled{opacity:.35;cursor:default}

/* ===== v7: utility strip, symmetrical nav, single-CTA hero, about band, silhouette services ===== */

/* Utility strip above the nav */
.utility{background:var(--claret-deep);border-bottom:1px solid rgba(200,164,106,.22)}
.utility-in{max-width:1140px;margin:0 auto;padding:.55rem 1.5rem;display:flex;justify-content:flex-end;align-items:center;gap:1.8rem}
.utility a,.utility span{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;white-space:nowrap}
.utility a:hover{color:var(--gold-bright)}
.utility .sep{opacity:.4}
@media (max-width:620px){.utility-in{justify-content:center;gap:1rem}.utility .u-hide{display:none}}

/* Symmetrical nav: two links | logo | two links */
.nav-left{justify-content:flex-end;gap:2.6rem}
.nav-right{justify-content:flex-start;gap:2.6rem}
.nav-in{gap:2.6rem}
@media (max-width:1080px){.nav-left,.nav-right{gap:1.5rem}}

/* Hero: one line, one button */
.hero{padding:clamp(7rem,15vw,11rem) 1.5rem clamp(6rem,12vw,9rem)}
.hero-line{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,3.6vw,2.7rem);line-height:1.35;letter-spacing:.09em;color:#fff;text-shadow:0 2px 18px rgba(13,20,32,.75);max-width:22em;animation:fadeUp .9s .05s ease both}
.hero-line span{display:block}
.hero-cta{margin-top:2.6rem}
.hero-intro{display:none}

/* About band under the hero */
.about-band{background:var(--ivory);padding:clamp(3.2rem,7vw,5.5rem) 1.5rem;text-align:center;border-bottom:1px solid #E5DFD6}
.about-band .rule-c{width:44px;height:2px;background:var(--gold);margin:0 auto 1.8rem}
.about-band p{max-width:44rem;margin:0 auto;font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.95;color:#3F3A33}

/* Services: flat brand panels with gold silhouettes */
.svc.flat{background:var(--ivory);border-width:0px 1px 0px 0px;border-style:none solid none none;border-color:currentcolor rgba(200,164,106,.28) currentcolor currentcolor;border-image:none;padding:0px;min-height:430px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.svc.flat.mid{background:var(--ivory)}
.svc.flat.deep{background:var(--ivory)}
.svc.flat .svc-inner{position:relative;z-index:2;padding:2rem 1.9rem 2.2rem;color:var(--claret);width:100%}
.svc.flat h3{color:var(--claret);font-size:1.05rem;letter-spacing:.24em;border-bottom:1px solid var(--gold);padding-bottom:.65rem;margin-bottom:.85rem;text-shadow:none}
.svc.flat .lead{color:rgb(76,68,64);font-size:.88rem;font-weight:400;margin-bottom:.95rem;text-shadow:none}
.svc.flat ul li{color:rgb(76,68,64);font-size:.855rem;font-weight:400;padding:.3rem 0 .3rem 1.05rem;text-shadow:none}
.svc-icon{position:absolute;right:-4%;bottom:-6%;width:58%;max-width:340px;color:var(--midnight);opacity:.4;z-index:0;pointer-events:none}
.svc-icon svg{width:100%;height:auto;display:block;fill:currentColor}
.svc.flat .svc-inner{position:relative;z-index:2;padding:2rem 1.9rem 2.2rem;color:var(--ivory);width:100%}
.svc.flat ul li::before{background:var(--gold);top:.82em;width:.45rem;height:1px}
@media (max-width:860px){.svc.flat{min-height:330px;border-right:0;border-bottom:1px solid rgba(200,164,106,.28)}.svc-icon{width:46%}}

/* v7 fix: tagline is an h1 - override old rule hiding hero headings */
.hero-in h1.hero-line{display:block}

/* ===== v8: no utility strip, anchor offsets, burger menu, prominent footer ===== */
.utility{display:none}

/* Anchor targets clear the sticky nav on both desktop and mobile */
#properties,#services,#people,#contact,#valuation{scroll-margin-top:118px}
@media (max-width:900px){#properties,#services,#people,#contact,#valuation{scroll-margin-top:86px}}

/* Hero: two buttons again */
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

/* ---------- Burger + mobile drawer ---------- */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px}
.nav-toggle span{display:block;height:2px;width:26px;background:var(--ivory);transition:transform .28s ease,opacity .2s ease}
.nav-toggle.on span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.on span:nth-child(2){opacity:0}
.nav-toggle.on span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
#mobile-menu{display:none;position:fixed;left:0;right:0;top:0;bottom:0;z-index:90;background:var(--claret-deep);opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto}
#mobile-menu.open{opacity:1;pointer-events:auto}
.mm-inner{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:5.5rem 1.8rem 3rem;gap:0}
.mm-inner a.mm-link{display:block;font-family:var(--serif);font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);text-decoration:none;padding:1.15rem 0;border-bottom:1px solid rgba(200,164,106,.28)}
.mm-inner a.mm-link:first-of-type{border-top:1px solid rgba(200,164,106,.28)}
.mm-inner a.mm-link:active,.mm-inner a.mm-link:hover{color:var(--gold-bright)}
.mm-actions{display:flex;gap:.8rem;margin-top:2.2rem;flex-wrap:wrap}
.mm-actions .btn{flex:1;min-width:140px}
.mm-close{position:absolute;top:1.1rem;right:1.2rem;background:none;border:0;color:var(--gold);font-size:2rem;line-height:1;cursor:pointer}
@media (max-width:900px){
  .nav-left,.nav-right{display:none}
  .nav-toggle{display:flex}
  .nav-in{grid-template-columns:44px auto 44px}
  .nav-in .wordmark{justify-self:center}
  .nav-in .wordmark .name{font-size:1.35rem;letter-spacing:.2em}
  .nav-in .wordmark .sub span{font-size:.5rem;letter-spacing:.36em}
  #mobile-menu{display:block}
  nav{padding:1rem 1.2rem}
}

/* ---------- Footer: fuller, with the practice statement ---------- */
footer{padding:0 0 1.8rem}
.foot-top{background:var(--claret-deep);padding:clamp(2.8rem,6vw,4.2rem) 1.5rem;text-align:center;border-bottom:1px solid rgba(200,164,106,.28)}
.foot-top .wordmark{margin-bottom:1.4rem}
.foot-top .wordmark .name{font-size:1.6rem;letter-spacing:.26em}
.foot-about{max-width:44rem;margin:0 auto;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.95;color:rgba(246,243,239,.88)}
.foot-body{max-width:1140px;margin:0 auto;padding:2.6rem 1.5rem 0}
.foot-grid.mini{grid-template-columns:1fr auto;align-items:end;gap:2rem}
footer h4{font-size:.7rem;letter-spacing:.28em}
footer li{margin-bottom:.45rem;font-size:.92rem}
.foot-legal{padding-top:1.4rem;margin-top:2.2rem}
@media (max-width:700px){.foot-grid.mini{grid-template-columns:1fr}.partners{justify-content:flex-start;margin-top:1.5rem}}

/* ===== v8b: burger sits in the nav grid but collapses on desktop ===== */
.nav-in{grid-template-columns:auto 1fr auto 1fr auto}
.nav-toggle,.nav-spacer{width:0;overflow:hidden;background:none;border:0;padding:0}
.nav-spacer{display:block}
#people .sec-head{margin-bottom:2.4rem}
@media (max-width:900px){
  .nav-in{grid-template-columns:44px 1fr 44px}
  .nav-toggle{width:44px;overflow:visible}
  .nav-spacer{width:44px}
}

/* ===== v8c: bulletproof nav centring =====
   Earlier rounds left conflicting column counts on .nav-in, which could
   wrap items and knock the wordmark off centre. The logo is now centred
   against the bar itself, so it cannot drift at any width. ===== */
.nav-in{position:relative}
.nav-in > .wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
@media (min-width:901px){
  .nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}
  .nav-toggle,.nav-spacer{display:none}
  .nav-left,.nav-right{display:flex;align-items:center;gap:2.4rem;flex:0 0 auto}
  .nav-left{justify-content:flex-start}
  .nav-right{justify-content:flex-end}
}
@media (max-width:900px){
  .nav-in{display:flex;align-items:center;justify-content:space-between;min-height:52px}
  .nav-toggle{display:flex;width:44px;overflow:visible;flex:0 0 44px}
  .nav-spacer{display:block;width:44px;flex:0 0 44px}
  .nav-left,.nav-right{display:none}
}

/* ===== v9: mobile hero CTAs removed, People becomes a swipe carousel ===== */
/* The sticky Call Us / Free Valuation bar is always on screen below 760px,
   so the hero buttons are redundant there - tagline only. */
@media (max-width:760px){ .hero-cta{display:none} .hero{padding-bottom:clamp(5rem,12vw,7rem)} }

/* People: native scroll-snap swiping, no arrows, next card peeks in */
.pnav{display:none}
.people-wrap{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.people-wrap::-webkit-scrollbar{display:none}
.people-track{transform:none!important;transition:none}
.person{min-width:100%;scroll-snap-align:center;scroll-snap-stop:always}
@media (max-width:900px){
  .person{min-width:88%;padding-right:.4rem}
  .people-wrap{padding-left:1.5rem;padding-right:1.5rem;margin-left:-1.5rem;margin-right:-1.5rem}
  .person .meet-grid{padding:0}
}
.people-dots{margin-top:1.4rem}

/* ===== v10: mobile filter grid, mobile detail order, call box, fuller footer ===== */

/* Filters: two per row on a phone */
@media (max-width:760px){
  .filters{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
  .filters select{min-width:0;width:100%;font-size:.85rem;padding:.75rem 1.9rem .75rem .7rem}
  .state-tabs{width:100%}
  .state-tabs button{flex:1;padding:.9rem .4rem;font-size:.64rem;letter-spacing:.14em}
}

/* Property detail on mobile: photo, then title, then description, then features */
@media (max-width:860px){
  .detail-grid{display:flex;flex-direction:column;gap:0}
  .detail-left,.detail-info{display:contents}
  #d-main-img{order:1}
  #d-thumbs{order:2;margin-bottom:1.3rem}
  .detail-head{order:3;margin-bottom:1rem}
  .facts{order:4;margin:0 0 1.4rem}
  .detail-block:has(#d-desc){order:5;margin-top:0}
  .detail-block:has(#d-features){order:6}
  .docs{order:7}
  .detail-enq{order:8}
}

/* Call Us box: wordmark and the number, nothing else */
.call-box .wordmark{color:var(--claret);margin-bottom:1.4rem}
.call-box .wordmark .name{color:var(--claret);font-size:1.35rem;letter-spacing:.24em}
.call-box .wordmark .sub span{color:var(--gold)}
.call-box .call-number{font-size:1.9rem;display:block}

/* Footer: contact details given real weight */
.foot-body .foot-grid.mini h4{font-size:.76rem;letter-spacing:.3em;margin-bottom:1.1rem}
.foot-body li{font-size:1.02rem;margin-bottom:.6rem;opacity:.95}
.foot-body li:first-child a{font-family:var(--serif);font-size:clamp(1.35rem,3vw,1.7rem);letter-spacing:.05em;color:var(--gold)}
.foot-body li:first-child a:hover{color:var(--gold-bright)}
.foot-body li:nth-child(2) a{font-size:1.08rem;border-bottom:1px solid rgba(200,164,106,.4);padding-bottom:2px}
.foot-legal{flex-direction:column;align-items:flex-start;gap:.9rem;font-size:.72rem}
.legal-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.legal-links a{font-size:.72rem;letter-spacing:.1em;opacity:.85;text-decoration:underline;text-underline-offset:3px}
.legal-links a:hover{opacity:1}
.foot-meta{display:flex;gap:.6rem 1.6rem;flex-wrap:wrap;opacity:.65}

/* Legal pages */
.legal-page{max-width:820px;margin:0 auto;padding:clamp(2.5rem,6vw,4rem) 1.5rem}
.legal-page h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.12em;text-transform:uppercase;color:var(--claret);margin-bottom:.6rem}
.legal-page h2{font-family:var(--serif);font-weight:500;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--claret);margin:2.4rem 0 .9rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.legal-page h3{font-size:.95rem;font-weight:700;margin:1.4rem 0 .5rem}
.legal-page p,.legal-page li{color:#4C4440;margin-bottom:.9rem;font-size:.97rem;line-height:1.8}
.legal-page ul{margin:0 0 1.2rem 1.2rem}
.legal-page .updated{font-size:.8rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem}
.legal-page .note{background:#FBF3E4;border-left:3px solid var(--gold);padding:1rem 1.2rem;font-size:.9rem}


/* Header logo image (replaces text wordmark) */
.nav-logo{height:56px;width:auto;display:block}
@media (max-width:900px){.nav-logo{height:38px}}.press-media{position:relative;max-width:1140px;margin:0 auto;aspect-ratio:3/2;overflow:hidden}
.press-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.6s ease}
.press-media img.active{opacity:1}
@media (max-width:760px){.press-media{aspect-ratio:4/3}}

.showcase-section{background:var(--ivory)}
.showcase-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;padding:0 1.5rem}
.showcase-vid{width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--midnight);cursor:pointer}
@media (max-width:760px){.showcase-grid{grid-template-columns:1fr;max-width:420px}}

.social-section{padding:2rem 1.5rem 1.25rem}
.social-wrap{display:flex;justify-content:center;align-items:center;gap:1.4rem;flex-wrap:wrap}
.social-link{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--claret);color:var(--ivory);transition:background .2s ease,transform .2s ease}
.social-link:hover{background:var(--gold);transform:translateY(-2px)}
.social-link svg{width:24px;height:24px}

@keyframes peoplePulse{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.08)}}
@media (max-width:760px){.people-next-arrow{width:50px;height:50px;right:.8rem}.people-next-arrow svg{width:24px;height:24px}}
.svc-icon{display:none}

.props.one-featured{grid-template-columns:1fr;max-width:760px;margin:0 auto;gap:0}
.props.one-featured .prop-card{display:grid;grid-template-columns:1fr}
.props.one-featured .prop-img{aspect-ratio:16/10}
.props.one-featured .prop-title{font-size:1.6rem}
.props.one-featured .prop-price{font-size:1.35rem}
.props.one-featured .prop-meta{font-size:1rem}

#d-desc{white-space:pre-line}

@media (max-width:760px){
.detail-left,.detail-info{display:contents}
.detail-left>img{order:1}
.detail-left>.thumbs{order:2}
.detail-info>.detail-head{order:3}
.detail-info>.facts{order:4}
#d-about-block{order:5}
#d-accommodation-block{order:6}
#d-features-block{order:7}
#d-services-block{order:8}
#d-neighbourhood-block{order:9}
.detail-info>.detail-block{order:10}
.detail-info>.docs{order:11}
.detail-info>.detail-enq{order:12}
}

.props{transition:opacity .3s ease}

.coming-soon-card{pointer-events:none;cursor:default}
.coming-soon-card .prop-img{position:relative;overflow:hidden;background:linear-gradient(135deg,#cfc3ad,#f2ede3,#cfc3ad);background-size:200% 200%;animation:comingSoonShift 7s ease-in-out infinite}
.coming-soon-card .prop-img::after{content:"";position:absolute;inset:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.coming-soon-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--claret);color:var(--ivory);padding:.7rem 1.8rem;border-radius:999px;font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.25);z-index:2}
.skeleton-bar{display:block;height:1em;border-radius:4px;background:linear-gradient(90deg,#e5dfd6 25%,#f3efe8 50%,#e5dfd6 75%);background-size:200% 100%;animation:skeletonShimmer 1.8s ease-in-out infinite;margin-bottom:.7rem}
@keyframes comingSoonShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.gallery-main{position:relative;order:1}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:rgba(91,13,22,.85);color:var(--ivory);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3);z-index:2;padding:0;transition:background .2s}
.gal-arrow:hover{background:var(--claret)}
.gal-arrow svg{width:22px;height:22px}
.gal-prev{left:.8rem}
.gal-next{right:.8rem}
