/* Vitadrom offers: a photographic navigation and a more expressive offer gallery. */
:root { --chrome-height:178px; }
.chrome-top { grid-template-columns:auto 1fr auto auto; }
.service-bar { padding-bottom:12px; }
.service-links { grid-template-columns:repeat(7,minmax(0,1fr)) 1.18fr; gap:7px; padding:0; background:transparent; border:0; border-radius:0; }
.service-links .service-tab { display:block; min-height:77px; padding:0; overflow:hidden; isolation:isolate; background:#282e29; color:white; border:1px solid transparent; border-radius:8px; box-shadow:none; transition:translate .35s,box-shadow .35s,border-color .35s; }
.service-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.03); transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s; filter:saturate(.65); z-index:-2; }
.service-tab-photo::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#111812ee,#11181215); transition:background .4s; }
.service-label { position:absolute; left:10px; right:22px; bottom:10px; text-align:left; line-height:1.2; font-weight:600; }
.service-arrow { position:absolute; right:8px; bottom:10px; font-size:.875rem; opacity:.65; transition:translate .35s,opacity .35s; }
.service-links .service-tab:hover,.service-links .service-tab:focus-visible { background:#282e29; color:white; translate:0 -3px; box-shadow:0 6px 16px #20222020; }
.service-tab:hover .service-photo,.service-tab:focus-visible .service-photo { transform:scale(1.14); filter:saturate(1); }
.service-tab:hover .service-arrow,.service-tab:focus-visible .service-arrow { translate:1px -2px; opacity:1; }
.service-links .service-tab[aria-current=page] { color:white; background:#282e29; border-color:var(--red); box-shadow:inset 0 -3px var(--red); }
.service-links .service-tab-trial,.service-links .service-tab-trial[aria-current=page] { background:var(--red); color:white; box-shadow:none; }
.service-links .service-tab-trial:hover,.service-links .service-tab-trial:focus-visible { background:#92202b; }
.service-invitation { position:absolute; top:11px; left:10px; font-size:.75rem; font-weight:400; opacity:.8; }

/* A named, stateful switch replaces the unexplained Pause/Start button. */
.motion-control.chrome-motion,.motion-control.footer-motion { display:flex; align-items:center; gap:10px; padding:8px 0 8px 12px; min-height:40px; border:0; border-left:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; text-align:left; }
.motion-copy { display:grid; font-size:.875rem; line-height:1.3; }
[data-motion-state] { font-size:.75rem; color:var(--muted); }
.motion-switch { position:relative; display:block; width:34px; height:20px; border-radius:20px; background:#b1b6ac; flex:none; transition:background .25s; }
.motion-switch::after { content:''; position:absolute; width:14px; height:14px; top:3px; left:3px; border-radius:50%; background:white; box-shadow:0 1px 3px #0002; transition:translate .25s; }
[data-motion-toggle][aria-checked=true] .motion-switch { background:var(--red); }
[data-motion-toggle][aria-checked=true] .motion-switch::after { translate:14px 0; }
[data-motion-toggle]:disabled { opacity:.65; cursor:default; }
.motion-control.footer-motion { padding-left:0; border:0; }

/* Full-image cards retain their original headings, descriptions and destinations. */
.program-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; padding-bottom:28px; }
.program:nth-child(n) { display:flex; flex-direction:column; justify-content:flex-end; min-height:440px; padding:30px 25px; border:0; border-radius:13px; background:#272e28; color:white; transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .5s ease,box-shadow .45s ease; }
.program:nth-child(3n+2) { margin-top:30px; }
.program img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; aspect-ratio:auto; margin:0; object-fit:cover; filter:saturate(.83); transform:translate3d(0,var(--photo-shift,0px),0) scale(1.08); transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s; }
.program::after { display:block; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#101911f7 0%,#101911b5 35%,#10191108 78%); }
.program::before { content:''; position:absolute; left:25px; right:25px; top:70px; height:1px; background:#ffffff50; transform:scaleX(.15); transform-origin:left; transition:transform .6s; }
.program-num { position:absolute; top:25px; left:25px; padding:0; color:white; font-size:.875rem; }
.program-arrow { top:17px; right:17px; bottom:auto; width:37px; height:37px; border-color:#ffffff70; color:white; background:#ffffff0d; }
.program-copy { padding:0; position:relative; }
.program-copy h3 { margin:0 0 1rem; font-size:clamp(1.75rem,2.5vw,2.8rem); line-height:1.1; font-weight:500; }
.program-copy p { margin:0; max-width:34ch; font-size:1rem; color:#e3e8df; line-height:1.6; }
.program:hover,.program:focus-visible { box-shadow:0 22px 40px #20222024; }
.program:hover img,.program:focus-visible img { transform:translate3d(0,var(--photo-shift,0px),0) scale(1.14); filter:saturate(1); }
.program:hover::before,.program:focus-visible::before { transform:scaleX(1); }
.program:hover .program-arrow,.program:focus-visible .program-arrow { background:white; color:var(--red); border-color:white; transform:rotate(0deg) translate(2px,-2px); }
.motion-enhanced .program[data-motion-part] { transition:opacity .8s,translate 1.1s cubic-bezier(.2,.75,.15,1),clip-path 1.1s,transform .55s,box-shadow .45s; transition-delay:var(--part-delay,0ms),var(--part-delay,0ms),var(--part-delay,0ms),0ms,0ms; }
.motion-enhanced .program[data-motion-part]:not(.part-visible) { translate:0 75px; clip-path:inset(0 0 16% 0 round 13px); transform:perspective(1100px) rotateX(7deg) scale(.97); }
.motion-enhanced .program[data-motion-part].part-visible { clip-path:inset(0 round 13px); }

/* More movement around the existing scroll sequences, without taking over scrolling. */
.hero-stage .reel-side-left { animation:photo-float 7s ease-in-out infinite alternate; }
.hero-stage .reel-side-right { animation:photo-float 8s 1s ease-in-out infinite alternate-reverse; }
@keyframes photo-float { from { translate:0 -7px; } to { translate:0 9px; } }
.text-link span { display:inline-block; transition:translate .3s; }
.text-link:hover span { translate:6px 0; }
.button { position:relative; overflow:hidden; isolation:isolate; }
.button::after { content:''; position:absolute; top:-50%; bottom:-50%; width:35%; left:-60%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,#ffffff24,transparent); transition:left .65s; pointer-events:none; }
.button:hover::after,.button:focus-visible::after { left:130%; }
.section-head .display { position:relative; }
.section-head .display::after { content:''; display:block; width:86px; height:3px; background:var(--red); margin-top:1.2rem; transform:scaleX(clamp(0,(var(--scene-progress,0) - .05) * 3,1)); transform-origin:left; }

/* Trusted WhatsApp brand silhouette, not a text substitute. */
.whatsapp { background:#25d366; color:#073b1b; border:1px solid #ffffff90; padding:13px 18px 13px 14px; gap:9px; font-size:.875rem; font-weight:600; box-shadow:0 8px 28px #103b1b24; transition:translate .3s,box-shadow .3s,opacity .3s; }
.whatsapp .whatsapp-logo { width:28px; height:28px; filter:brightness(0) invert(1); flex:none; }
.whatsapp:hover,.whatsapp:focus-visible { translate:0 -4px; box-shadow:0 13px 32px #103b1b35; }
.conversion-rail .whatsapp-contact { display:flex; gap:12px; align-items:center; }
.whatsapp-contact .whatsapp-logo { width:28px; height:28px; flex:none; }

@media(max-width:1100px) {
 .service-links { gap:5px; }.service-label { left:7px; right:18px; }.service-arrow { right:5px; }.service-invitation { left:7px; }
 .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.program:nth-child(n) { min-height:420px; margin-top:0; }.program:nth-child(even) { margin-top:24px; }
}
@media(max-width:760px) {
 :root { --chrome-height:226px; }
 .chrome-top { grid-template-columns:minmax(0,1fr) auto; padding:9px 13px; gap:7px 12px; }
 .chrome-top .brand { grid-column:1; grid-row:1; }.chrome-phone { grid-column:2; grid-row:1; justify-self:end; }
 .always-address { grid-column:1; grid-row:2; order:0; line-height:1.3; }.address-line { font-size:.875rem; }
 .motion-control.chrome-motion { grid-column:2; grid-row:2; padding:0 0 0 9px; gap:7px; min-height:37px; }
 .motion-copy { font-size:.875rem; }.motion-switch { width:30px; height:18px; }.motion-switch::after { width:12px; height:12px; }
 [data-motion-toggle][aria-checked=true] .motion-switch::after { translate:12px 0; }
 .service-bar { padding:0 7px 8px; }.service-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
 .service-links .service-tab { min-height:58px; padding:0; border-radius:6px; }
 .service-label { left:6px; right:6px; bottom:7px; font-size:.875rem; }.service-arrow,.service-invitation { display:none; }
 .service-tab-trial .service-label { top:0; bottom:0; display:flex; align-items:center; }
 .program-grid { grid-template-columns:1fr; padding-bottom:0; gap:18px; }.program:nth-child(n) { margin:0; min-height:435px; padding:27px; }.program-copy h3 { font-size:2.25rem; }
 .program img { aspect-ratio:auto; }.whatsapp { padding:13px; }.whatsapp b { display:none; }
 .hero-stage .reel-side { animation-duration:9s; }
}
.motion-paused .program { transform:none!important; }.motion-paused .program img { transform:none!important; }
.motion-paused .hero-stage .reel-side { animation:none; translate:none; }.motion-paused .section-head .display::after { transform:none; }
@media(prefers-reduced-motion:reduce) {
 .program { transform:none!important; }.program img { transform:none!important; }
 .hero-stage .reel-side { animation:none; translate:none; }.section-head .display::after { transform:none; }
}
