/* ---------- Fonts ---------- */

@font-face {
	font-family: "Cooperative";
	src: url("../fonts/cooperative-regular.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Cooperative";
	src: url("../fonts/cooperative-bold.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

/* ---------- Tokens ---------- */

:root {
	--black: #000;
	--white: #fff;
	--sand: #f4f3f1;
	--text: #676767;
	--text-on-dark: #c8c8c8;
	--line: #e4e4e4;
	--accent: #f37c53;      /* the brand's lead colour: lines, fills, hover. Under 3:1 on white, so never text there. */
	--accent-ink: #c2481d;  /* the same hue darkened to 4.9:1, for coloured text on white */
	--ink: #000;

	--font-body: "Google Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--font-display: "Cooperative", var(--font-body);

	--pad-x: 80px;          /* page side padding */
	--pad-section: 120px;   /* vertical rhythm between sections */
	--gap: 40px;            /* grid gutters */
	--header-pad: 28px var(--pad-x);
	--header-h: 108px;      /* rendered height of the header row */

	--tint: .3;             /* image darkening */
	--tint-hover: .55;
	--ease: ease;
	--ease-out: cubic-bezier(.23, 1, .32, 1);
	--ease-drawer: cubic-bezier(.83, 0, .17, 1);
	--ease-burger: cubic-bezier(.63, .29, .17, 1.345);
}

@media (max-width: 1199px) {
	:root { --pad-x: 60px; --pad-section: 80px; --header-h: 104px; }
}

@media (max-width: 767px) {
	:root { --pad-x: 24px; --pad-section: 64px; --gap: 24px; --header-pad: 18px 24px; --header-h: 58px; }
}
/* ---------- Reset ---------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body {
	margin: 0;
	background: var(--white);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 28px;
	letter-spacing: .01em;
	overflow-x: clip; /* no sideways scrolling, without breaking position: sticky */
	-webkit-font-smoothing: antialiased;
}

body.lia-menu-open, body.lia-lock { overflow: hidden; }

h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }

::selection { background: var(--accent); color: var(--white); }

/* Phone numbers are marked dir="ltr"; keep block-level ones aligned with the Hebrew around them. */
[dir="ltr"] { unicode-bidi: isolate; text-align: right; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

.lia-skip { position: absolute; inset-inline-start: -9999px; z-index: 300; }
.lia-skip:focus { inset-inline-start: 16px; top: 16px; padding: 8px 16px; background: var(--white); color: var(--black); }

:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; }
.lia-dark :focus-visible, .lia-header :focus-visible, .lia-drawer :focus-visible { outline-color: var(--accent); }

/* ---------- Type ---------- */

.lia-title, .lia-h1, .lia-h2, .lia-h3 {
	font-family: var(--font-display);
	font-weight: 400;
	color: var(--black);
	letter-spacing: 0;
}

/* Section headings ("על יאיר", "הופעות קרובות"…). */
.lia-title { font-size: 45px; line-height: 56px; }
.lia-h1 { font-size: 34px; line-height: 46px; }
.lia-h2 { font-size: 30px; line-height: 40px; }
.lia-h3 { font-size: 24px; line-height: 34px; }

@media (max-width: 1199px) {
	.lia-title { font-size: 38px; line-height: 48px; }
}

@media (max-width: 767px) {
	.lia-title { font-size: 32px; line-height: 42px; }
	.lia-h1 { font-size: 30px; line-height: 40px; }
	.lia-h2 { font-size: 26px; line-height: 36px; }
	.lia-h3 { font-size: 22px; line-height: 32px; }
}

.lia-title + p, .lia-h1 + p, .lia-h2 + p, .lia-h3 + p { margin-top: 20px; }

.lia-eyebrow { display: block; font-size: 14px; line-height: 24px; color: inherit; }
.lia-muted { color: var(--text); opacity: .8; }
.lia-center { text-align: center; }
.lia-plain { list-style: none; }

.lia-content > * + * { margin-top: 1.2em; }
/* Headings inside editor content: body font, a touch heavier. */
.lia-content h2, .lia-content h3 { font-family: var(--font-body); font-weight: 500; color: var(--black); letter-spacing: 0; margin-top: 2em; }
.lia-content h2 { font-size: 20px; line-height: 30px; }
.lia-content h3 { font-size: 18px; line-height: 28px; }
.lia-content h2 + *, .lia-content h3 + * { margin-top: .5em; }
.lia-content a:not(.lia-btn):not(.lia-text-btn) { color: var(--ink); border-bottom: 1px solid currentColor; transition: border-color .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .lia-content a:not(.lia-btn):not(.lia-text-btn):hover { border-color: transparent; } }
.lia-content img { margin-block: 2em; }
.lia-content ul, .lia-content ol { padding-inline-start: 1.2em; }
.lia-content li + li { margin-top: .4em; }

/* ---------- Layout ---------- */

.lia-container { width: 100%; max-width: 1920px; margin-inline: auto; padding-inline: var(--pad-x); }
.lia-narrow { max-width: calc(760px + var(--pad-x) * 2); }

.lia-section { padding-block: var(--pad-section); }
.lia-section--flush-top { padding-top: 0; }
.lia-banner + .lia-section--flush-top { padding-top: var(--pad-section); }
.lia-section--intro { padding-bottom: calc(var(--pad-section) * .6); }
.lia-section--intro .lia-content { text-align: center; }

.lia-dark { background: var(--black); color: var(--text-on-dark); }
.lia-dark .lia-title, .lia-dark .lia-h1, .lia-dark .lia-h2, .lia-dark .lia-h3 { color: var(--white); }
.lia-sand { background: var(--sand); }

/* Full-bleed image filling its (positioned) parent. */
.lia-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }

/* Image darkening + slow zoom on hover. */
.lia-tint { position: absolute; inset: 0; overflow: hidden; background: var(--black); }
.lia-tint::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: var(--black); opacity: var(--tint);
	transition: opacity 1.2s var(--ease-out);
}
.lia-zoom .lia-cover-img { transition: transform 1.2s var(--ease-out); }

@media (hover: hover) and (pointer: fine) {
	.lia-zoom:hover .lia-cover-img { transform: scale(1.04); }
	.lia-zoom:hover .lia-tint::after { opacity: var(--tint-hover); }
}

