/* =========================================================
   הטברנס – landing page styles
   Fonts: Kedem Serif (display), Almoni (text)
   ========================================================= */

@font-face { font-family: 'Kedem'; src: url('../fonts/kedem-serif-regular-aaa.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Kedem'; src: url('../fonts/kedem-serif-bold-aaa.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Kedem'; src: url('../fonts/kedem-serif-black-aaa.woff2') format('woff2'); font-weight: 900; font-display: swap; }
@font-face { font-family: 'Kedem Hollow'; src: url('../fonts/kedem-serif-hollow-aaa.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Almoni'; src: url('../fonts/almoni-light-aaa.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Almoni'; src: url('../fonts/almoni-regular-aaa.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Almoni'; src: url('../fonts/almoni-medium-aaa.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Almoni'; src: url('../fonts/almoni-bold-aaa.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Almoni'; src: url('../fonts/almoni-black-aaa.woff2') format('woff2'); font-weight: 900; font-display: swap; }

:root {
	--char: #232323;
	--char-2: #2d2a26;
	--ochre: #b8965a;
	--ochre-2: #d9bd85;
	--coral: #ef5f3a;
	--coral-deep: #c9481f;
	--sea: #1f7f8f;
	--sea-deep: #0f3a49;
	--cream: #f6efe2;
	--cream-2: #eee3cd;
	--paper: #fffaf0;
	--ink: #221f1c;
	--ink-2: #5b544c;
	--display: 'Kedem', 'Almoni', Georgia, serif;
	--hollow: 'Kedem Hollow', 'Kedem', Georgia, serif;
	--text: 'Almoni', 'Segoe UI', Arial, sans-serif;
	--ease: cubic-bezier(.22, .61, .36, 1);
	--hatch: repeating-linear-gradient(-45deg, rgba(184, 150, 90, .09) 0 2px, transparent 2px 10px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; font-size: calc(100% * var(--a11y-scale, 1)); }
body.cmt { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--text); font-size: 1.15rem; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); font-weight: 900; line-height: 1.12; margin: 0 0 .5em; }
h2 { font-size: clamp(1.9rem, 4.2vw, 3.1rem); }
h3 { font-size: 1.5rem; font-weight: 700; }
p { margin: 0 0 1em; }
.wrap { width: min(1120px, calc(100% - 2.5rem)); margin-inline: auto; }
.section__lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); font-weight: 300; margin-bottom: 0; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.skip { position: absolute; inset-inline-start: 1rem; top: -4rem; z-index: 100; background: var(--coral); color: #fff; padding: .6rem 1rem; border-radius: 4px; font-weight: 700; transition: top .2s; }
.skip:focus { top: 1rem; }
.hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }

/* ---------- Buttons: vintage sign, hard offset shadow ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	font-family: var(--text); font-weight: 700; font-size: 1.1rem; line-height: 1;
	min-height: 54px; padding: .9rem 2rem; border: 0; border-radius: 4px; text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: transform .15s var(--ease), box-shadow .15s var(--ease), background .2s, color .2s;
}
.btn--coral { background: var(--coral); color: #fff; box-shadow: -4px 4px 0 var(--ochre); }
.btn--coral:hover { background: var(--coral-deep); transform: translate(2px, -2px); box-shadow: -6px 6px 0 var(--ochre); }
.btn--dark { background: var(--char); color: var(--cream); box-shadow: -4px 4px 0 var(--ochre); }
.btn--dark:hover { transform: translate(2px, -2px); box-shadow: -6px 6px 0 var(--ochre); }
.btn--ghost { color: var(--cream); background: transparent; box-shadow: inset 0 0 0 2px var(--ochre-2); }
.btn--ghost:hover { background: rgba(217, 189, 133, .14); }
.btn--sm { min-height: 42px; padding: .55rem 1.2rem; font-size: 1rem; }
.btn--block { width: 100%; }
.btn--wa { background: #25d366; color: #05321a; box-shadow: -4px 4px 0 rgba(0, 0, 0, .18); }
.btn--wa:hover { background: #3ae07a; }
.btn.is-busy { opacity: .7; pointer-events: none; }
.btn:disabled { opacity: .6; cursor: default; }

/* ---------- Nav ---------- */
.nav { position: fixed; inset-inline: 0; top: 0; z-index: 50; padding: .8rem 0; transition: background .3s, box-shadow .3s, padding .3s; }
.nav.is-scrolled, .nav.is-open { background: rgba(35, 35, 35, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 2px 0 var(--ochre); padding: .5rem 0; }
.nav__in { width: min(1280px, calc(100% - 2rem)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nav__brand img { height: 52px; width: auto; }
.nav__links { display: flex; gap: 1.8rem; }
.nav__links a, .nav__mobile a { color: var(--cream); text-decoration: none; font-weight: 500; font-size: 1.05rem; transition: color .2s; }
.nav__links a:hover, .nav__mobile a:hover { color: var(--ochre-2); }
.nav__cta { display: flex; align-items: center; gap: .8rem; }
.nav__burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; cursor: pointer; }
.nav__burger span { display: block; height: 2px; background: var(--cream); border-radius: 2px; transition: transform .25s, opacity .25s; }
.nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav__mobile { display: flex; flex-direction: column; gap: .2rem; width: min(1280px, calc(100% - 2rem)); margin: .6rem auto 0; padding: .6rem 0 .8rem; border-top: 1px solid rgba(184, 150, 90, .4); }
.nav__mobile a { padding: .7rem .2rem; font-size: 1.2rem; }
.nav__mobile[hidden] { display: none; }
@media (max-width: 900px) { .nav__links { display: none; } .nav__burger { display: flex; } .nav__brand img { height: 42px; } }

/* ---------- Hero ---------- */
.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 100svh; display: grid; place-items: center; padding: 9rem 1.25rem 5rem; text-align: center; background: var(--char); color: var(--cream); }
.hero__media { position: absolute; inset: 0; z-index: -1; background: var(--char); }
.hero__video { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.6s ease .3s; }
body.is-ready .hero__video { opacity: 1; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 18, 16, .62) 0%, rgba(20, 18, 16, .28) 40%, rgba(35, 30, 25, .75) 80%, var(--char) 100%); }
.hero__warm { position: absolute; inset: 0; background: radial-gradient(70% 60% at 50% 70%, rgba(239, 95, 58, .28), transparent 70%); mix-blend-mode: screen; }

.lights { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: max(100%, 1200px); height: 260px; pointer-events: none; overflow: visible; }
.lights__wire { fill: none; stroke: #4a4238; stroke-width: 2.5; }
.lights__bulb line { stroke: #4a4238; stroke-width: 2; }
.lights__lamp { fill: #ffe6a8; }
.lights__glow { fill: #ffcf6e; opacity: .28; }
.lights__bulb--warm .lights__lamp { fill: #ffd27a; }
.lights__bulb--warm .lights__glow { fill: #ff9a4a; }
.lights__bulb { animation: twinkle 3.2s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -.37s); }
@keyframes twinkle { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(.72); } }
body.is-ready .lights { animation: sway 7s ease-in-out infinite; transform-origin: 50% 0; }
@keyframes sway { 0%, 100% { transform: translateX(-50%) rotate(-.5deg); } 50% { transform: translateX(-50%) rotate(.5deg); } }

.hero__in { max-width: 960px; position: relative; }
.hero__logo { width: min(520px, 78vw); height: auto; margin: 0 auto 1.4rem; opacity: 0; filter: drop-shadow(0 6px 30px rgba(0, 0, 0, .55)); }
body.is-ready .hero__logo { animation: rise 1s var(--ease) .2s forwards; }
.hero__title { font-size: clamp(2rem, 5vw, 3.9rem); color: var(--cream); margin: 0 0 1rem; text-shadow: 0 2px 30px rgba(0, 0, 0, .6); }
.hero__lead { font-size: clamp(1.1rem, 1.7vw, 1.4rem); font-weight: 300; line-height: 1.6; max-width: 58ch; margin: 0 auto 2rem; color: #efe6d4; text-shadow: 0 1px 14px rgba(0, 0, 0, .8); }
.hero__cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1.8rem; }
.hero__facts { margin: 0; color: var(--ochre-2); font-weight: 500; font-size: 1rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem .8rem; }
.hero__facts i { font-style: normal; color: var(--coral); }
.hero__title, .hero__lead, .hero__cta, .hero__facts { opacity: 0; transform: translateY(16px); }
body.is-ready .hero__title { animation: rise .9s var(--ease) .6s forwards; }
body.is-ready .hero__lead { animation: rise .9s var(--ease) .8s forwards; }
body.is-ready .hero__cta { animation: rise .9s var(--ease) 1s forwards; }
body.is-ready .hero__facts { animation: rise .9s var(--ease) 1.15s forwards; }
@keyframes rise { to { opacity: 1; transform: none; } }

/* ---------- Marquee ---------- */
.marquee { overflow: hidden; background: var(--char-2); padding: .8rem 0; border-top: 3px double var(--ochre); border-bottom: 3px double var(--ochre); }
.marquee__track { display: flex; width: max-content; animation: marquee 40s linear infinite; }
.marquee__group { display: flex; align-items: center; gap: 1.6rem; padding-inline-end: 1.6rem; }
.marquee__item { font-family: var(--hollow); font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1; color: var(--ochre-2); white-space: nowrap; }
.marquee__star { color: var(--coral); font-style: normal; font-size: 1rem; }
@keyframes marquee { to { transform: translateX(50%); } }

/* ---------- About ---------- */
.about { padding: clamp(4rem, 9vw, 7.5rem) 0; background: var(--cream); background-image: var(--hatch); }
.about__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.about__text h2 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); margin-bottom: .8em; }
.about__text p { max-width: 58ch; font-size: 1.18rem; color: #2f2a25; }
.about__text .btn { margin-top: .6rem; }
.about__side { display: grid; gap: 2.2rem; }
.about, .quote, .events__grid { opacity: 0; transform: translateY(18px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
@media (max-width: 860px) { .about__grid { grid-template-columns: 1fr; } .about__side { max-width: 520px; margin-inline: auto; width: 100%; } .about__text h2 { font-size: clamp(1.8rem, 7vw, 2.4rem); } }
.about.is-lit, .quote.is-lit, .events__grid.is-lit { opacity: 1; transform: none; }

.polaroid { margin: 0; background: #fff; padding: 12px 12px 46px; box-shadow: 0 18px 50px rgba(34, 31, 28, .22), 0 2px 6px rgba(34, 31, 28, .12); position: relative; }
.polaroid img { width: 100%; height: auto; display: block; }
.polaroid figcaption { position: absolute; bottom: 10px; inset-inline: 12px; text-align: center; font-family: var(--display); font-weight: 700; font-size: 1.25rem; color: var(--ink-2); }
.polaroid--main { width: min(420px, 92%); margin: 1rem auto 0; transform: rotate(-2.5deg); }
.polaroid--main::before { content: ''; position: absolute; top: -12px; left: 50%; width: 90px; height: 26px; margin-left: -45px; background: rgba(239, 95, 58, .55); transform: rotate(-3deg); }

.menu { background: var(--paper); border: 2px solid var(--ochre); outline: 1px solid var(--ochre); outline-offset: 4px; padding: 1.6rem 1.6rem 1.2rem; }
.menu h3 { text-align: center; font-size: 1.6rem; margin: 0 0 1rem; color: var(--char); }
.menu h3::after { content: '✦ ✦ ✦'; display: block; color: var(--ochre); font-size: .75rem; letter-spacing: .4em; margin-top: .3rem; }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu li { display: flex; align-items: baseline; gap: .5rem; padding: .5rem 0; font-weight: 500; }
.menu__dots { flex: 1; border-bottom: 2px dotted var(--ochre); transform: translateY(-.35em); min-width: 1.5rem; }
.menu li i { font-style: normal; color: var(--coral); font-size: .9rem; }

/* ---------- Quote ---------- */
.quote { background: var(--coral); color: var(--cream); padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem; text-align: center; position: relative; overflow: hidden; }
.quote::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, .07) 0 2px, transparent 2px 10px); pointer-events: none; }
.quote p { position: relative; margin: 0 auto; max-width: 22ch; font-family: var(--display); font-weight: 900; font-size: clamp(1.7rem, 4.2vw, 3.2rem); line-height: 1.2; }
.quote i { font-style: normal; color: var(--ochre-2); font-size: .6em; vertical-align: middle; }

/* ---------- Video ---------- */
.video { padding: clamp(4rem, 9vw, 7rem) 0; background: var(--char); color: var(--cream); text-align: center; }
.video .section__lead { color: #d9cfbc; }
.video__frame { position: relative; aspect-ratio: 16 / 9; margin-top: 2rem; overflow: hidden; cursor: pointer; background: #000; border: 4px solid var(--ochre); box-shadow: 0 30px 80px rgba(0, 0, 0, .55); }
.video__frame img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .3s, transform .7s var(--ease); }
.video__frame:hover img { opacity: 1; transform: scale(1.02); }
.video__play { position: absolute; inset: 0; margin: auto; width: max-content; height: max-content; display: flex; align-items: center; gap: .7rem; padding: .8rem 1.5rem .8rem 1.1rem; border-radius: 999px; cursor: pointer; background: rgba(35, 35, 35, .7); color: #fff; border: 2px solid var(--ochre-2); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font: 700 1.1rem var(--text); transition: background .2s, transform .2s; }
.video__play svg { color: var(--ochre-2); }
.video__frame:hover .video__play { background: rgba(35, 35, 35, .9); transform: scale(1.04); }
.video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__frame.is-playing img, .video__frame.is-playing .video__play { display: none; }

/* ---------- Events ---------- */
.events { padding: clamp(4rem, 9vw, 7rem) 0; text-align: center; background: var(--cream-2); background-image: var(--hatch); }
.events__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.2rem; margin-top: 2.6rem; text-align: start; }
.event__img { border: 3px double var(--ochre); padding: 6px; background: var(--paper); margin-bottom: 1.1rem; }
.event__img img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.event h3 { margin: 0 0 .4rem; color: var(--char); }
.event p { color: #3a342e; margin-bottom: .8rem; }
.event__link { font-weight: 700; color: var(--coral-deep); text-decoration: none; border-bottom: 2px solid var(--ochre); padding-bottom: .1rem; }
.event__link:hover { color: var(--coral); border-color: var(--coral); }
@media (max-width: 860px) { .events__grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; } }

/* ---------- Photo wall ---------- */
.wall { padding: clamp(4rem, 8vw, 6rem) 0 clamp(4rem, 8vw, 6.5rem); background: var(--sea); color: var(--cream); overflow: hidden; }
.wall h2 { text-align: center; margin-bottom: 2rem; }
.wall__carousel { position: relative; }
.wall__strip { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 1.4rem 0 1.6rem; -webkit-overflow-scrolling: touch; }
.wall__strip::-webkit-scrollbar { display: none; }
.wall__strip:focus-visible { outline: 3px solid var(--ochre-2); outline-offset: -3px; }
.wall__track { display: flex; gap: 1.6rem; padding-inline: 1.5rem; align-items: center; width: max-content; }
.polaroid--wall { flex: 0 0 min(320px, 74vw); scroll-snap-align: start; scroll-margin-inline-start: 1.5rem; transform: rotate(var(--r, -2deg)); user-select: none; -webkit-user-drag: none; }
.polaroid--wall img { pointer-events: none; }
.wall__strip { cursor: grab; }
.wall__strip.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.polaroid--wall:nth-child(2n) { --r: 2.2deg; }
.polaroid--wall:nth-child(3n) { --r: -1.2deg; }
.polaroid--wall:nth-child(4n) { --r: 3deg; }
.polaroid--wall img { aspect-ratio: 3 / 2; object-fit: cover; }
.wall__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--ochre-2); background: rgba(15, 58, 73, .85); color: var(--cream); font-size: 2rem; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: background .2s, transform .2s; }
.wall__arrow--prev { right: 1rem; }
.wall__arrow--next { left: 1rem; }
.wall__arrow:hover { background: var(--coral); transform: translateY(-50%) scale(1.06); }
@media (max-width: 700px) { .wall__arrow { top: auto; bottom: -.4rem; transform: none; width: 44px; height: 44px; } .wall__arrow:hover { transform: none; } .wall__carousel { padding-bottom: 3rem; } }

/* ---------- Cue 360 ---------- */
.cue { background: var(--char); color: var(--cream); padding: clamp(3.5rem, 7vw, 5.5rem) 0; border-top: 3px double var(--ochre); }
.cue__in { display: grid; grid-template-columns: auto 1fr; gap: 2.5rem; align-items: center; }
.cue__logo { width: 120px; height: auto; }
.cue h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); color: var(--ochre-2); }
.cue p { color: #d9cfbc; max-width: 64ch; }
.cue__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 0; font-weight: 700; }
.cue__list li + li::before { content: '✦'; color: var(--coral); margin: 0 .9rem; font-size: .8em; }
@media (max-width: 640px) { .cue__in { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.contact { padding: clamp(4rem, 9vw, 7rem) 0; background: var(--cream); background-image: var(--hatch); }
.contact__grid { display: grid; grid-template-columns: 1fr 1.35fr; gap: 3rem; align-items: start; }
.contact__direct { margin-top: 2rem; display: grid; gap: .6rem; justify-items: start; }
.contact__direct p { margin: 0; color: var(--ink-2); }
.contact__line { font-family: var(--display); font-weight: 900; font-size: 1.6rem; color: var(--char); text-decoration: none; direction: ltr; unicode-bidi: isolate; transition: color .2s; }
.contact__line--mail { font-size: 1.3rem; font-weight: 700; }
.contact__line:hover { color: var(--coral); }
.contact__direct .btn--wa { margin-top: .6rem; }
.lead { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem; background: var(--paper); padding: 2rem; border: 2px solid var(--ochre); outline: 1px solid var(--ochre); outline-offset: 4px; }
.field { display: grid; gap: .35rem; }
.field label { font-weight: 700; font-size: 1rem; color: var(--char); }
.field label small { font-weight: 400; color: var(--ink-2); }
.field--full { grid-column: 1 / -1; }
input, select, textarea { width: 100%; font: inherit; color: var(--ink); background: #fff; border: 1px solid #cdbf9f; border-radius: 3px; padding: .8rem 1rem; transition: border-color .2s, box-shadow .2s; }
input::placeholder, textarea::placeholder { color: #9a9083; }
input:focus, select:focus, textarea:focus { outline: 0; border-color: var(--coral); box-shadow: 0 0 0 3px rgba(239, 95, 58, .2); }
input.is-invalid, textarea.is-invalid { border-color: var(--coral-deep); box-shadow: 0 0 0 3px rgba(201, 72, 31, .2); }
textarea { resize: vertical; min-height: 110px; }
select { -webkit-appearance: none; appearance: none; cursor: pointer; padding-inline-start: 2.4rem; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23b8965a' stroke-width='2'/></svg>"); background-repeat: no-repeat; background-position: left 1rem center; }
.form__msg { margin: .6rem 0 0; min-height: 1.4em; font-size: 1rem; }
.form__msg.is-ok { color: var(--sea); }
.form__msg.is-err { color: var(--coral-deep); }
.form__note { margin: .8rem 0 0; font-size: .92rem; color: var(--ink-2); }
.form__note a { color: var(--char); }
.form__done { background: var(--paper); padding: 2.4rem; border: 2px solid var(--ochre); text-align: center; }
.form__done:focus { outline: 0; }
.form__done-big { font-family: var(--display); font-weight: 900; font-size: 1.6rem; color: var(--coral-deep); margin: 0 0 .6rem; }
@media (max-width: 860px) { .contact__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .lead { grid-template-columns: 1fr; padding: 1.4rem; } }

/* ---------- Footer ---------- */
.foot { padding: 3.5rem 0 2rem; background: var(--char); color: var(--cream); border-top: 3px double var(--ochre); }
.foot__in { display: grid; grid-template-columns: auto 1fr; gap: 1rem 2.5rem; align-items: center; }
.foot__brands { display: flex; align-items: center; gap: 1.4rem; }
.foot__logo { width: 150px; height: auto; }
.foot__cue { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: #b9ae9a; font-size: .9rem; padding-inline-start: 1.4rem; border-inline-start: 1px solid rgba(184, 150, 90, .45); }
.foot__cue img { width: 64px; height: auto; }
.foot__about { margin: 0; color: #cfc5b2; max-width: 62ch; grid-column: 2; }
.foot__contact, .foot__social { display: flex; flex-wrap: wrap; gap: 1.4rem; grid-column: 2; }
.foot__contact a, .foot__social a { color: var(--cream); text-decoration: none; transition: color .2s; }
.foot__contact a:hover, .foot__social a:hover { color: var(--ochre-2); }
.foot__contact a { direction: ltr; unicode-bidi: isolate; }
.foot__copy { grid-column: 1 / -1; margin: 1.2rem 0 0; color: #8f8574; font-size: .9rem; display: flex; flex-wrap: wrap; gap: 1.2rem; }
.foot__copy a { color: #b9ae9a; text-decoration: none; }
.foot__copy a:hover { color: var(--ochre-2); }
@media (max-width: 600px) { .foot__in { grid-template-columns: 1fr; } .foot__about, .foot__contact, .foot__social { grid-column: 1; } }

/* ---------- Floats ---------- */
.wa-float { position: fixed; bottom: 1.2rem; right: 1.2rem; z-index: 40; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); transition: transform .2s var(--ease); }
.wa-float:hover { transform: scale(1.07); }
.a11y { position: fixed; bottom: 1.2rem; left: 1.2rem; z-index: 45; display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; }
.a11y__privacy { order: -1; font-size: .85rem; font-weight: 500; color: var(--cream); text-decoration: none; background: rgba(35, 35, 35, .85); border: 1px solid var(--ochre); border-radius: 999px; padding: .35rem .8rem; }
.a11y__privacy:hover { color: var(--ochre-2); }
.a11y__btn { width: 58px; height: 58px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; background: #1f5cff; color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); transition: transform .2s var(--ease); }
.a11y__btn:hover { transform: scale(1.07); }
.a11y__panel { position: absolute; bottom: calc(100% + .6rem); left: 0; width: 260px; max-width: calc(100vw - 2.4rem); background: #fff; color: #15121f; border-radius: 10px; padding: .8rem; box-shadow: 0 20px 60px rgba(0, 0, 0, .4); display: grid; gap: .4rem; direction: rtl; text-align: right; }
.a11y__panel[hidden] { display: none; }
.a11y__head { display: flex; justify-content: space-between; align-items: center; padding: 0 .2rem .4rem; border-bottom: 1px solid #e6e4ee; font-size: 1.1rem; }
.a11y__close { border: 0; background: transparent; font-size: 1.6rem; line-height: 1; cursor: pointer; color: #15121f; padding: 0 .3rem; }
.a11y__row { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.a11y__panel button[data-a11y] { width: 100%; font: 500 1rem var(--text); color: #15121f; background: #f1f0f5; border: 1px solid #e0dee8; border-radius: 6px; padding: .55rem .7rem; cursor: pointer; text-align: right; transition: background .15s; }
.a11y__panel button[data-a11y]:hover { background: #e6e4ee; }
.a11y__panel button[aria-pressed="true"] { background: #1f5cff; color: #fff; border-color: #1f5cff; }
.a11y__reset { margin-top: .2rem; }
.a11y__link { font-size: .95rem; color: #1f5cff; text-align: center; padding: .3rem 0 .1rem; }
@media (max-width: 600px) { .a11y, .wa-float { bottom: .8rem; } .a11y { left: .8rem; } .wa-float { right: .8rem; } .a11y__btn, .wa-float { width: 52px; height: 52px; } .a11y__privacy { font-size: .78rem; } }


/* ---------- Cookie notice ---------- */
.cookie { position: fixed; inset-inline: 1rem; bottom: 5.4rem; z-index: 60; margin-inline: auto; width: min(760px, 100%); display: flex; align-items: center; gap: 1rem; padding: .9rem 1.2rem; background: var(--paper); color: var(--ink); border: 2px solid var(--ochre); box-shadow: -6px 6px 0 var(--ochre), 0 20px 50px rgba(0, 0, 0, .3); }
.cookie[hidden] { display: none; }
.cookie p { margin: 0; font-size: .98rem; line-height: 1.5; flex: 1; }
.cookie a { color: var(--coral-deep); font-weight: 700; }
.cookie__ok { flex: 0 0 auto; }
@media (max-width: 600px) { .cookie { flex-direction: column; align-items: stretch; bottom: 5rem; inset-inline: .8rem; padding: .9rem 1rem; } .cookie__ok { width: 100%; } }
html.a11y-contrast .cookie { background: #000; color: #fff; border-color: #fff; box-shadow: none; }

/* ---------- Accessibility modes ---------- */
html.a11y-font, html.a11y-font * { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: 0 !important; }
html.a11y-gray :is(main, .nav, .foot) { filter: grayscale(1); }
html.a11y-links a:not(.btn):not(.a11y__link):not(.a11y__privacy) { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; background: #ffe600; color: #000 !important; padding: 0 .15em; }
html.a11y-links .btn { outline: 3px solid #ffe600; outline-offset: 2px; }
html.a11y-contrast body.cmt { background: #000; color: #fff; }
html.a11y-contrast :is(.about, .events, .contact, .wall, .quote, .cue, .video, .foot, .marquee, .menu, .lead, .polaroid, .event__img, .form__done) { background: #000 !important; background-image: none !important; color: #fff !important; }
html.a11y-contrast :is(.about__text p, .event p, .section__lead, .cue p, .contact__direct p, .field label, .foot__about, .form__note, .menu li, .polaroid figcaption, .hero__lead) { color: #fff !important; }
html.a11y-contrast :is(h1, h2, h3, .contact__line, .quote p, .marquee__item, .hero__facts) { color: #ffe600 !important; }
html.a11y-contrast :is(.btn--coral, .btn--dark) { background: #ffe600; color: #000; box-shadow: -4px 4px 0 #fff; }
html.a11y-contrast .btn--ghost { color: #ffe600; box-shadow: inset 0 0 0 2px #ffe600; }
html.a11y-contrast :is(input, select, textarea) { background: #000; color: #fff; border-color: #fff; }
html.a11y-contrast .hero__shade { background: rgba(0, 0, 0, .8); }
html.a11y-contrast .hero__warm, html.a11y-contrast .lights { display: none; }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { animation: none !important; transition: none !important; }
html.a11y-still .hero__video { display: none; }
html.a11y-still .hero__logo, html.a11y-still .hero__title, html.a11y-still .hero__lead, html.a11y-still .hero__cta, html.a11y-still .hero__facts, html.a11y-still .about, html.a11y-still .quote, html.a11y-still .events__grid { opacity: 1; transform: none; }
html.a11y-still .marquee__track { width: auto; overflow: hidden; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.hero__video { display: none; }
	.hero__logo, .hero__title, .hero__lead, .hero__cta, .hero__facts, .about, .quote, .events__grid { opacity: 1; transform: none; }
	.marquee__track { width: auto; overflow: hidden; }
}
