@font-face{
    font-family:'Cormorant Garamond';
    src:url(/fonts/f0.woff2) format('woff2');
    font-weight:100 900;font-style:normal;font-display:swap;
  }
  @font-face{
    font-family:'Karla';
    src:url(/fonts/f1.woff2) format('woff2');
    font-weight:100 900;font-style:normal;font-display:swap;
  }
  :root{
    color-scheme:light;
    --crema:#F8F5EE; --crema2:#EFEAE0; --arena:#E8E1D2; --borde:#E3DCCB;
    --tinta:#12333A; --teal:#0C3B3E; --verde:#1C4A3F; --musgo:#5E7A76;
    --grisverde:#3E5A5C; --azulcta:#0E3550; --azulpie:#0A2A40;
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Karla',Arial,sans-serif;
    --padx:clamp(20px,5vw,56px);
  }
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);
    font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
  .page a{color:var(--teal);text-decoration:none;}
  .page ::selection{background:var(--arena);}
  .page section{scroll-margin-top:80px;}
  .wrap{max-width:1120px;margin:0 auto;padding-left:var(--padx);padding-right:var(--padx);}
  .kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--musgo);font-weight:700;}
  .h2{font-family:var(--serif);font-weight:500;color:var(--teal);margin:0;text-wrap:balance;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
  }

  /* header */
  .hdr{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:15px var(--padx);background:rgba(10,42,64,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(232,225,210,.14);}
  .brand{display:flex;align-items:baseline;gap:12px;min-width:0;}
  .brand b{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.08em;color:var(--crema);text-transform:uppercase;white-space:nowrap;}
  .brand i{font-style:normal;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,225,210,.62);white-space:nowrap;}
  .nav{display:flex;align-items:center;gap:22px;}
  .nav a{color:rgba(248,245,238,.85);font-size:13px;letter-spacing:.08em;}
  .nav a:hover{color:#F8F5EE;}
  .lang{display:flex;align-items:center;padding:5px 8px;border:1px solid rgba(232,225,210,.35);border-radius:2px;font-size:12px;letter-spacing:.1em;}
  .lang b{color:#F8F5EE;padding:0 6px;}
  .lang span{color:rgba(232,225,210,.38);}
  .lang a{color:rgba(248,245,238,.6);padding:0 6px;}
  .lang a:hover{color:#F8F5EE;}

  /* hero */
  .hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:#123F55;}
  .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;}
  .hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,42,64,.42) 0%,rgba(10,42,64,.12) 42%,rgba(8,34,52,.88) 100%);}
  .hero .in{position:relative;z-index:2;width:100%;max-width:1120px;margin:0 auto;padding:140px var(--padx) clamp(64px,11vh,120px);}
  .hero .rule{width:56px;height:1px;background:var(--arena);margin-bottom:26px;}
  .hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.4vw,66px);line-height:1.1;color:var(--crema);margin:0 0 20px;max-width:17ch;text-wrap:balance;}
  .hero p{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:rgba(248,245,238,.9);margin:0 0 36px;max-width:56ch;text-wrap:pretty;}
  .ctas{display:flex;flex-wrap:wrap;gap:14px;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border-radius:2px;
    font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
  .btn.solid{background:var(--arena);color:#0B2A32;font-weight:700;border:1px solid var(--arena);}
  .btn.solid:hover{background:#F8F5EE;}
  .btn.ghost{border:1px solid rgba(232,225,210,.55);color:var(--crema);font-weight:600;background:transparent;}
  .btn.ghost:hover{border-color:var(--arena);background:rgba(232,225,210,.12);color:var(--crema);}

  /* credenciales */
  .cred{background:var(--verde);}
  .cred .in{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px 24px;
    padding-top:clamp(30px,4vw,44px);padding-bottom:clamp(30px,4vw,44px);}
  .cred .it{text-align:center;font-family:var(--serif);font-size:19px;color:var(--crema);line-height:1.35;}
  .cred .it small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(232,225,210,.6);margin-top:6px;}

  /* problema */
  .prob{padding-top:clamp(72px,10vw,120px);padding-bottom:clamp(56px,7vw,88px);}
  .prob .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,5vw,64px);align-items:start;}
  .prob h2{font-size:clamp(28px,3.4vw,42px);line-height:1.2;}
  .prob p{font-size:16.5px;color:var(--grisverde);margin:0 0 16px;text-wrap:pretty;}
  .prob p.lead{font-size:18px;color:var(--tinta);}

  /* pilares */
  .pil{padding-bottom:clamp(72px,10vw,120px);}
  .pil .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(24px,4vw,48px);}
  .pil .it{border-top:1px solid var(--teal);padding-top:24px;}
  .pil h3{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--teal);margin:0 0 10px;}
  .pil p{font-size:15px;line-height:1.7;color:var(--grisverde);margin:0;text-wrap:pretty;}

  /* servicio destacado */
  .dest{background:var(--teal);}
  .dest .grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;}
  .dest .media{position:relative;min-height:380px;}
  .dest .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .dest .body{padding:clamp(52px,6.5vw,92px) clamp(26px,5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:18px;}
  .dest .kicker{color:#A9C0B4;}
  .dest h2{color:var(--crema);font-size:clamp(30px,3.4vw,44px);line-height:1.16;}
  .dest p{font-size:16px;line-height:1.7;color:rgba(248,245,238,.85);margin:0;max-width:52ch;text-wrap:pretty;}
  .dest ul{margin:6px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;}
  .dest li{position:relative;padding-left:18px;font-size:14.5px;color:rgba(248,245,238,.82);}
  .dest li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--arena);}
  @media (max-width:640px){.dest ul{grid-template-columns:1fr;}}

  /* otros servicios */
  .otros{padding-top:clamp(64px,9vw,110px);padding-bottom:clamp(64px,9vw,110px);}
  .otros .kicker{margin-bottom:30px;display:block;}
  .otros .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
  .card{background:#FFFFFF;border:1px solid var(--borde);padding:30px 28px;border-radius:2px;transition:border-color .25s;}
  .card:hover{border-color:var(--teal);}
  .card h3{font-family:var(--serif);font-weight:600;font-size:23px;color:var(--teal);margin:0 0 8px;text-wrap:balance;}
  .card p{font-size:14.5px;color:var(--grisverde);margin:0 0 14px;line-height:1.6;text-wrap:pretty;}
  .card span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--musgo);font-weight:700;}
  .otros .extra{margin-top:26px;font-size:14.5px;color:var(--musgo);font-style:italic;}

  /* método */
  .met{background:var(--crema2);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);}
  .met .in{padding-top:clamp(64px,9vw,110px);padding-bottom:clamp(64px,9vw,110px);}
  .met h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px;}
  .met .sub{color:var(--grisverde);margin:0 0 44px;max-width:60ch;text-wrap:pretty;}
  .met .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:26px;}
  .met .paso{display:flex;flex-direction:column;gap:12px;}
  .met .top{display:flex;align-items:center;gap:12px;}
  .met .n{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--verde);line-height:1;}
  .met .ln{flex:1;height:1px;background:#C9C0AC;}
  .met .t{font-size:15px;font-weight:700;letter-spacing:.02em;}
  .met .d{font-size:13.5px;color:var(--grisverde);line-height:1.6;margin:0;text-wrap:pretty;}

  /* abogada */
  .abo{padding-top:clamp(72px,10vw,120px);padding-bottom:clamp(72px,10vw,120px);}
  .abo .panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(28px,5vw,64px);
    background:#FFFFFF;border:1px solid var(--borde);padding:clamp(36px,5vw,64px);border-radius:2px;}
  .abo h2{font-size:clamp(26px,3vw,38px);line-height:1.2;}
  .abo .dr{font-family:var(--serif);font-size:21px;color:var(--tinta);margin:18px 0 4px;}
  .abo .rol{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--musgo);font-weight:700;margin:0 0 18px;}
  .abo p{font-size:15.5px;color:var(--grisverde);margin:0 0 14px;text-wrap:pretty;}
  .abo .creds{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
  .abo .creds li{position:relative;padding-left:20px;font-size:15px;color:var(--tinta);}
  .abo .foto{width:190px;max-width:60%;aspect-ratio:2/3;object-fit:cover;display:block;margin:0 auto 26px;border:1px solid rgba(0,0,0,.08);}
  .abo .col{font-size:14.5px;color:var(--tinta);margin:0 0 10px;}
  .dest h2.largo{font-size:clamp(22px,2.3vw,30px);line-height:1.3;}
  .otros .card ul.sub{margin:10px 0 0;padding-left:18px;font-size:14.5px;line-height:1.6;}
  .cta .datos{font-size:15px;line-height:1.75;color:rgba(248,245,238,.88);margin:0 0 22px;}
  .cta .datos a{color:inherit;}
  /* Justificado: solo párrafos de texto corrido en columnas anchas; los títulos, a la izquierda */
  .hero p,.prob p,.prob h2,.pil p,.dest h2.largo,.dest .body p,.dest li,.otros .card h3,.otros .card p,.otros .card li,.otros .extra,.met .sub,.met .d,.band p,.abo h2,.abo p:not(.dr):not(.col):not(.rol),.abo .creds li,.faq .a,.cta .lead{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;}
  @media (max-width:640px){
    .hero p,.prob p,.prob h2,.pil p,.dest h2.largo,.dest .body p,.dest li,.otros .card h3,.otros .card p,.otros .card li,.otros .extra,.met .sub,.met .d,.band p,.abo h2,.abo p,.abo .creds li,.faq .a,.cta .lead{text-align:left;hyphens:manual;-webkit-hyphens:manual;}
  }
  .pano img{display:block;width:100%;height:clamp(130px,17vw,250px);object-fit:cover;}
  #paginas > .page[hidden]{display:none !important;}
  .hero img{object-position:68% 55%;}
  .hero .veil{background:linear-gradient(90deg,rgba(8,34,52,.85) 0%,rgba(8,34,52,.6) 42%,rgba(8,34,52,.08) 72%),linear-gradient(180deg,rgba(10,42,64,.35) 0%,rgba(8,34,52,0) 40%,rgba(8,34,52,.55) 100%);}
  @media (max-width:760px){.hero .veil{background:linear-gradient(180deg,rgba(8,34,52,.5) 0%,rgba(8,34,52,.6) 40%,rgba(8,34,52,.92) 100%);}}
  .nav a{white-space:nowrap;}
  @media (max-width:1100px){.brand i{display:none;}}
  .abo .creds li::before{content:"";position:absolute;left:0;top:.66em;width:10px;height:1px;background:var(--verde);}

  /* banda videollamada / zona */
  .band{position:relative;overflow:hidden;background:#1E6B7A;}
  .band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;}
  .band .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,34,52,.86) 0%,rgba(8,34,52,.55) 55%,rgba(8,34,52,.3) 100%);}
  .band .in{position:relative;z-index:2;padding-top:clamp(72px,10vw,130px);padding-bottom:clamp(72px,10vw,130px);max-width:1120px;margin:0 auto;}
  .band h2{color:var(--crema);font-size:clamp(28px,3.6vw,44px);max-width:22ch;line-height:1.2;}
  .band p{color:rgba(248,245,238,.88);font-size:16.5px;max-width:52ch;margin:14px 0 10px;text-wrap:pretty;}
  .band .zonas{font-family:var(--serif);font-size:19px;color:var(--arena);margin:18px 0 30px;}

  .band img{object-position:center 88%;}
  .band .veil{background:linear-gradient(90deg,rgba(8,34,52,.82) 0%,rgba(8,34,52,.5) 55%,rgba(8,34,52,.15) 100%);}

  /* faq */
  .faq{padding-top:clamp(64px,9vw,110px);padding-bottom:clamp(64px,9vw,110px);max-width:860px;}
  .faq h2{font-size:clamp(28px,3vw,38px);margin-bottom:8px;}
  .faq .sub{color:var(--grisverde);margin:0 0 36px;text-wrap:pretty;}
  .faq details{border-top:1px solid var(--borde);}
  .faq details:last-of-type{border-bottom:1px solid var(--borde);}
  .faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:18px;
    padding:20px 2px;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--teal);}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";font-family:var(--serif);font-size:24px;color:var(--musgo);flex:none;transition:transform .25s;}
  .faq details[open] summary::after{transform:rotate(45deg);}
  .faq .a{padding:0 2px 22px;font-size:15px;color:var(--grisverde);font-style:italic;max-width:65ch;text-wrap:pretty;}

  /* contacto */
  .cta{background:var(--azulcta);}
  .cta .in{padding-top:clamp(72px,10vw,120px);padding-bottom:clamp(72px,10vw,120px);
    display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(36px,6vw,80px);}
  .cta h2{color:var(--crema);font-size:clamp(32px,4vw,48px);line-height:1.12;margin-bottom:18px;}
  .cta .lead{font-size:16.5px;line-height:1.7;color:rgba(248,245,238,.82);margin:0 0 22px;max-width:44ch;text-wrap:pretty;}
  .cta .mini{font-size:13.5px;color:rgba(248,245,238,.6);margin:0 0 6px;}
  .form{display:flex;flex-direction:column;gap:13px;}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
  @media (max-width:560px){.row2{grid-template-columns:1fr;}}
  .form input,.form select,.form textarea{width:100%;box-sizing:border-box;padding:13px 15px;background:rgba(248,245,238,.07);
    border:1px solid rgba(232,225,210,.28);border-radius:2px;color:var(--crema);font-family:var(--sans);font-size:14px;outline:none;}
  .form input::placeholder,.form textarea::placeholder{color:rgba(248,245,238,.5);}
  .form input:focus,.form select:focus,.form textarea:focus{border-color:var(--arena);}
  .form select option{color:#12333A;}
  .form textarea{resize:vertical;min-height:104px;}
  .form .note{font-size:12px;color:rgba(248,245,238,.55);margin:0;}
  .form .note u{text-decoration:underline;cursor:pointer;}
  .form button{align-self:flex-start;border:none;}

  /* nota maqueta */
  .nota{background:var(--crema2);border-top:1px solid var(--borde);}
  .nota .in{padding-top:44px;padding-bottom:44px;}
  .nota h4{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--musgo);margin:0 0 14px;}
  .nota ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
  .nota li{font-size:13px;color:var(--grisverde);padding-left:18px;position:relative;}
  .nota li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:1px;background:var(--musgo);}

  /* footer */
  .pie{background:var(--azulpie);padding:32px var(--padx);}
  .pie .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
  .pie b{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.08em;color:rgba(248,245,238,.85);text-transform:uppercase;}
  .pie .lnk{display:flex;flex-wrap:wrap;gap:22px;}
  .pie .lnk a{font-size:13px;color:rgba(248,245,238,.55);}
  .pie .lnk a:hover{color:#F8F5EE;}

  /* whatsapp */
  .wa{position:fixed;bottom:22px;right:22px;z-index:60;display:flex;align-items:center;justify-content:center;
    width:54px;height:54px;border-radius:50%;background:var(--verde);color:var(--arena);
    box-shadow:0 6px 20px rgba(8,31,38,.35);border:1px solid rgba(232,225,210,.25);}
  .wa:hover{background:var(--teal);color:var(--crema);}

  @media (max-width:760px){
    .brand i{display:none;}
    .nav a.sec{display:none;}
    .nav a.sec[href^="#contacto"]{display:inline-block;padding:6px 10px;border:1px solid rgba(232,225,210,.45);border-radius:2px;}
    .nav{gap:12px;}
    .brand b{font-size:17px;}
    .hero .in{padding-top:110px;}
  }

  
  .contacto-botones{display:flex;flex-direction:column;gap:14px;align-self:center;}
  .contacto-botones .btn{justify-content:center;}
