/* Compact footer shared by the original website. */
footer.practical-footer { background:linear-gradient(135deg,#3d5138,#586d4c); color:#fff8eb; padding:2rem 2rem 1.4rem; position:relative; overflow:hidden; scroll-margin-top:1rem; }
.practical-inner { max-width:1120px; margin:0 auto; position:relative; z-index:1; }
.compact-footer-grid { display:grid; grid-template-columns:minmax(0,1fr) max-content max-content; column-gap:2.5rem; row-gap:1rem; align-items:start; }
.compact-footer-brand .compact-brand-name { font:400 2.2rem/1.2 'Playfair Display',serif; letter-spacing:.03em; margin:0 0 .65rem; }
.compact-footer-brand p { font-size:.88rem; line-height:1.8; }
.compact-footer-links { list-style:none; margin:0; padding:0; font-size:.88rem; }
.compact-footer-links li + li { margin-top:.15rem; }
.compact-footer-links a { display:inline-block; padding:.25rem 0; color:#fff8eb; text-decoration:none; text-underline-offset:4px; }
.compact-footer-links a:hover { text-decoration:underline; }
.practical-footer a:focus-visible { outline:3px solid #fff8eb; outline-offset:5px; }
.practical-bottom { margin-top:1.4rem; border-top:1px solid rgba(255,248,235,.25); padding-top:1.2rem; font-size:.74rem; line-height:1.7; }
/* Practical details live on the contact page. */
.arrival-panel { max-width:1120px; margin:2.5rem auto; padding:2rem; display:grid; grid-template-columns:.8fr 1.3fr; gap:3rem; background:rgba(255,252,246,.78); border:1px solid rgba(73,80,69,.16); border-radius:18px; scroll-margin-top:1.5rem; }
.arrival-eyebrow { color:#765773; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:.75rem; }
.arrival-panel h2 { color:#495045; font-size:2rem; line-height:1.3; margin-bottom:1rem; }
.arrival-panel p:not(.arrival-eyebrow) { font-size:.9rem; line-height:1.85; color:#495045; }
.arrival-copy details { margin-top:1.3rem; padding:1rem 0; border-block:1px solid rgba(73,80,69,.18); }
.arrival-copy summary { cursor:pointer; font-size:.92rem; color:#495045; font-weight:500; }
.arrival-copy details p { margin:1rem 0 .6rem; }
.arrival-copy a { font-size:.85rem; color:#765773; text-underline-offset:4px; }
.arrival-route { display:inline-block; margin-top:1.1rem; padding:.5rem 0; text-decoration:none; font-weight:500; }
.arrival-route:hover { text-decoration:underline; }
.arrival-panel a:focus-visible,.arrival-panel summary:focus-visible { outline:3px solid #765773; outline-offset:5px; }
@media(max-width:768px) { .compact-footer-grid { grid-template-columns:1fr 1fr; gap:1rem 1.5rem; } .compact-footer-brand { grid-column:1/-1; } .arrival-panel { grid-template-columns:1fr; gap:1.5rem; padding:1.4rem; } }
@media(max-width:450px) { footer.practical-footer { padding:2rem 1.4rem 1.4rem; } .compact-footer-grid { grid-template-columns:1fr; gap:.6rem; } .compact-footer-links li + li { margin-top:.15rem; } }

/* Align navigation with the brand description and keep legal links together. */
.compact-footer-links { padding-top:3.29rem; line-height:1.8; }
.compact-footer-links li + li { margin-top:0; }
.compact-footer-links a { padding:0; }
.practical-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem 2rem; }
.practical-bottom p { margin:0; font-size:inherit; line-height:inherit; }
.footer-legal { display:flex; flex-wrap:wrap; gap:.6rem 2rem; }
.footer-legal a { color:inherit; text-decoration:none; text-underline-offset:4px; }
.footer-legal a:hover { text-decoration:underline; }
@media(max-width:768px) { .compact-footer-links { padding-top:0; } .practical-bottom { align-items:flex-start; flex-direction:column; } }

/* Simplified footer: one brand block and consistently aligned legal controls. */
.practical-footer .compact-footer-grid { display:block; }
.practical-footer .footer-legal { align-items:center; }
.practical-footer .footer-legal a,
.practical-footer .footer-legal button { display:inline-flex; align-items:center; margin:0; padding:.4rem 0; border:0; border-radius:0; background:none; color:inherit; font:inherit; line-height:1.7; text-decoration:none; vertical-align:middle; cursor:pointer; }
.practical-footer .footer-legal a:hover,
.practical-footer .footer-legal button:hover { text-decoration:underline; text-underline-offset:4px; }
.practical-footer .footer-legal button:focus-visible { outline:3px solid #fff8eb; outline-offset:5px; }

/* Compact horizontal brand lockup, matching the approved footer reference. */
footer.practical-footer { padding:1.8rem 2rem 1.3rem; }
.practical-footer .compact-footer-brand { display:flex; align-items:baseline; gap:.65rem; flex-wrap:wrap; }
.practical-footer .compact-footer-brand .compact-brand-name { margin:0; }
.practical-footer .compact-footer-brand p { margin:0; line-height:1.4; }
.practical-footer .practical-bottom { margin-top:.65rem; padding-top:.8rem; gap:.5rem 1.5rem; }
.practical-footer .copyright-rights { display:inline-block; margin-left:.7rem; }
.practical-footer .footer-legal { gap:.3rem 1.7rem; }
@media(max-width:768px) { .practical-footer .practical-bottom { gap:.7rem; } }
@media(max-width:450px) { footer.practical-footer { padding:1.5rem 1.4rem 1.2rem; } .practical-footer .compact-footer-brand { gap:.3rem .65rem; } .practical-footer .footer-legal { gap:.25rem 1.1rem; } .practical-footer .copyright-rights { margin-left:0; } }
