/* DL.TURC — brass on ink, drawn from the existing logotype.
   Newsreader for display, IBM Plex Sans for text, IBM Plex Mono for figures. */
:root{
  --ground:#f4f5f7; --surface:#fff; --surface-2:#eceef1;
  --ink:#12151b; --ink-2:#3d444f; --ink-3:#6b7280;
  --rule:#dcdfe4; --rule-2:#c6cad1;
  --brass:#8f6f2c; --brass-2:#a8843c; --brass-soft:#f2e9d6;
  --ok:#2b6249; --ok-soft:#e2efe8;
  --warn:#8a6410; --warn-soft:#f6edd8;
  --bad:#9c332d; --bad-soft:#f7e6e4;
  --measure:66ch;
  --s1:.4rem; --s2:.75rem; --s3:1.15rem; --s4:1.75rem; --s5:2.6rem; --s6:4rem;
  --display:"Newsreader",Georgia,serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0e1117; --surface:#161a22; --surface-2:#1d222c;
  --ink:#e8eaee; --ink-2:#b0b6c0; --ink-3:#7d848f;
  --rule:#252b36; --rule-2:#333b48;
  --brass:#c9a659; --brass-2:#d8b96e; --brass-soft:#2a2317;
  --ok:#79c2a2; --ok-soft:#16261f;
  --warn:#d6ad55; --warn-soft:#271f10;
  --bad:#e0837c; --bad-soft:#2c1a18;
}}
:root[data-theme="dark"]{
  --ground:#0e1117; --surface:#161a22; --surface-2:#1d222c;
  --ink:#e8eaee; --ink-2:#b0b6c0; --ink-3:#7d848f;
  --rule:#252b36; --rule-2:#333b48;
  --brass:#c9a659; --brass-2:#d8b96e; --brass-soft:#2a2317;
  --ok:#79c2a2; --ok-soft:#16261f;
  --warn:#d6ad55; --warn-soft:#271f10;
  --bad:#e0837c; --bad-soft:#2c1a18;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
img{max-width:100%;height:auto;display:block}
a{color:var(--brass)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{max-width:1080px;margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.5rem)}
p{margin:0 0 var(--s3);max-width:var(--measure)}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,1.4rem+2.6vw,3rem);line-height:1.1;letter-spacing:-.015em}
h2{font-size:clamp(1.4rem,1.15rem+1.1vw,1.85rem);margin-bottom:var(--s2)}
h3{font-size:1.05rem;font-family:var(--body);font-weight:600}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass);margin:0 0 var(--s2)}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:60ch}
.note{font-size:.85rem;color:var(--ink-3)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

nav.top{border-bottom:1px solid var(--rule);background:var(--surface);position:sticky;top:0;z-index:20}
nav.top .wrap{display:flex;align-items:center;gap:var(--s4);height:66px}
.brand{font-family:var(--display);font-size:1.3rem;letter-spacing:.02em;
  color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap}
.brand b{color:var(--brass);font-weight:600}
nav.top ul{display:flex;gap:var(--s3);list-style:none;margin:0 0 0 auto;padding:0;
  overflow-x:auto;min-width:0}
nav.top a:not(.brand){color:var(--ink-2);text-decoration:none;font-size:.9rem;white-space:nowrap}
nav.top a:not(.brand):hover{color:var(--brass)}
.langs{display:flex;gap:.3rem;font-family:var(--mono);font-size:.72rem;text-transform:uppercase}
.langs a{padding:.2rem .4rem;border-radius:2px;text-decoration:none;color:var(--ink-3)}
.langs a[aria-current]{background:var(--brass-soft);color:var(--brass)}

.hero{padding-block:var(--s6) var(--s5);border-bottom:1px solid var(--rule)}
section{padding-block:var(--s6)}
section+section{border-top:1px solid var(--rule)}

.grid{display:grid;gap:var(--s3)}
@media(min-width:680px){.grid.two{grid-template-columns:1fr 1fr}
  .grid.three{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:3px;
  padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}

/* programme ladder */
.tier{display:grid;gap:var(--s2);padding:var(--s4);background:var(--surface);
  border:1px solid var(--rule);border-radius:3px}
.tier .price{font-family:var(--mono);font-size:1.35rem;font-weight:600;color:var(--brass)}
.tier .earns{font-size:.8rem;color:var(--ink-3)}
.components{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:.3rem;
  border-top:1px solid var(--rule);padding-top:var(--s2)}
.components li{display:flex;justify-content:space-between;gap:var(--s3);font-size:.85rem}
.components .v{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2)}

/* property cards */
.props{display:grid;gap:var(--s3);grid-template-columns:1fr}
@media(min-width:640px){.props{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.props{grid-template-columns:repeat(3,1fr)}}
.prop{background:var(--surface);border:1px solid var(--rule);border-radius:3px;
  overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.prop:hover{border-color:var(--brass)}
.prop .ph{aspect-ratio:3/2;background:var(--surface-2);display:grid;place-items:center;
  color:var(--ink-3);font-family:var(--mono);font-size:.75rem}
.prop .body{padding:var(--s3);display:flex;flex-direction:column;gap:.35rem;flex:1}
.prop .t{font-weight:600;line-height:1.3}
.prop .meta{font-size:.8rem;color:var(--ink-3);font-family:var(--mono)}
.prop .p{font-family:var(--mono);font-weight:600;color:var(--brass);margin-top:auto}
.chip{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;
  text-transform:uppercase;padding:.16rem .5rem;border-radius:2px}
.chip.exclusive{background:var(--brass-soft);color:var(--brass)}
.chip.land{background:var(--surface-2);color:var(--ink-2)}

/* the diligence panel — the differentiator */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:3px;overflow:hidden}
.checks li{display:flex;align-items:center;gap:var(--s2);padding:.62rem var(--s3);
  background:var(--surface);font-size:.88rem}
.checks .state{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;padding:.14rem .45rem;border-radius:2px;margin-left:auto;white-space:nowrap}
.state.verified{background:var(--ok-soft);color:var(--ok)}
.state.pending{background:var(--warn-soft);color:var(--warn)}
.state.issue{background:var(--bad-soft);color:var(--bad)}
.state.not_applicable{background:var(--surface-2);color:var(--ink-3)}

.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--ink-3);
  border:1px dashed var(--rule-2);border-radius:3px}