/* ---------- Buttons ---------- */

/* Outlined button; the fill rises from the bottom on hover. */
.lia-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; padding: 9px 32px; overflow: hidden; cursor: pointer;
	border: 1px solid var(--line); border-radius: 5px; background: transparent;
	color: var(--black); font-family: var(--font-body); font-size: 14px; font-weight: 500;
	line-height: 22px; letter-spacing: .04em;
	transition: color .25s var(--ease), border-color .25s var(--ease), transform .16s var(--ease-out);
	transform: translateZ(0);
}
.lia-btn::before {
	content: ""; position: absolute; inset: 0; background: var(--black);
	transform: translateY(100%); transition: transform .25s var(--ease);
}
.lia-btn > span { position: relative; }
.lia-btn--light { color: var(--white); border-color: var(--white); }
.lia-btn--light::before { background: var(--white); }

@media (hover: hover) and (pointer: fine) {
	.lia-btn:hover, a:hover > .lia-btn { color: var(--white); border-color: var(--black); }
	.lia-btn:hover::before, a:hover > .lia-btn::before { transform: translateY(0); }
	.lia-btn--light:hover, a:hover > .lia-btn--light { color: var(--black); border-color: var(--white); }
}

* + .lia-btn { margin-top: 40px; }
.lia-btn + .lia-btn { margin-inline-start: 12px; }

/* Quiet text link with an arrow that slides on hover. */
.lia-text-btn {
	position: relative; display: inline-flex; align-items: center; margin-top: 35px;
	color: var(--black); font-size: 14px; font-weight: 500; line-height: 22px; letter-spacing: .04em;
	transition: color .25s var(--ease);
}
.lia-text-btn .lia-icon--arrow { width: 16px; height: 10px; margin-inline-start: 12px; transition: transform .25s var(--ease); }
.lia-text-btn--light { color: var(--white); }
.lia-text-btn + .lia-text-btn { margin-inline-start: 32px; }

/* Underlined variant: the line retracts on hover. */
.lia-text-btn--line { padding-bottom: 3px; }
.lia-text-btn--line::after {
	content: ""; position: absolute; inset-inline: 0; bottom: 1px; height: 1px;
	background: currentColor; transform-origin: right center;
	transition: transform .3s cubic-bezier(.75, 0, .2, 1);
}

@media (hover: hover) and (pointer: fine) {
	.lia-dark .lia-text-btn:hover, .lia-text-btn--light:hover, a:hover .lia-text-btn--light { color: var(--white); }
	.lia-text-btn:hover .lia-icon--arrow, a:hover .lia-text-btn .lia-icon--arrow { transform: translateX(-6px); }
	a:hover .lia-text-btn--line { color: var(--white); }
	a:hover .lia-text-btn--line::after, .lia-text-btn--line:hover::after { transform: scaleX(0); transform-origin: left center; }
}

/* ---------- Header ---------- */

.lia-header { position: absolute; inset-inline: 0; top: 0; z-index: 20; color: var(--white); }

.lia-header__inner {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	padding: var(--header-pad); min-height: 22px;
}

.lia-header__side { display: flex; align-items: center; gap: 28px; }
.lia-header__side--menu { justify-content: flex-end; gap: 30px; }

.lia-header__link { font-size: 14px; font-weight: 500; line-height: 22px; letter-spacing: .04em; transition: color .25s var(--ease); }
.lia-header__cta { display: inline-flex; align-items: center; }
.lia-header__cta .lia-icon--arrow { width: 16px; height: 10px; margin-inline-start: 10px; transition: transform .25s var(--ease); }




@media (hover: hover) and (pointer: fine) {
	.lia-header__link:hover { opacity: .7; }
	.lia-header__cta:hover .lia-icon--arrow { transform: translateX(-6px); }
}

