/* =============================================================
   Aesthetic Ink Academy - Theme Stylesheet
   Portiert 1:1 aus dem Claude Design Bundle (claude.ai/design).
   ============================================================= */

/* ── TOKENS ─────────────────────────────────────────── */
:root {
  --ink:      #0A0A0A;
  --bone:     #F5F2EC;
  --mist:     #E5E2DC;
  --graphite: #2A2A2A;
  --mid:      #141414;
  --line:     rgba(10,10,10,0.12);
  --gold:         #C9A548;
  --gold-lt:      #E8D5A3;
  --gold-dk:      #9D7C2E;
  --gold-glow:    rgba(201,165,72,0.35);
  --gold-grad:    linear-gradient(135deg,#9D7C2E 0%,#E8D5A3 50%,#C9A548 100%);
  --ff-d: 'Cormorant Garamond', Georgia, serif;
  --ff-b: 'Manrope', system-ui, sans-serif;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --ease-in: cubic-bezier(0.7,0,1,1);
  --nav-h: 116px;
}

/* ── RESET ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:17px; }
body {
  background:var(--ink); color:var(--bone);
  font-family:var(--ff-b); font-weight:300; line-height:1.6;
  overflow-x:hidden; cursor:none;
}
a, button { cursor:none; text-decoration:none; }
img { display:block; max-width:100%; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--ink); }
::-webkit-scrollbar-thumb { background:var(--gold-dk); border-radius:2px; }

/* Touch-Geraete: Standard-Cursor zurueck */
@media (hover:none), (pointer:coarse) {
  body, a, button { cursor:auto; }
  #cur-dot, #cur-ring { display:none; }
}

/* ── TYPOGRAPHY ─────────────────────────────────────── */
h1 { font-family:var(--ff-d); font-size:clamp(2.4rem,7vw,7.5rem); letter-spacing:-0.03em; line-height:0.92; font-weight:300; }
@media(max-width:560px) {
	h1 { font-size:clamp(2rem,9vw,3.2rem); letter-spacing:-0.025em; }
	h2 { font-size:clamp(1.6rem,7vw,2.6rem); }
}

/* ── Mobile-Override: Inline 2- und 3-Col Grids zu 1-Col ─── */
@media(max-width:760px) {
	[style*="grid-template-columns:1fr 1fr"],
	[style*="grid-template-columns: 1fr 1fr"],
	[style*="grid-template-columns:1.05fr 0.95fr"],
	[style*="grid-template-columns:1fr 1.3fr"],
	[style*="grid-template-columns:1fr 1.4fr"],
	[style*="grid-template-columns:1.4fr 1fr"],
	[style*="grid-template-columns:1fr 1.1fr"],
	[style*="grid-template-columns:repeat(2,1fr)"] {
		grid-template-columns: 1fr !important;
	}
}
@media(max-width:560px) {
	[style*="grid-template-columns:repeat(3,1fr)"],
	[style*="grid-template-columns:repeat(4,1fr)"],
	[style*="grid-template-columns:repeat(5,1fr)"] {
		grid-template-columns: 1fr !important;
	}
}
@media(min-width:561px) and (max-width:900px) {
	[style*="grid-template-columns:repeat(4,1fr)"],
	[style*="grid-template-columns:repeat(5,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
	}
}
h2 { font-family:var(--ff-d); font-size:clamp(2rem,4vw,4rem); letter-spacing:-0.02em; font-weight:300; line-height:1.05; }
h3 { font-family:var(--ff-d); font-size:clamp(1.4rem,2.5vw,2.2rem); font-weight:300; letter-spacing:-0.01em; line-height:1.15; }
.eyebrow {
  font-family:var(--ff-b); font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase; font-weight:500;
  color:var(--gold);
}
.eyebrow-dk {
  font-family:var(--ff-b); font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase; font-weight:500;
  color:var(--gold-dk);
}
.gold-word { color:var(--gold); }
.num-label { font-family:var(--ff-b); font-size:.68rem; letter-spacing:.18em; font-weight:500; color:rgba(245,242,236,.55); }

/* ── SKIP-LINK (A11y) ───────────────────────────────── */
.aaia-skip-link {
	position:absolute;
	top:-100px;
	left:8px;
	z-index:100000;
	background:var(--gold-dk);
	color:var(--bone);
	padding:14px 22px;
	font-family:var(--ff-b);
	font-size:.78rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:600;
	text-decoration:none;
	transition:top .2s ease;
}
.aaia-skip-link:focus,
.aaia-skip-link:focus-visible {
	top:8px;
	outline:2px solid var(--bone);
	outline-offset:2px;
}

/* ── SR-ONLY (visuell versteckt, von Screen-Readern + Bots lesbar) ── */
.sr-only {
	position:absolute !important;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

/* ── CURSOR ─────────────────────────────────────────── */
#cur-dot { position:fixed; width:6px; height:6px; border-radius:50%; background:var(--gold); pointer-events:none; z-index:99999; transform:translate(-50%,-50%); transition:width .2s,height .2s; }
#cur-ring { position:fixed; width:30px; height:30px; border-radius:50%; border:1.5px solid rgba(201,165,72,.5); pointer-events:none; z-index:99998; transform:translate(-50%,-50%); }
body.cursor-hover #cur-dot { width:10px; height:10px; }
body.cursor-hover #cur-ring { width:48px; height:48px; border-color:var(--gold); }

/* ── LOADING - CINEMATIC INTRO ──────────────────────── */
#loading {
  position:fixed; inset:0; z-index:99990;
  background:var(--bone);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden;
}
#loading.done { pointer-events:none; }
#loading .l-logo {
  opacity:0; transform:translateY(12px);
  animation: l-logo-in .9s .2s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes l-logo-in { to { opacity:1; transform:translateY(0); } }
#loading .l-logo img { height:96px; width:auto; }

#loading .l-line-wrap {
  margin-top:32px; width:0; height:1.5px;
  background:var(--gold-grad);
  animation: l-line .9s .6s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes l-line { to { width:120px; } }

#loading .l-label {
  margin-top:24px; opacity:0;
  font-family:var(--ff-b); font-size:.68rem; letter-spacing:.32em; font-weight:500;
  text-transform:uppercase; color:rgba(10,10,10,.72);
  animation: l-label-in .6s 1s ease forwards;
}
@keyframes l-label-in { to { opacity:1; } }

