/* Scion Re · Albert Sans, fuente oficial Google Fonts. */
:root { --dark:#1f3d3a; --green:#2b5c50; --lime:#cfeeb4; --paper:#f8fffa; color:var(--dark); background:var(--paper); font-family:'Albert Sans',Arial,sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
h1,h2,h3,p,ul,ol { margin:0; }
h1,h2 { font-family:'Albert Sans',Arial,sans-serif; font-weight:500; }
h2 { font-size:clamp(38px,4vw,64px); line-height:1.1; letter-spacing:-.03em; }
h3,.font-bold { font-weight:600; }
strong { font-weight:600; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration-thickness:1px; }
button,input,textarea { font:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
section[id] { scroll-margin-top:32px; }
.site-shell { width:100%; max-width:1920px; margin-inline:auto; padding-top:16px; overflow:hidden; }
.panel { margin-inline:clamp(12px,2vw,28px); border-radius:clamp(16px,1.8vw,28px); }
.section-inner { width:min(1490px,calc(100% - 100px)); margin-inline:auto; }
.eyebrow { color:var(--green); font-size:14px; letter-spacing:.09em; font-weight:700; }
.mobile-break { display:none; }
.pill { display:inline-flex; justify-content:center; align-items:center; min-width:132px; min-height:43px; padding:10px 25px; border:0; border-radius:999px; background:var(--lime); color:var(--dark); font-family:'Albert Sans',Arial,sans-serif; font-size:13px; line-height:1; cursor:pointer; transition:background .18s,transform .18s; }
.pill:hover,.nav-contact:hover { background:#e3f7d2; }
.pill:active { transform:translateY(1px); }
.skip-link { position:fixed; top:14px; left:14px; transform:translateY(-200%); z-index:99; background:var(--dark); color:#fff; padding:12px 20px; border-radius:8px; }
.skip-link:focus { transform:none; }

/* HERO: ocupa el alto util del viewport en desktop. */
.hero { min-height:660px; height:calc(100svh - 16px); position:relative; overflow:hidden; color:var(--paper); }
.hero-image { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:center 44%; }
.hero-shade { background:linear-gradient(180deg,rgba(0,0,0,0) 10%,rgba(0,0,0,.04) 28%,rgba(0,0,0,.3) 57%,rgba(0,0,0,.90) 100%); }
.site-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; margin:0; padding:40px clamp(32px,5vw,82px) 0; color:var(--dark); }
.brand { width:clamp(160px,14vw,220px); display:block; flex-shrink:0; }
.brand img { width:100%; height:auto; }
.site-header nav { display:flex; align-items:center; gap:clamp(23px,5vw,85px); font-family:'Albert Sans',Arial,sans-serif; font-size:13px; font-weight:500; }
.site-header nav a { min-height:42px; display:inline-flex; align-items:center; justify-content:center; }
.site-header nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.site-header .nav-contact { background:var(--lime); border-radius:100px; min-width:136px; padding:0 22px; }
.hero-title { position:relative; z-index:1; width:min(1000px,82%); margin:clamp(140px,19vh,205px) 0 0 clamp(32px,5vw,82px); font-size:clamp(54px,5.7vw,103px); line-height:1.03; letter-spacing:-.035em; }
.hero-title span,.values h2 span,.why h2 span { color:var(--lime); }
.hero-description { position:absolute; z-index:1; right:clamp(32px,5vw,82px); bottom:70px; width:min(520px,42%); font-size:clamp(17px,1.45vw,23px); line-height:1.4; }

/* NOSOTROS */
.about { position:relative; min-height:500px; padding:92px max(6%,40px) 83px; display:grid; grid-template-columns:42% 58%; align-items:start; overflow:hidden; }
.about-symbol { position:absolute; width:620px; height:800px; left:0; top:-150px; opacity:.10; transform:rotate(0deg); pointer-events:none; }
.about-label { position:relative; margin-left:8%; margin-top:18px; }
.about-content { position:relative; width:100%; max-width:700px; margin:0; padding:0; }
.about-content h2 { font-size:clamp(46px,4.3vw,70px); }
.about-copy { margin-top:30px; max-width:630px; color:var(--green); font-size:clamp(17px,1.2vw,20px); line-height:1.42; }
.about-copy p+p { margin-top:15px; }

/* VALORES */
.values { display:grid; grid-template-columns:56% 44%; min-height:440px; background:var(--dark); color:var(--paper); overflow:hidden; }
.values .eyebrow,.why .eyebrow { color:var(--lime); }
.values-intro { padding:53px clamp(35px,5vw,86px); display:flex; flex-direction:column; }
.values h2 { font-size:clamp(37px,3.3vw,60px); margin-top:32px; line-height:1.12; white-space:normal; }
.values-description { font-size:clamp(16px,1.18vw,19px); line-height:1.42; max-width:700px; margin-top:auto; padding-top:23px; }
.values-list { display:grid; grid-template-rows:repeat(3,1fr); padding:0; list-style:none; border-left:1px solid rgba(207,238,180,.4); }
.value-item { display:grid; grid-template-columns:75px 1fr; grid-template-rows:auto auto; column-gap:12px; align-content:center; padding:20px clamp(24px,2.6vw,48px); }
.value-item+.value-item { border-top:1px solid rgba(207,238,180,.4); }
.value-number { grid-row:span 2; font-size:25px; color:var(--lime); line-height:1.2; }
.value-item h3 { font-size:19px; margin-bottom:10px; }
.value-item p { font-size:15px; line-height:1.45; max-width:450px; }

/* SOLUCIONES */
.solutions { padding-top:75px; }
.solutions h2 { font-size:clamp(42px,3.7vw,62px); }
.solutions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:38px; }
.solution-card { display:grid; grid-template-columns:39% 61%; min-height:240px; border-radius:18px; overflow:hidden; background:#ddf2cd; color:var(--green); border:1px solid #b5d5a7; }
.solution-card:nth-child(2) { grid-column:1; grid-row:2; }
.solution-card:nth-child(3) { grid-column:2; grid-row:1; }
.solution-image { min-height:100%; overflow:hidden; }
.solution-card img { width:100%; height:100%; object-fit:cover; }
.solution-card:first-child img { object-position:45% center; }
.solution-card:last-child img { transform:scaleX(-1); }
.solution-content { display:flex; flex-direction:column; padding:25px 24px; }
.solution-content h3 { font-size:20px; line-height:1.2; }
.solution-content p { margin-top:auto; padding-top:14px; font-size:16px; line-height:1.42; }

/* EXPERTISE */
.expertise { padding-top:95px; }
.expertise-intro h2 { margin-top:22px; }
.expertise-intro>p:last-child { font-size:clamp(16px,1.25vw,20px); line-height:1.42; max-width:880px; margin:23px auto 0; }
.expertise-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:44px; }
.expertise-card { display:grid; grid-template-columns:70px 1fr; align-items:center; gap:16px; min-height:156px; padding:20px 21px; background:var(--lime); color:var(--green); border-radius:12px; }
.expertise-card>img { width:66px; height:66px; object-fit:contain; }
.expertise-card h3 { font-size:19px; line-height:1.2; margin-bottom:9px; }
.expertise-card ul { font-size:15px; line-height:1.4; padding-left:17px; list-style:disc; }
.expertise-card li+li { margin-top:3px; }

/* POR QUÉ */
.why { position:relative; min-height:505px; margin-top:100px; overflow:hidden; padding:65px clamp(36px,5vw,90px); background:var(--dark); color:var(--paper); }
.why h2 { position:relative; font-size:clamp(51px,4.7vw,85px); line-height:1.08; z-index:1; }
.why-label { position:absolute; bottom:68px; left:clamp(36px,5vw,90px); z-index:1; }
.why-copy { position:absolute; right:clamp(36px,5vw,90px); bottom:65px; max-width:560px; width:40%; font-size:18px; line-height:1.47; z-index:1; }
.why-copy p+p { margin-top:20px; }
.why-art { position:absolute; right:6%; top:-115px; width:310px; height:480px; opacity:.95; pointer-events:none; }
.why-art img { width:100%; height:100%; object-fit:contain; }

/* CONTACTO */
.contact { margin-top:85px; background:var(--green); color:var(--paper); padding:80px max(7%,40px) 65px; }
.contact-content { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,150px); }
.contact h2 { font-size:clamp(44px,4.1vw,66px); }
.contact-copy { margin-top:35px; max-width:410px; font-size:18px; line-height:1.48; }
.contact-copy strong { font-weight:400; }
.contact-copy p+p { margin-top:25px; }
.form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 18px; }
.field { display:flex; flex-direction:column; min-width:0; }
.field label { font-size:15px; margin-bottom:8px; }
.field input,.field textarea { width:100%; min-height:47px; padding:10px 12px; border:1px solid rgba(248,255,250,.65); border-radius:8px; background:rgba(255,255,255,.03); color:white; font-size:16px; }
.field textarea { min-height:150px; resize:vertical; }
.field input:focus,.field textarea:focus { border-color:var(--lime); }
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] { border-color:#ffd4c6; }
.message-field { margin-top:0; grid-column:span 2; }
.field-error { color:#ffd4c6; font-size:13px; line-height:1.4; }
.field-error:not(:empty) { margin-top:6px; }
.form-actions { margin-top:20px; }
.form-status { font-size:14px; line-height:1.4; }
.form-status:empty { display:none; }
.form-status:not(:empty) { margin-top:16px; padding:14px; border:1px solid var(--lime); border-radius:8px; }
.form-status[data-state="error"] { border-color:#ffd4c6; }
.pill:disabled { opacity:.65; cursor:wait; }
.site-footer { display:grid; grid-template-columns:1fr 1fr 1fr; gap:35px; margin-top:70px; font-size:15px; line-height:1.48; }
.site-footer address { font-style:normal; }
.site-footer a:hover { text-decoration:underline; }

/* TABLET */
@media(max-width:1180px) {
 .hero { height:calc(100svh - 16px); min-height:650px; }
 .hero-title { margin-top:170px; font-size:clamp(53px,6vw,75px); }
 .hero-description { width:42%; font-size:17px; }
 .about { grid-template-columns:34% 66%; padding:110px 5%; }
 .about-content h2 { font-size:clamp(42px,5vw,59px); }
 .values { grid-template-columns:52% 48%; }
 .values-intro { padding:50px 35px; }
 .value-item { grid-template-columns:56px 1fr; padding:17px 20px; }
 .value-number { font-size:19px; }
 .values h2 { font-size:40px; }
 .solutions-grid { gap:15px; }
 .solution-card { grid-template-columns:36% 64%; min-height:300px; }
 .solution-content { padding:24px 20px; }
 .solution-content h3 { font-size:18px; }
 .solution-content p { font-size:15px; }
 .expertise-card { grid-template-columns:54px 1fr; gap:14px; padding:20px 16px; }
 .expertise-card>img { width:50px; height:50px; }
 .expertise-card h3 { font-size:17px; }
 .expertise-card ul { font-size:14px; }
 .why-copy { width:45%; }
}

/* TABLET/SMALL SCREENS */
@media(max-width:820px) {
 .site-shell { padding-top:10px; }
 .panel { margin-inline:10px; border-radius:17px; }
 .section-inner { width:calc(100% - 50px); }
 .hero { height:660px; min-height:0; }
 .hero-image { object-position:48% 44%; }
 .site-header { padding:25px 26px 0; }
 .site-header nav { gap:18px; font-size:12px; }
 .site-header .nav-contact { min-width:102px; padding:0 13px; }
 .brand { width:145px; }
 .hero-title { width:calc(100% - 50px); margin:160px 0 0 26px; font-size:clamp(45px,7.4vw,63px); }
 .hero-description { width:43%; right:28px; bottom:48px; font-size:16px; }
 .about { min-height:0; padding:90px 35px 100px; grid-template-columns:30% 70%; }
 .about-label { margin:10px 0; }
 .about-symbol { width:420px; height:600px; left:-110px; top:0; }
 .about-content h2 { font-size:clamp(35px,5.4vw,47px); }
 .about-copy { font-size:16px; margin-top:28px; }
 .values { grid-template-columns:1fr; }
 .values-intro { padding:58px 48px; }
 .values h2 { font-size:clamp(38px,5.5vw,53px); margin-top:24px; }
 .values-description { margin-top:27px; padding-top:0; max-width:630px; }
 .values-list { border-left:0; }
 .value-item { grid-template-columns:80px 1fr; padding:24px 48px; border-top:1px solid rgba(207,238,180,.4); }
 .value-number { font-size:23px; }
 .value-item p { font-size:16px; }
 .solutions { padding-top:88px; }
 .solutions-grid { grid-template-columns:1fr; margin-top:40px; }
 .solution-card:nth-child(n) { grid-column:auto; grid-row:auto; }
 .solution-card { grid-template-columns:35% 65%; min-height:240px; }
 .solution-content h3 { font-size:21px; }
 .solution-content p { font-size:17px; }
 .expertise { padding-top:90px; }
 .expertise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:45px; }
 .expertise-card { min-height:155px; }
 .why { margin-top:95px; padding:65px 45px; min-height:580px; }
 .why h2 { font-size:58px; }
 .why-label { bottom:50px; left:45px; }
 .why-copy { width:47%; bottom:48px; right:45px; font-size:16px; }
 .why-art { right:1%; width:250px; top:-80px; }
 .contact { margin-top:90px; padding:75px 35px 60px; }
 .contact-content { gap:35px; }
 .site-footer { margin-top:90px; font-size:13px; }
}

/* MOBILE: no microscopía tipográfica ni formulario comprimido */
@media(max-width:580px) {
 .panel { margin-inline:10px; border-radius:14px; }
 .section-inner { width:calc(100% - 36px); }
 .eyebrow { font-size:12px; }
 .desktop-break { display:none; }
 .mobile-break { display:none; }
 .site-header { padding:22px 20px 0; }
 .brand { width:128px; }
 .site-header nav { gap:12px; font-size:11px; }
 .site-header .nav-contact { min-width:88px; padding-inline:10px; min-height:35px; }
 .hero { height:655px; }
 .hero-image { object-position:50% 43%; }
 .hero-shade { background:linear-gradient(180deg,rgba(0,0,0,.0) 5%,rgba(0,0,0,.16) 28%,rgba(0,0,0,.56) 60%,rgba(0,0,0,.92) 100%); }
 .hero-title { width:calc(100% - 38px); margin:167px 0 0 19px; font-size:clamp(39px,10.3vw,55px); line-height:1.08; letter-spacing:-.033em; }
 .hero-description { width:auto; left:20px; right:20px; bottom:40px; max-width:360px; font-size:17px; line-height:1.4; }
 .about { display:block; padding:76px 27px 85px; }
 .about-symbol { width:300px; height:410px; top:0; left:auto; right:-150px; opacity:.09; }
 .about-label { margin:0 0 22px; }
 .about-content { max-width:100%; }
 .about-content h2 { font-size:clamp(38px,9vw,48px); line-height:1.12; }
 .about-copy { font-size:16px; margin-top:29px; line-height:1.52; }
 .about-copy p+p { margin-top:20px; }
 .values-intro { padding:47px 28px 40px; }
 .values h2 { font-size:clamp(34px,8.8vw,45px); line-height:1.14; margin-top:30px; }
 .values-description { font-size:16px; line-height:1.52; }
 .value-item { grid-template-columns:60px 1fr; padding:25px 28px; }
 .value-number { font-size:20px; }
 .value-item h3 { font-size:19px; }
 .value-item p { font-size:15px; line-height:1.52; }
 .solutions { padding-top:80px; }
 .solutions h2 { font-size:45px; }
 .solutions-grid { gap:13px; margin-top:36px; }
 .solution-card { grid-template-columns:36% 64%; min-height:250px; border-radius:16px; }
 .solution-content { padding:20px 16px; }
 .solution-content h3 { font-size:17px; line-height:1.3; }
 .solution-content p { font-size:15px; line-height:1.46; padding-top:14px; margin-top:auto; }
 .expertise { padding-top:95px; }
 .expertise-intro h2 { font-size:clamp(36px,9vw,46px); }
 .expertise-intro>p:last-child { margin-top:22px; font-size:16px; }
 .expertise-grid { grid-template-columns:1fr; gap:9px; margin-top:40px; }
 .expertise-card { grid-template-columns:62px 1fr; gap:15px; min-height:123px; padding:21px 22px; border-radius:12px; }
 .expertise-card>img { width:55px; height:55px; }
 .expertise-card h3 { font-size:19px; margin-bottom:7px; }
 .expertise-card ul { font-size:15px; }
 .why { margin-top:90px; padding:60px 26px 100px; min-height:0; }
 .why-art { width:170px; height:240px; right:-3%; top:-70px; opacity:.55; }
 .why h2 { font-size:clamp(39px,9.3vw,52px); width:100%; line-height:1.09; }
 .why-copy { position:relative; inset:auto; width:auto; max-width:none; margin-top:55px; font-size:16px; }
 .why-copy p+p { margin-top:16px; }
 .why-label { position:absolute; bottom:35px; left:26px; }
 .contact { margin-top:75px; padding:70px 25px 45px; }
 .contact-content { grid-template-columns:1fr; gap:43px; }
 .contact h2 { font-size:49px; }
 .contact-copy { margin-top:22px; font-size:17px; max-width:360px; }
 .contact-copy p+p { margin-top:14px; }
 .form-fields { grid-template-columns:1fr; gap:15px; }
 .message-field { grid-column:1; }
 .field label { font-size:15px; }
 .field input { min-height:48px; }
 .field textarea { min-height:145px; }
 .form-actions .pill { min-width:130px; }
 .site-footer { grid-template-columns:1fr; gap:20px; margin-top:65px; font-size:15px; }
}
@media(max-width:360px) {
 .brand { width:110px; }
 .site-header nav { font-size:10px; }
 .hero-title { font-size:36px; }
 .hero-description { font-size:16px; }
 .solution-card { grid-template-columns:32% 68%; }
 .solution-content { padding:17px 13px; }
 .solution-content h3 { font-size:16px; }
 .solution-content p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .pill { transition:none; } }

.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}.overflow-hidden{overflow:hidden}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.text-center{text-align:center}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-2{grid-column:span 2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Consultoría: redondeo exterior completo, incluso con la imagen reflejada.
   Se aplica también en mobile porque corrige un defecto de renderizado, no el layout. */
.solution-card { --solution-corner:18px; }
.solution-card:last-child {
  isolation:isolate;
  border-radius:var(--solution-corner);
  overflow:hidden;
  clip-path:inset(0 round var(--solution-corner));
}
.solution-card:last-child .solution-image,
.solution-card:last-child .solution-image img {
  border-radius:var(--solution-corner) 0 0 var(--solution-corner);
}
@media(max-width:580px) {
  .solution-card { --solution-corner:16px; }
}

/* Rango intermedio (821-1180px): refinamiento previo. El desktop ≥1181px usa el bloque final, medido sobre el PDF. */
@media (min-width:821px) and (max-width:1180px) {
  body { font-weight:200; }
  h1,h2,h3,strong,.font-bold,.eyebrow { font-weight:400; }
  .site-header nav { font-weight:200; }
  .panel { border-radius:clamp(14px,1.4vw,24px); }
  .section-inner { width:min(1590px,calc(100% - 10vw)); }

  /* Hero: edificio visible en el primer tercio, no mitad inferior. */
  .hero-image { object-position:center 95%; }
  .hero-title { margin-top:clamp(142px,18.5vh,200px); }

  /* Nosotros: restringir el ancho del texto y desplazarlo a la derecha,
     como en el diseño: contenido comienza cerca del 50% del ancho. */
  .about {
    min-height:clamp(500px,31vw,590px);
    padding:clamp(72px,5.3vw,100px) 5% clamp(62px,4.5vw,85px);
    grid-template-columns:52% minmax(0,48%);
  }
  .about-symbol { width:clamp(365px,34vw,550px); height:auto; top:-62px; left:4%; }
  .about-label { margin-left:8%; margin-top:12px; }
  .about-content { width:100%; max-width:560px; }
  .about-content h2 { font-size:clamp(40px,3.6vw,65px); line-height:1.08; }
  .about-copy { margin-top:28px; max-width:540px; font-size:clamp(15px,1.04vw,18px); line-height:1.43; }
  .about-copy p+p { margin-top:16px; }

  /* Valores: proporción 64/36 y numeración secundaria (no gigante). */
  .values { grid-template-columns:64% minmax(0,36%); min-height:clamp(410px,24vw,460px); }
  .values-intro { padding:clamp(38px,3.4vw,64px) clamp(35px,5vw,90px); }
  .values h2 { margin-top:30px; font-size:clamp(37px,3.3vw,58px); }
  .values-description { padding-top:18px; }
  .values-list { min-width:0; }
  .value-item { grid-template-columns:clamp(43px,3vw,56px) minmax(0,1fr); column-gap:8px; padding:14px clamp(14px,1.8vw,30px); }
  .value-number { font-size:clamp(15px,1vw,18px); font-weight:200; line-height:1.2; }
  .value-item h3 { font-size:clamp(16px,1.05vw,19px); margin-bottom:6px; }
  .value-item p { font-size:clamp(13px,.84vw,15px); line-height:1.34; }

  /* Soluciones: 2x2 completamente visible en viewport desktop habitual. */
  .solutions { padding-top:clamp(25px,2.7vw,48px); }
  .solutions h2 { font-size:clamp(38px,3.2vw,55px); line-height:1.08; }
  .solutions-grid { gap:clamp(10px,.8vw,14px); margin-top:clamp(15px,1.5vw,28px); }
  .solution-card {
    --solution-corner:14px;
    grid-template-columns:36% minmax(0,64%);
    height:clamp(184px,12vw,228px);
    min-height:0;
    border-radius:var(--solution-corner);
  }
  .solution-image { min-height:0; height:100%; position:relative; }
  .solution-image img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .solution-content { min-width:0; padding:clamp(12px,1.02vw,19px) clamp(13px,1.12vw,21px); }
  .solution-content h3 { font-size:clamp(15px,.97vw,18px); line-height:1.18; }
  .solution-content p { font-size:clamp(13px,.78vw,15px); line-height:1.32; padding-top:7px; }

  /* Otras mejoras desktop anteriores: mantener grilla de expertise y compactarla. */
  .expertise { padding-top:92px; }
  .expertise-grid { gap:clamp(10px,.8vw,14px); margin-top:43px; }
  .expertise-card { min-height:clamp(130px,8.5vw,156px); grid-template-columns:clamp(55px,4vw,72px) minmax(0,1fr); gap:clamp(11px,1vw,18px); padding:clamp(14px,1.2vw,22px); border-radius:6px; }
  .expertise-card>img { width:clamp(52px,3.65vw,68px); height:clamp(52px,3.65vw,68px); }
  .expertise-card h3 { font-size:clamp(16px,1vw,19px); margin-bottom:7px; }
  .expertise-card ul { font-size:clamp(13px,.82vw,15px); line-height:1.35; }
  .why { min-height:clamp(560px,30vw,625px); margin-top:110px; padding-top:72px; }
  .why-art { top:-60px; right:5.5%; width:clamp(260px,18vw,380px); height:clamp(330px,22vw,440px); }
  .why-copy { bottom:clamp(70px,5vw,100px); }
  .why-label { bottom:clamp(65px,4.8vw,95px); }
  .contact { margin-top:95px; padding-top:88px; }
  .field input { min-height:40px; padding:8px 10px; border-radius:5px; }
  .field textarea { border-radius:5px; }
  .form-fields { gap:16px 18px; }
}

/* =====================================================================
   DESKTOP ≥1181px · Medido sobre el PDF del diseñador (lienzo 1920px).
   --u = 1px en un lienzo de 1920: todo escala proporcionalmente.
   Mobile (≤820px) y tablet no se tocan.
   ===================================================================== */
@media (min-width:1181px) {
  :root { --u:calc(min(100vw,1920px)/1920); }
  body { font-weight:300; }
  h1,h2,h3,.eyebrow,.font-bold { font-weight:500; }
  strong { font-weight:600; }
  .site-shell { padding-top:calc(var(--u)*30); }
  .panel { margin-inline:calc(var(--u)*30); border-radius:calc(var(--u)*42); }
  .section-inner { width:auto; margin-inline:calc(var(--u)*124); }
  .eyebrow { font-size:max(14px,calc(var(--u)*29)); letter-spacing:.02em; font-weight:700; }

  /* HERO (1860 × 1144) */
  .hero { height:calc(var(--u)*1144); min-height:640px; }
  .hero-image { object-position:center 100%; transform:scale(1.15); transform-origin:44.7% 100%; }
  .site-header { padding:calc(var(--u)*60) calc(var(--u)*74) 0; }
  .brand { width:calc(var(--u)*214); }
  .site-header nav { gap:calc(var(--u)*133); font-size:max(12px,calc(var(--u)*17)); font-weight:400; }
  .site-header nav a { min-height:calc(var(--u)*47); }
  .site-header nav a.font-bold { font-weight:700; }
  .site-header .nav-contact { min-width:calc(var(--u)*161); padding:0; }
  .hero-shade { background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,.3) 58%,rgba(0,0,0,.9) 100%); }
  .hero-title { width:80%; margin:calc(var(--u)*306) 0 0 calc(var(--u)*75); font-size:calc(var(--u)*100); line-height:1.02; letter-spacing:-.02em; font-weight:500; }
  .hero-description { right:calc(var(--u)*92); bottom:calc(var(--u)*118); width:calc(var(--u)*660); font-size:max(16px,calc(var(--u)*29)); line-height:1.43; font-weight:300; }

  /* NOSOTROS (alto 950) */
  .about { display:block; min-height:0; height:calc(var(--u)*950); padding:0; }
  .about-symbol { width:calc(var(--u)*733); height:auto; left:calc(var(--u)*113); top:calc(var(--u)*-57); opacity:.12; }
  .about-label { position:absolute; margin:0; left:calc(var(--u)*218); top:calc(var(--u)*213); color:var(--green); }
  .about-content { position:absolute; left:calc(var(--u)*951); top:calc(var(--u)*189); width:calc(var(--u)*800); max-width:none; }
  .about-content h2 { font-size:calc(var(--u)*80); line-height:1.18; letter-spacing:-.02em; }
  .about-copy { margin-top:calc(var(--u)*81); max-width:calc(var(--u)*785); font-size:max(15px,calc(var(--u)*25)); line-height:1.36; font-weight:400; }
  .about-copy p+p { margin-top:calc(var(--u)*33); }
  .about-copy strong { font-weight:600; }

  /* VALORES (alto 676) */
  .values { grid-template-columns:calc(var(--u)*1223) minmax(0,1fr); min-height:0; height:calc(var(--u)*676); border-radius:calc(var(--u)*42); }
  .values-intro { padding:calc(var(--u)*62) calc(var(--u)*55) calc(var(--u)*71) calc(var(--u)*94); }
  .values h2 { margin-top:calc(var(--u)*65); font-size:calc(var(--u)*83); line-height:1.12; letter-spacing:-.02em; }
  .values-description { max-width:calc(var(--u)*900); padding-top:0; font-size:max(15px,calc(var(--u)*30.3)); line-height:1.32; font-weight:300; }
  .values-list { border-left:1px dotted rgba(207,238,180,.75); min-width:0; grid-template-rows:repeat(3,minmax(0,1fr)); }
  .value-item { grid-template-columns:calc(var(--u)*136) minmax(0,1fr); column-gap:0; padding:calc(var(--u)*30) calc(var(--u)*30) calc(var(--u)*20) calc(var(--u)*30); align-content:start; row-gap:calc(var(--u)*47); }
  .value-item+.value-item { border-top:1px dotted rgba(207,238,180,.75); }
  .value-number { font-size:calc(var(--u)*49); font-weight:200; line-height:1; margin-top:0; }
  .value-item:first-child { padding-top:calc(var(--u)*43); row-gap:calc(var(--u)*33); }
  .value-item h3 { font-size:max(14px,calc(var(--u)*19)); font-weight:600; margin:0; line-height:1.2; }
  .value-item p { font-size:max(13px,calc(var(--u)*19)); line-height:1.5; max-width:none; white-space:nowrap; font-weight:300; }

  /* SOLUCIONES */
  .solutions { padding-top:calc(var(--u)*196); }
  .solutions h2 { font-size:calc(var(--u)*83); line-height:1.1; letter-spacing:-.02em; }
  .solutions-grid { gap:calc(var(--u)*30) calc(var(--u)*31); margin-top:calc(var(--u)*75); }
  .solution-card { --solution-corner:calc(var(--u)*42); grid-template-columns:39% minmax(0,61%); height:calc(var(--u)*452); min-height:0; border-radius:var(--solution-corner); border:1px solid #7fae99; }
  .solution-content { padding:calc(var(--u)*50) calc(var(--u)*50) calc(var(--u)*50) calc(var(--u)*50); }
  .solution-content h3 { font-size:max(16px,calc(var(--u)*25.5)); line-height:1.3; font-weight:600; white-space:nowrap; }
  .solution-content p { max-width:calc(var(--u)*430); font-size:max(14px,calc(var(--u)*25.4)); line-height:1.4; font-weight:300; padding-top:0; }
  .solution-card:last-child img { transform:translateX(33%) scaleX(-1) scale(2); transform-origin:50% 60%; }
  .solution-content p strong { font-weight:600; }
  .solution-card:nth-child(3) .solution-content p { max-width:calc(var(--u)*380); }

  /* EXPERTISE */
  .expertise { padding-top:calc(var(--u)*191); }
  .expertise-intro h2 { margin-top:calc(var(--u)*72); font-size:calc(var(--u)*84); line-height:1.14; letter-spacing:-.02em; }
  .expertise-intro>p:last-child { max-width:calc(var(--u)*1230); margin:calc(var(--u)*56) auto 0; white-space:nowrap; font-size:max(15px,calc(var(--u)*31)); line-height:1.29; font-weight:300; }
  .expertise-grid { gap:calc(var(--u)*21); margin-top:calc(var(--u)*138); }
  .expertise-card { grid-template-columns:calc(var(--u)*120) minmax(0,1fr); gap:calc(var(--u)*52); height:calc(var(--u)*223); min-height:0; padding:0 calc(var(--u)*20) 0 calc(var(--u)*46); border-radius:calc(var(--u)*10); background:#cfeeb8; align-items:center; }
  .expertise-card>img { width:calc(var(--u)*120); height:calc(var(--u)*120); object-fit:contain; object-position:left center; }
  .expertise-card h3 { font-size:max(15px,calc(var(--u)*30)); line-height:1.2; margin-bottom:calc(var(--u)*20); font-weight:500; }
  .expertise-card ul { font-size:max(12px,calc(var(--u)*20)); line-height:1.22; padding-left:calc(var(--u)*17); font-weight:300; }
  .expertise-card li+li { margin-top:0; }

  /* POR QUÉ (alto 1006) */
  .why { margin-top:calc(var(--u)*191); height:calc(var(--u)*1006); min-height:0; padding:0; border-radius:calc(var(--u)*42); }
  .why-art { right:auto; left:calc(var(--u)*1245); top:calc(var(--u)*-285); width:calc(var(--u)*570); height:auto; opacity:1; filter:drop-shadow(0 0 calc(var(--u)*14) rgba(120,190,150,.25)); }
  .why-art img { width:100%; height:auto; display:block; }
  .why h2 { position:absolute; left:calc(var(--u)*94); top:calc(var(--u)*118); font-size:calc(var(--u)*96); line-height:1.1; letter-spacing:-.02em; }
  .why-label { left:calc(var(--u)*94); bottom:calc(var(--u)*86); }
  .why-copy { left:calc(var(--u)*1034); right:auto; bottom:calc(var(--u)*86); width:calc(var(--u)*700); max-width:none; font-size:max(15px,calc(var(--u)*30)); line-height:1.35; font-weight:300; }
  .why-copy p+p { margin-top:calc(var(--u)*38); }
  .why-copy strong { font-weight:600; }

  /* CONTACTO (full-bleed, 1247) */
  .contact { margin-top:calc(var(--u)*165); padding:calc(var(--u)*190) 0 0; height:calc(var(--u)*1247); position:relative; }
  .contact-content { display:block; position:relative; }
  .contact-intro { position:absolute; left:calc(var(--u)*198); top:0; width:calc(var(--u)*540); }
  .contact h2 { font-size:calc(var(--u)*83); line-height:1; letter-spacing:-.02em; }
  .contact-copy { margin-top:calc(var(--u)*180); max-width:calc(var(--u)*380); font-size:max(15px,calc(var(--u)*26)); line-height:1.3; font-weight:300; }
  .contact-copy strong { font-weight:500; }
  .contact-copy p+p { margin-top:calc(var(--u)*33); }
  .contact-form { margin-left:calc(var(--u)*970); width:calc(var(--u)*732); }
  .form-fields { gap:calc(var(--u)*29) calc(var(--u)*21); }
  .message-field { margin-top:calc(var(--u)*32); }
  .field label { font-size:max(14px,calc(var(--u)*30)); margin-bottom:calc(var(--u)*12); font-weight:300; }
  .field input,.field textarea { border:1px solid rgba(207,238,180,.95); border-radius:calc(var(--u)*10); min-height:calc(var(--u)*49); padding:calc(var(--u)*8) calc(var(--u)*14); background:transparent; }
  .field textarea { min-height:calc(var(--u)*175); }
  .form-actions { margin-top:calc(var(--u)*27); }
  .form-actions .pill { min-width:calc(var(--u)*163); min-height:calc(var(--u)*49); font-size:max(12px,calc(var(--u)*17)); }
  .site-footer { position:absolute; left:calc(var(--u)*198); right:0; bottom:calc(var(--u)*278); margin:0; display:block; font-size:max(14px,calc(var(--u)*29.5)); line-height:1.32; font-weight:300; }
  .site-footer>* { position:absolute; top:0; margin:0; }
  .site-footer>div { left:0; }
  .site-footer address { left:calc(var(--u)*564); }
  .site-footer>p { left:calc(var(--u)*1222); }
  .site-footer a { font-weight:500; }
  .site-footer address { font-weight:300; }
  .site-footer address strong { font-weight:500; }
}
.dbr{display:none}
@media (min-width:1181px){.dbr{display:inline}}

/* Ajustes puntuales de tipografía y subtítulo solicitados (solo mobile). */
@media (max-width: 580px) {
  .hero-mobile-keep, .expertise-mobile-keep { white-space: nowrap; }
  .hero-market-desktop-break { display: none; }
  .expertise-intro h2 { font-size: clamp(24px, 7.4vw, 34px); }
  .why-label { position: relative; top: auto; bottom: auto; left: auto; margin-bottom: 18px; }
}