/* Hamburger: three 1px lines that step in on hover and cross when open. */
.lia-burger {
	display: flex; padding: 10px; margin: -10px; border: 0; background: none; cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.lia-burger:hover, .lia-burger:focus { background: none; }
.lia-burger__lines { position: relative; display: block; width: 20px; height: 12px; }
.lia-burger__lines > span {
	position: absolute; left: 0; right: 0; height: 1px; background: currentColor;
	transition: all .25s var(--ease-burger);
}
.lia-burger__lines > span:nth-child(1) { top: 0; }
.lia-burger__lines > span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.lia-burger__lines > span:nth-child(3) { bottom: 0; }

@media (hover: hover) and (pointer: fine) {
	.lia-burger:hover .lia-burger__lines > span:nth-child(2) { right: 6px; }
	.lia-burger:hover .lia-burger__lines > span:nth-child(3) { right: 12px; }
}

@media (max-width: 991px) {
	.lia-header__side--contact > [href^="mailto"] { display: none; }
	.lia-header__cta { display: none; }
}

@media (max-width: 767px) {
	.lia-header__side--contact { gap: 0; }
}

/* Slim black bar once the hero is scrolled past (classes set in main.js). */
.lia-header.is-fixed {
	position: fixed; background: var(--black); transform: translateY(-100%);
}
.lia-header.is-fixed .lia-header__inner { padding-block: 16px; }
.lia-header.is-ready { transition: transform .35s var(--ease); }
.lia-header.is-shown { transform: translateY(0); }

/* ---------- Drawer menu ---------- */

.lia-overlay {
	position: fixed; inset: 0; z-index: 90; background: rgba(0, 0, 0, .6);
	opacity: 0; visibility: hidden; transition: opacity .35s var(--ease), visibility .35s var(--ease);
}

.lia-drawer {
	position: fixed; top: 0; bottom: 0; left: 0; z-index: 100;
	display: flex; flex-direction: column; justify-content: space-between;
	width: 100%; max-width: 440px; padding: 60px; overflow-y: auto;
	background: var(--black); color: var(--white);
	transform: translateX(-100%); visibility: hidden;
	transition: transform .75s var(--ease-drawer), visibility 0s linear .75s;
}

.lia-drawer__close {
	position: relative; width: 20px; height: 20px; padding: 0; margin: -10px 0 0 -10px; box-sizing: content-box;
	border: 10px solid transparent; background: none; cursor: pointer; align-self: flex-start;
}
.lia-drawer__close:hover, .lia-drawer__close:focus { background: none; }
.lia-drawer__close::before, .lia-drawer__close::after {
	content: ""; position: absolute; top: 50%; left: 0; width: 20px; height: 1px; background: var(--white);
	transition: background .25s var(--ease);
}
.lia-drawer__close::before { transform: rotate(45deg); }
.lia-drawer__close::after { transform: rotate(-45deg); }

.lia-drawer__nav { padding-block: 60px; }
.lia-drawer__home { display: block; width: fit-content; line-height: 0; margin-bottom: 16px; transition: opacity .25s var(--ease); }
.lia-drawer__home img { width: auto; height: 44px; }
@media (hover: hover) and (pointer: fine) { .lia-drawer__home:hover { opacity: .7; } }
.lia-drawer__list { list-style: none; }
.lia-drawer__list a {
	display: inline-block; padding: 7px 0;
	font-family: var(--font-display); font-weight: 400; font-size: 24px; line-height: 36px;
	transition: opacity .25s var(--ease);
}

/* Hovering one item fades the others. */
@media (hover: hover) and (min-width: 1200px) {
	.lia-drawer__list:hover a { opacity: .25; }
	.lia-drawer__list a:hover { opacity: 1; }
}

.lia-drawer__foot { display: flex; flex-direction: column; gap: 4px; color: var(--text-on-dark); font-size: 14px; }
@media (hover: hover) and (pointer: fine) { .lia-drawer__foot a:hover { color: var(--white); } }

/* Items rise in one after another as the drawer opens. */
.lia-drawer__home, .lia-drawer__list li, .lia-drawer__foot { opacity: 0; transform: translateY(10px); transition: opacity .45s var(--ease), transform .45s var(--ease); }

.lia-menu-open .lia-overlay { opacity: 1; visibility: visible; }
.lia-menu-open .lia-drawer { transform: translateX(0); visibility: visible; transition: transform .75s var(--ease-drawer), visibility 0s; }
.lia-menu-open .lia-drawer__home, .lia-menu-open .lia-drawer__list li, .lia-menu-open .lia-drawer__foot { opacity: 1; transform: none; }
.lia-menu-open .lia-drawer__home { transition-delay: .3s; }
.lia-menu-open .lia-drawer__list li:nth-child(1) { transition-delay: .35s; }
.lia-menu-open .lia-drawer__list li:nth-child(2) { transition-delay: .4s; }
.lia-menu-open .lia-drawer__list li:nth-child(3) { transition-delay: .45s; }
.lia-menu-open .lia-drawer__list li:nth-child(4) { transition-delay: .5s; }
.lia-menu-open .lia-drawer__list li:nth-child(5) { transition-delay: .55s; }
.lia-menu-open .lia-drawer__list li:nth-child(6) { transition-delay: .6s; }
.lia-menu-open .lia-drawer__list li:nth-child(7) { transition-delay: .65s; }
.lia-menu-open .lia-drawer__foot { transition-delay: .7s; }

@media (max-width: 767px) {
	.lia-drawer { max-width: none; padding: 24px 24px 96px; } /* clear of UserWay's button */
}


/* ---------- Page loader (home only) ---------- */

.lia-loader {
	position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center;
	background: var(--black); pointer-events: none;
	animation: lia-loader-out .4s var(--ease) 1.1s forwards;
}
.lia-loader__logo {
	width: 260px; height: auto; opacity: 0;
	animation: lia-loader-logo 1.1s var(--ease) .05s forwards;
}
@keyframes lia-loader-logo { 0% { opacity: 0; transform: translateY(8px); } 20%, 85% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes lia-loader-out { to { opacity: 0; visibility: hidden; } }

/* ---------- Hero ---------- */

.lia-hero { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--black); }

.lia-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }

.lia-hero__text {
	position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: flex-start;
	height: 100%; padding: 120px var(--pad-x) 80px; color: var(--white);
}
.lia-hero__inner { width: 100%; max-width: 900px; }
.lia-hero__lead { max-width: 620px; }
.lia-hero .lia-h1 { color: var(--white); font-size: 64px; line-height: 72px; }
@media (max-width: 1199px) { .lia-hero .lia-h1 { font-size: 52px; line-height: 60px; } }
@media (max-width: 767px) { .lia-hero .lia-h1 { font-size: 40px; line-height: 48px; } }
.lia-hero__lead { margin-top: 16px; }
.lia-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.lia-hero__actions .lia-btn { margin: 0; }

