:root{ 
  --accent:#B08D57;
  --goldtrans05: rgba(176,141,87,0.05);
  --goldtrans15: rgba(176,141,87,0.15);
  --goldtrans20: rgba(176,141,87,0.20);
  --goldtrans25: rgba(176,141,87,0.25);
  --goldtrans30: rgba(176,141,87,0.30);
  --goldtrans35: rgba(176,141,87,0.35);
  --goldtrans50: rgba(176,141,87,0.5);
  --goldtrans60: rgba(176,141,87,0.6);

  --bg:#0f0f0f;
  --fg:#eeeeee; 
  --muted:#dddddd;
  --whitetrans10: rgba(255,255,255,.1);
  --whitetrans15:rgba(255,255,255,.15);
  --whitetrans20: rgba(255,255,255,.2);
  --whitetrans25:rgba(255,255,255,.25);
  --whitetrans40: rgba(255,255,255,.4);

  --black:#0f0f0f;
  --blacktransfull:rgba(15,15,15,.0);
  --blacktrans05: rgba(15,15,15,.05);
  --blacktrans10: rgba(15,15,15,.1);
  --blacktrans15: rgba(15,15,15,.15);
  --blacktrans20: rgba(15,15,15,.2);
  --blacktrans25: rgba(15,15,15,.25);
  --blacktrans30: rgba(15,15,15,.3);
  --blacktrans40: rgba(15,15,15,.4);
  --blacktrans50: rgba(15,15,15,.5);
  --blacktrans55: rgba(15,15,15,.55);
  --blacktrans60: rgba(15,15,15,.6);
  --blacktrans75: rgba(15,15,15,.75);
  --blacktrans90: rgba(15,15,15,.9);
  --textcolor:#eeeeee;
  --btnhover1: rgba(209, 159, 84, 0.603);
  --btnhover2: rgba(176, 140, 87, 0.507);
  --btnhover3: ;
  --card-radius:1rem;
}

/*SÖTÉT MÓD SZÍNEK*/
@media (prefers-color-scheme: dark) {
  
}

/* ===== Oldalváltás – natív, teljesítménybarát keresztáttűnés ===== */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: page-fade-out .14s ease-out both;
}

::view-transition-new(root) {
  animation: page-fade-in .20s ease-out both;
}

@keyframes page-fade-out {
  to { opacity: 0; }
}

@keyframes page-fade-in {
  from { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: .01ms;
  }
}

/* Fixált navbar miatti offset + gördítéskor se takarja az anchor-t */
:root { --nav-offset: clamp(72px, 12vh, 112px); }
html {
  scroll-padding-top: var(--nav-offset);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Az első szekció kapjon extra felső belső margót */
.section--first { padding-top: calc(4rem + var(--nav-offset)); }

*{ box-sizing:border-box }
html,body{ margin:0; height:100%; background-color: var(--bg);
  /*background: url('../media/bckgrd3.jpg');*/
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover; color:var(--textcolor); font: 16px/1.5 Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
img{
  max-width:100%;
  display:block;
  border-radius:0;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
a{ color:inherit; text-decoration:none }
.container{ width:min(1100px, 100% - 2rem); margin-inline:auto }

.display{ font-family: 'Playfair Display', serif; font-size: clamp(2rem, 5vw, 4.2rem); letter-spacing:-0.02em; font-weight:800 }
.display-sm{ font-family: 'Playfair Display', serif; font-size: clamp(2.2rem, 3.5vw, 2.8rem); font-weight:800 }
.display-s{ font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.5vw, 2.6rem); font-weight:800 }
.display-xs{ font-family: 'Playfair Display', serif; font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight:700 }
.describe {text-align: center; margin:3rem;}
.lead{ color:var(--muted); font-size: clamp(1rem, 1.6vw, 1.2rem) }
.muted{ color: var(--muted) }
.small{ font-size: .85rem }
.small_c{ font-size: .9rem ; color:var(--accent)}
.overline{ letter-spacing:.2em; text-transform:uppercase; color: var(--accent) }

/* TITLES -------------------------------------------------------------------------------------------------- */
h1 { margin-block-start: -1rem; margin-block-end: 0rem; }
h2 { margin-block-start: -1rem; margin-block-end: 0rem; font-family: 'Playfair Display', serif; text-align: center;}
h3 { font-size: 2rem;font-family: 'Playfair Display', serif;}
h4 {font-size: 1.4rem;font-family: 'Playfair Display', serif;}
p { margin-block-start: 0.2rem; margin-block-end: 0.2rem;}

/* Kijelölés színei – bronz háttér + fekete betű */
::selection { background: var(--fg); color: var(--bg); }
::-moz-selection { background: var(--fg); color: var(--bg); } /* Firefox */

/* NAV ----------------------------------------------------------------------------------------------------- */
.nav{ position:fixed; inset:0 0 auto 0; z-index:50; }
.nav__inner{ margin-top:1rem; display:flex; align-items:center; justify-content:space-between; -webkit-backdrop-filter:blur(18px) saturate(125%); backdrop-filter:blur(18px) saturate(125%); background:var(--blacktrans55); border:1px solid var(--whitetrans20); box-shadow:0 10px 35px var(--blacktrans25); padding:.75rem 1rem; border-radius:1rem }
.brand{ font-weight:100; letter-spacing:.3em; text-transform:uppercase; font-family:'Playfair Display', serif }
.nav__links{ display:none; gap:2rem }
.nav__links a{ color:var(--muted) }
.nav__links a:hover{ color:var(--textcolor); text-decoration:underline; text-decoration-color: var(--accent); text-underline-offset: .45em}
.nav__dropdown{ position:relative; display:flex; align-items:center }
.nav__dropdown-trigger{ position:relative }
.nav__dropdown-button{ padding:0; border:0; background:none; color:var(--muted); font:inherit; cursor:pointer }
.nav__dropdown-button:hover,
.nav__dropdown-button:focus-visible{ color:var(--textcolor); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:.45em }
.nav__dropdown-menu{ position:absolute; top:calc(100% + 1rem); left:50%; min-width:170px; padding:.55rem; display:grid; gap:.15rem; opacity:0; visibility:hidden; transform:translate(-50%, -.4rem); background:var(--blacktrans90); border:1px solid var(--whitetrans20); border-radius:.85rem; box-shadow:0 16px 40px var(--blacktrans50); backdrop-filter:blur(16px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease }
.nav__dropdown-menu::before{ content:""; position:absolute; left:0; right:0; bottom:100%; height:1rem }
.nav__dropdown-menu a{ padding:.65rem .85rem; border-radius:.55rem; white-space:nowrap }
.nav__dropdown-menu a:hover,
.nav__dropdown-menu a:focus-visible{ background:var(--goldtrans15); text-decoration:none }
.nav__dropdown-menu .nav__portfolio-brand{
  margin-top:.4rem;
  padding-top:.85rem;
  border-top:1px solid var(--accent);
  border-radius:0 0 .55rem .55rem;
  color:var(--accent);
}
.nav__dropdown:hover .nav__dropdown-menu,
.nav__dropdown:focus-within .nav__dropdown-menu,
.nav__dropdown.is-open .nav__dropdown-menu{ opacity:1; visibility:visible; transform:translate(-50%, 0) }
.nav__menu{ display:grid; place-items:center; width:44px; height:44px; padding:0; background:none; border:0; color:var(--textcolor); cursor:pointer }
.nav__menu-icon{ position:relative; display:block; width:25px; height:18px }
.nav__menu-line{ position:absolute; left:0; width:100%; height:1.5px; border-radius:999px; background:currentColor; transform-origin:center; transition:top .3s ease, transform .3s ease, opacity .2s ease, background-color .2s ease }
.nav__menu-line:nth-child(1){ top:1px }
.nav__menu-line:nth-child(2){ top:8px }
.nav__menu-line:nth-child(3){ top:15px }
.nav__menu:hover .nav__menu-line,
.nav__menu:focus-visible .nav__menu-line{ background:var(--accent) }
.nav__menu[aria-expanded="true"] .nav__menu-line:nth-child(1){ top:8px; transform:rotate(45deg) }
.nav__menu[aria-expanded="true"] .nav__menu-line:nth-child(2){ opacity:0; transform:scaleX(.25) }
.nav__menu[aria-expanded="true"] .nav__menu-line:nth-child(3){ top:8px; transform:rotate(-45deg) }
.nav__menu:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; border-radius:50% }
@media (prefers-reduced-motion: reduce){ .nav__menu-line{ transition:none } }
.nav__sheet{ display:none; position:absolute; left:0; right:0; margin-inline:auto; -webkit-backdrop-filter:blur(22px) saturate(125%); backdrop-filter:blur(22px) saturate(125%); width:min(1100px, 100% - 2rem); max-height:calc(100svh - 6rem - env(safe-area-inset-top)); overflow-y:auto; overscroll-behavior:contain; background:var(--blacktrans75); border:1px solid var(--whitetrans20); box-shadow:0 18px 50px var(--blacktrans50); border-radius:1rem; padding:1rem clamp(1.25rem,6vw,2rem); gap:0; text-align:center; margin-top:1rem; align-content:start; }
.nav__sheet > a,
.nav__mobile-trigger{ display:grid; place-items:center; width:100%; min-height:3.75rem; padding:.9rem 0; color:var(--textcolor); }
.nav__mobile-trigger{ border:0; background:none; font:inherit; cursor:pointer }
.nav__mobile-trigger[aria-expanded="true"]{ color:var(--accent) }
.nav__mobile-group{ display:grid; }
.nav__mobile-submenu{
  width:min(18rem,86%);
  margin:0 auto .35rem;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}
.nav__mobile-submenu[hidden]{ display:none }
.nav__mobile-submenu::before,
.nav__mobile-submenu::after{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--goldtrans60),transparent);
}
.nav__mobile-submenu a{
  position:relative;
  display:grid;
  place-items:center;
  min-height:3.15rem;
  padding:.7rem .5rem;
  color:var(--muted);
  font-size:.88rem;
  letter-spacing:.06em;
}
.nav__mobile-submenu a + a::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--goldtrans60),transparent);
}
.nav__mobile-submenu a:hover,
.nav__mobile-submenu a:focus-visible{ color:var(--accent); }
.nav__mobile-submenu .nav__portfolio-brand{
  margin-top:.35rem;
  border-top:1px solid var(--accent);
  color:var(--accent);
}
.nav__mobile-submenu a.nav__portfolio-brand::before{ display:none; }
.nav__overlay{position:fixed; inset:0; -webkit-backdrop-filter:blur(14px) saturate(85%); backdrop-filter:blur(14px) saturate(85%); background:rgba(15,15,15,.38); z-index:40; display:none;}
.nav__overlay.is-active {display:block}

