/* ==========================================================================
   Real Estate Consulting · Paraguay
   --------------------------------------------------------------------------
    1. Tokens            7. Why Paraguay         13. Contact
    2. Base              8. Investor Pass        14. Footer and toast
    3. Shared pieces     9. Services and process 15. Decorative backgrounds
    4. Header           10. Method               16. Responsive
    5. Hero             11. Questions            17. Reduced motion
    6. Opportunities    12. Pledge / Why us      18. Print
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --bg:#FBF9F5;
  --surface:#FFFFFF;
  --surface-2:#F3EFE8;
  --surface-hover:#F7F3EB;
  --ink:#1B1A16;
  --muted:#5B564C;
  --faint:#6B6559;
  --hairline:rgba(27,26,22,.07);

  --gold:#8F6F26;
  --gold-line:rgba(143,111,38,.22);
  --gold-line-strong:rgba(143,111,38,.42);
  --gold-grad:linear-gradient(120deg,#7E6220 0%,#BE9B43 40%,#8F6F26 62%,#6E5518 100%);

  /* The hero stays dark for contrast with the logo */
  --night:#0B0B0C;
  --cream:#F0EBDF;
  --cream-bright:#F2EDE2;

  --serif:'Spectral',serif;
  --sans:'Barlow',sans-serif;

  --maxw:1120px;
  /* Section side gutter: 0 on wide screens, growing to 28px once the content
     would otherwise touch the edge of the window */
  --gutter:clamp(0px,calc(28px - (100vw - var(--maxw)) / 2),28px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-card:0 1px 2px rgba(27,26,22,.04),0 14px 34px rgba(27,26,22,.05);
  --shadow-card-hover:0 22px 48px rgba(27,26,22,.11);
}

/* ---------- 2. Base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.65;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:rgba(143,111,38,.16);color:#111}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero :focus-visible,header:not(.scrolled) :focus-visible{outline-color:#E2C98A}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

.skip-link{
  position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;
  background:var(--surface);color:var(--ink);border:1px solid var(--gold-line-strong);
  font-size:.82rem;transform:translateY(-200%);
}
.skip-link:focus{transform:none}

/* ---------- 3. Shared pieces ---------- */
section{position:relative}
.section{padding:108px var(--gutter)}
.divider{height:1px;background:var(--gold-line);max-width:var(--maxw);margin:0 auto}

.eyebrow{
  font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;
  font-weight:400;color:var(--gold);display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold-line-strong)}

h2.display{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.75rem,3.7vw,2.7rem);line-height:1.15;letter-spacing:-.005em;
  margin:.55em 0 0;color:var(--ink);
}
.lede{color:var(--muted);font-size:1.04rem;max-width:60ch;margin-top:1.2em}
.lede--center{margin-left:auto;margin-right:auto;text-align:center}

.gold-text{
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* Three-column grid with gold hairlines (pillars) */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-line);
  border:1px solid var(--gold-line);margin-top:54px}
.pillar{background:var(--surface);padding:46px 36px;transition:background .4s var(--ease)}
.pillar:hover{background:var(--surface-hover)}
.pillar .num{font-family:var(--serif);font-size:1.1rem;color:var(--gold);letter-spacing:.1em}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:1.26rem;margin:18px 0 12px}
.pillar p{color:var(--muted);font-size:.97rem}

/* Reveal on scroll (only when JavaScript is running) */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in{opacity:1;transform:translateY(0)}

