/* site-critical-mobile-20261014.css */
html{line-height:1.5;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;margin:0}figure{margin:0}summary{cursor:pointer}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.d-none{display:none!important}@media(min-width:1200px){.d-xl-inline{display:inline!important}}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/cormorant-garamond-latin-ext-20261014.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/cormorant-garamond-latin-20261014.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url(assets/fonts/manrope-latin-ext-20261014.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url(assets/fonts/manrope-latin-20261014.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* design-system.css */





/* Pozsár Bence · Design system v2 · 2026-09-16
   A teljes oldal közös tokenjei. Részletek: design-system-audit.md */
:root{
 --pb-ivory:#f3eee5;--pb-ivory-light:#f8f5ef;--pb-forest:#30392b;--pb-forest-hover:#222b20;
 --pb-gold:#876537;--pb-olive:#71775a;--pb-text:#141c16;--pb-muted:#575b50;--pb-taupe:#d5cbbc;
 --pb-font-heading:'Cormorant Garamond',Georgia,serif;--pb-font-body:Manrope,Arial,sans-serif;
 --pb-h1:clamp(3.5rem,7.3vw,6.5rem);--pb-h2:clamp(2.5rem,4vw,3.625rem);--pb-h3:clamp(1.75rem,2.4vw,2.125rem);
 --pb-body:1.0625rem;--pb-lead:1.3125rem;--pb-small:.875rem;
 --pb-space-1:.25rem;--pb-space-2:.5rem;--pb-space-3:.75rem;--pb-space-4:1rem;--pb-space-5:1.5rem;--pb-space-6:2rem;--pb-space-7:3rem;--pb-space-8:4rem;--pb-space-9:6rem;
 --pb-container:75rem;--pb-text-width:40rem;--pb-gutter:clamp(1.25rem,4vw,3rem);--pb-section-space:clamp(3rem,6vw,6rem);
 --pb-btn-height:4rem;--pb-btn-font-size:1.375rem;--pb-btn-line-height:1.2;--pb-btn-radius:.5rem;--pb-radius:.625rem;
 --bs-body-font-family:var(--pb-font-body);--bs-body-color:var(--pb-text);--bs-body-bg:var(--pb-ivory);--bs-primary:#30392b;--bs-primary-rgb:48,57,43;--bs-border-color:var(--pb-taupe);
}
*,*::before,*::after{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--pb-ivory);color:var(--pb-text);font-family:var(--pb-font-body);font-size:var(--pb-body);line-height:1.65}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--pb-font-heading);font-weight:500;margin:0;letter-spacing:-.035em;line-height:1.06}h1{font-size:var(--pb-h1)}h2{font-size:var(--pb-h2)}h3{font-size:var(--pb-h3)}p{margin:0}.pb-container{width:calc(100% - var(--pb-gutter)*2);max-width:var(--pb-container);margin-inline:auto}.pb-section{padding-block:var(--pb-section-space)}.pb-section--light{background:var(--pb-ivory)}.pb-section--dark{background:var(--pb-forest);color:var(--pb-ivory)}.pb-prose{max-width:var(--pb-text-width)}
.pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--pb-space-3);min-height:var(--pb-btn-height);padding:.875rem 1.5rem;border:1px solid transparent;border-radius:var(--pb-btn-radius);font:500 var(--pb-btn-font-size)/var(--pb-btn-line-height) var(--pb-font-heading);text-decoration:none;text-align:center;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s;touch-action:manipulation}.pb-btn svg{width:1.75rem;height:1.75rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pb-btn--primary{background:var(--pb-forest);color:var(--pb-ivory-light);border-color:var(--pb-forest)}.pb-btn--primary:hover{background:var(--pb-forest-hover);color:var(--pb-ivory-light)}.pb-btn--outline{background:var(--pb-ivory);color:var(--pb-text);border-color:var(--pb-gold)}.pb-btn--outline:hover{background:#e9e1d4;color:var(--pb-text)}:focus-visible{outline:3px solid var(--pb-gold);outline-offset:5px}.pb-field{width:100%;min-height:var(--pb-btn-height);padding:.875rem 1rem;border:1px solid var(--pb-taupe);border-radius:var(--pb-radius);background:var(--pb-ivory-light);color:var(--pb-text);font:inherit}.pb-card{padding:var(--pb-space-6);border:1px solid var(--pb-taupe);border-radius:var(--pb-radius);background:var(--pb-ivory-light)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* v3: accessible gold for dark sections and shared gold CTA variant. */
:root{--pb-gold-on-dark:#c6a36b;--pb-gold-button-hover:#d4b780}
.pb-btn--gold{background:var(--pb-gold-on-dark);border-color:var(--pb-gold-on-dark);color:var(--pb-text)}
.pb-btn--gold:hover{background:var(--pb-gold-button-hover);border-color:var(--pb-gold-button-hover);color:var(--pb-text)}
.pb-section--dark :focus-visible,.date-finder :focus-visible{outline-color:var(--pb-gold-on-dark)}


/* site-chrome.css */
.site-nav {
  position: sticky;
  z-index: 100;
  top: 0;
  background: rgba(248, 245, 239, .96);
  border-bottom: 1px solid rgba(135, 101, 55, .2);
  box-shadow: 0 .45rem 1.5rem rgba(37, 42, 30, .06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.site-nav__inner {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  max-width: 88rem;
}
.site-nav__brand {
  display: flex;
  flex: none;
  flex-direction: column;
  color: var(--pb-text);
  line-height: 1;
  text-decoration: none;
}
.site-nav__brand strong {
  font: 600 1.7rem/.93 var(--pb-font-heading);
  letter-spacing: -.035em;
}
.site-nav__brand span {
  margin-top: .24rem;
  color: var(--pb-gold);
  font: 600 .62rem/1 var(--pb-font-body);
  letter-spacing: .23em;
  text-transform: uppercase;
}
.site-nav__links { display: flex; align-items: center; justify-content: flex-end; gap: clamp(1rem, 2vw, 2rem); }
.site-nav__links a {
  padding: .5rem 0;
  color: #303a2d;
  font: 600 clamp(.78rem, .94vw, .92rem)/1.3 var(--pb-font-body);
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}
.site-nav__links a:hover,
.site-nav__links a:focus-visible { color: #966c36; }
.site-nav__toggle { display: none; }
section[id] { scroll-margin-top: 4.5rem; }

.site-footer {
  position: relative;
  z-index: 4;
  padding: clamp(3.2rem, 5vw, 5.5rem) 0;
  color: var(--pb-ivory-light);
  background: linear-gradient(120deg, #17231b 0%, #233024 55%, #19251c 100%);
}
.site-footer__inner {
  display: grid;
  max-width: 88rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 3rem;
}
.site-footer__brand { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer__rule { width: 4.4rem; height: 2px; margin-bottom: 1.4rem; background: var(--pb-gold-on-dark); }
.site-footer__brand strong { font: 500 clamp(2.8rem, 4vw, 4.3rem)/.95 var(--pb-font-heading); }
.site-footer__brand > span:last-child { margin-top: .4rem; color: #d6b781; font: 500 clamp(1.25rem, 1.7vw, 1.6rem)/1.1 var(--pb-font-heading); }
.site-footer__contact { display: flex; flex-direction: column; align-items: flex-start; justify-self: end; min-width: min(100%, 22rem); gap: .5rem; }
.site-footer__contact h2 { margin-bottom: .65rem; color: #d6b781; font-size: clamp(1.8rem, 2.2vw, 2.4rem); }
.site-footer__contact a,
.site-footer__contact address { margin: 0; color: var(--pb-ivory-light); font: 400 clamp(.95rem, 1.1vw, 1.1rem)/1.6 var(--pb-font-body); text-decoration: none; }
.site-footer__contact a:hover,
.site-footer__contact a:focus-visible { color: #e7c58c; text-decoration: underline; }

@media (max-width: 960px) {
  .site-nav__inner { min-height: 4rem; }
  .site-nav__toggle {
    display: flex;
    width: 2.75rem;
    height: 2.75rem;
    flex: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    padding: 0;
    border: 1px solid rgba(135, 101, 55, .55);
    border-radius: .45rem;
    background: transparent;
    cursor: pointer;
  }
  .site-nav__toggle span { width: 1.2rem; height: 1.5px; background: #74552e; transition: transform .2s ease, opacity .2s ease; }
  .site-nav.is-open .site-nav__toggle span:first-child { transform: translateY(.4rem) rotate(45deg); }
  .site-nav.is-open .site-nav__toggle span:nth-child(2) { opacity: 0; }
  .site-nav.is-open .site-nav__toggle span:last-child { transform: translateY(-.4rem) rotate(-45deg); }
  .site-nav__links {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: .5rem var(--pb-gutter) 1rem;
    border-bottom: 1px solid rgba(135, 101, 55, .25);
    background: #f8f5ef;
    box-shadow: 0 1rem 1.5rem rgba(37, 42, 30, .1);
  }
  .site-nav.is-open .site-nav__links { display: flex; }
  .site-nav__links a { padding: .75rem 0; border-bottom: 1px solid rgba(135, 101, 55, .13); font-size: .95rem; }
  .site-nav__links a:last-child { border-bottom: 0; }
  section[id] { scroll-margin-top: 4.5rem; }
}
@media (max-width: 600px) {
  .site-footer__inner { grid-template-columns: 1fr; gap: 2.25rem; }
  .site-footer__contact { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav__links a,
  .site-nav__toggle span { transition: none; }
}


/* hero.css?v=20261008-reverted */
/* The opening section uses the shared typography and color system. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
  height: calc(100svh - 11rem);
  min-height: 38rem;
  background: var(--pb-ivory);
}
.hero__media { position: absolute; inset: 0 0 0 40%; z-index: -2; }
.hero__photo { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--pb-ivory) 0%, rgba(243,238,229,.88) 2%, rgba(243,238,229,.45) 9%, rgba(243,238,229,.08) 17%, transparent 25%);
}
.hero__content { position: relative; z-index: 2; width: 54%; max-width: 40rem; padding-block: 2.5rem; }
.hero__rule { display: block; width: 4rem; height: 2px; margin-bottom: var(--pb-space-5); background: var(--pb-gold); }
.hero__eyebrow { margin-bottom: var(--pb-space-4); color: var(--pb-gold); font: 600 clamp(.8125rem,1.4vw,1.1875rem)/1.5 var(--pb-font-body); letter-spacing: .22em; }
.hero__title { white-space: nowrap; letter-spacing: -.045em; font-weight: 600; }
.hero__subtitle { max-width: 36rem; margin-top: var(--pb-space-2); color: var(--pb-gold); font: 600 clamp(1.8rem,2.5vw,2.5rem)/1.15 var(--pb-font-heading); letter-spacing: -.025em; }
.hero__quote { max-width: 34rem; margin: var(--pb-space-6) 0; font: 500 clamp(2rem,2.75vw,2.75rem)/1.15 var(--pb-font-heading); letter-spacing: -.02em; }
.hero__quote strong { display: block; margin-top: .25rem; color: var(--pb-gold); font-weight: 600; }

@media (min-width: 1600px) {
  .hero .pb-container { max-width: 87.5rem; }
  .hero__content { width: 49%; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hero__content { width: 58%; }
  .hero__title { font-size: clamp(3.5rem,7.3vw,5.5rem); }
  .hero__subtitle, .hero__quote { max-width: 25rem; }
  .hero__media { left: 38%; }
}
@media (max-width: 991px) {
  .hero { display: flex; flex-direction: column; height: auto; min-height: 0; }
  .hero > .pb-container { order: 0; }
  .hero__content { width: 100%; max-width: 36rem; padding-block: 3rem 2rem; }
  .hero__rule { width: 3rem; margin-bottom: 1rem; }
  .hero__eyebrow { margin-bottom: 1rem; font-size: .75rem; letter-spacing: .19em; }
  .hero__title { font-size: clamp(3.15rem,11.5vw,5rem); white-space: normal; }
  .hero__subtitle { max-width: 26rem; font-size: clamp(1.8rem,5vw,2.2rem); }
  .hero__quote { max-width: 30rem; margin-block: 2rem; font-size: clamp(1.9rem,5vw,2.3rem); }
  .hero__media { position: relative; inset: auto; order: 1; width: 100%; height: auto; aspect-ratio: 1.3; z-index: -1; }
  .hero__photo { object-position: center 20%; }
  .hero__media::after { background: linear-gradient(180deg,var(--pb-ivory),rgba(243,238,229,.45) 8%,transparent 23%); }
}
@media (min-width: 992px) and (max-height: 760px) {
  .hero { min-height: 0; }
  .hero__content { padding-block: 1rem; }
  .hero__rule { margin-bottom: .75rem; }
  .hero__eyebrow { margin-bottom: .5rem; }
  .hero__title { font-size: clamp(3.5rem,5vw,5rem); }
  .hero__quote { margin-block: 1rem; font-size: clamp(1.7rem,2vw,2rem); }
}
@media (min-width: 992px) and (max-height: 560px) {
  .hero { height: auto; }
}

/* The text enters in reading order on first load. */
.hero__rule, .hero__eyebrow, .hero__title, .hero__subtitle, .hero__quote {
  animation: hero-content-arrive .35s cubic-bezier(.2,.72,.2,1) both;
  animation-delay: 0s;
}
.hero__rule { --hero-arrival-delay: .06s; }
.hero__eyebrow { --hero-arrival-delay: .2s; }
.hero__title { --hero-arrival-delay: .42s; }
.hero__subtitle { --hero-arrival-delay: .67s; }
.hero__quote { --hero-arrival-delay: .94s; }
@keyframes hero-content-arrive {
  from { opacity: 1; transform: translateY(.4rem); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__rule, .hero__eyebrow, .hero__title, .hero__subtitle, .hero__quote { animation: none; }
}


/* date-finder.css?v=20261009-compact */
/* The date finder rises over the hero while the hero stays in view. */
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
.hero{position:sticky;top:4.0625rem;z-index:0}
.page-reveal{position:relative;z-index:3;min-height:100svh;background:var(--pb-ivory)}
@media(max-width:991px){.hero{position:relative;top:auto}}
.date-finder{position:relative;background:linear-gradient(120deg,#17231b 0%,#233024 55%,#19251c 100%);color:var(--pb-ivory-light);padding-block:clamp(4rem,5vw,6rem);box-shadow:0 -18px 48px rgba(20,28,22,.13);scroll-margin-top:1.5rem}
.date-finder .pb-container{width:93%;max-width:none}
.date-finder__grid{display:grid;grid-template-columns:10rem minmax(22rem,1fr) minmax(31rem,1.42fr);align-items:center;gap:clamp(2.25rem,3.25vw,4.75rem)}
.date-finder__emblem{display:grid;place-items:center;width:10rem;height:10rem;border-radius:50%;background:rgba(198,163,107,.08)}
.date-finder__emblem img{width:7.4rem;height:auto}
.date-finder__intro{border-left:1px solid var(--pb-gold-on-dark);padding-left:clamp(2.25rem,3vw,4rem)}
.date-finder__intro h2{font-size:clamp(2rem,2.1vw,2.75rem);letter-spacing:0;line-height:1.15;font-weight:600}
.date-finder__intro p{font-size:clamp(1rem,1.35vw,1.5rem);line-height:1.55;color:var(--pb-ivory)}
.date-finder__rule{display:block;height:1px;width:6rem;background:var(--pb-gold-on-dark);margin-block:1.5rem}
.date-finder__form{min-width:0;border-left:1px solid var(--pb-gold-on-dark);padding-left:clamp(2.25rem,3vw,4rem)}
.date-finder__question{display:block;margin-bottom:var(--pb-space-4);font:500 clamp(2rem,2.1vw,2.75rem)/1.2 var(--pb-font-heading);transform-origin:left center}
.date-finder__question strong{color:var(--pb-gold-on-dark);font-weight:600}
.date-finder__controls{display:flex;align-items:stretch;gap:var(--pb-space-4)}
.date-finder__field{position:relative;flex:1;min-width:0;cursor:pointer}
.date-finder__field>img{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;pointer-events:none}
.date-finder .pb-field{background:#fff;color:#1b271e;border-color:#fff;padding-left:3.5rem;font-size:clamp(1rem,1.2vw,1.375rem);color-scheme:light;min-height:5rem;min-width:0;cursor:pointer;caret-color:transparent;user-select:none;-webkit-user-select:none}
.date-finder .pb-field::-webkit-calendar-picker-indicator{opacity:0}
.date-finder .pb-field:focus{outline:2px solid var(--pb-gold-on-dark);outline-offset:3px;border-color:var(--pb-gold-on-dark)}
.date-finder .pb-btn{flex-shrink:0;min-height:5rem;padding-inline:clamp(1.5rem,2.5vw,3.25rem);font-size:clamp(1.5rem,1.75vw,2rem)}
.date-finder__result{font-size:.875rem;line-height:1.5;margin:0;color:var(--pb-ivory)}
.date-finder__result:not(:empty){margin-top:1rem}
.date-finder__result--loading{opacity:.8}
.date-finder__result--free,.date-finder__result--pending,.date-finder__result--booked,.date-finder__result--error{padding:.85rem 1rem;border:1px solid rgba(215,183,126,.55);border-radius:.65rem;background:rgba(255,255,255,.07);font-size:1rem}
.date-finder__result--free{border-color:#b9d3af}
.date-finder__result--error{border-color:#e5b1a5}
.date-finder__result a{color:#f0ce91;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.date-finder .pb-btn:disabled{opacity:.65;cursor:wait}
.date-finder.is-highlighted{box-shadow:0 -18px 48px rgba(20,28,22,.13),inset 0 2px var(--pb-gold-on-dark)}
.date-finder.is-highlighted:not(.is-engaged) .date-finder__question{animation:date-invitation 2.8s ease-in-out 3}
.date-finder.is-highlighted:not(.is-engaged) .date-finder__field .pb-field{animation:date-field-invitation 2.8s ease-in-out infinite}
@keyframes date-invitation{0%,100%{transform:scale(1);text-shadow:0 0 0 transparent}50%{transform:scale(1.025);text-shadow:0 0 18px rgba(198,163,107,.4)}}
@keyframes date-field-invitation{0%,100%{border-color:rgba(243,238,229,.38);box-shadow:0 0 0 0 rgba(198,163,107,0)}50%{border-color:var(--pb-gold-on-dark);box-shadow:0 0 0 .42rem rgba(198,163,107,.1)}}
@media(max-width:1199px){.date-finder{padding-block:3.5rem}.date-finder .pb-container{width:calc(100% - var(--pb-gutter)*2)}.date-finder__grid{grid-template-columns:5rem 1fr;gap:1.5rem}.date-finder__emblem{width:5rem;height:5rem}.date-finder__emblem img{width:4rem}.date-finder__form{grid-column:2}.date-finder__intro,.date-finder__form{padding-left:1.5rem}.date-finder__intro h2{font-size:2rem}.date-finder__intro p{font-size:1rem}.date-finder__question{font-size:2rem}.date-finder__controls{max-width:43rem}.date-finder .pb-field,.date-finder .pb-btn{min-height:4rem}.date-finder .pb-btn{font-size:1.5rem}}
@media(max-width:575px){.date-finder{padding-block:2rem}.date-finder__grid{grid-template-columns:3.5rem 1fr;gap:1.25rem}.date-finder__emblem{width:3.5rem;height:3.5rem}.date-finder__emblem img{width:3rem}.date-finder__intro{border:0;padding:0}.date-finder__intro h2{font-size:1.5rem}.date-finder__intro p{font-size:.875rem}.date-finder__form{grid-column:1/-1;border:0;border-top:1px solid rgba(198,163,107,.4);padding:1.5rem 0 0}.date-finder__question{font-size:1.75rem}.date-finder__controls{flex-direction:column}.date-finder .pb-field{height:4rem;min-height:4rem}.date-finder .pb-btn{width:100%;min-height:4rem;font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.date-finder.is-highlighted:not(.is-engaged) .date-finder__question,.date-finder.is-highlighted:not(.is-engaged) .date-finder__field .pb-field{animation:none}}

/* The opening date finder is one compact panel beneath the hero. */
.date-finder--hero{
  display:flow-root;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.date-finder--hero .date-finder__search{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:clamp(2rem,4vw,5rem);
  width:88%;
  max-width:none;
  margin:-3.5rem auto 0;
  padding:clamp(1.75rem,3vw,3rem);
  border:1px solid rgba(215,183,126,.65);
  border-radius:1.25rem;
  background:linear-gradient(135deg,#26382a,#17261c);
  color:var(--pb-ivory-light);
  box-shadow:0 1rem 2.3rem rgba(16,30,19,.18);
  scroll-margin-top:5.5rem;
  animation: date-search-arrive .45s cubic-bezier(.2,.72,.2,1) both;
}
@keyframes date-search-arrive{
  from{opacity:1;transform:translateY(1.5rem)}
  to{opacity:1;transform:none}
}
.date-finder--hero .date-finder__search h2{
  margin:0;
  font:600 clamp(2rem,2.8vw,3.25rem)/1.08 var(--pb-font-heading);
  letter-spacing:-.035em;
}
.date-finder--hero .date-finder__form{
  grid-column:auto;
  min-width:0;
  padding:0;
  border:0;
}
.date-finder--hero .date-finder__controls{gap:1rem;max-width:none}
.date-finder--hero .date-finder__field{min-width:0}
.date-finder--hero .date-finder__field>img{left:1rem;width:1.75rem;height:1.75rem}
.date-finder--hero .pb-field{min-height:4.5rem;padding-left:3.5rem}
.date-finder--hero .date-finder__controls .pb-btn{
  min-width:10rem;
  min-height:4.5rem;
  font-size:clamp(1.15rem,1.4vw,1.5rem);
}
@media(max-width:1199px){
  .date-finder--hero .date-finder__search{
    grid-template-columns:1fr;
    gap:1.25rem;
    width:calc(100% - 2.5rem);
    margin-top:-2.5rem;
  }
}
@media(max-width:575px){
  .date-finder--hero .date-finder__search{
    width:calc(100% - 2rem);
    margin-top:-2rem;
    padding:1.5rem;
  }
  .date-finder--hero .date-finder__search h2{font-size:clamp(1.8rem,7vw,2.5rem)}
  .date-finder--hero .date-finder__controls .pb-btn{width:100%;min-height:4rem}
}
@media(prefers-reduced-motion:reduce){
  .date-finder--hero .date-finder__search{animation:none}
}



/* site-deferred-20261009-posters-v3.css */
/* 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-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--karolina-marci {
  background: #17251c;
}

.photo-bridge--karolina-marci 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--karolina-marci {
    background: #17251c;
  }

  .photo-bridge--karolina-marci::before {
    background: url("assets/optimized/lagzi-karolina-marci-hq-20261020-960.webp") center / cover no-repeat;
  }

  .photo-bridge--karolina-marci 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; }
.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: minmax(0, 1fr) minmax(0, 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;
  max-width: 100%;
  box-sizing: border-box;
  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; }
/* Constrain Safari's native date control to the same box as the other fields. */
.contact__date { min-width: 0; max-width: 100%; }
.contact__date input[type='date'] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 3.95rem;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.contact__date input::-webkit-date-and-time-value { min-width: 0; text-align: left; }
.contact__date input::-webkit-datetime-edit { display: block; min-width: 0; padding: 0; }

.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) {
  /* Use natural block flow on phones: Safari must size the intro and form
     together, without an implicit grid row or a filtered paint layer. */
  .contact { display: flow-root; height: auto; min-height: 0; }
  .contact__panel { display: block; width: min(92%, 44rem); height: auto; min-height: 0; padding: 2.5rem; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .contact__shadow { display: none; }
  .contact__intro { position: relative; height: auto; justify-content: flex-start; 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); white-space: normal; }
  .contact__eyebrow { margin-bottom: 1.45rem; }
  .contact__lead { margin-top: 1.8rem; }
  .contact__row { grid-template-columns: minmax(0, 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("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2229%22%2F%3E%20%3Cpath%20d%3D%22M17%2026h30m-8-7%208%207-8%207M47%2038H17m8-7-8%207%208%207%22%2F%3E%20%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2229%22%2F%3E%20%3Cpath%20d%3D%22M17%2026h30m-8-7%208%207-8%207M47%2038H17m8-7-8%207%208%207%22%2F%3E%20%3C%2Fsvg%3E") 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("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2229%22%2F%3E%20%3Cpath%20d%3D%22M17%2026h30m-8-7%208%207-8%207M47%2038H17m8-7-8%207%208%207%22%2F%3E%20%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2229%22%2F%3E%20%3Cpath%20d%3D%22M17%2026h30m-8-7%208%207-8%207M47%2038H17m8-7-8%207%208%207%22%2F%3E%20%3C%2Fsvg%3E") 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;flex-shrink:0}
.deferred-video__play::before{content:"";display:block;width:0;height:0;border-top:.55em solid transparent;border-bottom:.55em solid transparent;border-left:.9em solid currentColor}
.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,.deferred-video--interacted .deferred-video__poster{display:none}
@media(max-width:991px),(hover:none) and (pointer:coarse){
 .deferred-video--prepared .deferred-video__poster{pointer-events:none}
 .deferred-video--prepared iframe:focus + .deferred-video__poster{display:none}
}


/* cookie-consent.css */
.cookie-consent[hidden],.cookie-consent [hidden]{display:none!important}
.cookie-consent{position:fixed;z-index:10000;left:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);width:min(42rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid #d8c6aa;border-radius:1.25rem;background:linear-gradient(155deg,#fbf8f2,#eee6d9);box-shadow:0 18px 65px rgba(20,28,22,.22);color:#1d2d22;font:500 .875rem/1.6 var(--pb-font-body,Arial,sans-serif);animation:cookie-arrive .35s ease-out}
.cookie-consent h2{font:600 clamp(1.8rem,4vw,2.25rem)/1.1 var(--pb-font-heading,Georgia,serif);letter-spacing:-.02em;margin:0 0 .75rem}
.cookie-consent__copy{max-width:38rem}.cookie-consent__privacy{display:inline-block;margin:.7rem 0 1rem;color:#76562b;text-underline-offset:3px}
.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:.65rem}.cookie-consent__button{flex:1 1 12rem;min-height:2.875rem;padding:.7rem 1rem;border:1px solid #30392b;border-radius:.6rem;background:#30392b;color:#f8f5ef;font:600 .875rem/1.35 var(--pb-font-body,Arial,sans-serif);cursor:pointer}.cookie-consent__button:hover{background:#202c22}.cookie-consent__settings-button{display:block;margin:.85rem auto 0;padding:.25rem .5rem;border:0;background:transparent;color:#30392b;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer}
.cookie-consent__options{margin:1rem 0;border-top:1px solid #d5cbbc}.cookie-consent__option{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:.85rem 0;border-bottom:1px solid #d5cbbc}.cookie-consent__option strong{font-weight:600}.cookie-consent__option small{grid-column:1/-1;font-size:.8125rem;line-height:1.5;color:#575b50}.cookie-consent__option input{width:1.25rem;height:1.25rem;margin:.15rem;accent-color:#30392b;cursor:pointer}.cookie-consent__required{font-size:.75rem;color:#575b50;align-self:center}.cookie-consent__save{width:100%;margin-top:.85rem}.cookie-consent__video{margin-bottom:1rem;padding:.8rem;border-radius:.5rem;background:#e5ddcd}.cookie-consent__video p{margin-bottom:.6rem}.cookie-consent__video .cookie-consent__button{width:100%}
.cookie-settings-link{padding:.4rem 0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.cookie-consent :focus-visible,.cookie-settings-link:focus-visible{outline:3px solid #876537;outline-offset:3px}
@keyframes cookie-arrive{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}
@media(max-width:480px){.cookie-consent{left:1rem;bottom:1rem;padding:1.25rem}.cookie-consent__button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.cookie-consent{animation:none}}


/* hero-opening-20261014.css */
/* Explicit first-load reveal: the next section uncovers the stationary hero. */
@media (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  .hero-opening .page-reveal {
    animation: hero-opening-uncover .75s cubic-bezier(.22,.68,.2,1) both;
  }
  .hero-opening .date-finder--hero .date-finder__search {
    animation: none;
  }
}
@keyframes hero-opening-uncover {
  from { transform: translateY(clamp(-24rem, -35svh, -12rem)); }
  to { transform: none; }
}


/* mobile-20261014.css */
.photo-bridge picture{display:block;width:100%;height:100%}
.dream-ideas__arrow--mobile{display:none}
/* iOS date controls must be allowed to shrink inside both search panels. */
.date-finder__controls,.date-finder__field,.date-finder__form{min-width:0;max-width:100%}
.date-finder input[type=date]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;line-height:1.35}
.date-finder input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}
.date-finder input[type=date]::-webkit-datetime-edit{display:block;min-width:0;padding:0}
@media(max-width:991px){
 .hero{display:flex;flex-direction:column;height:auto;min-height:0}
 .hero__media{position:relative;inset:auto;order:0;width:100%;height:auto;aspect-ratio:1.3;z-index:0}
 .hero__media::after{background:none}
 .hero>.pb-container{order:1;width:calc(100% - 2rem)}
 .hero__content{width:100%;max-width:none;text-align:center;padding:1.75rem 0 2.25rem}
 .hero__rule,.hero__quote{display:none}
 .hero__eyebrow{font-size:clamp(.7rem,2.6vw,.95rem);letter-spacing:.18em;margin:0 0 .65rem}
 .hero__title{font-size:clamp(3rem,11vw,4.75rem);line-height:1.02;white-space:normal}
 .hero__subtitle{max-width:none;margin:.65rem 0 0;font-size:clamp(1.8rem,6.4vw,2.5rem)}
 .hero__eyebrow,.hero__title,.hero__subtitle{animation:none}
 .date-finder--hero .date-finder__search{margin-top:0;animation:none;gap:1.25rem}
 .date-finder__controls{width:100%;flex-direction:column}
 .date-finder__field{width:100%;flex:auto}
 .date-finder .pb-field{height:4rem;min-height:4rem;font-size:1rem;padding:.8rem 1rem .8rem 3.25rem}
 .date-finder .pb-btn{width:100%;min-width:0}
 .date-finder.is-highlighted .pb-field{animation:none}
 .good-party__grid,.wedding-games__grid,.dream-wedding--traditions .dream-wedding__grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .good-party__copy,.wedding-games__copy,.dream-wedding--traditions .dream-wedding__copy{display:contents}
 .good-party__rule,.wedding-games__rule,.dream-wedding--traditions .dream-wedding__rule{grid-column:1;grid-row:1;margin:0}
 .good-party h2,.wedding-games h2,.traditions__title{grid-column:1;grid-row:2}
 .good-party__intro,.wedding-games__lead,.traditions__subtitle{grid-column:1;grid-row:3;margin-top:0!important}
 .good-party__media,.wedding-games__media,.dream-wedding--traditions .dream-wedding__media{grid-column:1;grid-row:4;min-height:0;margin:1rem 0}
 .good-party__tiles,.wedding-games__cards,.traditions__cards{grid-column:1;grid-row:5;margin-top:0}
 .dream-wedding__media{min-height:0;min-width:0}
 .bilingual{--bilingual-phone-scale:1}
 .bilingual__phone{transform:none;will-change:auto}
 .dream-wedding__phone,.good-party__phone,.wedding-games__phone,.dream-wedding--ideas.dream-wedding--enhanced .dream-wedding__phone,.good-party--enhanced .good-party__phone,.wedding-games--enhanced .wedding-games__phone{width:min(100%,20rem);transform:none;opacity:1;will-change:auto}
 .dream-wedding__halo,.good-party__halo,.wedding-games__halo{width:min(100%,24rem);animation:none;filter:none;opacity:1}
 .dream-wedding__grid{grid-template-columns:minmax(0,1fr);gap:2rem}
 .dream-ideas__arrow:not(.dream-ideas__arrow--mobile){display:none}
 .dream-ideas__arrow--mobile{display:block}
 .dream-ideas__visual{height:12rem;max-width:25rem;margin-inline:auto}
 .dream-ideas__lego{width:55%;max-width:13rem;left:0}
 .dream-ideas__arrow{top:1rem;left:auto;right:8%;width:30%;height:10rem;transform:none;overflow:visible}
 .dream-ideas__arrow-line,.dream-ideas__arrow-tip{animation:none;opacity:1;stroke-dashoffset:0}
 .helping__branch,.helping__shadow,.pricing__olive--top,.pricing__olive--top-right,.pricing__shadow--top{display:none}
 .dream-wedding::before{display:none}
}
@media(max-width:850px){
 .about{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:3rem var(--pb-gutter);min-height:0}
 .about__content{display:contents}
 .about__heading{grid-column:1;grid-row:1;margin-bottom:1.75rem;min-width:0}
 .about__heading h3{line-height:.95;font-size:clamp(3.2rem,10vw,5rem)}
 .about__portrait{grid-column:1;grid-row:2;position:relative;width:100%;height:auto;min-height:0;margin:0 0 2rem;aspect-ratio:1362/1774}
 .about__portrait-frame{position:relative;inset:auto;transform:none;height:100%}
 .about__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
 .about__prose{grid-column:1;grid-row:3;min-width:0;margin:0}
 .about__closing-rule{grid-column:1;grid-row:4}
}
@media(max-width:767px){
 .photo-bridge{position:relative;top:auto;display:block;height:auto;min-height:0;overflow:hidden;background:none}
 .photo-bridge::before{display:none;content:none}
 .photo-bridge img,.photo-bridge picture{display:block;position:static;width:100%;height:auto;object-fit:contain}
 .photo-bridge-sequence>.dream-wedding--ideas,.photo-bridge-sequence--selling>.selling-points{margin-top:0;border-radius:0;box-shadow:none}
}
@media(max-width:420px){
 .date-finder--hero .date-finder__search{padding:1.25rem}
 .date-finder--hero .date-finder__search h2{font-size:1.8rem}
 .site-nav__brand-name{font-size:1.65rem}
 .cookie-consent{max-height:min(70dvh,35rem)}
}


/* Conversation bubbles follow the existing slider; no extra script or images. */
.bilingual__speech{position:absolute;inset:0;z-index:5;pointer-events:none;user-select:none}
.bilingual__bubble{--bubble-opacity:clamp(0,calc(var(--mix,0)*5 - var(--bubble-start)),1);position:absolute;left:var(--bubble-x);top:var(--bubble-y);display:block;width:max-content;max-width:30%;padding:.38em .72em;border:1px solid #b98b4c;border-radius:1em 1em 1em .35em;background:#fff8eb;color:#243526;box-shadow:0 .18em .5em #1c2b2240;font:700 clamp(.6rem,1.2vw,.95rem)/1.15 var(--pb-font-body,Arial,sans-serif);white-space:nowrap;opacity:var(--bubble-opacity);transform:translate(-50%,calc((1 - var(--bubble-opacity))*.35rem));transition:opacity .18s ease-out,transform .18s ease-out}
.bilingual__bubble::before{content:"";position:absolute;top:-.31em;left:var(--bubble-tail,25%);width:.55em;height:.55em;border-top:1px solid #b98b4c;border-left:1px solid #b98b4c;background:#fff8eb;transform:rotate(45deg)}
.bilingual__bubble--laugh{--bubble-x:24%;--bubble-y:43%;--bubble-start:3;--bubble-tail:70%;letter-spacing:.025em}
.bilingual__bubble--question{--bubble-x:54%;--bubble-y:52%;--bubble-start:3.2;--bubble-tail:72%}
.bilingual__bubble--english{--bubble-x:84%;--bubble-y:43%;--bubble-start:3.4;--bubble-tail:22%}
@media(max-width:991px){.bilingual__bubble{font-size:clamp(.6rem,2.5vw,.95rem)}}
@media(prefers-reduced-motion:reduce){.bilingual__bubble{transition:none;transform:translateX(-50%)}}


/* A single, short flip hint on the first card in each video/card section. */
.pb-card-nudge > :is(.good-party-tile__inner,.wedding-game-card__inner,.tradition-card__inner,.bilingual__flip-inner){animation:pb-card-nudge var(--pb-card-hint-duration,1.15s) cubic-bezier(.4,0,.2,1) both}
/* More pronounced on these first cards; bilingual keeps the original hint. */
:is(.good-party,.wedding-games,.dream-wedding--traditions) .pb-card-nudge{--pb-card-hint-duration:1.5s;--pb-card-hint-turn-1:-34deg;--pb-card-hint-turn-2:25deg;--pb-card-hint-turn-3:-13deg;--pb-card-hint-turn-4:6deg}
@keyframes pb-card-nudge{
 0%,100%{transform:rotateY(0deg)}
 25%{transform:rotateY(var(--pb-card-hint-turn-1,-11deg))}
 55%{transform:rotateY(var(--pb-card-hint-turn-2,8deg))}
 78%{transform:rotateY(var(--pb-card-hint-turn-3,-4deg))}
 90%{transform:rotateY(var(--pb-card-hint-turn-4,2deg))}
}
@media(prefers-reduced-motion:reduce){.pb-card-nudge > :is(.good-party-tile__inner,.wedding-game-card__inner,.tradition-card__inner,.bilingual__flip-inner){animation:none}}


/* Approved full-length hero, using the supplied photograph without retouching. */
.hero__media{left:0;overflow:hidden}
.hero__media picture{display:block;width:100%;height:100%}
.hero__photo{display:block;width:auto;height:100%;max-width:none;margin-left:auto;object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.10) 15%,rgba(0,0,0,.65) 38%,#000 54%);mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.10) 15%,rgba(0,0,0,.65) 38%,#000 54%)}
.hero__media::after{background:none}
@media(max-width:991px){
 .hero__media{left:auto;aspect-ratio:1024/1141}
 .hero__photo{width:100%;height:auto;max-width:100%;margin:0;-webkit-mask-image:none;mask-image:none}
 .hero__content{padding-block:1.5rem 2rem}
}


/* The two photos enter once from their side of the desktop layout. */
.how-i-work__photo.pb-photo-reveal{--pb-photo-offset:clamp(3rem,8vw,10rem)}
.about__portrait.pb-photo-reveal{--pb-photo-offset:clamp(-10rem,-8vw,-3rem)}
.pb-photo-reveal.is-pending{opacity:0;transform:translate3d(var(--pb-photo-offset),0,0);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.25,1)}
.pb-photo-reveal.is-pending.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.pb-photo-reveal.is-pending{opacity:1;transform:none;transition:none}}


/* Both sides participate in layout, so long back titles cannot be clipped. */
.good-party-tile:not(.good-party-tile--contact),.wedding-game-card,.tradition-card,.bilingual__flip-card{height:auto;min-height:11.75rem}
.good-party-tile__inner,.wedding-game-card__inner,.tradition-card__inner,.bilingual__flip-inner{display:grid;min-height:inherit}
.good-party-tile__face,.wedding-game-card__face,.tradition-card__face,.bilingual__flip-face{position:relative;grid-area:1/1;min-width:0}
.bilingual__flip-back{flex-direction:column;align-items:flex-start;justify-content:center}
.card-back-title{display:block;flex:none;max-width:100%;margin:0 0 .65rem}
.good-party-tile__back-copy,.wedding-game-card__back-copy,.tradition-card__back-copy,.card-back-copy{flex:none;margin-top:0}
.bilingual__flip-card{min-height:13rem}
.wedding-game-card--wide,.tradition-card--wide{min-height:15rem}

/* Lightweight, once-only entrances; visible normally if scripts are unavailable. */
.pb-scroll-reveal{opacity:0;transform:translate3d(0,1.25rem,0);transition:opacity .65s ease var(--pb-reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.25,1) var(--pb-reveal-delay,0ms)}
.pb-scroll-reveal.is-revealed{opacity:1;transform:none}
.pb-review-train{transform:translate3d(clamp(10rem,45vw,42rem),0,0);transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.75,.25,1)}

@media(max-width:991px){
 .hero{position:sticky;top:4.0625rem;z-index:0}
 .photo-bridge-sequence:not(.photo-bridge-sequence--selling)>.photo-bridge{position:sticky;top:4.0625rem;z-index:1;height:auto;min-height:0}
}
@media(max-width:575px){
 .bilingual__flip-card{min-height:15rem}
 .wedding-game-card--wide,.tradition-card--wide{min-height:16.5rem}
}
@media(max-width:991px) and (prefers-reduced-motion:no-preference){
 .dream-wedding--ideas.dream-wedding--enhanced .dream-wedding__phone{transform:translate3d(var(--dream-phone-offset,15rem),0,0);opacity:var(--dream-phone-opacity,0)}
 .good-party--enhanced .good-party__phone{transform:translate3d(var(--party-phone-offset,-15rem),0,0);opacity:var(--party-phone-opacity,0)}
 .wedding-games--enhanced .wedding-games__phone{transform:translate3d(var(--games-phone-offset,15rem),0,0);opacity:var(--games-phone-opacity,0)}
 .dream-wedding--traditions .dream-wedding__phone{transform:scale(var(--dream-phone-scale,1))}
 .bilingual__phone{transform:scale(var(--bilingual-phone-scale,1))}
}
@media(prefers-reduced-motion:reduce){.pb-scroll-reveal,.pb-scroll-reveal.is-revealed{opacity:1;transform:none;transition:none}}

/* Desktop reading-order entrance, separate from the panel uncovering. */
@media(min-width:992px) and (prefers-reduced-motion:no-preference){
 .hero__rule,.hero__eyebrow,.hero__title,.hero__subtitle,.hero__quote{
  animation:hero-text-arrive .75s cubic-bezier(.2,.75,.25,1) both;
  animation-delay:var(--hero-arrival-delay,0s);
 }
}
@keyframes hero-text-arrive{
 from{opacity:0;transform:translate3d(-1.75rem,1rem,0)}
 to{opacity:1;transform:none}
}
/* The unmodified source photograph; no viewport-height zoom or blurred padding. */
.photo-bridge--karolina-marci{height:auto;min-height:0}
.photo-bridge--karolina-marci img{width:100%;height:auto;object-fit:contain;object-position:center}
/* The panel straddles the photo/ivory boundary at its measured midpoint. */
@media(max-width:991px){
 .page-reveal{background:linear-gradient(to bottom,transparent 0 var(--hero-date-half,8rem),var(--pb-ivory) var(--hero-date-half,8rem))}
 .date-finder--hero{box-shadow:none}
}

/* Back titles share the first card block's exact gold and responsive type scale. */
.expectation-card__back-lead,
.card-back-title {
  display: block;
  color: #d5a761;
  font: 600 clamp(1.55rem, 1.9vw, 2rem)/1.05 var(--pb-font-heading);
}

/* No full-width gold highlight at the opening panel's mobile top edge. */
@media(max-width:991px){
 .date-finder--hero.is-highlighted{box-shadow:none}
}

/* A stronger front question on mobile, with room below for the flip hint. */
@media(max-width:991px){
 .bilingual__flip-front{padding-bottom:3.75rem}
 .bilingual__flip-front .bilingual__question{width:100%;max-width:none;font-size:clamp(2rem,8.4vw,2.6rem);line-height:1.12}
}

/* The photograph pins directly beneath the menu on desktop and mobile. */
.photo-bridge-sequence--selling>.photo-bridge--karolina-marci{
 position:sticky;top:4.0625rem;z-index:1;height:auto;min-height:0;scroll-margin-top:4.0625rem;
}


/* Separate FAQ paragraphs without repeating the answer divider. */
.faq__answer p + p { border-top: 0; padding-top: 0; margin-top: 1em; }

/* Keep the embedded testimonial intact at every width and accordion height. */
.how-i-work__photo {
  align-self: start;
  min-width: 0;
  min-height: 0;
  aspect-ratio: auto;
}
.how-i-work__photo img {
  display: block;
  position: static;
  inset: auto;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Personal stories use native, keyboard-accessible disclosure cards. */
.about__stories { display: grid; width: 100%; gap: .8rem; }
.about__story {
  min-width: 0;
  border: 1px solid #e4d6c3;
  border-radius: .72rem;
  background: rgba(255, 253, 248, .69);
  box-shadow: 0 .45rem 1.25rem rgba(116, 87, 52, .035);
}
.about__story summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.1rem;
  align-items: center;
  gap: 1.1rem;
  min-height: 4.8rem;
  padding: 1.1rem 1.35rem;
  list-style: none;
  cursor: pointer;
  border-radius: inherit;
}
.about__story summary::-webkit-details-marker { display: none; }
.about__story summary::marker { content: ''; }
.about__story summary:focus-visible { outline: 2px solid #966d38; outline-offset: 3px; }
.about__story-title {
  min-width: 0;
  color: #19211e;
  font: 500 clamp(1.5rem, 2vw, 2rem)/1.1 var(--pb-font-heading);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
.about__story-chevron {
  display: block;
  width: 1rem;
  height: 1rem;
  justify-self: center;
  border-right: 1.6px solid #966d38;
  border-bottom: 1.6px solid #966d38;
  transform: translateY(-.25rem) rotate(45deg);
  transition: transform .2s ease;
}
.about__story[open] .about__story-chevron { transform: translateY(.25rem) rotate(225deg); }
.about__story[open] { border-color: #bd9d72; }
.about__story-copy { padding: 0 1.35rem 1.3rem; }
.about__story-copy p { margin: 0; line-height: 1.4; }
@media (max-width: 530px) {
  .about__stories { gap: .7rem; }
  .about__story summary { min-height: 4.4rem; padding: 1rem; gap: .8rem; }
  .about__story-title { font-size: clamp(1.45rem, 5.8vw, 1.8rem); }
  .about__story-copy { padding: 0 1rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .about__story-chevron { transition: none; }
}

/* In the side-by-side layout the text sets the photo height, including open stories. */
@media (min-width: 851px) {
  .about {
    min-height: 0;
    padding-top: clamp(3.5rem, 5.1vw, 5.9rem);
    padding-bottom: clamp(3rem, 4.8vw, 5.2rem);
  }
  .about__content { padding-top: 0; padding-bottom: 0; }
  .about__portrait { align-self: stretch; min-height: 0; height: auto; }
}

/* Introduction above the personal story disclosures. */
.about__intro { margin: 0 0 .5rem; line-height: 1.4; }

/* Footer shares the pricing section's green, gold and botanical layers. */
.site-footer {
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 6.5vw, 6.5rem) 0;
  color: #f7f0e6;
  background: radial-gradient(circle at 50% 35%, rgba(81, 98, 57, .34), transparent 35%), linear-gradient(145deg, #172415, #1c2d18 48%, #162314);
}
.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  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%);
}
.site-footer__shadow {
  position: absolute;
  z-index: 0;
  width: 48rem;
  height: 38rem;
  opacity: .28;
  filter: blur(11px) saturate(.62) brightness(.83);
  background: url('assets/optimized/reviews-olive-4.webp') center / contain no-repeat;
  pointer-events: none;
}
.site-footer__shadow--left { left: -15rem; top: -13rem; transform: rotate(-19deg); }
.site-footer__shadow--right { right: -13rem; bottom: -17rem; transform: rotate(153deg); }
.site-footer__olive {
  position: absolute;
  z-index: 1;
  height: auto;
  max-width: none;
  pointer-events: none;
  opacity: .74;
  filter: saturate(.74) brightness(.98) sepia(.16) drop-shadow(0 .8rem 1.1rem rgba(0, 0, 0, .35));
}
.site-footer__olive--left { width: clamp(20rem, 26vw, 26rem); left: -2rem; bottom: -4rem; transform: rotate(-10deg); }
.site-footer__olive--right { width: clamp(20rem, 26vw, 26rem); right: -2rem; top: -4rem; transform: rotate(8deg); }
.site-footer__inner {
  position: relative;
  z-index: 2;
  max-width: 80rem;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  padding-inline: clamp(2rem, 6vw, 5rem);
}
.site-footer__brand { min-width: 0; }
.site-footer__rule { width: 6.25rem; height: 1px; background: #d5a86a; }
.site-footer__brand > span:last-child { color: #d8ad70; }
.site-footer__contact {
  width: 100%;
  min-width: 0;
  max-width: 24rem;
  padding-left: clamp(1.5rem, 3vw, 3rem);
  border-left: 1px solid rgba(217, 179, 113, .49);
}
.site-footer__contact h2 { color: #d8ad70; font-weight: 400; }
.site-footer__contact a { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .site-footer { padding: 4rem 0 5.5rem; }
  .site-footer__inner { gap: 2rem; padding-inline: var(--pb-gutter); text-align: center; }
  .site-footer__brand { align-items: center; }
  .site-footer__contact {
    align-items: center;
    justify-self: center;
    max-width: 22rem;
    padding: 1.7rem 0 0;
    border-left: 0;
    border-top: 1px solid rgba(217, 179, 113, .49);
  }
  .site-footer__olive--left { width: 18rem; left: -6rem; bottom: -3rem; }
  .site-footer__olive--right { width: 15rem; right: -6rem; top: -4rem; }
  .site-footer__shadow { width: 34rem; height: 30rem; opacity: .23; }
  .site-footer__shadow--left { left: -22rem; top: -10rem; }
  .site-footer__shadow--right { right: -23rem; bottom: -9rem; }
}

/* Menu destinations meet the bottom of the sticky header without stacked offsets. */
html { scroll-padding-top: var(--pb-header-height, 4.0625rem); }
#rolam, #csokordobas, #arazas, #ketnyelvu, #velemenyek, #kapcsolat { scroll-margin-top: 0; }
.contact__phone {
  display: inline-block;
  margin-top: 1.2rem;
  color: #8b683a;
  font: 600 clamp(1.05rem, 1.6vw, 1.4rem)/1.5 var(--pb-font-body);
  text-decoration: none;
  white-space: nowrap;
}
.contact__phone:hover { color: #654821; text-decoration: underline; }
.contact__phone:focus-visible { outline: 2px solid #966d38; outline-offset: 4px; }

/* Matching monoline pictograms, with balanced optical size inside the existing circles. */
.selling-points__icon svg { width: 60%; height: 60%; stroke-width: 1.8; }

/* Helping pictograms share the same monoline SVG system as the surrounding sections. */
.helping__icon {
  display: grid;
  place-items: center;
  border: 1px solid rgba(163, 110, 46, .24);
  border-radius: 50%;
  background: rgba(255, 252, 246, .78);
  color: #8c693c;
  box-shadow: 0 .25rem .65rem rgba(84, 68, 43, .07);
  filter: none;
}
.helping__icon svg {
  display: block;
  width: 60%;
  height: 60%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Video privacy information stays below the phone, leaving every like count visible. */
.deferred-video__group {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 25.2rem);
}
.deferred-video__group > .deferred-video { flex-shrink: 0; }
.deferred-video__label { max-width: 100%; border-radius: 1rem; }
.deferred-video__consent {
  position: static;
  width: 100%;
  margin: 1rem 0 0;
  padding: .65rem .75rem;
  border: 1px solid rgba(163, 110, 46, .35);
  border-radius: .8rem;
  background: #fbf8f2;
  color: #243526;
  font: 500 .75rem/1.45 var(--pb-font-body, Arial, sans-serif);
  text-align: left;
  overflow-wrap: anywhere;
}
.deferred-video__consent a { color: #76562b; text-decoration: underline; text-underline-offset: 2px; }
.deferred-video__consent a:focus-visible { outline: 2px solid #76562b; outline-offset: 2px; }
.deferred-video--media-allowed + .deferred-video__consent { display: none; }
@media (max-width: 991px) { .deferred-video__group { width: min(100%, 23rem); } }
@media (max-width: 575px) { .deferred-video__group { width: min(100%, 19rem); } }

/* A ready player receives the original click on desktop as well as mobile. */
.deferred-video--ready .deferred-video__poster { pointer-events: none; }