#loading .l-curtain-l,
#loading .l-curtain-r {
  position:absolute; top:0; bottom:0; width:50%; background:var(--bone);
  transition:transform 0s;
}
#loading .l-curtain-l { left:0; }
#loading .l-curtain-r { right:0; }
#loading.reveal-start .l-curtain-l { transition:transform .85s cubic-bezier(0.76,0,0.24,1); transform:translateX(-100%); }
#loading.reveal-start .l-curtain-r { transition:transform .85s cubic-bezier(0.76,0,0.24,1); transform:translateX(100%); }


/* ── NAV ────────────────────────────────────────────── */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h);
  padding:0 clamp(20px,5vw,72px);
  display:flex; align-items:center; justify-content:space-between;
  transition:background .5s, border-color .5s;
}
.site-nav.scrolled { background:rgba(10,10,10,.94); backdrop-filter:blur(24px); border-bottom:1px solid rgba(201,165,72,.12); }
.site-nav__logo img { height:96px; width:auto; display:block; }
@media(max-width:768px){ .site-nav__logo img { height:64px; } }
.site-nav__links { display:flex; gap:clamp(16px,3vw,40px); align-items:center; }
.site-nav__links a {
  font-family:var(--ff-b); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  color:rgba(245,242,236,.78); position:relative; padding-bottom:3px; transition:color .3s;
}
.site-nav__links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .35s var(--ease); }
.site-nav__links a:hover { color:var(--bone); }
.site-nav__links a:hover::after,
.site-nav__links a.active { color:var(--bone); }
.site-nav__links a.active::after { width:100%; }
.site-nav__cta {
  font-family:var(--ff-b); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  color:var(--bone); border:1.5px solid rgba(201,165,72,.45); padding:11px 22px;
  transition:border-color .4s, box-shadow .4s, color .3s;
  display:inline-flex; align-items:center; gap:10px;
}
.site-nav__cta:hover { border-color:var(--gold); box-shadow:0 0 20px var(--gold-glow); color:var(--gold-lt); }

/* ── PAGE HERO ──────────────────────────────────────── */
.page-hero { position:relative; height:70vh; min-height:480px; overflow:hidden; background:var(--ink); }
.page-hero__img { position:absolute; inset:-10% 0; width:100%; height:120%; object-fit:cover; filter:brightness(.65) contrast(1.06) saturate(1.12); will-change:transform; }
.page-hero__overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(10,10,10,.92) 0%,rgba(10,10,10,.7) 40%,rgba(10,10,10,.25) 100%); }
.page-hero__bottom { position:absolute; bottom:0; left:0; right:0; height:180px; background:linear-gradient(to top,var(--ink),transparent); }
.page-hero__content { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:0 clamp(24px,7vw,100px) clamp(48px,6vw,72px); }
.page-hero__label { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.page-hero__title { color:var(--bone); margin-bottom:0; }

/* ── BUTTONS ────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--ff-b); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  padding:16px 32px; transition:all .4s;
  background:none;
}
.btn--light { color:var(--bone); border:1.5px solid rgba(245,242,236,.28); }
.btn--light:hover { border-color:var(--gold); color:var(--gold-lt); box-shadow:0 0 24px var(--gold-glow); }
.btn--dark { color:var(--ink); border:1.5px solid rgba(10,10,10,.28); }
.btn--dark:hover { border-color:var(--gold-dk); color:var(--gold-dk); }
.btn--gold { color:var(--ink); background:var(--gold-grad); border:none; font-weight:600; }
.btn--gold:hover { box-shadow:0 0 32px var(--gold-glow); transform:translateY(-1px); }
.btn .arr { display:inline-block; transition:transform .4s var(--ease); }
.btn:hover .arr { transform:translateX(5px); }

.btn-ghost {
  font-family:var(--ff-b); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  color:rgba(245,242,236,.78); background:none; border:none; position:relative; padding-bottom:4px;
  transition:color .3s;
  cursor:none;
}
.btn-ghost::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:linear-gradient(to right,rgba(201,165,72,.55),transparent); transition:background .3s; }
.btn-ghost:hover { color:var(--bone); }
.btn-ghost:hover::after { background:linear-gradient(to right,var(--gold),transparent); }
/* Auf hellen Hintergruenden invertieren */
.section--bone .btn-ghost,
.bone-section .btn-ghost { color:rgba(10,10,10,.72); }
.section--bone .btn-ghost::after,
.bone-section .btn-ghost::after { background:linear-gradient(to right,rgba(157,124,46,.55),transparent); }
.section--bone .btn-ghost:hover,
.bone-section .btn-ghost:hover { color:var(--ink); }

/* ── GOLD ACCENTS ───────────────────────────────────── */
.gold-line { display:block; width:48px; height:2px; background:var(--gold-grad); flex-shrink:0; }
.gold-line-sm { display:block; width:28px; height:1.5px; background:var(--gold-grad); }
.gold-divider { width:100%; height:1px; background:linear-gradient(to right,transparent,rgba(201,165,72,.35),transparent); }
.gold-divider-thick { width:100%; height:2px; background:linear-gradient(to right,transparent,rgba(201,165,72,.5),transparent); }
.gold-corner { position:absolute; width:72px; height:72px; border:2px solid rgba(201,165,72,.35); pointer-events:none; }
.gold-corner--br { bottom:-12px; right:-12px; }
.gold-corner--tl { top:-12px; left:-12px; }

/* ── IMAGES ─────────────────────────────────────────── */
.img-warm { filter:brightness(1.02) contrast(1.05) saturate(1.08); transition:filter .6s, transform .8s var(--ease); }
.img-warm:hover { filter:brightness(1.06) contrast(1.05) saturate(1.15); }
.img-cover { width:100%; height:100%; object-fit:cover; }

/* ── SECTIONS ───────────────────────────────────────── */
.section { padding:clamp(96px,12vw,160px) clamp(32px,7vw,100px); }
.section--wide { padding:clamp(96px,12vw,160px) 0; }
.section--bone { background:var(--bone); color:var(--ink); }
.section--ink { background:var(--ink); }
.section--dark { background:#0D0D0D; }
.section--graphite { background:var(--graphite); }
.section--mid { background:var(--mid); }

/* ── SPLIT LAYOUT ───────────────────────────────────── */
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,100px); align-items:center; }
@media(max-width:768px){ .split { grid-template-columns:1fr; } }