/* ---------- 4. Header ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(251,249,245,.9);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gold-line);
  box-shadow:0 1px 26px rgba(27,26,22,.06);
}
/* The header row is wider than the page column so brand + nav + actions fit */
.bar{display:flex;align-items:center;justify-content:space-between;gap:22px;height:74px;max-width:1320px}
.brandmark{
  font-family:var(--serif);font-size:1.1rem;letter-spacing:.1em;
  color:var(--ink);font-weight:500;white-space:nowrap;
}
.brandmark span{color:var(--gold)}
nav.links{display:flex;gap:26px;align-items:center;flex:1;justify-content:center}
nav.links a{
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  font-weight:400;transition:color .25s;white-space:nowrap;
}
nav.links a:hover{color:var(--ink)}
.bar-right{display:flex;align-items:center;gap:20px}
.lang{
  display:flex;align-items:center;font-size:.74rem;letter-spacing:.14em;font-weight:500;
  border:1px solid var(--gold-line);border-radius:999px;overflow:hidden;
}
.lang button{
  background:none;border:none;color:var(--faint);cursor:pointer;
  font-family:inherit;font-weight:500;font-size:.74rem;letter-spacing:.1em;
  padding:7px 10px;transition:color .25s,background .25s;
}
.lang button.active{color:#fff;background:var(--gold)}
.btn-wa{
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
  color:var(--gold);border:1px solid var(--gold-line-strong);padding:10px 18px;border-radius:999px;
  transition:background .3s var(--ease),color .3s var(--ease);white-space:nowrap;
}
.btn-wa:hover{background:var(--gold);color:#fff}
.menu-btn{display:none;background:none;border:none;color:var(--ink);cursor:pointer;font-size:1.4rem}

/* Over the dark hero the header is transparent and its text is light */
header:not(.scrolled) .brandmark{color:var(--cream-bright)}
header:not(.scrolled) nav.links a{color:rgba(255,255,255,.7)}
header:not(.scrolled) nav.links a:hover{color:#fff}
header:not(.scrolled) .lang button{color:rgba(255,255,255,.62)}
header:not(.scrolled) .lang button.active{color:#fff}
header:not(.scrolled) .btn-wa{color:var(--cream-bright);border-color:rgba(255,255,255,.34)}
header:not(.scrolled) .menu-btn{color:var(--cream-bright)}

/* ---------- 5. Hero ---------- */
.hero{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:120px 28px 80px;position:relative;
  background:radial-gradient(72% 62% at 50% 34%,#17181A 0%,var(--night) 84%);
}
.hero-logo{width:min(690px,90vw);height:auto;opacity:0;transform:translateY(14px);
  animation:rise 1.1s var(--ease) .15s forwards}
.hero-claim{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.6rem,4vw,3.1rem);line-height:1.16;letter-spacing:-.01em;
  color:#F5F0E4;max-width:20ch;margin:26px auto 16px;text-wrap:balance;
}
.hero-sub{
  color:rgba(240,235,223,.72);max-width:54ch;margin:22px auto 0;font-size:1.02rem;
  opacity:0;transform:translateY(14px);animation:rise 1.1s var(--ease) .65s forwards;
}
.hero-cta{
  display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px;
  opacity:0;transform:translateY(14px);animation:rise 1.1s var(--ease) .85s forwards;
}
.cta-primary,.cta-ghost{
  font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  padding:16px 34px;border-radius:999px;transition:all .35s var(--ease);
}
.cta-primary{background:var(--gold-grad);color:#1a1304;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.cta-primary:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(199,162,76,.34)}
.cta-ghost{border:1px solid rgba(226,201,138,.45);color:var(--cream)}
.cta-ghost:hover{background:rgba(226,201,138,.12);border-color:#E2C98A}
.scroll-hint{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(240,235,223,.5);
  opacity:0;animation:fadein 1s ease 1.4s forwards;
}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@keyframes fadein{to{opacity:1}}

/* Vision statement below the hero */
.philo{text-align:center;padding:120px var(--gutter)}
.philo .stmt{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.24rem,2.2vw,1.72rem);line-height:1.45;
  max-width:min(58ch,760px);margin:28px auto 0;
}

/* ---------- 6. Opportunities ---------- */
.grid-dev{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px}
.dev-card{
  position:relative;border:1px solid var(--gold-line);border-radius:2px;overflow:hidden;
  background:var(--surface);box-shadow:var(--shadow-card);
  transition:border-color .4s var(--ease),transform .4s var(--ease),background .4s;
}
.dev-card:hover{border-color:var(--gold-line-strong);transform:translateY(-6px);
  box-shadow:0 30px 60px rgba(27,26,22,.16)}

/* Photo, carousel and overlaid title */
.dev-media{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#F1ECE3,#E7E1D6);border-bottom:1px solid var(--gold-line);
}
.dev-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,14,12,0) 42%,rgba(15,14,12,.74) 100%)}
.carousel{position:relative;width:100%;height:100%}
.carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .6s var(--ease),transform .9s var(--ease)}
.carousel img.on{opacity:1}
.dev-card:hover .dev-media img{transform:scale(1.05)}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.55);
  background:rgba(20,20,20,.35);backdrop-filter:blur(6px);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;
  opacity:0;transition:opacity .3s var(--ease),background .3s var(--ease)}
