/* HFO Real Estate: design system v1 (see docs/design-steckbrief.md) */
:root{
  --navy:#10203A; --gold:#B8944A; --gold-soft:#D9C08A; --sand:#F4EFE7; --bg:#FAF8F4;
  --ink:#1B2230; --stone:#6E6A62; --line:#E3DCD0; --wa:#25D366; --white:#FFFFFF;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  --container:1280px; --gap:24px; --radius:4px;
  --sp-section:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,5.2vw,62px)}
h2{font-size:clamp(30px,3.4vw,42px)}
h3{font-size:24px}
h4{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--stone)}
p{margin:0 0 16px}
ul,ol{margin:0;padding:0;list-style:none}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gap)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--navy);padding:8px 12px}
.skip:focus{left:8px;z-index:100}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.eyebrow{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.eyebrow-light{color:var(--gold-soft)}
.section{padding:var(--sp-section) 0}
.section-sand{background:var(--sand)}
.section-navy{background:var(--navy);color:var(--bg)}
.section-navy h2{color:var(--white)}
.section-title{margin-bottom:40px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.section-text{max-width:60ch;color:var(--stone);font-size:19px}
.section-navy .section-text{color:var(--gold-soft)}
.link-more{white-space:nowrap;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.link-more:hover{color:var(--gold)}

/* Buttons */
.btn{display:inline-block;font:600 15px/1 var(--sans);letter-spacing:.04em;padding:15px 24px;border-radius:3px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:var(--gold);color:var(--navy)}
.btn-primary:hover{background:var(--gold-soft)}
.btn-secondary{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-secondary:hover{background:var(--navy);color:var(--bg)}
.btn-wa{background:var(--wa);color:var(--white)}
.btn-wa:hover{background:#1ebe5a}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.brand-mark{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:.04em;color:var(--navy)}
.brand-name{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.main-nav ul{display:flex;align-items:center;gap:28px}
.main-nav a{text-decoration:none;font-weight:600;font-size:16px}
.main-nav li:not(.nav-cta) a:hover{color:var(--gold)}
.nav-lang a{border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:13px;letter-spacing:.06em}
.nav-cta .btn{padding:12px 18px}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:3px;font:600 14px var(--sans);padding:8px 12px;cursor:pointer}

/* Hero */
.hero{position:relative;color:var(--white);isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,32,58,.88) 0%,rgba(16,32,58,.72) 42%,rgba(16,32,58,.28) 100%),linear-gradient(180deg,rgba(16,32,58,0) 60%,rgba(16,32,58,.6) 100%)}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero-img{animation:heroZoom 22s ease-out forwards;transform-origin:60% 40%}
@media (prefers-reduced-motion:reduce){.hero-img{animation:none}}
.hero-inner{padding-top:120px;padding-bottom:72px}
.hero h1{color:var(--white);margin-bottom:22px;font-size:clamp(32px,4.1vw,52px);max-width:22ch;text-shadow:0 2px 24px rgba(16,32,58,.35)}
.hero h1 span{display:block}
.hero-sub{max-width:56ch;font-size:20px;color:rgba(255,255,255,.92);margin-bottom:36px;text-shadow:0 1px 12px rgba(16,32,58,.4)}
.search{background:var(--white);border-radius:var(--radius);padding:8px;max-width:960px;box-shadow:0 20px 50px rgba(16,32,58,.25);color:var(--ink)}
.search-tabs{display:flex;gap:4px;padding:4px 4px 8px}
.search-tabs button{background:none;border:0;font:600 14px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--stone);padding:8px 14px;border-radius:3px;cursor:pointer}
.search-tabs button[aria-selected="true"]{background:var(--sand);color:var(--navy)}
.search-row{display:grid;grid-template-columns:1fr 180px 150px auto;gap:8px}
.search-row input,.search-row select{font:400 16px var(--sans);padding:14px 16px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);min-width:0}
.search-row select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--stone) 50%),linear-gradient(135deg,var(--stone) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}