/* Staggered entrance once the loader is gone. */
.lia-js .lia-hero__inner > * { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.lia-js .lia-hero__inner > :nth-child(1) { transition-delay: .1s; }
.lia-js .lia-hero__inner > :nth-child(2) { transition-delay: .2s; }
.lia-js .lia-hero__inner > :nth-child(3) { transition-delay: .3s; }
.lia-js .is-loaded .lia-hero__inner > * { opacity: 1; transform: none; }

@media (max-width: 767px) {
	.lia-hero__text { padding: 120px var(--pad-x) 60px; }
	.lia-hero__actions .lia-btn { width: 100%; }
}

/* ---------- About split ---------- */

.lia-split { display: flex; border-bottom: 1px solid var(--line); }
.lia-split:has(+ .lia-sand, + .lia-dark, + .lia-cta, + .lia-finale) { border-bottom: 0; }
.lia-split__text { width: 50%; min-height: 600px; display: flex; align-items: center; padding: var(--pad-section) var(--pad-x); }
.lia-split__inner { max-width: 560px; }
.lia-split__media { position: relative; width: 50%; overflow: hidden; }

@media (max-width: 991px) {
	.lia-split { flex-direction: column; }
	.lia-split__text { width: 100%; min-height: 0; }
	.lia-split__media { order: -1; width: 100%; height: 60vw; }
}
@media (max-width: 767px) {
	.lia-split__media { height: 83vw; }
}

/* ---------- Inner page banner ---------- */

.lia-banner { position: relative; height: 480px; overflow: hidden; background: var(--black); color: var(--white); }
.lia-banner .lia-tint { --tint: .4; }
/* Banners without a photo (archive, column pages…) use the accent colour. */
.lia-banner--plain { background: var(--black); }
.lia-banner--plain .lia-tint { display: none; }
/* Wide, short crop: keep the upper part of the photo (faces) in frame. */
.lia-banner .lia-cover-img { object-position: 50% 25%; }
.lia-banner__text {
	position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center;
	height: 100%; padding: var(--header-h) var(--pad-x) 0; text-align: center; /* centred below the header */
}
.lia-banner .lia-h1 { color: var(--white); font-size: 64px; line-height: 72px; }
@media (max-width: 1199px) { .lia-banner .lia-h1 { font-size: 52px; line-height: 60px; } }
@media (max-width: 767px) { .lia-banner .lia-h1 { font-size: 40px; line-height: 48px; } }
.lia-banner .lia-eyebrow { margin-bottom: 10px; }

@media (max-width: 767px) {
	.lia-banner { height: 320px; }
}

/* ---------- Footer ---------- */

.lia-footer { border-top: 1px solid var(--line); background: var(--white); }
/* Same rhythm above the footer as between sections (and above the Instagram strip). */
.lia-footer__top { display: flex; justify-content: space-between; gap: 80px; padding: var(--pad-section) var(--pad-x); }
.lia-footer__contact { max-width: 560px; }
.lia-footer__contact .lia-title { margin-bottom: 20px; }
.lia-footer__nav { display: flex; gap: 100px; }
.lia-footer__nav ul { list-style: none; }
.lia-footer__nav li + li { padding-top: 20px; }
.lia-footer__nav a { display: block; font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: .04em; color: var(--black); transition: color .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .lia-footer__nav a:hover { opacity: .6; } }
.lia-footer__bottom {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
	padding: 40px var(--pad-x); border-top: 1px solid var(--line); font-size: 14px;
}
.lia-footer__legal { display: flex; gap: 12px; }
.lia-footer__credit { justify-self: end; }
.lia-footer__legal a, .lia-footer__credit { transition: color .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .lia-footer__legal a:hover, .lia-footer__credit:hover { opacity: .6; } }

@media (max-width: 991px) {
	.lia-footer__top { flex-direction: column; }
	.lia-footer__nav { gap: 60px; }
}
@media (max-width: 767px) {
	.lia-footer__top { padding-block: var(--pad-section) 60px; gap: 60px; }
	.lia-footer__nav { flex-direction: column; gap: 20px; }
	.lia-footer__bottom { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 12px; }
	.lia-footer__credit { justify-self: center; }
}

/* ---------- Scroll reveal ---------- */

.lia-js [data-lia-reveal] > * { opacity: 0; transform: translateY(16px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.lia-js [data-lia-reveal] > :nth-child(2) { transition-delay: .08s; }
.lia-js [data-lia-reveal] > :nth-child(3) { transition-delay: .16s; }
.lia-js [data-lia-reveal] > :nth-child(n+4) { transition-delay: .24s; }
.lia-js [data-lia-reveal].is-shown > * { opacity: 1; transform: none; }


.lia-footer__logo { width: 220px; height: auto; }
.lia-footer__list { list-style: none; }

/* ---------- Old site's leftovers ---------- */

/* Elementor Pro prints its popups in the footer while it's still installed. */
.lia [data-elementor-type] { display: none !important; }

/* ---------- Announcement bar + logo ---------- */

.lia-bar { padding: 6px var(--pad-x); background: var(--accent); color: var(--white); font-size: 14px; font-weight: 500; line-height: 20px; text-align: center; }
.lia-header.is-fixed .lia-bar { display: none; }

.lia-logo { display: inline-flex; align-items: center; }
.lia-logo__img { width: auto; height: 44px; transition: height .35s var(--ease); }
.lia-header.is-fixed .lia-logo__img { height: 32px; }
@media (max-width: 767px) {
	.lia-logo__img, .lia-header.is-fixed .lia-logo__img { height: 26px; }
	.lia-header__link { font-size: 13px; }
	.lia-bar { padding-inline: 16px; font-size: 13px; line-height: 18px; }
}

.lia-icon { display: inline-block; flex: none; }
.lia-drawer__list .sub-menu { display: none; list-style: none; padding: 0 0 8px; }
.lia-drawer__list .is-open > .sub-menu { display: block; }
.lia-drawer__list .sub-menu a { padding: 3px 0; font-family: var(--font-body); font-size: 16px; line-height: 26px; }
.lia-drawer__list .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-start: 12px;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
	transform: translateY(-4px) rotate(45deg); transition: transform .25s var(--ease);
}
.lia-drawer__list .is-open > a::after { transform: translateY(0) rotate(-135deg); }

/* ---------- Shared bits ---------- */

.lia-narrow { max-width: calc(760px + var(--pad-x) * 2); }
.lia-section--flush-top { padding-top: 0; }
.lia-section--intro { padding-bottom: var(--pad-section); }
.lia-section__head { display: flex; align-items: center; justify-content: space-between; gap: var(--gap); margin-bottom: 48px; }
.lia-section__head .lia-text-btn { margin-top: 0; }
.lia-section__heading { margin-bottom: 48px; }
.lia-sand { background: var(--sand); }
.lia-center { text-align: center; }
.lia-eyebrow { display: block; font-size: 14px; line-height: 24px; }
.lia-plain { list-style: none; }

/* Opening text: one rule everywhere. A thin orange line draws in above it, and above the lead heading if there is one. */
.lia-section--intro .lia-container { text-align: center; }
.lia-section--intro .lia-content, .lia-section--intro p:not(.lia-lead) { color: var(--black); font-size: 18px; line-height: 32px; }
.lia-section--intro .lia-container::before { content: ""; display: block; width: 40px; height: 1px; margin: 0 auto 32px; background: var(--accent); }
.lia-js .lia-section--intro [data-lia-reveal]::before { transform: scaleX(0); transition: transform .8s var(--ease-out) .1s; }
.lia-js .lia-section--intro [data-lia-reveal].is-shown::before { transform: none; }
.lia-lead { margin-bottom: 20px; font-family: var(--font-display); font-size: 30px; line-height: 40px; color: var(--black); }
@media (max-width: 767px) { .lia-lead { font-size: 26px; line-height: 36px; } }
.lia-line::before { content: ""; display: block; width: 40px; height: 1px; margin: 24px 0; background: var(--accent); }
.lia-narrow-text { max-width: 760px; margin-bottom: 64px; }

.lia-two { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; align-items: start; }
.lia-two > div .lia-title + p { margin-top: 24px; }
@media (max-width: 991px) { .lia-two { grid-template-columns: 1fr; gap: 48px; } }

/* Line icon in a circle: white on sand, outlined on white, filled black on hover. */
.lia-ico {
	display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px;
	border: 1px solid transparent; border-radius: 50%; background: var(--white); color: var(--black);
	transition: background-color .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);
}
.lia-ico svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.lia-contact__list .lia-ico, .lia-col .lia-ico { border-color: var(--line); }

.lia-lines li { display: flex; align-items: center; gap: 24px; padding: 28px 0; color: var(--black); }
.lia-lines li:first-child { padding-top: 0; }
.lia-lines li:last-child { padding-bottom: 0; }
.lia-lines li + li { border-top: 1px solid var(--line); }

/* Hero, inner banners and cards hold the image under the header. */
.lia-hero__img { object-position: 50% 40%; }
.lia-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .65)); }
.lia-banner:not(.lia-banner--plain)::before { content: ""; position: absolute; inset: 0 0 auto; z-index: 1; height: 180px; background: linear-gradient(to bottom, rgba(0, 0, 0, .55), transparent); pointer-events: none; }
.lia-banner--full { height: 70vh; min-height: 420px; }
.lia-banner--full .lia-h1 { font-size: 45px; line-height: 56px; }
@media (max-width: 767px) { .lia-banner--full .lia-h1 { font-size: 32px; line-height: 42px; } }
.lia-banner--full .lia-btn { margin-top: 32px; }

