@keyframes rise{ to{ opacity:1; transform:none; } }

/* ---------- SECCIONES ---------- */
  section{ padding:110px 0; }
  .sec-head{ max-width:680px; margin-bottom:60px; }
  .sec-head h2{
    font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:300;
    line-height:1.2; margin:16px 0 0; letter-spacing:-0.01em;
  }
  .sec-head h2 strong{ font-weight:600; }
  .sec-head p{ color:var(--muted); margin-top:20px; font-size:1rem; }

  /* unidades */
  .units{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  .unit{ background:var(--navy); padding:44px 38px 48px; transition:background .35s ease, transform .35s ease; }
  .unit:hover{ transform:translateY(-6px); }
  .unit:hover{ background:var(--navy-soft); }
  .unit-mark{ width:26px; height:26px; margin-bottom:26px; }
  .unit-photo{ margin:0 -38px 26px; aspect-ratio:16/9; overflow:hidden; position:relative; }
  .unit-photo img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter:saturate(.2) contrast(1.06) brightness(.70); transition:transform .7s ease, filter .7s ease;
  }
  .unit:hover .unit-photo img{ filter:saturate(.6) contrast(1.05) brightness(1.04) !important; }
  .unit-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,25,34,0) 40%, var(--navy) 100%); }
  .unit h3{ font-size:1.18rem; font-weight:600; letter-spacing:0.02em; margin:0 0 6px; }
  .unit .sub{ font-family:'IBM Plex Mono',monospace; font-size:0.66rem; letter-spacing:0.16em; color:var(--brass); text-transform:uppercase; }
  .unit p{ color:var(--muted); font-size:0.9rem; margin:18px 0 22px; }
  .unit ul{ list-style:none; padding:0; margin:0; }
  .unit li{
    font-size:0.84rem; padding:11px 0; border-top:1px solid var(--line);
    display:flex; gap:12px; align-items:baseline; color:var(--text);
  }
  .unit li::before{ content:""; width:5px; height:5px; background:var(--steel); flex:0 0 5px; transform:rotate(45deg); }

  /* enfoque */
  .focus{ background:var(--navy-deep); }
  .focus-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
  .focus-list{ display:flex; flex-direction:column; }
  .focus-item{ padding:26px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:52px 1fr; gap:22px; }
  .focus-list .focus-item:last-child{ border-bottom:1px solid var(--line); }
  .focus-item .n{ font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--brass); padding-top:3px; }
  .focus-item h4{ font-size:1rem; font-weight:600; margin:0 0 7px; }
  .focus-item p{ color:var(--muted); font-size:0.88rem; margin:0; }

  .quote-card{ border-left:2px solid var(--muted); padding:28px 32px; background:rgba(233,238,243,0.045); }
  .quote-card p{ font-size:1.05rem; font-weight:300; line-height:1.55; margin:0; }

  /* honorarios */
  .fees{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .fee{ border:1px solid var(--line); padding:34px 30px; }
  .fee .who{ font-family:'IBM Plex Mono',monospace; font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--steel); }
  .fee h4{ font-size:1.1rem; font-weight:600; margin:14px 0 10px; }
  .fee .how{ color:var(--brass); font-size:0.86rem; font-weight:600; margin:0 0 14px; }
  .fee p{ color:var(--muted); font-size:0.85rem; margin:0; }

  /* contacto */
  .contact-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; }
  .field{ margin-bottom:20px; }
  .field label{
    display:block; font-family:'IBM Plex Mono',monospace; font-size:0.64rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:9px;
  }
  .field input, .field select, .field textarea{
    width:100%; background:rgba(233,238,243,0.04); border:1px solid var(--line);
    color:var(--text); font-family:'Inter',sans-serif; font-size:0.92rem;
    padding:14px 16px; outline:none; transition:border-color .2s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--brass); }
  .field textarea{ min-height:120px; resize:vertical; }
  .field select option{ background:var(--navy); }
  .consent{ display:flex; gap:11px; align-items:flex-start; font-size:0.78rem; color:var(--muted); margin:4px 0 24px; }
  .consent input{ margin-top:3px; accent-color:var(--brass); }
  .form-ok{ display:none; margin-top:16px; font-size:0.86rem; color:var(--steel); }

  .card-info{ border:1px solid var(--line); padding:34px 30px; }
  .card-info h3{ font-size:1.05rem; font-weight:600; margin:0 0 20px; }
  .info-row{ padding:16px 0; border-top:1px solid var(--line); }
  .info-row .k{ font-family:'IBM Plex Mono',monospace; font-size:0.62rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--steel); margin-bottom:6px; }
  .info-row .v{ font-size:0.94rem; }

  /* banda con foto */
  .band{ position:relative; padding:140px 0; overflow:hidden; }
  .band-bg{ position:absolute; inset:0; z-index:0; }
  .band-bg img{ width:100%; height:100%; object-fit:cover; filter:saturate(.15) brightness(.42); }
  .band-bg::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(16,25,34,.96) 0%, rgba(16,25,34,.82) 45%, rgba(16,25,34,.55) 100%);
  }
  .band-inner{ position:relative; z-index:2; max-width:720px; }
  .band-inner h2{ font-size:clamp(1.8rem,3.6vw,2.9rem); font-weight:300; line-height:1.16; margin:16px 0 22px; }
  .band-inner h2 strong{ font-weight:600; }
  .band-inner p{ color:var(--muted); font-size:1rem; max-width:560px; margin:0; }

  /* foto en enfoque */
  .focus-photo{ margin-bottom:28px; aspect-ratio:16/10; overflow:hidden; border:1px solid var(--line); }
  .focus-photo img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.18) brightness(.80); }

  /* foto en tarjeta de contacto */
  .info-photo{ margin:-34px -30px 26px; aspect-ratio:16/9; overflow:hidden; position:relative; }
  .info-photo img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.18) brightness(.68); }
  .info-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,25,34,0) 45%, var(--navy) 100%); }

  /* footer */
  footer{ border-top:1px solid var(--line); padding:54px 0 34px; }
  .foot-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:28px; margin-bottom:34px; }
  .foot-units{ display:flex; gap:34px; flex-wrap:wrap; }
  .foot-units span{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
  .foot-bot{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:22px; border-top:1px solid var(--line); }
  .foot-bot p, .foot-bot a{ font-size:0.76rem; color:var(--muted); margin:0; }

  .reveal{ opacity:0; transform:translateY(20px); transition:opacity .75s ease, transform .75s ease; }
  .reveal.in{ opacity:1; transform:none; }

  @media (max-width:900px){
    .units, .fees{ grid-template-columns:1fr; }
    .focus-grid, .contact-grid{ grid-template-columns:1fr; gap:40px; }
    .nav-links{ display:none; }
    .burger{ display:flex; }
    nav .wrap{ flex-wrap:wrap; }
    section{ padding:76px 0; }
    .band{ padding:90px 0; }
  }
