/* ==========================================================================
   Coworkperativa — homepage redesign
   Brand colors (moodboard): #202020 · #F03250 · #EF6820 · #FFFFFF
   Font: Manrope. Typography + spacing follow the strict project scale:
   H1 60/700/1.1 · H2 44/700/1.15 · H3 30/600/1.2 · H4 24/600/1.25
   H5 20/600/1.3 · H6 18/600/1.35 · Body 16/400/1.6 · Small + Caption 14/1.5
   Spacing: 8px scale (4 for fine adjustments).
   ========================================================================== */

:root {
  /* color */
  --ink: #202020;
  --ink-2: #161616;
  --red: #f03250;          /* brand: icons, dots, large accents */
  --red-strong: #d41c3f;   /* same red, AA contrast: buttons and red text on light */
  --red-light: #ff6b81;    /* same red, AA contrast: red text on dark */
  --orange: #ef6820;
  --white: #ffffff;
  --soft: #f5f5f4;
  --line: #e6e6e6;
  --line-dark: #333333;
  --muted: #6b6b6b;
  --muted-dark: #b3b3b3;

  /* type */
  --font: "Manrope", system-ui, -apple-system, sans-serif;
  --fs-h1: 60px;
  --fs-h2: 44px;
  --fs-h3: 30px;
  --fs-h4: 24px;
  --fs-h5: 20px;
  --fs-h6: 18px;
  --fs-body: 16px;
  --fs-lead: 18px;
  --fs-small: 14px;
  --fs-caption: 14px;

  /* spacing (8px scale) */
  --s-4: 4px;
  --s-8: 8px;
  --s-12: 12px;
  --s-16: 16px;
  --s-24: 24px;
  --s-32: 32px;
  --s-48: 48px;
  --s-64: 64px;
  --s-96: 96px;

  /* layout */
  --max: 1280px;
  --gutter: var(--s-32);
  --section: var(--s-96);
  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 24px;
  --header-h: 80px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 1024px) {
  :root { --fs-h1: 46px; --fs-h2: 36px; --fs-h3: 28px; --fs-h4: 22px; --gutter: var(--s-24); --section: var(--s-64); }
}
@media (max-width: 640px) {
  :root { --fs-h1: 36px; --fs-h2: 30px; --fs-h3: 24px; --fs-h4: 22px; --fs-h5: 20px; --fs-lead: 16px; --fs-small: 16px; --gutter: var(--s-16); --section: var(--s-64); --header-h: 64px; }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin: 0; }
ul { list-style: none; margin: 0; padding: 0; }
:focus-visible { outline: 2px solid var(--red-strong); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.container { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }

/* ---------- Typography scale ---------- */
.h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--font); color: inherit; text-wrap: balance; }
.h1 { font-size: var(--fs-h1); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.h2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.15; letter-spacing: -0.015em; }
.h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; }
.h4 { font-size: var(--fs-h4); font-weight: 600; line-height: 1.25; }
.h5 { font-size: var(--fs-h5); font-weight: 600; line-height: 1.3; }
.h6 { font-size: var(--fs-h6); font-weight: 600; line-height: 1.35; }
p { font-size: var(--fs-body); line-height: 1.6; }
.small { font-size: var(--fs-small); line-height: 1.5; }
.caption { font-size: var(--fs-caption); line-height: 1.5; }
.muted { color: var(--muted); }
.ink { color: var(--ink); font-weight: 600; }
.label { font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; letter-spacing: 0.04em; text-transform: uppercase; color: var(--red-strong); }

/* ---------- Buttons ---------- */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-12);
  min-height: 48px;
  padding: var(--s-8) var(--s-24);
  border-radius: 999px;
  background: var(--red-strong);
  color: var(--white);
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  transition: color .3s var(--ease), box-shadow .3s var(--ease);
}
.btn::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--ink); transform: translateY(101%); transition: transform .3s var(--ease); z-index: -1; }
.btn:hover::before { transform: translateY(0); }
.btn .arr { width: 12px; height: 12px; flex: none; transition: transform .3s var(--ease); }
.btn:hover .arr { transform: rotate(45deg); }
.btn--sm { min-height: 44px; padding: var(--s-8) 20px; font-size: var(--fs-small); }
.btn--outline { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.btn--outline:hover { color: var(--white); box-shadow: none; }

.link-btn { position: relative; display: inline-flex; align-items: center; min-height: 44px; gap: var(--s-8); font-size: var(--fs-body); font-weight: 600; line-height: 1.5; color: var(--red-strong); white-space: nowrap; }
.link-btn .arr { width: 10px; height: 10px; transition: transform .3s var(--ease); }
.link-btn::after { content: ""; position: absolute; left: 0; bottom: var(--s-8); width: 100%; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
.link-btn:hover::after { transform: scaleX(1); transform-origin: left; }
.link-btn:hover .arr { transform: rotate(45deg); }
.link-btn--ink { color: var(--ink); }
.link-btn--light { color: var(--white); }
.btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-16) var(--s-32); }

/* ---------- Small UI atoms ---------- */
.icon-tile, .icon-sq { display: grid; place-items: center; flex: none; border-radius: var(--r-sm); }
.icon-tile { width: 40px; height: 40px; background: var(--red); color: var(--white); }
.icon-tile svg { width: 24px; height: 24px; }
.icon-tile--outline { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7); }
.icon-sq { width: 48px; height: 48px; background: var(--red); color: var(--white); border-radius: var(--r-md); }
.icon-sq svg { width: 24px; height: 24px; }
.icon-sq--soft { background: var(--soft); color: var(--ink); }
.icon-sq--glass { background: rgba(255,255,255,.16); color: var(--white); }
.chip { display: inline-flex; align-items: center; gap: var(--s-8); padding: var(--s-4) var(--s-12); border-radius: 999px; background: var(--white); color: var(--ink); font-size: var(--fs-small); font-weight: 500; line-height: 1.5; white-space: nowrap; }
.chip svg { width: 16px; height: 16px; }
.pill-mini { display: inline-block; margin-left: var(--s-8); padding: 0 var(--s-8); border-radius: 999px; background: rgba(239,104,32,.12); color: var(--orange); font-size: var(--fs-caption); font-weight: 600; line-height: 1.6; vertical-align: 2px; }
.stars { display: inline-flex; gap: 2px; color: #fbbc05; }
.stars svg { width: 16px; height: 16px; }
.stars--lg svg { width: 24px; height: 24px; }
.status { display: inline-flex; align-items: center; gap: var(--s-8); margin-left: var(--s-12); padding: 0 var(--s-12); border-radius: 999px; font-size: var(--fs-caption); font-weight: 600; line-height: 2; vertical-align: 3px; }
.status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.status--ok { background: rgba(34,197,94,.14); color: #4ade80; }
.status--ok::before { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.25); }
.status--off { background: rgba(240,50,80,.16); color: #ff7a8e; }
.status--off::before { background: var(--red); box-shadow: 0 0 0 3px rgba(240,50,80,.3); }

.img-card { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--soft); }
.img-card > img { width: 100%; height: 100%; object-fit: cover; }
.img-card > img[data-parallax] { position: absolute; left: 0; top: -8%; height: 116%; }

/* ---------- Top bar + Header ---------- */
.topbar { background: var(--ink); color: var(--white); font-size: var(--fs-caption); line-height: 1.5; text-align: center; padding: var(--s-8) var(--gutter); }
.header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); transition: transform .3s var(--ease), box-shadow .3s; }
.header.is-hidden { transform: translateY(-100%); }
.header.is-scrolled { box-shadow: 0 1px 0 var(--line); }
.header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--s-24); height: var(--header-h); }
.logo { display: block; width: 152px; flex: none; }
.logo img { width: 100%; height: auto; mix-blend-mode: multiply; }
.logo--light { width: 200px; }
.logo--light img { filter: invert(1); mix-blend-mode: screen; }
.nav { display: flex; align-items: center; gap: var(--s-32); font-size: var(--fs-body); font-weight: 500; }
.nav > a, .nav__trigger { position: relative; padding: var(--s-4) 0; }
.nav > a::after, .nav__trigger::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1.5px; width: 100%; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
.nav > a:hover::after, .nav > a.is-active::after, .nav__trigger:hover::after, .nav__item.is-open .nav__trigger::after { transform: scaleX(1); transform-origin: left; }
.nav > a.is-active { font-weight: 700; }
.nav__trigger { display: inline-flex; align-items: center; gap: var(--s-4); white-space: nowrap; }
/* invisible bridge over the gap between the item and the panel */
.nav__trigger::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: var(--s-24); }
.nav__chev { width: 16px; height: 16px; flex: none; transition: transform .3s var(--ease); }
.nav__item.is-open .nav__chev { transform: rotate(180deg); }

/* ---------- Mega menu: Locații coworking ---------- */
.mega { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100svh - var(--header-h)); overflow-y: auto; background: var(--white); box-shadow: inset 0 1px 0 var(--line), 0 32px 48px -24px rgba(0,0,0,.28); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s var(--ease), transform .3s var(--ease), visibility .3s; }
.nav__item.is-open .mega { opacity: 1; visibility: visible; transform: none; }
.mega__inner { display: grid; grid-template-columns: minmax(0, .9fr) repeat(3, minmax(0, 1fr)); gap: var(--s-24); padding-top: var(--s-32); padding-bottom: var(--s-32); }
.mega__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-12); padding-right: var(--s-16); }
.mega-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-lg); background: var(--white); box-shadow: 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.mega-card:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--line), 0 12px 24px -16px rgba(0,0,0,.16); }
.mega-card__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--line); }
.mega-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ease); }
.mega-card:hover .mega-card__img img { transform: scale(1.03); }
.mega-card__body { display: grid; gap: var(--s-4); padding: var(--s-16); }
.mega-card__meta { display: flex; align-items: start; gap: var(--s-8); color: var(--muted); font-size: var(--fs-small); font-weight: 400; line-height: 1.5; }
.mega-card__meta svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--red); }
.mega-card--off img { filter: grayscale(1); opacity: .85; }
.mega-card--off .h6 { color: var(--muted); }
.header__actions { display: flex; gap: var(--s-24); align-items: center; }
.burger { display: none; width: 48px; height: 48px; border-radius: 50%; background: var(--ink); position: relative; }
.burger span { position: absolute; left: 16px; right: 16px; height: 2px; background: var(--white); border-radius: 2px; transition: transform .3s var(--ease), top .3s var(--ease); }
.burger span:nth-child(1) { top: 19px; }
.burger span:nth-child(2) { top: 27px; }
.menu-open .burger span:nth-child(1) { top: 23px; transform: rotate(45deg); }
.menu-open .burger span:nth-child(2) { top: 23px; transform: rotate(-45deg); }
.mobile-menu { position: fixed; inset: 0; z-index: 45; background: var(--white); padding: calc(var(--header-h) + var(--s-48)) var(--gutter) var(--s-32); display: flex; flex-direction: column; justify-content: space-between; gap: var(--s-32); overflow-y: auto; overscroll-behavior: contain; clip-path: inset(0 0 100% 0); visibility: hidden; }
.mobile-menu nav > a, .mm-group__btn { display: block; font-size: var(--fs-h3); font-weight: 600; line-height: 1.2; padding: var(--s-8) 0; }
.mm-group__btn { display: flex; align-items: center; justify-content: space-between; gap: var(--s-16); width: 100%; }
.mm-group__chev { width: 24px; height: 24px; flex: none; transition: transform .3s var(--ease); }
.mm-group.is-open .mm-group__chev { transform: rotate(180deg); }
.mm-group__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.mm-group__panel > div { overflow: hidden; visibility: hidden; transition: visibility .3s; }
.mm-group.is-open .mm-group__panel { grid-template-rows: 1fr; }
.mm-group.is-open .mm-group__panel > div { visibility: visible; }
.mm-loc { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: var(--s-16); padding: var(--s-8) 0; }
.mm-loc img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r-sm); }
.mm-loc b { display: block; }
.mm-loc--off img { filter: grayscale(1); opacity: .85; }
.mm-loc--off b { color: var(--muted); }
.mm-loc__status { display: flex; align-items: center; gap: var(--s-8); color: var(--muted); font-size: var(--fs-caption); font-weight: 500; line-height: 1.5; }
.mm-loc__status::before { content: ""; width: 8px; height: 8px; flex: none; border-radius: 50%; }
.mm-loc__status--ok::before { background: #22c55e; }
.mm-loc__status--off::before { background: var(--red); }
.mm-loc__status--partner::before { background: var(--orange); }
.mm-group__all { margin: var(--s-8) 0 var(--s-12); }
.mobile-menu__foot { display: grid; gap: var(--s-16); justify-items: start; }
.mobile-menu__foot .btn { width: 100%; }

/* ---------- Hero: full-width video ---------- */
.hero {
  position: relative;
  min-height: 640px;
  height: calc(100svh - var(--header-h) - var(--topbar-h, 37px));
  max-height: 960px;
  overflow: hidden;
  color: var(--white);
  background: #3a3a3a url("assets/img/brez14.jpg") center / cover;
  isolation: isolate;
}
.hero__media { position: absolute; inset: 0; z-index: -2; container-type: size; overflow: hidden; pointer-events: none; }
.hero__media iframe { position: absolute; left: 50%; top: 50%; width: max(100%, 177.78cqh); height: max(100%, 56.25cqw); transform: translate(-50%, -50%) scale(1.03); border: 0; opacity: 0; transition: opacity 1s var(--ease); }
.hero__media.is-playing iframe { opacity: 1; }
.hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16,16,16,.78) 0%, rgba(16,16,16,.45) 55%, rgba(16,16,16,.2) 100%), linear-gradient(0deg, rgba(16,16,16,.55) 0%, transparent 45%); }
.hero__inner { position: relative; height: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-48); padding-top: var(--s-96); padding-bottom: var(--s-64); }
.hero__content { display: grid; gap: var(--s-24); max-width: 720px; }
.hero__eyebrow { font-size: var(--fs-small); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.5; }
.hero__lead { font-size: var(--fs-lead); max-width: 560px; color: rgba(255,255,255,.85); }
.hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-16) var(--s-32); padding-top: var(--s-8); }

