/* expectations.css */
.expectations {
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: linear-gradient(135deg, #fbf8f3 0%, #f7f2ea 100%);
}
.expectations h2 {
  font-size: clamp(3.25rem, 5vw, 5.5rem);
  line-height: 1;
}
.expectations__header p {
  margin-top: .65rem;
  font: 500 clamp(1rem, 1.35vw, 1.3rem)/1.4 var(--pb-font-body);
}
.expectations__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 3vw, 2.75rem);
}
.expectation-card {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(19rem, 24vw, 22rem);
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: none;
  color: var(--pb-text);
  text-align: center;
  cursor: pointer;
  perspective: 1200px;
  -webkit-tap-highlight-color: transparent;
}
.expectation-card__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}
.expectation-card[aria-pressed="true"] .expectation-card__inner { transform: rotateY(180deg); }
.expectation-card__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1.5rem 5.8rem;
  overflow: hidden;
  border: 1px solid #dbc8aa;
  border-radius: 1rem;
  background: #fcf9f4;
  box-shadow: 0 1rem 2.1rem rgba(63, 48, 29, .08);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.expectation-card__face--back {
  gap: .7rem;
  border-color: #263b2b;
  background: linear-gradient(145deg, #263b2b, #17291e);
  color: #faf7ef;
  transform: rotateY(180deg);
}
.expectation-card__question {
  display: block;
  max-width: 15rem;
  font: 600 clamp(2rem, 2.6vw, 2.8rem)/.98 var(--pb-font-heading);
  letter-spacing: -.035em;
}
.expectation-card__flip {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 1.1rem;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  font: 500 .85rem/1.2 var(--pb-font-body);
}
.expectation-card__flip-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: #a57a42;
  font: 400 2rem/1 var(--pb-font-body);
}
.expectation-card__back-lead {
  display: block;
  color: #d5a761;
  font: 600 clamp(1.55rem, 1.9vw, 2rem)/1.05 var(--pb-font-heading);
}
.expectation-card__back-copy {
  display: block;
  font: 500 clamp(.94rem, 1.05vw, 1.08rem)/1.48 var(--pb-font-body);
}
.expectation-card__face--back .expectation-card__flip-icon { color: #d5a761; }
.expectation-card--photo .expectation-card__face--front { padding: 0; }
.expectation-card--photo .expectation-card__face--front::after {
  position: absolute;
  inset: 55% 0 0;
  content: "";
  background: linear-gradient(transparent, rgba(14, 24, 17, .66));
  pointer-events: none;
}
.expectation-card__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
}
.expectation-card--photo .expectation-card__face--front .expectation-card__flip {
  color: #fff;
}
.expectation-card--photo .expectation-card__face--front .expectation-card__flip-icon { color: #fff; }
.expectation-card:hover .expectation-card__face,
.expectation-card:focus-visible .expectation-card__face {
  box-shadow: 0 1.3rem 2.4rem rgba(63, 48, 29, .16);
}
@media (max-width: 1100px) {
  .expectations__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expectation-card { height: 22rem; }
  .expectation-card__question { max-width: 19rem; }
}
@media (max-width: 600px) {
  .expectations { padding-block: 4rem; }
  .expectations h2 { font-size: clamp(2.7rem, 10vw, 3.8rem); }
  .expectations__cards { grid-template-columns: 1fr; gap: .9rem; }
  .expectation-card { height: 21rem; }
  .expectation-card__question { max-width: 18rem; font-size: 2.65rem; }
  .expectation-card__back-copy { max-width: 20rem; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .expectation-card__inner { transition: none; }
}


/* dream-wedding.css */
/* Magatokra ismertek? — új szöveges blokk a jó lagzi videómegjelenésével. */
.dream-wedding {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  --dream-phone-scale: .5;
  background: var(--pb-ivory-light);
  padding-block: clamp(4.5rem, 7vw, 8rem);
}
.dream-wedding::before {
  position: absolute;
  z-index: -1;
  right: -18rem;
  bottom: -17rem;
  width: 52rem;
  aspect-ratio: 1;
  content: "";
  background: url('assets/optimized/olive-branch-left.webp') center/contain no-repeat;
  opacity: .1;
  filter: grayscale(1) sepia(.35) blur(10px);
  transform: rotate(127deg);
  pointer-events: none;
}
.dream-wedding__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(25rem, .87fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}
.dream-wedding__copy { max-width: 47rem; }
.dream-wedding__rule {
  display: block;
  width: 4.75rem;
  height: 2px;
  margin-bottom: 1.8rem;
  background: var(--pb-gold);
}
.dream-wedding h2 {
  font-size: clamp(1.8rem, 2.35vw, 2.65rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.dream-wedding h2 span { color: var(--pb-gold); }
.dream-wedding__copy > p {
  max-width: 46rem;
  margin-top: clamp(1.15rem, 1.75vw, 1.55rem);
  font-size: clamp(1rem, 1.12vw, 1.14rem);
  line-height: 1.5;
}
.dream-wedding__copy > .dream-wedding__eyebrow {
  margin: 0 0 .55rem;
  color: var(--pb-text);
  font: 600 clamp(3.2rem, 4.25vw, 5rem)/.98 var(--pb-font-heading);
  letter-spacing: -.04em;
}
.dream-wedding__copy strong { color: var(--pb-gold); font-weight: 700; }
.dream-wedding__conclusion {
  margin-top: clamp(1.5rem, 2.3vw, 2rem);
  padding: clamp(1.4rem, 2.1vw, 1.85rem) clamp(1.5rem, 2.4vw, 2.2rem);
  border-left: 3px solid #b38d58;
  border-radius: .75rem;
  background: linear-gradient(110deg, #303a2b, #1f291f);
  color: var(--pb-ivory-light);
  box-shadow: 0 1rem 2rem rgba(34, 39, 28, .15);
  font: 500 clamp(1.45rem, 1.8vw, 1.85rem)/1.15 var(--pb-font-heading);
}
.dream-wedding__conclusion p + p { margin-top: .55rem; }
.dream-wedding__conclusion strong { color: #d4aa6c; font-size: inherit; font-weight: 600; }
.dream-wedding__conclusion p:first-child strong { color: inherit; }
.dream-wedding__media {
  position: relative;
  display: grid;
  min-height: clamp(36rem, 51vw, 47rem);
  place-items: center;
}
.dream-wedding__halo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(27rem, 34vw, 38rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 43% 36%, #f3eadb 0%, #ead9bc 61%, #ddc7a5 100%);
  transform: translate(-50%, -50%);
  animation: dream-wedding-halo 5.5s ease-in-out infinite;
}
.dream-wedding__phone {
  position: relative;
  z-index: 1;
  width: min(100%, 25rem);
  aspect-ratio: 9/16;
  padding: .55rem;
  border: 4px solid #2e2e2b;
  border-radius: 2.25rem;
  background: #171715;
  box-shadow: 0 1.75rem 2.4rem rgba(52, 42, 26, .25), inset 0 0 0 2px rgba(255, 255, 255, .33);
  transform: scale(var(--dream-phone-scale));
  transform-origin: center;
}
.dream-wedding__phone::before {
  position: absolute;
  z-index: 2;
  top: .45rem;
  left: 50%;
  width: 34%;
  height: .35rem;
  border-radius: 99px;
  content: "";
  background: #1a1a18;
  transform: translateX(-50%);
  pointer-events: none;
}
.dream-wedding__phone iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 1.62rem;
  background: #1a1a18;
}
@keyframes dream-wedding-halo {
  0%, 100% { transform: translate(-50%, -50%) scale(.94); filter: brightness(.78); opacity: .78; }
  50% { transform: translate(-50%, -50%) scale(1.06); filter: brightness(1.12); opacity: 1; }
}
.dream-wedding--traditions::before { right: auto; left: -18rem; transform: scaleX(-1) rotate(127deg); }
.dream-wedding--traditions .dream-wedding__grid { grid-template-columns: minmax(25rem, .87fr) minmax(0, 1.13fr); }
.dream-wedding--traditions .dream-wedding__media { grid-column: 1; grid-row: 1; }
.dream-wedding--traditions .dream-wedding__copy { grid-column: 2; grid-row: 1; max-width: 47rem; }
.dream-wedding--traditions h2 { font-size: clamp(3rem, 4.3vw, 5rem); line-height: .98; letter-spacing: -.045em; }
@media (max-width: 991px) {
  .dream-wedding__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .dream-wedding__copy { max-width: 48rem; }
  .dream-wedding__media { min-height: 36rem; }
  .dream-wedding__phone { width: min(100%, 23rem); }
  .dream-wedding--traditions .dream-wedding__grid { grid-template-columns: 1fr; }
  .dream-wedding--traditions .dream-wedding__copy,
  .dream-wedding--traditions .dream-wedding__media { grid-column: auto; grid-row: auto; }
}
@media (max-width: 575px) {
  .dream-wedding { padding-block: 4rem; }
  .dream-wedding h2 { font-size: clamp(1.65rem, 6.5vw, 2.15rem); }
  .dream-wedding__copy > p { font-size: 1rem; }
  .dream-wedding__copy > .dream-wedding__eyebrow { font-size: clamp(3.1rem, 11vw, 4rem); }
  .dream-wedding__conclusion { padding: 1.3rem 1.25rem; font-size: 1.5rem; }
  .dream-wedding__media { min-height: 29rem; }
  .dream-wedding__phone { width: min(100%, 19rem); border-radius: 1.8rem; }
  .dream-wedding__phone iframe { border-radius: 1.25rem; }
  .dream-wedding__halo { width: min(calc(100vw - 2.5rem), 26rem); }
  .dream-wedding--traditions h2 { font-size: clamp(2.15rem, 11vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .dream-wedding { --dream-phone-scale: 1; }
  .dream-wedding__halo { animation: none; }
}


/* dream-ideas.css */
.dream-wedding--ideas {
  background: linear-gradient(135deg, #eee7dc 0%, #f7f1e8 48%, #eae2d4 100%);
}
.dream-wedding--ideas .dream-wedding__copy {
  width: 100%;
  max-width: none;
}
.dream-wedding--ideas .dream-wedding__rule {
  width: 4.6rem;
  margin-bottom: 2.2rem;
}
.dream-wedding--ideas h2 {
  font-size: clamp(3.15rem, 4.45vw, 5.45rem);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.045em;
}
.dream-wedding--ideas h2 span { color: #9c713b; }
.dream-wedding--ideas .dream-ideas__description {
  max-width: 38rem;
  margin-top: clamp(2.4rem, 4vw, 3.7rem);
  color: #1c2921;
  font: 500 clamp(1.2rem, 1.75vw, 1.7rem)/1.4 var(--pb-font-body);
  letter-spacing: -.025em;
}
.dream-wedding--ideas .dream-ideas__description strong {
  color: inherit;
  font-weight: 600;
}
.dream-ideas__visual {
  position: relative;
  height: clamp(11.5rem, 19vw, 17rem);
  margin-top: 1.15rem;
}
.dream-ideas__lego {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: clamp(12rem, 20vw, 18rem);
  height: auto;
  filter: drop-shadow(0 .9rem .8rem rgba(53, 46, 32, .16));
}
.dream-ideas__arrow {
  position: absolute;
  z-index: 2;
  top: -.7rem;
  left: 42%;
  width: 85%;
  height: clamp(7rem, 11vw, 10rem);
  overflow: visible;
  color: #ad8049;
  pointer-events: none;
}
.dream-ideas__arrow-line,
.dream-ideas__arrow-tip {
  fill: none;
  stroke: currentColor;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.dream-ideas__arrow-line {
  stroke-dasharray: 500;
  animation: dream-ideas-draw 4.4s ease-in-out infinite;
}
.dream-ideas__arrow-tip {
  animation: dream-ideas-tip 4.4s ease-in-out infinite;
}
.dream-wedding--ideas .dream-wedding__phone {
  transform: none;
  opacity: 1;
}
.dream-wedding--ideas.dream-wedding--enhanced .dream-wedding__phone {
  transform: translate3d(var(--dream-phone-offset, 15rem), 0, 0);
  opacity: var(--dream-phone-opacity, 0);
  will-change: transform, opacity;
}
@keyframes dream-ideas-draw {
  0%, 8% { stroke-dashoffset: 500; opacity: .15; }
  48%, 76% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: .15; }
}
@keyframes dream-ideas-tip {
  0%, 36% { opacity: 0; }
  50%, 76% { opacity: 1; }
  100% { opacity: 0; }
}
@media (max-width: 1199px) and (min-width: 992px) {
  .dream-wedding--ideas h2 { font-size: clamp(2.8rem, 4.3vw, 4rem); }
  .dream-wedding--ideas .dream-ideas__description { font-size: 1.25rem; }
}
@media (max-width: 991px) {
  .dream-wedding--ideas .dream-wedding__copy { max-width: 48rem; }
  .dream-wedding--ideas h2 { font-size: clamp(3rem, 7vw, 4.9rem); }
  .dream-ideas__visual { height: 14rem; }
  .dream-ideas__lego { left: 0; width: 15rem; }
  .dream-ideas__arrow { left: 30%; width: 67%; transform: rotate(28deg); }
}
@media (max-width: 575px) {
  .dream-wedding--ideas h2 { font-size: clamp(2.8rem, 10vw, 3.55rem); }
  .dream-wedding--ideas .dream-wedding__rule { margin-bottom: 1.5rem; }
  .dream-wedding--ideas .dream-ideas__description { margin-top: 2rem; font-size: 1.1rem; }
  .dream-ideas__visual { height: 12rem; }
  .dream-ideas__lego { left: 0; width: 11.5rem; }
  .dream-ideas__arrow { top: .5rem; left: 46%; width: 88%; height: 6rem; transform: rotate(32deg); }
}
@media (prefers-reduced-motion: reduce) {
  .dream-wedding--ideas .dream-wedding__phone,
  .dream-wedding--ideas.dream-wedding--enhanced .dream-wedding__phone { transform: none; opacity: 1; will-change: auto; }
  .dream-ideas__arrow-line { animation: none; stroke-dashoffset: 0; opacity: 1; }
  .dream-ideas__arrow-tip { animation: none; opacity: 1; }
}


/* photo-bridge.css */
.photo-bridge-sequence {
  position: relative;
  isolation: isolate;
}

.photo-bridge {
  position: sticky;
  z-index: 1;
  top: 4.0625rem;
  width: 100%;
  height: calc(100svh - 4.0625rem);
  overflow: hidden;
  background: #17251c;
}

.photo-bridge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.photo-bridge-sequence > .dream-wedding--ideas {
  position: relative;
  z-index: 2;
  margin-top: 0;
  border-radius: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3rem) 0 0;
  box-shadow: 0 -1.25rem 2.75rem rgba(29, 37, 26, .13);
}

.photo-bridge--noemi-ricsi {
  background: #17251c;
}

.photo-bridge--noemi-ricsi img { object-fit: cover; object-position: center top; }

.photo-bridge-sequence--selling > .selling-points {
  position: relative;
  z-index: 2;
  border-radius: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3rem) 0 0;
  box-shadow: 0 -1.25rem 2.75rem rgba(29, 37, 26, .13);
}

@media (max-width: 767px) {
  .photo-bridge {
    display: grid;
    place-items: center;
  }

  .photo-bridge::before {
    position: absolute;
    inset: -2rem;
    content: "";
    background: url("assets/optimized/kitti-akos-testimonial.webp") center / cover no-repeat;
    filter: blur(1.5rem) brightness(.55);
  }

  .photo-bridge img {
    position: relative;
    width: 100%;
    height: auto;
  }

  .photo-bridge--noemi-ricsi {
    background: #17251c;
  }

  .photo-bridge--noemi-ricsi::before {
    background: url("assets/noemi-ricsi-ceremony.webp") center / cover no-repeat;
  }

  .photo-bridge--noemi-ricsi img { object-fit: contain; }
}


/* traditions.css */
.dream-wedding--traditions {
  background: #fffdfa;
}
.dream-wedding--traditions .dream-wedding__copy {
  width: 100%;
  max-width: 47rem;
}
.dream-wedding--traditions .dream-wedding__rule {
  width: 4.75rem;
  height: 2px;
  margin-bottom: 1.75rem;
}
.dream-wedding--traditions .traditions__title {
  font-size: clamp(2.9rem, 4.45vw, 4rem);
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.035em;
}
.dream-wedding--traditions .traditions__title span {
  color: var(--pb-gold);
}
.dream-wedding--traditions .traditions__subtitle {
  margin-top: clamp(1.5rem, 2.2vw, 2.2rem);
  color: var(--pb-text);
  font: 600 clamp(1.1rem, 1.45vw, 1.5rem)/1.42 var(--pb-font-body);
  letter-spacing: -.025em;
}
.traditions__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(1.8rem, 2.7vw, 2.6rem);
}
.tradition-card {
  position: relative;
  display: block;
  width: 100%;
  height: 11.75rem;
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: none;
  color: var(--pb-text);
  text-align: left;
  cursor: pointer;
  perspective: 1200px;
  -webkit-tap-highlight-color: transparent;
}
.tradition-card--wide {
  grid-column: 1 / -1;
  height: 11.75rem;
}
.tradition-card__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}
.tradition-card[aria-pressed="true"] .tradition-card__inner {
  transform: rotateY(180deg);
}
.tradition-card__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(151, 120, 77, .2);
  border-radius: 1rem;
  background: #faf7f2;
  box-shadow: 0 1rem 2rem rgba(65, 52, 34, .08);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.tradition-card__face--back {
  justify-content: center;
  background: #f3ecdf;
  transform: rotateY(180deg);
}
.tradition-card__icon {
  display: grid;
  width: 3.9rem;
  height: 3.9rem;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: #f3e7d4;
  color: #a87a3e;
}
.tradition-card__icon svg {
  width: 2.4rem;
  height: 2.4rem;
}
.tradition-card__heading,
.tradition-card__back-title {
  display: block;
  font: 600 clamp(1.5rem, 1.85vw, 2rem)/1.03 var(--pb-font-heading);
  letter-spacing: -.035em;
}
.tradition-card__face--front .tradition-card__heading {
  margin-top: auto;
  max-width: calc(100% - 2.9rem);
}
.tradition-card__arrow {
  position: absolute;
  right: 1.1rem;
  bottom: 1.1rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: #f3e7d4;
  color: #19271e;
  font: 400 2.1rem/1 var(--pb-font-heading);
}
.tradition-card__back-copy {
  display: block;
  max-width: 25rem;
  margin-top: .7rem;
  font: 500 clamp(.85rem, .99vw, 1rem)/1.43 var(--pb-font-body);
}
.tradition-card--wide .tradition-card__face {
  padding: 1.4rem 1.7rem;
  border-color: #233a2c;
  background: linear-gradient(120deg, #223a2a, #182d21);
  color: #faf7ef;
}
.tradition-card--wide .tradition-card__face--back {
  background: #304434;
}
.tradition-card--wide .tradition-card__rule {
  display: block;
  width: 3rem;
  height: 2px;
  margin-bottom: auto;
  background: #c39454;
}
.tradition-card--wide .tradition-card__heading {
  margin-top: 0;
  max-width: calc(100% - 3.5rem);
  font-size: clamp(2.4rem, 3.1vw, 3.3rem);
}
.tradition-card--wide .tradition-card__front-copy {
  display: block;
  max-width: calc(100% - 3.5rem);
  margin-top: .4rem;
  font: 500 clamp(.95rem, 1.13vw, 1.15rem)/1.4 var(--pb-font-body);
}
.tradition-card--wide .tradition-card__heading em {
  color: inherit;
  font-style: normal;
}
.tradition-card--wide .tradition-card__arrow {
  background: #f3d9ac;
}
.tradition-card--wide .tradition-card__back-copy {
  max-width: 39rem;
  margin-top: 0;
  font: 500 clamp(1.45rem, 2vw, 2rem)/1.15 var(--pb-font-heading);
}
.tradition-card:hover .tradition-card__face,
.tradition-card:focus-visible .tradition-card__face {
  box-shadow: 0 1.25rem 2.4rem rgba(65, 52, 34, .16);
}
@media (max-width: 991px) {
  .dream-wedding--traditions .dream-wedding__media { grid-row: 1; }
  .dream-wedding--traditions .dream-wedding__copy { grid-row: 2; }
  .dream-wedding--traditions .dream-wedding__copy { max-width: 48rem; }
}
@media (max-width: 575px) {
  .dream-wedding--traditions .traditions__title { font-size: clamp(2.2rem, 9vw, 3.1rem); }
  .dream-wedding--traditions .traditions__subtitle { font-size: 1rem; }
  .traditions__cards { grid-template-columns: 1fr; gap: .85rem; }
  .tradition-card { height: 11rem; }
  .tradition-card:nth-child(2) { height: 12rem; }
  .tradition-card--wide { grid-column: auto; height: 16.5rem; }
  .tradition-card__back-copy { max-width: none; font-size: .9rem; }
  .tradition-card--wide .tradition-card__heading { font-size: 2.65rem; }
  .tradition-card--wide .tradition-card__back-copy { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .tradition-card__inner { transition-duration: .01ms; }
}


/* good-party.css */
/* Milyen egy igazán jó lagzi? */
.good-party{position:relative;isolation:isolate;overflow:hidden;background:var(--pb-ivory-light);padding-block:clamp(4.5rem,7vw,8rem)}
.good-party__olive{position:absolute;z-index:-1;right:-18rem;top:-20rem;width:50rem;opacity:.1;filter:grayscale(1) sepia(.35) blur(10px);transform:rotate(127deg);pointer-events:none}
.good-party__grid{display:grid;grid-template-columns:minmax(25rem,.87fr) minmax(0,1.13fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.good-party__media{grid-column:1;grid-row:1}.good-party__copy{grid-column:2;grid-row:1}
.good-party__copy{max-width:47rem}.good-party__rule{display:block;width:4.75rem;height:2px;margin-bottom:1.8rem;background:var(--pb-gold)}
.good-party h2{font-size:clamp(3rem,4.5vw,5.25rem);line-height:1.01}.good-party h2 span,.good-party__lead,.good-party strong{color:var(--pb-gold);font-weight:600}
.good-party__copy>p{max-width:45rem;margin-top:clamp(1.25rem,2vw,1.75rem);font-size:clamp(1rem,1.3vw,1.28rem);line-height:1.52}.good-party__copy>.good-party__lead{max-width:46rem;font:500 clamp(1.9rem,2.55vw,2.85rem)/1.13 var(--pb-font-heading);letter-spacing:-.02em}
.good-party__callout{max-width:47rem;margin-top:clamp(2rem,3.5vw,3rem);padding:1.5rem 2rem;border-radius:.75rem;border-left:3px solid var(--pb-gold-on-dark);background:linear-gradient(110deg,#303a2b,#1f291f);color:var(--pb-ivory-light);box-shadow:0 1rem 2rem rgba(34,39,28,.15)}
.good-party__callout p{font:500 clamp(1.8rem,2.25vw,2.55rem)/1.1 var(--pb-font-heading)}.good-party__callout p span{display:block;margin-top:.12em;color:var(--pb-gold-on-dark)}.good-party__callout small{display:block;margin-top:.8rem;font-size:clamp(.92rem,1.1vw,1.06rem);line-height:1.5}.good-party__callout strong{color:inherit;font-weight:600}
.good-party__media{position:relative;display:grid;place-items:center;min-height:clamp(36rem,51vw,47rem)}.good-party__halo{position:absolute;top:50%;left:50%;width:min(clamp(27rem,34vw,38rem),calc(100vw - 3rem));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 43% 36%,#f3eadb 0%,#ead9bc 61%,#ddc7a5 100%);transform:translate(-50%,-50%);animation:good-party-halo 5.5s ease-in-out infinite}
.good-party__phone{position:relative;z-index:1;width:min(100%,25rem);aspect-ratio:9/16;padding:.55rem;border:4px solid #2e2e2b;border-radius:2.25rem;background:#171715;box-shadow:0 1.75rem 2.4rem rgba(52,42,26,.25),inset 0 0 0 2px rgba(255,255,255,.33)}.good-party--enhanced .good-party__phone{opacity:var(--party-phone-opacity,0);transform:translate3d(var(--party-phone-offset,-15rem),0,0);will-change:transform,opacity}.good-party__phone::before{content:'';position:absolute;z-index:2;top:.45rem;left:50%;width:34%;height:.35rem;border-radius:99px;background:#1a1a18;transform:translateX(-50%);pointer-events:none}.good-party__phone iframe{display:block;width:100%;height:100%;border:0;border-radius:1.62rem;background:#1a1a18}
@keyframes good-party-halo{0%,100%{transform:translate(-50%,-50%) scale(.94);filter:brightness(.78);opacity:.78}50%{transform:translate(-50%,-50%) scale(1.06);filter:brightness(1.12);opacity:1}}
@media(max-width:991px){.good-party__grid{grid-template-columns:1fr;gap:3.5rem}.good-party__copy{grid-column:auto;grid-row:auto;max-width:48rem}.good-party__media{grid-column:auto;grid-row:auto;min-height:36rem}.good-party__phone{width:min(100%,23rem)}}
@media(max-width:575px){.good-party{padding-block:4rem}.good-party h2{font-size:3rem}.good-party__copy>p{font-size:1rem}.good-party__copy>.good-party__lead{font-size:2rem}.good-party__callout{padding:1.35rem 1.25rem}.good-party__callout p{font-size:2rem}.good-party__media{min-height:29rem;margin-inline:-.5rem}.good-party__phone{width:min(100%,19rem);border-radius:1.8rem}.good-party__phone iframe{border-radius:1.25rem}.good-party__halo{width:min(calc(100vw - 2.5rem),26rem)}}
@media(prefers-reduced-motion:reduce){.good-party--enhanced .good-party__phone{opacity:1;transform:none;will-change:auto}.good-party__halo{animation:none}}


/* good-party-tiles-20261005.css */
.good-party__intro {
  max-width: 45rem;
  margin-top: 1.4rem;
  font: 500 clamp(1rem, 1.28vw, 1.22rem)/1.5 var(--pb-font-body);
}
.good-party__intro p + p { margin-top: .45rem; }
.good-party__tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1.7rem;
}
.good-party-tile {
  position: relative;
  display: block;
  width: 100%;
  height: 11.75rem;
  padding: 0;
  border: 0;
  border-radius: 1.1rem;
  background: none;
  color: var(--pb-text);
  text-align: left;
  cursor: pointer;
  perspective: 1100px;
  -webkit-tap-highlight-color: transparent;
}
.good-party-tile__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}
.good-party-tile[aria-pressed="true"] .good-party-tile__inner { transform: rotateY(180deg); }
.good-party-tile__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid #e7ddd0;
  border-radius: 1.1rem;
  background: #faf7f2;
  box-shadow: 0 .8rem 1.7rem rgba(55, 46, 33, .08);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.good-party-tile__face--back {
  justify-content: center;
  background: #f3ede3;
  transform: rotateY(180deg);
}
.good-party-tile__title {
  display: block;
  max-width: 100%;
  margin-top: auto;
  color: #19251c;
  font: 600 clamp(1.7rem, 1.9vw, 2.1rem)/1.02 var(--pb-font-heading);
  letter-spacing: -.025em;
}
.good-party-tile__face--front .good-party-tile__title { padding-right: 2.9rem; }
.good-party-tile__icon {
  display: grid;
  width: 3.75rem;
  height: 3.75rem;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: #f4e8d4;
  color: #9b713c;
}
.good-party-tile__icon svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.good-party-tile__symbol {
  position: absolute;
  right: 1rem;
  bottom: .9rem;
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border-radius: 50%;
  background: #f4e8d4;
  color: #19251c;
  font: 500 2rem/1 var(--pb-font-heading);
}
.good-party-tile__back-copy {
  display: block;
  font: 500 clamp(.88rem, .97vw, 1.02rem)/1.4 var(--pb-font-body);
}
.good-party-tile--contact {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 1.25rem;
  border-radius: 1.1rem;
  background: linear-gradient(125deg, #26382b, #17281d);
  box-shadow: 0 .9rem 1.8rem rgba(36, 43, 31, .14);
  text-decoration: none;
}
.good-party-tile--contact .good-party-tile__title {
  max-width: 17rem;
  padding-right: 1rem;
  color: var(--pb-ivory-light);
}
.good-party-tile--contact .good-party-tile__icon {
  background: #405541;
  color: #f1d6a6;
}
.good-party-tile__contact-arrow {
  position: absolute;
  right: 1.15rem;
  bottom: .9rem;
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border-radius: 50%;
  background: #f4e8d4;
  color: #19251c;
  font: 400 1.55rem/1 var(--pb-font-body);
}
.good-party-tile--contact:hover,
.good-party-tile--contact:focus-visible { background: #354a38; }
.good-party-tile:hover .good-party-tile__face,
.good-party-tile:focus-visible .good-party-tile__face { box-shadow: 0 1rem 2rem rgba(55, 46, 33, .13); }
#kapcsolat-urlap { scroll-margin-top: 5rem; }
@media (min-width: 992px) {
  .good-party__grid { align-items: stretch; }
  .good-party__media { min-height: 0; place-items: start center; }
  .good-party__copy { position: relative; display: flex; flex-direction: column; }
  .good-party__tiles { flex: 1; grid-template-rows: repeat(2, minmax(0, 1fr)); }
  .good-party-tile { height: 100%; min-height: 11rem; }
  .good-party__rule { position: absolute; top: -2rem; left: 0; margin: 0; }
}
@media (max-width: 1199px) and (min-width: 992px) {
  .good-party-tile__face,
  .good-party-tile--contact { padding-inline: 1.1rem; }
}
@media (max-width: 640px) {
  .good-party__tiles { grid-template-columns: 1fr; }
  .good-party-tile { height: 11.75rem; }
  .good-party-tile__face,
  .good-party-tile--contact { padding: 1.25rem; }
}
@media (max-width: 375px) {
  .good-party-tile { height: 12.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .good-party-tile__inner { transition-duration: .01ms; }
}


/* wedding-games-20261005.css */
/* Játékok — megfordítható kártyák és pulzáló korong a videó mögött. */
.wedding-games {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #eee7dc 0%, #f7f1e8 48%, #eae2d4 100%);
  padding-block: clamp(4.5rem, 7vw, 7.5rem);
}
.wedding-games::before {
  position: absolute;
  z-index: -1;
  top: -14rem;
  right: -16rem;
  width: min(58vw, 54rem);
  aspect-ratio: 1;
  content: "";
  background: url('assets/optimized/olive-shadow-top.webp') center / contain no-repeat;
  opacity: .12;
  filter: grayscale(1) sepia(.3) blur(12px);
  transform: rotate(130deg);
  pointer-events: none;
}
.wedding-games__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(24rem, .82fr);
  align-items: start;
  gap: clamp(3rem, 6vw, 7rem);
}
.wedding-games__copy { width: 100%; max-width: 47rem; }
.wedding-games__rule {
  display: block;
  width: 4.75rem;
  height: 2px;
  margin-bottom: 1.75rem;
  background: var(--pb-gold);
}
.wedding-games h2 {
  font-size: clamp(2.9rem, 4.45vw, 4rem);
  line-height: .99;
  letter-spacing: -.035em;
}
.wedding-games h2 span { color: var(--pb-gold); }
.wedding-games__copy > .wedding-games__lead {
  margin-top: clamp(1.5rem, 2.2vw, 2.2rem);
  font: 600 clamp(1.1rem, 1.45vw, 1.5rem)/1.42 var(--pb-font-body);
  letter-spacing: -.025em;
}
.wedding-games__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(1.8rem, 2.7vw, 2.6rem);
}
.wedding-game-card {
  position: relative;
  display: block;
  width: 100%;
  height: 11.75rem;
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: none;
  color: var(--pb-text);
  text-align: left;
  cursor: pointer;
  perspective: 1200px;
  -webkit-tap-highlight-color: transparent;
}
.wedding-game-card--wide { grid-column: 1 / -1; height: 11.75rem; }
.wedding-game-card__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}
.wedding-game-card[aria-pressed="true"] .wedding-game-card__inner { transform: rotateY(180deg); }
.wedding-game-card__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(151, 120, 77, .2);
  border-radius: 1rem;
  background: #faf7f2;
  box-shadow: 0 1rem 2rem rgba(65, 52, 34, .08);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.wedding-game-card__face--back {
  justify-content: center;
  background: #f3ecdf;
  transform: rotateY(180deg);
}
.wedding-game-card__icon {
  display: grid;
  width: 3.9rem;
  height: 3.9rem;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: #f3e7d4;
  color: #a87a3e;
}
.wedding-game-card__icon svg {
  width: 2.4rem;
  height: 2.4rem;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding-game-card__title {
  display: block;
  max-width: calc(100% - 2.9rem);
  margin-top: auto;
  font: 600 clamp(1.5rem, 1.85vw, 2rem)/1.03 var(--pb-font-heading);
  letter-spacing: -.035em;
}
.wedding-game-card__arrow {
  position: absolute;
  right: 1.1rem;
  bottom: 1.1rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: #f3e7d4;
  color: #19271e;
  font: 400 2.1rem/1 var(--pb-font-heading);
}
.wedding-game-card__back-copy {
  display: block;
  font: 500 clamp(.85rem, .99vw, 1rem)/1.43 var(--pb-font-body);
}
.wedding-game-card--wide .wedding-game-card__face {
  padding: 1.4rem 1.7rem;
  border-color: #233a2c;
  background: linear-gradient(120deg, #223a2a, #182d21);
  color: #faf7ef;
}
.wedding-game-card--wide .wedding-game-card__face--back { background: #304434; }
.wedding-game-card--wide .wedding-game-card__rule {
  display: block;
  width: 3rem;
  height: 2px;
  margin-bottom: auto;
  background: #c39454;
}
.wedding-game-card--wide .wedding-game-card__title {
  max-width: calc(100% - 3.5rem);
  margin-top: 0;
  font-size: clamp(2.4rem, 3.1vw, 3.3rem);
}
.wedding-game-card--wide .wedding-game-card__front-copy {
  display: block;
  max-width: calc(100% - 3.5rem);
  margin-top: .4rem;
  font: 500 clamp(.95rem, 1.13vw, 1.15rem)/1.4 var(--pb-font-body);
}
.wedding-game-card--wide .wedding-game-card__arrow { background: #f3d9ac; }
.wedding-game-card--wide .wedding-game-card__back-copy {
  max-width: 39rem;
  font: 500 clamp(1.45rem, 2vw, 2rem)/1.15 var(--pb-font-heading);
}
.wedding-game-card:hover .wedding-game-card__face,
.wedding-game-card:focus-visible .wedding-game-card__face { box-shadow: 0 1.25rem 2.4rem rgba(65, 52, 34, .16); }
.wedding-games__media {
  position: relative;
  display: grid;
  min-height: 0;
  place-items: start center;
}
.wedding-games__halo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(clamp(26rem, 33vw, 36rem), calc(100vw - 3rem));
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 43% 36%, #f3eadb 0%, #ead9bc 61%, #ddc7a5 100%);
  transform: translate(-50%, -50%);
  animation: wedding-games-halo 5.5s ease-in-out infinite;
}
.wedding-games__phone {
  position: relative;
  z-index: 1;
  width: min(100%, 24rem);
  aspect-ratio: 9 / 16;
  padding: .55rem;
  border: 4px solid #2e2e2b;
  border-radius: 2.25rem;
  background: #171715;
  box-shadow: 0 1.75rem 2.4rem rgba(52, 42, 26, .25), inset 0 0 0 2px rgba(255, 255, 255, .33);
}
.wedding-games--enhanced .wedding-games__phone {
  opacity: var(--games-phone-opacity, 0);
  transform: translate3d(var(--games-phone-offset, 15rem), 0, 0);
  will-change: transform, opacity;
}
.wedding-games__phone::before {
  position: absolute;
  z-index: 2;
  top: .45rem;
  left: 50%;
  width: 34%;
  height: .35rem;
  border-radius: 99px;
  content: "";
  background: #1a1a18;
  transform: translateX(-50%);
  pointer-events: none;
}
.wedding-games__phone iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 1.62rem;
  background: #1a1a18;
}
@keyframes wedding-games-halo {
  0%, 100% { transform: translate(-50%, -50%) scale(.94); filter: brightness(.78); opacity: .78; }
  50% { transform: translate(-50%, -50%) scale(1.06); filter: brightness(1.12); opacity: 1; }
}
@media (max-width: 991px) {
  .wedding-games__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .wedding-games__copy { max-width: 48rem; }
  .wedding-games__media { min-height: 36rem; }
  .wedding-games__phone { width: min(100%, 22rem); }
}
@media (max-width: 575px) {
  .wedding-games { padding-block: 4rem; }
  .wedding-games h2 { font-size: clamp(2.2rem, 9vw, 3.1rem); }
  .wedding-games__copy > .wedding-games__lead { font-size: 1rem; }
  .wedding-games__cards { grid-template-columns: 1fr; gap: .85rem; }
  .wedding-game-card { height: 11rem; }
  .wedding-game-card:nth-child(2) { height: 13rem; }
  .wedding-game-card--wide { grid-column: auto; height: 12rem; }
  .wedding-game-card__back-copy { font-size: .9rem; }
  .wedding-game-card--wide .wedding-game-card__title { font-size: 2.65rem; }
  .wedding-game-card--wide .wedding-game-card__back-copy { font-size: 1.6rem; }
  .wedding-games__media { min-height: 31rem; }
  .wedding-games__phone { width: min(100%, 17.5rem); border-radius: 1.8rem; }
  .wedding-games__phone iframe { border-radius: 1.25rem; }
  .wedding-games__halo { width: min(calc(100vw - 2.5rem), 24rem); }
}
@media (prefers-reduced-motion: reduce) {
  .wedding-games--enhanced .wedding-games__phone { opacity: 1; transform: none; will-change: auto; }
  .wedding-games__halo { animation: none; }
}


/* bouquet-game.css */
.bouquet-game {
  padding: clamp(3.5rem, 6vw, 6rem) 0;
  background: #efeae1;
}

.bouquet-game__inner {
  max-width: 82rem;
  text-align: center;
}

.bouquet-game h2 {
  max-width: 82rem;
  margin: 0 auto;
  color: var(--pb-text);
  font-size: clamp(3.2rem, 4.5vw, 5.2rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.04em;
}

.bouquet-game h2 span {
  display: block;
  color: var(--pb-gold);
}

.bouquet-game__lead {
  margin: clamp(1rem, 2vw, 1.75rem) auto 0;
  font: 500 clamp(1.7rem, 2.3vw, 2.6rem)/1.15 var(--pb-font-heading);
  color: var(--pb-forest);
}

.bouquet-game__frame {
  display: block;
  width: 100%;
  height: 45rem;
  margin: clamp(2rem, 3vw, 3rem) auto 0;
  border: 0;
  background: #efeae1;
  overflow: hidden;
}

@media (max-width: 760px) {
  .bouquet-game {
    padding: 3rem 0;
  }

  .bouquet-game h2 {
    font-size: clamp(2.8rem, 10vw, 3.8rem);
  }

  .bouquet-game__lead {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .bouquet-game__frame {
    height: 42rem;
    margin-top: 2rem;
  }
}


/* bilingual-20261007.css */
/* Kétnyelvű lagzik */
.bilingual{--bilingual-phone-scale:.5;position:relative;isolation:isolate;display:flex;align-items:center;min-height:100svh;overflow:hidden;background:linear-gradient(120deg,#17231b 0%,#233024 55%,#19251c 100%);color:var(--pb-ivory-light);padding-block:clamp(2.25rem,4vw,4rem)}
.bilingual::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 44% 42%,rgba(89,103,67,.12),transparent 57%)}
.bilingual__olive{position:absolute;z-index:-1;width:49rem;opacity:.14;filter:grayscale(1) sepia(.45) saturate(.45) blur(9px);pointer-events:none}.bilingual__olive--left{top:-21rem;left:-23rem;transform:rotate(-15deg)}.bilingual__olive--right{right:-23rem;bottom:-25rem;transform:rotate(165deg)}
.bilingual__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(20rem,.78fr);align-items:center;gap:clamp(2.5rem,6vw,6.5rem)}
.bilingual__copy{max-width:48rem}.bilingual__rule{display:block;width:4.4rem;height:2px;margin-bottom:1.35rem;background:var(--pb-gold-on-dark)}
.bilingual h2{font-size:clamp(3rem,4.6vw,5.15rem);line-height:.96;color:var(--pb-ivory-light)}.bilingual h2 span,.bilingual strong,.bilingual__subtitle{color:#d7ad69;font-weight:600}.bilingual__subtitle{margin:1rem 0 1.25rem;font:500 clamp(1.4rem,2vw,1.85rem)/1.18 var(--pb-font-heading)}
.bilingual__copy>p{max-width:45rem;margin-top:.8rem;font-size:clamp(.9rem,1.08vw,1.05rem);line-height:1.46}.bilingual__emphasis{padding-left:1.25rem;border-left:2px solid var(--pb-gold-on-dark);font-weight:600}.bilingual__emphasis strong{font-weight:700}
.bilingual__callout{display:grid;grid-template-columns:8.5rem 1fr;gap:1.15rem;align-items:center;max-width:48rem;margin-top:1.15rem;padding:1.15rem 1.55rem;border-radius:.75rem;background:var(--pb-ivory-light);box-shadow:0 1rem 2rem rgba(0,0,0,.16);color:var(--pb-text)}.bilingual__callout-icon{width:5rem;height:5rem;object-fit:contain;justify-self:center}.bilingual__callout>div{padding-left:1.2rem;border-left:2px solid #b78647}.bilingual__callout h3{font-size:clamp(1.8rem,2.2vw,2.5rem);line-height:1.03;color:#8c6130}.bilingual__callout p{margin-top:.35rem;font-size:clamp(.86rem,1vw,.98rem);line-height:1.42}
.bilingual__media{display:grid;place-items:center;min-height:clamp(34rem,47vw,45rem)}.bilingual__phone{position:relative;width:min(100%,25.2rem);aspect-ratio:9/16;padding:.55rem;border:4px solid #090b09;border-radius:2.25rem;background:#050605;box-shadow:0 1.75rem 2.6rem rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.22);transform:scale(var(--bilingual-phone-scale));transform-origin:center;will-change:transform}.bilingual__phone::before{content:'';display:block;position:absolute;top:.45rem;left:50%;z-index:2;width:34%;height:.35rem;border-radius:9rem;background:#050605;transform:translateX(-50%);pointer-events:none}.bilingual__phone iframe{display:block;width:100%;height:100%;border:0;border-radius:1.62rem;background:#080a08}
@media(max-width:991px){.bilingual{display:block;min-height:0;padding-block:4rem}.bilingual__grid{grid-template-columns:1fr;gap:3rem}.bilingual__copy{max-width:48rem;margin-inline:auto}.bilingual__media{min-height:34rem}.bilingual__phone{width:min(100%,23rem)}}
@media(max-width:575px){.bilingual{padding-block:3.5rem}.bilingual h2{font-size:3.15rem}.bilingual__copy>p{font-size:.93rem}.bilingual__callout{grid-template-columns:4.5rem 1fr;gap:.75rem;padding:1rem}.bilingual__callout-icon{width:3.8rem;height:3.8rem}.bilingual__callout>div{padding-left:.8rem}.bilingual__callout h3{font-size:1.8rem}.bilingual__media{min-height:28rem}.bilingual__phone{width:min(100%,19rem);border-radius:1.8rem}.bilingual__phone iframe{border-radius:1.25rem}}
@media(prefers-reduced-motion:reduce){.bilingual{--bilingual-phone-scale:1}.bilingual__phone{will-change:auto}}

/* Kétnyelvű blokk: kártya és közös társaság */
.bilingual__copy{min-width:0}
.bilingual__intro{max-width:43rem;margin:1.55rem 0 1.4rem;font-size:clamp(1.03rem,1.25vw,1.25rem);line-height:1.48}
.bilingual__copy>.bilingual__intro{margin:1.55rem 0 1.4rem;font-size:clamp(1.03rem,1.25vw,1.25rem);line-height:1.48}
.bilingual__flip-card{display:block;width:100%;height:clamp(9.7rem,12vw,11.5rem);padding:0;border:0;border-radius:1.15rem;background:transparent;box-shadow:0 1rem 2rem rgba(0,0,0,.16);color:var(--pb-text);text-align:left;cursor:pointer;perspective:1200px}
.bilingual__flip-card:focus-visible{outline:3px solid #d7ad69;outline-offset:4px}
.bilingual__flip-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.75,.25,1)}
.bilingual__flip-card.is-flipped .bilingual__flip-inner{transform:rotateY(180deg)}
.bilingual__flip-face{position:absolute;inset:0;display:flex;backface-visibility:hidden;-webkit-backface-visibility:hidden;align-items:center;padding:clamp(1.25rem,2vw,1.85rem);border:1px solid rgba(204,174,126,.36);border-radius:1.15rem;background:#faf6ee}
.bilingual__flip-front{justify-content:space-between;gap:1rem}
.bilingual__question{max-width:75%;font:500 clamp(1.3rem,2vw,1.95rem)/1.14 var(--pb-font-heading);color:#1d2d22}
.bilingual__flip-prompt{display:grid;flex:0 0 auto;place-items:center;align-self:flex-end;width:3rem;height:3rem;border-radius:50%;background:#f5e8d2;color:#1d2d22}
.bilingual__flip-prompt svg{display:block}
.bilingual__flip-back{transform:rotateY(180deg);font-size:clamp(.95rem,1.15vw,1.1rem);line-height:1.5;color:#1d2d22}
.bilingual__interactive{margin-top:1.25rem}
.bilingual__comparison{position:relative;aspect-ratio:3/1;overflow:hidden;border:1px solid rgba(215,173,105,.5);border-radius:1rem;background:#d6c5a7;box-shadow:0 .8rem 1.6rem rgba(0,0,0,.18)}
.bilingual__comparison img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.bilingual__before{opacity:calc(1 - var(--mix))}
.bilingual__after{opacity:var(--mix)}
.bilingual__scene{position:absolute;inset:0;display:none;pointer-events:none}
.bilingual__comparison.is-layered .bilingual__scene{display:block}
.bilingual__scene img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.bilingual__guest{will-change:transform,opacity}
.bilingual__slider-wrap{display:flex;align-items:center;gap:.8rem;margin-top:1rem}
.bilingual__slider-label{flex:0 0 auto;color:#f4e7cd;font-size:.85rem}
.bilingual__slider-area{position:relative;flex:1;display:flex;align-items:center}
.bilingual__slider{position:relative;z-index:1;display:block;width:100%;height:2rem;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;touch-action:pan-y}
.bilingual__slider::-webkit-slider-runnable-track{height:.55rem;border-radius:99rem;background:linear-gradient(90deg,#d7ad69 0%,#d7ad69 var(--progress,0%),rgba(255,255,255,.25) var(--progress,0%),rgba(255,255,255,.25) 100%)}
.bilingual__slider::-moz-range-track{height:.55rem;border-radius:99rem;background:rgba(255,255,255,.25)}
.bilingual__slider::-moz-range-progress{height:.55rem;border-radius:99rem;background:#d7ad69}
.bilingual__slider::-webkit-slider-thumb{width:1.75rem;height:1.75rem;margin-top:-.6rem;border:3px solid #f9f4e9;border-radius:50%;appearance:none;-webkit-appearance:none;background:#bd8b4e;box-shadow:0 0 0 .28rem rgba(215,173,105,.2),0 .2rem .6rem rgba(0,0,0,.25)}
.bilingual__slider::-moz-range-thumb{width:1.4rem;height:1.4rem;border:3px solid #f9f4e9;border-radius:50%;background:#bd8b4e;box-shadow:0 0 0 .28rem rgba(215,173,105,.2),0 .2rem .6rem rgba(0,0,0,.25)}
.bilingual__slider:focus-visible{outline:2px solid #d7ad69;outline-offset:3px;border-radius:99rem}
.bilingual__slider-cue{position:absolute;left:2.2rem;top:50%;z-index:0;color:#f4d299;font-size:2rem;font-weight:700;line-height:1;letter-spacing:-.4rem;transform:translateY(-58%);animation:bilingual-nudge 1.6s ease-in-out infinite;pointer-events:none}
.bilingual__interactive.is-interacted .bilingual__slider-cue{display:none}
.bilingual__caption{margin:.2rem 0 0;text-align:center;color:#f7eee0;font:500 clamp(1.15rem,1.7vw,1.55rem)/1.25 var(--pb-font-heading)}
@keyframes bilingual-nudge{0%,100%{opacity:.55;transform:translate(0,-58%)}50%{opacity:1;transform:translate(.6rem,-58%)}}
@media(max-width:575px){.bilingual__copy>.bilingual__intro{font-size:1rem}.bilingual__flip-card{height:11rem}.bilingual__flip-face{padding:1.1rem}.bilingual__flip-front{display:block}.bilingual__question{display:block;max-width:none;font-size:1.45rem}.bilingual__flip-prompt{position:absolute;right:1.1rem;bottom:1rem}.bilingual__flip-back{font-size:.93rem;line-height:1.38}.bilingual__slider-label{font-size:.75rem}}
@media(max-width:400px){.bilingual__flip-card{height:13rem}}
@media(prefers-reduced-motion:reduce){.bilingual__flip-inner{transition:none}.bilingual__slider-cue{animation:none}}


/* helping.css */
/* Hogyan tudok segíteni nektek? */
.helping{position:relative;isolation:isolate;overflow:hidden;background:#f7f3eb;padding-block:clamp(3.2rem,4.4vw,4.8rem)}
.helping__grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(2.5rem,4.4vw,5.5rem);align-items:center}
.helping__photo-wrap{position:relative;z-index:1;width:calc(100% + max(0px,calc((100vw - var(--pb-container))/2)));aspect-ratio:4/4.35;margin:0 0 0 min(0px,calc((var(--pb-container) - 100vw)/2));overflow:hidden;border-radius:0 4.6rem 4.6rem 0;box-shadow:0 1.4rem 3rem rgba(50,45,34,.13);opacity:0;transform:translateX(-10rem);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.25,1)}
.helping.is-visible .helping__photo-wrap{opacity:1;transform:translateX(0)}
.helping__photo{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:49% 44%;filter:saturate(.88) contrast(.98) brightness(1.02)}
.helping__content{position:relative;z-index:1;max-width:41.5rem}.helping__rule{display:block;width:4.2rem;height:2px;margin-bottom:1.2rem;background:var(--pb-gold)}
.helping h2{font-size:clamp(3rem,4.65vw,5.35rem);line-height:.94}.helping h2 span{color:var(--pb-gold);font-weight:500}
.helping__intro{max-width:40rem;margin:1.25rem 0 1rem;font-size:clamp(.98rem,1.18vw,1.15rem);line-height:1.47}.helping__intro strong{color:#ab7733;font-weight:700}
.helping h2.helping__subhead{margin:1.65rem 0 .75rem;color:#33412e;font-size:clamp(2.15rem,3vw,3.1rem);font-weight:500;line-height:1.02;letter-spacing:-.025em}
.helping__list{display:grid;gap:.65rem}
.helping__item{overflow:hidden;border:1px solid rgba(176,137,81,.28);border-radius:1rem;background:rgba(255,253,248,.8);box-shadow:0 .45rem 1.15rem rgba(50,45,34,.045)}
.helping__item summary{display:grid;grid-template-columns:3.65rem minmax(0,1fr) 2rem;gap:.85rem;align-items:center;min-height:4.7rem;padding:.4rem 1rem .4rem .55rem;cursor:pointer;list-style:none}
.helping__item summary::-webkit-details-marker{display:none}
.helping__item summary:focus-visible{outline:3px solid var(--pb-gold);outline-offset:-3px;border-radius:1rem}
.helping__item h3{margin:0;color:#33412e;font-size:clamp(1.42rem,1.7vw,1.8rem);line-height:1.08}
.helping__icon{display:block;width:3.6rem;height:3.6rem;object-fit:contain;filter:drop-shadow(0 .18rem .28rem rgba(101,73,34,.08))}
.helping__chevron{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#f5e8d1;color:#89693d;transition:transform .2s ease,background-color .2s ease}
.helping__chevron::before{content:"";width:.48rem;height:.48rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg)}
.helping__item[open] .helping__chevron{transform:rotate(180deg);background:#ead4ad}
.helping__item-copy{padding:0 1.2rem 1.05rem 5.05rem}
.helping__item-copy p{margin:0;max-width:34rem;font-size:clamp(.9rem,1vw,1rem);line-height:1.47}
.helping__callout{margin-top:1rem;padding:1.1rem 1.5rem;border-left:3px solid var(--pb-gold-on-dark);border-radius:.65rem;background:linear-gradient(115deg,#33422f,#202b20);box-shadow:0 1.1rem 2.1rem rgba(35,44,31,.15);color:var(--pb-ivory-light)}
.helping__callout p{margin:0;font:500 clamp(1.4rem,1.65vw,1.9rem)/1.2 var(--pb-font-heading)}
.helping__branch,.helping__shadow{position:absolute;pointer-events:none}.helping__branch{z-index:2;left:-1.2rem;bottom:-.75rem;width:auto;height:27rem;opacity:.76;filter:saturate(.84) contrast(.95)}.helping__shadow{z-index:0;right:-19rem;top:-22rem;width:51rem;opacity:.09;transform:rotate(142deg);filter:grayscale(1) sepia(.3) blur(9px)}
@media(max-width:991px){.helping{padding-block:4rem}.helping__grid{grid-template-columns:1fr;gap:2.8rem}.helping__photo-wrap{width:min(100%,42rem);max-height:35rem;margin-inline:auto;border-radius:2.25rem}.helping__content{max-width:46rem;margin-inline:auto}.helping__branch{left:-.75rem;bottom:-1rem;height:24rem}}
@media(max-width:575px){.helping{padding-block:3.5rem}.helping__photo-wrap{aspect-ratio:1/1.1;border-radius:1.65rem;transform:translateX(-4rem)}.helping__rule{margin-bottom:1rem}.helping h2{font-size:3.3rem}.helping__intro{margin-block:1.15rem}.helping h2.helping__subhead{margin-top:1.5rem;font-size:2.2rem}.helping__item summary{grid-template-columns:3rem minmax(0,1fr) 1.8rem;gap:.6rem;min-height:4.1rem;padding:.4rem .75rem .4rem .4rem}.helping__icon{width:3rem;height:3rem}.helping__item h3{font-size:1.5rem}.helping__chevron{width:1.8rem;height:1.8rem}.helping__item-copy{padding:0 .85rem .85rem 4rem}.helping__item-copy p{font-size:.9rem}.helping__callout{padding:1.1rem}.helping__callout p{font-size:1.55rem}.helping__branch{height:17rem;left:-.5rem;bottom:-.5rem;opacity:.64}}
@media(prefers-reduced-motion:reduce){.helping__photo-wrap{opacity:1;transform:none;transition:none}}


/* selling-points.css */
.selling-points {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.5rem, 5.5vw, 5.75rem) 0 clamp(3.25rem, 4.5vw, 4.75rem);
  color: #121a16;
  background: #efe8dc;
}

.selling-points::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  background: radial-gradient(ellipse at 15% 42%, rgba(129, 103, 69, .065), transparent 38%), radial-gradient(ellipse at 83% 92%, rgba(102, 115, 80, .055), transparent 34%);
}

.selling-points__wash {
  position: absolute;
  z-index: -1;
  width: min(57vw, 56rem);
  aspect-ratio: 4 / 3;
  pointer-events: none;
  opacity: .06;
  filter: blur(8px) saturate(.58) sepia(.14);
  background: url('assets/optimized/reviews-olive-4.webp') center / contain no-repeat;
}

.selling-points__wash--top { top: -19rem; right: -23rem; transform: rotate(12deg); }
.selling-points__wash--bottom { bottom: -25rem; left: -24rem; transform: rotate(181deg); }
.selling-points__container { position: relative; max-width: 1400px; }
.selling-points__intro { max-width: 68rem; margin: 0 auto; text-align: center; }

.selling-points h1 {
  margin: 0;
  font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(3.1rem, 5.15vw, 5.7rem);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.052em;
}

.selling-points h1 span,
.selling-points__closing span { color: #a36e2e; }

.selling-points__intro h2 {
  margin: 1.55rem auto 0;
  color: #33412e;
  font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(1.8rem, 2.8vw, 2.75rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.selling-points__layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: stretch;
  gap: clamp(2.25rem, 5vw, 5.5rem);
  margin-top: clamp(2.5rem, 4.5vw, 4.5rem);
}

.selling-points__photo {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 1.3rem;
  background: #e5ddce;
  box-shadow: 0 1.4rem 3.2rem rgba(42, 44, 30, .18);
  opacity: 1;
  transform: none;
  transition: opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}

.selling-points__photo.is-pending { opacity: 0; transform: translate3d(-5rem, 0, 0); }
.selling-points__photo.is-pending.is-visible { opacity: 1; transform: none; }

.selling-points__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.selling-points__list { display: grid; gap: .45rem; }

.selling-points__card {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 1.9vw, 1.65rem);
  min-width: 0;
  padding: .7rem .9rem .7rem 0;
  border-bottom: 1px solid rgba(135, 101, 55, .24);
  opacity: 1;
  transform: none;
  transition: opacity .5s ease, transform .5s ease;
}

.selling-points__card:last-child { border-bottom: 0; }
.selling-points__card.is-pending { opacity: 0; transform: translateY(1.15rem); }
.selling-points__card.is-pending.is-visible { opacity: 1; transform: none; }

.selling-points__icon {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  place-items: center;
  border: 1px solid rgba(163, 110, 46, .24);
  border-radius: 50%;
  color: #8c693c;
  background: rgba(255, 252, 246, .78);
  box-shadow: 0 .4rem 1rem rgba(84, 68, 43, .07);
}

.selling-points__icon svg {
  width: 55%;
  height: 55%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.35;
}

.selling-points__card h3 {
  margin: 0 0 .12rem;
  font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(1.65rem, 2.3vw, 2.15rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.035em;
}

.selling-points__card p {
  margin: 0;
  color: #42463b;
  font-size: clamp(.94rem, 1.08vw, 1.05rem);
  line-height: 1.42;
}

.selling-points__closing {
  max-width: 64rem;
  margin: clamp(2.3rem, 4vw, 3.8rem) auto 0;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(163, 110, 46, .5);
  font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(1.8rem, 2.75vw, 2.65rem);
  font-weight: 600;
  line-height: 1.08;
  text-align: center;
}

@media (max-width: 960px) {
  .selling-points__layout { grid-template-columns: 1fr; gap: 2rem; }
  .selling-points__photo { max-width: 36rem; aspect-ratio: 1122 / 1402; margin-inline: auto; }
  .selling-points__list { width: min(100%, 42rem); margin-inline: auto; }
}

@media (max-width: 650px) {
  .selling-points h1 { font-size: clamp(2.75rem, 10vw, 4rem); }
  .selling-points__intro h2 { margin-top: 1.25rem; font-size: clamp(1.6rem, 6vw, 2rem); }
  .selling-points__card { grid-template-columns: 3.65rem minmax(0, 1fr); gap: .85rem; padding-block: .75rem; }
  .selling-points__icon { width: 3.65rem; height: 3.65rem; }
  .selling-points__card h3 { font-size: clamp(1.5rem, 6vw, 1.8rem); }
  .selling-points__card p { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .selling-points__photo,
  .selling-points__photo.is-pending { opacity: 1; transform: none; transition: none; }
  .selling-points__card,
  .selling-points__card.is-pending { opacity: 1; transform: none; transition: none; }
}


/* reviews.css */
.reviews {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 5.6vw, 6rem) 0;
  color: #19271e;
  background: #f7f3eb;
}
.reviews::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  background: radial-gradient(ellipse at 50% 38%, rgba(255,255,255,.82), transparent 72%);
}
.reviews__container { position: relative; z-index: 1; max-width: 88rem; text-align: center; }
.reviews__intro { max-width: 63rem; margin-inline: auto; }
.reviews__rule { display: block; width: 4.4rem; height: 2px; margin: 0 auto 1.4rem; background: #aa7b3b; }
.reviews h2 { margin: 0; font-size: clamp(3.35rem, 5.15vw, 5.75rem); line-height: .93; letter-spacing: -.06em; }
.reviews h2 span { color: #a87535; }
.reviews__intro > p { margin: 1.25rem auto 0; font: 400 clamp(1.1rem, 1.58vw, 1.42rem)/1.42 var(--pb-font-body); }

.reviews__carousel { position: relative; margin-top: clamp(2.25rem, 3.4vw, 3.3rem); }
.reviews__viewport { position: relative; width: calc(50% + 50vw); overflow: hidden; padding: .45rem 0 1.2rem; }
.reviews__viewport::after {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  width: 12%;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #f7f3eb);
}
.reviews__viewport.is-at-end::after { display: none; }
.reviews__track { display: flex; gap: 1rem; align-items: stretch; transition: transform .45s cubic-bezier(.22,.8,.25,1); will-change: transform; }
.reviews__card {
  display: flex;
  flex: 0 0 calc(22.222% - .89rem);
  flex-direction: column;
  min-width: 0;
  height: 29rem;
  padding: 1.2rem 1.3rem 1.25rem;
  border: 1px solid #e8ded0;
  border-radius: .95rem;
  background: #fff;
  box-shadow: 0 .7rem 1.7rem rgba(46, 51, 36, .09);
  text-align: left;
  transition: transform .25s ease, box-shadow .25s ease;
}
.reviews__card:hover { transform: translateY(-.25rem); box-shadow: 0 1rem 2rem rgba(46, 51, 36, .13); }
.reviews__card header { display: grid; grid-template-columns: 3.85rem minmax(0,1fr) 1.5rem; gap: .65rem; align-items: start; }
.reviews__avatar { display: grid; width: 3.85rem; height: 3.85rem; overflow: hidden; place-items: center; border-radius: 50%; background: #b89462; color: #fff; font: 600 1.2rem/1 var(--pb-font-heading); }
.reviews__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.reviews__card h3 { margin: .22rem 0 .35rem; font: 600 clamp(1.15rem, 1.4vw, 1.34rem)/1.08 var(--pb-font-heading); letter-spacing: -.025em; }
.reviews__card time { display: block; color: #797970; font: 500 .76rem/1.2 var(--pb-font-body); }
.reviews__facebook { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: .22rem; color: #fff; background: #2860b9; font: 700 1.5rem/1 Arial,sans-serif; }
.reviews__recommend { align-self: flex-start; margin-top: 1.15rem; padding: .28rem .65rem; border-radius: 999px; color: #78562d; background: #f6ead7; font: 700 .78rem/1 var(--pb-font-body); }
.reviews__quote { margin: 1.1rem 0 .9rem; font: 400 clamp(.94rem, 1.13vw, 1.06rem)/1.49 var(--pb-font-body); letter-spacing: -.01em; }
.reviews.is-enhanced .reviews__quote { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 10; }
.reviews.is-enhanced .reviews__card.is-expanded .reviews__quote { display: block; max-height: 16rem; overflow-y: auto; padding-right: .2rem; }
.reviews__readmore { align-self: flex-start; margin-top: auto; padding: .35rem 0 0; border: 0; color: #946a35; background: transparent; font: 700 .9rem/1.25 var(--pb-font-body); cursor: pointer; }
.reviews__readmore:hover { color: #654419; text-decoration: underline; }
.reviews__readmore:focus-visible { outline: 2px solid #946a35; outline-offset: 3px; }
.reviews:not(.is-enhanced) .reviews__readmore { display: none; }

.reviews__arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 3.2rem; height: 3.2rem; padding: 0; place-items: center; border: 1px solid #a67533; border-radius: 50%; color: #805a2d; background: #fffaf2; box-shadow: 0 .4rem 1rem rgba(60,48,32,.1); font: 400 3.1rem/.7 var(--pb-font-heading); cursor: pointer; transform: translateY(-50%); transition: background-color .2s ease, color .2s ease; }
.reviews__arrow:hover { color: #fff; background: #8f6736; }
.reviews__arrow:focus-visible { outline: 2px solid #61461e; outline-offset: 3px; }
.reviews__arrow:disabled { opacity: .38; cursor: default; }
.reviews__arrow:disabled:hover { color: #805a2d; background: #fffaf2; }
.reviews__arrow--previous { left: -1.6rem; }
.reviews__arrow--next { right: calc(50% - 50vw + 1rem); }
.reviews__dots { display: flex; justify-content: center; gap: .65rem; margin-top: 1.5rem; }
.reviews__dots button { width: .85rem; height: .85rem; padding: 0; border: 0; border-radius: 50%; background: #d2c7b7; cursor: pointer; }
.reviews__dots button.is-active, .reviews__dots button:hover { background: #9e743b; }
.reviews__dots button:focus-visible { outline: 2px solid #604516; outline-offset: 3px; }
.reviews__more { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 3.4rem; margin-top: 1.5rem; padding: .7rem 1.45rem; border: 1px solid #a67533; border-radius: .7rem; color: #fffaf2; background: #263b2d; font: 700 1rem/1.2 var(--pb-font-body); cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.reviews__more::after { content: '→'; color: #e5be7e; font-size: 1.45rem; line-height: 1; }
.reviews__more.is-restart::after { content: '↑'; }
.reviews__more:hover { background: #36543e; transform: translateY(-2px); }
.reviews__more:focus-visible { outline: 2px solid #604516; outline-offset: 3px; }
.reviews__more:disabled { opacity: .65; cursor: wait; transform: none; }
.reviews__more[hidden] { display: none; }

@media (max-width: 1199px) {
  .reviews__container { max-width: 67rem; }
  .reviews__card { flex-basis: calc(42.5% - .6rem); height: 26rem; }
}
@media (max-width: 767px) {
  .reviews { padding-block: 3.8rem; }
  .reviews__card { flex-basis: 82%; height: 25rem; }
  .reviews__arrow { width: 2.6rem; height: 2.6rem; font-size: 2.7rem; }
  .reviews__arrow--previous { left: -.8rem; }
  .reviews__arrow--next { right: calc(50% - 50vw + .5rem); }
  .reviews__viewport::after { width: 17%; }
}
@media (max-width: 575px) {
  .reviews h2 { font-size: 3rem; line-height: .96; }
  .reviews h2 br, .reviews__intro > p br { display: none; }
  .reviews__intro > p { font-size: 1.05rem; }
  .reviews__carousel { margin-top: 2rem; }
  .reviews__card { padding: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews__track, .reviews__card, .reviews__arrow { transition: none; }
  .reviews__card:hover { transform: none; }
}


/* botanicals.css */
/* The approved Félelmek decoration, reused without changing its scale or finish. */
.reviews::before,
.objections::before { z-index: 0; }
.botanical-shadow,
.botanical-olive {
  position: absolute;
  z-index: 0;
  display: block;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
.botanical-shadow { filter: blur(13px) contrast(1.12); }
.botanical-shadow--top { top: -9rem; left: -6rem; width: min(49vw, 49rem); opacity: .43; }
.botanical-shadow--bottom { right: -10rem; bottom: -15rem; width: min(47vw, 47rem); opacity: .34; }
.botanical-shadow--left { bottom: -13rem; left: -12rem; width: min(41vw, 41rem); opacity: .38; }
.botanical-olive {
  filter: saturate(.88) drop-shadow(0 1.25rem 1.25rem rgba(58, 54, 34, .26));
}
.botanical-olive--top {
  top: -4rem;
  left: -3rem;
  width: min(31vw, 31rem);
  opacity: .92;
  transform: scaleX(-1) rotate(-7deg);
}
.botanical-olive--left {
  bottom: -2rem;
  left: -3rem;
  width: min(31vw, 32rem);
  opacity: .87;
  transform: rotate(-9deg);
}
.botanical-olive--bottom {
  right: -3rem;
  bottom: -4rem;
  width: min(31vw, 31rem);
  opacity: .79;
  transform: scaleY(-1) rotate(7deg);
}
@media (max-width: 1100px) {
  .botanical-olive--top { width: 28rem; }
  .botanical-olive--left { width: 29rem; }
  .botanical-olive--bottom { width: 26rem; }
}
@media (max-width: 575px) {
  .botanical-shadow--top { top: -6rem; left: -13rem; width: 32rem; opacity: .33; }
  .botanical-shadow--bottom { right: -15rem; bottom: -10rem; width: 30rem; opacity: .26; }
  .botanical-shadow--left { bottom: -8rem; left: -10rem; width: 25rem; opacity: .27; }
  .botanical-olive--top { top: -2.5rem; left: -4rem; width: 17rem; opacity: .77; }
  .botanical-olive--left { left: -4rem; bottom: -2rem; width: 16rem; opacity: .77; }
  .botanical-olive--bottom { right: -4rem; bottom: -3rem; width: 15rem; opacity: .68; }
}


/* pricing.css */
.pricing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.2rem, 4.6vw, 5.3rem) 0 clamp(3rem, 4.1vw, 4.7rem);
  color: #f7f0e6;
  background: radial-gradient(circle at 50% 35%, rgba(81, 98, 57, .34), transparent 35%), linear-gradient(145deg, #172415, #1c2d18 48%, #162314);
}

.pricing::before {
  position: absolute;
  z-index: -3;
  inset: 0;
  content: "";
  opacity: .24;
  background: radial-gradient(ellipse at 4% 60%, rgba(10, 15, 8, .8), transparent 36%), radial-gradient(ellipse at 95% 8%, rgba(10, 15, 8, .55), transparent 30%);
}

.pricing__container { position: relative; z-index: 2; max-width: 80rem; }
.pricing__shadow { position: absolute; z-index: -1; width: 53rem; height: 46rem; opacity: .32; filter: blur(11px) saturate(.62) brightness(.83) contrast(1.07); background: url('assets/optimized/reviews-olive-4.webp') center / contain no-repeat; pointer-events: none; }
.pricing__shadow--left { top: -14rem; left: -19rem; transform: rotate(-19deg); }
.pricing__shadow--right { right: -20rem; bottom: -21rem; transform: rotate(153deg); }
.pricing__shadow--top { top: -22rem; right: 16%; width: 49rem; opacity: .24; transform: rotate(25deg); }

.pricing__olive { position: absolute; z-index: 1; max-width: none; pointer-events: none; filter: saturate(.74) brightness(.98) sepia(.16) drop-shadow(0 .8rem 1.1rem rgba(0, 0, 0, .35)); }
.pricing__olive--top { top: -7.6rem; left: -7rem; width: min(32vw, 31rem); opacity: .7; transform: rotate(-13deg); }
.pricing__olive--top-right { top: -8rem; right: -8.5rem; width: min(29vw, 28rem); opacity: .57; transform: rotate(1deg); }
.pricing__olive--bottom-left { bottom: -11rem; left: -10rem; width: min(28vw, 28rem); opacity: .42; transform: rotate(178deg); }
.pricing__olive--bottom { right: -7rem; bottom: -8.5rem; width: min(36vw, 34rem); opacity: .74; transform: rotate(-4deg); }

.pricing__intro { position: relative; z-index: 2; text-align: center; }
.pricing__rule { display: block; width: 6.25rem; height: 1px; margin: 0 auto .8rem; background: #d5a86a; }
.pricing h2 { margin: 0; color: #f8f2ea; font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif); font-size: clamp(3rem, 5.1vw, 5.25rem); font-weight: 400; line-height: .88; letter-spacing: -.045em; }
.pricing h2 span { color: #d8ad70; }
.pricing__intro > p { margin: .85rem 0 .9rem; font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif); font-size: clamp(1.42rem, 2.25vw, 2.12rem); line-height: 1.1; }
.pricing__intro > strong { display: block; color: #d8ad70; font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif); font-size: clamp(3.9rem, 6.3vw, 6.2rem); font-weight: 400; line-height: .92; letter-spacing: -.035em; }

.pricing__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: clamp(1.45rem, 2.5vw, 2.4rem); }
.pricing__detail { display: grid; grid-template-columns: 7rem 1fr; min-height: 11.6rem; align-items: center; padding: 1.25rem 1.65rem; border: 1px solid rgba(217, 179, 113, .49); border-radius: 1rem; background: rgba(29, 47, 25, .35); box-shadow: inset 0 1px rgba(255, 244, 222, .03), 0 .7rem 1.8rem rgba(2, 9, 2, .18); backdrop-filter: blur(4px); }
.pricing__icon { display: grid; width: 6rem; height: 6rem; place-items: center; border-radius: 50%; color: #d8ad70; background: rgba(142, 130, 73, .18); }
.pricing__icon svg { width: 3.7rem; height: 3.7rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.1; }
.pricing__detail > div + div { align-self: stretch; padding-left: 1.45rem; border-left: 1px solid rgba(217, 179, 113, .72); }
.pricing__detail h3 { margin: .1rem 0 .35rem; color: #faf3e9; font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif); font-size: clamp(1.7rem, 2.5vw, 2.35rem); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.pricing__detail p { margin: 0; font-family: var(--pb-font-heading, 'Cormorant Garamond', Georgia, serif); font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.2; }
.pricing__rule--bottom { width: 6.25rem; margin: clamp(1.7rem, 2.6vw, 2.4rem) auto 0; }

@media (max-width: 820px) {
  .pricing__details { grid-template-columns: 1fr; }
  .pricing__detail { min-height: auto; }
}

@media (max-width: 560px) {
  .pricing { padding-block: 4rem; }
  .pricing h2 { font-size: clamp(3rem, 14vw, 4.55rem); }
  .pricing__intro > p { font-size: 1.65rem; }
  .pricing__detail { grid-template-columns: 1fr; gap: 1.15rem; padding: 1.5rem; text-align: center; }
  .pricing__icon { margin: 0 auto; }
  .pricing__detail > div + div { padding: 1.15rem 0 0; border-top: 1px solid rgba(217, 179, 113, .72); border-left: 0; }
  .pricing__olive--top { top: -3rem; left: -5rem; width: 25rem; }
  .pricing__olive--bottom { right: -9rem; width: 28rem; }
}


/* how-i-work.css */
.how-i-work {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 6.7vw, 6.25rem) 0 clamp(3.3rem, 4.6vw, 4.8rem);
  color: #19211e;
  background: #fbf8f2;
}

.how-i-work__container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.39fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 2vw, 2rem);
  max-width: 92rem;
  align-items: stretch;
}

.how-i-work__content { min-width: 0; }
.how-i-work__intro { margin: 0 0 2.15rem; text-align: center; }
.how-i-work h2 {
  margin: 0 0 .7rem;
  font-size: clamp(3.55rem, 5vw, 5.4rem);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.055em;
}
.how-i-work__intro p {
  font-family: var(--pb-font-heading);
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
  line-height: 1.09;
}
.how-i-work__intro .how-i-work__highlight {
  margin: .12rem 0;
  color: #97703e;
  font-size: clamp(1.27rem, 1.75vw, 1.72rem);
  font-weight: 600;
}
.how-i-work__intro p:last-child { font-size: clamp(1.02rem, 1.31vw, 1.32rem); }

.how-i-work__steps { display: grid; gap: .9rem; }
.how-i-work__step {
  --step-number-width: clamp(5.5rem, 9vw, 8rem);
  --step-gap: 1.25rem;
  padding: .45rem 1.45rem;
  border: 1px solid #e4d6c3;
  border-radius: .72rem;
  background: rgba(255, 253, 248, .69);
  box-shadow: 0 .45rem 1.25rem rgba(116, 87, 52, .035);
}
.how-i-work__step summary {
  display: grid;
  grid-template-columns: var(--step-number-width) minmax(0, 1fr) 1.25rem;
  gap: var(--step-gap);
  min-height: 4.9rem;
  align-items: center;
  list-style: none;
  cursor: pointer;
}
.how-i-work__step summary::-webkit-details-marker { display: none; }
.how-i-work__step summary:focus-visible { border-radius: .2rem; }
.how-i-work__number {
  display: flex;
  height: 3.8rem;
  align-items: center;
  border-right: 1px solid #ad8754;
  color: #9d7544;
  font: 400 clamp(3.7rem, 5.2vw, 5.6rem)/.8 var(--pb-font-heading);
  letter-spacing: -.07em;
}
.how-i-work__step-title {
  font-size: clamp(1.55rem, 2.15vw, 2.14rem);
  font-family: var(--pb-font-heading);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.how-i-work__step-copy { margin: -.1rem 2.5rem .7rem calc(var(--step-number-width) + var(--step-gap)); }
.how-i-work__step p {
  font-family: var(--pb-font-heading);
  font-size: clamp(1rem, 1.35vw, 1.36rem);
  line-height: 1.14;
}
.how-i-work__step strong { font-weight: 600; }
.how-i-work__chevron {
  width: 1.05rem;
  height: 1.05rem;
  transform: translateY(-.25rem) rotate(45deg);
  border-right: 1.6px solid #966d38;
  border-bottom: 1.6px solid #966d38;
  transition: transform .2s ease;
}
.how-i-work__step[open] .how-i-work__chevron { transform: translateY(.25rem) rotate(225deg); }
.how-i-work__extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: 1rem; }
.how-i-work__extra {
  min-width: 0;
  padding: 1.3rem 1.45rem 1.35rem;
  border-radius: .72rem;
  background: rgba(239, 230, 219, .58);
}
.how-i-work__extra::before { display: block; width: 3.1rem; height: 1px; margin-bottom: 1rem; background: #a87b41; content: ""; }
.how-i-work__extra h3 { margin: 0 0 .85rem; font-size: clamp(1.6rem, 2.15vw, 2.05rem); line-height: 1; }
.how-i-work__extra p { font: 400 clamp(1.01rem, 1.24vw, 1.23rem)/1.14 var(--pb-font-heading); }
.how-i-work__extra p + p { margin-top: .85rem; }
.how-i-work__extra strong { font-weight: 600; }

.how-i-work__photo {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-radius: .65rem .65rem .65rem clamp(2.5rem, 5vw, 4.6rem);
  background: #d8cfc1;
  box-shadow: 0 1rem 2.25rem rgba(65, 55, 39, .11);
}
.how-i-work__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }

@media (max-width: 1080px) {
  .how-i-work__container { grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr); }
  .how-i-work__step { --step-number-width: 5.4rem; --step-gap: .85rem; padding-inline: .9rem; }
  .how-i-work__step summary { grid-template-columns: var(--step-number-width) minmax(0, 1fr) 1rem; }
  .how-i-work__number { font-size: 4rem; }
  .how-i-work__extra { padding-inline: 1.05rem; }
}

@media (max-width: 800px) {
  .how-i-work__container { grid-template-columns: 1fr; max-width: 42rem; }
  .how-i-work__photo { min-height: 0; aspect-ratio: 2 / 3; }
  .how-i-work__photo img { position: static; }
}

@media (max-width: 530px) {
  .how-i-work { padding: 3.6rem 0 3rem; }
  .how-i-work__intro { margin-bottom: 1.6rem; }
  .how-i-work h2 { font-size: clamp(3.15rem, 13vw, 4.3rem); }
  .how-i-work__desktop-break { display: none; }
  .how-i-work__intro p { font-size: 1.18rem; line-height: 1.18; }
  .how-i-work__intro .how-i-work__highlight { margin: .35rem 0; font-size: 1.35rem; }
  .how-i-work__intro p:last-child { font-size: 1.09rem; }
  .how-i-work__step { --step-number-width: 3.65rem; --step-gap: .65rem; padding: .55rem .85rem; }
  .how-i-work__step summary { min-height: 4.3rem; grid-template-columns: var(--step-number-width) minmax(0, 1fr) 1rem; }
  .how-i-work__number { height: 3.2rem; font-size: 3.1rem; }
  .how-i-work__step-title { font-size: 1.55rem; }
  .how-i-work__step-copy { margin-right: 0; }
  .how-i-work__step p { font-size: 1.07rem; }
  .how-i-work__chevron { width: .8rem; height: .8rem; }
  .how-i-work__extras { grid-template-columns: 1fr; }
  .how-i-work__extra h3 { font-size: 1.85rem; }
  .how-i-work__extra p { font-size: 1.14rem; }
}


/* about.css */
.about {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 45.8%) minmax(0, 54.2%);
  min-height: clamp(47rem, 66vw, 64rem);
  overflow: hidden;
  padding-bottom: var(--pb-gutter);
  background: #fbf8f2;
  color: #1b2328;
}

.about__content {
  position: relative;
  z-index: 1;
  isolation: isolate;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3.5rem, 5.1vw, 5.9rem) max(var(--pb-gutter), calc((100vw - 82.75rem) / 2))
    clamp(3rem, 4.8vw, 5.2rem) clamp(2rem, 4.2vw, 4.5rem);
  text-align: left;
}

.about__heading { margin-bottom: clamp(1.55rem, 2.3vw, 2.45rem); }
.about__eyebrow {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
  margin: 0 0 1.45rem;
  color: #85633a;
  font: 600 .83rem/1.2 var(--pb-font-body);
  letter-spacing: .37em;
  text-transform: uppercase;
}
.about__eyebrow span { display: block; width: 4.8rem; height: 1px; background: #a67945; }
.about__eyebrow span:last-child { width: 3.2rem; }
.about__heading h3 {
  font-size: clamp(3.6rem, 5.55vw, 6.4rem);
  font-weight: 500;
  line-height: .78;
  letter-spacing: -.055em;
}
.about__gold { color: #95703e; }

.about__prose {
  max-width: 42rem;
  margin-left: 0;
  font: 400 clamp(1.18rem, 1.48vw, 1.55rem)/1.24 var(--pb-font-heading);
}
.about__prose p + p { margin-top: clamp(1.2rem, 2vw, 2rem); }
.about__prose strong { font-weight: 600; }
.about__closing-rule { display: block; width: 4.3rem; height: 1px; margin: clamp(1.5rem, 2.4vw, 2.3rem) 0 0; background: #a67945; }

.about__portrait { position: relative; grid-column: 1; grid-row: 1; min-width: 0; min-height: 100%; margin-left: max(var(--pb-gutter), calc((100vw - 92rem) / 2)); overflow: hidden; border-radius: .65rem clamp(2.5rem, 5vw, 4.6rem) .65rem .65rem; background: #b2aa98; }
.about__portrait-frame { position: absolute; inset: 0; overflow: hidden; transform: scaleX(-1); }
.about__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

@media (max-width: 1100px) {
  .about__content { padding-left: 2.2rem; }
  .about__heading h3 { font-size: clamp(3.5rem, 5.8vw, 5rem); }
  .about__prose { font-size: clamp(1.14rem, 1.65vw, 1.4rem); }
}

@media (max-width: 850px) {
  .about { display: block; min-height: 0; }
  .about__content { max-width: 46rem; margin-inline: auto; padding: 4rem var(--pb-gutter) 3.3rem; }
  .about__heading h3 { font-size: clamp(3.85rem, 9.5vw, 5.65rem); }
  .about__prose { font-size: clamp(1.2rem, 2.65vw, 1.45rem); }
  .about__portrait { width: min(calc(100% - var(--pb-gutter) * 2), 42rem); height: min(118vw, 51rem); min-height: 0; margin-inline: auto; }
}

@media (min-width: 801px) and (max-width: 850px) {
  .about__portrait { width: calc(100% - var(--pb-gutter) * 2); }
}

@media (max-width: 530px) {
  .about__content { padding-block: 3.3rem 2.8rem; }
  .about__eyebrow { gap: 1rem; margin-bottom: 1.2rem; font-size: .72rem; }
  .about__eyebrow span { width: 2.6rem; }
  .about__eyebrow span:last-child { width: 2rem; }
  .about__heading h3 { font-size: clamp(3.35rem, 13.4vw, 4.5rem); }
  .about__prose { font-size: 1.23rem; line-height: 1.28; }
  .about__prose p + p { margin-top: 1.4rem; }
  .about__portrait { height: 136vw; }
}


/* contact.css */
.contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 5.5vw, 6.5rem) 0 clamp(4.5rem, 5.8vw, 6.5rem);
  background: #eae2d8;
  color: #1b2520;
  scroll-margin-top: 1.5rem;
}

.contact__shadow {
  position: absolute;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: blur(15px) grayscale(1);
  pointer-events: none;
}
.contact__shadow--top {
  top: -22rem;
  left: -12rem;
  width: min(64vw, 65rem);
  height: 56rem;
  background-image: url('assets/optimized/fears-shadow-top.webp');
  opacity: .29;
  transform: rotate(-17deg);
}
.contact__shadow--right {
  right: -20rem;
  bottom: -21rem;
  width: min(57vw, 58rem);
  height: 52rem;
  background-image: url('assets/optimized/fears-shadow-bottom.webp');
  opacity: .23;
  transform: rotate(28deg);
}

.contact__panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .43fr) minmax(0, .57fr);
  width: min(94%, 100rem);
  min-height: 43rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 3.6vw, 4rem);
  border: 1.5px solid rgba(255, 255, 255, .9);
  border-radius: 1.9rem;
  background: rgba(255, 252, 248, .79);
  box-shadow: 0 1.5rem 4rem rgba(55, 46, 36, .08), inset 0 0 0 1px rgba(169, 149, 119, .06);
  backdrop-filter: blur(9px);
}
.contact__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(1rem, 2.2vw, 2.5rem) 0 .4rem;
  text-align: center;
}
.contact__rule,
.contact__short-rule {
  display: block;
  width: 5rem;
  height: 1px;
  background: #9e7541;
}
.contact__eyebrow {
  margin: 1.15rem 0 1.8rem;
  color: #85663d;
  font: 600 .85rem/1.2 var(--pb-font-body);
  letter-spacing: .33em;
  text-transform: uppercase;
}
.contact__intro h2 {
  font-size: clamp(4.2rem, 5.1vw, 6rem);
  font-weight: 500;
  line-height: .82;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.contact__intro h2 span {
  display: block;
  margin-top: .08em;
  color: #977344;
  font-size: .77em;
  white-space: normal;
}
.contact__lead {
  max-width: 31rem;
  margin: 2.3rem auto 1.65rem;
  font: 500 clamp(1.05rem, 1.35vw, 1.35rem)/1.58 var(--pb-font-body);
}
.contact__short-rule { width: 3.4rem; }
.contact__links {
  display: flex;
  justify-content: center;
  gap: clamp(.75rem, 1.4vw, 1.4rem);
  margin-top: 1.65rem;
}
.contact__links a {
  display: grid;
  width: clamp(3.65rem, 4.5vw, 4.65rem);
  height: clamp(3.65rem, 4.5vw, 4.65rem);
  place-items: center;
  border: 1px solid #b99b73;
  border-radius: .6rem;
  color: #8b683a;
  background: rgba(255, 255, 255, .37);
  transition: transform .2s, background-color .2s, box-shadow .2s;
}
.contact__links a:hover {
  transform: translateY(-3px);
  background: #fffaf2;
  box-shadow: 0 .45rem 1.2rem rgba(114, 80, 42, .14);
}
.contact__links svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact__links a:nth-child(2) svg { fill: currentColor; stroke: none; }
.contact__messenger-bolt { fill: currentColor; stroke: none; }
.contact__form {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  padding-left: clamp(2rem, 3.7vw, 4.3rem);
  border-left: 1px solid #bda98d;
}
.contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact__row > div { min-width: 0; }
.contact__form input:not([type='checkbox']),
.contact__form textarea {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 3.9rem;
  padding: .85rem 1rem;
  border: 1px solid #d8ccbf;
  border-radius: .55rem;
  outline: none;
  background: rgba(255, 255, 255, .95);
  color: #243027;
  font: 500 1rem/1.5 var(--pb-font-body);
  box-shadow: 0 .25rem .7rem rgba(70, 56, 43, .025);
}
.contact__form input::placeholder,
.contact__form textarea::placeholder { color: #63676b; opacity: 1; }
.contact__form textarea { min-height: 11rem; resize: vertical; }
.contact__form input:focus,
.contact__form textarea:focus { border-color: #95703e; outline: 2px solid rgba(149, 112, 62, .28); outline-offset: 1px; }
.contact__date { position: relative; }
.contact__date label {
  position: absolute;
  z-index: 1;
  top: .35rem;
  left: 1rem;
  color: #63676b;
  font: 500 .72rem/1.2 var(--pb-font-body);
  pointer-events: none;
}
.contact__date input { padding-top: 1.35rem !important; color-scheme: light; cursor: pointer; }
.contact__consent { display: flex; align-items: center; gap: .65rem; color: #253329; font: 500 .93rem/1.4 var(--pb-font-body); }
.contact__consent input[type='checkbox'] { width: 1.25rem; height: 1.25rem; flex: none; margin: 0; accent-color: #30392b; cursor: pointer; }
.contact__consent label { cursor: pointer; }
.contact__privacy-link { display: inline-grid; width: 2rem; height: 2rem; flex: none; place-items: center; border: 1px solid #b99b73; border-radius: 50%; color: #8b683a; background: #fffaf2; transition: background-color .2s, transform .2s; }
.contact__privacy-link:hover { background: #f5e8d1; transform: translateY(-2px); }
.contact__privacy-link:focus-visible { outline: 2px solid #95703e; outline-offset: 2px; }
.contact__privacy-link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact__actions { display: flex; justify-content: flex-end; margin-top: .25rem; }
.contact__submit {
  display: inline-flex;
  min-width: 13.5rem;
  min-height: 4.5rem;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: .65rem 1.4rem;
  border: 1px solid #30392b;
  border-radius: .6rem;
  background: #30392b;
  color: #dec59e;
  font: 500 clamp(1.75rem, 2vw, 2.2rem)/1 var(--pb-font-heading);
  cursor: pointer;
  transition: background-color .2s, transform .2s;
}
.contact__submit:hover { background: #222b20; transform: translateY(-2px); }
.contact__submit:disabled { opacity: .65; cursor: wait; transform: none; }
.contact__submit svg { width: 1.7rem; height: 1.7rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.contact__status { min-height: 0; color: #3f5139; font: 500 .88rem/1.45 var(--pb-font-body); }
.contact__status:empty { display: none; }
.contact__status[data-state='error'] { color: #9b3f32; }
.contact__verification { min-height: 4rem; }
.contact__olive {
  position: absolute;
  z-index: 2;
  bottom: -10rem;
  left: -12rem;
  width: min(30vw, 32rem);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(1rem 1.1rem 1rem rgba(33, 42, 26, .18));
}

@media (max-width: 1100px) {
  .contact__panel { grid-template-columns: minmax(0, .44fr) minmax(0, .56fr); padding: 2.5rem; }
  .contact__intro h2 { font-size: clamp(3.2rem, 5vw, 4.5rem); }
  .contact__form { padding-left: 2.2rem; }
  .contact__lead { font-size: 1rem; }
}
@media (max-width: 850px) {
  .contact__panel { grid-template-columns: 1fr; width: min(92%, 44rem); min-height: 0; padding: 2.5rem; }
  .contact__intro { padding: 0 0 2.5rem; }
  .contact__intro h2 { font-size: clamp(3.7rem, 9vw, 5.3rem); }
  .contact__lead { max-width: 34rem; font-size: 1.1rem; }
  .contact__form { padding: 2.5rem 0 0; border-left: 0; border-top: 1px solid #bda98d; }
  .contact__olive { width: 18rem; bottom: -7rem; left: -9rem; }
}
@media (max-width: 560px) {
  .contact { padding-block: 2.7rem 3.4rem; }
  .contact__panel { width: calc(100% - 2rem); padding: 2rem 1.15rem; border-radius: 1.3rem; }
  .contact__intro h2 { font-size: clamp(3.05rem, 13vw, 4.1rem); }
  .contact__eyebrow { margin-bottom: 1.45rem; }
  .contact__lead { margin-top: 1.8rem; }
  .contact__row { grid-template-columns: 1fr; }
  .contact__form { gap: .75rem; padding-top: 2rem; }
  .contact__form input:not([type='checkbox']) { min-height: 3.5rem; }
  .contact__submit { width: 100%; min-height: 4rem; }
  .contact__olive { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .contact__links a,
  .contact__submit,
  .contact__privacy-link { transition: none; }
}


/* flip-icons.css */
/* Every reversible card shows the same flip affordance on its front only. */
.expectation-card__flip-icon {
  border: 0;
  border-radius: 0;
  background: currentColor;
  font-size: 0;
  -webkit-mask: url("assets/flip-icon.svg") center / contain no-repeat;
  mask: url("assets/flip-icon.svg") center / contain no-repeat;
}
.expectation-card__face--front .expectation-card__flip-icon {
  background: none;
  -webkit-mask: none;
  mask: none;
}
.expectation-card__face--front .expectation-card__flip-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.good-party-tile__symbol,
.wedding-game-card__arrow,
.tradition-card__arrow,
.bilingual__flip-prompt,
.expectation-card__face--back .expectation-card__flip { display: none; }
.expectation-card__face--back { padding-bottom: 1.5rem; }

.good-party-tile__face--front::after,
.wedding-game-card__face--front::after,
.tradition-card__face--front::after,
.bilingual__flip-front::after {
  position: absolute;
  right: 1rem;
  bottom: .9rem;
  width: 2.6rem;
  height: 2.6rem;
  background: #a57a42;
  content: "";
  pointer-events: none;
  -webkit-mask: url("assets/flip-icon.svg") center / contain no-repeat;
  mask: url("assets/flip-icon.svg") center / contain no-repeat;
}

.wedding-game-card--wide .wedding-game-card__face--front::after,
.tradition-card--wide .tradition-card__face--front::after { background: #f3d9ac; }

.bilingual__flip-front .bilingual__question { max-width: calc(100% - 3.5rem); }

@media (max-width: 575px) {
  .good-party-tile__face--front::after,
  .wedding-game-card__face--front::after,
  .tradition-card__face--front::after,
  .bilingual__flip-front::after {
    right: .75rem;
    bottom: .75rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}


/* faq.css */
/* GYIK — az oldal elefántcsont, erdőzöld és arany színeivel. */
.faq {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 6vw, 6.5rem) 0 clamp(3.5rem, 5vw, 5rem);
  color: #1c2b22;
  background: #f7f3eb;
}
.faq::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  background:
    radial-gradient(ellipse 70% 42% at 50% 0%, rgba(255, 255, 255, .76), transparent 100%),
    radial-gradient(ellipse 55% 45% at 100% 100%, rgba(214, 196, 161, .16), transparent 100%);
}
.faq__shadow,
.faq__branch {
  position: absolute;
  z-index: -1;
  display: block;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
.faq__shadow { filter: blur(11px); }
.faq__shadow--top { top: -9rem; left: -5rem; width: min(55vw, 58rem); opacity: .2; }
.faq__shadow--bottom { top: 28rem; right: -16rem; width: min(54vw, 55rem); opacity: .15; }
.faq__branch {
  top: -5rem;
  left: -15rem;
  width: clamp(19rem, 31vw, 31rem);
  opacity: .23;
  filter: saturate(.7);
}
.faq__container { position: relative; z-index: 1; max-width: 78.5rem; }
.faq__header { text-align: center; }
.faq h2 {
  color: #1c2b22;
  font-size: clamp(4.5rem, 6.1vw, 6.4rem);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.05em;
}
.faq__subtitle {
  margin-top: .7rem;
  color: #946b37;
  font: 500 clamp(1.03rem, 1.4vw, 1.38rem)/1.2 var(--pb-font-heading);
  letter-spacing: .28em;
}
.faq__intro {
  margin-top: clamp(1.3rem, 2vw, 1.9rem);
  font: 400 clamp(1.25rem, 1.7vw, 1.7rem)/1.18 var(--pb-font-heading);
}
.faq__list {
  display: grid;
  gap: .65rem;
  margin-top: clamp(2rem, 3vw, 2.8rem);
}
.faq__item {
  overflow: hidden;
  border: 1px solid #e4d8c5;
  border-radius: .9rem;
  background: rgba(255, 253, 248, .9);
  box-shadow: 0 .55rem 1.4rem rgba(35, 48, 34, .055);
  transition: border-color .2s ease, background-color .2s ease;
}
.faq__item:hover, .faq__item[open] { border-color: #bda174; background: #fffcf7; }
.faq__item summary {
  display: flex;
  min-height: clamp(4.65rem, 5.4vw, 5.4rem);
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: .8rem clamp(1.2rem, 3vw, 2.9rem);
  cursor: pointer;
  color: #26382b;
  font: 500 clamp(1.55rem, 2.2vw, 2.15rem)/1.07 var(--pb-font-heading);
  letter-spacing: -.025em;
  list-style: none;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::marker { content: ""; }
.faq__item summary:focus-visible { outline: 2px solid #8d6637; outline-offset: -4px; border-radius: .55rem; }
.faq__plus { position: relative; width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; color: #8e693b; background: #f4e8d5; }
.faq__plus::before,
.faq__plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 2px;
  content: "";
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .25s ease;
}
.faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq__item[open] .faq__plus { background: #e9d5b3; }
.faq__item[open] .faq__plus::after { transform: translate(-50%, -50%) rotate(0); }
.faq__answer { padding: 0 clamp(1.2rem, 3vw, 2.9rem) clamp(1.2rem, 2vw, 1.7rem); }
.faq__answer p {
  max-width: 70rem;
  padding-top: clamp(.7rem, 1.3vw, 1.1rem);
  border-top: 1px solid rgba(154, 113, 62, .22);
  color: #344138;
  font: 400 clamp(.98rem, 1.07vw, 1.12rem)/1.58 var(--pb-font-body);
}
@media (max-width: 767px) {
  .faq { padding: 3.7rem 0 3.2rem; }
  .faq__branch { top: -3.5rem; left: -12rem; width: 20rem; opacity: .18; }
  .faq__shadow--top { top: -4rem; left: -14rem; width: 40rem; opacity: .15; }
  .faq__shadow--bottom { top: 32rem; right: -17rem; width: 31rem; opacity: .1; }
  .faq h2 { font-size: clamp(3.6rem, 12vw, 5rem); }
  .faq__subtitle { font-size: .97rem; letter-spacing: .16em; }
  .faq__intro { font-size: 1.26rem; }
  .faq__intro br { display: none; }
  .faq__list { margin-top: 2rem; gap: .6rem; }
  .faq__item summary { min-height: 4.6rem; font-size: clamp(1.38rem, 5.3vw, 1.8rem); }
}
@media (prefers-reduced-motion: reduce) {
  .faq__item, .faq__plus::before, .faq__plus::after { transition: none; }
}


/* deferred-video.css */
.deferred-video{position:relative}
.deferred-video iframe:not([src]){visibility:hidden}
.deferred-video__poster{position:absolute;z-index:1;inset:.55rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:calc(100% - 1.1rem);height:calc(100% - 1.1rem);padding:1.5rem;overflow:hidden;border:0;border-radius:1.6rem;color:#fff9ef;background:#192c1e;font:600 1.05rem/1.35 sans-serif;text-align:center;cursor:pointer;isolation:isolate}
.deferred-video__poster-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:fill}
.deferred-video__poster::after{position:absolute;inset:0;z-index:1;content:"";background:linear-gradient(180deg,transparent 30%,rgba(11,23,15,.14) 55%,transparent 80%);pointer-events:none}
.deferred-video__poster:focus-visible{outline:3px solid #d9b26a;outline-offset:-5px}
.deferred-video__play{position:relative;z-index:2;display:grid;place-items:center;width:4.1rem;height:4.1rem;padding-left:.25rem;border:2px solid #d9b26a;border-radius:50%;background:#f7f1e8;color:#243526;font-size:1.35rem;box-shadow:0 .6rem 1.5rem #101e17aa}
.deferred-video__label{position:relative;z-index:2;padding:.3rem .7rem;border-radius:99px;background:rgba(17,32,22,.78);text-shadow:0 1px 2px #101e17aa}
.deferred-video--loading .deferred-video__poster{pointer-events:none}
.deferred-video--loaded .deferred-video__poster{display:none}
