/* CUESTA V2 recovery pass · 2026-10-01
   Built from the last good published V2. This file intentionally loads last. */

/* ------------------------------
   HOME · viewport fit and clarity
   ------------------------------ */
.hero-v2 h1{
  line-height:1.08!important;
}
.hero-v2 h1>span{
  display:block;
  margin-top:.16em;
}
.hero-signal>span,
.hero-signal--b>span{
  color:#213b35!important;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.74);
  border-radius:999px;
  padding:4px 8px;
  opacity:1!important;
}
.need-card{
  padding:42px!important;
}
.need-card__number{
  top:30px!important;
  right:34px!important;
  opacity:1!important;
}
.need-card p{
  max-width:82%!important;
  font-size:17px!important;
  line-height:1.58!important;
  opacity:.94!important;
}
.need-card--dark p{color:rgba(255,255,255,.9)!important}
.need-card--teal p,
.need-card--sand p,
.need-card--forest p{color:#263b37!important}
.needs-mark-glass{
  width:112px!important;
  height:112px!important;
}
.needs-mark-glass img{
  width:56px!important;
  height:56px!important;
}
@media (min-width:981px){
  .hero-v2{
    min-height:min(720px,calc(100svh - 112px))!important;
  }
  .hero-v2__copy{
    padding-top:clamp(46px,6vh,78px)!important;
    padding-bottom:clamp(46px,6vh,78px)!important;
  }
  .trust-band{
    margin-top:28px!important;
  }
}
@media (min-width:981px) and (max-height:790px){
  .hero-v2{
    min-height:calc(100svh - 98px)!important;
  }
  .hero-v2 h1{
    font-size:clamp(46px,5.2vw,68px)!important;
  }
}
.reveal-on-scroll{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  .reveal-on-scroll{opacity:1;transform:none;transition:none}
}

/* ------------------------------
   HOME · International feature
   ------------------------------ */
@media (min-width:981px){
  .international-feature{
    min-height:min(650px,calc(100svh - 130px))!important;
  }
  .international-feature__image,
  .international-feature__image img{
    min-height:inherit!important;
    height:100%!important;
  }
  .international-feature__copy{
    padding:clamp(48px,6vh,72px) clamp(48px,5vw,78px)!important;
  }
}
.international-feature__copy p{
  max-width:520px!important;
}

/* ------------------------------
   INTERIOR HEROES · let the image breathe
   ------------------------------ */
.page-hero{
  min-height:clamp(390px,42vw,510px)!important;
}
.page-hero:before{
  filter:saturate(.88) contrast(1.01) brightness(1.06)!important;
  transform:scale(1.015)!important;
}
.page-hero:after{
  background:linear-gradient(92deg,rgba(248,247,243,.80) 0%,rgba(248,247,243,.62) 44%,rgba(248,247,243,.12) 78%,rgba(248,247,243,.02) 100%)!important;
}
.page-hero--herencias:after,
.page-hero--inheritance:after{
  background:linear-gradient(92deg,rgba(34,49,46,.72) 0%,rgba(34,49,46,.54) 44%,rgba(34,49,46,.12) 78%,rgba(34,49,46,.02) 100%)!important;
}
.page-hero--gestoria:after,
.page-hero--advisory:after{
  background:linear-gradient(92deg,rgba(225,242,236,.78) 0%,rgba(225,242,236,.54) 46%,rgba(225,242,236,.08) 78%,rgba(225,242,236,0) 100%)!important;
}
.page-hero--seguros:after,
.page-hero--insurance:after{
  background:linear-gradient(92deg,rgba(246,240,228,.84) 0%,rgba(246,240,228,.58) 46%,rgba(246,240,228,.09) 78%,rgba(246,240,228,0) 100%)!important;
}
.page-hero--nosotros:after,
.page-hero--about:after,
.page-hero--contacto:after,
.page-hero--contact:after{
  background:linear-gradient(92deg,rgba(248,247,243,.88) 0%,rgba(248,247,243,.63) 50%,rgba(248,247,243,.10) 80%,rgba(248,247,243,0) 100%)!important;
}
.page-hero h1{max-width:690px!important}
.page-hero p{max-width:640px!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:#243a35!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:#38504a!important;
}

/* ------------------------------
   SERVICE CARDS · icon-led blocks
   ------------------------------ */
:is(.entry-v2--gestoria,.entry-v2--advisory,.entry-v2--herencias,.entry-v2--inheritance,.entry-v2--seguros,.entry-v2--insurance) .wp-block-columns>.wp-block-column{
  position:relative;
  padding-top:58px!important;
}
:is(.entry-v2--gestoria,.entry-v2--advisory,.entry-v2--herencias,.entry-v2--inheritance,.entry-v2--seguros,.entry-v2--insurance) .wp-block-columns>.wp-block-column:before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:38px;
  height:38px;
  background:#477f72;
  -webkit-mask:var(--cu-card-icon) center/contain no-repeat;
  mask:var(--cu-card-icon) center/contain no-repeat;
}
.entry-v2--gestoria .wp-block-columns>.wp-block-column:nth-child(1),
.entry-v2--advisory .wp-block-columns>.wp-block-column:nth-child(1){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 6h16M7 3v6m10-6v6M5 10h14v10H5zM8 14h3m2 0h3m-8 3h3'/%3E%3C/svg%3E");
}
.entry-v2--gestoria .wp-block-columns>.wp-block-column:nth-child(2),
.entry-v2--advisory .wp-block-columns>.wp-block-column:nth-child(2){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 20h16M6 20V8l6-4 6 4v12M9 11h2m2 0h2M9 15h2m2 0h2'/%3E%3C/svg%3E");
}
.entry-v2--gestoria .wp-block-columns>.wp-block-column:nth-child(3),
.entry-v2--advisory .wp-block-columns>.wp-block-column:nth-child(3){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M5 4h14v16H5zM8 8h8M8 12h5M8 16h7'/%3E%3C/svg%3E");
}
.entry-v2--herencias .wp-block-columns>.wp-block-column:nth-child(1),
.entry-v2--inheritance .wp-block-columns>.wp-block-column:nth-child(1){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6 3h9l3 3v15H6zM15 3v4h4M9 11h6m-6 4h6'/%3E%3C/svg%3E");
}
.entry-v2--herencias .wp-block-columns>.wp-block-column:nth-child(2),
.entry-v2--inheritance .wp-block-columns>.wp-block-column:nth-child(2){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M12 3v18M5 7h14M7 7l-3 6h6L7 7zm10 0-3 6h6l-3-6z'/%3E%3C/svg%3E");
}
.entry-v2--herencias .wp-block-columns>.wp-block-column:nth-child(3),
.entry-v2--inheritance .wp-block-columns>.wp-block-column:nth-child(3){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 12a8 8 0 1 0 3-6.2M4 4v5h5M9 12l2 2 4-5'/%3E%3C/svg%3E");
}
.entry-v2--seguros .wp-block-columns>.wp-block-column:nth-child(1),
.entry-v2--insurance .wp-block-columns>.wp-block-column:nth-child(1){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 11 12 4l9 7M5 10v10h14V10M9 20v-6h6v6'/%3E%3C/svg%3E");
}
.entry-v2--seguros .wp-block-columns>.wp-block-column:nth-child(2),
.entry-v2--insurance .wp-block-columns>.wp-block-column:nth-child(2){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 15l2-5h12l2 5v4h-2v2h-2v-2H8v2H6v-2H4zM7 15h.01M17 15h.01'/%3E%3C/svg%3E");
}
.entry-v2--seguros .wp-block-columns>.wp-block-column:nth-child(3),
.entry-v2--insurance .wp-block-columns>.wp-block-column:nth-child(3){
  --cu-card-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 20h16V8H4zM8 8V5h8v3M8 12h8m-8 4h5'/%3E%3C/svg%3E");
}