.g-card { width: 360px; flex: none; display: grid; gap: var(--s-12); padding: var(--s-24); border-radius: var(--r-lg); background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 24px 48px -24px rgba(0,0,0,.45); transition: transform .3s var(--ease); }
.g-card:hover { transform: translateY(-4px); }
.g-card__head { display: flex; align-items: center; gap: var(--s-12); padding-bottom: var(--s-12); border-bottom: 1px solid var(--line); }
.g-card__logo { width: 32px; height: 32px; flex: none; }
.g-card__score { display: flex; align-items: center; gap: var(--s-8); font-size: var(--fs-body); }
.g-card__score b { font-weight: 700; }
.g-card__quote { font-size: var(--fs-body); font-weight: 500; line-height: 1.6; min-height: 52px; transition: opacity .3s; }
.g-card .caption { color: var(--muted); transition: opacity .3s; }
.g-card.is-swapping .g-card__quote, .g-card.is-swapping .js-hero-name { opacity: 0; }

/* ---------- Sections ---------- */
.section { padding: var(--section) 0; }
.section--tight { padding: calc(var(--section) * .75) 0; }
.section--dark { background: var(--ink-2); color: var(--white); }
.section--soft { background: var(--soft); }

.head-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s-48); row-gap: var(--s-16); align-items: end; margin-bottom: var(--s-48); }
.head-row > .label, .head-row__title { grid-column: 1; }
.head-row__title { max-width: 720px; }
.head-row > .head-row__aside, .head-row > .btn, .head-row > .link-btn { grid-column: 2; grid-row: 1 / span 2; align-self: end; justify-self: end; }
.head-row__aside { max-width: 360px; }
.head-row--dark .head-row__aside { color: var(--muted-dark); }
.head-row--center { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.head-row--center .head-row__title { max-width: 880px; }
.head-row--center > p:not(.label) { max-width: 560px; }

/* ---------- About ---------- */
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: var(--s-64); align-items: center; }
.about__media { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-24); align-items: end; }
.about__col { display: grid; gap: var(--s-24); }
.about__label { display: flex; justify-content: space-between; align-items: center; gap: var(--s-16); font-size: var(--fs-body); font-weight: 600; line-height: 1.4; }
.about__label span:first-child { max-width: none; }
.about__img1 { height: 312px; }
.about__img2 { height: 408px; }
.about__img2::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.6)); }
.about__overlay { position: absolute; z-index: 1; left: var(--s-24); right: var(--s-24); bottom: var(--s-24); display: flex; justify-content: space-between; align-items: end; gap: var(--s-12); color: var(--white); font-size: var(--fs-h6); font-weight: 600; line-height: 1.4; }
.about__overlay span:first-child { max-width: 180px; }
.about__copy { display: grid; gap: var(--s-16); justify-items: start; }
.about__copy .btn-row { margin-top: var(--s-16); }

/* stats as cards */
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-24); margin-top: var(--s-64); }
.stat { display: grid; align-content: start; gap: var(--s-8); padding: var(--s-24); border-radius: var(--r-lg); background: var(--soft); transition: transform .3s var(--ease); }
.stat:hover { transform: translateY(-4px); }
.stat__icon { width: 48px; height: 48px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--white); color: var(--red); margin-bottom: var(--s-24); }
.stat__icon svg { width: 24px; height: 24px; }
.stat__num { font-size: var(--fs-h1); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.stat__label { font-size: var(--fs-small); line-height: 1.5; color: var(--muted); max-width: 240px; }
.stat--dark { background: var(--ink); color: var(--white); }
.stat--dark .stat__icon { background: rgba(255,255,255,.1); }
.stat--dark .stat__label { color: var(--muted-dark); }
.stat--red { background: var(--red); color: var(--white); }
.stat--red .stat__icon { background: rgba(255,255,255,.18); color: var(--white); }
.stat--red .stat__label { color: rgba(255,255,255,.85); }

/* ---------- Cards ---------- */
.cards3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-24); }
.space-card { display: grid; gap: var(--s-24); align-content: start; }
.space-card__img { height: 480px; }
.space-card__img > img { transition: transform .3s var(--ease); }
.space-card:hover .space-card__img > img { transform: scale(1.03); }
.chips { position: absolute; left: var(--s-16); right: var(--s-16); top: var(--s-16); display: flex; flex-wrap: wrap; gap: var(--s-8); }
.space-card__body { display: grid; gap: var(--s-12); justify-items: start; }
.space-card__body .link-btn { margin-top: var(--s-4); }

.fac-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.fac-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--line), 0 12px 24px -16px rgba(0,0,0,.16); }
.fac-card__img { height: 240px; border-radius: 0; }
.fac-card__img > img { transition: transform .3s var(--ease); }
.fac-card:hover .fac-card__img > img { transform: scale(1.03); }
.fac-card__body { position: relative; z-index: 1; display: grid; align-content: start; justify-items: start; gap: var(--s-12); padding: var(--s-24); }
.fac-card__body .icon-sq { margin-top: calc(var(--s-48) * -1); margin-bottom: var(--s-4); box-shadow: 0 0 0 var(--s-4) var(--white); }
.fac-card .link-btn { margin-top: var(--s-4); }
.fac-card .src { position: absolute; left: var(--s-16); top: var(--s-16); }
.fac-card .src { padding: var(--s-4) var(--s-12); background: var(--white); border-radius: 999px; font-size: var(--fs-caption); font-weight: 600; }
.fac-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--s-48); margin-top: var(--s-48); border-top: 1px solid var(--line); }
.fac-list li { display: flex; align-items: center; gap: var(--s-16); padding: var(--s-16) 0; border-bottom: 1px solid var(--line); font-weight: 500; transition: padding-left .3s var(--ease), color .3s; }
.fac-list li:hover { padding-left: var(--s-8); color: var(--red); }
.fac-list svg { width: 24px; height: 24px; color: var(--red); flex: none; }

/* ---------- "O alternativă reală": dark band, white cards (reference layout) ---------- */
.alt { position: relative; overflow: hidden; background: var(--white); color: var(--ink); isolation: isolate; }
.alt__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-24); }
.alt-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-lg); background: var(--soft); color: var(--ink); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.alt-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px -16px rgba(0,0,0,.16); }
.alt-card__body { position: relative; flex: 1; display: grid; align-content: start; gap: var(--s-16); padding: var(--s-32); }
.alt-card__label { font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); }
.alt-card .h4 { max-width: 15em; }
.alt-card__text { color: var(--muted); max-width: 30em; }
.alt-card__img { height: 200px; overflow: hidden; }
.alt-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ease); }
.alt-card:hover .alt-card__img img { transform: scale(1.03); }

/* ---------- Locations: 3 white cards on the soft band (photo flush on top, padded body) ---------- */
.loc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-24); }
.loc-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-lg); background: var(--white); box-shadow: 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.loc-card:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--line), 0 12px 24px -16px rgba(0,0,0,.16); }
.loc-card__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--line); }
.loc-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ease); }
.loc-card:hover .loc-card__img img { transform: scale(1.03); }
.loc-card__status { position: absolute; left: var(--s-16); top: var(--s-16); display: inline-flex; align-items: center; gap: var(--s-8); padding: var(--s-4) var(--s-12); border-radius: 999px; background: var(--white); color: var(--ink); font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; box-shadow: 0 4px 16px -4px rgba(0,0,0,.2); }
.loc-card__status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.loc-card__status--ok::before { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.25); }
.loc-card__status--off { background: var(--red); color: var(--white); }
.loc-card__status--off::before { background: var(--white); }
.loc-card__status--partner { background: var(--orange); color: var(--white); }
.loc-card__status--partner::before { background: var(--white); }
.loc-card__body { flex: 1; display: flex; flex-direction: column; gap: var(--s-12); padding: var(--s-24); }
.loc-card__lead { color: var(--muted); }
.loc-card__info { display: grid; gap: var(--s-8); margin-top: var(--s-4); font-size: var(--fs-small); line-height: 1.5; }
.loc-card__info li { display: flex; align-items: start; gap: var(--s-8); }
.loc-card__info svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--red); }
.loc-card__foot { margin-top: auto; padding-top: var(--s-16); min-height: var(--s-64); border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: var(--s-16); }
.loc-card__type { font-size: var(--fs-small); font-weight: 600; color: var(--muted); }
.loc-card__na { font-size: var(--fs-small); font-weight: 600; color: var(--muted); }
.loc-card--off .loc-card__img img { filter: grayscale(1); opacity: .85; }
.loc-card--off .h3 { color: var(--muted); }

/* ---------- Locations (dark) ---------- */
.locs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--s-64); align-items: start; }
.loc-item { border-bottom: 1px solid var(--line-dark); }
.loc-item:first-child { border-top: 1px solid var(--line-dark); }
.loc-item__head { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--s-24); padding: var(--s-24) 0; color: var(--white); }
.loc-item__title { display: block; font-size: var(--fs-h4); font-weight: 600; line-height: 1.3; }
.loc-item__sub { display: block; margin-top: var(--s-4); font-size: var(--fs-body); color: var(--muted-dark); }
.loc-item__arr { width: 16px; height: 16px; flex: none; transition: transform .3s var(--ease), color .3s; }
.loc-item:hover .loc-item__arr, .loc-item.is-active .loc-item__arr { transform: rotate(45deg); color: var(--red); }
.loc-item__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.loc-item__body > div { overflow: hidden; }
.loc-item.is-active .loc-item__body { grid-template-rows: 1fr; }
.loc-item__info { display: grid; gap: var(--s-8); color: var(--muted-dark); padding-bottom: var(--s-24); }
.loc-item__info li { display: flex; gap: var(--s-12); align-items: start; }
.loc-item__info svg { width: 16px; height: 16px; margin-top: var(--s-4); color: var(--red); flex: none; }
.loc-item .btn-row { padding-bottom: var(--s-24); }
.locs__media { height: 560px; background: #2a2a2a; }
.locs__set { position: absolute; inset: 0; opacity: 0; transition: opacity .3s var(--ease); }
.locs__set.is-active { opacity: 1; }
.locs__set img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.03); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.locs__set img.is-on { opacity: 1; transform: scale(1); }
.locs__badge { position: absolute; left: var(--s-16); top: var(--s-16); padding: var(--s-4) var(--s-12); border-radius: 999px; background: var(--white); color: var(--ink); font-size: var(--fs-small); font-weight: 500; }
.locs__dots { position: absolute; left: var(--s-16); bottom: var(--s-16); display: flex; gap: var(--s-8); }
.locs__dots i { width: 24px; height: 4px; border-radius: 4px; background: rgba(255,255,255,.4); transition: background-color .3s; }
.locs__dots i.is-on { background: var(--white); }

