/* ============================================================
   LIVACRES — Private Luxury Real Estate Advisory
   Design system: "The Lutyens Palette"
   Bone white · Hedge green · Brass nameplate
   Display: Marcellus  ·  Body: Figtree
   ============================================================ */

:root{
  --green:      #10141B;   /* midnight */
  --green-2:    #171D26;
  --green-line: #2A3340;
  --bone:       #FDFCF8;   /* bright ivory */
  --bone-2:     #F2EFE8;
  --bone-line:  #DFD9CC;
  --brass:      #B08A3E;   /* rich gold, legible on white */
  --brass-soft: #CDA859;
  --ink:        #171A1F;
  --muted:      #6C6A63;
  --muted-dark: #A9A79E;
  --max: 1180px;
  --pad: clamp(20px, 5vw, 56px);
  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Jost', system-ui, sans-serif;
  font-weight:400;
  background:var(--bone);
  color:var(--ink);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--brass); color:#fff; }

h1,h2,h3,.display{ font-family:'Prata', serif; font-weight:400; line-height:1.18; letter-spacing:0; }

.wrap{ max-width:var(--max); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ---------- Nameplate (signature element) ---------- */
.plate{
  display:inline-flex; align-items:center; gap:12px;
  border:1px solid var(--bone-line);
  box-shadow:inset 0 0 0 3px var(--bone), inset 0 0 0 4px var(--bone-line);
  padding:9px 22px;
  font-size:11.5px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--muted); background:var(--bone);
}
.plate::before{ content:""; width:22px; height:1px; background:var(--brass); }
.on-dark .plate,
.plate.dark{
  border-color:var(--green-line); background:var(--green);
  box-shadow:inset 0 0 0 3px var(--green), inset 0 0 0 4px var(--green-line);
  color:var(--muted-dark);
}

/* ---------- Header ---------- */
.topbar{
  background:var(--green); color:var(--bone);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
}
.topbar .wrap{ display:flex; justify-content:space-between; padding-top:9px; padding-bottom:9px; }
.topbar a{ color:var(--brass-soft); }
.topbar .tb-right{ display:flex; gap:26px; }
@media (max-width:720px){ .topbar .tb-left{ display:none; } .topbar .wrap{ justify-content:center; } }

header.site{
  position:sticky; top:0; z-index:50;
  background:var(--bone);
  border-bottom:1px solid var(--bone-line);
}
header.site .wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.brand{ font-family:'Prata', serif; font-size:26px; letter-spacing:.14em; text-transform:uppercase; }
.brand small{ display:block; font-family:'Jost'; font-size:9.5px; letter-spacing:.42em; color:var(--brass); margin-top:1px; }
nav.main{ display:flex; gap:34px; align-items:center; }
nav.main a{
  font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  padding:6px 0; border-bottom:1px solid transparent; transition:all .25s var(--ease);
}
nav.main a:hover, nav.main a.active{ color:var(--ink); border-bottom-color:var(--brass); }
.btn{
  display:inline-block; background:var(--green); color:var(--bone);
  font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  padding:15px 32px; border:1px solid var(--green);
  transition:all .3s var(--ease); cursor:pointer; font-family:'Jost';
}
.btn:hover{ background:transparent; color:var(--green); }
.btn.brass{ background:linear-gradient(135deg, var(--brass), #A98B49); border-color:var(--brass); color:#141414; font-weight:500; }
.btn.brass:hover{ background:transparent; color:var(--brass); }
.btn{ font-weight:500; }
.btn.ghost{ background:transparent; color:var(--bone); border-color:rgba(241,237,226,.4); }
.btn.ghost:hover{ border-color:var(--brass); color:var(--brass-soft); }
.nav-toggle{ display:none; background:none; border:1px solid var(--bone-line); padding:10px 14px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; color:var(--ink); }
@media (max-width:920px){
  nav.main{ position:fixed; inset:0; top:0; background:var(--bone); flex-direction:column; justify-content:center; gap:28px; transform:translateY(-102%); transition:transform .45s var(--ease); z-index:60; }
  nav.main.open{ transform:none; }
  nav.main a{ font-size:17px; }
  .nav-toggle{ display:block; position:relative; z-index:70; }
  header.site .btn{ display:none; }
}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:88vh; display:flex; align-items:flex-end;
  background:var(--green); color:var(--bone); overflow:hidden;
}
.hero .bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:.5; filter:saturate(.75) contrast(1.02);
  animation:heroIn 2.4s var(--ease) both;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,39,31,.25) 0%, rgba(28,39,31,.72) 78%, var(--green) 100%);
}
@keyframes heroIn{ from{ transform:scale(1.06); opacity:0;} to{ transform:none; opacity:.5;} }
.hero .wrap{ position:relative; z-index:2; padding-top:120px; padding-bottom:96px; width:100%; }
.hero h1{ font-size:clamp(40px, 6.2vw, 84px); max-width:13ch; margin:26px 0 22px; }
.hero p.lede{ max-width:52ch; color:var(--muted-dark); font-size:18px; }
.hero .cta-row{ display:flex; gap:18px; margin-top:40px; flex-wrap:wrap; }
.hero .markets{
  margin-top:64px; padding-top:26px; border-top:1px solid var(--green-line);
  display:flex; gap:clamp(24px,5vw,64px); flex-wrap:wrap;
  font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted-dark);
}
.hero .markets span b{ color:var(--brass-soft); font-weight:600; margin-right:8px; }

/* ---------- Sections ---------- */
section{ padding:clamp(72px, 9vw, 128px) 0; }
section.dark{ background:var(--green); color:var(--bone); }
section.tint{ background:var(--bone-2); }
.sec-head{ max-width:720px; margin-bottom:clamp(40px,5vw,64px); }
.sec-head h2{ font-size:clamp(30px,3.6vw,48px); margin-top:24px; }
.sec-head p{ color:var(--muted); margin-top:16px; max-width:56ch; }
section.dark .sec-head p{ color:var(--muted-dark); }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.sec-head.center p{ margin-left:auto; margin-right:auto; }

/* ---------- Location cards ---------- */
.loc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--green-line); border:1px solid var(--green-line); }
.loc{ position:relative; aspect-ratio:3/4.1; overflow:hidden; background:var(--green-2); display:flex; align-items:flex-end; }
.loc .img{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.62; transition:all .8s var(--ease); filter:saturate(.7); }
.loc:hover .img{ transform:scale(1.06); opacity:.85; filter:saturate(.95); }
.loc::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(20,28,22,.85)); }
.loc .meta{ position:relative; z-index:2; padding:26px; color:var(--bone); width:100%; }
.loc .meta h3{ font-size:26px; letter-spacing:.06em; }
.loc .meta em{ display:block; font-style:normal; font-size:11.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--brass-soft); margin-bottom:8px; }
.loc .meta span{ display:block; font-size:13px; color:var(--muted-dark); margin-top:6px; }
@media (max-width:960px){ .loc-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .loc-grid{ grid-template-columns:1fr; } .loc{ aspect-ratio:16/10; } }

