/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --cream:      #F7F2EA;
  --cream-alt:  #F1E9DC;
  --surface:    #FFFFFF;
  --surface-2:  #FBF8F3;

  --ink:        #2B2420;
  --ink-2:      #3E352E;
  --body:       #554B43;
  --muted:      #857A70;

  --gold:       #A9834A;
  --gold-2:     #C9A961;
  --gold-soft:  #E6D8BE;
  --gold-wash:  #EFE4CF;

  --line:       #E4DACA;
  --line-soft:  #EFE7DA;
  --line-dark:  rgba(255,255,255,.14);

  --r-xs: 5px;
  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 26px;
  --r-pill: 999px;

  /* Lagy, meleg feluletek */
  --grad-card: linear-gradient(158deg,#FFFFFF 0%,#FEFBF6 55%,#FAF4EA 100%);
  --grad-warm: linear-gradient(158deg,#FCF8F1 0%,#F3E9DA 100%);
  --grad-gold: linear-gradient(152deg,#F5ECDD 0%,#EADCBE 100%);
  --grad-ink:  linear-gradient(152deg,#3A312B 0%,#2B2420 58%,#211B18 100%);
  /* a ket sotet doboznak melyebb, meleg fenyu felulet */
  --grad-ink-rich:
    radial-gradient(118% 92% at 100% 0%, rgba(214,182,113,.22) 0%, rgba(214,182,113,0) 56%),
    radial-gradient(96% 86% at 0% 100%, rgba(169,131,74,.18) 0%, rgba(169,131,74,0) 62%),
    linear-gradient(152deg,#3E342C 0%,#2C2521 56%,#1F1A17 100%);
  --shadow-soft: 0 1px 2px rgba(122,92,48,.04), 0 10px 30px -12px rgba(122,92,48,.16);
  --shadow-lift: 0 2px 5px rgba(122,92,48,.05), 0 20px 46px -18px rgba(122,92,48,.26);

  --s-1:.25rem;  --s-2:.5rem;   --s-3:.75rem;  --s-4:1rem;
  --s-5:1.25rem; --s-6:1.5rem;  --s-8:2rem;    --s-10:2.5rem;
  --s-12:3rem;   --s-16:4rem;   --s-20:5rem;   --s-24:6rem;

  --serif:  "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:   "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --script: "Parisienne", "Segoe Script", cursive;

  --shadow-sm: 0 1px 2px rgba(43,36,32,.05);
  --shadow-md: 0 8px 28px -14px rgba(43,36,32,.22);

  --container: 1348px;
  --header-h: 76px;
  --header-bg: #312E29;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
}
body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--serif); color:var(--ink); font-weight:400; margin:0; }
h1{ font-size:clamp(2.35rem,6vw,3.9rem); line-height:1.07; }
h2{ font-size:clamp(1.85rem,4.2vw,2.85rem); line-height:1.13; }
h3{ font-size:1.0625rem; line-height:1.35; font-family:var(--sans); font-weight:600; }
p{ margin:0; }
a{ color:inherit; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font:inherit; }

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:var(--r-xs); }
::selection{ background:var(--gold-soft); color:var(--ink); }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--s-6); }
.section{ padding-block:clamp(3.25rem,7vw,5.5rem); }
.section--alt{ background:linear-gradient(180deg,#F4EDE3 0%,#EDE3D2 100%); }
/* Tömörített szekciók: -20% magasság */
#eredmenyek,#bea{ padding-block:clamp(2.6rem,5.6vw,4.4rem); }
/* Tomoritett blokkok: kb. -22% magassag */
#megoldasok,#folyamat,#utana,#kerdesek{ padding-block:clamp(2.05rem,4.3vw,3.05rem); }
#folyamat .section-head,#utana .section-head{ margin-bottom:var(--s-6); }
#megoldasok .acc > summary,#utana .acc > summary,#kerdesek .acc > summary{ padding:var(--s-4) var(--s-5); }
#kerdesek .acc{ margin-top:var(--s-2); }
#kerdesek .acc:first-of-type{ margin-top:var(--s-4); }
#kerdesek .testimonials{ margin-top:var(--s-4); }
#kerdesek .testimonial{ padding:var(--s-5); gap:var(--s-3); min-height:0; }
#folyamat .steps__node{ margin-bottom:var(--s-4); }
#utana .timeline li{ padding-top:var(--s-6); }
#utana .timeline li::after{ height:calc(var(--s-6) - var(--dot)); }
.section--paper{ background:linear-gradient(180deg,#FDFBF7 0%,#F8F1E6 100%); }

.skip-link{
  position:absolute; left:var(--s-4); top:-5rem; z-index:200;
  background:var(--ink); color:#fff; padding:.7rem 1.1rem;
  border-radius:var(--r-sm); font-size:.875rem; text-decoration:none;
  transition:top .18s ease;
}
.skip-link:focus-visible{ top:var(--s-4); }
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ============================================================
   SHARED PIECES
   ============================================================ */
.eyebrow{
  font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-weight:500;
}
.lede{ font-size:1.0625rem; max-width:46ch; }
.fineprint{ font-size:.8125rem; color:var(--muted); line-height:1.55; }

.section-head{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:var(--s-4) var(--s-8); margin-bottom:var(--s-10);
}
.section-head__note{ font-size:.875rem; color:var(--muted); max-width:40ch; margin-left:auto; text-align:right; }
.section-head__sub{ font-size:.9375rem; color:var(--muted); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--sans); font-size:.875rem; font-weight:500; letter-spacing:.015em;
  padding:.95rem 1.75rem; border-radius:var(--r-pill); border:1px solid transparent;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn svg{ width:14px; height:14px; flex:none; transition:transform .18s ease; }
.btn:hover svg{ transform:translateX(3px); }
.btn--dark{ background:var(--ink); color:#fff; }
.btn--dark:hover{ background:#191310; }
.btn--gold{ background:var(--gold-2); color:var(--ink); }
.btn--gold:hover{ background:#D8BA79; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--gold); background:rgba(169,131,74,.07); }
.btn--block{ width:100%; }

.card{
  background:var(--grad-card); border:1px solid var(--line-soft);
  border-radius:var(--r-md); padding:var(--s-6);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .25s ease, transform .25s ease;
}
.card:hover{ box-shadow:var(--shadow-lift); transform:translateY(-2px); }

/* Placeholder frames — the studio's own photos drop in here */
.ph{
  position:relative; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:var(--s-2); text-align:center;
  background:linear-gradient(135deg,#F3E9DC 0%,#E9DCC9 48%,#EFE2D2 100%);
  border:1px solid var(--line-soft); border-radius:var(--r-md);
  color:var(--muted); overflow:hidden;
}
.ph::after{
  content:""; position:absolute; inset:10px;
  border:1px dashed rgba(169,131,74,.32); border-radius:10px; pointer-events:none;
}
.ph svg{ width:24px; height:24px; color:var(--gold); opacity:.6; position:relative; z-index:1; }
.ph__label{
  position:relative; z-index:1; background:rgba(255,255,255,.72);
  padding:.35rem .75rem; border-radius:var(--r-pill);
  font-size:.6875rem; letter-spacing:.04em; color:#6B6058;
}
/* Ha bekerul a valodi foto, kitolti a keretet es eltunik a szaggatott vonal */
.ph img{ width:100%; height:100%; object-fit:cover; position:relative; z-index:1; }
.ph:has(img)::after{ display:none; }

/* ============================================================
   HEADER
   ============================================================ */
.header{
  position:sticky; top:0; z-index:100;
  background:linear-gradient(180deg,#3A352E 0%,#312E29 58%,#2B2824 100%);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.header.is-stuck{ border-bottom-color:rgba(255,255,255,.1); box-shadow:0 1px 18px rgba(0,0,0,.18); }
.header__inner{ display:flex; align-items:center; gap:var(--s-4); min-height:var(--header-h); }

.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; flex:none; }
/* A logo a konteneren belul kezdodik, egy vonalban a hero szovegevel */
.header .brand__mark{
  position:relative; flex:none;
  width:calc(var(--header-h) * .78 * 1.074); height:calc(var(--header-h) * .78);
  display:block; border-radius:0; overflow:hidden;
  background:transparent; font-size:0;
}
.brand__mark img{ width:100%; height:100%; object-fit:contain; display:block; }
.header .brand{ padding-left:0; }
.brand__name{ font-family:var(--serif); font-size:1rem; color:var(--ink); line-height:1.1; }
.header .brand__name{ display:none; }
.header .brand__sub{ color:var(--gold-2); }
.header .nav a{ color:#DDD2C6; }
.header .nav a:hover,.header .nav a:focus-visible{ color:#fff; }
.header .burger{ border-color:rgba(255,255,255,.22); color:#F3EBE0; }
.header .burger:hover{ border-color:var(--gold-2); }
.brand__name b{ font-weight:600; }
.brand__sub{
  display:block; font-family:var(--sans); font-size:.5625rem; letter-spacing:.24em;
  color:var(--muted); text-transform:uppercase; margin-top:2px;
}

.nav{ display:flex; align-items:center; gap:var(--s-8); margin-left:var(--s-10); }
.nav a{ font-size:.875rem; color:var(--ink-2); text-decoration:none; position:relative; padding-block:.35rem; }
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .2s ease;
}
.nav a:hover::after,.nav a:focus-visible::after{ transform:scaleX(1); }

.header__actions{ display:flex; align-items:center; gap:var(--s-5); margin-left:auto; }
.header__tag{
  font-size:.6875rem; line-height:1.55; color:var(--muted); letter-spacing:.03em;
  padding-left:var(--s-5); border-left:1px solid var(--line); white-space:nowrap;
}
.header__tag span{ display:block; }
.header__tag span:first-child{ color:var(--gold); }
.header .btn{ padding:.75rem 1.25rem; }

.burger{
  display:none; width:42px; height:42px; margin-left:auto;
  border:1px solid var(--line); background:transparent; border-radius:50%;
  cursor:pointer; align-items:center; justify-content:center; color:var(--ink);
}
.burger svg{ width:20px; height:20px; }
.burger .icon-close{ display:none; }
.burger[aria-expanded="true"] .icon-open{ display:none; }
.burger[aria-expanded="true"] .icon-close{ display:block; }

.mobile-nav{ display:none; border-top:1px solid rgba(255,255,255,.1); background:var(--header-bg); }
.mobile-nav[data-open="true"]{ display:block; }
.mobile-nav ul{ padding:var(--s-4) 0 var(--s-6); }
.mobile-nav a{
  display:block; padding:.85rem var(--s-6); font-size:.9375rem;
  color:#DDD2C6; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.08);
}
.mobile-nav .btn{ margin:var(--s-4) var(--s-6) 0; width:calc(100% - var(--s-6) * 2); }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(115% 95% at 6% 18%,#FEFCF8 0%,rgba(254,252,248,0) 62%),
    linear-gradient(180deg,#FBF7F0 0%,var(--cream) 100%);
}
.hero__grid{
  padding-block:clamp(1.3rem,3vw,1.95rem) clamp(1.5rem,3.3vw,2.25rem);
}
/* A szoveg a bal felben marad, a foto a jobb felet teljesen kitolti */
.hero__content{ max-width:calc(50% - 2rem); }
.hero .lede{ line-height:1.42; }
.hero .trust{ padding-top:0; gap:var(--s-4) var(--s-8); }
.hero__content > * + *{ margin-top:.85rem; }
.hero h1{ margin-top:var(--s-3); line-height:1.0; }
.hero__price{
  display:inline-block; font-size:.9375rem; color:var(--ink);
  padding-top:var(--s-3); border-top:1px solid var(--line);
}
.hero__price b{ font-weight:600; }
.hero__price em{ font-style:normal; color:var(--muted); }
.hero__cta{ display:flex; flex-wrap:wrap; gap:var(--s-3); }

.trust{ display:flex; flex-wrap:wrap; gap:var(--s-5) var(--s-8); padding-top:var(--s-3); }
.trust li{ display:flex; align-items:center; gap:.55rem; font-size:.8125rem; }
.trust svg{ width:17px; height:17px; color:var(--gold); flex:none; }

.hero__media{ position:absolute; top:0; right:0; bottom:0; width:50%; }
.hero__photo{
  position:absolute; inset:0; overflow:hidden;
  border:0; border-radius:0;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 13%);
          mask-image:linear-gradient(to right, transparent 0, #000 13%);
  background:
    radial-gradient(120% 90% at 72% 10%, #FCF5EC 0%, rgba(252,245,236,0) 58%),
    radial-gradient(95% 80% at 20% 80%, #E6CDB8 0%, rgba(230,205,184,0) 62%),
    linear-gradient(158deg,#F0DACA 0%,#E3C6B0 38%,#D9B9A4 66%,#EBDED1 100%);
}
.hero__photo::after{
  content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(195deg, rgba(43,36,32,0) 58%, rgba(43,36,32,.26) 100%);
  pointer-events:none;
}
.hero__photo img{ width:100%; height:100%; object-fit:cover; position:relative; z-index:1; }
.hero__phlabel{
  position:absolute; inset:0; z-index:3; display:grid; place-content:center;
  justify-items:center; gap:var(--s-2); text-align:center;
}
.hero__phlabel svg{ width:26px; height:26px; color:var(--gold); opacity:.65; }
.hero__phlabel span{
  background:rgba(255,255,255,.72); padding:.35rem .8rem;
  border-radius:var(--r-pill); font-size:.6875rem; letter-spacing:.05em; color:#6B6058;
}
.hero__script{
  position:absolute; right:.5rem; top:34%; z-index:3;
  font-family:var(--script); font-size:clamp(1.15rem,1.9vw,1.6rem); line-height:1.4;
  color:var(--ink); text-align:right; pointer-events:none;
  text-shadow:0 1px 12px rgba(255,255,255,.8);
}
.hero__disclaimer{
  position:absolute; right:.9rem; bottom:.6rem; z-index:3; margin:0;
  text-align:right; font-size:.6875rem; color:#6E635A;
  text-shadow:0 1px 8px rgba(255,255,255,.75);
}

/* ============================================================
   PILLARS
   ============================================================ */
.pillars{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  position:relative; border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(252,248,241,0) 0%,rgba(239,228,207,.42) 100%);
}
/* a szelek fele elhalvanyodo keretvonalak - lagyabb, mint a teljes szelessegu vonal */
.pillars::before,.pillars::after{
  content:""; position:absolute; left:5%; right:5%; height:1px;
  background:linear-gradient(90deg,transparent,var(--line) 16%,var(--line) 84%,transparent);
}
.pillars::before{ top:0; }
.pillars::after{ bottom:0; }
.pillars li{
  display:flex; flex-direction:column; align-items:center; gap:var(--s-2);
  padding:clamp(1.3rem,2.6vw,1.65rem) var(--s-5); text-align:center;
  position:relative;
}
.pillars li + li::before{
  content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px;
  background:linear-gradient(180deg,transparent,var(--line-soft) 25%,var(--line-soft) 75%,transparent);
}
.pillars__icon{
  width:38px; height:38px; border-radius:50%; background:var(--grad-gold);
  display:grid; place-items:center; color:var(--gold);
}
.pillars__icon svg{ width:17px; height:17px; }
.pillars h3{ font-size:1rem; }
.pillars p{ font-size:.8125rem; color:var(--muted); max-width:25ch; }

/* ============================================================
   SPLIT LAYOUT (results / Bea / solutions)
   ============================================================ */
.split{
  display:grid; grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);
  gap:clamp(1.75rem,3vw,2.8rem); align-items:center;
}
.split__text > * + *{ margin-top:var(--s-5); }

.compare{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-4); }
.compare figure{ margin:0; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line-soft); box-shadow:var(--shadow-soft); }
.compare .ph{ aspect-ratio:95/44; border:0; border-radius:0; }
.compare figcaption{
  background:#4A403A; color:#F2EAE0; text-align:center;
  font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; padding:.7rem;
}

/* Bea */
.bea{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.63fr) minmax(0,.89fr);
  gap:clamp(1.5rem,3.5vw,2.75rem); align-items:stretch;
}
.bea__text{ align-self:center; }
.bea__text > * + *{ margin-top:var(--s-5); }
/* A portré pontosan a mellette lévő oszlop magasságát veszi fel */
.bea__portrait{ aspect-ratio:auto; height:100%; min-height:0; }
/* a kép abszolút, hogy a saját aránya NE húzza meg a sor magasságát */
.bea__portrait img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.bea__side{ display:flex; flex-direction:column; gap:var(--s-4); }
.quote-card{
  margin:0; /* a blockquote alapértelmezett 40px margója miatt volt keskenyebb a videónál */
  background:var(--grad-gold); border-radius:var(--r-lg); padding:var(--s-6) var(--s-6) var(--s-6) var(--s-8);
  position:relative; border:1px solid var(--gold-soft);
}
.quote-card p{
  font-family:var(--serif); font-size:1.1875rem; line-height:1.45;
  color:var(--ink); font-style:italic;
}
.video-ph{
  position:relative; aspect-ratio:16/9; border-radius:var(--r-md); overflow:hidden;
  background:linear-gradient(150deg,#6B5A4A 0%,#8A7059 55%,#5E4E42 100%);
  display:block; border:0;
}
.video-ph::after{ display:none; }
.video-ph__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.92);
  display:grid; place-items:center; color:var(--ink); border:0; cursor:default;
}
.video-ph__play svg{ width:18px; height:18px; margin-left:3px; color:var(--ink); opacity:1; }
.video-ph .ph__label{
  position:absolute; left:50%; bottom:var(--s-4); transform:translateX(-50%);
  white-space:nowrap; background:rgba(0,0,0,.35); color:#F2EAE0;
}

/* Solutions */
.solutions{
  display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,1.5fr);
  gap:clamp(2rem,4.5vw,3.5rem); align-items:center;
}
.solutions__cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-4); }
.solutions__cards .card{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--s-3); }
.solutions__cards .card svg{ width:26px; height:26px; color:var(--gold); }
.solutions__cards p{ font-size:.8125rem; color:var(--muted); }

/* ============================================================
   ACCORDION
   ============================================================ */
.acc{
  background:var(--grad-card); border:1px solid var(--line-soft);
  border-radius:var(--r-md); margin-top:var(--s-3);
  box-shadow:var(--shadow-soft);
}
.acc > summary{
  display:flex; align-items:center; gap:var(--s-3);
  padding:var(--s-5) var(--s-6); cursor:pointer; list-style:none;
  font-size:.9375rem; font-weight:500; color:var(--ink);
}
.acc > summary::-webkit-details-marker{ display:none; }
.acc > summary:hover{ color:var(--gold); }
.acc__icon{ width:18px; height:18px; color:var(--gold); flex:none; }
.acc__chev{ width:16px; height:16px; margin-left:auto; color:var(--muted); transition:transform .22s ease; flex:none; }
.acc[open] .acc__chev{ transform:rotate(180deg); }
.acc__body{
  padding:0 var(--s-6) var(--s-6);
  font-size:.9375rem; color:var(--body); max-width:78ch;
}
.acc__body > * + *{ margin-top:var(--s-3); }
.acc__body li{ position:relative; padding-left:1.15rem; }
.acc__body li + li{ margin-top:.4rem; }
.acc__body li::before{
  content:""; position:absolute; left:0; top:.65em;
  width:5px; height:5px; border-radius:50%; background:var(--gold-2);
}
/* Szoveg + illusztracio ket hasabban */
.acc__body--split{
  display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
  gap:clamp(1.25rem,2.4vw,2rem); align-items:stretch; max-width:none;
}
.acc__body--split > * + *{ margin-top:0; }
.acc__text > * + *{ margin-top:var(--s-3); }
.acc__fig{
  margin:0; background:var(--grad-gold); border:1px solid var(--gold-soft);
  border-radius:var(--r-lg); padding:var(--s-4) var(--s-5);
  /* pontosan a melletti szovegoszlop magassaga */
  display:flex; flex-direction:column; min-height:0;
}
/* flex-basis:auto -> egy oszlopos (mobil) elrendezesben is van sajat magassaga */
.acc__fig svg{ flex:1 1 auto; min-height:0; width:100%; max-width:280px; height:auto; display:block; margin-inline:auto; color:var(--gold); }
.acc__fig .lip-up{ fill:rgba(201,169,97,.16); }
.acc__fig .lip-low{ fill:rgba(201,169,97,.26); }
.acc__fig .axis{ fill:none; stroke:var(--gold); stroke-width:1; stroke-dasharray:3 4; opacity:.32; }
.acc__fig .philtrum{ fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; opacity:.3; }
.acc__fig .lips{ stroke:currentColor; stroke-width:2; stroke-linejoin:round; }
.acc__fig .lip-line{ fill:none; stroke-width:1.4; opacity:.7; }
.acc__fig .dot{ fill:var(--gold-2); }
.acc__fig .ring{ fill:none; stroke:var(--gold-2); stroke-width:1; opacity:.5; }
.acc__fig figcaption{
  margin-top:var(--s-3); padding-top:var(--s-2);
  border-top:1px solid var(--gold-soft);
  font-size:.6875rem; line-height:1.45; color:var(--gold); text-align:center;
}

/* ============================================================
   STEPS (process)
   ============================================================ */
.steps{
  --step-gap:clamp(1.25rem,2.6vw,2rem); --node:52px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--step-gap); position:relative;
}
/* szaggatott arany vezetovonal az elso es az utolso jeloles kozepe kozott */
.steps::before{
  content:""; position:absolute; z-index:0;
  top:calc(var(--node) / 2); height:1px;
  left:calc(var(--node) / 2);
  right:calc((100% - 3 * var(--step-gap)) / 4 - var(--node) / 2);
  background:repeating-linear-gradient(90deg,var(--gold-soft) 0 5px,transparent 5px 11px);
}
.steps li{ position:relative; z-index:1; }
.steps__node{
  position:relative; width:var(--node); height:var(--node); border-radius:50%;
  border:1px solid var(--gold-soft); background:var(--cream);
  display:grid; place-items:center; color:var(--gold);
  box-shadow:0 0 0 7px var(--cream);
  margin-bottom:var(--s-5);
}
.steps__node::after{
  content:""; position:absolute; inset:4px; border-radius:50%; background:var(--grad-gold);
}
.steps__node svg{ width:22px; height:22px; position:relative; z-index:1; }
.steps__i{
  display:block; font-family:var(--serif); font-size:1.0625rem; font-weight:500;
  color:var(--gold); letter-spacing:.06em; line-height:1; margin-bottom:var(--s-2);
  font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
.steps h3{ font-size:1rem; margin-bottom:var(--s-2); }
.steps p{ font-size:.8125rem; color:var(--muted); max-width:26ch; }

/* Timeline (aftercare) */
.timeline{
  --tl-gap:clamp(1rem,2.2vw,1.5rem); --dot:14px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--tl-gap); position:relative;
}
/* arany sin az elso es az utolso pont kozepe kozott */
.timeline::before{
  content:""; position:absolute; z-index:0; border-radius:2px;
  top:calc(var(--dot) / 2 - 1px); height:2px;
  left:calc(var(--dot) / 2);
  right:calc((100% - 3 * var(--tl-gap)) / 4 - var(--dot) / 2);
  background:linear-gradient(90deg,var(--gold-2),var(--gold-soft));
}
.timeline li{ position:relative; z-index:1; display:flex; padding-top:var(--s-8); }
.timeline li::before{
  content:""; position:absolute; top:0; left:0;
  width:var(--dot); height:var(--dot); border-radius:50%; background:var(--gold-2);
  box-shadow:0 0 0 4px var(--surface-2),0 0 0 5px var(--gold-soft);
}
/* a pontot es a kartyat osszekoto rovid szar */
.timeline li::after{
  content:""; position:absolute; left:calc(var(--dot) / 2); top:var(--dot);
  width:1px; height:calc(var(--s-8) - var(--dot)); background:var(--gold-soft);
}
.timeline__card{
  flex:1; background:var(--grad-card); border:1px solid var(--line-soft);
  border-radius:var(--r-md); padding:var(--s-5) var(--s-5) var(--s-6);
  box-shadow:var(--shadow-soft);
}
.timeline h3{
  font-family:var(--sans); font-size:.6875rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  margin-bottom:var(--s-3);
}
.timeline p{ font-size:.875rem; color:var(--body); line-height:1.55; max-width:none; }

/* ============================================================
   PRICING
   ============================================================ */
.pricing{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:var(--s-6); align-items:stretch; }
.price-card{
  background:var(--grad-card); border:1px solid var(--line-soft);
  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-soft);
}
.price-card__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-4);
  padding:var(--s-6) var(--s-8);
  background:linear-gradient(120deg,#F8F1E4 0%,#F1E7D4 100%);
  border-bottom:1px solid var(--line-soft);
}
.price-card__head h3{ font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.price-card__head span{ font-size:.75rem; color:var(--gold); letter-spacing:.08em; text-transform:uppercase; }
.price-card__rows{ padding:var(--s-2) var(--s-6) var(--s-6); }
.price-card__rows li{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-4);
  padding-block:var(--s-4); border-bottom:1px solid var(--line-soft); font-size:.9375rem;
}
.price-card__rows li:last-child{ border-bottom:0; }
.price-card__rows span{ color:var(--muted); font-size:.875rem; text-align:right; }
.price-card__note{ padding:0 var(--s-6) var(--s-6); font-size:.75rem; line-height:1.5; color:var(--muted); }

.includes{
  background:var(--grad-ink-rich); color:#EDE4D8; border-radius:var(--r-lg);
  padding:clamp(1.75rem,3.2vw,2.25rem);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 26px 62px -34px rgba(43,36,32,.6);
  display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);
  gap:clamp(1.25rem,2.4vw,1.75rem); align-items:center;
}
.includes h3{ color:#fff; margin-bottom:var(--s-5); }
.includes li{ display:flex; align-items:flex-start; gap:.65rem; font-size:.875rem; line-height:1.5; }
.includes li + li{ margin-top:var(--s-3); }
.includes li svg{ width:15px; height:15px; color:var(--gold-2); flex:none; margin-top:.3rem; }
.includes__aside{
  position:relative; padding-left:clamp(1.25rem,2.2vw,1.75rem);
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--s-4);
  min-width:0;
}
.includes__aside::before{
  content:""; position:absolute; left:0; top:6%; bottom:6%; width:1px;
  background:linear-gradient(180deg,transparent,var(--line-dark) 20%,var(--line-dark) 80%,transparent);
}
/* a gomb a szuk hasabban sem loghat ki */
.includes__aside .btn{
  width:100%; max-width:100%; padding-inline:var(--s-4);
  white-space:normal; text-align:center; line-height:1.3;
}
.includes__aside svg.lotus{ width:34px; height:34px; color:var(--gold-2); }
.includes__words{ font-family:var(--serif); font-size:1.1875rem; line-height:1.45; color:#F3EBDF; text-align:center; }

/* ============================================================
   TESTIMONIALS + FAQ
   ============================================================ */
.social{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(2rem,4.5vw,3.5rem); align-items:start; }
.testimonials{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-4); margin-top:var(--s-6); }
.testimonial{
  background:var(--grad-card); box-shadow:var(--shadow-soft);
  border:1px solid var(--line-soft); border-radius:var(--r-md);
  padding:var(--s-6); display:flex; flex-direction:column; gap:var(--s-4); min-height:160px;
}
.testimonial__quote{ font-family:var(--serif); font-size:2rem; line-height:1; color:var(--gold-soft); }
.testimonial__body{ font-family:var(--serif); font-style:italic; font-size:1.0625rem; color:var(--muted); flex:1; }
.testimonial__meta{ font-size:.625rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }

/* ============================================================
   CONTACT
   ============================================================ */
.contact{ display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); gap:clamp(2rem,4.5vw,3.5rem); align-items:start; }
.contact__left{ display:grid; grid-template-columns:minmax(0,2.08fr) minmax(0,1fr); gap:var(--s-6); margin-top:var(--s-6); }
.contact__photo{ aspect-ratio:3/2; }
.contact__info{ display:flex; flex-direction:column; gap:var(--s-5); padding-top:var(--s-2); }
.contact__info-block{ display:flex; gap:var(--s-3); }
.contact__info-block svg{ width:18px; height:18px; color:var(--gold); flex:none; margin-top:.2rem; }
.contact__info-block p{ font-size:.875rem; color:var(--muted); }
.contact__info-block a{ text-decoration:none; transition:color .18s ease; }
.contact__info-block a:hover{ color:var(--gold); }
.contact__info-block strong{ display:block; color:var(--ink); font-weight:500; font-size:.9375rem; margin-bottom:.2rem; }