/* ---------- Map: location picker (photo, status, how to get there) + map + how you get in ---------- */
.map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: var(--s-24); align-items: stretch; }
.places { display: flex; flex-direction: column; gap: var(--s-12); }
.place { border-radius: var(--r-lg); background: var(--soft); box-shadow: inset 0 0 0 1px transparent; transition: background-color .3s, box-shadow .3s; }
.place:hover { box-shadow: inset 0 0 0 1px var(--line); }
.place.is-active { flex: 1; background: var(--white); box-shadow: inset 0 0 0 2px var(--red), 0 16px 32px -24px rgba(0,0,0,.25); }
.place__head { width: 100%; display: flex; align-items: center; gap: var(--s-16); padding: var(--s-12); border-radius: var(--r-lg); }
.place__img { width: 80px; height: 80px; flex: none; object-fit: cover; border-radius: var(--r-md); background: var(--line); }
.place--off .place__img { filter: grayscale(1); opacity: .85; }
.place__main { flex: 1; min-width: 0; display: grid; gap: var(--s-4); }
.place__status { display: flex; align-items: center; gap: var(--s-8); font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; }
.place__status::before { content: ""; width: 8px; height: 8px; flex: none; border-radius: 50%; }
.place__status--ok { color: #15803d; }
.place__status--ok::before { background: #22c55e; }
.place__status--off { color: #c81e3a; }
.place__status--off::before { background: var(--red); }
.place__status--partner { color: var(--ink); }
.place__status--partner::before { background: var(--orange); }
.place__addr { font-size: var(--fs-small); line-height: 1.5; color: var(--muted); }
.place__chev { width: 24px; height: 24px; flex: none; margin-right: var(--s-4); color: var(--muted); transition: transform .3s var(--ease); }
.place.is-active .place__chev { transform: rotate(180deg); color: var(--red); }
.place__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.place__body > div { overflow: hidden; visibility: hidden; transition: visibility .3s; }
.place.is-active .place__body { grid-template-rows: 1fr; }
.place.is-active .place__body > div { visibility: visible; }
.place__facts { display: grid; gap: var(--s-8); padding: var(--s-4) var(--s-16) var(--s-16); font-size: var(--fs-small); line-height: 1.5; }
.place__facts li { display: flex; align-items: start; gap: var(--s-8); }
.place__facts svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--red); }
.place__body .btn-row, .place__body > div > .link-btn { margin: 0 var(--s-16) var(--s-16); }
.map__frame { position: relative; min-height: 520px; overflow: hidden; border-radius: var(--r-lg); background: var(--line); }
.map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; transition: filter .3s, opacity .3s; }
/* colored map; only the unavailable location is shown in grey */
.map__frame.is-off iframe { filter: grayscale(1); }
.map__frame iframe.is-loading { opacity: 0; }
.map__open { position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: flex-end; padding: var(--s-16); }
.map__hint { display: inline-flex; align-items: center; gap: var(--s-8); padding: var(--s-8) var(--s-16); border-radius: 999px; background: var(--ink); color: var(--white); font-size: var(--fs-small); font-weight: 600; line-height: 1.5; transition: background-color .3s, transform .3s var(--ease); }
.map__hint .arr { width: 10px; height: 10px; }
.map__open:hover .map__hint { background: var(--red); transform: translateY(-2px); }


/* ---------- Events: tabs (upcoming / past), featured card + grid, photo mosaic ---------- */
.ev-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-32); margin-bottom: var(--s-48); }
.ev-head__copy { display: grid; gap: var(--s-12); max-width: 640px; }

/* segmented tabs with a sliding pill */
.ev-tabs { position: relative; display: inline-flex; flex: none; padding: var(--s-4); border-radius: 999px; background: var(--soft); }
.ev-tabs__pill { position: absolute; top: var(--s-4); bottom: var(--s-4); left: 0; border-radius: 999px; background: var(--ink); transition: transform .3s var(--ease), width .3s var(--ease); }
.ev-tab { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: var(--s-8); padding: var(--s-12) var(--s-24); border-radius: 999px; font-size: var(--fs-small); font-weight: 600; line-height: 1.5; color: var(--ink); white-space: nowrap; transition: color .3s var(--ease); }
.ev-tab.is-active { color: var(--white); }
.ev-tab__count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 var(--s-8); border-radius: 999px; background: rgba(32,32,32,.08); font-size: var(--fs-caption); transition: background-color .3s, color .3s; }
.ev-tab.is-active .ev-tab__count { background: var(--red); color: var(--white); }

.ev-panel[hidden] { display: none; }

/* shared atoms */
.ev-cat { font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); }
.ev-meta { display: flex; flex-wrap: wrap; gap: var(--s-8) var(--s-24); color: var(--muted); font-size: var(--fs-small); line-height: 1.5; }
.ev-meta li { display: inline-flex; align-items: center; gap: var(--s-8); }
.ev-meta svg { width: 16px; height: 16px; flex: none; color: var(--red); }
.ev-meta--sm { gap: var(--s-4) var(--s-16); }
.ev-date { display: grid; place-content: center; text-align: center; flex: none; background: var(--white); color: var(--ink); font-size: var(--fs-caption); font-weight: 600; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.04em; }
.ev-date b { display: block; font-size: var(--fs-h4); font-weight: 700; line-height: 1.1; letter-spacing: 0; }
.ev-date small { font-size: var(--fs-caption); font-weight: 500; color: var(--muted); text-transform: none; letter-spacing: 0; }
.ev-date--lg { width: 80px; padding: var(--s-12) 0; border-radius: var(--r-md); background: var(--red); color: var(--white); margin-bottom: var(--s-8); }
.ev-date--lg b { font-size: var(--fs-h3); }
.ev-date--lg small { color: rgba(255,255,255,.85); }

/* featured upcoming event */
.ev-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-48); align-items: center; padding: var(--s-24); border-radius: var(--r-lg); background: var(--soft); }
.ev-hero__img { position: relative; display: block; height: 480px; overflow: hidden; border-radius: var(--r-md); }
.ev-hero__img img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transition: transform .3s var(--ease); }
.ev-hero:hover .ev-hero__img img { transform: scale(1.03); }
.ev-flag { position: absolute; left: var(--s-16); top: var(--s-16); display: inline-flex; align-items: center; gap: var(--s-8); padding: var(--s-4) var(--s-12); border-radius: 999px; background: var(--white); font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; }
.ev-flag::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
.ev-hero__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-12); padding-right: var(--s-24); }
.ev-hero__body .ev-meta { flex-direction: column; gap: var(--s-8); margin: var(--s-8) 0 var(--s-16); }

/* past events: photography first */
.ev-proof { display: flex; align-items: center; gap: var(--s-16); margin-bottom: var(--s-24); padding: var(--s-16) var(--s-24); border-radius: var(--r-md); background: var(--soft); }
.ev-proof p { font-size: var(--fs-body); }
.ev-mosaic { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 280px 280px; gap: var(--s-16); }
.ev-shot { position: relative; display: block; overflow: hidden; border-radius: var(--r-lg); color: var(--white); background: var(--ink); isolation: isolate; }
.ev-shot--lg { grid-row: span 2; }
.ev-shot--wide { grid-column: span 2; }
.ev-shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .3s var(--ease), filter .3s; filter: saturate(.85); }
.ev-shot::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(16,16,16,0) 45%, rgba(16,16,16,.8) 100%); }
.ev-shot:hover img { transform: scale(1.03); filter: saturate(1.05); }
.ev-shot__info { position: absolute; left: var(--s-24); right: var(--s-24); bottom: var(--s-24); display: grid; gap: var(--s-4); }
.ev-shot__info .caption { color: rgba(255,255,255,.8); }
.ev-shot__cta { display: inline-flex; align-items: center; gap: var(--s-8); margin-top: var(--s-8); font-size: var(--fs-small); font-weight: 600; opacity: 0; transform: translateY(var(--s-8)); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.ev-shot__cta .arr { width: 10px; height: 10px; }
.ev-shot:hover .ev-shot__cta, .ev-shot:focus-visible .ev-shot__cta { opacity: 1; transform: none; }
@media (hover: none) { .ev-shot__cta { opacity: 1; transform: none; } }

.ev-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--s-8) var(--s-16); margin-top: var(--s-48); padding-top: var(--s-24); border-top: 1px solid var(--line); }

@media (max-width: 1024px) {
  .ev-head { flex-direction: column; align-items: flex-start; }
  .ev-hero { grid-template-columns: 1fr; gap: var(--s-24); }
  .ev-hero__img { height: 360px; }
  .ev-hero__body { padding: 0 var(--s-8) var(--s-8); }
  .ev-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 320px 220px 220px; }
  .ev-shot--lg { grid-column: span 2; grid-row: auto; }
  .ev-shot--wide { grid-column: span 2; }
}
@media (max-width: 640px) {
  .ev-tabs { width: 100%; }
  .ev-tab { flex: 1; justify-content: center; padding: var(--s-12) var(--s-8); }
  .ev-hero { padding: var(--s-16); }
  .ev-hero__img { height: 280px; }
  .ev-mosaic { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 240px; }
  .ev-shot--lg, .ev-shot--wide { grid-column: auto; }
  .ev-proof { flex-direction: column; align-items: flex-start; gap: var(--s-8); }
}

/* ---------- Gallery: two strips, opposite directions ---------- */
/* red brand band, title left / button right, two rows of square photos in opposite directions */
.gallery-sec { background: var(--ink); color: var(--white); padding: var(--section) 0; overflow: hidden; }
.gallery-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-32); margin-bottom: var(--s-48); }
.gallery-head__copy { display: grid; gap: var(--s-16); max-width: 560px; }
.gallery-head__copy p { color: var(--muted-dark); }
.strip { overflow: hidden; cursor: grab; touch-action: pan-y; }
.strip + .strip { margin-top: var(--s-16); }
.strip.is-drag { cursor: grabbing; }
.strip__track { display: flex; gap: var(--s-16); width: max-content; will-change: transform; }
.strip__img { display: block; width: 240px; height: 240px; padding: 0; overflow: hidden; flex: none; background: rgba(255,255,255,.08); cursor: zoom-in; }
.strip__img:focus-visible { outline: 2px solid var(--white); outline-offset: -4px; border-radius: 0; }
.strip.is-drag .strip__img { cursor: grabbing; }
.strip__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ease), filter .3s; pointer-events: none; user-select: none; }
.strip__img:hover img { transform: scale(1.03); }

/* ---------- Media gallery (dialog opened from the photo strips) ---------- */
.lb { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: var(--s-24); border: 0; background: rgba(16,16,16,.97); color: var(--white); overflow: hidden; }
.lb[open] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); gap: var(--s-16) var(--s-24); align-items: center; }
.lb::backdrop { background: rgba(16,16,16,.8); }
.lb__top { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: var(--s-16); }
.lb__count { font-size: var(--fs-small); font-weight: 600; line-height: 1.5; font-variant-numeric: tabular-nums; }
.lb__btn { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--white); transition: background-color .3s; }
.lb__btn:hover { background: var(--red); }
.lb__btn:focus-visible { outline-color: var(--white); border-radius: 50%; }
.lb__btn svg { width: 24px; height: 24px; }
.lb__nav--prev { grid-column: 1; grid-row: 2; }
.lb__nav--next { grid-column: 3; grid-row: 2; }
.lb__stage { grid-column: 2; grid-row: 2; height: 100%; min-height: 0; margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: center; gap: var(--s-12); touch-action: pan-y; }
.lb__img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.lb__cap { font-size: var(--fs-small); line-height: 1.5; color: var(--muted-dark); text-align: center; }
@media (max-width: 640px) {
  .lb { padding: var(--s-16); }
  .lb[open] { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr) auto; }
  .lb__stage { grid-column: 1 / -1; }
  .lb__nav--prev { grid-column: 1; grid-row: 3; }
  .lb__nav--next { grid-column: 3; grid-row: 3; }
}

