/* Rossini 1.7.0: consolidated, responsive hero and title animation layer.
 * Loaded after front.css to neutralise older contradictory hero overrides. */
body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero {
  display:grid!important;
  grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
  grid-template-rows:auto!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  align-items:stretch!important; overflow:hidden!important;
  isolation:isolate; width:100%; box-sizing:border-box;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content {
  position:relative;grid-column:1;grid-row:1;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  height:auto!important;min-height:0!important;max-height:none!important;
  box-sizing:border-box;overflow:hidden;
  padding:clamp(22px,2.4vw,44px) clamp(23px,3.3vw,62px) clamp(88px,6.4vw,115px)!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-media {
  grid-column:2;grid-row:1;position:relative;align-self:stretch;
  width:100%;height:100%!important;min-height:0!important;max-height:none!important;
  overflow:hidden!important;box-sizing:border-box;background:#fff!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-slide {
  position:absolute;inset:0;display:block;width:100%;height:100%!important;
  overflow:hidden;box-sizing:border-box;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-slide img {
  position:absolute;inset:0;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-kicker {display:none!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1 {
  max-width:100%!important;
  font-size:clamp(37px,3.65vw,71px)!important;
  line-height:1.015!important;letter-spacing:-.047em!important;
  margin:0 0 clamp(12px,1.5vw,24px)!important;
  overflow-wrap:normal;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content > p {
  margin:0 0 22px!important;max-width:420px!important;
  font-size:clamp(13px,1.12vw,17px)!important;line-height:1.52!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-actions {margin:0!important;gap:10px}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-actions .rplg-btn {
  white-space:nowrap;min-height:44px;box-sizing:border-box;padding:11px 16px!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-bottom {
  bottom:20px!important;left:clamp(23px,3.3vw,62px)!important;
  right:clamp(23px,3.3vw,62px)!important;margin:0;
}
/* Only the model name in the image uses the oversized thin type. Natural sizing is
 * 110px, with JS reducing it only when the actual model name cannot fit. */
body.rplg-home.rplg-active .rplg-hero .rplg-hero-model {
  position:absolute;z-index:4;top:18px!important;left:clamp(16px,2.3vw,38px)!important;
  bottom:auto!important;right:auto!important;
  display:block;width:max-content;max-width:none!important;
  font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  font-size:110px!important;font-weight:100!important;
  font-synthesis:none;letter-spacing:-.067em!important;line-height:1!important;
  white-space:nowrap!important;overflow:visible;
  text-shadow:0 2px 20px rgba(0,0,0,.28);
  transform:none;opacity:1;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-slide::after {
  inset:0 auto auto 0!important;height:47%!important;width:75%!important;
  background:linear-gradient(135deg,rgba(0,0,0,.21),rgba(0,0,0,.04) 55%,transparent 100%)!important;
}
/* Product label reveal is driven by the precise active slide, not the first frame. */
body.rplg-home.rplg-active .rplg-hero .rplg-hero-model.rplg-letter-title {opacity:1!important;transform:none!important}
/* A compact, split layout is preserved on small screens, with no clipped text. */
@media(max-width:1050px){
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-content{padding:22px 24px 78px!important}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-bottom{left:24px!important;right:24px!important;bottom:16px!important}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1{font-size:clamp(35px,3.8vw,53px)!important}
}
@media(max-width:760px){
 body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{display:flex!important;flex-direction:column!important;height:auto!important}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-media{order:1;height:clamp(215px,53vw,390px)!important;min-height:0!important;flex:none}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-content{order:2;height:auto!important;min-height:0!important;padding:22px 22px 77px!important;overflow:visible}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1{font-size:clamp(38px,8.4vw,64px)!important}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-bottom{left:22px!important;right:22px!important}
 body.rplg-home.rplg-active .rplg-hero .rplg-hero-model{top:16px!important;left:16px!important}
}
/* Home product-feature row is deliberately lower and its media hugs the edges. */
body.rplg-home.rplg-active .rplg-home-focus {
  display:grid!important;grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
  min-height:0!important;height:auto!important;align-items:stretch;overflow:hidden;
}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-image {
  height:100%!important;min-height:0!important;max-height:none!important;
  overflow:hidden!important;position:relative;
}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-image img {
  width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;
}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-copy {
  min-height:0!important;padding:clamp(24px,2.5vw,43px)!important;
}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-copy h2 {
  font-size:clamp(35px,3.7vw,62px)!important;margin:0 0 16px!important;
}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-copy p {margin:0 0 20px!important;line-height:1.55!important}
@media(max-width:760px){
 body.rplg-home.rplg-active .rplg-home-focus{display:flex!important;flex-direction:column!important}
 body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-image{height:clamp(230px,57vw,390px)!important;flex:none}
 body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-copy{padding:30px 22px!important}
}
/* Only real actionable downloads become styled links. Where the existing page
 * has a form instead of a file URL, a same-row button focuses that genuine form. */
body.rplg-active .rplg-model-actions {
  width:min(1350px,calc(100% - 44px));display:flex!important;align-items:center;
  justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:18px auto 30px!important;
}
body.rplg-active .rplg-model-actions .rplg-back-row{width:auto!important;margin:0!important;border:0!important;padding:0!important}
body.rplg-active .rplg-model-actions .rplg-action-download,
body.rplg-active .rplg-model-actions .rplg-back-row a {
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:49px;padding:12px 19px!important;margin:0!important;
  box-sizing:border-box;border:1px solid rgba(54,47,42,.14)!important;border-radius:12px!important;
  background:rgba(255,255,255,.91)!important;color:#342f2a!important;
  font:600 13px/1.35 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif!important;
  letter-spacing:.012em;box-shadow:0 4px 20px rgba(54,47,42,.04)!important;
  cursor:pointer;text-decoration:none!important;
}
body.rplg-active .rplg-model-actions .rplg-action-download::before {content:'↓';font-size:19px;line-height:1}
body.rplg-active .rplg-model-actions .rplg-action-download:hover,
body.rplg-active .rplg-model-actions .rplg-back-row a:hover {background:#fff!important;box-shadow:0 12px 33px rgba(54,47,42,.09)!important;transform:translateY(-2px)}
body.rplg-active .rplg-sheet-heading.rplg-title-hidden-after-button{
  position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;
  overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;
}
@media(max-width:700px){body.rplg-active .rplg-model-actions{width:calc(100% - 30px)!important}}
/* Slow means physical speed, not an arbitrary total animation duration.
 * JS sets the speed based on the actual width of the original card set. */
body.rplg-active .rplg-related-track {
  animation-duration:var(--rplg-related-duration,900s)!important;
  animation-timing-function:linear!important;
}
body.rplg-active .rplg-related-viewport {mask-image:none!important;-webkit-mask-image:none!important}
body.rplg-active .rplg-related {width:100vw;max-width:100vw;padding:0!important}
/* The title spans are introduced only after DOM-ready: content stays fully
 * visible when JS is off and screen-readers retain the original heading name. */
body.rplg-active .rplg-letter-title .rplg-letter{
  display:inline-block;opacity:0;transform:translate3d(0,.32em,0);
  white-space:pre;vertical-align:baseline;animation:none;
}
body.rplg-active .rplg-letter-title.rplg-letter-inview .rplg-letter{
  animation:rplg-letter-reveal .66s cubic-bezier(.18,.75,.19,1) both;
  animation-delay:calc(var(--rplg-letter-index,0) * var(--rplg-letter-step,24ms));
}
@keyframes rplg-letter-reveal{
  from{opacity:0;transform:translate3d(0,.32em,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce){
  body.rplg-active .rplg-letter-title .rplg-letter{opacity:1!important;transform:none!important;animation:none!important}
}
/* Motion controls never clip or change layout heights. */
body.rplg-active .rplg-motion-pending,body.rplg-active .rplg-motion-visible,
body.rplg-active .rplg-reveal-ready,body.rplg-active .rplg-reveal-visible{will-change:auto}
/* Remove the leftover tall image ratio from the former focus row. The media is
 * absolutely contained so its natural image aspect ratio cannot stretch the row. */
@media(min-width:761px){
 body.rplg-home.rplg-active .rplg-home-focus{height:clamp(348px,29vw,458px)!important;min-height:0!important}
 body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-image{position:relative;min-height:0!important;height:100%!important}
 body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-image img{position:absolute;inset:0;width:100%!important;height:100%!important}
}
@media(max-width:760px){body.rplg-home.rplg-active .rplg-home-focus{height:auto!important}}


/* 1.9.0 — Native technical-sheet form restored.  Style the ORIGINAL submit;
   no fake button or event forwarding. The form must validate/submit normally. */
body.rplg-active.rplg-model .rplg-model-content form :is(input[type="submit"],button[type="submit"]){
  display:inline-flex;min-height:48px;padding:12px 19px;border-radius:12px;
  background:rgba(255,255,255,.93);border:1px solid rgba(54,47,42,.16);
  font-size:13px;font-weight:600;line-height:1.4;color:#342f2a;letter-spacing:.015em;
  cursor:pointer;box-shadow:0 5px 20px rgba(54,47,42,.04);
  transition:transform .25s,background-color .25s,box-shadow .25s;
}
body.rplg-active.rplg-model .rplg-model-content form :is(input[type="submit"],button[type="submit"]):hover{
  background:#fff;box-shadow:0 12px 30px rgba(54,47,42,.085);transform:translateY(-1px);
}
body.rplg-active.rplg-model .rplg-sheet-heading.rplg-title-hidden-after-button{display:block!important;position:static!important;width:auto!important;height:auto!important;clip-path:none!important;overflow:visible!important;}


/* Rossini 2.1.0 — home hero redesign, normal related speed, grouped product CTAs */
body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{
  grid-template-columns:minmax(0,39%) minmax(0,61%)!important;
  min-height:clamp(470px,42vw,640px)!important;
  border-radius:34px!important;
  border:1px solid rgba(54,47,42,.08)!important;
  box-shadow:0 28px 80px rgba(54,47,42,.06)!important;
  background:linear-gradient(140deg,#faf6f0 0%,#eee7dd 52%,#faf6f0 100%)!important;
  width:min(1580px,calc(100% - 40px))!important;
  margin:24px auto 34px!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content{
  justify-content:space-between!important;
  padding:clamp(28px,3.1vw,52px) clamp(28px,3.5vw,58px) clamp(92px,7vw,122px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.2))!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-kicker{
  display:inline-flex!important;align-items:center;gap:10px!important;
  padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(54,47,42,.08);
  color:#74685e!important;font-size:11px!important;letter-spacing:.22em!important;font-weight:700!important;text-transform:uppercase!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-kicker::before{content:'';width:7px;height:7px;border-radius:50%;background:#342f2a;display:block}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1{font-size:clamp(3.2rem,5.05vw,6.35rem)!important;max-width:7.5em!important;letter-spacing:-.062em!important;margin-top:auto!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-content>p{max-width:440px!important;font-size:clamp(15px,1.15vw,19px)!important;line-height:1.65!important;color:#74685e!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-actions{gap:12px!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-actions .rplg-btn{min-height:50px!important;padding:13px 18px!important;border-radius:14px!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-bottom{bottom:22px!important;left:clamp(28px,3.5vw,58px)!important;right:clamp(28px,3.5vw,58px)!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-media{border-left:1px solid rgba(54,47,42,.06)!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-slide::after{width:60%!important;height:50%!important;background:linear-gradient(135deg,rgba(0,0,0,.16),rgba(0,0,0,.03) 60%,transparent 100%)!important}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-model{font-size:clamp(64px,7vw,120px)!important;top:24px!important;left:22px!important;letter-spacing:-.075em!important}
body.rplg-home.rplg-active .rplg-home-focus{border-radius:30px!important;overflow:hidden!important;border:1px solid rgba(54,47,42,.08)!important;box-shadow:0 22px 64px rgba(54,47,42,.05)!important}
body.rplg-home.rplg-active .rplg-home-focus .rplg-focus-copy{background:#f5f4ef!important}

body.rplg-active .rplg-model-actions{
  width:min(1380px,calc(100% - 44px))!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;
  margin:18px auto 30px!important;padding:0!important
}
body.rplg-active .rplg-model-actions .rplg-action-download,
body.rplg-active .rplg-model-actions .rplg-back-row a{
  min-height:48px!important;border-radius:12px!important;padding:12px 18px!important;
  background:rgba(255,255,255,.92)!important;border:1px solid rgba(54,47,42,.13)!important;
  box-shadow:0 8px 20px rgba(54,47,42,.04)!important;color:#342f2a!important;
  font-weight:600!important;letter-spacing:.01em!important;transform:none!important
}
body.rplg-active .rplg-model-actions .rplg-action-download::before{content:none!important}
body.rplg-active .rplg-model-actions .rplg-back-row{width:auto!important;margin:0!important;padding:0!important;border:0!important}
body.rplg-active .rplg-related-track{animation-duration:var(--rplg-related-duration,240s)!important}

@media(max-width:980px){
  body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{grid-template-columns:minmax(0,42%) minmax(0,58%)!important;min-height:420px!important}
  body.rplg-home.rplg-active .rplg-hero .rplg-hero-content{padding:24px 24px 82px!important}
}
@media(max-width:760px){
  body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{width:calc(100% - 24px)!important;margin:14px auto 26px!important;border-radius:24px!important}
  body.rplg-home.rplg-active .rplg-hero .rplg-kicker{font-size:10px!important;padding:8px 12px!important}
  body.rplg-home.rplg-active .rplg-hero .rplg-hero-content{padding:20px 20px 74px!important}
  body.rplg-home.rplg-active .rplg-hero .rplg-hero-content h1{font-size:clamp(40px,9.2vw,66px)!important}
  body.rplg-home.rplg-active .rplg-hero .rplg-hero-model{font-size:clamp(38px,10.5vw,72px)!important;top:14px!important;left:14px!important}
  body.rplg-active .rplg-model-actions{width:calc(100% - 28px)!important}
}


/* 2.2.0: full-bleed homepage hero — no rounded corners, no borders or margins. */
body.rplg-active .rplg-letter-word{display:inline-block;white-space:nowrap;max-width:100%;vertical-align:baseline}
body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{
  position:relative!important;left:50%!important;transform:translateX(-50%)!important;
  width:100vw!important;max-width:100vw!important;min-width:100vw!important;
  margin:0!important;border-radius:0!important;border:0!important;
  box-shadow:none!important;outline:0!important;
}
body.rplg-home.rplg-active .rplg-hero .rplg-hero-media{border:0!important}
body.rplg-home.rplg-active .rplg-editorial-home{overflow-x:clip!important}
@media(max-width:760px){
 body.rplg-home.rplg-active .rplg-editorial-home .rplg-hero{
  width:100vw!important;max-width:100vw!important;min-width:100vw!important;
  margin:0!important;border-radius:0!important;
 }
}