/* HERO ---------------------------------------------------------------------------------------------------- */
.hero{ position:relative; min-height:100svh; overflow:hidden }
.hero__slides{ position:absolute; inset:0 }
.hero__slide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.02); transition: opacity .7s ease, transform .7s ease }
.hero__slide.is-active{ opacity:1; transform:scale(1) }
.hero__vignette{ position:absolute; inset:0; background:linear-gradient(to top, var(--black), var(--blacktransfull) 50%, var(--blacktransfull)); pointer-events:none }
.hero__radial{ position:absolute; inset:0; background:radial-gradient(60% 60% at 50% 60%, transparent, var(--blacktrans60)); pointer-events:none }
.hero__center{ position:relative; z-index:2; min-height:100svh; display:grid; place-items:center; text-align:center; padding:0 1rem }
.actions{ display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; margin-top:1rem }

.btn{ display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 1rem; border-radius:1rem; font-weight:600; border:1px solid transparent }
.btn--accent{border:0.1rem solid var(--accent); color:var(--textcolor) ;background:var(--goldtrans15); backdrop-filter: blur(6px)}
.btn--accent:hover{ box-shadow: inset 0 0 0 1px var(--btnhover1), inset 0 0 24px var(--btnhover2), 0 10px 30px var(--blacktrans20) }
.btn--ghost{ background:var(--whitetrans10);border-color: var(--whitetrans25); color:var(--textcolor); backdrop-filter: blur(6px);font-size: 0.9rem;}
.btn--ghost:hover{ background: var(--whitetrans10)}
.btn--form-label,
.form__footer .btn{
  font-size:clamp(.8125rem, .78rem + .15vw, .875rem);
  font-weight:500;
  letter-spacing:.01em;
}

.hero__scroll-cue{ position:absolute; z-index:3; left:50%; bottom:clamp(1.4rem,4vh,2.6rem); width:42px; height:42px; transform:translateX(-50%); display:grid; place-items:center; color:var(--fg); opacity:.72; transition:opacity .25s ease,transform .25s ease }
.hero__scroll-cue::before{ content:""; width:10px; height:10px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-3px) rotate(45deg); animation:hero-scroll-cue 2.2s ease-in-out infinite }
.hero__scroll-cue:hover,.hero__scroll-cue:focus-visible{ opacity:1; transform:translateX(-50%) translateY(3px) }
.hero__scroll-cue:focus-visible{ outline:1px solid var(--accent); outline-offset:2px; border-radius:50% }
@keyframes hero-scroll-cue{ 0%,100%{ transform:translateY(-4px) rotate(45deg); opacity:.45 } 50%{ transform:translateY(4px) rotate(45deg); opacity:1 } }
.control{ background:none; border:1px solid var(--whitetrans20); color:var(--textcolor); border-radius:999px; width:32px; height:32px }
.dots{ display:flex; gap:.35rem }
.dot{ width:28px; height:6px; border-radius:999px; background: var(--whitetrans40); border:none }
.dot.is-active{ background: var(--accent) }

.hero__stack { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 0 1rem; max-width: 900px; margin: 0 auto; }
.hero__stack .display, 
.hero__stack .lead { text-align: center; }
.hero__slides { position: absolute; inset: 0 }
.hero__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Általános HTTP-hibaoldal */
.error-page{ min-height:100svh; }
.error-hero .hero__slide{ filter:brightness(.58) saturate(.82); }
.error-hero .hero__vignette{
  background:linear-gradient(to top,var(--blacktrans75),var(--blacktrans15) 55%,var(--blacktrans25));
}
.error-page .error-hero__code{
  margin:0;
  font-size:clamp(5.5rem,16vw,12rem);
  font-weight:700;
  line-height:.82;
  letter-spacing:-.045em;
}
.error-hero__message{
  max-width:min(42rem,88vw);
  margin:.9rem 0 0;
  color:var(--accent);
  font-size:var(--type-overline,clamp(.78rem,1.2vw,1rem));
  font-weight:400;
  letter-spacing:.2em;
  line-height:1.5;
  text-transform:uppercase;
}

/* keskeny hero */
.hero--half{ position: relative; min-height: 50svh }
.hero--half::after{ content:""; position:absolute; inset:0; background: linear-gradient(to top, var(--blacktrans55), var(--blacktrans25) 50%, var(--blacktrans15)); pointer-events:none;}
.hero--half 
.hero__center{ min-height: 50svh; display:grid; place-items:center; text-align:center; padding: 0 1rem }
.hero--half .section__title{ margin:0; }

/* PORTFOLIO -------------------------------------------------------------------------------------------------- */
.section{ padding: 4.5rem 0 }
.sectioner{ padding: rem 0rem }
.section__title{ text-align:center; margin-bottom: 3rem }

/* Főoldali fejezethatár – az eredeti egységes háttér megtartásával */
.home-page #services{ position:relative; }
.home-page #services::before,
.home-page #services::after{
  content:"";
  position:absolute;
  left:50%;
  z-index:1;
  width:min(980px,78vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.28),transparent);
  pointer-events:none;
}
.home-page #services::before{ top:0; }
.home-page #services::after{ bottom:0; }

/* Visszafogott, egységes fejezethatár a hosszabb oldalak szakaszai között. */
.section--gold-divider{ position:relative; }
.section--gold-divider::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(980px,78vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.28),transparent);
  pointer-events:none;
}

@media (max-width:767px){
  .home-page #services::before,
  .home-page #services::after{ width:82vw; }
}

.tabs{ display:flex; gap:.5rem; justify-content:center; margin-bottom:1rem; flex-wrap:wrap;}
.tab{ background: transparent; border: 0; border-bottom: 0px solid var(--fg); color: var(--textcolor); padding: .5rem .75rem; border-radius: 0; box-shadow: none; font-size: 0.8rem;cursor:pointer; letter-spacing: 0.1rem;}
.tab.is-active{ border-bottom-color: var(--accent);  color:var(--accent);/* aktív */}
.tab:hover, .tab:active, .tab:focus{ background: transparent; box-shadow: none;color:var(--accent)}
.grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: .5rem }
.grid img{ width:100%; height:100%; object-fit:cover; border-radius:0 }
.gallery-toggle{ display:flex; width:max-content; margin:2rem auto 0 }

/* PORTFÓLIÓ – teljes fotózásokat bemutató történetkártyák */
.portfolio-series{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:clamp(1.5rem,3vw,2.5rem);
  width:min(1320px, calc(100vw - 3rem));
  margin-left:50%;
  transform:translateX(-50%);
}
.portfolio-series-card{
  position:relative;
  display:block;
  flex:0 1 100%;
  width:100%;
  height:clamp(430px, 125vw, 620px);
  overflow:hidden;
  border:1px solid var(--goldtrans20);
  border-radius:var(--card-radius);
  background:var(--black);
  box-shadow:0 20px 55px var(--blacktrans30);
  isolation:isolate;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.portfolio-series-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.78) saturate(.9);
  transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease;
}
.portfolio-series-card__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,15,15,.03) 16%,rgba(15,15,15,.12) 48%,rgba(15,15,15,.92) 100%);
  pointer-events:none;
}
.portfolio-series-card__body{
  position:absolute;
  inset:auto 0 0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(1.4rem,3vw,2.35rem);
}
.portfolio-series-card__category{
  position:absolute;
  top:clamp(1rem,2.2vw,1.55rem);
  left:clamp(1rem,2.2vw,1.55rem);
  z-index:2;
  padding:.34rem .52rem;
  border:1px solid var(--goldtrans25);
  border-radius:999px;
  background:rgba(15,15,15,.58);
  color:var(--accent);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.portfolio-series-card__title{
  color:var(--fg);
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3.8vw,2.65rem);
  line-height:1.05;
}
.portfolio-series-card__date{
  margin-top:.55rem;
  color:var(--accent);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1;
}
.portfolio-series-card:hover,
.portfolio-series-card:focus-visible{
  transform:translateY(-5px);
  border-color:var(--goldtrans60);
  box-shadow:0 24px 60px var(--blacktrans60),0 0 24px var(--goldtrans15);
}
.portfolio-series-card:hover img,
.portfolio-series-card:focus-visible img{
  transform:scale(1.035);
  filter:brightness(.86) saturate(.96);
}
.portfolio-series-card:focus-visible{ outline:2px solid var(--accent); outline-offset:4px; }