/* ---------- Google reviews ---------- */
.g-reviews { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: var(--s-24); align-items: start; }
.g-summary { position: sticky; top: calc(var(--header-h) + var(--s-24)); display: grid; justify-items: start; gap: var(--s-12); padding: var(--s-32) var(--s-24); border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.g-summary__logo { width: 40px; height: 40px; margin-bottom: var(--s-8); }
.g-summary .btn { margin-top: var(--s-12); }
.g-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-24); }
.g-review { display: grid; align-content: start; gap: var(--s-12); padding: var(--s-24); border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.g-review:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--line), 0 12px 24px -16px rgba(0,0,0,.16); }
.g-review__top { display: flex; align-items: center; gap: var(--s-12); }
.g-review__top b { display: block; font-size: var(--fs-body); font-weight: 600; line-height: 1.4; }
.g-review__top .caption { display: block; }
.g-review__g { width: 24px; height: 24px; margin-left: auto; flex: none; }
.g-review blockquote { font-size: var(--fs-body); line-height: 1.6; }
.avatar { width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--ink); color: var(--white); font-size: var(--fs-small); font-weight: 700; }
.avatar--red { background: var(--red); }
.avatar--orange { background: var(--orange); }
.avatar--grey { background: #7a7a7a; }

/* ---------- FAQ ---------- */
.faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--s-64); align-items: start; }
.faq__aside { position: sticky; top: calc(var(--header-h) + var(--s-48)); display: grid; gap: var(--s-16); justify-items: start; }
.contact-chip { display: flex; align-items: center; gap: var(--s-16); padding: var(--s-16) var(--s-24) var(--s-16) var(--s-16); margin-top: var(--s-8); border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.contact-chip .caption { display: block; }
.acc { border-top: 1px solid var(--line); }
.acc__item { border-bottom: 1px solid var(--line); }
.acc__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--s-24); padding: var(--s-24) 0; }
.acc__icon { width: 40px; height: 40px; border-radius: 50%; flex: none; position: relative; box-shadow: inset 0 0 0 1px var(--line); background: var(--white); transition: background-color .3s, transform .3s var(--ease); }
.acc__icon::before, .acc__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.5px; margin: -.75px 0 0 -7px; background: currentColor; transition: transform .3s var(--ease); }
.acc__icon::after { transform: rotate(90deg); }
.acc__item.is-open .acc__icon { background: var(--red); color: var(--white); box-shadow: none; transform: rotate(180deg); }
.acc__item.is-open .acc__icon::after { transform: rotate(0); }
.acc__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.acc__a > div { overflow: hidden; }
.acc__a p { color: var(--muted); padding: 0 var(--s-64) var(--s-24) 0; }
.acc__item.is-open .acc__a { grid-template-rows: 1fr; }

/* ---------- Blog ---------- */
.blog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-24); }
.post { display: block; height: 480px; color: var(--white); }
.post > img { position: absolute; inset: 0; transition: transform .3s var(--ease); }
.post::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,.8)); }
.post:hover > img { transform: scale(1.03); }
.post__body { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: var(--s-32); display: grid; gap: var(--s-12); justify-items: start; }
.post__body p { color: rgba(255,255,255,.8); max-width: 480px; }
.post__arr { position: absolute; z-index: 1; right: var(--s-24); top: var(--s-24); width: 48px; height: 48px; border-radius: 50%; background: var(--white); color: var(--ink); display: grid; place-items: center; transition: transform .3s var(--ease), background-color .3s, color .3s; }
.post__arr svg { width: 12px; height: 12px; }
.post:hover .post__arr { transform: rotate(45deg); background: var(--red); color: var(--white); }

/* ---------- Final CTA ---------- */
.cta { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s-48); align-items: center; padding: var(--s-64); border-radius: var(--r-lg); background: var(--ink); color: var(--white); }
.cta__copy { display: grid; gap: var(--s-16); justify-items: start; }
.cta__copy p { color: var(--muted-dark); max-width: 520px; }
.cta__copy .btn-row { margin-top: var(--s-16); }
.cta__contact { display: grid; gap: var(--s-16); }
.cta__contact a { display: flex; align-items: center; gap: var(--s-16); padding: var(--s-16); border-radius: var(--r-md); background: rgba(255,255,255,.1); transition: background-color .3s; }
.cta__contact a:hover { background: rgba(255,255,255,.18); }
.cta__contact .caption { display: block; color: var(--muted-dark); }

/* ---------- Footer ---------- */
.footer { background: var(--ink-2); color: var(--white); padding: var(--s-96) 0 var(--s-32); }
.footer__top { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: var(--s-64); }
.footer__brand { display: grid; gap: var(--s-24); align-content: start; }
.footer__brand p { color: var(--muted-dark); max-width: 320px; }
.footer__cols { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: var(--s-32); }
.footer h4 { color: var(--red); margin-bottom: var(--s-16); }
.footer__cols ul { display: grid; gap: var(--s-12); color: rgba(255,255,255,.8); }
.footer__cols ul a { transition: color .3s; }
.footer__cols ul a:hover { color: var(--white); }
.socials { grid-template-columns: repeat(3, 40px); gap: var(--s-8) !important; }
.socials a { width: 40px; height: 40px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line-dark); display: grid; place-items: center; transition: background-color .3s, box-shadow .3s; }
.socials a:hover { background: var(--red); box-shadow: none; }
.socials svg { width: 16px; height: 16px; }
.footer__info { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: var(--s-24); margin-top: var(--s-64); padding-top: var(--s-32); border-top: 1px solid var(--line-dark); }
.footer__info > div { display: grid; gap: var(--s-4); color: var(--muted-dark); }
.footer__info .lbl { font-weight: 600; color: var(--white); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: var(--s-16); margin-top: var(--s-48); color: var(--muted-dark); }
.langs { display: flex; gap: var(--s-16); }
.langs b { color: var(--white); }

/* ---------- Mobile sticky bar ---------- */
.mbar { display: none; }

/* ---------- JS reveal defaults ---------- */
/* only the pre-reveal state: once .is-in, transform belongs to the cards' own hover rules */
html.js [data-reveal]:not(.is-in), html.js [data-card]:not(.is-in) { opacity: 0; transform: translateY(16px); }
html.js [data-hero] { opacity: 0; }
html.js [data-hero-title] { visibility: hidden; }
/* split lines were measured on the balanced layout: never let them re-wrap */
.ln { white-space: nowrap; text-wrap: nowrap; }
.ln-mask { padding-bottom: .08em; margin-bottom: -.08em; }
html.reduced [data-reveal], html.reduced [data-card], html.reduced [data-hero] { opacity: 1 !important; transform: none !important; }
html.reduced [data-hero-title] { visibility: visible; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
  .nav, .header__actions .link-btn { display: none; }
  .burger { display: block; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g-reviews { grid-template-columns: 1fr; }
  .g-summary { position: static; grid-template-columns: auto auto 1fr; align-items: center; justify-items: start; }
  .g-summary__logo { margin-bottom: 0; }
  .g-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__top { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
  .hero__inner { flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: var(--s-32); }
  .g-card { width: 100%; max-width: 440px; }
  .head-row { grid-template-columns: 1fr; }
  .head-row > .head-row__aside, .head-row > .btn, .head-row > .link-btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: var(--s-8); }
  .head-row--center > * { justify-self: center; }
  .about { grid-template-columns: 1fr; gap: var(--s-48); }
  .about__media { order: 2; }
  .cards3 { grid-template-columns: 1fr; gap: var(--s-48); }
  .alt__cards { grid-template-columns: 1fr; gap: var(--s-24); }
  .loc-cards { grid-template-columns: 1fr; }
  .alt-card__body { padding: var(--s-24); }
  .space-card__img { height: 400px; }
  .fac-list { grid-template-columns: 1fr 1fr; }
  .locs { grid-template-columns: 1fr; gap: var(--s-32); }
  .locs__media { order: -1; height: 400px; }
  .map { grid-template-columns: 1fr; }
  .map__frame { min-height: 360px; order: -1; }
  .faq { grid-template-columns: 1fr; gap: var(--s-48); }
  .faq__aside { position: static; }
  .blog { grid-template-columns: 1fr; }
  .post { height: 400px; }
  .cta { grid-template-columns: 1fr; padding: var(--s-48) var(--s-32); }
  .footer__cols { grid-template-columns: 1fr 1fr; justify-content: start; }
  .footer__info { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .logo { width: 128px; }
  .header__actions .btn { display: none; }
  .hero { height: auto; min-height: calc(100svh - var(--header-h) - var(--topbar-h, 56px)); max-height: none; }
  .hero__inner { padding-top: var(--s-64); padding-bottom: var(--s-32); }
  .hero__ctas .btn { flex: 1 1 100%; }
  .g-card { padding: 20px; }
  .about__media { gap: var(--s-16); }
  .about__img1 { height: 200px; }
  .about__img2 { height: 280px; }
  .about__label { font-size: var(--fs-small); }
  .about__overlay { left: var(--s-16); right: var(--s-16); bottom: var(--s-16); font-size: var(--fs-small); }
  .stats { gap: var(--s-16); margin-top: var(--s-64); }
  .stat { padding: 20px; }
  .stat__icon { margin-bottom: var(--s-16); }
  .fac-list { grid-template-columns: 1fr; }
  .loc-item__title .status { display: inline-flex; margin: var(--s-8) 0 0; }
  .strip__img { width: 160px; height: 160px; }
  .gallery-head { flex-direction: column; align-items: flex-start; }
  .g-summary { grid-template-columns: 1fr; }
  /* reviews: swipe by hand, the next card peeks in to hint at it */
  .g-marquee { margin: 0 calc(var(--gutter) * -1); padding: var(--s-4) var(--gutter); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; touch-action: pan-x pan-y; }
  .g-marquee::-webkit-scrollbar { display: none; }
  .g-grid { display: flex; gap: var(--s-16); width: max-content; }
  .g-review { flex: none; width: min(300px, 80vw); padding: var(--s-24); scroll-snap-align: start; }
  .acc__a p { padding-right: 0; }
  .cta { padding: var(--s-32) var(--s-24); }
  .footer__cols, .footer__info { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: start; }
  .footer { padding-bottom: var(--s-96); }

  .mbar { position: fixed; left: var(--s-12); right: var(--s-12); bottom: var(--s-12); z-index: 40; display: flex; gap: var(--s-8); padding: var(--s-8); border-radius: 999px; background: rgba(32,32,32,.94); box-shadow: 0 16px 40px -12px rgba(0,0,0,.45); transform: translateY(140%); transition: transform .3s var(--ease); }
  .mbar.is-visible { transform: translateY(0); }
  .mbar .btn { flex: 1; }
  .mbar__call { width: 48px; height: 48px; flex: none; border-radius: 50%; display: grid; place-items: center; color: var(--white); box-shadow: inset 0 0 0 1px #444; }
  .mbar__call svg { width: 16px; height: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* section intro kept on one line where there is room */
@media (min-width: 1025px) { .head-row--center > p.one-line { max-width: none; white-space: nowrap; } }

/* ---------- Facilities: illustrated cards (original line-art in brand colors) ---------- */
#facilitati { background: #f4f2ec; }
.fac-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-24); }
.fac-ill { display: flex; flex-direction: column; align-items: center; gap: var(--s-12); padding: var(--s-24) var(--s-24) var(--s-32); text-align: center; background: var(--white); box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.fac-ill:hover { box-shadow: inset 0 0 0 1.5px var(--red); transform: translateY(-4px); }
.fac-ill:hover .h5 { color: var(--red); }
.fac-ill .h5 { transition: color .3s; max-width: 20em; min-height: 2.8em; }
.fac-ill p { max-width: 30em; }
.fac-ill__art { width: 100%; max-width: 168px; height: auto; aspect-ratio: 3 / 2; margin-bottom: var(--s-8); color: var(--ink); fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; overflow: visible; transition: transform .3s var(--ease); }
.fac-ill:hover .fac-ill__art { transform: translateY(-4px) rotate(-1deg); }
.fac-ill__art .il-w { fill: var(--white); }
.fac-ill__art .il-r { fill: var(--red); }
.fac-ill__art .il-o { fill: var(--orange); }
.fac-ill__art .il-k { fill: currentColor; }
.fac-ill__art .il-dt { fill: url(#il-dots); }
.fac-ill__art .il-sp { fill: url(#il-spots); }
.fac-ill__art .il-red-line { stroke: var(--red); stroke-width: 3; }
@media (max-width: 1180px) { .fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* phones: swipeable carousel, 1.5 cards visible (the half card hints at the swipe) */
@media (max-width: 640px) {
  .fac-grid { display: flex; align-items: stretch; margin: 0 calc(var(--gutter) * -1); padding: var(--s-4) var(--gutter); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
  .fac-grid::-webkit-scrollbar { display: none; }
  .fac-ill { flex: 0 0 calc((100vw - var(--gutter) - var(--s-16)) / 1.5); min-width: 0; padding: var(--s-24) 20px; scroll-snap-align: start; }
}

/* ---------- No orphan words: let the browser rebalance the last line ---------- */
p, li, blockquote, figcaption, .h4, .h5, .h6, .caption, .small, .stat__label, .about__overlay span { text-wrap: pretty; }
.nobr { white-space: nowrap; }
@media (max-width: 640px) { .about__label .icon-tile { display: none; } }

/* touch: a tapped card must not stay "hovered" and shift inside the carousel */
@media (hover: none) {
  .fac-ill:hover { transform: none; box-shadow: inset 0 0 0 1px transparent; }
  .fac-ill:hover .h5 { color: inherit; }
  .fac-ill:hover .fac-ill__art { transform: none; }
}

/* phone-width carousel in a desktop browser: it can be dragged with the mouse */
@media (max-width: 640px) and (hover: hover) and (pointer: fine) {
  .fac-grid { cursor: grab; }
  .fac-grid.is-drag { cursor: grabbing; scroll-snap-type: none; user-select: none; }
}

/* ==========================================================================
   Location pages (Brezoianu, Romană, Helpers House)
   ========================================================================== */
.loc-card .h3 a { transition: color .3s; }
.loc-card .h3 a:hover { color: var(--red); }

/* hero: copy + photo mosaic */
.lhero { padding: var(--s-32) 0 var(--section); }
.crumbs { list-style: none; margin: 0 0 var(--s-16); padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-8); font-size: var(--fs-small); line-height: 1.5; color: var(--muted); }
.crumbs li { display: flex; align-items: center; }
  .crumbs li + li::before { content: "/"; margin-right: var(--s-8); color: var(--muted); }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; transition: color .3s; }
.crumbs a:hover { color: var(--red); }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.lhero__copy { display: grid; justify-items: start; gap: var(--s-24); }
.lhero__copy .h1 { max-width: 12em; }
.lhero__lead { font-size: var(--fs-lead); line-height: 1.6; max-width: 34em; }
.lhero__note { font-size: var(--fs-small); line-height: 1.5; color: var(--muted); max-width: 40em; }
.ticks { display: grid; gap: var(--s-12); }
.ticks li { display: flex; align-items: flex-start; gap: var(--s-12); }
.ticks svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--red); }
.ticks--sm { gap: var(--s-8); font-size: var(--fs-small); line-height: 1.5; }
.ticks--sm svg { width: 16px; height: 16px; }
.notice { display: grid; gap: var(--s-8); justify-items: start; width: 100%; padding: var(--s-24); border-radius: var(--r-md); background: var(--soft); }
.notice .btn { margin-top: var(--s-8); }

/* side-by-side panel: title and text, or text and photo */
.band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--s-48); align-items: center; padding: var(--s-48); border-radius: var(--r-lg); background: var(--soft); }
.band__copy { display: grid; justify-items: start; gap: var(--s-16); }
.band__text { display: grid; gap: var(--s-16); color: var(--muted); }
.band__img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-md); background: var(--line); }
.band__img img { width: 100%; height: 100%; object-fit: cover; }

.head-row__intro { display: grid; justify-items: center; gap: var(--s-16); max-width: 640px; color: var(--muted); }



/* pricing */
.prices-wrap { display: grid; justify-items: center; gap: var(--s-32); }
.prices { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-24); }
.price { flex: 0 1 calc((100% - var(--s-48)) / 3); min-width: 0; display: flex; flex-direction: column; gap: var(--s-16); padding: var(--s-32); border-radius: var(--r-lg); background: var(--white); }
.price__head { display: grid; gap: var(--s-4); }
.price__for { font-size: var(--fs-caption); font-weight: 600; line-height: 1.5; color: var(--muted); }
.price__amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--s-8); font-size: var(--fs-h2); font-weight: 700; line-height: 1.15; }
.price__amount small { font-size: var(--fs-body); font-weight: 500; color: var(--muted); }
.price__vat { font-size: var(--fs-caption); line-height: 1.5; color: var(--muted); }
.price__benefit { font-weight: 600; line-height: 1.4; }
.price .ticks { padding-top: var(--s-16); border-top: 1px solid var(--line); }
.price .btn { width: 100%; margin-top: auto; }
.btn--off, .btn[disabled] { background: var(--line); color: #595959; cursor: not-allowed; }
.btn--off::before, .btn[disabled]::before { content: none; }
.price--off .price__amount { color: var(--muted); }
.prices-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-8) var(--s-32); text-align: center; }


