/* V2.5 — ajustes de composição e viewport */
html,body{max-width:100%;overflow-x:hidden}
main,section{min-width:0}
.discipline-card-show-jumping img{object-position:50% 8%!important}
.discipline-card-dressage img{object-position:50% 42%!important}
.craft-main-detail img{object-position:50% 50%!important}
.craft-main-expanded{background:#111}
.craft-main-expanded img{object-fit:cover!important;object-position:50% 50%!important}
.craft-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.craft-grid>*{min-width:0}
.craft-small,.craft-small img{min-width:0;max-width:100%}
.craft-main figcaption{font-size:8px;padding:10px 13px;letter-spacing:.12em}
.craft-note>p{font-size:15px;line-height:1.45}
.hero h1,.section-intro h2,.atelier-copy h2,.split-copy h2,.craft-heading h2,.fit-content h2,.final-copy h2{
  letter-spacing:-.025em;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

/* Alternating editorial rhythm: Atelier, ambassador story and performance. */
@media (min-width:901px){
  .performance-section{grid-template-columns:minmax(0,44%) minmax(0,56%)}
  .performance-section .split-copy{order:1}
  .performance-section .split-image{order:2}
}

/* Until the payment and shipping marks are added, keep the complete footer
   lockup deliberately centered instead of leaving an empty visual column. */
.site-footer{
  justify-content:center;
  flex-direction:column;
  gap:18px;
  text-align:center;
}
.site-footer>div{
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}

/* Keep the compact authority metrics visually balanced on phones. */
@media (max-width:600px){
  .authority-numbers article,
  .authority-numbers article+article{
    align-items:center;
    padding-right:8px;
    padding-left:8px;
    text-align:center;
  }

  /* Restore the approved mobile editorial order: image first, copy and
     packaging underneath. */
  .craft-grid{
    grid-template-columns:1fr!important;
    gap:16px;
  }
  .craft-note{min-height:0!important}

  .site-footer,
  .site-footer>div{
    align-items:center!important;
    text-align:center;
  }
  .site-footer{justify-content:center}
}

@media (max-width:900px){
  .discipline-card-dressage img{object-position:50% 53%!important}
}
.hero-content{top:clamp(145px,19vh,220px);bottom:auto;max-width:min(980px,88vw)}
.hero h1{font-size:clamp(50px,6.8vw,108px);line-height:.91}

@media (min-width:901px){
  .discipline-section,.atelier-section,.split-story,.craft-section,.fit-section,.process-section{
    min-height:calc(100svh - 72px);
  }
  .discipline-section{padding-top:clamp(68px,9vh,112px);padding-bottom:clamp(68px,9vh,112px)}
  .discipline-card{height:min(57vh,620px)}
  .atelier-section{min-height:calc(100svh - 72px);grid-template-columns:minmax(0,44%) minmax(0,56%)}
  .atelier-copy{padding-top:clamp(64px,8vh,104px);padding-bottom:clamp(64px,8vh,104px)}
  .atelier-copy h2{font-size:clamp(42px,4.35vw,70px);max-width:100%}
  .viewer-wrap{min-height:calc(100svh - 72px)}
  .split-story{min-height:calc(100svh - 72px);grid-template-columns:minmax(0,56%) minmax(0,44%)}
  .split-copy{padding-top:clamp(58px,7vh,92px);padding-bottom:clamp(58px,7vh,92px);min-width:0}
  .split-copy h2{font-size:clamp(39px,4vw,65px);line-height:.94;max-width:100%}
  .split-image{min-height:0}.split-image img{height:100%;max-height:calc(100svh - 72px)}
  .craft-section{padding-top:clamp(62px,8vh,100px);padding-bottom:clamp(62px,8vh,100px)}
  .craft-heading{margin-bottom:clamp(32px,5vh,52px);gap:40px}
  .craft-heading h2{font-size:clamp(42px,4.8vw,74px);line-height:.94;max-width:min(920px,75vw)}
  .craft-main{min-height:0;height:min(58vh,560px)}
  .craft-note{height:min(58vh,560px);overflow:auto}
  .fit-section{min-height:calc(100svh - 72px)}
  .fit-content{padding-top:clamp(76px,9vh,118px);padding-bottom:clamp(76px,9vh,118px)}
  .fit-content h2{font-size:clamp(44px,5vw,78px)}
  .process-section{padding-top:clamp(70px,8vh,105px);padding-bottom:clamp(70px,8vh,105px)}
}

@media (max-height:799px) and (min-width:901px){
  .hero{min-height:620px}
  .hero-content{top:132px}.hero h1{font-size:clamp(46px,6.2vw,84px)}
  .quiet-list{margin:24px 0 25px}.quiet-list li{padding:11px 0}
  .feature-lines{margin-top:28px}.feature-lines>div{padding:12px 0}
  .craft-section{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr);
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  .craft-heading{margin-bottom:20px!important}
  .craft-heading h2{font-size:clamp(38px,3.7vw,54px)!important}
  .craft-grid{height:auto;min-height:0}
  .craft-main{height:100%!important;min-height:0!important;aspect-ratio:auto!important}
  .craft-note{height:100%!important;min-height:0!important;padding:26px}
  .craft-note>p{font-size:15px}
  .craft-small img{max-height:29vh!important;margin-bottom:12px}
  .fit-options{margin-top:30px}.fit-options>div{padding:24px}.fit-options h3{margin-top:22px}
}

@media (max-width:900px){
  .hero-content{top:auto;bottom:10vh;max-width:calc(100vw - 48px)}
  .hero h1{font-size:clamp(46px,13vw,76px);line-height:.92}
  .atelier-section,.split-story{grid-template-columns:1fr}
  .viewer-wrap{min-height:72svh}
  .split-image{height:68svh}
  .craft-heading{display:block}.craft-heading h2{font-size:clamp(42px,12vw,68px)}
}

/* V2.6 — correções de composição reportadas em 10/07 */
@media (min-width:1051px){
  .discipline-section{
    height:auto!important;
    min-height:100svh!important;
    display:flex!important;
    flex-direction:column;
    padding-top:clamp(92px,10vh,118px)!important;
    padding-bottom:clamp(72px,8vh,96px)!important;
    overflow:visible;
  }
  .discipline-section .section-intro{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    align-items:start;
    margin-bottom:clamp(30px,4.5vh,48px)!important;
  }
  .discipline-section .section-intro .kicker{margin-bottom:0}
  .discipline-section .section-intro h2{
    max-width:980px;
    font-size:clamp(52px,5.2vw,86px);
    line-height:.94;
  }
  .discipline-section .section-intro>p:last-child{
    justify-self:start;
    max-width:650px;
    margin:0;
  }
  .discipline-grid{
    flex:1 1 auto;
    min-height:430px!important;
    max-height:560px;
    height:auto!important;
  }
  .discipline-card{
    height:auto!important;
    min-height:430px!important;
    max-height:560px;
  }

  .atelier-section{
    height:auto!important;
    min-height:calc(100svh - 72px)!important;
    overflow:hidden;
    align-items:stretch;
  }
  .atelier-copy{
    min-height:calc(100svh - 72px);
    padding-top:clamp(72px,9vh,100px)!important;
    padding-bottom:clamp(58px,7vh,82px)!important;
    justify-content:center;
  }
  .atelier-copy h2{
    font-size:clamp(40px,3.85vw,66px)!important;
    line-height:.98!important;
    max-width:560px!important;
  }
  .viewer-wrap{min-height:calc(100svh - 72px)!important}

  .split-story{
    height:auto!important;
    min-height:calc(100svh - 72px)!important;
    overflow:hidden;
  }
  .split-copy h2{
    font-size:clamp(40px,3.25vw,59px)!important;
    line-height:.98!important;
    max-width:620px;
  }
  .split-copy{padding-left:clamp(46px,6vw,112px);padding-right:clamp(46px,6vw,112px)}
  .split-image img{max-height:none!important}

  .craft-section{
    height:auto!important;
    min-height:calc(100svh - 72px)!important;
    display:block!important;
    overflow:visible;
  }
  .craft-heading{
    display:grid;
    grid-template-columns:minmax(130px,.38fr) minmax(0,1fr);
    gap:44px;
    align-items:end;
  }
  .craft-heading h2{
    font-size:clamp(42px,4.2vw,68px)!important;
    max-width:840px!important;
  }
  .craft-grid{align-items:stretch;min-height:0}
  .craft-main{height:auto!important;min-height:520px!important;aspect-ratio:1.58/1}
  .craft-note{
    height:auto!important;
    min-height:520px;
    overflow:visible!important;
    padding:clamp(28px,2.5vw,40px);
  }
  .craft-note>p{font-size:clamp(15px,1.05vw,18px);line-height:1.45}
  .craft-small img{max-height:none!important;aspect-ratio:4/3}
}

/* Compact laptops (including 13-inch MacBooks) keep the approved composition
   but scale typography and safe areas instead of letting copy cover the rider. */
@media (min-width:1051px) and (max-width:1365px) and (hover:hover) and (pointer:fine){
  .site-header{grid-template-columns:190px 1fr auto;padding-right:2.6vw;padding-left:2.6vw}
  .brand img{width:166px}
  .main-nav{gap:22px;font-size:8.5px}
  .nav-tools{gap:6px}
  .hero-content{
    top:clamp(118px,14vh,144px);
    right:clamp(28px,3.2vw,46px);
    width:min(535px,40vw);
  }
  .hero h1{max-width:535px;font-size:clamp(42px,4vw,55px);line-height:.94}
  .hero-lead{max-width:485px;font-size:12.5px;line-height:1.5}
  .hero-actions{gap:16px;margin-top:clamp(28px,4vh,38px)}
  .discipline-section{padding-top:clamp(48px,6vh,64px);padding-bottom:clamp(42px,5vh,58px)}
  .discipline-section .section-intro{margin-bottom:clamp(20px,3vh,30px)}
  .discipline-card-dressage img{object-position:50% 34%!important}
}

@media (min-width:1051px) and (max-height:899px) and (hover:hover) and (pointer:fine){
  .site-header{height:76px}
  .hero-content{top:clamp(100px,13vh,124px)}
  .hero-actions{margin-top:24px}
  .discipline-section .section-intro h2{font-size:clamp(42px,4.6vw,62px)}
  .discipline-grid{max-height:460px}
  .discipline-card{min-height:350px!important;max-height:460px}
  .performance-section .split-copy{
    padding-top:32px;
    padding-bottom:32px;
  }
  .performance-section .split-copy h2{margin-bottom:18px}
  .performance-section .feature-lines{margin-top:18px}
  .performance-section .feature-lines>div{padding:9px 0}
}

@media (max-width:1250px) and (min-width:1051px){
  .discipline-grid{max-height:510px}
  .discipline-card{min-height:390px!important;max-height:510px}
  .atelier-copy h2{font-size:clamp(38px,3.7vw,56px)!important}
  .split-copy h2{font-size:clamp(38px,3vw,52px)!important}
  .craft-heading h2{font-size:clamp(39px,3.8vw,60px)!important}
}

@media (max-width:1050px){
  .discipline-section .section-intro{grid-template-columns:1fr;gap:18px}
  .discipline-section .section-intro>p:last-child{justify-self:start}
  .craft-note{overflow:visible!important;height:auto!important}
}

/* Tablet portrait: keep the ambassador video and quote in the natural flow. */
@media (min-width:601px) and (max-width:900px){
  .signature-story{height:auto!important;min-height:0!important}
  .signature-story .signature-image{
    height:min(64svh,700px)!important;
    min-height:520px!important;
  }
}

/* Mobile: the quote must remain in normal flow instead of overflowing a desktop-height panel. */
@media (max-width:600px){
  .hero>img{object-position:21% 43%!important}

  .atelier-copy{
    min-height:0!important;
    padding-top:48px!important;
    padding-bottom:38px!important;
  }

  .atelier-copy h2{
    margin-bottom:20px!important;
    font-size:clamp(38px,11vw,46px)!important;
  }

  .atelier-copy>p:not(.kicker){
    margin-bottom:24px;
    font-size:13px!important;
    line-height:1.6!important;
  }

  .atelier-copy .quiet-list{
    display:none;
  }

  .viewer-wrap{
    min-height:0!important;
    height:clamp(540px,72svh,650px)!important;
    touch-action:pan-y!important;
  }

  .viewer-wrap iframe{
    pointer-events:none!important;
    touch-action:pan-y!important;
  }

  .viewer-wrap::after{
    content:"";
    position:absolute;
    z-index:10;
    inset:0;
    background:transparent;
    pointer-events:auto;
    touch-action:pan-y;
  }

  .viewer-wrap:has(.viewer-error.is-visible)::after{
    pointer-events:none;
  }

  .signature-story{
    height:auto!important;
    min-height:0!important;
  }

  .signature-story .signature-quote{
    order:1;
    padding-top:56px!important;
    padding-bottom:56px!important;
  }

  .signature-story .signature-quote blockquote{
    font-size:clamp(27px,7.5vw,31px)!important;
    line-height:1.22!important;
  }

  .signature-story .signature-image{
    order:2;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/5;
  }

  .signature-story .signature-image .home-story-video{
    object-fit:cover!important;
    object-position:center!important;
  }

  .performance-section .split-copy{
    order:1;
    padding-top:56px!important;
    padding-bottom:56px!important;
  }

  .performance-section .split-image{
    order:2;
    height:52svh!important;
    min-height:400px!important;
  }

  .performance-section .feature-lines{
    margin-top:28px;
  }

  .performance-section .feature-lines>div{
    padding:12px 0;
  }

  .craft-section{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }

  .craft-heading{
    margin-bottom:36px!important;
  }

  .craft-main{
    min-height:440px!important;
  }

  .craft-note{
    gap:30px!important;
    padding:22px!important;
  }

  .fit-content{
    padding-top:72px!important;
    padding-bottom:72px!important;
  }
}

/* Small-phone typography and captions must fit without relying on horizontal clipping. */
@media (max-width:430px){
  .performance-section .split-copy h2,
  .final-cta .final-copy h2{
    line-height:.98!important;
  }

  .performance-section .split-copy h2{
    font-size:clamp(30px,8.5vw,36px)!important;
  }

  .final-cta .final-copy h2{
    font-size:clamp(28px,8vw,34px)!important;
  }

  .craft-main figcaption{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
    padding:9px 10px;
    font-size:7px;
    line-height:1.35;
    letter-spacing:.08em;
    white-space:normal;
  }

  .instagram-section .carousel-heading{
    display:block;
  }

  .instagram-section .carousel-heading h2{
    max-width:100%;
    font-size:clamp(24px,7.5vw,31px)!important;
    overflow-wrap:anywhere;
  }

  .instagram-section .carousel-controls{
    margin-top:18px;
  }
}

@media (max-width:350px){
  .hero h1{
    font-size:clamp(38px,13vw,42px)!important;
    line-height:.98!important;
  }
}

/* Compact, crawlable service and FAQ block. The concierge remains the primary
   interactive help channel; these answers expose essential purchase terms. */
.service-faq-section{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
  gap:clamp(42px,6vw,110px);
  align-content:center;
  background:#f3f1ed;
  color:#151515;
}
.service-faq-intro h2{
  max-width:720px;
  margin:14px 0 22px;
  font-size:clamp(40px,4.5vw,72px);
  line-height:.94;
  letter-spacing:-.045em;
}
.service-faq-intro>p:last-child{max-width:610px;line-height:1.65;color:#5e5c58}
.service-promises{
  grid-column:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:-24px;
  border:1px solid #d8d4ce;
  background:#d8d4ce;
}
.service-promises article{display:flex;min-height:132px;flex-direction:column;justify-content:space-between;padding:20px;background:#f8f7f4}
.service-promises strong{font-size:clamp(26px,2.5vw,42px);line-height:1}
.service-promises span{font-size:10px;line-height:1.45;letter-spacing:.12em;text-transform:uppercase}
.service-promises article[hidden]{display:none}
.service-promises:has(.br-installment-promise:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
.faq-list{grid-column:2;grid-row:1/span 2;border-top:1px solid #c9c5be}
.faq-list details{border-bottom:1px solid #c9c5be}
.faq-list summary{
  position:relative;
  padding:19px 52px 19px 0;
  list-style:none;
  cursor:pointer;
  font-size:clamp(15px,1.2vw,19px);
  font-weight:650;
  line-height:1.35;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before,.faq-list summary::after{content:"";position:absolute;top:50%;right:8px;width:16px;height:1px;background:#151515;transition:transform .2s ease}
.faq-list summary::after{transform:rotate(90deg)}
.faq-list details[open] summary::after{transform:rotate(0)}
.faq-list details p{max-width:760px;margin:-4px 48px 20px 0;color:#5e5c58;font-size:13px;line-height:1.65}

@media (max-width:900px){
  .service-faq-section{display:block;padding-top:72px;padding-bottom:72px}
  .service-faq-intro h2{font-size:clamp(34px,9vw,52px)}
  .service-promises{margin:36px 0 44px}
  .service-promises article{min-height:112px;padding:16px}
  .faq-list summary{padding-top:18px;padding-bottom:18px}
}
@media (max-width:520px){
  .service-promises{grid-template-columns:1fr}
  .service-promises article{min-height:88px}
}

/* Tablet landscape: fit all fabric properties before the next editorial panel. */
@media (min-width:901px) and (max-width:1050px){
  .performance-section .split-copy{
    padding-top:26px;
    padding-bottom:26px;
  }
  .performance-section .split-copy h2{margin-bottom:14px}
  .performance-section .feature-lines{margin-top:14px}
  .performance-section .feature-lines>div{padding:7px 0}
}

@media (min-width:901px){
  .performance-section{grid-template-columns:minmax(0,44%) minmax(0,56%)!important}
  .performance-section .split-copy{order:1}
  .performance-section .split-image{order:2}
}

/* Keep the three consecutive editorial panels on one shared desktop rhythm. */
@media (min-width:901px){
  .atelier-section,
  .signature-story,
  .performance-section{
    height:clamp(720px,calc(100svh - 72px),900px);
    min-height:0;
  }
  .atelier-section .viewer-wrap,
  .signature-story .signature-image,
  .performance-section .split-image{
    height:100%;
    min-height:0;
  }
  .performance-section .split-image img{
    height:100%;
    max-height:none;
  }
}

/* Desktop hero: use the open sky while keeping the campaign subject unobstructed. */
@media (min-width:901px){
  .hero .hero-shade{
    background:
      linear-gradient(270deg,rgba(8,10,10,.58) 0,rgba(8,10,10,.27) 34%,rgba(8,10,10,.05) 58%,rgba(8,10,10,.16) 100%),
      linear-gradient(0deg,rgba(8,10,10,.28),transparent 48%);
  }
  .hero-content{
    right:clamp(44px,5vw,96px);
    left:auto;
    top:clamp(126px,15vh,168px);
    width:min(660px,38vw);
    max-width:none;
    text-align:left;
    transform:none;
  }
  .hero h1{
    max-width:640px;
    font-size:clamp(48px,4.35vw,72px);
    line-height:.92;
  }
  .hero-lead{max-width:540px;margin-right:0;margin-left:0;font-size:14px;line-height:1.55}
  .hero-actions{justify-content:flex-start;gap:20px;margin-top:48px}
}

/* Center the authority introduction against the taller statistics panel. */
@media (min-width:901px){
  .authority-strip{align-items:center}
  .authority-intro,.authority-numbers{align-self:center}
  .authority-numbers article,
  .authority-numbers article+article{
    align-items:center;
    padding-right:18px;
    padding-left:18px;
    text-align:center;
  }
}

/* Desktop editorial paging: each wheel gesture settles on the next panel. */
@media (min-width:1051px){
  html{
    scroll-snap-type:none;
    scroll-padding-top:0;
  }
  main>section{
    position:relative!important;
    top:auto;
    box-shadow:none;
  }
  .hero,
  .discipline-section,
  .atelier-section,
  .signature-story,
  .performance-section,
  .craft-section,
  .fit-section,
  .process-section,
  .community-section,
  .voices-section,
  .instagram-section,
  .service-faq-section,
  .final-cta{
    height:100svh!important;
    min-height:0!important;
    max-height:none!important;
  }

  .discipline-section,
  .craft-section,
  .process-section,
  .community-section,
  .voices-section,
  .instagram-section{
    overflow:hidden;
  }

  .service-faq-section{overflow:hidden}

  .community-section{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:clamp(52px,6vh,68px);
    padding-bottom:clamp(52px,6vh,68px);
  }
  .community-section .section-intro{
    display:block;
    width:100%;
    max-width:980px;
    margin-bottom:24px;
  }
  .community-section .section-intro h2{
    max-width:980px;
    margin-top:8px;
    margin-bottom:14px;
    font-size:clamp(48px,4.5vw,66px);
  }
  .community-section .section-intro>p:last-child{
    margin:0;
  }
  .community-section .community-grid{
    margin-top:12px;
    margin-bottom:22px;
  }
}
