/*
Theme Name: DDI - Debida Diligencia Inmobiliaria
Theme URI: https://ddi.com.co
Author: Kimital
Description: Tema a medida para DDI, el estándar previo para negocios fiduciarios. Landing institucional de una sola página.
Version: 1.3
Text Domain: ddi-theme
*/


  :root{
    --orange:#E75A16;
    --orange-dark:#C4470D;
    --orange-glow: rgba(231,90,22,0.22);
    --ink:#171412;
    --charcoal:#242020;
    --charcoal-soft:#332D2A;
    --paper:#FAF8F6;
    --paper-dim:#F0EDE9;
    --line: rgba(23,20,18,0.12);
    --line-light: rgba(255,255,255,0.14);
    --gray-text:#5A5450;
    --display: 'Space Grotesk', sans-serif;
    --body: 'Inter', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body);
    background:var(--paper);
    color:var(--ink);
    line-height:1.5;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 64px;}

  h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-0.01em;}

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--orange);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--orange);}

  @media (prefers-reduced-motion: no-preference){
    .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
    .reveal.in{opacity:1; transform:translateY(0);}
  }

  /* ============ NAV ============ */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:22px 0;
    transition:background .35s ease, padding .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  nav.scrolled{
    background:rgba(250,248,246,0.92);
    backdrop-filter:blur(10px);
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  nav .wrap{display:flex; align-items:center; justify-content:space-between;}
  .logo{display:flex; align-items:center; gap:10px;}
  .logo-img{height:52px; width:auto; display:block; transition:height .35s ease;}
  nav.scrolled .logo-img{height:44px;}
  .nav-links{display:flex; gap:34px; font-size:14px; font-weight:500;}
  nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,0.82);}
  nav.scrolled .nav-links a{color:var(--gray-text);}
  .nav-links a{transition:color .2s ease;}
  .nav-links a:hover{color:var(--orange);}
  .nav-cta{
    font-size:13px; font-weight:600; padding:10px 20px; border-radius:3px;
    background:var(--orange); color:#fff !important; transition:background .2s ease;
  }
  .nav-cta:hover{background:var(--orange-dark);}
  .burger{display:none;}

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:100vh;
    background:var(--charcoal);
    display:flex; align-items:center;
    overflow:hidden;
  }
  .hero-photo{
    position:absolute; inset:0;
    background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3Dx8haTpW83mCVPlpuaR9Li0Hg6/hf_20260721_144021_0e83fcc7-20f4-4c08-a94d-a90fe8647608.png');
    background-size:cover; background-position:center 38%;
    filter:grayscale(1) contrast(1.15);
    opacity:0.5;
  }
  .hero-scrim{
    position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(23,20,18,0.96) 0%, rgba(23,20,18,0.86) 32%, rgba(23,20,18,0.35) 58%, transparent 78%);
  }
  .hero-curve{
    position:absolute; top:0; right:-8%; bottom:0; width:62%;
    background:linear-gradient(150deg, var(--orange) 0%, var(--orange-dark) 100%);
    clip-path: path('M320,0 C120,150 120,650 320,800 L1000,800 L1000,0 Z');
    opacity:0.94;
  }
  .hero-curve-photo{
    position:absolute; top:0; right:-8%; bottom:0; width:62%;
    background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3Dx8haTpW83mCVPlpuaR9Li0Hg6/hf_20260721_144031_0fdb7401-d305-48dc-a2cf-1695a2a409b8.png');
    background-size:cover; background-position:center;
    filter:grayscale(1) contrast(1.1) brightness(0.9);
    clip-path: path('M320,0 C120,150 120,650 320,800 L1000,800 L1000,0 Z');
    mix-blend-mode:luminosity;
    opacity:0.45;
  }
  .hero-content{position:relative; z-index:3; padding-top:70px;}
  .hero-logo-badge{
    position:absolute; z-index:2; right:14%; top:50%; transform:translateY(-50%);
    width:320px;
  }
  .hero-logo-badge img{width:100%; height:auto; display:block;}
  .hero-content .wrap{max-width:1180px;}
  .hero-eyebrow{
    font-family:var(--mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
    color:rgba(255,255,255,0.65); margin-bottom:26px; display:flex; align-items:center; gap:10px;
  }
  .hero-eyebrow::before{content:"";width:22px;height:1px;background:var(--orange);}
  .hero h1{
    font-size:clamp(40px, 6.2vw, 78px);
    line-height:1.02;
    color:#fff;
    max-width:640px;
    margin-bottom:26px;
  }
  .hero h1 em{font-style:normal; color:var(--orange);}
  .hero p{
    font-size:18px; color:rgba(255,255,255,0.72); max-width:460px; margin-bottom:38px; font-weight:400;
  }
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 28px; border-radius:3px; font-weight:600; font-size:14.5px;
    transition:transform .2s ease, background .2s ease, border-color .2s ease;
    border:1px solid transparent; cursor:pointer;
  }
  .btn-primary{background:#fff; color:var(--ink);}
  .btn-primary:hover{background:var(--orange); color:#fff; transform:translateY(-2px);}
  .btn-ghost{border-color:rgba(255,255,255,0.3); color:#fff;}
  .btn-ghost:hover{border-color:#fff; transform:translateY(-2px);}
  .btn-dark{background:var(--ink); color:#fff;}
  .btn-dark:hover{background:var(--orange); transform:translateY(-2px);}

  .scroll-hint{
    position:absolute; bottom:36px; left:64px; z-index:3;
    display:flex; align-items:center; gap:10px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:rgba(255,255,255,0.45);
  }
  .scroll-hint .line{width:1px; height:34px; background:rgba(255,255,255,0.35); position:relative; overflow:hidden;}
  .scroll-hint .line::after{content:"";position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--orange); animation:scrollmove 2s ease-in-out infinite;}
  @keyframes scrollmove{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }

  /* ============ STAT BAND ============ */
  .stat-band{
    background:var(--ink); color:#fff; padding:64px 0;
    position:relative; overflow:hidden;
  }
  .stat-band-photo{
    position:absolute; inset:0;
    background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3Dx8haTpW83mCVPlpuaR9Li0Hg6/hf_20260721_144036_b7485777-9c0a-493f-89b8-26f425ce023e.png');
    background-size:cover; background-position:center 65%;
    filter:grayscale(1);
    opacity:0.14;
  }
  .stat-band > .wrap{position:relative; z-index:2;}
  .stat-band .wrap{display:flex; flex-wrap:wrap; gap:48px; align-items:flex-end; justify-content:space-between;}
  .stat-band .label{
    font-size:15px; color:rgba(255,255,255,0.55); max-width:280px; line-height:1.5;
  }
  .stat-numbers{display:flex; gap:64px; flex-wrap:wrap;}
  .stat{max-width:260px;}
  .stat .num{font-family:var(--display); font-size:clamp(34px,4vw,52px); color:var(--orange); font-weight:700; line-height:1;}
  .stat .desc{font-size:13.5px; color:rgba(255,255,255,0.6); margin-top:10px;}

  /* ============ SECTIONS GENERIC ============ */
  section{position:relative;}
  .section-pad{padding:120px 0;}
  .section-pad-sm{padding:90px 0;}

  /* PILLARS */
  .pillars-head{
    background:var(--orange); color:#fff; padding:90px 0 70px;
    position:relative; overflow:hidden;
  }
  .pillars-head::after{
    content:""; position:absolute; right:-10%; top:-30%; width:60%; height:200%;
    background:var(--orange-dark); opacity:0.35; border-radius:50%;
    filter:blur(60px);
  }
  .pillars-head .wrap{position:relative; z-index:2;}
  .pillars-tag{
    display:inline-block; background:var(--ink); color:#fff; font-size:12px; font-weight:600;
    padding:8px 16px; border-radius:20px; letter-spacing:0.04em; margin-bottom:26px;
  }
  .pillars-head h2{font-size:clamp(32px,4.4vw,52px); max-width:680px; line-height:1.08; color:#fff;}
  .pillars-head h2 span{opacity:0.75; font-weight:400;}

  .pillars-grid{
    background:var(--ink); padding:0;
    display:grid; grid-template-columns:repeat(3,1fr);
  }
  .pillar{
    padding:56px 40px; border-right:1px solid var(--line-light);
    color:#fff; position:relative; transition:background .3s ease;
  }
  .pillar:last-child{border-right:none;}
  .pillar:hover{background:var(--charcoal-soft);}
  .pillar .pnum{font-family:var(--mono); font-size:12px; color:var(--orange); margin-bottom:22px; display:block;}
  .pillar h3{font-size:22px; margin-bottom:12px; color:#fff;}
  .pillar p{font-size:14.5px; color:rgba(255,255,255,0.55);}

  /* REALIDAD OPERATIVA */
  .reality{padding:120px 0; background:var(--paper);}
  .reality-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:70px; align-items:start;}
  .reality h2{font-size:clamp(32px,4vw,46px); line-height:1.08; margin-bottom:22px;}
  .reality > .wrap > .reality-grid > div:first-child p{font-size:16.5px; color:var(--gray-text); max-width:480px;}
  .min-list{list-style:none; margin-top:36px; display:flex; flex-direction:column; gap:0;}
  .min-list li{
    display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);
    font-size:16px; font-weight:500;
  }
  .min-list li:first-child{padding-top:0;}
  .min-list .dot{width:8px;height:8px; background:var(--orange); border-radius:50%; flex-shrink:0;}
  .purpose-box{
    background:var(--charcoal); color:#fff; padding:44px 38px; border-radius:4px; position:relative;
  }
  .purpose-box::before{content:"";position:absolute; top:0; left:0; width:5px; height:100%; background:var(--orange);}
  .purpose-box .eyebrow{color:var(--orange);}
  .purpose-box p{font-size:16px; line-height:1.65; color:rgba(255,255,255,0.85); margin-bottom:24px;}
  .purpose-flag{
    display:inline-flex; align-items:center; gap:10px; border:1px solid var(--orange); color:var(--orange);
    padding:12px 18px; font-size:13px; font-weight:700; border-radius:3px; letter-spacing:0.02em; text-transform:uppercase;
  }

  /* TENSION */
  .tension{background:var(--paper-dim); padding:120px 0;}
  .tension-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:60px; flex-wrap:wrap;}
  .tension-head h2{font-size:clamp(32px,4vw,46px); max-width:560px; line-height:1.08;}
  .tension-head p{font-size:15.5px; color:var(--gray-text); max-width:320px;}
  .tension-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
  .tcard{background:var(--paper-dim); padding:36px 28px; transition:background .25s ease, transform .25s ease;}
  .tcard:hover{background:var(--paper); transform:translateY(-4px);}
  .tcard .ticon{
    width:38px; height:38px; border-radius:50%; border:1.5px solid var(--orange); color:var(--orange);
    display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:13px; margin-bottom:24px;
  }
  .tcard h3{font-size:17px; margin-bottom:10px;}
  .tcard p{font-size:13.8px; color:var(--gray-text); line-height:1.55;}

  /* CONSEQUENCE FLOW */
  .flow{background:var(--ink); color:#fff; padding:120px 0; position:relative; overflow:hidden;}
  .flow-photo{
    position:absolute; inset:0;
    background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3Dx8haTpW83mCVPlpuaR9Li0Hg6/hf_20260721_144021_0e83fcc7-20f4-4c08-a94d-a90fe8647608.png');
    background-size:cover; background-position:center;
    filter:grayscale(1) contrast(1.1);
    opacity:0.16;
  }
  .flow-fade{
    position:absolute; inset:0;
    background:linear-gradient(180deg, var(--ink) 0%, transparent 22%, transparent 78%, var(--ink) 100%);
  }
  .flow > .wrap{position:relative; z-index:2;}
  .flow-top{display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:70px; align-items:start;}
  .flow h2{font-size:clamp(32px,4vw,46px); color:#fff; line-height:1.08; margin-bottom:20px;}
  .flow-top p{color:rgba(255,255,255,0.55); font-size:16px; line-height:1.6;}
  .absorb-list{list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:6px;}
  .absorb-list li{font-size:15px; color:rgba(255,255,255,0.8); display:flex; align-items:center; gap:12px;}
  .absorb-list li::before{content:"—"; color:var(--orange);}

  .flow-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;}
  .flow-steps::before{
    content:""; position:absolute; top:34px; left:60px; right:60px; height:1px;
    background:repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 8px, transparent 8px 16px);
  }
  .fstep{padding:0 28px; position:relative;}
  .fstep .fnum{
    width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:var(--display); font-weight:700; font-size:15px; margin-bottom:26px; position:relative; z-index:2;
  }
  .fstep:nth-child(1) .fnum{background:var(--charcoal-soft); color:rgba(255,255,255,0.6); border:1px solid var(--line-light);}
  .fstep:nth-child(2) .fnum{background:var(--charcoal-soft); color:rgba(255,255,255,0.6); border:1px solid var(--line-light);}
  .fstep:nth-child(3) .fnum{background:var(--orange); color:#fff;}
  .fstep h3{font-size:18px; color:#fff; margin-bottom:10px;}
  .fstep .tag{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:14px; display:block;}
  .fstep:nth-child(3) .tag{color:var(--orange);}
  .fstep p{font-size:14px; color:rgba(255,255,255,0.55); line-height:1.6;}

  /* IS / ISNOT */
  .isnot{padding:120px 0; background:var(--paper);}
  .isnot .wrap > h2{font-size:clamp(32px,4vw,46px); text-align:center; margin-bottom:60px;}
  .isnot-grid{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .isnot-col{padding:48px 44px;}
  .isnot-col.yes{background:var(--orange); color:#fff;}
  .isnot-col.no{background:var(--charcoal); color:#fff;}
  .isnot-col h3{font-size:14px; text-transform:uppercase; letter-spacing:0.08em; font-family:var(--mono); font-weight:500; margin-bottom:30px; opacity:0.85;}
  .isnot-col ul{list-style:none; display:flex; flex-direction:column; gap:20px;}
  .isnot-col li{font-size:17px; font-weight:600; display:flex; align-items:center; gap:14px;}
  .isnot-col.yes li::before{content:"✓"; font-family:var(--mono); font-weight:500;}
  .isnot-col.no li::before{content:"✕"; font-family:var(--mono); font-weight:500; color:var(--orange);}

  /* METHODOLOGY */
  .method{background:var(--paper-dim); padding:120px 0;}
  .method .wrap > .method-head{text-align:center; max-width:620px; margin:0 auto 70px;}
  .method-head .eyebrow{justify-content:center;}
  .method-head h2{font-size:clamp(32px,4vw,46px);}
  .method-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:step;}
  .mstep{
    background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:34px 28px;
    position:relative; counter-increment:step; transition:border-color .25s ease, transform .25s ease;
  }
  .mstep:hover{border-color:var(--orange); transform:translateY(-6px);}
  .mstep::before{
    content: counter(step, decimal-leading-zero);
    font-family:var(--display); font-size:15px; color:var(--orange); font-weight:700;
    display:block; margin-bottom:22px;
  }
  .mstep::after{
    content:"→"; position:absolute; right:-30px; top:40px; color:var(--line); font-size:20px;
  }
  .mstep:last-child::after{display:none;}
  .mstep h3{font-size:18px; margin-bottom:12px;}
  .mstep p{font-size:13.8px; color:var(--gray-text); line-height:1.55;}

  /* TANGIBLE */
  .tangible{background:var(--charcoal); color:#fff; padding:120px 0;}
  .tangible-head{max-width:640px; margin-bottom:70px;}
  .tangible-head h2{font-size:clamp(32px,4vw,46px); color:#fff; line-height:1.1;}
  .tangible-head .highlight{color:var(--orange);}
  .tangible-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-light); border-radius:6px; overflow:hidden;}
  .tblock{background:var(--charcoal); padding:40px 34px;}
  .tblock .eyebrow{color:var(--orange);}
  .tblock ul{list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:8px;}
  .tblock li{font-size:14.5px; color:rgba(255,255,255,0.8); display:flex; gap:12px;}
  .tblock li::before{content:"›"; color:var(--orange); font-weight:700;}

  /* MODEL */
  .model{padding:120px 0; background:var(--paper);}
  .model .wrap > h2{font-size:clamp(32px,4vw,46px); margin-bottom:16px; max-width:600px;}
  .model .wrap > p.lede{font-size:16px; color:var(--gray-text); max-width:560px; margin-bottom:60px;}
  .model-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .mcard{padding:32px 26px; border-radius:6px; border:1px solid var(--line);}
  .mcard.diff{background:var(--orange); border-color:var(--orange); color:#fff;}
  .mcard.pos{background:var(--ink); border-color:var(--ink); color:#fff;}
  .mcard h3{font-size:15px; margin-bottom:20px; text-transform:uppercase; letter-spacing:0.03em; font-family:var(--mono); font-weight:500;}
  .mcard ul{list-style:none; display:flex; flex-direction:column; gap:12px;}
  .mcard li{font-size:14px; line-height:1.5;}
  .mcard:not(.diff):not(.pos) li{color:var(--gray-text);}
  .mcard.diff li{color:rgba(255,255,255,0.92);}
  .mcard.pos p{font-size:14.5px; color:rgba(255,255,255,0.75); line-height:1.6;}
  .mcard .no-have{margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.25); font-size:13.5px; font-weight:600;}

  /* CTA / SIGUIENTE PASO */
  .cta{
    position:relative; background:var(--ink); color:#fff; padding:150px 0 130px; overflow:hidden;
  }
  .cta-photo{
    position:absolute; inset:0; background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3Dx8haTpW83mCVPlpuaR9Li0Hg6/hf_20260721_144036_b7485777-9c0a-493f-89b8-26f425ce023e.png');
    background-size:cover; background-position:center; filter:grayscale(1) brightness(0.4);
    opacity:0.65;
  }
  .cta-curve{
    position:absolute; top:0; left:-10%; bottom:0; width:55%;
    background:var(--orange); opacity:0.92;
    clip-path: path('M0,0 L500,0 C700,150 700,650 500,800 L0,800 Z');
  }
  .cta .wrap{position:relative; z-index:2; display:flex; justify-content:flex-end;}
  .cta-inner{max-width:520px;}
  .cta h2{font-size:clamp(30px,4vw,44px); color:#fff; line-height:1.1; margin-bottom:22px;}
  .cta p{font-size:16px; color:rgba(255,255,255,0.75); margin-bottom:34px; line-height:1.6;}

  /* FOOTER */
  footer{background:var(--paper); border-top:1px solid var(--line); padding:56px 0 40px;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;}
  .foot-logo{display:flex; align-items:center; gap:10px;}
  .foot-logo-img{height:40px; width:auto; display:block;}
  footer .fine{font-size:12.5px; color:var(--gray-text);}
  .foot-links{display:flex; gap:26px; font-size:13.5px; color:var(--gray-text);}
  .foot-links a:hover{color:var(--orange);}

  /* RESPONSIVE */
  @media (max-width: 980px){
    .wrap{padding:0 40px;}
    .scroll-hint{left:40px;}
    .hero-logo-badge{width:220px; right:8%;}
    .pillars-grid{grid-template-columns:1fr;}
    .pillar{border-right:none; border-bottom:1px solid var(--line-light);}
    .reality-grid{grid-template-columns:1fr; gap:40px;}
    .tension-grid{grid-template-columns:1fr 1fr;}
    .flow-top{grid-template-columns:1fr;}
    .flow-steps{grid-template-columns:1fr; gap:36px;}
    .flow-steps::before{display:none;}
    .isnot-grid{grid-template-columns:1fr;}
    .method-grid{grid-template-columns:1fr 1fr;}
    .mstep::after{display:none;}
    .tangible-grid{grid-template-columns:1fr;}
    .model-grid{grid-template-columns:1fr 1fr;}
    .cta .wrap{justify-content:center; text-align:center;}
    .cta-curve{display:none;}
    .nav-links{display:none;}
    .stat-band .wrap{flex-direction:column; align-items:flex-start;}
  }
  @media (max-width: 620px){
    .hero-logo-badge{display:none;}
    .tension-grid{grid-template-columns:1fr;}
    .method-grid{grid-template-columns:1fr;}
    .model-grid{grid-template-columns:1fr;}
    .stat-numbers{gap:32px;}
    .wrap{padding:0 24px;}
    .hero-curve, .hero-curve-photo{width:90%; right:-30%;}
  }