/* where it is: details + map */
.lmap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-48); align-items: stretch; }
.lmap__copy { display: grid; align-content: center; justify-items: start; gap: var(--s-16); }
.lmap .map__frame { min-height: 480px; }

/* house rules */
.reg { width: min(760px, calc(100vw - var(--s-32))); max-height: min(84dvh, 860px); padding: 0; border: 0; border-radius: var(--r-lg); background: var(--white); color: var(--ink); overflow: hidden; }
.reg[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.reg::backdrop { background: rgba(16,16,16,.7); }
.reg__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-16); padding: var(--s-24) var(--s-32); border-bottom: 1px solid var(--line); }
.reg__close { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--soft); transition: background-color .3s, color .3s; }
.reg__close:hover { background: var(--red); color: var(--white); }
.reg__close svg { width: 20px; height: 20px; }
.reg__body { display: grid; gap: var(--s-12); padding: var(--s-24) var(--s-32) var(--s-32); overflow-y: auto; overscroll-behavior: contain; font-size: var(--fs-small); line-height: 1.5; }
.reg__body .h5, .reg__body .h6 { margin-top: var(--s-12); }
.reg__body ul { display: grid; gap: var(--s-8); padding-left: var(--s-16); list-style: disc; }

@media (max-width: 1180px) {
  .price { flex-basis: calc((100% - var(--s-24)) / 2); }
}
@media (max-width: 1024px) {
  .band, .lmap { grid-template-columns: minmax(0, 1fr); }
  .band { padding: var(--s-32); gap: var(--s-32); }
}
@media (max-width: 640px) {
  .lhero { padding-top: var(--s-16); }
  .lhero .btn-row .btn { width: 100%; }
  .band { padding: var(--s-24); }
  .price { flex-basis: 100%; padding: var(--s-24); }
  .lmap .map__frame { min-height: 360px; }
  .reg__top { padding: var(--s-16) var(--s-24); }
  .reg__body { padding: var(--s-16) var(--s-24) var(--s-24); }
}

