/* Autonomous film; the saved scroll variant remains unchanged. */

/* Mobile services use native horizontal scrolling, with no pinned vertical detour. */
.mobile-contact-dock{display:none}
@media(max-width:600px){
 .autoplay-variant .horizontal-services{height:auto}
 .autoplay-variant .services-stage{position:relative;height:auto;min-height:0;padding:48px 0 90px;overflow:hidden}
 .autoplay-variant .services-heading{margin-bottom:22px}
 .autoplay-variant .services-heading .section-title{font-size:clamp(28px,8vw,37px)}
 .autoplay-variant .service-nav-buttons button{height:44px;width:44px}
 .autoplay-variant .service-reel{height:auto;min-height:0;display:flex;gap:16px;padding:0 7vw 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:7vw;overscroll-behavior-x:contain;scrollbar-width:none}
 .autoplay-variant .service-reel::-webkit-scrollbar{display:none}
 .autoplay-variant .service-slide{position:relative;inset:auto;flex:0 0 86vw;width:86vw;height:auto;min-height:0;grid-template-rows:clamp(150px,44vw,190px) 1fr;transform:none;opacity:1;scroll-snap-align:center;will-change:auto}
 .autoplay-variant .slide-info{padding:22px 23px}
 .autoplay-variant .slide-info h3{font-size:clamp(26px,7.3vw,29px)}
 .autoplay-variant .slide-info .text-link{min-height:44px;margin-top:10px;padding:9px 0}
 .autoplay-variant .slide-video-toggle{min-height:44px}
 .autoplay-variant .service-markers button{min-height:44px}
 .autoplay-variant .service-scroll-hint{display:none}
 .mobile-service-hint{display:block;font-size:11px;color:#61636b;margin-top:10px}
 .mobile-contact-dock:not([hidden]){position:fixed;z-index:40;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1.5fr 1fr;gap:8px;padding:7px;background:#101112f5;border:1px solid #ffffff25;border-radius:18px;box-shadow:0 8px 32px #0003}
 .mobile-contact-dock a{display:flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border-radius:11px;font-size:14px;text-decoration:none;color:white}
 .mobile-contact-dock a:first-child{background:#c31930}
 .mobile-contact-dock a:last-child{border:1px solid #ffffff3d}
 .mobile-contact-dock a:focus-visible{outline:3px solid white;outline-offset:2px}
 html{scroll-padding-bottom:90px}
 .autoplay-variant a,.autoplay-variant button,.autoplay-variant summary{scroll-margin-bottom:90px}
 .autoplay-variant.is-reduced .service-reel,html:not(.js) .autoplay-variant .service-reel{display:grid;overflow:visible;padding:0 var(--gutter);scroll-snap-type:none}
 .autoplay-variant.is-reduced .service-slide,html:not(.js) .autoplay-variant .service-slide{width:100%;min-height:0}
 .autoplay-variant.is-reduced .mobile-service-hint,html:not(.js) .mobile-service-hint{display:none}
}
@media(min-width:601px){.mobile-service-hint{display:none}}


/* Budget requests go directly to the existing workshop channels. */
.autoplay-variant #slide-lunas .editorial-photo{object-position:50% 45%}
#presupuesto{scroll-margin-top:calc(var(--header) + 28px)}
.budget-contact{padding-bottom:95px}
.budget-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,8vw,130px);align-items:center}
.budget-copy>p{font-size:clamp(21px,2.3vw,32px);line-height:1.4;letter-spacing:-.03em}
.budget-steps{padding:0;margin:38px 0 0;list-style:none;max-width:510px}
.budget-steps li{display:flex;gap:22px;padding:18px 0;border-top:1px solid #ffffff40}
.budget-steps li>span{font-size:11px;letter-spacing:.07em;margin-top:5px;color:#ffe2e7}
.budget-steps strong{font-weight:500;font-size:17px}
.budget-steps p{font-size:14px;line-height:1.55;color:#ffe7eb;max-width:370px;margin-top:7px}
.budget-channel-label{font-size:10px;letter-spacing:.14em;margin-bottom:18px;color:#fff1f3}
.budget-channels .button{width:100%;display:flex;justify-content:space-between;text-align:left;gap:20px;padding:23px 27px;border-radius:16px;font-size:18px}
.budget-channels .button small{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:7px}
.budget-whatsapp small{color:#5a5a61}
.budget-channels .budget-call{border:1px solid #ffffff8c;background:transparent;color:white;margin-top:14px}
.budget-call small{color:#ffe2e8}
.budget-channels .budget-call:hover{background:#ffffff18}
.budget-hours{font-size:12px;line-height:1.8;color:#ffe7eb;margin-top:25px}
@media(max-width:700px){
 .budget-contact h2{font-size:clamp(40px,11.5vw,82px)}
 .budget-layout{grid-template-columns:1fr;gap:38px}
 .budget-contact{padding-bottom:55px}
 .budget-channels .button{font-size:16px;padding:20px 22px}
 .budget-steps{margin-top:30px}
}

.autoplay-variant .cinema{height:auto;min-height:100svh}
.autoplay-variant .header{background:#101112a6}
.autoplay-variant .cinema-stage{position:relative;height:100svh}
#cinema-video{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-fit:contain;transform:scale(var(--video-scale,1));opacity:0;background:#101112}
.video-ready #cinema-video{opacity:1}
.autoplay-variant.is-reduced #cinema-pause{display:inline-flex}
@media(max-width:600px){.autoplay-variant .cinema{height:auto}.autoplay-variant .cinema-stage{min-height:620px}}
@media(prefers-reduced-motion:reduce){.autoplay-variant .cinema-stage{position:relative}}

/* Editorial photographs: finite motion on an inner layer, independent of the service rail. */
.autoplay-variant .slide-visual .editorial-photo{transform:scale(1.035)}
.autoplay-variant .service-slide.is-current .editorial-photo{animation:vr-photo-settle 3.6s cubic-bezier(.2,.65,.25,1) both}
.autoplay-variant #slide-faros .editorial-photo{object-position:50% 63%}
.autoplay-variant #slide-color .editorial-photo{object-position:50% 53%}
.autoplay-variant .craft-intro{font-size:clamp(17px,1.5vw,21px);line-height:1.65;color:#b7b8be;margin-top:30px}
.autoplay-variant .detail-grid{gap:clamp(24px,5vw,80px);grid-template-columns:1.12fr 1fr}
.autoplay-variant .photo-frame{overflow:hidden;border-radius:16px;background:#202124;aspect-ratio:4/5}
.autoplay-variant .detail-grid .editorial-photo{display:block;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;filter:none}
.autoplay-variant .craft-photo.visible .editorial-photo{animation:vr-photo-settle 4s cubic-bezier(.2,.65,.25,1) both}
.autoplay-variant .craft-photo figcaption{display:flex;flex-direction:column;gap:10px;border-top:1px solid #3b3c40;padding-top:20px}
.autoplay-variant .craft-photo figcaption span{font-size:11px;letter-spacing:.1em;color:#b2b3bb}
.autoplay-variant .craft-photo figcaption strong{font-weight:400;font-size:clamp(17px,1.6vw,24px);letter-spacing:-.02em;color:#f5f5f7}
@keyframes vr-photo-settle{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(max-width:600px){
 .autoplay-variant .detail-grid{grid-template-columns:1fr;gap:38px}
 .autoplay-variant .detail-grid figure:nth-child(2){margin-top:0}
 .autoplay-variant .photo-frame{aspect-ratio:4/5}
 .autoplay-variant #slide-faros .editorial-photo{object-position:50% 65%}
 .autoplay-variant .craft-photo figcaption{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .autoplay-variant .editorial-photo{animation:none!important;transform:none!important}
}
