@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/montserrat-500.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/montserrat-600.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/montserrat-700.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/montserrat-800.woff2') format('woff2')}

:root {
  --ink: #05070b;
  --panel: #0a0e14;
  --panel-2: #101722;
  --paper: #f1f0eb;
  --white: #fff;
  --muted: #a8afb9;
  --line: rgba(255,255,255,.14);
  --blue: #1c67b1;
  --blue-hot: #258cf0;
  --green: #23d366;
}

.public-header + .hero { margin-top: 0; }
.public-menu { display: none; }
.public-flash { position: fixed; z-index: 100; top: 20px; left: 50%; padding: 14px 22px; transform: translateX(-50%); border-radius: 12px; box-shadow: 0 12px 40px #000; }
.public-flash.ok { background: #147a49; }
.public-flash.bad { background: #a73742; }
.public-content { max-width: 1050px; }
.public-content p, .public-content li { color: #a5afba; font-size: 17px; line-height: 1.8; }
.public-content h2 { margin-top: 55px; font-size: 44px; }
.public-gallery img[hidden] { display: none; }
.gallery-filters { padding: 0 max(4vw,20px) 30px; display: flex; gap: 8px; flex-wrap: wrap; }
.gallery-filters button { padding: 11px 16px; color: #fff; background: #101722; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; cursor: pointer; }
.standalone-wa { margin: 30px 0; color: #fff; }
.article-lead { max-width: 800px; font: 24px/1.8 Georgia,serif; }
.public-footer { margin-top: 0; }

@media (max-width: 900px) {
  .public-menu { display: grid; }
  .public-content h2 { font-size: 35px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--white); background: var(--ink); font-family: "Segoe UI", Arial, sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--blue-hot); color: #fff; }

.site-header { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 118px; padding: 0 clamp(24px,4vw,72px); display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.13); }
.nav { width: min(980px,72vw); margin: auto; display: grid; grid-template-columns: 1fr 112px 1fr; align-items: center; gap: 32px; }
.nav-side { display: flex; align-items: center; gap: clamp(22px,2.6vw,48px); }
.nav-right { justify-content: flex-end; }
.nav a { color: rgba(255,255,255,.84); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: .2s ease; }
.nav a:hover { color: #fff; }
.brand { align-self: start; width: 112px; height: 128px; padding: 15px 10px 10px; display: grid; place-items: center; background: rgba(2,5,9,.86); border: 1px solid rgba(255,255,255,.18); border-top: 0; backdrop-filter: blur(14px); clip-path: polygon(0 0,100% 0,100% 84%,50% 100%,0 84%); }
.brand img { width: 92px; filter: drop-shadow(0 7px 20px rgba(25,99,184,.38)); }
.brand-mobile { display: none; }
.header-cta { position: absolute; right: clamp(24px,4vw,72px); top: 34px; height: 48px; padding: 0 20px; display: flex; align-items: center; background: var(--blue); border: 1px solid #438ccf; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transition: .25s ease; }
.header-cta:hover { background: var(--blue-hot); transform: translateY(-2px); }
.menu-toggle { display: none; }

.hero { min-height: 860px; height: 100vh; position: relative; display: flex; align-items: center; overflow: hidden; background: #020407; }
.hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,4,8,.94) 0%,rgba(2,4,8,.62) 47%,rgba(2,4,8,.2) 74%),linear-gradient(0deg,rgba(2,4,8,.85) 0%,transparent 35%,rgba(2,4,8,.28) 100%); }
.scanline { position: absolute; inset: 0; opacity: .16; pointer-events: none; background: repeating-linear-gradient(0deg,transparent 0,transparent 4px,rgba(255,255,255,.02) 5px); mix-blend-mode: screen; }
.hero-copy { position: relative; z-index: 2; width: min(1520px,88vw); margin: 88px auto 0; padding-right: 18%; }
.eyebrow, .mini { display: flex; align-items: center; gap: 12px; color: #b7c1cc; font-family: "Courier New", monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow span { padding: 6px 9px; color: #fff; background: var(--blue); font-weight: 900; letter-spacing: .08em; }
.hero h1, h2 { margin: 24px 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: -.015em; line-height: .9; }
.hero h1 { max-width: 1040px; font-size: clamp(64px,7.8vw,132px); text-shadow: 0 10px 40px rgba(0,0,0,.28); }
.hero h1 em, h2 em { color: transparent; -webkit-text-stroke: 1.2px rgba(255,255,255,.65); font-style: normal; }
.hero h1 span { color: #9fcaef; }
.hero-copy > p { max-width: 610px; margin: 28px 0 36px; color: #d2d7dc; font-size: clamp(16px,1.3vw,20px); line-height: 1.7; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.button { min-height: 58px; padding: 0 26px; display: inline-flex; align-items: center; justify-content: center; gap: 48px; border: 1px solid transparent; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; transition: .25s ease; cursor: pointer; }
.button-primary { color: #fff; background: var(--blue); border-color: #3f8dd2; box-shadow: 0 18px 48px rgba(14,75,145,.2); }
.button-primary:hover { background: var(--blue-hot); transform: translateY(-3px); }
.button-ghost { background: rgba(0,0,0,.2); border-color: rgba(255,255,255,.38); backdrop-filter: blur(8px); }
.button-ghost:hover { background: #fff; color: #0b1016; }
.hero-index { position: absolute; z-index: 2; right: clamp(28px,5vw,86px); bottom: 64px; display: flex; align-items: center; gap: 12px; transform: rotate(90deg); transform-origin: bottom right; color: rgba(255,255,255,.58); font-family: "Courier New", monospace; }
.hero-index span { color: #fff; font-size: 16px; font-weight: 700; }
.hero-index i { width: 56px; height: 1px; background: var(--blue-hot); }
.hero-index small { letter-spacing: .16em; }
.scroll-cue { position: absolute; z-index: 3; left: clamp(24px,4vw,72px); bottom: 36px; display: flex; align-items: center; gap: 13px; font-family: "Courier New",monospace; font-size: 9px; letter-spacing: .2em; writing-mode: vertical-rl; }
.scroll-cue i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.3); font-style: normal; writing-mode: initial; }

.quick-grid { position: relative; z-index: 5; display: grid; grid-template-columns: repeat(4,1fr); background: #09101a; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.1); }
.quick-grid a { min-height: 146px; padding: 28px clamp(20px,2.5vw,46px); display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: 1fr 1fr; gap: 3px 18px; align-items: end; border-right: 1px solid rgba(255,255,255,.11); transition: .25s ease; }
.quick-grid a:hover { background: #12263d; }
.quick-grid small { grid-row: 1/3; align-self: center; color: #418ed2; font-family: "Courier New",monospace; }
.quick-grid strong { font-size: 18px; text-transform: uppercase; letter-spacing: .02em; }
.quick-grid span { color: #8895a5; font-size: 12px; }
.quick-grid b { grid-row: 1/3; align-self: center; color: #5d9bd5; font-size: 24px; font-weight: 300; }
.review-card { position: relative; z-index: 10; width: min(1060px,88vw); min-height: 118px; margin: -1px auto -58px; padding: 22px 30px; display: grid; grid-template-columns: 210px 1fr auto; align-items: center; gap: 26px; color: #0b1119; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.review-score { display: flex; align-items: center; gap: 16px; border-right: 1px solid #d9dee4; }
.review-score strong { font-family: Impact,sans-serif; font-size: 45px; font-weight: 400; }
.review-score span { color: #f1a62c; font-size: 13px; letter-spacing: 2px; }
.review-card b { font-size: 16px; text-transform: uppercase; }
.review-card p { margin: 6px 0 0; color: #727982; font-size: 13px; }
.review-card > a { padding: 14px 18px; border: 1px solid #ccd4dd; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.review-card > a span { color: var(--blue); margin-left: 18px; }

.section-pad { padding: clamp(110px,11vw,180px) max(6vw,32px); }
.section-kicker { color: #8290a0; font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.section-kicker span { margin-right: 14px; color: var(--blue-hot); }
.intro { padding-top: 170px; background: var(--paper); color: #0a0e13; }
.intro-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(50px,8vw,150px); align-items: end; }
.intro h2 { font-size: clamp(54px,6.3vw,108px); }
.intro h2 em { -webkit-text-stroke-color: rgba(10,14,19,.45); }
.intro-copy { padding-bottom: 10px; }
.intro-copy p { color: #4d555e; font-size: 16px; line-height: 1.8; }
.intro-copy .lead { color: #111820; font-size: 21px; line-height: 1.6; font-weight: 600; }
.text-link { display: inline-flex; align-items: center; gap: 28px; margin-top: 20px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.text-link span { color: var(--blue); font-size: 20px; }

.statement { min-height: 510px; padding: 80px max(7vw,32px); display: flex; flex-direction: column; justify-content: center; background-position: center; background-size: cover; position: relative; overflow: hidden; }
.statement::after { content: "DISCIPLINE"; position: absolute; right: -45px; bottom: -32px; color: rgba(255,255,255,.035); font-family: Impact,sans-serif; font-size: clamp(100px,18vw,300px); letter-spacing: -.04em; }
.statement-mark { position: absolute; top: 55px; left: max(7vw,32px); color: var(--blue-hot); font-family: Georgia,serif; font-size: 100px; line-height: 1; }
.statement blockquote { position: relative; z-index: 1; margin: 50px 0 24px; font-family: Georgia,serif; font-size: clamp(38px,4.8vw,78px); font-weight: 400; line-height: 1.1; }
.statement blockquote em { color: #9bc7ee; font-weight: 400; }
.statement-line { width: 130px; height: 2px; background: var(--blue-hot); }
.statement small { margin-top: 18px; color: #9ba9b8; font-family: "Courier New",monospace; letter-spacing: .2em; }

.system, .offers, .gallery-section, .faq { background: #070a0f; }
.section-heading { display: grid; grid-template-columns: 1.2fr .55fr; align-items: end; gap: 80px; margin-bottom: 70px; }
.mini { color: #5f91bd; }
.section-heading h2, .training h2, .gallery-head h2, .news h2, .faq h2 { font-size: clamp(52px,6vw,100px); }
.section-heading > p { max-width: 460px; margin: 0 0 12px; color: #a6adb7; font-size: 17px; line-height: 1.8; }
.system-visual { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; }
.system-visual figure { min-height: 600px; margin: 0; position: relative; overflow: hidden; background: #101720; }
.system-visual figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,8,13,.8),transparent 55%); }
.system-visual figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.6) contrast(1.08); }
.system-visual figcaption { position: absolute; z-index: 2; inset: auto 26px 24px; display: flex; justify-content: space-between; font-family: "Courier New",monospace; font-size: 11px; letter-spacing: .18em; }
.principles { border-top: 1px solid var(--line); }
.principles article { min-height: 200px; padding: 30px 38px; display: grid; grid-template-columns: 55px 1fr; align-items: center; gap: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0c1118; transition: .25s ease; }
.principles article:hover { background: #111d2b; }
.principles article > b { align-self: start; color: #327fc2; font-family: "Courier New",monospace; }
.principles h3 { margin: 0 0 13px; font-size: 25px; text-transform: uppercase; }
.principles p { margin: 0; color: #96a0ab; line-height: 1.7; }

.training { position: relative; color: #0b1015; background: var(--paper); overflow: hidden; }
.training::before { content: "03"; position: absolute; right: -20px; top: 15px; color: rgba(10,20,30,.035); font-family: Impact,sans-serif; font-size: 380px; line-height: 1; }
.training h2 em { -webkit-text-stroke-color: rgba(10,14,19,.45); }
.training-top { position: relative; display: grid; grid-template-columns: 1fr minmax(410px,.55fr); align-items: end; gap: 80px; }
.time-card { color: #fff; background: #0a111a; border-top: 4px solid var(--blue); padding: 32px; box-shadow: 20px 20px 0 #d6d7d3; }
.time-card small { display: block; margin-bottom: 20px; color: #6f91b3; font-family: "Courier New",monospace; letter-spacing: .17em; }
.time-card div { padding: 15px 0; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.12); }
.time-card div b { color: #71a8d9; }
.time-card p { margin: 20px 0 0; color: #9ca7b2; font-size: 12px; }
.topic-grid { position: relative; margin-top: 90px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #c7c9c8; border-left: 1px solid #c7c9c8; }
.topic-grid div { min-height: 150px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid #c7c9c8; border-bottom: 1px solid #c7c9c8; transition: .2s ease; }
.topic-grid div:hover { color: #fff; background: var(--blue); }
.topic-grid span { color: #6a747f; font-family: "Courier New",monospace; font-size: 11px; }
.topic-grid b { font-size: 17px; text-transform: uppercase; }

.trainer { min-height: 820px; display: grid; grid-template-columns: 1.05fr .95fr; background: #05080d; }
.trainer-image { position: relative; min-height: 720px; overflow: hidden; }
.trainer-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 55%,#05080d),linear-gradient(0deg,#05080d 0%,transparent 35%); }
.trainer-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(1.08); }
.trainer-copy { padding: 120px max(6vw,60px) 100px 4vw; display: flex; flex-direction: column; justify-content: center; }
.trainer-copy h2 { font-size: clamp(50px,5vw,86px); }
.experience { margin: 8px 0 30px; display: flex; align-items: center; gap: 24px; }
.experience strong { color: #87bde9; font-family: Impact,sans-serif; font-size: 82px; font-weight: 400; line-height: 1; }
.experience span { padding-left: 24px; border-left: 1px solid var(--line); color: #c0c7d0; font-size: 14px; line-height: 1.5; text-transform: uppercase; }
.trainer-copy > p { max-width: 560px; color: #9da6b2; font-size: 17px; line-height: 1.8; }
.trainer-copy .button { align-self: flex-start; margin-top: 20px; }

.offer-list { border-top: 1px solid var(--line); }
.offer-list > a { min-height: 150px; padding: 24px 30px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); transition: .25s ease; }
.offer-list > a:hover { padding-left: 45px; background: #0c1723; }
.offer-list > a > span { color: #3f82bc; font-family: "Courier New",monospace; }
.offer-list small { color: #758699; font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .14em; }
.offer-list h3 { margin: 10px 0 0; font-size: clamp(25px,3vw,45px); text-transform: uppercase; }
.offer-list > a > b { color: #5e9ed8; font-size: 30px; font-weight: 300; }

.gallery-section { padding-top: 60px; }
.gallery-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; padding-bottom: 22px; }
.filters button { padding: 10px 15px; color: #8390a0; background: transparent; border: 1px solid var(--line); font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }
.filters button.active, .filters button:hover { color: #fff; background: var(--blue); border-color: var(--blue); }
.masonry { columns: 3 280px; column-gap: 14px; }
.masonry figure { position: relative; margin: 0 0 14px; break-inside: avoid; overflow: hidden; background: #111923; }
.masonry figure img { width: 100%; aspect-ratio: 1.2/1; object-fit: cover; filter: saturate(.72); transition: .4s ease; }
.masonry figure.tall img { aspect-ratio: .83/1; }
.masonry figure:hover img { transform: scale(1.035); filter: saturate(1); }
.masonry figcaption { position: absolute; inset: auto 0 0; padding: 28px 18px 16px; display: flex; justify-content: space-between; color: #fff; background: linear-gradient(0deg,rgba(2,5,8,.9),transparent); font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.gallery-link { margin-top: 25px; }

.news { color: #0a0f14; background: #dfe3e7; }
.news h2 em { -webkit-text-stroke-color: rgba(10,15,20,.42); }
.news-layout { margin-top: 45px; display: grid; grid-template-columns: .8fr 1fr .62fr; gap: 44px; align-items: start; }
.news-layout > div:first-child p { max-width: 470px; color: #59616a; line-height: 1.8; }
.news-feature img { width: 100%; aspect-ratio: 1.2/1; object-fit: cover; filter: saturate(.65) contrast(1.05); }
.news-feature small, .news-stack small { display: block; margin: 18px 0 10px; color: #2873b2; font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .15em; }
.news-feature h3 { margin: 0 0 20px; font-size: 27px; line-height: 1.25; text-transform: uppercase; }
.news-feature a { font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.news-stack article { min-height: 180px; padding: 8px 0 30px; border-bottom: 1px solid #b8bfc6; position: relative; }
.news-stack article + article { padding-top: 30px; }
.news-stack h3 { margin: 0; padding-right: 30px; font-size: 20px; line-height: 1.4; text-transform: uppercase; }
.news-stack a { position: absolute; right: 0; bottom: 30px; color: var(--blue); font-size: 24px; }

.faq { display: grid; grid-template-columns: .72fr 1.1fr; gap: 9vw; }
.faq-intro > p { max-width: 420px; color: #929daa; line-height: 1.8; }
.accordion { border-top: 1px solid var(--line); }
.accordion article { border-bottom: 1px solid var(--line); }
.accordion button { width: 100%; min-height: 110px; padding: 22px 4px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 16px; color: #fff; background: transparent; border: 0; text-align: left; cursor: pointer; }
.accordion button span { color: #3f7db4; font-family: "Courier New",monospace; font-size: 11px; }
.accordion button b { font-size: 18px; text-transform: uppercase; }
.accordion button i { color: #69a5d7; font-size: 26px; font-style: normal; font-weight: 300; }
.accordion article > div { display: grid; grid-template-rows: 0fr; transition: .3s ease; }
.accordion article > div p { overflow: hidden; margin: 0; padding: 0 70px; color: #99a4b0; line-height: 1.8; }
.accordion article.open > div { grid-template-rows: 1fr; }
.accordion article.open > div p { padding-bottom: 30px; }

.trial { min-height: 760px; display: grid; grid-template-columns: .92fr 1.08fr; background: var(--blue); position: relative; overflow: hidden; }
.trial::before { content: "IFC"; position: absolute; left: -35px; bottom: -80px; color: rgba(255,255,255,.06); font-family: Impact,sans-serif; font-size: 330px; line-height: 1; }
.trial-copy { position: relative; padding: 110px 5vw 100px 7vw; }
.trial-copy .mini { color: #b9d9f5; }
.trial-copy h2 { font-size: clamp(56px,6vw,100px); }
.trial-copy > p { max-width: 530px; font-size: 17px; line-height: 1.8; }
.whatsapp-inline { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.whatsapp-inline span { color: var(--green); font-size: 24px; }
.trial-form { padding: 90px clamp(32px,6vw,100px); display: flex; flex-direction: column; justify-content: center; background: #f5f5f2; color: #0b1118; }
.trial-form label { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; font-family: "Courier New",monospace; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.trial-form input { height: 55px; padding: 0 0; color: #0b1118; background: transparent; border: 0; border-bottom: 1px solid #aab0b5; outline: 0; font-size: 16px; letter-spacing: 0; text-transform: none; transition: .2s ease; }
.trial-form input:focus { border-bottom-color: var(--blue); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.trial-form .check { margin: 14px 0 28px; flex-direction: row; align-items: flex-start; gap: 12px; color: #58616a; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.trial-form .check input { flex: 0 0 17px; width: 17px; height: 17px; margin-top: 2px; }
.trial-form .submit { width: 100%; }
.success { padding: 45px; border-left: 4px solid var(--blue); background: #fff; }
.success b { font-family: Impact,sans-serif; font-size: 38px; font-weight: 400; text-transform: uppercase; }
.success p { color: #59636d; line-height: 1.7; }
.success button { padding: 12px 0; color: var(--blue); background: none; border: 0; border-bottom: 1px solid var(--blue); font-weight: 800; cursor: pointer; }

footer { background: #030508; }
.footer-main { padding: 85px max(6vw,32px); display: grid; grid-template-columns: 1.4fr 1fr 1fr .7fr; gap: 65px; border-bottom: 1px solid var(--line); }
.footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-main small { margin-bottom: 14px; color: #477da9; font-family: "Courier New",monospace; font-size: 9px; letter-spacing: .18em; }
.footer-main p, .footer-main a { margin: 0; color: #a5adb6; font-size: 13px; line-height: 1.8; }
.footer-main a:hover { color: #fff; }
.footer-brand img { width: 125px; }
.footer-brand p { color: #fff; font-size: 17px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.socials { display: flex; gap: 8px; margin-top: 18px; }
.socials a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); color: #fff; font-size: 10px; font-weight: 800; }
.footer-bottom { min-height: 80px; padding: 0 max(6vw,32px); display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #66717e; font-family: "Courier New",monospace; font-size: 9px; letter-spacing: .12em; }
.footer-bottom div { display: flex; gap: 26px; }
.footer-bottom b { color: #fff; }

.whatsapp-fixed { position: fixed; z-index: 70; right: 0; top: 56%; height: 54px; padding: 0 17px; display: flex; align-items: center; gap: 10px; color: #fff; background: #128c4a; border-radius: 3px 0 0 3px; box-shadow: 0 12px 35px rgba(0,0,0,.35); transform: translateX(calc(100% - 51px)); transition: .25s ease; }
.whatsapp-fixed:hover { transform: translateX(0); background: #17a959; }
.whatsapp-fixed span { color: #fff; font-size: 23px; }
.whatsapp-fixed b { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1150px) {
  .site-header { height: 96px; }
  .nav { width: 72vw; grid-template-columns: 1fr 92px 1fr; gap: 20px; }
  .brand { width: 92px; height: 108px; }
  .nav-side { gap: 18px; }
  .nav a { font-size: 10px; }
  .header-cta { right: 24px; top: 25px; }
  .quick-grid { grid-template-columns: repeat(2,1fr); }
  .review-card { grid-template-columns: 190px 1fr; }
  .review-card > a { grid-column: 1/3; text-align: center; }
  .intro-grid, .section-heading { grid-template-columns: 1fr; gap: 25px; }
  .system-visual { grid-template-columns: 1fr; }
  .system-visual figure { min-height: 540px; }
  .principles { display: grid; grid-template-columns: repeat(3,1fr); }
  .principles article { min-height: 230px; grid-template-columns: 1fr; }
  .training-top { grid-template-columns: 1fr minmax(340px,.7fr); gap: 45px; }
  .topic-grid { grid-template-columns: repeat(2,1fr); }
  .trainer { grid-template-columns: 1fr 1fr; }
  .trainer-copy { padding-right: 35px; }
  .news-layout { grid-template-columns: 1fr 1fr; }
  .news-stack { grid-column: 2; }
  .faq { grid-template-columns: .8fr 1.2fr; gap: 50px; }
}

@media (max-width: 820px) {
  .site-header { position: absolute; padding: 0 18px; justify-content: space-between; }
  .brand-mobile { display: grid; position: relative; width: 78px; height: 95px; z-index: 3; }
  .brand-mobile img { width: 67px; }
  .menu-toggle { display: grid; z-index: 4; width: 44px; height: 44px; place-content: center; gap: 7px; color: #fff; background: rgba(5,8,13,.7); border: 1px solid rgba(255,255,255,.25); }
  .menu-toggle span { width: 21px; height: 1px; background: #fff; }
  .nav { position: fixed; inset: 0; width: 100%; padding: 120px 35px 40px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; background: rgba(4,7,12,.98); opacity: 0; visibility: hidden; transform: translateY(-20px); transition: .25s ease; }
  .nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav .brand { display: none; }
  .nav-side { width: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-side a { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
  .header-cta { display: none; }
  .hero { min-height: 760px; }
  .hero-copy { width: auto; margin: 70px 23px 0; padding: 0; }
  .hero h1 { font-size: clamp(53px,14.6vw,87px); line-height: .92; }
  .hero-copy > p { max-width: 85%; font-size: 15px; }
  .button { min-height: 54px; padding: 0 20px; gap: 24px; }
  .hero-index { display: none; }
  .scroll-cue { display: none; }
  .quick-grid { grid-template-columns: 1fr; }
  .quick-grid a { min-height: 108px; }
  .review-card { width: calc(100% - 30px); margin-bottom: -80px; padding: 20px; grid-template-columns: 1fr; gap: 16px; }
  .review-score { border-right: 0; }
  .review-card > a { grid-column: auto; }
  .section-pad { padding: 105px 23px; }
  .intro { padding-top: 150px; }
  .intro-grid { display: block; }
  .intro h2, .section-heading h2, .training h2, .gallery-head h2, .news h2, .faq h2 { font-size: 53px; }
  .intro-copy .lead { font-size: 18px; }
  .statement { min-height: 430px; padding: 70px 23px; }
  .statement-mark { left: 23px; }
  .statement blockquote { font-size: 38px; }
  .section-heading { display: block; margin-bottom: 45px; }
  .system-visual figure { min-height: 380px; }
  .principles { display: block; }
  .principles article { min-height: 180px; grid-template-columns: 45px 1fr; padding: 25px 23px; }
  .training-top { display: block; }
  .time-card { margin-top: 45px; box-shadow: 10px 10px 0 #d6d7d3; }
  .topic-grid { grid-template-columns: 1fr; margin-top: 70px; }
  .topic-grid div { min-height: 105px; }
  .trainer { display: block; }
  .trainer-image { min-height: 520px; }
  .trainer-image::after { background: linear-gradient(0deg,#05080d,transparent 45%); }
  .trainer-copy { padding: 30px 23px 95px; }
  .trainer-copy h2 { font-size: 50px; }
  .offer-list > a { min-height: 135px; padding: 22px 5px; grid-template-columns: 40px 1fr auto; }
  .offer-list > a:hover { padding-left: 10px; }
  .gallery-head { display: block; }
  .filters { padding: 5px 0 35px; }
  .masonry { columns: 2 140px; gap: 8px; }
  .masonry figure { margin-bottom: 8px; }
  .news-layout { display: block; }
  .news-layout > * { margin-bottom: 55px; }
  .news-stack article { margin-bottom: 0; }
  .faq { display: block; }
  .faq-intro { margin-bottom: 60px; }
  .accordion button { min-height: 95px; grid-template-columns: 34px 1fr auto; }
  .accordion button b { font-size: 15px; }
  .accordion article > div p { padding-left: 50px; padding-right: 30px; }
  .trial { display: block; }
  .trial-copy { padding: 90px 23px 70px; }
  .trial-copy h2 { font-size: 58px; }
  .trial-form { padding: 65px 23px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 50px 25px; padding: 70px 23px; }
  .footer-brand { grid-column: 1/3; }
  .footer-bottom { padding: 25px 23px; flex-direction: column; align-items: flex-start; }
  .whatsapp-fixed { top: auto; bottom: 20px; right: 16px; width: 54px; border-radius: 50%; padding: 0; justify-content: center; transform: none; }
  .whatsapp-fixed b { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero video { display: none; }
  .hero { background: #07111d url("https://kravmaga-ifc.de/01-kravmaga-stuttgart.jpg") center/cover no-repeat; }
}

/* IFC 1.2 — Montserrat, red/white energy system and CMS-driven home */
body, button, input, select, textarea { font-family: Montserrat, Arial, sans-serif; }
.eyebrow, .mini, .section-kicker, .statement small, .time-card small, .trial-form label,
.footer-main small, .footer-bottom, .archive-head > span, .article-page article > span { font-family: Montserrat, Arial, sans-serif; }
.eyebrow { color:#fff; font-size:16px; font-weight:400; letter-spacing:.02em; text-transform:none; }
.hero h1 em, h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.5px currentColor; -webkit-text-stroke-color:rgba(255,255,255,.78); }
.intro h2 em, .training h2 em { -webkit-text-stroke-color:rgba(10,14,19,.5); }
.hero-dynamic-line em { -webkit-text-stroke-color:var(--accent-hot); }
.hero-dynamic-line .hero-word.outline { color:transparent; -webkit-text-stroke:1.5px var(--accent-hot); }
.quick-grid a { box-shadow:0 12px 32px rgba(0,0,0,.22),0 0 12px rgba(226,19,58,.035); }
.quick-grid a:hover { box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 16px rgba(226,19,58,.07); }
.review-score { gap:12px; }
.review-score strong { color:#fbbc04; font-family:Montserrat,Arial,sans-serif; font-size:25px; letter-spacing:3px; }
.review-score span { color:#5f6368; }
.mini, .section-heading .mini, .trainer-copy .mini, .section-kicker { color:#ee1f46; font-size:16px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.intro-button { margin-top:22px; }
.principles article { display:flex; grid-template-columns:none; background:linear-gradient(135deg,#ee1f46 0%,#c70e35 58%,#8f0827 100%); border-color:rgba(255,255,255,.12); box-shadow:0 16px 36px rgba(145,4,35,.16); }
.principles article:hover { background:linear-gradient(135deg,#ff3157,#cf1038 58%,#970729); border-color:rgba(255,255,255,.24); }
.principles h3 { margin-bottom:14px; color:#fff; font-size:29px; }
.principles p { color:#fff; font-size:16px; }
.time-card { color:#fff; border-top-color:#ee1f46; box-shadow:18px 18px 0 rgba(226,19,58,.12); }
.time-card small,.time-card div b,.time-card p { color:#fff; }
.trainer-copy > p { color:#fff; }
.gallery-head { justify-content:center; text-align:center; }
.gallery-head h2 { white-space:nowrap; }
.gallery-head h2 br { display:none; }
.masonry { margin-top:40px; columns:3 280px; column-gap:18px; }
.masonry figure { margin-bottom:18px; }
.masonry figure:nth-child(3n+1) img { aspect-ratio:.78/1; }
.masonry figure:nth-child(3n+2) img { aspect-ratio:1.25/1; }
.masonry figure:nth-child(3n) img { aspect-ratio:1/1; }
.masonry figcaption { display:none; }
.button-outline { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.84); }
.button-outline:hover { color:#060a10; background:#fff; transform:translateY(-3px); }
.gallery-link { width:max-content; margin:34px auto 0; }
.faq-intro .button { margin-top:25px; }
.faq-links { display:grid; gap:10px; }
.faq-links a { min-height:90px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#0b131f; border:1px solid var(--line); border-radius:17px; transition:.22s ease; }
.faq-links a:hover { border-color:rgba(238,31,70,.58); background:#111b29; transform:translateX(5px); }
.faq-links b { font-size:18px; font-weight:550; line-height:1.4; }
.faq-links i { color:#ee1f46; font-size:23px; font-style:normal; }
.faq-archive-list a { grid-template-columns:1fr auto; }
.masonry-gallery{columns:3 260px;column-gap:18px}.masonry-gallery img{width:100%;height:auto;margin:0 0 18px;display:block;break-inside:avoid;border-radius:18px}.masonry-gallery img:nth-child(3n+1){aspect-ratio:.78/1;object-fit:cover}.masonry-gallery img:nth-child(3n+2){aspect-ratio:1.25/1;object-fit:cover}
.trial-copy .mini { color:#fff; }
.trial-form { box-shadow:0 26px 75px rgba(39,0,9,.25); }
.trial-form h3 { margin:0 0 28px; font-size:clamp(28px,2.4vw,40px); }
.trial-form input,.trial-form select { width:100%; height:56px; padding:0 15px; color:#0b1118; background:#fff; border:1px solid #d8dce1; border-radius:12px; outline:0; font:500 16px Montserrat,Arial,sans-serif; }
.trial-form input:focus,.trial-form select:focus { border-color:#ee1f46; box-shadow:0 0 0 4px rgba(238,31,70,.1); }
.trial-form .check a,.standalone-form .consent a { color:#b60e31; text-decoration:underline; }
.public-footer { position:relative; isolation:isolate; overflow:hidden; background-image:linear-gradient(90deg,rgba(4,7,12,.96),rgba(4,7,12,.76)),url('https://kravmaga-ifc.de/bg-section-kravmaga-stuttgart.png'); background-position:center; background-size:cover; }
.footer-watermark { position:absolute; z-index:-1; left:-1vw; bottom:20px; color:rgba(255,255,255,.035); font:900 clamp(90px,15vw,250px)/.8 Montserrat,Arial,sans-serif; letter-spacing:-.07em; white-space:nowrap; }
.footer-main { position:relative; grid-template-columns:.75fr 1.1fr .8fr .85fr 1.55fr; gap:clamp(28px,3.7vw,70px); }
.footer-main small { color:#ee1f46; font-size:15px; font-weight:650; letter-spacing:.04em; }
.footer-brand img { width:min(170px,100%); }
.footer-contact a { word-break:break-word; }
.footer-contact a:first-of-type { color:#fff; font-size:20px; font-weight:650; }
.footer-faq { max-height:300px; overflow:auto; padding-right:8px; }
.footer-faq a { font-size:12px; line-height:1.45; }
@media(max-width:1100px){.footer-main{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:auto}.footer-faq{grid-column:2/4}.gallery-head h2{white-space:normal}}
@media(max-width:760px){.mini,.section-kicker{font-size:13px;letter-spacing:.1em}.eyebrow{font-size:14px}.review-score strong{font-size:19px}.gallery-head h2{font-size:clamp(45px,14vw,68px)}.faq{display:block}.faq-intro{margin-bottom:40px}.trial-form{padding:42px 22px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr}.footer-faq{grid-column:1/3}.footer-watermark{font-size:28vw}}
@media(max-width:520px){.footer-main{grid-template-columns:1fr}.footer-faq{grid-column:auto}.footer-brand{align-items:center!important}.footer-bottom{align-items:flex-start;padding-block:24px;flex-direction:column}.masonry{columns:2 140px}}

/* Supporting pages */
.subpage { min-height: 100vh; background: #06090e; }
.sub-header { height: 98px; padding: 0 max(4vw,24px); display: flex; align-items: center; gap: 44px; border-bottom: 1px solid var(--line); background: #05080d; }
.sub-logo { width: 78px; align-self: stretch; padding: 9px; display: grid; place-items: center; background: #080d14; }
.sub-header nav { margin: auto; display: flex; gap: clamp(18px,2.6vw,44px); }
.sub-header nav a, .sub-cta { font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.sub-cta { padding: 14px 18px; background: var(--blue); }
.sub-hero { min-height: 680px; position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.sub-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,6,10,.95),rgba(3,6,10,.5) 55%,rgba(3,6,10,.15)),linear-gradient(0deg,#06090e,transparent 42%); }
.sub-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) contrast(1.05); }
.sub-hero > div { position: relative; z-index: 2; width: min(1200px,88vw); margin: auto; padding: 150px 0 80px; }
.sub-hero span, .archive-head > span, .legal > span, .article-page article > span { color: #65a2d7; font-family: "Courier New",monospace; font-size: 10px; letter-spacing: .2em; }
.sub-hero h1, .archive-head h1, .legal h1, .article-page h1 { max-width: 1050px; margin: 20px 0; font-family: Impact,sans-serif; font-size: clamp(64px,7.5vw,125px); font-weight: 400; line-height: .9; text-transform: uppercase; }
.sub-hero p, .archive-head p { max-width: 680px; color: #c2c9d1; font-size: 19px; line-height: 1.7; }
.sub-blocks { padding: 90px max(6vw,28px) 130px; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.sub-blocks article { min-height: 310px; padding: 36px; border: 1px solid var(--line); border-right: 0; background: #0a0f16; }
.sub-blocks article:last-child { border-right: 1px solid var(--line); }
.sub-blocks article > span { color: #3d82bd; font-family: "Courier New",monospace; font-size: 11px; }
.sub-blocks h2 { margin: 55px 0 20px; font-family: Impact,sans-serif; font-size: 34px; font-weight: 400; letter-spacing: .01em; }
.sub-blocks p { color: #99a4b0; line-height: 1.8; }
.sub-action { padding: 90px max(6vw,28px); display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #111a25; }
.sub-action h2 { margin: 0; font-size: clamp(40px,5vw,76px); }
.sub-footer { padding: 70px max(5vw,25px); display: grid; grid-template-columns: 100px 1.5fr 1fr .5fr; align-items: start; gap: 45px; border-top: 1px solid var(--line); background: #030508; }
.sub-footer img { width: 90px; }
.sub-footer div { display: flex; flex-direction: column; gap: 7px; }
.sub-footer span, .sub-footer a { color: #9ba5b0; font-size: 12px; line-height: 1.7; }
.archive-head { padding: 150px max(6vw,28px) 80px; background: radial-gradient(circle at 85% 20%,#142a42 0,transparent 34%),#06090e; }
.archive-gallery { padding: 0 max(4vw,20px) 110px; columns: 3 300px; column-gap: 14px; }
.archive-gallery img { width: 100%; margin-bottom: 14px; break-inside: avoid; filter: saturate(.72) contrast(1.04); }
.link-list { padding: 0 max(6vw,28px) 120px; border-top: 1px solid var(--line); }
.link-list a { min-height: 125px; padding: 25px 10px; display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); }
.link-list a span { color: #4d89bd; font-family: "Courier New",monospace; font-size: 11px; }
.link-list h2 { margin: 0; font-size: clamp(23px,3vw,40px); }
.link-list a > b { color: #5a9ed7; font-size: 28px; }
.news-archive { padding: 0 max(6vw,28px) 120px; display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.news-archive a { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.news-archive img { width: 100%; aspect-ratio: 1.25/1; object-fit: cover; filter: saturate(.65); }
.news-archive small { display: block; margin: 20px 0 10px; color: #5596ce; font-family: "Courier New",monospace; letter-spacing: .14em; }
.news-archive h2 { margin: 0; font-size: 28px; }
.news-archive p { color: #909ba7; line-height: 1.7; }
.news-archive b { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.standalone-form { padding: 0 max(6vw,28px) 120px; }
.standalone-form form { max-width: 760px; padding: 55px; color: #0b1118; background: #f4f4f1; }
.standalone-form form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.standalone-form label { margin-bottom: 20px; display: flex; flex-direction: column; gap: 7px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.standalone-form input { height: 50px; border: 0; border-bottom: 1px solid #a9afb5; background: transparent; outline: 0; }
.standalone-form .consent { flex-direction: row; align-items: center; text-transform: none; letter-spacing: 0; }
.standalone-form .consent input { width: 17px; height: 17px; }
.legal { min-height: 680px; padding: 150px max(7vw,28px); }
.legal p { max-width: 850px; color: #a5afba; font-size: 16px; line-height: 1.8; }
.article-page { min-height: 100vh; background: #f1f0eb; color: #0a0f14; }
.article-page header { height: 100px; padding: 0 max(6vw,24px); display: flex; align-items: center; justify-content: space-between; color: #fff; background: #05080d; }
.article-page header img { width: 72px; max-height: 87px; object-fit: contain; }
.article-page header > a:last-child { font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.article-page article { max-width: 1040px; margin: auto; padding: 120px 24px; }
.article-page h1 { max-width: 100%; }
.article-page article > p { max-width: 780px; color: #48525c; font-family: Georgia,serif; font-size: 20px; line-height: 1.85; }
.article-page .article-lead { color: #111820; font-size: 25px; }
.article-image { width: 100%; max-height: 620px; margin: 45px 0; object-fit: cover; }
.article-page .button { margin-top: 30px; color: #fff; }

@media (max-width: 820px) {
  .sub-header { height: 85px; padding: 0 18px; }
  .sub-logo { width: 67px; }
  .sub-header nav { display: none; }
  .sub-cta { margin-left: auto; }
  .sub-hero { min-height: 620px; }
  .sub-hero > div { width: auto; margin: 0 23px; padding-bottom: 65px; }
  .sub-hero h1, .archive-head h1, .legal h1, .article-page h1 { font-size: 58px; }
  .sub-hero p, .archive-head p { font-size: 16px; }
  .sub-blocks { grid-template-columns: 1fr; padding: 60px 23px 90px; }
  .sub-blocks article { min-height: 230px; border-right: 1px solid var(--line); border-bottom: 0; }
  .sub-blocks article:last-child { border-bottom: 1px solid var(--line); }
  .sub-blocks h2 { margin-top: 35px; }
  .sub-action { padding: 70px 23px; flex-direction: column; align-items: flex-start; }
  .sub-footer { grid-template-columns: 1fr 1fr; padding: 60px 23px; }
  .sub-footer > img { grid-column: 1/3; }
  .archive-head { padding: 110px 23px 60px; }
  .news-archive { grid-template-columns: 1fr; padding: 0 23px 90px; }
  .link-list { padding: 0 23px 90px; }
  .link-list a { grid-template-columns: 38px 1fr auto; }
  .standalone-form { padding: 0 23px 90px; }
  .standalone-form form { padding: 30px 23px; }
  .standalone-form form > div { grid-template-columns: 1fr; gap: 0; }
  .legal { padding: 110px 23px; }
  .article-page article { padding: 80px 23px; }
  .article-page article > p { font-size: 18px; }
}

/* IFC Energy Refresh 1.1 */
:root {
  --ink: #04070d;
  --panel: #0a1220;
  --panel-2: #101d31;
  --paper: #f4f3ef;
  --muted: #aeb9c7;
  --line: rgba(255,255,255,.13);
  --blue: #12458f;
  --blue-hot: #2f7ae5;
  --accent: #e2133a;
  --accent-hot: #ff3157;
  --green: #25d366;
}

body { font-family: Inter, "Segoe UI", Arial, sans-serif; }
.eyebrow, .mini, .section-kicker, .hero-index, .scroll-cue, .statement small,
.system-visual figcaption, .principles article > b, .time-card small, .topic-grid span,
.offer-list > a > span, .offer-list small, .filters button, .masonry figcaption,
.news-feature small, .news-stack small, .accordion button span, .trial-form label,
.footer-main small, .footer-bottom, .sub-hero span, .archive-head > span, .legal > span,
.article-page article > span, .sub-blocks article > span, .link-list a span, .news-archive small {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.site-header { height: 136px; padding: 0; border: 0; pointer-events: none; }
.site-header .brand { position: absolute; z-index: 3; top: 24px; left: clamp(22px,3vw,48px); width: 152px; height: 94px; padding: 10px 16px; align-self: auto; background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.85); border-radius: 17px; clip-path: none; box-shadow: 0 18px 55px rgba(0,0,0,.32); backdrop-filter: blur(16px); pointer-events: auto; }
.site-header .brand::after { content: ""; position: absolute; right: -11px; top: 25px; width: 22px; height: 44px; background: rgba(255,255,255,.97); transform: skewX(-14deg); border-radius: 0 7px 7px 0; }
.site-header .brand img { position: relative; z-index: 1; width: 116px; max-height: 74px; object-fit: contain; filter: none; }
.nav { position: absolute; z-index: 2; top: 32px; right: clamp(22px,3vw,48px); width: auto; margin: 0; padding: 6px; display: flex; align-items: center; gap: 4px; background: rgba(3,8,15,.84); border: 1px solid rgba(255,255,255,.2); border-radius: 19px; box-shadow: 0 18px 58px rgba(0,0,0,.28); backdrop-filter: blur(18px); pointer-events: auto; }
.nav-side { display: flex; align-items: center; gap: 1px; }
.nav a { padding: 16px 14px; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; border-radius: 12px; }
.nav-side a:hover { color: #fff; background: rgba(47,122,229,.16); }
.header-cta { position: static; height: 52px; padding: 0 23px !important; color: #fff !important; background: linear-gradient(135deg,var(--accent),var(--accent-hot)); border: 0; border-radius: 13px !important; font-size: 15px !important; font-weight: 650 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: 0 12px 34px rgba(226,19,58,.28); }
.header-cta:hover { background: linear-gradient(135deg,var(--accent-hot),#ff5070); transform: translateY(-1px); }

.hero { min-height: 840px; isolation: isolate; }
.hero video { opacity: .76; filter: saturate(1.18) contrast(1.08); }
.hero-shade { background: radial-gradient(circle at 76% 32%,rgba(47,122,229,.18),transparent 29%),radial-gradient(circle at 62% 88%,rgba(226,19,58,.18),transparent 30%),linear-gradient(90deg,rgba(3,6,12,.96) 0%,rgba(5,10,20,.72) 48%,rgba(4,8,14,.22) 80%),linear-gradient(0deg,rgba(3,7,13,.92),transparent 46%,rgba(2,5,10,.3)); }
.hero::after { content: ""; position: absolute; z-index: 1; top: -28%; left: 54%; width: 24%; height: 160%; background: linear-gradient(90deg,transparent,rgba(47,122,229,.11),rgba(226,19,58,.09),transparent); transform: rotate(15deg) translateX(-130%); filter: blur(16px); animation: energySweep 8s ease-in-out infinite; pointer-events: none; }
.hero-copy { width: min(1520px,91vw); margin-top: 92px; padding-right: 8%; }
.eyebrow, .mini, .section-kicker { color: #c0cad6; font-size: 14px; font-weight: 550; letter-spacing: .045em; text-transform: none; }
.eyebrow span { padding: 7px 11px; background: var(--accent); border-radius: 8px; font-weight: 750; }
.hero h1 { max-width: 1230px; margin: 22px 0; font-size: clamp(62px,7.4vw,124px); line-height: .91; }
.hero-title-static { display: block; color: #fff; text-shadow: 0 12px 45px rgba(0,0,0,.42); }
.hero-dynamic-line { display: block; min-height: 1em; color: var(--accent-hot); text-shadow: 0 0 34px rgba(226,19,58,.24); }
.hero-word { display: inline-block; margin-right: .23em; white-space: nowrap; }
.hero-dynamic-line .hero-word > span { display: inline-block; opacity: 0; filter: blur(8px); transform: translateY(.58em) rotateX(-65deg); transform-origin: 50% 100%; animation: heroLetterIn .72s cubic-bezier(.18,.78,.22,1) forwards; animation-delay: calc(var(--letter) * 34ms); }
.hero-copy > p { max-width: 670px; color: #e2e7ed; font-size: clamp(18px,1.35vw,22px); }
.button { position: relative; overflow: hidden; min-height: 58px; padding: 0 28px; gap: 18px; border-radius: 14px; font-size: 15px; font-weight: 620; letter-spacing: 0; text-transform: none; }
.button::after { content: ""; position: absolute; inset: -80% auto -80% -40%; width: 28%; background: rgba(255,255,255,.28); transform: skewX(-20deg) translateX(-220%); transition: transform .55s ease; }
.button:hover::after { transform: skewX(-20deg) translateX(650%); }
.button-primary { background: linear-gradient(135deg,var(--accent),var(--accent-hot)); border-color: rgba(255,255,255,.18); box-shadow: 0 18px 48px rgba(226,19,58,.26); }
.button-primary:hover { background: linear-gradient(135deg,var(--accent-hot),#ff5573); }
.button-ghost { border-color: rgba(255,255,255,.42); border-radius: 14px; }
.hero-index, .scroll-cue { font-size: 11px; letter-spacing: .08em; }
.hero-index i { background: var(--accent); }

.quick-grid { z-index: 8; width: min(1450px,94vw); margin: -50px auto 0; padding: 0; gap: 13px; background: transparent; border: 0; }
.quick-grid a { position: relative; min-height: 136px; padding: 28px 30px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 9px; background: linear-gradient(145deg,rgba(17,31,51,.98),rgba(7,14,25,.98)); border: 1px solid rgba(95,150,225,.18); border-radius: 20px; box-shadow: 0 18px 55px rgba(0,0,0,.3); overflow: hidden; }
.quick-grid a::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(var(--accent),var(--blue-hot)); opacity: .78; }
.quick-grid a:hover { background: linear-gradient(145deg,#172c49,#0b1728); border-color: rgba(226,19,58,.5); transform: translateY(-5px); box-shadow: 0 24px 65px rgba(4,10,19,.48),0 0 30px rgba(226,19,58,.1); }
.quick-grid strong { font-size: clamp(20px,1.55vw,25px); font-weight: 600; letter-spacing: -.01em; text-transform: none; }
.quick-grid span { color: #a9b7c8; font-size: 15px; }
.review-card { width: min(1100px,88vw); min-height: 126px; margin: 18px auto -62px; padding: 23px 30px; border: 1px solid rgba(18,69,143,.1); border-radius: 23px; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.review-score strong { color: var(--accent); }
.review-score span { color: var(--blue); font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.review-card b { font-size: 19px; font-weight: 650; text-transform: none; }
.review-card p { font-size: 15px; }
.review-card > a { padding: 14px 18px; border-radius: 12px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.review-card > a span { color: var(--accent); }

.section-kicker { font-size: 15px; }
.mini { color: #6fa8f0; font-size: 16px; }
.statement-mark { color: var(--accent); }
.statement-line { background: linear-gradient(90deg,var(--accent),var(--blue-hot)); }
.statement small { margin-top: 20px; color: #b3c0ce; font-size: 15px; letter-spacing: .04em; }
.system-visual { gap: 18px; }
.system-visual figure { border-radius: 26px; }
.system-visual figure img { filter: saturate(.82) contrast(1.08); transition: transform 1s ease,filter .6s ease; }
.system-visual figure:hover img { transform: scale(1.035); filter: saturate(1.05) contrast(1.08); }
.principles { display: flex; flex-direction: column; gap: 12px; border: 0; }
.principles article { min-height: 188px; border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(135deg,#0e1929,#09111d); }
.principles article:hover { background: linear-gradient(135deg,#132843,#0c192a); border-color: rgba(226,19,58,.35); transform: translateX(6px); }
.principles h3 { font-weight: 620; text-transform: none; }
.time-card { border-top: 4px solid var(--accent); border-radius: 22px; box-shadow: 18px 18px 0 rgba(18,69,143,.12); }
.time-card small { color: #9fc4f1; font-size: 14px; letter-spacing: .04em; }
.time-card div b { color: #8dbcf5; }
.time-card p { font-size: 14px; }
.topic-grid { gap: 12px; border: 0; }
.topic-grid div { border: 1px solid #d0d5dc; border-radius: 17px; background: rgba(255,255,255,.38); }
.topic-grid div:hover { background: linear-gradient(135deg,var(--blue),var(--blue-hot)); border-color: transparent; transform: translateY(-4px); }
.topic-grid b { font-size: 18px; font-weight: 600; text-transform: none; }
.trainer-copy .mini { color: #72a9ec; }
.trainer-copy .button { border-radius: 14px; }
.offer-list { display: grid; gap: 12px; border: 0; }
.offer-list > a { min-height: 142px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg,#0c1523,#080f19); }
.offer-list > a:hover { padding-left: 45px; background: linear-gradient(135deg,#142845,#0c1828); border-color: rgba(226,19,58,.35); transform: translateX(5px); }
.offer-list small { color: #98a9bd; font-size: 14px; letter-spacing: 0; }
.offer-list h3 { font-weight: 500; text-transform: none; }
.offer-list > a > b { color: var(--accent-hot); }
.filters button { padding: 11px 18px; border-radius: 999px; font-size: 14px; letter-spacing: 0; text-transform: none; }
.filters button.active, .filters button:hover { background: var(--accent); border-color: var(--accent); }
.masonry figure, .masonry figure img { border-radius: 20px; }
.masonry figure img { filter: saturate(.82); }
.news-feature img { border-radius: 20px; filter: saturate(.82) contrast(1.04); }
.news-feature small, .news-stack small { font-size: 14px; letter-spacing: 0; }
.news-feature h3, .news-stack h3 { font-weight: 600; text-transform: none; }
.accordion { display: grid; gap: 10px; border: 0; }
.accordion article { border: 1px solid var(--line); border-radius: 16px; background: #0b131f; overflow: hidden; }
.accordion button { padding: 22px 24px; }
.accordion button b { font-size: 19px; font-weight: 550; text-transform: none; }
.accordion button i { color: var(--accent-hot); }
.trial { background: linear-gradient(130deg,#e2133a 0%,#b20f31 48%,#12458f 135%); }
.trial-form { margin: 26px 26px 26px 0; padding: 70px clamp(32px,6vw,100px); border-radius: 28px; }
.trial-form label { font-size: 13px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.trial-form input:focus { border-bottom-color: var(--accent); }
.whatsapp-inline { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.whatsapp-inline svg { width: 29px; height: 29px; color: #fff; }

footer { background: radial-gradient(circle at 18% 0,rgba(18,69,143,.2),transparent 28%),#03060b; }
.footer-main { padding: 105px max(6vw,32px) 95px; grid-template-columns: 1.15fr 1.15fr .9fr .65fr; gap: clamp(40px,5vw,85px); }
.footer-main small { margin-bottom: 18px; color: #79abec; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.footer-main p, .footer-main a, .footer-brand > span { color: #b5bfcb; font-size: 15px; line-height: 1.75; }
.footer-brand img { width: 148px; }
.footer-brand p { margin-top: 12px; font-size: 20px; font-weight: 650; letter-spacing: 0; text-transform: none; }
.footer-brand > span { margin-top: 8px; color: #778596; }
.footer-phone { color: #fff !important; font-size: clamp(23px,2.2vw,34px) !important; font-weight: 650; letter-spacing: -.025em; }
.footer-wa { margin-top: 16px !important; display: inline-flex; align-items: center; gap: 10px; color: #fff !important; }
.footer-wa svg { width: 25px; height: 25px; color: var(--green); }
.footer-social p { margin-bottom: 12px; }
.socials { gap: 10px; margin-top: 14px; }
.socials a { width: 49px; height: 49px; border-radius: 14px; border-color: rgba(255,255,255,.18); transition: .2s ease; }
.socials a:hover { color: #fff; background: var(--accent); border-color: var(--accent); transform: translateY(-3px); }
.socials svg { width: 23px; height: 23px; fill: currentColor; }
.socials a:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.socials a:first-child .icon-fill { fill: currentColor; stroke: none; }
.socials .icon-cut { fill: #03060b; }
.footer-bottom { min-height: 92px; font-size: 12px; letter-spacing: 0; text-transform: none; }
.footer-bottom b { font-size: 14px; font-weight: 600; color: var(--accent-hot); }

.whatsapp-fixed { top: auto; right: 26px; bottom: 26px; width: 64px; height: 64px; padding: 0; display: grid; place-items: center; color: #fff; background: var(--green); border: 2px solid rgba(255,255,255,.85); border-radius: 50%; box-shadow: 0 15px 42px rgba(0,0,0,.38),0 0 0 0 rgba(37,211,102,.38); transform: none; animation: whatsappPulse 2.8s ease-out infinite; }
.whatsapp-fixed:hover { background: #2ee474; transform: translateY(-4px) scale(1.04); }
.whatsapp-fixed svg { width: 34px; height: 34px; }
.whatsapp-fixed span, .whatsapp-fixed b { display: none; }

.motion-ready .section-pad:not(.is-visible), .motion-ready .statement:not(.is-visible),
.motion-ready .trainer:not(.is-visible), .motion-ready .trial:not(.is-visible) { opacity: 0; transform: translateY(34px); }
.section-pad, .statement, .trainer, .trial { transition: opacity .8s ease,transform .8s cubic-bezier(.2,.72,.2,1); }

@keyframes heroLetterIn { to { opacity: 1; filter: blur(0); transform: translateY(0) rotateX(0); } }
@keyframes energySweep { 0%,18% { transform: rotate(15deg) translateX(-150%); opacity: 0; } 45% { opacity: 1; } 70%,100% { transform: rotate(15deg) translateX(230%); opacity: 0; } }
@keyframes whatsappPulse { 0% { box-shadow: 0 15px 42px rgba(0,0,0,.38),0 0 0 0 rgba(37,211,102,.36); } 70% { box-shadow: 0 15px 42px rgba(0,0,0,.38),0 0 0 15px rgba(37,211,102,0); } 100% { box-shadow: 0 15px 42px rgba(0,0,0,.38),0 0 0 0 rgba(37,211,102,0); } }

@media (max-width: 1240px) {
  .site-header .brand { width: 126px; height: 84px; }
  .site-header .brand img { width: 96px; max-height: 65px; }
  .nav { right: 22px; }
  .nav a { padding: 15px 10px; font-size: 13px; }
  .header-cta { padding-inline: 17px !important; }
}

@media (max-width: 900px) {
  .site-header { height: 104px; }
  .site-header .brand { top: 15px; left: 18px; width: 91px; height: 76px; padding: 8px; border-radius: 14px; }
  .site-header .brand::after { display: none; }
  .site-header .brand img { width: 72px; max-height: 60px; }
  .menu-toggle { position: fixed; z-index: 55; top: 22px; right: 18px; width: 52px; height: 52px; display: grid; border-radius: 15px; background: rgba(5,11,20,.92); pointer-events: auto; }
  .menu-toggle span { width: 24px; height: 2px; }
  .nav { position: fixed; inset: 0; width: 100%; padding: 120px 24px 34px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 18px; background: rgba(4,9,17,.985); border: 0; border-radius: 0; opacity: 0; visibility: hidden; transform: translateY(-18px); }
  .nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav-side { width: 100%; flex-direction: column; align-items: stretch; }
  .nav-side a { padding: 17px 4px; border-bottom: 1px solid var(--line); border-radius: 0; font-size: 20px; }
  .header-cta { display: flex; width: 100%; justify-content: center; margin-top: 8px; }
  .hero-copy { width: auto; margin: 78px 23px 0; padding: 0; }
  .hero h1 { font-size: clamp(49px,13.4vw,77px); }
  .hero-dynamic-line { font-size: .72em; line-height: 1.04; }
  .hero-copy > p { max-width: 94%; font-size: 17px; }
  .quick-grid { grid-template-columns: 1fr; margin-top: -34px; }
  .quick-grid a { min-height: 116px; }
  .review-card { margin-top: 14px; border-radius: 20px; }
  .system-visual { gap: 14px; }
  .principles { display: flex; }
  .trial-form { margin: 0 16px 18px; border-radius: 22px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/3; }
  .whatsapp-fixed { right: 18px; bottom: 18px; width: 60px; height: 60px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero::after, .whatsapp-fixed { animation: none; }
  .hero-dynamic-line .hero-word > span { opacity: 1; filter: none; transform: none; animation: none; }
  .motion-ready .section-pad:not(.is-visible), .motion-ready .statement:not(.is-visible), .motion-ready .trainer:not(.is-visible), .motion-ready .trial:not(.is-visible) { opacity: 1; transform: none; }
}

/* IFC 1.3 — final visual rules */
body,button,input,select,textarea{font-family:Montserrat,Arial,sans-serif}
.eyebrow,.mini,.section-kicker,.statement small,.time-card small,.trial-form label,.footer-main small,.footer-bottom,.sub-hero span,.archive-head>span,.legal>span,.article-page article>span,.sub-blocks article>span,.link-list a span,.news-archive small,.article-page article>p,.article-lead{font-family:Montserrat,Arial,sans-serif}

@media(min-width:901px){
  .site-header .brand{position:fixed;z-index:61;top:22px;left:clamp(22px,3vw,48px);width:132px;height:96px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;clip-path:none;pointer-events:auto}
  .site-header .brand::after{display:none}
  .site-header .brand img{width:126px;max-height:94px;object-fit:contain;filter:drop-shadow(0 12px 25px rgba(0,0,0,.36))}
  .site-header .nav{position:fixed;z-index:60;top:31px;right:clamp(22px,3vw,48px)}
  .nav a{font-size:15px}
}

.hero-copy>.eyebrow{margin-left:4px;color:#fff;font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.hero-copy>p{margin-left:4px}
.hero h1{max-width:1280px;font-size:initial;line-height:.91}
.hero-title-static,.hero-title-static em{display:block;color:transparent!important;font-size:clamp(48px,6.2vw,104px);font-style:normal;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.9)!important;text-shadow:none;text-transform:uppercase}
.hero-title-static em{display:inline}
.hero-dynamic-line{display:block;min-height:1.05em;margin-top:7px;color:#ef2147!important;font-size:calc(clamp(48px,6.2vw,104px) - 20px);line-height:1}
.hero-dynamic-line,.hero-dynamic-line em,.hero-dynamic-line .hero-word,.hero-dynamic-line .hero-word.outline{-webkit-text-fill-color:#ef2147!important;-webkit-text-stroke:0!important;color:#ef2147!important}

.quick-grid a{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.72);box-shadow:0 12px 32px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.quick-grid a::before{display:none}
.quick-grid a:hover{background:rgba(255,255,255,.95);border-color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.2);transform:translateY(-4px)}
.quick-grid strong{color:#ef2147}
.quick-grid span{color:#12458f}

.review-card{display:block;width:min(1240px,91vw);margin:18px auto -70px;padding:28px;color:#0b1119;background:#fff;border:1px solid rgba(18,69,143,.1);border-radius:25px;box-shadow:0 28px 80px rgba(0,0,0,.25)}
.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #e2e6eb}
.review-card-head>div{min-width:0}
.review-score{display:flex;align-items:center;gap:12px;border:0}
.review-score strong,.review-stars{color:#ffbb29!important;font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:3px}
.review-score strong{font-size:24px}
.review-score span{color:#5f6368;font-size:13px;font-weight:700;letter-spacing:.08em}
.review-card-head b{display:block;margin-top:10px;font-size:21px;font-weight:650;text-transform:none}
.review-card-head p{margin:4px 0 0;color:#66717f;font-size:15px}
.review-card-head>a{flex:0 0 auto;padding:13px 17px;color:#12458f;border:1px solid #d4dae2;border-radius:12px;font-size:13px;font-weight:600}
.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-list article{min-height:190px;padding:20px;background:#f7f8fa;border:1px solid #e6e9ee;border-radius:17px}
.review-stars{font-size:18px}
.review-list blockquote{margin:14px 0;color:#273344;font:400 14px/1.65 Montserrat,Arial,sans-serif}
.review-list cite{color:#12458f;font-size:13px;font-style:normal;font-weight:650}

.intro{background-color:#0a0e13;background-image:linear-gradient(rgba(10,14,19,.8),rgba(10,14,19,.8)),url('https://kravmaga-ifc.de/01-kravmaga-stuttgart.jpg');background-position:center;background-size:cover;color:#fff}
.intro h2,.intro-copy .lead,.intro-copy p{color:#fff}
.intro h2 em{color:transparent;-webkit-text-stroke-color:rgba(255,255,255,.82)}
.intro-copy p{color:rgba(255,255,255,.86)}
.intro .section-kicker{color:#ef2147}

.trainer-message{padding-top:95px;text-align:center}
.trainer-message .gallery-head{justify-content:center}
.trainer-message-copy{max-width:900px;margin:42px auto 0}
.trainer-message-copy p{margin:0;color:#e5e9ee;font-size:18px;line-height:1.9}
.trainer-message-copy cite{display:block;margin-top:28px;color:#fff;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(35px,4vw,54px);font-style:normal;line-height:1.1;transform:rotate(-2deg)}

.faq-links{margin:0;padding:0;display:block;list-style:none}
.faq-links li{margin:0;padding:0;border-bottom:1px solid rgba(255,255,255,.13)}
.faq-links li:first-child{border-top:1px solid rgba(255,255,255,.13)}
.faq-links a{min-height:0;padding:17px 3px;display:block;color:#e5e9ef;background:transparent;border:0;border-radius:0;font-size:17px;font-weight:500;line-height:1.45;transition:.2s}
.faq-links a:hover{padding-left:9px;color:#ef2147;background:transparent;border:0;transform:none}

.public-footer{background-image:linear-gradient(90deg,rgba(4,7,12,.96),rgba(4,7,12,.76)),url('https://kravmaga-ifc.de/bg-section-kravmaga-stuttgart.png')}
.footer-watermark{left:-1vw;bottom:22px}
.footer-main{padding:105px max(6vw,32px) 80px;grid-template-columns:1.35fr .95fr .8fr 1.2fr;grid-template-areas:"faq nav social contact";gap:clamp(35px,5vw,85px);border-bottom:0}
.footer-main>div{min-width:0}
.footer-contact{grid-area:contact}
.footer-social{grid-area:social}
.footer-nav{grid-area:nav}
.footer-faq{grid-area:faq;max-height:330px;overflow:auto;padding-right:8px}
.footer-main small{margin-bottom:18px;color:#ef2147;font-size:15px;font-weight:650;letter-spacing:.04em;text-transform:none}
.footer-ifc-logo{width:155px;max-height:120px;margin-bottom:20px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}
.footer-contact-link{display:flex!important;align-items:center;gap:10px;color:#fff!important;font-size:15px!important;font-weight:550!important;word-break:normal!important}
.footer-contact-link svg{flex:0 0 auto;width:20px;height:20px;color:#ef2147;fill:currentColor}
.footer-contact-link.footer-wa{margin-top:0!important}
.footer-contact-link.footer-wa svg{width:22px;height:22px;color:#25d366;fill:none}
.footer-faq a{font-size:12px;line-height:1.5}
.footer-bottom{min-height:94px;padding:18px max(6vw,32px);border:0;font-size:13px;letter-spacing:0;text-transform:none}
.footer-bottom>div{position:absolute;left:50%;transform:translateX(-50%)}
.footer-bottom>div a{font-size:13px}
.footer-bottom b{color:#ef2147;font-size:13px;font-weight:650}
.footer-credit{display:block;width:145px}
.footer-credit img{display:block;width:100%;max-height:62px;object-fit:contain}

@media(max-width:900px){
  .site-header .brand{position:fixed;z-index:61;top:13px;left:17px;width:80px;height:74px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;clip-path:none}
  .site-header .brand::after{display:none}
  .site-header .brand img{width:76px;max-height:72px;filter:drop-shadow(0 9px 20px rgba(0,0,0,.42))}
  .hero-copy>.eyebrow{font-size:10px;letter-spacing:.085em}
  .hero h1{margin-top:18px}
  .hero-title-static{font-size:clamp(52px,13vw,72px)}
  .hero-dynamic-line{font-size:calc(clamp(52px,13vw,72px) - 20px)}
  .hero-copy>p{max-width:95%;margin-left:4px}
  .review-card{width:calc(100% - 30px);margin-bottom:-70px;padding:22px}
  .review-card-head{align-items:flex-start;flex-direction:column}
  .review-list{grid-template-columns:1fr}
  .review-list article{min-height:0}
  .intro{padding-top:150px}
  .trainer-message-copy p{font-size:17px}
  .footer-main{padding:78px 24px 58px;display:grid;grid-template-columns:1fr;grid-template-areas:"contact" "social" "nav" "faq";gap:44px}
  .footer-main>div{width:100%;align-items:flex-start}
  .footer-faq{max-height:none;overflow:visible;padding-right:0}
  .footer-bottom{align-items:center;flex-direction:column;gap:20px;padding:26px 23px;text-align:center}
  .footer-bottom>div{position:static;transform:none}
  .footer-watermark{font-size:28vw}
}

@media(max-width:520px){
  .hero-title-static{font-size:clamp(44px,12.5vw,62px)}
  .hero-dynamic-line{font-size:calc(clamp(44px,12.5vw,62px) - 14px)}
  .review-card-head>a{width:100%;text-align:center}
  .gallery-head h2{white-space:normal}
  .trainer-message-copy{margin-top:30px}
}

body *{font-family:Montserrat,Arial,sans-serif}
h1,h1 *,h2,h2 *{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif}
.statement blockquote,.statement blockquote *{font-family:Georgia,serif}
.trainer-message-copy cite{font-family:"Brush Script MT","Segoe Script",cursive}

/* IFC 1.4 — compact reviews, programs and migration-ready release */
@media(min-width:901px){
  .site-header .brand{width:185px;height:auto;top:18px;transition:width .3s ease,top .3s ease}
  .site-header .brand img{display:block;width:185px;max-height:none;height:auto;transition:width .3s ease}
  .site-header.is-scrolled .brand{width:100px;top:12px}
  .site-header.is-scrolled .brand img{width:100px}
}
.hero-actions{align-items:center}
.hero-award{height:58px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:transform .25s ease,filter .25s ease}
.hero-award:hover{transform:translateY(-3px);filter:brightness(1.08)}
.hero-award img{display:block;width:auto;height:58px;max-width:190px;object-fit:contain}

.review-card{padding:20px 22px 16px}
.review-list{gap:12px}
.review-list article{min-height:0;padding:17px 18px}
.review-person{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.review-person img,.review-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;object-fit:cover}
.review-avatar{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#12458f,#2f7ae5);font-size:16px;font-weight:700}
.review-person>div{min-width:0;display:flex;flex-direction:column}
.review-list .review-person cite{color:#202124;font-size:14px;font-style:normal;font-weight:650;line-height:1.25}
.review-person small{margin-top:3px;color:#70757a;font-size:11px;line-height:1.3;opacity:.78}
.review-stars{font-size:17px;line-height:1;letter-spacing:2px}
.review-list blockquote{margin:10px 0 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.review-all-link{width:max-content;margin:11px auto 0;padding:5px 8px!important;display:block;color:#12458f;font-size:12px!important;font-weight:600!important;border:0!important;border-radius:8px!important}

.intro{background-attachment:fixed;background-position:center;background-repeat:no-repeat}
.intro-grid{width:min(80%,1500px);margin-inline:auto;grid-template-columns:minmax(0,1.15fr) minmax(310px,.72fr);align-items:start;gap:clamp(48px,6vw,105px)}
.intro-title .section-kicker{margin:0 0 12px}
.intro-title h2{margin:0}
.intro-copy{padding-top:38px}

.training-header{position:relative;width:min(80%,1280px);margin:0 auto clamp(52px,6vw,84px);text-align:center}
.training-header h2{margin:14px 0 0}
.training-programs{position:relative;width:min(80%,1480px);margin:0 auto;display:grid;gap:32px}
.training-program{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);align-items:stretch;gap:clamp(34px,6vw,92px);min-height:330px}
.training-placeholder{min-height:330px;border-radius:24px;background:#12458f;box-shadow:0 22px 54px rgba(9,21,39,.18)}
.training-program>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.training-program h3{margin:0;color:#0b1119;font-family:Montserrat,Arial,sans-serif;font-size:clamp(31px,3.1vw,54px);font-weight:750;line-height:1.05;letter-spacing:-.035em}
.training-program p{margin:18px 0 28px;color:#4e5966;font-size:18px;line-height:1.7}
.training-schedule{position:relative;width:min(80%,1480px);margin:46px auto 0;padding:18px 22px;display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.5vw,38px);flex-wrap:wrap;color:#fff;background:#0a111a;border-radius:16px;font-size:14px}
.training-schedule strong{color:#ef2147;font-weight:700}
.training-schedule span{white-space:nowrap}
.training-schedule span:last-child{white-space:normal;color:#d5dbe3}
.training-schedule b{color:#fff}

.footer-contact-link svg,.footer-contact-link.footer-wa svg{color:#d8e0e9;fill:currentColor}
.footer-contact-link.footer-wa svg{fill:none}
.socials a{color:#d8e0e9;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.18)}
.socials a:hover{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42)}

@media(max-width:900px){
  .hero-award,.hero-award img{height:54px}
  .hero-award img{max-width:170px}
  .review-card{padding:16px;margin-bottom:-64px}
  .review-list{grid-template-columns:1fr}
  .review-list article{padding:16px}
  .intro{background-attachment:scroll}
  .intro-grid{width:100%;grid-template-columns:1fr;gap:34px}
  .intro-copy{padding-top:0}
  .training-header,.training-programs,.training-schedule{width:100%}
  .training-program{grid-template-columns:1fr;min-height:0;gap:25px}
  .training-placeholder{min-height:260px;border-radius:19px}
  .training-program p{font-size:17px}
  .training-schedule{justify-content:flex-start;margin-top:36px;padding:20px;gap:13px 22px}
  .training-schedule strong,.training-schedule span:last-child{width:100%}
}
@media(max-width:560px){
  .hero-actions{align-items:stretch}
  .hero-actions .button{flex:1 1 calc(50% - 8px);padding-inline:16px}
  .hero-award{flex:0 0 auto}
  .hero-award,.hero-award img{height:50px}
  .training-placeholder{min-height:220px}
}

/* IFC 1.5 — Content-Editor, kompaktere Layouts und Formular */
.training-header .mini{display:block;width:100%;text-align:center}
.trainer-message .gallery-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
.gallery-eyebrow{display:block;color:#ef2147;font:600 16px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.trainer-message-copy{max-width:940px}
.trainer-message-rich{color:#e5e9ee;font-size:18px;line-height:1.9}
.trainer-message-rich p{margin:0 0 22px;color:#e5e9ee;font-size:18px;line-height:1.9}
.trainer-message-rich b,.trainer-message-rich strong{color:#fff;font-weight:700}
.trainer-message-rich u{text-decoration-color:#ef2147;text-decoration-thickness:2px;text-underline-offset:4px}
.trainer-message-rich a:not(.button){color:#fff;text-decoration:underline;text-decoration-color:#ef2147;text-underline-offset:4px}
.trainer-message-rich .rich-button{margin:20px 7px 24px}
.trainer-message-rich .button-outline{color:#fff;background:transparent;border-color:#fff}
.trainer-message-rich .button-outline:hover{color:#080c12;background:#fff}

.sub-action{padding:90px 0}
.sub-action-inner{width:min(80%,1480px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(40px,7vw,115px)}
.sub-action-inner h2{max-width:760px}
.sub-action-inner .button{flex:0 0 auto}
.faq{width:min(80%,1480px);margin-inline:auto;padding-left:0;padding-right:0;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(48px,6vw,95px)}

.trial{min-height:650px;padding:95px 0 25px;display:block;overflow:visible}
.trial-inner{position:relative;width:min(80%,1480px);margin:0 auto;display:grid;grid-template-columns:50% minmax(350px,460px);align-items:center;gap:clamp(38px,5vw,82px)}
.trial-copy{padding:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}
.trial-copy h2{max-width:100%;margin-inline:0}
.trial-copy>p{margin-left:auto}
.trial-form{position:relative;z-index:4;width:100%;margin:0;padding:46px 40px 50px;border-radius:26px;transform:translateY(70px);box-shadow:0 28px 85px rgba(39,0,9,.32)}
.trial-form h3{margin-bottom:24px;font-size:clamp(26px,2.1vw,35px)}
.trial-form label{margin-bottom:14px}
.form-row-name-age{grid-template-columns:minmax(0,1fr) 105px;gap:14px}
.form-row-name-age label:last-child{min-width:0}
.trial-form .check{margin:12px 0 22px}
.public-footer{position:relative;z-index:1}
.footer-main{grid-template-columns:1.3fr .75fr .9fr 1.35fr;grid-template-areas:"contact social nav faq"}

.legal.public-content{max-width:none}
.legal.public-content>*{max-width:1050px}
.public-content b,.public-content strong{color:inherit;font-weight:700}
.public-content u{text-underline-offset:4px}

@media(max-width:1050px){
  .sub-action-inner{width:calc(100% - 46px)}
  .faq{width:auto;margin:0;padding-left:23px;padding-right:23px}
  .trial{padding:82px 0 0}
  .trial-inner{width:calc(100% - 46px);grid-template-columns:1fr;gap:38px}
  .trial-copy{align-items:flex-start;text-align:left}
  .trial-copy>p{margin-left:0}
  .trial-form{max-width:none;margin:0;transform:translateY(52px)}
  .footer-main{grid-template-columns:1fr 1fr;grid-template-areas:"contact social" "nav faq"}
}
@media(max-width:900px){.footer-main{grid-template-columns:1fr;grid-template-areas:"contact" "social" "nav" "faq"}}
@media(max-width:820px){
  .sub-action{padding:70px 0}
  .sub-action-inner{align-items:flex-start;flex-direction:column;gap:30px}
  .gallery-eyebrow{font-size:13px}
  .trainer-message-rich,.trainer-message-rich p{font-size:17px}
}
@media(max-width:560px){
  .trial-form{padding:38px 22px 42px;border-radius:22px}
  .form-row-name-age{grid-template-columns:minmax(0,1fr) 88px;gap:10px}
  .trainer-message-rich .rich-button{width:100%;margin:12px 0;justify-content:center}
}

/* IFC 1.6 — Editoriale Unterseiten und lokales Schriftpaket */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.subpage-content-shell{position:relative;padding:46px 0 118px;background:radial-gradient(circle at 90% 16%,rgba(18,69,143,.14),transparent 28%),#06090e}
.subpage-transition{width:min(88vw,1320px);height:25px;margin:0 auto 50px;display:flex;align-items:center;gap:16px;color:#ef2147}
.subpage-transition::before{content:"";width:78px;height:2px;background:linear-gradient(90deg,#ef2147,#ff4968)}
.subpage-transition i{flex:1;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 8px,transparent 8px 17px)}
.subpage-transition span{font-size:11px;font-weight:700;letter-spacing:.16em}
.subpage-content-grid{width:min(88vw,1320px);margin:0 auto;display:grid;grid-template-columns:minmax(0,65fr) minmax(280px,35fr);align-items:start;gap:clamp(42px,6vw,96px)}
.page-rich-content{max-width:none;min-width:0;color:#fff;font-size:19px;line-height:1.75}
.page-rich-content p,.page-rich-content li{max-width:none;color:#fff;font-size:19px;line-height:1.75}
.page-rich-content p{margin:0 0 1.45em}
.page-rich-content h1,.page-rich-content h2,.page-rich-content h3,.page-rich-content h4,.page-rich-content h5,.page-rich-content h6{max-width:100%;font-family:Montserrat,Arial,sans-serif;text-transform:none}
.page-rich-content h1{margin:0 0 34px;color:#fff;font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1.08;letter-spacing:.045em}
.page-rich-content h2{margin:62px 0 24px;color:#ef2147;font-size:clamp(34px,3.3vw,47px);font-weight:750;line-height:1.12;letter-spacing:-.025em}
.page-rich-content h3{margin:44px 0 18px;color:#ef2147;font-size:clamp(26px,2.3vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.015em}
.page-rich-content h4{margin:36px 0 15px;color:#fff;font-size:25px;font-weight:700;line-height:1.3}
.page-rich-content h5{margin:32px 0 13px;color:#fff;font-size:21px;font-weight:700;line-height:1.35}
.page-rich-content h6{margin:28px 0 12px;color:#dce3eb;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.page-rich-content ul{margin:28px 0 36px;padding:0;list-style:none}
.page-rich-content ul li{position:relative;margin:12px 0;padding-left:29px}
.page-rich-content ul li::before{content:"";position:absolute;left:1px;top:.67em;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #ef2147;transform:translateY(-50%)}
.page-rich-content ol{margin:28px 0 36px;padding-left:28px}
.page-rich-content a:not(.button){color:#fff;text-decoration:underline;text-decoration-color:#ef2147;text-decoration-thickness:2px;text-underline-offset:5px}
.page-rich-content blockquote{margin:42px 0;padding:25px 30px;color:#fff;background:rgba(255,255,255,.045);border-left:4px solid #ef2147;border-radius:0 16px 16px 0;font-size:21px;line-height:1.65}
.page-content-visual{position:relative;min-width:0}
.page-content-visual figure{position:sticky;top:145px;margin:0;isolation:isolate}
.page-content-visual figure::before{content:"";position:absolute;z-index:-1;inset:18px -18px -18px 18px;background:linear-gradient(145deg,#ef2147,#7b0a23);clip-path:polygon(8% 0,100% 0,93% 100%,0 94%);opacity:.9}
.page-content-visual figure::after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(10,14,19,.05),rgba(10,14,19,.56));clip-path:polygon(8% 0,100% 0,93% 100%,0 94%);pointer-events:none}
.page-content-visual img{width:100%;aspect-ratio:.82/1;object-fit:cover;clip-path:polygon(8% 0,100% 0,93% 100%,0 94%);filter:saturate(.82) contrast(1.08)}

@media(max-width:980px){
  .subpage-content-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:40px}
  .page-rich-content,.page-rich-content p,.page-rich-content li{font-size:18px}
}
@media(max-width:760px){
  .subpage-content-shell{padding:34px 0 86px}
  .subpage-transition{width:calc(100% - 46px);margin-bottom:34px}
  .subpage-transition::before{width:46px}
  .subpage-content-grid{width:calc(100% - 46px);display:flex;flex-direction:column;gap:52px}
  .page-content-visual{order:-1;width:100%}
  .page-content-visual figure{position:relative;top:auto;width:min(100%,520px)}
  .page-content-visual img{aspect-ratio:1.35/1;clip-path:polygon(5% 0,100% 0,95% 100%,0 94%)}
  .page-content-visual figure::before,.page-content-visual figure::after{clip-path:polygon(5% 0,100% 0,95% 100%,0 94%)}
  .page-rich-content,.page-rich-content p,.page-rich-content li{font-size:17px;line-height:1.72}
  .page-rich-content h1{font-size:34px;letter-spacing:.03em}
  .page-rich-content h2{margin-top:48px;font-size:32px}
  .page-rich-content h3{margin-top:38px;font-size:26px}
}

/* IFC 1.6.1 — Trainingsinhalte und Unterseiten-Bewertungen */
.training-focus{width:min(88vw,1320px);margin:0 auto 64px;padding:clamp(25px,3vw,38px);position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(18,69,143,.2),rgba(255,255,255,.025) 44%,rgba(238,31,70,.11));border:1px solid rgba(255,255,255,.11);border-radius:25px;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.training-focus::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#ff4968,#ef2147 60%,#12458f)}
.training-focus header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}
.training-focus header span{color:#ef2147;font-size:16px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.training-focus header h2{margin:0;color:#fff;font-size:clamp(32px,4vw,56px);line-height:1;text-align:right}
.training-focus ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;list-style:none}
.training-focus li{min-height:70px;padding:16px 18px;display:flex;align-items:center;position:relative;overflow:hidden;color:#fff;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.105);border-radius:14px;font-size:16px;font-weight:560;line-height:1.35;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.training-focus li::before{content:"";width:7px;height:7px;margin-right:11px;flex:0 0 7px;background:#ef2147;border-radius:50%;box-shadow:0 0 0 5px rgba(238,31,70,.12)}
.training-focus li:hover{transform:translateY(-3px);background:rgba(238,31,70,.12);border-color:rgba(238,31,70,.58)}
.motion-ready .training-focus:not(.is-visible) header,.motion-ready .training-focus:not(.is-visible) li{opacity:0;transform:translateY(18px)}
.motion-ready .training-focus header,.motion-ready .training-focus li{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.25,1),border-color .3s ease,background .3s ease}
.motion-ready .training-focus.is-visible li{transition-delay:calc(var(--topic-index) * 55ms)}
.page-review-band{padding:82px 0 74px;background:radial-gradient(circle at 18% 50%,rgba(18,69,143,.16),transparent 30%),#0a0e13}
.page-review-band .review-card{margin:0 auto}

@media(max-width:760px){
  .training-focus{width:calc(100% - 46px);margin-bottom:46px;padding:25px 20px;border-radius:20px}
  .training-focus header{display:block}
  .training-focus header span{font-size:13px}
  .training-focus header h2{margin-top:10px;text-align:left}
  .training-focus ul{grid-template-columns:1fr}
  .training-focus li{min-height:62px}
  .page-review-band{padding:55px 0}
  .page-review-band .review-card{margin:0 auto}
}

@media(prefers-reduced-motion:reduce){
  .training-focus header,.training-focus li{opacity:1!important;transform:none!important;transition:none!important}
}

/* IFC 1.7 — Medien, konsistente Formulare und redaktionelle Übersichten */
.training-program-image{width:100%;height:100%;min-height:330px;aspect-ratio:1.55/1;display:block;object-fit:cover;border-radius:24px;box-shadow:0 22px 54px rgba(9,21,39,.18);filter:saturate(.88) contrast(1.05)}
#probetraining .trial-copy h2{font-size:clamp(64px,6.9vw,115px)}
.faq{box-shadow:0 0 0 100vmax #070a0f;clip-path:inset(0 -100vmax)}
.trial-page{background:#070a0f}
.trial-page .trial{padding-top:180px}
.news-archive{width:min(80%,1480px);margin:0 auto;padding:0 0 120px;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.news-archive .news-card{min-width:0;padding-bottom:25px;display:block}
.news-archive .news-card img{aspect-ratio:1.32/1;border-radius:16px;filter:saturate(.72) contrast(1.04);transition:transform .35s ease,filter .35s ease}
.news-archive .news-card:hover img{transform:translateY(-4px);filter:saturate(.95) contrast(1.06)}
.news-archive .news-card small{margin:17px 0 8px;color:#ef2147;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.news-archive .news-card h2{font-family:Montserrat,Arial,sans-serif;font-size:clamp(20px,1.45vw,27px);font-weight:720;line-height:1.2;text-transform:none}
.news-archive .news-card p{font-size:15px;line-height:1.65}
.news-archive .news-card b{color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:none}
.article-page-dark{min-height:100vh;color:#fff;background:radial-gradient(circle at 82% 12%,rgba(18,69,143,.17),transparent 27%),#06090e}
.article-page-dark>article{width:min(88vw,1040px);max-width:none;padding:175px 0 115px}
.article-page-dark article>span{color:#ef2147;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.article-page-dark h1{color:#fff}
.article-page-dark article>p,.article-page-dark .article-lead,.article-page-dark .public-content,.article-page-dark .public-content p,.article-page-dark .public-content li{color:#f0f3f6}
.article-page-dark article>p,.article-page-dark .public-content p,.article-page-dark .public-content li{font-family:Montserrat,Arial,sans-serif;font-size:19px;line-height:1.75}
.article-page-dark .article-lead{max-width:880px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(21px,2vw,27px);font-weight:500;line-height:1.65}
.article-page-dark .public-content h2,.article-page-dark .public-content h3{color:#ef2147}
.article-page-dark .article-image{border-radius:24px;box-shadow:0 26px 80px rgba(0,0,0,.32)}
.related-content{padding:95px 0 25px;background:#070a0f;border-top:1px solid rgba(255,255,255,.1)}
.related-head{width:min(80%,1480px);margin:0 auto 48px}
.related-head span{color:#ef2147;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.related-head h2{margin:12px 0 0;color:#fff;font-size:clamp(46px,5vw,82px)}
.related-content .news-archive{width:min(80%,1480px)}
.related-faq{padding-bottom:110px}
.related-faq-links{width:min(80%,1120px);margin:0 auto}
.related-faq-links a{font-size:18px}

@media(max-width:1100px){
  .news-archive{grid-template-columns:repeat(2,minmax(0,1fr))}
  .training-program-image{min-height:260px;border-radius:19px}
}
@media(max-width:760px){
  .hero video{display:block}
  .training-program-image{min-height:220px;aspect-ratio:1.4/1}
  #probetraining .trial-copy h2{font-size:clamp(58px,15vw,74px)}
  .trial-page .trial{padding-top:120px}
  .news-archive,.related-content .news-archive{width:calc(100% - 46px);grid-template-columns:1fr;padding-bottom:85px}
  .article-page-dark>article{width:calc(100% - 46px);padding:125px 0 85px}
  .article-page-dark article>p,.article-page-dark .public-content p,.article-page-dark .public-content li{font-size:17px;line-height:1.72}
  .related-content{padding-top:70px}
  .related-head,.related-faq-links{width:calc(100% - 46px)}
  .related-faq-links a{font-size:17px}
}

/* IFC 1.8 — Trainer-Aktionen und geordneter Footer */
.trainer-actions{margin-top:20px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.trainer-copy .trainer-actions .button{margin-top:0;border-radius:14px}
.trainer-copy .trainer-actions .button-outline{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.82);box-shadow:none}
.trainer-copy .trainer-actions .button-outline:hover{color:#070b11;background:#fff;border-color:#fff}

.public-footer{padding:92px 0 0;isolation:isolate;background-color:#02050a;background-image:linear-gradient(rgba(2,5,10,.87),rgba(2,5,10,.91)),url('https://kravmaga-ifc.de/bg-section-kravmaga-stuttgart.png');background-position:center;background-size:cover;background-repeat:no-repeat}
.footer-shell{position:relative;z-index:2;padding-bottom:clamp(120px,13vw,205px)}
.footer-watermark{z-index:1;left:50%;bottom:0;width:max-content;transform:translateX(-50%);color:rgba(255,255,255,.055);font-size:clamp(88px,15.7vw,270px);line-height:.72;letter-spacing:-.075em;pointer-events:none}
.footer-main{width:min(88vw,1480px);margin:0 auto;padding:0;grid-template-columns:1.2fr .72fr .9fr 1.35fr;grid-template-areas:"contact social nav faq";gap:16px;border:0}
.footer-main>div.footer-column{min-width:0;min-height:292px;padding:34px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:rgba(3,8,14,.72);border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 20px 58px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.footer-main>div.footer-column::before{content:"";width:34px;height:3px;margin-bottom:14px;background:linear-gradient(90deg,#ef2147,#ff5573);border-radius:99px}
.footer-contact{grid-area:contact}
.footer-social{grid-area:social}
.footer-nav{grid-area:nav}
.footer-faq{grid-area:faq;max-height:none;overflow:visible;padding-right:30px}
.footer-main small{margin:0 0 11px;color:#fff;font-size:14px;font-weight:700;line-height:1.35;letter-spacing:.025em;text-transform:none}
.footer-ifc-logo{width:160px;max-height:118px;margin:-9px 0 24px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.36))}
.footer-contact-links{display:flex;flex-direction:column;gap:12px}
.footer-contact-link{min-height:28px;gap:11px;font-size:14px!important;line-height:1.4!important}
.footer-contact-link svg{width:21px;height:21px;color:#dce3eb}
.footer-contact-link.footer-wa svg{color:#dce3eb}
.footer-nav nav,.footer-faq nav{width:100%;display:flex;flex-direction:column;gap:0}
.footer-nav nav a,.footer-faq nav a{width:100%;padding:7px 0;color:#b8c1cc;font-size:13px;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.065)}
.footer-nav nav a:last-child,.footer-faq nav a:last-child{border-bottom:0}
.footer-nav nav a:hover,.footer-faq nav a:hover{padding-left:5px;color:#fff}
.footer-more{margin-top:auto;padding-top:17px!important;color:#ef2147!important;font-size:12px!important;font-weight:700!important}
.footer-social .socials{margin-top:2px;gap:9px;flex-wrap:wrap}
.footer-social .socials a{width:46px;height:46px;border-radius:13px}
.footer-bottom{position:relative;width:min(88vw,1480px);min-height:96px;margin:22px auto 0;padding:14px 18px;display:grid;grid-template-columns:minmax(230px,.9fr) 1fr minmax(220px,.9fr);align-items:center;gap:28px;color:#9ba6b3;background:rgba(3,8,14,.76);border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:13px;backdrop-filter:blur(8px)}
.footer-bottom>.footer-legal{position:static;left:auto;transform:none;display:flex;align-items:center;justify-content:center;gap:28px}
.footer-bottom>.footer-legal a{color:#c4ccd5;font-size:14px}
.footer-bottom>b{justify-self:end;color:#ef2147;font-size:13px;font-weight:700;letter-spacing:.04em}
.footer-credit{width:max-content;max-width:100%;min-height:66px;padding:9px 14px;display:flex;align-items:center;gap:13px;color:#2f3a46!important;background:rgba(255,255,255,.95);border-radius:13px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.footer-credit span{max-width:76px;color:#5d6670;font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.04em;text-transform:uppercase}
.footer-credit img{width:118px;max-height:47px;object-fit:contain}

@media(max-width:1120px){
  .footer-main{grid-template-columns:1fr 1fr;grid-template-areas:"contact social" "nav faq"}
  .footer-main>div.footer-column{min-height:260px}
  .footer-bottom{grid-template-columns:1fr 1fr}
  .footer-bottom>.footer-legal{justify-content:flex-end}
  .footer-bottom>b{grid-column:1/3;justify-self:center}
}
@media(max-width:760px){
  .trainer-actions{width:100%;align-items:stretch;flex-direction:column}
  .trainer-actions .button{width:100%;justify-content:center}
  .public-footer{padding-top:64px;background-position:58% center}
  .footer-shell{padding-bottom:clamp(92px,26vw,150px)}
  .footer-main{width:calc(100% - 36px);grid-template-columns:1fr;grid-template-areas:"contact" "social" "nav" "faq";gap:13px}
  .footer-main>div.footer-column{width:100%;min-height:0;padding:29px 25px}
  .footer-faq{padding-right:25px}
  .footer-ifc-logo{width:145px;margin-bottom:18px}
  .footer-bottom{width:calc(100% - 36px);margin-top:13px;padding:22px;display:flex;align-items:center;flex-direction:column;gap:20px;text-align:center}
  .footer-bottom>.footer-legal{justify-content:center;order:2}
  .footer-bottom>b{order:3;justify-self:auto}
  .footer-credit{order:1}
  .footer-watermark{font-size:25vw;line-height:.72}
}

/* IFC 1.9 — Trainer, Bewertungs-Slider, Medienarchiv und Übersetzung */
.trainer-image img{transform:scaleX(-1)}
.trial-copy .trial-quote{margin:8px 0 10px;color:#fff;font-size:clamp(18px,1.45vw,23px);font-weight:750;line-height:1.45}
.trial-copy .trial-quote strong{color:#fff}

.review-viewport{width:100%;overflow:hidden}
.review-list{display:flex!important;grid-template-columns:none!important;gap:12px;will-change:transform;transform:translate3d(0,0,0)}
.review-list article{flex:0 0 calc((100% - 24px)/3);width:auto;min-width:0}
@media(max-width:980px){.review-list article{flex-basis:calc((100% - 12px)/2)}}
@media(max-width:680px){.review-list article{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.review-list{transform:none!important;transition:none!important;overflow-x:auto;scroll-snap-type:x mandatory}.review-list article{scroll-snap-align:start}}

.footer-address{margin:-8px 0 16px;display:flex;flex-direction:column;gap:4px;color:#c2cad4;font-size:13px;font-style:normal;line-height:1.55}.footer-address strong{color:#fff;font-size:14px}.footer-address span{color:#aeb8c4}

.media-archive-page{min-height:100vh;background:radial-gradient(circle at 82% 10%,rgba(18,69,143,.18),transparent 28%),#06090e}.media-archive-page .archive-head>span{color:#ef2147}.media-masonry figure{margin:0 0 18px;position:relative;overflow:hidden;break-inside:avoid;background:#0d131c;border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.24)}.media-masonry figure img{margin:0;border-radius:0;transition:transform .5s ease,filter .5s ease}.media-masonry figure:hover img{transform:scale(1.025);filter:saturate(.95) contrast(1.05)}.media-masonry figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:12px 14px;color:#fff;background:rgba(5,9,14,.82);border:1px solid rgba(255,255,255,.12);border-radius:11px;font-size:13px;font-weight:650;line-height:1.35;backdrop-filter:blur(9px)}.media-archive-empty{column-span:all;width:min(760px,100%);margin:0 auto;padding:45px;color:#d8dfe7;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.2);border-radius:22px;text-align:center}.media-archive-empty strong{display:block;color:#fff;font-size:22px}.media-archive-empty p{margin:10px 0 0;color:#aeb8c4;line-height:1.7}

.floating-translate{position:fixed;z-index:90;left:18px;bottom:18px;font-family:Montserrat,Arial,sans-serif}.floating-translate-toggle{min-width:118px;height:48px;padding:0 13px;display:grid;grid-template-columns:25px auto;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;color:#fff;background:rgba(5,10,17,.94);border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 14px 45px rgba(0,0,0,.38);cursor:pointer;backdrop-filter:blur(10px)}.floating-translate-toggle>span{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ef2147,#b90e31);border-radius:8px;font-size:14px}.floating-translate-toggle b{align-self:end;font-size:12px;line-height:1}.floating-translate-toggle small{align-self:start;color:#aeb8c4;font-size:9px;line-height:1.2}.floating-translate-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:min(290px,calc(100vw - 28px));padding:18px;color:#172033;background:#fff;border:1px solid #dce2e9;border-radius:15px;box-shadow:0 22px 65px rgba(0,0,0,.35)}.floating-translate-panel label{display:block;margin-bottom:8px;font-size:12px;font-weight:750}.floating-translate-panel select{width:100%;height:44px;padding:0 12px;color:#172033;background:#fff;border:1px solid #cfd7e1;border-radius:9px;font:600 14px Montserrat,Arial,sans-serif}.floating-translate-panel p{margin:10px 0 0;color:#697586;font-size:10px;line-height:1.45}.floating-translate-panel[hidden]{display:none!important}#google_translate_element{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}iframe.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate{display:none!important}body{top:0!important}.goog-tooltip,.goog-tooltip:hover{display:none!important}.goog-text-highlight{background:inherit!important;box-shadow:none!important}
@media(max-width:680px){.floating-translate{left:11px;bottom:11px}.floating-translate-toggle{min-width:104px;height:44px;border-radius:12px}.media-masonry figcaption{position:static;margin:0;padding:13px 15px;background:#0d131c;border:0;border-radius:0}.trial-copy .trial-quote{text-align:left}}