.section--join { padding-top: 0; }
.price { background: var(--soft); }
.section--soft .price { background: var(--white); }
.notice--white { background: var(--white); align-content: start; gap: var(--s-16); }
.nav__trigger.is-active { font-weight: 700; }
.nav__trigger.is-active::after { transform: scaleX(1); transform-origin: left; }
.cta--solo { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.cta--solo .cta__copy { justify-items: center; }
.cta--solo .cta__copy p { max-width: none; }
.cta--solo .btn-row { justify-content: center; }
.cta .ticks { align-self: center; }

/* a long heading line must never widen the page */
.head-row, .head-row--center { min-width: 0; }
@media (max-width: 1024px) { .head-row, .head-row--center { grid-template-columns: minmax(0, 1fr); } }
.head-row--center { grid-template-columns: minmax(0, 1fr); }
.head-row__title, .head-row--center .head-row__title { max-width: min(880px, 100%); }
.lhero__copy, .band__copy, .lmap__copy { grid-template-columns: minmax(0, 1fr); }
.lhero__copy > *, .band__copy > *, .lmap__copy > * { max-width: 100%; }
/* small screens: a split line wider than the screen wraps inside its mask */
@media (max-width: 1024px) { .ln { white-space: normal; text-wrap: balance; } }

/* final CTA on phones: contact tiles stay inside the panel */
.cta__contact, .cta__contact li, .cta__contact a { min-width: 0; }
@media (max-width: 640px) {
  .cta { grid-template-columns: minmax(0, 1fr); }
  .cta__contact .h6 { font-size: var(--fs-body); overflow-wrap: anywhere; }
}

/* ==========================================================================
   Design QA: states and accessibility shared by every page
   ========================================================================== */
/* text blocks stay readable: about 60-75 characters per line */
main p, main li { max-width: 65ch; }
.head-row > .label { margin-bottom: calc(var(--s-4) * -1); }
.lmap__copy .btn-row { margin-top: var(--s-8); }

/* buttons: hover comes from the slide above; here are active, focus and the dark-background variants */
.btn:active { transform: scale(.98); }
.link-btn:active { opacity: .7; }
.btn:focus-visible { outline-offset: 2px; }
.hero :focus-visible, .gallery-sec :focus-visible, .cta :focus-visible, .footer :focus-visible, .mbar :focus-visible, .lb :focus-visible { outline-color: var(--white); }
.cta .btn::before, .gallery-sec .btn::before, .mbar .btn::before { background: var(--white); }
.cta .btn:hover, .gallery-sec .btn:hover, .mbar .btn:hover { color: var(--ink); }
.gallery-sec .btn--outline { color: var(--white); box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.btn--outline { box-shadow: inset 0 0 0 1px var(--muted); }

/* contrast: strong red on light, light red on dark, darker orange under white text */
.alt-card__label, .ev-cat { color: var(--red-strong); }
.avatar--red, .ev-date--lg, .stat--red, .ev-tab.is-active .ev-tab__count, .loc-card__status--off, .lb__btn:hover, .socials a:hover { background: var(--red-strong); }
.fac-ill:hover .h5 { color: var(--red-strong); }
.avatar--orange, .loc-card__status--partner { background: var(--orange); color: var(--ink); }
.loc-card__status--partner::before { background: var(--ink); }
.avatar--grey { background: var(--muted); }
.stat--red .stat__label { color: var(--white); }
.gallery-sec .label, .cta .label, .footer__cols h2 { color: var(--red-light); }
.footer__cols h2 { margin-bottom: var(--s-8); }

/* touch targets: at least 44px */
.logo { display: flex; align-items: center; min-height: 44px; }
.nav > a, .nav__trigger { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
.nav > a::after, .nav__trigger::after { bottom: var(--s-8); }
.footer__cols ul { gap: 0; }
.footer__cols ul a { display: inline-flex; align-items: center; min-height: 44px; }
.socials { grid-template-columns: repeat(3, 44px); }
.socials a { width: 44px; height: 44px; }
.footer__info a, .langs a, .langs b { display: inline-flex; align-items: center; min-height: 44px; }
.ev-tab { min-height: 44px; justify-content: center; }
.loc-card .h3 a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -6px; }
.place__status, .price__for, .price__vat { font-size: var(--fs-caption); }

@media (max-width: 640px) {
  .head-row { margin-bottom: var(--s-32); }
  .gallery-head, .ev-head { margin-bottom: var(--s-32); }
  .footer { padding-top: var(--s-64); }
  .lhero__note { font-size: var(--fs-caption); }
  .stat__label { font-size: var(--fs-caption); }
}

/* short labels keep a full-size target too */
.nav > a, .footer__cols ul a, .langs a, .langs b { min-width: 44px; }
.langs a, .langs b { justify-content: center; }

/* phones: a glued pair of long words in a heading may break normally (balance keeps it tidy) */
@media (max-width: 640px) { .h1 .nobr, .h2 .nobr { white-space: normal; } }

/* ==========================================================================
   Location pages: dark split hero
   ========================================================================== */

.lhero--split :focus-visible { outline-color: var(--white); }
.lhero--split .crumbs { color: var(--muted-dark); }
.lhero--split .crumbs li + li::before { color: var(--muted-dark); }
.lhero--split .crumbs a:hover { color: var(--white); }
.lhero--split .crumbs [aria-current] { color: var(--white); }
.lhero--split .place__status--ok { color: #4ade80; }
.lhero--split .lhero__lead { color: rgba(255,255,255,.85); }
.lhero--split .ticks svg { color: var(--red-light); }
.lhero--split .btn::before { background: var(--white); }
.lhero--split .btn:hover { color: var(--ink); }

/* mobile menu starts below the top bar + header, on every page */
.mobile-menu { padding-top: calc(var(--header-h) + var(--topbar-h, 56px) + var(--s-32)); }

/* background lines: same component on the light band and on the dark hero */
.alt__grid { position: absolute; inset: 0; z-index: -1; display: flex; justify-content: space-evenly; pointer-events: none; }
.alt__grid i { width: 1px; background: rgba(32,32,32,.06); }


/* ---------- Split hero (as on the live page): copy left, slideshow filling the right half ---------- */
.lhero--split { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: max(640px, calc(100svh - var(--header-h) - var(--topbar-h, 37px))); padding: 0; background: var(--ink); color: var(--white); }
.lhero--split .alt__grid i { background: rgba(255,255,255,.05); }
.lsplit__copy { display: flex; flex-direction: column; justify-content: center; gap: var(--s-16); padding: var(--s-32) var(--s-48) var(--s-48) max(var(--gutter), calc((200% - var(--max)) / 2 + var(--gutter))); }
.lhero--split .crumbs { margin: 0; }
.lhero--split .ticks strong, .lhero--split .ticks b { font-weight: 700; }
.lhero--split .btn--outline { color: var(--white); box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.lhero--split .btn--outline:hover { box-shadow: none; }
.kb { position: relative; display: block; width: 100%; height: 100%; min-height: 100%; padding: 0; overflow: hidden; background: rgba(255,255,255,.08); cursor: zoom-in; }
.kb:focus-visible { outline-offset: -4px; }
.kb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; }
.kb img.is-on { opacity: 1; }
.kb img.is-on, .kb img.is-out { animation: kb-zoom 6s linear forwards; }
@keyframes kb-zoom { from { transform: scale(1); } to { transform: scale(1.1); } }
html.reduced .kb img { animation: none; }
@media (max-width: 1024px) {
  .lhero--split { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .lsplit__copy { padding: var(--s-16) var(--gutter) var(--s-48); }
  .kb { height: auto; aspect-ratio: 4 / 3; }
}
@media (max-width: 640px) {
  .lhero--split .btn-row .btn { width: 100%; }
  .kb { aspect-ratio: 1; }
}

/* split hero on dark: status and small text stay readable for every location */
.lhero--split .place__status--off { color: var(--red-light); }
.lhero--split .place__status--partner { color: var(--orange); }
.lhero--split .muted, .lhero--split .lhero__note { color: var(--muted-dark); }

.crumbs a { min-width: 44px; }



@media (max-width: 1180px) {
}
@media (max-width: 640px) {
}

/* ---------- De ce noi: the homepage's card section on a pink band ---------- */
.section--warm { background: var(--white); }
.section--warm .label { color: #bf1635; }
.section--warm .head-row__intro { grid-column: 1; justify-items: start; color: #555; }
.section--warm .alt-card { background: var(--soft); }
.section--warm .alt__grid i { background: rgba(32,32,32,.05); }
.alt__cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.alt__cards--4 .alt-card__body { padding: var(--s-24); }
.alt-card__label--icon { display: flex; align-items: center; gap: var(--s-8); color: var(--ink); }
.alt-card__label--icon svg { width: 24px; height: 24px; flex: none; color: var(--orange); }

/* ---------- Cum funcționează: square cards, line drawing + big number ---------- */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-24); }
.step { display: flex; flex-direction: column; gap: var(--s-16); max-width: none; padding: var(--s-24); border-radius: 0; background: var(--soft); }
.step__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-16); margin-bottom: var(--s-32); }
.step__art { width: 88px; height: 88px; flex: none; }
.step p { color: #5f5f5f; }
.step:nth-child(2) { background: var(--red-strong); color: var(--white); }
.step:nth-child(2) p { color: var(--white); }
.step:nth-child(3) { background: var(--orange); }
.step:nth-child(3) p { color: var(--ink); }
.step:nth-child(4) { background: var(--ink); color: var(--white); }
.step:nth-child(4) p { color: var(--white); }
.section--soft .step:nth-child(1) { background: var(--white); }

@media (max-width: 1180px) {
  .alt__cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .alt__cards--4 { grid-template-columns: minmax(0, 1fr); }
  .steps { grid-template-columns: minmax(0, 1fr); gap: var(--s-16); }
  .step { padding: 20px; }
  .step__top { margin-bottom: var(--s-16); }
  .step__art { width: 72px; height: 72px; }
  .head-row__aside .btn, .section--warm .head-row > .btn { width: 100%; }
}

/* ---------- #TuȘtii? menu ---------- */
.nav__item--drop { position: relative; }
.nav__panel { position: absolute; left: calc(var(--s-16) * -1); top: 100%; z-index: 2; min-width: 240px; display: grid; padding: var(--s-8); border-radius: var(--r-md); background: var(--white); box-shadow: inset 0 0 0 1px var(--line), 0 12px 24px -16px rgba(0,0,0,.2); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s; }
.nav__item--drop:hover .nav__panel, .nav__item--drop:focus-within .nav__panel { opacity: 1; visibility: visible; transform: none; }
.nav__item--drop:hover .nav__chev, .nav__item--drop:focus-within .nav__chev { transform: rotate(180deg); }
.nav__panel a { display: flex; align-items: center; min-height: 44px; padding: 0 var(--s-12); border-radius: var(--r-sm); white-space: nowrap; transition: background-color .2s; }
.nav__panel a:hover { background: var(--soft); }
.nav__trigger.is-active { font-weight: 700; }
.nav__trigger.is-active::after { transform: scaleX(1); transform-origin: left; }
.mm-sub { display: grid; padding: 0 0 var(--s-8) var(--s-8); }
.mm-sub a { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-h6); font-weight: 500; }

/* ---------- Shared bits for the new pages ---------- */
.lhero--split .label { color: var(--red-light); }
.kb--static { cursor: default; }
.alt__cards .alt-card__text { max-width: none; }
.alt-card .link-btn { align-self: start; margin-top: auto; }
.alt-card__body { justify-items: start; }
.alt-card--plain:hover { transform: none; box-shadow: none; }

/* Food Radar */
.places--food .place.is-active { flex: none; }
.place__img--logo { object-fit: contain; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); padding: var(--s-4); }
.food-off { flex: none; margin-right: var(--s-8); font-size: var(--fs-h5); font-weight: 700; line-height: 1; color: var(--red-strong); }

/* Evenimente */
.ev-tile__img { order: -1; height: auto; aspect-ratio: 16 / 9; }
.ev-tile[hidden] { display: none; }
.ev-more { margin-top: var(--s-32); }
.ev-more [hidden] { display: none; }
.ev-tiles .alt-card__body { padding: var(--s-24); gap: var(--s-8); }

/* Blog quotes */
.blog-quote { padding-block: 0; }
.quote { max-width: 880px; margin: 0 auto; text-align: center; display: grid; gap: var(--s-16); }
.quote blockquote { text-wrap: balance; }
.quote figcaption { color: var(--muted); font-weight: 600; }
@media (max-width: 1024px) {
  .alt__cards { grid-template-columns: minmax(0, 1fr); }
  .ev-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) { .ev-tiles { grid-template-columns: minmax(0, 1fr); } }

/* card sections: the intro stays under the title, on the left */
.alt .head-row__intro { grid-column: 1; justify-items: start; }

/* ---------- Sections stay distinct: cards flip to white on grey, quotes get their own band ---------- */
.section--soft .alt-card { background: var(--white); }
.blog-quote { padding-block: var(--s-64); }
.blog-quote--pink { background: var(--white); }
.blog-quote--ink { background: var(--ink); color: var(--white); }
.blog-quote--ink .quote figcaption { color: var(--muted-dark); }
.blog-quote--pink .quote figcaption { color: #555; }
.blog-quote .quote figcaption { max-width: none; }

/* ---------- Detail pages ---------- */
.h1--long { font-size: min(var(--fs-h1), 48px); line-height: 1.15; }
.lhero--detail { min-height: min(640px, calc(100svh - var(--header-h) - var(--topbar-h, 37px))); }
.kb--poster { display: flex; align-items: center; justify-content: center; padding: var(--s-32); background: var(--ink-2); }
.kb--poster img { position: static; width: 100%; height: 100%; max-height: 100%; object-fit: contain; opacity: 1; transition: none; }
.lhero--split .place__status--past { color: var(--muted-dark); }
.lhero--split .place__status--past::before { background: var(--muted-dark); }

/* long text */
.prose { display: grid; align-content: start; justify-items: start; gap: var(--s-16); min-width: 0; }
.prose > * { max-width: 68ch; }
.prose p, .prose li { color: #444; }
.prose .h4 { margin-top: var(--s-24); scroll-margin-top: calc(var(--header-h) + var(--s-16)); }
.prose .h5 { margin-top: var(--s-8); }
.prose ul { display: grid; gap: var(--s-8); padding-left: var(--s-24); list-style: disc; }
.prose li::marker { color: var(--red-strong); }
.prose a { color: var(--red-strong); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.prose blockquote { padding-left: var(--s-16); font-weight: 600; }

/* event: text + sticky info */
.ev-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s-64); align-items: start; }
.ev-info { position: sticky; top: calc(var(--header-h) + var(--s-24)); display: grid; gap: var(--s-16); padding: var(--s-32); border-radius: var(--r-lg); background: var(--soft); }
.ev-info dl { margin: 0; display: grid; }
.ev-info dl > div { display: flex; justify-content: space-between; gap: var(--s-16); padding: var(--s-12) 0; border-top: 1px solid var(--line); }
.ev-info dt { font-size: var(--fs-small); color: #5f5f5f; }
.ev-info dd { margin: 0; font-size: var(--fs-small); font-weight: 600; text-align: right; }
.ev-info .btn { width: 100%; white-space: normal; text-align: center; }

/* article: contents + text */
.art-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--s-64); align-items: start; }
.art-layout--solo { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.toc { position: sticky; top: calc(var(--header-h) + var(--s-24)); display: grid; gap: var(--s-8); padding: var(--s-24); border-radius: var(--r-lg); background: var(--soft); }
.toc ul { display: grid; }
.toc a { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-small); line-height: 1.35; transition: color .2s; }
.toc a:hover { color: var(--red-strong); }

/* case study: problem + solution, then a dark results panel */
.case-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-24); }
.case-card { display: grid; align-content: start; gap: var(--s-16); padding: var(--s-32); border-radius: var(--r-lg); }
.case-card--soft { background: var(--soft); }
.case-card--pink { background: var(--soft); }
.case-card p:not(.alt-card__label) { color: #444; }
.case-result { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s-48); align-items: center; padding: var(--s-64); border-radius: var(--r-lg); background: var(--ink); color: var(--white); }
.case-result__list { display: grid; gap: var(--s-16); justify-items: start; }
.case-result .label { color: var(--red-light); }
.case-result .ticks svg { color: var(--red-light); }
.case-quote { display: grid; gap: var(--s-16); padding: var(--s-32); border-radius: var(--r-md); background: rgba(255,255,255,.08); }
.case-quote figcaption { color: var(--muted-dark); }

@media (max-width: 1024px) {
  .ev-layout, .art-layout, .case-result { grid-template-columns: minmax(0, 1fr); gap: var(--s-32); }
  .ev-info, .toc { position: static; }
  .ev-info { order: -1; }
  .kb--poster { aspect-ratio: 16 / 9; padding: var(--s-16); }
  .case-result { padding: var(--s-32); }
}
@media (max-width: 640px) {
  .case-pair { grid-template-columns: minmax(0, 1fr); }
  .case-card { padding: var(--s-24); }
  .ev-info { padding: var(--s-24); }
  .case-result { padding: var(--s-24); }
  .case-quote { padding: var(--s-24); }
  .blog-quote { padding-block: var(--s-48); }
}

