/* =========================================================
   Accessibility (IS 5568 / WCAG 2.1 AA)
   ========================================================= */
.skip-link { position: fixed; top: -6rem; inset-inline-start: 1rem; z-index: 2000; background: var(--navy); color: var(--cream); padding: .8rem 1.2rem; border-radius: 2px; font-weight: 700; transition: top .3s; }
.skip-link:focus { top: 1rem; outline: 2px solid var(--gold); }

.a11y-btn { position: fixed; bottom: 1.2rem; inset-inline-start: 1.2rem; z-index: 600; width: 54px; height: 54px; border-radius: 50%; background: var(--navy); color: var(--cream); display: grid; place-items: center; border: 2px solid var(--gold); box-shadow: 0 12px 30px -8px rgba(19,26,51,.5); }
.a11y-btn svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.a11y-btn svg circle { fill: currentColor; stroke: none; }
.a11y-panel { position: fixed; bottom: 5.6rem; inset-inline-start: 1.2rem; z-index: 600; width: min(22rem, calc(100% - 2.4rem)); background: var(--cream); color: var(--ink); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.45); padding: 1rem; }
.a11y-panel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.a11y-panel__head h3 { font-size: 1rem; }
.a11y-panel__close { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; }
.a11y-panel__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.a11y-panel__grid button { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .7rem .4rem; border: 1px solid var(--line); border-radius: 4px; font-size: .78rem; font-weight: 600; background: #fff; text-align: center; line-height: 1.3; transition: background .2s, color .2s; }
.a11y-panel__grid button i { font-style: normal; font-family: 'Outfit', var(--font); font-size: 1.1rem; font-weight: 700; color: var(--gold-dark); direction: ltr; }
.a11y-panel__grid button[aria-pressed="true"] { background: var(--navy); color: var(--cream); border-color: var(--navy); }
.a11y-panel__grid button[aria-pressed="true"] i { color: var(--gold); }
.a11y-panel__foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .8rem; font-size: .8rem; }
.a11y-panel__foot a, .a11y-panel__foot button { text-decoration: underline; text-underline-offset: 3px; color: var(--gold-dark); font-weight: 600; }

/* High contrast */
html.a11y-contrast { --cream: #000; --sand: #000; --sand-deep: #000; --navy: #000; --navy-deep: #000; --navy-soft: #000; --ink: #fff; --ink-soft: #fff; --muted: #ffe066; --muted-light: #ffe066; --gold: #ffd400; --gold-dark: #ffd400; --champagne: #ffe066; --line: rgba(255,255,255,.45); --line-light: rgba(255,255,255,.45); }
html.a11y-contrast .header.is-solid { background: #000; color: #fff; }
html.a11y-contrast .amenity:hover, html.a11y-contrast .a11y-panel__grid button { background: #000; color: #fff; }
html.a11y-contrast .a11y-panel__grid button[aria-pressed="true"] { background: #ffd400; color: #000; }
html.a11y-contrast .btn { color: #000; }
html.a11y-contrast .btn--outline { color: #fff; border-color: #fff; }
html.a11y-contrast .form__status.is-error { background: #3a0000; color: #ffb3a7; }
html.a11y-contrast .hero__overlay { background: rgba(0,0,0,.6); }
html.a11y-contrast .field input, html.a11y-contrast .field textarea { border-bottom-color: #fff; }
html.a11y-contrast .dialog__inner, html.a11y-contrast .dialog th { background: #000; }
html.a11y-contrast .a11y-btn, html.a11y-contrast .float-call { background: #000; color: #fff; border: 2px solid #ffd400; }
html.a11y-contrast .a11y-panel { border-color: #fff; }

/* Grayscale */
html.a11y-grayscale img, html.a11y-grayscale video, html.a11y-grayscale svg { filter: grayscale(1); }
html.a11y-grayscale { --gold: #9a9a9a; --gold-dark: #6f6f6f; --champagne: #cfcfcf; }

/* Highlight links */
html.a11y-links a, html.a11y-links button:not(.btn):not(.burger):not(.a11y-btn) { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 2px; font-weight: 700; }

/* Readable font */
html.a11y-font, html.a11y-font * { font-family: Arial, 'Noto Sans Hebrew', Helvetica, sans-serif !important; letter-spacing: 0 !important; }

/* Big cursor */
html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l14 12-6 1 4 7-3 1-4-7-5 4z' fill='%23fff' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") 4 2, auto !important; }

/* Stop animations (mirrors prefers-reduced-motion) */
html.a11y-motion *, html.a11y-motion *::before, html.a11y-motion *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
html.a11y-motion .split .w > span, html.a11y-motion .reveal, html.a11y-motion .reveal-img img, html.a11y-motion .hero__logo, html.a11y-motion .hero__tagline, html.a11y-motion .hero__cta, html.a11y-motion .scroll-cue, html.a11y-motion .caption > *, html.a11y-motion .hero__stats { transform: none !important; opacity: 1 !important; }
html.a11y-motion .reveal-img::after { display: none; }
html.a11y-motion .caption { position: static; }
html.a11y-motion .caption:not(.is-active) { display: none; }
html.a11y-motion .reveal-section__bg { position: absolute; }
html.a11y-motion .marquee__track { animation: none; }

@media (max-width: 820px) {
  .a11y-btn { width: 48px; height: 48px; bottom: 1rem; inset-inline-start: 1rem; }
  .a11y-panel { bottom: 4.6rem; inset-inline-start: 1rem; }
}
