/* logo */
.brand-logo{display:block;height:60px;width:auto}
.footer .brand-logo{height:110px}
@media(max-width:650px){.brand-logo{height:50px}.footer .brand-logo{height:92px}}

/* hero headline: slower, one line after the other */
.title-line{animation-duration:1.7s}
.title-one{animation-delay:.2s}
.title-two{animation-delay:.55s}
.title-three{animation-delay:.9s}

/* scroll reveal for the smaller pieces inside each section (added by home-motion.js).
   uses the standalone translate property so it never fights existing transforms */
.mx{opacity:0;translate:0 44px;transition:opacity 1.3s cubic-bezier(.22,1,.36,1),translate 1.5s cubic-bezier(.22,1,.36,1)}
.mx.mx-in{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.mx{opacity:1;translate:none;transition:none}}

/* layout fixes after trimming the homepage */
.story-step{grid-template-columns:30px 1fr}
@media(max-width:700px){.story-step{grid-template-columns:25px 1fr}}
.package-left{align-self:center}
.level-line{margin:20px 0 0}
.photo-tile figcaption{justify-content:flex-start}
.package-foot{justify-content:flex-start}
.hero-bottom{gap:0}
.package-room-head p{margin-right:134px}
@media(max-width:1000px){.package-room-head p{margin-right:0}}

/* homepage footer: contact + social */
.footer-contact{max-width:1240px;margin:0 auto;padding:38px 0 34px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-bottom:1px solid #ffffff2b}
.footer-city{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;color:#a2a59b}
.footer-city b{font:800 12px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:#f5f3eb;margin-bottom:4px}
.footer-city a{color:#d4d6cd;transition:color .3s}
.footer-city a:hover{color:var(--signal-red)}
.footer-city .footer-phone{font-size:21px;font-weight:700;color:#f5f3eb}
.social-row{display:flex;gap:12px}
.social-row a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff47;border-radius:50%;color:#f5f3eb;transition:background .35s,border-color .35s,transform .45s cubic-bezier(.22,1,.36,1)}
.social-row a:hover{background:var(--signal-red);border-color:var(--signal-red);color:#fff;transform:translateY(-3px)}
@media(max-width:800px){.footer-contact{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-social{grid-column:1/-1}}
@media(max-width:480px){.footer-contact{grid-template-columns:1fr}}