form.lead{display:grid;gap:var(--s3);max-width:38rem}
form.lead .row{display:grid;gap:var(--s3)}
@media(min-width:560px){form.lead .row{grid-template-columns:1fr 1fr}}
label{display:block;font-size:.78rem;font-family:var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;padding:.6rem .7rem;border-radius:3px;
  border:1px solid var(--rule-2);background:var(--surface);color:var(--ink)}
button.cta{font:inherit;font-weight:600;padding:.7rem 1.5rem;border-radius:3px;cursor:pointer;
  background:var(--brass);color:var(--ground);border:1px solid var(--brass)}
button.cta:hover{background:var(--brass-2);border-color:var(--brass-2)}

footer{border-top:1px solid var(--rule);padding-block:var(--s5);background:var(--surface)}
footer .cols{display:grid;gap:var(--s4)}
@media(min-width:720px){footer .cols{grid-template-columns:2fr 1fr 1fr}}
footer a{color:var(--ink-2);text-decoration:none;display:block;font-size:.9rem;padding:.15rem 0}
footer a:hover{color:var(--brass)}
.disclaimer{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--rule);
  font-size:.78rem;color:var(--ink-3);max-width:78ch}

/* Programme tracks — a €15,000 plot must never read as a residence route. */
section.track{padding-block:var(--s5);border-top:1px solid var(--rule)}
.track-note{max-width:70ch;color:var(--ink-2);font-size:.94rem;
  border-left:2px solid var(--rule-2);padding-left:var(--s3);margin:0 0 var(--s3)}
.review{max-width:70ch;font-size:.86rem;border-radius:3px;padding:var(--s2) var(--s3);margin:0 0 var(--s3)}
.review.pending{background:var(--warn-soft);color:var(--warn);border:1px solid transparent}
.review.done{background:var(--ok-soft);color:var(--ok);border:1px solid transparent}
