.sec-head{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;
  align-items:end;
  padding-bottom:2.5rem;margin-bottom:2.5rem;
  border-bottom:1px solid var(--line);
}
.sec-head .kicker{margin-bottom:1rem;}
.sec-head .lead{font-size:1rem;}
@media(max-width:860px){
  .sec-head{grid-template-columns:1fr;gap:1rem;align-items:start;padding-bottom:1.75rem;margin-bottom:2rem;}
}

.hero{border-bottom:1px solid var(--line);}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0 4rem;align-items:center;
  padding-top:4.5rem;padding-bottom:4.5rem;
}
.hero-text .kicker{margin-bottom:1.5rem;}
.hero-text h1{max-width:20ch;margin-bottom:1.5rem;}
.hero-text .lead{max-width:34rem;}
.hero-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2.25rem;}

.hero-photo{position:relative;margin:0;}
.hero-photo img{
  width:100%;height:auto;aspect-ratio:1200/750;
  object-fit:cover;display:block;
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem;padding-top:2.5rem;padding-bottom:2.5rem;}
  .hero-text h1{max-width:none;}
}

.hero-band{border-top:1px solid var(--line);background:var(--paper);}
.commitments{
  display:grid;grid-template-columns:repeat(3,1fr);
  padding-top:0;padding-bottom:0;
}
.commitments>div{
  padding:2.25rem 2rem 2.25rem 0;
  border-right:1px solid var(--line);
}
.commitments>div+div{padding-left:2rem;}
.commitments>div:last-child{border-right:0;padding-right:0;}
.commitments dt{
  font-size:clamp(1.15rem,1.6vw,1.375rem);font-weight:600;
  line-height:1.3;letter-spacing:-.015em;color:var(--ink);
  margin-bottom:.5rem;
}
.commitments dd{margin:0;font-size:.9375rem;line-height:1.6;color:var(--ink-2);}
@media(max-width:860px){
  .commitments{grid-template-columns:1fr;}
  .commitments>div,.commitments>div+div{
    padding:1.375rem 0;border-right:0;border-bottom:1px solid var(--line);
  }
  .commitments>div:last-child{border-bottom:0;}
}

/* The whole card is the link and the arrow is a span: a link inside a link does not exist in HTML. */
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.card{background:#fff;min-width:0;}
.sec-tint .card{background:var(--paper);}
.sec-tint .cards-3,.sec-tint .cards-4{background:var(--line);}
.card-link{
  display:flex;flex-direction:column;height:100%;
  padding:0 1.5rem 1.75rem;text-decoration:none;
}
.cards-text .card-link{padding-top:1.75rem;}
.card-photo{margin:0 -1.5rem 1.5rem;overflow:hidden;background:var(--paper-2);}
.card-photo img{
  width:100%;height:11rem;object-fit:cover;display:block;
  filter:saturate(.82);
  transition:transform .4s cubic-bezier(.22,1,.36,1),filter .4s ease;
}
.card-photo-wide img{height:13rem;}
.card-link:hover .card-photo img{transform:scale(1.04);filter:saturate(1);}
.card-kicker{
  display:block;font-size:.6875rem;font-weight:700;color:var(--ink-3);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:.625rem;
}
.card h3{margin-bottom:.625rem;}
.card-link:hover h3{color:var(--blue);}
.card p{font-size:.875rem;line-height:1.65;color:var(--ink-2);margin-bottom:1rem;}
.card-who{
  display:block;font-size:.8125rem;line-height:1.6;color:var(--ink-2);
  padding-top:1rem;margin-bottom:.5rem;border-top:1px solid var(--line-soft);
}
.card-who b{color:var(--ink-2);font-weight:600;}
.card-meta{display:block;font-size:.78125rem;color:var(--ink-3);margin-bottom:.5rem;}
.card .arrow-link{margin-top:auto;}
.cards-3+.arrow-link,.cards-4+.arrow-link{margin-top:2rem;}

@media(max-width:1100px){
  .cards-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .cards-3{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .cards-4,.cards-3{grid-template-columns:1fr;}
  .card-photo img,.card-photo-wide img{height:12rem;}
}

.sec-head:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0;}

.stages{list-style:none;margin:0;padding:0;}
.stage{
  display:grid;grid-template-columns:18rem 1fr;gap:2.5rem;
  padding:2.5rem 0;border-bottom:1px solid var(--line);
}
.stage:first-child{padding-top:0;}
.stage:last-child{border-bottom:0;padding-bottom:0;}

.stage-icon{
  display:flex;align-items:center;justify-content:center;
  width:3rem;height:3rem;margin-bottom:1.25rem;
  background:#fff;border:1px solid var(--line);
  color:var(--blue);
}
.stage-icon svg{
  width:1.5rem;height:1.5rem;display:block;
  fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
}
.stage-text>p{font-size:.9375rem;line-height:1.7;color:var(--ink-2);max-width:44rem;}
.stage-keeps{
  font-size:.6875rem!important;font-weight:700;color:var(--ink-3);
  letter-spacing:.12em;text-transform:uppercase;
  margin:1.25rem 0 .5rem;
}
.stage-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;}
.stage-list li{
  font-size:.875rem;line-height:1.6;color:var(--ink-2);
  padding-left:1.125rem;position:relative;
}
.stage-list li::before{
  content:'';position:absolute;left:0;top:.6875rem;
  width:.5rem;height:1px;background:var(--blue);
}
@media(max-width:860px){
  .stage{grid-template-columns:1fr;gap:1.25rem;padding:2rem 0;}
  .stage-icon{width:2.5rem;height:2.5rem;margin-bottom:.875rem;}
  .stage-icon svg{width:1.25rem;height:1.25rem;}
}