/* detail page fixes */
.prose .label { color: var(--red-strong); }
.alt.section--soft { background: var(--soft); }
.alt__cards:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.toc a { display: block; padding-block: var(--s-12); }
.prose a { display: inline-block; min-height: 24px; }
.kb--cover { padding: 0; }
.kb--cover img { object-fit: cover; }
.section--warm .alt-card__label { color: var(--ink); }
.alt-card__label { color: #bf1635; }
@media (max-width: 640px) { .alt__cards:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); } }

/* intro text directly above a grey section: no panel of its own */
.band--plain { padding: 0; background: none; border-radius: 0; }

/* ==========================================================================
   Secondary pages: one family, a different opening for each kind of page
   ========================================================================== */
img { height: auto; }
.skip { position: absolute; left: var(--s-16); top: -64px; z-index: 100; padding: var(--s-12) var(--s-16); border-radius: var(--r-sm); background: var(--ink); color: var(--white); font-weight: 600; transition: top .2s; }
.skip:focus { top: var(--s-8); }
.lhero .label { margin-bottom: var(--s-12); }
.lhero--split .lhero__copy .label { margin-bottom: 0; }
.lhero .crumbs { margin-bottom: var(--s-16); }

/* in-page navigation on long pages */
.page-nav { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.96); box-shadow: 0 1px 0 var(--line); }
.page-nav__in { display: flex; align-items: center; justify-content: space-between; gap: var(--s-24); min-height: 64px; }
.page-nav__links { display: flex; gap: var(--s-24); min-width: 0; overflow-x: auto; scrollbar-width: none; }
.page-nav__links::-webkit-scrollbar { display: none; }
.page-nav__links a { position: relative; display: inline-flex; align-items: center; flex: none; min-height: 44px; font-size: var(--fs-small); font-weight: 500; white-space: nowrap; color: #444; transition: color .2s; }
.page-nav__links a:hover { color: var(--ink); }
.page-nav__links a[aria-current] { color: var(--ink); font-weight: 700; }
.page-nav__links a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px; background: var(--red-strong); }
.page-nav .btn { flex: none; }
.toc a[aria-current] { color: var(--red-strong); font-weight: 600; }
section[id] { scroll-margin-top: 80px; }

/* location notices */
.lhero__note--alert, .lhero__note--info { padding: var(--s-12) var(--s-16); border-radius: var(--r-sm); line-height: 1.5; }
.lhero--split .lhero__note--alert { background: rgba(255,107,129,.16); color: var(--white); font-weight: 600; }
.lhero--split .lhero__note--info { background: rgba(255,255,255,.08); color: var(--white); }

/* guide: Ce este coworking-ul */
.lhero--guide { position: relative; isolation: isolate; padding: var(--s-16) 0 var(--s-64); }
.guide__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s-48); align-items: end; margin-bottom: var(--s-48); }
.guide__intro { display: grid; gap: var(--s-24); justify-items: start; }
.guide__photos { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--s-16); height: clamp(280px, 38vw, 480px); }
.guide__photos img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-lg); }

/* radar: Food Radar, the map comes first */
.lhero--radar { position: relative; isolation: isolate; padding: var(--s-16) 0 calc(var(--s-96) + var(--s-48)); background: var(--orange); color: var(--ink); }
.lhero--radar .alt__grid i { background: rgba(32,32,32,.08); }
.lhero--radar .label, .lhero--radar .crumbs, .lhero--radar .crumbs li + li::before, .lhero--radar .crumbs a:hover, .lhero--radar .muted { color: var(--ink); }
.lhero--radar .h1 { font-size: 64px; }
.radar__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s-48); align-items: end; }
.radar__intro { display: grid; gap: var(--s-12); }
.radar__intro .lhero__lead { font-weight: 600; }
.radar-map { position: relative; z-index: 1; padding-top: 0; }
.radar-card { max-width: calc(var(--max) - var(--gutter) * 2); margin-top: calc(var(--s-96) * -1); padding: var(--s-32); border-radius: var(--r-lg); background: var(--white); box-shadow: 0 16px 40px -28px rgba(0,0,0,.4); }
.radar-card .head-row { margin-bottom: var(--s-24); }

/* band: Evenimente, no photo, the next event is the picture */
.lhero--split.lhero--band { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.lhero--band .lsplit__copy { padding: var(--s-16) max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter))) var(--s-48); }
.band__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s-48); align-items: end; }
.band__row .label { margin-bottom: var(--s-12); }

/* magazine: Blog */
.lhero--mag { padding: var(--s-16) 0 var(--s-32); }
.mag__head { display: grid; justify-items: center; gap: var(--s-12); padding-bottom: var(--s-32); border-bottom: 2px solid var(--ink); text-align: center; }
.mag__head .label { margin: 0; }
.mag__head .h1 { font-size: 64px; }
.alt__cards--mag { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.alt__cards--mag > :first-child { grid-column: span 2; flex-direction: row; }
.alt__cards--mag > :first-child .alt-card__body { flex: 1; padding: var(--s-48); align-content: center; }
.alt__cards--mag > :first-child .alt-card__img { flex: 1.1; height: auto; min-height: 320px; }
.alt__cards--mag > :first-child .alt-card__img img { object-fit: contain; background: var(--ink); }
#articole { padding-top: var(--s-48); }

/* reading: articles */
.lhero--read { padding: var(--s-16) 0 0; }
.read__wrap { display: grid; justify-items: center; gap: var(--s-12); text-align: center; }
.read__wrap .crumbs { justify-content: center; }
.read__wrap .label { margin: 0; }
.read__wrap .h1 { max-width: 20em; }
.read__wrap .lhero__lead { color: var(--muted); }
.read__cover { width: 100%; max-width: 1040px; margin: var(--s-24) 0 0; aspect-ratio: 16 / 8; overflow: hidden; border-radius: var(--r-lg); background: var(--ink); }
.read__cover img { width: 100%; height: 100%; object-fit: cover; }
.read__cover--contain img { object-fit: contain; }
#articol { padding-top: var(--s-64); }
.toc details > summary { cursor: pointer; list-style: none; min-height: 24px; }
.toc details > summary::-webkit-details-marker { display: none; }
.toc ul { margin-top: var(--s-8); }

/* story: case studies */
.lhero--case { position: relative; isolation: isolate; padding: var(--s-16) 0 var(--s-64); background: var(--soft); }
.lhero--case .label { color: #bf1635; }
.lhero--case .lhero__lead { color: #444; }
.case__head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--s-64); align-items: center; }
.case__photo { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-lg); }
.case__photo img { width: 100%; height: 100%; object-fit: cover; }
.case-pair--flow { position: relative; }
.case-pair--flow::after { content: "→"; position: absolute; left: 50%; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; transform: translate(-50%, -50%); border-radius: 50%; background: var(--ink); color: var(--white); font-size: var(--fs-h5); }
.case-stat { display: grid; gap: var(--s-4); color: var(--white); }
.case-stat b { font-size: 64px; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; color: var(--red-light); }
.case-stat span { color: var(--muted-dark); }

/* event pages: the date first */
.lhero--detail .ev-date--lg { margin: 0; }

@media (max-width: 1024px) {
  .guide__head, .radar__head, .band__row, .case__head { grid-template-columns: minmax(0, 1fr); gap: var(--s-24); }
  .lhero--band .lsplit__copy { padding-inline: var(--gutter); }
  .radar-card { max-width: none; margin-inline: var(--gutter); }
  .page-nav .btn { display: none; }
  .toc { padding: var(--s-16) var(--s-24); }
}
@media (max-width: 640px) {
  .lhero--radar .h1, .mag__head .h1 { font-size: var(--fs-h1); }
  .lhero--radar { padding-bottom: var(--s-96); }
  .radar-card { margin-inline: var(--s-8); margin-top: var(--s-48) ; margin-top: calc(var(--s-48) * -1); padding: var(--s-16); }
  .guide__photos { grid-template-columns: 1fr 1fr; height: auto; }
  .guide__photos img { aspect-ratio: 4 / 3; height: auto; }
  .guide__photos img:first-child { grid-column: span 2; }
  .alt__cards--mag { grid-template-columns: minmax(0, 1fr); }
  .alt__cards--mag > :first-child { grid-column: auto; flex-direction: column; }
  .alt__cards--mag > :first-child .alt-card__body { padding: var(--s-24); }
  .alt__cards--mag > :first-child .alt-card__img { min-height: 200px; }
  .read__cover { aspect-ratio: 16 / 10; }
  .case-pair--flow::after { display: none; }
  .case-stat b { font-size: 48px; }
  .page-nav__in { min-height: 52px; }
}

.page-nav__links a { min-width: 44px; justify-content: center; }
.toc details > summary { display: flex; align-items: center; min-height: 44px; }
@media (max-width: 1024px) { .radar-card { width: auto; } }

.page-nav { top: var(--page-nav-top, 0px); transition: top .3s var(--ease); }

/* ==========================================================================
   Section rhythm: 150px between one section's content and the next, everywhere
   (each section brings 75px above and 75px below). Phones: 96px in total.
   ========================================================================== */
:root { --section: 75px; }
@media (max-width: 640px) { :root { --section: 48px; } }
.section, .section--tight, .gallery-sec, .blog-quote { padding-block: var(--section); }
.section--join { padding-top: 0; }
#articole, #articol { padding-top: var(--section); }
.lhero { padding-bottom: var(--section); }
.lhero--split { padding-bottom: 0; }
.lhero--guide, .lhero--mag, .lhero--read, .lhero--case { padding-bottom: var(--section); }
.mag__head { padding-bottom: 0; border-bottom: 0; }
.lhero--mag .container { position: relative; }
.radar-map { padding-top: 0; padding-bottom: var(--section); }

/* Ce este coworking-ul: the photos stay inside their row */
.guide__photos { grid-template-rows: minmax(0, 1fr); }
.guide__photos img { min-height: 0; }
@media (max-width: 640px) { .guide__photos { grid-template-rows: none; } }

/* keeps its extra depth: the map card climbs over this band */
.lhero--radar { padding-bottom: calc(var(--s-96) + var(--s-48)); }
@media (max-width: 640px) { .lhero--radar { padding-bottom: var(--s-96); } }
/* Blog masthead: the rule sits above the title, the 150px below stay clean */
.mag__head { padding-top: var(--s-32); border-top: 2px solid var(--ink); }

/* after a hero whose photo runs to the edge, the whole 150px sits in the next section */
.lhero--split:not(.lhero--band) + .section, .lhero--split:not(.lhero--band) + .page-nav + .section { padding-top: calc(var(--section) * 2); }
.lhero--band .lsplit__copy { padding-bottom: var(--section); }

.page-nav.is-under .btn { display: none; }

/* the last block keeps the same 150px down to the footer */
main > section:last-child { padding-bottom: calc(var(--section) * 2); }