.car-nav:hover{background:rgba(20,20,20,.65)}
.car-prev{left:12px}
.car-next{right:12px}
.dev-media:hover .car-nav,.dev-media:focus-within .car-nav{opacity:1}
.car-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:7px}
.car-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.45);cursor:pointer;transition:background .3s}
.car-dots button.on{background:#fff}
.dev-overlay{position:absolute;left:22px;right:22px;bottom:18px;z-index:2}
.dev-overlay h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;color:#fff;
  margin:0;line-height:1.15;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.dev-place{display:flex;align-items:center;gap:6px;margin:5px 0 16px;
  font-size:.79rem;letter-spacing:.03em;color:rgba(255,255,255,.85)}
.dev-place svg{width:13px;height:13px;flex:none}

/* Card body */
.dev-body{padding:26px 26px 30px}
.dev-status{display:flex;align-items:center;gap:9px;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none;
  animation:pulseDot 2.4s var(--ease) infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(199,162,76,.5)}70%{box-shadow:0 0 0 9px rgba(199,162,76,0)}100%{box-shadow:0 0 0 0 rgba(199,162,76,0)}}
.dev-badge{display:inline-block;margin-bottom:14px;font-size:.64rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.88);
  border:1px solid rgba(143,111,38,.35);backdrop-filter:blur(4px);padding:.5em .85em}
.dev-desc{font-size:.92rem;line-height:1.65;color:var(--muted);margin:0 0 18px}
.roi{display:flex;gap:1px;background:var(--gold-line);border:1px solid var(--gold-line);margin:2px 0 38px}
.roi div{flex:1;background:rgba(143,111,38,.05);padding:13px 14px}
.roi .k{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.roi .v{font-family:var(--serif);font-size:1.14rem;color:var(--gold);margin-top:5px;line-height:1.1}
.dev-tags-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:18px 0 10px}
.dev-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.dev-tag{font-size:.74rem;color:var(--ink);background:rgba(143,111,38,.07);
  border:1px solid var(--gold-line-strong);padding:.4em .8em}
