html { font-family: var(--font-family-body); color: var(--color-on-surface); background: var(--color-surface); scroll-behavior: smooth; }
body { margin:0; font-family:var(--font-family-body); font-size:var(--font-size-base); line-height:var(--line-height-body); background:var(--color-surface); color:var(--color-on-surface); }
*, *::before, *::after { box-sizing:border-box; }
img { max-width:100%; height:auto; }
main { display:block; min-width:0; }
main section { scroll-margin-top:1.5rem; }
h1,h2,h3,h4 { font-family:var(--font-family-heading); }
.hero-title { font-size:var(--font-size-4xl); }
.section-title { font-size:var(--font-size-3xl); }
main h3 { font-size:var(--font-size-2xl); }
a { color:inherit; text-decoration:none; }
a:visited { color:inherit; }
a:hover { text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid #977148; outline-offset:5px; }
a:active { text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.contact-text { cursor:text; overflow-wrap:anywhere; }
.site-header { width:100%; background:var(--color-surface); color:var(--color-primary); border-bottom:1px solid var(--color-border); position:relative; z-index:50; }
.site-header-inner { max-width:var(--content-max-width); margin-inline:auto; padding:1.25rem 2.25rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-brand { display:flex; align-items:center; gap:.65rem; flex-shrink:0; font-family:var(--font-family-heading); font-size:1.45rem; letter-spacing:-.02em; }
.site-brand svg { flex:none; }
.site-navigation { display:flex; align-items:center; gap:1.2rem; font-weight:600; font-size:.92rem; }
.site-navigation>a { padding:.55rem 0; white-space:nowrap; }
.site-navigation>a:not(.header-cta):hover,.site-navigation>a:not(.header-cta)[aria-current=page] { color:var(--color-secondary); box-shadow:0 1px currentColor; }
.site-navigation .header-cta,.site-navigation .header-cta:visited { padding:.7rem 1.15rem; border-radius:var(--border-radius-full); background:var(--color-primary); color:#fff; display:inline-flex; gap:.65rem; align-items:center; }
.site-navigation .header-cta:hover,.site-navigation .header-cta:focus { background:#344b69; color:white; }
.menu-toggle { display:none; padding:.65rem; min-width:44px; min-height:44px; border:1px solid var(--color-border); border-radius:.5rem; background:transparent; }
.menu-toggle span { width:22px; height:2px; background:currentColor; display:block; margin:4px 0; transition:transform .2s; }
.skip-link { position:absolute; top:-100px; left:1rem; z-index:100; padding:.6rem 1rem; background:var(--color-primary); color:white; }
.skip-link:focus { top:1rem; color:white; }
.content-inner { width:100%; max-width:var(--content-max-width); margin-inline:auto; padding-inline:2.25rem; }
.night-guide { padding:var(--spacing-3xl) 0; background:var(--color-surface-tint); }
.night-guide h2 { margin-bottom:2rem; }
.night-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.night-guide article { padding:1.5rem; border:1px solid var(--color-border); border-radius:var(--border-radius-card); background:var(--color-surface); }
.night-guide h3 { margin-bottom:.75rem; }
.legal-main { padding-block:var(--spacing-3xl); max-width:60rem; min-height:50vh; }
.legal-main h1 { margin:.7rem 0 1rem; }
.legal-date { color:var(--color-on-surface-secondary); margin-bottom:2rem; }
.legal-main section { margin-top:2.25rem; }
.legal-main h2 { margin-bottom:.75rem; }
.eyebrow { font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; color:var(--color-secondary); }
.company-details { padding:1.5rem 0; border-top:1px solid currentColor; border-bottom:1px solid currentColor; font-size:.9rem; line-height:1.7; overflow-wrap:anywhere; }
.company-details p+p { margin-top:.35rem; }
.legal-main .company-details { border-color:var(--color-border); background:var(--color-surface-tint); border-radius:var(--border-radius-card); padding:1.5rem; }
.contact-legal { padding-block:var(--spacing-3xl); }
.contact-legal h2 { margin-bottom:1.5rem; }
.legal-related { margin-top:2rem; }
.legal-related a,.text-link { color:var(--color-secondary); border-bottom:1px solid currentColor; }
.legal-related a:visited,.text-link:visited { color:var(--color-secondary); }
.legal-related a:hover,.legal-related a:focus,.text-link:hover { color:var(--color-primary); }
.veralunethoriax-footer { width:100%; min-height:0; }
.veralunethoriax-footer-credit { display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; }
.veralunethoriax-footer-bottom { flex-wrap:wrap; gap:1.5rem; }
.veralunethoriax-footer .company-details { margin-top:2rem; border-color:#8c98a5; color:#f5f1e7; }
.veralunethoriax-footer address { font-style:normal; }
.form-note,.form-status { font-size:.9rem; line-height:1.6; }
.form-status:not(:empty) { border-left:3px solid var(--color-primary); padding:1rem; background:var(--color-surface-tint); }
.guide-intro { font-size:var(--font-size-base); line-height:1.65; max-width:44rem; margin-top:1rem; }
.experiences-directory-rail-wrap { max-width:var(--content-max-width); margin-inline:auto; }
.experiences-directory-rail { padding-inline:var(--spacing-xl); }
@media (max-width:1150px) {
 .site-header-inner { flex-wrap:wrap; gap:0; }
 .menu-toggle { display:block; }
 .site-navigation { width:100%; flex-direction:column; align-items:stretch; gap:.25rem; padding:1.5rem 0 .25rem; }
 .site-navigation>a { padding:.7rem .5rem; }
 .site-navigation .header-cta { justify-content:center; margin-top:.5rem; }
 .js .site-navigation:not(.is-open) { display:none; }
 .menu-toggle[aria-expanded=true] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
 .menu-toggle[aria-expanded=true] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}
@media (max-width:767px) {
 .hero-section,.hero-title,.section-title { overflow-wrap:anywhere; word-break:break-word; white-space:normal; }
 .site-header-inner { padding:1rem; }
 .site-brand { font-size:1.2rem; gap:.5rem; }
 .site-brand svg { width:26px; height:26px; }
 .content-inner { padding-inline:1.25rem; }
 .night-guide-grid { grid-template-columns:1fr; gap:1rem; }
 .night-guide article { padding:1.25rem; }
 .company-details { font-size:.85rem; }
 .legal-main .company-details { padding:1rem; }
 .veralunethoriax-footer-credit { flex-direction:column; align-items:flex-start; }
 .pedido-form-row { flex-wrap:wrap; }
 input,textarea { min-width:0; max-width:100%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
/* The scrollable rails retain start alignment when overflowing so all cards remain reachable. */
.living-moments-track,.experiences-directory-rail,.exp-directory-track { min-width:100%; justify-content:safe center; }
.stay-amenities-track,.nature-trails-rail { justify-content:safe center; touch-action:pan-x pan-y; }
.veralunethoriax-footer .contact-text:hover,.veralunethoriax-footer-nav-link:hover,.veralunethoriax-footer-legal-link:hover { color:#f5e2bf; }
.veralunethoriax-footer-icon { color:#d4c3a1; }
.veralunethoriax-footer-legal-link,.veralunethoriax-footer-copyright { color:#d4d9e1; }
.veralunethoriax-footer-credit { overflow:visible; }
@media (max-width:767px) {
 .veralunethoriax-footer-inner { padding-inline:1.25rem; gap:2rem; }
 .night-guide-grid { min-width:0; }
 .night-guide-grid>* { min-width:0; }
}
