[hidden]{display:none!important}

/* Layout: dark frost-green bands for brand moments, pale frost bands for reading; gold used only for lines, labels and the one call to action. */
:root{
  --green:#2C4A32;      /* deep frost green — brand ground */
  --green-deep:#21382A; /* deboss shadow / footer */
  --green-lift:#3A5C41; /* deboss highlight */
  --gold:#C9A85C;       /* foil gold (lines, fills, logo) */
  --gold-t:#CDAF69;     /* foil gold for text on green: same look, passes contrast */
  --frost:#EEF2EC;      /* pale frost — reading ground */
  --ink:#1E2B22;        /* body text on frost */
  --mist:#4E5D52;       /* secondary text */
  --line:#D3DCD2;
  --f-mono:'Bodoni Moda', 'Didot', 'Bodoni 72', serif;
  --f-display:'Cormorant Garamond', 'Garamond', 'Times New Roman', serif;
  --f-body:'Jost', 'Futura', 'Century Gothic', system-ui, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--frost);color:var(--ink);font-family:var(--f-body);font-weight:400;font-size:17.5px;line-height:1.65}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--green)}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.1;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem,4.2vw,2.9rem)}
h3{font-size:1.55rem;font-weight:600}
p{margin:0}
.eyebrow{font-family:var(--f-body);font-weight:500;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-t)}
.on-frost .eyebrow{color:#79632D}

/* ---------- Header ---------- */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--green);border-bottom:1px solid rgba(201,168,92,.25)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand .z{font-family:var(--f-mono);font-weight:700;font-size:2.1rem;line-height:1;color:var(--green);text-shadow:-1px -1px 0 var(--green-deep),1px 1px 0 var(--green-lift);background:none}
.brand .name{display:flex;flex-direction:column;border-left:1px solid var(--gold);padding-left:14px}
.brand .name b{font-family:var(--f-display);font-weight:600;color:var(--gold-t);letter-spacing:.28em;font-size:1.15rem;line-height:1.1}
.brand .name small{font-family:var(--f-body);font-weight:400;color:var(--gold-t);letter-spacing:.3em;font-size:.56rem}
.links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.links a{text-decoration:none;color:#E4E9E2;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.links a:hover{color:var(--gold-t)}
.menu-btn{display:none;background:none;border:1px solid rgba(201,168,92,.5);color:var(--gold-t);font:500 .75rem var(--f-body);letter-spacing:.2em;padding:8px 12px;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  .links{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--green);border-bottom:1px solid rgba(201,168,92,.25)}
  .links li a{display:block;padding:14px max(16px,env(safe-area-inset-left,0px))}
  .links[data-open="false"]{display:none}
}

