/* ==========================================================================
   ANNA EVENT PLANNER
   Layout după grila de referință: toate dimensiunile sunt în „unități de design”
   (--u). 1200–1599px: calc(1 * var(--u)) = 1/1200 din lățimea ferestrei; ≥1600 și ≥1920 au
   propriile mărimi de text; sub 960px se folosește macheta de 360.
   ========================================================================== */

:root {
  --u: calc(100vw / 1200);

  --bg: #fffefc;
  --card: #f5f3f0;
  --ink: #0d0d0d;
  --white: #fffefc;
  --btn-gray: #dad9d5;
  --dark: #414141;
  --gold: #c19b47;
  --hover: #c8c6c2;

  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

  --pad: calc(50 * var(--u));
  --gap: calc(10 * var(--u));
  --sec: calc(160 * var(--u));
  --hdr: calc(59 * var(--u));
  --hbtn: calc(50 * var(--u));
  --hcap: calc(49 * var(--u));
  --stat-off: calc(105 * var(--u));

  --f-h1: calc(50 * var(--u));
  --f-typed: calc(24 * var(--u));
  --f-hbtn: calc(18 * var(--u));
  --f-h2: calc(45 * var(--u));
  --f-h2f: calc(65 * var(--u));
  --f-lead: calc(22 * var(--u));
  --f-body: calc(16 * var(--u));
  --f-strong: calc(18 * var(--u));
  --f-btn: calc(16 * var(--u));
  --f-small: max(calc(12 * var(--u)), 11px);
  --f-14: calc(14 * var(--u));
  --f-stat: calc(60 * var(--u));
  --f-nav: calc(16 * var(--u));
  --f-card: calc(22 * var(--u));
  --f-big: calc(120 * var(--u));
  --f-blog: calc(100 * var(--u));
  --f-acc: calc(16 * var(--u));
  --f-acct: calc(14 * var(--u));
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 1600px) {
  :root {
    --u: calc(100vw / 1600);
    --sec: calc(180 * var(--u));
    --hdr: calc(72 * var(--u));
    --hbtn: calc(60 * var(--u));
    --hcap: calc(60 * var(--u));
    --stat-off: calc(134 * var(--u));
    --f-h1: calc(60 * var(--u));
    --f-typed: calc(26 * var(--u));
    --f-hbtn: calc(20 * var(--u));
    --f-h2: calc(65 * var(--u));
    --f-h2f: calc(90 * var(--u));
    --f-lead: calc(26 * var(--u));
    --f-body: calc(20 * var(--u));
    --f-strong: calc(20 * var(--u));
    --f-btn: calc(20 * var(--u));
    --f-small: calc(16 * var(--u));
    --f-14: calc(16 * var(--u));
    --f-stat: calc(90 * var(--u));
    --f-nav: calc(20 * var(--u));
    --f-card: calc(26 * var(--u));
    --f-blog: calc(120 * var(--u));
    --f-acc: calc(20 * var(--u));
    --f-acct: calc(18 * var(--u));
  }
}

@media (min-width: 1920px) {
  :root {
    --u: calc(100vw / 1920);
    --sec: calc(200 * var(--u));
    --stat-off: calc(161 * var(--u));
    --f-h1: calc(80 * var(--u));
    --f-typed: calc(35 * var(--u));
    --f-h2: calc(75 * var(--u));
    --f-h2f: calc(110 * var(--u));
    --f-lead: calc(30 * var(--u));
    --f-stat: calc(120 * var(--u));
    --f-card: calc(30 * var(--u));
  }
}

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

html { -webkit-text-size-adjust: 100%; overflow-x: clip; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 300 var(--f-body) / 1.2 var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.is-locked { overflow: hidden; }

/* apariția lină a paginii, ca în referință */
.js body { opacity: 0; transition: opacity 0.5s ease-in-out; }
.js body.is-ready { opacity: 1; }

img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; border-radius: 0; }
h1, h2, h3, p, figure, ul, ol, fieldset { margin: 0; padding: 0; border: 0; }
ul, ol { list-style: none; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.wrap { padding-inline: var(--pad); }
.s { padding-top: var(--sec); }
.s[id] { scroll-margin-top: calc(var(--hdr) + calc(30 * var(--u)) - var(--sec)); }

.cover { position: relative; overflow: hidden; background: var(--card); }
.cover > img,
.cover > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zoom > img { transition: transform 2s var(--ease); will-change: transform; }
.zoom:hover > img,
a:hover > .zoom > img { transform: scale(1.1); }

.ico { width: calc(12 * var(--u)); height: calc(12 * var(--u)); flex: none; }

/* ---------- tipografie ---------- */

.h2 { font: 500 var(--f-h2) / 1 var(--serif); text-transform: uppercase; }
.lead { font-size: var(--f-lead); font-weight: 400; line-height: 1.1; }
.center { text-align: center; }
.mid { margin-inline: auto; }

.dot { position: relative; padding-left: calc(10 * var(--u)); }
.dot::before { content: ""; position: absolute; left: 0; top: 0.42em; width: calc(5 * var(--u)); height: calc(5 * var(--u)); border-radius: 50%; background: currentColor; }

/* ---------- butoane ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--u));
  height: var(--hbtn);
  padding: 0 calc(16 * var(--u));
  font: 500 var(--f-btn) / 1.2 var(--sans);
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.btn .ico,
.badge .ico { transition: transform 0.3s ease; }
.btn:hover .ico { transform: rotate(-45deg); }
.btn--white { background: var(--white); color: var(--ink); }
.btn--light { background: var(--card); }
.btn--gray { background: var(--btn-gray); }
.btn--white:hover,
.btn--light:hover,
.btn--gray:hover { background: var(--hover); }
.btn--dark { background: var(--dark); color: #fff; font-weight: 400; }
.btn--dark:hover { background: #000; }
.btn--block { display: flex; width: 100%; }
.btn--bar { display: flex; width: 100%; height: calc(73 * var(--u)); margin-top: var(--gap); background: var(--card); }
.btn--bar:hover { background: var(--hover); }

.badge {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: calc(26 * var(--u));
  height: calc(26 * var(--u));
  background: var(--btn-gray);
}

/* ---------- header ---------- */

.header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  height: var(--hdr);
  color: var(--white);
  background: rgba(3, 3, 3, 0.1);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--white);
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
/* după hero, peste secțiunile deschise: bară deschisă cu text închis */
.header.is-light { color: var(--ink); background: rgba(255, 254, 252, 0.88); border-bottom-color: rgba(13, 13, 13, 0.15); }
.header.is-light .nav a:hover,
.header.is-light .header__tel:hover,
.header.is-light .header__cta:hover { color: #8d8b86; }
.header__in { display: flex; align-items: center; height: 100%; padding-inline: var(--pad); }
/* logo-ul e desenat în albastrul brandului; peste hero îl facem alb din filtru */
.logo { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); margin-right: calc(40 * var(--u)); }
.logo img { width: auto; max-width: none; filter: brightness(0) invert(1); transition: filter 0.3s; }
.logo__mark { height: calc(var(--hdr) * 0.66); }
.logo__word { height: calc(var(--hdr) * 0.48); }
.header.is-light .logo img,
.header.is-menu .logo img { filter: none; }
.nav { display: flex; gap: calc(15 * var(--u)); }
.nav a,
.header__tel { font-size: var(--f-nav); line-height: 1.1; white-space: nowrap; transition: color 0.2s; }
.header__tel { margin-left: calc(48 * var(--u)); }
.header__cta {
  display: inline-flex;
  align-items: center;
  gap: calc(7 * var(--u));
  margin-left: auto;
  font: 400 var(--f-nav) / 1.1 var(--sans);
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.2s;
}
.nav a:hover,
.header__tel:hover,
.header__cta:hover { color: var(--hover); }
.header__cta .ico { transition: transform 0.3s ease; }
.header__cta:hover .ico { transform: rotate(-45deg); }
.burger { display: none; }