/* ── CARD GRID ──────────────────────────────────────── */
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.5vw,28px); }
@media(max-width:900px){ .card-grid-3 { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .card-grid-3 { grid-template-columns:1fr; } }

/* ── GALLERY GRID ───────────────────────────────────── */
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
@media(max-width:768px){ .gal-grid { grid-template-columns:1fr 1fr; } }

/* ── MARQUEE ────────────────────────────────────────── */
.mq-wrap { overflow:hidden; padding:14px 0; }
.mq-track { display:flex; white-space:nowrap; animation:mq 32s linear infinite; }
.mq-track:hover { animation-play-state:paused; }
@keyframes mq { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── ACCORDION ──────────────────────────────────────── */
.ac-item { border-bottom:1px solid rgba(245,242,236,.07); transition:background .3s; }
.ac-item:hover { background:rgba(245,242,236,.018); }
.ac-trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:24px 0; background:none; border:none; color:var(--bone); text-align:left; }
.ac-trigger .plus { font-size:1.6rem; line-height:1; color:rgba(245,242,236,.3); transition:transform .4s var(--ease), color .3s; flex-shrink:0; }
.ac-item.open .plus { transform:rotate(45deg); color:var(--gold); }
.ac-body { max-height:0; overflow:hidden; transition:max-height .55s var(--ease); }
.ac-body p { padding:0 0 28px 56px; font-family:var(--ff-b); font-size:.92rem; line-height:1.85; color:rgba(245,242,236,.5); }

/* ── FORM ───────────────────────────────────────────── */
.f-group { display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.f-label {
	font-family:var(--ff-b); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
	color:var(--gold-dk);
}
.f-label-dk {
	font-family:var(--ff-b); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
	color:var(--gold-dk);
}
.f-input {
	background:#fff;
	border:1px solid rgba(10,10,10,.18);
	border-radius:0;
	color:var(--ink);
	font-family:var(--ff-b); font-size:1rem; font-weight:400;
	padding:14px 16px;
	outline:none;
	width:100%;
	transition:border-color .25s, box-shadow .25s, background .2s;
	box-shadow:0 1px 2px rgba(10,10,10,.04);
}
.f-input::placeholder { color:rgba(10,10,10,.4); font-weight:300; }
.f-input:hover { border-color:rgba(10,10,10,.32); }
.f-input:focus {
	border-color:var(--gold);
	box-shadow:0 0 0 3px rgba(201,165,72,.18);
	background:#fff;
}
select.f-input { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'><path d='M1 1l6 6 6-6' stroke='%230A0A0A' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>"); background-repeat:no-repeat; background-position:right 16px center; padding-right:42px; cursor:pointer; }
select.f-input option { background:#fff; color:var(--ink); }
textarea.f-input { resize:vertical; min-height:120px; }
input[type="file"].f-input { padding:11px 16px; background:rgba(10,10,10,.03); }
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:580px){ .f-grid { grid-template-columns:1fr; } }

/* Checkbox / Consent auf hellem Hintergrund */
.apply-form-side .form-checkbox { color:rgba(10,10,10,.78); font-size:.92rem; line-height:1.6; }
.apply-form-side .form-checkbox input[type="checkbox"] {
	width:20px; height:20px; flex-shrink:0; margin-top:2px;
	accent-color:var(--gold-dk);
	cursor:pointer;
}
.apply-form-side .form-checkbox a { color:var(--gold-dk); }
.apply-form-side .form-checkbox a:hover { color:var(--ink); }

/* ── STATS ──────────────────────────────────────────── */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
@media(max-width:800px){ .stats-grid { grid-template-columns:1fr 1fr; } }
.stat-cell { padding:clamp(32px,5vw,52px) clamp(24px,4vw,40px); background:var(--mid); text-align:center; }
.stat-cell:nth-child(odd) { background:#111; }
.stat-num { font-family:var(--ff-d); font-size:clamp(2.8rem,5vw,4.5rem); letter-spacing:-0.03em; font-weight:300; color:var(--gold); line-height:1; }
.stat-label { font-family:var(--ff-b); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,236,.65); margin-top:10px; }

/* ── REVEAL ANIMATIONS ──────────────────────────────
 * Progressive Enhancement: Default sichtbar.
 * Nur wenn JS bereit ist (body.has-reveals), wird der Initial-Hide-State aktiv.
 * Verhindert leere Sections, falls IO nicht triggert (z. B. lange Pages).
 * Spezifische Reveal-Regel muss die has-reveals-Regel ueberbieten => doppelt selektieren.
 */
[data-reveal] { will-change:transform, opacity; }
body.has-reveals [data-reveal]:not(.revealed) { opacity:0; }
body.has-reveals [data-reveal="up"]:not(.revealed) { transform:translateY(40px); }
body.has-reveals [data-reveal="left"]:not(.revealed) { transform:translateX(-40px); }
body.has-reveals [data-reveal="right"]:not(.revealed) { transform:translateX(40px); }
body.has-reveals [data-reveal="scale"]:not(.revealed) { transform:scale(0.92); }
body.has-reveals [data-reveal="clip"]:not(.revealed) { clip-path:inset(0 0 100% 0); }
[data-reveal].revealed,
body.has-reveals [data-reveal].revealed { opacity:1; transform:none; clip-path:inset(0 0 0% 0); transition:opacity .9s var(--ease), transform .9s var(--ease), clip-path .9s var(--ease); }

/* ── FOOTER ─────────────────────────────────────────── */
.site-footer { background:var(--ink); border-top:1px solid rgba(245,242,236,.05); padding:clamp(48px,6vw,80px) clamp(24px,7vw,100px); }
.site-footer__grid { display:grid; grid-template-columns:200px 1fr 1fr; gap:40px; margin-bottom:48px; }
@media(max-width:768px){ .site-footer__grid { grid-template-columns:1fr; } }
.site-footer__col-title { font-family:var(--ff-b); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.site-footer__link { display:block; font-family:var(--ff-b); font-size:.92rem; color:rgba(245,242,236,.7); margin-bottom:14px; transition:color .3s; }
.site-footer__link:hover { color:var(--bone); }
.site-footer__legal { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:28px; border-top:1px solid rgba(245,242,236,.12); }
.site-footer__legal p, .site-footer__legal a { font-family:var(--ff-b); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(245,242,236,.6); }
.site-footer__legal a:hover { color:var(--bone); }

/* ── QUOTE SECTION ──────────────────────────────────── */
.quote-section { text-align:center; padding:clamp(72px,10vw,120px) clamp(24px,10vw,160px); background:var(--graphite); }
.quote-mark { font-family:var(--ff-d); font-size:clamp(4rem,8vw,8rem); line-height:.5; color:var(--gold); opacity:.4; display:block; margin-bottom:8px; }
.blockquote { font-family:var(--ff-d); font-size:clamp(1.4rem,3vw,2.6rem); font-weight:300; font-style:italic; color:var(--bone); letter-spacing:.01em; line-height:1.35; }
.blockquote-author { font-family:var(--ff-b); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-top:28px; }

/* ── TEASER CARD ────────────────────────────────────── */
.teaser-card { position:relative; overflow:hidden; aspect-ratio:3/4; display:block; }
.teaser-card__img { width:100%; height:100%; object-fit:cover; filter:brightness(.85) contrast(1.05) saturate(1.08); transition:transform .9s var(--ease), filter .6s; }
.teaser-card:hover .teaser-card__img { transform:scale(1.06); filter:brightness(.95) contrast(1.05) saturate(1.15); }
.teaser-card__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,10,.88) 0%,rgba(10,10,10,.2) 50%,transparent 100%); transition:background .5s; }
.teaser-card:hover .teaser-card__overlay { background:linear-gradient(to top,rgba(10,10,10,.92) 0%,rgba(10,10,10,.35) 60%,rgba(201,165,72,.05) 100%); }
.teaser-card__content { position:absolute; bottom:0; left:0; right:0; padding:clamp(20px,3vw,32px); }
.teaser-card__label { color:var(--gold); margin-bottom:10px; }
.teaser-card__title { color:var(--bone); font-family:var(--ff-d); font-size:clamp(1.4rem,2.5vw,2rem); font-weight:300; letter-spacing:-0.01em; line-height:1.1; }
.teaser-card__arrow { color:rgba(245,242,236,.72); font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; font-family:var(--ff-b); font-weight:500; margin-top:14px; display:flex; align-items:center; gap:8px; transition:color .3s; }
.teaser-card:hover .teaser-card__arrow { color:var(--gold-lt); }

/* ── PROMO STRIP ────────────────────────────────────── */
.promo-strip { display:grid; grid-template-columns:1fr 1fr; min-height:420px; }
@media(max-width:768px){ .promo-strip { grid-template-columns:1fr; } }
.promo-strip__text { padding:clamp(48px,7vw,80px); display:flex; flex-direction:column; justify-content:center; }
.promo-strip__img { position:relative; overflow:hidden; min-height:300px; }
.promo-strip__img img { width:100%; height:100%; object-fit:cover; filter:brightness(.88) saturate(1.1); transition:transform .9s var(--ease); }
.promo-strip__img:hover img { transform:scale(1.04); }

/* ── PAGE TRANSITION ────────────────────────────────── */
.page-trans { position:fixed; inset:0; background:var(--ink); z-index:99989; pointer-events:none; opacity:0; }

/* ── MOBILE NAV BURGER ──────────────────────────────── */
.nav-burger {
  display:none; background:none; border:none;
  width:28px; height:18px;
  flex-direction:column; justify-content:space-between;
  z-index:1002; position:relative; flex-shrink:0;
}
.nav-burger span {
  display:block; width:100%; height:1px; background:var(--bone);
  transition:transform .45s var(--ease), opacity .3s, width .3s;
  transform-origin:center;
}
.nav-burger.open span:nth-child(1) { transform:translateY(8.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; width:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-8.5px) rotate(-45deg); }
@media(max-width:768px) {
  .nav-burger { display:flex; }
  .site-nav__links { display:none; }
  .site-nav__cta { display:none; }
}

/* ── MOBILE NAV OVERLAY ─────────────────────────────── */
.mobile-nav {
  position:fixed; inset:0; z-index:1001;
  background:var(--bone);
  display:flex; flex-direction:column;
  padding:clamp(80px,12vh,120px) clamp(32px,8vw,72px) clamp(40px,8vh,72px);
  transform:translateX(100%);
  transition:transform .65s var(--ease);
  overflow:hidden;
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold-grad);
}
.mobile-nav__links { flex:1; display:flex; flex-direction:column; justify-content:center; gap:0; }
.mobile-nav__links a {
  font-family:var(--ff-d); font-size:clamp(2.8rem,9vw,5rem);
  font-weight:300; letter-spacing:-0.025em; line-height:1.1;
  color:var(--ink); display:block; padding:10px 0;
  border-bottom:1px solid rgba(10,10,10,.07);
  transition:color .3s, padding-left .45s var(--ease);
  position:relative;
}
.mobile-nav__links a::after {
  content:'→'; position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-family:var(--ff-b); font-size:1rem; color:var(--gold);
  opacity:0; transition:opacity .3s;
}
.mobile-nav__links a:hover { color:var(--gold-dk); padding-left:16px; }
.mobile-nav__links a:hover::after { opacity:1; }
.mobile-nav__bottom { display:flex; align-items:center; justify-content:space-between; padding-top:32px; flex-wrap:wrap; gap:16px; }
.mobile-nav__eyebrow { font-family:var(--ff-b); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(10,10,10,.35); }