/* ---------- Services ---------- */

/* Tall photo cards: darkened, a small number with a thin line on top, the words at the bottom. */
.lia-card {
	position: relative; display: flex; flex-direction: column; justify-content: space-between;
	min-height: 33vw; padding: 36px 32px; overflow: hidden; background: var(--black); color: var(--white);
}
.lia-card .lia-tint::after { opacity: 1; background: linear-gradient(0deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .3) 55%, rgba(0, 0, 0, .4) 100%); }
.lia-card .lia-cover-img { filter: grayscale(.25); }
.lia-card__num { position: relative; z-index: 2; font-size: 13px; font-weight: 500; line-height: 22px; letter-spacing: .12em; color: rgba(255, 255, 255, .8); }
.lia-card__num::after { content: ""; display: inline-block; width: 28px; height: 1px; margin-inline-start: 12px; vertical-align: middle; background: currentColor; opacity: .6; }
.lia-card__text { position: relative; z-index: 2; display: flex; flex-direction: column; }
.lia-card .lia-h2 { color: var(--white); text-wrap: balance; }
.lia-card .lia-text-btn { align-self: flex-start; margin-top: 12px; }
@media (hover: hover) and (pointer: fine) { .lia-card.lia-zoom:hover .lia-tint::after { opacity: .9; } }
@media (max-width: 1199px) { .lia-card { min-height: 60vw; } }
@media (max-width: 767px) { .lia-card { min-height: 112vw; padding: 28px 24px; } }

/* ---------- Projects ---------- */

.lia-projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.lia-project[hidden] { display: none; }
.lia-project__open { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.lia-project__open[disabled] { cursor: default; }
.lia-project__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.lia-project .lia-tint { --tint: 0; --tint-hover: .2; }
.lia-project .lia-tint::before {
	content: ""; position: absolute; inset: 50% 0 0; z-index: 1; pointer-events: none;
	background: linear-gradient(to top, rgba(0, 0, 0, .65), rgba(0, 0, 0, 0));
}
.lia-project .lia-project__title { position: absolute; z-index: 2; inset-inline: 24px; bottom: 20px; color: var(--white); font-size: 30px; line-height: 40px; text-align: right; }
@media (max-width: 767px) { .lia-project .lia-project__title { font-size: 26px; line-height: 36px; } }
.lia-project .lia-project__title::after { content: ""; display: inline-block; width: 28px; height: 1px; margin-inline-start: 12px; vertical-align: middle; background: currentColor; opacity: .6; }
.lia-project__status {
	position: absolute; z-index: 2; top: 16px; left: 16px; padding: 3px 12px;
	background: rgba(0, 0, 0, .4); color: var(--white); font-size: 13px; line-height: 20px; letter-spacing: .02em;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
@media (max-width: 1199px) { .lia-projects { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .lia-projects { grid-template-columns: 1fr; gap: 24px; } }

.lia-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 40px; margin-bottom: 48px; }
.lia-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lia-search { position: relative; display: block; flex: 0 1 260px; margin-inline-start: auto; color: var(--black); }
.lia-search input {
	width: 100%; min-height: 44px; padding: 10px 0 10px 28px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
	background: transparent; color: inherit; font: inherit; font-size: 16px; outline: 0; -webkit-appearance: none; appearance: none;
	transition: border-color .25s var(--ease);
}
.lia-search input::placeholder { color: var(--text); opacity: 1; }
.lia-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.lia-search input:focus { border-color: var(--black); }
.lia-search svg { position: absolute; left: 0; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); pointer-events: none; }
.lia-empty { padding-block: 40px; text-align: center; }
@media (max-width: 767px) { .lia-search { flex: 1 1 100%; } }
.lia-chip {
	padding: 6px 18px; border: 1px solid var(--line); border-radius: 5px; background: none; cursor: pointer;
	font-size: 14px; font-weight: 500; line-height: 22px; letter-spacing: .04em; color: var(--black);
	transition: background .25s var(--ease), border-color .25s var(--ease);
}
.lia-chip[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: var(--white); }
@media (hover: hover) and (pointer: fine) { .lia-chip:hover { border-color: var(--black); } }

/* ---------- Sideways strips ---------- */

.lia-strip {
	--bleed: calc(var(--pad-x) + max(0px, (100vw - 1920px) / 2)); /* past the side padding, and past the centred frame on very wide screens */
	display: grid; grid-auto-flow: column; grid-auto-columns: 30%; column-gap: var(--gap);
	margin-inline-end: calc(var(--bleed) * -1); /* runs off the page edge, so the next card peeks in */
	padding-inline-end: var(--bleed); scroll-padding-inline-end: var(--bleed); /* the same margin after the last card */
	overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; cursor: grab;
}
.lia-strip.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; -webkit-user-select: none; }
.lia-strip.is-dragging * { pointer-events: none; }
.lia-strip::-webkit-scrollbar { display: none; }
.lia-strip > * { scroll-snap-align: start; }
/* Tall, narrower cards for the home page's services. */
.lia-strip--peek { grid-auto-columns: calc((100vw - var(--pad-x)) / 3.5 - var(--gap)); } /* three and a half cards from the page margin */
@media (max-width: 1199px) { .lia-strip, .lia-strip--peek { grid-auto-columns: 46%; } }
@media (max-width: 767px) { .lia-strip, .lia-strip--peek { grid-auto-columns: 84%; } }