/* ---------- Event pages: description that talks to you, info as a ticket ---------- */
.ev-lead { max-width: none !important; font-size: var(--fs-h4); font-weight: 500; line-height: 1.35; color: var(--ink) !important; }
.ev-notes { width: 100%; max-width: none !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-16); margin-top: var(--s-8); }
.ev-note { max-width: none !important; padding: var(--s-24); border-radius: var(--r-lg) var(--r-lg) var(--r-lg) var(--s-4); background: var(--soft); }
.ev-note:nth-child(4n+2), .ev-note:nth-child(4n+3) { background: #f4f2ec; }
.ev-notes--odd .ev-note:last-child { grid-column: span 2; }
.ev-info { gap: var(--s-16); padding: var(--s-32); background: var(--ink); color: var(--white); overflow: hidden; -webkit-mask: radial-gradient(circle 12px at 0 var(--notch, 72px), transparent 98%, #000) , radial-gradient(circle 12px at 100% var(--notch, 72px), transparent 98%, #000); -webkit-mask-composite: source-in; mask: radial-gradient(circle 12px at 0 var(--notch, 72px), transparent 98%, #000), radial-gradient(circle 12px at 100% var(--notch, 72px), transparent 98%, #000); mask-composite: intersect; }
.ev-info .h5 { padding-bottom: var(--s-16); border-bottom: 2px dashed rgba(255,255,255,.28); }
.ev-info dl { gap: var(--s-16); padding-top: var(--s-4); }
.ev-info dl > div { align-items: center; justify-content: flex-start; gap: var(--s-12); padding: 0; border-top: 0; }
.ev-info__icon { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--red-light); }
.ev-info__icon svg { width: 20px; height: 20px; }
.ev-info__row { display: grid; min-width: 0; }
.ev-info dt { color: var(--muted-dark); }
.ev-info dd { font-size: var(--fs-body); text-align: left; overflow-wrap: anywhere; }
.ev-info .btn::before { background: var(--white); }
.ev-info .btn:hover { color: var(--ink); }
.ev-info .btn:focus-visible, .ev-info :focus-visible { outline-color: var(--white); }
@media (max-width: 640px) {
  .ev-lead { font-size: var(--fs-h5); }
  .ev-notes { grid-template-columns: minmax(0, 1fr); }
  .ev-notes--odd .ev-note:last-child { grid-column: auto; }
  .ev-note { padding: 20px; }
}

/* ---------- Final CTA: quiet moving background, the text stays the star ---------- */
.cta { position: relative; overflow: hidden; isolation: isolate; }
.cta__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; container-type: size; pointer-events: none; }
.cta__bg img, .cta__bg iframe { position: absolute; }
.cta__bg img { inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.5s ease; }
.cta__bg img.is-on { opacity: 1; }
.cta__bg img.is-on, .cta__bg img.is-out { animation: cta-drift 9s linear forwards; }
@keyframes cta-drift { from { transform: scale(1); } to { transform: scale(1.06); } }
.cta__bg iframe { left: 50%; top: 50%; z-index: 1; width: max(100%, 177.78cqh); height: max(100%, 56.25cqw); border: 0; opacity: 0; transform: translate(-50%, -50%) scale(1.04); transition: opacity 1.5s ease; }
.cta__bg.is-playing iframe { opacity: 1; }
.cta__bg::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(24,24,24,.82); }
html.reduced .cta__bg img { animation: none; }

/* secondary text stays readable over the moving background */
.cta__copy p { color: #ececec; }

/* event notes: no box, so the text starts exactly under the text above; icon + line react on hover */
.ev-notes { gap: var(--s-32) var(--s-32); margin-top: var(--s-16); }
.ev-note, .ev-note:nth-child(4n+2), .ev-note:nth-child(4n+3) { display: grid; align-content: start; justify-items: start; gap: var(--s-12); padding: var(--s-16) 0 0; border-radius: 0; background: none; border-top: 2px solid var(--line); transition: border-color .25s var(--ease); }
.ev-note p { max-width: none; color: #444; }
.ev-note__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--soft); color: var(--red-strong); transition: background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease); }
.ev-note__icon svg { width: 20px; height: 20px; }
@media (hover: hover) {
  .ev-note:hover { border-top-color: var(--red-strong); }
  .ev-note:hover .ev-note__icon { background: var(--red-strong); color: var(--white); transform: translateY(-2px); }
}
@media (max-width: 640px) { .ev-note { padding-top: var(--s-12); } }

/* Open Night: the picture fills the whole right half */
.kb--tall img { object-position: center 35%; }
@media (max-width: 1024px) { .kb--poster.kb--tall { aspect-ratio: 4 / 5; padding: 0; } }

/* the picture follows the height of the text column, instead of stretching the hero */
.kb--tall { position: relative; min-height: 0; }
.kb--tall img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; }

.kb--tall img { object-position: center; }

/* Radio Guerrilla: badge next to the title, and tighter spacing for this section only */
#radio-guerrilla { padding-top: var(--s-96); padding-bottom: var(--s-24); }
#radio-guerrilla .band__text { gap: var(--s-12); }
@media (max-width: 640px) {
  #radio-guerrilla { padding-top: var(--s-64); padding-bottom: var(--s-16); }
}


/* Radio Guerrilla: small badge above the label */
.rg-badge { display: block; width: 88px; height: 88px; margin-bottom: var(--s-4); }

/* ==========================================================================
   Contact, #whoami, directory, profiles
   ========================================================================== */
.nav__panel-sep { height: 1px; margin: var(--s-4) var(--s-12); background: var(--line); }
.nav > a.is-active { font-weight: 700; }

/* Contact: reach us first, addresses and map next */
.contact-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-16); margin-top: var(--s-32); }
.contact-tiles a { display: flex; align-items: center; gap: var(--s-16); min-height: 96px; padding: var(--s-16) var(--s-24); border-radius: var(--r-md); background: rgba(255,255,255,.08); transition: background-color .25s var(--ease); }
.contact-tiles a:hover { background: var(--red-strong); }
.contact-tiles .caption { display: block; color: var(--muted-dark); }
.contact-tiles a:hover .caption { color: var(--white); }
.contact-tiles b { overflow-wrap: anywhere; }
.contact-tiles__icon { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); }
.contact-tiles__icon svg { width: 24px; height: 24px; }
.contact-links { margin-top: var(--s-12); }

/* #whoami: a wall of real members */
.lhero--who { position: relative; isolation: isolate; padding: var(--s-16) 0 var(--section); background: #f4f2ec; }
.who-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-12); }
.who-wall img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-md); background: var(--white); }
.who-quote { padding-left: var(--s-16); border-left: 3px solid var(--red-strong); color: var(--ink); font-size: var(--fs-h6); font-weight: 600; line-height: 1.4; }
.steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* form */
.who-form-wrap { max-width: 880px; }
.who-form { display: grid; gap: var(--s-32); padding: var(--s-32); border-radius: var(--r-lg); background: var(--white); }
.who-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.who-form legend { padding: 0; margin-bottom: var(--s-16); }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px var(--s-16); }
.field { display: grid; align-content: start; gap: var(--s-8); min-width: 0; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: var(--fs-small); font-weight: 600; line-height: 1.4; }
.field__opt { font-weight: 400; color: var(--muted); }
.field input:not([type="checkbox"]), .field select, .field textarea { width: 100%; min-height: 48px; padding: var(--s-12) var(--s-16); border: 1px solid #8a8a8a; border-radius: var(--r-sm); background: var(--white); color: var(--ink); font: inherit; transition: border-color .2s; }
.field textarea { resize: vertical; }
.field input[type="file"] { padding-block: 10px; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--red-strong); outline-offset: 1px; border-color: var(--red-strong); }
.field__hint { font-size: var(--fs-caption); color: var(--muted); }
.field__error { font-size: var(--fs-caption); font-weight: 600; color: #bf1635; }
.has-error input:not([type="checkbox"]), .has-error select, .has-error textarea { border-color: #bf1635; border-width: 2px; }
.field--check label { display: flex; align-items: flex-start; gap: var(--s-12); min-height: 44px; font-weight: 500; cursor: pointer; }
.field--check input { width: 20px; height: 20px; flex: none; margin: 2px 0 0; accent-color: var(--red-strong); }
.who-form .btn { justify-self: start; }
.who-form__status { padding: var(--s-16); border-radius: var(--r-sm); background: var(--soft); font-weight: 500; }
.who-form__status a { color: var(--red-strong); text-decoration: underline; }

/* directory */
.filters { display: flex; flex-wrap: wrap; gap: var(--s-8); margin-bottom: var(--s-32); }
.filter { min-height: 44px; padding: var(--s-8) 20px; border-radius: 999px; background: var(--soft); font-size: var(--fs-small); font-weight: 600; transition: background-color .25s var(--ease), color .25s var(--ease); }
.filter:hover { background: var(--line); }
.filter.is-on { background: var(--ink); color: var(--white); }
.member[hidden] { display: none; }
.member { position: relative; }
.member__cover { order: -1; height: auto; aspect-ratio: 16 / 9; background: var(--white); }
.members .alt-card__body { position: relative; padding: var(--s-48) var(--s-24) var(--s-24); gap: var(--s-8); }
.section--soft .member { background: var(--white); }
.member__face { position: absolute; left: var(--s-24); top: calc(var(--s-32) * -1); width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: var(--white); box-shadow: 0 0 0 4px var(--white); }
.member__face--text { display: grid; place-items: center; background: var(--ink); color: var(--white); font-weight: 700; }
.member__company { font-size: var(--fs-small); font-weight: 600; color: #bf1635; }
.member .link-btn { margin-top: var(--s-4); }

/* profile: like a business card */
.lhero--profile { padding: var(--s-16) 0 var(--section); background: var(--soft); }
.profile__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s-48); align-items: center; }
.profile__cover { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-lg); background: var(--white); }
.profile__cover img { width: 100%; height: 100%; object-fit: cover; }
.profile__who { position: relative; display: grid; justify-items: start; gap: var(--s-12); }
.profile__who .member__face { position: static; width: 88px; height: 88px; }
.ev-info dd a { overflow-wrap: anywhere; transition: color .2s; }
.ev-info dd a:hover { color: var(--red-light); text-decoration: underline; }
.ev-info dd a { display: inline-flex; align-items: center; min-height: 24px; }

@media (max-width: 1024px) {
  .contact-tiles { grid-template-columns: minmax(0, 1fr); }
  .steps--3 { grid-template-columns: minmax(0, 1fr); }
  .profile__head { grid-template-columns: minmax(0, 1fr); gap: var(--s-24); }
  .who-wall { max-width: 560px; }
}
@media (max-width: 640px) {
  .fields { grid-template-columns: minmax(0, 1fr); }
  .who-form { padding: var(--s-24) 20px; }
  .who-form .btn { width: 100%; }
  .contact-tiles a { padding: var(--s-16); min-height: 80px; }
  .filters { flex-wrap: nowrap; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); overflow-x: auto; scrollbar-width: none; }
  .filter { flex: none; }
}

.ev-info dd a { min-height: 44px; }
.ev-info__row { align-content: center; }
.ev-info .ev-info__row dd { line-height: 1.3; }

.container.band--plain { padding-inline: var(--gutter); }

/* #whoami hero: three slow columns of members, moving in opposite directions */
.who-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-12); max-width: none; height: clamp(380px, 40vw, 500px); overflow: hidden; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%); }
.who-col { min-width: 0; overflow: hidden; }
.who-track { display: flex; flex-direction: column; animation: who-up 64s linear infinite; will-change: transform; }
.who-col--2 .who-track { animation-name: who-down; animation-duration: 76s; }
.who-col--3 .who-track { animation-duration: 70s; animation-delay: -20s; }
@keyframes who-up { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes who-down { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.who-wall:hover .who-track, .who-wall:focus-within .who-track { animation-play-state: paused; }
.who-tile { display: block; margin-bottom: var(--s-12); overflow: hidden; border-radius: var(--r-md); background: var(--white); }
.who-tile img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.who-tile img { transition: transform .25s var(--ease); }
.who-tile:hover img { transform: scale(1.04); }
.who-tile:focus-visible { outline-offset: -3px; }
html.reduced .who-track { animation: none; }
@media (prefers-reduced-motion: reduce) { .who-track { animation: none !important; } }
@media (max-width: 1024px) { .who-wall { max-width: none; height: 360px; } }
@media (max-width: 640px) { .who-wall { height: 300px; gap: var(--s-8); } .who-tile { margin-bottom: var(--s-8); } }

/* Language switch: two languages, so both stay visible and one click away */
.lang { display: inline-flex; align-items: center; flex: none; font-size: var(--fs-small); font-weight: 500; line-height: 1; }
.lang__opt { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--muted); transition: color .2s; }
.lang__opt + .lang__opt::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 12px; margin-top: -6px; background: var(--line); }
a.lang__opt:hover { color: var(--ink); }
.lang__opt.is-current { color: var(--ink); font-weight: 700; }
/* desktop with the full nav: tighter so everything stays on one line down to the 1181px breakpoint */
@media (min-width: 1181px) { .lang__opt { min-width: 36px; } }
@media (min-width: 1181px) and (max-width: 1319px) {
  .header__inner { gap: var(--s-16); }
  .nav { gap: var(--s-16); }
  .header__actions { gap: var(--s-16); }
}
@media (max-width: 400px) {
  .header__inner { gap: var(--s-12); }
  .header__actions { gap: var(--s-8); }
}