/* Külön fotózás oldala */
.portfolio-series-hero .hero__slide{ filter:brightness(.78); }
.hero--half.portfolio-series-hero,
.hero--half.portfolio-series-hero .hero__center{ min-height:clamp(350px,42svh,520px); }
.portfolio-category-hero .hero__slide{ filter:brightness(.72); }
.hero--half.portfolio-category-hero,
.hero--half.portfolio-category-hero .hero__center{ min-height:clamp(350px,42svh,520px); }
.portfolio-category-hero + #portfolio{ padding-top:2rem; }
.portfolio-session{ padding-top:.5rem; }
.portfolio-series-back{
  display:inline-flex;
  gap:.55rem;
  align-items:center;
  margin-bottom:.35rem;
  color:var(--muted);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
}
.portfolio-series-back span{ color:var(--accent); transition:transform .2s ease; }
.portfolio-series-back:hover{ color:var(--accent); }
.portfolio-series-back:hover span{ transform:translateX(-3px); }
.portfolio-series-back--bottom{ margin:1.75rem 0 0; }
.portfolio-series-grid img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  border-radius:0;
}
.portfolio-series-grid{
  display:flex;
  flex-direction:column;
  gap:clamp(.4rem,.75vw,.7rem);
  width:min(920px,100%);
  margin-inline:auto;
}
.portfolio-series-cta{ text-align:center; }
.portfolio-series-cta .actions{ margin-top:1.5rem; }

.hero--half.package-hero,
.hero--half.package-hero .hero__center{ min-height:clamp(400px,50svh,620px); }

@media (min-width:680px){
  .portfolio-series-card{ flex-basis:calc(50% - 1.25rem); height:clamp(520px,58vw,720px); }
}

/* A nagy, egeres kijelzőkön filmszerű, fekvő sorozatkártyák; érintős iPaden marad a magas arány. */
@media (min-width:1180px) and (hover:hover) and (pointer:fine){
  .portfolio-series-card{ height:clamp(340px,30vw,430px); }
  .portfolio-series-card__body{ padding:clamp(1.45rem,2.2vw,2rem); }
  .portfolio-series-card__title{ font-size:clamp(1.85rem,2.5vw,2.35rem); }
  .portfolio-session .container{ position:relative; }
  .portfolio-session .portfolio-series-back:not(.portfolio-series-back--bottom){
    position:absolute;
    top:.25rem;
    left:0;
    margin:0;
  }
}

@media (max-width:767px){
  .hero--half.portfolio-series-hero,
  .hero--half.portfolio-series-hero .hero__center{ min-height:clamp(340px,47svh,460px); }
  .hero--half.portfolio-category-hero,
  .hero--half.portfolio-category-hero .hero__center{ min-height:clamp(340px,47svh,460px); }
  .portfolio-category-hero + #portfolio{ padding-top:1.5rem; }
  .portfolio-session{ padding-top:.5rem; }
}

@media (prefers-reduced-motion:reduce){
  .hero__scroll-cue::before{ animation:none }
}

.cards{ display:grid; gap:1rem; align-items: stretch;}
.card{ border:1px solid var(--whitetrans25); background:var(--blacktrans50); border-radius:var(--card-radius); padding:2rem 2rem 2rem 2rem; text-align: center; display:flex;flex-direction: column; justify-content: center; align-items: center;}
.card__title{ font-family:'Playfair Display', serif; font-size:1.8rem; margin:0 0 .5rem 0 }
.price{
  color:var(--accent);
  font-family:'Playfair Display',serif;
  font-size:clamp(1.3rem,2vw,1.65rem);
  font-weight:700;
  line-height:1.15;
  margin:.9rem 0;
}

.card--featured{ background: linear-gradient(180deg, var(--goldtrans15), var(--goldtrans05)); border-color: var(--goldtrans60); box-shadow: 0 0 0 1px var(--goldtrans25) inset }

.card .features{ list-style: none; margin: .75rem 0 1rem; padding: 0; display: grid; gap: .5rem }
.card .features li{ color: var(--muted); line-height: 1.45 }
.card .features li + li{ border-top: 1px solid var(--whitetrans10); padding-top: .5rem }
.card .btn{ margin-top:auto }
.card{ transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease }
.card:hover{ transform: translateY(-4px); border-color: var(--goldtrans50); box-shadow: inset 0 0 0 1px var(--goldtrans60), inset 0 0 24px var(--goldtrans50), 0 10px 30px var(--blacktrans25) }
.badge{ display:inline-block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; background:var(--goldtrans20); color:var(--fg); border:1px solid var(--goldtrans50); border-radius:999px; padding:.25rem .5rem; margin-bottom:.5rem }
.card-info{ max-width: 900px; margin: 0rem auto 3rem auto; padding: 0rem 2rem 0rem 2rem; text-align: center; font-size: 0.9rem; color: var(--muted) }
.card-info .overline{ font-size: 1rem; color:var(--accent) }

/* A csomagkártyák és az INFO összetartoznak, de jól elkülönülnek egymástól. */
.package-services{ padding-bottom:1.5rem; }
.package-services .card-info{
  margin:clamp(3rem,5vw,4.5rem) auto 0;
}
.package-services + #process{
  padding-top:clamp(3rem,5vw,4.5rem);
}

/* Lifestyle csomagok: a három felhasználási terület közös bemutatása. */
.lifestyle-intro{
  position:relative;
  overflow:hidden;
  padding-block:clamp(4rem,7vw,6.5rem);
  background:
    linear-gradient(
      to bottom,
      var(--bg) 0%,
      rgba(15,15,15,.86) 6%,
      rgba(15,15,15,.48) 18%,
      rgba(15,15,15,.12) 36%,
      transparent 52%
    ),
    radial-gradient(
      ellipse at 28% 22%,
      rgba(176,141,87,.15) 0%,
      rgba(176,141,87,.08) 42%,
      transparent 76%
    );
}
.lifestyle-intro::after,
.brand-intro::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(980px,78vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.4),transparent);
}
.lifestyle-intro__grid{
  display:block;
}
.lifestyle-intro__copy{
  max-width:780px;
  margin-inline:auto;
  text-align:center;
}
.lifestyle-intro__copy .overline{ margin-bottom:.8rem; }
.lifestyle-intro__copy .display-sm{
  max-width:13ch;
  margin:0 auto 1.5rem;
}
.lifestyle-intro__copy .display-sm span{ display:block; }
.lifestyle-intro__copy p:not(.overline){
  margin:0 0 1rem;
  color:var(--muted);
  font-size:clamp(.92rem,1vw,1rem);
  line-height:1.85;
}
.lifestyle-intro__copy strong{ color:var(--fg); font-weight:600; }
.lifestyle-intro__portfolio{ margin-top:clamp(2rem,4vw,3rem); }
.lifestyle-intro__portfolio-note{
  margin-bottom:1rem !important;
  color:rgba(238,238,238,.78) !important;
  font-size:.82rem !important;
  letter-spacing:.025em;
}
.lifestyle-intro__links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.7rem 1.6rem;
}
.lifestyle-intro__links a{
  position:relative;
  padding:0 1rem .35rem 0;
  color:var(--accent);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-bottom:1px solid var(--goldtrans50);
}
.lifestyle-intro__links a::after{
  content:"→";
  position:absolute;
  right:0;
  transition:transform .25s ease;
}
.lifestyle-intro__links a:hover,
.lifestyle-intro__links a:focus-visible{ color:var(--fg); text-decoration:none; }
.lifestyle-intro__links a:hover::after,
.lifestyle-intro__links a:focus-visible::after{ transform:translateX(3px); }
@media (max-width:480px){
  .lifestyle-intro__copy p:not(.overline){ font-size:.9rem; line-height:1.72; }
  .lifestyle-intro__portfolio-note{ font-size:.76rem !important; }
  .lifestyle-intro__links{ gap:.75rem 1rem; }
  .lifestyle-intro__links a{ font-size:.72rem; }
}