#empresa .sec-head{align-items:start;}
#empresa .lead+.lead{margin-top:1rem;}
.company-links{display:flex;gap:.75rem 2rem;flex-wrap:wrap;margin-top:1.5rem;}

.diag-band{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;align-items:start;}
.diag-band .kicker{margin-bottom:1rem;}
.diag-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.75rem;}
.diag-caveat{font-size:.8125rem;color:var(--ink-3);}
@media(max-width:900px){
  .diag-band{grid-template-columns:1fr;gap:1rem;}
}

.faq-grid{display:grid;grid-template-columns:20rem 1fr;gap:4rem;align-items:start;}
.faq-head{position:sticky;top:calc(var(--nav-h) + 2rem);}
.faq-head .kicker{margin-bottom:1.25rem;}
.faq-head h2{margin-bottom:1rem;}
.faq-head .lead{font-size:.9375rem;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item>summary{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding:1.25rem 0;cursor:pointer;list-style:none;
  font-size:1rem;font-weight:600;color:var(--ink);line-height:1.45;
  letter-spacing:-.012em;
}
.faq-item>summary::-webkit-details-marker{display:none;}
.faq-item>summary::after{
  content:'';flex-shrink:0;width:.875rem;height:.875rem;margin-top:.3125rem;
  background:var(--ink-3);
  -webkit-mask:var(--plus-icon) center/contain no-repeat;
  mask:var(--plus-icon) center/contain no-repeat;
  transition:transform .2s,background .2s;
}
:root{--plus-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.25 1h1.5v6.25H15v1.5H8.75V15h-1.5V8.75H1v-1.5h6.25z'/%3E%3C/svg%3E");}
.faq-item>summary:hover{color:var(--blue);}
.faq-item>summary:hover::after{background:var(--blue);}
.faq-item[open]>summary::after{transform:rotate(45deg);}
.faq-item[open]>summary{color:var(--blue);}
.faq-content{padding:0 3rem 1.5rem 0;}
.faq-content p{font-size:.9375rem;line-height:1.75;color:var(--ink-2);}
@media(max-width:900px){
  .faq-grid{grid-template-columns:1fr;gap:2rem;}
  .faq-head{position:static;}
  .faq-content{padding-right:1.5rem;}
}

.cta-final{
  position:relative;overflow:hidden;
  padding:6rem 0;text-align:center;background:var(--navy-full);
}
.cta-final video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
  filter:grayscale(1) brightness(.55) contrast(1.05);
}
.cta-veil{position:absolute;inset:0;z-index:1;background:rgba(10,22,40,.72);}
.cta-final-text{position:relative;z-index:2;}
.cta-final-text h2{color:#fff;margin-bottom:1rem;}
.cta-final-text p{color:rgba(255,255,255,.68);font-size:1.0625rem;margin-bottom:2.25rem;}
.cta-final-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
@media(max-width:700px){
  .cta-final{padding:3.5rem 0;}
}

@media(max-width:560px){
  .hero-buttons,.cta-final-actions,.prod-actions{flex-direction:column;align-items:stretch;}
  .hero-buttons .btn,.cta-final-actions .btn,.prod-actions .btn,.diag-actions .btn{width:100%;justify-content:center;text-align:center;}
}

.carousel-counter{display:none;}
@media(max-width:620px){
  [data-carousel]{
    display:flex;gap:.75rem;background:none;
    overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding:0 1.25rem;
    margin:0 -1.25rem;padding:0 1.25rem .25rem;
    scrollbar-width:none;
  }
  [data-carousel]::-webkit-scrollbar{display:none;}
  [data-carousel]:focus-visible{outline:2px solid var(--blue);outline-offset:4px;}
  [data-carousel]>.card{flex:0 0 84%;scroll-snap-align:start;border:1px solid var(--line);}
  /* The reveal is vertical: in the strip, an off-screen card would stay faded. */
  [data-carousel] .rv{opacity:1;transform:none;}
  .carousel-counter{
    display:block;margin:1rem 0 0;text-align:center;
    font-size:.8125rem;font-weight:600;color:var(--ink-3);
    font-variant-numeric:tabular-nums;letter-spacing:.04em;
  }
  .carousel-counter[hidden]{display:none;}

  #insights .cards-3>.card:not(:last-child){display:none;}
  #insights .cards-3>.card:last-child{transition-delay:0s;}
}