.dev-cta-row{display:flex;flex-wrap:wrap;gap:10px}
.dev-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;background:var(--gold);color:#fff;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  transition:background .3s;white-space:nowrap}
.dev-cta:hover{background:var(--ink);color:#fff}
.dev-cta svg{width:15px;height:15px}
.dev-dl{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:12px 18px;
  border:1px solid var(--gold-line-strong);color:var(--gold);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s}
.dev-dl:hover{background:var(--gold);color:#fff}

/* ---------- 7. Why Paraguay ---------- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gold-line);
  border:1px solid var(--gold-line);margin-top:54px}
.stat{background:var(--surface);padding:30px 26px 28px;transition:background .4s var(--ease)}
.stat:hover{background:var(--surface-hover)}
.stat .fig{font-family:var(--serif);font-weight:500;font-size:2.3rem;line-height:1;
  color:var(--gold);display:flex;align-items:baseline;gap:.06em}
.stat .fig .suf{font-size:1.3rem}
.stat .lbl{margin-top:14px;font-size:.82rem;letter-spacing:.04em;color:var(--ink);line-height:1.45}
.stat .sub{margin-top:8px;font-size:.82rem;line-height:1.6;color:var(--faint)}
.src-note{margin-top:22px;font-size:.82rem;line-height:1.7;color:var(--faint);max-width:70ch}

/* GDP chart + property-access facts */
.growth{margin-top:56px;display:grid;grid-template-columns:1.05fr 1fr;gap:1px;
  background:var(--gold-line);border:1px solid var(--gold-line)}
.growth>div{background:var(--surface);padding:34px 30px}
.growth h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0 0 6px}
.growth .cap{font-size:.76rem;color:var(--faint);margin:0 0 26px}
.bars{display:flex;align-items:flex-end;gap:14px;height:170px}
.bars .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:9px;height:100%}
.bars .bar .col{width:100%;background:linear-gradient(180deg,#C7A24C,#8F6F26);height:0;
  transition:height 1.1s cubic-bezier(.22,1,.36,1)}
.bars .bar .val{font-family:var(--serif);font-size:1rem;color:var(--gold)}
.bars .bar .yr{font-size:.74rem;letter-spacing:.06em;color:var(--muted)}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.facts li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;
  font-size:.93rem;line-height:1.6;color:var(--muted);
  padding-bottom:16px;border-bottom:1px solid var(--hairline)}
.facts li:last-child{border-bottom:none;padding-bottom:0}
.facts b{font-family:var(--serif);font-weight:500;font-size:1.15rem;color:var(--gold);white-space:nowrap}

/* Regional comparison table */
.cmp{margin-top:56px;border:1px solid var(--gold-line);background:var(--surface);overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;min-width:620px}
.cmp caption{text-align:left;padding:22px 26px 0;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold)}
.cmp th,.cmp td{padding:15px 26px;text-align:left;font-size:.92rem;
  border-bottom:1px solid var(--hairline)}
.cmp thead th{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:500}
.cmp tbody th{font-weight:400;color:var(--muted)}
.cmp td.py{font-family:var(--serif);font-size:1.12rem;color:var(--gold);background:rgba(143,111,38,.05)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:none}

/* ---------- 8. Investor Pass ---------- */
.ip-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-top:50px}
.ip-rows{display:flex;flex-direction:column}
.ip-row{
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--gold-line);
}
.ip-row:first-child{border-top:1px solid var(--gold-line)}
.ip-row .label{font-size:1.02rem;color:var(--ink)}
.ip-row .cond{font-size:.84rem;color:var(--faint);margin-top:4px;max-width:34ch}
.ip-row .amt{font-family:var(--serif);font-size:1.45rem;white-space:nowrap}
.ip-note{color:var(--faint);font-size:.82rem;margin-top:26px;font-style:italic}

.ip-benefit{
  margin-top:56px;border:1px solid var(--gold-line-strong);border-radius:2px;
  background:linear-gradient(180deg,rgba(143,111,38,.08),#fff);
  box-shadow:0 14px 40px rgba(27,26,22,.06);
  padding:44px 46px;
}
.ip-benefit h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:16px 0 12px;color:var(--ink)}
.ip-benefit .txt{color:var(--muted);font-size:1rem;max-width:66ch}
.lawyer-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gold-line);border:1px solid var(--gold-line);margin-top:34px}
.lawyer-field{background:var(--surface);padding:22px 24px}
.lawyer-field .k{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.lawyer-field .v{font-family:var(--serif);font-size:1.05rem;color:var(--muted);margin-top:9px}

.ip-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;
  margin-top:60px;padding-top:50px;border-top:1px solid var(--gold-line)}
.ip-cta-text{color:var(--muted);font-size:1rem;max-width:54ch}
.btn-download{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--gold);border:1px solid var(--gold-line-strong);
  padding:16px 34px;border-radius:999px;transition:all .35s var(--ease);
}
.btn-download:hover{background:var(--gold);color:#fff;
  box-shadow:0 14px 34px rgba(199,162,76,.2);transform:translateY(-2px)}
