/* 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 72px;transition:opacity 1.7s cubic-bezier(.22,1,.36,1),translate 1.9s cubic-bezier(.22,1,.36,1)}
.mx-l{translate:-90px 0}
.mx-r{translate:90px 0}
@media(max-width:800px){.mx-l,.mx-r{translate:0 56px}}
body{overflow-x:clip}
.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}}

/* shared contact form on the homepage */
.bp-contact label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b3b6ad}
.bp-contact input,.bp-contact textarea{font-size:16px}
.bp-contact textarea{min-height:150px;resize:vertical}
.bp-contact .form-submit:disabled{opacity:.6;cursor:wait}
.bp-status.ok{color:#7fe3a1}
.bp-status.err{color:#ff6b78}
.bp-book-online{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:50px;padding:0 22px;background:var(--signal-red);color:#11130f;font:700 15px/1 var(--body);transition:transform .5s cubic-bezier(.22,1,.36,1),background .3s}
.bp-book-online:hover{transform:translateY(-3px);background:#fff}
@media(max-width:700px){.bp-book-online{width:100%;justify-content:center}}