/* Round arrows beside a strip's heading. */
.lia-strip-nav { display: flex; align-items: center; gap: 10px; flex: none; }
.lia-strip-nav[hidden] { display: none; }
.lia-round-btn {
	display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0;
	border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--black); cursor: pointer;
	transition: border-color .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease), opacity .25s var(--ease), transform .25s var(--ease);
}
.lia-round-btn .lia-icon { width: 16px; height: 10px; }
.lia-round-btn--prev .lia-icon { transform: scaleX(-1); }
.lia-round-btn:disabled { opacity: .3; cursor: default; }
.lia-round-btn:active:not(:disabled) { transform: scale(.94); transition-duration: .1s; }
.lia-sand .lia-round-btn { border-color: var(--line); }
@media (hover: hover) and (pointer: fine) {
	.lia-round-btn:not(:disabled):hover { border-color: var(--black); background: var(--black); color: var(--white); }
}
@media (max-width: 767px) { .lia-strip-nav { display: none; } }

.lia-quote { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 32px; background: var(--white); }
.lia-quote blockquote { color: var(--black); }
.lia-quote blockquote::before { content: "״"; }
.lia-quote blockquote::after { content: "״"; }
.lia-quote cite { font-style: normal; font-size: 14px; line-height: 24px; }

/* ---------- Steps ---------- */

.lia-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 96px 88px; counter-reset: lia-step; }
.lia-step { counter-increment: lia-step; }
.lia-step::before { content: counter(lia-step, decimal-leading-zero); display: block; margin-bottom: 20px; font-family: var(--font-display); font-size: 24px; line-height: 32px; color: var(--accent-ink); }
.lia-dark .lia-step::before { color: var(--accent); }
.lia-step .lia-h3 { margin-bottom: 12px; font-family: var(--font-body); font-size: 20px; font-weight: 500; line-height: 30px; }
/* Heading and text on one side, the numbered points in two columns beside them. */
.lia-steps-split { display: grid; grid-template-columns: 1fr 2fr; gap: 120px; align-items: start; }
.lia-steps-split .lia-steps { grid-template-columns: repeat(2, 1fr); gap: 64px 56px; }
@media (min-width: 992px) { .lia-steps-split__head { position: sticky; top: 100px; } }
@media (max-width: 991px) { .lia-steps-split { grid-template-columns: 1fr; gap: 56px; } }
@media (max-width: 600px) { .lia-steps-split .lia-steps { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 1199px) { .lia-steps { grid-template-columns: repeat(2, 1fr); gap: 72px 56px; } }
@media (max-width: 600px) { .lia-steps { grid-template-columns: 1fr; gap: 48px; } }

.lia-timeline { counter-reset: lia-step; }
.lia-timeline li { position: relative; padding: 16px 48px 16px 0; color: var(--white); counter-increment: lia-step; }
.lia-timeline li:first-child { padding-top: 0; }
.lia-timeline li:last-child { padding-bottom: 0; }
.lia-timeline li + li { border-top: 1px solid rgba(255, 255, 255, .3); }
.lia-timeline li::before { content: counter(lia-step, decimal-leading-zero); position: absolute; inset-inline-start: 0; top: 16px; font-family: var(--font-display); font-size: 18px; line-height: 28px; color: var(--accent); }
.lia-timeline li:first-child::before { top: 0; }
@media (min-width: 992px) { .lia-dark .lia-two > div:first-child { position: sticky; top: 100px; } }

/* ---------- Cards, gallery, reviews ---------- */

.lia-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.lia-col > .lia-ico { margin-bottom: 20px; }
.lia-col__media { position: relative; aspect-ratio: 4 / 3; margin-bottom: 20px; overflow: hidden; }
.lia-col .lia-h3 { margin-bottom: 8px; }
@media (max-width: 991px) {
	.lia-cols { grid-template-columns: 1fr; gap: 32px; }
	.lia-col + .lia-col { padding-top: 32px; border-top: 1px solid var(--line); }
}

.lia-grid-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lia-grid-gallery__item { position: relative; aspect-ratio: 1; padding: 0; border: 0; overflow: hidden; background: none; cursor: pointer; }
.lia-grid-gallery .lia-tint { --tint: 0; --tint-hover: .2; }
@media (max-width: 767px) { .lia-grid-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

.lia-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 64px var(--gap); }
.lia-review__media { position: relative; aspect-ratio: 4 / 3; margin-bottom: 24px; overflow: hidden; }
.lia-review .lia-quote { padding: 0; background: none; }
@media (max-width: 1199px) { .lia-reviews { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .lia-reviews { grid-template-columns: 1fr; } }

/* Lior's cut-out sits on sand, bottom-aligned. */
.lia-split__media--portrait { display: flex; align-items: flex-end; justify-content: center; background: var(--white); }
.lia-split__media--portrait img { max-height: 640px; width: auto; }
.lia-split__inner .lia-title { margin-bottom: 4px; }

/* The logo file is white; this section is white too. */
.lia-press__logo { width: auto; max-height: 56px; margin: 0 auto 24px; filter: brightness(0); }

/* ---------- FAQ ---------- */

.lia-video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; clip-path: inset(2px); }
.lia-faq details + details { border-top: 1px solid var(--line); }
.lia-faq details:first-child summary { padding-top: 0; }
.lia-faq details:first-child summary::after { top: 6px; }
.lia-faq summary {
	position: relative; padding: 18px 0 18px 32px; list-style: none; cursor: pointer;
	color: var(--black); font-weight: 500;
}
.lia-faq summary::-webkit-details-marker { display: none; }
.lia-faq summary::after {
	content: ""; position: absolute; left: 4px; top: 24px; width: 8px; height: 8px;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
	transform: rotate(45deg); transition: transform .25s var(--ease);
}
.lia-faq details[open] summary::after { transform: translateY(4px) rotate(-135deg); }
.lia-faq details p { padding-bottom: 20px; }
/* Opens and closes smoothly where the browser can animate it; elsewhere it simply toggles. */
@supports (interpolate-size: allow-keywords) {
	.lia-faq { interpolate-size: allow-keywords; }
	.lia-faq details::details-content { height: 0; overflow: clip; transition: height .3s var(--ease-out), content-visibility .3s allow-discrete; }
	.lia-faq details[open]::details-content { height: auto; }
}

/* ---------- Blog ---------- */

.lia-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 104px var(--gap); }
.lia-post-card__media { position: relative; display: block; aspect-ratio: 3 / 2; margin-bottom: 32px; overflow: hidden; }
.lia-post-card .lia-tint { --tint: 0; --tint-hover: .2; }
.lia-post-card a { display: flex; flex-direction: column; height: 100%; }
.lia-post-card .lia-eyebrow { margin-bottom: 16px; }
.lia-post-card .lia-h3 { font-family: var(--font-body); font-size: 20px; font-weight: 500; line-height: 32px; text-wrap: balance; }
.lia-post-card .lia-text-btn { align-self: flex-start; margin-top: auto; padding-top: 32px; }
@media (hover: hover) and (pointer: fine) { .lia-post-card a:hover .lia-text-btn { color: var(--black); } }
@media (max-width: 1199px) { .lia-posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .lia-posts { grid-template-columns: 1fr; gap: 72px; } }