.btn-download .dl-ico{font-size:1.05rem;line-height:1;transition:transform .35s var(--ease)}
.btn-download:hover .dl-ico{transform:translateY(2px)}

/* ---------- 9. Services and process ---------- */
.grid-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px}
.svc{
  border:1px solid var(--gold-line);padding:34px 30px;border-radius:2px;
  background:var(--surface);box-shadow:var(--shadow-card);
  transition:border-color .4s var(--ease),transform .4s var(--ease),background .4s;
}
.svc:hover{border-color:var(--gold-line-strong);transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
.svc .idx{font-size:.72rem;letter-spacing:.2em;color:var(--gold);font-weight:500}
.svc h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin:14px 0 10px}
.svc p{color:var(--muted);font-size:.93rem}

.proc-sub{margin-top:90px;padding-top:66px;border-top:1px solid var(--gold-line)}
.proc-sub .display{margin-top:.4em}
.proc{display:flex;flex-direction:column;margin-top:48px}
.step{
  display:grid;grid-template-columns:96px 1fr;gap:30px;align-items:baseline;
  padding:26px 0;border-top:1px solid var(--gold-line);transition:padding-left .35s var(--ease);
}
.proc .step:last-child{border-bottom:1px solid var(--gold-line)}
.step:hover{padding-left:14px}
.step .n{font-family:var(--serif);font-size:1.85rem;line-height:1}
.step .body h3{font-weight:500;font-size:1.06rem;letter-spacing:.02em}
.step .body p{color:var(--muted);font-size:.95rem;margin-top:4px}

/* ---------- 10. Method ---------- */
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--gold-line);border:1px solid var(--gold-line);margin-top:52px}
.method>div{background:var(--surface);padding:30px 28px;display:flex;gap:16px;align-items:flex-start;
  transition:background .4s var(--ease)}
.method>div:hover{background:var(--surface-2)}
.method .i{font-family:var(--serif);font-size:.95rem;color:var(--gold);line-height:1.9;flex:none}
.method .t{font-size:1.02rem;line-height:1.5;color:var(--ink)}
.method .d{font-size:.84rem;line-height:1.6;color:var(--faint);margin-top:7px}

/* ---------- 11. Questions ---------- */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.qcard{border:1px solid var(--gold-line);background:var(--surface);padding:28px 26px 26px;
  transition:border-color .4s var(--ease),transform .4s var(--ease),background .4s}
.qcard:hover{border-color:var(--gold-line-strong);transform:translateY(-4px);background:var(--surface-2)}
.qcard svg{width:26px;height:26px;stroke:var(--gold);stroke-width:1.2;fill:none;
  stroke-linecap:round;stroke-linejoin:round;display:block}
.qcard h3{font-family:var(--serif);font-weight:500;font-size:1.16rem;line-height:1.3;
  margin:20px 0 10px;color:var(--ink)}
.qcard p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0}

/* ---------- 12. Pledge / Why us ---------- */
.pledge{border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);
  padding:92px var(--gutter);text-align:center}
.pledge .stmt2{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.4rem,3.2vw,2.35rem);line-height:1.35;color:var(--ink);
  max-width:30ch;margin:22px auto 0;text-wrap:balance}
.pledge .stmt2 em{font-style:italic;color:var(--gold)}

.reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 48px;margin-top:46px}
.reason{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--gold-line)}
.reason .tick{color:var(--gold);font-size:1rem;line-height:1.7;flex:none}
.reason p{color:var(--ink);font-size:1rem}

