:root {
  --mustard: #B08401;
  --blush: #D49E8D;
  --sand: #DED1BD;
  --cream: #FAF6F2;
  --brown: #683B2B;
  --brown-soft: #8b5a49;
  --ink: #3d2b25;
  --muted: #806d63;
  --white: #ffffff;
  --line: rgba(104, 59, 43, 0.14);
  --shadow: 0 30px 80px rgba(104, 59, 43, 0.14);
  --soft-shadow: 0 18px 44px rgba(104, 59, 43, 0.1);
  --container: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, var(--cream) 0%, #f5ecdf 52%, #fbf6ef 100%);
  line-height: 1.65;
  overflow-x: hidden;
}
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; color: var(--brown); letter-spacing: -.03em; line-height: 1.04; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: min(var(--container), calc(100% - 42px)); margin-inline: auto; }
.page-wrap { position: relative; }
.section { padding: 76px 0; }
.site-header { padding-top: 16px; position: relative; z-index: 50; }
.dd-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; color: var(--brown); font-size: 1.2rem; }
.brand-mark { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--brown); color: var(--cream); font-size: 1.3rem; font-family: Georgia, serif; }
.nav { display: flex; align-items: center; gap: 4px; padding: 8px; border-radius: 999px; background: rgba(255,255,255,.54); border: 1px solid rgba(104,59,43,.1); backdrop-filter: blur(16px); }
.nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.nav li { margin: 0; }
.nav a { padding: 10px 14px; border-radius: 999px; font-size: .9rem; font-weight: 700; color: rgba(104,59,43,.8); }
.nav a:focus-visible, .nav a:hover { background: rgba(212,158,141,.2); outline: none; }
.btn,
.header-cta { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 800; }
.header-cta { min-height: 46px; background: var(--brown); color: var(--cream); padding: 0 18px; }
.btn { min-height: 48px; }
.dd-menu-toggle { display: none; border: 1px solid rgba(104,59,43,.2); background: rgba(255,255,255,.8); color: var(--brown); min-height: 42px; border-radius: 999px; padding: 0 16px; font-weight: 700; }
.hero-shell { padding: 18px 0 72px; }
.hero-shell .container { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.hero { min-height: 720px; border-radius: 54px; border: 1px solid rgba(104,59,43,.12); box-shadow: var(--shadow); background: linear-gradient(135deg, rgba(250,246,242,.96), rgba(222,209,189,.58)); overflow: hidden; }
.hero .header { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px 0; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .96fr 1.04fr; gap: clamp(24px,4vw,58px); align-items: center; padding: 74px clamp(24px,5vw,78px) 88px; }
.eyebrow, .kicker { text-transform: uppercase; font-size: .84rem; letter-spacing: .1em; font-weight: 800; color: var(--mustard); margin-bottom: 16px; display: inline-flex; gap: 8px; align-items: center; }
.hero h1,
.hero-title { max-width: 720px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.1rem, 3vw, 3.2rem); line-height: .94; letter-spacing: -.045em; color: #683B2B; margin: 0 0 18px; }
.hero-lead { color: var(--muted); max-width: 650px; }
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px auto 14px;
  justify-content: center;
  width: min(760px, 100%);
}
.btn { padding: 0 22px; border: 1px solid transparent; cursor: pointer; }
.btn:focus-visible, .header-cta:focus-visible, .dd-menu-toggle:focus-visible { outline: 3px solid rgba(176,132,1,.4); outline-offset: 2px; }
.btn-primary { color: var(--cream); background: var(--brown); box-shadow: 0 18px 34px rgba(104,59,43,.17); }
.btn-soft { color: var(--brown); border-color: rgba(104,59,43,.16); background: rgba(255,255,255,.6); }
.hero-copy .hero-actions .btn {
  min-width: 230px;
  flex: 0 0 auto;
}
.hero-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(760px, 100%);
  margin: 0 auto;
}
.note-pill {
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(104,59,43,.1);
  border-radius: 999px;
  padding: 10px 16px;
  color: var(--brown-soft);
  font-size: .9rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
}
.visual-stage { position: relative; min-height: 520px; }
.picture-frame { position: absolute; right: 34px; top: 10px; width: min(78%,420px); min-height: 530px; border-radius: 46% 46% 36px 36px; background: linear-gradient(135deg,#e9c3b7 0%,#faf6f2 44%,#ded1bd 100%); border: 1px solid rgba(104,59,43,.12); box-shadow: 0 26px 70px rgba(104,59,43,.15); overflow: hidden; }
.hero-picture-image { width: 100%; height: 100%; min-height: 530px; object-fit: cover; object-position: center; display: block; }
.teacher-illustration { position: absolute; left: 50%; bottom: 74px; transform: translateX(-50%); width: 310px; height: 355px; }
.teacher-head { position: absolute; top: 18px; left: 104px; width: 92px; height: 92px; border-radius: 50%; background: #b97864; }
.teacher-hair { position: absolute; top: 0; left: 90px; width: 122px; height: 128px; border-radius: 58% 42% 54% 46%; background: var(--brown); z-index: -1; transform: rotate(-8deg); }
.teacher-neck { position: absolute; top: 94px; left: 136px; width: 38px; height: 42px; border-radius: 0 0 18px 18px; background: #b97864; }
.teacher-body { position: absolute; top: 120px; left: 58px; width: 190px; height: 220px; border-radius: 90px 90px 40px 40px; background: var(--cream); border: 1px solid rgba(104,59,43,.1); }
.teacher-cardigan { position: absolute; top: 142px; left: 32px; width: 238px; height: 198px; border-radius: 92px 92px 38px 38px; background: var(--blush); clip-path: polygon(0 26%, 32% 0, 50% 100%, 68% 0, 100% 26%, 92% 100%, 8% 100%); }
.teacher-book { position: absolute; left: 82px; bottom: 0; width: 150px; height: 108px; border-radius: 12px 12px 20px 20px; background: linear-gradient(90deg,var(--mustard) 0 48%,#c7951d 48% 52%,#f1dca6 52%); }
.floating-card { position: absolute; border: 1px solid rgba(104,59,43,.12); background: rgba(255,255,255,.78); box-shadow: 0 18px 40px rgba(104,59,43,.12); border-radius: 24px; }
.word-card { left: 4px; top: 82px; width: 170px; padding: 16px 16px 14px; }
.word-card strong { display: block; font-size: 1.15rem; line-height: 1.15; letter-spacing: -.01em; }
.word-card p { margin: 6px 0 0; font-weight: 900; color: rgba(104,59,43,.86); font-size: 1.05rem; line-height: 1.15; }
.round-word { position: absolute; right: 24px; top: 82px; width: 92px; height: 92px; border-radius: 50%; background: var(--mustard); color: var(--cream); display: grid; place-items: center; font-weight: 900; }
.mini-schedule { right: 0; bottom: 52px; width: 230px; padding: 18px; }
.intro-flow { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(28px,6vw,76px); align-items: center; }
.soft-photo { min-height: 430px; border-radius: 48% 48% 36px 36px; background: linear-gradient(145deg, rgba(212,158,141,.36), rgba(250,246,242,.68)), var(--sand); border: 1px solid rgba(104,59,43,.12); box-shadow: var(--soft-shadow); }
.dd-study-visual { position: relative; height: 100%; min-height: 430px; padding: 28px; }
.dd-laptop { position: absolute; left: 50%; top: 58%; transform: translate(-50%, -50%); width: 230px; height: 140px; border-radius: 18px; background: linear-gradient(145deg, #fff, #f4e7da); border: 1px solid rgba(104,59,43,.12); box-shadow: 0 16px 28px rgba(104,59,43,.12); }
.dd-laptop::after { content: ""; position: absolute; left: 50%; bottom: -18px; transform: translateX(-50%); width: 300px; height: 18px; border-radius: 999px; background: rgba(104,59,43,.15); }
.dd-notebook { position: absolute; left: 46px; bottom: 42px; width: 128px; height: 92px; border-radius: 14px; background: #FAF6F2; border: 1px solid rgba(104,59,43,.12); transform: rotate(-10deg); }
.dd-word { position: absolute; font-family: Georgia, "Times New Roman", serif; color: rgba(104,59,43,.78); background: rgba(250,246,242,.86); border: 1px solid rgba(104,59,43,.12); border-radius: 999px; padding: 6px 12px; font-size: .95rem; box-shadow: 0 10px 20px rgba(104,59,43,.08); }
.dd-word--hallo { top: 38px; left: 30px; }
.dd-word--lernen { top: 92px; right: 36px; }
.dd-word--deutsch { bottom: 26px; right: 30px; }
.journey-section { padding: 84px 0; }
.journey-card {
  padding: clamp(28px, 4vw, 46px);
  border-radius: 38px;
  background: radial-gradient(circle at 12% 12%, rgba(212,158,141,.10), transparent 28%), linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.38));
  border: 1px solid rgba(104,59,43,.08);
  box-shadow: 0 18px 42px rgba(104,59,43,.05);
}
.journey-top { max-width: 980px; }
.journey-problem h2,
.journey-solution h2 { margin: 0 0 14px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 2.8vw, 3.4rem); line-height: 1.08; color: #683B2B; }
.journey-problem p,
.journey-solution p { margin: 0; max-width: 640px; color: rgba(104,59,43,.72); line-height: 1.6; }
.problem-list { display: grid; gap: 14px; margin-top: 22px; max-width: 760px; }
.problem-item { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid rgba(104,59,43,.10); }
.problem-item:last-child { border-bottom: 0; padding-bottom: 0; }
.problem-item-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,158,141,.18); color: #683B2B; font-size: 13px; font-weight: 900; }
.problem-item h3 { margin: 8px 0 0; color: #683B2B; font-size: 1.1rem; line-height: 1.3; font-weight: 800; }
.journey-divider { width: 100%; height: 1px; margin: 28px 0 34px; background: linear-gradient(90deg, transparent, rgba(104,59,43,.12), transparent); }
.journey-bottom { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 48px); align-items: center; }
.journey-visual .soft-photo { min-height: 410px; border-radius: 44% 44% 30px 30px; background: linear-gradient(145deg, rgba(212,158,141,.26), rgba(250,246,242,.74)), var(--sand); border-color: rgba(104,59,43,.10); box-shadow: 0 14px 32px rgba(104,59,43,.08); }
.journey-visual .dd-study-visual { min-height: 410px; }
.journey-visual-image { width: 100%; height: 100%; min-height: 410px; object-fit: cover; object-position: center; border-radius: 44% 44% 30px 30px; display: block; }
.journey-visual .dd-word { font-size: .88rem; padding: 5px 10px; border-color: rgba(104,59,43,.10); box-shadow: 0 8px 16px rgba(104,59,43,.06); }
.solution-list { display: grid; gap: 18px; margin-top: 24px; }
.solution-item { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid rgba(104,59,43,.10); }
.solution-item:last-child { border-bottom: 0; padding-bottom: 0; }
.solution-item-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,158,141,.18); color: #683B2B; font-size: 13px; font-weight: 900; }
.solution-item h3 { margin: 0 0 5px; color: #683B2B; font-size: 1.1rem; line-height: 1.3; }
.solution-item p { margin: 0; color: rgba(104,59,43,.72); font-size: 15px; line-height: 1.55; }
.flow-copy p { color: var(--muted); margin-bottom: 24px; }
.gentle-list { list-style: none; display: grid; gap: 16px; padding: 0; }
.gentle-list li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; border-bottom: 1px solid rgba(104,59,43,.1); padding-bottom: 16px; }
.list-icon { width: 42px; height: 42px; border-radius: 50%; background: rgba(212,158,141,.22); display: grid; place-items: center; font-weight: 800; color: var(--brown); }
.gentle-list strong { display: block; margin-bottom: 5px; line-height: 1.3; }
.gentle-list span { line-height: 1.5; display: block; }
.packages-section { position: relative; padding: 86px 0; }
.packages-section::before { content: ""; position: absolute; inset: 0; background: rgba(222,209,189,.26); clip-path: ellipse(86% 48% at 50% 50%); z-index: -1; }
.package-layout { display: grid; grid-template-columns: .74fr 1.26fr; gap: clamp(28px,5vw,64px); }
.package-row { display: grid; grid-template-columns: 130px 1fr auto; gap: 20px; align-items: center; border-bottom: 1px solid rgba(104,59,43,.12); padding: 20px 0; }
.package-number { font-size: 3rem; color: var(--brown); font-family: Georgia, serif; }
.package-number small { display: block; font-family: Inter, sans-serif; color: var(--muted); font-size: .82rem; letter-spacing: 0; }
.package-content h3 { margin: 0 0 6px; font-size: 1.2rem; }
.package-content p { margin: 0; color: var(--muted); }
.package-actions { display: grid; gap: 8px; justify-items: end; }
.package-price-wrap { text-align: right; }
.package-price { font-weight: 800; color: var(--brown); font-size: 1.25rem; line-height: 1.05; }
.package-price--request { font-size: 0.96rem; color: var(--muted); font-weight: 700; }
.package-price-label { color: var(--muted); font-weight: 700; }
.package-tag { padding: 9px 12px; border-radius: 999px; background: rgba(255,255,255,.56); border: 1px solid rgba(104,59,43,.1); font-size: .86rem; color: var(--brown-soft); }
.package-tag--soft { background: rgba(212,158,141,.16); }
.dd-package-meta { display: flex; flex-wrap: wrap; gap: 8px; font-size: .85rem; color: var(--muted); }
.packages-section--home-editorial { padding: 72px 0; }
.packages-section--home-editorial .packages-layout { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(520px, 1.45fr); gap: clamp(36px, 5vw, 72px); align-items: start; }
.packages-section--home-editorial .packages-kicker { display: inline-flex; align-items: center; gap: 12px; color: #B08401; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 28px; }
.packages-section--home-editorial .packages-kicker::after { content: ""; width: 48px; height: 1px; background: rgba(104,59,43,.22); }
.packages-section--home-editorial .packages-intro-title { font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.24rem, 3.28vw, 3.84rem); line-height: .96; letter-spacing: -.045em; color: #683B2B; max-width: 430px; margin: 0; }
.packages-section--home-editorial .dd-packages { margin: 0; }
.packages-section--home-editorial .package-row--home-editorial { display: grid; grid-template-columns: 76px minmax(240px, 1fr) 220px; gap: 24px; align-items: start; padding: 22px 0; border-bottom: 1px solid rgba(104, 59, 43, .10); }
.packages-section--home-editorial .package-row-number strong { display: block; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.25rem, 3vw, 3.4rem); line-height: .9; color: #683B2B; }
.packages-section--home-editorial .package-row-number small { display: block; margin-top: 6px; color: rgba(104, 59, 43, .72); font-size: 12px; font-weight: 700; }
.packages-section--home-editorial .package-row-content h3 { margin: 0 0 6px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.45rem, 1.8vw, 2.1rem); line-height: 1.05; color: #683B2B; }
.packages-section--home-editorial .package-row-content p { margin: 0; max-width: 430px; color: rgba(104, 59, 43, .72); font-size: 15px; line-height: 1.5; }
.packages-section--home-editorial .package-validity-inline { display: inline-flex; margin-top: 8px; color: rgba(104, 59, 43, .62); font-size: 12px; font-weight: 700; }
.packages-section--home-editorial .package-level-box { display: grid; gap: 8px; justify-items: start; }
.packages-section--home-editorial .package-level-box label { color: rgba(104, 59, 43, .70); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.packages-section--home-editorial .package-level-select { width: 100%; min-width: 180px; height: 42px; border-radius: 999px; border: 1px solid rgba(104, 59, 43, .14); background: rgba(255, 255, 255, .62); color: #683B2B; padding: 0 14px; font-size: 14px; font-weight: 700; outline: none; }
.packages-section--home-editorial .package-level-select:focus { border-color: rgba(176, 132, 1, .46); box-shadow: 0 0 0 4px rgba(176, 132, 1, .08); }
.packages-section--home-editorial .package-dynamic-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.packages-section--home-editorial .package-dynamic-price { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .48); border: 1px solid rgba(104, 59, 43, .08); color: rgba(104, 59, 43, .72); font-size: 14px; font-weight: 800; }
.packages-section--home-editorial .package-dynamic-price.has-price { background: rgba(176, 132, 1, .12); border-color: rgba(176, 132, 1, .18); color: #683B2B; }
.packages-section--home-editorial .package-dynamic-duration { min-height: 36px; display: none; align-items: center; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .48); border: 1px solid rgba(104, 59, 43, .08); color: rgba(104, 59, 43, .72); font-size: 14px; font-weight: 800; }
.packages-section--home-editorial .package-dynamic-meta.is-active .package-dynamic-duration { display: inline-flex; }
.dd-admin-fallback { color: var(--muted); font-style: italic; padding: 10px 0; }
.dd-empty-state { color: var(--muted); font-style: italic; padding: 10px 0; }
.review-section { padding: 86px 0; }
.reviews-editorial { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.review-note { min-height: 265px; padding: 28px; border-radius: 30px; background: var(--dd-review-bg, rgba(255,255,255,.54)); border: 1px solid var(--dd-review-border, rgba(104,59,43,.1)); box-shadow: 0 16px 36px rgba(104,59,43,.08); }
.stars { color: var(--dd-review-accent, var(--mustard)); letter-spacing: .08em; margin: 14px 0 12px; }
.review-person { display: flex; gap: 12px; align-items: center; }
.avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--dd-review-avatar, var(--brown)); color: var(--cream); font-weight: 900; }
.review-form-strip { margin-top: 66px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 24px; align-items: center; padding: 34px; border-radius: 34px; background: rgba(255,255,255,.56); border: 1px solid rgba(104,59,43,.1); box-shadow: 0 16px 36px rgba(104,59,43,.08); position: relative; }
.review-form-strip h3 { font-size: 1.38em; }
.review-summary-badge { position: absolute; top: 18px; left: 18px; right: auto; background: rgba(250,246,242,.95); border: 1px solid rgba(104,59,43,.12); border-radius: 16px; padding: 10px 12px; box-shadow: 0 10px 22px rgba(104,59,43,.08); text-align: left; }
.review-summary-stars { color: var(--mustard); font-weight: 800; letter-spacing: .06em; }
.review-summary-stars strong { color: var(--brown); letter-spacing: 0; }
.review-summary-count { color: var(--muted); font-size: .84rem; font-weight: 700; margin-top: 2px; }
.field { width: 100%; min-height: 48px; border-radius: 999px; border: 1px solid rgba(104,59,43,.14); background: rgba(250,246,242,.82); padding: 0 16px; color: var(--ink); }
textarea.field { border-radius: 22px; min-height: 96px; padding: 14px 16px; resize: vertical; }
.field:focus-visible { border-color: rgba(176,132,1,.44); box-shadow: 0 0 0 4px rgba(176,132,1,.08); outline: none; background: var(--white); }
.mini-form, .dd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mini-form textarea, .mini-form button, .dd-inquiry-form button, .dd-inquiry-form > label { grid-column: 1 / -1; }
.dd-hp { position: absolute !important; left: -9999px !important; }
.dd-form-message { padding: 11px 14px; border-radius: 14px; margin-bottom: 12px; font-weight: 700; }
.dd-form-message--success { background: #edf8ee; color: #2f6d38; border: 1px solid #cce4ce; }
.dd-form-message--error { background: #fdf0ed; color: #943f2f; border: 1px solid #ecc8bf; }
.dd-gdpr { display: flex; gap: 8px; margin: 16px 0; align-items: flex-start; }
.closing { padding: 46px 0 34px; }
.closing-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 32px; align-items: center; border-radius: 46px; padding: clamp(34px,6vw,70px); background: linear-gradient(135deg,rgba(250,246,242,.92),rgba(222,209,189,.56)); border: 1px solid rgba(104,59,43,.12); box-shadow: var(--shadow); }
.closing-visual { min-height: 250px; position: relative; }
.closing-visual-image { width: 100%; height: 100%; min-height: 250px; object-fit: cover; object-position: center; border-radius: 26px; border: 1px solid rgba(104,59,43,.12); box-shadow: 0 14px 28px rgba(104,59,43,.10); display: block; }
.closing-book { position: absolute; right: 0; top: 20px; width: 260px; height: 180px; border-radius: 26px; background: linear-gradient(90deg,var(--brown) 0 48%,#8b5a49 48% 52%,var(--blush) 52%); }
.closing-bubble { position: absolute; left: 20px; bottom: 18px; width: 160px; height: 160px; border-radius: 50%; display: grid; place-items: center; background: var(--mustard); color: var(--cream); font-weight: 900; }
.footer { padding: 20px 0 34px; color: var(--muted); }
.footer-inner { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(104,59,43,.12); padding-top: 18px; }
.footer-links { display: flex; gap: 14px; font-weight: 700; }
.dd-page-header { padding-bottom: 20px; }
.dd-page-header h1 { margin-bottom: 12px; font-size: clamp(2.1rem, 5vw, 3.4rem); }
.dd-breadcrumbs { margin-bottom: 10px; color: var(--muted); font-size: .9rem; }
.dd-single-grid { display: grid; gap: 26px; grid-template-columns: 1.2fr .8fr; align-items: start; }
.dd-single-sidebar { position: sticky; top: 18px; border: 1px solid rgba(104,59,43,.12); border-radius: 24px; background: rgba(255,255,255,.5); padding: 18px; }
.dd-package-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 0; }
.dd-features, .dd-faq-list { padding-left: 18px; }
.dd-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.dd-filter { border: 1px solid rgba(104,59,43,.16); background: rgba(255,255,255,.65); color: var(--brown); border-radius: 999px; min-height: 42px; padding: 0 14px; font-weight: 700; cursor: pointer; }
.dd-filter.is-active { background: var(--brown); border-color: var(--brown); color: var(--cream); }
.dd-courses-section .section-heading p { max-width: 820px; color: var(--muted); }
.dd-problem-section .section-heading p, .dd-how-section .section-heading p { max-width: 860px; color: var(--muted); }
.dd-how-section .section-heading { text-align: center; max-width: 860px; margin: 0 auto 22px; }
.dd-how-section .section-heading h2 { margin-left: auto; margin-right: auto; }
.dd-lesson-flow .section-heading { text-align: center; max-width: 860px; margin: 0 auto 22px; }
.dd-lesson-flow .section-heading h2 { margin-left: auto; margin-right: auto; }
.review-section .section-heading { text-align: center; max-width: 860px; margin: 0 auto 22px; }
.review-section .section-heading h2 { margin-left: auto; margin-right: auto; }
.dd-faq .section-heading { text-align: center; max-width: 860px; margin: 0 auto 22px; }
.dd-faq .section-heading h2 { margin-left: auto; margin-right: auto; }
.dd-problem-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.dd-problem-pills span { display: inline-flex; padding: 10px 14px; border-radius: 999px; background: rgba(212,158,141,.16); border: 1px solid rgba(104,59,43,.12); color: var(--brown-soft); font-weight: 700; }
.for-whom-section { padding: 84px 0; }
.for-whom-head { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.for-whom-head .section-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #B08401; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.for-whom-head .section-kicker::after { content: ""; width: 48px; height: 1px; background: rgba(104, 59, 43, .22); }
.for-whom-head h2 { margin: 0 0 14px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.2rem, 3vw, 3.8rem); line-height: 1.05; color: #683B2B; }
.for-whom-head p { margin: 0 auto; max-width: 640px; color: rgba(104, 59, 43, .72); font-size: 17px; line-height: 1.6; }
.for-whom-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.for-whom-item { position: relative; padding: 24px 22px 22px; border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.48)); border: 1px solid rgba(104, 59, 43, .08); box-shadow: 0 10px 28px rgba(104, 59, 43, .04); min-height: 170px; }
.for-whom-item:nth-child(2n) { transform: translateY(8px); }
.for-whom-dot { display: inline-block; width: 10px; height: 10px; margin-bottom: 16px; border-radius: 50%; background: #B08401; box-shadow: 0 0 0 6px rgba(176, 132, 1, .10); }
.for-whom-item h3 { margin: 0 0 10px; color: #683B2B; font-size: 1.65rem; line-height: 1.2; font-weight: 800; }
.for-whom-item p { margin: 0; color: rgba(104, 59, 43, .72); font-size: 15px; line-height: 1.55; }
.dd-how-steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: ddHow; }
.dd-how-steps li { counter-increment: ddHow; background: rgba(255,255,255,.6); border: 1px solid rgba(104,59,43,.12); border-radius: 16px; padding: 12px 14px 12px 46px; position: relative; }
.dd-how-steps li::before { content: counter(ddHow); position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: rgba(176,132,1,.18); color: var(--brown); font-weight: 800; }
.dd-flow-timeline { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.dd-flow-timeline div { background: rgba(255,255,255,.66); border: 1px solid rgba(104,59,43,.12); border-radius: 16px; padding: 14px; text-align: center; }
.dd-flow-timeline strong { display: block; color: var(--brown); margin-bottom: 4px; }
.dd-flow-timeline span { color: var(--muted); font-size: .92rem; }
.dd-courses { display: grid; gap: 18px; }
.dd-courses--editorial, .dd-courses--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dd-courses--list { grid-template-columns: 1fr; }
.dd-course-card { border: 1px solid rgba(104,59,43,.12); border-radius: 24px; background: rgba(255,255,255,.56); overflow: hidden; box-shadow: 0 16px 34px rgba(104,59,43,.08); display: grid; }
.dd-course-image-wrap { display: block; min-height: 180px; background: linear-gradient(145deg, rgba(212,158,141,.34), rgba(250,246,242,.82)); }
.dd-course-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.dd-course-body { padding: 16px; }
.dd-course-badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: rgba(176,132,1,.14); color: var(--brown); font-size: .78rem; font-weight: 800; margin-bottom: 8px; }
.dd-course-body h3 { margin: 0 0 8px; font-size: 1.25rem; }
.dd-course-body p { margin: 0 0 10px; color: var(--muted); }
.dd-course-meta { display: grid; gap: 6px; margin-bottom: 12px; color: var(--muted); font-size: .9rem; }
.dd-course-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.dd-course-filter { border: 1px solid rgba(104,59,43,.16); background: rgba(255,255,255,.7); color: var(--brown); border-radius: 999px; min-height: 40px; padding: 0 12px; font-weight: 700; cursor: pointer; }
.dd-course-filter.is-active { background: var(--brown); border-color: var(--brown); color: var(--cream); }
.dd-course-single-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: start; }
.dd-course-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dd-line-list { margin: 0; padding-left: 18px; display: grid; gap: 8px; }
.dd-course-single-image img { border-radius: 24px; border: 1px solid rgba(104,59,43,.12); }
.dd-course-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.dd-faq-list { display: grid; gap: 12px; padding-left: 0; }
.dd-faq-list details { border: 1px solid rgba(104,59,43,.12); background: rgba(255,255,255,.6); border-radius: 16px; padding: 12px 14px; box-shadow: 0 10px 24px rgba(104,59,43,.05); }
.dd-faq-list summary { cursor: pointer; font-weight: 700; color: var(--brown); list-style: none; }
.dd-faq-list summary::-webkit-details-marker { display: none; }
.dd-faq-list p { margin: 10px 0 0; color: var(--muted); }
.screen-reader-text { position: absolute; left: -9999px; }
.screen-reader-text:focus { left: 12px; top: 12px; background: #fff; color: #000; padding: 8px; z-index: 10000; }
.page-shell { padding: 64px 0; }
.legal-page { max-width: 820px; margin: 0 auto; background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.58)); border: 1px solid rgba(104,59,43,.12); border-radius: 30px; box-shadow: 0 14px 34px rgba(104,59,43,.08); padding: clamp(20px, 4vw, 36px); }
.legal-page h1 { margin-top: 0; margin-bottom: 18px; color: #683B2B; }
.legal-page__content h2 { margin-top: 24px; color: #683B2B; }
.legal-page__content p, .legal-page__content li { color: rgba(104,59,43,.82); }
@media (max-width: 1060px) {
  .hero-grid, .intro-flow, .package-layout, .review-form-strip, .closing-card, .dd-single-grid, .dd-course-single-grid, .dd-course-columns { grid-template-columns: 1fr; }
  .packages-section--home-editorial .packages-layout { grid-template-columns: 1fr; gap: 34px; }
  .packages-section--home-editorial .package-row--home-editorial { grid-template-columns: 72px 1fr; }
  .packages-section--home-editorial .package-level-box { grid-column: 2 / -1; margin-top: 12px; }
  .dd-courses--editorial, .dd-courses--grid { grid-template-columns: 1fr; }
  .for-whom-list, .dd-flow-timeline { grid-template-columns: 1fr 1fr; }
  .for-whom-item { transform: none; }
  .journey-bottom { grid-template-columns: 1fr; gap: 26px; }
  .reviews-editorial { grid-template-columns: 1fr; }
  .site-header .nav { display: none; }
  .site-header .dd-menu-toggle { display: inline-flex; align-items: center; }
  .site-header .dd-primary-nav.is-open { display: flex; position: absolute; top: 70px; left: 14px; right: 14px; padding: 12px; flex-direction: column; border-radius: 18px; background: rgba(255,255,255,.95); }
  .site-header .dd-primary-nav.is-open ul { flex-direction: column; width: 100%; }
  .site-header .dd-primary-nav.is-open a { display: block; width: 100%; }
  .review-form-strip { padding-top: 82px; }
}
@media (max-width: 700px) {
  .hero-shell { padding-top: 13px; }
  .hero-shell .container { width: min(100% - 26px, 1320px); }
  .hero { border-radius: 32px; min-height: auto; }
  .hero .header { padding: 16px 16px 0; }
  .nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; padding: 54px 18px 56px; }
  .hero h1, .hero-title { font-size: clamp(1.8rem, 8vw, 2.6rem); }
  .hero-actions .btn { width: 100%; min-width: 0; }
  .hero-notes { grid-template-columns: 1fr; }
  .note-pill { width: 100%; justify-content: flex-start; white-space: normal; }
  .visual-stage { min-height: 500px; }
  .picture-frame { width: 92%; min-height: 460px; left: 50%; right: auto; transform: translateX(-50%); }
  .hero-picture-image { min-height: 460px; }
  .teacher-illustration { width: 260px; transform: translateX(-50%) scale(.88); }
  .word-card { left: 0; top: 32px; width: 144px; padding: 14px 14px 12px; }
  .word-card strong { font-size: 1.05rem; }
  .word-card p { font-size: .98rem; }
  .round-word { right: 2px; top: 82px; width: 78px; height: 78px; }
  .mini-schedule { width: 196px; right: 0; bottom: 14px; }
  .package-row { grid-template-columns: 1fr; }
  .packages-section--home-editorial .packages-layout { grid-template-columns: 1fr; }
  .packages-section--home-editorial .packages-intro-title { font-size: clamp(2.08rem, 8.8vw, 3.2rem); }
  .packages-section--home-editorial .package-row--home-editorial { grid-template-columns: 1fr; gap: 10px; padding: 20px 0; }
  .packages-section--home-editorial .package-row-number strong { font-size: 2.6rem; }
  .packages-section--home-editorial .package-row-content h3 { font-size: 1.7rem; }
  .packages-section--home-editorial .package-row-content p { font-size: 14px; }
  .packages-section--home-editorial .package-level-box { grid-column: auto; width: 100%; }
  .packages-section--home-editorial .package-level-select { width: 100%; }
  .journey-section { padding: 64px 0; }
  .journey-card { padding: 22px 18px; border-radius: 28px; }
  .journey-problem h2, .journey-solution h2 { font-size: clamp(1.8rem, 9vw, 2.8rem); }
  .problem-item { grid-template-columns: 38px 1fr; gap: 10px; padding-bottom: 12px; }
  .problem-item-number { width: 38px; height: 38px; font-size: 12px; }
  .problem-item h3 { margin-top: 6px; font-size: 1rem; }
  .journey-visual { order: 2; }
  .journey-solution { order: 1; }
  .journey-visual .soft-photo { min-height: 340px; }
  .journey-visual .dd-study-visual { min-height: 340px; }
  .journey-visual-image { min-height: 340px; }
  .package-actions { justify-items: start; }
  .package-price-wrap { text-align: left; }
  .mini-form, .dd-form-grid { grid-template-columns: 1fr; }
  .for-whom-section { padding: 64px 0; }
  .for-whom-list { grid-template-columns: 1fr; gap: 14px; }
  .for-whom-item { min-height: auto; padding: 20px 18px; border-radius: 22px; transform: none !important; }
  .for-whom-head h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .for-whom-item h3 { font-size: 1.35rem; }
  .for-whom-item p { font-size: 14px; }
  .dd-flow-timeline { grid-template-columns: 1fr; }
  .review-summary-badge { position: static; text-align: left; width: fit-content; margin-bottom: 10px; }
  .review-form-strip { padding-top: 28px; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 768px) {
  html {
    scroll-behavior: auto;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .container {
    width: min(100% - 28px, 100%);
    margin-inline: auto;
  }

  section,
  header,
  footer,
  main {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero,
  .hero-card {
    border-radius: 30px;
    min-height: auto;
    overflow: hidden;
  }

  .hero-grid,
  .hero-inner {
    grid-template-columns: 1fr;
    padding: 38px 22px 34px;
    gap: 30px;
  }

  .hero h1,
  .hero-title {
    font-size: clamp(2.55rem, 11vw, 4.15rem);
    line-height: .98;
    letter-spacing: -0.045em;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .hero-lead,
  .hero p {
    font-size: 1rem;
    line-height: 1.65;
    max-width: 100%;
  }

  .hero-actions {
    width: 100%;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 52px;
  }

  .site-header,
  .header {
    padding: 18px 18px 0;
    gap: 12px;
  }

  .brand {
    min-width: 0;
  }

  .brand span:last-child {
    font-size: 1rem;
    white-space: nowrap;
  }

  .brand-mark {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  .header-cta {
    min-height: 42px;
    padding-inline: 14px;
    font-size: .86rem;
    white-space: nowrap;
  }

  .visual-stage,
  .photo-stage {
    min-height: 420px;
    width: 100%;
    overflow: hidden;
  }

  .picture-frame,
  .photo-arch {
    width: min(92%, 360px);
    min-height: 420px;
    margin-inline: auto;
    left: auto;
    right: auto;
    transform: none;
  }

  .hero-picture-image,
  .teacher-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
  }

  .floating-note,
  .word-card {
    max-width: 145px;
    left: 8px;
  }

  .round-word,
  .floating-circle {
    width: 76px;
    height: 76px;
    right: 6px;
    font-size: .9rem;
  }

  .floating-note,
  .word-card,
  .mini-schedule,
  .round-word,
  .floating-circle {
    max-width: calc(100vw - 56px);
  }

  .section h2,
  .problem-section h2,
  .solution-section h2,
  .for-whom-head h2,
  .story-text h2,
  .final-card h2,
  .inquiry-card h2 {
    font-size: clamp(2.25rem, 10vw, 3.5rem);
    line-height: 1.04;
    letter-spacing: -0.045em;
    max-width: 100%;
  }

  .section p,
  .problem-section p,
  .solution-section p {
    font-size: 1rem;
    line-height: 1.65;
  }

  .for-whom-section {
    padding: 58px 0;
  }

  .for-whom-head {
    text-align: center;
    margin-inline: auto;
    margin-bottom: 26px;
  }

  .for-whom-head .section-kicker,
  .section-kicker {
    justify-content: center;
  }

  .for-whom-list {
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
  }

  .for-whom-item {
    width: 100%;
    min-height: auto;
    padding: 20px 18px;
    border-radius: 24px;
    transform: none !important;
  }

  .for-whom-item h3 {
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.12;
  }

  .for-whom-item p {
    font-size: .98rem;
    line-height: 1.55;
  }

  .packages-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .packages-intro-title {
    font-size: clamp(2.35rem, 10vw, 3.6rem);
    line-height: 1;
    max-width: 100%;
  }

  .package-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 20px 0;
  }

  .package-row-number {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }

  .package-row-number strong {
    font-size: 2.6rem;
  }

  .package-row-content h3 {
    font-size: 1.6rem;
  }

  .package-level-box {
    width: 100%;
  }

  .package-level-select {
    width: 100%;
    max-width: 100%;
  }

  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .footer-links {
    gap: 10px;
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 430px) {
  .section h2,
  .problem-section h2,
  .solution-section h2,
  .for-whom-head h2 {
    font-size: clamp(2.15rem, 9.6vw, 3.1rem);
  }
}

@media (max-width: 390px) {
  .header-cta {
    display: none;
  }
}

