/* ---------- Stats (Apple-style count-up) ---------- */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; text-align: center; }
.stat { padding: clamp(28px, 4vw, 52px) 20px; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); }
.stat__num, .stat__plus { font-size: clamp(56px, 8vw, 110px); font-weight: 700; letter-spacing: -0.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat__plus { background: linear-gradient(100deg, #f8eccb, #e3bf74 50%, #b98d43); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat p { margin: 14px 0 0; color: var(--muted); font-size: clamp(15px, 1.4vw, 18px); }
@media (max-width: 760px) { .stats { grid-template-columns: 1fr; } }

/* ---------- More breathing room ---------- */
.nav { padding-top: 22px; }
.hero__content { padding-top: 90px; }
.hero__eyebrow { margin-bottom: 22px; }
.hero__title { margin-bottom: 34px; }
.hero__sub { margin-bottom: 52px; }
.statement { padding: clamp(120px, 14vw, 200px) 0 clamp(90px, 10vw, 140px); }
.creds { padding-bottom: clamp(100px, 12vw, 160px); }
.section { padding: clamp(130px, 16vw, 220px) 0; }
.head { margin-bottom: clamp(56px, 7vw, 96px); }
.head__lead { margin-top: 28px; }
.marquee { margin-top: clamp(80px, 9vw, 120px); }
.clients-block { margin-top: clamp(120px, 14vw, 190px); }
.hub { margin-top: clamp(100px, 12vw, 160px); }
.steps, .stats, .logos__track, .photos, .bento { gap: 20px; }
.about__text p:not(.label) { margin-bottom: 26px; }
/* Photo strip (same feel as the video rail) */
.rail--photos .photo { flex: 0 0 auto; width: clamp(240px, 26vw, 340px); aspect-ratio: 4/5; scroll-snap-align: start; }
.rail--photos .photo.reveal { opacity: 1; transform: none; filter: none; }
@media (max-width: 760px) { .rail--photos .photo { width: 70vw; } }

/* Festival laurels under the documentary */
.laurels { padding: clamp(50px, 6vw, 80px) 0 0; overflow: hidden; }
.laurels .marquee { margin-top: 0; }
#prace { padding-bottom: clamp(50px, 6vw, 80px); }   /* tighter gap between Videa and Fotografie */
.marquee__track { animation-delay: -22s; }   /* start mid-loop so the strip is already full */
@media (max-width: 760px) { .marquee__track { gap: 36px; } }

/* Client tiles: original logo colours on soft brand-tinted cards */
.logos__track a.tile { background: radial-gradient(120% 140% at 100% 100%, var(--tint) 0%, #fff 62%); }
.logos__track a.tile--dark { background: radial-gradient(120% 140% at 100% 100%, var(--tint) 0%, #121211 70%); }
.logos__track a.tile img { filter: none; opacity: 1; }
.logos__track a.tile:hover { box-shadow: 0 1px 0 rgba(22,21,19,.04), 0 34px 70px -28px color-mix(in srgb, var(--tint) 70%, #000 30%); }
.tile .logo-word { opacity: 1; }
.logos__track a.tile--fabini { background: #017034; }   /* FABINI brand green (from fabini.cz) */
.logos__track a.tile--fabini img { filter: brightness(0) invert(1); }
a[href*="chlebanymburk"] .logo-word { color: #1f5a4a; }
a[href*="platforma"] .logo-word { color: #2b2b6b; }
a[href*="ceskatelevize"] .logo-word { color: #0b3d91; }
.tile .logo-word--serif { color: #4a3a2a; }
a[href*="laplace"] .logo-word--serif { color: #3f5638; }

/* Mobile fixes: no sideways overflow, no iOS play-button overlay on background videos */
html, body { overflow-x: hidden; overflow-x: clip; max-width: 100%; }
main, section, footer { max-width: 100vw; }
.hero__video::-webkit-media-controls, #zoomVideo::-webkit-media-controls,
.hero__video::-webkit-media-controls-start-playback-button, #zoomVideo::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
.hero__video, #zoomVideo { pointer-events: none; }
.logos__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.logos__track a { min-width: 0; overflow: hidden; }
@media (max-width: 760px) {
  .logos__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logos__track .logo-word { font-size: clamp(17px, 5vw, 24px); white-space: normal; text-align: center; line-height: 1.1; }
  .logos__track .logo-word--serif { font-size: clamp(20px, 6vw, 28px); }
  .logos__track .logo-word--caps { font-size: clamp(15px, 4.4vw, 20px); }
}

/* Services */
.services { padding-bottom: clamp(40px, 5vw, 70px); }
.svc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.svc { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px 26px 34px; transition: transform .6s var(--ease), border-color .4s; }
.svc:hover { transform: translateY(-6px); border-color: rgba(217,181,106,.35); }
.svc__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #2a2316, #17140e); border: 1px solid rgba(217,181,106,.25); margin-bottom: 28px; }
.svc__icon svg { width: 22px; height: 22px; fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.svc h3 { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 10px; }
.svc p { margin: 0; color: var(--muted); font-size: 15.5px; }
@media (max-width: 1020px) { .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .svc-grid { grid-template-columns: 1fr; } }

/* FAQ (Apple-style accordion) */
.faq__list { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { list-style: none; cursor: pointer; padding: 26px 44px 26px 0; position: relative; font-size: clamp(18px, 1.8vw, 22px); font-weight: 600; letter-spacing: -0.015em; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 300; color: var(--accent); transition: transform .4s var(--ease); }
.faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq__item p { margin: 0; padding: 0 44px 28px 0; color: var(--muted); font-size: 17px; line-height: 1.65; }

/* ===== Tighter grouping of related sections ===== */
.section { padding: clamp(90px, 10vw, 140px) 0; }
.services { padding-bottom: clamp(20px, 3vw, 40px); }
#prace { padding-top: clamp(50px, 6vw, 80px); padding-bottom: clamp(30px, 4vw, 50px); }
#foto { padding-top: 0; padding-bottom: clamp(70px, 8vw, 110px); }
#o-mne { padding-bottom: clamp(40px, 5vw, 70px); }
.faq { padding-top: clamp(40px, 5vw, 70px); }
.statement { padding: clamp(100px, 11vw, 160px) 0 clamp(60px, 7vw, 100px); }
.creds { padding-bottom: clamp(40px, 5vw, 70px); }
.head { margin-bottom: clamp(40px, 5vw, 64px); }

/* ===== Hover: glow + pop ===== */
.svc, .stat { position: relative; overflow: hidden; isolation: isolate; }
.svc::before, .stat::before {             /* spotlight that follows the cursor */
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .5s var(--ease);
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(217,181,106,.22), transparent 60%);
}
.svc:hover::before, .stat:hover::before { opacity: 1; }
.svc, .stat { transition: transform .6s var(--ease), border-color .4s, box-shadow .6s var(--ease); }
.svc:hover, .stat:hover { transform: translateY(-8px) scale(1.015); border-color: rgba(217,181,106,.4); box-shadow: 0 30px 60px -30px rgba(217,181,106,.35); }
.svc:hover .svc__icon { transform: scale(1.08) rotate(-4deg); box-shadow: 0 0 30px rgba(217,181,106,.35); }
.svc__icon { transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.stat { cursor: none; }
.stat::after {                            /* the cursor "melts" into a soft gold dot */
  content: ""; position: absolute; left: var(--mx, 50%); top: var(--my, 50%); width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border-radius: 50%; background: var(--accent); mix-blend-mode: difference; opacity: 0; transform: scale(.4);
  transition: opacity .3s, transform .4s var(--ease); pointer-events: none;
}
.stat:hover::after { opacity: 1; transform: scale(1); }
.stat:hover .stat__num { color: #fff; }
.stat__num { transition: color .5s; }

.clip, .photo { transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.clip:hover, .photo:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 30px 60px -25px rgba(0,0,0,.9), 0 0 0 1px rgba(217,181,106,.35); z-index: 1; }
.rail { padding-top: 14px; padding-bottom: 30px; }   /* room for the pop */

/* ===== Menu: smoother ===== */
.nav__links a { padding: 7px 12px; border-radius: 999px; transition: color .3s, background .35s var(--ease); }
.nav__links { gap: 6px; }
.nav__links a:hover { background: rgba(243,236,210,.08); }
.nav__links a.is-active { background: rgba(243,236,210,.12); color: var(--text); }
@media (max-width: 760px) {
  .nav__links { gap: 6px; }
  .nav__links a { font-size: 30px; padding: 10px 22px; opacity: 0; transform: translateY(18px); transition: opacity .5s var(--ease), transform .6s var(--ease), background .3s; }
  .nav.menu-open .nav__links a { opacity: 1; transform: none; }
  .nav.menu-open .nav__links a:nth-child(1) { transition-delay: .05s; } .nav.menu-open .nav__links a:nth-child(2) { transition-delay: .1s; }
  .nav.menu-open .nav__links a:nth-child(3) { transition-delay: .15s; } .nav.menu-open .nav__links a:nth-child(4) { transition-delay: .2s; }
  .nav.menu-open .nav__links a:nth-child(5) { transition-delay: .25s; } .nav.menu-open .nav__links a:nth-child(6) { transition-delay: .3s; }
  .nav.menu-open .nav__links a:nth-child(7) { transition-delay: .35s; } .nav.menu-open .nav__links a:nth-child(8) { transition-delay: .4s; } .nav.menu-open .nav__links a:nth-child(9) { transition-delay: .45s; }
  .section { padding: 80px 0; }
}
@media (max-width: 1020px) and (min-width: 761px) { .nav__links a { padding: 7px 8px; font-size: 12.5px; } }

/* Language switch */
.lang { display: flex; padding: 3px; border-radius: 999px; background: rgba(243,236,210,.08); margin-left: 10px; }
.lang a { font-size: 12px; font-weight: 600; letter-spacing: .06em; padding: 6px 11px; border-radius: 999px; color: var(--muted); transition: color .3s, background .35s var(--ease); }
.lang a:hover { color: var(--text); }
.lang { position: relative; }
.lang a { position: relative; z-index: 1; width: 40px; text-align: center; padding: 6px 0; }
.lang a.is-on { color: var(--bg); }
.lang::before {                      /* sliding pill */
  content: ""; position: absolute; top: 3px; bottom: 3px; left: 3px; width: 40px; border-radius: 999px; background: var(--text);
  transition: transform .45s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.lang:has(a[hreflang="en"].is-on)::before { transform: translateX(40px); }
.lang.to-en::before { transform: translateX(40px); }
.lang.to-cs:has(a[hreflang="en"].is-on)::before { transform: translateX(0); }
.lang.to-en a[hreflang="en"], .lang.to-cs a[hreflang="cs"] { color: var(--bg); }
.lang.to-en a[hreflang="cs"], .lang.to-cs a[hreflang="en"] { color: var(--muted); }
body.leaving { opacity: 0; transition: opacity .3s ease; }
@media (max-width: 760px) { .lang { margin-left: auto; margin-right: 6px; position: relative; z-index: 2; } }

/* ===== Phone optimisation ===== */
* { -webkit-tap-highlight-color: transparent; }
@media (hover: none) {                       /* touch screens: no "stuck" hover states */
  .svc:hover, .stat:hover, .clip:hover, .photo:hover, .step:hover, .logos__track a:hover { transform: none; box-shadow: none; }
  .svc::before, .stat::before, .stat::after { display: none; }
  .stat { cursor: auto; }
  .svc:active, .clip:active, .photo:active, .logos__track a:active { transform: scale(.98); transition-duration: .15s; }
}
@media (max-width: 760px) {
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .stat { padding: 22px 6px; border-radius: 16px; }
  .stat__num, .stat__plus { font-size: clamp(30px, 10vw, 44px); }
  .stat p { font-size: 12px; margin-top: 8px; line-height: 1.3; }
  .hero__title { font-size: clamp(40px, 12vw, 56px); }
  .hero__sub { font-size: 16px; }
  .statement__text { font-size: clamp(26px, 7.4vw, 34px); }
  .head__title { font-size: clamp(38px, 11vw, 52px); }
  .svc { padding: 24px 22px 26px; }
  .svc__icon { margin-bottom: 18px; }
  .rail-nav { display: none; }               /* swipe instead of arrows */
  .faq__item summary { font-size: 17px; padding: 20px 40px 20px 0; }
  .contact__title { font-size: clamp(40px, 12vw, 56px); }
  .zoom__intro h2 { font-size: clamp(26px, 8vw, 36px); }
  .lightbox__close { top: 12px; right: 12px; }
  .ig-frame { height: min(700px, 78vh); }
}

/* ===== Mobile: collapsible process steps + fewer clients ===== */
.clients-more { display: none; }
@media (max-width: 760px) {
  .steps { gap: 10px; }
  .step {
    display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto 0fr; column-gap: 14px; align-items: center;
    padding: 20px 20px; cursor: pointer; transition: grid-template-rows .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s, transform .2s;
  }
  .step h3 { margin: 0; font-size: 19px; }
  .step::after {                                   /* plus that turns into a cross */
    content: "+"; grid-column: 3; grid-row: 1; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(154,122,58,.12); color: #9a7a3a; font-size: 20px; font-weight: 400; line-height: 1;
    transition: transform .5s cubic-bezier(0.34, 1.4, 0.64, 1), background .3s;
  }
  .step p { grid-column: 1 / -1; grid-row: 2; overflow: hidden; min-height: 0; opacity: 0; transform: translateY(-6px);
    transition: opacity .4s ease, transform .5s cubic-bezier(0.22, 1, 0.36, 1), padding .5s; padding-top: 0; }
  .step.open { grid-template-rows: auto 1fr; box-shadow: 0 1px 0 rgba(22,21,19,.04), 0 24px 50px -28px rgba(22,21,19,.35); }
  .step.open::after { transform: rotate(45deg); background: rgba(154,122,58,.22); }
  .step.open p { opacity: 1; transform: none; padding-top: 12px; transition-delay: .08s; }
  .step:active { transform: scale(.985); }

  .logos__track a:nth-child(n+7) { display: none; }
  .logos.expanded .logos__track a:nth-child(n+7) { display: grid; animation: tileIn .6s cubic-bezier(0.22, 1, 0.36, 1) both; }
  .logos.expanded .logos__track a:nth-child(n+9) { animation-delay: .06s; } .logos.expanded .logos__track a:nth-child(n+11) { animation-delay: .12s; }
  .logos.expanded .logos__track a:nth-child(n+13) { animation-delay: .18s; } .logos.expanded .logos__track a:nth-child(n+15) { animation-delay: .24s; }
  .logos.expanded .logos__track a:nth-child(n+17) { animation-delay: .3s; }
  .clients-more { display: flex; margin: 18px auto 0; height: 46px; padding: 0 24px; border-radius: 999px; align-items: center; gap: 8px;
    background: var(--ink); color: var(--paper); font-size: 15px; font-weight: 500; transition: transform .2s; }
  .clients-more:active { transform: scale(.97); }
  .clients-more::after { content: "↓"; transition: transform .4s; }
  .logos.expanded + .clients-more::after { transform: rotate(180deg); }
}
@media (max-width: 760px) {             /* services as tap-to-open rows */
  .svc-grid { gap: 10px; }
  .svc { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto 0fr; column-gap: 14px; align-items: center;
    padding: 16px 18px; cursor: pointer; transition: grid-template-rows .55s cubic-bezier(0.22, 1, 0.36, 1), border-color .4s, transform .2s; }
  .svc__icon { width: 40px; height: 40px; border-radius: 12px; margin: 0; }
  .svc h3 { margin: 0; font-size: 18px; }
  .svc::after { content: "+"; grid-column: 3; grid-row: 1; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(217,181,106,.12); color: var(--accent); font-size: 20px; line-height: 1; transition: transform .5s cubic-bezier(0.34, 1.4, 0.64, 1), background .3s; }
  .svc p { grid-column: 1 / -1; grid-row: 2; overflow: hidden; min-height: 0; opacity: 0; transform: translateY(-6px); padding-top: 0;
    transition: opacity .4s ease, transform .5s cubic-bezier(0.22, 1, 0.36, 1), padding .5s; }
  .svc.open { grid-template-rows: auto 1fr; border-color: rgba(217,181,106,.35); }
  .svc.open::after { transform: rotate(45deg); background: rgba(217,181,106,.22); }
  .svc.open p { opacity: 1; transform: none; padding-top: 14px; transition-delay: .08s; }
  .svc:active { transform: scale(.985); }
}
.form__done { text-align: center; padding: 40px 10px; animation: tileIn .6s cubic-bezier(0.22, 1, 0.36, 1) both; }
.form__done h3 { font-size: 30px; font-weight: 700; letter-spacing: -0.03em; margin: 0 0 10px; }
.form__done p { color: var(--muted); margin: 0; }
@keyframes tileIn { from { opacity: 0; transform: translateY(16px) scale(.96); } to { opacity: 1; transform: none; } }

/* Video rails run edge to edge */
.rail { padding-left: 12px; padding-right: 12px; scroll-padding: 0 12px; }

@media (max-width: 760px) {
  .hero__content { padding-top: 70px; }
  .section { padding: 110px 0; }
  .steps, .stats, .logos__track, .photos { gap: 12px; }
}

/* form: optional label + "other" field */
.field__opt{font-style:normal;text-transform:none;letter-spacing:0;opacity:.6;font-weight:400}
.field--other:not([hidden]){animation:fieldIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes fieldIn{from{opacity:0;transform:translateY(-6px)}}
.field--other[hidden]{display:none!important}

/* footer legal */
.footer__inner{align-items:center}
.footer__legal{display:flex;flex-wrap:wrap;gap:6px 22px;line-height:1.6}
.footer__legal a{border-bottom:1px solid var(--line)}
.footer__legal a:hover{color:var(--text)}
@media (max-width:760px){.footer__legal{flex-direction:column;gap:4px}}
/* legal page */
.legal{max-width:760px;margin:0 auto;padding:140px 24px 100px;line-height:1.7;color:var(--muted)}
.legal h1{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(40px,6vw,64px);line-height:1.05;color:var(--text);margin:0 0 40px}
.legal h2{font-size:18px;font-weight:600;color:var(--text);margin:40px 0 10px}
.legal ul{padding-left:20px;margin:8px 0}
.legal a{color:var(--text);border-bottom:1px solid var(--line)}
.legal__back{display:inline-block;margin-bottom:32px;font-size:14px}
.footer__social{display:flex;justify-content:center;gap:36px;font-size:15px;padding:6px 0 26px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.footer__social a{transition:color .3s}
.footer__social a:hover{color:var(--text)}
.footer__inner{display:block}
.footer__legal{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 22px}
.footer__legal>:nth-child(2){text-align:center}
.footer__legal>:nth-child(3){justify-self:end}
@media (max-width:760px){.footer__legal{grid-template-columns:1fr;text-align:center}.footer__legal>*{justify-self:center!important}}
/* smaller lang switch */
.lang{padding:2px;margin-left:14px}
.lang a{width:32px;font-size:10.5px;padding:4px 0}
.lang::before{top:2px;bottom:2px;left:2px;width:32px}
.lang:has(a[hreflang="en"].is-on)::before,.lang.to-en::before{transform:translateX(32px)}
.lang.to-cs:has(a[hreflang="en"].is-on)::before{transform:translateX(0)}
.hero__actions{flex-direction:column;gap:22px}
.pill--sm{display:inline-flex;height:38px;padding:0 20px;font-size:13px;margin-top:36px}
/* mini IG feed (contact) */
.igmini{margin-top:44px;max-width:420px}
.igmini__head{display:flex;justify-content:space-between;font-size:14px;color:var(--text);margin-bottom:14px}
.igmini__head span{color:var(--muted);transition:color .3s}
.igmini__head:hover span{color:var(--text)}
.igmini__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.igmini__item{aspect-ratio:1;border-radius:14px;overflow:hidden;padding:0;border:0;cursor:pointer;background:var(--bg-2)}
.igmini__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .3s}
.igmini__item:hover img{transform:scale(1.06);opacity:.85}
@media (max-width:760px){.igmini{max-width:none}}
/* about: read more */
.about__more{overflow:hidden;transition:height .7s cubic-bezier(.22,1,.36,1)}
.about__more.is-collapsed{height:0}
.about__more p{transition:opacity .6s .15s}
.about__more.is-collapsed p{opacity:0}
.about__teaser{transition:opacity .3s}
.about__teaser.is-gone{opacity:0;margin:0;height:0;overflow:hidden}
.about__toggle{background:none;border:0;padding:0;margin-left:6px;font:inherit;color:var(--text);border-bottom:1px solid var(--line);cursor:pointer}
.about__toggle:hover{border-color:var(--text)}
/* about photo: face crop, smaller */
.about__media{aspect-ratio:4/3;max-width:440px}
@media (max-width:760px){.about__media{max-width:none}}
/* mobile form pop-up */
.form-open,.form__close,.form-backdrop{display:none}
@media (max-width:760px){
.form-open{display:flex;width:100%;margin-top:22px}
.form.form--sheet{position:fixed;left:0;right:0;bottom:0;z-index:120;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;border-radius:28px 28px 0 0;padding:56px 24px calc(28px + env(safe-area-inset-bottom));transform:translateY(105%);opacity:1!important;transition:transform .55s cubic-bezier(.22,1,.36,1)!important;box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.form-sheet .form.form--sheet{transform:none}
.form__close{display:grid;place-items:center;position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(243,236,210,.1);color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.form-backdrop{display:block;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .4s}
.form-sheet .form-backdrop{opacity:1;pointer-events:auto}
.form-sheet{overflow:hidden}
}
.about__media{aspect-ratio:1/1}
@media (min-width:761px){.about__media{aspect-ratio:4/5;max-width:540px}.about__media picture{display:contents}.about__media img{object-position:50% 40%}}
/* process steps: pop */
.js .step.reveal{transform:translateY(24px) scale(.92)}
.js .step.reveal.is-visible{transform:none;transition:opacity .7s,transform .8s cubic-bezier(.34,1.56,.64,1)}
@media (hover:hover){.step{transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .5s!important}
.step:hover{transform:translateY(-6px) scale(1.035)!important;box-shadow:0 24px 50px rgba(60,50,30,.16)}
.step:hover .step__n{color:var(--accent,#9a7b3c)}}
@media (min-width:761px){.about__teaser{display:none}.about__more.is-collapsed{height:auto!important}.about__more.is-collapsed p{opacity:1}}
/* cookie bar */
.cookie{position:fixed;left:50%;bottom:20px;z-index:200;width:min(560px,calc(100% - 32px));transform:translate(-50%,30px);opacity:0;display:flex;align-items:center;gap:18px;padding:16px 18px 16px 22px;border-radius:20px;background:rgba(23,23,21,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.45);font-size:14px;line-height:1.5;color:var(--muted);transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s}
.cookie.is-on{transform:translate(-50%,0);opacity:1}
.cookie p{margin:0;flex:1}
.cookie a{color:var(--text);border-bottom:1px solid var(--line)}
.cookie__btns{display:flex;gap:8px;flex-shrink:0}
.cookie .pill{height:38px;padding:0 16px;font-size:13px}
@media (max-width:560px){.cookie{flex-direction:column;align-items:stretch;gap:12px}.cookie__btns .pill{flex:1}}
.footer__links2 a{border-bottom:1px solid var(--line)}
.footer__links2 a:hover{color:var(--text)}
.form__captcha{min-height:78px;transform-origin:left top}
.form__captcha-msg{margin:0;font-size:14px;color:#e8a87c}
@media (max-width:360px){.form__captcha{transform:scale(.88)}}