/* ------------------------------
   SEO-friendly typical situations, not fabricated testimonials
   ------------------------------ */
.service-cases{
  margin:78px 0 16px;
  padding:38px 0 6px;
  border-top:1px solid rgba(46,59,58,.12);
}
.service-cases__head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin-bottom:24px;
}
.service-cases__head h2{margin:8px 0 0!important}
.service-cases__controls{display:flex;gap:8px}
.service-cases__controls button{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(46,59,58,.14);
  background:#fff;color:#2e3b3a;font-size:24px;cursor:pointer;
}
.service-cases__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(280px,calc((100% - 32px)/3));
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:2px 2px 16px;
}
.service-cases__track::-webkit-scrollbar{display:none}
.service-case{
  scroll-snap-align:start;
  min-height:210px;
  padding:26px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(46,59,58,.10);
  box-shadow:0 16px 40px rgba(38,56,51,.06);
}
.service-case small{
  display:block;
  color:#5f8f83;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.service-case strong{
  display:block;
  margin:14px 0 10px;
  font-size:20px;
  line-height:1.25;
}
.service-case p{margin:0!important;font-size:16px!important;line-height:1.55!important}

/* ------------------------------
   INSURANCE · reduce visual dominance
   ------------------------------ */
.insurance-broker{
  margin:46px 0 58px!important;
  padding:34px!important;
}
.insurance-broker__head{
  gap:28px!important;
}
.insurance-broker__cloud{
  width:min(100%,720px)!important;
  margin:22px auto 0!important;
}
.insurance-broker__cloud picture img{
  width:100%!important;
  height:auto!important;
}
.insurance-broker__count{
  font-size:12px!important;
  padding:9px 13px!important;
}

