/* mom-alap-r1.css (2026-10-20): összevont alap-stíluslap, sorrendben: fonts.css, mom-premium-r14.css, ux-r20.css, ux-r21.css, ux-r22.css, ux-r23.css, ux-r24.css, marketing-polish-r26.css, brand-r27.css. Forrásfájlok változatlanul a szerveren. */
/* Metrikailag igazított tartalék-betűk: amíg a Poppins / Cormorant betölt, a helyi Arial / Times ugyanakkora helyet foglal, így nincs elrendezés-ugrás (CLS). 2026-10-20 */
@font-face{font-family:"Poppins Fallback";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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans"),local("Arimo");font-style:normal;font-weight:100 449;size-adjust:110.7%;ascent-override:94.85%;descent-override:31.6%;line-gap-override:9.03%}
@font-face{font-family:"Poppins Fallback";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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans"),local("Arimo");font-style:normal;font-weight:450 549;size-adjust:112.35%;ascent-override:93.46%;descent-override:31.15%;line-gap-override:8.9%}
@font-face{font-family:"Poppins Fallback";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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold"),local("Arimo Bold");font-style:normal;font-weight:550 900;size-adjust:106%;ascent-override:99.06%;descent-override:33%;line-gap-override:9.43%}
@font-face{font-family:"Cormorant Fallback";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,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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;src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("Liberation Serif"),local("LiberationSerif"),local("Tinos");size-adjust:96.47%;ascent-override:95.37%;descent-override:30.06%;line-gap-override:0%}
/* ===== fonts\fonts.css ===== */
/* SistersFlow – saját szerverről kiszolgált betűtípusok (Cormorant Garamond, Poppins; latin + latin-ext). Forrás: Google Fonts, SIL Open Font License 1.1. 2026-10-18 */
/* Cormorant Garamond 400 latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin-ext.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;
}
/* Cormorant Garamond 400 latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin.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;
}
/* Cormorant Garamond 500 latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin-ext.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;
}
/* Cormorant Garamond 500 latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin.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;
}
/* Cormorant Garamond 600 latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin-ext.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;
}
/* Cormorant Garamond 600 latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-latin.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;
}
/* Poppins 300 latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/poppins-300-latin-ext.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;
}
/* Poppins 300 latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/poppins-300-latin.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;
}
/* Poppins 400 latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/poppins-400-latin-ext.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;
}
/* Poppins 400 latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/poppins-400-latin.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;
}
/* Poppins 500 latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/poppins-500-latin-ext.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;
}
/* Poppins 500 latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/poppins-500-latin.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;
}
/* Poppins 600 latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/poppins-600-latin-ext.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;
}
/* Poppins 600 latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/poppins-600-latin.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;
}
/* Poppins 700 latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/poppins-700-latin-ext.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;
}
/* Poppins 700 latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/poppins-700-latin.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;
}

/* ===== mom-premium-r14.css ===== */
:root {
  --paper: #FFFFFF;
  --paper-soft: #FFFFFF;
  --cream: #F4E9E8;
  --sand: #D4D4D4;
  --sage: #78937F;
  --sage-deep: #4E5B51;
  --forest: #2D3429;
  --charcoal: #2C2C2C;
  --ink: #020202;
  --muted: #4E5B51;
  --line: rgba(2,2,2, 0.12);
  --line-light: rgba(255,255,255, 0.22);
  --warm: #D99A6B;
  --brown: #9A5E35;
  --header-h: 88px;
  --announcement-h: 32px;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --shadow-soft: 0 20px 70px rgba(44,44,44, 0.10);
  --shadow-float: 0 24px 80px rgba(44,44,44, 0.20);
  --content: 1440px;
  --gutter: max(24px, min(6vw, 120px));
  --serif: "Arsenica", "Cormorant Garamond","Cormorant Fallback", Georgia, serif;
  --sans: "Poppins","Poppins Fallback", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #F4E9E8; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }

.site-page {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  background: var(--paper);
  overflow-x: clip;
  overflow-y: visible;
}
.container {
  width: min(100%, var(--content));
  margin: 0 auto;
  padding-left:var(--gutter);padding-right:var(--gutter);padding-inline: var(--gutter);
}
.section { padding-top:max(72px, min(8vw, 128px));padding-bottom:max(72px, min(8vw, 128px));padding-block:max(72px, min(8vw, 128px)); }
.section-compact { padding-top:max(52px, min(6vw, 88px));padding-bottom:max(52px, min(6vw, 88px));padding-block:max(52px, min(6vw, 88px)); }
.section-soft { background: var(--paper-soft); }
.section-cream { background: var(--cream); }
.section-dark { background: var(--forest); color: #fff; }
.section-heading { max-width: 820px; margin: 0 auto 48px; text-align: center; }
.section-heading.is-left { margin-left:0;margin-right:0;margin-inline: 0; text-align: left; }
.eyebrow {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sage-deep);
}
.section-dark .eyebrow { color: rgba(255,255,255,.72); }
h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.025em;
}
h1 { font-size:max(48px, min(6vw, 84px)); }
h2 { font-size:max(38px, min(4.8vw, 64px)); }
h3 { font-size:max(27px, min(3vw, 40px)); }
p { margin: 0 0 1em; }
.lead { font-size:max(18px, min(1.8vw, 22px)); color: var(--charcoal); }
.section-dark .lead { color: rgba(255,255,255,.82); }
.muted { color: var(--muted); }

/* Sticky site chrome */
.site-chrome {
  position:-webkit-sticky;position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}
.announcement-bar {
  height: var(--announcement-h);
  display: grid;
  place-items: center;
  padding-left:20px;padding-right:20px;padding-inline: 20px;
  background: #F4E9E8;
  border-bottom: 1px solid rgba(2,2,2,.07);
  font-size: 12px;
  letter-spacing: .02em;
}
.site-header {
  height: var(--header-h);
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(2,2,2,.08);
  backdrop-filter: saturate(1.2) blur(18px);
  -webkit-backdrop-filter: saturate(1.2) blur(18px);
}
.site-header-inner {
  position: relative;
  width: min(100%, var(--content));
  height: 100%;
  margin: 0 auto;
  padding-left:var(--gutter);padding-right:var(--gutter);padding-inline: var(--gutter);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.brand-logo-link { grid-column: 2; display: inline-flex; align-items: center; justify-content: center; }
.logo { height: 55px; width: auto; }
.header-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 14px;
}


.menu-toggle {
  position: relative;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border: 1px solid rgba(2,2,2,.13);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 30px rgba(2,2,2,.06);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.menu-toggle::before,
.menu-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1.5px;
  border-radius: 999px;
  background: var(--ink);
  transform: translate(-50%,-50%);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background .25s ease;
}
.menu-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.menu-toggle:hover { transform: rotate(8deg); box-shadow: 0 15px 38px rgba(2,2,2,.11); }
.menu-toggle[aria-expanded="true"] { background: var(--forest); }
.menu-toggle[aria-expanded="true"]::before { background: #fff; transform: translate(-50%,-50%) rotate(45deg); }
.menu-toggle[aria-expanded="true"]::after { background: #fff; transform: translate(-50%,-50%) rotate(-45deg); }

.menu-overlay {
  position: fixed;
  top:0;right:0;bottom:0;left:0;inset: 0;
  z-index: 1100;
  background: rgba(2,2,2,.24);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.menu-overlay.is-open { opacity: 1; visibility: visible; }
.menu-drawer {
  position: fixed;
  z-index: 1110;
  top: 0;
  right: 0;
  width: min(430px, 100vw);
  height:100vh;height: 100dvh;
  padding: 28px 28px 34px;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: -30px 0 90px rgba(2,2,2,.22);
  transform: translateX(104%);
  transition: transform .42s cubic-bezier(.2,.8,.2,1);
  overflow-y: auto;
}
.menu-drawer.is-open { transform: translateX(0); }
.menu-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.menu-drawer-head img { height: 56px; width: auto; }
.menu-close {
  width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; font-size: 24px; line-height: 1;
}
.menu-links { display: grid; padding-top:28px;padding-bottom:28px;padding-block: 28px; }
.menu-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  border-bottom: 1px solid var(--line);
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.1;
  transition: padding .25s ease, color .25s ease;
}
.menu-links a::after { content: "↗"; font-family: var(--sans); font-size: 14px; color: var(--muted); }
.menu-links a:hover { padding-left: 8px; color: var(--sage-deep); }
.menu-drawer-footer { margin-top: auto; padding-top: 20px; color: var(--muted); font-size: 13px; }
.menu-drawer-footer a { text-decoration: underline; text-underline-offset: 3px; }

/* Hero */
.hero {
  position: relative;
  min-height:max(610px, min(74vh, 820px));
  display: grid;
  overflow: hidden;
  background: var(--charcoal);
  color: #fff;
}
.hero-media,
.hero-media::after { position: absolute; top:0;right:0;bottom:0;left:0;inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-media::after {
  content: "";
  background: linear-gradient(180deg, rgba(2,2,2,.23), rgba(2,2,2,.43) 70%, rgba(2,2,2,.56));
}
.hero-content {
  position: relative;
  z-index: 1;
  width: min(100%, 980px);
  margin: auto;
  padding: 84px var(--gutter) 142px;
  text-align: center;
}
.hero-kicker { margin-bottom: 20px; font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.hero h1 { text-wrap: balance; text-shadow: 0 4px 30px rgba(2,2,2,.25); }
.hero-description { max-width: 760px; margin: 24px auto 0; font-size:max(17px, min(1.7vw, 21px)); color: rgba(255,255,255,.91); text-wrap: balance; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 34px; }
.hero-nav {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 42px;
  width: min(100% - 48px, 980px);
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.hero-nav a {
  min-height: 42px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 999px;
  background: rgba(2,2,2,.18);
  color: #fff;
  font-family: var(--serif);
  font-size: 16px;
  -webkit-backdrop-filter:blur(4px);backdrop-filter: blur(4px);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.hero-nav a:hover { background: #fff; color: var(--ink); transform: translateY(-2px); }
.hero.hero-small { min-height:max(480px, min(60vh, 650px)); }
.hero.hero-small .hero-content { padding-bottom: 112px; }

/* Infinite text band — V63 seamless and edge-faded */
.program-strip {
  position: relative;
  height: 64px;
  min-height: 64px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #fff;
  border-top: 1px solid rgba(2,2,2,.08);
  border-bottom: 1px solid rgba(2,2,2,.08);
  isolation: isolate;
  -webkit-mask-image: linear-gradient(90deg,transparent 0,#020202 7%,#020202 93%,transparent 100%);
  mask-image: linear-gradient(90deg,transparent 0,#020202 7%,#020202 93%,transparent 100%);
}
.program-strip::before,
.program-strip::after { display: none; }
.marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  flex: 0 0 auto;
  transform: translate3d(0,0,0);
  animation: marqueeTextV63 40s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.marquee-group {
  flex: 0 0 auto;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 30px 0 0;
  white-space: nowrap;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1;
  color: var(--charcoal);
}
.marquee-group span,
.marquee-group i { display: inline-flex; align-items: center; min-height: 64px; }
.marquee-group i { font-style: normal; color: #959595; }
@media (hover: hover) {
  .program-strip:hover .marquee-track,
  .image-marquee:hover .image-marquee-track { animation-play-state: paused; }
}
@keyframes marqueeTextV63 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

.booking-band {
  position: relative;
  min-height: 112px;
  display: grid;
  place-items: center;
  padding: 22px var(--gutter);
  background: linear-gradient(180deg,#fff,#FFFFFF);
  border-bottom: 1px solid rgba(2,2,2,.08);
}
.booking-band::before {
  content: "";
  position: absolute;
  top:50%;right:0;bottom:auto;left:0;inset: 50% 0 auto;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(120,147,127,.22),transparent);
}
.premium-cta {
  position: relative;
  z-index: 1;
  min-height: 54px;
  padding: 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(68,43,25,.24);
  border-radius: 999px;
  background: linear-gradient(135deg,#F4E9E8,#F4E9E8);
  color: #2D3429;
  box-shadow: 0 16px 38px rgba(68,43,25,.22),0 6px 16px rgba(44,44,44,.1),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(68,43,25,.1);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-decoration: none;
  animation: momBookingBreath 3.8s ease-in-out infinite,momBookingGlow 5.6s ease-in-out infinite;
  transition: transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.premium-cta span { position: relative; z-index: 2; }
.premium-cta::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -45%;
  bottom: -45%;
  left: -70%;
  width: 42%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform: skewX(-18deg);
  animation: momBookingShine 4.4s ease-in-out infinite;
}
.premium-cta::after {
  content: "→";
  position: relative;
  z-index: 2;
  color: #2D3429;
  font-size: 16px;
  line-height: 1;
  animation: momBookingArrow 1.8s ease-in-out infinite;
}
.premium-cta:hover { transform: translateY(-4px) scale(1.025); filter: saturate(1.04) contrast(1.02); }
@keyframes momBookingBreath { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-3px) scale(1.016)} }
@keyframes momBookingGlow { 0%,100%{box-shadow:0 16px 38px rgba(68,43,25,.22),0 6px 16px rgba(44,44,44,.1),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(68,43,25,.1)} 50%{box-shadow:0 22px 52px rgba(68,43,25,.3),0 8px 22px rgba(44,44,44,.14),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(68,43,25,.12)} }
@keyframes momBookingShine { 0%,58%{left:-70%} 78%,100%{left:135%} }
@keyframes momBookingArrow { 0%,100%{transform:translateX(0);opacity:.82} 50%{transform:translateX(4px);opacity:1} }

/* Buttons */
.btn {
  min-height: 48px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .03em;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-dark { background: var(--forest); color: #fff; box-shadow: 0 12px 30px rgba(45,52,41,.18); }
.btn-dark:hover { background: var(--sage-deep); }
.btn-light { background: #fff; color: var(--ink); }
.btn-outline { border-color: var(--line); background: transparent; }
.btn-outline-light { border-color: rgba(255,255,255,.55); color: #fff; background: transparent; }
.btn-sand { background: var(--sand); color: var(--ink); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button-row.center { justify-content: center; }

/* Cards and editorial blocks */
.card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.card {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(2,2,2,.05);
}
.card-media { aspect-ratio: 4/5; overflow: hidden; background: #F4E9E8; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.card:hover .card-media img { transform: scale(1.035); }
.card-body { padding: 26px; }
.card-body h3 { margin-bottom: 12px; }
.card-body p:last-child { margin-bottom: 0; }
.image-card {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  border-radius: var(--radius-md);
  overflow: hidden;
  color: #fff;
}
.image-card > img { position: absolute; top:0;right:0;bottom:0;left:0;inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.image-card::after { content: ""; position: absolute; top:0;right:0;bottom:0;left:0;inset: 0; background: linear-gradient(180deg,transparent 32%,rgba(2,2,2,.7)); }
.image-card-content { position: relative; z-index: 1; padding: 30px; }
.image-card:hover > img { transform: scale(1.04); }
.image-card p { color: rgba(255,255,255,.82); }
.split-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap:max(40px, min(7vw, 100px)); align-items: center; }
.split-media { min-height: 600px; border-radius: var(--radius-md); overflow: hidden; }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.split-copy { max-width: 620px; }
.split-copy h2 { margin-bottom: 24px; }
.text-list { display: grid; gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.text-list li { position: relative; padding-left: 24px; color: var(--charcoal); }
.text-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 9px; height: 1px; background: var(--sage); }
.pill-row { display: flex; flex-wrap: wrap; gap: 10px; }
.pill { padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.6); font-size: 12px; }

/* FAQ / accordions */
.accordion { border-top: 1px solid var(--line); }
.accordion-item { border-bottom: 1px solid var(--line); }
.accordion-trigger {
  width: 100%;
  min-height: 74px;
  padding: 16px 0;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 14px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.accordion-number { font-size: 11px; letter-spacing: .12em; color: var(--muted); }
.accordion-title { font-family: var(--serif); font-size:max(24px, min(2.4vw, 34px)); line-height: 1.15; }
.accordion-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 20px; transition: transform .3s ease, background .3s ease, color .3s ease; }
.accordion-trigger[aria-expanded="true"] .accordion-icon { transform: rotate(45deg); background: var(--forest); color: #fff; }
.accordion-panel { height: 0; overflow: hidden; transition: height .38s cubic-bezier(.2,.8,.2,1); }
.accordion-panel-inner { padding: 0 0 30px 58px; max-width: 900px; color: var(--charcoal); }
.accordion-panel h4 { margin: 24px 0 8px; font-family: var(--sans); font-size: 15px; font-weight: 600; letter-spacing: .02em; }
.more-toggle { margin-top: 18px; border: 0; background: transparent; padding: 0; color: var(--sage-deep); font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.more-content { display: grid; gap: 12px; max-height: 0; overflow: hidden; opacity: 0; transition: max-height .4s ease, opacity .3s ease, margin .3s ease; }
.more-content.is-open { max-height: 700px; opacity: 1; margin-top: 18px; }

/* Studio slider */
.slider {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #F4E9E8;
  box-shadow: var(--shadow-soft);
}
.slider-viewport { position: relative; aspect-ratio: 16/8.4; min-height: 420px; }
.slide { position: absolute; top:0;right:0;bottom:0;left:0;inset: 0; opacity: 0; transform: scale(1.015); transition: opacity .65s ease, transform 1s ease; pointer-events: none; }
.slide.is-active { opacity: 1; transform: scale(1); pointer-events: auto; }
.slide img { width: 100%; height: 100%; object-fit: cover; }
.slider-controls { position: absolute; z-index: 3; top:50%;right:22px;bottom:auto;left:22px;inset: 50% 22px auto; transform: translateY(-50%); display: flex; justify-content: space-between; pointer-events: none; }
.slider-button { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(2,2,2,.34); color: #fff; -webkit-backdrop-filter:blur(8px);backdrop-filter: blur(8px); cursor: pointer; pointer-events: auto; font-size: 21px; }
.slider-dots { position: absolute; z-index: 4; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; gap: 8px; }
.slider-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.48); cursor: pointer; transition: width .3s ease, background .3s ease, border-radius .3s ease; }
.slider-dot.is-active { width: 28px; border-radius: 999px; background: #fff; }

/* Teachers */
.teacher-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.teacher-card { background: var(--forest); color: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-soft); }
.teacher-card-media { aspect-ratio: 4/5; overflow: hidden; }
.teacher-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.teacher-card:hover .teacher-card-media img { transform: scale(1.035); }
.teacher-card-body { padding: 26px; }
.teacher-card-body .eyebrow { color: rgba(255,255,255,.62); }
.teacher-card-body p { color: rgba(255,255,255,.76); }
.teacher-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.teacher-profile-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap:max(42px, min(7vw, 96px)); align-items: start; }
.teacher-profile-photo { position:-webkit-sticky;position: sticky; top: calc(var(--announcement-h) + var(--header-h) + 28px); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); }
.teacher-profile-photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.teacher-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 34px; }
.teacher-gallery img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius-md); }

/* Booking */
.booking-intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap:max(36px, min(7vw, 88px)); align-items: center; }
.booking-summary { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-soft); }
.booking-summary ul { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.booking-summary li { display: flex; gap: 12px; align-items: flex-start; }
.booking-summary li::before { content: "✓"; color: var(--sage-deep); font-weight: 700; }
.service-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.service-card { border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; transition: transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.service-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.service-card-copy { padding: 18px; text-align: center; }
.service-card-copy h3 { font-size: 27px; }
.booking-frame-shell { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; box-shadow: var(--shadow-soft); }
.booking-frame-shell iframe { width: 100%; min-height: 980px; display: block; border: 0; background: #fff; }
.booking-help { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 24px; }

/* Rooms / map / contact */
.room-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.room-card { padding: 30px; border-radius: var(--radius-md); border: 1px solid var(--line); background: #fff; }
.room-card .room-size { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--sage-deep); }
.room-card h3 { margin: 12px 0; }
.map-shell { min-height: 480px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); border: 1px solid var(--line); }
.map-shell iframe { width: 100%; height: 480px; border: 0; display: block; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap:max(40px, min(7vw, 90px)); align-items: start; }
.contact-card { padding: 34px; border-radius: var(--radius-md); background: var(--paper-soft); border: 1px solid var(--line); }
.contact-list { display: grid; gap: 18px; margin-top: 28px; }
.contact-item small { display: block; color: var(--muted); margin-bottom: 3px; }
.form-grid { display: grid; gap: 16px; }
.form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.field { display: grid; gap: 7px; }
.field label { font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.field input, .field textarea {
  width: 100%;
  border: 1px solid rgba(2,2,2,.16);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  padding: 14px 15px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.field textarea { min-height: 170px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--sage); box-shadow: 0 0 0 4px rgba(120,147,127,.11); }
.field-hint { font-size: 11px; color: var(--muted); }
.form-status { min-height: 24px; font-size: 13px; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Moving image strip — V63 user-supplied movement/community photos */
.image-marquee {
  position: relative;
  overflow: hidden;
  padding: 18px 0;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  -webkit-mask-image: linear-gradient(90deg,transparent 0,#020202 5%,#020202 95%,transparent 100%);
  mask-image: linear-gradient(90deg,transparent 0,#020202 5%,#020202 95%,transparent 100%);
}
.image-marquee::before,
.image-marquee::after { display: none; }
.image-marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  transform: translate3d(0,0,0);
  animation: marqueeImagesV63 68s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.image-marquee-group {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 14px;
  padding-right: 14px;
}
.image-marquee-group img {
  width:max(190px, min(18vw, 280px));
  height: 180px;
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  filter: saturate(.94) contrast(.99);
  transition: transform .45s ease,filter .45s ease;
}
.image-marquee-group img:hover { transform: translateY(-4px); filter: saturate(1.02) contrast(1); }
@keyframes marqueeImagesV63 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

/* Reviews */
.reviews-live { padding: 64px var(--gutter); background: var(--paper-soft); }
.reviews-live[hidden] { display: none !important; }
.review-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(290px,420px); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
.review-card { scroll-snap-align: start; padding: 24px; border-radius: var(--radius-md); border: 1px solid var(--line); background: #fff; }
.review-stars { letter-spacing: .15em; color: #9A5E35; }
.review-cta { background: var(--cream); }
.review-cta-inner { min-height: 280px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; }
.review-cta-copy { max-width: 720px; }
.review-cta h2 { margin-bottom: 16px; }
.review-cta p { color: var(--charcoal); }

/* Footer */
.site-footer { padding: 56px 0 26px; background: var(--forest); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 40px; }
.footer-logo { height: 62px; width: auto; filter: invert(1) grayscale(1) brightness(2); opacity: .95; }
.footer-copy { max-width: 420px; margin-top: 16px; color: rgba(255,255,255,.7); font-size: 14px; }
.footer-title { margin-bottom: 12px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.footer-links { display: grid; gap: 8px; font-size: 14px; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.56); font-size: 12px; }
.cookie-settings-link { padding: 0; border: 0; background: none; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

/* Floating wheel */
.wheel-widget { position: fixed; z-index: 1200; left: 18px; bottom: 18px; isolation: isolate; }
.wheel-launcher {
  position: relative;
  z-index: 2;
  touch-action: manipulation;
  width: 58px; height: 58px; padding: 5px; border: 1px solid rgba(2,2,2,.14); border-radius: 50%; background: #fff; box-shadow: 0 18px 48px rgba(2,2,2,.18); cursor: pointer; transition: transform .25s ease, box-shadow .25s ease;
}
.wheel-launcher img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.wheel-launcher:hover { transform: translateY(-3px) rotate(-5deg); box-shadow: 0 24px 58px rgba(2,2,2,.24); }
.wheel-panel {
  position: absolute;
  left: 0;
  bottom: 72px;
  width: min(390px, calc(100vw - 36px));
  max-height:calc(100vh - 148px);max-height: calc(100dvh - 148px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(2,2,2,.1);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-float);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.97);
  transform-origin: bottom left;
  transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1), visibility .28s ease;
}
.wheel-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
.wheel-panel-head { position:-webkit-sticky;position: sticky; top: 0; z-index: 3; display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); -webkit-backdrop-filter:blur(12px);backdrop-filter: blur(12px); }
.wheel-panel-head h2 { font-family: var(--sans); font-size: 16px; font-weight: 700; letter-spacing: 0; }
.wheel-panel-head p { margin: 2px 0 0; font-size: 11px; color: var(--muted); }
.wheel-close { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; font-size: 22px; line-height: 1; }
.wheel-panel-body { padding: 20px; }
.wheel-intro { text-align: center; color: var(--charcoal); font-size: 13px; margin-bottom: 14px; }
.wheel-stage { position: relative; width: 206px; height: 206px; margin: 0 auto 18px; display: grid; place-items: center; }
.wheel-canvas { width: 196px; height: 196px; border-radius: 50%; box-shadow: 0 16px 36px rgba(45,52,41,.18), inset 0 0 0 8px #fff; transition: transform 4.9s cubic-bezier(.12,.72,.12,1); }
.wheel-center { position: absolute; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1px solid var(--line); box-shadow: 0 8px 22px rgba(2,2,2,.12); font-family: var(--serif); font-size: 22px; }
.wheel-pointer { position: absolute; z-index: 2; top: -1px; left: 50%; width: 0; height: 0; transform: translateX(-50%); border-left: 13px solid transparent; border-right: 13px solid transparent; border-top: 24px solid var(--ink); filter: drop-shadow(0 4px 4px rgba(2,2,2,.18)); }
.wheel-note { margin: -4px 0 18px; text-align: center; font-size: 11px; color: var(--muted); }
.wheel-form { display: grid; gap: 11px; }
.wheel-form input[type="email"] { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid rgba(2,2,2,.16); border-radius: 11px; outline: none; }
.wheel-form input[type="email"]:focus { border-color: var(--sage); box-shadow: 0 0 0 4px rgba(120,147,127,.1); }
.wheel-consent { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; font-size: 10px; line-height: 1.45; color: var(--muted); }
.wheel-consent input { margin-top: 2px; }
.wheel-submit { min-height: 46px; border: 0; border-radius: 999px; background: var(--forest); color: #fff; font-weight: 700; font-size: 12px; cursor: pointer; transition: background .25s ease, transform .25s ease; }
.wheel-submit:hover { background: var(--sage-deep); transform: translateY(-1px); }
.wheel-submit:disabled { opacity: .55; cursor: wait; }
.wheel-result { margin-top: 14px; padding: 15px; border-radius: 14px; background: var(--paper-soft); border: 1px solid var(--line); text-align: center; }
.wheel-result.is-win { background: rgba(120,147,127,.12); border-color: rgba(120,147,127,.3); }
.wheel-result.is-error { background: rgba(217,154,107,.12); border-color: rgba(217,154,107,.3); }
.wheel-result strong { display: block; margin-bottom: 3px; font-family: var(--serif); font-size: 24px; }
.wheel-result p { margin: 0; font-size: 12px; color: var(--charcoal); }
.wheel-result code { display: inline-block; margin-top: 9px; padding: 6px 9px; border-radius: 8px; background: #fff; border: 1px dashed var(--sage); font-size: 13px; }
.wheel-rules { display: block; margin-top: 14px; text-align: center; font-size: 11px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.inline-wheel-wrap { max-width: 440px; margin: 0 auto; }
.inline-wheel-wrap .wheel-panel { position: static; width: 100%; max-height: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; box-shadow: var(--shadow-soft); }

/* Chat */
.chat-widget { position: fixed; z-index: 1200; right: 18px; bottom: 18px; isolation: isolate; }
.chat-launcher { width: 60px; height: 60px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: var(--forest); box-shadow: 0 18px 48px rgba(2,2,2,.22); overflow: hidden; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease; }
.chat-launcher img { width: 100%; height: 100%; object-fit: cover; }
.chat-launcher:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 24px 58px rgba(2,2,2,.28); }
.chat-panel {
  position: absolute;
  right: 0;
  bottom: 74px;
  width: min(390px, calc(100vw - 36px));
  height:min(570px, calc(100vh - 150px));height: min(570px, calc(100dvh - 150px));
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-float);
  border: 1px solid rgba(2,2,2,.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.97);
  transform-origin: bottom right;
  transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1), visibility .28s ease;
}
.chat-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
.chat-head { flex: 0 0 auto; display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; background: var(--forest); color: #fff; }
.chat-head h2 { font-family: var(--sans); font-size: 16px; font-weight: 700; letter-spacing: 0; }
.chat-head p { margin: 3px 0 0; color: rgba(255,255,255,.68); font-size: 11px; }
.chat-close { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: #fff; font-size: 22px; cursor: pointer; }
.chat-messages { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #FFFFFF; }
.chat-message { max-width: 88%; padding: 11px 13px; border-radius: 14px; font-size: 12px; line-height: 1.5; }
.chat-message.bot { align-self: flex-start; background: #fff; border: 1px solid var(--line); color: var(--charcoal); }
.chat-message.user { align-self: flex-end; background: var(--forest); color: #fff; }
.chat-message a { display: inline-block; margin-top: 7px; color: var(--sage-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.chat-quick { flex: 0 0 auto; padding: 12px 16px; display: flex; gap: 7px; flex-wrap: wrap; max-height: 125px; overflow-y: auto; border-top: 1px solid var(--line); }
.chat-quick button { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 10px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.chat-quick button:hover { background: rgba(120,147,127,.1); transform: translateY(-1px); }
.chat-form { flex: 0 0 auto; padding: 12px 16px 16px; display: grid; grid-template-columns: 1fr auto; gap: 8px; border-top: 1px solid var(--line); background: #fff; }
.chat-form input { min-width: 0; border: 1px solid rgba(2,2,2,.15); border-radius: 11px; padding: 11px 12px; outline: none; font-size: 12px; }
.chat-form input:focus { border-color: var(--sage); box-shadow: 0 0 0 4px rgba(120,147,127,.1); }
.chat-form button { border: 0; border-radius: 11px; padding: 0 15px; background: var(--forest); color: #fff; font-size: 11px; font-weight: 600; cursor: pointer; }

/* Cookie consent */
.cookie-consent {
  position: fixed;
  z-index: 1300;
  left: 50%;
  bottom: 18px;
  width: min(760px, calc(100vw - 36px));
  transform: translateX(-50%);
  border: 1px solid rgba(2,2,2,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.98);
  box-shadow: var(--shadow-float);
  padding: 20px;
}
.cookie-consent-grid { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.cookie-consent h2 { font-family: var(--sans); font-size: 15px; font-weight: 700; letter-spacing: 0; }
.cookie-consent p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.cookie-actions button { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 10px; font-weight: 600; cursor: pointer; }
.cookie-actions .accept { background: var(--forest); color: #fff; border-color: var(--forest); }
.cookie-options { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.cookie-option { display: flex; justify-content: space-between; align-items: center; gap: 18px; font-size: 11px; }
.cookie-option + .cookie-option { margin-top: 12px; }
.cookie-option input { width: 18px; height: 18px; }

/* Legal/status pages */
.simple-hero { padding:max(80px, min(10vw, 140px)) var(--gutter); text-align: center; background: var(--paper-soft); border-bottom: 1px solid var(--line); }
.simple-hero p { max-width: 700px; margin: 20px auto 0; color: var(--muted); }
.legal-content { max-width: 900px; margin: 0 auto; }
.legal-block { padding: 28px 0; border-bottom: 1px solid var(--line); }
.legal-block h2 { margin-bottom: 12px; font-size:max(28px, min(3vw, 40px)); }
.status-card { max-width: 720px; margin: 0 auto; padding:max(34px, min(5vw, 58px)); text-align: center; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-soft); }
.status-card h1 { font-size:max(42px, min(5vw, 66px)); }
.status-card p { max-width: 560px; margin: 20px auto 28px; color: var(--muted); }

/* Reveal motion */
.reveal { opacity: 1; transform: none; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .marquee-track, .image-marquee-track { animation: none !important; transform: none !important; }
  .program-strip, .image-marquee { overflow-x: auto; }
  .reveal { opacity: 1; transform: none; }
}

/* Instructor specialty mark */
.teacher-symbol {
  width: 54px;
  height: 54px;
  margin: 0 0 16px;
  padding: 6px;
  object-fit: contain;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 28px rgba(2,2,2,.16);
}
.teacher-symbol-profile {
  width: 66px;
  height: 66px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  box-shadow: none;
}


/* Responsive rules */
@media (max-width: 1120px) {
  :root { --gutter: max(32px, min(5vw, 64px)); }
  .card-grid, .teacher-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  :root { --header-h: 76px; --gutter: 24px; }
  .site-header-inner { grid-template-columns: auto 1fr auto; }
  .brand-logo-link { grid-column: 1; justify-content: flex-start; }
  .logo { height: 44px; }
  .header-actions { grid-column: 3; gap: 10px; }
  .menu-toggle { width: 44px; height: 44px; flex-basis: 44px; }
  .hero { min-height: 650px; }
  .hero-content { padding-top: 68px; padding-bottom: 170px; }
  .hero-nav { bottom: 28px; gap: 8px; }
  .hero-nav a { min-height: 38px; padding: 0 16px; font-size: 14px; }
  .split-layout, .teacher-profile-grid, .booking-intro-grid, .contact-grid { grid-template-columns: 1fr; }
  .split-media { min-height: 480px; order: -1; }
  .teacher-profile-photo { position: static; max-width: 620px; margin: 0 auto; }
  .room-grid { grid-template-columns: 1fr; }
  .slider-viewport { min-height: 360px; aspect-ratio: 4/3; }
  .review-cta-inner { grid-template-columns: 1fr; padding-top:64px;padding-bottom:64px;padding-block: 64px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .booking-help { align-items: flex-start; flex-direction: column; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  :root { --announcement-h: 30px; }
  body { font-size: 15px; }
  .announcement-bar { font-size: 10px; }
  .site-header-inner { padding-left:16px;padding-right:16px;padding-inline: 16px; }
  .logo { height: 39px; }
  .header-actions { gap: 8px; }
  .menu-toggle { width: 40px; height: 40px; flex-basis: 40px; }
  .menu-drawer { padding: 22px 20px 28px; }
  .menu-links a { font-size: 27px; }
  .hero { min-height: 620px; }
  .hero h1 { font-size:max(42px, min(12vw, 60px)); }
  .hero-content { padding: 56px 22px 208px; }
  .hero-description { font-size: 16px; }
  .hero-nav { width: calc(100% - 28px); bottom: 24px; }
  .hero-nav a { flex: 1 1 calc(50% - 8px); justify-content: center; padding: 0 10px; font-size: 13px; }
  .program-strip { height: 58px; }
  .marquee-group { gap: 22px; padding-right: 22px; font-size: 17px; }
  .booking-band { min-height: 96px; }
  .premium-cta { width: min(100%,340px); min-height: 50px; padding: 0 24px; }
  .section { padding-top:70px;padding-bottom:70px;padding-block: 70px; }
  .section-compact { padding-top:50px;padding-bottom:50px;padding-block: 50px; }
  .section-heading { margin-bottom: 34px; }
  .card-grid, .teacher-grid, .service-grid { grid-template-columns: 1fr; }
  .image-card { min-height: 440px; }
  .split-media { min-height: 420px; }
  .accordion-trigger { grid-template-columns: 34px 1fr auto; gap: 9px; }
  .accordion-panel-inner { padding-left: 43px; }
  .slider { border-radius: 18px; }
  .slider-viewport { min-height: 430px; aspect-ratio: 3/4; }
  .slider-controls { left:12px;right:12px;inset-inline: 12px; }
  .slider-button { width: 42px; height: 42px; }
  .teacher-gallery { grid-template-columns: 1fr 1fr; }
  .booking-frame-shell { border-radius: 16px; margin-left:-12px;margin-right:-12px;margin-inline: -12px; }
  .booking-frame-shell iframe { min-height: 1100px; }
  .form-row { grid-template-columns: 1fr; }
  .image-marquee-group img { width: 200px; height: 140px; border-radius: 12px; }
  .review-cta-inner { min-height: 0; padding-top:54px;padding-bottom:54px;padding-block: 54px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > * { grid-column: auto !important; }
  .footer-bottom { flex-direction: column; }
  .wheel-widget { left: 12px; bottom: 12px; }
  .wheel-launcher { width: 52px; height: 52px; }
  .wheel-panel { position: fixed; left: 12px; right: 12px; bottom: 74px; width: auto; max-height:calc(100vh - 96px);max-height: calc(100dvh - 96px); transform-origin: bottom center; }
  .wheel-panel-body { padding: 18px; }
  .wheel-stage { width: 184px; height: 184px; }
  .wheel-canvas { width: 174px; height: 174px; }
  .chat-widget { right: 12px; bottom: 12px; }
  .chat-launcher { width: 54px; height: 54px; }
  .chat-panel { position: fixed; left: 12px; right: 12px; bottom: 76px; width: auto; height:min(590px,calc(100vh - 98px));height: min(590px,calc(100dvh - 98px)); transform-origin: bottom center; }
  .chat-form { grid-template-columns: 1fr; }
  .chat-form button { min-height: 40px; }
  .cookie-consent { bottom: 12px; width: calc(100vw - 24px); padding: 16px; }
  .cookie-consent-grid { grid-template-columns: 1fr; gap: 14px; }
  .cookie-actions { justify-content: flex-start; }
  .cookie-actions button { flex: 1 1 auto; }
}

@media (max-width: 420px) {
  .hero-nav a { font-size: 12px; }
  .teacher-gallery { grid-template-columns: 1fr; }
}


/* ===== V62 production refinements ===== */
.skip-link {
  position: fixed; z-index: 3000; left: 16px; top: 12px; padding: 10px 16px;
  border-radius: 999px; background: #fff; color: #020202; box-shadow: 0 12px 36px rgba(2,2,2,.22);
  transform: translateY(-160%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #9A5E35; outline-offset: 3px; }
.site-header-inner { grid-template-columns: 1fr auto 1fr; }
.header-actions { min-width: 48px; }

/* Smoother menu on iOS and low-powered devices. */
.menu-drawer { height: 100vh; height:100vh;height: 100dvh; padding-top: max(28px,env(safe-area-inset-top)); padding-bottom: max(34px,env(safe-area-inset-bottom)); transform: translate3d(104%,0,0); will-change: transform; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.menu-drawer.is-open { transform: translate3d(0,0,0); }
.menu-overlay { will-change: opacity; }
html.scroll-locked, html.scroll-locked body { overflow: hidden !important; overscroll-behavior: none; }

/* Stable image/layout rendering. */
img { height: auto; }
.hero-media img,.slide img,.card-media img,.image-card img,.teacher-card-media img,.teacher-profile-photo img,.teacher-gallery img,.service-card img,.split-media img { height: 100%; }
.image-marquee-track,.marquee-track { backface-visibility: hidden; transform: translateZ(0); }

/* Favorite teachers */
.teacher-card-media { position: relative; }
.favorite-teacher {
  position: absolute; z-index: 3; top: 14px; right: 14px; min-width: 44px; min-height: 44px; padding: 0 12px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px; background: rgba(255,255,255,.92); color: #2D3429; box-shadow: 0 10px 28px rgba(2,2,2,.16);
  cursor: pointer; font-weight: 700; transition: transform .22s ease,background .22s ease,color .22s ease;
}
.favorite-teacher:hover { transform: translateY(-2px) scale(1.03); }
.favorite-teacher[aria-pressed="true"] { background: #2D3429; color: #fff; }
.favorite-teacher-profile { position: static; margin-bottom: 20px; border-color: rgba(45,52,41,.22); background: #F4E9E8; box-shadow: none; }
.favorite-toast { position: fixed; z-index: 2200; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); transform: translate(-50%,18px); opacity: 0; padding: 11px 16px; border-radius: 999px; background: #2D3429; color: #fff; box-shadow: 0 16px 44px rgba(2,2,2,.24); transition: opacity .2s ease,transform .2s ease; pointer-events: none; font-size: 13px; }
.favorite-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

/* Consent-gated external embeds */
.booking-frame-shell,.map-shell { position: relative; }
.embed-consent-placeholder { min-height: inherit; height: 100%; padding: 48px 24px; display: grid; place-items: center; align-content: center; gap: 14px; text-align: center; background: linear-gradient(135deg,#FFFFFF,#F4E9E8); }
.embed-consent-placeholder h3 { font-size:max(28px, min(4vw, 42px)); }
.embed-consent-placeholder p { max-width: 520px; color: var(--muted); }
iframe[hidden] { display: none !important; }

/* Cookie panel: safe-area aware, never clipped by mobile browser chrome. */
.cookie-consent { bottom: max(14px,env(safe-area-inset-bottom)); max-height:calc(100vh - 28px - env(safe-area-inset-top));max-height: calc(100dvh - 28px - env(safe-area-inset-top)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.cookie-consent[aria-hidden="true"] { display: none; }
.cookie-consent a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-option-copy { min-width: 0; }
.cookie-option small { display: block; color: var(--muted); }

/* Fixed widgets respect iPhone safe areas. */
.wheel-widget { bottom: max(18px,env(safe-area-inset-bottom)); left: max(18px,env(safe-area-inset-left)); }
.chat-widget { bottom: max(18px,env(safe-area-inset-bottom)); right: max(18px,env(safe-area-inset-right)); }
body.cookie-open .wheel-widget,body.cookie-open .chat-widget { opacity: 0; pointer-events: none; }
.wheel-widget,.chat-widget { transition: opacity .2s ease; }

.legal-updated { font-size: 13px; }
.legal-content a { color: var(--sage-deep); text-decoration: underline; text-underline-offset: 3px; }

@supports (-webkit-touch-callout: none) {
  body { -webkit-text-size-adjust: 100%; }
  input,textarea,select { font-size: 16px; }
  .hero { min-height: 620px; min-height:min(820px,calc(100vh - var(--announcement-h) - var(--header-h)));min-height: min(820px,calc(100svh - var(--announcement-h) - var(--header-h))); }
}

@media (max-width:620px) {
  .site-header-inner { grid-template-columns: 1fr auto 1fr; }
  .brand-logo-link { grid-column: 2; justify-content: center; }
  .header-actions { grid-column: 3; }
  .menu-drawer { width: 100%; padding-left: max(20px,env(safe-area-inset-left)); padding-right: max(20px,env(safe-area-inset-right)); }
  .menu-links a { font-size:max(22px, min(7vw, 27px)); }
  .cookie-consent { left: 12px; right: 12px; width: auto; transform: none; bottom: max(12px,env(safe-area-inset-bottom)); border-radius: 18px; }
  .cookie-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .cookie-actions .accept { grid-column: 1 / -1; }
  .cookie-actions button { min-height: 44px; }
  .favorite-teacher { top: 10px; right: 10px; }
}


/* ===== V63 targeted fixes: smooth menu, aligned cookie controls, stable bands ===== */
.menu-overlay {
  background: rgba(2,2,2,.30);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition:
    opacity .48s cubic-bezier(.22,.8,.2,1),
    backdrop-filter .48s cubic-bezier(.22,.8,.2,1),
    -webkit-backdrop-filter .48s cubic-bezier(.22,.8,.2,1),
    visibility 0s linear .48s;
}
.menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  transition-delay: 0s;
}
.menu-drawer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(104%,0,0);
  transition:
    transform .56s cubic-bezier(.16,1,.3,1),
    opacity .36s ease,
    visibility 0s linear .56s;
  contain: layout paint style;
}
.menu-drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0,0,0);
  transition-delay: 0s;
}
.menu-drawer-head,
.menu-links a,
.menu-drawer-footer {
  opacity: 0;
  transform: translate3d(22px,0,0);
  transition: opacity .34s ease,transform .48s cubic-bezier(.16,1,.3,1);
}
.menu-drawer.is-open .menu-drawer-head,
.menu-drawer.is-open .menu-links a,
.menu-drawer.is-open .menu-drawer-footer { opacity: 1; transform: translate3d(0,0,0); }
.menu-drawer.is-open .menu-drawer-head { transition-delay: .10s; }
.menu-drawer.is-open .menu-links a:nth-child(1) { transition-delay: .13s; }
.menu-drawer.is-open .menu-links a:nth-child(2) { transition-delay: .15s; }
.menu-drawer.is-open .menu-links a:nth-child(3) { transition-delay: .17s; }
.menu-drawer.is-open .menu-links a:nth-child(4) { transition-delay: .19s; }
.menu-drawer.is-open .menu-links a:nth-child(5) { transition-delay: .21s; }
.menu-drawer.is-open .menu-links a:nth-child(6) { transition-delay: .23s; }
.menu-drawer.is-open .menu-links a:nth-child(7) { transition-delay: .25s; }
.menu-drawer.is-open .menu-links a:nth-child(8) { transition-delay: .27s; }
.menu-drawer.is-open .menu-links a:nth-child(9) { transition-delay: .29s; }
.menu-drawer.is-open .menu-drawer-footer { transition-delay: .29s; }

.footer-links .cookie-settings-link {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: fit-content;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  appearance: none;
  -webkit-appearance: none;
}
.cookie-consent {
  bottom: max(18px,env(safe-area-inset-bottom));
  max-height:calc(100vh - 36px - env(safe-area-inset-top));max-height: calc(100dvh - 36px - env(safe-area-inset-top));
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 620px) {
  .program-strip { height: 58px; min-height: 58px; }
  .marquee-group { min-height: 58px; gap: 22px; padding-right: 22px; font-size: 17px; }
  .marquee-group span,.marquee-group i { min-height: 58px; }
  .image-marquee { padding-top:14px;padding-bottom:14px;padding-block: 14px; }
  .image-marquee-group img { width: 200px; height: 140px; border-radius: 12px; }
  .cookie-consent {
    bottom: max(12px,env(safe-area-inset-bottom));
    max-height:calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-overlay,.menu-drawer,.menu-drawer-head,.menu-links a,.menu-drawer-footer { transition-duration: .01ms !important; transition-delay: 0s !important; }
}

/* Keep the navigation above the consent panel when both are opened quickly. */
.menu-overlay { z-index: 1400; }
.menu-drawer { z-index: 1410; }


/* ===== V64: seamless program strip + coral booking CTA ===== */
.program-strip {
  min-height: 66px;
  height: 66px;
  padding-left:0;padding-right:0;padding-inline: 0;
  overflow: hidden;
  -webkit-mask-image: none;
  mask-image: none;
}
.program-strip::before,
.program-strip::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  width:max(72px, min(9vw, 150px));
  pointer-events: none;
}
.program-strip::before {
  left: 0;
  background: linear-gradient(90deg,#fff 0%,#fff 38%,rgba(255,255,255,.94) 58%,rgba(255,255,255,0) 100%);
}
.program-strip::after {
  right: 0;
  background: linear-gradient(270deg,#fff 0%,#fff 38%,rgba(255,255,255,.94) 58%,rgba(255,255,255,0) 100%);
}
.marquee-track {
  animation: none;
  transform: translate3d(0,0,0);
  padding-top:1px;padding-bottom:1px;padding-block: 1px;
}
.marquee-track.is-ready {
  animation: marqueeTextV64 var(--marquee-duration, 34s) linear infinite;
}
.marquee-group {
  min-height: 66px;
  gap: 34px;
  padding-right: 34px;
  line-height: 1.15;
}
.marquee-group span,
.marquee-group i {
  min-height: 66px;
  padding-top:2px;padding-bottom:2px;padding-block: 2px;
  white-space: nowrap;
}
@keyframes marqueeTextV64 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(var(--marquee-distance, -50%),0,0); }
}

.premium-cta {
  min-height: 58px;
  padding-left:48px;padding-right:48px;padding-inline: 48px;
  border-color: rgba(154,94,53,.28);
  background: linear-gradient(125deg,#D4D4D4 0%,#D99A6B 30%,#D99A6B 58%,#D4D4D4 82%,#F4E9E8 100%);
  color: #2D3429;
  box-shadow: 0 18px 46px rgba(217,154,107,.28),0 7px 18px rgba(68,43,25,.12),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(154,94,53,.13);
  animation: bookingFloatV64 2.65s cubic-bezier(.45,0,.25,1) infinite,bookingGlowV64 2.65s ease-in-out infinite;
}
.premium-cta::before {
  width: 36%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  animation: bookingShineV64 3.25s ease-in-out infinite;
}
.premium-cta::after {
  color: #2D3429;
  animation: bookingArrowV64 1.15s ease-in-out infinite;
}
.premium-cta:hover {
  filter: saturate(1.08) contrast(1.02);
}
@keyframes bookingFloatV64 {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  45% { transform: translate3d(0,-7px,0) scale(1.035); }
  60% { transform: translate3d(0,-5px,0) scale(1.024); }
}
@keyframes bookingGlowV64 {
  0%,100% { box-shadow:0 18px 46px rgba(217,154,107,.26),0 7px 18px rgba(68,43,25,.12),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(154,94,53,.13); }
  45% { box-shadow:0 27px 70px rgba(217,154,107,.42),0 11px 26px rgba(68,43,25,.16),0 0 0 8px rgba(217,154,107,.10),inset 0 1px 0 rgba(255,255,255,.82),inset 0 -1px 0 rgba(154,94,53,.13); }
}
@keyframes bookingShineV64 {
  0%,48% { left:-70%; }
  72%,100% { left:140%; }
}
@keyframes bookingArrowV64 {
  0%,100% { transform:translateX(0); opacity:.76; }
  50% { transform:translateX(7px); opacity:1; }
}

@media (max-width:620px) {
  .program-strip { min-height:60px; height:60px; }
  .program-strip::before,.program-strip::after { width:54px; }
  .marquee-group { min-height:60px; gap:24px; padding-right:24px; font-size:17px; }
  .marquee-group span,.marquee-group i { min-height:60px; }
  .premium-cta { min-height:54px; padding-left:30px;padding-right:30px;padding-inline:30px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track.is-ready { animation:none !important; }
  .program-strip { overflow-x:auto; scrollbar-width:none; }
  .program-strip::-webkit-scrollbar { display:none; }
  .program-strip::before,.program-strip::after { display:none; }
  .premium-cta,.premium-cta::before,.premium-cta::after { animation:none !important; }
}


/* ===== V65: Flowena green CTA, reliable motion, mobile wheel ===== */
html { scroll-behavior: smooth; }

/* JavaScript-enhanced reveal. Content remains visible when JS is unavailable. */
.js .reveal {
  opacity: 0;
  transform: translate3d(0,26px,0);
  transition: opacity .7s cubic-bezier(.22,.8,.2,1), transform .8s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
.js .reveal.is-visible { opacity: 1; transform: translate3d(0,0,0); }

.button-flowena {
  position: relative;
  z-index: 1;
  align-items: center;
  justify-content: center;
  display: inline-flex;
  box-sizing: border-box;
  min-width: 140px;
  max-width: 100%;
  min-height: 52px;
  padding: 13px 40px;
  overflow: hidden;
  border: 0;
  border-radius: 100px;
  background: #78937F;
  color: #fff;
  font-family: Poppins,"Poppins Fallback", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  box-shadow: 0 15px 34px rgba(78,91,81,.24), inset 0 1px 0 rgba(255,255,255,.22);
  transition: transform .28s cubic-bezier(.16,1,.3,1), background-color .25s ease, box-shadow .28s ease;
}
.button-flowena::after { content: "→"; margin-left: 12px; transition: transform .25s ease; }
.button-flowena:hover { background-color: #78937F; transform: translateY(-3px); box-shadow: 0 20px 42px rgba(78,91,81,.32); }
.button-flowena:hover::after { transform: translateX(5px); }
.button-flowena:active { transform: translateY(-1px) scale(.99); }
@media (min-width:768px) { .button-flowena { min-width: 191px; font-size: 18px; } }

/* Keep old CTA class safe if an older cached page references it. */
.premium-cta { background: #78937F !important; color:#fff !important; border-color:transparent !important; }
.premium-cta::after { color:#fff !important; }

/* CSS fallback starts immediately; JS later sets the exact pixel distance. */
.marquee-track {
  --marquee-distance: -33.333%;
  animation: marqueeTextV65 var(--marquee-duration,36s) linear infinite;
}
.marquee-track.is-ready { animation: marqueeTextV65 var(--marquee-duration,36s) linear infinite; }
@keyframes marqueeTextV65 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(var(--marquee-distance),0,0); }
}

.flowena-direct-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap:max(28px, min(5vw, 70px));
  padding:max(30px, min(5vw, 64px));
  border: 1px solid rgba(120,147,127,.24);
  border-radius: 28px;
  background: linear-gradient(135deg,rgba(120,147,127,.13),rgba(255,255,255,.96) 58%,rgba(212,212,212,.42));
  box-shadow: 0 24px 70px rgba(45,52,41,.10);
}
.flowena-direct-card h2 { max-width: 760px; }

.teacher-card-media img { object-position: center 24%; }
.teacher-card-body { min-height: 330px; }
.teacher-card-actions { margin-top: auto; }

/* More reachable and more compact wheel on mobile. */
.wheel-close {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display:grid;
  place-items:center;
  font-size: 28px;
  line-height:1;
  position:relative;
  z-index:4;
  touch-action:manipulation;
}
.wheel-panel-head { position:-webkit-sticky;position: sticky; top: 0; z-index: 5; background:#fff; }
.wheel-panel { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

@media (max-width: 620px) {
  .button-flowena { width:min(100%,340px); min-height:50px; padding:12px 24px; font-size:16px; }
  .flowena-direct-card { grid-template-columns:1fr; text-align:left; border-radius:20px; padding:26px 20px; }
  .flowena-direct-card .button-flowena { justify-self:stretch; width:100%; }
  .wheel-widget { left: max(8px,env(safe-area-inset-left)); bottom:max(8px,env(safe-area-inset-bottom)); }
  .wheel-launcher { width:46px; height:46px; }
  .wheel-panel {
    left:8px;
    right:8px;
    bottom:max(62px,calc(54px + env(safe-area-inset-bottom)));
    width:auto;
    max-height:calc(100vh - 74px - env(safe-area-inset-top));max-height:calc(100dvh - 74px - env(safe-area-inset-top));
    border-radius:18px;
  }
  .wheel-panel-head { padding:10px 10px 10px 15px; }
  .wheel-panel-head h2 { font-size:22px; }
  .wheel-panel-head p { font-size:10px; }
  .wheel-panel-body { padding:12px 14px 16px; }
  .wheel-intro { font-size:11px; margin-bottom:10px; }
  .wheel-stage { width:154px; height:154px; margin-bottom:12px; }
  .wheel-canvas { width:146px; height:146px; }
  .wheel-center { width:46px; height:46px; font-size:18px; }
  .wheel-pointer { border-left-width:11px; border-right-width:11px; border-top-width:20px; }
  .wheel-note { margin-bottom:12px; }
  .wheel-form { gap:9px; }
  .wheel-form input[type="email"], .wheel-submit { min-height:42px; }
  .wheel-consent { font-size:9px; line-height:1.35; }
  .teacher-card-body { min-height:0; }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity:1; transform:none; }
  html { scroll-behavior:auto; }
}


/* ===== V66: JavaScript repair companion, teacher gallery, iPhone refinements ===== */
.site-page { overflow-x: hidden; }
@supports (overflow: clip) { .site-page { overflow-x: clip; } }
.hero-media.teacher-hero-noemi img { object-position: center 36%; }
.booking-teacher-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}
.booking-teacher-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 112px minmax(0,1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(2,2,2,.10);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(45,52,41,.08);
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease;
}
.booking-teacher-card:hover { transform: translateY(-5px); border-color: rgba(120,147,127,.45); box-shadow: 0 24px 58px rgba(45,52,41,.14); }
.booking-teacher-card img { width: 112px; height: 100%; min-height: 152px; object-fit: cover; object-position: center 24%; }
.booking-teacher-copy { min-width: 0; padding: 20px 18px; display: flex; flex-direction: column; justify-content: center; gap: 7px; }
.booking-teacher-copy small { color: var(--sage-deep); font-size: 10px; line-height: 1.35; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.booking-teacher-copy strong { font-family: var(--serif); font-size: 27px; line-height: 1.05; font-weight: 500; }
.booking-teacher-copy > span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.booking-teacher-cta { margin-top: 36px; }
/* Keep all continuously moving bands composited and smooth in Safari. */
.marquee-track,.image-marquee-track { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.program-strip,.image-marquee { -webkit-transform: translateZ(0); transform: translateZ(0); }
body.menu-open .wheel-widget,body.menu-open .chat-widget { opacity: 0; pointer-events: none; }
@supports (-webkit-touch-callout:none) {
  html,body { min-height: -webkit-fill-available; }
  .menu-drawer { min-height: -webkit-fill-available; }
  .wheel-panel,.chat-panel { max-width: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px); }
  .button-flowena,.btn,.menu-toggle,.menu-close,.wheel-close,.chat-close { -webkit-tap-highlight-color: transparent; }
}
@media (max-width: 980px) { .booking-teacher-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) {
  .section { padding-top:max(58px, min(15vw, 82px));padding-bottom:max(58px, min(15vw, 82px));padding-block:max(58px, min(15vw, 82px)); }
  .hero-content { padding-left: max(20px,env(safe-area-inset-left)); padding-right: max(20px,env(safe-area-inset-right)); }
  .booking-teacher-grid { grid-template-columns: 1fr; gap: 12px; }
  .booking-teacher-card { grid-template-columns: 92px minmax(0,1fr); border-radius: 16px; }
  .booking-teacher-card img { width: 92px; min-height: 126px; }
  .booking-teacher-copy { padding: 15px 14px; gap: 5px; }
  .booking-teacher-copy strong { font-size: 23px; }
  .booking-teacher-copy small { font-size: 9px; }
  .wheel-panel { max-height: calc(100vh - 82px); max-height:calc(100vh - 74px - env(safe-area-inset-top));max-height: calc(100dvh - 74px - env(safe-area-inset-top)); }
  .chat-panel { max-height: calc(100vh - 92px); max-height:calc(100vh - 92px - env(safe-area-inset-top));max-height: calc(100dvh - 92px - env(safe-area-inset-top)); }
}
@media (max-width: 390px) {
  .wheel-launcher { width: 42px; height: 42px; }
  .wheel-panel { left: 6px; right: 6px; bottom: max(54px,calc(48px + env(safe-area-inset-bottom))); }
  .wheel-stage { width: 138px; height: 138px; }
  .wheel-canvas { width: 130px; height: 130px; }
  .wheel-close { width: 42px; height: 42px; flex-basis: 42px; }
  .hero-nav { width: calc(100% - 24px); gap: 7px; bottom: 24px; }
  .hero-nav a { min-height: 38px; padding-left:14px;padding-right:14px;padding-inline: 14px; }
}


/* ===== V68: conversion-focused passes, mobile booking and stability ===== */
#berletek { scroll-margin-top: calc(var(--header-h) + var(--announcement-h) + 18px); }
.passes-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(120,147,127,.14), transparent 34%),
    radial-gradient(circle at 92% 6%, rgba(212,212,212,.24), transparent 30%),
    linear-gradient(180deg, #FFFFFF 0%, #F4E9E8 100%);
}
.passes-section::before {
  content: "";
  position: absolute;
  top:0;right:0;bottom:0;left:0;inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(45,52,41,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(45,52,41,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(2,2,2,.5), transparent 74%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(2,2,2,.5), transparent 74%);
}
.passes-section > .container { position: relative; z-index: 1; }
.passes-heading {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
  gap:max(34px, min(7vw, 96px));
  align-items: end;
  margin-bottom: 34px;
}
.passes-heading h2 { max-width: 760px; text-wrap: balance; }
.passes-heading-copy { max-width: 650px; justify-self: end; }
.passes-heading-copy p:last-child { margin-bottom: 0; color: var(--muted); }
.pass-benefit-bar {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(120,147,127,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 38px rgba(45,52,41,.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.pass-benefit-bar span {
  min-height: 62px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 500;
}
.pass-benefit-bar span + span { border-left: 1px solid rgba(120,147,127,.18); }
.pass-benefit-bar b {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(120,147,127,.14);
  color: var(--sage-deep);
  font-size: 10px;
  letter-spacing: .04em;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  align-items: stretch;
}
.price-card {
  min-width: 0;
  min-height: 100%;
  padding:max(24px, min(3.1vw, 38px));
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(45,52,41,.11);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 48px rgba(45,52,41,.07);
  transition: transform .32s cubic-bezier(.16,1,.3,1), box-shadow .32s ease, border-color .32s ease;
}
.price-card:hover { transform: translateY(-5px); border-color: rgba(120,147,127,.48); box-shadow: 0 24px 68px rgba(45,52,41,.13); }
.price-card-featured {
  grid-column: span 2;
  color: #fff;
  border-color: rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 92% 12%, rgba(212,212,212,.27), transparent 36%),
    linear-gradient(135deg, #2D3429 0%, #4E5B51 100%);
  box-shadow: 0 28px 84px rgba(45,52,41,.22);
}
.price-card-featured:hover { border-color: rgba(255,255,255,.28); box-shadow: 0 34px 92px rgba(45,52,41,.28); }
.price-card-head { margin-bottom: 22px; }
.price-kicker {
  margin: 0 0 8px;
  color: var(--sage-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.price-card-featured .price-kicker { color: rgba(255,255,255,.7); }
.price-card h3 { font-size:max(31px, min(3vw, 45px)); }
.price-card > p { color: var(--muted); }
.price-card-featured > p { max-width: 720px; color: rgba(255,255,255,.78); }
.price-card-lead { font-size:max(17px, min(1.45vw, 20px)); }
.price-badge {
  display: inline-flex;
  width: max-content;
  margin-bottom: 24px;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.price {
  margin: 16px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.price strong { font-family: var(--serif); font-size:max(34px, min(3vw, 46px)); line-height: 1; font-weight: 500; color: var(--forest); }
.price span { color: var(--muted); font-size: 12px; }
.price-features {
  margin: 8px 0 30px;
  padding: 0;
  display: grid;
  gap: 11px;
  list-style: none;
}
.price-features li { display: flex; gap: 10px; color: rgba(255,255,255,.82); }
.price-features li::before { content: "✓"; color: #F4E9E8; font-weight: 700; }
.price-card-featured .button-flowena { margin-top: auto; align-self: flex-start; background: #fff; color: var(--forest); box-shadow: 0 18px 44px rgba(2,2,2,.18); }
.price-card-featured .button-flowena:hover { background: #F4E9E8; }
.price-link {
  margin-top: auto;
  padding-top: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid rgba(45,52,41,.1);
  color: var(--sage-deep);
  font-size: 13px;
  font-weight: 600;
}
.price-link span { transition: transform .25s ease; }
.price-link:hover span { transform: translateX(5px); }
.passes-choice {
  margin-top: 22px;
  padding:max(26px, min(4vw, 48px));
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap:max(26px, min(5vw, 68px));
  align-items: center;
  border: 1px solid rgba(120,147,127,.24);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 58px rgba(45,52,41,.08);
}
.passes-choice h3 { font-size:max(30px, min(3.2vw, 48px)); }
.passes-choice p:last-child { max-width: 760px; margin-bottom: 0; color: var(--muted); }
.passes-choice-actions { justify-content: flex-end; margin: 0; }
.price-disclaimer { max-width: 980px; margin: 24px auto 0; text-align: center; color: var(--muted); font-size: 11px; }
.home-passes-section { background: #fff; }
.home-passes-card {
  padding:max(30px, min(5vw, 68px));
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap:max(30px, min(6vw, 86px));
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(120,147,127,.24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 95% 5%, rgba(212,212,212,.34), transparent 31%),
    linear-gradient(135deg, rgba(120,147,127,.13), rgba(255,255,255,.98) 54%, rgba(244,233,232,.68));
  box-shadow: 0 24px 76px rgba(45,52,41,.1);
}
.home-passes-copy { max-width: 930px; }
.home-passes-copy h2 { max-width: 790px; }
.home-passes-copy .lead { max-width: 870px; }
.pass-mini-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.pass-mini-pills span { padding: 9px 13px; border: 1px solid rgba(120,147,127,.22); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--sage-deep); font-size: 11px; }
.pass-mini-pills b { color: var(--forest); font-weight: 600; }
.home-passes-actions { min-width: 230px; display: grid; gap: 12px; }
.mobile-booking-bar { display: none; }

/* Reliable keyboard focus for conversion links. */
.price-link:focus-visible{
  outline: 3px solid rgba(120,147,127,.48);
  outline-offset: 4px;
}
.mobile-booking-bar a:focus-visible{
  outline: 3px solid rgba(120,147,127,.48);
  outline-offset: 4px;
}
.button-flowena:focus-visible{
  outline: 3px solid rgba(120,147,127,.48);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .price-card-featured { grid-column: span 2; }
  .home-passes-card { grid-template-columns: 1fr; }
  .home-passes-actions { min-width: 0; display: flex; flex-wrap: wrap; }
}
@media (max-width: 820px) {
  .passes-heading { grid-template-columns: 1fr; gap: 24px; }
  .passes-heading-copy { justify-self: start; }
  .pass-benefit-bar { grid-template-columns: 1fr; }
  .pass-benefit-bar span + span { border-left: 0; border-top: 1px solid rgba(120,147,127,.18); }
  .passes-choice { grid-template-columns: 1fr; }
  .passes-choice-actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
  .booking-page { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .pricing-grid { grid-template-columns: 1fr; gap: 13px; }
  .price-card-featured { grid-column: auto; }
  .price-card { padding: 25px 20px; border-radius: 19px; }
  .price-card:hover { transform: none; }
  .price-card-featured .button-flowena { align-self: stretch; width: 100%; }
  .passes-heading { margin-bottom: 24px; }
  .pass-benefit-bar { border-radius: 15px; }
  .pass-benefit-bar span { min-height: 56px; padding: 12px 15px; }
  .passes-choice { padding: 25px 20px; border-radius: 19px; }
  .passes-choice-actions { display: grid; width: 100%; }
  .passes-choice-actions .btn,.passes-choice-actions .button-flowena { width: 100%; }
  .home-passes-card { padding: 30px 20px; border-radius: 20px; }
  .home-passes-actions { display: grid; width: 100%; }
  .home-passes-actions .btn,.home-passes-actions .button-flowena { width: 100%; }
  .pass-mini-pills { gap: 7px; }
  .pass-mini-pills span { padding: 8px 10px; font-size: 10px; }
  .mobile-booking-bar {
    position: fixed;
    z-index: 960;
    left: max(10px,env(safe-area-inset-left));
    right: max(10px,env(safe-area-inset-right));
    bottom: max(8px,env(safe-area-inset-bottom));
    min-height: 58px;
    padding: 7px;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 7px;
    border: 1px solid rgba(45,52,41,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 58px rgba(44,44,44,.22);
    backdrop-filter: blur(18px) saturate(1.25);
    -webkit-backdrop-filter: blur(18px) saturate(1.25);
  }
  .mobile-booking-bar a { min-width: 0; min-height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 13px; font-size: 13px; font-weight: 600; text-align: center; }
  .mobile-booking-secondary { background: #F4E9E8; color: var(--forest); }
  .mobile-booking-primary { background: var(--sage); color: #fff; box-shadow: 0 10px 24px rgba(78,91,81,.23); }
  .booking-page .wheel-widget,.booking-page .chat-widget { bottom: max(82px,calc(74px + env(safe-area-inset-bottom))); }
  .booking-page .wheel-panel,.booking-page .chat-panel { bottom: max(138px,calc(130px + env(safe-area-inset-bottom))); }
}
@media (max-width: 380px) {
  .mobile-booking-bar { left: 6px; right: 6px; }
  .mobile-booking-bar a { padding-left:9px;padding-right:9px;padding-inline: 9px; font-size: 12px; }
  .price strong { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .price-card,.price-link span { transition: none; }
}


/* ===== V69: custom Brevo newsletter popup ===== */
.newsletter-widget {
  position: fixed;
  z-index: 1240;
  right: max(88px,calc(88px + env(safe-area-inset-right)));
  bottom: max(18px,env(safe-area-inset-bottom));
  isolation: isolate;
}
.newsletter-launcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 58px;
  height: 58px;
  padding: 0 17px;
  border: 1px solid rgba(45,52,41,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: var(--forest);
  box-shadow: 0 18px 48px rgba(2,2,2,.18);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: transform .28s ease,box-shadow .28s ease,background .28s ease;
  animation: newsletterFloatV69 3.6s ease-in-out infinite;
}
.newsletter-launcher::before {
  content: "";
  position: absolute;
  top:-5px;right:-5px;bottom:-5px;left:-5px;inset: -5px;
  z-index: -1;
  border: 1px solid rgba(120,147,127,.34);
  border-radius: inherit;
  opacity: 0;
  animation: newsletterRingV69 3.6s ease-out infinite;
}
.newsletter-launcher:hover { transform: translateY(-3px); box-shadow: 0 24px 58px rgba(2,2,2,.23); background:#fff; }
.newsletter-launcher-icon { width: 25px; height: 25px; display:grid; place-items:center; }
.newsletter-launcher-icon svg { width: 25px; height: 25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.newsletter-launcher-label { font-size: 12px; font-weight: 700; letter-spacing:.02em; white-space:nowrap; }
@keyframes newsletterFloatV69 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes newsletterRingV69 { 0%,45%{opacity:0;transform:scale(.92)} 60%{opacity:.65} 100%{opacity:0;transform:scale(1.16)} }

.newsletter-backdrop {
  position: fixed;
  top:0;right:0;bottom:0;left:0;inset: 0;
  z-index: 1590;
  background: rgba(44,44,44,.44);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease,visibility .28s ease;
}
.newsletter-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.newsletter-panel {
  position: fixed;
  z-index: 1600;
  top: 50%;
  left: 50%;
  width: min(520px,calc(100vw - 32px));
  max-height:calc(100vh - 40px);max-height: calc(100dvh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(2,2,2,.09);
  border-radius: 28px;
  background: var(--paper);
  box-shadow: 0 34px 100px rgba(2,2,2,.30);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,-46%) scale(.965);
  transition: opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility .28s ease;
}
.newsletter-panel.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,-50%) scale(1); }
.newsletter-panel-inner { position:relative; z-index:2; padding: 46px 44px 38px; }
.newsletter-close {
  position:-webkit-sticky;position: sticky;
  float: right;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 38px;
  height: 38px;
  margin: 12px 12px -50px 0;
  border: 1px solid rgba(2,2,2,.11);
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(2,2,2,.08);
  font-size: 24px;
  line-height:1;
  cursor:pointer;
}
.newsletter-close:hover { background:#fff; transform:rotate(4deg); }
.newsletter-decor { position:absolute; border-radius:50%; pointer-events:none; filter:blur(.2px); }
.newsletter-decor-one { width:180px; height:180px; right:-74px; top:-78px; background:rgba(212,212,212,.50); animation:newsletterDecorV69 8s ease-in-out infinite alternate; }
.newsletter-decor-two { width:120px; height:120px; left:-56px; bottom:-52px; background:rgba(120,147,127,.16); animation:newsletterDecorV69 10s ease-in-out infinite alternate-reverse; }
@keyframes newsletterDecorV69 { from{transform:translate3d(0,0,0) scale(1)} to{transform:translate3d(10px,8px,0) scale(1.08)} }
.newsletter-eyebrow { margin:0 0 10px; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--sage-deep); }
.newsletter-panel h2 { max-width:390px; margin:0 0 13px; font-family:var(--serif); font-size:48px; line-height:.98; font-weight:500; letter-spacing:-.03em; color:var(--ink); }
.newsletter-intro { max-width:420px; margin:0 0 26px; color:var(--charcoal); font-size:14px; line-height:1.72; }
.newsletter-form { display:grid; gap:14px; }
.newsletter-field { display:grid; gap:7px; }
.newsletter-field > label:first-child { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--charcoal); }
.newsletter-field .entry__field { position:relative; }
.newsletter-field input[type="email"] {
  width:100%;
  height:54px;
  padding:0 18px;
  border:1px solid rgba(2,2,2,.16);
  border-radius:15px;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.newsletter-field input[type="email"]::placeholder { color:#959595; }
.newsletter-field input[type="email"]:focus { border-color:var(--sage); background:#fff; box-shadow:0 0 0 4px rgba(120,147,127,.12); }
.newsletter-field .entry__error { display:block; min-height:0; font-size:11px; line-height:1.45; color:#9A5E35; }
.newsletter-field .entry__error:empty { display:none; }
.newsletter-consent { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; color:var(--muted); font-size:10px; line-height:1.55; cursor:pointer; }
.newsletter-consent input { width:17px; height:17px; margin:2px 0 0; accent-color:var(--sage); }
.newsletter-consent a { color:var(--sage-deep); text-decoration:underline; text-underline-offset:2px; }
.newsletter-confirm-note { margin:-3px 0 0 28px; color:#959595; font-size:10px; }
.newsletter-submit {
  position:relative;
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:999px;
  background:var(--sage);
  color:#fff;
  font-family:var(--sans);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(45,52,41,.18);
  transition:transform .24s ease,background .24s ease,box-shadow .24s ease;
}
.newsletter-submit::before { content:""; position:absolute; top:0;right:0;bottom:0;left:0;inset:0; transform:translateX(-110%); background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent); transition:transform .65s ease; }
.newsletter-submit:hover { transform:translateY(-2px); background:var(--sage-deep); box-shadow:0 19px 40px rgba(45,52,41,.23); }
.newsletter-submit:hover::before { transform:translateX(110%); }
.newsletter-submit-arrow { font-size:19px; transition:transform .24s ease; }
.newsletter-submit:hover .newsletter-submit-arrow { transform:translateX(3px); }
.newsletter-loader { width:18px; height:18px; fill:currentColor; animation:newsletterSpinV69 1s linear infinite; }
.sib-hide-loader-icon { display:none; }
@keyframes newsletterSpinV69 { to{transform:rotate(360deg)} }
.newsletter-message { display:none; align-items:flex-start; gap:10px; margin:0 0 17px; padding:13px 14px; border-radius:14px; font-size:11px; line-height:1.5; }
.newsletter-message.sib-form-message-panel--active { display:flex !important; }
.newsletter-message[style*="display: block"],.newsletter-message[style*="display:block"] { display:flex !important; }
.newsletter-message-icon { flex:0 0 22px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; font-weight:800; }
.newsletter-message-error { color:#442B19; background:#F4E9E8; border:1px solid rgba(154,94,53,.20); }
.newsletter-message-error .newsletter-message-icon { background:#D4D4D4; }
.newsletter-message-success { color:#4E5B51; background:#F4E9E8; border:1px solid rgba(78,91,81,.20); }
.newsletter-message-success .newsletter-message-icon { background:#F4E9E8; }
.newsletter-message-success strong { display:block; }
.newsletter-privacy { margin:15px 0 0; text-align:center; color:#78937F; font-size:9px; line-height:1.5; }
.newsletter-form .input--hidden { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.newsletter-footer-link { padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.newsletter-footer-link:hover { text-decoration:underline; text-underline-offset:4px; }
.newsletter-scroll-locked { overflow:hidden; }
body.newsletter-open .newsletter-launcher { opacity:0; pointer-events:none; }
body.cookie-open .newsletter-widget,body.menu-open .newsletter-widget { opacity:0; pointer-events:none; }
.newsletter-widget { transition:opacity .2s ease; }

@media (max-width:760px) {
  .newsletter-widget { right:max(82px,calc(82px + env(safe-area-inset-right))); bottom:max(10px,env(safe-area-inset-bottom)); }
  .newsletter-launcher { width:46px; min-width:46px; height:46px; padding:0; }
  .newsletter-launcher-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .newsletter-launcher-icon,.newsletter-launcher-icon svg { width:22px; height:22px; }
  .newsletter-panel { top:auto; left:8px; right:8px; bottom:max(62px,calc(54px + env(safe-area-inset-bottom))); width:auto; max-height:calc(100vh - 78px - env(safe-area-inset-top));max-height:calc(100dvh - 78px - env(safe-area-inset-top)); border-radius:23px; transform:translateY(18px) scale(.98); }
  .newsletter-panel.is-open { transform:translateY(0) scale(1); }
  .newsletter-panel-inner { padding:40px 22px 26px; }
  .newsletter-panel h2 { font-size:40px; }
  .newsletter-close { width:42px; height:42px; margin:8px 8px -48px 0; }
  .newsletter-decor-one { width:130px; height:130px; }
}
@media (max-width:390px) {
  .newsletter-panel-inner { padding-left:18px; padding-right:18px; }
  .newsletter-panel h2 { font-size:36px; }
  .newsletter-intro { font-size:13px; }
}
.booking-page .newsletter-widget { bottom:max(82px,calc(74px + env(safe-area-inset-bottom))); }
@media (max-width:760px) {
  .booking-page .newsletter-panel { bottom:max(132px,calc(124px + env(safe-area-inset-bottom))); max-height:calc(100vh - 148px - env(safe-area-inset-top));max-height:calc(100dvh - 148px - env(safe-area-inset-top)); }
}
@media (prefers-reduced-motion:reduce) {
  .newsletter-launcher,.newsletter-launcher::before,.newsletter-decor,.newsletter-loader { animation:none !important; }
  .newsletter-panel,.newsletter-backdrop,.newsletter-submit { transition:none !important; }
}


/* ===== V70: hírlevélablak – csúszkamentes, stabil desktop/iPhone megjelenés ===== */
.newsletter-panel {
  overflow: hidden !important;
  overscroll-behavior: none;
  contain: layout paint;
}
.newsletter-panel-inner {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height:calc(100vh - 40px);max-height: calc(100dvh - 40px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-y;
}
.newsletter-panel-inner::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.newsletter-close {
  position: absolute;
  top: 14px;
  right: 14px;
  float: none;
  margin: 0;
}
.newsletter-form,
.newsletter-field,
.newsletter-field .entry__field,
.newsletter-consent,
.newsletter-consent span,
.newsletter-submit {
  min-width: 0;
  max-width: 100%;
}
.newsletter-consent span,
.newsletter-message span,
.newsletter-intro,
.newsletter-privacy {
  overflow-wrap: anywhere;
  word-break: normal;
}
html.newsletter-scroll-locked,
html.newsletter-scroll-locked body,
body.newsletter-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

@media (max-width: 760px) {
  .newsletter-panel,
  .booking-page .newsletter-panel {
    top: 50%;
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    bottom: auto;
    width: auto;
    max-width: none;
    max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    transform: translateY(-46%) scale(.98);
  }
  .newsletter-panel.is-open,
  .booking-page .newsletter-panel.is-open {
    transform: translateY(-50%) scale(1);
  }
  .newsletter-panel-inner {
    max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding-top: 42px;
    padding-bottom: 24px;
  }
  .newsletter-field input[type="email"] {
    font-size: 16px; /* iPhone-on nem nagyít bele fókuszáláskor */
  }
  .newsletter-close {
    top: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
  }
}

@media (max-height: 720px) and (min-width: 761px) {
  .newsletter-panel-inner { padding: 34px 38px 28px; }
  .newsletter-panel h2 { font-size: 41px; }
  .newsletter-intro { margin-bottom: 18px; line-height: 1.55; }
  .newsletter-form { gap: 11px; }
  .newsletter-field input[type="email"] { height: 50px; }
  .newsletter-submit { min-height: 48px; }
  .newsletter-privacy { margin-top: 10px; }
}

@media (max-height: 620px) {
  .newsletter-panel-inner { padding-top: 32px; padding-bottom: 20px; }
  .newsletter-panel h2 { font-size: 34px; }
  .newsletter-eyebrow { margin-bottom: 6px; }
  .newsletter-intro { margin-bottom: 14px; font-size: 12px; line-height: 1.5; }
  .newsletter-confirm-note,
  .newsletter-privacy { display: none; }
  .newsletter-field input[type="email"] { height: 48px; }
  .newsletter-submit { min-height: 47px; }
}

/* ===== V72: cleaner, conversion-focused booking / pass page ===== */
.booking-hero-v72 .hero-content { max-width: 850px; }
.booking-hero-v72 .hero-description { max-width: 720px; }
.booking-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.booking-hero-actions .button-flowena,
.booking-hero-actions .btn { min-width:190px; justify-content:center; }

.booking-jump-nav { position:relative; z-index:8; background:#fff; border-bottom:1px solid rgba(2,2,2,.08); box-shadow:0 14px 34px rgba(44,44,44,.05); }
.booking-jump-nav-inner { min-height:78px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
.booking-jump-nav a { min-width:0; display:flex; align-items:center; justify-content:center; gap:10px; padding:18px 12px; color:var(--forest); font-size:13px; font-weight:600; text-align:center; border-left:1px solid rgba(2,2,2,.07); transition:background .25s ease,color .25s ease; }
.booking-jump-nav a:last-child { border-right:1px solid rgba(2,2,2,.07); }
.booking-jump-nav a:hover { background:var(--paper-soft); color:var(--sage-deep); }
.booking-jump-nav a span { color:var(--sage); font-size:10px; letter-spacing:.08em; }

.booking-start-v72 { padding-top:max(72px, min(7vw, 112px));padding-bottom:max(72px, min(7vw, 112px));padding-block:max(72px, min(7vw, 112px)); }
.booking-start-grid-v72 { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); gap:max(36px, min(6vw, 92px)); align-items:center; }
.booking-start-copy { max-width:780px; }
.booking-start-copy h2 { max-width:740px; }
.booking-checklist-v72 { display:grid; gap:1px; overflow:hidden; border:1px solid rgba(120,147,127,.18); border-radius:24px; background:rgba(120,147,127,.18); box-shadow:var(--shadow-soft); }
.booking-checklist-v72 > div { min-height:112px; display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-items:center; padding:22px 24px; background:#fff; }
.booking-checklist-v72 b { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--paper-soft); color:var(--sage-deep); font-size:12px; }
.booking-checklist-v72 span { display:grid; gap:4px; }
.booking-checklist-v72 strong { color:var(--forest); font-size:15px; }
.booking-checklist-v72 small { color:var(--muted); font-size:12px; line-height:1.55; }

.ticket-section-v72 { overflow:hidden; }
.ticket-section-v72 .section-heading { max-width:760px; }
.ticket-grid-v72 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ticket-card-v72 { position:relative; min-height:430px; display:flex; flex-direction:column; padding:30px 26px 26px; border:1px solid rgba(120,147,127,.2); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 16px 48px rgba(45,52,41,.07); overflow:hidden; transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.ticket-card-v72::after { content:""; position:absolute; right:-70px; top:-76px; width:150px; height:150px; border-radius:50%; background:rgba(120,147,127,.09); transition:transform .45s ease; }
.ticket-card-v72:hover { transform:translateY(-5px); border-color:rgba(120,147,127,.5); box-shadow:0 24px 65px rgba(45,52,41,.12); }
.ticket-card-v72:hover::after { transform:scale(1.18); }
.ticket-icon-v72 { position:relative; z-index:1; width:42px; height:42px; margin-bottom:22px; display:grid; place-items:center; border-radius:50%; background:var(--paper-soft); color:var(--sage-deep); font-size:11px; font-weight:700; }
.ticket-card-v72 h3 { min-height:76px; font-size:max(28px, min(2.2vw, 37px)); }
.ticket-card-v72 > p:not(.price-kicker):not(.ticket-price-v72) { color:var(--muted); font-size:13px; }
.ticket-price-v72 { margin:17px 0 18px; display:grid; gap:6px; }
.ticket-price-v72 strong { font-family:var(--serif); font-size:max(33px, min(2.9vw, 45px)); line-height:1; font-weight:500; color:var(--forest); }
.ticket-price-v72 span { color:var(--muted); font-size:11px; }
.ticket-card-v72 .price-link { margin-top:auto; }
.ticket-card-dark-v72 { background:var(--forest); border-color:var(--forest); color:#fff; }
.ticket-card-dark-v72::after { background:rgba(255,255,255,.07); }
.ticket-card-dark-v72 .ticket-icon-v72 { background:rgba(255,255,255,.1); color:#fff; }
.ticket-card-dark-v72 .price-kicker { color:rgba(255,255,255,.62); }
.ticket-card-dark-v72 h3,
.ticket-card-dark-v72 .ticket-price-v72 strong { color:#fff; }
.ticket-card-dark-v72 > p:not(.price-kicker):not(.ticket-price-v72),
.ticket-card-dark-v72 .ticket-price-v72 span { color:rgba(255,255,255,.7); }
.ticket-card-dark-v72 .price-link { color:#fff; border-color:rgba(255,255,255,.35); }

.passes-v72 { background:#fff; }
.passes-head-v72 { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:max(32px, min(6vw, 88px)); align-items:end; margin-bottom:42px; }
.passes-head-v72 > div:last-child { max-width:600px; justify-self:end; }
.passes-head-v72 .button-flowena { margin-top:18px; }
.pass-type-guide-v72 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.pass-type-guide-v72 article { min-height:190px; padding:28px 30px; border:1px solid rgba(120,147,127,.2); border-radius:22px; background:linear-gradient(135deg,#FFFFFF,#fff); }
.pass-type-guide-v72 article:nth-child(2) { background:linear-gradient(135deg,#F4E9E8,#fff); }
.pass-type-guide-v72 span { display:inline-flex; margin-bottom:14px; padding:7px 10px; border-radius:999px; background:rgba(120,147,127,.11); color:var(--sage-deep); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.pass-type-guide-v72 h3 { font-size:max(29px, min(3vw, 42px)); }
.pass-type-guide-v72 p { margin:12px 0 0; max-width:600px; color:var(--muted); font-size:13px; }
.pass-accordion-list-v72 { display:grid; gap:16px; }
.pass-accordion-v72 { overflow:hidden; border:1px solid rgba(2,2,2,.1); border-radius:24px; background:#fff; box-shadow:0 16px 48px rgba(45,52,41,.06); }
.pass-accordion-trigger-v72 { width:100%; min-height:112px; display:grid; grid-template-columns:minmax(250px,1fr) auto 42px; gap:20px; align-items:center; padding:24px 28px; border:0; background:#fff; text-align:left; cursor:pointer; }
.pass-accordion-trigger-v72:hover { background:#FFFFFF; }
.pass-accordion-trigger-v72 > span:first-child { display:grid; gap:5px; }
.pass-accordion-trigger-v72 small { color:var(--sage-deep); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.pass-accordion-trigger-v72 strong { font-family:var(--serif); font-size:max(29px, min(3.1vw, 43px)); line-height:1; font-weight:500; }
.pass-payment-tags-v72 { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.pass-payment-tags-v72 i { padding:7px 10px; border:1px solid rgba(120,147,127,.21); border-radius:999px; color:var(--sage-deep); font-style:normal; font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.pass-accordion-plus-v72 { position:relative; width:38px; height:38px; border:1px solid rgba(2,2,2,.12); border-radius:50%; }
.pass-accordion-plus-v72::before,
.pass-accordion-plus-v72::after { content:""; position:absolute; left:50%; top:50%; width:14px; height:1.5px; border-radius:999px; background:var(--forest); transform:translate(-50%,-50%); transition:transform .3s ease; }
.pass-accordion-plus-v72::after { transform:translate(-50%,-50%) rotate(90deg); }
.pass-accordion-trigger-v72[aria-expanded="true"] .pass-accordion-plus-v72::after { transform:translate(-50%,-50%) rotate(0deg); }
.pass-accordion-panel-v72 { height:0; overflow:hidden; border-top:1px solid transparent; transition:height .38s cubic-bezier(.2,.8,.2,1); }
.pass-accordion-trigger-v72[aria-expanded="true"] + .pass-accordion-panel-v72 { border-top-color:rgba(2,2,2,.08); }
.pass-accordion-panel-v72 { padding-left:28px;padding-right:28px;padding-inline:28px; }
.pass-accordion-panel-v72 > .button-flowena { margin:0 0 28px; }
.pass-table-v72 { margin:26px 0 20px; overflow:hidden; border:1px solid rgba(2,2,2,.09); border-radius:18px; }
.pass-row-v72 { min-height:86px; display:grid; grid-template-columns:minmax(180px,1.1fr) repeat(2,minmax(170px,1fr)); align-items:stretch; background:#fff; }
.pass-row-v72 + .pass-row-v72 { border-top:1px solid rgba(2,2,2,.08); }
.pass-row-v72 > * { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:5px; padding:16px 20px; }
.pass-row-v72 > * + * { border-left:1px solid rgba(2,2,2,.08); }
.pass-row-v72 strong { color:var(--forest); font-family:var(--serif); font-size:27px; font-weight:500; }
.pass-row-v72 b { color:var(--forest); font-size:16px; }
.pass-row-v72 small { color:var(--muted); font-size:10px; }
.pass-row-head-v72 { min-height:52px; background:var(--paper-soft); }
.pass-row-head-v72 span { color:var(--sage-deep); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.pass-note-v72 { margin:0 0 22px; padding:16px 18px; border-left:3px solid var(--sage); background:#FFFFFF; color:var(--muted); font-size:12px; }
.pass-note-v72 strong { color:var(--forest); }

.payment-section-v72 { overflow:hidden; }
.payment-grid-v72 { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:max(28px, min(5vw, 72px)); align-items:stretch; }
.payment-copy-v72 { padding:max(12px, min(2vw, 24px)) 0; }
.payment-copy-v72 h2 { max-width:680px; }
.payment-copy-v72 .lead { max-width:720px; }
.payment-methods-v72 { display:grid; gap:10px; margin:30px 0; }
.payment-methods-v72 > div { display:grid; grid-template-columns:46px minmax(0,1fr); gap:15px; align-items:center; padding:14px 16px; border:1px solid rgba(120,147,127,.18); border-radius:16px; background:rgba(255,255,255,.82); }
.payment-methods-v72 > div > span { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:rgba(120,147,127,.1); color:var(--sage-deep); font-size:19px; }
.payment-methods-v72 p { margin:0; display:grid; gap:2px; }
.payment-methods-v72 strong { font-size:14px; color:var(--forest); }
.payment-methods-v72 small { color:var(--muted); font-size:11px; }
.gift-card-v72 { position:relative; min-height:520px; display:flex; flex-direction:column; justify-content:flex-end; padding:max(34px, min(4vw, 58px)); border-radius:30px; background:var(--forest); color:#fff; overflow:hidden; box-shadow:0 30px 82px rgba(44,44,44,.22); }
.gift-card-v72::before { content:"AS"; position:absolute; right:-18px; top:-50px; color:rgba(255,255,255,.035); font-family:var(--serif); font-size:230px; line-height:1; }
.gift-card-orbit-v72 { position:absolute; right:46px; top:42px; width:120px; height:120px; border:1px solid rgba(255,255,255,.16); border-radius:50%; animation:giftOrbitV72 9s linear infinite; }
.gift-card-orbit-v72::after { content:""; position:absolute; left:50%; top:-5px; width:10px; height:10px; border-radius:50%; background:var(--sand); transform:translateX(-50%); box-shadow:0 0 0 7px rgba(212,212,212,.09); }
@keyframes giftOrbitV72 { to { transform:rotate(360deg); } }
.gift-card-v72 .eyebrow { color:rgba(255,255,255,.64); }
.gift-card-v72 h3 { max-width:520px; color:#fff; font-size:max(40px, min(4vw, 58px)); }
.gift-card-v72 > p:not(.eyebrow) { max-width:560px; color:rgba(255,255,255,.74); }
.gift-card-meta-v72 { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 24px; }
.gift-card-meta-v72 span { padding:8px 11px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.8); font-size:10px; }
.gift-card-v72 .button-row { margin-top:0; }

.teacher-booking-v72 { padding-top:max(70px, min(7vw, 108px));padding-bottom:max(70px, min(7vw, 108px));padding-block:max(70px, min(7vw, 108px)); }
.teacher-booking-head-v72 { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:max(28px, min(6vw, 86px)); align-items:end; margin-bottom:36px; }
.teacher-booking-head-v72 > div:last-child { max-width:600px; justify-self:end; }
.teacher-booking-head-v72 p { color:var(--muted); }
.teacher-booking-head-v72 .btn { margin-top:10px; }
.booking-teacher-grid-v72 { gap:12px; }
.booking-teacher-grid-v72 .booking-teacher-card { grid-template-columns:82px minmax(0,1fr); min-height:118px; border-radius:17px; }
.booking-teacher-grid-v72 .booking-teacher-card img { width:82px; min-height:118px; }
.booking-teacher-grid-v72 .booking-teacher-copy { padding:14px 13px; gap:4px; }
.booking-teacher-grid-v72 .booking-teacher-copy strong { font-size:22px; }
.booking-teacher-grid-v72 .booking-teacher-copy small { font-size:8px; }
.booking-teacher-grid-v72 .booking-teacher-copy > span { font-size:10px; }

.booking-final-v72 { padding-top:max(66px, min(7vw, 105px));padding-bottom:max(66px, min(7vw, 105px));padding-block:max(66px, min(7vw, 105px)); background:linear-gradient(135deg,#F4E9E8,#F4E9E8); }
.booking-final-inner-v72 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:34px; align-items:center; padding-top:0;padding-bottom:0;padding-block:0; }
.booking-final-inner-v72 h2 { max-width:900px; }
.booking-final-inner-v72 p:last-child { max-width:760px; margin-bottom:0; color:var(--muted); }
.booking-final-inner-v72 .button-flowena { min-width:220px; justify-content:center; }

@media (max-width:1180px) {
  .ticket-grid-v72 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ticket-card-v72 { min-height:390px; }
}

@media (max-width:900px) {
  .booking-jump-nav-inner { padding-left:12px;padding-right:12px;padding-inline:12px; }
  .booking-jump-nav a { font-size:11px; }
  .booking-start-grid-v72,
  .passes-head-v72,
  .payment-grid-v72,
  .teacher-booking-head-v72 { grid-template-columns:1fr; }
  .passes-head-v72 > div:last-child,
  .teacher-booking-head-v72 > div:last-child { justify-self:start; }
  .pass-accordion-trigger-v72 { grid-template-columns:minmax(0,1fr) 42px; }
  .pass-payment-tags-v72 { grid-column:1 / -1; grid-row:2; justify-content:flex-start; }
  .pass-accordion-plus-v72 { grid-column:2; grid-row:1; }
  .booking-final-inner-v72 { grid-template-columns:1fr; }
  .booking-final-inner-v72 .button-flowena { justify-self:start; }
}

@media (max-width:680px) {
  .booking-hero-actions { display:grid; width:100%; }
  .booking-hero-actions .button-flowena,
  .booking-hero-actions .btn { width:100%; min-width:0; }
  .booking-jump-nav-inner { grid-template-columns:repeat(2,minmax(0,1fr)); padding-left:0;padding-right:0;padding-inline:0; }
  .booking-jump-nav a { min-height:54px; border-bottom:1px solid rgba(2,2,2,.07); }
  .booking-start-grid-v72 { gap:28px; }
  .booking-checklist-v72 > div { min-height:96px; padding:18px; }
  .ticket-grid-v72 { grid-template-columns:1fr; }
  .ticket-card-v72 { min-height:0; padding:24px 20px; border-radius:19px; }
  .ticket-card-v72 h3 { min-height:0; }
  .ticket-card-v72:hover { transform:none; }
  .pass-type-guide-v72 { grid-template-columns:1fr; }
  .pass-type-guide-v72 article { min-height:0; padding:22px 20px; border-radius:18px; }
  .pass-accordion-v72 { border-radius:19px; }
  .pass-accordion-trigger-v72 { min-height:0; padding:20px; gap:12px; }
  .pass-accordion-trigger-v72 strong { font-size:30px; }
  .pass-accordion-panel-v72 { padding-left:14px;padding-right:14px;padding-inline:14px; }
  .pass-table-v72 { margin-top:16px; border:0; border-radius:0; overflow:visible; display:grid; gap:10px; }
  .pass-row-head-v72 { display:none; }
  .pass-row-v72 { min-height:0; grid-template-columns:1fr 1fr; border:1px solid rgba(2,2,2,.09)!important; border-radius:15px; overflow:hidden; }
  .pass-row-v72 strong { grid-column:1 / -1; padding:14px 15px; background:var(--paper-soft); font-size:24px; }
  .pass-row-v72 > span { padding:14px 15px; }
  .pass-row-v72 > * + * { border-left:0; }
  .pass-row-v72 > span + span { border-left:1px solid rgba(2,2,2,.08); }
  .pass-row-v72 > span::before { display:block; margin-bottom:4px; color:var(--sage-deep); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  .pass-row-v72 > span:nth-child(2)::before { content:"5 alkalom"; }
  .pass-row-v72 > span:nth-child(3)::before { content:"10 alkalom"; }
  .pass-row-v72 b { font-size:14px; }
  .pass-payment-tags-v72 i { font-size:8px; }
  .payment-methods-v72 > div { padding:12px; }
  .gift-card-v72 { min-height:470px; padding:30px 22px; border-radius:23px; }
  .gift-card-v72::before { font-size:170px; }
  .gift-card-orbit-v72 { width:88px; height:88px; right:24px; top:28px; }
  .gift-card-v72 .button-row { display:grid; width:100%; }
  .gift-card-v72 .btn { width:100%; }
  .teacher-booking-v72 { padding-top:64px;padding-bottom:64px;padding-block:64px; }
  .booking-teacher-grid-v72 .booking-teacher-card { grid-template-columns:74px minmax(0,1fr); }
  .booking-teacher-grid-v72 .booking-teacher-card img { width:74px; }
  .booking-final-inner-v72 .button-flowena { width:100%; justify-self:stretch; }
}

@media (prefers-reduced-motion:reduce) {
  .gift-card-orbit-v72 { animation:none; }
  .ticket-card-v72,
  .ticket-card-v72::after { transition:none; }
}

/* ===== V73 – Foglalás / bérletek finomhangolás ===== */
.teacher-booking-intro-v73 {
  max-width: 760px;
  margin: 0 0 22px;
  color: var(--muted);
}
.booking-teacher-grid-v73 {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 {
  grid-template-columns: 146px minmax(0,1fr);
  align-items: stretch;
  min-height: 216px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96));
  box-shadow: 0 18px 48px rgba(45,52,41,.08);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 58px rgba(45,52,41,.14);
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 img {
  width: 146px;
  min-height: 216px;
  object-fit: cover;
  object-position: center 24%;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy {
  padding: 18px 18px 17px;
  gap: 8px;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy small {
  font-size: 10px;
  letter-spacing: .09em;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy strong {
  font-size: 28px;
  line-height: 1.02;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em {
  margin-top: 2px;
  color: #4E5B51;
  font-size: 13px;
  line-height: 1.65;
  font-style: normal;
}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy > span {
  margin-top: auto;
  color: var(--forest);
  font-weight: 600;
  font-size: 12px;
}
.booking-marquee-v73 {
  padding: 10px 0 54px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.72) 16%, rgba(255,255,255,1) 100%);
}
.marquee-copy-v73 {
  max-width: 760px;
  margin-bottom: 10px;
}
.marquee-copy-v73 p:not(.eyebrow) {
  color: var(--muted);
}
.image-marquee-v73 {
  margin-top: 8px;
  padding-top:18px;padding-bottom:6px;padding-block: 18px 6px;
}
.image-marquee-v73 .image-marquee-group {
  gap: 14px;
}
.image-marquee-v73 .image-marquee-group img {
  width: 220px;
  height: 154px;
  border-radius: 18px;
  box-shadow: 0 16px 32px rgba(44,44,44,.10);
}
@media (max-width: 980px) {
  .booking-teacher-grid-v73 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 {
    grid-template-columns: 106px minmax(0,1fr);
    min-height: 188px;
    border-radius: 19px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 img {
    width: 106px;
    min-height: 188px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy {
    padding: 14px 13px 13px;
    gap: 6px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy strong {
    font-size: 22px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em {
    font-size: 12px;
    line-height: 1.5;
  }
  .image-marquee-v73 .image-marquee-group img {
    width: 184px;
    height: 132px;
    border-radius: 14px;
  }
}

/* ===== V74 – emberibb szövegek, számozás nélkül, finomabb mozgás ===== */

/* Számozás nélküli navigációk és harmonikák */
.booking-jump-nav a {
  position: relative;
  gap: 0;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .01em;
}
.booking-jump-nav a::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 16px;
  height: 1px;
  background: var(--sage);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.booking-jump-nav a:hover::after{ transform: scaleX(1); }
.booking-jump-nav a:focus-visible::after{ transform: scaleX(1); }
.accordion-trigger { grid-template-columns: minmax(0,1fr) auto; }
.accordion-panel-inner { padding-left: 0; }

/* Foglalás bevezető */
.booking-start-v74 {
  position: relative;
  padding-top:max(76px, min(8vw, 124px));padding-bottom:max(76px, min(8vw, 124px));padding-block:max(76px, min(8vw, 124px));
  overflow: hidden;
}
.booking-start-v74::before,
.booking-start-v74::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
}
.booking-start-v74::before {
  width: 360px;
  height: 360px;
  right: -150px;
  top: 20px;
  background: radial-gradient(circle, rgba(120,147,127,.15), rgba(120,147,127,0) 70%);
  animation: ambientFloatV74 11s ease-in-out infinite alternate;
}
.booking-start-v74::after {
  width: 260px;
  height: 260px;
  left: -120px;
  bottom: -90px;
  background: radial-gradient(circle, rgba(217,154,107,.13), rgba(217,154,107,0) 72%);
  animation: ambientFloatV74 14s ease-in-out infinite alternate-reverse;
}
.booking-start-grid-v74 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr);
  gap:max(40px, min(7vw, 104px));
  align-items: center;
}
.booking-welcome-v74 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding:max(30px, min(4vw, 48px));
  border: 1px solid rgba(120,147,127,.22);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,233,232,.94));
  box-shadow: 0 28px 80px rgba(45,52,41,.11);
}
.booking-welcome-v74::before {
  content: "";
  position: absolute;
  top:0;right:0;bottom:0;left:0;inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, transparent 28%, rgba(255,255,255,.72) 48%, transparent 68%);
  transform: translateX(-120%);
  animation: softSweepV74 8s ease-in-out infinite;
}
.booking-welcome-v74 h3 {
  max-width: 420px;
  margin-bottom: 16px;
  font-size:max(35px, min(4vw, 54px));
}
.booking-welcome-v74 > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.8;
}
.booking-welcome-orbit-v74 {
  position: absolute;
  right: -45px;
  top: -58px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(120,147,127,.28);
  border-radius: 50%;
  animation: orbitTurnV74 18s linear infinite;
}
.booking-welcome-orbit-v74::before,
.booking-welcome-orbit-v74::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.booking-welcome-orbit-v74::before {
  width: 12px;
  height: 12px;
  left: 8px;
  top: 78px;
  background: var(--sage);
  box-shadow: 0 0 0 8px rgba(120,147,127,.10);
}
.booking-welcome-orbit-v74::after {
  top:25px;right:25px;bottom:25px;left:25px;inset: 25px;
  border: 1px dashed rgba(217,154,107,.35);
}
.text-link-v74 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: var(--forest);
  font-weight: 600;
}
.text-link-v74 span { transition: transform .25s ease; }
.text-link-v74:hover span { transform: translateX(5px); }

/* Órajegyek – számok helyett organikus jel */
.ticket-orb-v74 {
  position: relative;
  z-index: 1;
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  border: 1px solid rgba(120,147,127,.30);
  border-radius: 50% 46% 52% 48%;
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.95), rgba(120,147,127,.15));
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.35);
  animation: organicTurnV74 9s ease-in-out infinite alternate;
}
.ticket-orb-v74::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  right: 5px;
  top: 6px;
  border-radius: 50%;
  background: var(--sage);
}
.ticket-card-dark-v72 .ticket-orb-v74 {
  border-color: rgba(255,255,255,.28);
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.26), rgba(255,255,255,.05));
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.04);
}
.ticket-card-dark-v72 .ticket-orb-v74::after { background: #F4E9E8; }

/* Globális, visszafogottabb animációk */
.js .reveal {
  opacity: 0;
  filter: blur(5px);
  transform: translate3d(0,34px,0) scale(.985);
  transition:
    opacity .78s cubic-bezier(.22,.8,.2,1),
    transform .9s cubic-bezier(.16,1,.3,1),
    filter .78s ease;
  transition-delay: var(--reveal-delay,0ms);
}
.js .reveal.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0,0,0) scale(1);
}
.hero-media img {
  animation: heroBreathV74 18s ease-in-out infinite alternate;
  will-change: transform;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--sage);
  box-shadow: 0 0 0 0 rgba(120,147,127,.28);
  animation: softPulseV74 3.6s ease-out infinite;
}
.button-flowena,
.btn,
.premium-cta {
  overflow: hidden;
}
.button-flowena::after,
.btn::after,
.premium-cta::after {
  content: "";
  position: absolute;
  top:-40%;right:auto;bottom:-40%;left:-45%;inset: -40% auto -40% -45%;
  width: 34%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-18deg) translateX(-220%);
  transition: transform .75s cubic-bezier(.2,.8,.2,1);
}
.button-flowena:hover::after,
.btn:hover::after,
.premium-cta:hover::after { transform: skewX(-18deg) translateX(520%); }
.ticket-card-v72,
.pass-type-guide-v72 article,
.booking-teacher-card,
.teacher-card,
.studio-card,
.service-card {
  will-change: transform;
}
.ticket-card-v72:hover,
.pass-type-guide-v72 article:hover,
.booking-teacher-card:hover,
.teacher-card:hover,
.studio-card:hover,
.service-card:hover {
  transform: translateY(-7px);
}
.booking-teacher-card img,
.teacher-card img,
.studio-card img,
.image-card img {
  transition: transform .8s cubic-bezier(.16,1,.3,1), filter .45s ease;
}
.booking-teacher-card:hover img,
.teacher-card:hover img,
.studio-card:hover img,
.image-card:hover img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.02);
}
.accordion-trigger .accordion-title,
.accordion-trigger > span:not(.accordion-icon) {
  transition: transform .3s ease, color .3s ease;
}
.accordion-trigger:hover .accordion-title,
.accordion-trigger:hover > span:not(.accordion-icon) {
  transform: translateX(5px);
  color: var(--sage-deep);
}

@keyframes ambientFloatV74 {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(18px,-20px,0) scale(1.08); }
}
@keyframes softSweepV74 {
  0%,62% { transform: translateX(-130%); }
  82%,100% { transform: translateX(130%); }
}
@keyframes orbitTurnV74 { to { transform: rotate(360deg); } }
@keyframes organicTurnV74 {
  from { transform: rotate(-5deg) translateY(0); border-radius: 50% 46% 52% 48%; }
  to { transform: rotate(8deg) translateY(-4px); border-radius: 43% 57% 46% 54%; }
}
@keyframes heroBreathV74 {
  from { transform: scale(1.005) translate3d(0,0,0); }
  to { transform: scale(1.055) translate3d(-.8%,.4%,0); }
}
@keyframes softPulseV74 {
  0% { box-shadow: 0 0 0 0 rgba(120,147,127,.30); }
  65%,100% { box-shadow: 0 0 0 9px rgba(120,147,127,0); }
}

@media (max-width: 980px) {
  .booking-start-grid-v74 { grid-template-columns: 1fr; gap: 34px; }
  .booking-welcome-v74 { max-width: 720px; }
}
@media (max-width: 760px) {
  .booking-jump-nav a { font-size: 17px; }
  .booking-jump-nav a::after { bottom: 9px; }
  .booking-start-v74 { padding-top:66px;padding-bottom:66px;padding-block: 66px; }
  .booking-welcome-v74 { padding: 28px 22px; border-radius: 22px; }
  .accordion-trigger { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .accordion-panel-inner { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media img,
  .eyebrow::before,
  .booking-start-v74::before,
  .booking-start-v74::after,
  .booking-welcome-v74::before,
  .booking-welcome-orbit-v74,
  .ticket-orb-v74 { animation: none !important; }
  .js .reveal { filter: none; transition-delay: 0ms; }
}

/* V74 pseudo-element compatibility: retain arrow CTAs */
.button-flowena { position: relative; }
.button-flowena::after {
  content: "→";
  position: static;
  top:auto;right:auto;bottom:auto;left:auto;inset: auto;
  width: auto;
  flex: 0 0 auto;
  margin-left: 12px;
  background: none;
  transform: none;
  transition: transform .25s ease;
}
.button-flowena:hover::after { transform: translateX(5px); }
.btn { position: relative; }
.premium-cta::after {
  content: "→";
  position: relative;
  top:auto;right:auto;bottom:auto;left:auto;inset: auto;
  width: auto;
  background: none;
  transform: none;
  color: #fff !important;
  animation: bookingArrowV64 1.15s ease-in-out infinite;
}
.premium-cta:hover::after { transform: none; }

/* ===== V75 – visszaállított szövegsáv és eszközfüggetlen stabilitás ===== */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  min-width: 280px;
}
body,
.site-page,
main,
section,
.container {
  min-width: 0;
}
img,
picture,
video,
canvas,
svg {
  max-width: 100%;
}
button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}
h1,
h2,
h3,
h4,
p,
a,
strong,
small,
em,
span {
  overflow-wrap: break-word;
}

/* A Bérletek / Foglalás oldal eredeti, folyamatosan mozgó óratípus-sávja. */
.booking-program-strip-v75 {
  z-index: 6;
  contain: paint;
  background: rgba(255,255,255,.985);
}
.booking-program-strip-v75 .marquee-track {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0,0,0);
}
.booking-program-strip-v75 .marquee-group {
  font-size:max(17px, min(1.55vw, 21px));
}

/* A foglalási oldal szerkezete minden szélességen megtartja az arányait. */
.booking-page .hero-content,
.booking-start-grid-v74 > *,
.passes-head-v72 > *,
.payment-grid-v72 > *,
.teacher-booking-head-v72 > *,
.booking-final-inner-v72 > * {
  min-width: 0;
}
.booking-page .booking-hero-actions,
.booking-page .button-row {
  flex-wrap: wrap;
}
.booking-page .ticket-card-v72,
.booking-page .pass-accordion-v72,
.booking-page .booking-teacher-card-detailed-v73,
.booking-page .gift-card-v72,
.booking-page .booking-welcome-v74 {
  overflow: hidden;
}
.booking-page .pass-table-v72 {
  max-width: 100%;
}
.booking-page .booking-welcome-orbit-v74 {
  pointer-events: none;
}

/* Ne foglaljon feleslegesen GPU-memóriát sok kártya egyszerre mobilon. */
.ticket-card-v72,
.pass-type-guide-v72 article,
.booking-teacher-card,
.teacher-card,
.studio-card,
.service-card {
  will-change: auto;
}
@media (hover: hover) and (pointer: fine) {
  .ticket-card-v72:hover,
  .pass-type-guide-v72 article:hover,
  .booking-teacher-card:hover,
  .teacher-card:hover,
  .studio-card:hover,
  .service-card:hover {
    will-change: transform;
  }
}

/* iOS: ne nagyítson bele az űrlapokba, Androidon se essen szét a mező. */
@media (max-width: 760px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .booking-page .hero-nav {
    display: none;
  }
  .booking-program-strip-v75 {
    height: 58px;
    min-height: 58px;
  }
  .booking-program-strip-v75 .marquee-group,
  .booking-program-strip-v75 .marquee-group span,
  .booking-program-strip-v75 .marquee-group i {
    min-height: 58px;
  }
  .booking-jump-nav-inner {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .booking-jump-nav a {
    min-height: 56px;
    padding: 14px 10px;
    line-height: 1.2;
  }
  .booking-start-grid-v74,
  .payment-grid-v72,
  .teacher-booking-head-v72,
  .booking-final-inner-v72 {
    gap: 26px;
  }
  .booking-page .section-heading {
    margin-bottom: 34px;
  }
  .booking-page .ticket-card-v72,
  .booking-page .booking-welcome-v74,
  .booking-page .gift-card-v72 {
    box-shadow: 0 18px 48px rgba(44,44,44,.09);
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em {
    hyphens: auto;
    -webkit-hyphens: auto;
  }
}

@media (max-width: 480px) {
  :root {
    --gutter: max(18px, min(5.5vw, 24px));
  }
  h1 { font-size:max(42px, min(13vw, 58px)); }
  h2 { font-size:max(34px, min(10.5vw, 46px)); }
  h3 { font-size:max(25px, min(8vw, 34px)); }
  .lead { font-size: 17px; }
  .booking-page .booking-hero-actions,
  .booking-page .button-row {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .booking-page .booking-hero-actions > *,
  .booking-page .button-row > *,
  .booking-page .button-flowena,
  .booking-page .btn {
    width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }
  .booking-page .pass-accordion-trigger-v72 {
    grid-template-columns: minmax(0,1fr) 38px;
    padding: 18px 16px;
  }
  .booking-page .pass-payment-tags-v72 {
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .booking-page .pass-row-v72 > * {
    min-width: 0;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 {
    grid-template-columns: 96px minmax(0,1fr);
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 img {
    width: 96px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy strong {
    font-size: 21px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em {
    font-size: 11px;
    line-height: 1.45;
  }
  .booking-program-strip-v75::before,
  .booking-program-strip-v75::after {
    width: 34px;
  }
}

@media (max-width: 340px) {
  :root { --gutter: 16px; }
  .announcement-bar { padding-left:12px;padding-right:12px;padding-inline: 12px; font-size: 10px; }
  .booking-jump-nav a { font-size: 15px; padding-left:7px;padding-right:7px;padding-inline: 7px; }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 {
    grid-template-columns: 84px minmax(0,1fr);
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 img { width: 84px; }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy {
    padding: 12px 10px;
  }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy strong { font-size: 19px; }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em { font-size: 10.5px; }
}

/* Alacsony, fekvő telefonokon ne lógjon ki sem a fejléc, sem a felugró panel. */
@media (orientation: landscape) and (max-height: 520px) and (min-width: 560px) {
  .announcement-bar { height: 26px; }
  .site-header { height: 68px; }
  .site-header-inner { height: 68px; }
  .logo { max-height: 48px; width: auto; }
  .hero,
  .hero.hero-small,
  .booking-page .booking-hero-v72 {
    min-height: 500px;
  }
  .booking-page .hero-content {
    padding-top: 118px;
    padding-bottom: 54px;
  }
  .newsletter-panel,
  .wheel-panel,
  .chat-panel {
    max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
}

/* Dinamikus viewport és notch kezelés iOS/Android böngészősávok mellett. */
.menu-drawer {
  height:100vh;height: 100svh;
  height:100vh;height: 100dvh;
}
.newsletter-panel,
.wheel-panel,
.chat-panel,
.cookie-consent {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Érintőkijelzőn nincsenek beragadó hover-effektek, a mozgás mégis megmarad. */
@media (hover: none), (pointer: coarse) {
  .js .reveal { filter: none; }
  .ticket-card-v72:hover,
  .pass-type-guide-v72 article:hover,
  .booking-teacher-card:hover,
  .teacher-card:hover,
  .studio-card:hover,
  .service-card:hover,
  .booking-teacher-card:hover img,
  .teacher-card:hover img,
  .studio-card:hover img,
  .image-card:hover img {
    transform: none;
    filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal,
  .js .reveal.is-visible {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ===== V75 – teljes foglalás/berletek finomjavítás ===== */

/* 1) A jobb alsó hírlevél gomb legyen egységesebb és ne csússzon el. */
.booking-page .newsletter-widget {
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
}
@media (max-width: 620px) {
  .booking-page .newsletter-widget {
    right: max(82px, calc(82px + env(safe-area-inset-right)));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
}

/* 2) Jegykártyák – összkép tisztítása, jobb egységesség. */
.ticket-grid-v72 {
  gap:max(18px, min(2vw, 26px));
}
.ticket-card-v72 {
  min-height: 446px;
  border-radius: 26px;
  border-color: rgba(120,147,127,.17);
  box-shadow: 0 20px 56px rgba(45,52,41,.08);
}
.ticket-card-v72:hover {
  box-shadow: 0 26px 72px rgba(45,52,41,.13);
}

/* Bal felső organikus kör – jobban látható mozgás, de elegáns marad. */
.ticket-orb-v74 {
  width: 46px;
  height: 46px;
  margin-bottom: 20px;
  animation: organicTurnV75 7.6s ease-in-out infinite alternate;
}
.ticket-orb-v74::after {
  animation: orbDotFloatV75 4.2s ease-in-out infinite;
}

/* Jobb felső díszkörök – egyértelműen animáltak. */
.ticket-card-v72::before {
  animation: ticketPearlFloatV75 4.6s ease-in-out infinite;
}
.ticket-card-v72::after {
  animation: ticketHaloDriftV75 8s ease-in-out infinite;
}

/* 3) Sötét kártya helyreállítása – a V74 felülírás miatt kifehéredett. */
.ticket-card-v72.ticket-card-dark-v72 {
  background: linear-gradient(180deg, rgba(45,52,41,.98), rgba(45,52,41,.99)) !important;
  border-color: rgba(45,52,41,.98) !important;
  color: #fff;
}
.ticket-card-v72.ticket-card-dark-v72::after {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.14), rgba(255,255,255,.06) 56%, rgba(255,255,255,.02) 76%);
}
.ticket-card-v72.ticket-card-dark-v72::before {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.92), rgba(244,233,232,.88));
  box-shadow: 0 0 0 8px rgba(255,255,255,.06);
}
.ticket-card-v72.ticket-card-dark-v72 .price-kicker {
  color: rgba(255,255,255,.68);
}
.ticket-card-v72.ticket-card-dark-v72 h3,
.ticket-card-v72.ticket-card-dark-v72 .ticket-price-v72 strong,
.ticket-card-v72.ticket-card-dark-v72 .price-link {
  color: #fff;
}
.ticket-card-v72.ticket-card-dark-v72 > p:not(.price-kicker):not(.ticket-price-v72),
.ticket-card-v72.ticket-card-dark-v72 .ticket-price-v72 span {
  color: rgba(255,255,255,.78);
}
.ticket-card-v72.ticket-card-dark-v72 .price-link {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.04);
}
.ticket-card-v72.ticket-card-dark-v72 .price-link:hover {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.32);
}
.ticket-card-v72.ticket-card-dark-v72 .ticket-orb-v74 {
  border-color: rgba(255,255,255,.22);
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.28), rgba(255,255,255,.06));
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.04), 0 8px 18px rgba(2,2,2,.12);
}
.ticket-card-v72.ticket-card-dark-v72 .ticket-orb-v74::after {
  background: #F4E9E8;
}

/* 4) Tipográfia / arányok – professzionálisabb vizuális ritmus. */
.ticket-card-v72 .price-kicker {
  letter-spacing: .18em;
  margin-bottom: 6px;
}
.ticket-card-v72 h3 {
  margin-bottom: 12px;
}
.ticket-price-v72 {
  margin: 14px 0 18px;
}
.ticket-card-v72 > p:not(.price-kicker):not(.ticket-price-v72) {
  max-width: 29ch;
}

/* 5) Mobil finomhangolás. */
@media (max-width: 1080px) {
  .ticket-card-v72 {
    min-height: 418px;
  }
}
@media (max-width: 620px) {
  .ticket-card-v72 {
    min-height: 0;
    padding: 24px 20px;
    border-radius: 22px;
  }
  .ticket-orb-v74 {
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
  }
  .ticket-card-v72::before {
    right: 16px;
    top: 16px;
  }
  .ticket-card-v72::after {
    right: -38px;
    top: -38px;
    width: 100px;
    height: 100px;
  }
}

@keyframes organicTurnV75 {
  0% { transform: translate3d(0,0,0) rotate(-3deg) scale(1); border-radius:50% 46% 52% 48%; }
  50% { transform: translate3d(2px,-3px,0) rotate(7deg) scale(1.03); border-radius:46% 52% 48% 54%; }
  100% { transform: translate3d(-2px,2px,0) rotate(-7deg) scale(.98); border-radius:54% 48% 50% 46%; }
}
@keyframes orbDotFloatV75 {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(-2px,2px,0); }
}
@keyframes ticketPearlFloatV75 {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-3px,4px,0) scale(1.06); }
}
@keyframes ticketHaloDriftV75 {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  30% { transform: translate3d(-6px,6px,0) scale(1.05); }
  70% { transform: translate3d(4px,-2px,0) scale(.98); }
}

@media (prefers-reduced-motion: reduce) {
  .ticket-orb-v74,
  .ticket-orb-v74::after,
  .ticket-card-v72::before,
  .ticket-card-v72::after {
    animation: none !important;
  }
}


/* ===== V77 FINAL – egységes, prémium, reszponzív végső finomhangolás ===== */

/* Foglalás oldali lebegő elemek: desktopon egységes, mobilon ütközésmentes. */
.booking-page .newsletter-widget {
  right: max(88px, calc(88px + env(safe-area-inset-right)));
  bottom: max(18px, env(safe-area-inset-bottom));
}
@media (max-width: 620px) {
  .booking-page .newsletter-widget {
    right: max(82px, calc(82px + env(safe-area-inset-right)));
    bottom: max(82px, calc(74px + env(safe-area-inset-bottom)));
  }
}

/* Minden órajegy-kártya azonos, világos prémium stílust kap. */
.ticket-card-v72,
.ticket-card-v72.ticket-card-dark-v72 {
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(244,233,232,.98) 100%) !important;
  color: var(--forest) !important;
  border: 1px solid rgba(120,147,127,.18) !important;
  border-radius: 26px;
  box-shadow: 0 20px 56px rgba(45,52,41,.08);
}
.ticket-card-v72:hover,
.ticket-card-v72.ticket-card-dark-v72:hover {
  border-color: rgba(120,147,127,.42) !important;
  box-shadow: 0 26px 68px rgba(45,52,41,.13);
}
.ticket-card-v72 h3,
.ticket-card-v72.ticket-card-dark-v72 h3,
.ticket-card-v72 .ticket-price-v72 strong,
.ticket-card-v72.ticket-card-dark-v72 .ticket-price-v72 strong,
.ticket-card-v72 .price-link,
.ticket-card-v72.ticket-card-dark-v72 .price-link {
  color: var(--forest) !important;
}
.ticket-card-v72 .price-kicker,
.ticket-card-v72.ticket-card-dark-v72 .price-kicker {
  color: var(--sage-deep) !important;
}
.ticket-card-v72 > p:not(.price-kicker):not(.ticket-price-v72),
.ticket-card-v72.ticket-card-dark-v72 > p:not(.price-kicker):not(.ticket-price-v72),
.ticket-card-v72 .ticket-price-v72 span,
.ticket-card-v72.ticket-card-dark-v72 .ticket-price-v72 span {
  color: var(--muted) !important;
}
.ticket-card-v72 .price-link,
.ticket-card-v72.ticket-card-dark-v72 .price-link {
  border-color: rgba(120,147,127,.18) !important;
  background: transparent !important;
}
.ticket-card-v72 .ticket-orb-v74,
.ticket-card-v72.ticket-card-dark-v72 .ticket-orb-v74 {
  border-color: rgba(120,147,127,.28) !important;
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.98), rgba(244,233,232,.74)) !important;
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.42), 0 8px 18px rgba(120,147,127,.09) !important;
}
.ticket-card-v72 .ticket-orb-v74::after,
.ticket-card-v72.ticket-card-dark-v72 .ticket-orb-v74::after {
  background: var(--sage) !important;
}
.ticket-card-v72.ticket-card-dark-v72::after {
  background: radial-gradient(circle at 35% 35%, rgba(212,212,212,.48), rgba(120,147,127,.12) 58%, rgba(120,147,127,.04) 76%) !important;
}
.ticket-card-v72.ticket-card-dark-v72::before {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.72), rgba(212,212,212,.92)) !important;
  box-shadow: 0 0 0 8px rgba(212,212,212,.08) !important;
}

/* Letisztultabb bérletblokk és egységesebb vizuális ritmus. */
.pass-type-guide-v72 article,
.pass-accordion-v72,
.booking-teacher-card-detailed-v73,
.gift-card-v72 {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.pass-type-guide-v72 article:hover,
.booking-teacher-card-detailed-v73:hover {
  transform: translateY(-4px);
}
.pass-accordion-trigger-v72 small {
  letter-spacing: .09em;
}
.pass-accordion-panel-v72 {
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.88));
}

/* A mozgó képsáv ne legyen túl nagy, de maradjon látványos. */
.image-marquee-v73 .image-marquee-group img {
  aspect-ratio: 10 / 7;
  object-fit: cover;
}

/* Keskeny mobilon tisztább tipográfia és biztos vízszintes illeszkedés. */
@media (max-width: 620px) {
  .booking-jump-nav-inner {
    gap: 4px;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .booking-jump-nav-inner::-webkit-scrollbar { display: none; }
  .booking-jump-nav a { white-space: nowrap; }
  .pass-accordion-trigger-v72 { padding-left:18px;padding-right:18px;padding-inline: 18px; }
  .pass-row-v72 { min-width: 0; }
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 {
    min-height: 176px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pass-type-guide-v72 article,
  .booking-teacher-card-detailed-v73,
  .ticket-card-v72 {
    transition: none !important;
  }
}

/* ===== V79 FINAL – booking hero exact sizing and cross-page consistency ===== */
.booking-hero-final-v79 {
  min-height:max(520px, min(61vh, 650px));
}
.booking-hero-final-v79 .hero-content {
  max-width: 850px;
  padding-top: 62px;
  padding-bottom: 118px;
}
.booking-hero-final-v79 .hero-description {
  max-width: 680px;
}
.booking-hero-final-v79 .hero-nav {
  bottom: 28px;
}
@media (max-width: 980px) {
  .booking-hero-final-v79 {
    min-height: 610px;
  }
}
@media (max-width: 760px) {
  .booking-hero-final-v79 {
    min-height: 570px;
  }
  .booking-hero-final-v79 .hero-content {
    padding-top: 48px;
    padding-bottom: 124px;
  }
}
@media (max-width: 620px) {
  .booking-hero-final-v79 {
    min-height: 540px;
  }
}


/* ===== V81 FINAL – unified heroes, clean knowledge menu, Tudástár, occasional offer ===== */

/* Egységes subpage hero. A főoldal hero-ja szándékosan marad nagyobb. */
.hero.hero-unified {
  min-height:max(500px, min(58vh, 620px)) !important;
}
.hero.hero-unified .hero-content {
  max-width: 900px;
  padding-top: 62px;
  padding-bottom: 112px;
}
.hero.hero-unified .hero-nav { bottom: 26px; }
.hero.hero-unified h1 { font-size:max(46px, min(6.3vw, 76px)); line-height: .98; }
@media (max-width: 980px) {
  .hero.hero-unified { min-height: 560px !important; }
}
@media (max-width: 760px) {
  .hero.hero-unified { min-height: 520px !important; }
  .hero.hero-unified .hero-content { padding: 48px 22px 132px; }
  .hero.hero-unified h1 { font-size:max(40px, min(11vw, 58px)); }
}
@media (max-width: 460px) {
  .hero.hero-unified { min-height: 500px !important; }
}

/* Tudástár a jobb oldali menüben – látható címek, tiszta egyoszlopos hierarchia. */
.menu-knowledge {
  border-bottom: 1px solid var(--line);
  opacity: 0;
  transform: translate3d(22px,0,0);
  transition: opacity .34s ease, transform .48s cubic-bezier(.16,1,.3,1);
}
.menu-drawer.is-open .menu-knowledge { opacity: 1; transform: translate3d(0,0,0); transition-delay: .19s; }
.menu-knowledge summary {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  list-style: none;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.1;
  transition: color .25s ease, padding .25s ease;
}
.menu-knowledge summary::-webkit-details-marker { display: none; }
.menu-knowledge summary:hover { color: var(--sage-deep); padding-left: 8px; }
.menu-knowledge-symbol {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-family: var(--sans);
  font-size: 18px;
  color: var(--muted);
  transition: transform .28s ease, background .28s ease, color .28s ease;
}
.menu-knowledge[open] .menu-knowledge-symbol { transform: rotate(45deg); background: var(--forest); color: #fff; }
.menu-knowledge-content {
  display: grid;
  grid-template-columns: 1fr;
  padding: 2px 0 14px 16px;
}
.menu-links .menu-knowledge-content a {
  min-height: 38px;
  padding: 8px 0;
  border-bottom: 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}
.menu-links .menu-knowledge-content a::after { content: "→"; font-size: 12px; }
.menu-links .menu-knowledge-content a:first-child {
  color: var(--forest);
  font-weight: 700;
}
@media (max-width: 620px) {
  .menu-knowledge summary { font-size:max(22px, min(7vw, 27px)); }
  .menu-knowledge-content { padding-left: 8px; }
  .menu-links .menu-knowledge-content a { font-size: 12px; min-height: 36px; }
}

/* A felesleges dekoratív számozások nem jelennek meg. */
.accordion-number { display: none !important; }
.accordion-trigger { grid-template-columns: minmax(0,1fr) auto !important; }
.ticket-icon-v72 { font-size: 0 !important; color: transparent !important; }

/* Alkalmanként megjelenő kedvezmény. A Brevo hírlevélablak külön és változatlan marad. */
.welcome-offer[hidden] { display: none !important; }
.welcome-offer { position: fixed; top:0;right:0;bottom:0;left:0;inset: 0; z-index: 1510; }
.welcome-offer-backdrop {
  position: absolute; top:0;right:0;bottom:0;left:0;inset: 0;
  background: rgba(44,44,44,.45);
  opacity: 0; visibility: hidden;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  transition: opacity .28s ease, visibility .28s ease;
}
.welcome-offer-backdrop.is-open { opacity: 1; visibility: visible; }
.welcome-offer-panel {
  position: absolute;
  left: 50%; top: 50%;
  width: min(92vw, 520px);
  max-height:min(720px, calc(100vh - 28px));max-height: min(720px, calc(100dvh - 28px));
  overflow: hidden auto;
  border: 1px solid rgba(120,147,127,.18);
  border-radius: 30px;
  background: #FFFFFF;
  box-shadow: 0 36px 110px rgba(2,2,2,.28);
  opacity: 0; visibility: hidden;
  transform: translate(-50%,-46%) scale(.96);
  transition: opacity .3s ease, visibility .3s ease, transform .4s cubic-bezier(.16,1,.3,1);
}
.welcome-offer-panel.is-open { opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); }
.welcome-offer-inner { position: relative; z-index: 2; padding: 48px 44px 38px; text-align: center; }
.welcome-offer-close {
  position:-webkit-sticky;position: sticky; z-index: 4; top: 12px; float: right;
  width: 42px; height: 42px; margin: 12px 12px -54px 0;
  display: grid; place-items: center;
  border: 1px solid rgba(2,2,2,.09); border-radius: 50%;
  background: rgba(255,255,255,.9); color: var(--ink);
  font-size: 24px; line-height: 1; cursor: pointer;
  -webkit-backdrop-filter:blur(10px);backdrop-filter: blur(10px);
}
.welcome-offer-shape { position: absolute; border-radius: 50%; pointer-events: none; }
.welcome-offer-shape-one { width: 190px; height: 190px; right: -72px; top: -92px; background: rgba(212,212,212,.43); animation: welcomeShapeV81 9s ease-in-out infinite alternate; }
.welcome-offer-shape-two { width: 130px; height: 130px; left: -62px; bottom: -64px; background: rgba(120,147,127,.14); animation: welcomeShapeV81 11s ease-in-out infinite alternate-reverse; }
.welcome-offer-eyebrow { margin: 0 0 12px; color: var(--sage-deep); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.welcome-offer-value { margin: 0 0 12px; font-family: var(--serif); color: var(--forest); font-size: 30px; line-height: 1; }
.welcome-offer-value span { font-size: 72px; letter-spacing: -.04em; }
.welcome-offer-panel h2 { max-width: 430px; margin: 0 auto 16px; font-size:max(38px, min(6vw, 54px)); line-height: .98; }
.welcome-offer-panel p:not(.welcome-offer-eyebrow):not(.welcome-offer-value) { max-width: 420px; margin: 0 auto 25px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.welcome-offer-cta {
  width: 100%; min-height: 56px; padding: 0 24px;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  border: 0; border-radius: 999px;
  background: var(--sage); color: #fff;
  font: 700 14px var(--sans); cursor: pointer;
  box-shadow: 0 16px 36px rgba(78,91,81,.24);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.welcome-offer-cta:hover { transform: translateY(-2px); background: var(--sage-deep); box-shadow: 0 20px 44px rgba(78,91,81,.30); }
.welcome-offer-later { margin: 13px auto 8px; padding: 5px; border: 0; background: transparent; color: var(--muted); font: 500 11px var(--sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.welcome-offer-panel small { display: block; color: #959595; font-size: 9px; line-height: 1.5; }
html.welcome-offer-scroll-locked, body.welcome-offer-open { overflow: hidden !important; }
body.welcome-offer-open .newsletter-widget, body.welcome-offer-open .wheel-widget, body.welcome-offer-open .chat-widget { opacity: 0; pointer-events: none; }
@keyframes welcomeShapeV81 { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(10px,8px,0) scale(1.07); } }
@media (max-width: 620px) {
  .welcome-offer-panel { width: calc(100% - 18px); border-radius: 24px; }
  .welcome-offer-inner { padding: 42px 22px 26px; }
  .welcome-offer-value span { font-size: 62px; }
  .welcome-offer-panel h2 { font-size: 39px; }
}

/* Tudástár index és cikkoldalak. */
.knowledge-index-hero .hero-media img { object-position: center 46%; }
.knowledge-article-hero .hero-media::after,
.knowledge-index-hero .hero-media::after { background: linear-gradient(180deg,rgba(2,2,2,.30),rgba(2,2,2,.58)); }
.knowledge-article-hero .hero-content { max-width: 980px; }
.article-breadcrumb { display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 14px; color: rgba(255,255,255,.74); font-size: 11px; }
.article-breadcrumb a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.knowledge-index-section { background: #FFFFFF; }
.knowledge-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap:max(34px, min(6vw, 90px)); align-items: end; margin-bottom: 34px; }
.knowledge-intro > p { max-width: 580px; justify-self: end; color: var(--muted); font-size: 15px; line-height: 1.75; }
.knowledge-search { max-width: 760px; margin: 0 auto 42px; }
.knowledge-search > label { display: block; margin-bottom: 9px; color: var(--charcoal); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.knowledge-search > div { position: relative; }
.knowledge-search svg { position: absolute; left: 18px; top: 50%; width: 21px; height: 21px; transform: translateY(-50%); fill: none; stroke: var(--sage-deep); stroke-width: 1.7; stroke-linecap: round; }
.knowledge-search input { width: 100%; height: 58px; padding: 0 20px 0 52px; border: 1px solid rgba(120,147,127,.24); border-radius: 999px; background: #fff; color: var(--ink); font: 14px var(--sans); box-shadow: 0 14px 34px rgba(45,52,41,.06); outline: none; }
.knowledge-search input:focus { border-color: var(--sage); box-shadow: 0 0 0 4px rgba(120,147,127,.12), 0 14px 34px rgba(45,52,41,.06); }
.knowledge-search > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.knowledge-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.knowledge-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.knowledge-card { min-height: 250px; display: grid; grid-template-columns: minmax(170px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid rgba(120,147,127,.16); border-radius: 25px; background: #fff; box-shadow: 0 18px 52px rgba(45,52,41,.07); transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease; }
.knowledge-card:hover { transform: translateY(-5px); border-color: rgba(120,147,127,.38); box-shadow: 0 26px 68px rgba(45,52,41,.12); }
.knowledge-card > img { width: 100%; height: 100%; min-height: 250px; object-fit: cover; transition: transform .55s ease; }
.knowledge-card:hover > img { transform: scale(1.035); }
.knowledge-card-content, .knowledge-card > span { min-width: 0; padding: 27px 25px; display: flex; flex-direction: column; align-items: flex-start; }
.knowledge-card small { color: var(--sage-deep); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.knowledge-card strong { margin: 11px 0 10px; font-family: var(--serif); font-size:max(25px, min(2.7vw, 35px)); line-height: 1.02; font-weight: 500; }
.knowledge-card p { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.knowledge-card em { margin-top: auto; color: var(--forest); font-size: 11px; font-style: normal; font-weight: 700; }
.knowledge-card-small { min-height: 310px; grid-template-columns: 1fr; }
.knowledge-card-small > img { min-height: 150px; height: 150px; }
.knowledge-card-small > span { padding: 20px; }
.knowledge-card-small strong { font-size: 27px; }
.knowledge-cta-band { padding:max(50px, min(6vw, 86px)) 0; background: var(--forest); color: #fff; }
.knowledge-cta-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 40px; }
.knowledge-cta-inner h2 { color: #fff; }
.knowledge-cta-inner p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.article-page { padding:max(70px, min(8vw, 118px)) 0; background: #FFFFFF; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,340px); gap:max(48px, min(7vw, 104px)); align-items: start; }
.article-main { max-width: 790px; }
.article-lead { margin: 0 0 52px; font-family: var(--serif); font-size:max(27px, min(3vw, 39px)); line-height: 1.25; color: var(--forest); }
.article-main > section { margin: 0 0 48px; }
.article-main h2 { margin-bottom: 17px; font-size:max(31px, min(3.7vw, 47px)); }
.article-main p { color: #4E5B51; font-size: 15px; line-height: 1.85; }
.article-main p + p { margin-top: 16px; }
.article-aside { position:-webkit-sticky;position: sticky; top: calc(var(--announcement-h) + var(--header-h) + 24px); }
.article-aside-card { padding: 30px 26px; border: 1px solid rgba(120,147,127,.18); border-radius: 24px; background: linear-gradient(145deg,#F4E9E8,#FFFFFF); box-shadow: 0 20px 60px rgba(45,52,41,.09); }
.article-aside-card h2 { font-size: 35px; }
.article-aside-card p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.article-aside-card .button-flowena, .article-aside-card .btn { width: 100%; margin-top: 12px; justify-content: center; }
.article-checklist { padding:max(28px, min(4vw, 44px)); border: 1px solid rgba(120,147,127,.18); border-radius: 25px; background: #F4E9E8; }
.article-checklist ul { display: grid; gap: 12px; margin: 23px 0 0; padding: 0; list-style: none; }
.article-checklist li { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 12px; align-items: start; color: #4E5B51; font-size: 13px; line-height: 1.6; }
.article-checklist li span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--sage); color: #fff; font-size: 11px; }
.article-faq-item { border-bottom: 1px solid var(--line); }
.article-faq-item summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; font-family: var(--serif); font-size: 24px; }
.article-faq-item summary::-webkit-details-marker { display: none; }
.article-faq-item summary span { transition: transform .25s ease; }
.article-faq-item[open] summary span { transform: rotate(45deg); }
.article-faq-item p { padding: 0 0 22px; margin: 0; }
.article-note { margin-top: 52px !important; padding-top: 22px; border-top: 1px solid var(--line); color: #959595 !important; font-size: 11px !important; }
.related-knowledge { padding-top:max(64px, min(7vw, 100px));padding-bottom:max(64px, min(7vw, 100px));padding-block:max(64px, min(7vw, 100px)); }
@media (max-width: 980px) {
  .knowledge-grid { grid-template-columns: 1fr; }
  .knowledge-grid-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-layout { grid-template-columns: 1fr; }
  .article-main { max-width: none; }
  .article-aside { position: static; }
  .article-aside-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px 22px; align-items: center; }
  .article-aside-card .eyebrow, .article-aside-card h2, .article-aside-card p { grid-column: 1; }
  .article-aside-card .button-flowena, .article-aside-card .btn { grid-column: 2; min-width: 200px; margin: 0; }
}
@media (max-width: 760px) {
  .knowledge-intro { grid-template-columns: 1fr; gap: 18px; }
  .knowledge-intro > p { justify-self: start; }
  .knowledge-card { grid-template-columns: 112px minmax(0,1fr); min-height: 205px; border-radius: 20px; }
  .knowledge-card > img { min-height: 205px; }
  .knowledge-card-content, .knowledge-card > span { padding: 19px 17px; }
  .knowledge-card strong { font-size: 25px; }
  .knowledge-card p { display: none; }
  .knowledge-grid-three { grid-template-columns: 1fr; }
  .knowledge-card-small { grid-template-columns: 100px minmax(0,1fr); min-height: 150px; }
  .knowledge-card-small > img { width: 100px; height: 100%; min-height: 150px; }
  .knowledge-cta-inner { grid-template-columns: 1fr; }
  .knowledge-cta-inner .button-flowena { width: 100%; justify-content: center; }
  .article-aside-card { display: block; }
  .article-aside-card .button-flowena, .article-aside-card .btn { width: 100%; margin-top: 12px; }
}
@media (max-width: 420px) {
  .knowledge-card { grid-template-columns: 96px minmax(0,1fr); }
  .knowledge-card > img { min-height: 190px; }
  .knowledge-card strong { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .welcome-offer-shape, .knowledge-card, .knowledge-card > img { animation: none !important; transition: none !important; }
}


/* ===== V82 Tudástár + popup polish ===== */
.welcome-offer-panel{max-height:calc(100vh - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important}.welcome-offer-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.welcome-offer-inner{padding:38px 40px 28px!important}
.welcome-offer-close{position:absolute!important;right:12px;top:12px;float:none!important;margin:0!important}
.welcome-offer-value{margin-bottom:8px!important}.welcome-offer-value span{font-size:64px!important}
.welcome-offer-panel h2{font-size:max(34px, min(5vw, 48px)) !important;margin-bottom:12px!important}
.welcome-offer-panel p:not(.welcome-offer-eyebrow):not(.welcome-offer-value){margin-bottom:18px!important;line-height:1.58!important}
@media(max-height:680px){.welcome-offer-inner{padding:30px 34px 20px!important}.welcome-offer-value span{font-size:52px!important}.welcome-offer-panel h2{font-size:34px!important}.welcome-offer-later{margin-top:8px!important}.welcome-offer-panel small{display:none}}
@media(max-width:620px){.welcome-offer-panel{width:calc(100% - 22px)!important}.welcome-offer-inner{padding:38px 20px 23px!important}.welcome-offer-value span{font-size:54px!important}}
.knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.knowledge-card{min-height:100%;display:flex;flex-direction:column}.knowledge-card-body{flex:1}.knowledge-card-body>span:not(.knowledge-card-meta):not(.knowledge-card-link){line-height:1.62}
@media(max-width:980px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.knowledge-grid{grid-template-columns:1fr}}


/* ===== V83: popup, Tudástár és intelligens keresés ===== */
.welcome-offer-panel{
  overflow:hidden!important;
  max-height:calc(100vh - 18px)!important;max-height:calc(100dvh - 18px)!important;
  overscroll-behavior:contain;
}
.welcome-offer-inner{
  max-height:calc(100vh - 18px);max-height:calc(100dvh - 18px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.welcome-offer-inner::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-height:720px){
  .welcome-offer-inner{padding:28px 34px 20px!important}
  .welcome-offer-value span{font-size:50px!important}
  .welcome-offer-panel h2{font-size:32px!important;line-height:1.02!important}
  .welcome-offer-panel p:not(.welcome-offer-eyebrow):not(.welcome-offer-value){font-size:12px!important;line-height:1.5!important;margin-bottom:14px!important}
  .welcome-offer-cta{min-height:50px}
}
@media(max-width:620px){
  .welcome-offer-inner{max-height:calc(100vh - 14px);max-height:calc(100dvh - 14px);padding-top:34px!important}
  .welcome-offer-close{right:9px!important;top:9px!important}
}
.knowledge-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:1040px;margin:-18px auto 20px}
.knowledge-filters button{min-height:40px;padding:0 17px;border:1px solid rgba(120,147,127,.22);border-radius:999px;background:#fff;color:var(--forest);font:600 11px var(--sans);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.knowledge-filters button:hover{transform:translateY(-1px);border-color:rgba(120,147,127,.5)}
.knowledge-filters button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.knowledge-result-count{margin:0 auto 24px;color:var(--muted);font-size:11px;text-align:center;min-height:18px}
.knowledge-card[hidden]{display:none!important}
.knowledge-card-body>span:not(.knowledge-card-meta):not(.knowledge-card-link){color:var(--muted);font-size:12px}
.chat-source-line{display:inline-block;margin-top:4px}
.chat-source-line a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){
  .knowledge-filters{justify-content:flex-start;margin-top:-12px;gap:7px}
  .knowledge-filters button{min-height:38px;padding:0 13px;font-size:10px}
}


/* ===== V83 FINAL: scrollbar nélküli, kompakt üdvözlő ajánlat ===== */
.welcome-offer-panel{overflow:hidden!important}
.welcome-offer-inner{max-height:none!important;overflow:visible!important}
@media(max-height:560px){
 .welcome-offer-panel{width:min(94vw,480px)!important}
 .welcome-offer-inner{padding:22px 26px 16px!important}
 .welcome-offer-eyebrow{margin-bottom:5px!important}
 .welcome-offer-value{margin-bottom:4px!important}.welcome-offer-value span{font-size:42px!important}
 .welcome-offer-panel h2{font-size:27px!important;margin-bottom:8px!important}
 .welcome-offer-panel p:not(.welcome-offer-eyebrow):not(.welcome-offer-value){font-size:11px!important;line-height:1.42!important;margin-bottom:10px!important}
 .welcome-offer-cta{min-height:44px!important}
 .welcome-offer-later{margin:6px auto 3px!important}
 .welcome-offer-panel small{display:none!important}
}

/* ===== V83 FINAL: látható belső görgetősávok elrejtése ===== */
.review-track,
.program-strip,
.image-marquee,
.booking-jump-nav-inner,
.wheel-panel,
.chat-messages,
.chat-quick {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.review-track::-webkit-scrollbar,
.program-strip::-webkit-scrollbar,
.image-marquee::-webkit-scrollbar,
.booking-jump-nav-inner::-webkit-scrollbar,
.wheel-panel::-webkit-scrollbar,
.chat-messages::-webkit-scrollbar,
.chat-quick::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}


/* ===== Kapcsolat finomhangolás ===== */
.contact-location-link {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  transition: opacity .22s ease, transform .22s ease;
}
.contact-location-link:hover { opacity: .72; transform: translateX(2px); }
.contact-location-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; border-radius: 4px; }
/* ===== END Kapcsolat finomhangolás ===== */

/* ===== V85 UX: hero only on homepage + clear subpage navigation ===== */
.section-nav-v85 {
  position:-webkit-sticky;position: sticky;
  top: calc(var(--announcement-h) + var(--header-h));
  z-index: 930;
  width: 100%;
  padding: 10px max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter)));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(45,52,41,.10);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  box-shadow: 0 8px 24px rgba(45,52,41,.035);
}
.section-nav-v85 a {
  min-height: 38px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(78,91,81,.16);
  border-radius: 11px;
  background: rgba(255,255,255,.72);
  color: #4E5B51;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .035em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.section-nav-v85 a:hover{
  transform: translateY(-1px);
  border-color: rgba(120,147,127,.42);
  background: #fff;
  color: #2D3429;
}
.section-nav-v85 a:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(120,147,127,.42);
  background: #fff;
  color: #2D3429;
}
.section-nav-v85 a.is-active,
.section-nav-v85 a[aria-current="page"] {
  border-color: #78937F;
  background: #78937F;
  color: #fff;
  box-shadow: 0 8px 18px rgba(120,147,127,.22);
}
.subpage-shell-v85 {
  position: relative;
  background:
    radial-gradient(circle at 15% 15%, rgba(244,233,232,.78), transparent 34%),
    linear-gradient(180deg,#FFFFFF 0%,#F4E9E8 100%);
  border-bottom: 1px solid rgba(45,52,41,.08);
}
.subpage-intro-v85 {
  padding-top:max(44px, min(6vw, 82px));
  padding-bottom:max(42px, min(5.5vw, 76px));
  text-align: center;
}
.subpage-kicker-v85 {
  margin: 0 0 14px;
  color: #78937F;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.subpage-intro-v85 h1 {
  max-width: 980px;
  margin: 0 auto;
  color: #2D3429;
  font-size:max(38px, min(5.1vw, 68px));
  line-height: .98;
  text-wrap: balance;
}
.subpage-description-v85 {
  max-width: 760px;
  margin: 20px auto 0;
  color: #4E5B51;
  font-size:max(15px, min(1.4vw, 18px));
  line-height: 1.7;
  text-wrap: balance;
}
/* Make current location unmistakable in the + drawer as well. */
.menu-links > a.is-active,
.menu-links > a[aria-current="page"] {
  padding-left: 10px;
  color: #4E5B51;
  background: linear-gradient(90deg, rgba(120,147,127,.12), transparent 82%);
  box-shadow: inset 3px 0 0 #78937F;
}
.menu-knowledge.is-current-section > summary {
  color: #4E5B51;
  background: linear-gradient(90deg, rgba(120,147,127,.12), transparent 82%);
  box-shadow: inset 3px 0 0 #78937F;
}

/* Homepage: navigation remains obviously interactive; non-link labels must not imitate buttons. */
.hero-nav-home-v85 a {
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(2,2,2,.07);
}
.hero .hero-label,
.hero .hero-badge,
.hero .trust-pill,
.hero .proof-pill {
  border: 0 !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.10) !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.82) !important;
  cursor: default !important;
  pointer-events: none !important;
}
@media (max-width: 900px) {
  .section-nav-v85 {
    position: relative;
    top: auto;
    padding: 10px 16px 12px;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    background: #FFFFFF;
  }
  .section-nav-v85 a {
    min-width: 0;
    min-height: 42px;
    padding: 7px 8px;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }
  .subpage-intro-v85 { padding-top: 38px; padding-bottom: 44px; }
}
@media (max-width: 620px) {
  .section-nav-v85 {
    grid-template-columns: repeat(3,minmax(0,1fr));
    padding-left:10px;padding-right:10px;padding-inline: 10px;
  }
  .section-nav-v85 a { font-size: 10px; letter-spacing: .015em; }
  .section-nav-v85 a.is-active,
  .section-nav-v85 a[aria-current="page"] { box-shadow: 0 5px 12px rgba(120,147,127,.18); }
  .subpage-intro-v85 { padding: 32px 22px 38px; }
  .subpage-intro-v85 h1 { font-size:max(32px, min(10vw, 46px)); line-height: 1.02; }
  .subpage-description-v85 { margin-top: 15px; font-size: 14px; line-height: 1.6; }
  .subpage-kicker-v85 { margin-bottom: 10px; font-size: 10px; }
}
@media (max-width: 370px) {
  .section-nav-v85 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .section-nav-v85 a { transition: none !important; }
}
/* ===== END V85 UX ===== */

/* V87 – új oktatói profilok és kártyák */
.teacher-placeholder-photo img{object-fit:cover}.teacher-card-media img[src*="homoky-alexandra"],.teacher-card-media img[src*="kovacs-beatrix-edit"]{object-fit:cover}


/* ===== V89.1 PREMIUM TEACHER CARD ACTIONS ===== */
.teacher-card-body{display:flex;flex-direction:column;height:100%;}
.teacher-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:9px;padding-top:22px;}
.teacher-card-actions .muted{flex:0 0 100%;margin:0 0 8px;color:rgba(255,255,255,.68);}
.teacher-card-actions .teacher-profile-cta,
.teacher-card-actions .btn.btn-light{
  flex:0 0 100%;width:100%;min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;
  border:1px solid rgba(255,255,255,.18);border-radius:15px;background:linear-gradient(135deg,#F4E9E8,#F4E9E8);
  color:#2D3429;font-size:12px;font-weight:700;letter-spacing:.025em;box-shadow:0 12px 26px rgba(2,2,2,.14),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.teacher-card-actions .teacher-profile-cta:hover,
.teacher-card-actions .btn.btn-light:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(2,2,2,.18),inset 0 1px 0 rgba(255,255,255,.8);filter:saturate(1.04);}
.teacher-card-actions .teacher-profile-cta .cta-arrow,
.teacher-card-actions .btn.btn-light .cta-arrow{font-size:18px;font-weight:400;line-height:1;transition:transform .25s ease;}
.teacher-card-actions .teacher-profile-cta:hover .cta-arrow,
.teacher-card-actions .btn.btn-light:hover .cta-arrow{transform:translate(2px,-2px);}
.teacher-card-actions .teacher-social-link,
.teacher-card-actions>a:not(.btn):not(.teacher-profile-cta){
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.25);
  border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.9);font-size:10.5px;font-weight:600;letter-spacing:.035em;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.teacher-card-actions .teacher-social-link:hover,
.teacher-card-actions>a:not(.btn):not(.teacher-profile-cta):hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.42);transform:translateY(-1px);}
@media(max-width:620px){
 .teacher-card-actions{gap:8px;padding-top:18px}.teacher-card-actions .teacher-profile-cta,.teacher-card-actions .btn.btn-light{min-height:50px;border-radius:14px;font-size:12.5px}
 .teacher-card-actions .teacher-social-link,.teacher-card-actions>a:not(.btn):not(.teacher-profile-cta){min-height:38px;padding-left:13px;padding-right:13px;padding-inline:13px;font-size:11px}
}
/* ===== END V89.1 ===== */


/* ===== SistersFlow MOM Park — unified visual layer ===== */

.brand-wordmark{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-weight:400;color:var(--ink);font-size:28px;line-height:.72;letter-spacing:-.055em;white-space:nowrap}.brand-wordmark small{margin-top:8px;font-family:var(--sans);font-size:7px;line-height:1;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-deep);font-weight:600}.site-header .brand-wordmark{min-width:118px}.menu-drawer-head .brand-wordmark{font-size:32px;align-items:flex-start}.menu-drawer-head .brand-wordmark small{font-size:8px}
.button-primary,.button-secondary,.button-dark{min-height:46px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.2;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}.button-primary,.button-dark{background:var(--forest);color:#fff;box-shadow:0 12px 30px rgba(45,52,41,.16)}.button-secondary{border-color:var(--line);background:#fff;color:var(--forest)}.button-primary:hover,.button-secondary:hover,.button-dark:hover{transform:translateY(-2px)}
.section-green{background:var(--forest);color:#fff}.section-green .lead,.section-green p{color:rgba(255,255,255,.82)}.section-green .eyebrow{color:rgba(255,255,255,.72)}.section-green h1,.section-green h2,.section-green h3{color:#fff}
.section-cta{margin-top:34px;text-align:center}.center{text-align:center}.full{width:100%}
.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.metric{padding:18px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.72);text-align:center}.metric strong{display:block;font-family:var(--serif);font-size:31px;font-weight:400;line-height:1;color:var(--forest)}.metric span{display:block;margin-top:8px;font-size:11px;color:var(--muted)}
.feature-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.schedule-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card,.benefit-card,.class-card,.slot,.schedule-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.feature-card .icon,.class-number{width:42px;height:42px;margin-bottom:18px;display:grid;place-items:center;border-radius:50%;background:var(--cream);font-size:12px;font-weight:700;color:var(--sage-deep)}.feature-list,.details-list,.profile-schedule{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}.feature-list li,.details-list li,.profile-schedule li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px}.profile-schedule strong{color:var(--sage-deep)}
.teacher-toolbar{margin:0 0 28px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-soft)}.teacher-filters{display:flex;flex-wrap:wrap;gap:8px}.teacher-filters button{min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--forest);cursor:pointer;font-size:12px;font-weight:600}.teacher-filters button.is-active{background:var(--sage);border-color:var(--sage);color:#fff}.teacher-toolbar p{margin:12px 0 0;font-size:12px;color:var(--muted)}.teacher-favorite{position:absolute;z-index:3;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font-size:20px;color:var(--forest);box-shadow:0 8px 24px rgba(2,2,2,.09)}.teacher-card{position:relative}.teacher-favorite.is-favorite{background:var(--sage);color:#fff;border-color:var(--sage)}.teacher-more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--sage-deep)}.empty-state{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted)}
.profile-section{padding-top:max(62px, min(7vw, 104px))}.profile-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:max(34px, min(6vw, 88px));align-items:center}.profile-portrait{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:var(--paper-soft);aspect-ratio:4/5}.profile-portrait img{width:100%;height:100%;object-fit:cover}.profile-copy blockquote{margin:28px 0;padding:22px 24px;border-left:3px solid var(--sage);background:var(--paper-soft);font-family:var(--serif);font-size:max(23px, min(2.5vw, 34px));line-height:1.18}.profile-gallery{width:min(100%,var(--content));margin:0 auto;padding:0 var(--gutter) max(60px, min(7vw, 100px))}.profile-gallery img{width:100%;max-height:660px;object-fit:cover;border-radius:var(--radius-lg)}
.article-shell{padding:max(64px, min(8vw, 120px)) 0}.article-container{width:min(920px,100%);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);padding-inline:var(--gutter)}.article-container>p:first-of-type,.article-container .lead{font-size:max(18px, min(1.7vw, 22px));color:var(--charcoal)}.article-block{padding:30px 0;border-top:1px solid var(--line)}.article-block h2{margin-bottom:18px}.article-back{display:inline-flex;margin-bottom:28px;font-size:12px;font-weight:600;color:var(--sage-deep)}.article-cta{margin-top:36px;padding:28px;border-radius:var(--radius-lg);background:var(--paper-soft);border:1px solid var(--line)}
.knowledge-list{display:grid;border-top:1px solid var(--line)}.knowledge-row,.knowledge-preview a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line);transition:padding .2s ease,color .2s ease}.knowledge-row:hover,.knowledge-preview a:hover{padding-left:10px;color:var(--sage-deep)}.knowledge-preview{display:grid;max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md)}
.schedule-days{display:grid;gap:18px}.schedule-day>h3{margin:0 0 12px}.schedule-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-card{display:flex;flex-direction:column;gap:8px}.schedule-time{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sage-deep)}.schedule-card-actions{margin-top:auto;padding-top:14px}.schedule-note,.flowena-note{font-size:12px;color:var(--muted)}.schedule-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.schedule-filter button{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer}.schedule-filter button.is-active{background:var(--sage);color:#fff;border-color:var(--sage)}
.form-card{padding:max(24px, min(4vw, 42px));border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.form-card label{display:block;margin:16px 0 6px;font-size:12px;font-weight:600}.form-card input,.form-card textarea,.form-card select{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.form-honeypot{position:absolute!important;left:-9999px!important}.contact-line{padding:16px 0;border-bottom:1px solid var(--line)}.map-frame{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.map-frame iframe{display:block;width:100%;min-height:420px;border:0}
.price-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.price-panel{padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.price-highlight{font-family:var(--serif);font-size:38px;color:var(--forest)}.price-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.price-tabs button{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
.audience-pill{padding:18px;border-radius:999px;border:1px solid var(--line);background:#fff;text-align:center;font-size:13px}.details-content{max-width:900px;margin:0 auto}.booking-coming,.booking-live{padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-soft)}.booking-support-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--sage)}
/* The moving image strip is shared within the MOM Park experience. */
.image-marquee img{object-fit:cover}
/* Simple technical cookie modal until MOM receives its own analytics stack. */
.cookie-modal{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;inset:0;display:none;place-items:end center;padding:20px;background:rgba(2,2,2,.28)}.cookie-modal.is-open{display:grid}.cookie-panel{width:min(620px,100%);padding:24px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(2,2,2,.22)}.cookie-panel h2{font-size:32px}.cookie-panel p{color:var(--muted)}
.chat-notification{position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:#D99A6B;border:2px solid #fff;opacity:0;transform:scale(.5);transition:.2s}.chat-notification.is-visible{opacity:1;transform:scale(1)}
@media(max-width:900px){.feature-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr}.profile-portrait{max-width:620px;margin-left:auto;margin-right:auto;margin-inline:auto;width:100%}.price-shell{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.brand-wordmark{font-size:24px}.site-header .brand-wordmark{min-width:104px}.feature-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.schedule-card-grid,.gallery-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.metric{padding:15px}.teacher-toolbar{padding:13px}.teacher-filters{display:grid;grid-template-columns:1fr 1fr}.teacher-filters button{width:100%;padding-left:8px;padding-right:8px;padding-inline:8px}.profile-gallery{padding-left:16px;padding-right:16px;padding-inline:16px}.profile-gallery img{border-radius:18px}.form-card{padding:20px}.article-cta{padding:22px}.cookie-modal{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}}
/* ===== END MOM parity layer ===== */

.chat-launcher{position:relative}


/* ===== V9.2 — TEACHER CARDS + FAQ + PROFILE RESPONSIVE FINAL ===== */
.teacher-grid{align-items:stretch}
.teacher-card{
  display:grid;grid-template-rows:auto 1fr;position:relative;min-width:0;height:100%;
  cursor:pointer;isolation:isolate;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,border-color .28s ease;
}
.teacher-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px rgba(44,44,44,.2)}
.teacher-card:focus-visible{outline:3px solid #F4E9E8;outline-offset:4px}
.teacher-card-body{display:flex;flex-direction:column;min-width:0;height:auto;padding:26px}
.teacher-card-body>p:not(.eyebrow){margin-bottom:0}
.teacher-card-actions{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:11px;padding-top:24px;align-items:stretch}
.teacher-card-actions .teacher-profile-cta{
  width:100%;min-width:0;min-height:52px;padding:0 17px 0 19px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#F4E9E8;color:#2D3429;
  font-size:12px;font-weight:700;letter-spacing:.035em;text-decoration:none;box-shadow:0 10px 24px rgba(2,2,2,.13);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.teacher-card-actions .teacher-profile-cta:hover{background:#fff;transform:translateY(-1px);box-shadow:0 14px 30px rgba(2,2,2,.16)}
.teacher-profile-cta .cta-arrow{font-size:18px;line-height:1;flex:0 0 auto;transition:transform .2s ease}
.teacher-profile-cta:hover .cta-arrow{transform:translate(2px,-2px)}
.teacher-card-socials{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.teacher-card-actions .teacher-social-link{
  flex:1 1 112px;min-width:0;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.075);color:#fff;
  text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.teacher-card-actions .teacher-social-link:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42);transform:translateY(-1px)}
.teacher-social-icon{width:17px;height:17px;display:inline-flex;flex:0 0 17px}
.teacher-social-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.teacher-social-icon .social-dot{fill:currentColor;stroke:none}
.teacher-social-arrow{opacity:.75;font-size:12px;margin-left:1px}
.teacher-profile-grid > .teacher-favorite.favorite-teacher-profile{
  grid-column:1 / -1;justify-self:start;position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;inset:auto!important;
  width:auto!important;max-width:100%;height:auto!important;min-height:44px;padding:0 16px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;white-space:normal;line-height:1.25;
}
.article-faq-item summary > span:first-child{transform:none!important}
.article-faq-item[open] summary > span:first-child{transform:none!important}
.article-faq-item summary > span:last-child{flex:0 0 auto;transform:rotate(0deg);transform-origin:center}
.article-faq-item[open] summary > span:last-child{transform:rotate(45deg)}
@media (max-width:1120px){.teacher-card-body{padding:24px}.teacher-card-actions{padding-top:21px}}
@media (max-width:620px){
 .teacher-card{border-radius:18px}.teacher-card:hover{transform:none}.teacher-card-body{padding:22px 20px 21px}
 .teacher-card-actions{gap:9px;padding-top:19px}.teacher-card-actions .teacher-profile-cta{min-height:52px;font-size:12.5px;border-radius:13px}
 .teacher-card-actions .teacher-social-link{min-height:46px;font-size:11.5px}
 .teacher-profile-grid > .teacher-favorite.favorite-teacher-profile{width:100%!important;justify-self:stretch}
}
@media (max-width:360px){.teacher-card-body{padding-left:18px;padding-right:18px;padding-inline:18px}.teacher-card-socials{display:grid;grid-template-columns:1fr}.teacher-card-actions .teacher-social-link{width:100%}}
@media (hover:none),(pointer:coarse){.teacher-card:hover{transform:none}.teacher-card-actions .teacher-profile-cta:hover,.teacher-card-actions .teacher-social-link:hover{transform:none}}
/* ===== END V9.2 ===== */

/* V10.5 Flowena / iPhone stability layer */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-width:320px;overflow-x:hidden}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--content,1320px);padding-left:max(16px, min(4vw, 72px));padding-right:max(16px, min(4vw, 72px));padding-inline:max(16px, min(4vw, 72px))}.hero-content,.section-heading,.split-copy,.teacher-card-body{min-width:0}.hero h1,.section-heading h2,.teacher-card h3{overflow-wrap:anywhere}.workshop-marquee{position:relative;z-index:9;overflow:hidden;background:#2D3429;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.workshop-marquee a{display:flex;align-items:center;gap:18px;min-height:50px;width:max-content;padding:0 24px;color:inherit;text-decoration:none;animation:workshopMarquee 32s linear infinite;white-space:nowrap}.workshop-marquee i{color:#D4D4D4;font-style:normal}.workshop-marquee:hover a{animation-play-state:paused}.flowena-booking-section{scroll-margin-top:calc(var(--header-h,72px) + var(--announcement-h,34px) + 20px)}.flowena-booking-shell{max-width:1440px}.flowena-widget-frame{width:100%;min-width:0;overflow:hidden;border:1px solid rgba(120,147,127,.22);border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(44,44,44,.10)}.flowena-widget-frame booking-platform{display:block;width:100%;min-width:0}.schedule-capacity{color:rgba(255,255,255,.68);font-size:13px}.workshop-feature-section{background:linear-gradient(135deg,#FFFFFF,#F4E9E8)}.workshop-feature-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:max(28px, min(6vw, 80px));align-items:center}.workshop-feature-media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:12px;align-items:end}.workshop-feature-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px;box-shadow:0 18px 45px rgba(44,44,44,.13)}.workshop-feature-media .workshop-feature-secondary{aspect-ratio:1/1;transform:translateY(24px)}.workshop-feature-copy{min-width:0}.workshop-feature-copy h2{font-size:max(32px, min(5vw, 64px));line-height:1.02;overflow-wrap:anywhere}.workshop-feature-copy p{max-width:720px;line-height:1.75}.workshop-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.workshop-tags span{padding:8px 11px;border-radius:999px;background:#F4E9E8;color:#4E5B51;font-size:12px}.button-flowena{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:1px solid #78937F;border-radius:999px;background:#2D3429;color:#fff;text-decoration:none;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.button-flowena:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(45,52,41,.18)}.booking-band-flowena{display:flex;justify-content:center;align-items:center;min-height:96px;padding:20px}.teacher-card-avatar,.profile-avatar-placeholder,.service-highlight-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#D4D4D4,#78937F);color:#fff;font-weight:700;letter-spacing:.08em}.teacher-card-avatar{width:100%;height:100%;min-height:260px;font-size:max(34px, min(6vw, 62px))}.profile-avatar-placeholder{width:100%;min-height:440px;border-radius:var(--radius-lg,24px);font-size:72px;box-shadow:var(--shadow-soft,0 20px 50px rgba(44,44,44,.12))}.service-highlight-placeholder{min-height:300px;border-radius:24px;font-size:70px}.mom-flow-service{background:#F4E9E8}@keyframes workshopMarquee{to{transform:translateX(-35%)}}@media(max-width:900px){.workshop-feature-grid{grid-template-columns:1fr}.workshop-feature-media{max-width:620px}}@media(max-width:640px){.container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-left));padding-inline:max(16px,env(safe-area-inset-left))}.site-header-inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-left));padding-inline:max(16px,env(safe-area-inset-left))}.brand-logo-link{min-width:0;max-width:72vw}.hero-content{padding:58px max(16px,env(safe-area-inset-left)) 94px}.hero h1{font-size:max(38px, min(12vw, 58px));line-height:.98}.hero-description{font-size:16px;line-height:1.6}.hero-nav{width:calc(100% - 32px);gap:8px;bottom:20px}.hero-nav a{flex:1 1 calc(50% - 8px);min-width:0;padding-left:10px;padding-right:10px;padding-inline:10px;font-size:12px}.workshop-marquee a{gap:12px;min-height:46px;padding-left:16px;padding-right:16px;padding-inline:16px;font-size:13px}.flowena-widget-frame{border-radius:16px;margin-left:0;margin-right:0;margin-inline:0}.flowena-widget-frame booking-platform{min-height:760px}.workshop-feature-media{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:8px}.workshop-feature-media img{border-radius:16px}.workshop-feature-copy h2{font-size:max(34px, min(11vw, 52px))}.workshop-feature-copy .button-row{display:grid;grid-template-columns:1fr}.workshop-feature-copy .button-row>*{width:100%}.booking-band-flowena .button-flowena{width:100%;max-width:360px}.profile-avatar-placeholder{min-height:330px}.teacher-card-avatar{min-height:220px}.footer-grid{grid-template-columns:1fr}.chat-panel,.wheel-panel{max-width:calc(100vw - 32px);left:16px;right:16px}}@media(max-width:380px){.hero h1{font-size:38px}.hero-nav a{font-size:11px;padding-left:7px;padding-right:7px;padding-inline:7px}}@media(prefers-reduced-motion:reduce){.workshop-marquee a{animation:none}.marquee-track,.image-marquee-track{animation:none!important;transform:none!important}}

.workshop-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.workshop-detail-card{min-width:0;padding:18px;border:1px solid rgba(120,147,127,.22);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 26px rgba(44,44,44,.05)}.workshop-detail-card h3{margin-top:0;overflow-wrap:anywhere}.workshop-detail-card p{line-height:1.6}.workshop-detail-card ul{margin:12px 0 0;padding-left:18px}.workshop-detail-card li{margin:5px 0}.workshop-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.workshop-detail-meta p{min-width:0;margin:0;padding:15px;border-radius:16px;background:rgba(255,255,255,.58);line-height:1.62}.workshop-detail-meta a{overflow-wrap:anywhere}@media(max-width:640px){.workshop-detail-grid,.workshop-detail-meta{grid-template-columns:1fr}.workshop-detail-card,.workshop-detail-meta p{padding:15px}}
/* V94: resilient Flowena container for delayed or blocked third-party embeds. */
.flowena-widget-frame[data-flowena-root] { min-width: 0; }
.flowena-fallback,
.flowena-noscript {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 22px 24px;
  border-top: 1px solid rgba(120,147,127,.22);
  background: linear-gradient(135deg, #FFFFFF, #FFFFFF);
  color: #4E5B51;
  line-height: 1.6;
}
.flowena-fallback[hidden] { display: none; }
.flowena-fallback p,
.flowena-noscript { max-width: 72ch; }
.flowena-fallback p { margin: 0; }
.flowena-fallback-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 2px; }
.flowena-fallback-actions button,
.flowena-fallback-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.flowena-fallback-actions button { border: 1px solid #78937F; background: #2D3429; color: #fff; }
.flowena-fallback-actions a { border: 1px solid rgba(120,147,127,.4); color: #2D3429; background: rgba(255,255,255,.72); }
.flowena-fallback-actions button:hover,
.flowena-fallback-actions a:hover { transform: translateY(-1px); }
.flowena-fallback-actions button:focus-visible{ outline: 3px solid rgba(120,147,127,.48); outline-offset: 3px; }
.flowena-fallback-actions a:focus-visible{ outline: 3px solid rgba(120,147,127,.48); outline-offset: 3px; }
.flowena-unavailable booking-platform { min-height: 0 !important; height: 0 !important; }
@media (max-width: 620px) {
  .flowena-fallback,
  .flowena-noscript { padding: 18px 16px; }
  .flowena-fallback-actions > * { width: 100%; }
}

/* V10.8: workshop team imagery stays readable on small screens. */
.workshop-team-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.workshop-team-gallery figure { min-width: 0; margin: 0; padding: 10px; border: 1px solid rgba(120,147,127,.18); border-radius: 16px; background: rgba(255,255,255,.62); }
.workshop-team-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 11px; }
.workshop-team-gallery figcaption { margin-top: 8px; color: #4E5B51; font-size: 12px; line-height: 1.45; }
@media (max-width: 620px) { .workshop-team-gallery { grid-template-columns: 1fr; } .workshop-team-gallery figure { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; align-items: center; } .workshop-team-gallery figcaption { margin-top: 0; } }

/* V10.9: final viewport and marquee hardening for narrow screens. */
html,body{max-width:100%;overflow-x:hidden}.site-page{width:100%;max-width:100%;min-width:0;overflow-x:clip}.hero,.hero-media,.hero-content,.container,.workshop-feature-grid,.workshop-detail-grid,.workshop-detail-meta{min-width:0}.hero-media{width:100%;max-width:100%}.hero-media img{display:block;max-width:100%}.workshop-marquee{width:100%;max-width:100%;isolation:isolate}.workshop-marquee::before,.workshop-marquee::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:max(18px, min(4vw, 56px));pointer-events:none}.workshop-marquee::before{left:0;background:linear-gradient(90deg,#2D3429,rgba(45,52,41,0))}.workshop-marquee::after{right:0;background:linear-gradient(270deg,#2D3429,rgba(45,52,41,0))}.workshop-marquee a{position:relative;z-index:1}.flowena-widget-frame,.flowena-widget-frame booking-platform{min-width:0;max-width:100%}@media(max-width:640px){.workshop-marquee a{animation-duration:38s}.flowena-widget-frame{max-width:100%;margin-left:0;margin-right:0;margin-inline:0}}

/* V11.0: compact, natural-height cards without changing the MOM visual language. */
.card-grid,.teacher-grid,.service-grid,.feature-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.schedule-card-grid{gap:18px}
.card-body,.teacher-card-body{padding:20px}
.card-body h3{margin-bottom:8px}
.image-card-content{padding:22px}
.teacher-card-body{min-height:0}
.teacher-card-actions{padding-top:16px}
.feature-card,.benefit-card,.class-card,.slot,.schedule-card{padding:20px}
.schedule-card-grid{align-items:start;gap:14px}
.schedule-card{align-self:start;gap:6px;border-radius:18px;box-shadow:0 8px 22px rgba(44,44,44,.06)}
.schedule-card-actions{padding-top:8px}
.booking-teacher-grid-v73{align-items:start;gap:12px}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73{align-self:start;min-height:164px;border-radius:17px}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy{padding:14px 15px;gap:5px}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy strong{font-size:23px}
.booking-teacher-grid-v73 .booking-teacher-card-detailed-v73 .booking-teacher-copy em{font-size:11.5px;line-height:1.45}
@media(max-width:620px){
  .image-card{min-height:360px}
  .feature-card,.benefit-card,.class-card,.slot,.schedule-card{padding:17px}
  .booking-teacher-grid-v73 .booking-teacher-card-detailed-v73{min-height:140px}
}

/* V11.1: visszafogott, prémium mozgásréteg.
   A mozgó információs sávok szándékosak; a dekoratív villogás és lebegés nem. */
.premium-cta,
.button-flowena,
.btn {
  animation: none !important;
}
.premium-cta::before,
.button-flowena::before,
.btn::after,
.teacher-profile-cta-v87::before {
  display: none !important;
  animation: none !important;
}
.premium-cta::after,
.hero-proof-row-v87 span,
.chat-unread-dot,
.chat-notification,
.menu-drawer::before,
.newsletter-launcher,
.newsletter-launcher::before,
.newsletter-decor,
.gift-card-orbit-v72,
.booking-start-v74::before,
.booking-start-v74::after,
.booking-welcome-v74::before,
.booking-welcome-orbit-v74,
.ticket-orb-v74,
.ticket-orb-v74::after,
.ticket-card-v72::before,
.ticket-card-v72::after,
.welcome-offer-shape,
.eyebrow::before,
.hero-media img {
  animation: none !important;
}
.hero-proof-row-v87 span { transform: none !important; }
.chat-notification { display: none !important; }
.hero-media img {
  transition: transform .24s ease-out, filter .35s ease !important;
}
.js .reveal {
  filter: none !important;
  transform: translate3d(0,14px,0) !important;
  transition: opacity .44s ease, transform .56s cubic-bezier(.22,.61,.36,1) !important;
}
.js .reveal.is-visible {
  filter: none !important;
  transform: translate3d(0,0,0) !important;
}
.menu-drawer {
  transition: transform .48s cubic-bezier(.16,1,.3,1), opacity .28s ease, visibility 0s linear .48s !important;
}
.menu-overlay {
  transition: opacity .32s ease, backdrop-filter .32s ease, visibility 0s linear .32s !important;
}
.menu-drawer-head,
.menu-links a,
.menu-drawer-footer,
.menu-knowledge {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
}
@media (hover:none), (pointer:coarse) {
  .premium-cta:hover,
  .button-flowena:hover,
  .btn:hover,
  .teacher-profile-cta-v87:hover { transform: none !important; }
  .button-flowena:hover::after,
  .premium-cta:hover::after { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .js .reveal,
  .js .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .menu-drawer,
  .menu-overlay { transition: none !important; }
}

/* V11.2: a foglaló ne hagyjon üres, túl magas fehér teret betöltés közben. */
.flowena-widget-frame > .flowena-loading {
  display: grid;
  min-height: 180px;
  place-items: center;
  padding: 28px 20px;
  color: #4E5B51;
  background: #fff;
  font-size: 13px;
  letter-spacing: .01em;
  text-align: center;
}
.flowena-loading[hidden] { display: none !important; }
.flowena-widget-frame > booking-platform { min-height: 0 !important; }
.flowena-widget-frame.flowena-ready > booking-platform { display:block; width:100%; height:auto !important; min-height:max(680px, min(82vw, 980px)) !important; overflow: visible !important; }
.flowena-widget-frame.flowena-unavailable > booking-platform { min-height: 0 !important; height: 0 !important; overflow: hidden; }

/* A foglalási sáv és a segédgombok mobilon külön szinten maradnak. */
@media (max-width: 640px) {
  .flowena-widget-frame > .flowena-loading { min-height: 190px; padding: 32px 18px; }
  .flowena-widget-frame.flowena-ready > booking-platform { display:block; width:100%; height:auto !important; min-height:max(860px, min(190vw, 1320px)) !important; overflow: visible !important; }
  body.booking-page .wheel-widget,
  body.booking-page .chat-widget {
    bottom: max(84px, calc(80px + env(safe-area-inset-bottom))) !important;
  }
  body.booking-page .wheel-launcher { width: 48px; height: 48px; }
  body.booking-page .chat-launcher { width: 50px; height: 50px; }
  body.booking-page .wheel-panel,
  body.booking-page .chat-panel {
    bottom: max(144px, calc(138px + env(safe-area-inset-bottom))) !important;
  }
}

/* V11.1 — forrásalapú, visszafogott prémium finomhangolás */
.workshop-marquee a {
  gap: 12px;
  min-height: 40px;
  padding-left:18px;padding-right:18px;padding-inline: 18px;
  font-size: 12.5px;
  animation-duration: 56s;
}
.workshop-feature-section { padding-top:max(48px, min(7vw, 88px));padding-bottom:max(48px, min(7vw, 88px));padding-block:max(48px, min(7vw, 88px)); }
.workshop-feature-grid { gap:max(24px, min(4vw, 48px)); }
.workshop-feature-media { gap: 10px; }
.workshop-feature-media img {
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(44,44,44, .10);
}
.workshop-feature-media .workshop-feature-secondary { transform: translateY(14px); }
.workshop-feature-copy h2 { font-size:max(30px, min(4.2vw, 50px)); }
.workshop-feature-copy p { line-height: 1.62; }
.workshop-detail-grid { gap: 10px; margin-top: 18px; }
.workshop-detail-card { padding: 14px; border-radius: 15px; box-shadow: 0 8px 20px rgba(44,44,44, .07); }
.workshop-detail-card li { margin: 3px 0; }
.workshop-detail-meta { gap: 10px; margin-top: 14px; }
.workshop-detail-meta p { padding: 12px; line-height: 1.5; }
@media (max-width: 640px) {
  .workshop-marquee a { gap: 9px; min-height: 38px; padding-left:14px;padding-right:14px;padding-inline: 14px; font-size: 11px; animation-duration: 64s; }
  .workshop-feature-section { padding-top:48px;padding-bottom:48px;padding-block: 48px; }
  .workshop-feature-media .workshop-feature-secondary { transform: translateY(8px); }
  .workshop-feature-copy h2 { font-size:max(30px, min(9vw, 46px)); }
}
@media (prefers-reduced-motion: reduce) { .workshop-marquee a { animation: none; } }
/* R11: kompakt, ügyfélbarát nyeremény-összefoglaló. */
.wheel-outcomes { padding-top:max(34px, min(5vw, 64px));padding-bottom:max(34px, min(5vw, 64px));padding-block:max(34px, min(5vw, 64px)); }
.wheel-outcomes .section-heading { max-width: 760px; }
.wheel-outcome-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.wheel-outcome-grid article {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px 15px;
  border: 1px solid rgba(120,147,127,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.wheel-outcome-grid strong { color: #2D3429; font-size: 15px; }
.wheel-outcome-grid span { color: #4E5B51; font-size: 12px; line-height: 1.5; }
@media (max-width: 900px) {
  .wheel-outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .wheel-outcomes { padding-top:34px;padding-bottom:34px;padding-block: 34px; }
  .wheel-outcome-grid { grid-template-columns: 1fr; gap: 9px; margin-top: 18px; }
  .wheel-outcome-grid article { padding: 14px; }
}

/* R11: visszafogott, prémium mozgás — a tartalom és a CTA marad fókuszban. */
.premium-cta,
.premium-cta::before,
.premium-cta::after,
.newsletter-launcher,
.newsletter-launcher::before,
.booking-start-v74::before,
.booking-start-v74::after,
.booking-welcome-v74::before,
.gift-card-orbit-v72,
.newsletter-decor-one,
.newsletter-decor-two { animation: none !important; }
.premium-cta::before { opacity: 0; }
.premium-cta:hover { transform: translateY(-2px); }

/* R12 — MOM Park: tisztább hierarchia, kártyák és mobil érintési felületek */
.booking-band {
  border-block: 1px solid rgba(120,147,127,.18);
  background: linear-gradient(110deg,#F4E9E8,#FFFFFF);
}
.teacher-grid { align-items: stretch; gap:max(16px, min(2vw, 22px)); }
.teacher-card {
  height: 100%;
  border-color: rgba(120,147,127,.19);
  box-shadow: 0 12px 34px rgba(45,52,41,.065);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.teacher-card-body { min-width: 0; }
.teacher-card h3,
.section-heading h2 { overflow-wrap: anywhere; }
.teacher-card-actions a,
.button-flowena,
.btn { min-height: 46px; }
:where(a,button,input,summary):focus-visible{ outline: 3px solid rgba(120,147,127,.62); outline-offset: 4px; }
@media (hover:hover) and (pointer:fine) {
  .teacher-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(45,52,41,.13); border-color: rgba(120,147,127,.38); }
}
@media (max-width:620px) {
  .section-heading { margin-bottom: 26px; }
  .teacher-grid { gap: 15px; }
  .teacher-card { border-radius: 19px; }
  .teacher-card-media { aspect-ratio: 5/4; }
  .teacher-card-body { padding: 20px; }
  .section-cta .btn { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .teacher-card { transition: none; }
}

/* V11.3: extra mobile space so the embedded Flowena widget can scroll reliably on iOS/Android. */

.flowena-widget-frame { overflow: visible; }
.flowena-widget-frame > booking-platform { display:block; width:100%; overscroll-behavior: contain; }

/* R17 cross-device polish */
@media (max-width: 640px){
  .booking-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  .schedule-card,.teacher-card,.price-card,.details-content{overflow-wrap:anywhere}
  .schedule-card-actions a,.button-flowena,.btn{min-height:44px}
}

/* 2026-10-14 menü-javítás: nincs sorvégi nyíl, telefonon nem ragad be a hover-eltolás */
.menu-links > a::after { content: none !important; display: none !important; }
@media (hover: none), (pointer: coarse) {
  .menu-links > a:hover:not(.is-active):not([aria-current="page"]) { padding-left: 0 !important; color: inherit !important; }
}

/* 2026-10-15 lábléc-rendezés: világos logó a sötétzöld háttéren (oktatói oldalakon is), olvasható alcím, a süti-gomb a többi linkkel egyforma */
.site-footer .footer-logo{filter:none;opacity:1}
.site-footer .brand-wordmark{color:#F4E9E8;align-items:flex-start}
.site-footer .brand-wordmark small{color:rgba(244,233,232,.82)!important;font-size:9px!important;letter-spacing:.2em;margin-top:10px!important}
.site-footer .footer-links > button.cookie-settings-link,
.site-footer .footer-links > .sfa-footer-link{display:inline-flex;align-items:center;justify-self:start;width:auto;margin:0;padding:0;border:0;background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.site-footer .footer-links > a:hover,.site-footer .footer-links > button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-links > a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-links > button:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
/* ===== ux-r20.css ===== */

/* R20 shared clarity, accessibility and language controls */
.sf-language-toggle{border-color:rgba(45,52,41,.18);border-color:color-mix(in srgb,var(--forest,#2D3429) 18%,transparent)}
.sf-language-toggle:active{transform:translateY(0) scale(.98)}
.skip-link:focus{z-index:100000!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--sage,#78937F) 58%,white);outline-offset:3px}
img{max-width:100%;height:auto}
.profile-booking-head{max-width:760px}
.profile-booking-head p{line-height:1.65}
.schedule-source-note{margin:0 auto 22px;max-width:900px;padding:12px 16px;border:1px solid rgba(45,52,41,.12);border-radius:14px;background:rgba(255,255,255,.72);font-size:13px;line-height:1.55;color:var(--muted,#4E5B51)}
.schedule-source-note strong{color:var(--forest,#2D3429)}
@media(max-width:760px){.sf-language-toggle{flex:0 0 auto}.header-actions{gap:8px}.schedule-source-note{margin-left:0;margin-right:0;margin-inline:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== ux-r21.css ===== */
/* R21 usability, alignment, simplification and booking fallback fixes */
.header-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
.site-header-inner{align-items:center!important}
.sf-language-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:56px!important;height:44px!important;padding:0 12px!important;border-radius:999px!important;font-size:15px!important;font-weight:700!important;line-height:1!important;background:rgba(255,255,255,.94)!important;box-shadow:0 10px 30px rgba(44,44,44,.08)!important}
.sf-language-toggle span:last-child{letter-spacing:.02em!important}
.sf-language-globe{font-size:16px!important;line-height:1!important}
.menu-toggle{position:relative!important;overflow:hidden!important}
.menu-toggle::before,.menu-toggle::after{left:50%!important;top:50%!important;width:18px!important;height:2px!important;border-radius:999px!important;background:currentColor!important;content:""!important;position:absolute!important;transform:translate(-50%,-50%)!important}
.menu-toggle::before{box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor!important}
.menu-toggle::after{opacity:0!important}
.menu-toggle[aria-expanded="true"]::before{box-shadow:none!important;transform:translate(-50%,-50%) rotate(45deg)!important;background:#fff!important}
.menu-toggle[aria-expanded="true"]::after{opacity:1!important;transform:translate(-50%,-50%) rotate(-45deg)!important;background:#fff!important}
.hero-nav,.button-row,.footer-links,.teacher-filters,.hero-proof-row-v87,.sf-hero-actions{flex-wrap:wrap!important}
.hero-nav a,.teacher-profile-cta,.button-flowena,.btn,.sf-primary,.sf-secondary{white-space:normal!important}
.teacher-grid,.card-grid,.feature-grid,.sf-location-grid,.sf-location-stack{align-items:stretch!important}
.teacher-card,.image-card,.feature-card,.info-card,.class-card,.sf-location-card{height:100%!important}
.teacher-card-media{aspect-ratio:4/5!important;min-height:260px!important;overflow:hidden!important;background:#F4E9E8!important}
.teacher-card-media img,.teacher-profile-photo img,.hero-media img,.image-card img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.teacher-card-body p{line-height:1.6!important}
.profile-avatar-placeholder{display:none!important}
.workshop-marquee{display:none!important}
.section-heading{max-width:780px!important}
.program-strip{padding-top:10px!important;padding-bottom:10px!important;padding-block:10px!important}
.program-strip .marquee-group span,.workshop-marquee span{font-size:14px!important}
.image-marquee{opacity:.92!important}
.profile-booking-shell, .booking-shell, .flowena-shell{position:relative!important}
.profile-booking-shell booking-platform, .booking-shell booking-platform, booking-platform{display:block!important;width:100%!important;min-height:520px!important}
.booking-fallback-note{margin-top:16px;padding:16px 18px;border:1px solid rgba(45,52,41,.14);border-radius:16px;background:rgba(255,255,255,.84);font-size:14px;line-height:1.6}
.booking-fallback-note strong{display:block;margin-bottom:6px}
.booking-fallback-note a{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;border-radius:999px;text-decoration:none;border:1px solid rgba(45,52,41,.16)}
.home-compact .hero-description,.home-compact .lead{max-width:760px!important}
.home-compact .program-strip{margin-top:0!important}
.home-compact .image-marquee{margin-top:18px!important}
.page-index .workshop-feature-copy p:not(.lead), .page-home .workshop-feature-copy p:not(.lead){max-width:70ch}
.page-oktatok .teacher-toolbar{margin-bottom:18px!important}
.page-foglalas .hero-nav{display:none!important}
.page-foglalas .booking-band{margin-top:0!important}
.page-index .workshop-feature-section{padding-top:48px!important}
.page-index .welcome-offer, .page-index .chat-widget, .page-index .wheel-widget{z-index:20}
body[data-site-language="en"] .notranslate, body[data-site-language="en"] [translate="no"]{font-style:normal!important}
@media (max-width: 900px){
  .site-header-inner{gap:14px!important}
  .header-actions{gap:10px!important}
  .hero-content{padding-left:18px!important;padding-right:18px!important;padding-inline:18px!important}
  .hero-nav{gap:8px!important}
  .program-strip .marquee-group span,.workshop-marquee span{font-size:13px!important}
}
@media (max-width: 760px){
  .sf-language-toggle{height:40px!important;min-width:54px!important;padding:0 11px!important}
  .teacher-card-media{min-height:220px!important}
  .hero-proof-row-v87{gap:8px!important}
  .profile-booking-shell booking-platform, booking-platform{min-height:620px!important}
}

/* ===== ux-r22.css ===== */

/* R22 final responsive + overflow hardening */
html,body{width:100%;max-width:100%;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
.site-page,main,section,.section,.container,.site-header-inner,.hero,.hero-content,.teacher-grid,.sf-instructor-grid,.schedule-grid,.aerial-schedule-grid{min-width:0}
img,video,svg,canvas,iframe,booking-platform{max-width:100%}
img,video{height:auto}
p,h1,h2,h3,h4,h5,h6,a,button,span,strong,em,small{overflow-wrap:anywhere}
.header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.sf-language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:58px;min-height:40px;padding:0 12px;border:1px solid rgba(45,52,41,.16);border-radius:999px;background:rgba(255,255,255,.92);color:inherit;font:600 12px/1 Poppins,"Poppins Fallback",system-ui,sans-serif;cursor:pointer}
.sf-language-globe{font-size:14px}
.menu-drawer{width:min(420px,92vw)!important;max-width:92vw!important}
.menu-links a,.menu-links summary{white-space:normal!important}
.r22-flowena-shell{width:100%;max-width:1120px;margin:0 auto;min-height:520px;overflow:hidden;border-radius:22px}
.r22-flowena-shell booking-platform,.flowena-booking-section booking-platform{display:block;width:100%;max-width:100%;min-height:520px}
.r22-live-head{max-width:760px;margin-bottom:24px}
.teacher-card,.sf-instructor-card,.schedule-card,.aerial-schedule-card{min-width:0;overflow:hidden}
.teacher-card img,.sf-instructor-card img{width:100%;object-fit:cover}
@media(max-width:900px){
  .site-header-inner{gap:10px!important;padding-left:16px!important;padding-right:16px!important}
  .brand-logo-link{min-width:0}
  .brand-wordmark{font-size:max(22px, min(7vw, 30px)) !important}
  .hero,.sf-hero,.hero-grid{grid-template-columns:1fr!important}
  .teacher-grid,.sf-instructor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .schedule-grid,.aerial-schedule-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  body{font-size:15px}
  h1{font-size:max(42px, min(13vw, 64px)) !important;line-height:.95!important}
  h2{font-size:max(34px, min(10vw, 48px)) !important;line-height:1!important}
  .section,.sf-section{padding-left:16px!important;padding-right:16px!important}
  .container{width:100%!important;padding-left:0!important;padding-right:0!important}
  .site-header-inner{padding:12px 14px!important}
  .logo{max-width:128px!important;height:auto!important}
  .sf-language-toggle{min-width:52px;min-height:38px;padding:0 10px}
  .teacher-grid,.sf-instructor-grid{grid-template-columns:1fr!important}
  .teacher-card,.sf-instructor-card{width:100%!important;max-width:100%!important}
  .teacher-card-actions,.schedule-card-actions,.btns,.hero-actions,.cta-row{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
  .btn,.button-flowena,.teacher-profile-cta,.schedule-book{max-width:100%;white-space:normal!important;text-align:center}
  .schedule-time{white-space:nowrap}
  .r22-flowena-shell{border-radius:16px;min-height:520px}
  .flowena-booking-section .container,.r22-live-schedule .container{max-width:100%!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== ux-r23.css ===== */
/* R23 — cross-device polish / iOS + Android + desktop hardening */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--announcement-h,34px) + var(--header-h,72px) + 16px)}
body{width:100%;max-width:100%;min-width:320px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,svg,canvas,iframe,booking-platform{max-width:100%}
img,video{height:auto}
input,button,select,textarea{font:inherit}
.site-page,main,section,.section,.container,.hero,.hero-content,.site-header-inner,.footer-grid,.teacher-grid,.card-grid,.feature-grid,.teacher-profile-grid,.workshop-feature-grid{max-width:100%;min-width:0}
.site-chrome{position:-webkit-sticky;position:sticky;top:0;z-index:1000}
.site-header-inner{grid-template-columns:1fr auto 1fr!important}
.brand-logo-link{grid-column:2;max-width:min(58vw,220px);min-width:0}
.brand-logo-link .logo{display:block;max-width:100%;height:auto;object-fit:contain}
.header-actions{grid-column:3;justify-self:end;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.sf-language-toggle,.menu-toggle{flex:0 0 auto}
.hero-content{max-width:980px!important}
.hero h1,.hero h2,.section-heading h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance}
.hero-description{max-width:760px}
.hero-nav{max-width:calc(100% - 32px)!important}
.hero-nav a{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
.details-list{width:100%;max-width:920px;margin-left:auto;margin-right:auto;margin-inline:auto}
.details-list details{width:100%;overflow:hidden}
.details-list summary{min-height:52px;display:flex;align-items:center;cursor:pointer;touch-action:manipulation}
.details-content{overflow-wrap:break-word}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer-links a,.footer-links button{max-width:100%;white-space:normal;text-align:left}
.flowena-widget-frame,.profile-booking-shell,.booking-shell,.flowena-shell,.r22-flowena-shell{width:100%!important;max-width:100%!important;overflow:hidden!important}
booking-platform{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
table{max-width:100%}
.chat-panel,.wheel-panel,.newsletter-panel,.cookie-panel{max-width:calc(100vw - 24px)!important}
.menu-drawer{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}

@media(max-width:900px){
  .site-header-inner{padding-left:18px!important;padding-right:18px!important;padding-inline:18px!important;gap:10px!important}
  .hero-content{padding-left:22px!important;padding-right:22px!important;padding-inline:22px!important}
  .teacher-grid,.card-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:1fr 1fr!important}
}

@media(max-width:760px){
  :root{--announcement-h:30px;--header-h:66px}
  .announcement-bar{min-height:30px!important;height:auto!important;padding:7px 12px!important;font-size:11px!important;line-height:1.35!important}
  .site-header,.site-header-inner{min-height:66px!important;height:66px!important}
  .site-header-inner{padding:8px 14px!important;grid-template-columns:1fr auto 1fr!important}
  .brand-logo-link{max-width:46vw!important}
  .logo{max-height:48px!important;width:auto!important}
  .brand-wordmark{font-size:23px!important;line-height:.78!important;min-width:0!important}
  .brand-wordmark small{font-size:7px!important;margin-top:7px!important}
  .sf-language-toggle{height:38px!important;min-height:38px!important;min-width:50px!important;padding:0 9px!important;font-size:11px!important}
  .menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}
  .menu-drawer{width:100vw!important;max-width:100vw!important;padding:18px 18px max(24px,env(safe-area-inset-bottom))!important}
  .menu-drawer-head{padding-bottom:16px!important}
  .menu-drawer-head img{max-height:48px!important;width:auto!important}
  .menu-links{padding-top:16px!important;padding-bottom:16px!important;padding-block:16px!important}
  .menu-links a{min-height:48px!important;font-size:max(24px, min(8vw, 30px)) !important}

  /* The hero quick-navigation caused the screenshot overlap. On phones the main menu already provides the same links. */
  .hero-nav{display:none!important}
  .hero,.hero.hero-small,.hero.hero-unified{min-height:max(430px, min(64vh, 610px))!important;min-height:max(430px, min(64svh, 610px)) !important}
  .hero.hero-unified,.hero.hero-small{min-height:430px!important}
  .hero-content,.hero.hero-unified .hero-content{width:100%!important;padding:54px 20px 58px!important;margin:auto!important}
  .hero h1,.hero.hero-unified h1{font-size:max(38px, min(11.5vw, 52px)) !important;line-height:1!important;letter-spacing:-.025em!important}
  .hero-description{margin-top:18px!important;font-size:15px!important;line-height:1.58!important;max-width:34rem!important}
  .hero-kicker{font-size:10px!important;line-height:1.4!important;margin-bottom:14px!important}
  .hero-proof-row-v87{gap:7px!important;margin-top:20px!important}
  .hero-proof-row-v87 span{font-size:11px!important;padding:8px 10px!important}

  .section,.section-compact{padding:56px 18px!important}
  .container{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;padding-inline:0!important;margin-left:auto!important;margin-right:auto!important;margin-inline:auto!important}
  .section-heading{margin-bottom:28px!important;text-align:left!important}
  .section-heading h2,h2{font-size:max(30px, min(9.5vw, 42px)) !important;line-height:1.03!important}
  h3{overflow-wrap:normal!important;word-break:normal!important}
  p,.lead{overflow-wrap:break-word!important}
  .lead{font-size:17px!important;line-height:1.65!important}

  .teacher-grid,.card-grid,.feature-grid,.service-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.schedule-card-grid,.sf-instructor-grid{grid-template-columns:1fr!important;gap:16px!important}
  .teacher-card,.image-card,.feature-card,.info-card,.class-card,.sf-instructor-card{width:100%!important;max-width:100%!important;border-radius:20px!important}
  .teacher-card-media{min-height:0!important;aspect-ratio:4/3!important}
  .teacher-card-body{padding:20px!important}
  .button-row,.hero-actions,.teacher-card-actions,.cta-row,.btns{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .button-row>* ,.hero-actions>* ,.teacher-card-actions>* ,.cta-row>* ,.btns>*{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important}
  .btn,.button-flowena,.teacher-profile-cta,.schedule-book{min-height:48px!important;padding-left:16px!important;padding-right:16px!important;padding-inline:16px!important}

  .details-list details{border-radius:0!important}
  .details-list summary{min-height:50px!important;padding:12px 0!important;font-size:15px!important}
  .details-content{padding:0 0 16px!important;font-size:14px!important;line-height:1.65!important}

  .profile-booking-shell booking-platform,.booking-shell booking-platform,.flowena-shell booking-platform,.r22-flowena-shell booking-platform,.flowena-booking-section booking-platform{min-height:720px!important}
  .flowena-widget-frame,.r22-flowena-shell{border-radius:14px!important}

  .footer-grid{grid-template-columns:1fr!important;gap:26px!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .site-footer{padding-bottom:max(34px,env(safe-area-inset-bottom))!important}

  .image-marquee{max-width:100vw!important;overflow:hidden!important}
  .image-marquee-group img{max-width:72vw!important}
  .program-strip{height:52px!important;min-height:52px!important}
  .marquee-group{min-height:52px!important}

  .chat-widget{right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .wheel-widget{left:auto!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(72px,calc(72px + env(safe-area-inset-bottom)))!important}
  .chat-launcher,.wheel-launcher{width:52px!important;height:52px!important}
  .newsletter-launcher{display:none!important}
  .chat-panel,.wheel-panel,.newsletter-panel{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(74px,calc(64px + env(safe-area-inset-bottom)))!important;width:auto!important;max-width:none!important;max-height:calc(100vh - 98px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 98px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:20px!important;transform-origin:bottom center!important}
  .cookie-consent,.cookie-panel{width:calc(100vw - 24px)!important;max-width:none!important}
  .chat-form{grid-template-columns:minmax(0,1fr) auto!important}
  .chat-quick{max-height:105px!important}

  .workshop-feature-grid,.teacher-profile-grid{grid-template-columns:1fr!important}
  .workshop-feature-media{grid-template-columns:1fr 1fr!important}
  .workshop-feature-media .workshop-feature-secondary{transform:none!important}
  .workshop-team-gallery{grid-template-columns:1fr!important}
  .profile-schedule li{grid-template-columns:1fr!important;gap:4px!important}
  .profile-schedule strong{justify-self:start!important}
  .article-container{max-width:100%!important}
  .article-cta{padding:22px!important}
  .article-cta>div{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .article-cta a{width:100%!important;justify-content:center!important}

  table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  input,select,textarea{max-width:100%!important;font-size:16px!important} /* prevents iOS auto-zoom */
}

@media(max-width:430px){
  .hero,.hero.hero-small,.hero.hero-unified{min-height:410px!important}
  .hero-content,.hero.hero-unified .hero-content{padding:46px 17px 48px!important}
  .hero h1,.hero.hero-unified h1{font-size:max(36px, min(11.2vw, 48px)) !important}
  .section,.section-compact{padding:48px 16px!important}
  .workshop-feature-media{grid-template-columns:1fr!important}
  .image-marquee{display:none!important}
  .chat-panel,.wheel-panel,.newsletter-panel{left:8px!important;right:8px!important}
}

@media(orientation:landscape) and (max-height:560px) and (min-width:560px){
  .hero,.hero.hero-small,.hero.hero-unified{min-height:430px!important}
  .hero-content,.hero.hero-unified .hero-content{padding-top:42px!important;padding-bottom:42px!important}
  .hero-nav{display:none!important}
  .menu-drawer{width:min(440px,100vw)!important;max-width:100vw!important}
}

@media(hover:none),(pointer:coarse){
  .hero-nav a:hover,.teacher-card:hover,.image-card:hover,.feature-card:hover,.btn:hover,.button-flowena:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ===== ux-r24.css ===== */
/* R23 — cross-device polish / iOS + Android + desktop hardening */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--announcement-h,34px) + var(--header-h,72px) + 16px)}
body{width:100%;max-width:100%;min-width:320px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,svg,canvas,iframe,booking-platform{max-width:100%}
img,video{height:auto}
input,button,select,textarea{font:inherit}
.site-page,main,section,.section,.container,.hero,.hero-content,.site-header-inner,.footer-grid,.teacher-grid,.card-grid,.feature-grid,.teacher-profile-grid,.workshop-feature-grid{max-width:100%;min-width:0}
.site-chrome{position:-webkit-sticky;position:sticky;top:0;z-index:1000}
.site-header-inner{grid-template-columns:1fr auto 1fr!important}
.brand-logo-link{grid-column:2;max-width:min(58vw,220px);min-width:0}
.brand-logo-link .logo{display:block;max-width:100%;height:auto;object-fit:contain}
.header-actions{grid-column:3;justify-self:end;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.sf-language-toggle,.menu-toggle{flex:0 0 auto}
.hero-content{max-width:980px!important}
.hero h1,.hero h2,.section-heading h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance}
.hero-description{max-width:760px}
.hero-nav{max-width:calc(100% - 32px)!important}
.hero-nav a{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
.details-list{width:100%;max-width:920px;margin-left:auto;margin-right:auto;margin-inline:auto}
.details-list details{width:100%;overflow:hidden}
.details-list summary{min-height:52px;display:flex;align-items:center;cursor:pointer;touch-action:manipulation}
.details-content{overflow-wrap:break-word}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer-links a,.footer-links button{max-width:100%;white-space:normal;text-align:left}
.flowena-widget-frame,.profile-booking-shell,.booking-shell,.flowena-shell,.r22-flowena-shell{width:100%!important;max-width:100%!important;overflow:hidden!important}
booking-platform{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
table{max-width:100%}
.chat-panel,.wheel-panel,.newsletter-panel,.cookie-panel{max-width:calc(100vw - 24px)!important}
.menu-drawer{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}

@media(max-width:900px){
  .site-header-inner{padding-left:18px!important;padding-right:18px!important;padding-inline:18px!important;gap:10px!important}
  .hero-content{padding-left:22px!important;padding-right:22px!important;padding-inline:22px!important}
  .teacher-grid,.card-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:1fr 1fr!important}
}

@media(max-width:760px){
  :root{--announcement-h:30px;--header-h:66px}
  .announcement-bar{min-height:30px!important;height:auto!important;padding:7px 12px!important;font-size:11px!important;line-height:1.35!important}
  .site-header,.site-header-inner{min-height:66px!important;height:66px!important}
  .site-header-inner{padding:8px 14px!important;grid-template-columns:1fr auto 1fr!important}
  .brand-logo-link{max-width:46vw!important}
  .logo{max-height:48px!important;width:auto!important}
  .brand-wordmark{font-size:23px!important;line-height:.78!important;min-width:0!important}
  .brand-wordmark small{font-size:7px!important;margin-top:7px!important}
  .sf-language-toggle{height:38px!important;min-height:38px!important;min-width:50px!important;padding:0 9px!important;font-size:11px!important}
  .menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}
  .menu-drawer{width:100vw!important;max-width:100vw!important;padding:18px 18px max(24px,env(safe-area-inset-bottom))!important}
  .menu-drawer-head{padding-bottom:16px!important}
  .menu-drawer-head img{max-height:48px!important;width:auto!important}
  .menu-links{padding-top:16px!important;padding-bottom:16px!important;padding-block:16px!important}
  .menu-links a{min-height:48px!important;font-size:max(24px, min(8vw, 30px)) !important}

  /* The hero quick-navigation caused the screenshot overlap. On phones the main menu already provides the same links. */
  .hero-nav{display:none!important}
  .hero,.hero.hero-small,.hero.hero-unified{min-height:max(430px, min(64vh, 610px))!important;min-height:max(430px, min(64svh, 610px)) !important}
  .hero.hero-unified,.hero.hero-small{min-height:430px!important}
  .hero-content,.hero.hero-unified .hero-content{width:100%!important;padding:54px 20px 58px!important;margin:auto!important}
  .hero h1,.hero.hero-unified h1{font-size:max(38px, min(11.5vw, 52px)) !important;line-height:1!important;letter-spacing:-.025em!important}
  .hero-description{margin-top:18px!important;font-size:15px!important;line-height:1.58!important;max-width:34rem!important}
  .hero-kicker{font-size:10px!important;line-height:1.4!important;margin-bottom:14px!important}
  .hero-proof-row-v87{gap:7px!important;margin-top:20px!important}
  .hero-proof-row-v87 span{font-size:11px!important;padding:8px 10px!important}

  .section,.section-compact{padding:56px 18px!important}
  .container{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;padding-inline:0!important;margin-left:auto!important;margin-right:auto!important;margin-inline:auto!important}
  .section-heading{margin-bottom:28px!important;text-align:left!important}
  .section-heading h2,h2{font-size:max(30px, min(9.5vw, 42px)) !important;line-height:1.03!important}
  h3{overflow-wrap:normal!important;word-break:normal!important}
  p,.lead{overflow-wrap:break-word!important}
  .lead{font-size:17px!important;line-height:1.65!important}

  .teacher-grid,.card-grid,.feature-grid,.service-grid,.benefit-grid,.audience-grid,.class-grid,.slot-grid,.schedule-card-grid,.sf-instructor-grid{grid-template-columns:1fr!important;gap:16px!important}
  .teacher-card,.image-card,.feature-card,.info-card,.class-card,.sf-instructor-card{width:100%!important;max-width:100%!important;border-radius:20px!important}
  .teacher-card-media{min-height:0!important;aspect-ratio:4/3!important}
  .teacher-card-body{padding:20px!important}
  .button-row,.hero-actions,.teacher-card-actions,.cta-row,.btns{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .button-row>* ,.hero-actions>* ,.teacher-card-actions>* ,.cta-row>* ,.btns>*{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important}
  .btn,.button-flowena,.teacher-profile-cta,.schedule-book{min-height:48px!important;padding-left:16px!important;padding-right:16px!important;padding-inline:16px!important}

  .details-list details{border-radius:0!important}
  .details-list summary{min-height:50px!important;padding:12px 0!important;font-size:15px!important}
  .details-content{padding:0 0 16px!important;font-size:14px!important;line-height:1.65!important}

  .profile-booking-shell booking-platform,.booking-shell booking-platform,.flowena-shell booking-platform,.r22-flowena-shell booking-platform,.flowena-booking-section booking-platform{min-height:720px!important}
  .flowena-widget-frame,.r22-flowena-shell{border-radius:14px!important}

  .footer-grid{grid-template-columns:1fr!important;gap:26px!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .site-footer{padding-bottom:max(34px,env(safe-area-inset-bottom))!important}

  .image-marquee{max-width:100vw!important;overflow:hidden!important}
  .image-marquee-group img{max-width:72vw!important}
  .program-strip{height:52px!important;min-height:52px!important}
  .marquee-group{min-height:52px!important}

  .chat-widget{right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .wheel-widget{left:auto!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(72px,calc(72px + env(safe-area-inset-bottom)))!important}
  .chat-launcher,.wheel-launcher{width:52px!important;height:52px!important}
  .newsletter-launcher{display:none!important}
  .chat-panel,.wheel-panel,.newsletter-panel{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(74px,calc(64px + env(safe-area-inset-bottom)))!important;width:auto!important;max-width:none!important;max-height:calc(100vh - 98px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 98px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:20px!important;transform-origin:bottom center!important}
  .cookie-consent,.cookie-panel{width:calc(100vw - 24px)!important;max-width:none!important}
  .chat-form{grid-template-columns:minmax(0,1fr) auto!important}
  .chat-quick{max-height:105px!important}

  .workshop-feature-grid,.teacher-profile-grid{grid-template-columns:1fr!important}
  .workshop-feature-media{grid-template-columns:1fr 1fr!important}
  .workshop-feature-media .workshop-feature-secondary{transform:none!important}
  .workshop-team-gallery{grid-template-columns:1fr!important}
  .profile-schedule li{grid-template-columns:1fr!important;gap:4px!important}
  .profile-schedule strong{justify-self:start!important}
  .article-container{max-width:100%!important}
  .article-cta{padding:22px!important}
  .article-cta>div{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .article-cta a{width:100%!important;justify-content:center!important}

  table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  input,select,textarea{max-width:100%!important;font-size:16px!important} /* prevents iOS auto-zoom */
}

@media(max-width:430px){
  .hero,.hero.hero-small,.hero.hero-unified{min-height:410px!important}
  .hero-content,.hero.hero-unified .hero-content{padding:46px 17px 48px!important}
  .hero h1,.hero.hero-unified h1{font-size:max(36px, min(11.2vw, 48px)) !important}
  .section,.section-compact{padding:48px 16px!important}
  .workshop-feature-media{grid-template-columns:1fr!important}
  .image-marquee{display:none!important}
  .chat-panel,.wheel-panel,.newsletter-panel{left:8px!important;right:8px!important}
}

@media(orientation:landscape) and (max-height:560px) and (min-width:560px){
  .hero,.hero.hero-small,.hero.hero-unified{min-height:430px!important}
  .hero-content,.hero.hero-unified .hero-content{padding-top:42px!important;padding-bottom:42px!important}
  .hero-nav{display:none!important}
  .menu-drawer{width:min(440px,100vw)!important;max-width:100vw!important}
}

@media(hover:none),(pointer:coarse){
  .hero-nav a:hover,.teacher-card:hover,.image-card:hover,.feature-card:hover,.btn:hover,.button-flowena:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* R24 QA hardening */
html,body{max-width:100%;overflow-x:clip}
.sf-google-translate-mount{position:fixed!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;left:-9999px!important;top:-9999px!important}
.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-ZVi9od-xl07Ob-OEVmcd{display:none!important}
body{top:0!important}
.skiptranslate iframe{display:none!important}
@media(max-width:760px){
  .hero-nav{display:none!important}
  .hero-content{position:relative!important;z-index:2!important}
  .hero-media{overflow:hidden!important}
  .site-header-inner,.header-actions,.brand-logo-link{min-width:0!important}
  .site-header-inner{width:100%!important;max-width:100vw!important}
  .menu-toggle,.sf-language-toggle{position:relative!important;z-index:3!important}
  .details-list,.details-list details,.details-content{max-width:100%!important}
  pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
}

/* R25 mobile declutter — higher specificity than legacy component rules */
@media(max-width:760px){
  body .hero .hero-nav,
  body .hero.hero-unified .hero-nav,
  body .booking-hero-final-v79 .hero-nav,
  body .booking-page .hero-nav,
  body nav.hero-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
  body .mobile-booking-bar{display:none!important}
  body .booking-welcome-orbit-v74{display:none!important}
  body .newsletter-launcher,body .wheel-launcher{display:none!important}
  body .chat-launcher{width:48px!important;height:48px!important}
  body .chat-widget{right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
}
@media(max-width:430px){
  body .chat-launcher{width:44px!important;height:44px!important}
}

/* R25.1 phone cleanup: no floating launcher over content; Flow Assistant remains in the menu. */
@media(max-width:760px){body .chat-launcher{display:none!important}}

/* ===== marketing-polish-r26.css ===== */

/* Marketing polish / cross-device refinement — 2026-10-09 */
:root{--mk-ease:cubic-bezier(.2,.8,.2,1);--mk-shadow:0 18px 50px rgba(44,44,44,.10);--mk-shadow-hover:0 26px 70px rgba(44,44,44,.15)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.marketing-polish{overflow-x:clip}
body.marketing-polish main{overflow:clip}
body.marketing-polish :where(a,button,input,textarea,select):focus-visible{outline:3px solid rgba(217,154,107,.55);outline-offset:3px}
html.sf-old body.marketing-polish .section-heading,html.sf-old body.marketing-polish .sf-section-head,html.sf-old body.marketing-polish .section-head{text-wrap:balance}
body.marketing-polish :where(.section-heading,.sf-section-head,.section-head){text-wrap:balance}
html.sf-old body.marketing-polish h1,html.sf-old body.marketing-polish h2,html.sf-old body.marketing-polish h3{text-wrap:balance;overflow-wrap:normal}
body.marketing-polish :where(h1,h2,h3){text-wrap:balance;overflow-wrap:normal}
html.sf-old body.marketing-polish .lead,html.sf-old body.marketing-polish .hero-description,html.sf-old body.marketing-polish .hero-copy>p{text-wrap:pretty}
body.marketing-polish :where(.lead,.hero-description,.hero-copy>p){text-wrap:pretty}
body.marketing-polish .hero-content{max-width:980px}
body.marketing-polish .hero-description{max-width:700px;margin-left:auto;margin-right:auto;margin-inline:auto}
body.marketing-polish .hero-conversion-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
body.marketing-polish .hero-conversion-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-size:14px;font-weight:650;letter-spacing:.01em;transition:transform .22s var(--mk-ease),box-shadow .22s var(--mk-ease),background .22s ease,border-color .22s ease}
body.marketing-polish .hero-conversion-primary{background:#fff;color:#2C2C2C;box-shadow:0 12px 34px rgba(2,2,2,.16)}
body.marketing-polish .hero-conversion-secondary{color:#fff;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.marketing-polish .hero-conversion-actions a:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(2,2,2,.18)}
body.marketing-polish.home-marketing .hero-nav{display:none!important}
body.marketing-polish .marketing-proof-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;margin:20px auto 0;max-width:760px}
body.marketing-polish .marketing-proof-row span,body.marketing-polish .marketing-proof-row a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.30);border-radius:999px;background:rgba(2,2,2,.12);color:#fff;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
body.marketing-polish .marketing-proof-row span::before,body.marketing-polish .marketing-proof-row a::before{content:"✓";font-size:11px;opacity:.85}
body.marketing-polish .booking-band{padding:20px max(16px, min(4vw, 40px));background:linear-gradient(135deg,#F4E9E8,#F4E9E8);border-block:1px solid rgba(45,52,41,.08)}
body.marketing-polish .booking-band-inner{width:min(100%,1080px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
body.marketing-polish .booking-band-copy{min-width:0}
body.marketing-polish .booking-band-copy strong{display:block;font-family:var(--serif,"Cormorant Garamond","Cormorant Fallback",serif);font-size:max(25px, min(2.6vw, 34px));font-weight:500;line-height:1.05;color:#2D3429}
body.marketing-polish .booking-band-copy span{display:block;margin-top:5px;font-size:13px;color:#4E5B51}
body.marketing-polish .booking-band .button-flowena{flex:0 0 auto;min-width:230px;min-height:52px;box-shadow:0 13px 32px rgba(45,52,41,.16)}
html.sf-old body.marketing-polish .image-card,html.sf-old body.marketing-polish .card,html.sf-old body.marketing-polish .teacher-card,html.sf-old body.marketing-polish .location-card,html.sf-old body.marketing-polish .sf-card,html.sf-old body.marketing-polish .home-passes-card{transition:transform .28s var(--mk-ease),box-shadow .28s var(--mk-ease),border-color .28s ease}
body.marketing-polish :where(.image-card,.card,.teacher-card,.location-card,.sf-card,.home-passes-card){transition:transform .28s var(--mk-ease),box-shadow .28s var(--mk-ease),border-color .28s ease}
@media(hover:hover){html.sf-old body.marketing-polish .image-card:hover,html.sf-old body.marketing-polish .card:hover,html.sf-old body.marketing-polish .teacher-card:hover,html.sf-old body.marketing-polish .location-card:hover,html.sf-old body.marketing-polish .sf-card:hover{transform:translateY(-4px);box-shadow:var(--mk-shadow-hover)}
body.marketing-polish :where(.image-card,.card,.teacher-card,.location-card,.sf-card):hover{transform:translateY(-4px);box-shadow:var(--mk-shadow-hover)}}
html.sf-old body.marketing-polish .image-card,html.sf-old body.marketing-polish .card,html.sf-old body.marketing-polish .teacher-card,html.sf-old body.marketing-polish .location-card,html.sf-old body.marketing-polish .sf-card{overflow:hidden}
body.marketing-polish :where(.image-card,.card,.teacher-card,.location-card,.sf-card){overflow:hidden}
body.marketing-polish .section-heading{margin-bottom:max(30px, min(5vw, 48px))}
body.marketing-polish .section-heading h2{max-width:880px;margin-left:auto;margin-right:auto;margin-inline:auto}
body.marketing-polish .section-heading.is-left h2{margin-left:0;margin-right:0;margin-inline:0}
body.marketing-polish .program-strip{border-color:rgba(44,44,44,.08)}
html.sf-old body.marketing-polish .wheel-launcher,html.sf-old body.marketing-polish .newsletter-launcher{display:none!important}
body.marketing-polish :where(.wheel-launcher,.newsletter-launcher){display:none!important}
body.marketing-polish .chat-launcher{box-shadow:0 12px 34px rgba(44,44,44,.18)!important}
body.marketing-polish .marketing-final-cta{padding:max(54px, min(8vw, 92px)) 20px;background:#2D3429;color:#fff;text-align:center}
body.marketing-polish .marketing-final-cta .inner{width:min(100%,820px);margin:auto}
body.marketing-polish .marketing-final-cta h2{margin:0 0 14px;font-size:max(36px, min(5vw, 62px))}
body.marketing-polish .marketing-final-cta p{max-width:650px;margin:0 auto 24px;color:rgba(255,255,255,.82);font-size:16px}
body.marketing-polish .marketing-final-cta .actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
body.marketing-polish .marketing-final-cta a{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;font-weight:650}
body.marketing-polish .marketing-final-cta .primary{background:#D99A6B;color:#2D3429}
body.marketing-polish .marketing-final-cta .secondary{border:1px solid rgba(255,255,255,.48);color:#fff}
@media(max-width:760px){
 body.marketing-polish .hero{min-height:auto!important}
 body.marketing-polish .hero-content{padding-left:18px!important;padding-right:18px!important;padding-inline:18px!important}
 body.marketing-polish .hero-description{font-size:15.5px!important;line-height:1.65!important}
 body.marketing-polish .hero-conversion-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:356px;margin:22px auto 0}
 body.marketing-polish .hero-conversion-actions a{width:100%;min-height:50px}
 body.marketing-polish .marketing-proof-row{gap:7px;margin-top:17px}
 body.marketing-polish .marketing-proof-row span,body.marketing-polish .marketing-proof-row a{font-size:11px;padding:7px 10px}
 body.marketing-polish .booking-band{padding:18px 16px}
 body.marketing-polish .booking-band-inner{display:grid;grid-template-columns:1fr;text-align:center;gap:14px}
 body.marketing-polish .booking-band .button-flowena{width:100%;min-width:0}
 body.marketing-polish .program-strip{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
 body.marketing-polish .program-strip::-webkit-scrollbar{display:none}
 body.marketing-polish .program-strip .marquee-track{animation:none!important;transform:none!important;display:flex!important;width:max-content!important}
 body.marketing-polish .program-strip .marquee-group:nth-child(n+2){display:none!important}
 html.sf-old body.marketing-polish .section,html.sf-old body.marketing-polish .section-compact,html.sf-old body.marketing-polish .sf-section{padding-top:max(48px, min(13vw, 70px));padding-bottom:max(48px, min(13vw, 70px))}
body.marketing-polish :where(.section,.section-compact,.sf-section){padding-top:max(48px, min(13vw, 70px));padding-bottom:max(48px, min(13vw, 70px))}
 body.marketing-polish .image-marquee{display:none!important}
 body.marketing-polish .chat-launcher{width:48px!important;height:48px!important;right:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
 body.marketing-polish .marketing-final-cta .actions{display:grid;grid-template-columns:1fr;max-width:340px;margin:auto}
 body.marketing-polish .marketing-final-cta a{width:100%}
}
@media(max-width:390px){body.marketing-polish .marketing-proof-row span,body.marketing-polish .marketing-proof-row a{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){body.marketing-polish *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Flowena hard fallback — always leaves a working direct booking path on every device. */
.flowena-direct-backup{margin:12px 0 0;text-align:center;font:500 13px/1.5 Poppins,"Poppins Fallback",Arial,sans-serif}
.flowena-direct-backup a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid rgba(45,52,41,.22);border-radius:999px;text-decoration:none;color:inherit;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.flowena-direct-backup a:hover{transform:translateY(-1px)}
@media(max-width:640px){.flowena-direct-backup a{width:100%;max-width:420px;min-height:46px;padding:11px 14px}}

/* ===== brand-r27.css ===== */
/* SistersFlow MOM Park – brand-r27 (2026-10-13b)
   Utolsóként betöltött egységesítő réteg: márkaszínek (Canva brand kit), tipográfia,
   gombok, kártyák, valamint az új blokkok (Flow jóga, terembérlési kedvezmények, kapcsolat).
   Paletta: #78937F sage · #4E5B51 mély zöld · #2D3429 erdő · #D4D4D4 · #959595 · #2C2C2C
            #D99A6B barack · #9A5E35 · #442B19 · #F4E9E8 halvány rózsa · #020202 */
:root{
  --paper:#FFFFFF; --paper-soft:#FFFFFF; --cream:#F4E9E8; --blush:#F4E9E8; --sand:#D4D4D4;
  --sage:#78937F; --sage-deep:#4E5B51; --forest:#2D3429; --charcoal:#2C2C2C; --ink:#020202;
  --grey:#D4D4D4; --grey-mid:#959595; --warm:#D99A6B; --peach:#D99A6B; --brown:#9A5E35; --chestnut:#442B19;
  --muted:#4E5B51; --line:rgba(45,52,41,.12);
  --serif:"Cormorant Garamond","Cormorant Fallback",Georgia,"Times New Roman",serif;
  --sans:"Poppins","Poppins Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --brand-shadow:0 18px 50px rgba(45,52,41,.10);
  --brand-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------- Alap + tipográfia ---------- */
html,body{max-width:100%;overflow-x:clip}
body{font-family:var(--sans);color:var(--charcoal);-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand-wordmark,.booking-band-copy strong,.section-heading h2,.split-copy h2,.class-card h3,.feature-card h3,.teacher-card h3,.image-card h3,.marketing-final-cta h2,.article-main h2,.article-aside-card h2{font-family:var(--serif)!important;letter-spacing:-.01em}
h1,h2{font-weight:500}
h3{font-weight:600}
.section-heading h2,.split-copy h2,.article-main h2{color:var(--forest)}
.section-green .section-heading h2,.section-green .split-copy h2,.section-green h2{color:#fff}
.lead{color:var(--charcoal)}
.eyebrow{color:var(--sage-deep);letter-spacing:.16em}
a{text-underline-offset:3px}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid rgba(217,154,107,.6)!important;outline-offset:3px}

/* ---------- Felső sáv ---------- */
.announcement-bar{background:var(--forest)!important;color:#F4E9E8!important;border-bottom:0!important;letter-spacing:.04em}

/* ---------- Hero: erdőzöld alap és márkaszínű áttűnés a fekete helyett ---------- */
.hero{background:var(--forest)}
.hero-media::after{background:linear-gradient(180deg,rgba(45,52,41,.18) 0%,rgba(45,52,41,.34) 55%,rgba(45,52,41,.58) 100%)!important}
.knowledge-article-hero .hero-media::after,.knowledge-index-hero .hero-media::after{background:linear-gradient(180deg,rgba(45,52,41,.32),rgba(45,52,41,.62))!important}
.hero-kicker{color:#D4D4D4!important;text-shadow:0 1px 10px rgba(2,2,2,.55)}
body.marketing-polish .hero-conversion-primary{background:#fff;color:var(--forest)}
body.marketing-polish .marketing-proof-row span,body.marketing-polish .marketing-proof-row a{background:rgba(45,52,41,.28);border-color:rgba(255,255,255,.34)}

/* ---------- Gombok ---------- */
.button-flowena,.btn-dark,.button-primary.btn-dark,.button-dark{background:var(--sage-deep)!important;color:#fff!important;border-color:var(--sage-deep)!important;font-family:var(--sans)!important;font-weight:600!important;box-shadow:0 12px 30px rgba(45,52,41,.16)!important}
.button-flowena:hover,.btn-dark:hover,.button-primary.btn-dark:hover,.button-dark:hover{background:var(--forest)!important;border-color:var(--forest)!important}
.btn-outline,.button-secondary.btn-outline{background:#fff;color:var(--sage-deep)!important;border:1.5px solid var(--sage)!important;font-weight:600}
.btn-outline:hover,.button-secondary.btn-outline:hover{background:var(--sage)!important;color:#fff!important;border-color:var(--sage)!important}
.section-green .btn-outline{background:#fff!important;color:var(--forest)!important;border-color:#fff!important}
.section-green .btn-outline:hover{background:var(--blush)!important;color:var(--forest)!important}
.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------- Sávok, kártyák ---------- */
body.marketing-polish .booking-band{background:var(--blush)!important;border-block:1px solid rgba(154,94,53,.10)}
body.marketing-polish .booking-band-copy strong{color:var(--forest)}
body.marketing-polish .booking-band-copy span{color:var(--muted)}
.section-soft{background:var(--paper-soft)}
.section-green{background:var(--forest)}
.class-card,.feature-card,.benefit-card,.form-card,.metric{border-color:var(--line)!important;box-shadow:var(--brand-shadow)!important}
.class-card .class-number,.feature-card .icon{color:var(--peach)}
.class-card a,.feature-card a{color:var(--brown);font-weight:600;text-decoration:none}
.class-card a:hover,.feature-card a:hover{text-decoration:underline}
.teacher-card{background:var(--forest)!important}
.image-card-content .eyebrow{color:#D4D4D4!important}
.price-highlight[style]{background:var(--blush)!important;color:var(--forest)!important}
.price-highlight[style] strong{color:var(--brown)!important}
.knowledge-row:hover span{color:var(--sage-deep)}

/* ---------- Záró CTA ---------- */
body.marketing-polish .marketing-final-cta{background:var(--forest)!important}
body.marketing-polish .marketing-final-cta h2{color:#fff;font-weight:500}
body.marketing-polish .marketing-final-cta .primary{background:var(--peach)!important;color:var(--forest)!important}
body.marketing-polish .marketing-final-cta .primary:hover{background:#D99A6B!important}
body.marketing-polish .marketing-final-cta .secondary{border-color:rgba(255,255,255,.6)!important}

/* ---------- Főoldal: kártyaképek vágása ---------- */
.image-card img.card-img-orak{object-position:37% 50%!important}
.image-card img.card-img-oktatok{object-position:50% 24%!important}
@media(max-width:760px){.image-card img.card-img-orak{object-position:38% 52%!important}}

/* ---------- Óraink: 3 kártya ---------- */
@media(min-width:900px){.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.class-card{display:flex;flex-direction:column}
.class-card > a{margin-top:auto;padding-top:10px}

/* ---------- Flow jóga blokk (Óráink + cikk) ---------- */
.mom-flow-service{padding-top:max(20px, min(4vw, 40px)) !important}
.mom-flow-service .split-media{min-height:520px}
.mom-flow-service .split-media img.flow-teacher-img{object-position:28% 40%}
.flow-times{list-style:none;margin:22px 0 10px;padding:0;display:grid;gap:0;border-top:1px solid var(--line);max-width:460px}
.flow-times li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.flow-times span{font-weight:500;color:var(--charcoal)}
.flow-times strong{font-family:var(--sans);font-size:1.2rem;font-weight:500;color:var(--sage-deep);line-height:1;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em}
.flow-meta{color:var(--muted);font-size:14px;margin:0 0 22px}
.flow-class-box{background:var(--blush)!important;border:0!important;border-radius:22px;padding:max(22px, min(4vw, 36px)) !important}
.flow-class-box .flow-times{border-top-color:rgba(154,94,53,.18)}
.flow-class-box .flow-times li{border-bottom-color:rgba(154,94,53,.18)}
.article-main ul li{margin-bottom:6px}

/* Flow jóga cikk: az article-checklist pötty-stílusa ne vonatkozzon a napnevekre */
.flow-class-box .flow-times li{display:flex!important;justify-content:space-between;align-items:baseline;padding-left:0!important}
.flow-class-box .flow-times li::before{content:none!important;display:none!important}
.flow-class-box .flow-times span{display:inline!important;width:auto!important;height:auto!important;background:none!important;border-radius:0!important;color:var(--charcoal)!important;font-size:1rem!important;font-weight:500}
/* Cikkek bevezetője: olvasható méret a Cormorant fonthoz */
.article-lead{font-family:var(--serif)!important;font-size:max(1.3rem, min(1.9vw, 1.55rem)) !important;line-height:1.5!important;color:var(--charcoal,#2C2C2C)!important;font-weight:500}

/* ---------- Oktatói profil: órarend ---------- */
.profile-schedule li span{font-weight:500}
.profile-schedule strong{font-family:var(--sans);font-size:1.15rem;font-weight:500;line-height:1.1;font-variant-numeric:lining-nums tabular-nums}
.profile-schedule small{color:var(--muted)}

/* ---------- Terembérlés: kedvezmények + feltételek (Hűvösvölgy-minta) ---------- */
.rental-terms .discounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rental-terms .discount{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--brand-shadow)}
.rental-terms .discount h3{font-size:1.45rem;margin:0 0 .2em;color:var(--forest)}
.rental-terms .discount strong{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:600;line-height:1.1;color:var(--peach);margin-bottom:6px}
.rental-terms .discount p{margin:0;color:var(--muted);font-size:.95rem}
.rental-terms .discount-total{margin-top:20px;background:var(--forest);color:#F4E9E8;border-radius:20px;padding:26px 30px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
.rental-terms .discount-total strong{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--peach);line-height:1}
.rental-terms .discount-total p{margin:0;max-width:640px}
.rental-terms .rental-terms-head{margin-top:max(56px, min(8vw, 88px))}
.terms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px;border-top:1px solid var(--line)}
.terms-grid .term{padding:22px 0;border-bottom:1px solid var(--line)}
.terms-grid .term h3{font-size:1.35rem;margin:0 0 .3em;color:var(--forest)}
.terms-grid .term p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.rental-cta{margin-top:32px}

/* ---------- Kapcsolat (letisztult) ---------- */
.contact-page-v27 .contact-v27{padding-bottom:max(48px, min(7vw, 80px))}
.contact-v27-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:max(36px, min(6vw, 88px));align-items:start}
.contact-v27-info h2{font-size:max(2.3rem, min(4.4vw, 3.6rem));line-height:1.02;margin:0 0 18px;color:var(--forest)}
.contact-v27-info .lead{max-width:30em;color:var(--muted)}
.contact-v27-list{margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.contact-v27-list > div{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-v27-list dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep)}
.contact-v27-list dd{margin:0;font-family:var(--serif);font-size:max(1.35rem, min(2.1vw, 1.7rem));line-height:1.3;color:var(--forest)}
.contact-v27-list dd a{color:var(--forest);text-decoration:none;border-bottom:1px solid rgba(154,94,53,.35)}
.contact-v27-list dd a:hover{color:var(--brown);border-bottom-color:var(--brown)}
.contact-v27-route{margin:22px 0 0}
.contact-v27-route a{font-weight:600;color:var(--brown);text-decoration:none}
.contact-v27-route a:hover{text-decoration:underline}
.contact-v27-form{border-radius:22px!important;background:#fff}
.contact-v27-form h3{font-size:1.9rem;margin:0 0 6px;color:var(--forest)}
.contact-v27-form .eyebrow{margin-bottom:6px}
.contact-v27-form input,.contact-v27-form select,.contact-v27-form textarea{background:var(--paper-soft)!important;border-color:rgba(45,52,41,.14)!important;font-size:16px}
.contact-v27-map{padding:0 var(--gutter,24px) max(48px, min(7vw, 80px))}
.contact-v27-map iframe{display:block;width:100%;max-width:1200px;height:380px;margin:0 auto;border:0;border-radius:22px;box-shadow:var(--brand-shadow);filter:saturate(.85)}
.contact-v27-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-v27-links a{display:block;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--forest);transition:transform .25s var(--brand-ease),box-shadow .25s var(--brand-ease)}
.contact-v27-links a:hover{transform:translateY(-3px);box-shadow:var(--brand-shadow)}
.contact-v27-links small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact-v27-links strong{font-family:var(--serif);font-size:1.5rem;font-weight:600}

/* ---------- Mobil ---------- */
@media(max-width:980px){
  .rental-terms .discounts{grid-template-columns:1fr 1fr}
  .terms-grid{grid-template-columns:1fr 1fr}
  .contact-v27-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .rental-terms .discounts,.terms-grid,.contact-v27-links{grid-template-columns:1fr}
  .rental-terms .discount strong,.rental-terms .discount-total strong{font-size:2.2rem}
  .contact-v27-list > div{grid-template-columns:1fr;gap:4px}
  .contact-v27-map{padding-left:16px;padding-right:16px;padding-inline:16px}
  .contact-v27-map iframe{height:300px}
  .mom-flow-service .split-media{min-height:340px}
  .flow-times strong{font-size:1.08rem}
  .button-row{display:grid;grid-template-columns:1fr}
  .button-row > a{width:100%;justify-content:center}
  .rental-cta{display:grid;grid-template-columns:1fr}
  .profile-schedule li{display:grid!important;grid-template-columns:1fr auto!important;align-items:baseline;row-gap:4px!important;column-gap:12px!important}
  .profile-schedule li small{grid-column:1/-1}
  .site-footer > .container{width:calc(100% - 32px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important;padding-inline:0!important}
}

/* Főoldali oktatókártyák */
.teacher-card-media img.teacher-img-klaudia{object-position:28% 40%!important}


/* Óráink-kártya: Szücs Brigitta képe */
img.card-img-orak{object-position:50% 30%!important}

/* brandbook: maradek bongeszo-alapszinek */
[data-slide-dot]{background-color:#D4D4D4}[data-slide-dot].is-active{background-color:#78937F}
input,select,textarea{border-color:#D4D4D4}

/* 10-13: Óráink = stúdiókép, Oktatóink = Szücs Brigitta */
img.card-img-orak{object-position:50% 50%!important}
img.card-img-oktatok{object-position:50% 25%!important}

/* ---------- 2026-10-14: Bérletek + órajegyek (foglalas.html #berletek, #orajegyek) ---------- */
.mom-prices-r28{scroll-margin-top:96px}
.mom-prices-r28 .pass-accordion-v72,.mom-prices-r28 .ticket-card-v72{scroll-margin-top:96px}
.mom-prices-r28.passes-v72{padding-bottom:max(40px, min(6vw, 72px))}
.mom-prices-r28.ticket-section-v72{padding-top:max(40px, min(6vw, 72px))}
.mom-prices-r28 .passes-head-v72 h2,.mom-prices-r28 .section-heading h2{color:#2D3429}
.mom-prices-r28 .pass-accordion-trigger-v72 strong{color:#2D3429}
.mom-prices-r28 .pass-accordion-trigger-v72 small{color:#4E5B51}
.mom-prices-r28 .pass-payment-tags-v72 i{border-color:#D4D4D4;color:#4E5B51;background:#fff}
.mom-prices-r28 .pass-row-head-v72{background:#F4E9E8}
.mom-prices-r28 .pass-row-head-v72 span{color:#4E5B51}
.mom-prices-r28 .pass-row-v72 > strong{color:#2D3429}
.mom-prices-r28 .pass-row-v72 b{color:#2C2C2C;font-variant-numeric:lining-nums tabular-nums}
.mom-prices-r28 .pass-row-v72 small{color:#4E5B51}
.mom-prices-r28 .pass-note-v72{border-left-color:#D99A6B!important;background:#F4E9E8;color:#2C2C2C}
.mom-prices-r28 .pass-note-v72 strong{color:#9A5E35}
.mom-prices-r28 .ticket-price-v72 strong{color:#2D3429;font-variant-numeric:lining-nums}
.mom-prices-r28 .ticket-card-v72 .price-kicker{color:#4E5B51}
.mom-prices-r28 .ticket-card-v72 .price-link{color:#9A5E35}
.mom-prices-r28 .ticket-card-v72 .price-link:hover{color:#442B19}
.mom-prices-note-r28{position:relative;z-index:1;clear:both;margin:max(30px, min(4vw, 44px)) auto 0;max-width:760px;text-align:center;font-size:14px;line-height:1.6;color:#4E5B51}
.mom-prices-r28 .pass-table-v72,.mom-prices-r28 .pass-row-v72 > *{min-width:0}
@media(max-width:650px){
  .mom-prices-r28 .pass-row-v72 small{font-size:11.5px;line-height:1.45}
  .mom-prices-r28 .pass-row-v72 b{font-size:14px}
  .mom-prices-r28 .pass-payment-tags-v72{flex-wrap:wrap}
  .mom-prices-note-r28{text-align:left;font-size:13px}
}

/* 10-14: MOM-ban csak csoportos óra -> egy órajegy-kártya középen */
.ticket-grid-v72.ticket-grid-single-r29{grid-template-columns:minmax(0,420px)!important;justify-content:center}
/* 10-14: mozgó képsáv – oktatóportrék arc-fókusszal */
.image-marquee-group img.mq-oktato{object-fit:cover;object-position:50% 20%}

/* ===== 2026-10-14f: HELLOSISTER üdvözlő kupon, foglalás menete, szerencsekerék-sorrend ===== */
/* A lebegő szerencsekerék-gomb csak a HELLOSISTER-ablak után látszik (a JS teszi ki: html.sf-wheel-ready).
   A szerencsekerek.html oldalba ágyazott kerék (.inline-wheel-wrap) mindig elérhető. */
html:not(.sf-wheel-ready) .wheel-widget{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.hello-offer-panel a.welcome-offer-cta{text-decoration:none!important;color:#fff!important}
.hello-offer-panel.welcome-offer-panel .welcome-offer-inner p.hello-offer-lead{margin:0 auto 14px!important;color:var(--forest)!important;font-family:var(--serif)!important;font-size:22px!important;line-height:1.18!important;font-weight:600!important}
.hello-code{display:flex;align-items:center;gap:10px;max-width:380px;margin:0 auto 4px;padding:8px 8px 8px 16px;border:1.5px dashed rgba(120,147,127,.6);border-radius:16px;background:var(--cream);text-align:left}
.hello-code-label{flex:0 0 auto;color:var(--sage-deep);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.hello-code-value{flex:1 1 auto;min-width:0;padding:0;background:none!important;color:var(--forest);font-family:var(--sans);font-size:18px;font-weight:700;letter-spacing:.08em;text-align:center;overflow-wrap:anywhere}
.hello-code-copy{flex:0 0 auto;min-height:42px;padding:0 18px;border:0;border-radius:999px;background:var(--forest);color:#fff;font:600 12px var(--sans);cursor:pointer;transition:background .2s ease}
.hello-code-copy:hover{background:var(--sage-deep)}
.hello-code-copy.is-copied{background:var(--sage)}
.hello-offer-panel.welcome-offer-panel .welcome-offer-inner p.hello-code-status{min-height:16px;margin:2px auto 6px!important;color:var(--sage-deep)!important;font-size:11px!important;line-height:1.4!important}
.hello-offer-panel.welcome-offer-panel .welcome-offer-inner p.hello-offer-note{max-width:400px;margin:0 auto 14px!important;color:var(--muted)!important;font-size:12px!important;line-height:1.5!important}
@media (max-width:420px){
  .hello-code{flex-wrap:wrap;justify-content:center;padding:10px 10px 10px}
  .hello-code-label{width:100%;text-align:center}
  .hello-code-value{flex:1 1 100%}
  .hello-code-copy{width:100%}
  .hello-offer-panel.welcome-offer-panel .welcome-offer-inner p.hello-offer-lead{font-size:20px!important}
}
/* Foglalás oldal: HELLOSISTER-kártya + a foglalás menete a Flowena-blokk fölött */
.booking-howto-r31{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:18px;margin:0 0 28px;text-align:left}
.hello-card-r31,.pay-steps-r31{position:relative;padding:24px 24px 22px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(45,52,41,.08)}
.hello-card-r31{background:var(--cream);border:1.5px dashed rgba(120,147,127,.55)}
.hello-card-r31 .hello-card-kicker,.pay-steps-r31 .pay-steps-kicker{margin:0 0 8px;color:var(--sage-deep);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hello-card-r31 h3,.pay-steps-r31 h3{margin:0 0 6px;color:var(--forest);font-family:var(--serif);font-size:max(24px, min(2.6vw, 30px));line-height:1.08}
.hello-card-r31 .hello-card-lead{margin:0 0 14px;color:var(--forest);font-size:15px;font-weight:600;line-height:1.4}
.hello-card-r31 .hello-code{max-width:none;margin:0 0 4px;background:#fff}
.hello-card-r31 .hello-code-status{min-height:16px;margin:2px 0 6px;color:var(--sage-deep);font-size:11px;line-height:1.4}
.hello-card-r31 .hello-card-note{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.pay-steps-r31 h3{margin-bottom:14px}
.pay-steps-r31 ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:paystep}
.pay-steps-r31 li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;align-items:center;counter-increment:paystep}
.pay-steps-r31 li::before{content:counter(paystep);grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sage);color:#fff;font:700 14px var(--sans)}
.pay-steps-r31 li strong{color:var(--forest);font-size:14px;font-weight:600;line-height:1.35}
.pay-steps-r31 li span{color:var(--muted);font-size:13px;line-height:1.45}
.pay-methods-r31{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.pay-methods-r31 span{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--cream);color:var(--forest);font-size:12px;font-weight:600}
.pay-methods-r31 .pay-methods-label{padding:0 4px 0 0;background:none;color:var(--sage-deep);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:860px){.booking-howto-r31{grid-template-columns:1fr;gap:14px}.hello-card-r31,.pay-steps-r31{padding:20px 18px 18px;border-radius:20px}}
/* Oktatói oldalak foglaló-blokkja: rövid fizetési sor */
.booking-pay-line-r31{display:inline-flex;align-items:flex-start;gap:8px;margin-top:10px!important;padding:9px 14px;border-radius:14px;background:var(--cream);color:var(--forest)!important;font-size:13px!important;line-height:1.45!important;text-align:left}
.booking-pay-line-r31::before{content:"✓";flex:0 0 auto;color:var(--sage-deep);font-weight:700}
/* index oldalon az ux-r21 z-index:20-ra veszi a .welcome-offer-t – a HELLOSISTER-ablak a fejléc és a hero fölé kerüljön */
.welcome-offer.hello-offer{z-index:1510!important}
/* 2026-10-14g: a marketing-polish-r26 és az ux-r24 (mobil) elrejtette a lebegő kerékgombot – a HELLOSISTER-ablak után újra látszik */
html.sf-wheel-ready body .wheel-launcher{display:grid!important;place-items:center}
/* UX2 2026-10-20 chat-temasor */.chat-panel .chat-quick{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-height:none!important;overflow:visible!important;padding:10px 14px 12px!important}.chat-panel .chat-quick button{min-height:44px!important;padding:8px 14px!important;font-size:13px!important;line-height:1.2!important;flex:0 0 auto}@media (hover:hover) and (pointer:fine){.chat-panel .chat-quick{gap:6px!important}.chat-panel .chat-quick button{min-height:34px!important;padding:6px 12px!important;font-size:12.5px!important}}@media (hover:none),(pointer:coarse),(max-height:760px){.chat-panel .chat-quick{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scroll-padding-inline:14px}.chat-panel .chat-quick button{scroll-snap-align:start}.chat-panel .chat-quick::after{content:"\203A";content:"\203A"/"";position:sticky;right:0;flex:0 0 46px;align-self:stretch;margin-left:-14px;display:flex;align-items:center;justify-content:flex-end;padding-right:2px;font-size:26px;line-height:1;color:currentColor;opacity:.75;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 60%);pointer-events:none}@supports (animation-timeline:scroll()){.chat-panel .chat-quick::after{animation:sfqVege linear both;animation-timeline:scroll(nearest inline)}@keyframes sfqVege{0%,88%{opacity:.75}100%{opacity:0}}}}
/* UX2 2026-10-20 nyitott chat a ragados fejlec folott */.chat-widget:has(> .chat-panel.is-open),.wheel-widget:has(> .wheel-panel.is-open),.newsletter-widget:has(> .newsletter-panel.is-open){z-index:1002!important}
/* UX2 2026-10-20 menufiok nyitaskor azonnal lathato (fokusz a bezaro gombra, linkek azonnal kattinthatok) */.menu-drawer.is-open{transition-delay:0s!important}