/* Brand csomagok: bevezető szöveg és automatikusan váltakozó képkártya. */
.brand-intro{
  position:relative;
  overflow:hidden;
  padding-block:clamp(4rem,7vw,6.5rem);
  background:
    linear-gradient(to bottom,var(--bg) 0%,rgba(15,15,15,.8) 12%,transparent 48%),
    radial-gradient(ellipse at 72% 32%,rgba(176,141,87,.14),transparent 68%);
}
.brand-intro__grid{
  display:grid;
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
}
.brand-intro__copy{ max-width:680px; }
.brand-intro__copy .overline{ margin-bottom:.8rem; }
.brand-intro__copy .display-sm{
  max-width:15ch;
  margin:0 0 1.5rem;
}
.brand-intro__copy p:not(.overline){
  margin:0 0 1rem;
  color:var(--muted);
  font-size:clamp(.92rem,1vw,1rem);
  line-height:1.85;
}
.brand-intro__media{
  position:relative;
  width:min(100%,390px);
  aspect-ratio:4 / 5;
  justify-self:center;
  overflow:hidden;
  background:#111;
  border:1px solid var(--goldtrans25);
  border-radius:var(--card-radius);
  box-shadow:0 24px 65px rgba(0,0,0,.3);
}
.brand-intro__slideshow{ position:absolute; inset:0; }
.brand-intro__slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.025);
  transition:opacity .9s ease,transform 1.2s ease;
}
.brand-intro__slide.is-active{
  opacity:1;
  transform:scale(1);
}
@media (min-width:768px){
  .brand-intro__grid{ grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr); }
  .brand-intro__media{ justify-self:end; }
}
@media (min-width:768px) and (max-width:1179px){
  .brand-intro__grid{ width:calc(100% - 5rem); }
}
@media (max-width:767px){
  .brand-intro__copy{ text-align:center; }
  .brand-intro__copy .display-sm{ margin-inline:auto; }
  .brand-intro__media{ width:min(82vw,370px); }
}
@media (prefers-reduced-motion:reduce){
  .brand-intro__slide{ transition:none; transform:none; }
}

/* Csomagoldali, érintéssel és egérrel is húzható portfólióválogatás. */
.package-portfolio-link{
  overflow:hidden;
  padding-block:clamp(3rem,6vw,5rem);
}
.package-portfolio-strip{
  position:relative;
  display:flex;
  gap:clamp(.7rem,1.15vw,1rem);
  overflow-x:auto;
  padding:.3rem 0 .85rem;
  cursor:grab;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
}
.package-portfolio-strip::-webkit-scrollbar{ display:none; }
.package-portfolio-strip:focus-visible{
  outline:1px solid var(--accent);
  outline-offset:.5rem;
}
.package-portfolio-strip img{
  flex:0 0 clamp(215px,25vw,310px);
  width:clamp(215px,25vw,310px);
  aspect-ratio:4 / 5;
  height:auto;
  object-fit:cover;
  border-radius:0;
  scroll-snap-align:start;
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
  -webkit-touch-callout:none;
}
.package-portfolio-strip.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
}
.package-portfolio-strip.is-autoplaying{ scroll-snap-type:none; }
.package-portfolio-strip.is-dragging img{ pointer-events:none; }
.package-portfolio-link .portfolio-more{ margin-top:2rem; }

/* KÉPES SZOLGÁLTATÁS-KÁRTYÁK */
.service-cards{ display:grid; gap:1.25rem; align-items:stretch; }
.service-card{
  position:relative;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border:1px solid var(--goldtrans25);
  border-radius:var(--card-radius);
  background:var(--black);
  box-shadow:0 16px 40px var(--blacktrans40);
  isolation:isolate;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.service-card:hover,
.service-card:focus-within{ transform:translateY(-5px); border-color:var(--goldtrans50); box-shadow:0 24px 60px var(--blacktrans60),0 0 24px var(--goldtrans15); text-decoration:none }
.stretched-link { position: absolute; inset: 0; z-index: 1; display: block; }
.service-card__cta,
.service-card__cta a,
.service-card__cta .btn { position: relative; z-index: 2 }
.stretched-link:focus-visible { outline:2px solid var(--accent); outline-offset:-5px; border-radius:1rem }
.service-card__media{ position:absolute; inset:0; overflow:hidden }
.service-card__media img{ width:100%; height:100%; object-fit:cover; filter:brightness(.82) contrast(1.06) saturate(.88); transition:transform .7s ease,filter .45s ease }
.service-card:hover .service-card__media img,
.service-card:focus-within .service-card__media img{ transform:scale(1.045); filter:brightness(.9) contrast(1.07) saturate(.95) }
.service-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,15,15,.18) 0%,rgba(15,15,15,.08) 30%,rgba(15,15,15,.9) 100%);
}
.service-card__body{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding:1.15rem;
  text-align:left;
  pointer-events:none;
}
.service-card__title{
  margin:0;
  color:var(--fg);
  font-family:'Playfair Display',serif;
  font-size:clamp(1.65rem,7.5vw,2rem);
  line-height:1.05;
  letter-spacing:-.02em;
  text-align:left;
  text-shadow:0 4px 20px var(--black);
}
.service-card__title .overline{
  display:block;
  margin:0 0 .25rem;
  color:var(--accent);
  font-family:Inter,system-ui,sans-serif;
  font-size:.7rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.2em;
  text-transform:uppercase;
  text-align:left;
}
.service-card__desc{ display:none; color:var(--muted); margin:.55rem 0 0; line-height:1.5; text-shadow:0 2px 12px var(--black); }
.service-card__cta{
  display:flex;
  gap:1.25rem;
  align-items:center;
  margin-top:.7rem;
  pointer-events:auto;
}
.service-card__cta .btn{
  min-height:44px;
  height:44px;
  padding:0 1.15rem 0 0;
  border:0;
  border-radius:0;
  background:linear-gradient(var(--accent),var(--accent)) left calc(100% - 6px) / 0 1px no-repeat;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  color:var(--fg);
  font-family:Inter,system-ui,sans-serif;
  font-size:.8rem;
  font-weight:600;
  white-space:nowrap;
  transition:color .25s ease,background-size .25s ease;
}
.service-card__cta .btn:last-child{ color:rgba(255,255,255,.72); }
.service-card__cta .btn:first-child{
  color:var(--accent);
  font-size:.84rem;
  font-weight:700;
  background-size:calc(100% - 1.15rem) 1px;
}
.service-card__cta .btn::after{
  content:"→";
  position:absolute;
  right:0;
  color:var(--accent);
  font-size:.9rem;
  transition:transform .25s ease;
}
.service-card__cta .btn:hover,
.service-card__cta .btn:focus-visible{ color:var(--accent); background-size:calc(100% - 1.15rem) 1px; }
.service-card__cta .btn:hover::after,
.service-card__cta .btn:focus-visible::after{ transform:translateX(3px); }
.service-card__portfolio-links{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:.75rem;
}
.service-card__portfolio-links .service-card__portfolio{
  position:relative;
  color:rgba(255,255,255,.76);
  font-size:.76rem;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
  transition:color .25s ease;
}
.service-card__portfolio-links .service-card__portfolio + .service-card__portfolio::before{
  content:"·";
  position:absolute;
  left:-.47rem;
  color:var(--accent);
}
.service-card__portfolio-links .service-card__portfolio:hover,
.service-card__portfolio-links .service-card__portfolio:focus-visible{
  color:var(--accent);
  text-decoration:none;
}

@media (max-width:767px){
  .service-card{ aspect-ratio:4 / 3; }
  .service-card__media::after{
    background:linear-gradient(180deg,rgba(15,15,15,.34) 0%,rgba(15,15,15,.58) 50%,rgba(15,15,15,.62) 100%);
  }
  .service-card__body{
    justify-content:center;
    align-items:center;
    padding:1.25rem;
    text-align:center;
  }
  .service-card__title,
  .service-card__title .overline{ text-align:center; }
  .service-card__cta{
    width:100%;
    justify-content:center;
    gap:1rem;
  }
  .service-card__portfolio-links{ gap:.65rem; }
  .service-card__portfolio-links .service-card__portfolio{ font-size:.72rem; }
  .service-card__portfolio-links .service-card__portfolio + .service-card__portfolio::before{ left:-.42rem; }
}

@media (min-width:768px){
  .service-card{ aspect-ratio:4 / 3; }
  .service-card__body{
    align-items:center;
    padding:1.6rem;
    text-align:center;
  }
  .service-card__title,
  .service-card__title .overline{ text-align:center; }
  .service-card__cta{ justify-content:center; }
  .service-card__title{ font-size:clamp(1.75rem,2.4vw,2.15rem); }
  .service-card__desc{ display:block; max-width:29ch; font-size:.9rem; }
  .service-card__cta{ margin-top:1rem; }
}

/* A szolgáltatáskártyák tableten is megtartják a 4:3-as fekvő arányt. */
@media (min-width:768px) and (hover:none) and (pointer:coarse){
  .service-cards > .service-card{
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }
}