.mmenu { display: none; }

/* ---------- hero ---------- */

.hero { position: relative; height: 100vh; height: 100svh; min-height: calc(520 * var(--u)); color: var(--white); overflow: hidden; background: #1a1a1a; }
.hero__slide { position: absolute; inset: 0; background: center / cover no-repeat; opacity: 0; transition: opacity 1.6s ease-in-out; }
.hero__slide.is-on { opacity: 1; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.5)); }
.hero__in { position: absolute; z-index: 1; left: var(--pad); right: var(--pad); top: calc(50% - calc(48 * var(--u))); }
.hero h1 { font: 500 var(--f-h1) / 1 var(--serif); text-transform: uppercase; }
.hero__typed { min-height: 1.1em; font: 300 var(--f-typed) / 1.1 var(--sans); }
.hero__typed::after { content: "|"; margin-left: 0.1em; animation: blink 1s steps(1) infinite; }
.hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(9 * var(--u));
  width: calc(424 * var(--u));
  height: calc(64 * var(--u));
  margin-top: calc(49 * var(--u));
  border: 1px solid var(--card);
  color: var(--card);
  font: 400 var(--f-hbtn) / 1 var(--sans);
  text-transform: uppercase;
  transition: color 0.2s, border-color 0.2s;
}
.hero__btn .ico { width: calc(13 * var(--u)); height: calc(13 * var(--u)); transition: transform 0.3s ease; }
.hero__btn:hover { color: var(--hover); border-color: var(--hover); }
.hero__btn:hover .ico { transform: rotate(-45deg); }
@keyframes blink { 50% { opacity: 0; } }

/* ---------- despre ---------- */

.about { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gap); }
.about__text { display: flex; flex-direction: column; }
.about__text .lead { margin-top: calc(20 * var(--u)); max-width: 83.5%; }
.about__more { margin-top: auto; padding-top: calc(30 * var(--u)); padding-bottom: calc(18 * var(--u)); }
.about__more .lead { margin-top: 0; max-width: 88%; }
.about__more .txt { margin-top: calc(9 * var(--u)); max-width: 99.6%; }
.about__more .lead + .txt { margin-top: calc(25 * var(--u)); }
.about__img { aspect-ratio: 545 / 525; }

/* ---------- cifre ---------- */

.stats { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--gap); align-items: start; }
.stat { display: flex; align-items: flex-end; justify-content: space-between; gap: calc(10 * var(--u)); padding-bottom: calc(11 * var(--u)); border-bottom: 1px solid var(--ink); }
.stat:nth-child(even) { margin-top: var(--stat-off); }
.stat__num { font: 300 var(--f-stat) / 1 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.stat__label { max-width: 68%; padding-bottom: calc(4 * var(--u)); font-size: var(--f-14); text-align: right; }

/* ---------- bloc cu foto / video mare ---------- */

.split { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gap); align-items: end; }
.split .lead { max-width: 90%; }
.split--top { align-items: start; }
.split__side .btn { margin-top: calc(30 * var(--u)); }
.media { aspect-ratio: 1100 / 621; margin-top: calc(30 * var(--u)); background: #000; }
.points { display: grid; grid-template-columns: repeat(6, 1fr); column-gap: var(--gap); margin-top: calc(10 * var(--u)); font-size: var(--f-body); font-weight: 400; line-height: 1.1; }
.points li:nth-child(3) { grid-column: 4; }

/* ---------- portofoliu ---------- */

.pf { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-top: calc(50 * var(--u)); }
.pf__item { display: flex; flex-direction: column; background: var(--card); }
.pf__img { aspect-ratio: 1 / 1; }
.pf__cap { display: flex; align-items: center; justify-content: space-between; gap: calc(10 * var(--u)); height: var(--hcap); padding-inline: calc(10 * var(--u)); }
.pf__item--big { grid-column: span 2; grid-row: span 2; }
.pf__item--big .pf__img { aspect-ratio: auto; flex: 1; min-height: 0; }
.pf__item:nth-child(7) { grid-column: 1; grid-row: 4; }
.pf__item:nth-child(8) { grid-column: 1; grid-row: 5; }
.pf__item:nth-child(9) { grid-column: 2 / 4; grid-row: 4 / 6; }

/* ---------- banner CTA: fotografia rămâne fixă, textul urcă peste ea ----------
   Textul pornește din partea de jos a fotografiei și urcă --travel cât timp ea stă
   fixă, deci rămâne tot timpul peste imagine (altfel apare alb pe alb sub ea). */

.cta {
  --ph: calc((100vw - 2 * var(--pad)) * 600 / 1100);
  --travel: calc(var(--ph) * 0.3);
  position: relative;
  height: calc(var(--ph) + var(--travel));
  margin: var(--sec) var(--pad) 0;
}
.cta__pin { position: sticky; top: 0; height: var(--ph); }
.cta__pin::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.22); }
.cta__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--travel) + var(--ph) * 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #f9f9f9;
  text-align: center;
}
.cta__body p { max-width: calc(550 * var(--u)); margin-top: calc(10 * var(--u)); font-size: var(--f-body); line-height: 1.1; }
.cta__body .btn { width: calc(360 * var(--u)); margin-top: calc(36 * var(--u)); }

/* ---------- servicii: 3 carduri ---------- */