/* ---------- 13. Contact ---------- */
.contact{text-align:center;padding:120px 0;
  background:radial-gradient(120% 90% at 50% 0%,#F4F0E7 0%,var(--bg) 62%)}
.contact .ways{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:40px}
.way{
  display:flex;flex-direction:column;align-items:center;gap:8px;min-width:210px;
  border:1px solid var(--gold-line);padding:32px 30px;border-radius:2px;
  background:var(--surface);box-shadow:var(--shadow-card);transition:all .35s var(--ease);
}
.way:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.way .k{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.way .v{font-family:var(--serif);font-size:1.16rem;color:var(--ink)}
.way .v.email{font-size:.96rem;letter-spacing:.004em;white-space:nowrap}

/* ---------- 14. Footer and toast ---------- */
footer{border-top:1px solid var(--gold-line);padding:54px 0 60px}
.foot{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px;flex-wrap:wrap}
.foot .brandmark{font-size:1.5rem}
.foot-right{font-size:.8rem;color:var(--muted);letter-spacing:.06em;text-align:center;line-height:1.9}
.foot-right a{color:var(--gold)}
.foot-right .copy{color:var(--faint)}

.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:var(--surface);border:1px solid var(--gold-line-strong);color:var(--ink);
  padding:14px 22px;border-radius:999px;font-size:.86rem;letter-spacing:.02em;
  box-shadow:0 18px 44px rgba(27,26,22,.14);opacity:0;pointer-events:none;z-index:80;
  transition:opacity .35s var(--ease),transform .35s var(--ease);
  display:flex;align-items:center;gap:10px;max-width:90vw;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast .chk{color:var(--gold);font-weight:600}

/* ---------- 15. Decorative backgrounds ---------- */
/* Faint background photo: each section declares its image in --bg-img */
#inicio{--bg-img:url("../assets/img/bg-hero.jpg")}
#desarrollos{--bg-img:url("../assets/img/bg-oportunidades.jpg")}
#paraguay{--bg-img:url("../assets/img/bg-paraguay.jpg")}
#investorpass{--bg-img:url("../assets/img/bg-investor-pass.jpg")}
#servicios{--bg-img:url("../assets/img/bg-servicios.jpg")}
#contacto{--bg-img:url("../assets/img/bg-contacto.jpg")}
.bg-photo{isolation:isolate}
.bg-photo::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--bg-img);background-size:cover;background-position:center;
  opacity:.10;filter:grayscale(.4) contrast(1.03);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20%,#000 80%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 20%,#000 80%,transparent 100%);
}
.bg-photo > *{position:relative;z-index:1}
.hero.bg-photo::before{
  opacity:.26;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%);
}
.contact.bg-photo::before{opacity:.18}

/* 3D gold-line figures (cube and gyroscope) */
.bg3d{position:relative;overflow:hidden}
.bg3d > *{position:relative;z-index:1}
.fx3d{position:absolute;inset:0;z-index:0;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  perspective:900px;opacity:.4}
.fx3d--right{justify-content:flex-end;padding-right:6vw}
.cube{width:300px;height:300px;position:relative;transform-style:preserve-3d;
  animation:spinCube 46s linear infinite}
.cube i{position:absolute;inset:0;border:1px solid rgba(143,111,38,.2);background:rgba(143,111,38,.012)}
.cube i:nth-child(1){transform:translateZ(150px)}
.cube i:nth-child(2){transform:rotateY(180deg) translateZ(150px)}
.cube i:nth-child(3){transform:rotateY(90deg) translateZ(150px)}
.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(150px)}
.cube i:nth-child(5){transform:rotateX(90deg) translateZ(150px)}
.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(150px)}
.gyro{position:relative;width:420px;height:420px;transform-style:preserve-3d}
.gyro i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(143,111,38,.2);background:rgba(143,111,38,.012)}
.gyro i:nth-child(1){animation:spinRingA 34s linear infinite}
.gyro i:nth-child(2){inset:44px;animation:spinRingB 26s linear infinite;border-color:rgba(199,162,76,.22)}
.gyro i:nth-child(3){inset:96px;animation:spinRingC 42s linear infinite;border-color:rgba(199,162,76,.16)}
@keyframes spinCube{from{transform:rotateX(-18deg) rotateY(0deg)}to{transform:rotateX(-18deg) rotateY(360deg)}}
@keyframes spinRingA{from{transform:rotateX(66deg) rotateZ(0deg)}to{transform:rotateX(66deg) rotateZ(360deg)}}
@keyframes spinRingB{from{transform:rotateY(70deg) rotateZ(0deg)}to{transform:rotateY(70deg) rotateZ(-360deg)}}
@keyframes spinRingC{from{transform:rotateX(30deg) rotateY(24deg) rotateZ(0deg)}to{transform:rotateX(30deg) rotateY(24deg) rotateZ(360deg)}}