/* Stats */
.stats{border-bottom:1px solid var(--line);background:var(--white)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);padding-top:36px;padding-bottom:36px}
.stat{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line);padding-left:20px}
.stat:first-child{border-left:0;padding-left:0}
.stat-v{font-family:var(--serif);font-size:40px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.stat-l{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}

/* Entries */
.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.entry{position:relative;display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px 56px;background:var(--white);transition:border-color .15s}
.entry:hover{border-color:var(--gold)}
.entry h3{font-size:22px;margin-bottom:10px}
.entry p{color:var(--stone);font-size:16px;margin:0}
.entry-arrow{position:absolute;left:28px;bottom:22px;color:var(--gold);font-size:20px}

/* Arnd */
.arnd-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.arnd-photo img{border-radius:var(--radius);aspect-ratio:3/4;object-fit:cover}
.arnd-text h2{margin-bottom:24px}
.arnd-quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.35;margin:0 0 24px;padding-left:20px;border-left:2px solid var(--gold);color:var(--navy)}
.arnd-text p{max-width:62ch}
.trust-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:24px 0 28px;font-weight:600;font-size:16px}
.trust-list li{padding-left:22px;position:relative}
.trust-list li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.team{margin-top:80px;padding-top:56px;border-top:1px solid var(--line);display:grid;grid-template-columns:4fr 8fr;gap:48px}
.team-intro h3{margin-bottom:12px}
.team-intro p{color:var(--stone);max-width:40ch}
.team-list{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.team-list li{display:flex;flex-direction:column;gap:2px;font-size:14px}
.team-list img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover;background:var(--white);margin-bottom:8px}
.team-list b{font-weight:600;font-size:15px}
.team-list span{color:var(--stone);line-height:1.3}

/* Cards */
.cards{display:grid;gap:var(--gap)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.03)}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:20px;line-height:1.25}
.card h3 a{text-decoration:none}
.card h3 a:hover{color:var(--gold)}
.card-meta{font-size:14px;color:var(--stone);margin:0}
.card-type{font-size:15px;margin:0}
.price{font-family:var(--serif);font-size:24px;color:var(--navy);margin:0;font-variant-numeric:tabular-nums}
.kv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.kv dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.kv dd{margin:0;font-size:15px;font-weight:600}
.kv dd.price{font-size:17px}
.facts{display:flex;gap:14px;font-size:14px;color:var(--stone);margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.facts li+li::before{content:"·";margin-right:14px}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.split-item{border:1px solid var(--line);border-radius:var(--radius);padding:36px;background:var(--white)}
.split-item h3{margin-bottom:10px}
.split-item p{color:var(--stone);margin-bottom:22px;max-width:50ch}

/* Journey */
.journey{display:grid;grid-template-columns:repeat(9,1fr);gap:16px;margin-top:48px;counter-reset:step}
.journey li{counter-increment:step;position:relative;padding-top:26px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.journey li::before{content:"";position:absolute;top:8px;left:0;right:-16px;height:1px;background:rgba(217,192,138,.35)}
.journey li:last-child::before{right:0}
.journey li::after{content:"";position:absolute;top:3px;left:0;width:11px;height:11px;border-radius:50%;background:var(--gold)}
.journey b{font-weight:600;font-size:15px;color:var(--white)}
.journey span{color:var(--gold-soft)}

/* Observer */
.observer{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}
.observer-text h2{margin-bottom:18px}
.observer-text>p{max-width:60ch;color:var(--stone)}
.packages{display:grid;gap:10px;margin:28px 0}
.packages li{display:grid;grid-template-columns:110px 220px 1fr;gap:16px;align-items:baseline;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px;background:var(--white)}
.packages li.featured{border-color:var(--gold)}
.packages b{font-family:var(--serif);font-size:19px;font-weight:400}
.pkg-price{font-weight:600;font-variant-numeric:tabular-nums}
.packages span:last-child{color:var(--stone)}
.observer-sample{background:var(--navy);color:var(--bg);border-radius:var(--radius);padding:36px;box-shadow:0 24px 60px rgba(16,32,58,.25)}
.sample-label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.sample-meta{font-size:15px;color:rgba(250,248,244,.7);margin-bottom:28px}
.sample-score{display:flex;flex-direction:column;margin-bottom:28px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft)}
.sample-score span{font-family:var(--serif);font-size:56px;line-height:1;color:var(--white);letter-spacing:0;text-transform:none}
.sample-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid rgba(217,192,138,.3);padding-top:22px}
.sample-kpis li{display:flex;flex-direction:column}
.sample-kpis b{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--white);font-variant-numeric:tabular-nums}
.sample-kpis span{font-size:13px;color:rgba(250,248,244,.7)}

/* Quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.quote{margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;display:flex;flex-direction:column;gap:22px}
.quote blockquote{margin:0;font-family:var(--serif);font-size:19px;line-height:1.45;color:var(--navy);flex:1}
.quote blockquote::before{content:"\201C";display:block;color:var(--gold);font-size:44px;line-height:.5;margin-bottom:14px}
.quote figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--stone)}
.quote figcaption b{font-weight:600;color:var(--ink);font-size:16px}
.quote figcaption em{font-style:normal;color:var(--gold);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}

/* Report */
.report{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:56px;background:var(--white)}
.report h2{margin-bottom:14px}
.report p:last-child{color:var(--stone);margin:0;max-width:56ch}
.report-form{display:flex;flex-direction:column;gap:10px}
.report-form input{font:400 16px var(--sans);padding:15px 16px;border:1px solid var(--line);border-radius:3px;background:var(--bg)}

/* FAQ */
.faq{max-width:860px}
.faq .section-head{margin-bottom:24px}
.faq-item{border-top:1px solid var(--line);padding:6px 0}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;font-family:var(--serif);font-size:21px;padding:16px 40px 16px 0;position:relative;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:var(--sans);font-size:28px;color:var(--gold);font-weight:400}
.faq-item[open] summary::after{content:"\2013"}
.faq-item p{margin:0 0 18px;max-width:66ch;color:var(--ink)}

/* Consult */
.consult-grid{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:center}
.consult-grid img{border-radius:50%;aspect-ratio:1;object-fit:cover;background:var(--sand)}
.consult h2{margin-bottom:14px}

/* Footer */
.site-footer{background:var(--navy);color:rgba(250,248,244,.8);font-size:15px;padding:72px 0 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:40px}
.site-footer .brand-mark{color:var(--white)}
.footer-company{font-weight:600;color:var(--white);margin:16px 0 8px}
.footer-licence{color:var(--gold-soft);font-size:14px}
.site-footer h4{color:var(--gold-soft);margin-bottom:14px}
.footer-col li{margin-bottom:8px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--white);text-decoration:underline}
.footer-phones li{display:grid;grid-template-columns:90px 1fr;gap:8px}
.footer-phones span{color:rgba(250,248,244,.55)}
.footer-bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(217,192,138,.25);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:13px;color:rgba(250,248,244,.6)}
.footer-bottom p{margin:0}
.footer-network span{color:rgba(250,248,244,.45)}

/* WhatsApp float */
.wa-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:var(--wa);color:var(--white);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:40}