.lead--intro { max-width: 48.5%; margin-top: calc(20 * var(--u)); }
.trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-top: calc(73 * var(--u)); }
.trio__card { display: flex; flex-direction: column; aspect-ratio: 360 / 480; padding: calc(25 * var(--u)) calc(25 * var(--u)) calc(24 * var(--u)); background: var(--card); }
.trio__title { font: 400 var(--f-card) / 1.1 var(--sans); }
.trio__body { margin-top: auto; }
.trio__body strong { display: block; max-width: 85%; font: 400 var(--f-strong) / 1.2 var(--sans); }
.trio__body p { margin-top: calc(10 * var(--u)); }
.trio__body .btn { margin-top: calc(40 * var(--u)); }

/* ---------- premii ---------- */

.awards { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap); margin-top: calc(32 * var(--u)); }
.award { position: relative; height: calc(140 * var(--u)); background: var(--card); }
.award__logo,
.award__info { position: absolute; inset: 0; transition: opacity 0.3s; }
.award__logo { display: flex; flex-direction: column; align-items: center; padding-top: calc(28 * var(--u)); color: var(--gold); }
.award__logo b { font: 600 calc(34 * var(--u)) / 0.9 var(--serif); text-transform: uppercase; letter-spacing: 0.02em; }
.award__logo i { margin-top: calc(-4 * var(--u)); font: italic 400 calc(26 * var(--u)) / 0.9 var(--serif); }
.award__logo span { margin-top: calc(12 * var(--u)); font: 600 var(--f-body) / 1.2 var(--sans); }
.award__info { display: flex; flex-direction: column; justify-content: space-between; padding: calc(15 * var(--u)); opacity: 0; }
.award__info b { font-weight: 500; font-size: var(--f-14); }
.award__info span { max-width: calc(180 * var(--u)); font-size: var(--f-small); }
.award.is-open .award__logo,
.award:hover .award__logo { opacity: 0; }
.award.is-open .award__info,
.award:hover .award__info { opacity: 1; }
.awards-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-top: var(--gap); }
.awards-duo > * { aspect-ratio: 1 / 1; }
.awards-duo__stack { display: grid; place-content: center; gap: var(--gap); background: var(--card); }
.awards-duo__stack .cover { width: calc(139 * var(--u)); aspect-ratio: 139 / 174; }

/* ---------- tendințe ---------- */

.trends { display: grid; grid-template-columns: 175fr 268fr 175fr 268fr 175fr; column-gap: var(--gap); align-items: center; margin-top: calc(30 * var(--u)); }
.trends .cover { aspect-ratio: 175 / 207; }
.trends .cover:nth-child(even) { aspect-ratio: 268 / 318; }
.trends__dots { display: none; }

/* ---------- servicii: plăci numerotate ---------- */

.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); margin-top: calc(30 * var(--u)); }
.tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 1 / 1; padding: calc(20 * var(--u)); background: var(--card); }
.tile__top { display: flex; justify-content: space-between; align-items: flex-start; }
.tile__num { font-weight: 500; }
.tile__thumb { width: calc(84 * var(--u)); aspect-ratio: 1 / 1; }
.tile__text { max-width: 88%; }
.tile--cta { align-items: center; justify-content: center; flex-direction: row; gap: calc(8 * var(--u)); font: 500 var(--f-btn) / 1.2 var(--sans); text-transform: uppercase; transition: background-color 0.2s; }
.tile--cta:hover { background: var(--hover); }
.tile--cta .ico { transition: transform 0.3s ease; }
.tile--cta:hover .ico { transform: rotate(-45deg); }
.tiles > :nth-child(1) { grid-area: 1 / 1; }
.tiles > :nth-child(2) { grid-area: 1 / 3; }
.tiles > :nth-child(3) { grid-area: 1 / 4; }
.tiles > :nth-child(4) { grid-area: 1 / 2; }
.tiles > :nth-child(5) { grid-area: 2 / 3; }
.tiles > :nth-child(6) { grid-area: 3 / 1; }
.tiles > :nth-child(7) { grid-area: 3 / 3; }
.tiles > :nth-child(8) { grid-area: 2 / 4; }
.tiles > :nth-child(9) { grid-area: 3 / 2; }
.tiles > :nth-child(10) { grid-area: 4 / 3; }
.tiles > :nth-child(11) { grid-area: 4 / 4; }

/* ---------- echipă ---------- */

.team { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-top: calc(29 * var(--u)); }
.team__card { position: relative; height: calc(610 * var(--u)); padding: calc(25 * var(--u)) calc(12 * var(--u)); background: var(--card); text-align: center; overflow: hidden; }
.team__name { font: 400 var(--f-card) / 1.1 var(--sans); }
.team__role { margin-top: calc(5 * var(--u)); font-size: var(--f-body); line-height: 1.1; }
.team__photo { width: calc(284 * var(--u)); aspect-ratio: 284 / 337; margin: calc(20 * var(--u)) auto 0; }
.team__photo img { object-position: 50% 18%; }
.team__bio { margin-top: calc(20 * var(--u)); }
.team__bio p + p { margin-top: calc(10 * var(--u)); }
.team__swap { transition: opacity 0.3s; }
.team__swap.is-out { opacity: 0; }
.team__rule { max-width: calc(415 * var(--u)); margin: calc(5 * var(--u)) auto 0; line-height: 1.1; }
.team__count { position: absolute; left: 0; right: 0; top: calc(211 * var(--u)); }
.team__count b { display: block; font: 300 var(--f-big) / 1 var(--sans); }
.team__count span { display: block; max-width: calc(158 * var(--u)); margin: calc(10 * var(--u)) auto 0; line-height: 1.1; }
.team__strip { position: absolute; left: 50%; top: calc(485 * var(--u)); width: calc(444 * var(--u)); margin-left: calc(-222 * var(--u)); overflow: hidden; }
.team__thumbs { display: flex; gap: calc(6 * var(--u)); transform: translateX(calc(var(--p, 0) * calc(-450 * var(--u)))); transition: transform 0.6s var(--ease); }
.team__thumb { transition: opacity 0.2s; }
.team__thumb:hover { opacity: 0.8; }
.team__thumb { flex: none; width: calc(69 * var(--u)); height: calc(100 * var(--u)); }
.team__thumb img { object-position: 50% 15%; }
.team__arrow { position: absolute; top: calc(523 * var(--u)); display: grid; place-items: center; width: calc(24 * var(--u)); height: calc(24 * var(--u)); background: var(--btn-gray); transition: opacity 0.2s, background-color 0.2s; }
.team__arrow:hover { background: var(--hover); }
.team__arrow[disabled] { opacity: 0; pointer-events: none; }
.team__arrow .ico { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }
.team__arrow--next { left: calc(50% + calc(228 * var(--u))); }
.team__arrow--prev { right: calc(50% + calc(228 * var(--u))); }
.team__arrow--prev .ico { transform: scaleX(-1); }
.team__nav { display: none; }