/* ---------- 16. Responsive ---------- */
@media(max-width:1400px){
  /* Tighter header spacing so brand + nav + actions fit on 1280px laptops */
  .bar{gap:16px}
  nav.links{gap:18px}
  .bar-right{gap:14px}
}
@media(max-width:1260px){
  /* The nav becomes a dropdown below the header */
  nav.links{
    position:fixed;inset:74px 0 auto 0;flex-direction:column;gap:0;
    background:rgba(251,249,245,.98);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--gold-line);padding:10px 0;
    box-shadow:0 20px 44px rgba(27,26,22,.10);
    transform:translateY(-130%);transition:transform .45s var(--ease);
  }
  nav.links.open{transform:translateY(0)}
  nav.links a,header:not(.scrolled) nav.links a{
    padding:16px 28px;width:100%;color:var(--muted);border-bottom:1px solid var(--hairline);
  }
  nav.links a:hover,header:not(.scrolled) nav.links a:hover{color:var(--ink)}
  .menu-btn{display:block}
}
@media(max-width:1040px){
  .bar-right .btn-wa{display:none}
}
@media(max-width:480px){
  /* "Real Estate Consulting" + language switch + menu button on one phone-width row */
  .bar{gap:10px}
  header .brandmark{font-size:.95rem;letter-spacing:.05em}
  .bar-right{gap:8px}
  .lang button{padding:7px 8px}
}
@media(max-width:380px){
  header .wrap{padding:0 18px}
  header .brandmark{font-size:.88rem;letter-spacing:.03em}
  .foot .brandmark{font-size:1.25rem}
}
@media(max-width:900px){
  .stat-band,.method,.qgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:880px){
  .grid-3,.grid-services,.lawyer-fields,.grid-dev,.reasons{grid-template-columns:1fr}
  .dev-cta-row{flex-direction:column}
  .ip-benefit{padding:34px 26px}
  .ip-grid{grid-template-columns:1fr;gap:40px}
  .btn-download{padding:15px 24px;font-size:.75rem;letter-spacing:.1em}
  .ways{flex-direction:column;align-items:stretch}
  .way{width:100%;min-width:0}
}
@media(max-width:820px){.growth{grid-template-columns:1fr}}
@media(max-width:700px){.car-nav{opacity:1}}
@media(max-width:560px){.qgrid{grid-template-columns:1fr}}
@media(max-width:520px){.method{grid-template-columns:1fr}}
@media(max-width:480px){.stat-band{grid-template-columns:1fr}}

/* ---------- 17. Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none}
  .hero-logo,.hero-sub,.hero-cta,.scroll-hint{opacity:1;transform:none}
  .scroll-hint{transform:translateX(-50%)}
}

/* ---------- 18. Print ---------- */
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important}
  header,.skip-link,.toast,.fx3d,.car-nav,.car-dots,.scroll-hint{display:none!important}
  .reveal,.hero-logo,.hero-sub,.hero-cta{opacity:1!important;transform:none!important;animation:none!important}
  section{page-break-inside:avoid;break-inside:avoid;padding:22px 0!important}
  .bg-photo::before{display:none!important}
  .dev-card,.pillar,.svc,.qcard,.lawyer-field{box-shadow:none!important;break-inside:avoid}
  .grid-dev{grid-template-columns:1fr!important}
  a{text-decoration:none}
  .display{font-size:1.9rem!important}
}