/* FOLYAMAT -------------------------------------------------------------------------------------------------------- */
.portfolio-more{ margin-top:2rem; }
.portfolio-more .btn,
.gallery-toggle{
  position:relative;
  min-width:0;
  height:auto;
  padding:.35rem 1.8rem .4rem 0;
  border:0;
  border-radius:0;
  background:linear-gradient(var(--accent),var(--accent)) left bottom / calc(100% - 1.8rem) 1px no-repeat;
  box-shadow:none;
  font-family:'Playfair Display',serif;
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.02em;
  transition:color .25s ease,background-size .25s ease;
}
.gallery-toggle{ margin:2rem auto 0; }
.portfolio-more .btn::after,
.gallery-toggle::after{
  position:absolute;
  right:0;
  color:var(--accent);
  font-family:Inter,system-ui,sans-serif;
  font-size:1rem;
  transition:transform .25s ease;
}
.portfolio-more .btn::after{ content:"→"; }
.gallery-toggle::after{ content:"↓"; }
.gallery-toggle[aria-expanded="true"]::after{ content:"↑"; }
.portfolio-more .btn:hover,
.gallery-toggle:hover{
  color:var(--accent);
  background-size:55% 1px;
}
.portfolio-more .btn:hover::after{ transform:translateX(4px); }
.gallery-toggle:hover::after{ transform:translateY(3px); }
.gallery-toggle[aria-expanded="true"]:hover::after{ transform:translateY(-3px); }
.portfolio-more .btn:focus-visible,
.gallery-toggle:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
}
.process{
  list-style:none;
  display:grid;
  gap:1rem;
  margin:2.5rem 0 0;
  padding:0;
}
.process__item{
  position:relative;
  min-height:230px;
  padding:2rem;
  overflow:hidden;
  border:1px solid var(--whitetrans15);
  border-radius:var(--card-radius);
  background:linear-gradient(145deg,var(--goldtrans05),var(--blacktrans25));
  box-shadow:inset 0 0 0 1px var(--blacktrans20);
}
.process__item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,transparent,var(--accent),transparent);
  opacity:.7;
}
.process__number{
  display:block;
  margin-bottom:1.2rem;
  color:var(--accent);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.2em;
}
.process__title{
  margin:0 0 .75rem;
  font-family:'Playfair Display',serif;
  font-size:1.55rem;
}
.process__item .muted{ margin:0; line-height:1.65; }

/* ABOUT ---------------------------------------------------------------------------------------------------------- */
.about{ display:grid; gap:1rem }
.about__text{padding:2rem}
.about__img img{ width:100%; height:100%; object-fit:cover; border:1px solid var(--whitetrans10); border-radius:var(--card-radius) }
.about__img--swap{ position:relative; overflow:hidden; border-radius:var(--card-radius) }
.about__img--swap img{ border:1px solid var(--whitetrans10) }
.about__img--swap .about__img-hover{ position:absolute; inset:0; opacity:var(--bio-reveal, 0); will-change:opacity }
.about__img2 img{ width:80%; height:100%; object-fit:cover; border:0px solid var(--whitetrans10); border-radius:0rem}
#about .muted {text-align: justify;}
#about .muted .no-justify {display: block; text-align: left;}
#zigzag .zigzag__text .muted{ font-size:clamp(.93rem,1vw,.98rem); line-height:1.9; }

/* HUPSZ! (nem menthető képek)-------------------------------------- */
.toast{ position:fixed; left:50%; top:100%; transform:translate(-50%,-120%); background:var(--blacktrans75); color:var(--fg); /*border:2px solid var(--accent);*/ padding:.6rem .9rem; border-radius:.75rem; z-index:1101; pointer-events:none; font-size:0.8rem;/* katt ne akadjon el rajta */}
.toast[hidden]{ display:none }
.form-notice{
  position:fixed;
  left:50%;
  top:50%;
  z-index:1200;
  display:flex;
  align-items:center;
  gap:1.1rem;
  width:min(calc(100vw - 2rem), 420px);
  padding:1.15rem 1.15rem 1.15rem 1.35rem;
  border:1px solid rgba(184,142,79,.58);
  border-color:color-mix(in srgb, var(--accent) 58%, transparent);
  border-radius:1rem;
  background:rgba(18,17,15,.96);
  color:var(--fg);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  opacity:0;
  transform:translate(-50%, calc(-50% + 12px)) scale(.98);
  transition:opacity .22s ease, transform .22s ease;
}
.form-notice[hidden]{ display:none; }
.form-notice.is-visible{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.form-notice.is-error{ border-color:rgba(220,120,105,.6); }
.form-notice__message{ flex:1; margin:0; font-size:.92rem; line-height:1.55; }
.form-notice__close{
  flex:0 0 auto;
  width:2rem;
  height:2rem;
  padding:0;
  border:0;
  background:transparent;
  color:var(--fg);
  font:inherit;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}
.form-notice__close:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:50%; }
@media (prefers-reduced-motion:reduce){
  .form-notice{ transition:none; }
}
img{ -webkit-user-drag:none; user-select:none; }
/* GYIK (FAQ) –-------------------------------------------------------------------------------------------------- */
.faq{ max-width: 900px; margin: 0 auto; }
.faq details{ background: var(--blacktrans05); border:1px solid var(--whitetrans10); border-radius:var(--card-radius); padding: .9rem 1rem; margin-bottom: .75rem; transition: border-color .2s ease, background .2s ease;}
.faq summary{ list-style: none; cursor: pointer; font-weight: 600; outline: none; display: flex; align-items: center; justify-content: space-between }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content: "+"; font-weight: 700; opacity: .8; margin-left: 1rem; transition: transform .2s ease, opacity .2s ease }
.faq details[open] summary::after{ content: "–"; opacity: 1; }
.faq details[open]{ border-color: var(--goldtrans50); background: linear-gradient(180deg, var(--goldtrans05), var(--blacktrans50));}
.faq p{ color:var(--muted); margin:.6rem 0 0; line-height:1.55; }

/* CONTACT -----------------------------------------------------------------------------------------------------------*/
/* Kontakt lista */
.contact-list {width:fit-content;max-width:100%;list-style:none;padding:0;margin:1.25rem auto 2.5rem;display:grid;grid-template-columns:1fr;gap:.9rem;}
.contact-item {display:grid;grid-template-columns:40px auto;align-items:center;justify-content:center;gap:.85rem;padding:.25rem 0;border:0;background:transparent;border-radius:0;}
.contact-item:hover {border-color:transparent;box-shadow:none;transform:none;}
.contact-icon {width: 40px;height: 40px;display: grid;place-items: center;border-radius: 999px;background: var(--goldtrans15);border: 1px solid var(--goldtrans35);color: var(--fg);}
.contact-icon svg {width: 20px;height: 20px;}
.contact-item a {color:var(--textcolor);text-align:left;text-decoration:none;border-bottom:1px solid transparent;}
.contact-item a:hover {color: var(--fg);text-decoration: underline;text-decoration-color: var(--accent);text-underline-offset: .2em;}

/* Önálló Kapcsolat oldal */
.contact-page-hero .hero__slide{ filter:brightness(.58) saturate(.78); }
.contact-page-intro{
  padding:clamp(1.5rem,4vw,2.4rem) 0;
  text-align:center;
}
.contact-page-intro .container{ max-width:760px; }
.contact-page-intro p{ color:var(--muted); line-height:1.7; }
.contact-page-intro a{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  margin-top:.85rem;
  color:var(--accent);
  font-size:.82rem;
  font-weight:600;
}
.contact-page-section{ width:min(820px,calc(100% - 2rem)); }
.contact-page-section .form{ max-width:720px; }
.contact-page-section .contact-list{ max-width:100%; }
.contact-direct{
  margin-top:clamp(3.75rem,7vw,5.5rem);
  text-align:center;
}
.contact-direct > .overline{ margin-bottom:1.25rem; }

/* Jogi és tájékoztató oldalak */
.legal-main{
  min-height:70svh;
  padding:clamp(9rem,15vw,12rem) 0 clamp(5rem,9vw,8rem);
}
.legal-document{ width:min(860px,calc(100% - 2rem)); }
.legal-heading{
  position:relative;
  margin-bottom:clamp(3rem,7vw,5rem);
  padding-bottom:clamp(2rem,4vw,3rem);
}
.legal-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(260px,62vw);
  height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
}
.legal-heading .overline{
  margin:0 0 .7rem;
  font-size:.75rem;
  line-height:1.2;
}
.legal-heading .display-sm{
  max-width:780px;
  margin:0;
  text-align:left;
  font-size:clamp(2.35rem,6vw,4.5rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.legal-copy{ max-width:760px; }
.legal-copy h2{
  position:relative;
  margin:clamp(3rem,6vw,4.25rem) 0 1.15rem;
  padding-top:1.15rem;
  color:var(--fg);
  text-align:left;
  font-size:clamp(1.45rem,3vw,1.85rem);
  line-height:1.2;
}
.legal-copy h2::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:42px;
  height:1px;
  background:var(--accent);
}
.legal-copy p,
.legal-copy .describe{
  margin:0 0 1.15rem;
  color:var(--muted);
  text-align:left;
  font-size:1rem;
  line-height:1.8;
}
.legal-copy .legal-intro{
  margin-bottom:2.5rem;
  padding-left:1.15rem;
  border-left:1px solid var(--accent);
  color:var(--fg);
  font-size:1.05rem;
}
.legal-copy a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:var(--goldtrans35);
  text-underline-offset:.28em;
}
.legal-copy a:hover{ text-decoration-color:var(--accent); }
.legal-block + .legal-block{
  margin-top:clamp(3rem,6vw,4.5rem);
  padding-top:clamp(2.5rem,5vw,3.5rem);
  border-top:1px solid var(--goldtrans25);
}
.legal-block h2{ margin-top:0; }
.legal-details{ display:grid; gap:0; margin:0; }
.legal-details div{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);
  gap:1.5rem;
  padding:1rem 0;
  border-bottom:1px solid var(--whitetrans10);
}
.legal-details dt{ color:var(--muted); font-size:.88rem; }
.legal-details dd{ margin:0; color:var(--fg); line-height:1.65; }
.legal-reference{ padding-top:.5rem; font-weight:600; }
.legal-signature{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .45rem;
  margin-top:3.5rem;
  padding-top:2rem;
  border-top:1px solid var(--goldtrans25);
  color:var(--muted);
  font-size:.88rem;
}
.legal-signature strong,
.legal-signature small,
.legal-signature > span:last-of-type{ flex-basis:100%; }
.legal-signature strong{ color:var(--fg); font-family:'Playfair Display',serif; font-size:1.1rem; }
.legal-signature small{ margin-top:.75rem; color:var(--muted); }