/* ---------- cum lucrăm ---------- */

.steps { margin-top: calc(30 * var(--u)); }
.step { display: grid; grid-template-columns: 94fr 369fr 637fr; padding: calc(21 * var(--u)) 0 calc(20 * var(--u)); border-bottom: 1px solid rgba(13, 13, 13, 0.3); }
.step:first-child { padding-top: 0; }
.step:last-child { border-bottom: 0; }
.step__num { font-weight: 500; line-height: 1.1; align-self: start; }
.step__title { align-self: start; font: 500 var(--f-body) / 1.1 var(--sans); text-align: left; cursor: default; }
.step__title .ico { display: none; }

/* ---------- fiecare cuplu ---------- */

.duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-top: calc(30 * var(--u)); }
.duo > * { aspect-ratio: 545 / 600; }
.duo__card { display: flex; flex-direction: column; align-items: center; padding-top: calc(45 * var(--u)); background: var(--card); text-align: center; }
.duo__card strong { max-width: calc(408 * var(--u)); font-weight: 400; line-height: 1.1; }
.duo__card p { max-width: calc(457 * var(--u)); margin-top: calc(10 * var(--u)); }
.duo__pic { width: calc(310 * var(--u)); aspect-ratio: 310 / 313; margin-top: calc(20 * var(--u)); }
.duo__card .btn { width: calc(310 * var(--u)); margin-top: calc(6 * var(--u)); }

/* ---------- formate ---------- */

.formats { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--gap); align-items: start; }
.format:nth-child(even) { margin-top: calc(50 * var(--u)); }
.format__cap { max-width: 92%; margin-bottom: calc(10 * var(--u)); font-weight: 400; line-height: 1.1; }
.format__cap.dot::before { width: calc(4 * var(--u)); height: calc(4 * var(--u)); top: 0.45em; }
.format__img { display: block; aspect-ratio: 268 / 330; }

.quote { display: flex; flex-direction: column; align-items: center; text-align: center; }
.quote .h2 { max-width: calc(924 * var(--u)); }
.quote p { max-width: calc(546 * var(--u)); margin-top: calc(10 * var(--u)); }
.quote .btn { width: calc(360 * var(--u)); margin-top: calc(50 * var(--u)); }

/* ---------- mirese / miri ---------- */

.trip { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: calc(7 * var(--u)); align-items: start; margin-top: calc(32 * var(--u)); }
.trip .cover { aspect-ratio: 362 / 644; background: #000; }
.trip .cover:nth-child(2) { margin-top: calc(75 * var(--u)); }

/* ---------- recenzii ---------- */

.reviews { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); margin-top: calc(30 * var(--u)); }
.review { position: relative; display: flex; flex-direction: column; height: calc(330 * var(--u)); padding: calc(20 * var(--u)) calc(20 * var(--u)) calc(23 * var(--u)); border: 1px solid var(--ink); }
.review__top { display: flex; justify-content: space-between; align-items: flex-start; font-weight: 400; line-height: 1.1; }
.review__thumb { width: calc(86 * var(--u)); aspect-ratio: 1 / 1; }
.review__mark { height: calc(10 * var(--u)); margin-top: calc(28 * var(--u)); font: 700 calc(30 * var(--u)) / 1 var(--serif); }
.review__text { max-width: calc(236 * var(--u)); margin-top: calc(10 * var(--u)); font-size: var(--f-small); }
.review__name { margin-top: auto; font-weight: 400; line-height: 1.1; }
.review:nth-child(5) { grid-column: 2; }
.review--more { align-items: center; justify-content: center; flex-direction: row; gap: calc(8 * var(--u)); background: var(--card); font: 500 var(--f-btn) / 1.2 var(--sans); text-transform: uppercase; transition: background-color 0.2s; }
.review--more:hover { background: var(--hover); }
.review--more .ico { transition: transform 0.3s ease; }
.review--more:hover .ico { transform: rotate(-45deg); }

/* ---------- acordeon ---------- */

.acc__item { border-top: 1px solid #000; }
.acc__item:last-child { border-bottom: 1px solid #000; }
.acc__btn { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--u)); width: 100%; padding: calc(15 * var(--u)) 0; text-align: left; font: 400 var(--f-acc) / 1.1 var(--sans); }
.acc__btn .ico { width: calc(13 * var(--u)); height: calc(13 * var(--u)); transition: transform 0.3s ease; }
.acc--faq .acc__btn .ico { width: calc(10 * var(--u)); height: calc(10 * var(--u)); }
.acc__btn[aria-expanded="true"] .ico { transform: rotate(180deg); }
.acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease; }
.acc__item.is-open .acc__panel { grid-template-rows: 1fr; }
.acc__panel > div { overflow: hidden; }
.acc__panel p { font-size: var(--f-acct); line-height: 1.2; }
.acc__panel p:first-child { padding-top: calc(10 * var(--u)); }
.acc__panel p:last-child { padding-bottom: calc(18 * var(--u)); }
.acc__panel p + p { margin-top: calc(8 * var(--u)); }

.adv { position: relative; min-height: calc(300 * var(--u)); }
.adv .h2 { position: absolute; left: 0; top: 0; width: 46%; }
.adv .acc { width: calc(50% - var(--gap) / 2); margin-left: auto; padding-top: calc(102 * var(--u)); }

.faq { display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(40 * var(--u)); align-items: start; margin-top: calc(30 * var(--u)); }

/* ---------- blog ---------- */

.blog { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-top: calc(30 * var(--u)); }
.post { position: relative; display: flex; flex-direction: column; height: calc(430 * var(--u)); padding: calc(20 * var(--u)); background: var(--card); }
.post__title { min-height: calc(36 * var(--u)); margin-bottom: calc(15 * var(--u)); padding-right: calc(20 * var(--u)); font: 400 var(--f-body) / 1.1 var(--sans); }
.post__img { aspect-ratio: 320 / 263; }
.post__text { max-width: calc(268 * var(--u)); margin-top: calc(19 * var(--u)); }
.post--wide { grid-column: span 2; }
.post--wide .post__img { aspect-ratio: 690 / 263; }
.post--wide .post__text { max-width: calc(670 * var(--u)); }
.post--num { align-items: center; text-align: center; }
.post--num b { margin-top: calc(156 * var(--u)); font: 300 var(--f-blog) / 1 var(--sans); }
.post--num span:not(.badge) { max-width: calc(205 * var(--u)); margin-top: calc(10 * var(--u)); line-height: 1.1; }
.blog + .btn--bar { margin-top: calc(20 * var(--u)); }