.form-card{
  background:var(--grad-ink-rich); color:#EDE4D8; border-radius:var(--r-lg);
  padding:clamp(1.75rem,3.2vw,2.5rem);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 26px 62px -34px rgba(43,36,32,.6);
}
.form-card h2{ color:#fff; font-size:clamp(1.5rem,2.6vw,1.9rem); }
.form-card > p{ font-size:.8125rem; color:#B7ABA0; margin-top:var(--s-3); }
.form{ margin-top:var(--s-6); display:flex; flex-direction:column; gap:var(--s-3); }
.field input,.field select{
  width:100%; padding:.85rem var(--s-4); font:inherit; font-size:.875rem;
  background:rgba(255,255,255,.06); border:1px solid var(--line-dark);
  border-radius:var(--r-pill); color:#fff;
  transition:border-color .18s ease, background-color .18s ease;
}
.field input::placeholder{ color:#9C9086; }
.field select{ color:#EDE4D8; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C9086' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 18px center; background-size:14px;
  padding-right:2.5rem;
}
.field select option{ background:#2B2420; color:#EDE4D8; }
.field input:focus,.field select:focus{ border-color:var(--gold-2); background:rgba(255,255,255,.09); outline:none; }
.field input:focus-visible,.field select:focus-visible{ outline:2px solid var(--gold-2); outline-offset:1px; }
.field[data-invalid="true"] input,.field[data-invalid="true"] select{ border-color:#E08B7A; }
.field__error{
  display:none; align-items:center; gap:.4rem;
  font-size:.75rem; color:#F0A898; margin-top:.4rem;
}
.field[data-invalid="true"] .field__error{ display:flex; }
.field__error svg{ width:13px; height:13px; flex:none; }

.consent{ display:flex; gap:.65rem; align-items:flex-start; margin-top:var(--s-2); }
.consent input{ width:15px; height:15px; margin-top:.28rem; accent-color:var(--gold-2); flex:none; cursor:pointer; }
.consent label{ font-size:.75rem; color:#B7ABA0; line-height:1.5; cursor:pointer; }
.consent a{ color:var(--gold-2); }
.consent[data-invalid="true"] label{ color:#F0A898; }

.form__note{ font-size:.75rem; color:#9C9086; text-align:center; margin-top:var(--s-1); }
.form__status{
  display:none; gap:.6rem; align-items:flex-start; margin-top:var(--s-4);
  padding:var(--s-4) var(--s-5); border-radius:var(--r-md); font-size:.8125rem; line-height:1.55;
  background:rgba(201,169,97,.14); border:1px solid rgba(201,169,97,.4); color:#F0E6D4;
}
.form__status[data-visible="true"]{ display:flex; }
.form__status svg{ width:16px; height:16px; color:var(--gold-2); flex:none; margin-top:.15rem; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  background:linear-gradient(180deg,#312A25 0%,#241E1A 60%,#1E1917 100%);
  color:#B7ABA0; padding-block:var(--s-12) var(--s-8);
}
.footer__top{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--s-6) var(--s-8); padding-bottom:var(--s-8); border-bottom:1px solid var(--line-dark);
}
.footer .brand__name{ color:#fff; }
.footer .brand__mark{ width:60px; height:56px; padding:0; background:transparent; border-radius:var(--r-xs); overflow:hidden; }
.footer__links{ display:flex; flex-wrap:wrap; gap:var(--s-4) var(--s-6); align-items:center; }
.footer__links a{ font-size:.8125rem; text-decoration:none; color:#B7ABA0; transition:color .18s ease; }
.footer__links a:hover{ color:var(--gold-2); }
.footer__links span{ color:rgba(255,255,255,.18); font-size:.75rem; }
.footer__words{ font-size:.8125rem; line-height:1.6; text-align:right; color:var(--gold-2); }
.footer__bottom{ padding-top:var(--s-6); text-align:center; font-size:.75rem; color:#8A7E74; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .nav,.header__tag{ display:none; }
  .burger{ display:flex; }
  .header__actions{ display:none; }
  .bea{ grid-template-columns:1fr 1fr; }
  .bea__text{ grid-column:1 / -1; }
}
@media (max-width:900px){
  :root{ --header-h:64px; }
  /* Mobilon visszaall a normal folyas: eloszor a szoveg, utana a foto */
  .hero{ overflow:visible; display:flex; flex-direction:column; }
  .hero > .container{ order:1; }
  .hero__content{ max-width:none; }
  .hero__grid{ padding-block:clamp(2rem,6vw,3rem) 0; }
  .hero__media{
    order:2; position:relative; inset:auto; align-self:flex-start;
    width:calc(100% - var(--s-6) * 2); max-width:460px;
    margin:var(--s-10) var(--s-6) clamp(3rem,7vw,4rem);
  }
  .hero__photo{ position:relative; inset:auto; aspect-ratio:4/5; border:1px solid var(--line); border-radius:var(--r-sm);
    -webkit-mask-image:none; mask-image:none; }
  .hero__script{ top:auto; bottom:var(--s-8); }
  .hero__disclaimer{ position:static; margin-top:var(--s-2); text-align:left; text-shadow:none; }
  .brand{ margin-left:0; }
  .brand__mark{ position:static; width:42px; height:42px; font-size:1.05rem; border-radius:var(--r-xs); }
  .pillars{ grid-template-columns:1fr 1fr; }
  .pillars li:nth-child(odd)::before{ display:none; }
  .pillars li:nth-child(n+3){ border-top:1px solid var(--line-soft); }
  .split,.solutions,.pricing,.social,.contact{ grid-template-columns:1fr; }
  .acc__body--split{ grid-template-columns:1fr; }
  .section-head__note{ text-align:left; margin-left:0; }
  .steps{ grid-template-columns:1fr 1fr; row-gap:var(--s-8); }
  .steps::before{ display:none; }
  .timeline{ grid-template-columns:1fr 1fr; row-gap:var(--s-8); }
  .timeline::before{ display:none; }
  .timeline li{ padding-top:var(--s-8); }
  .includes{ grid-template-columns:1fr; }
  .includes__aside{
    border-top:1px solid var(--line-dark);
    padding-left:0; padding-top:var(--s-6);
  }
  .includes__aside::before{ display:none; }
  .footer__words{ text-align:left; }
}
@media (max-width:640px){
  .container{ padding-inline:var(--s-5); }
  /* a datum-cimke ne toresen ketfele a cim mellett */
  .price-card__head{ flex-direction:column; align-items:flex-start; gap:var(--s-2); }
  .price-card__head span{ white-space:nowrap; }
  .brand__sub{ display:none; }
  .bea{ grid-template-columns:1fr; }
  .bea__portrait{ max-width:280px; aspect-ratio:3/4; height:auto; }
  .solutions__cards{ grid-template-columns:1fr; }
  .solutions__cards .card{ flex-direction:row; text-align:left; align-items:flex-start; gap:var(--s-4); }
  .solutions__cards .card svg{ margin-top:.2rem; }
  .solutions__cards p{ max-width:none; }
  .steps,.timeline,.testimonials,.contact__left{ grid-template-columns:1fr; }
  .compare{ gap:var(--s-3); }
  /* keskeny kijelzon ne legyen tul lapos a ket fotó */
  .compare .ph{ aspect-ratio:3/2; }
  .hero__cta .btn{ flex:1 1 100%; }
}

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

/* Reveal on scroll */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } }

@media print{
  .header,.mobile-nav,.hero__script{ display:none; }
  body{ background:#fff; }
}

/* ============================================================
   TÖBBOLDALAS KIEGÉSZÍTÉSEK — ugyanazokból a tokenekből
   ============================================================ */

/* ---------- Fő navigáció + Kezelések menü ---------- */
.header__inner{ position:relative; }
.nav{ gap:var(--s-6); margin-left:var(--s-8); align-self:stretch; }
.nav__item{ display:flex; align-items:center; align-self:stretch; }
.nav a[aria-current="page"]{ color:#fff; }
.nav a[aria-current="page"]::after{ transform:scaleX(1); }
.nav__toggle{
  display:flex; align-items:center; gap:.35rem; padding:.35rem 0;
  background:none; border:0; cursor:pointer;
  font-size:.875rem; color:#DDD2C6;
}
.nav__toggle:hover,.nav__toggle:focus-visible,.nav__item[data-open="true"] .nav__toggle{ color:#fff; }
.nav__toggle.is-current{ color:#fff; }
.nav__toggle svg{ width:12px; height:12px; transition:transform .2s ease; }
.nav__item[data-open="true"] .nav__toggle svg{ transform:rotate(180deg); }

.mega{
  position:absolute; left:var(--s-6); right:var(--s-6); top:100%;
  display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s-6) var(--s-8);
  padding:var(--s-8);
  background:linear-gradient(180deg,#312E29 0%,#2B2824 100%);
  border:1px solid rgba(255,255,255,.1); border-top:0;
  border-radius:0 0 var(--r-md) var(--r-md);
  box-shadow:0 26px 50px -24px rgba(0,0,0,.55);
}
.nav__item[data-open="true"] .mega{ display:grid; }
@media (hover:hover) and (min-width:1081px){
  .nav__item:hover .mega{ display:grid; }
  .nav__item:hover .nav__toggle svg{ transform:rotate(180deg); }
}
.mega__col h2{
  font-family:var(--sans); font-size:.6875rem; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold-2);
  padding-bottom:var(--s-3); margin-bottom:var(--s-2); border-bottom:1px solid rgba(255,255,255,.1);
}
.mega__col a{
  display:block; padding:.42rem 0; font-size:.875rem; line-height:1.35;
  color:#DDD2C6; text-decoration:none;
}
.mega__col a::after{ display:none; }
.mega__col a:hover,.mega__col a:focus-visible,.mega__col a[aria-current="page"]{ color:#fff; }
.mega__col a[aria-current="page"]{ box-shadow:inset 2px 0 0 var(--gold-2); padding-left:var(--s-3); }
.mega__col a.mega__all{ color:var(--gold-2); font-size:.8125rem; }

@media (max-width:1280px){
  .nav{ gap:var(--s-5); margin-left:var(--s-6); }
  .nav a,.nav__toggle{ font-size:.8125rem; }
}

/* Mobil menü: Kezelések csoport */
.mobile-nav{ max-height:calc(100vh - var(--header-h)); overflow-y:auto; }
.mnav-group > summary{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem var(--s-6); font-size:.9375rem; color:#DDD2C6; cursor:pointer;
  list-style:none; border-bottom:1px solid rgba(255,255,255,.08);
}
.mnav-group > summary::-webkit-details-marker{ display:none; }
.mnav-group > summary svg{ width:14px; height:14px; transition:transform .2s ease; }
.mnav-group[open] > summary svg{ transform:rotate(180deg); }
.mnav-group__label{
  display:block; padding:var(--s-4) var(--s-6) var(--s-1);
  font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-2);
}
.mobile-nav .mnav-group a{ padding:.6rem var(--s-6) .6rem var(--s-8); font-size:.875rem; border-bottom:0; }
.mobile-nav a[aria-current="page"]{ color:#fff; }

/* ---------- Aloldal hero ---------- */
.page-hero{
  background:
    radial-gradient(115% 95% at 6% 18%,#FEFCF8 0%,rgba(254,252,248,0) 62%),
    linear-gradient(180deg,#FBF7F0 0%,var(--cream) 100%);
  border-bottom:1px solid var(--line-soft);
}
.page-hero__grid{
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  gap:clamp(1.75rem,4vw,3.5rem); align-items:center;
  padding-block:clamp(1.9rem,4.2vw,3.1rem);
}
.page-hero__grid--solo{ grid-template-columns:minmax(0,1fr); }
.page-hero__content > * + *{ margin-top:.85rem; }
.page-hero h1{ margin-top:var(--s-3); font-size:clamp(2.2rem,5vw,3.4rem); line-height:1.05; text-wrap:balance; }
.page-hero .lede{ max-width:60ch; line-height:1.5; }
.page-hero .hero__price{ margin-top:var(--s-4); }

.crumbs{ display:flex; flex-wrap:wrap; gap:.35rem .55rem; font-size:.75rem; color:var(--muted); }
.crumbs a{ text-decoration:none; transition:color .18s ease; }
.crumbs a:hover{ color:var(--gold); }
.crumbs span[aria-hidden]{ color:var(--gold-soft); }

.facts{
  background:var(--grad-gold); border:1px solid var(--gold-soft);
  border-radius:var(--r-lg); padding:var(--s-6) var(--s-8);
}
.facts__title{
  display:flex; align-items:center; gap:.55rem;
  font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:500;
}
.facts__title svg{ width:16px; height:16px; }
.facts dl{ margin:var(--s-3) 0 0; }
.facts dl > div{ padding-block:var(--s-3); border-top:1px solid rgba(169,131,74,.22); }
.facts dl > div:first-child{ border-top:0; }
.facts dt{ font-size:.75rem; color:var(--muted); }
.facts dd{ margin:.1rem 0 0; font-family:var(--serif); font-size:1.25rem; line-height:1.3; color:var(--ink); }

/* ---------- Szöveges tartalom sorokban ---------- */
.prose-rows{ border-top:1px solid var(--line); }
.prose-row{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);
  gap:var(--s-4) clamp(1.5rem,4vw,3.5rem);
  padding-block:clamp(1.5rem,3vw,2.25rem); border-bottom:1px solid var(--line);
}
.prose-row h2{ font-size:clamp(1.5rem,2.6vw,1.95rem); line-height:1.18; text-wrap:balance; }
.prose{ max-width:70ch; }
.prose > * + *{ margin-top:var(--s-4); }
.prose strong{ color:var(--ink); font-weight:600; }
.prose a{ color:var(--gold); }
.prose h3{ margin-top:var(--s-6); }

.checks li{ position:relative; padding-left:1.6rem; }
.checks li + li{ margin-top:.55rem; }
.checks li::before{
  content:""; position:absolute; left:0; top:.32em; width:15px; height:15px;
  background:no-repeat center/15px url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9834A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");
}

/* ---------- Mire kínál megoldást + tudnivalók ---------- */
.solve{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(1.75rem,4vw,3.25rem); align-items:start;
}
.solve--solo{ grid-template-columns:minmax(0,1fr); }
.solve__head > * + *{ margin-top:var(--s-4); }
.chips{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-6); }
.chips li{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .95rem; border-radius:var(--r-pill);
  background:var(--surface); border:1px solid var(--line-soft);
  font-size:.875rem; color:var(--ink-2); line-height:1.35; box-shadow:var(--shadow-sm);
}
.chips svg{ width:14px; height:14px; color:var(--gold); flex:none; }
.solve .acc:first-child{ margin-top:0; }

/* ---------- Előtte / utána párok ---------- */
.gpairs{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-6); }
.gpair{
  margin:0; background:var(--grad-card); border:1px solid var(--line-soft);
  border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-soft);
}
.gpair__imgs{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:#4A403A; }
.gpair__imgs div{ position:relative; }
.gpair__imgs img{ width:100%; aspect-ratio:747/464; object-fit:cover; display:block; }
.gpair__imgs span{
  position:absolute; left:0; right:0; bottom:0;
  background:rgba(74,64,58,.88); color:#F2EAE0; text-align:center;
  font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; padding:.45rem;
}
.gpair figcaption{ padding:var(--s-4) var(--s-5) var(--s-5); font-size:.8125rem; line-height:1.55; color:var(--body); }
.gpair figcaption b{ display:block; color:var(--ink); font-weight:600; margin-bottom:.2rem; }
.gpair__tags{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:var(--s-3); }
.gpair__tags li{
  font-size:.625rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-soft); border-radius:var(--r-pill); padding:.2rem .6rem;
}
.gpairs__more{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s-4); margin-top:var(--s-6); }

.filters{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-bottom:var(--s-8); }
.filter{
  padding:.55rem 1.1rem; border-radius:var(--r-pill); cursor:pointer;
  background:transparent; border:1px solid var(--line); color:var(--ink-2); font-size:.8125rem;
  transition:background-color .18s ease, border-color .18s ease;
}
.filter:hover{ border-color:var(--gold); }
.filter[aria-pressed="true"]{ background:var(--gold-2); border-color:var(--gold-2); color:var(--ink); }
.gpair[hidden]{ display:none; }

/* Az ajakfeltöltés oldalon a valódi páros */
.compare--real .ph{ aspect-ratio:747/464; }
.compare--real .ph img{ object-position:center 30%; }
.compare__cap{ grid-column:1 / -1; font-size:.8125rem; color:var(--muted); line-height:1.55; }

/* ---------- Kezelés-kártyák ---------- */
.tgroups{ display:grid; gap:clamp(2rem,4vw,2.75rem); }
.tgroup__head{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:var(--s-2) var(--s-6); margin-bottom:var(--s-4);
}
.tgroup__head h3{ font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.tgroup__head a{ font-size:.8125rem; color:var(--gold); text-decoration:none; }
.tgroup__head a:hover{ text-decoration:underline; }
.tcards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:var(--s-4); }
.tcard{
  display:flex; flex-direction:column; gap:var(--s-2); text-decoration:none;
  padding:var(--s-5) var(--s-6);
}
.tcard h4{ font-family:var(--serif); font-size:1.3125rem; line-height:1.2; }
.tcard p{ font-size:.8125rem; color:var(--muted); line-height:1.5; flex:1; }
.tcard__foot{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s-3);
  padding-top:var(--s-3); margin-top:var(--s-1); border-top:1px solid var(--line-soft);
  font-size:.8125rem; color:var(--ink);
}
.tcard__foot svg{ width:14px; height:14px; color:var(--gold); transition:transform .18s ease; }
.tcard:hover .tcard__foot svg{ transform:translateX(3px); }
.tcard--feature{ background:var(--grad-gold); border-color:var(--gold-soft); }

/* ---------- Árak ---------- */
.price-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-6); align-items:start; }
.price-card__rows li.is-sub{
  display:block; padding-block:var(--s-4) var(--s-1); border-bottom:0;
  font-size:.6875rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:500;
}
.price-card__rows b{ color:var(--ink); font-weight:600; }
.price-card__rows s{ color:var(--muted); margin-right:.35rem; }

.price-card__rows li > span{ white-space:nowrap; }
.price-card__rows a{ color:inherit; text-decoration:none; border-bottom:1px solid var(--gold-soft); }
.price-card__rows a:hover{ color:var(--gold); }
.price-card__note b{ color:var(--ink); font-weight:600; }
.includes--rules ul{ columns:1; }
.includes--rules strong{ color:#fff; font-weight:500; }
.includes__lead{ font-family:var(--serif); font-size:1.5rem; color:#fff; margin-bottom:var(--s-4); }
.includes__lead span{ color:var(--gold-2); }

/* ---------- Bemutatkozás ---------- */
.about{
  display:grid; grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);
  gap:clamp(1.75rem,4vw,3.5rem); align-items:start;
}
.about__photo{ aspect-ratio:663/1030; max-height:720px; }
.about__photo img{ object-position:center 18%; }
.about__text > * + *{ margin-top:var(--s-4); }
.about__text .quote-card{ margin-top:var(--s-6); }
.about__text .quote-card cite{ display:block; margin-top:var(--s-2); font-style:normal; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.cv{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2) var(--s-8); }
.cv li{
  display:grid; grid-template-columns:3.4rem minmax(0,1fr); gap:var(--s-3);
  padding-block:var(--s-3); border-bottom:1px solid var(--line-soft); font-size:.875rem;
}
.cv b{
  font-family:var(--serif); font-size:1.0625rem; font-weight:500; color:var(--gold);
  font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; line-height:1.3;
}

/* ---------- Blog ---------- */
.posts{ display:grid; gap:var(--s-6); max-width:900px; }
.post{ padding:clamp(1.5rem,3vw,2.25rem); }
.post:hover{ transform:none; box-shadow:var(--shadow-soft); }
.post h2{ font-size:clamp(1.6rem,3vw,2.1rem); margin-top:var(--s-2); }
.post .prose{ margin-top:var(--s-5); }
.post h3{ font-size:1rem; margin-top:var(--s-5); }
.post h3 + ul{ margin-top:var(--s-2); }

/* ---------- Jogi szövegek ---------- */
.legal{ max-width:80ch; }
.legal h2{ font-size:clamp(1.45rem,2.6vw,1.85rem); margin-top:var(--s-10); }
.legal h3{ margin-top:var(--s-6); }
.legal > * + *{ margin-top:var(--s-4); }
.legal ol,.legal ul{ padding-left:1.25rem; }
.legal ol{ list-style:decimal; }
.legal ul{ list-style:disc; }
.legal li + li{ margin-top:.4rem; }
.legal li::marker{ color:var(--gold); }
.legal a{ color:var(--gold); word-break:break-word; }
.legal strong{ color:var(--ink); font-weight:600; }
.table-wrap{ overflow-x:auto; border:1px solid var(--line-soft); border-radius:var(--r-sm); background:var(--surface); }
.table-wrap table{ border-collapse:collapse; width:100%; min-width:560px; font-size:.8125rem; }
.table-wrap td,.table-wrap th{ padding:var(--s-3) var(--s-4); border-bottom:1px solid var(--line-soft); vertical-align:top; text-align:left; }
.table-wrap tr:first-child td{ background:var(--surface-2); color:var(--ink); font-weight:600; }
.legal-company{ margin-top:var(--s-10); }

/* ---------- Kapcsolat + bővített űrlap ---------- */
.contact{ grid-template-columns:minmax(0,1.42fr) minmax(0,1.12fr); }
.contact__left{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
.contact__info-block a{ overflow-wrap:anywhere; }
.contact__social{ display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-5); margin-top:var(--s-2); }
.form__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-3); }



.field textarea{
  width:100%; min-height:6.5rem; resize:vertical; padding:.85rem var(--s-4);
  font:inherit; font-size:.875rem; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid var(--line-dark); border-radius:var(--r-md);
  transition:border-color .18s ease, background-color .18s ease;
}
.field textarea::placeholder{ color:#9C9086; }
.field textarea:focus{ border-color:var(--gold-2); background:rgba(255,255,255,.09); outline:none; }
.field textarea:focus-visible{ outline:2px solid var(--gold-2); outline-offset:1px; }
.opts{ border:0; margin:var(--s-2) 0 0; padding:0; min-width:0; }
.opts legend{ padding:0; margin-bottom:.55rem; font-size:.8125rem; color:#EDE4D8; }
.opts legend small{ color:#9C9086; font-size:.75rem; }
.opts__list{ display:flex; flex-wrap:wrap; gap:.45rem; }
.opt{ position:relative; }
.opt input{ position:absolute; opacity:0; width:1px; height:1px; }
.opt label{
  display:inline-flex; align-items:center; gap:.4rem; cursor:pointer;
  padding:.45rem .85rem; border-radius:var(--r-pill); font-size:.8125rem; line-height:1.3;
  color:#DDD2C6; border:1px solid var(--line-dark); background:rgba(255,255,255,.04);
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}
.opt label::before{
  content:""; width:12px; height:12px; border-radius:3px; flex:none;
  border:1px solid rgba(255,255,255,.35);
}
.opt input:checked + label{ background:rgba(201,169,97,.2); border-color:var(--gold-2); color:#fff; }
.opt input:checked + label::before{
  border-color:var(--gold-2);
  background:var(--gold-2) no-repeat center/10px url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2420' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");
}
.opt input:focus-visible + label{ outline:2px solid var(--gold-2); outline-offset:2px; }
.opt label:hover{ border-color:rgba(201,169,97,.6); }
.opts[data-invalid="true"] legend{ color:#F0A898; }
.opts[data-invalid="true"] .field__error{ display:flex; }

/* ---------- Kapcsolódó kezelések ---------- */
.related .tcards{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }

/* ---------- Reszponzív ---------- */
@media (max-width:1080px){
  .mega{ display:none !important; }
}
@media (max-width:900px){
  .page-hero__grid,.prose-row,.solve,.about,.price-grid{ grid-template-columns:1fr; }
  .gpairs{ grid-template-columns:1fr; }
  .about__photo{ max-width:340px; max-height:none; }
  .cv{ grid-template-columns:1fr; }
  .contact{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .form__grid{ grid-template-columns:1fr; }
  .contact__left{ grid-template-columns:1fr; }
  .facts{ padding:var(--s-5) var(--s-6); }
  .price-card__rows li{ flex-wrap:wrap; }
  .price-card__rows li > span{ white-space:normal; }
}

/* Születési idő: címke a mezőn belül, hogy a rács egyenletes maradjon */
.datebox{
  display:flex; align-items:center; gap:var(--s-3); padding-inline:var(--s-4);
  background:rgba(255,255,255,.06); border:1px solid var(--line-dark); border-radius:var(--r-pill);
  transition:border-color .18s ease, background-color .18s ease;
}
.datebox label{ font-size:.875rem; color:#9C9086; white-space:nowrap; }
.field .datebox input{
  flex:1; min-width:0; padding:.85rem 0; border:0; background:transparent; border-radius:0;
  color:#fff; color-scheme:dark; text-align:right;
}
.field .datebox input:focus{ background:transparent; outline:none; }
.datebox:focus-within{ border-color:var(--gold-2); background:rgba(255,255,255,.09); }
.field[data-invalid="true"] .datebox{ border-color:#E08B7A; }

/* ---------- Képek: mindig a teljes kép látszódjon ---------- */
/* a width/height attribútum ne írja felül a képarányt */
.gpair__imgs img{ height:auto; cursor:zoom-in; }
.compare--real img{ cursor:zoom-in; }
@media (max-width:900px){
  /* mobilon a portré a saját arányában, vágás nélkül */
  .hero__photo{ aspect-ratio:auto; }
  .hero__photo img{ height:auto; display:block; }
}
@media (max-width:560px){
  /* előtte / utána egymás alatt, teljes szélességben */
  .gpair__imgs,.compare{ grid-template-columns:1fr; }
  .gpair figcaption{ padding:var(--s-4); }
}

/* Nagyító: előtte–utána pár teljes képernyőn */
.zoom{
  width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0;
  background:rgba(24,20,18,.96); color:#fff;
}
.zoom::backdrop{ background:rgba(24,20,18,.9); }
.zoom[open]{ display:flex; flex-direction:column; }
.zoom__bar{
  display:flex; justify-content:flex-end; flex:none;
  padding:calc(env(safe-area-inset-top, 0px) + var(--s-3)) var(--s-4) var(--s-3);
}
.zoom__close{
  display:grid; place-items:center; width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; cursor:pointer;
}
.zoom__close svg{ width:20px; height:20px; }
.zoom__close:focus-visible{ outline:2px solid var(--gold-2); outline-offset:2px; }
.zoom__body{
  flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:var(--s-4);
  padding:0 var(--s-4) calc(env(safe-area-inset-bottom, 0px) + var(--s-6));
}
.zoom__imgs{ display:grid; grid-template-columns:1fr; gap:var(--s-3); width:100%; max-width:1400px; margin-inline:auto; }
.zoom__imgs figure{ margin:0; position:relative; }
.zoom__imgs img{ display:block; width:100%; height:auto; border-radius:var(--r-xs); }
.zoom__imgs span{
  position:absolute; left:var(--s-3); top:var(--s-3); padding:.3rem .7rem; border-radius:var(--r-pill);
  background:rgba(24,20,18,.72); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase;
}
.zoom__cap{ max-width:1400px; width:100%; margin-inline:auto; font-size:.875rem; line-height:1.6; color:rgba(255,255,255,.78); }
@media (min-width:900px) and (min-aspect-ratio:4/3){
  .zoom__imgs{ grid-template-columns:1fr 1fr; }
}

/* a galériafotók aránya képenként kicsit eltér: vágás helyett teljes kép, sötét kitöltéssel */
.gpair__imgs div{ background:#1E1A18; }
.gpair__imgs img,.compare--real .ph img{ object-fit:contain; object-position:center; }
.compare--real .ph{ background:#1E1A18; }
@media (max-width:1080px){
  /* tableten a portré a saját 3:4 arányában */
  .bea__portrait{ aspect-ratio:734/979; height:auto; }
}
@media (max-width:900px){
  /* az egyoszlopos rács se nőhessen a képernyőnél szélesebbre */
  .split,.solutions,.pricing,.social,.contact,.page-hero__grid,.prose-row,.solve,.about,.price-grid,.gpairs{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:360px){
  .container{ padding-inline:var(--s-4); }
  .datebox{ flex-wrap:wrap; row-gap:0; padding-block:.35rem; }
  .field .datebox input{ text-align:left; }
}

/* hosszú webcímek, e-mail-címek törése a jogi szövegekben */
.legal,.prose{ overflow-wrap:anywhere; }

/* ============================================================
   KEZELÉSI OLDALAK — az ajakoldal elemeinek változatai
   ============================================================ */
.solutions__cards--list{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-3); }
.solutions__cards--list .card{ flex-direction:row; text-align:left; align-items:flex-start; gap:var(--s-3); padding:var(--s-4) var(--s-5); }
.solutions__cards--list .card svg{ width:16px; height:16px; margin-top:.2rem; flex:none; }
.solutions__cards--list p{ font-size:.875rem; color:var(--body); max-width:none; }
.solutions__lead{ max-width:68ch; }
.acc__body--prose h3{
  font-family:var(--sans); font-size:.6875rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  padding-top:var(--s-4);
}
.acc__body--prose h3:first-child{ padding-top:0; }
/* idővonal 1–3 elemmel: a sín az első és az utolsó pont között */
.timeline--n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.timeline--n3::before{ right:calc((100% - 2 * var(--tl-gap)) / 3 - var(--dot) / 2); }
.timeline--n2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.timeline--n2::before{ right:calc((100% - var(--tl-gap)) / 2 - var(--dot) / 2); }
.timeline--n1{ grid-template-columns:minmax(0,1fr); max-width:32rem; }
.timeline--n1::before{ display:none; }
@media (max-width:900px){
  .timeline--n3{ grid-template-columns:1fr 1fr; }
  .hero__photo--empty{ aspect-ratio:4/3; }
}
@media (max-width:640px){
  .timeline--n2,.timeline--n3{ grid-template-columns:1fr; }
  .solutions__cards--list{ grid-template-columns:1fr; gap:var(--s-2); }
  .solutions__cards--list .card{ padding:var(--s-3) var(--s-4); }
}