@media (max-width:767px){
  .legal-main{ padding:7.75rem 0 4.5rem; }
  .legal-heading{ margin-bottom:2.75rem; padding-bottom:1.75rem; }
  .legal-heading .overline{ margin-bottom:.45rem; font-size:.67rem; }
  .legal-heading .display-sm{ font-size:clamp(2rem,10vw,2.75rem); }
  .legal-copy h2{ margin-top:2.75rem; font-size:1.35rem; }
  .legal-copy p,
  .legal-copy .describe{ font-size:.9rem; line-height:1.72; }
  .legal-copy .legal-intro{ padding-left:.9rem; font-size:.94rem; }
  .legal-details div{ grid-template-columns:1fr; gap:.3rem; padding:.9rem 0; }
  .legal-details dt{ font-size:.76rem; letter-spacing:.04em; }
  .legal-details dd{ font-size:.9rem; }
  .legal-signature{ display:grid; gap:.45rem; }
  .legal-signature [aria-hidden="true"]{ display:none; }
}



/* FOOTER -------------------------------------------------------------------------------------------- */
.footer{ border-top:1px solid var(--whitetrans10); background: var(--bg); padding: 2rem 0 1rem }
.footer__grid{ display:grid; gap:1.25rem; grid-template-columns: 1fr }
.footer__bottom{ display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--whitetrans15); font-size:0.75rem}
.footer__head{ font-family:'Playfair Display', serif; font-size:1rem; margin:.25rem 0 .75rem; letter-spacing:.01em;}
.footer__brand .brand{ font-weight:700; letter-spacing:.24em; text-transform:uppercase; font-family:'Playfair Display', serif; color:var(--fg);}
.footer__brand a:hover{ text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset:.2em; }
.footer__links ul{ list-style:none; padding:0; margin:0; display:grid; gap:.4rem; font-size:0.75rem}
.footer__links a{ color:var(--muted); border-bottom:1px solid transparent}
.footer__links a:hover{ color:var(--fg); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset:.2em}
.footer__social .social{ display:flex; align-items:center; gap:.6rem; font-size:0.75rem; color:var(--muted); margin:.35rem 0}
.footer__social .social:hover{ color:var(--fg); }
.social__icon{ width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:999px; background: var(--goldtrans15); border:1px solid var(--goldtrans35)}
.social__icon svg{ width:18px; height:18px }

.footer,
.footer__brand,
.footer__links,
.footer__social,
.footer__bottom {text-align: center}
.footer__grid {justify-items: center}
.footer__links ul {justify-items: center}
.footer__social .social {justify-content: center}
.footer__bottom {justify-content: center}

/* FORM ----------------------------------------------------------------------------------------------------------- */
.form{ display:grid; gap:.75rem; max-width:720px; margin-inline:auto }
.form__row{ display:grid; gap:.75rem }
.form input, .form textarea{ width:100%; padding:.9rem 1rem; border-radius:.75rem; border:1px solid var(--whitetrans10); background: var(--blacktrans60); color:var(--fg) }
.form textarea{ min-height:140px }
.form__footer{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap }
.form .btn[type="submit"]{ cursor:pointer; }
.form__footer .small{ max-width:460px }
.form__footer .small a{ text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:.2em }
.form-consent{
  position:relative;
  display:grid;
  grid-template-columns:1.2rem minmax(0,1fr);
  align-items:start;
  gap:.7rem;
  max-width:510px;
  color:var(--muted);
  font-size:.8125rem;
  line-height:1.55;
  cursor:pointer;
}
.form-consent input{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  opacity:0;
  pointer-events:none;
}
.form-consent__control{
  position:relative;
  width:1.2rem;
  height:1.2rem;
  margin-top:.08rem;
  border:1px solid var(--goldtrans60);
  border-radius:.28rem;
  background:linear-gradient(145deg,var(--goldtrans05),var(--blacktrans60));
  box-shadow:inset 0 0 0 1px var(--blacktrans25);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.form-consent__control::after{
  content:"";
  position:absolute;
  left:.39rem;
  top:.17rem;
  width:.28rem;
  height:.55rem;
  border-right:2px solid var(--black);
  border-bottom:2px solid var(--black);
  opacity:0;
  transform:rotate(45deg) scale(.6);
  transition:opacity .16s ease,transform .16s ease;
}
.form-consent input:checked + .form-consent__control{
  border-color:var(--accent);
  background:var(--accent);
  box-shadow:0 0 0 3px var(--goldtrans15);
}
.form-consent input:checked + .form-consent__control::after{
  opacity:1;
  transform:rotate(45deg) scale(1);
}
.form-consent input:focus-visible + .form-consent__control{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.form-consent__text a{
  color:var(--fg);
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-underline-offset:.2em;
}
.form-consent__text a:hover{ color:var(--accent); }
.msg{ margin-top:.5rem }
.msg--ok{ color:#34d399 }
.msg--err{ color:#f87171 }

.form__row{ display:grid; gap:.6rem; }
@media (min-width:600px){ .form__row{ grid-template-columns:1fr 1fr; } }

.form input,
.form select,
.form textarea{ width:100%; background:var(--black); color:var(--fg); border:1px solid var(--whitetrans25); border-radius:.75rem; padding:.8rem 1rem; font:inherit; font-size:clamp(.8125rem, .78rem + .15vw, .875rem); line-height:1.45 }

.form textarea{ min-height:160px; resize:vertical; }
.form-textarea-resizable{
  position:relative;
  min-width:0;
}
.form-textarea-resizable textarea{ margin:0; }
.form-textarea__resize{ display:none; }
@media (hover:hover) and (pointer:fine){
  .form-textarea-resizable textarea{ resize:none; }
  .form-textarea__resize{
    position:absolute;
    right:2px;
    bottom:2px;
    display:block;
    width:28px;
    height:28px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--accent);
    cursor:ns-resize;
    touch-action:none;
  }
  .form-textarea__resize::before,
  .form-textarea__resize::after{
    content:"";
    position:absolute;
    right:5px;
    bottom:7px;
    width:11px;
    height:1px;
    background:currentColor;
    transform:rotate(-45deg);
    transform-origin:right center;
  }
  .form-textarea__resize::after{
    right:5px;
    bottom:4px;
    width:6px;
  }
  .form-textarea__resize:hover,
  .form-textarea__resize:focus-visible,
  .form-textarea__resize.is-resizing{ color:var(--fg); }
  .form-textarea__resize:focus-visible{
    outline:1px solid var(--accent);
    outline-offset:-3px;
  }
}
.form select{
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
  padding-right:3rem;
  border-color:var(--goldtrans35);
  background-color:var(--black);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%23B08D57' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), linear-gradient(135deg, var(--goldtrans05), transparent 58%);
  background-repeat:no-repeat, no-repeat;
  background-position:right 1rem center, 0 0;
  background-size:16px 10px, 100% 100%;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.form select:invalid{ color:var(--muted) }
.form select:hover{ border-color:var(--goldtrans60); background-color:var(--blacktrans90) }
.form select:focus-visible{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--goldtrans15), inset 0 0 0 1px var(--goldtrans30) }
.form select option{ color:var(--fg); background:var(--black) }
.form input::placeholder,
.form textarea::placeholder{ font-size:inherit }
.form__footer .small{ font-size:.8125rem; line-height:1.5 }
.hidden{ display:none !important; }

.form input:not([type="checkbox"]):required:valid,
.form select:required:valid,
.form textarea:required:valid{ border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--goldtrans30) }

.form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(:placeholder-shown),
.form textarea:not(:placeholder-shown){ border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--goldtrans30) }

.form input:-webkit-autofill,
.form select:-webkit-autofill,
.form textarea:-webkit-autofill{ -webkit-text-fill-color: var(--fg); box-shadow: 0 0 0px 1000px var(--black) inset, inset 0 0 0 1px var(--goldtrans30); transition: background-color 9999s }


/* 768 PX --------------------------------------------------------------------------------- */
@media (min-width: 768px){
  .section{ padding:7rem 0 }
  .nav__links{ display:flex }
  .nav__menu{ display:none }
  .cards{ grid-template-columns: repeat(3, 1fr) }
  .service-cards{ grid-template-columns: repeat(2, 1fr); }
  .process{ grid-template-columns:repeat(3,1fr); gap:1.25rem; }
  .about{ grid-template-columns: 1fr 1fr; align-items:center }
  .prints{ grid-template-columns: 1fr 1fr }
  .footer__grid{ grid-template-columns: 0.8fr .8fr .8fr; }
  .grid{ grid-template-columns: repeat(3, 1fr); gap: .75rem } 
  /*.grid img{ height: 320px }*/
}

/* A szolgáltatáskártyák nagy képernyőn kilépnek a normál tartalmi vonalból. */
@media (min-width: 1180px) {
  .service-cards {
    width:min(1280px, calc(100vw - 4rem));
    margin-left:50%;
    transform:translateX(-50%);
    gap:2.25rem;
  }
}


/* =============================
   ZIGZAG SZEKCIÓ – végleges verzió
   Desktop: 1-2 / 3-4 / 5-6
   Mobil:   1,2,4,3,5,6
   2. és 6. cella: balra
   3. cella: jobbra
   Mobilon minden középen
   ============================= */
.zigzag {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: start;
}

/* ===== Mobil sorrend ===== */
@media (max-width: 767px) {
  .zigzag {display: flex; flex-direction: column;}

  .zigzag__item:nth-child(1) { order: 1; }
  .zigzag__item:nth-child(2) { order: 2; }
  .zigzag__item:nth-child(3) { order: 4; } /* 3↔4 csere */
  .zigzag__item:nth-child(4) { order: 3; }
  .zigzag__item:nth-child(5) { order: 5; }
  .zigzag__item:nth-child(6) { order: 6; }
}

/* ===== Képes cellák: tartalom igazítása a cellán belül ===== */
.zigzag__media { margin: 0; overflow: hidden; width: var(--zigzag-media-width, 100%); justify-self: center;}
.zigzag__media img { width: 100%; height: auto; display: block;}

/* BIO képek – finom, egyszeri megérkezés görgetéskor */
#zigzag .zigzag__media.bio-reveal {
  --bio-reveal-x: 0;
  opacity: .26;
  filter: brightness(.58);
  transform: translate3d(var(--bio-reveal-x), 24px, 0) scale(1.03);
  transition: none;
  will-change: opacity, filter, transform;
}