/* ---------- Portfolio cards ---------- */
.port-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,36px); }
.card{
  background:var(--bone); border:1px solid var(--bone-line);
  box-shadow:inset 0 0 0 4px var(--bone), inset 0 0 0 5px var(--bone-line);
  padding:5px; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.card:hover{ transform:translateY(-6px); }
.card .ph{ aspect-ratio:4/3; background:var(--green-2); background-size:cover; background-position:center; filter:saturate(.85); }
.card .body{ padding:24px 20px 26px; }
.card .body em{ font-style:normal; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--brass); }
.card .body h3{ font-size:24px; margin:10px 0 8px; }
.card .body p{ font-size:14.5px; color:var(--muted); }
.card .price{
  display:flex; justify-content:space-between; align-items:baseline;
  border-top:1px solid var(--bone-line); margin-top:18px; padding-top:16px;
}
.card .price b{ font-family:'Prata'; font-weight:400; font-size:20px; }
.card .price span{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.card .link{ font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); }
.card .link:hover{ color:var(--ink); }
@media (max-width:920px){ .port-grid{ grid-template-columns:1fr; max-width:560px; margin:0 auto; } }

/* ---------- Services ---------- */
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--green-line); border:1px solid var(--green-line); }
.svc{ background:var(--green); padding:clamp(28px,3.4vw,46px); }
.svc h3{ font-size:22px; color:var(--bone); margin:18px 0 12px; }
.svc p{ font-size:14.5px; color:var(--muted-dark); }
.svc .glyph{ width:44px; height:44px; border:1px solid var(--green-line); display:grid; place-items:center; color:var(--brass-soft); font-family:'Prata'; font-size:19px; }
@media (max-width:880px){ .svc-grid{ grid-template-columns:1fr; } }

/* ---------- Ledger / stats ---------- */
.ledger{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--bone-line); border-bottom:1px solid var(--bone-line); }
.ledger div{ padding:34px 26px; border-left:1px solid var(--bone-line); }
.ledger div:first-child{ border-left:none; }
.ledger b{ font-family:'Prata'; font-weight:400; font-size:clamp(30px,3.4vw,44px); display:block; }
.ledger span{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
@media (max-width:820px){ .ledger{ grid-template-columns:1fr 1fr; } .ledger div:nth-child(3){ border-left:none; } .ledger div{ border-top:1px solid var(--bone-line);} .ledger div:nth-child(-n+2){ border-top:none; } }

/* ---------- FAQ (AEO) ---------- */
.faq{ max-width:820px; margin:0 auto; }
.faq details{ border-bottom:1px solid var(--bone-line); }
.faq details:first-of-type{ border-top:1px solid var(--bone-line); }
.faq summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;
  padding:24px 4px; font-family:'Prata'; font-size:19px; gap:20px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; color:var(--brass); font-size:24px; transition:transform .3s var(--ease); flex-shrink:0; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq .a{ padding:0 4px 26px; color:var(--muted); max-width:64ch; }
section.dark .faq details, section.dark .faq details:first-of-type{ border-color:var(--green-line); }
section.dark .faq .a{ color:var(--muted-dark); }

/* ---------- Split / editorial ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,84px); align-items:center; }
.split .img-frame{
  border:1px solid var(--bone-line); padding:5px;
  box-shadow:inset 0 0 0 4px var(--bone), inset 0 0 0 5px var(--bone-line);
}
.split .img-frame .img{ aspect-ratio:4/4.6; background-size:cover; background-position:center; filter:saturate(.8); }
.split h2{ font-size:clamp(28px,3.2vw,42px); margin:22px 0 18px; }
.split p{ color:var(--muted); margin-bottom:14px; }
.split ul{ list-style:none; margin-top:20px; }
.split li{ padding:12px 0 12px 30px; border-top:1px solid var(--bone-line); position:relative; font-size:15px; }
.split li::before{ content:""; position:absolute; left:2px; top:22px; width:14px; height:1px; background:var(--brass); }
@media (max-width:880px){ .split{ grid-template-columns:1fr; } }

/* ---------- CTA band ---------- */
.cta-band{ background:var(--green); color:var(--bone); text-align:center; }
.cta-band h2{ font-size:clamp(30px,4vw,52px); max-width:20ch; margin:24px auto 18px; }
.cta-band p{ color:var(--muted-dark); max-width:52ch; margin:0 auto 36px; }

/* ---------- Forms ---------- */
form.enquiry{ display:grid; gap:16px; }
form.enquiry .row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
form.enquiry label{ font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:7px; }
form.enquiry input, form.enquiry select, form.enquiry textarea{
  width:100%; background:var(--bone); border:1px solid var(--bone-line);
  padding:14px 16px; font-family:'Jost'; font-size:15px; color:var(--ink);
}
form.enquiry input:focus, form.enquiry select:focus, form.enquiry textarea:focus{ outline:2px solid var(--brass); outline-offset:0; border-color:var(--brass); }
form.enquiry .note{ font-size:12.5px; color:var(--muted); }
@media (max-width:640px){ form.enquiry .row{ grid-template-columns:1fr; } }

/* ---------- Listing page ---------- */
.listing-hero{ position:relative; min-height:66vh; display:flex; align-items:flex-end; background:var(--green); color:var(--bone); }
.listing-hero .bg{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.55; filter:saturate(.8); }
.listing-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,39,31,.15), rgba(28,39,31,.9)); }
.listing-hero .wrap{ position:relative; z-index:2; padding-top:100px; padding-bottom:56px; width:100%; }
.listing-hero h1{ font-size:clamp(34px,5vw,64px); margin:20px 0 10px; }
.listing-hero .sub{ color:var(--muted-dark); font-size:17px; }
.factbar{ background:var(--green); color:var(--bone); border-top:1px solid var(--green-line); }
.factbar .wrap{ display:grid; grid-template-columns:repeat(4,1fr); }
.factbar div{ padding:24px 22px; border-left:1px solid var(--green-line); }
.factbar div:first-child{ border-left:none; padding-left:0; }
.factbar b{ font-family:'Prata'; font-weight:400; font-size:22px; display:block; }
.factbar span{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted-dark); }
@media (max-width:820px){ .factbar .wrap{ grid-template-columns:1fr 1fr; } .factbar div:nth-child(3){ border-left:none; padding-left:0;} }
.listing-body{ display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(36px,5vw,72px); align-items:start; }
.listing-body .prose h2{ font-size:28px; margin:38px 0 14px; }
.listing-body .prose h2:first-child{ margin-top:0; }
.listing-body .prose p{ color:var(--muted); margin-bottom:14px; }
.amen{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--bone-line); border:1px solid var(--bone-line); margin-top:20px; }
.amen div{ background:var(--bone); padding:15px 18px; font-size:14px; }
.amen div::before{ content:"— "; color:var(--brass); }
aside.enq{
  position:sticky; top:110px; background:var(--bone-2); border:1px solid var(--bone-line);
  box-shadow:inset 0 0 0 4px var(--bone-2), inset 0 0 0 5px var(--bone-line); padding:30px 28px;
}
aside.enq h3{ font-size:23px; margin-bottom:6px; }
aside.enq .sub{ font-size:13.5px; color:var(--muted); margin-bottom:22px; }
aside.enq input, aside.enq select{ background:var(--bone); }
@media (max-width:920px){ .listing-body{ grid-template-columns:1fr; } aside.enq{ position:static; } }