/* ---------- footer ---------- */

.footer { position: relative; margin-top: var(--sec); padding: calc(70 * var(--u)) var(--pad) 0; background: var(--card); }
.footer__title { font: 500 var(--f-h2f) / 1 var(--serif); text-transform: uppercase; }
.footer__grid { display: grid; grid-template-columns: 648fr 186fr 266fr; margin-top: calc(25 * var(--u)); border-top: 1px solid rgba(0, 0, 0, 0.3); border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
.footer__col { position: relative; min-height: calc(395 * var(--u)); padding: calc(25 * var(--u)) 0 0 calc(21 * var(--u)); border-left: 1px solid rgba(0, 0, 0, 0.3); }
.footer__col:first-child { padding-left: 0; border-left: 0; }
.footer__invite { width: calc(346 * var(--u)); font: 400 var(--f-strong) / 1.1 var(--sans); }
.footer__photo { position: absolute; left: calc(387 * var(--u)); top: calc(25 * var(--u)); width: calc(241 * var(--u)); aspect-ratio: 241 / 296; }
.footer__photo img { object-position: 50% 18%; }
.footer__col h3 { font: 400 var(--f-strong) / 1.1 var(--sans); }
.footer__nav { display: grid; row-gap: calc(5 * var(--u)); margin-top: calc(15 * var(--u)); line-height: 1.1; }
.footer__nav a,
.footer__contact a { transition: opacity 0.2s; }
.footer__nav a:hover,
.footer__contact a:hover { opacity: 0.6; }
.socials { display: flex; gap: calc(5 * var(--u)); margin-top: calc(10 * var(--u)); }
.socials a { display: grid; place-items: center; width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: 50%; background: var(--dark); color: var(--card); }
.socials svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.footer__contact { position: absolute; left: calc(21 * var(--u)); top: calc(201 * var(--u)); display: grid; row-gap: calc(10 * var(--u)); font: 400 var(--f-strong) / 1.2 var(--sans); }
.footer__legal { display: grid; grid-template-columns: 648fr 186fr 266fr; padding: calc(25 * var(--u)) 0 calc(25 * var(--u)); font-size: var(--f-small); line-height: 1.5; }
.footer__legal > * { padding-left: calc(21 * var(--u)); }
.footer__legal > :first-child { padding-left: 0; }
.footer__legal a { display: block; max-width: calc(130 * var(--u)); line-height: 1.1; margin-bottom: calc(12 * var(--u)); }

/* ---------- formular ---------- */

.form { display: grid; row-gap: calc(10 * var(--u)); width: calc(332 * var(--u)); margin-top: calc(55 * var(--u)); }
.form label { display: block; }
.form input[type="text"],
.form input[type="tel"] {
  width: 100%;
  height: calc(50 * var(--u));
  padding: 0 calc(16 * var(--u));
  border: 1px solid var(--ink);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: 300 var(--f-body) var(--sans);
  -webkit-appearance: none;
  appearance: none;
}
.form input::placeholder { color: #8d8b86; }
.form input:focus { outline: 0; box-shadow: inset 0 0 0 1px var(--ink); }
.form .btn { margin-top: calc(5 * var(--u)); }
.form__status { min-height: 1.2em; font-weight: 400; font-size: var(--f-14); }
.form__status:empty { display: none; }
.form__status.is-error { color: #a12a1b; }
.form__note { font-size: var(--f-small); line-height: 1.1; }
.form__note a { text-decoration: underline; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hp { position: absolute; left: -9999px; }

.choice { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.choice legend { margin-bottom: 8px; font-size: 14px; font-weight: 400; }
.choice label { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; cursor: pointer; }
.choice input { width: 16px; height: 16px; margin: 0; accent-color: var(--ink); }

/* ---------- popup ---------- */

.modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: start center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  overflow-y: auto;
}
.modal.is-open { opacity: 1; visibility: visible; }
.modal__box { position: relative; width: min(100%, 560px); margin: auto; padding: 40px 45px; background: #fff; }
.modal__title { font: 600 20px / 1.25 var(--sans); text-transform: uppercase; text-align: center; }
.modal__text { margin-top: 8px; font-size: 16px; line-height: 1.45; text-align: center; }
.modal .form { width: 100%; margin-top: 26px; row-gap: 18px; }
.modal .form input[type="text"],
.modal .form input[type="tel"] { height: 46px; padding: 0; border: 0; border-bottom: 1px solid var(--ink); font-size: 16px; }
.modal .form input:focus { box-shadow: 0 1px 0 var(--ink); }
.modal .form .btn { height: 56px; margin-top: 6px; font-size: 15px; }
.modal .form__note,
.modal .form__status { font-size: 12px; text-align: center; }
.modal__close { position: fixed; top: 20px; right: 20px; width: 34px; height: 34px; }
.modal__close::before,
.modal__close::after { content: ""; position: absolute; left: 2px; right: 2px; top: 16px; height: 2px; background: #fff; transform: rotate(45deg); }
.modal__close::after { transform: rotate(-45deg); }

/* ---------- buton sus ---------- */

.totop {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 40;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(248, 245, 233, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, background-color 0.2s;
}
.totop.is-on { opacity: 1; visibility: visible; }
.totop:hover { background: #eae3d9; }
.totop svg { width: 50px; height: 50px; }

/* ---------- apariție la scroll ---------- */

.js .reveal { opacity: 0; transition: opacity 1s ease; transition-delay: var(--d, 0s); }
.js .reveal.is-in { opacity: 1; }

@media (min-width: 960px) {
  .only-m { display: none !important; }
  /* loc pentru butonul „sus”, ca să nu acopere datele firmei */
  .footer__legal { padding-bottom: max(calc(25 * var(--u)), 80px); }
}

/* adresa de e-mail e lungă: la mărimea telefonului nu încape în coloana de contact */
@media (min-width: 960px) and (max-width: 1599px) {
  .footer__mail { font-size: calc(15 * var(--u)); }
}

/* ==========================================================================
   Mobil (sub 960px) — macheta de 360
   ========================================================================== */

@media (max-width: 959px) {
  :root {
    --u: min(calc(100vw / 360), 1.6px);
    --pad: calc(15 * var(--u));
    --sec: calc(80 * var(--u));
    --hdr: calc(62 * var(--u));
    --hbtn: calc(45 * var(--u));
    --hcap: calc(32 * var(--u));
    --f-h1: calc(30 * var(--u));
    --f-typed: calc(16 * var(--u));
    --f-hbtn: calc(14 * var(--u));
    --f-h2: calc(30 * var(--u));
    --f-h2f: calc(30 * var(--u));
    --f-lead: calc(16 * var(--u));
    --f-body: calc(14 * var(--u));
    --f-strong: calc(14 * var(--u));
    --f-btn: calc(14 * var(--u));
    --f-small: max(calc(12 * var(--u)), 11px);
    --f-14: calc(14 * var(--u));
    --f-stat: calc(40 * var(--u));
    --f-card: calc(16 * var(--u));
    --f-acc: calc(16 * var(--u));
    --f-acct: calc(14 * var(--u));
  }

  .only-d { display: none !important; }
  .ico { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }
  .dot::before { width: calc(3 * var(--u)); height: calc(3 * var(--u)); }
  .dot { padding-left: calc(8 * var(--u)); }
  .center { text-align: left; }
  .mid { margin-inline: 0; }
  .btn { padding: 0 calc(17 * var(--u)); }
  .btn--bar { height: calc(45 * var(--u)); }

  /* header + meniu */
  .header { border-bottom: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .logo { margin: 0; gap: calc(8 * var(--u)); }
  .nav,
  .header__tel,
  .header__cta { display: none; }
  .burger { position: relative; display: block; width: calc(42 * var(--u)); height: calc(42 * var(--u)); margin-left: auto; border-radius: 50%; background: rgba(38, 36, 35, 0.3); }
  .burger span { position: absolute; left: calc(10 * var(--u)); width: calc(22 * var(--u)); height: calc(2 * var(--u)); background: #fbfbfb; transition: transform 0.3s, opacity 0.3s, width 0.3s; }
  .burger span:nth-child(1) { top: calc(14 * var(--u)); }
  .burger span:nth-child(2) { top: calc(20 * var(--u)); left: calc(16 * var(--u)); width: calc(16 * var(--u)); }
  .burger span:nth-child(3) { top: calc(26 * var(--u)); }
  .burger[aria-expanded="true"] { background: none; }
  .burger[aria-expanded="true"] span { background: var(--ink); }
  .burger[aria-expanded="true"] span:nth-child(1) { top: calc(20 * var(--u)); transform: rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .burger[aria-expanded="true"] span:nth-child(3) { top: calc(20 * var(--u)); transform: rotate(-45deg); }
  .header.is-light { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .header.is-light .burger { background: none; }
  .header.is-light .burger span { background: var(--ink); }
  .header.is-menu { color: var(--ink); background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }

  .mmenu {
    position: fixed;
    inset: 0;
    z-index: 45;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(97 * var(--u)) calc(15 * var(--u)) calc(30 * var(--u));
    background: var(--card);
    text-align: center;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .mmenu.is-open { opacity: 1; visibility: visible; }
  .mmenu__nav { display: grid; row-gap: calc(10 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.1; }
  .mmenu__title { max-width: calc(250 * var(--u)); margin-top: calc(44 * var(--u)); font: 500 calc(25 * var(--u)) / 1 var(--serif); text-transform: uppercase; }
  .mmenu__text { max-width: calc(290 * var(--u)); margin-top: calc(12 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.1; }
  .mmenu .btn { width: 100%; margin-top: calc(28 * var(--u)); font-weight: 400; }
  .mmenu__tel { margin-top: calc(30 * var(--u)); font-size: calc(14 * var(--u)); font-weight: 400; }
  .mmenu .socials { margin-top: calc(26 * var(--u)); }
  .mmenu .socials a { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
  .mmenu .socials svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }

  /* hero */
  .hero { min-height: calc(480 * var(--u)); }
  .hero__in { top: calc(50% + calc(8 * var(--u))); }
  .hero__typed { margin-top: calc(6 * var(--u)); }
  .hero__btn { width: 100%; height: calc(45 * var(--u)); margin-top: calc(38 * var(--u)); }
  .hero__btn .ico { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }

  /* despre */
  .about { display: flex; flex-direction: column; }
  .about__text,
  .about__more { display: contents; }
  .about__text .lead { order: 1; max-width: none; margin-top: calc(15 * var(--u)); }
  .about .h2 { order: 0; }
  .about__img { order: 2; aspect-ratio: 330 / 318; margin-top: calc(20 * var(--u)); }
  .about__more .lead { order: 3; margin-top: calc(20 * var(--u)); }
  .about__more .txt { order: 4; max-width: none; margin-top: calc(10 * var(--u)); }
  .about__more .lead + .txt { margin-top: calc(12 * var(--u)); }

  /* cifre */
  .stats { grid-template-columns: 1fr 1fr; row-gap: calc(30 * var(--u)); }
  .stat { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: calc(5 * var(--u)); min-height: calc(108 * var(--u)); padding-bottom: calc(12 * var(--u)); border-bottom-color: rgba(13, 13, 13, 0.3); }
  .stat:nth-child(even) { margin-top: 0; }
  .stat:nth-child(2) { order: 4; }
  .stat:nth-child(3) { order: 2; }
  .stat:nth-child(4) { order: 3; }
  .stat__label { max-width: 90%; padding: 0; text-align: left; }

  /* foto / video mare */
  .split { display: block; }
  .split .lead { max-width: 80%; margin-top: calc(15 * var(--u)); }
  .split__side .btn { display: none; }
  .media { aspect-ratio: 330 / 587; margin-top: calc(20 * var(--u)); }
  .points { display: none; }

  /* portofoliu */
  .pf { display: flex; flex-direction: column; margin-top: calc(25 * var(--u)); }
  .pf__img,
  .pf__item--big .pf__img { aspect-ratio: 330 / 295; flex: none; }
  .pf__cap { padding-inline: calc(6 * var(--u)); }

  /* banner CTA */
  .cta { height: calc(513 * var(--u)); }
  .cta__pin { position: absolute; inset: 0; height: auto; }
  .cta__pin::after { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.12) 55%, rgba(0, 0, 0, 0.28)); }
  .cta__body { top: calc(50 * var(--u)); bottom: calc(52 * var(--u)); padding-inline: calc(15 * var(--u)); }
  .cta__body .h2 { font-size: calc(26 * var(--u)); }
  .cta__body p { max-width: calc(261 * var(--u)); margin-top: calc(10 * var(--u)); line-height: 1.1; }
  .cta__body .btn { width: auto; margin-top: auto; }

  /* servicii */
  .lead--intro { max-width: none; margin-top: calc(15 * var(--u)); }
  .trio { display: flex; flex-direction: column; margin-top: calc(25 * var(--u)); }
  .trio__img { order: -1; aspect-ratio: 330 / 440; }
  .trio__card { aspect-ratio: auto; padding: calc(15 * var(--u)); }
  .trio__body { margin-top: calc(62 * var(--u)); }
  .trio__body strong { max-width: calc(273 * var(--u)); }
  .trio__body p { max-width: calc(278 * var(--u)); margin-top: calc(8 * var(--u)); }
  .trio__body .btn { margin-top: calc(22 * var(--u)); }
  .trio__body .btn--block { display: inline-flex; width: auto; }

  /* premii */
  .awards { display: contents; }
  .award-wrap { display: flex; flex-direction: column; gap: var(--gap); margin-top: calc(25 * var(--u)); }
  .award { height: calc(145 * var(--u)); }
  .award__logo { padding-top: calc(34 * var(--u)); }
  .award__info { display: none; }
  .award.is-open .award__logo,
  .award:hover .award__logo { opacity: 1; }
  .awards-duo { display: contents; }
  .awards-duo > .zoom { order: 2; aspect-ratio: 330 / 295; }
  .award:nth-child(n + 3) { order: 3; }
  .awards-duo__stack { order: 4; aspect-ratio: auto; padding: calc(40 * var(--u)) 0; }
  .awards-duo__stack .cover { width: calc(144 * var(--u)); }

  /* tendințe: slider */
  .trends { display: flex; gap: var(--gap); margin: calc(22 * var(--u)) calc(var(--pad) * -1) 0; padding-inline: var(--pad); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .trends::-webkit-scrollbar { display: none; }
  .trends .cover,
  .trends .cover:nth-child(even) { flex: 0 0 calc(330 * var(--u)); aspect-ratio: 330 / 300; scroll-snap-align: center; }
  .trends__dots { display: flex; justify-content: center; gap: calc(12 * var(--u)); margin-top: calc(18 * var(--u)); }
  .trends__dots i { width: calc(6 * var(--u)); height: calc(6 * var(--u)); border-radius: 50%; background: #c8c6c2; transition: background-color 0.3s; }
  .trends__dots i.is-on { background: #6b6966; }

  /* plăci */
  .tiles { display: flex; flex-direction: column; margin-top: calc(25 * var(--u)); }
  .tile { aspect-ratio: auto; height: calc(135 * var(--u)); padding: calc(15 * var(--u)); }
  .tile__thumb { width: calc(55 * var(--u)); }
  .tile__text { max-width: 60%; }
  .tile--cta { height: calc(45 * var(--u)); }

  /* echipă: un singur card, cu săgeți */
  .team { display: block; margin-top: calc(22 * var(--u)); }
  .team__card { height: auto; padding: calc(20 * var(--u)) calc(15 * var(--u)) calc(28 * var(--u)); }
  .team__card--rule { display: none; }
  .team__name { font-size: calc(14 * var(--u)); }
  .team__role { margin-top: calc(5 * var(--u)); font-size: calc(14 * var(--u)); }
  .team__photo { width: 100%; aspect-ratio: 300 / 328; margin-top: calc(15 * var(--u)); }
  .team__bio { min-height: calc(96 * var(--u)); margin-top: calc(15 * var(--u)); font-size: calc(12 * var(--u)); }
  .team__nav { position: absolute; left: 0; right: 0; top: calc(196 * var(--u)); display: flex; justify-content: space-between; padding: 0 calc(3 * var(--u)); pointer-events: none; }
  .team__nav button { display: grid; place-items: center; width: calc(24 * var(--u)); height: calc(24 * var(--u)); pointer-events: auto; }
  .team__nav .ico { width: calc(11 * var(--u)); height: calc(11 * var(--u)); }
  .team__nav button:first-child .ico { transform: scaleX(-1); }

  /* cum lucrăm: acordeon */
  .steps { margin-top: calc(22 * var(--u)); border-top: 1px solid var(--ink); }
  .step { display: block; padding: 0; border-bottom: 1px solid var(--ink); }
  .step:last-child { border-bottom: 1px solid var(--ink); }
  .step__num { display: none; }
  .step__title { display: flex; align-items: center; justify-content: space-between; gap: calc(16 * var(--u)); width: 100%; padding: calc(13 * var(--u)) calc(3 * var(--u)) calc(13 * var(--u)) calc(5 * var(--u)); font: 400 calc(16 * var(--u)) / 1.1 var(--sans); cursor: pointer; }
  .step__title .ico { display: block; width: calc(14 * var(--u)); height: calc(14 * var(--u)); transition: transform 0.3s ease; }
  .step.is-open .step__title .ico { transform: rotate(180deg); }
  .step__text { display: grid; grid-template-rows: 0fr; padding-inline: calc(5 * var(--u)); transition: grid-template-rows 0.4s ease; }
  .step__text > span { overflow: hidden; }
  .step.is-open .step__text { grid-template-rows: 1fr; padding-bottom: calc(14 * var(--u)); }

  /* fiecare cuplu */
  .duo { display: flex; flex-direction: column; margin-top: calc(22 * var(--u)); }
  .duo > * { aspect-ratio: auto; }
  .duo__img { aspect-ratio: 330 / 372 !important; }
  .duo__card { align-items: stretch; padding: calc(15 * var(--u)) calc(15 * var(--u)) calc(20 * var(--u)); text-align: left; }
  .duo__card strong { max-width: none; font-size: calc(16 * var(--u)); }
  .duo__card p { max-width: none; margin-top: calc(10 * var(--u)); }
  .duo__pic { width: 100%; aspect-ratio: 300 / 350; margin-top: calc(18 * var(--u)); }
  .duo__card .btn { width: 100%; margin-top: calc(8 * var(--u)); }

  /* formate */
  .formats { display: flex; flex-direction: column; align-items: stretch; row-gap: calc(22 * var(--u)); }
  .format:nth-child(even) { margin-top: 0; }
  .format__cap { max-width: calc(290 * var(--u)); margin-bottom: calc(8 * var(--u)); padding-left: 0; font-size: calc(16 * var(--u)); }
  .format__cap.dot::before { display: none; }
  .format__img { aspect-ratio: 330 / 372; }
  .quote { align-items: stretch; text-align: left; }
  .quote p { max-width: calc(314 * var(--u)); margin-top: calc(16 * var(--u)); }
  .quote .btn { width: 100%; margin-top: calc(26 * var(--u)); }

  /* mirese / miri */
  .trip { display: flex; flex-direction: column; align-items: stretch; row-gap: var(--gap); margin-top: calc(26 * var(--u)); }
  .trip .cover { aspect-ratio: 330 / 587; }
  .trip .cover:nth-child(2) { margin-top: 0; }

  /* recenzii */
  .reviews { display: flex; flex-direction: column; margin-top: calc(22 * var(--u)); }
  .review { height: auto; min-height: calc(252 * var(--u)); padding: calc(15 * var(--u)) calc(15 * var(--u)) calc(18 * var(--u)); }
  .review:nth-child(n + 4):not(.review--more) { display: none; }
  .review__thumb { width: calc(80 * var(--u)); }
  .review__mark { margin-top: calc(26 * var(--u)); font-size: calc(34 * var(--u)); }
  .review__text { max-width: calc(300 * var(--u)); margin-top: calc(14 * var(--u)); font-size: calc(14 * var(--u)); }
  .review__name { padding-top: calc(16 * var(--u)); }
  .review--more { min-height: 0; height: calc(45 * var(--u)); padding: 0; background: var(--card); }

  /* acordeoane */
  .adv { min-height: 0; }
  .adv .h2 { position: static; width: auto; }
  .adv .acc { width: auto; padding-top: calc(22 * var(--u)); }
  .acc__btn { padding: calc(13 * var(--u)) calc(3 * var(--u)) calc(13 * var(--u)) calc(5 * var(--u)); }
  .acc__btn .ico { width: calc(11 * var(--u)); height: calc(11 * var(--u)); }
  .acc--faq .acc__btn .ico { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }
  .acc__panel p { padding-inline: calc(5 * var(--u)); }
  .faq { display: block; margin-top: calc(22 * var(--u)); }
  .faq .acc + .acc .acc__item:first-child { border-top: 0; }

  /* blog */
  .blog { display: flex; flex-direction: column; margin-top: calc(22 * var(--u)); }
  .post { height: auto; padding: calc(15 * var(--u)) calc(15 * var(--u)) calc(20 * var(--u)); }
  .post--num,
  .post--wide,
  .post--hide-m { display: none; }
  .post__title { min-height: 0; margin-bottom: calc(8 * var(--u)); padding-left: 0; }
  .post__title.dot::before { display: none; }
  .post__img { aspect-ratio: 300 / 296; }
  .post__text { max-width: calc(230 * var(--u)); margin-top: calc(12 * var(--u)); }
  .blog + .btn--bar { margin-top: var(--gap); }

  /* footer */
  .footer { padding-top: calc(50 * var(--u)); }
  .footer__grid { display: block; margin-top: calc(15 * var(--u)); border: 0; }
  .footer__col { min-height: 0; padding: 0; border: 0; }
  .footer__invite { width: auto; max-width: calc(326 * var(--u)); font-size: calc(16 * var(--u)); }
  .footer__photo,
  .footer__col--nav { display: none; }
  .form { width: 100%; margin-top: calc(18 * var(--u)); row-gap: calc(6 * var(--u)); }
  .form input[type="text"],
  .form input[type="tel"] { height: calc(45 * var(--u)); padding: 0 calc(20 * var(--u)); font-size: max(16px, var(--f-body)); } /* sub 16px, iOS face zoom la focus */
  .form .btn { margin-top: calc(9 * var(--u)); }
  .form__note { margin-top: calc(4 * var(--u)); font-size: var(--f-small); max-width: calc(300 * var(--u)); }
  .footer__col--contact { margin-top: calc(26 * var(--u)); padding-top: calc(22 * var(--u)); border-top: 1px solid rgba(0, 0, 0, 0.2); }
  .footer__col--contact h3 { display: none; }
  .footer__contact { position: static; row-gap: calc(6 * var(--u)); font-size: calc(16 * var(--u)); }
  .footer__col--contact { display: flex; flex-direction: column-reverse; }
  .socials { margin: calc(18 * var(--u)) 0 0; gap: calc(9 * var(--u)); }
  .socials a { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
  .socials svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
  .footer__legal { grid-template-columns: 170fr 163fr; margin-top: calc(24 * var(--u)); padding: calc(20 * var(--u)) 0 calc(70 * var(--u)); border-top: 1px solid rgba(0, 0, 0, 0.2); }
  .footer__legal > * { padding-left: 0; }
  .footer__legal > :first-child { grid-row: 2; grid-column: 1; }
  .footer__legal > :nth-child(2) { grid-row: 1; grid-column: 1; }
  .footer__legal > :nth-child(3) { grid-row: 1 / 3; grid-column: 2; }
  .footer__legal a { margin-bottom: calc(4 * var(--u)); }

  .modal__box { padding: 34px 22px; }
  .totop { width: 42px; height: 42px; }
  .totop svg { width: 42px; height: 42px; }
}

/* ==========================================================================
   Tabletă și telefon culcat (600–959px) — macheta de mobil, așezată pe coloane
   ========================================================================== */

@media (min-width: 600px) and (max-width: 959px) {
  :root { --u: 1.3px; }

  .about__img,
  .media { aspect-ratio: 16 / 10; }

  .pf { display: grid; grid-template-columns: 1fr 1fr; }
  .pf__item:nth-child(n) { grid-column: auto; grid-row: auto; }
  .pf__item:nth-child(9) { grid-column: 1 / -1; }
  .pf__img,
  .pf__item--big .pf__img { aspect-ratio: 1 / 1; }
  .pf__item:nth-child(9) .pf__img { aspect-ratio: 2 / 1; }

  .trio { display: grid; grid-template-columns: 1fr 1fr; }
  .trio__img { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .trio__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
  .trio__body p { flex: 1; }

  .award-wrap { display: grid; grid-template-columns: 1fr 1fr; }
  .award:nth-child(5),
  .awards-duo > .zoom,
  .awards-duo__stack { grid-column: 1 / -1; }
  .awards-duo > .zoom { aspect-ratio: 16 / 9; }
  .awards-duo__stack { grid-auto-flow: column; }

  .tiles { display: grid; grid-template-columns: 1fr 1fr; }
  .tiles > :nth-child(n) { grid-area: auto; }
  .tiles > .tile--cta { grid-column: 1 / -1; }
  .tile { height: auto; min-height: calc(135 * var(--u)); }
  .tile--cta { height: calc(45 * var(--u)); min-height: 0; }
  .tile__text { max-width: 75%; }

  .team__photo { width: calc(300 * var(--u)); }

  .duo { display: grid; grid-template-columns: 1fr 1fr; }
  .duo__img { aspect-ratio: auto !important; }

  .formats { display: grid; grid-template-columns: 1fr 1fr; }
  .trip { display: grid; }

  .reviews { display: grid; grid-template-columns: 1fr 1fr; }
  .review:nth-child(4):not(.review--more) { display: flex; }
  .review--more { grid-column: 1 / -1; }

  .blog { display: grid; grid-template-columns: 1fr 1fr; }
}

/* telefon culcat: titlul și butonul din hero rămân în primul ecran */
@media (max-width: 959px) and (max-height: 520px) and (orientation: landscape) {
  :root { --u: 1.1px; }
  .hero { min-height: calc(270 * var(--u)); }
  .hero__in { top: auto; bottom: calc(22 * var(--u)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .js .reveal,
  .js body { opacity: 1; }
}
