/* Colombia Real Estate &mdash; Cordillera Ledger design system */
:root{
  --ink:#16232C;
  --ink-2:#1F313D;
  --tejado:#C2603A;
  --tejado-dk:#9C4A2B;
  --cafetero:#4E7A52;
  --cal:#FAF5EC;
  --cal-2:#F2EADC;
  --cemento:#D8D0C3;
  --graphite:#5A5A54;
  --maxw:1180px;
  --rule:1px solid var(--cemento);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--cal);color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--tejado-dk);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

h1,h2,h3,h4{font-family:"Gloock",Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.7rem)}
p{margin:0 0 1.1em}
.lede{font-size:1.22rem;line-height:1.55;color:#33434E}
.eyebrow{
  font-family:"Spline Sans Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--tejado-dk);margin-bottom:14px;display:block;font-weight:500;
}
.eyebrow--light{color:#E2A98C}
.fig{font-family:"Spline Sans Mono",ui-monospace,monospace;font-variant-numeric:tabular-lining-nums;letter-spacing:-.02em}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--tejado);color:#fff;padding:12px 20px;z-index:200}
.skip:focus{left:0}

/* ---------- header ---------- */
.top{background:var(--ink);color:var(--cal);position:sticky;top:0;z-index:100;border-bottom:3px solid var(--tejado)}
.top .wrap{display:flex;align-items:center;gap:26px;min-height:70px}
.brand{display:flex;align-items:center;gap:11px;color:var(--cal);text-decoration:none;font-family:"Gloock",Georgia,serif;font-size:1.22rem;letter-spacing:-.01em;flex-shrink:0}
.brand img{width:28px;height:28px;border-radius:4px}
.brand span{white-space:nowrap}
.nav{display:flex;gap:22px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{
  color:#D7DDE1;text-decoration:none;font-size:.88rem;letter-spacing:.02em;
  padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;
}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--tejado)}
.nav a.blogl{color:#E9B291}
.nav a.blogl:hover{color:#fff}
.navcta{
  background:var(--tejado);color:#fff!important;padding:9px 17px!important;border-radius:2px;
  font-weight:500;border-bottom:none!important;
}
.navcta:hover{background:var(--tejado-dk)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #3D4C57;color:var(--cal);
  padding:9px 13px;border-radius:2px;font-size:.85rem;cursor:pointer;font-family:inherit}

/* ---------- elevation rule (signature device) ---------- */
.elev{background:var(--ink);color:var(--cal);padding:26px 0 22px}
.elev-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.elev-meta{flex:1 1 210px;min-width:190px}
.elev-meta .k{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:#8FA3B0;font-family:"Spline Sans Mono",monospace}
.elev-meta .v{font-size:1.05rem;color:#fff;margin-top:3px}
.elev-scale{flex:2 1 440px;position:relative;padding-bottom:26px}
.elev-track{height:3px;background:#31434F;position:relative;border-radius:2px}
.elev-fill{position:absolute;left:0;top:0;bottom:0;background:var(--tejado);border-radius:2px}
.elev-notch{position:absolute;top:-9px;width:2px;height:21px;background:#fff}
.elev-notch::after{
  content:attr(data-label);position:absolute;top:25px;left:50%;transform:translateX(-50%);
  font-family:"Spline Sans Mono",monospace;font-size:.68rem;color:#9DB0BC;white-space:nowrap;letter-spacing:.05em;
}
.elev-notch.is-here{background:var(--tejado);height:27px;top:-12px;width:3px}
.elev-notch.is-here::after{color:#EFA57C;top:29px}
.elev-ends{display:flex;justify-content:space-between;font-family:"Spline Sans Mono",monospace;
  font-size:.66rem;color:#63767F;margin-top:30px;letter-spacing:.08em}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,35,44,.72) 0%,rgba(22,35,44,.34) 42%,rgba(22,35,44,.90) 100%)}
.hero-inner{position:relative;z-index:2;padding:112px 0 84px;color:var(--cal);max-width:720px}
.hero h1{color:#fff;margin-bottom:20px;text-shadow:0 2px 26px rgba(0,0,0,.35)}
.hero .lede{color:#E4E9EC;max-width:560px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:14px 26px;border-radius:2px;text-decoration:none;
  font-size:.94rem;font-weight:500;letter-spacing:.01em;border:1px solid transparent;transition:.16s}
.btn-primary{background:var(--tejado);color:#fff;border-color:var(--tejado)}
.btn-primary:hover{background:var(--tejado-dk);border-color:var(--tejado-dk);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.btn-ghost:hover{background:rgba(255,255,255,.11);color:#fff;border-color:#fff}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{background:var(--ink-2);color:#fff}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}

/* ---------- sections ---------- */
section{padding:74px 0}
section.tight{padding:52px 0}
.sec-head{max-width:660px;margin-bottom:42px}
.sec-head p{color:var(--graphite);margin-bottom:0}
.band-ink{background:var(--ink);color:var(--cal)}
.band-ink h2,.band-ink h3{color:#fff}
.band-ink p{color:#C3CDD4}
.band-cal2{background:var(--cal-2)}

/* ---------- ledger table (signature device 2) ---------- */
.ledger{width:100%;border-collapse:collapse;background:#fff;border:var(--rule)}
.ledger caption{
  text-align:left;font-family:"Spline Sans Mono",monospace;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tejado-dk);padding:0 0 12px;
}
.ledger th,.ledger td{padding:13px 16px;text-align:left;border-bottom:var(--rule);font-size:.95rem}
.ledger thead th{
  background:var(--ink);color:#DCE3E8;font-family:"Spline Sans Mono",monospace;font-weight:500;
  font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;border-bottom:none;
}
.ledger tbody tr:nth-child(even){background:#FCFAF6}
.ledger tbody tr:hover{background:#FBF1E9}
.ledger td.num{font-family:"Spline Sans Mono",monospace;font-variant-numeric:tabular-lining-nums;
  white-space:nowrap;letter-spacing:-.02em}
.ledger td:first-child{border-left:3px solid transparent}
.ledger tbody tr:hover td:first-child{border-left-color:var(--tejado)}
.ledger tfoot td{background:var(--cal-2);font-size:.82rem;color:var(--graphite);border-bottom:none}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hedge{font-size:.82rem;color:var(--graphite);margin-top:14px;padding-left:13px;border-left:3px solid var(--cemento)}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(266px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(212px,1fr))}
.card{background:#fff;border:var(--rule);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;
  transition:.18s;text-decoration:none;color:inherit}
a.card:hover{border-color:var(--ink);transform:translateY(-3px);color:inherit}
.card-img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column}
.card h3{margin-bottom:7px}
.card p{color:var(--graphite);font-size:.93rem;margin-bottom:14px}
.card .price{margin-top:auto;padding-top:13px;border-top:var(--rule);
  font-family:"Spline Sans Mono",monospace;font-size:.86rem;color:var(--ink);letter-spacing:-.02em}
.card .price b{color:var(--tejado-dk);font-weight:500}
.tag{display:inline-block;font-family:"Spline Sans Mono",monospace;font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;background:var(--cal-2);color:var(--ink);padding:5px 10px;border-radius:2px;margin-bottom:11px}
.tag--verde{background:#E4EDE4;color:#2F5233}
.tag--tej{background:#F6E3D8;color:var(--tejado-dk)}

/* ---------- stat strip ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--cemento);border:var(--rule)}
.stat{background:#fff;padding:24px 20px}
.stat .n{font-family:"Spline Sans Mono",monospace;font-size:1.75rem;letter-spacing:-.03em;color:var(--ink);display:block}
.stat .l{font-size:.78rem;color:var(--graphite);margin-top:5px;display:block;line-height:1.4}
.stat .src{font-size:.68rem;color:#8B8B84;margin-top:8px;display:block;font-family:"Spline Sans Mono",monospace}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:52px;align-items:center}
.split img{border:var(--rule);border-radius:2px}

/* ---------- steps ---------- */
.steps{counter-reset:s;display:grid;gap:1px;background:var(--cemento);border:var(--rule)}
.step{background:#fff;padding:26px 26px 26px 74px;position:relative;counter-increment:s}
.step::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:26px;top:26px;
  font-family:"Spline Sans Mono",monospace;font-size:.86rem;color:var(--tejado);letter-spacing:.04em;
}
.step h3{font-size:1.18rem;margin-bottom:7px}
.step p{margin-bottom:0;color:var(--graphite);font-size:.95rem}

/* ---------- faq ---------- */
.faq{border-top:var(--rule)}
.faq details{border-bottom:var(--rule);background:#fff}
.faq summary{padding:19px 22px;cursor:pointer;font-weight:500;list-style:none;display:flex;
  justify-content:space-between;align-items:center;gap:16px;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"Spline Sans Mono",monospace;color:var(--tejado);font-size:1.3rem;flex-shrink:0}
.faq details[open] summary::after{content:"&ndash;"}
.faq details[open] summary{border-bottom:var(--rule)}
.faq .ans{padding:19px 22px;color:var(--graphite);font-size:.96rem}
.faq .ans p:last-child{margin-bottom:0}

/* ---------- forms ---------- */
.form{background:#fff;border:var(--rule);padding:32px;border-radius:2px}
.field{margin-bottom:19px}
.field label{display:block;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  font-family:"Spline Sans Mono",monospace;color:var(--graphite);margin-bottom:7px}
.field input,.field select,.field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--cemento);border-radius:2px;background:var(--cal);
  font-family:inherit;font-size:1rem;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--tejado);outline-offset:1px;background:#fff}
.field textarea{min-height:128px;resize:vertical}
.form-note{font-size:.8rem;color:var(--graphite);margin-top:14px}

/* ---------- prose ---------- */
.prose h2{margin:2em 0 .6em}
.prose h3{margin:1.7em 0 .5em}
.prose ul,.prose ol{margin:0 0 1.2em 1.3em}
.prose li{margin-bottom:.5em}
.prose table{margin:1.6em 0}

/* ---------- callout ---------- */
.note{background:#fff;border:var(--rule);border-left:4px solid var(--cafetero);padding:20px 24px;border-radius:0;margin:26px 0}
.note.warn{border-left-color:var(--tejado)}
.note strong{display:block;margin-bottom:6px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;
  font-family:"Spline Sans Mono",monospace;color:var(--graphite)}
.note p:last-child{margin-bottom:0}

/* ---------- cta band ---------- */
.cta-band{background:var(--tejado);color:#fff;padding:64px 0;text-align:center}
.cta-band h2{color:#fff;margin-bottom:14px}
.cta-band p{color:#FCE7DC;max-width:520px;margin:0 auto 26px}
.cta-band .btn-ghost{border-color:rgba(255,255,255,.7)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#A9B7C0;padding:62px 0 30px;font-size:.9rem}
.foot a{color:#C9D4DB;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:38px}
.foot h4{font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:#7E919D;margin-bottom:15px;font-weight:500}
.foot ul{list-style:none}
.foot li{margin-bottom:9px}
.foot .brand{margin-bottom:14px}
.foot-about{max-width:330px;line-height:1.6}
.foot-bot{border-top:1px solid #2A3A45;margin-top:44px;padding-top:22px;display:flex;
  justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.82rem;color:#74858F}
.foot-bot a{color:#8C9DA7}

/* ---------- whatsapp fab ---------- */
.fab{position:fixed;right:22px;bottom:22px;z-index:120;background:var(--cafetero);color:#fff;
  padding:14px 22px;border-radius:40px;text-decoration:none;font-size:.9rem;font-weight:500;
  box-shadow:0 6px 22px rgba(22,35,44,.28);display:flex;align-items:center;gap:9px}
.fab:hover{background:#3D6141;color:#fff}
@media(max-width:820px){.fab{display:none}}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .menu-btn{display:block}
  .nav{
    display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);
    flex-direction:column;align-items:flex-start;gap:0;padding:10px 24px 22px;border-bottom:3px solid var(--tejado)
  }
  .nav.open{display:flex}
  .nav a{padding:12px 0;width:100%;border-bottom:1px solid #2A3A45}
  .navcta{margin-top:12px;text-align:center;width:100%}
  .top .wrap{position:relative}
  .hero-inner{padding:78px 0 62px}
  section{padding:54px 0}
  .split{gap:34px}
}
@media(max-width:560px){
  body{font-size:16px}
  .foot-grid{grid-template-columns:1fr}
  .step{padding:22px 22px 22px 22px}
  .step::before{position:static;display:block;margin-bottom:8px}
  .form{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  a.card:hover{transform:none}
}
