/* Motion enhancements: content remains visible when JavaScript is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  .slide-copy.active { animation: copy-enter .85s cubic-bezier(.22,1,.36,1) both; }
  .hero-visual { overflow: hidden; }
  .hero-image.active { animation: photo-enter 1.4s cubic-bezier(.22,1,.36,1) both; }
  .hero-copy > .eyebrow, .hero-actions, .hero-local, .image-caption {
    animation: copy-enter .9s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-actions { animation-delay: .12s; }
  .hero-local, .image-caption { animation-delay: .2s; }
  .reveal.in-view { animation: none; }
  .navigation.open { animation: menu-enter .32s cubic-bezier(.22,1,.36,1) both; }
  .btn, .text-link span, .plan-enquire span, .whatsapp, .director img {
    transition: transform .45s var(--elastic), box-shadow .3s ease, background-color .25s ease;
  }
  .btn:active:not([aria-disabled="true"]), .filters button:active { transform: scale(.97); }
  .faq-wrap details[open] > p { animation: copy-enter .35s ease both; }
  @media (hover: hover) and (pointer: fine) {
    .text-link:hover span, .plan-enquire:hover span { transform: translateX(4px); }
    .whatsapp:hover { transform: translateY(-4px); box-shadow: 0 10px 26px #092d2233; }
    .director:hover img { transform: translateY(-4px); box-shadow: 0 12px 28px #092d221a; }
  }
}
@keyframes copy-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes photo-enter { from { opacity: .4; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@keyframes menu-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

/* Horizontal scroll chapter, adapted from the supplied video. */
.scheme-runway{position:relative;margin:28px 0 12px}
.scheme-pin{position:relative;top:0}
.scheme-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--mid) var(--line);padding:14px 2px 24px;overscroll-behavior-x:contain}
.scheme-viewport .plans-grid{display:flex;position:relative;gap:22px;width:100%;align-items:stretch}
.scheme-viewport .plan{flex:0 0 min(330px,82vw);scroll-snap-align:start;min-width:0;margin:0}
.scheme-viewport:focus-visible{outline:2px solid var(--mid);outline-offset:5px}
.scheme-runway.is-pinned .scheme-pin{position:sticky;top:120px}
.scheme-runway.is-pinned .scheme-viewport{overflow:hidden;scroll-snap-type:none}
.scheme-runway.is-pinned .plans-grid{will-change:transform}
.gallery-controls{display:flex;align-items:center;gap:12px;padding:15px 0 8px;font-size:12px;color:var(--muted)}
.gallery-controls>span:first-child{margin-right:auto}
.gallery-controls button{border:1px solid var(--line);border-radius:50%;background:white;color:var(--green);width:44px;height:44px;flex-shrink:0;font-size:20px;transition:background .25s,transform .35s var(--elastic)}
.gallery-controls button:hover:not(:disabled){background:var(--gold);transform:translateY(-2px)}
.gallery-controls button:disabled{opacity:.35;cursor:default}
.gallery-progress{height:2px;background:var(--line);width:100px;overflow:hidden}
.gallery-progress i{display:block;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
.motion-ribbon{position:relative;background:var(--green);color:var(--gold);overflow:hidden;padding:25px 0 55px;border-bottom:1px solid #ffffff22}
.ribbon-track{display:flex;width:max-content;animation:ribbon-drift 34s linear infinite}
.ribbon-track>span{flex:none;white-space:nowrap;font:clamp(20px,2.5vw,32px)/1.4 Georgia,serif;padding-right:24px}
html[lang^="kn"] .ribbon-track>span{font-family:"Nirmala UI",Tunga,sans-serif}
.motion-ribbon button{position:absolute;right:24px;bottom:10px;padding:4px 12px;border:1px solid #ffffff77;border-radius:20px;background:var(--green);color:white;font-size:11px}
.motion-ribbon:hover .ribbon-track,.motion-ribbon:focus-within .ribbon-track,.motion-ribbon.is-paused .ribbon-track,.motion-ribbon.is-offscreen .ribbon-track{animation-play-state:paused}
@keyframes ribbon-drift{to{transform:translateX(-50%)}}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){
 .steps-grid{align-items:start;padding-bottom:36px}
 .steps-grid>*:nth-child(even){margin-top:44px}
 .about-photo>img{transition:transform 1s cubic-bezier(.22,1,.36,1)}
 .about-photo:hover>img{transform:scale(1.015)}
}
@media(max-width:560px){.gallery-progress{display:none}.gallery-controls{gap:8px}.gallery-controls>span:first-child{max-width:190px}.motion-ribbon{padding-top:20px}.scheme-viewport .plan{padding:25px}.scheme-viewport .plan-top{display:flex}.scheme-viewport .plan h3{font-size:35px}.scheme-viewport .plan-enquire{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none}.motion-ribbon button{display:none}.scheme-viewport{scroll-behavior:auto}}