.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px; }
.gallery .g{ aspect-ratio:4/3; background-size:cover; background-position:center; border:1px solid var(--bone-line); filter:saturate(.85); }
@media (max-width:680px){ .gallery{ grid-template-columns:1fr 1fr; } }

/* ---------- Price table (location pages) ---------- */
table.bands{ width:100%; border-collapse:collapse; font-size:15px; }
table.bands th{ font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); text-align:left; padding:14px 16px; border-bottom:1px solid var(--ink); font-weight:600; }
table.bands td{ padding:16px; border-bottom:1px solid var(--bone-line); }
table.bands td b{ font-family:'Prata'; font-weight:400; font-size:17px; }
@media (max-width:640px){ table.bands{ font-size:13.5px; } table.bands td, table.bands th{ padding:12px 8px; } }

/* ---------- Footer ---------- */
footer{ background:var(--green); color:var(--muted-dark); font-size:14px; }
footer .top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:clamp(28px,4vw,56px); padding:clamp(56px,7vw,88px) 0 48px; }
footer h4{ font-family:'Jost'; font-size:11.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--brass-soft); margin-bottom:20px; font-weight:600; }
footer .fbrand{ font-family:'Prata'; font-size:24px; letter-spacing:.14em; text-transform:uppercase; color:var(--bone); }
footer p{ margin-top:14px; max-width:34ch; }
footer ul{ list-style:none; }
footer li{ margin-bottom:11px; }
footer a:hover{ color:var(--bone); }
footer .base{ border-top:1px solid var(--green-line); padding:22px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12.5px; letter-spacing:.06em; }
@media (max-width:880px){ footer .top{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ footer .top{ grid-template-columns:1fr; } }

/* ---------- Reveal on scroll ---------- */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .rv{ opacity:1; transform:none; }
}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{ background:var(--green); color:var(--bone); padding:clamp(80px,10vw,130px) 0 clamp(48px,6vw,72px); }
.page-hero h1{ font-size:clamp(36px,5vw,64px); margin-top:24px; max-width:16ch; }
.page-hero p{ color:var(--muted-dark); margin-top:18px; max-width:56ch; font-size:17px; }

.whatsapp-fab{
  position:fixed; right:22px; bottom:22px; z-index:80;
  width:54px; height:54px; border-radius:50%; background:var(--green); color:var(--bone);
  display:grid; place-items:center; border:1px solid var(--brass);
  font-family:'Prata'; font-size:20px; box-shadow:0 8px 24px rgba(20,28,22,.35);
  transition:transform .3s var(--ease);
}
.whatsapp-fab:hover{ transform:translateY(-4px); }


/* ============================================================
   BRIGHT LUXE OVERRIDES — ivory-dominant, gold-accented
   ============================================================ */

/* Topbar: bright with gold links */
.topbar{ background:var(--bone); color:var(--muted); border-bottom:1px solid var(--bone-line); }
.topbar a{ color:var(--brass); }

/* Hero: image under an ivory veil, dark text */
.hero{ background:var(--bone); color:var(--ink); }
.hero .bg{ opacity:.92; filter:saturate(.95); }
.hero::after{
  background:linear-gradient(180deg, rgba(253,252,248,.06) 0%, rgba(253,252,248,.55) 46%, rgba(253,252,248,.94) 82%, var(--bone) 100%);
}
.hero p.lede{ color:var(--muted); }
.hero .markets{ border-top-color:var(--bone-line); color:var(--muted); }
.hero .markets span b{ color:var(--brass); }
.hero .plate.dark, .listing-hero .plate.dark, .page-hero .plate.dark, .cta-band .plate.dark,
.on-dark .plate, section.dark .plate.dark{
  border-color:var(--bone-line); background:var(--bone);
  box-shadow:inset 0 0 0 3px var(--bone), inset 0 0 0 4px var(--bone-line);
  color:var(--muted);
}
.btn.ghost{ background:rgba(253,252,248,.65); color:var(--ink); border-color:var(--ink); }
.btn.ghost:hover{ border-color:var(--brass); color:var(--brass); }