/* ── WHITESPACE TOKENS ──────────────────────────────── */
.spacer-md  { height:clamp(72px,10vw,120px); }
.spacer-lg  { height:clamp(100px,14vw,180px); }

/* ── HERO REVEAL (fires after curtain) ──────────────── */
[data-hero-reveal] { opacity:0; will-change:transform,opacity; }
[data-hero-reveal="up"]   { transform:translateY(36px); }
[data-hero-reveal="line"] { transform:scaleX(0); transform-origin:left; }
[data-hero-reveal="fade"] { }
[data-hero-reveal].hero-visible {
  opacity:1; transform:none;
  transition:opacity 1s cubic-bezier(0.16,1,0.3,1), transform 1s cubic-bezier(0.16,1,0.3,1);
}

/* ===========================================================
   MOTION LAYER — Letter Reveal, Scroll Fade, Mask, Magnetic
   =========================================================== */

/* ── Letter-by-Letter Reveal (auf data-split-chars) ─── */
[data-split-chars] { display:block; overflow:hidden; }
[data-split-chars] .word {
	display:inline-flex; overflow:hidden; vertical-align:bottom;
	margin-right:.2em; line-height:.95;
}
[data-split-chars] .word:last-child { margin-right:0; }
[data-split-chars] .char,
[data-split-chars] .word > em {
	display:inline-block;
	transform:translateY(105%) rotateX(-30deg);
	transform-origin:bottom center;
	opacity:0;
	transition:transform 1.05s cubic-bezier(0.16,1,0.3,1), opacity .9s cubic-bezier(0.16,1,0.3,1);
	will-change:transform,opacity;
}
[data-split-chars].is-shown .char,
[data-split-chars].is-shown .word > em {
	transform:translateY(0) rotateX(0);
	opacity:1;
}
@media (prefers-reduced-motion:reduce) {
	[data-split-chars] .char,
	[data-split-chars] .word > em { transform:none; opacity:1; transition:none; }
}