/* Responsive */
@media (max-width:1100px){
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .journey{grid-template-columns:repeat(3,1fr);gap:28px 16px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .team{grid-template-columns:1fr;gap:28px}
  .packages li{grid-template-columns:1fr;gap:2px}
}
@media (max-width:900px){
  :root{--sp-section:64px}
  .nav-toggle{display:block}
  .main-nav ul{display:none;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 24px 20px}
  .main-nav ul.open{display:flex}
  .main-nav li{padding:10px 0}
  .nav-cta{padding-top:16px}
  .hero-inner{padding-top:72px;padding-bottom:48px}
  .search-row{grid-template-columns:1fr 1fr}
  .search-row input{grid-column:1/-1}
  .stats-row{grid-template-columns:1fr 1fr;gap:28px 24px}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .entries,.cards-3,.quotes,.split,.trust-list{grid-template-columns:1fr}
  .arnd-grid,.observer,.report,.consult-grid{grid-template-columns:1fr;gap:36px}
  .arnd-photo{max-width:420px}
  .team-list{grid-template-columns:repeat(3,1fr)}
  .section-head{flex-direction:column;align-items:flex-start;gap:12px}
  .report{padding:32px 24px}
  .consult-grid img{width:180px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .cards-4,.team-list{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .search-row{grid-template-columns:1fr}
}

/* Why Dubai */
.why-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.why-grid h2{margin-bottom:16px}
.why-grid .btn{margin-top:8px}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.facts-grid li{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:flex;flex-direction:column;gap:4px}
.facts-grid b{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.facts-grid span{font-size:14px;color:var(--stone)}
.yields{border-top:1px solid var(--line);padding-top:20px}
.yields-label{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.yields ul li{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px}
.yields ul li b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--navy)}
.yields-note{font-size:13px;color:var(--stone);margin:12px 0 0;max-width:60ch}

/* Communities */
.communities{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.community{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--white);background:var(--navy);isolation:isolate}
.community img{width:100%;height:100%;object-fit:cover;transition:transform .5s;z-index:-1;position:absolute;inset:0}
.community::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,32,58,0) 35%,rgba(16,32,58,.85) 100%);z-index:0}
.community:hover img{transform:scale(1.04)}
.community-body{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;display:flex;flex-direction:column;gap:2px}
.community-tag{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-soft)}
.community-body b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.community-body>span:last-child{font-size:14px;color:rgba(255,255,255,.8)}

/* Developer band */
.devband{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.devband-row{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:26px;padding-bottom:26px}
.devband-label{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.devband ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px}
.devband li{font-family:var(--serif);font-size:20px;color:var(--navy);opacity:.75}

/* Consult faces */
.faces{display:flex;align-items:center}
.faces li{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--navy);background:var(--sand);margin-left:-28px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.faces li:first-child{margin-left:0;z-index:3;width:150px;height:150px}
.faces li:nth-child(2){z-index:2}
.faces img{width:100%;height:100%;object-fit:cover}
.consult-grid{grid-template-columns:300px 1fr}
.consult-grid>img{display:none}
.team-list{grid-template-columns:repeat(6,1fr)}
.team-intro .link-more{display:inline-block;margin-top:6px}
@media (max-width:1100px){.team-list{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:1fr;gap:36px}}
@media (max-width:900px){.communities{grid-template-columns:1fr 1fr}.consult-grid{grid-template-columns:1fr}.facts-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.communities{grid-template-columns:1fr}.facts-grid{grid-template-columns:1fr}.faces li{width:90px;height:90px}.faces li:first-child{width:110px;height:110px}}

/* Leadership */
.leader-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
.leader{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:0 0 18px;display:flex;flex-direction:column;gap:3px;text-align:left}
.leader img{aspect-ratio:1;object-fit:cover;object-position:top;background:var(--sand);border-bottom:1px solid var(--line);margin-bottom:14px}
.leader b{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.2;padding:0 18px}
.leader span{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);padding:0 18px;line-height:1.4}

/* Page head (hub pages) */
.page-head{padding:72px 0 24px}
.page-head h1{margin:0 0 18px}
.lede{font-size:21px;line-height:1.5;color:var(--stone);max-width:62ch}
.count{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.note-small{font-size:14px;color:var(--stone);max-width:70ch;border-left:2px solid var(--gold);padding-left:14px}

/* Area cards */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.area-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:border-color .15s}
.area-card:hover{border-color:var(--gold)}
.area-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--sand)}
.area-img img{width:100%;height:100%;object-fit:cover}
.area-body{display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px}
.area-body .community-tag{color:var(--gold)}
.area-body b{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15;margin-bottom:6px}
.area-meta{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-top:1px solid var(--line);padding-top:6px}
.area-meta span{color:var(--stone)}