#zigzag.bio-reveal-ready .zigzag__media.bio-reveal {
  transition:
    opacity .75s ease,
    filter .9s ease,
    transform .9s cubic-bezier(.22, 1, .36, 1);
}

#zigzag .zigzag__media.bio-reveal.left  { --bio-reveal-x: -18px; }
#zigzag .zigzag__media.bio-reveal.right { --bio-reveal-x: 18px; }

#zigzag .zigzag__media.bio-reveal.is-visible {
  opacity: 1;
  filter: brightness(1);
  transform: translate3d(0, 0, 0) scale(1);
}

/* Balra / jobbra igazítás desktopon */
.zigzag__media.left  { justify-self: start; }
.zigzag__media.right { justify-self: end; }

/* Mobilon MINDEN középen! */
@media (max-width: 767px) {
  .zigzag__media,
  .zigzag__media.left,
  .zigzag__media.right {
    justify-self: center !important;
    align-self: center !important;
  }

  #zigzag .zigzag__media.bio-reveal,
  #zigzag .zigzag__media.bio-reveal.left,
  #zigzag .zigzag__media.bio-reveal.right {
    --bio-reveal-x: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  #zigzag .zigzag__media.bio-reveal {
    opacity: .3;
    filter: brightness(.62);
    transform: none;
    transition: none;
  }

  #zigzag.bio-reveal-ready .zigzag__media.bio-reveal {
    transition: opacity .55s ease, filter .65s ease;
  }

  #zigzag .zigzag__media.bio-reveal.is-visible {
    opacity: 1;
    filter: brightness(1);
  }
}

/* ===== Szövegcellák ===== */
.zigzag__text {
  padding: 1.25rem;
  text-align: justify;
}


/* Globálisan minden képes cellára: */
#zigzag .zigzag__media{ --zigzag-media-width: 90%; }

/* Vagy cellánként külön: */
#zigzag .zigzag__item:nth-child(2){ --zigzag-media-width: 80%; }
#zigzag .zigzag__item:nth-child(3){ --zigzag-media-width: 80%; }
#zigzag .zigzag__item:nth-child(6){ --zigzag-media-width: 100%; }

/* Mobilos arányok és Safari-kompatibilis kártyamagasság */
@media (max-width:767px){
  .display{
    font-size:clamp(1.75rem, 7.6vw, 2rem);
    line-height:1.08;
  }
  .display-sm{
    font-size:clamp(1.7rem, 7.3vw, 1.98rem);
    line-height:1.08;
  }
  .display-s{
    font-size:clamp(1.55rem, 6.6vw, 1.8rem);
    line-height:1.1;
  }
  .display-xs{ font-size:1.15rem; }
  .lead{ font-size:.9rem; line-height:1.5; }
  .overline{ font-size:.68rem; }
  .section{ padding:4.75rem 0; }
  .section__title{ margin-bottom:2.6rem; }
  .section__title > .overline{
    margin:0 0 -.15rem;
    line-height:1.15;
    transform:translateY(-2px);
  }
  .section__title > h1,
  .section__title > h2,
  .section__title > h3{ margin-block-start:0; }
  .section__title > .muted{
    font-size:.8rem;
    line-height:1.45;
  }
  .hero--half .section__title > .overline{ margin-bottom:-.15rem; }
  .hero--half .section__title > .muted{
    margin-top:.4rem;
    font-size:.78rem;
    line-height:1.4;
  }

  .nav__inner{
    margin-top:calc(env(safe-area-inset-top, 0px) + .55rem);
    padding:.4rem .8rem;
    border-radius:.9rem;
    transition:margin .28s ease, width .28s ease, border-radius .28s ease, background-color .28s ease, border-color .28s ease, box-shadow .28s ease;
  }
  .nav{
    transition:padding-top .28s ease, background-color .28s ease, box-shadow .28s ease;
  }
  .nav.is-scrolled{
    padding-top:env(safe-area-inset-top, 0px);
    background:rgba(15,15,15,.88);
    -webkit-backdrop-filter:blur(20px) saturate(120%);
    backdrop-filter:blur(20px) saturate(120%);
    box-shadow:0 10px 34px rgba(0,0,0,.3);
  }
  .nav.is-scrolled .nav__inner{
    width:calc(100% - 1.25rem);
    margin-top:0;
    padding:.35rem .65rem;
    border-color:transparent;
    border-radius:0 0 .8rem .8rem;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .brand{ font-size:.95rem; }
  .nav__menu{ width:40px; height:40px; }
  .nav__menu-icon{ width:23px; height:16px; }
  .nav__menu-line:nth-child(1){ top:1px; }
  .nav__menu-line:nth-child(2){ top:7px; }
  .nav__menu-line:nth-child(3){ top:13px; }
  .nav__menu[aria-expanded="true"] .nav__menu-line:nth-child(1),
  .nav__menu[aria-expanded="true"] .nav__menu-line:nth-child(3){ top:7px; }

  .hero--half,
  .hero--half .hero__center{ min-height:62svh; }

  .service-cards{ gap:1rem; }
  .service-card{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }
  .service-card__title{ font-size:clamp(1.45rem, 6vw, 1.68rem); }
  .service-card__cta{ margin-top:.55rem; }

  .card__title{ font-size:1.6rem; }
  .card .features li{ font-size:.86rem; }
  .price{ font-size:1.35rem; margin:1rem 0; }
  .card-info{ font-size:.82rem; }
  .card-info .overline{ font-size:.72rem; }
  .package-services{ padding-bottom:1rem; }
  .package-services .card-info{ margin-top:3rem; }
  .package-services + #process{ padding-top:3.25rem; }
  .package-portfolio-strip img{
    flex-basis:min(76vw,290px);
    width:min(76vw,290px);
  }
  .package-portfolio-link .portfolio-more{ margin-top:1.5rem; }

  .process__title{ font-size:1.38rem; }
  .process__item .muted{ font-size:.86rem; }
  .faq summary{ font-size:.88rem; }
  .faq p{ font-size:.84rem; }
  .contact-item{ font-size:.86rem; }
  .about__text .muted,
  .prints .muted{ font-size:.88rem; line-height:1.65; }

  .zigzag{ gap:2rem; }
  .zigzag__text{
    width:100%;
    padding:.35rem .25rem;
    text-align:justify;
    -webkit-hyphens:none;
    hyphens:none;
  }
  .zigzag__text .section__title{ margin-bottom:1.25rem; }
  #zigzag .zigzag__text .muted{
    font-size:.93rem;
    line-height:1.78;
    text-align:justify;
    -webkit-hyphens:none;
    hyphens:none;
  }
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .nav,
  .nav__inner{ transition:none; }
}