/* ── Word-Stagger Reveal (auf data-split-words) ───── */
[data-split-words] .word {
	display:inline-block;
	transform:translateY(28px);
	opacity:0;
	transition:transform .85s cubic-bezier(0.16,1,0.3,1), opacity .85s cubic-bezier(0.16,1,0.3,1);
	will-change:transform,opacity;
}
[data-split-words].is-shown .word { transform:none; opacity:1; }
@media (prefers-reduced-motion:reduce) {
	[data-split-words] .word { transform:none; opacity:1; transition:none; }
}

/* ── Mask-Up Image-Reveal (Clip-Path von unten) ───── */
.mask-reveal {
	clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);
	transition:clip-path 1.4s cubic-bezier(0.76,0,0.24,1);
	will-change:clip-path;
}
.mask-reveal.is-shown {
	clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}
@media (prefers-reduced-motion:reduce) {
	.mask-reveal { clip-path:none; transition:none; }
}

/* ── Hero Scroll-Fade Layer ─────────────────────────── */
.hero__content { transform-origin:left top; }
/* JS setzt --hero-fade von 0..1 anhand Scroll-Position. */
.hero__content {
	opacity:calc(1 - var(--hero-fade, 0));
	transform:translateY(calc(var(--hero-fade, 0) * -40px));
	transition:opacity .1s linear, transform .1s linear;
}

/* ── Scroll-driven Image Zoom (auf data-zoom-img) ──── */
[data-zoom-img] {
	transition:transform .12s linear;
	will-change:transform;
}

/* ── Sticky Stats-Bar Pin ───────────────────────────── */
.stats-grid.is-pinned {
	position:sticky;
	top:var(--nav-h);
	z-index:5;
}

/* ── Magnet-Button (folgt dem Cursor) ───────────────── */
.btn[data-magnetic],
.btn-ghost[data-magnetic] {
	transition:transform .35s cubic-bezier(0.16,1,0.3,1);
	will-change:transform;
}

/* ── Text-Color-Sweep auf Scroll (Headlines, die beim Reinscrollen aufleuchten) ─── */
@supports (animation-timeline: scroll()) {
	.scroll-glow {
		background:linear-gradient(90deg, rgba(245,242,236,.3) 0%, var(--bone) 100%);
		background-size:200% 100%;
		background-position:200% 0;
		-webkit-background-clip:text;
		background-clip:text;
		-webkit-text-fill-color:transparent;
		animation:scroll-glow auto linear;
		animation-timeline:view();
		animation-range:entry 10% cover 50%;
	}
	@keyframes scroll-glow {
		to { background-position:0 0; }
	}
}

/* ── Scroll-driven Reveal als Native CSS (Progressive Enhancement) ──── */
@supports (animation-timeline: view()) {
	.scroll-rise {
		animation:scroll-rise linear;
		animation-timeline:view();
		animation-range:entry 0% cover 30%;
	}
	@keyframes scroll-rise {
		from { opacity:0; transform:translateY(60px); }
		to   { opacity:1; transform:translateY(0); }
	}
}

/* ── Letter spacing animation auf Hover (für H1) ──── */
.h-tighten { transition:letter-spacing .9s var(--ease); }
.h-tighten:hover { letter-spacing:-0.05em; }

/* ── TOAST-Notifications ────────────────────────────
 * Fixed bottom-right. Slide+Fade-in. Auto-Hide 6s.
 */