/* Area page */
.area-hero{position:relative;color:var(--white);isolation:isolate;min-height:360px;display:flex;align-items:flex-end}
.area-hero .hero-img{animation:none}
.area-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,32,58,.15) 0%,rgba(16,32,58,.85) 100%)}
.area-hero .hero-inner{padding-top:120px;padding-bottom:48px;width:100%}
.area-hero h1{color:var(--white)}
.crumbs{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:28px}
.crumbs a{text-decoration:none;color:var(--gold-soft)}
.crumbs span{margin:0 8px}
.area-facts{background:var(--white);border-bottom:1px solid var(--line)}
.area-facts .stat-v.small{font-size:24px;line-height:1.2}
.stat-t{font-size:16px;line-height:1.4}
.area-body-grid{display:grid;grid-template-columns:7fr 4fr;gap:64px;align-items:start}
.area-text h2{font-size:28px;margin:36px 0 16px}
.check-list{display:grid;gap:12px;margin-bottom:32px;max-width:62ch}
.check-list li{padding-left:26px;position:relative}
.check-list li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:12px;border-radius:50%;background:var(--gold)}
.area-side{display:grid;gap:16px;position:sticky;top:96px}
.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px}
.side-card h3{font-size:20px;margin-bottom:6px}
.side-navy{background:var(--navy);color:var(--bg);border-color:var(--navy)}
.side-navy h3{color:var(--white)}
@media (max-width:1100px){.leader-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.area-grid{grid-template-columns:1fr 1fr}.area-body-grid{grid-template-columns:1fr;gap:32px}.area-side{position:static}.page-head{padding-top:48px}}
@media (max-width:560px){.area-grid,.leader-grid{grid-template-columns:1fr 1fr}}

/* Listings */
.filters-bar{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.filters{display:grid;grid-template-columns:repeat(6,1fr) auto;gap:12px;align-items:end}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--stone)}
.filters select,.filters input{font:400 15px var(--sans);padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);min-width:0}
.filters .btn{padding:12px 16px}
.results-line{margin:14px 0 0;font-size:14px;color:var(--stone)}
.results-line b{color:var(--ink)}
.listings-section{padding-top:40px}
.card-img{position:relative}
.badge{position:absolute;left:12px;top:12px;background:var(--navy);color:var(--gold-soft);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:3px}
.badge-inline{background:var(--sand);color:var(--stone);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;vertical-align:middle}
.price small{font-family:var(--sans);font-size:13px;color:var(--stone)}
.empty{color:var(--stone);padding:40px 0;max-width:60ch}
/* Detail */
.detail-head{padding:56px 0 24px}
.crumbs-dark{color:var(--stone)}
.crumbs-dark a{color:var(--gold)}
.detail-title{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.detail-title h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:8px}
.detail-sub{color:var(--stone);margin:0}
.detail-price{font-family:var(--serif);font-size:clamp(28px,3vw,40px);color:var(--navy);margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.detail-price small{font-family:var(--sans);font-size:14px;color:var(--stone)}
.gallery-main img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);background:var(--sand)}
.detail-body{padding-top:56px}
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}
.fact-strip li{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;background:var(--white)}
.fact-strip b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--navy)}
.fact-strip span{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--stone)}
.detail-body h2,.area-body-grid h2{font-size:26px;margin:32px 0 14px}
.detail-text{max-width:66ch;font-size:19px}
.detail-kv{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0 0 8px}
.detail-kv div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}
.detail-kv dt{color:var(--stone)}
.detail-kv dd{margin:0;text-align:right;font-weight:600}
.detail-kv a{text-decoration-color:var(--gold)}
.amenity-list{display:flex;flex-wrap:wrap;gap:8px;max-width:66ch}
.amenity-list li{border:1px solid var(--line);border-radius:3px;padding:6px 12px;font-size:14px;background:var(--white)}
.agent{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.agent img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;background:var(--sand)}
.agent b{display:block;font-weight:600}
.agent span{font-size:14px;color:var(--stone)}
.lead-form input,.lead-form textarea{font:400 15px var(--sans);padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--bg);width:100%}
.form-note{font-size:13px;color:var(--stone);margin:4px 0 0}
.project-hero{min-height:520px}
.project-hero .hero-sub{max-width:60ch;margin-bottom:0}
.provider-note{font-size:13px;color:var(--stone);max-width:56ch;margin-top:16px}
.section-navy .provider-note{color:rgba(250,248,244,.65)}
/* Services */
.journey-light li b{color:var(--navy)}
.journey-light li span{color:var(--stone)}
.journey-light li::before{background:var(--line)}
.journey-light{margin-top:0}
.service-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.service-text h2{margin-bottom:12px}
.service-text>p{max-width:62ch}
.service-for,.service-fee{font-size:15px}
.service-for span,.service-fee span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-right:8px}
.service-fee{border-top:1px solid var(--line);padding-top:12px;margin:12px 0 20px}
.service-includes{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px}
.section-sand .service-includes{background:var(--white)}
.service:not(.section-sand) .service-includes{background:var(--sand);border-color:transparent}
.service-includes .check-list{margin:0}
.partner-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}
@media (max-width:1100px){.filters{grid-template-columns:repeat(3,1fr)}.service-grid,.partner-grid{grid-template-columns:1fr;gap:32px}}
@media (max-width:900px){.detail-title{flex-direction:column;align-items:flex-start;gap:8px}.fact-strip{grid-template-columns:1fr 1fr}.detail-kv{grid-template-columns:1fr}}
@media (max-width:560px){.filters{grid-template-columns:1fr 1fr}}