.lia-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 64px; font-size: 14px; font-weight: 500; letter-spacing: .04em; }
.lia-pagination a, .lia-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding-inline: 8px; color: var(--text); transition: color .25s var(--ease); }
.lia-pagination .current { color: var(--black); box-shadow: inset 0 -1px 0 var(--black); }
@media (hover: hover) and (pointer: fine) { .lia-pagination a:hover { color: var(--black); } }

.lia-share { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; }
.lia-share a { color: var(--black); }
@media (hover: hover) and (pointer: fine) { .lia-share a:hover { opacity: .6; } }
.lia-author { display: flex; align-items: center; gap: 24px; margin-top: 32px; padding: 24px 0; border-block: 1px solid var(--line); }
.lia-author img { width: 88px; height: 88px; border-radius: 50%; padding-top: 10px; object-fit: cover; object-position: 50% 0; background: var(--sand); }
.lia-author p { flex: 1; }
@media (max-width: 600px) { .lia-author { flex-direction: column; align-items: flex-start; } }

.lia-content iframe { max-width: 100%; }
.lia-content img { height: auto; }

/* ---------- Forms ---------- */

/* Orange strip: text on orange is always white. */
.lia-cta { background: var(--accent); color: var(--white); }
.lia-cta .lia-title { color: var(--white); }
.lia-cta .lia-field input, .lia-cta .lia-field textarea { color: var(--white); border-color: var(--white); }
.lia-cta .lia-field input:focus, .lia-cta .lia-field textarea:focus { border-color: var(--black); }
.lia-cta :focus-visible { outline-color: var(--black); }
.lia-cta .lia-consent input { accent-color: var(--black); }
.lia-cta__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 120px; align-items: start; }
.lia-contact { display: grid; grid-template-columns: 1.4fr 1fr; gap: 120px; align-items: start; }
.lia-contact__list { width: 100%; max-width: 420px; justify-self: end; }
@media (max-width: 991px) { .lia-contact__list { max-width: none; } }
.lia-contact__list li { display: flex; align-items: center; gap: 8px; padding: 28px 0; }
.lia-contact__list li:first-child { padding-top: 0; }
.lia-contact__list li:last-child { padding-bottom: 0; }
.lia-contact__list .lia-ico { margin-inline-end: 16px; }
.lia-contact__list li + li { border-top: 1px solid var(--line); }
.lia-contact__list a { color: var(--black); transition: color .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .lia-contact__list a:hover { opacity: .6; } }
@media (max-width: 991px) { .lia-cta__grid, .lia-contact { grid-template-columns: 1fr; gap: 48px; } }

.lia-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.lia-field { margin: 0 0 32px; display: flex; flex-direction: column; }
.lia-field--wide { grid-column: 1 / -1; }
.lia-field label { font-size: 14px; line-height: 20px; }
.lia-field input, .lia-field textarea {
	width: 100%; min-height: 44px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
	background: transparent; color: inherit; font: inherit; font-size: 16px; outline: 0;
	transition: border-color .25s var(--ease);
}
.lia-dark .lia-field input, .lia-dark .lia-field textarea { color: var(--white); }
.lia-field textarea { resize: none; min-height: 110px; }
.lia-field input:focus, .lia-field textarea:focus { border-color: var(--black); }
.lia-form .lia-btn { margin: 0; }
.lia-dark .lia-btn { color: var(--white); }
.lia-dark .lia-btn::before { background: var(--white); }
@media (hover: hover) and (pointer: fine) { .lia-dark .lia-btn:hover { color: var(--black); border-color: var(--white); } }
.lia-hp { position: absolute; inset-inline-start: -9999px; }
.lia-notice { margin-bottom: 32px; padding: 14px 20px; border: 1px solid var(--accent); }
.lia-consent { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 28px; font-size: 14px; line-height: 22px; cursor: pointer; }
.lia-consent input { flex: none; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--accent); }
.lia-consent a { text-decoration: underline; }
@media (max-width: 600px) { .lia-form { grid-template-columns: 1fr; } }

/* ---------- Closing photo ---------- */

.lia-finale { position: relative; display: flex; align-items: flex-end; min-height: min(84vh, 760px); overflow: hidden; }
.lia-finale__photo { --tint: 1; }
/* A bright sky: the dark rises only as high as the text, so the house still reads and white text keeps 4.5:1. */
.lia-finale__photo::after { background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, .56) 44%, rgba(0, 0, 0, .12)); }
.lia-finale__photo .lia-cover-img { object-position: 50% 45%; }
.lia-finale__inner { position: relative; z-index: 2; padding-block: var(--pad-section); }
.lia-finale__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--gap); margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--line); color: var(--white); }
.lia-finale__foot p { max-width: 620px; }
.lia-finale__foot .lia-btn { flex: none; margin: 0; }
@media (max-width: 767px) {
	.lia-finale { min-height: 560px; }
	.lia-finale__photo::after { background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, .56) 72%, rgba(0, 0, 0, .12)); }
	.lia-finale__photo .lia-cover-img { object-position: 60% 50%; }
	.lia-finale__foot { flex-direction: column; align-items: flex-start; gap: 24px; }
}