/* Former dark sections: warm champagne tint, dark text */
section.dark{ background:#F5F0E4; color:var(--ink); border-top:1px solid var(--bone-line); border-bottom:1px solid var(--bone-line); }
section.dark .sec-head p{ color:var(--muted); }
.svc-grid{ background:var(--bone-line); border-color:var(--bone-line); }
.svc{ background:var(--bone); }
.svc h3{ color:var(--ink); }
.svc p{ color:var(--muted); }
.svc .glyph{ border-color:var(--bone-line); color:var(--brass); background:#FBF7EC; }
section.dark .faq details, section.dark .faq details:first-of-type{ border-color:var(--bone-line); }
section.dark .faq .a{ color:var(--muted); }
.loc-grid{ background:var(--bone-line); border-color:var(--bone-line); }

/* Heroes on inner pages: ivory veil, dark text */
.listing-hero, .page-hero{ background:var(--bone); color:var(--ink); }
.listing-hero .bg{ opacity:.9; filter:saturate(.95); }
.listing-hero::after{ background:linear-gradient(180deg, rgba(253,252,248,.05), rgba(253,252,248,.55) 55%, var(--bone) 100%); }
.listing-hero .sub, .page-hero p{ color:var(--muted); }

/* Fact bar: bright card strip */
.factbar{ background:var(--bone); color:var(--ink); border-top:1px solid var(--bone-line); border-bottom:1px solid var(--bone-line); }
.factbar div{ border-left-color:var(--bone-line); }
.factbar span{ color:var(--muted); }
.factbar b{ color:var(--brass); }

/* CTA band: champagne, gold-framed */
.cta-band{ background:#F5F0E4; color:var(--ink); border-top:1px solid var(--brass-soft); border-bottom:1px solid var(--brass-soft); }
.cta-band p{ color:var(--muted); }

/* Footer: bright stone */
footer{ background:#F2ECDD; color:var(--muted); border-top:1px solid var(--bone-line); }
footer h4{ color:var(--brass); }
footer .fbrand{ color:var(--ink); }
footer a:hover{ color:var(--ink); }
footer .base{ border-top-color:var(--bone-line); }

/* Primary button: rich gold with dark text; secondary: ink outline */
.btn{ background:var(--ink); border-color:var(--ink); color:var(--bone); }
.btn:hover{ background:transparent; color:var(--ink); }
.whatsapp-fab{ background:linear-gradient(135deg, var(--brass), #93712F); color:#141414; border-color:#93712F; }


/* ============================================================
   MOBILE-FIRST HARDENING PASS
   ============================================================ */

html, body{ overflow-x:hidden; }

/* Sticky bottom action bar — the mobile lead engine */
.mobile-cta{ display:none; }
@media (max-width:760px){
  body{ padding-bottom:64px; }
  .mobile-cta{
    display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:1px;
    position:fixed; left:0; right:0; bottom:0; z-index:90;
    background:var(--bone-line); border-top:1px solid var(--bone-line);
    box-shadow:0 -6px 18px rgba(23,26,31,.08);
  }
  .mobile-cta a{
    display:flex; align-items:center; justify-content:center; gap:6px;
    background:var(--bone); color:var(--ink);
    font-size:12.5px; letter-spacing:.12em; text-transform:uppercase;
    padding:15px 6px; font-weight:500; min-height:52px;
  }
  .mobile-cta a.gold{ background:linear-gradient(135deg, var(--brass), #93712F); color:#141414; }
  .whatsapp-fab{ display:none; }
}

/* Top bar: phone only on small screens, tappable */
@media (max-width:560px){
  .topbar .tb-right a:last-child{ display:none; }
  .topbar .tb-right{ gap:0; }
  .topbar .wrap{ justify-content:center; }
}

/* Nameplates: scale down so long labels sit gracefully */
@media (max-width:640px){
  .plate, .plate.dark{
    font-size:10px; letter-spacing:.2em; padding:8px 14px;
    max-width:100%; text-align:left; line-height:1.6;
  }
  .plate::before{ width:14px; flex-shrink:0; }
}

/* Hero: tighter rhythm, guaranteed legibility on small screens */
@media (max-width:760px){
  .hero{ min-height:76vh; }
  .hero .wrap{ padding-top:72px; padding-bottom:76px; }
  .hero h1{ font-size:clamp(32px, 9vw, 44px); margin:20px 0 16px; }
  .hero p.lede{ font-size:16px; }
  .hero .cta-row{ margin-top:28px; }
  .hero .cta-row .btn{ width:100%; text-align:center; }
  .hero .markets{ margin-top:40px; gap:14px 28px; font-size:11px; }
  .hero::after{
    background:linear-gradient(180deg, rgba(253,252,248,.18) 0%, rgba(253,252,248,.7) 38%, rgba(253,252,248,.96) 74%, var(--bone) 100%);
  }
  .listing-hero{ min-height:52vh; }
  .listing-hero .wrap{ padding-top:64px; padding-bottom:40px; }
  .page-hero{ padding-top:56px; }
}

/* Buttons: full-width, thumb-sized on mobile */
@media (max-width:560px){
  .btn{ padding:16px 24px; min-height:50px; }
  .cta-band .btn, section .btn{ width:100%; max-width:420px; text-align:center; }
}

/* Section rhythm: less vertical dead-space on phones */
@media (max-width:640px){
  section{ padding:56px 0; }
  .sec-head{ margin-bottom:32px; }
  .sec-head h2{ font-size:27px; }
}

/* Fact bar & ledger: clean 2-up with consistent padding */
@media (max-width:560px){
  .factbar .wrap{ grid-template-columns:1fr 1fr; }
  .factbar div{ padding:18px 14px 16px 0; border-left:none; border-top:1px solid var(--bone-line); }
  .factbar div:nth-child(-n+2){ border-top:none; }
  .factbar b{ font-size:18px; }
  .ledger b{ font-size:26px; }
  .ledger div{ padding:22px 16px; }
}

/* Tables: card-like readability, native momentum scroll */
@media (max-width:640px){
  table.bands{ min-width:560px; }
  .table-scroll, [style*="overflow-x:auto"]{ -webkit-overflow-scrolling:touch; }
}

/* Forms: prevent iOS zoom, comfortable tap targets */
@media (max-width:640px){
  form.enquiry input, form.enquiry select, form.enquiry textarea{ font-size:16px; padding:15px 16px; }
  aside.enq{ padding:24px 20px; }
}

/* Cards & galleries */
@media (max-width:560px){
  .card .body h3{ font-size:21px; }
  .gallery{ gap:10px; }
}

/* Nav overlay: lock height, larger targets */
@media (max-width:920px){
  nav.main{ padding:24px; }
  nav.main a{ padding:10px 0; }
}
body.nav-locked{ overflow:hidden; }


/* ============================================================
   OVERLAP FIXES — verified pass
   ============================================================ */

/* Mobile menu: true full-screen overlay, hidden completely when closed,
   scrollable when open, never bleeding over page content */
@media (max-width:920px){
  nav.main{
    position:fixed; top:0; left:0; right:0; bottom:0;
    height:100dvh; width:100%;
    background:var(--bone);
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    gap:8px; padding:80px 24px 40px;
    overflow-y:auto;
    transform:translateY(-102%);
    visibility:hidden; pointer-events:none;
    transition:transform .45s var(--ease), visibility 0s linear .45s;
    z-index:60;
  }
  nav.main.open{
    transform:none; visibility:visible; pointer-events:auto;
    transition:transform .45s var(--ease);
  }
  nav.main a{
    font-size:19px; padding:14px 0; width:100%; max-width:320px;
    text-align:center; border-bottom:1px solid var(--bone-line);
  }
  nav.main a:last-child{ border-bottom:none; }
}

/* Brand vs Menu button: no collision on narrow phones */
@media (max-width:420px){
  .brand{ font-size:20px; letter-spacing:.1em; }
  .brand small{ font-size:8px; letter-spacing:.32em; }
  header.site .wrap{ height:66px; }
  .nav-toggle{ padding:8px 12px; font-size:11px; }
}

/* Long words & headings can never spill out of their boxes */
h1,h2,h3,p,a,span,td,th,summary{ overflow-wrap:break-word; }
.wrap{ min-width:0; }
.card .body, .svc, .loc .meta, .factbar div, .ledger div{ min-width:0; }

/* Bottom action bar: exact height, content padding matches, above footer */
@media (max-width:760px){
  .mobile-cta a{ min-height:56px; padding:10px 6px; }
  body{ padding-bottom:58px; }
}

/* Sticky header + in-page anchors: content never hides under the header */
:target{ scroll-margin-top:96px; }

/* Reveal animations: content always visible even if JS is blocked */
.no-js .rv{ opacity:1; transform:none; }




/* ============================================================
   THEME: GALLERY WHITE — the Sotheby's benchmark
   White canvas · charcoal serif · photography as the luxury
   Bronze used only in whispers
   ============================================================ */

:root{
  --green:      #1D1D1B;
  --green-2:    #262624;
  --green-line: #3A3A37;
  --bone:       #FFFFFF;
  --bone-2:     #F6F5F2;
  --bone-line:  #E4E2DC;
  --brass:      #9C7C46;
  --brass-soft: #C2A878;
  --ink:        #1D1D1B;
  --muted:      #6B6A64;
  --muted-dark: #B9B7AF;
}

/* Typography: auction-house restraint */
h1,h2,h3,.display, .brand, .fbrand, .card .price b, .factbar b, .ledger b,
.faq summary, .card .body h3, .svc h3, aside.enq h3{
  font-family:'Cormorant Garamond', serif; font-weight:500;
}
h1,h2,h3{ line-height:1.1; color:var(--ink); }
.hero h1{ font-size:clamp(42px, 6.4vw, 92px); font-weight:500; }
.sec-head h2::after{
  content:""; display:block; width:56px; height:1px; margin-top:22px;
  background:var(--brass);
}
.sec-head.center h2::after{ margin-left:auto; margin-right:auto; }

/* Nameplates -> minimal small-caps rules */
.plate, .plate.dark,
.hero .plate.dark, .listing-hero .plate.dark, .page-hero .plate.dark,
.cta-band .plate.dark, section.dark .plate.dark{
  border:none; box-shadow:none; background:transparent; padding:0;
  font-size:12px; letter-spacing:.32em; color:var(--brass);
}
.plate::before{ width:28px; background:var(--brass); }

/* Top bar: white, hairline, quiet */
.topbar{ background:var(--bone); color:var(--muted); border-bottom:1px solid var(--bone-line); }
.topbar a{ color:var(--ink); }

/* Header */
header.site{ background:rgba(255,255,255,.97); }
.brand{ color:var(--ink); font-weight:500; }
.brand small{ color:var(--brass); }
nav.main a:hover, nav.main a.active{ border-bottom-color:var(--ink); }

/* HERO: the photograph is the luxury — minimal charcoal base for legibility */
.hero{ background:var(--green); color:#FFFFFF; }
.hero .bg{ opacity:.96; filter:none; }
.hero::after{
  background:linear-gradient(180deg, rgba(20,20,18,.18) 0%, rgba(20,20,18,.05) 38%, rgba(20,20,18,.62) 100%);
}
.hero .plate.dark{ color:#E8DCC4; }
.hero .plate.dark::before{ background:#E8DCC4; }
.hero h1{ color:#FFFFFF; text-shadow:0 1px 30px rgba(0,0,0,.25); }
.hero p.lede{ color:rgba(255,255,255,.88); }
.hero .markets{ border-top-color:rgba(255,255,255,.25); color:rgba(255,255,255,.75); }
.hero .markets span b{ color:#E8DCC4; }
.btn.ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.65); }
.btn.ghost:hover{ background:#fff; color:var(--ink); border-color:#fff; }

/* Former statement panels: gallery grey, charcoal text, hairlines */
section.dark{ background:var(--bone-2); color:var(--ink); border:none; }
section.dark .sec-head p{ color:var(--muted); }
.svc-grid{ background:var(--bone-line); border-color:var(--bone-line); }
.svc{ background:var(--bone); }
.svc h3{ color:var(--ink); }
.svc p{ color:var(--muted); }
.svc .glyph{ border-color:var(--bone-line); color:var(--brass); background:transparent; }
section.dark .faq details, section.dark .faq details:first-of-type{ border-color:var(--bone-line); }
section.dark .faq .a{ color:var(--muted); }

/* Inner heroes: photography-first like home */
.listing-hero, .page-hero{ background:var(--green); color:#fff; }
.listing-hero .bg{ opacity:.92; filter:none; }
.listing-hero::after{ background:linear-gradient(180deg, rgba(20,20,18,.12), rgba(20,20,18,.68) 100%); }
.listing-hero h1, .page-hero h1{ color:#fff; }
.listing-hero .sub, .page-hero p{ color:rgba(255,255,255,.85); }
.listing-hero .plate.dark, .page-hero .plate.dark{ color:#E8DCC4; }
.listing-hero .plate.dark::before, .page-hero .plate.dark::before{ background:#E8DCC4; }
.page-hero{ background:var(--bone); color:var(--ink); }
.page-hero h1{ color:var(--ink); }
.page-hero p{ color:var(--muted); }
.page-hero .plate.dark{ color:var(--brass); }
.page-hero .plate.dark::before{ background:var(--brass); }

/* Fact bar: white, hairlines, charcoal figures */
.factbar{ background:var(--bone); color:var(--ink); border-top:1px solid var(--bone-line); border-bottom:1px solid var(--bone-line); }
.factbar div{ border-left-color:var(--bone-line); }
.factbar b{ color:var(--ink); font-size:26px; }
.factbar span{ color:var(--muted); }

.ledger b{ color:var(--ink); }

/* CTA band: gallery grey, single bronze rule */
.cta-band{ background:var(--bone-2); color:var(--ink); border-top:1px solid var(--bone-line); border-bottom:1px solid var(--bone-line); }
.cta-band .plate.dark{ color:var(--brass); }
.cta-band .plate.dark::before{ background:var(--brass); }
.cta-band p{ color:var(--muted); }

/* Footer: bright, hairline, typographic */
footer{ background:var(--bone); color:var(--muted); border-top:1px solid var(--bone-line); }
footer h4{ color:var(--ink); }
footer .fbrand{ color:var(--ink); }
footer a:hover{ color:var(--ink); }
footer .base{ border-top-color:var(--bone-line); }

/* Buttons: charcoal is the luxury CTA (Sotheby's style) */
.btn, .btn.brass{
  background:var(--ink); border:1px solid var(--ink); color:#fff;
  letter-spacing:.22em; font-weight:500;
}
.btn:hover, .btn.brass:hover{ background:transparent; color:var(--ink); }
.whatsapp-fab{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* Cards: pure photography + hairline, no ornament */
.card{ padding:0; box-shadow:none; border:1px solid var(--bone-line); background:var(--bone); }
.card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(29,29,27,.08); }
.card .ph{ filter:none; }
.card .body em{ color:var(--brass); }
.card .price b{ color:var(--ink); font-size:22px; }
.card .link{ color:var(--ink); }
.card .link:hover{ color:var(--brass); }

/* Location tiles: photography with soft charcoal base only */
.loc .img{ opacity:.95; filter:none; }
.loc:hover .img{ opacity:1; }
.loc::after{ background:linear-gradient(180deg, rgba(20,20,18,0) 45%, rgba(20,20,18,.72)); }
.loc .meta em{ color:#E8DCC4; }

/* Split editorial: clean frame */
.split .img-frame{ border:none; padding:0; box-shadow:none; }
.split .img-frame .img{ filter:none; }

/* Tables */
table.bands th{ border-bottom:1px solid var(--ink); color:var(--ink); }
table.bands td b{ color:var(--ink); }

/* Forms */
form.enquiry input:focus, form.enquiry select:focus, form.enquiry textarea:focus{ outline:1px solid var(--ink); border-color:var(--ink); }
aside.enq{ background:var(--bone-2); box-shadow:none; border:1px solid var(--bone-line); }

/* Gallery */
.gallery .g{ filter:none; }

/* Mobile: keep it bright */
@media (max-width:760px){
  .hero::after{ background:linear-gradient(180deg, rgba(20,20,18,.28) 0%, rgba(20,20,18,.12) 34%, rgba(20,20,18,.72) 100%); }
  .hero h1{ font-size:clamp(34px, 9.6vw, 48px); }
  .mobile-cta{ background:var(--bone-line); border-top-color:var(--bone-line); }
  .mobile-cta a{ background:var(--bone); color:var(--ink); }
  .mobile-cta a.gold{ background:var(--ink); color:#fff; }
}



/* ============================================================
   FINAL THEME: CHAMPAGNE GOLD — built around gold
   Warm white canvas · golden-olive serif · champagne gradients
   ============================================================ */

:root{
  --bone:       #FFFEFA;
  --bone-2:     #F8F3E2;
  --bone-line:  #EADFBE;
  --ink:        #4E4126;
  --muted:      #847455;
  --muted-dark: #CBBD97;
  --brass:      #B8912E;
  --brass-soft: #E4C86E;
  --grad-a:     #D8B24A;
  --grad-b:     #9E7B24;
  --green:      #4E4126;
  --green-2:    #5C4E2F;
  --green-line: #75643E;
}
::selection{ background:var(--brass); color:#FFFEFA; }
h1,h2,h3{ color:var(--ink); }

/* A single golden thread runs across the very top of every page */
.topbar{ border-top:3px solid; border-image:linear-gradient(90deg, var(--grad-b), var(--grad-a), var(--grad-b)) 1; }

/* Gold gradient rules under headings */
.sec-head h2::after{
  background:linear-gradient(90deg, var(--grad-a), var(--grad-b));
  height:2px; width:64px;
}

/* Hero: golden-hour dusk over photography */
.hero::after{
  background:linear-gradient(180deg, rgba(78,65,38,.16) 0%, rgba(78,65,38,.05) 36%, rgba(58,47,24,.62) 100%);
}
.listing-hero::after{ background:linear-gradient(180deg, rgba(78,65,38,.12), rgba(58,47,24,.68) 100%); }
.loc::after{ background:linear-gradient(180deg, rgba(78,65,38,0) 45%, rgba(52,42,20,.78)); }
.hero .plate.dark, .listing-hero .plate.dark{ color:var(--brass-soft); }
.hero .plate.dark::before, .listing-hero .plate.dark::before{ background:var(--brass-soft); }
.hero .markets span b{ color:var(--brass-soft); }
.loc .meta em{ color:var(--brass-soft); }
.hero h1, .listing-hero h1{ color:#FFFDF4; }

/* Buttons: champagne gradient, espresso-gold hover */
.btn, .btn.brass{
  background:linear-gradient(135deg, var(--grad-a), var(--grad-b));
  border:1px solid var(--grad-b); color:#FFFDF2;
  letter-spacing:.2em; font-weight:500;
}
.btn:hover, .btn.brass:hover{ background:var(--ink); border-color:var(--ink); }
.btn.ghost{ background:rgba(255,254,250,.14); color:#FFFDF4; border-color:rgba(255,253,242,.7); }
.btn.ghost:hover{ background:#FFFDF4; color:var(--ink); border-color:#FFFDF4; }
.whatsapp-fab{ background:linear-gradient(135deg, var(--grad-a), var(--grad-b)); color:#FFFDF2; border-color:var(--grad-b); }

/* Golden figures wherever money and facts appear */
.factbar b, .card .price b, .ledger b{ color:var(--brass); }
table.bands th{ border-bottom:2px solid var(--brass); color:var(--ink); }

/* Cards: hairline gold on hover */
.card:hover{ border-color:var(--brass-soft); box-shadow:0 18px 40px rgba(158,123,36,.14); }

/* CTA band: champagne panel in golden frame */
.cta-band{ background:var(--bone-2); border-top:1px solid var(--brass-soft); border-bottom:1px solid var(--brass-soft); }
.cta-band .plate.dark{ color:var(--brass); }
.cta-band .plate.dark::before{ background:var(--brass); }

/* Footer: warm white with a golden signature line */
footer{ border-top:2px solid; border-image:linear-gradient(90deg, var(--grad-b), var(--grad-a), var(--grad-b)) 1; }
footer h4{ color:var(--brass); }

@media (max-width:760px){
  .mobile-cta a.gold{ background:linear-gradient(135deg, var(--grad-a), var(--grad-b)); color:#FFFDF2; }
}


/* ============================================================
   GOLD POLISH — metallic gradients & ambient light
   Headings shine like metal, not brown ink
   ============================================================ */

:root{
  --ink:   #3E3930;              /* warm graphite for body — not brown */
  --muted: #7C7666;
  --gold-1:#8F6B1E;              /* deep gold  */
  --gold-2:#D4AF37;              /* true gold  */
  --gold-3:#F5E7B4;              /* highlight  */
}

/* Ambient light: soft champagne glow bathing the canvas */
body{
  background:
    radial-gradient(1100px 520px at 85% -120px, rgba(244,231,180,.55), rgba(244,231,180,0) 70%),
    radial-gradient(900px 480px at -10% 30%, rgba(248,240,214,.5), rgba(248,240,214,0) 70%),
    var(--bone);
}
section.tint, .cta-band, section.dark{
  background:
    radial-gradient(800px 300px at 50% 0%, rgba(212,175,55,.10), transparent 70%),
    linear-gradient(180deg, #F9F4E3, #F5EED6);
}

/* METALLIC GOLD HEADINGS — gradient-clipped, with graceful fallback */
.sec-head h2, .split h2, .cta-band h2, .page-hero h1,
.listing-body .prose h2{
  color:var(--gold-1);
  background:linear-gradient(115deg, var(--gold-1) 0%, var(--gold-2) 34%, var(--gold-3) 50%, var(--gold-2) 66%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* Supporting headings: warm graphite for hierarchy & readability */
.card .body h3, .svc h3, .faq summary, aside.enq h3, .loc .meta h3{ color:var(--ink); -webkit-text-fill-color:initial; }
.loc .meta h3{ color:#FFFDF4; }

/* Money in metallic gold */
.factbar b, .card .price b, .ledger b{
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 45%, var(--gold-3) 60%, var(--gold-2) 75%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  color:var(--gold-1);
}

/* Hero headline: warm white with a golden aura */
.hero h1, .listing-hero h1{
  color:#FFFDF4; -webkit-text-fill-color:#FFFDF4; background:none;
  text-shadow:0 0 44px rgba(212,175,55,.5), 0 2px 24px rgba(40,30,10,.45);
}

/* Gold rules become true gradients with depth */
.sec-head h2::after{
  background:linear-gradient(90deg, var(--gold-1), var(--gold-2) 45%, var(--gold-3) 55%, var(--gold-2) 65%, var(--gold-1));
  height:2px; box-shadow:0 1px 6px rgba(212,175,55,.45);
}
.topbar{ border-image:linear-gradient(90deg, var(--gold-1), var(--gold-3) 50%, var(--gold-1)) 1; }
footer{ border-image:linear-gradient(90deg, var(--gold-1), var(--gold-3) 50%, var(--gold-1)) 1; }

/* Buttons: living gold — sheen sweeps across on hover */
.btn, .btn.brass{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, #E2BE54, #B8912E 55%, #96731F);
  border-color:#96731F; color:#FFFDF2;
  box-shadow:0 6px 20px rgba(158,123,36,.28), inset 0 1px 0 rgba(255,244,200,.55);
}
.btn::before, .btn.brass::before{
  content:""; position:absolute; top:0; bottom:0; width:60%;
  left:-80%; transform:skewX(-20deg);
  background:linear-gradient(90deg, transparent, rgba(255,250,225,.55), transparent);
  transition:left .6s var(--ease);
}
.btn:hover::before, .btn.brass:hover::before{ left:120%; }
.btn:hover, .btn.brass:hover{ background:linear-gradient(135deg, #E2BE54, #B8912E 55%, #96731F); color:#FFFDF2; border-color:#96731F; box-shadow:0 10px 26px rgba(158,123,36,.4), inset 0 1px 0 rgba(255,244,200,.55); }
.btn.ghost{ background:rgba(255,254,250,.12); box-shadow:none; }
.btn.ghost:hover{ background:#FFFDF4; color:var(--ink); box-shadow:none; }
.whatsapp-fab{ box-shadow:0 8px 24px rgba(158,123,36,.4), inset 0 1px 0 rgba(255,244,200,.5); }

/* Cards float in golden light */
.card{ box-shadow:0 1px 0 rgba(212,175,55,.0); }
.card:hover{ border-color:var(--gold-2); box-shadow:0 22px 48px rgba(158,123,36,.18), 0 0 0 1px rgba(212,175,55,.35); }

/* Glyphs & plates take the metal */
.svc .glyph{ border-color:rgba(184,145,46,.45); color:var(--gold-2); background:linear-gradient(160deg, rgba(245,231,180,.35), transparent); }
.plate, .plate.dark{ color:var(--gold-1); }
.plate::before{ background:linear-gradient(90deg, var(--gold-2), var(--gold-3)); }
.hero .plate.dark, .listing-hero .plate.dark{ color:var(--gold-3); }
.hero .plate.dark::before, .listing-hero .plate.dark::before{ background:var(--gold-3); }

/* FAQ marker */
.faq summary::after{ color:var(--gold-2); }

/* Ambient hero: faint gold bloom at the horizon line */
.hero .wrap{ position:relative; }
.hero .wrap::before{
  content:""; position:absolute; left:0; right:0; bottom:-96px; height:180px;
  background:radial-gradient(60% 100% at 30% 100%, rgba(212,175,55,.22), transparent 70%);
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){ .btn::before{ display:none; } }


/* ============================================================
   TITLE FADE CORRECTION — richer metal, tighter highlight
   ============================================================ */
:root{
  --gold-1:#7E5D18;   /* deeper base */
  --gold-2:#C29A2B;   /* body of the metal */
  --gold-3:#E3C05C;   /* restrained highlight (no pale wash) */
}

/* Headings: mostly solid gold body with only a narrow glint */
.sec-head h2, .split h2, .cta-band h2, .page-hero h1,
.listing-body .prose h2{
  background:linear-gradient(115deg,
    var(--gold-1) 0%, var(--gold-2) 30%,
    var(--gold-3) 48%, var(--gold-3) 52%,
    var(--gold-2) 70%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold-1);
}

/* Money figures: same corrected metal */
.factbar b, .card .price b, .ledger b{
  background:linear-gradient(115deg,
    var(--gold-1) 0%, var(--gold-2) 35%,
    var(--gold-3) 50%, var(--gold-2) 65%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold-1);
}

/* Rules: quieter glint */
.sec-head h2::after{
  background:linear-gradient(90deg, var(--gold-1), var(--gold-2) 46%, var(--gold-3) 50%, var(--gold-2) 54%, var(--gold-1));
  box-shadow:0 1px 4px rgba(194,154,43,.35);
}

/* Hero headline: reduce the aura so it reads crisp */
.hero h1, .listing-hero h1{
  text-shadow:0 0 26px rgba(194,154,43,.32), 0 2px 18px rgba(40,30,10,.5);
}


/* ============================================================
   HEADER REFINEMENT — golden masthead, no brown cast
   ============================================================ */

/* Top ribbon: a true champagne-gold band, jewellery-bright */
.topbar{
  background:linear-gradient(90deg, #E9CE7C 0%, #D9B855 28%, #C9A63E 50%, #D9B855 72%, #E9CE7C 100%);
  color:#3D3012; border-bottom:1px solid #B8912E; border-top:none;
  font-weight:500;
}
.topbar a{ color:#2E2408; font-weight:600; }
.topbar a:hover{ color:#000; }

/* Masthead: clean white, floating on a soft shadow */
header.site{
  background:#FFFFFF;
  border-bottom:1px solid #EFE7CF;
  box-shadow:0 4px 24px rgba(158,123,36,.08);
}

/* Brand: metallic gold wordmark to match the titles */
.brand{
  background:linear-gradient(115deg, var(--gold-1) 0%, var(--gold-2) 32%, var(--gold-3) 50%, var(--gold-2) 68%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold-1);
  font-weight:600;
}
.brand small{
  -webkit-text-fill-color:#8A8375; color:#8A8375;
  background:none; font-weight:500;
}

/* Nav: neutral graphite links (no warm/brown cast), gold underline on hover */
nav.main a{ color:#55514B; border-bottom:2px solid transparent; padding:8px 0; }
nav.main a:hover, nav.main a.active{
  color:#1F1D1A;
  border-image:linear-gradient(90deg, var(--gold-2), var(--gold-3), var(--gold-2)) 1;
  border-bottom:2px solid var(--gold-2);
}

/* Mobile toggle matches */
.nav-toggle{ border-color:#D8CCA8; color:#3D3830; }

/* Mobile menu links */
@media (max-width:920px){
  nav.main a{ color:#3A3731; border-bottom:1px solid #EFE9D8; }
  nav.main a:hover, nav.main a.active{ border-bottom:1px solid var(--gold-2); }
}


/* ============================================================
   VELVET BACKDROP FIX — kill the muddy brown behind the hero
   Neutral deep velvet + golden ambience; photos stay natural
   ============================================================ */

/* Hero base: jewellery-box velvet with a golden glow, never olive-brown */
.hero{
  background:
    radial-gradient(900px 500px at 78% 12%, rgba(212,175,55,.18), transparent 62%),
    radial-gradient(700px 420px at 12% 88%, rgba(212,175,55,.10), transparent 60%),
    #14110C;
}
.listing-hero{
  background:
    radial-gradient(800px 440px at 80% 10%, rgba(212,175,55,.16), transparent 60%),
    #14110C;
}

/* Overlays: neutral smoke — photographs keep their true colour */
.hero::after{
  background:linear-gradient(180deg, rgba(12,10,7,.20) 0%, rgba(12,10,7,.04) 36%, rgba(10,9,6,.68) 100%);
}
.listing-hero::after{
  background:linear-gradient(180deg, rgba(12,10,7,.14), rgba(10,9,6,.72) 100%);
}
@media (max-width:760px){
  .hero::after{
    background:linear-gradient(180deg, rgba(12,10,7,.30) 0%, rgba(12,10,7,.12) 34%, rgba(10,9,6,.78) 100%);
  }
}

/* Location tiles: same neutral velvet fallback */
.loc{ background:#191510; }
.loc::after{ background:linear-gradient(180deg, rgba(12,10,7,0) 45%, rgba(10,8,6,.8)); }

/* Card image placeholders: light champagne, not olive */
.card .ph{ background-color:#EFE8D4; }
.split .img-frame .img, .gallery .g{ background-color:#EFE8D4; }

/* Ghost button on velvet: crisp */
.btn.ghost{ background:rgba(255,253,244,.08); border-color:rgba(255,253,244,.55); }
.btn.ghost:hover{ background:#FFFDF4; color:#14110C; }


/* ============================================================
   FINAL: WHITE & GOLD — two colours, nothing else
   Bright everywhere. Gold is the only ornament.
   ============================================================ */

/* HERO — bright: the photograph dissolves into white, gold headline */
.hero{
  background:
    radial-gradient(900px 480px at 82% 8%, rgba(212,175,55,.14), transparent 60%),
    #FFFFFF;
  color:var(--ink);
  min-height:82vh;
}
.hero .bg{ opacity:1; filter:none; }
.hero::after{
  background:linear-gradient(180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.06) 30%,
    rgba(255,255,255,.72) 62%,
    rgba(255,255,255,.97) 84%,
    #FFFFFF 100%);
}
.hero h1{
  color:var(--gold-1);
  background:linear-gradient(115deg, var(--gold-1) 0%, var(--gold-2) 32%, var(--gold-3) 49%, var(--gold-3) 51%, var(--gold-2) 68%, var(--gold-1) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.hero p.lede{ color:#5B564C; }
.hero .plate.dark{ color:var(--gold-1); }
.hero .plate.dark::before{ background:var(--gold-2); }
.hero .markets{ border-top-color:rgba(184,145,46,.35); color:#6E695E; }
.hero .markets span b{ color:var(--gold-1); }
.btn.ghost{
  background:#FFFFFF; color:var(--gold-1);
  border:1px solid var(--gold-2); box-shadow:none;
}
.btn.ghost:hover{ background:linear-gradient(135deg, #E2BE54, #B8912E 55%, #96731F); color:#FFFDF2; border-color:#96731F; }
@media (max-width:760px){
  .hero{ min-height:72vh; }
  .hero::after{
    background:linear-gradient(180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,.3) 34%,
      rgba(255,255,255,.88) 62%,
      #FFFFFF 88%);
  }
}

/* Inner-page heroes: same bright treatment */
.listing-hero{
  background:
    radial-gradient(800px 440px at 82% 6%, rgba(212,175,55,.12), transparent 60%),
    #FFFFFF;
  color:var(--ink);
}
.listing-hero .bg{ opacity:1; filter:none; }
.listing-hero::after{
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 55%, rgba(255,255,255,.97) 88%, #FFF 100%);
}
.listing-hero h1{
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 40%, var(--gold-3) 50%, var(--gold-2) 60%, var(--gold-1));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  color:var(--gold-1); text-shadow:none;
}
.listing-hero .sub{ color:#5B564C; }
.listing-hero .plate.dark{ color:var(--gold-1); }
.listing-hero .plate.dark::before{ background:var(--gold-2); }

/* Section bands: whisper of gold only */
section.tint, .cta-band, section.dark{
  background:linear-gradient(180deg, #FDFBF3, #FAF6E8);
  border-top:1px solid #F0E6C6; border-bottom:1px solid #F0E6C6;
}

/* Location tiles: photograph + minimal neutral scrim (photography, not colour) */
.loc{ background:#F5F1E3; }
.loc::after{ background:linear-gradient(180deg, rgba(0,0,0,0) 52%, rgba(0,0,0,.55)); }

/* Footer/topbar and every accent already gold — keep canvas white */
body{ background:#FFFFFF; }