/* ------------------------------
   INTERNATIONAL · tighter hero and cleaner flow
   ------------------------------ */
@media (min-width:1001px){
  .int-hero{
    min-height:min(610px,calc(100svh - 154px))!important;
  }
  .int-hero__copy{
    padding:clamp(38px,5vh,58px) clamp(36px,4.6vw,70px)!important;
  }
  .int-hero h1{
    font-size:clamp(48px,5vw,70px)!important;
    line-height:1.02!important;
  }
}
.int-hero__actions{
  margin-top:28px!important;
}
.int-trust{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:22px!important;
}
.int-trust span{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%;
  padding:8px 11px!important;
  border:1px solid rgba(46,59,58,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.54)!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.int-image-note{
  top:50%!important;
  right:28px!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  max-width:240px!important;
}
.gvo-band{
  margin-top:30px!important;
}
.int-insurers{
  margin-top:58px!important;
  margin-bottom:72px!important;
}
.int-insurers .insurer-cloud{
  width:min(100%,700px)!important;
  margin-inline:auto!important;
}
.int-insurers .insurer-cloud__picture img{
  width:100%!important;
  height:auto!important;
}
.int-topics{
  margin-top:54px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.int-topic{
  display:block!important;
  padding:0!important;
  border:1px solid rgba(46,59,58,.11)!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.int-topic summary{
  list-style:none;
  cursor:pointer;
  padding:22px 22px 18px;
}
.int-topic summary::-webkit-details-marker{display:none}
.int-topic summary>span{
  display:block;
  margin-bottom:8px;
  color:#6b948a;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
}
.int-topic summary>strong{
  display:block;
  font-size:20px;
}
.int-topic summary:after{
  content:"+";
  float:right;
  margin-top:-25px;
  color:#6b948a;
  font-size:22px;
}
.int-topic[open] summary:after{content:"−"}
.int-topic>p{
  margin:0!important;
  padding:0 22px 22px!important;
  color:#52635e!important;
  font-size:16px!important;
  line-height:1.6!important;
}
.int-guidance{
  min-height:min(650px,calc(100svh - 130px))!important;
}
.int-process{
  padding-top:92px!important;
}
.int-process>h2{
  margin-bottom:34px!important;
}
.int-process .process-grid{
  margin-top:0!important;
}

/* ------------------------------
   AUDIT · clearer information architecture
   ------------------------------ */
.audit-body{padding-bottom:110px!important}
.audit-v2__hero p{max-width:840px!important}
.audit-intro-map{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:28px 0 70px;
}
.audit-intro-map__item{
  padding:24px;
  border:1px solid rgba(46,59,58,.10);
  border-radius:18px;
  background:#fff;
}
.audit-intro-map__item span{
  display:block;
  margin-bottom:8px;
  color:#729489;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.audit-intro-map__item strong{font-size:18px;line-height:1.3}
.audit-section{
  margin:0 0 78px;
}
.audit-section__head{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:44px;
  align-items:start;
  margin-bottom:28px;
}
.audit-section__head .eyebrow{margin-top:4px}
.audit-section__head h2{
  margin:8px 0 0!important;
}
.audit-section__head>p{
  margin:0!important;
  color:#5e6f69;
  font-size:17px;
  line-height:1.65;
}
.audit-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.audit-summary-card{
  min-height:230px;
  padding:28px;
  border-radius:22px;
  border:1px solid rgba(46,59,58,.10);
  background:#fff;
}
.audit-summary-card.is-technical{background:#eef5f2}
.audit-summary-card.is-content{background:#f5efe5}
.audit-summary-card.is-commercial{background:#f7ece8}
.audit-summary-card span{
  display:block;
  margin-bottom:14px;
  font-size:11px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.audit-summary-card h3{margin:0 0 12px!important}
.audit-summary-card p{margin:0!important;color:#53645f;line-height:1.6}
.audit-fact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.audit-fact{
  padding:20px;
  border:1px solid rgba(46,59,58,.10);
  border-radius:16px;
  background:#fff;
}
.audit-fact strong{display:block;font-size:21px}
.audit-fact span{display:block;margin-top:4px;color:#687873;font-size:13px;line-height:1.4}
.audit-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.audit-flow__step{
  position:relative;
  padding:22px;
  border-radius:18px;
  border:1px solid rgba(46,59,58,.10);
  background:#fff;
}
.audit-flow__step:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-20px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf4f1;
  color:#5b8e81;
  font-weight:900;
}
.audit-flow__step b{display:block;margin-bottom:8px}
.audit-flow__step small{color:#687873;line-height:1.45}
.audit-visit-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:18px;
}
.audit-visit-grid .audit-card{
  margin:0!important;
}
.audit-card .audit-small{
  margin-top:22px!important;
  padding-top:18px;
  border-top:1px solid rgba(46,59,58,.10);
}
.audit-compact-table{
  width:100%;
  border-collapse:collapse;
}
.audit-compact-table th,
.audit-compact-table td{
  padding:12px 10px;
  border-bottom:1px solid rgba(46,59,58,.08);
  text-align:left;
  vertical-align:top;
}
.audit-compact-table th{
  width:38%;
  color:#65756f;
  font-size:12px;
  font-weight:800;
}
.audit-domain-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.audit-domain-cloud span{
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(46,59,58,.10);
  background:#f7f7f3;
  font-size:12px;
}
.audit-domain-cloud .is-new{
  border-color:#d8c392;
  background:#f2ead8;
  font-weight:800;
}
.audit-measure-note{
  margin-top:16px;
  color:#66756f;
  font-size:13px;
  line-height:1.55;
}
.audit-question-mail a{
  color:#fff!important;
}
.audit-opening-compare__action{
  width:178px!important;
}
.audit-opening-compare__action button{
  min-height:118px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:18px 16px!important;
}
.audit-opening-compare__action .audit-demo-label{
  display:block;
  line-height:1.25;
}
.audit-opening-compare__action .audit-demo-arrow{
  display:block;
  font-size:22px;
  line-height:1;
}
.audit-opening-compare.is-resetting .audit-demo-ring{
  transition:none!important;
  --p:0!important;
}
.audit-sticky-switch{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:1000;
  display:flex;
  gap:8px;
  padding:8px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 48px rgba(32,48,44,.16);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.audit-sticky-switch a{
  min-width:180px;
  padding:12px 18px;
  border-radius:12px;
  color:#fff!important;
  text-decoration:none;
  text-align:center;
  font-weight:850;
  font-size:13px;
}
.audit-sticky-switch .is-old{background:#b85a51}
.audit-sticky-switch .is-new{background:#2e8b70}

/* ------------------------------
   Responsive
   ------------------------------ */
@media (max-width:900px){
  .need-card{padding:32px!important}
  .need-card p{max-width:100%!important}
  .service-cases__track{grid-auto-columns:minmax(270px,82vw)}
  .int-topic{min-width:0}
  .int-topics{grid-template-columns:1fr!important}
  .int-image-note{
    top:auto!important;
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    transform:none!important;
    max-width:none!important;
  }
  .gvo-band{margin-top:26px!important}
  .audit-section__head,
  .audit-summary-grid,
  .audit-fact-grid,
  .audit-flow,
  .audit-visit-grid,
  .audit-intro-map{
    grid-template-columns:1fr!important;
  }
  .audit-flow__step:not(:last-child):after{
    content:"↓";
    right:auto;
    left:50%;
    top:auto;
    bottom:-20px;
    transform:translateX(-50%);
  }
  .audit-sticky-switch{
    width:calc(100% - 24px);
    bottom:12px;
  }
  .audit-sticky-switch a{
    flex:1;
    min-width:0;
  }
}
@media (max-width:560px){
  .hero-v2 h1{line-height:1.1!important}
  .hero-v2 h1>span{margin-top:.22em}
  .service-cases__head{align-items:start;flex-direction:column}
  .service-cases__controls{align-self:flex-end}
  .audit-opening-compare__action{width:100%!important}
  .audit-opening-compare__action button{min-height:86px!important}
  .audit-sticky-switch a{padding:11px 9px;font-size:12px}
}