/* Az általános mobil hero-szabály után következnek a célzott magasságok. */
@media (max-width:767px){
  .section--gold-divider::before{ width:82vw; }
  .hero--half.portfolio-category-hero,
  .hero--half.portfolio-category-hero .hero__center{ min-height:clamp(340px,47svh,460px); }
  .hero--half.portfolio-series-hero,
  .hero--half.portfolio-series-hero .hero__center{ min-height:clamp(340px,47svh,460px); }
  .portfolio-category-hero + #portfolio{ padding-top:1.5rem; }
  .portfolio-session{ padding-top:.5rem; }
  .hero--half.package-hero,
  .hero--half.package-hero .hero__center{ min-height:clamp(390px,52svh,520px); }
}

/* FINE ART – szerkesztett alkotói oldal ------------------------------------------------------------- */
.fineart-page{ background:var(--bg); }

.fineart-hero,
.fineart-hero .hero__center{ min-height:100svh; }
.fineart-hero .hero__slide{ object-position:50% 12%; }
.fineart-hero .hero__vignette{
  background:linear-gradient(to top,var(--bg) 0%,rgba(15,15,15,.96) 7%,rgba(15,15,15,.3) 48%,rgba(15,15,15,.2) 100%);
}
.fineart-hero .hero__radial{ background:radial-gradient(58% 58% at 50% 48%,transparent,rgba(8,8,7,.56)); }
.fineart-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  height:clamp(120px,20svh,220px);
  background:linear-gradient(to bottom,transparent 0%,rgba(15,15,15,.72) 54%,var(--bg) 100%);
  pointer-events:none;
}
.fineart-hero__title{ margin:0; }
.fineart-hero__title .overline{ margin-bottom:.25rem; }

.fineart-manifesto{ padding-block:clamp(6.5rem,11vw,10rem); }
.fineart-manifesto__inner{ width:min(820px,100% - 2rem); text-align:center; }
.fineart-manifesto__inner .display-sm{ margin:.25rem 0 clamp(2rem,4vw,3rem); }
.fineart-manifesto__inner > p:not(.overline){ margin:0 auto 1.25rem; max-width:68ch; color:var(--muted); font-size:clamp(.93rem,1vw,.98rem); line-height:1.9; }

.fineart-gallery-section{ padding:0 0 clamp(6.5rem,10vw,9rem); }
.fineart-gallery{
  width:min(1560px,calc(100% - 2rem));
  margin-inline:auto;
  columns:3;
  column-gap:clamp(.55rem,1vw,1rem);
}
.fineart-gallery figure{
  margin:0 0 clamp(.55rem,1vw,1rem);
  break-inside:avoid;
  overflow:hidden;
  background:#0a0a09;
}
.fineart-gallery img{
  display:block;
  width:100%;
  height:auto;
  -webkit-user-drag:none;
  -webkit-touch-callout:none;
  user-select:none;
}
.fineart-contact{ padding-top:clamp(6rem,10vw,8rem); }

@media (min-width:1500px){
  .fineart-gallery{ columns:4; }
}

@media (max-width:767px){
  .fineart-hero,
  .fineart-hero .hero__center{ min-height:100svh; }
  .fineart-hero .hero__slide{ object-position:50% 28%; }
  .fineart-manifesto{ padding-block:5.75rem; }
  .fineart-manifesto__inner{ width:calc(100% - 2.5rem); }
  .fineart-manifesto__inner>p:not(.overline){ font-size:.93rem; line-height:1.78; text-align:center; }
  .fineart-gallery-section{ padding-bottom:5.75rem; }
  .fineart-gallery{
    width:calc(100% - 2.5rem);
    columns:2;
    column-gap:.5rem;
  }
  .fineart-gallery figure{ margin-bottom:.5rem; }
}

/* EGYSÉGES PUBLIKUS TIPOGRÁFIA ---------------------------------------------------------------------
   A mobil / tablet / laptop / asztali értékek között folyamatos az átmenet. */
:root{
  --type-display:clamp(30px,calc(19.68px + 2.646vw),40px);
  --type-display-sm:clamp(28px,calc(21.81px + 1.587vw),34px);
  --type-display-s:clamp(24px,calc(19.87px + 1.058vw),28px);
  --type-display-xs:clamp(18px,calc(15.94px + .529vw),20px);
  --type-overline:clamp(12px,calc(9.94px + .529vw),14px);
  --type-lead:clamp(15px,calc(13.97px + .265vw),16px);
  --type-description:15px;
  --gap-overline-title:5px;
  --gap-title-description:clamp(12px,calc(9.94px + .529vw),14px);
  --gap-title-content:clamp(36px,calc(31.87px + 1.058vw),40px);
  --display-line-height:1.08;
  --description-line-height:1.7;
}

@media (min-width:768px){
  :root{
    --type-display:clamp(40px,calc(4px + 4.688vw),52px);
    --type-display-sm:clamp(34px,calc(22px + 1.563vw),38px);
    --type-display-s:clamp(28px,calc(16px + 1.563vw),32px);
    --type-display-xs:clamp(20px,calc(8px + 1.563vw),24px);
    --type-overline:clamp(14px,calc(11px + .391vw),15px);
    --type-lead:clamp(16px,calc(13px + .391vw),17px);
    --type-description:clamp(15px,calc(12px + .391vw),16px);
    --gap-overline-title:5px;
    --gap-title-description:clamp(14px,calc(8px + .781vw),16px);
    --gap-title-content:clamp(40px,calc(28px + 1.563vw),44px);
    --display-line-height:1.05;
  }
}

@media (min-width:1024px){
  :root{
    --type-display:clamp(52px,calc(22.46px + 2.885vw),64px);
    --type-display-sm:clamp(38px,calc(23.23px + 1.442vw),44px);
    --type-display-s:clamp(32px,calc(22.15px + .962vw),36px);
    --type-display-xs:clamp(24px,calc(14.15px + .962vw),28px);
    --type-overline:clamp(15px,calc(12.54px + .24vw),16px);
    --type-lead:clamp(17px,calc(14.54px + .24vw),18px);
    --type-description:16px;
    --gap-overline-title:5px;
    --gap-title-description:16px;
    --gap-title-content:clamp(44px,calc(34.15px + .962vw),48px);
  }
}

.display{
  font-size:var(--type-display);
  line-height:var(--display-line-height);
}
.display-sm{
  font-size:var(--type-display-sm);
  line-height:var(--display-line-height);
}
.display-s{
  font-size:var(--type-display-s);
  line-height:var(--display-line-height);
}
.display-xs{
  font-size:var(--type-display-xs);
  line-height:var(--display-line-height);
}
.lead{
  font-size:var(--type-lead);
  line-height:var(--description-line-height);
}
.overline{
  font-size:var(--type-overline);
  line-height:1.2;
}

h1,
h2{ margin-block:0; }

.section__title{ margin-bottom:var(--gap-title-content); }
.section__title > .overline,
.hero--half .section__title > .overline,
.fineart-hero__title .overline{
  margin:0 0 var(--gap-overline-title);
  transform:none;
}
.hero .section__title > .overline,
.fineart-hero__title .overline{
  margin-bottom:0;
}
.section__title > h1,
.section__title > h2,
.section__title > h3{ margin-block:0; }
.section__title > .muted:not(.small),
.hero--half .section__title > .muted:not(.small){
  font-size:var(--type-description);
  line-height:var(--description-line-height);
}
.section__title > :is(h1,h2,h3) + .muted:not(.small),
.hero--half .section__title > :is(h1,h2,h3) + .muted:not(.small){
  margin-top:var(--gap-title-description);
}
.section__title > .muted.small,
.hero--half .section__title > .muted.small{
  font-size:.85rem;
  line-height:1.5;
}

main p.muted:not(.small),
#zigzag .zigzag__text .muted,
.service-card__desc,
.faq p{
  font-size:var(--type-description);
  line-height:var(--description-line-height);
}
.service-card__title .overline{
  font-size:var(--type-overline);
  font-weight:400;
}
@media (min-width:768px){
  #services .service-card__title{
    font-size:clamp(1.5rem,2vw,1.875rem);
  }
  #services .service-card__title .overline{
    font-size:.8rem;
  }
  #services .service-card__desc{
    font-size:.875rem;
    line-height:1.6;
  }
}
.card-info{
  font-size:calc(var(--type-description) - 1px);
  line-height:1.65;
}
.card-info .overline{
  font-size:calc(var(--type-overline) - 1px);
}
#zigzag .zigzag__text .section__title{ margin-bottom:var(--gap-title-content); }

.fineart-manifesto__inner > .overline{
  margin:0 0 var(--gap-overline-title);
}
.fineart-manifesto__inner .display-sm{
  margin:0 0 var(--gap-title-description);
}
.fineart-manifesto__inner > p:not(.overline){
  font-size:var(--type-description);
  line-height:var(--description-line-height);
}

.legal-heading .overline{
  margin:0 0 var(--gap-overline-title);
  font-size:var(--type-overline);
}
.legal-heading .display-sm{
  font-size:var(--type-display-sm);
  line-height:var(--display-line-height);
}
.legal-copy p,
.legal-copy .describe{
  font-size:var(--type-description);
  line-height:var(--description-line-height);
}
