/* CUESTA V2 finish pass · 2026-09-30
   Focus: interior heroes, form spacing, executive audit, responsive clarity. */

:root{
  --cu-finish-ink:#1f3430;
  --cu-finish-dark:#2e3b3a;
  --cu-finish-mint:#6ec0af;
  --cu-finish-mint-soft:#e7f2ee;
  --cu-finish-sand:#f4efe4;
  --cu-finish-terra:#c97f6b;
  --cu-finish-gold:#b89346;
  --cu-finish-line:#d9e1dd;
  --cu-finish-danger:#b94f48;
  --cu-finish-ok:#2f8c72;
}

/* Interior service pages: one integrated photographic hero, no duplicated image block. */
.page-hero{
  min-height:clamp(380px,48vw,560px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(42px,6vw,76px) !important;
  background:#eef2ef;
}
.page-hero:before{
  transform:scale(1.025) !important;
  filter:saturate(.76) contrast(1.04) brightness(1.02) !important;
}
.page-hero:after{
  background:
    linear-gradient(92deg,var(--page-overlay,rgba(46,59,58,.94)) 0%,var(--page-overlay-soft,rgba(46,59,58,.78)) 58%,rgba(46,59,58,.18) 100%) !important;
}
.page-hero .eyebrow{
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}
.page-hero h1{
  margin-top:18px !important;
  max-width:780px !important;
  text-wrap:balance;
}
.page-hero p{
  max-width:700px !important;
  font-size:clamp(19px,1.6vw,22px) !important;
  line-height:1.55 !important;
}
.page-hero--gestoria,
.page-hero--advisory,
.page-hero--seguros,
.page-hero--insurance,
.page-hero--nosotros,
.page-hero--about,
.page-hero--contacto,
.page-hero--contact{
  color:var(--cu-finish-ink) !important;
}
.page-hero--gestoria p,
.page-hero--advisory p,
.page-hero--seguros p,
.page-hero--insurance p,
.page-hero--nosotros p,
.page-hero--about p,
.page-hero--contacto p,
.page-hero--contact p{
  color:#334844 !important;
}

/* Contact forms: give the white surface breathing room and a clear boundary. */
.int-contact{
  align-items:start;
}
.int-contact__form{
  padding:clamp(24px,3vw,40px);
  border:1px solid rgba(31,52,48,.10);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 60px rgba(31,52,48,.08);
}
.int-contact__form .cuesta-form,
.int-contact__form form{
  margin-top:0 !important;
  background:transparent !important;
}
.cuesta-form{
  gap:20px !important;
}
.cuesta-form__grid{
  gap:18px !important;
}
.cuesta-form label{
  gap:9px !important;
  font-size:14px !important;
  line-height:1.35;
}
.cuesta-form input,
.cuesta-form select{
  min-height:58px !important;
  padding:0 17px !important;
}
.cuesta-form textarea{
  min-height:180px;
  padding:17px !important;
}
.cuesta-form input,
.cuesta-form select,
.cuesta-form textarea{
  border-color:#c7d3ce !important;
  border-radius:14px !important;
  font-size:16px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.cuesta-form__consent{
  margin-top:2px;
  padding:2px 0;
  font-size:14px !important;
}
.int-contact__copy>p,
.int-contact__details strong{
  font-size:17px;
}

/* Audit: clearer hierarchy and more air inside executive cards. */
.audit-v2 h2{
  margin-top:72px !important;
  margin-bottom:20px !important;
}
.audit-v2 h2 + p{
  margin-top:0 !important;
  margin-bottom:34px !important;
  max-width:940px;
}
.audit-card{
  padding:30px 32px !important;
}
.audit-card h3{
  margin:0 0 14px !important;
  line-height:1.2 !important;
}
.audit-card h3 + p{
  margin:0 !important;
  line-height:1.65 !important;
}
.audit-grid-2{
  gap:20px !important;
}

/* Before vs target performance panel. */
.audit-speed{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:26px;
}
.audit-speed__panel{
  padding:30px;
  border:1px solid var(--cu-finish-line);
  border-radius:24px;
  background:#fff;
}
.audit-speed__panel.is-current{
  background:#fff8f6;
  border-color:#ead0ca;
}
.audit-speed__panel.is-target{
  background:#edf6f2;
  border-color:#cce2da;
}
.audit-speed__head{
  display:flex;
  gap:22px;
  align-items:center;
}
.audit-ring{
  --value:56;
  --ring:#b94f48;
  position:relative;
  flex:0 0 112px;
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--ring) calc(var(--value) * 1%),#eaded9 0);
}
.audit-ring:after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:#fff;
}
.audit-ring strong{
  position:relative;
  z-index:1;
  font:800 31px/1 "Manrope",sans-serif;
  letter-spacing:-.04em;
}
.audit-ring span{
  position:absolute;
  z-index:1;
  margin-top:48px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.audit-ring.is-target{
  --value:90;
  --ring:#2f8c72;
  background:conic-gradient(var(--ring) calc(var(--value) * 1%),#d7e8e2 0);
}
.audit-ring.is-target:after{
  background:#f8fcfa;
}
.audit-speed__title small{
  display:block;
  margin-bottom:6px;
  color:#75827e;
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.audit-speed__title h3{
  margin:0 !important;
  font-size:clamp(25px,2.4vw,34px) !important;
}
.audit-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.audit-metric{
  padding:14px 15px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(31,52,48,.08);
}
.audit-metric b{
  display:block;
  font:800 24px/1 "Manrope",sans-serif;
  letter-spacing:-.04em;
}
.audit-metric span{
  display:block;
  margin-top:6px;
  color:#66746f;
  font-size:12px;
  line-height:1.35;
}
.audit-status-list{
  display:grid;
  gap:10px;
  margin-top:24px;
  padding:0;
  list-style:none;
}
.audit-status-list li{
  position:relative;
  padding:11px 0 11px 30px;
  border-top:1px solid rgba(31,52,48,.09);
  color:#4f615c;
}
.audit-status-list li:before{
  position:absolute;
  left:0;
  top:11px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:12px;
  font-weight:900;
}
.audit-speed__panel.is-current .audit-status-list li:before{
  content:"!";
  color:#fff;
  background:var(--cu-finish-danger);
}
.audit-speed__panel.is-target .audit-status-list li:before{
  content:"✓";
  color:#fff;
  background:var(--cu-finish-ok);
}
.audit-performance-note{
  margin-top:16px;
  color:#6b7874;
  font-size:13px;
  line-height:1.55;
}

/* Comparison table for architecture, languages and maintainability. */
.audit-compare-table td:first-child{
  width:28%;
  font-weight:800;
  color:#31433e;
}
.audit-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
}
.audit-badge.is-risk{
  color:#843f39;
  background:#fae8e4;
}
.audit-badge.is-good{
  color:#246a57;
  background:#dff1ea;
}
.audit-badge.is-pending{
  color:#7b622e;
  background:#f5ecd5;
}

/* Mobile readability. */
@media (max-width:900px){
  .audit-speed{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .page-hero{
    min-height:430px;
    padding:42px 26px !important;
    justify-content:flex-end;
  }
  .page-hero h1{
    font-size:clamp(44px,12vw,58px) !important;
  }
  .page-hero p{
    font-size:19px !important;
    line-height:1.52 !important;
  }
  .int-contact__form{
    padding:24px 18px;
    border-radius:20px;
  }
  .cuesta-form__grid{
    grid-template-columns:1fr !important;
  }
  .cuesta-form input,
  .cuesta-form select{
    min-height:56px !important;
  }
  .audit-card{
    padding:24px !important;
  }
  .audit-speed__head{
    align-items:flex-start;
  }
  .audit-ring{
    flex-basis:96px;
    width:96px;
    height:96px;
  }
  .audit-ring strong{font-size:27px;}
  .audit-ring span{margin-top:42px;}
  .audit-metrics{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){
  .audit-speed__head{
    display:grid;
    grid-template-columns:auto 1fr;
  }
  .audit-metrics{
    grid-template-columns:1fr;
  }
}

/* Final mobile audit fixes */
.audit-v2 .audit-v2__hero p{
  color:#dce8e4 !important;
  opacity:1 !important;
}
.audit-ring{
  grid-template-rows:auto auto;
  align-content:center;
  justify-items:center;
  row-gap:2px;
}
.audit-ring strong,
.audit-ring span{
  position:relative !important;
  z-index:2;
  margin:0 !important;
}
.audit-ring span{
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.08em;
  transform:none !important;
}

/* Tables become self-contained horizontal scrollers on narrow screens.
   The inset fade at the right edge indicates that more content continues. */
@media (max-width:760px){
  .audit-table{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    box-shadow:
      inset -34px 0 26px -26px rgba(46,59,58,.42),
      inset 0 0 0 1px #d9dfdb;
  }
  .audit-table thead,
  .audit-table tbody{
    display:table;
    width:700px;
    min-width:700px;
    table-layout:fixed;
  }
  .audit-table th,
  .audit-table td{
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .audit-table th:first-child,
  .audit-table td:first-child{
    width:230px;
  }
  .audit-compare-table thead,
  .audit-compare-table tbody{
    width:760px;
    min-width:760px;
  }
}
