/* A compact hero and art direction for the existing product photography. */
.hero.scroll-hero .hero-sticky{height:auto;min-height:0}
.hero.scroll-hero .hero-sticky>.wrap{flex:none;display:block}
.hero.scroll-hero .hgrid{flex:none;align-content:start}
.hero .hgrid>div{transform:none!important}
.hero .hgrid{padding-block:22px 20px;align-items:center}
.hero .business-strip{margin-top:6px;padding-block:18px}
.hero .hero-bottom{padding-block:10px}
.hero #stage{background:#eaf1fc;overflow:hidden;isolation:isolate}
.hero #stage:after,.hero #stage .gl{display:none}
.hero #stage .sl{overflow:hidden;transform:none;transition:opacity .45s ease;--px:68%;--pw:48%;--ph:66%;--pb:10%;--angle:0deg;--bx:42%}
.hero #stage .sl:nth-child(1){--px:68%;--pw:54%;--ph:65%;--pb:10%;--angle:-5deg;--bx:32%}
.hero #stage .sl:nth-child(2){--px:73%;--pw:36%;--ph:65%;--pb:10%;--bx:32%}
.hero #stage .sl:nth-child(3){--px:66%;--pw:55%;--ph:58%;--pb:12%;--bx:36%}
.hero #stage .sl:nth-child(4){--px:66%;--pw:57%;--ph:60%;--pb:11%;--bx:30%}
.hero #stage .sl:nth-child(5){--px:71%;--pw:42%;--ph:65%;--pb:10%;--bx:30%}
.hero #stage .sl:nth-child(6){--px:70%;--pw:45%;--ph:64%;--pb:11%;--angle:-3deg;--bx:25%}
.hero #stage .sl:nth-child(7){--px:72%;--pw:36%;--ph:65%;--pb:10%;--bx:35%}
.hero #stage .sl .bg{object-position:var(--bx) center;filter:brightness(.92) saturate(.82);transform:scale(calc(1.04 + var(--depth,0)*.025)) translateX(calc(var(--depth,0)*-5px));clip-path:none;border-radius:0;transition:none}
.hero #stage .sl .vig{background:linear-gradient(90deg,#0050cf18 0%,#0050cf16 32%,#e9f1fcbb 65%,#e9f1fcf2 100%);border-radius:0}
.hero #stage .sl .fg{left:var(--px);bottom:var(--pb);max-width:var(--pw);max-height:var(--ph);width:auto;height:auto;opacity:0;translate:none;scale:none;rotate:none;transform:translate(-50%,calc(var(--depth,0)*-7px)) rotate(var(--angle));filter:drop-shadow(0 18px 12px #14213938);animation:none}
.hero #stage .sl.on .fg{opacity:1;animation:prado-product-reveal .85s cubic-bezier(.16,1,.3,1) both}
.hero #stage .sl .sh{left:calc(var(--px) - 20%);width:40%;height:6%;bottom:calc(var(--pb) - 2%);background:radial-gradient(ellipse,#10244866,transparent 70%);filter:blur(6px);transform:scaleX(calc(.88 + var(--depth,0)*.12));opacity:.7}
.hero #stage .sl .cap{background:var(--brand);color:white;font-weight:700;top:6%;right:5%;box-shadow:none}
@keyframes prado-product-reveal{
 from{opacity:0;translate:50px 18px;scale:.84;clip-path:inset(0 0 100% 0)}
 45%{opacity:1;clip-path:inset(0 0 0 0)}
 to{opacity:1;translate:0 0;scale:1;clip-path:inset(0 0 0 0)}
}
/* The blue veil belongs only to the background, never to the product. */
.journey .sl .bg{filter:brightness(.95) saturate(.88);transform:scale(calc(1.035 + var(--giro-depth,0)*.035));transition:transform .25s linear}
.journey .sl.sc .bg{filter:brightness(.85) saturate(.82)}
.journey .sl .vig{background:linear-gradient(125deg,#0050cf2b,#0050cf12 60%,#0050cf38);z-index:1}
.journey .sl.sc .vig{background:linear-gradient(120deg,#0050cf55,#0050cf20 55%,#0050cf45)}
.journey .sl .gl{background:radial-gradient(ellipse,#eef5ff40,transparent 68%);filter:none;left:25%;width:65%;height:78%;bottom:7%}
.journey .sl .fg{left:58%;bottom:12%;max-width:57%;max-height:64%;filter:drop-shadow(0 18px 10px #071e443d);transform:translate(-50%,calc(var(--giro-depth,0)*-9px));animation:none}
.journey .sl.on .fg{animation:prado-giro-reveal .9s cubic-bezier(.16,1,.3,1) both}
.journey .sl .sh{left:33%;width:50%;bottom:9%;height:6%;filter:blur(5px)}
@keyframes prado-giro-reveal{
 from{opacity:0;translate:42px 22px;scale:.82;clip-path:inset(0 0 100% 0)}
 50%{opacity:1;clip-path:inset(0)}
 to{opacity:1;translate:0 0;scale:1;clip-path:inset(0)}
}
.contact-cta.email{background:var(--brand);box-shadow:0 6px 0 #003795}
.contact-cta.email:hover{background:var(--brand);box-shadow:0 9px 0 #003795}
@media(max-width:900px){.hero .hgrid{padding-block:24px;gap:24px}.hero .business-strip{margin-top:0}.hero #stage .sl .cap{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero #stage .sl.on .fg,.journey .sl.on .fg{animation:none;translate:none;scale:none;opacity:1;clip-path:none}.hero #stage .sl .fg{transform:translateX(-50%) rotate(var(--angle))!important}.journey .sl .fg{transform:translateX(-50%)!important}}

.footer-social{display:flex;align-items:center;gap:7px;flex-basis:100%;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--line)}
.footer-social>span{font-size:11px;margin-right:8px;color:var(--muted)}
.footer-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--brand);transition:background .18s}
.footer-social a:hover{background:#0050cf0d}
.footer-social a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.footer-social svg{width:21px;height:21px}
@media(max-width:700px){.footer-social{justify-content:center}}

/* Quiet reading section: real, selected customer reviews, no auto carousel. */
.customer-reviews{padding:34px 0 44px;margin:0;scroll-margin-top:calc(var(--nav-h) + 20px)}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.reviews-heading .eyebrow{font-size:10px;margin-bottom:12px}
.reviews-heading h3{font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.15;letter-spacing:-.035em;color:var(--ink)}
.reviews-heading h3 span{color:var(--brand)}
.reviews-note{font-size:12px;line-height:1.7;color:var(--muted);max-width:24ch}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{margin:0;padding:28px 25px;background:white;border:1px solid #0050cf20;border-radius:20px;display:flex;flex-direction:column;box-shadow:0 9px 25px #0050cf05}
.review-stars{display:flex;gap:4px;color:var(--brand);margin-bottom:21px}
.review-stars svg{width:21px;height:21px;fill:currentColor}
.review-card blockquote{margin:0 0 27px;font-family:var(--f);font-size:14px;line-height:1.85;color:var(--ink);flex:1}
.review-card figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.review-initials{width:39px;height:39px;flex:none;display:grid;place-items:center;border-radius:50%;background:#eaf1ff;color:var(--brand);font-size:12px;font-weight:600}
.review-card strong{font-size:12px;font-weight:600;line-height:1.5;display:block}
.review-card small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}.reviews-heading{align-items:flex-start;flex-direction:column;gap:12px}.reviews-note{max-width:none}.review-card{padding:24px}.review-card blockquote{margin-bottom:20px}.customer-reviews{padding-block:24px 32px}}

/* Domicilio y privacidad */
.footer-location,.footer-legal{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:20px}
.footer-location address{font-style:normal;display:grid;gap:6px;font-size:13px}.footer-location strong{font-size:16px;color:var(--brand)}
.footer-location a,.footer-legal a{color:var(--brand);padding:12px 0;text-decoration:underline;text-underline-offset:4px}
.footer-legal{font-size:11px;padding-bottom:30px}.footer-legal span{color:var(--muted)}
@media(max-width:700px){.footer-location,.footer-legal{flex-direction:column;align-items:flex-start;gap:6px}.footer-location address{font-size:12px}}

/* A single hero rhythm, followed by a separate scroll-only family sequence. */
.business-window{height:auto;min-height:2.6em;font-size:clamp(17px,1.8vw,25px)}
.business-word{animation:none!important}
.family-run{padding:0;background:#fff;position:relative}
.family-run.is-pinned{height:calc(100svh - var(--nav-h) + var(--family-travel))}
.family-pin{padding:40px 0}
.family-run.is-pinned .family-pin{position:sticky;top:var(--nav-h);height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.family-heading{width:100%;margin:0 auto 32px}
.family-heading h2{font-size:clamp(26px,3vw,40px);max-width:24ch}
.family-heading>p:last-child{font-size:12px;color:var(--muted);margin-top:12px}
.family-run .mq{mask-image:none;padding:28px 24px;flex:none}
.family-run .mqrow{animation:none!important;will-change:transform}
.family-run .mqgroup{gap:36px;padding-right:24px}
.family-run .mqi{font-size:16px;white-space:normal;width:230px;flex:none;display:flex;flex-direction:column;text-align:center;gap:18px}
.family-run .mqi:after{display:none}.family-run .mqi img{height:82px;max-width:120px}
.customer-reviews{padding:22px 0 30px}.reviews-heading{margin-bottom:18px;gap:18px}
.reviews-heading h3{font-size:clamp(25px,2.5vw,33px)}
.review-card{padding:20px;border-radius:16px}.reviews-grid{gap:14px}
.review-stars{margin-bottom:14px}.review-stars svg{width:18px;height:18px}
.review-card blockquote{margin-bottom:18px;line-height:1.65}
.review-card figcaption{padding-top:13px;gap:9px}.review-initials{width:32px;height:32px}
@media(max-width:700px){.family-run .mqi{width:190px;font-size:14px}.family-heading{margin-bottom:20px}.family-run .mq{padding:24px 20px}.business-window{font-size:20px}}
@media(prefers-reduced-motion:reduce){.family-run .mqrow{transform:none!important;will-change:auto}.family-run .mqgroup{flex-wrap:wrap;justify-content:center;padding:0;gap:24px}.family-run .mqrow{width:100%}.family-run .mq{overflow:visible}.family-run .mqi{width:140px}}

/* Larger family portraits and one composed footer. */
.family-run .mqi{width:270px;gap:20px}.family-run .mqi img{width:220px;height:clamp(150px,24vh,230px);max-width:220px;object-fit:contain}
.family-run .mq{padding-block:22px}.family-run .family-heading{margin-bottom:22px}
.family-run.is-pinned .family-pin{justify-content:center;padding-block:24px}
#comprar{padding-bottom:24px}.buy .inf{border:0;padding-bottom:0}
.site-footer{border:0;padding:28px 0 48px}.site-footer>.wrap{display:grid;grid-template-columns:1fr 1fr .8fr;align-items:start;gap:32px}
.site-footer .footer-brand .lg{width:150px;height:auto!important;color:var(--brand)}.site-footer .footer-brand svg{width:100%;height:auto}
.footer-brand>p{font-size:12px;color:var(--muted);margin:14px 0 8px}
.site-footer .footer-social{border:0;padding:0;justify-content:flex-start;gap:4px}.site-footer .footer-social>span{display:none}.site-footer .footer-social svg{width:21px;height:21px}
.site-footer .footer-location,.site-footer .footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0;border:0}
.site-footer .footer-location address{font-size:12px;line-height:1.8}.site-footer .footer-location strong{font-size:15px}.site-footer .footer-location a{background:#edf3ff;border-radius:99px;padding:10px 18px;text-decoration:none;font-size:12px;font-weight:600}
.site-footer .footer-legal{font-size:11px;line-height:1.9}.site-footer .footer-legal a{padding:0}
@media(max-width:700px){.family-run .mqi{width:230px}.family-run .mqi img{width:185px;max-width:185px;height:170px}.site-footer>.wrap{grid-template-columns:1fr;gap:24px}.site-footer{padding-bottom:100px}}

/* V3: preserve approved geometry; refine the existing motion vocabulary. */
.hero #stage .sl{--entry-x:46px;--entry-y:22px;--entry-turn:-6deg}
.hero #stage .sl:nth-child(2n){--entry-x:30px;--entry-y:34px;--entry-turn:4deg}
.hero #stage .sl.on .fg{animation:prado-product-reveal 1.05s cubic-bezier(.16,1,.3,1) both}
@keyframes prado-product-reveal{
 0%{opacity:0;translate:calc(var(--entry-x)*var(--direction,1)) var(--entry-y);scale:.82;rotate:var(--entry-turn);clip-path:inset(0 0 100% 0)}
 48%{opacity:1;clip-path:inset(0);rotate:0deg}
 100%{opacity:1;translate:0 0;scale:1;rotate:0deg;clip-path:inset(0)}
}
.hero #stage .sl .bg{transform:scale(calc(1.04 + var(--depth,0)*.035)) translateX(calc(var(--depth,0)*-7px))}
.hero #stage .sl.on .cap{animation:prado-caption .55s ease both}
@keyframes prado-caption{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.mqi{text-decoration:none;color:inherit;outline-offset:-4px}
.mqi img{transform:scale(calc(.94 + var(--focus,0)*.12));transform-origin:50% 65%;filter:drop-shadow(0 10px 10px #0050cf12)}
.mqi span{color:color-mix(in srgb,var(--brand) calc(var(--focus,0)*100%),var(--muted));font-weight:500}
.mqi:focus-visible{outline:3px solid var(--brand);border-radius:12px}
.conversation-chip.one{--reveal:var(--step-one,0)}
.conversation-chip.two{--reveal:var(--step-two,0)}
.conversation-chip.three{--reveal:var(--step-three,0)}
.conversation-chip{opacity:var(--reveal);transform:translateY(calc((1 - var(--reveal))*24px)) scale(calc(.94 + var(--reveal)*.06))}
.volume-cube{--piece:clamp(0,calc((var(--scene-p,0) - var(--order)*.065)*3.5),1);opacity:var(--piece);transform:translate(calc(var(--dx)*var(--piece)),calc(var(--dy)*var(--piece))) scale(calc(.65 + var(--piece)*.35))}
.volume-cube:nth-child(5){opacity:1}
.dispatch-product{transform:translateX(calc((1 - var(--step-one,0))*-110px)) translateY(calc(var(--step-two,0)*14px)) scale(calc(1 - var(--step-two,0)*.23));height:240px}
.dispatch-package{position:absolute;width:260px;height:260px;fill:#0050cf08;stroke:var(--brand);stroke-width:2;z-index:3;opacity:var(--step-two,0);transform:translateY(35px)}
.dispatch-package path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--step-two,0))}
.dispatch-check{transform:scale(var(--step-three,0))}
.account-product{transform:translate(calc(var(--dx)*(1.45 - var(--step-two,0)*.45)),calc(var(--dy)*(1.45 - var(--step-two,0)*.45))) rotate(calc((1 - var(--step-one,0))*12deg));opacity:calc(.2 + var(--step-one,0)*.8)}
.relationship-art .relation-node.business{translate:calc((1 - var(--bond,0))*-18px) 0}
.relationship-art .relation-node.prado{translate:calc((1 - var(--bond,0))*18px) 0}
.relationship-art .relation-heart{scale:calc(.75 + var(--bond,0)*.25)}
@media(prefers-reduced-motion:reduce){
 .hero #stage .sl.on .fg,.hero #stage .sl.on .cap{animation:none!important;opacity:1;translate:none;scale:1;rotate:none;clip-path:none}
 .reason-panel{--step-one:1!important;--step-two:1!important;--step-three:1!important}
 .volume-cube{--piece:1!important}.mqi img{transform:none}.mqi span{color:var(--brand)}
 .relationship-art .relation-node{translate:none!important}
}

/* Keep the established cutout reveal, with a measured arrival and no bounce. */
.journey .car .sl.sc.on .fg{animation:prado-giro-reveal 1s cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){.journey .car .sl.sc.on .fg{animation:none!important;opacity:1;translate:none;scale:1;clip-path:none}}

/* Touch choreography: native sticky tracks, no wheel/touch interception. */
@media(max-width:900px){
 .hero-sticky{overflow:visible}
 .mobile-hero-run{min-width:0;width:100%}
 .mobile-hero-run.mobile-pinned,.mobile-giro-run.mobile-pinned{height:calc(var(--mobile-height) + var(--mobile-travel))}
 .mobile-hero-pin{background:#fff;padding-block:8px}
 .mobile-pinned>.mobile-hero-pin,.mobile-giro-run.mobile-pinned>.car{position:sticky;top:calc(var(--nav-h) + 8px)}
 .mobile-hero-pin .hero-visual{max-width:540px;margin:auto}
 .mobile-hero-pin .business-strip{padding:12px 0 14px;margin-top:12px;gap:8px}
 .mobile-hero-pin .business-strip h2{font-size:15px}
 .mobile-hero-pin .business-window{font-size:19px;min-height:2.3em;height:auto}
 .mobile-hero-pin .business-prefix{font-size:10px}
 .mobile-hero-pin .hero-controls{margin-top:12px}
 .journey .band{overflow:clip}
 .mobile-giro-run{min-width:0;position:relative;background:var(--brand)}
 .mobile-giro-run .car{height:clamp(240px,42svh,370px);min-height:0;border-radius:0 0 22px 22px}
}
@media(prefers-reduced-motion:reduce){
 .mobile-hero-run.mobile-pinned,.mobile-giro-run.mobile-pinned{height:auto}
 .mobile-pinned>.mobile-hero-pin,.mobile-giro-run.mobile-pinned>.car{position:relative;top:auto}
}

@media(max-width:900px){.hero h1 #rotw{display:block;min-height:2.16em!important}}
@media(max-width:430px){.hero h1 #rotw{min-height:3.24em!important}}