.aaia-toast-stack {
	position:fixed;
	right:clamp(16px,3vw,32px);
	bottom:clamp(16px,3vw,32px);
	z-index:99995;
	display:flex;
	flex-direction:column;
	gap:12px;
	pointer-events:none;
	max-width:min(420px, calc(100vw - 32px));
}
.aaia-toast {
	position:relative;
	pointer-events:auto;
	background:var(--bone);
	color:var(--ink);
	padding:18px 48px 18px 22px;
	border-left:3px solid var(--gold-dk);
	box-shadow:0 18px 48px rgba(10,10,10,.32);
	opacity:0;
	transform:translateY(20px) translateX(20px);
	transition:opacity .35s var(--ease), transform .45s var(--ease);
	will-change:transform,opacity;
}
.aaia-toast.is-in { opacity:1; transform:translateY(0) translateX(0); }
.aaia-toast.is-out { opacity:0; transform:translateY(-10px) translateX(40px); }
.aaia-toast--success { border-left-color:var(--gold-dk); }
.aaia-toast--error { border-left-color:#b00020; }
.aaia-toast--info { border-left-color:var(--gold); }
.aaia-toast__title {
	font-family:var(--ff-b);
	font-size:.72rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:600;
	color:var(--gold-dk);
	margin:0 0 6px;
}
.aaia-toast--error .aaia-toast__title { color:#b00020; }
.aaia-toast__body {
	font-family:var(--ff-b);
	font-size:.95rem;
	line-height:1.55;
	color:rgba(10,10,10,.82);
	margin:0;
}
.aaia-toast__body strong { color:var(--ink); font-weight:600; }
.aaia-toast__close {
	position:absolute;
	top:10px; right:10px;
	width:28px; height:28px;
	background:none; border:0;
	font-size:18px; line-height:1;
	color:rgba(10,10,10,.5);
	cursor:pointer;
	transition:color .2s;
}
.aaia-toast__close:hover { color:var(--ink); }
@media(prefers-reduced-motion:reduce) {
	.aaia-toast { transition:opacity .2s linear; transform:none !important; }
}

/* Form-Disabled-State waehrend Submit */
.f-input:disabled,
.btn:disabled,
.btn--gold:disabled {
	opacity:.55;
	cursor:wait !important;
	pointer-events:none;
}
.aaia-form-busy { position:relative; }
.aaia-form-busy::after {
	content:'';
	position:absolute;
	inset:0;
	background:rgba(245,242,236,.55);
	z-index:5;
	pointer-events:none;
}

/* ── GRAIN (deaktiviert im Original) ─────────────── */
.grain { display:none; }

/* =============================================================
   HOMEPAGE-SPEZIFISCHE STYLES (aus index.html inline portiert)
   ============================================================= */

.hero { position:relative; min-height:100vh; min-height:100svh; overflow:hidden; background:var(--bone); padding-bottom:clamp(100px,14vh,160px); }
.hero__img { position:absolute; inset:-15% 0; width:100%; height:130%; object-fit:cover; object-position:62% center; filter:brightness(.55) contrast(1.08) saturate(1.1); will-change:transform; }
.hero__grad { position:absolute; inset:0; background:linear-gradient(to right,rgba(10,10,10,.94) 0%,rgba(10,10,10,.78) 36%,rgba(10,10,10,.42) 62%,rgba(10,10,10,.18) 100%); }
.hero__bottom { position:absolute; bottom:0; left:0; right:0; height:220px; background:linear-gradient(to top,rgba(10,10,10,.88),transparent); }
.hero__content { position:relative; z-index:2; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:calc(var(--nav-h) + clamp(40px,6vh,80px)) clamp(24px,7vw,100px) clamp(120px,16vh,180px); max-width:min(1200px, 78%); gap:clamp(20px,3vh,32px); }
@media(max-width:768px){ .hero__content { max-width:100%; padding-bottom:clamp(140px,18vh,200px); } }

.home-gal { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:280px 280px; gap:4px; }
@media(max-width:900px){ .home-gal { grid-template-columns:1fr 1fr; grid-template-rows:auto; } }
.home-gal__item { overflow:hidden; position:relative; }
.home-gal__item:first-child { grid-row:1/3; }
@media(max-width:900px){ .home-gal__item:first-child { grid-row:auto; } }
.home-gal__item img { width:100%; height:100%; object-fit:cover; min-height:240px; filter:brightness(.9) saturate(1.08) contrast(1.03); transition:transform .9s var(--ease), filter .6s; }
.home-gal__item:hover img { transform:scale(1.06); filter:brightness(1.02) saturate(1.18) contrast(1.03); }
.home-gal__item .gl-overlay { position:absolute; inset:0; background:transparent; transition:background .4s; }
.home-gal__item:hover .gl-overlay { background:rgba(201,165,72,.05); }

.cta-banner { background:var(--graphite); padding:clamp(80px,10vw,120px) clamp(24px,7vw,100px); display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.cta-banner h2 em { font-style:normal; background:var(--gold-grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* =============================================================
   AKADEMIE-PAGE: Pillars + Philosophy Hero
   ============================================================= */
.pillar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
@media(max-width:900px){ .pillar-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .pillar-grid { grid-template-columns:1fr; } }
.pillar { padding:clamp(32px,4vw,52px) clamp(24px,3vw,36px); background:var(--mid); position:relative; overflow:hidden; }
.pillar:nth-child(even) { background:#111; }
.pillar::before { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold-grad); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.pillar:hover::before { transform:scaleX(1); }
.pillar__num { font-family:var(--ff-d); font-size:3.5rem; font-weight:300; color:rgba(201,165,72,.3); line-height:1; margin-bottom:16px; }
.pillar__title { font-family:var(--ff-d); font-size:clamp(1.2rem,2vw,1.6rem); font-weight:300; color:var(--bone); margin-bottom:12px; letter-spacing:-.01em; }
.pillar__text { font-family:var(--ff-b); font-size:.92rem; line-height:1.75; color:rgba(245,242,236,.7); }

.philosophy-hero { position:relative; overflow:hidden; height:50vh; min-height:360px; }
.philosophy-hero img { width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:brightness(.72) contrast(1.05) saturate(1.12); transition:transform .9s var(--ease); }
.philosophy-hero:hover img { transform:scale(1.03); }
.philosophy-hero__text { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:rgba(10,10,10,.55); padding:32px; }

/* =============================================================
   KURSE-PAGE: Module-Grid, Info-Grid, Course-Gal
   ============================================================= */
.module-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; margin-bottom:clamp(48px,6vw,80px); }
@media(max-width:900px){ .module-grid { grid-template-columns:1fr 1fr; } }
.module-pill { padding:clamp(20px,3vw,32px) clamp(16px,2.5vw,28px); background:var(--mid); text-align:center; border-bottom:2px solid transparent; transition:border-color .3s, background .3s; }
.module-pill:hover { background:#161616; border-bottom-color:var(--gold); }
.module-pill__num { font-family:var(--ff-b); font-size:.6rem; letter-spacing:.2em; color:rgba(245,242,236,.55); margin-bottom:14px; }
.module-pill__title { font-family:var(--ff-d); font-size:clamp(1rem,1.8vw,1.45rem); font-weight:300; color:var(--bone); }

.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
@media(max-width:768px){ .info-grid { grid-template-columns:1fr; } }
.info-card { padding:clamp(32px,4vw,52px); background:var(--bone); }
.info-card:nth-child(2) { background:var(--ink); }
.info-card:nth-child(3) { background:var(--mist); }
.info-card__label { color:var(--gold-dk); margin-bottom:16px; }
.info-card__value { font-family:var(--ff-d); font-size:clamp(1.6rem,3vw,2.8rem); font-weight:300; color:var(--ink); letter-spacing:-.02em; line-height:1.1; margin-bottom:12px; }
.info-card:nth-child(2) .info-card__value { color:var(--bone); }
.info-card:nth-child(3) .info-card__value { color:var(--ink); }
.info-card__desc { font-family:var(--ff-b); font-size:.88rem; line-height:1.7; color:rgba(10,10,10,.7); }
.info-card:nth-child(2) .info-card__desc { color:rgba(245,242,236,.7); }

.course-gal { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:4px; height:320px; }
@media(max-width:768px){ .course-gal { grid-template-columns:1fr 1fr; height:auto; } }
.course-gal__item { overflow:hidden; position:relative; }
@media(max-width:768px){ .course-gal__item { height:200px; } }
.course-gal__item img { width:100%; height:100%; object-fit:cover; filter:brightness(.88) saturate(1.1); transition:transform .8s var(--ease), filter .5s; }
.course-gal__item:hover img { transform:scale(1.07); filter:brightness(1) saturate(1.18); }

/* =============================================================
   UEBER-MICH-PAGE: Portrait + Timeline + About-Gal
   ============================================================= */
.portrait-section { display:grid; grid-template-columns:1fr 1fr; min-height:80vh; }
@media(max-width:768px){ .portrait-section { grid-template-columns:1fr; } }
.portrait-section__img { position:relative; overflow:hidden; min-height:480px; }
.portrait-section__img img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; filter:brightness(.88) saturate(1.1) contrast(1.05); transition:transform 1.2s var(--ease); }
.portrait-section__img:hover img { transform:scale(1.03); }
.portrait-section__text { background:var(--bone); padding:clamp(60px,8vw,100px) clamp(32px,6vw,72px); display:flex; flex-direction:column; justify-content:center; }

/* KURSE-PAGE: Trainer-Zeilen (Melanie + Paul) */
.trainer-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,100px); align-items:center; }
.trainer-row__img { position:relative; height:clamp(360px,46vw,520px); }
.trainer-row--reverse .trainer-row__img { order:2; }
.trainer-row--reverse .trainer-row__body { order:1; }
@media(max-width:768px){
	.trainer-row { grid-template-columns:1fr; gap:32px; }
	.trainer-row__img,
	.trainer-row--reverse .trainer-row__img { height:clamp(320px,80vw,460px); order:1; }
	.trainer-row__body,
	.trainer-row--reverse .trainer-row__body { order:2; }
}

.timeline { display:flex; flex-direction:column; gap:0; }
.tl-item { display:grid; grid-template-columns:80px 1fr; gap:24px; padding:24px 0; border-bottom:1px solid rgba(245,242,236,.1); }
.tl-item:last-child { border-bottom:none; }
.tl-year { font-family:var(--ff-b); font-size:.72rem; letter-spacing:.14em; color:var(--gold); font-weight:500; padding-top:4px; }
.tl-text { font-family:var(--ff-b); font-size:.95rem; line-height:1.75; color:rgba(245,242,236,.78); }
.tl-text strong { color:var(--bone); font-weight:500; }

.about-gal { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4px; height:360px; }
@media(max-width:768px){ .about-gal { grid-template-columns:1fr 1fr; height:auto; } }
.about-gal__item { overflow:hidden; }
@media(max-width:768px){ .about-gal__item { height:220px; } }
.about-gal__item img { width:100%; height:100%; object-fit:cover; filter:brightness(.88) saturate(1.1); transition:transform .8s var(--ease), filter .5s; }
.about-gal__item:hover img { transform:scale(1.06); filter:brightness(1) saturate(1.18); }

/* =============================================================
   BEWERBUNG-PAGE: Apply-Layout + Why-Grid + FAQ
   ============================================================= */
.apply-layout { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; }
@media(max-width:900px){ .apply-layout { grid-template-columns:1fr; } }
.apply-img { position:sticky; top:0; height:100vh; overflow:hidden; }
@media(max-width:900px){ .apply-img { height:420px; position:relative; } }
.apply-img img { width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:brightness(.72) saturate(1.12) contrast(1.08); }
.apply-img__overlay { position:absolute; inset:0; background:linear-gradient(to right,transparent 55%,rgba(245,242,236,.96) 100%); }
@media(max-width:900px){ .apply-img__overlay { background:linear-gradient(to top,rgba(245,242,236,.98) 0%,transparent 55%); } }
.apply-form-side { background:var(--bone); color:var(--ink); padding:clamp(80px,8vw,120px) clamp(32px,5vw,72px); display:flex; flex-direction:column; justify-content:center; }

.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
@media(max-width:768px){ .why-grid { grid-template-columns:1fr; } }
.why-card { padding:clamp(32px,4vw,48px); background:var(--mid); position:relative; }
.why-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold-grad); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
.why-card:hover::after { transform:scaleX(1); }
.why-card__icon { font-family:var(--ff-d); font-size:2.8rem; font-weight:300; color:var(--gold); line-height:1; margin-bottom:16px; }
.why-card__title { font-family:var(--ff-d); font-size:1.4rem; font-weight:300; color:var(--bone); margin-bottom:12px; }
.why-card__text { font-family:var(--ff-b); font-size:.92rem; line-height:1.75; color:rgba(245,242,236,.7); }

.faq-item { border-bottom:1px solid rgba(245,242,236,.1); }
.faq-trigger { width:100%; text-align:left; background:none; border:none; padding:20px 0; display:flex; align-items:center; justify-content:space-between; cursor:none; }
.faq-trigger span { font-family:var(--ff-b); font-size:.98rem; font-weight:400; color:rgba(245,242,236,.85); letter-spacing:.01em; }
.faq-plus { font-size:1.3rem; color:rgba(245,242,236,.5); transition:transform .4s var(--ease), color .3s; flex-shrink:0; }
.faq-item.open .faq-plus { transform:rotate(45deg); color:var(--gold); }
.faq-body { max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.faq-body p { font-family:var(--ff-b); font-size:.92rem; line-height:1.8; color:rgba(245,242,236,.72); padding-bottom:20px; }

/* ── STICKY TITLE PATTERN ────────────────────
 * Die .sticky-title bleibt am Viewport-Rand kleben,
 * waehrend der Inhalt rechts davon weiterscrollt.
 */
.sticky-section {
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(40px,6vw,80px);
}
@media(min-width:900px) {
	.sticky-section { grid-template-columns:0.9fr 1.1fr; gap:clamp(60px,8vw,140px); }
}
.sticky-title {
	position:sticky;
	top:calc(var(--nav-h) + 32px);
	align-self:start;
}

/* ── ATELIER-SPLIT (Editorial Atelier-Bereich) ──── */
.atelier {
	background:var(--bone);
	color:var(--ink);
	padding:clamp(96px,12vw,160px) clamp(32px,7vw,100px);
	position:relative;
	overflow:hidden;
}
.atelier__grid {
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(32px,4vw,56px);
	max-width:1600px;
	margin:0 auto;
}
@media(min-width:900px) {
	.atelier__grid { grid-template-columns:repeat(12,1fr); gap:clamp(16px,2vw,28px); }
}
.atelier__lead {
	grid-column:1 / -1;
	display:flex; flex-direction:column; gap:clamp(20px,3vw,32px);
	margin-bottom:clamp(40px,5vw,72px);
}
@media(min-width:900px) {
	.atelier__lead { grid-column:1 / span 7; }
}
.atelier__big {
	font-family:var(--ff-d);
	font-size:clamp(2.2rem,4.5vw,4.4rem);
	font-weight:300;
	line-height:1;
	letter-spacing:-0.025em;
	color:var(--ink);
}
.atelier__big em { font-style:italic; color:var(--gold-dk); }
.atelier__copy {
	font-family:var(--ff-b);
	font-size:1.05rem;
	line-height:1.85;
	color:rgba(10,10,10,.75);
	max-width:58ch;
}

/* Bildraster im Atelier (asymmetrisch) */
.atelier__media {
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:repeat(12,1fr);
	grid-auto-rows:minmax(180px,auto);
	gap:clamp(8px,1vw,16px);
	position:relative;
}
.atelier__cell { position:relative; overflow:hidden; background:var(--mist); }
.atelier__cell img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease), filter .8s; will-change:transform; filter:brightness(.94) contrast(1.05) saturate(1.05); }
.atelier__cell:hover img { transform:scale(1.05); filter:brightness(1) contrast(1.05) saturate(1.15); }
.atelier__cell::after {
	content:''; position:absolute; inset:0;
	background:transparent;
	transition:background .4s;
	pointer-events:none;
}
.atelier__cell:hover::after { background:rgba(201,165,72,.08); }

.atelier__cell--a { grid-column:1 / span 7; grid-row:1 / span 2; min-height:520px; }
.atelier__cell--b { grid-column:8 / span 5; grid-row:1; min-height:250px; }
.atelier__cell--c { grid-column:8 / span 3; grid-row:2; min-height:250px; }
.atelier__cell--d { grid-column:11 / span 2; grid-row:2; min-height:250px; }
.atelier__cell--e { grid-column:1 / span 5; grid-row:3; min-height:300px; }
.atelier__cell--f { grid-column:6 / span 4; grid-row:3; min-height:300px; }
.atelier__cell--g { grid-column:10 / span 3; grid-row:3; min-height:300px; }

@media(max-width:900px) {
	.atelier__cell--a { grid-column:1 / -1; grid-row:auto; min-height:340px; }
	.atelier__cell--b { grid-column:1 / span 7; grid-row:auto; min-height:220px; }
	.atelier__cell--c { grid-column:8 / span 5; grid-row:auto; min-height:220px; }
	.atelier__cell--d { grid-column:1 / span 5; grid-row:auto; min-height:220px; }
	.atelier__cell--e { grid-column:6 / span 7; grid-row:auto; min-height:220px; }
	.atelier__cell--f { grid-column:1 / span 6; grid-row:auto; min-height:220px; }
	.atelier__cell--g { grid-column:7 / span 6; grid-row:auto; min-height:220px; }
}
@media(max-width:560px) {
	.atelier__media { grid-template-columns:1fr !important; }
	.atelier__cell--a,
	.atelier__cell--b,
	.atelier__cell--c,
	.atelier__cell--d,
	.atelier__cell--e,
	.atelier__cell--f,
	.atelier__cell--g {
		grid-column:1 / -1 !important;
		grid-row:auto !important;
		min-height:260px !important;
	}
}

.atelier__caption {
	grid-column:1 / -1;
	margin-top:clamp(32px,4vw,56px);
	display:flex; justify-content:space-between; align-items:baseline;
	flex-wrap:wrap; gap:24px;
	border-top:1px solid rgba(10,10,10,.12);
	padding-top:clamp(24px,3vw,36px);
}
.atelier__caption-text {
	font-family:var(--ff-d); font-style:italic; font-weight:300;
	font-size:clamp(1.1rem,2vw,1.5rem);
	color:rgba(10,10,10,.6);
	max-width:50ch;
}
.atelier__caption-meta {
	font-family:var(--ff-b); font-size:.7rem; letter-spacing:.22em;
	text-transform:uppercase; font-weight:500;
	color:var(--gold-dk);
}

/* ── TRUST SIGNALS ────────────────────────────────────────── */

/* Rechtliche Trust-Strip (hell, an der Grenze zwischen Sektionen) */
.trust-strip {
	background:var(--bone);
	border-top:1px solid rgba(10,10,10,.08);
	border-bottom:1px solid rgba(10,10,10,.08);
	padding:clamp(40px,5vw,64px) clamp(24px,5vw,72px);
}
.trust-strip__inner {
	max-width:1280px; margin:0 auto;
	display:grid; gap:clamp(28px,3vw,40px);
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	align-items:start;
}
.trust-strip__item {
	display:flex; flex-direction:column; gap:8px;
	border-left:1px solid rgba(10,10,10,.1);
	padding-left:clamp(16px,2vw,22px);
}
.trust-strip__item:first-child {
	border-left:none; padding-left:0;
}
.trust-strip__label {
	font-family:var(--ff-b);
	font-size:.66rem; letter-spacing:.22em;
	text-transform:uppercase; font-weight:600;
	color:var(--gold-dk);
}
.trust-strip__value {
	font-family:var(--ff-d); font-weight:300;
	font-size:clamp(1.05rem,1.6vw,1.35rem);
	line-height:1.3;
	color:var(--ink);
}
.trust-strip__value em {
	font-style:italic;
	background:var(--gold-grad);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
}
.trust-strip__note {
	font-family:var(--ff-b);
	font-size:.78rem; line-height:1.5;
	color:rgba(10,10,10,.6);
}
@media (max-width:760px) {
	.trust-strip__item {
		border-left:none; padding-left:0;
		border-top:1px solid rgba(10,10,10,.1);
		padding-top:20px;
	}
	.trust-strip__item:first-child { border-top:none; padding-top:0; }
}

/* Trainerin-Qualifikationen — Check-Liste */
.qual-list {
	list-style:none;
	margin:0; padding:0;
	display:grid; gap:14px;
}
.qual-list__item {
	display:grid;
	grid-template-columns:24px 1fr;
	gap:14px;
	align-items:start;
	font-family:var(--ff-b);
	font-size:1rem; line-height:1.6;
	color:rgba(10,10,10,.85);
}
.qual-list__check {
	display:inline-flex;
	align-items:center; justify-content:center;
	width:24px; height:24px;
	border-radius:50%;
	background:var(--gold-grad);
	color:var(--bone);
	font-size:.7rem; font-weight:700;
	margin-top:2px;
}
/* Variante fuer dunklen Hintergrund */
.section--ink .qual-list__item,
.section--graphite .qual-list__item {
	color:rgba(245,242,236,.88);
}

/* Garantien-Grid (Bewerbung-Seite) */
.guarantee-grid {
	display:grid;
	gap:clamp(20px,2.5vw,28px);
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	margin:clamp(32px,4vw,48px) 0;
}
.guarantee-card {
	background:rgba(10,10,10,.04);
	border:1px solid rgba(10,10,10,.08);
	border-left:3px solid var(--gold-dk);
	padding:clamp(20px,2.5vw,28px) clamp(20px,2.5vw,28px);
	transition:transform .35s ease, box-shadow .35s ease;
}
.guarantee-card:hover {
	transform:translateY(-3px);
	box-shadow:0 24px 56px -28px rgba(10,10,10,.25);
}
.guarantee-card__icon {
	width:36px; height:36px;
	display:inline-flex; align-items:center; justify-content:center;
	font-family:var(--ff-d);
	font-size:1.1rem;
	background:var(--gold-grad);
	color:var(--bone);
	border-radius:50%;
	margin-bottom:14px;
}
.guarantee-card__title {
	font-family:var(--ff-d); font-weight:300;
	font-style:italic;
	font-size:clamp(1.05rem,1.6vw,1.25rem);
	color:var(--ink);
	margin:0 0 8px;
	line-height:1.25;
}
.guarantee-card__text {
	font-family:var(--ff-b);
	font-size:.92rem; line-height:1.65;
	color:rgba(10,10,10,.72);
	margin:0;
}