/* ---------- Hero ---------- */
.hero{background:var(--green);color:#F2F4EF;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-block:72px 84px}
.hero-z{font-family:var(--f-mono);font-weight:700;font-size:clamp(9rem,18vw,15rem);line-height:.85;color:var(--green);text-shadow:-2px -2px 0 var(--green-deep),2px 2px 0 var(--green-lift),3px 3px 6px rgba(0,0,0,.18);text-align:center;user-select:none}
.hero-mark{display:flex;flex-direction:column;align-items:center;gap:18px}
.hero-mark .rule{width:120px;height:1px;background:var(--gold)}
.hero-mark .word{font-family:var(--f-display);font-weight:600;color:var(--gold-t);font-size:clamp(2.2rem,4vw,3rem);letter-spacing:.32em;padding-left:.32em;line-height:1}
.hero-mark .sub{font-family:var(--f-body);color:var(--gold-t);letter-spacing:.42em;padding-left:.42em;font-size:.78rem}
.hero h1{font-size:clamp(2.5rem,5.2vw,4rem);color:#F6F7F3}
.hero h1 em{font-style:italic;color:var(--gold-t)}
.trio{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-family:var(--f-body);font-weight:500;letter-spacing:.34em;font-size:.8rem;color:var(--gold-t);margin-bottom:22px}
.trio span.sep{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.hero p.lede{margin-top:22px;max-width:46ch;color:#D7DED6;font-size:1.06rem}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-block;text-decoration:none;font:500 .8rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;padding:15px 26px;border:1px solid var(--gold);cursor:pointer}
.btn.gold{background:var(--gold);color:var(--green-deep)}
.btn.gold:hover{background:#D6B872}
.btn.line{color:var(--gold-t);background:transparent}
.btn.line:hover{background:rgba(201,168,92,.1)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;padding-block:48px 60px}
  .hero-mark{order:-1}
  .hero-z{font-size:7.5rem}
}

/* ---------- Pillars ---------- */
section{padding-block:88px}
.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:end;margin-bottom:52px}
.intro p{color:var(--mist);max-width:56ch}
@media (max-width:760px){.intro{grid-template-columns:1fr;gap:18px}section{padding-block:64px}}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pillar{padding:34px 30px 38px 0;display:flex;flex-direction:column;gap:14px;min-width:0}
.pillar + .pillar{padding-left:30px;border-left:1px solid var(--line)}
.pillar .tag{font:500 .7rem var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:#79632D}
.pillar p{color:var(--mist)}
.pillar .soon{align-self:flex-start;font:500 .66rem var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:5px 10px}
.pillar a.more{margin-top:auto;font:500 .78rem var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--green);text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:3px}
@media (max-width:860px){
  .pillars{grid-template-columns:1fr}
  .pillar,.pillar + .pillar{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}
}

/* ---------- We buy property ---------- */
.buy{background:var(--green);color:#E9EEE7}
.buy .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.buy h2{color:#F6F7F3}
.buy .grid > div{min-width:0}
.buy p.lead{margin-top:18px;color:#D2DAD1;max-width:48ch}
.reasons{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.reasons li{display:flex;gap:10px;align-items:baseline;font-size:.98rem}
.reasons li::before{content:"";flex:none;width:6px;height:6px;background:var(--gold);transform:rotate(45deg) translateY(-2px)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;border-top:1px solid rgba(201,168,92,.35)}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:22px 0;border-bottom:1px solid rgba(201,168,92,.35)}
.steps li::before{content:counter(s);grid-row:span 2;font-family:var(--f-mono);font-size:2.2rem;line-height:1;color:var(--gold-t)}
.steps b{font-family:var(--f-display);font-weight:600;font-size:1.35rem;color:#F6F7F3}
.steps span{color:#C9D2C8;font-size:.96rem}
@media (max-width:860px){.buy .grid{grid-template-columns:1fr;gap:40px}.reasons{grid-template-columns:1fr}}

/* ---------- Projects ---------- */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.project{display:flex;flex-direction:column;gap:14px;min-width:0}
.photo{aspect-ratio:4/3;max-width:100%;background:
  linear-gradient(135deg,rgba(44,74,50,.92),rgba(33,56,42,.96)),
  repeating-linear-gradient(90deg,transparent 0 38px,rgba(201,168,92,.12) 38px 39px);
  display:grid;place-items:center;position:relative}
.photo svg{width:62%;height:auto}
.photo .ph{position:absolute;left:12px;bottom:10px;font:400 .66rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:rgba(201,168,92,.8)}
.photo.has-img{background:var(--green-deep)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.flip{position:absolute;right:10px;bottom:10px;font:500 .66rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;background:var(--green);color:var(--gold-t);border:1px solid var(--gold);padding:7px 10px;cursor:pointer}
.project .meta,.deal .meta{display:flex;justify-content:space-between;gap:12px;font:500 .7rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:#79632D}
.project p{color:var(--mist);font-size:.96rem}
@media (max-width:860px){.projects{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.projects{grid-template-columns:1fr}}

/* ---------- Lettings / Northbound band ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:#F6F8F4}
.split > div{padding:44px 40px;display:flex;flex-direction:column;gap:16px;min-width:0}
.split > div + div{border-left:1px solid var(--line)}
.split p{color:var(--mist)}
.split ul{margin:0;padding-left:18px;color:var(--ink)}
.split ul li{margin:4px 0}
@media (max-width:760px){.split{grid-template-columns:1fr}.split > div{padding:32px 22px}.split > div + div{border-left:0;border-top:1px solid var(--line)}}

/* ---------- Contact ---------- */
.contact{background:var(--green-deep);color:#E3E9E1}
.contact .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px}
.contact .grid > div{min-width:0}
.contact h2{color:#F6F7F3}
.details{margin-top:30px;display:grid;gap:18px}
.details div{display:grid;gap:2px}
.details dt{font:500 .68rem var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-t)}
.details dd{margin:0;font-size:1.05rem;user-select:all;overflow-wrap:anywhere}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{display:grid;gap:6px;font:500 .68rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
input,select,textarea{font:300 1rem var(--f-body);color:#F2F4EF;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,92,.4);padding:12px 14px;width:100%;border-radius:0;letter-spacing:0;text-transform:none}
select option{color:#1E2B22}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.07)}
.formnote{font-size:.85rem;color:#AEB9AD}
@media (max-width:860px){.contact .grid{grid-template-columns:1fr;gap:40px}form{grid-template-columns:1fr}}

footer{background:#18291F;color:#9DAA9F;font-size:.84rem}
footer .wrap{padding-block:28px}
footer a{color:var(--gold-t)}

/* ---------- Active nav ---------- */
.links a[aria-current="page"]{color:var(--gold-t);border-bottom:1px solid var(--gold);padding-bottom:3px}
@media (max-width:860px){.links a[aria-current="page"]{border-bottom:0}}

/* ---------- Inner page hero ---------- */
.page-hero{background:var(--green);color:#F2F4EF}
.page-hero .wrap{padding-block:64px 72px;display:grid;gap:18px;max-width:1120px}
.page-hero h1{font-size:clamp(2.5rem,5.5vw,4.2rem);color:#F6F7F3;max-width:18ch}
.page-hero h1 em{font-style:italic;color:var(--gold-t)}
.page-hero p.lede{max-width:52ch;color:#D7DED6;font-size:1.06rem}
.crumb{font:500 .7rem var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-t);text-decoration:none}

/* ---------- Teaser band on home ---------- */
.teaser-foot{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.btn.green{color:var(--green);border-color:var(--green);background:transparent}
.btn.green:hover{background:rgba(44,74,50,.06)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--f-display);font-weight:600;font-size:1.35rem;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-body);font-weight:300;color:#79632D;font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--mist);max-width:62ch}

/* ---------- Intro animation ---------- */
#intro{display:none}
html.intro #intro{display:flex;position:fixed;inset:0;z-index:100;background:var(--green);align-items:center;justify-content:center;flex-direction:column;gap:20px;cursor:pointer;animation:intro-lift .65s cubic-bezier(.76,0,.24,1) 1.4s forwards}
html.intro body{overflow:hidden}
#intro .iz{font-family:var(--f-mono);font-weight:700;font-size:clamp(7rem,22vw,11rem);line-height:.85;color:var(--green);text-shadow:-2px -2px 0 var(--green-deep),2px 2px 0 var(--green-lift),3px 3px 8px rgba(0,0,0,.2);opacity:0;transform:scale(1.08);filter:blur(6px);animation:intro-press .6s cubic-bezier(.2,.7,.2,1) .1s forwards}
#intro .irule{width:120px;height:1px;background:var(--gold);transform:scaleX(0);animation:intro-draw .45s cubic-bezier(.65,0,.35,1) .45s forwards}
#intro .iword{font-family:var(--f-display);font-weight:600;color:var(--gold-t);font-size:clamp(2rem,6vw,2.8rem);letter-spacing:.7em;padding-left:.7em;line-height:1;opacity:0;animation:intro-word .6s cubic-bezier(.2,.7,.2,1) .6s forwards}
#intro .isub{font-family:var(--f-body);color:var(--gold-t);letter-spacing:.42em;padding-left:.42em;font-size:.74rem;opacity:0;animation:intro-fade .4s ease .85s forwards}
@keyframes intro-press{to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes intro-draw{to{transform:scaleX(1)}}
@keyframes intro-word{to{opacity:1;letter-spacing:.32em;padding-left:.32em}}
@keyframes intro-fade{to{opacity:1}}
@keyframes intro-lift{to{transform:translateY(-100%)}}
html.intro main,html.intro header{animation:page-in .7s cubic-bezier(.2,.7,.2,1) 1.5s both}
@keyframes page-in{from{transform:translateY(24px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){html.intro #intro{display:none}html.intro body{overflow:auto}html.intro main,html.intro header{animation:none}}

/* ---------- Lettings ---------- */
.lets{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lets .empty{grid-column:1/-1;border:1px solid var(--line);background:#F6F8F4;padding:40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.lets .empty p{color:var(--mist);max-width:56ch}
.let{display:flex;flex-direction:column;gap:12px;min-width:0}
.let .price{font-family:var(--f-display);font-weight:600;font-size:1.7rem;color:var(--green);line-height:1}
.let .price small{font-family:var(--f-body);font-weight:400;font-size:.8rem;color:var(--mist);letter-spacing:.06em}
.let .facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--mist)}
.let .badge{position:absolute;left:12px;top:12px;font:500 .64rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;background:var(--gold);color:var(--green-deep);padding:6px 9px}
.let.is-let .photo{filter:grayscale(.6)}
.reg{margin-top:28px;font-size:.84rem;color:var(--mist)}
@media (max-width:860px){.lets{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.lets{grid-template-columns:1fr}.lets .empty{padding:28px 22px}}

/* Hero photo (set in the editor) replaces the big Z */
.hero-mark.has-photo{align-self:stretch}
.hero-photo{width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border:1px solid rgba(201,168,92,.45);outline:1px solid rgba(201,168,92,.25);outline-offset:10px}
@media (max-width:860px){.hero-photo{aspect-ratio:4/3}.hero-mark.has-photo{order:0}}

/* ---------- Before / after slider ---------- */
.photo.ba{overflow:hidden;background:var(--green-deep);touch-action:pan-y}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.ba-after{clip-path:inset(0 0 0 var(--pos))}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--gold);pointer-events:none}
.ba-handle span{position:absolute;top:50%;left:50%;width:40px;height:40px;transform:translate(-50%,-50%);border-radius:50%;background:var(--green);border:2px solid var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.3)}
.ba-handle span::before,.ba-handle span::after{content:"";position:absolute;top:50%;width:0;height:0;border:5px solid transparent;transform:translateY(-50%)}
.ba-handle span::before{left:7px;border-right-color:var(--gold)}
.ba-handle span::after{right:7px;border-left-color:var(--gold)}
.ba-tag{position:absolute;top:12px;font:500 .62rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;background:rgba(33,56,42,.85);color:var(--gold-t);padding:6px 9px;pointer-events:none}
.ba-l{left:12px}.ba-r{right:12px}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:400px}
.ba-range::-moz-range-thumb{width:44px;height:400px;border:0}
.ba-range:focus-visible + .ba-handle,.photo.ba:focus-within .ba-handle span{outline:2px solid var(--gold);outline-offset:3px}

.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.legal{margin-top:16px;padding-top:16px;border-top:1px solid rgba(201,168,92,.18);font-size:.76rem;line-height:1.6;color:#8C988E;max-width:110ch}
.policy{display:grid;gap:36px;max-width:720px}
.pol h2{font-size:1.7rem;margin-bottom:10px}
.pol p{color:var(--ink)}

/* Home hero tagline */
.tagline{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.35rem;color:var(--gold-t);margin-bottom:16px}
/* Links in contact details */
.details dd a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(201,168,92,.45)}
.details dd a:hover{color:var(--gold-t)}
/* Sell hero quick form */
.page-hero .wrap.with-form{grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-copy{display:grid;gap:18px;min-width:0}
.call{color:#D7DED6}.call a{color:var(--gold-t);text-decoration:none;border-bottom:1px solid var(--gold)}
form.quick{display:grid;grid-template-columns:1fr;gap:14px;background:var(--green-deep);border:1px solid rgba(201,168,92,.35);padding:28px}
.quick-title{font-family:var(--f-display);font-weight:600;font-size:1.7rem;color:#F6F7F3}
form.quick .btn{justify-self:start}
@media (max-width:860px){.page-hero .wrap.with-form{grid-template-columns:1fr}form.quick{padding:22px}}
/* A single project shows wide */
.projects:has(> .project:only-child){grid-template-columns:1fr}
.project:only-child{display:grid;grid-template-columns:1.25fr 1fr;gap:12px 40px;align-items:center}
.project:only-child .photo{grid-row:span 4}
@media (max-width:760px){.project:only-child{grid-template-columns:1fr}.project:only-child .photo{grid-row:auto}}

/* ---------- About ---------- */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.about-photo{margin:0;position:relative;min-width:0}
.about-photo img{width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;display:block;border:1px solid var(--line)}
.about-photo figcaption{margin-top:14px;font-family:var(--f-display);font-weight:600;font-size:1.3rem;display:flex;flex-direction:column}
.about-photo figcaption span{font:500 .7rem var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:#79632D;margin-top:4px}
.about-text{display:grid;gap:18px;min-width:0;max-width:62ch}
.about-text h2{font-size:clamp(2.2rem,4.5vw,3.2rem)}
.about-body{display:grid;gap:16px;font-size:1.06rem}
@media (max-width:860px){.about{grid-template-columns:1fr;gap:32px}.about-photo{max-width:420px}}

/* ---------- WhatsApp ---------- */
.wa{position:fixed;z-index:30;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;background:var(--green);color:var(--gold-t);border:1px solid var(--gold);padding:11px 16px 11px 13px;text-decoration:none;font:500 .74rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.wa svg{width:22px;height:22px}
.wa:hover{background:var(--green-deep)}
html.intro .wa{display:none}
@media (max-width:560px){.wa span{display:none}.wa{padding:12px;border-radius:50%}}
footer{padding-bottom:70px}

/* Pillar grids with more than one row */
@media (min-width:861px){
  .pillar:nth-child(3n+1){padding-left:0;border-left:0}
  .pillar:nth-child(n+4){border-top:1px solid var(--line)}
}

/* Areas list */
.areas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.areas li{border:1px solid var(--line);background:#F6F8F4;padding:8px 14px;font-size:.92rem}
/* Mobile: don't repeat the logo above the headline */
@media (max-width:860px){.hero-mark:not(.has-photo){display:none}.hero .wrap{padding-block:40px 56px}}

/* Why Zata */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--gold)}
.why > div{padding:26px 24px 8px 0;display:grid;gap:10px;align-content:start;min-width:0}
.why > div + div{padding-left:24px;border-left:1px solid var(--line)}
.why h3{font-size:1.4rem}
.why p{color:var(--mist);font-size:.96rem}
@media (max-width:960px){.why{grid-template-columns:1fr 1fr}.why > div:nth-child(3){padding-left:0;border-left:0}.why > div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.why{grid-template-columns:1fr}.why > div,.why > div + div{padding:22px 0;border-left:0;border-top:1px solid var(--line)}.why > div:first-child{border-top:0}}

/* Northbound section */
.nb{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--line);background:#F6F8F4}
.nb-mark{background:#1E2B22;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;min-height:220px}
.nb-mark span{font-family:var(--f-body);font-weight:500;letter-spacing:.34em;padding-left:.34em;color:#F2F4EF;font-size:clamp(1.1rem,2.4vw,1.6rem)}
.nb-mark small{font-family:var(--f-body);letter-spacing:.4em;padding-left:.4em;color:var(--gold-t);font-size:.7rem}
.nb-copy{padding:44px 40px;display:grid;gap:14px;min-width:0}
.nb-copy h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.nb-copy p{color:var(--mist);max-width:60ch}
@media (max-width:760px){.nb{grid-template-columns:1fr}.nb-mark{min-height:140px;padding:32px 16px}.nb-copy{padding:30px 22px}}
.nb-mail{font-size:.92rem}.nb-mail a{color:var(--green);overflow-wrap:anywhere}

.nb-mark{background:#000}
.nb-mark img{width:100%;max-width:320px;height:auto;display:block}

/* About pull quote */
.quote-band{background:var(--frost);padding-block:8px 88px}
.quote-band blockquote{margin:0 auto;max-width:860px;text-align:center;display:grid;gap:18px;justify-items:center}
.quote-band blockquote::before{content:"";width:80px;height:1px;background:var(--gold)}
.quote-band p{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.2;color:var(--green);text-wrap:balance}
.quote-band footer{background:none;padding:0;font:500 .7rem var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:#79632D}
@media (max-width:760px){.quote-band{padding-block:0 64px}}

/* Mobile call button */
.call-btn{display:none;margin-left:auto;margin-right:10px;text-decoration:none;font:500 .75rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:var(--green-deep);padding:9px 14px;border:1px solid var(--gold)}
@media (max-width:860px){.call-btn{display:inline-block}}
.form-hint{font-size:.82rem;color:#AEB9AD;margin-top:-8px}
.trust{font-size:.78rem;letter-spacing:.06em;color:#C9D2C8}
.brand .name small,.brand .name b{white-space:nowrap}
@media (max-width:430px){.brand{gap:10px}.brand .name{padding-left:10px}.brand .name small{letter-spacing:.18em}.brand .name b{letter-spacing:.2em}.call-btn{padding:9px 11px;letter-spacing:.14em}.menu-btn{padding:8px 10px;letter-spacing:.14em}}

/* Developments grouped by status */
#project-groups{display:grid;gap:64px}
.pgroup{display:grid;gap:24px}
.pgroup-h{font-size:clamp(1.7rem,3.2vw,2.3rem);display:flex;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pgroup-h span{font:500 .72rem var(--f-body);letter-spacing:.2em;color:#79632D}

/* ---------- Nav dropdown ---------- */
.links .has-sub{position:relative}
.links .sub{list-style:none;margin:0;padding:8px 0;position:absolute;left:-16px;top:100%;min-width:220px;background:var(--green);border:1px solid rgba(201,168,92,.3);box-shadow:0 10px 24px rgba(0,0,0,.25);display:none;z-index:30}
.links .sub a{display:block;padding:10px 16px;font-size:.76rem}
.links .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
@media (min-width:861px){.links .has-sub:hover .sub,.links .has-sub:focus-within .sub{display:block}.links .sub{margin-top:10px}}
@media (max-width:860px){.links .sub{display:block;position:static;border:0;box-shadow:none;background:none;padding:0 0 6px;min-width:0}.links .sub li a{padding:10px max(16px,env(safe-area-inset-left,0px)) 10px calc(max(16px,env(safe-area-inset-left,0px)) + 18px);font-size:.74rem;color:#BFC9BE}}

/* ---------- Investment sub-nav ---------- */
.subnav{background:var(--green-deep);border-bottom:1px solid rgba(201,168,92,.2)}
.subnav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:4px}
.subnav-in::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:12px 14px;text-decoration:none;font:500 .72rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:#C9D2C8;border-bottom:2px solid transparent}
.subnav a[aria-current="page"]{color:var(--gold-t);border-bottom-color:var(--gold)}
.subnav a:hover{color:var(--gold-t)}
.subnav + .page-hero .crumb{color:var(--gold-t)}

/* ---------- Investment routes ---------- */
.routes{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:#F6F8F4}
.route{display:flex;flex-direction:column;gap:10px;padding:28px 24px;text-decoration:none;color:var(--ink);min-width:0}
.route + .route{border-left:1px solid var(--line)}
.route h2{font-size:1.45rem;font-weight:600}
.route p{color:var(--mist);font-size:.95rem}
.route span{margin-top:auto;font:500 .72rem var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--green);padding-top:8px}
.route:hover{background:#fff}
.route:hover span{color:#79632D}
@media (max-width:960px){.routes{grid-template-columns:1fr 1fr}.route:nth-child(3){border-left:0}.route:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.routes{grid-template-columns:1fr}.route + .route{border-left:0;border-top:1px solid var(--line)}}

/* Stages */
.stages{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(201,168,92,.35)}
.stages > div{padding:24px 22px 4px 0;display:grid;gap:8px;align-content:start;counter-increment:st;min-width:0}
.stages > div + div{padding-left:22px;border-left:1px solid rgba(201,168,92,.25)}
.stages h3{color:#F6F7F3;font-size:1.35rem}
.stages p{color:#C9D2C8;font-size:.95rem}
@media (max-width:860px){.stages{grid-template-columns:1fr 1fr}.stages > div:nth-child(3){padding-left:0;border-left:0}.stages > div:nth-child(n+3){border-top:1px solid rgba(201,168,92,.25)}}
@media (max-width:560px){.stages{grid-template-columns:1fr}.stages > div,.stages > div + div{padding:20px 0;border-left:0;border-top:1px solid rgba(201,168,92,.25)}.stages > div:first-child{border-top:0}}

/* Copy + form rows on light ground */
.with-form-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.side-copy{display:grid;gap:14px;min-width:0}
.side-copy p{color:var(--mist);max-width:48ch}
.side-copy .btn{justify-self:start}
.small{font-size:.9rem}
.small a,.side-copy a:not(.btn){color:var(--green)}
form.panel-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--green);border:1px solid rgba(201,168,92,.35);padding:28px;min-width:0}
form.panel-form .full{grid-column:1/-1}
.form-intro{color:#C9D2C8;font-size:.95rem;margin-top:-6px}
.form-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
form.panel-form .formnote{color:#C9D2C8}
@media (max-width:860px){.with-form-row{grid-template-columns:1fr;gap:28px}form.panel-form{grid-template-columns:1fr;padding:22px}}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:baseline}
.ticks li::before{content:"";flex:none;width:6px;height:6px;background:var(--gold);transform:rotate(45deg) translateY(-2px)}

/* Deals */
.deals{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.deals .empty{grid-column:1/-1;border:1px solid var(--line);background:#F6F8F4;padding:40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.deals .empty p{color:var(--mist);max-width:60ch}
.deal{display:flex;flex-direction:column;gap:12px;min-width:0}
.deal .photo{position:relative}
.deal .badge{position:absolute;left:12px;top:12px;font:500 .64rem var(--f-body);letter-spacing:.22em;text-transform:uppercase;background:var(--gold);color:var(--green-deep);padding:6px 9px}
.deal.is-gone .photo{filter:grayscale(.7)}
.deal p{color:var(--mist);font-size:.95rem}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.figs dt{font:500 .64rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:#79632D}
.figs dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:1.35rem;color:var(--green);font-variant-numeric:tabular-nums}
.deal .btn{align-self:flex-start}
@media (max-width:860px){.deals{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.deals{grid-template-columns:1fr}.deals .empty{padding:28px 22px}}

.disclaimer{font-size:.78rem;line-height:1.6;color:var(--mist);border-top:1px solid var(--line);padding-top:18px;max-width:110ch}

/* Comparison table */
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:#F6F8F4}
.compare{width:100%;border-collapse:collapse;min-width:560px;font-size:.95rem}
.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font:500 .7rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--mist)}
.compare thead th.us{color:var(--gold-t);background:var(--green)}
.compare tbody th{font-weight:500;color:var(--ink);width:26%}
.compare td{color:var(--mist)}
.compare td.us{background:#E6EDE4;color:var(--green);font-weight:500}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.inv-band{background:#F6F8F4}

/* Fact cards */
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.fact{background:#F6F8F4;border:1px solid var(--line);border-top:2px solid var(--gold);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fact-big{font-family:var(--f-display);font-weight:600;font-size:2rem;line-height:1;color:var(--green)}
.fact p:not(.fact-big){color:var(--mist);font-size:.94rem}
.fact-src{margin-top:auto;font-size:.74rem;color:#79632D;text-decoration:none;border-bottom:1px solid rgba(142,117,53,.35);align-self:flex-start;overflow-wrap:anywhere}
.fact-src:hover{color:var(--green)}
.facts-note{margin-top:14px;font-size:.78rem;color:var(--mist)}

@media (min-width:961px){.why.why-3{grid-template-columns:repeat(3,1fr)}.why.why-3 > div:nth-child(3n+1){padding-left:0;border-left:0}.why.why-3 > div:nth-child(n+4){border-top:1px solid var(--line);margin-top:8px}}
@media (min-width:561px) and (max-width:960px){.why.why-3 > div:nth-child(odd){padding-left:0;border-left:0}.why.why-3 > div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}.why.why-3 > div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (min-width:861px){.facts-grid:has(> .fact:nth-child(6)){grid-template-columns:repeat(3,1fr)}}
@media (min-width:561px) and (max-width:860px){.facts-grid{grid-template-columns:1fr 1fr}}

.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,168,92,.18)}
.foot-links a{color:#B7C2B9;text-decoration:none;font-size:.82rem}
.foot-links a:hover{color:var(--gold-t)}
.empty h2{font-size:1.55rem;font-weight:600}

/* Project gallery */
button.photo.zoom{padding:0;border:0;width:100%;cursor:zoom-in;display:block;position:relative;font:inherit}
.photo .count{position:absolute;right:10px;bottom:10px;font:500 .64rem var(--f-body);letter-spacing:.2em;text-transform:uppercase;background:rgba(33,56,42,.85);color:var(--gold-t);padding:6px 9px}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:-6px}
.thumb{position:relative;padding:0;border:0;aspect-ratio:1/1;background:var(--green-deep);cursor:zoom-in;overflow:hidden;max-width:100%}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(33,56,42,.7);color:#F6F7F3;font:500 1rem var(--f-body)}
.thumb:hover img{opacity:.85}
/* Photo viewer */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(14,24,18,.94);display:flex;align-items:center;justify-content:center;padding:calc(56px + env(safe-area-inset-top,0px)) max(56px,env(safe-area-inset-right,0px)) calc(56px + env(safe-area-inset-bottom,0px)) max(56px,env(safe-area-inset-left,0px))}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lightbox button{position:absolute;background:none;border:1px solid rgba(201,168,92,.5);color:var(--gold-t);cursor:pointer;font:300 2rem/1 var(--f-body);width:48px;height:48px;display:grid;place-items:center}
.lightbox button:hover{background:rgba(201,168,92,.12)}
.lb-x{top:calc(12px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}
.lb-p{left:max(8px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.lb-nx{right:max(8px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
.lb-n{pointer-events:none;position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#C9D2C8;font-size:.82rem;letter-spacing:.12em}
@media (max-width:560px){.lightbox{padding-left:8px;padding-right:8px}.lb-p,.lb-nx{top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));transform:none}.lb-n{bottom:calc(22px + env(safe-area-inset-bottom,0px))}}

/* clearer headings (option B) */
h1,h2,h3{font-weight:700!important}