/* ---------- Floating bits ---------- */

/* Left side: UserWay's button lives on the right. */
.lia-whatsapp {
	position: fixed; z-index: 50; left: 24px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 50%; background: var(--accent); color: var(--white);
	transition: background .25s var(--ease), color .25s var(--ease);
}
.lia-whatsapp svg { width: 26px; height: 26px; }
@media (hover: hover) and (pointer: fine) { .lia-whatsapp:hover { background: var(--black); } }

.lia-cookies {
	position: fixed; z-index: 60; inset-inline: 96px; bottom: 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
	max-width: 720px; margin-inline: auto; padding: 14px 24px; background: var(--white); color: var(--black); font-size: 14px; line-height: 22px;
	border: 1px solid var(--line);
}
.lia-cookies[hidden] { display: none; }
.lia-cookies a { color: var(--black); text-decoration: underline; }
.lia-cookies .lia-btn { flex: none; margin: 0; }
.lia-btn--ink { color: var(--white); border-color: var(--black); background: var(--black); }
.lia-btn--ink::before { background: var(--white); }
@media (hover: hover) and (pointer: fine) { .lia-btn--ink:hover { color: var(--black); } }
@media (max-width: 767px) { .lia-cookies { inset-inline: 16px; bottom: calc(88px + env(safe-area-inset-bottom, 0px)); gap: 16px; padding: 10px 16px; font-size: 13px; line-height: 20px; } }

/* ---------- Lightbox ---------- */

.lia-lightbox { width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(0, 0, 0, .97); color: var(--white); }
.lia-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lia-lightbox::backdrop { background: transparent; }
.lia-lightbox__img { max-width: calc(100vw - 180px); max-height: calc(100dvh - 120px); object-fit: contain; }
.lia-lightbox__nav, .lia-lightbox__close { position: absolute; padding: 16px; border: 0; background: none; color: var(--white); cursor: pointer; }
.lia-lightbox__nav { top: 50%; transform: translateY(-50%); }
.lia-lightbox__nav .lia-icon { width: 16px; height: 10px; }
.lia-lightbox__nav--next { left: 24px; }
.lia-lightbox__nav--prev { right: 24px; }
.lia-lightbox__nav--prev .lia-icon { transform: scaleX(-1); }
.lia-lightbox.is-single .lia-lightbox__nav { display: none; }
@media (hover: hover) and (pointer: fine) { .lia-lightbox__nav:hover { opacity: .6; } }
.lia-lightbox__close { top: 16px; left: 16px; width: 52px; height: 52px; }
.lia-lightbox__close::before, .lia-lightbox__close::after { content: ""; position: absolute; top: 50%; left: 16px; width: 20px; height: 1px; background: currentColor; }
.lia-lightbox__close::before { transform: rotate(45deg); }
.lia-lightbox__close::after { transform: rotate(-45deg); }
.lia-lightbox__count { position: absolute; bottom: 16px; inset-inline: 0; text-align: center; font-size: 14px; }
@media (max-width: 767px) {
	.lia-lightbox__img { max-width: 100vw; }
	.lia-lightbox__nav { display: none; }
}

/* ---------- Less motion ---------- */

@media (prefers-reduced-motion: reduce) {
	.lia-loader { display: none; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
}

/* ---------- Touch ---------- */

html { -webkit-tap-highlight-color: transparent; }
a, button, summary, label { touch-action: manipulation; }
button, .lia-btn, .lia-chip { -webkit-user-select: none; user-select: none; }
.lia-btn:active, .lia-chip:active { transform: scale(.97); }
.lia-footer a, .lia-header__link, .lia-contact__list a, .lia-share a { transition: opacity .25s var(--ease); }
.lia-chip { min-height: 44px; }
.lia-card, .lia-strip img { -webkit-user-drag: none; }
@media (pointer: coarse) {
	.lia-burger { padding: 16px; margin: -16px; }
	.lia-footer__nav a { display: inline-block; padding-block: 8px; }
}
@media (max-width: 379px) { .lia-logo__img, .lia-header.is-fixed .lia-logo__img { height: 22px; } }

/* ---------- Quick contact popup ---------- */

.lia-modal {
	width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 56px; overflow-y: auto;
	border: 0; background: var(--white); color: var(--text);
}
.lia-modal::backdrop { background: rgba(0, 0, 0, .55); }
.lia-modal[open] { animation: lia-modal-in .3s var(--ease-out); }
.lia-modal[open]::backdrop { animation: lia-modal-fade .3s var(--ease-out); }
@keyframes lia-modal-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes lia-modal-fade { from { opacity: 0; } }
html:has(.lia-modal[open]) { overflow: hidden; }
.lia-modal .lia-h2 { font-size: 38px; line-height: 48px; }
@media (max-width: 600px) { .lia-modal .lia-h2 { font-size: 32px; line-height: 42px; } }
.lia-modal > p { margin: 8px 0 32px; }
.lia-modal .lia-form { gap: 0 24px; }
.lia-modal .lia-btn { color: var(--black); border-color: var(--line); }
.lia-modal .lia-btn::before { background: var(--black); }
@media (hover: hover) and (pointer: fine) { .lia-modal .lia-btn:hover { color: var(--white); border-color: var(--black); } }
.lia-modal__close { position: absolute; top: 12px; left: 12px; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.lia-modal__close::before, .lia-modal__close::after { content: ""; position: absolute; top: 50%; left: 12px; width: 20px; height: 1px; background: var(--black); }
.lia-modal__close::before { transform: rotate(45deg); }
.lia-modal__close::after { transform: rotate(-45deg); }
@media (max-width: 600px) { .lia-modal { padding: 48px 24px 32px; } }

.lia-faq-wrap { max-width: 860px; }
