/* Every slide contributes to the same two rows. Transforms never change page height. */
.hero-carousel{--hero-interval:7000ms;padding-top:0}
.hero-carousel .hero-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;overflow:hidden;isolation:isolate;touch-action:pan-y pinch-zoom}
.hero-carousel .hero-slide{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;min-width:0;visibility:hidden;transform:translateX(100%)}
.hero-carousel .hero-slide.is-active{visibility:visible;transform:translateX(0)}
.hero-carousel .hero-slide.is-transitioning{visibility:visible;will-change:transform}
.hero-carousel .hero-heading{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(32px,5vw,72px);height:auto;min-height:0;padding:42px 0 32px}
.hero-carousel .hero-title{align-self:center;max-width:none;min-height:0;margin:0;padding:0;font-family:var(--display);font-weight:800;font-size:clamp(4.5rem,7.5vw,6rem);line-height:.97;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.hero-carousel .hero-title>span{display:block;margin-top:.04em;padding-left:0;color:var(--accent)}
.hero-carousel .hero-title .red-dot{display:inline;color:var(--ink)}
.hero-carousel .hero-intro{align-self:center;max-width:none;margin:0;padding:0}
.hero-carousel .hero-intro>p{min-height:0;max-width:42ch;font-size:clamp(1rem,1.4vw,1.1875rem);line-height:1.7;letter-spacing:-.01em;color:var(--muted);text-wrap:pretty}
.hero-carousel .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;max-width:none;margin-top:24px}
.hero-carousel .hero-actions .button{flex:0 1 auto;width:auto;min-width:0;min-height:56px;padding:13px 17px;gap:10px;border-radius:5px;font-size:.875rem;line-height:1.4}
.hero-carousel .hero-actions .hero-phone-copy>strong{font-size:1rem}
.hero-carousel .hero-actions .button .icon{width:19px;height:19px}
.hero-carousel .hero-actions .button .arrow{display:block;width:16px;height:16px;margin-left:2px}
.hero-carousel .hero-actions .whatsapp-icon{width:23px;height:23px}
.hero-carousel .hero-actions .button-whatsapp{color:#10291a}
.hero-carousel .hero-figure{min-width:0;margin:0}
.hero-carousel .hero-photo-shell{overflow:hidden;border-radius:5px;background:var(--line)}
.hero-carousel .hero-photo{display:block;width:100%;height:clamp(340px,32vw,440px);object-fit:cover;object-position:center;animation:none}
.hero-carousel .photo-caption{left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;background:rgb(23 29 27 / 88%)}
.hero-carousel .photo-caption>span,.hero-carousel .photo-caption>span:last-child{display:block;margin:0;padding:0;background:transparent;color:#fff;font-size:.75rem;line-height:1.5;letter-spacing:.025em}
html[data-theme=dark] .hero-carousel .photo-caption>span:first-child{background:transparent;color:#fff}
.hero-carousel .hero-figure figcaption{display:flex;justify-content:space-between;min-height:26px;margin:0;padding-top:8px;font-size:.6875rem;line-height:1.5;color:var(--muted)}
.hero-carousel .hero-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:16px 0 18px;border-bottom:1px solid var(--line)}
.hero-carousel .hero-controls[hidden]{display:none}
.hero-carousel .hero-selectors{display:flex;flex-direction:row;flex-wrap:wrap;gap:28px}
.hero-carousel .hero-selector{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;min-height:48px;padding:7px 0;border:0;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:700;line-height:1.4;text-align:left}
.hero-carousel .hero-selector[aria-pressed=true]{color:var(--ink)}
.hero-carousel .slide-indicator{position:relative;display:block;width:100%;height:2px;overflow:hidden;background:var(--line)}
.hero-carousel .hero-selector[aria-pressed=true] .slide-indicator{width:100%}
.hero-carousel .slide-indicator:after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.hero-carousel .hero-selector[aria-pressed=true] .slide-indicator:after{transform:scaleX(1)}
.hero-carousel.is-playing .hero-selector[aria-pressed=true] .slide-indicator:after{animation:hero-slide-progress var(--hero-interval) linear both}
.hero-carousel .hero-arrows{display:flex;align-items:center;gap:8px;margin-left:auto}
.hero-carousel .slide-count{display:inline-flex;align-items:baseline;gap:7px;margin-right:16px;font-size:.75rem;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
.hero-carousel .slide-count strong{color:var(--ink);font-size:1rem;font-weight:800}
.hero-carousel .hero-arrows .round-link{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;padding:0;background:transparent;color:var(--ink);transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.hero-carousel .hero-arrows .icon{width:18px;height:18px;stroke-width:1.8}
.hero-carousel a:focus-visible,.hero-carousel button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@keyframes hero-slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(hover:hover){
  .hero-carousel .hero-selector:hover{color:var(--ink)}
  .hero-carousel .hero-arrows .round-link:hover{background:var(--red);border-color:var(--red);color:#fff}
}
@media(max-width:1000px){
  .hero-carousel .hero-heading{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;padding-top:36px}
  .hero-carousel .hero-title{font-size:clamp(3.75rem,8vw,5.25rem)}
  .hero-carousel .hero-actions .button{flex:1 1 165px;justify-content:center;padding-inline:12px}
  .hero-carousel .hero-actions .button .arrow{display:none}
}
@media(max-width:760px){
  .hero-carousel .hero-heading{grid-template-columns:1fr;align-content:start;gap:20px;padding:30px 0 24px}
  .hero-carousel .hero-title{font-size:clamp(3.375rem,10vw,4.5rem)}
  .hero-carousel .hero-intro>p{max-width:56ch;font-size:1rem;line-height:1.65}
  .hero-carousel .hero-actions{margin-top:18px;gap:8px}
  .hero-carousel .hero-actions .button{flex:1 1 145px;min-height:52px;font-size:.8125rem;padding:11px 10px;gap:8px}
  .hero-carousel .hero-actions .hero-phone-copy>strong{font-size:.875rem}
  .hero-carousel .hero-photo{height:clamp(240px,56vw,360px)}
  .hero-carousel .photo-caption{padding:12px 15px;gap:12px}
  .hero-carousel .photo-caption>span,.hero-carousel .photo-caption>span:last-child{font-size:.6875rem;letter-spacing:.01em}
  .hero-carousel .hero-controls{justify-content:center;gap:0;padding:4px 0 10px;border-bottom:0}
  .hero-carousel .hero-selectors{justify-content:center;align-items:center;gap:4px;width:100%}
  .hero-carousel .hero-selector{position:relative;align-items:center;justify-content:center;gap:0;width:44px;height:44px;min-height:44px;padding:0;border-radius:8px}
  .hero-carousel .hero-selector-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .hero-carousel .hero-selector .slide-indicator{width:24px;height:3px;border-radius:3px;background:var(--muted)}
  .hero-carousel .hero-selector[aria-pressed=true] .slide-indicator{width:32px;background:var(--line)}
  .hero-carousel .hero-arrows{display:none}
}
@media(max-width:600px){
  .hero-carousel .hero-heading{gap:18px;padding-top:28px;padding-bottom:23px}
  .hero-carousel .hero-title{font-size:clamp(3.375rem,13.5vw,4rem)}
  .hero-carousel .hero-photo{height:clamp(230px,66vw,300px)}
}
@media(max-width:380px){
  .hero-carousel .hero-title{font-size:3rem}
  .hero-carousel .hero-actions .button{flex-basis:100%}
  .hero-carousel .photo-caption>span:last-child{display:none}
}
@supports not (grid-template-rows:subgrid){
  .hero-carousel .hero-stage{grid-template-rows:auto}
  .hero-carousel .hero-slide{grid-row:1;grid-template-rows:var(--hero-heading-height,auto) auto}
}
@media(prefers-reduced-motion:reduce){
  .hero-carousel .hero-arrows .round-link{transition:none}
  .hero-carousel.is-playing .hero-selector[aria-pressed=true] .slide-indicator:after{animation:none}
}
