/* Original isolated product photos, on a light stage with restrained motion. */
.hero-modern{margin-bottom:20px}
.hero-modern .orbit{overflow:visible;cursor:pointer;color:var(--ink);font-family:DM,sans-serif}
.hero-modern .orbit-one,.hero-modern .orbit-two{display:flex;align-items:center;justify-content:center;padding:14px 14px 42px;background:#fff;box-shadow:0 24px 48px #30385218;transition:box-shadow .2s}
.hero-modern .orbit-one{animation:none;transform:rotate(-8deg)}
.hero-modern .orbit-two{animation:none;transform:rotate(7deg);z-index:2}
.hero-modern .orbit-one img,.hero-modern .orbit-two img{position:relative;top:0;display:block;visibility:visible;opacity:1;flex:none;width:92%;height:auto;aspect-ratio:1;object-fit:contain;animation:tv-photo-bob 8s ease-in-out infinite;background:transparent;border-radius:0;mix-blend-mode:normal}
.hero-modern .orbit-one:hover,.hero-modern .orbit-two:hover{box-shadow:0 28px 55px #30385228}
.hero-modern .orbit:focus-visible,.editorial-product:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.hero-model-tag{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);display:flex;align-items:baseline;justify-content:center;gap:4px;white-space:nowrap;font-size:.64rem;color:#27352b}
.hero-model-tag b{font:700 1.55rem/1 Bricolage,sans-serif;letter-spacing:-.06em}
.hero-model-tag>span{font-size:.58rem;margin-left:4px;color:#5c6559}
.hero-modern .orbit-two .hero-model-tag{bottom:16px}
.hero-modern .orbit-two .hero-model-tag b{font-size:1.25rem}
.hero-modern .orbit-three{animation:none;transform:rotate(-7deg);cursor:default}
.hero-modern .orbit:is(:hover,:focus-visible) img{animation-play-state:paused}
.home-motion-toggle{position:absolute;left:0;bottom:-25px;display:flex;align-items:center;gap:7px;padding:6px 3px;border:0;background:transparent;color:#5c6559;font:.65rem/1.4 DM,sans-serif;min-height:34px;border-radius:6px}
.home-motion-toggle>span:first-child{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #b9c1ad;color:#233522;background:#fff;font-size:.75rem}
.home-motion-toggle:hover{color:var(--blue)}
.home-motion-toggle:disabled{cursor:default}
.featured-products .featured-photo img{position:relative;top:0;visibility:visible;opacity:1;animation:tv-photo-bob 7.5s ease-in-out infinite;transform:none;background:#fff}
.featured-product:nth-child(2n) .featured-photo img{animation-delay:-2.5s;animation-duration:8.5s}
.featured-product:nth-child(3n) .featured-photo img{animation-delay:-5s;animation-duration:9.5s}
.featured-product:is(:hover,:focus-within) .featured-photo img{animation-play-state:paused}
.editorial-modern{background:#e6e9fb;isolation:isolate}
.editorial-model-number{position:absolute;top:15%;left:6%;font:800 clamp(7rem,13vw,12rem)/1 Bricolage,sans-serif;letter-spacing:-.1em;color:#d2d8f5;z-index:-1}
.editorial-pair{position:relative;width:92%;height:68%}
.editorial-product{position:absolute;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:57%;height:73%;border:1px solid #fff;background:#fff;border-radius:48% 48% 24px 24px;padding:18px 15px 20px;box-shadow:0 22px 42px #25327616;color:var(--ink)}
.editorial-product img{width:100%;height:calc(100% - 32px);object-fit:contain;background:transparent;position:relative;top:0;visibility:visible;opacity:1;animation:tv-photo-bob 9s ease-in-out infinite}
.editorial-product>span{font:.68rem/1.4 DM,sans-serif;display:flex;gap:6px;align-items:center;white-space:nowrap}
.editorial-product>span b{font-weight:500;color:var(--blue)}
.editorial-product-black{left:0;top:0;transform:rotate(-12deg);animation:none}
.editorial-product-color{right:0;bottom:0;transform:rotate(9deg);animation:none;z-index:1}
.editorial-product:is(:hover,:focus-visible) img{animation-play-state:paused}
.editorial-modern .photo-sticker{z-index:3;top:14%;right:12%;font-size:.58rem}
.editorial-modern .editorial-mark{z-index:-1}
.hero-modern .orbit-two img{animation-duration:9.5s;animation-delay:-3s}
.hero-modern .orbit-three img{position:relative;top:0;display:block;visibility:visible;opacity:1;animation:tv-photo-bob 10s ease-in-out -5s infinite}
.editorial-product-color img{animation-delay:-4s}
.home-motion-paused .motion-scope .orbit img,.home-motion-paused .motion-scope .featured-photo img,.home-motion-paused .editorial-product img,.motion-scope:not(.motion-in-view) .orbit img,.motion-scope:not(.motion-in-view) .featured-photo img,.motion-scope:not(.motion-in-view) .editorial-product img{animation-play-state:paused}
@keyframes tv-photo-bob{0%,100%{top:0}50%{top:-6px}}
@media(max-width:900px){.hero-modern .orbit-one,.hero-modern .orbit-two{padding:10px 10px 35px}.hero-model-tag{bottom:15px}.hero-model-tag b{font-size:1.25rem}.hero-model-tag>span{font-size:.5rem}.hero-modern .orbit-two .hero-model-tag{bottom:11px}.hero-modern .orbit-two .hero-model-tag>span{display:none}.editorial-product{padding:15px 10px}.editorial-product>span{font-size:.58rem}}
@media(max-width:650px){.hero-modern{margin-bottom:28px}.hero-modern .orbit-one{left:4%;top:7%}.hero-modern .orbit-two{right:0;bottom:8%}.hero-modern .orbit-three{bottom:7%;left:-1%}.hero-modern .art-caption{right:1%;bottom:-7%;font-size:.58rem}.home-motion-toggle{bottom:-25px;font-size:.6rem}.editorial-pair{width:86%;height:67%}.editorial-product{height:76%;width:58%}.editorial-model-number{font-size:9rem}.hero-modern .orbit-one .hero-model-tag>span{font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.hero-modern .orbit img,.featured-products .featured-photo img,.editorial-product img{animation:none!important;transition:none!important;top:0!important}}

/* Three complete products remain visible; photo, details and price change together. */

.hero-showcase{height:auto;min-height:550px;width:100%;max-width:590px;margin:0 auto;padding:8px 12px 0;display:flex;flex-direction:column;gap:15px;isolation:isolate}
.hero-showcase .art-word{left:2%;top:35%;font-size:8rem;opacity:.8}
.hero-bubbles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;align-items:start;justify-items:center}
.model-bubble{position:relative;width:100%;max-width:254px;aspect-ratio:1;min-width:0}
.model-bubble:nth-child(2){margin-top:50px}
.model-bubble:nth-child(3){grid-column:1/-1;width:calc((100% - 18px)/2);margin-top:-35px}
.model-bubble-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;height:100%;padding:23px 18px 25px;background:#fff;border:8px solid #cad4ff;border-radius:50%;box-shadow:0 15px 32px #3038520c;color:var(--ink);overflow:visible}
.model-bubble[data-tone="pink"] .model-bubble-content{border-color:#f0a4d1}
.model-bubble[data-tone="lime"] .model-bubble-content{border-color:#ddea91}
.model-bubble-image{position:relative;display:block;top:0;left:-28px;width:112px;height:112px;max-width:65%;max-height:48%;object-fit:contain;object-position:center;background:transparent;animation:tv-photo-bob 8s ease-in-out infinite;flex:0 1 auto;opacity:1;visibility:visible}
.model-bubble:nth-child(2) .model-bubble-image{animation-delay:-2.5s}
.model-bubble:nth-child(3) .model-bubble-image{animation-delay:-5s}
.model-bubble-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;max-width:100%;flex:0 0 auto}
.model-bubble-title{font:650 1.18rem/1.1 Bricolage,sans-serif;letter-spacing:-.035em}
.model-bubble-description{font:.6rem/1.4 DM,sans-serif;color:#566050}
.model-bubble-reference{font:.55rem/1.4 DM,sans-serif;color:#677061}
.hero-value-badge{position:absolute;top:5px;right:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:89px;min-height:73px;padding:8px 5px;border:1px solid #d9ec81;background:var(--yellow);border-radius:15px 15px 15px 4px;transform:rotate(6deg);box-shadow:0 8px 20px #3040230b;color:#253021;pointer-events:none}
.hero-value-badge>span{font:.5rem/1.3 DM,sans-serif}
.hero-value-badge strong{font:700 1.6rem/1.1 Bricolage,sans-serif;letter-spacing:-.055em;white-space:nowrap}
.hero-showcase-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:2px 0 0;font:.65rem/1.4 DM,sans-serif;color:#677061}
.hero-showcase .home-motion-toggle{position:static;margin:0;padding:5px;min-height:36px;white-space:nowrap;font-size:.65rem}
.hero-showcase .home-motion-toggle:disabled{opacity:.7}
.hero-value-note{text-align:center;font:.59rem/1.5 DM,sans-serif;color:#697160;margin:0}
.model-bubble-content:hover .model-bubble-title{color:var(--blue)}
.model-bubble-content:focus-visible,.hero-showcase-controls button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.model-bubble-content:is(:hover,:focus-visible) .model-bubble-image,.home-motion-paused .model-bubble-image,.hero-showcase:not(.motion-in-view) .model-bubble-image{animation-play-state:paused}
@media(max-width:1150px) and (min-width:1051px){.hero-showcase{min-height:0;padding:8px 9px 0}.hero-bubbles{gap:22px 12px}.model-bubble-content{border-width:7px;padding:18px 10px 23px;gap:7px}.model-bubble-image{width:94px;height:94px}.model-bubble-title{font-size:1rem}.model-bubble-description{font-size:.55rem}.model-bubble-reference{font-size:.5rem}.hero-value-badge{width:78px;min-height:64px;right:0;top:0}.hero-value-badge strong{font-size:1.4rem}.hero-value-badge>span{font-size:.46rem}}
@media(max-width:1050px){.hero{grid-template-columns:1fr;gap:30px}.hero-copy{max-width:650px}.hero-showcase{max-width:590px;min-height:0;margin:0 auto}}
@media(min-width:651px) and (max-width:1050px){.hero h1{font-size:clamp(3.8rem,7.7vw,5.5rem)}}
@media(max-width:650px){.hero-showcase{max-width:410px;min-height:0;margin:24px auto 0;padding:8px 11px 0;gap:15px}.hero-bubbles{grid-template-columns:1fr;gap:18px}.model-bubble{width:246px;max-width:calc(100% - 20px)}.model-bubble:nth-child(1){justify-self:start}.model-bubble:nth-child(2){justify-self:end;margin-top:0}.model-bubble:nth-child(3){justify-self:start;grid-column:auto;width:246px;margin-top:0}.hero-showcase .art-word{top:32%;left:2%;font-size:8rem}.hero-showcase-controls{font-size:.6rem;gap:12px}}
@media(max-width:360px){.model-bubble,.model-bubble:nth-child(3){width:228px}.model-bubble-content{padding:21px 12px 23px;gap:7px}.model-bubble-image{width:96px;height:96px}.model-bubble-title{font-size:1.05rem}.hero-value-badge{right:0;width:83px;min-height:68px}.hero-value-badge strong{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.model-bubble-image{animation:none!important;top:0!important}}

/* Compositor-friendly motion: three small CSS paths, no physics loop or canvas. */
.hero-showcase .model-bubble-image{animation:none;top:0}
.model-bubble{transform-origin:50% 50%;animation:tv-bubble-first 14s ease-in-out infinite}
.model-bubble:nth-child(2){animation-name:tv-bubble-second}
.model-bubble:nth-child(3){animation-name:tv-bubble-third}
.model-bubble.is-swapping .model-bubble-content{animation:tv-bubble-swap .65s ease-in-out}
@keyframes tv-bubble-first{
  0%,100%{transform:translate(0,0) rotate(-.7deg)}
  18%{transform:translate(18px,7px) rotate(.9deg)}
  25%{transform:translate(5px,-5px) rotate(-1.1deg)}
  50%{transform:translate(1px,-2px) rotate(0)}
  72%{transform:translate(7px,9px) rotate(.6deg)}
  82%{transform:translate(-2px,-2px) rotate(-.8deg)}
}
@keyframes tv-bubble-second{
  0%,100%{transform:translate(0,0) rotate(.7deg)}
  18%{transform:translate(-18px,-3px) rotate(-.9deg)}
  25%{transform:translate(0,4px) rotate(1deg)}
  50%{transform:translate(-9px,13px) rotate(-.7deg)}
  57%{transform:translate(3px,-3px) rotate(.8deg)}
  82%{transform:translate(-3px,2px) rotate(.3deg)}
}
@keyframes tv-bubble-third{
  0%,100%{transform:translate(0,0) rotate(-.5deg)}
  18%{transform:translate(-3px,-2px) rotate(.4deg)}
  25%{transform:translate(0,2px) rotate(0)}
  50%{transform:translate(7px,-15px) rotate(.9deg)}
  57%{transform:translate(-3px,0) rotate(-.8deg)}
  82%{transform:translate(0,-3px) rotate(.2deg)}
}
@keyframes tv-bubble-swap{
  0%,100%{transform:rotate(0)}
  30%{transform:rotate(-8deg)}
  70%{transform:rotate(6deg)}
}
.home-motion-paused .model-bubble,.hero-showcase:not(.motion-in-view) .model-bubble,.hero-showcase:is(:hover,:focus-within) .model-bubble,
.home-motion-paused .model-bubble-content,.hero-showcase:not(.motion-in-view) .model-bubble-content,.hero-showcase:is(:hover,:focus-within) .model-bubble-content{animation-play-state:paused}
@media(max-width:650px){
  .model-bubble{animation-name:tv-bubble-mobile-first}
  .model-bubble:nth-child(2){animation-name:tv-bubble-mobile-second}
  .model-bubble:nth-child(3){animation-name:tv-bubble-mobile-third}
  @keyframes tv-bubble-mobile-first{0%,100%{transform:translate(0,0) rotate(-.4deg)}18%{transform:translate(2px,8px) rotate(.7deg)}27%{transform:translate(-1px,-3px) rotate(-.5deg)}60%{transform:translate(1px,2px) rotate(.3deg)}}
  @keyframes tv-bubble-mobile-second{0%,100%{transform:translate(0,0) rotate(.4deg)}18%{transform:translate(-2px,-8px) rotate(-.7deg)}27%{transform:translate(1px,3px) rotate(.5deg)}50%{transform:translate(2px,8px) rotate(.5deg)}59%{transform:translate(-1px,-2px) rotate(-.3deg)}}
  @keyframes tv-bubble-mobile-third{0%,100%{transform:translate(0,0) rotate(-.3deg)}25%{transform:translate(1px,2px) rotate(.3deg)}50%{transform:translate(-2px,-8px) rotate(-.5deg)}59%{transform:translate(1px,2px) rotate(.3deg)}}
}
@media(prefers-reduced-motion:reduce){.model-bubble,.model-bubble-content{animation:none!important;transform:none!important}}

.model-bubble-description{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.model-bubble-description .condition-badge{font-size:.49rem;line-height:1.2;padding:2px 5px;border-radius:4px}
@media(max-width:1150px) and (min-width:1051px){.model-bubble-description{gap:4px;font-size:.51rem}.model-bubble-description .condition-badge{font-size:.45rem;padding:2px 4px}}

/* Interior highlights live beside the content and alternate down longer pages. */
.page-showcase-row{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:48px;align-items:center;margin:38px 0}
.page-showcase-row.bubble-on-left{grid-template-columns:250px minmax(0,1fr)}
.page-showcase-row.bubble-on-left>.page-bubble-slot{grid-column:1;grid-row:1}
.page-showcase-row.bubble-on-left>.page-showcase-copy{grid-column:2;grid-row:1}
.page-showcase-intro{margin:0 0 35px;align-items:center;min-height:290px}
.page-showcase-copy{min-width:0}
.page-showcase-copy>.lead:last-child{margin-bottom:0}
.page-bubble-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:250px;min-height:290px;padding:12px 8px;justify-self:center;isolation:isolate}
.page-bubble-slot .model-bubble:nth-child(n){display:block;border:0;padding:0;width:222px;height:222px;max-width:none;aspect-ratio:1;margin:0;grid-column:auto;animation:tv-bubble-corner 12s ease-in-out infinite}
.page-bubble-slot .model-bubble[data-tone="pink"]{animation-delay:-4s;animation-direction:reverse}
.page-bubble-slot .model-bubble[data-tone="lime"]{animation-delay:-8s;animation-duration:14s}
.page-bubble-slot .model-bubble-content{border-width:7px;padding:20px 13px 22px;gap:7px}
.page-bubble-slot .model-bubble-image{animation:none;top:0;width:94px;height:94px;left:-23px}
.page-bubble-slot .model-bubble-info{gap:4px}
.page-bubble-slot .model-bubble-title{font-size:1.03rem;line-height:1.15}
.page-bubble-slot .model-bubble-description{font-size:.52rem;gap:4px}
.page-bubble-slot .model-bubble-description .condition-badge{font-size:.47rem;padding:2px 4px}
.page-bubble-slot .model-bubble-reference{font-size:.49rem}
.page-bubble-slot .hero-value-badge{width:78px;min-height:65px;padding:7px 4px;right:-1px;top:0;border-radius:13px 13px 13px 3px}
.page-bubble-slot .hero-value-badge strong{font-size:1.45rem}
.page-bubble-slot .hero-value-badge>span{font-size:.47rem}
.page-bubble-slot .home-motion-toggle{position:static;min-height:34px;padding:4px 8px;margin:8px 0 0;font-size:.62rem;white-space:nowrap}
.page-bubble-slot .page-bubble-note{font:.55rem/1.4 DM,sans-serif;color:#697160;margin:0;text-align:center}
.steps .page-showcase-row{margin:0;gap:48px}
.steps .page-showcase-row .page-bubble-slot{margin:22px 0}
.page-showcase-row .collection-faq{margin-top:0}
.legal .page-showcase-row{gap:32px}
.legal .page-showcase-row:not(.page-showcase-intro) .page-showcase-copy>h2:first-child{margin-top:0}
.page-bubble-slot .model-bubble:not(.motion-in-view),.page-bubble-slot .model-bubble:is(:hover,:focus-within),.home-motion-paused .page-bubble-slot .model-bubble,
.page-bubble-slot .model-bubble:not(.motion-in-view) .model-bubble-content,.page-bubble-slot .model-bubble:is(:hover,:focus-within) .model-bubble-content,.home-motion-paused .page-bubble-slot .model-bubble-content{animation-play-state:paused}
@keyframes tv-bubble-corner{0%,100%{transform:translate(0,0) rotate(-.6deg)}25%{transform:translate(5px,-7px) rotate(.7deg)}36%{transform:translate(1px,-3px) rotate(0)}65%{transform:translate(-5px,5px) rotate(-.8deg)}78%{transform:translate(-1px,1px) rotate(.2deg)}}
@media(max-width:1100px){
 .page-showcase-row,.steps .page-showcase-row,.legal .page-showcase-row{gap:28px}
 .page-showcase-intro .page-title{font-size:clamp(3rem,5.2vw,5.5rem)}
 .steps .page-showcase-row article{grid-template-columns:55px 1fr;gap:20px}
}
@media(max-width:800px){
 .page-showcase-row,.page-showcase-row.bubble-on-left{display:flex;flex-direction:column;gap:20px;align-items:stretch}
 .page-showcase-intro{min-height:0;margin-bottom:30px}
 .page-bubble-slot{align-self:flex-end;margin-right:5px}
 .bubble-on-left>.page-bubble-slot{align-self:flex-start;margin-left:5px;margin-right:0}
 .steps .page-showcase-row{gap:18px}
 .steps .page-showcase-row .page-bubble-slot{margin-top:0;margin-bottom:25px}
 .page-showcase-intro .page-title{font-size:clamp(2.75rem,7.5vw,4rem)}
}
@media(prefers-reduced-motion:reduce){.page-bubble-slot .model-bubble:nth-child(n){animation:none!important;transform:none!important}}

.page-bubble-slot .home-motion-toggle:disabled{opacity:.7}

/* Smaller circles keep all three present even in compact page sections. */
.page-bubble-slot.is-compact{width:218px;min-height:258px;padding:12px 8px;flex:0 0 218px}
.page-bubble-slot.is-compact .model-bubble:nth-child(n){width:190px;height:190px}
.page-bubble-slot.is-compact .model-bubble-content{border-width:6px;padding:17px 10px 20px;gap:5px}
.page-bubble-slot.is-compact .model-bubble-image{width:74px;height:74px;left:-20px}
.page-bubble-slot.is-compact .model-bubble-info{gap:3px}
.page-bubble-slot.is-compact .model-bubble-title{font-size:.91rem}
.page-bubble-slot.is-compact .model-bubble-description{font-size:.47rem;gap:3px}
.page-bubble-slot.is-compact .model-bubble-description .condition-badge{font-size:.42rem;padding:2px 3px}
.page-bubble-slot.is-compact .model-bubble-reference{font-size:.46rem}
.page-bubble-slot.is-compact .hero-value-badge{width:66px;min-height:55px;padding:6px 3px;right:-1px;top:0;border-radius:11px 11px 11px 3px}
.page-bubble-slot.is-compact .hero-value-badge strong{font-size:1.24rem}
.page-bubble-slot.is-compact .hero-value-badge>span{font-size:.42rem}
.page-showcase-row.showcase-compact-row{grid-template-columns:minmax(0,1fr) 218px;gap:32px}
.page-showcase-row.showcase-compact-row.bubble-on-left{grid-template-columns:218px minmax(0,1fr)}
.page-bubble-duet{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start;width:100%;max-width:470px;margin:25px 0 0}
.page-bubble-duet>.page-bubble-slot:nth-child(2){margin-top:38px;margin-left:auto}
.page-showcase-row.showcase-duet-row{grid-template-columns:minmax(0,1fr) minmax(218px,470px);gap:35px}
.page-showcase-row.showcase-duet-row>.page-bubble-duet{margin-top:0}
.split-content>div>.page-bubble-slot{margin:30px auto 0 0}
.guide-grid>.page-bubble-duet{align-self:center;justify-self:center;margin-bottom:45px}
.page[data-page="catalogo"] .showcase-compact-row .brand-filters{margin-bottom:0}
@media(max-width:1100px){
 .page-showcase-row.showcase-compact-row{gap:24px}
 .page-showcase-row.showcase-duet-row{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .page-showcase-row.showcase-duet-row>.page-bubble-duet{align-self:center}
}
@media(max-width:800px){
 .page-showcase-row.showcase-compact-row{display:flex;gap:16px}
 .page-bubble-slot.is-compact{flex-basis:auto;min-height:258px}
 .page-bubble-duet>.page-bubble-slot{flex:0 0 218px;margin-right:0;margin-left:0}
 .page-bubble-duet>.page-bubble-slot:nth-child(2){margin-left:auto;margin-top:20px}
}