/* Values grid */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.value{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 26px}
.value h3{font-size:21px;margin-bottom:10px}
.value p{color:var(--stone);font-size:16px;margin:0}
.section:not(.section-sand) .value{background:var(--sand);border-color:transparent}
/* Steps (numbered process) */
.steps{display:grid;gap:18px;counter-reset:s;max-width:66ch;margin-bottom:8px}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:28px;color:var(--gold);line-height:1;padding-top:2px}
.steps b{display:block;font-weight:600;font-size:18px;margin-bottom:2px}
.steps span{color:var(--stone);font-size:16px}
/* Team page */
.team-page{display:grid;gap:var(--gap)}
.member{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.member img{aspect-ratio:1;object-fit:cover;object-position:top;border-radius:var(--radius);background:var(--sand)}
.member h2{font-size:28px;margin-bottom:4px}
.member-role{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.member-bio{color:var(--stone);max-width:60ch;margin-bottom:12px}
.join{display:flex;justify-content:space-between;align-items:center;gap:32px}
.join h2{margin-bottom:8px}
/* Licence */
.licence .detail-kv{grid-template-columns:1fr;max-width:760px}
/* Blog */
.card-teaser{color:var(--stone);font-size:15px;margin:4px 0 0}
.post-head{padding-bottom:32px}
.post-body{max-width:720px}
.post-body p{font-size:19px;line-height:1.65;margin-bottom:22px}
.post-body h2{font-size:26px;margin:36px 0 14px}
.post-cta{margin-top:40px;padding:28px;background:var(--sand);border-radius:var(--radius)}
.post-cta p{font-size:17px;margin-bottom:14px}
.legal .post-body p{font-size:17px}
/* FAQ page */
.faq-page{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start}
.faq-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px}
.faq-nav a{text-decoration:none;font-weight:600;font-size:15px;padding:8px 12px;border-left:2px solid var(--line)}
.faq-nav a:hover{border-color:var(--gold);color:var(--gold)}
.faq-page .faq{max-width:none}
.faq-page h2{font-size:26px;margin:8px 0 12px}
.faq-page h2:not(:first-child){margin-top:48px}
/* Contact */
.contact-grid{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:12px}
.btn-big{text-align:center;padding:18px 24px;font-size:16px}
.contact-kv{grid-template-columns:1fr;margin:20px 0 28px}
.contact-info h3{font-size:20px;margin-top:12px}
.contact-form select{font:400 15px var(--sans);padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--bg)}
@media (max-width:1100px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.values{grid-template-columns:1fr}.member{grid-template-columns:1fr;gap:16px}.member img{max-width:220px}.faq-page{grid-template-columns:1fr;gap:24px}.faq-nav{position:static;flex-direction:row;flex-wrap:wrap}.contact-grid{grid-template-columns:1fr;gap:36px}.join{flex-direction:column;align-items:flex-start}}
