:root {
  --background: #f4efe6;
  --background-soft: #ece3d5;
  --background-warm: #e3d4bf;
  --cream: #fffaf2;
  --text: #2b241d;
  --gold: #a87535;
  --gold-soft: #cda65f;
  --gold-muted: #805d2b;
  --muted: #655b50;
  --line: rgb(82 68 52 / 16%);
  --surface: #faf6ef;
  --surface-strong: #eee5d7;
  --header-surface: #f8f8f8;
  --dark-accent: #251f19;
  --display: "Cormorant Garamond", "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Questrial", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--background); }
body { margin: 0; color: var(--text); background: var(--background); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(100% - 80px, 1320px); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 18px; top: -80px; padding: 12px 16px; background: var(--cream); color: var(--background); transition: top .2s; }
.skip-link:focus { top: 18px; }

.site-header { position: fixed; z-index: 30; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; height: 88px; padding: 0 40px; border-bottom: 1px solid transparent; transition: background .45s var(--ease), border-color .45s var(--ease), height .45s var(--ease); }
.site-header.is-scrolled { height: 72px; border-color: rgb(239 230 214 / 10%); background: rgb(11 10 8 / 78%); backdrop-filter: blur(15px); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--cream); letter-spacing: .19em; font-family: var(--display); font-size: 17px; white-space: nowrap; }
.brand-mark { width: 41px; height: 32px; fill: none; stroke: var(--gold-soft); stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark .heart { fill: var(--gold-soft); stroke: none; }
.brand-logo { display: block; width: 118px !important; max-width: 118px; height: auto; transform: translateY(-12px); mix-blend-mode: multiply; }
.site-header > .brand { flex: 0 0 118px; width: 118px; height: 56px; overflow: hidden; }
.desktop-nav { display: flex; gap: clamp(18px, 2.4vw, 38px); margin-left: auto; margin-right: clamp(25px, 4vw, 68px); }
.desktop-nav a { color: rgb(243 238 230 / 82%); font-size: 13px; letter-spacing: .07em; transition: color .25s; }
.desktop-nav a:hover, .text-link:hover { color: var(--gold-soft); }
.header-cta { display: inline-flex; gap: 10px; align-items: center; color: var(--cream); font-size: 12px; letter-spacing: .06em; }
.header-cta span { color: var(--gold); font-size: 16px; }
.menu-toggle, .mobile-menu { display: none; }

.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; }
.hero__media, .hero__shade, .hero__light, .hero__grain { position: absolute; inset: 0; pointer-events: none; }
.hero__media { z-index: -3; background: url("assets/hero/selbstkraft-weg-ins-licht.png") center / cover no-repeat; transform: scale(1.04); will-change: transform; }
.hero__shade { z-index: -2; background: linear-gradient(90deg, rgb(5 5 4 / 84%) 0%, rgb(8 7 5 / 62%) 38%, rgb(8 7 5 / 10%) 78%), linear-gradient(0deg, rgb(7 6 5 / 76%) 0%, transparent 47%, rgb(5 5 4 / 18%) 100%); }
.hero__light { z-index: -2; opacity: .16; background: radial-gradient(ellipse 55% 46% at 67% 43%, rgb(230 184 100 / 44%), transparent 68%); mix-blend-mode: screen; }
.hero__grain { z-index: -1; opacity: .14; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero__content { padding: 13.3rem 0 9.4rem; max-width: min(100% - 80px, 1320px); }
.eyebrow { margin: 0 0 20px; color: var(--gold-soft); text-transform: uppercase; font-size: 10px; line-height: 1.3; letter-spacing: .19em; font-weight: 600; }
.hero__title { max-width: 850px; margin: 0; font: 400 clamp(58px, 8.9vw, 142px)/.8 var(--display); letter-spacing: .095em; color: var(--cream); }
.hero__lead { margin: 28px 0 0; font: italic clamp(28px, 3.2vw, 47px)/1.05 var(--display); color: var(--cream); }
.hero__rule { display: flex; align-items: center; gap: 12px; max-width: 290px; margin: 28px 0 22px; color: var(--gold); }
.hero__rule i { flex: 1; height: 1px; background: currentColor; opacity: .8; }.hero__rule b { font-size: 13px; font-weight: normal; }
.hero__claim { margin: 0; font-size: 13px; letter-spacing: .09em; color: var(--gold-soft); }
.hero__intro { max-width: 530px; margin: 32px 0 0; color: rgb(243 238 230 / 84%); font-size: 15px; line-height: 1.7; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 27px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 54px; padding: 14px 21px; font-size: 11px; letter-spacing: .08em; border: 1px solid transparent; transition: color .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease); }.button:hover { transform: translateY(-2px); }
.button--gold { min-width: 284px; background: linear-gradient(112deg, #b68743, #d2ad69); color: #171008; border-color: rgb(244 224 182 / 40%); box-shadow: inset 0 1px rgb(255 247 224 / 29%), 0 12px 28px rgb(0 0 0 / 18%); }.button--gold:hover { color: #171008; border-color: rgb(244 224 182 / 70%); box-shadow: inset 0 1px rgb(255 247 224 / 45%), 0 17px 32px rgb(0 0 0 / 25%); }.button span { font-size: 16px; }
.text-link { position: relative; padding-bottom: 5px; color: var(--cream); font-size: 11px; letter-spacing: .08em; transition: color .25s; }.text-link::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: var(--gold); transform-origin: right; transition: transform .3s var(--ease); }.text-link:hover::after { transform: scaleX(.45); }.text-link span { margin-left: 8px; color: var(--gold); font-size: 15px; }
.scroll-cue { position: absolute; bottom: 34px; right: 40px; display: flex; align-items: center; gap: 11px; color: rgb(243 238 230 / 60%); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; writing-mode: vertical-rl; }.scroll-cue span { width: 1px; height: 38px; background: linear-gradient(var(--gold), transparent); }
.hero::after { content: ""; position: absolute; z-index: -1; inset: auto 0 0; height: 22%; background: linear-gradient(transparent, #0b0a08); pointer-events: none; }.hero__journey { position: absolute; bottom: 0; left: max(30px, calc((100vw - 1320px) / 2 + 8px)); z-index: 2; width: 1px; height: 125px; background: rgb(239 230 214 / 9%); }.hero__journey span { display: block; width: 100%; height: 0; background: var(--gold); box-shadow: 0 0 12px rgb(199 154 74 / 40%); }

.section { position: relative; padding: clamp(105px, 14vw, 210px) 0; }.situation { background: linear-gradient(115deg, #0b0a08 0%, #17130f 100%); overflow: hidden; }.situation::before { content: ""; position: absolute; inset: 0 0 auto; height: 180px; background: linear-gradient(#0b0a08, transparent); pointer-events: none; }.situation::after { content: ""; position: absolute; width: 64vw; height: 64vw; border: 1px solid rgb(199 154 74 / 8%); border-radius: 50%; top: -29vw; right: -22vw; pointer-events: none; }
.journey-line { position: absolute; top: 0; bottom: 0; left: max(30px, calc((100vw - 1320px) / 2 + 8px)); width: 1px; background: rgb(239 230 214 / 9%); }.journey-line span { display: block; width: 100%; height: 0; background: var(--gold); box-shadow: 0 0 12px rgb(199 154 74 / 40%); }
.situation__grid { position: relative; display: grid; grid-template-columns: 1fr 4.7fr 1.7fr; gap: clamp(30px, 6vw, 100px); }.section-label { align-self: start; display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }.section-label span { color: var(--gold); }
.situation .section-label { position: relative; z-index: 1; width: max-content; margin-left: -7px; padding: 9px 14px 9px 30px; background: #0d0b09; }
.display { margin: 0; max-width: 820px; font: 400 clamp(45px, 6vw, 86px)/.96 var(--display); letter-spacing: -.038em; }.display em { color: var(--gold-soft); font-weight: normal; }.situation__copy .copy { max-width: 590px; margin-top: 40px; color: rgb(243 238 230 / 74%); font-size: 16px; line-height: 1.75; }.copy p { margin: 0 0 19px; }.copy strong { color: var(--cream); font-weight: 500; }.situation__quote { align-self: end; margin: 0 0 10px; padding-left: 18px; border-left: 1px solid var(--gold); color: var(--cream); font: italic 25px/1.22 var(--display); }.situation__quote cite { display: block; margin-top: 16px; color: var(--muted); font: 11px/1.65 var(--sans); letter-spacing: .05em; }

.method { overflow: hidden; background: #14100d; }.method__glow { position: absolute; width: min(65vw, 1000px); aspect-ratio: 1; left: 50%; top: 37%; transform: translate(-50%, -50%); background: radial-gradient(circle, rgb(176 124 53 / 11%), transparent 65%); pointer-events: none; }.method__heading { display: grid; grid-template-columns: 1fr 5.6fr; gap: clamp(30px, 6vw, 100px); }.method__heading .display { margin-top: 0; max-width: 850px; }
.method-stage { position: relative; display: grid; gap: 48px; max-width: 1120px; margin: clamp(75px, 10vw, 140px) auto 34px; }.sun-core { position: relative; width: min(100%, 380px); aspect-ratio: 1.5; margin: 0 auto; }.sun-core__emblem { width: 100%; height: 100%; overflow: visible; }.sun-core__emblem path { stroke: var(--gold); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }.sun-horizon { stroke-dasharray: 310; stroke-dashoffset: 0; }.sun-arc { stroke-dasharray: 245; stroke-dashoffset: 0; }.sun-rays path { stroke-dasharray: 62; stroke-dashoffset: 0; }.sun-rays__dots { stroke-width: 5px !important; stroke-linecap: round !important; }.sun-heart { fill: var(--gold); stroke: none !important; opacity: 1; transform-origin: center; }
.method-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 17vw, 330px); }.pillar { position: relative; min-width: 0; --connector: .38; }.pillar::after { content: ""; position: absolute; top: 19px; width: clamp(66px, 9vw, 138px); height: 1px; background: linear-gradient(90deg, var(--gold), transparent); opacity: var(--connector); transition: opacity .55s var(--ease), box-shadow .55s var(--ease); }.pillar:nth-child(odd)::after { left: calc(100% - 12px); }.pillar:nth-child(even)::after { right: calc(100% - 12px); transform: rotate(180deg); }
.pillar__trigger { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; width: 100%; padding: 0 0 13px; color: rgb(243 238 230 / 63%); text-align: left; background: none; border: 0; border-bottom: 1px solid rgb(239 230 214 / 16%); cursor: pointer; transition: color .45s var(--ease), border-color .45s var(--ease); }.pillar__trigger:hover, .pillar__trigger:focus-visible { color: var(--cream); outline: none; }.pillar__trigger:focus-visible { outline: 1px solid var(--gold); outline-offset: 7px; }.pillar__number { color: var(--gold-muted); font: italic 14px var(--display); transition: color .45s; }.pillar__name { font: 400 29px var(--display); letter-spacing: -.02em; }.pillar__plus { color: var(--gold-muted); font-size: 21px; transition: transform .4s var(--ease), color .4s; }.is-active .pillar__plus { transform: rotate(45deg); }.pillar__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease); }.pillar__body p { overflow: hidden; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.68; }.is-open .pillar__body { grid-template-rows: 1fr; }.is-open .pillar__body p { padding-top: 14px; }.is-active { --connector: .95; }.is-active .pillar__trigger { color: var(--cream); border-color: rgb(199 154 74 / 58%); }.is-active .pillar__number, .is-active .pillar__plus { color: var(--gold-soft); }.is-active::after { box-shadow: 0 0 12px rgb(199 154 74 / 44%); }.method__note { max-width: 460px; margin: 0 auto; color: var(--muted); text-align: center; font: italic 20px/1.4 var(--display); }

@media (min-width: 1001px) { body.has-method-story .method-stage { display: block; height: min(660px, 72vh); min-height: 540px; }.method-stage .sun-core { z-index: 2; position: absolute; top: 50%; left: 50%; margin: 0; transform: translate(-50%, -50%); }.method-stage .method-pair { position: absolute; z-index: 1; inset: 0; display: grid; grid-template-columns: minmax(250px, 310px) minmax(250px, 310px); align-content: center; justify-content: space-between; gap: 0; }.method-stage .method-pair .pillar { align-self: center; }.method-stage .method-pair .pillar::after { width: clamp(72px, 11vw, 165px); }.method-stage .method-pair:not(.is-current) { visibility: hidden; pointer-events: none; }.method-stage .method-pair.is-current { visibility: visible; pointer-events: auto; } }
.next { padding-block: 100px; background: #201911; text-align: center; }.next .eyebrow { margin-bottom: 10px; }.next p:last-child { margin: 0; color: var(--muted); }

@media (max-width: 1000px) { .site-header { height: 72px; padding: 0 24px; }.desktop-nav, .header-cta { display: none; }.menu-toggle { display: grid; place-items: center; gap: 6px; width: 44px; height: 44px; margin-right: -10px; padding: 0; color: var(--cream); background: transparent; border: 0; cursor: pointer; }.menu-toggle span { display: block; width: 23px; height: 1px; background: currentColor; transition: transform .3s, opacity .2s; }.menu-toggle.is-open span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-toggle.is-open span:last-child { transform: translateY(-3.5px) rotate(-45deg); }.mobile-menu { position: fixed; z-index: 25; inset: 0; display: block; visibility: hidden; background: rgb(11 10 8 / 98%); opacity: 0; transition: opacity .35s var(--ease), visibility .35s; }.mobile-menu.is-open { visibility: visible; opacity: 1; }.mobile-menu__inner { display: flex; flex-direction: column; min-height: 100%; padding: 132px 32px 42px; }.mobile-menu nav { display: grid; gap: 14px; }.mobile-menu nav a { font: 400 clamp(42px, 11vw, 64px)/1 var(--display); color: var(--cream); }.mobile-menu .button { align-self: flex-start; margin-top: auto; }.hero__content { padding-top: 160px; }.situation__grid, .method__heading { grid-template-columns: 1fr; }.section-label { margin-bottom: 24px; }.situation__quote { max-width: 410px; margin: 22px 0 0; }.journey-line { left: 25px; }.method-stage { max-width: 650px; }.method-pair { gap: 48px; }.pillar::after { width: 62px; }.pillar__name { font-size: 24px; } }
@media (max-width: 620px) { .shell { width: min(100% - 48px, 1320px); }.brand { font-size: 14px; }.brand-mark { width: 35px; }.hero { min-height: 760px; align-items: flex-end; }.hero__media { background-position: 60% center; }.hero__shade { background: linear-gradient(90deg, rgb(5 5 4 / 82%), rgb(5 5 4 / 34%)), linear-gradient(0deg, rgb(7 6 5 / 86%), transparent 70%); }.hero__content { padding: 138px 0 83px; }.hero__title { font-size: clamp(38px, 10.8vw, 45px); letter-spacing: .08em; }.hero__lead { margin-top: 24px; font-size: 30px; }.hero__intro { margin-top: 27px; font-size: 14px; }.hero__actions { align-items: flex-start; flex-direction: column; gap: 21px; margin-top: 29px; }.scroll-cue { right: 22px; bottom: 22px; }.section { padding: 100px 0; }.display { font-size: clamp(43px, 13vw, 61px); }.situation__copy .copy { margin-top: 29px; font-size: 15px; }.situation__quote { font-size: 23px; }.method__heading .display { max-width: 360px; }.method-stage { display: grid; gap: 0; margin-top: 55px; }.sun-core { width: 175px; margin: 0 auto 74px; }.method-pair { display: contents; }.pillar { width: 100%; }.pillar::after { display: none; }.pillar__trigger { padding: 14px 0; }.pillar__name { font-size: 26px; }.pillar__body p { font-size: 14px; }.method__note { margin-top: 50px; font-size: 19px; }.next { padding-block: 70px; }.next p:last-child { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.hero__media { transform: none !important; }.reveal { opacity: 1 !important; transform: none !important; }.pillar__body { transition: none; }.site-header, .mobile-menu, .menu-toggle span { transition: none; } }

/* Presentation sections: trust, recognition, orientation, movement, decision and first step. */
.journey-echo { position: absolute; inset: 0 auto 0 max(30px, calc((100vw - 1320px) / 2 + 8px)); width: 1px; background: rgb(239 230 214 / 8%); }.journey-echo span { display: block; width: 100%; height: 34%; background: linear-gradient(var(--gold), transparent); }
.about { overflow: hidden; background: linear-gradient(120deg, #1d1710 0%, #110e0b 62%, #0c0a08 100%); }.about::after { content: ""; position: absolute; right: -10vw; bottom: -25vw; width: 58vw; aspect-ratio: 1; border: 1px solid rgb(199 154 74 / 9%); border-radius: 50%; }.about__grid { position: relative; display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.45fr); align-items: start; gap: clamp(54px, 10vw, 170px); }.about__portrait { position: sticky; top: 124px; display: grid; place-items: center; min-height: 590px; overflow: hidden; border: 1px solid rgb(222 185 117 / 37%); background: linear-gradient(145deg, rgb(239 230 214 / 8%), transparent 42%), #17120d; }.about__portrait::before, .about__portrait::after { content: ""; position: absolute; background: var(--gold); }.about__portrait::before { width: 1px; height: 72%; }.about__portrait::after { width: 72%; height: 1px; }.about__portrait-sun { position: absolute; width: 68%; aspect-ratio: 1; border: 1px solid rgb(199 154 74 / 19%); border-radius: 50%; }.about__portrait-sun::before { content: ""; position: absolute; inset: 17%; border-top: 1px solid rgb(199 154 74 / 42%); border-radius: 50%; }.about__portrait p { position: relative; z-index: 1; margin: 0; color: var(--cream); font: 400 clamp(45px, 5vw, 71px)/.87 var(--display); letter-spacing: -.04em; text-align: center; }.about__portrait em { color: var(--gold-soft); }.about__portrait > span { position: absolute; bottom: 29px; color: var(--gold-soft); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }.about__content { position: relative; z-index: 1; }.about__content .section-label { margin-bottom: 66px; }.about__content .copy { max-width: 600px; margin-top: 42px; }.about__quote { max-width: 640px; margin: 60px 0 0; padding: 32px 0 0; border-top: 1px solid rgb(199 154 74 / 53%); color: var(--cream); font: italic clamp(27px, 3vw, 40px)/1.15 var(--display); }

.who { background: #0c0a08; }.who__intro { display: grid; grid-template-columns: 1fr 5.6fr; gap: clamp(30px, 6vw, 100px); }.who__copy { max-width: 610px; margin: 35px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; }.who__list { margin-top: clamp(80px, 10vw, 150px); border-top: 1px solid var(--line); }.who__item { position: relative; display: grid; grid-template-columns: 92px minmax(340px, 1fr) minmax(260px, .7fr); align-items: baseline; gap: 22px; padding: 26px 0 33px; border-bottom: 1px solid var(--line); transition: background .4s, padding-left .5s var(--ease); }.who__item > span { color: var(--gold); font: italic 16px var(--display); }.who__item h3 { margin: 0; color: rgb(239 230 214 / 58%); font: 400 clamp(55px, 8.5vw, 130px)/.8 var(--display); letter-spacing: -.065em; transition: color .4s; }.who__item p { max-width: 330px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }.who__closing { max-width: 690px; margin-top: 65px; margin-left: calc(50% - 20px); color: var(--cream); font: italic 25px/1.35 var(--display); }

.process { overflow: hidden; background: linear-gradient(135deg, #15100c, #201a12); }.process__heading, .offers__heading { display: grid; grid-template-columns: 1fr 5.6fr; gap: clamp(30px, 6vw, 100px); }.process__timeline { position: relative; max-width: 930px; margin: clamp(80px, 10vw, 140px) 0 0 auto; padding-left: clamp(75px, 10vw, 140px); }.process__line { position: absolute; top: 12px; bottom: 38px; left: 18px; width: 1px; background: rgb(239 230 214 / 15%); }.process__line span { display: block; width: 100%; height: 0; background: var(--gold); box-shadow: 0 0 12px rgb(199 154 74 / 35%); }.process__step { position: relative; display: grid; grid-template-columns: 78px 1fr; gap: 32px; padding: 0 0 clamp(62px, 8vw, 105px); }.process__step::before { content: ""; position: absolute; left: calc(-1 * clamp(75px, 10vw, 140px) + 12px); top: 8px; width: 13px; height: 13px; border: 1px solid var(--gold); border-radius: 50%; background: #1b150f; }.process__step:last-child { padding-bottom: 0; }.process__number { color: var(--gold); font: italic 23px var(--display); }.process__step h3 { margin: 0 0 12px; font: 400 clamp(31px, 3.8vw, 48px)/1 var(--display); }.process__step p { max-width: 570px; margin: 0; color: var(--muted); line-height: 1.7; }.process__future { max-width: 570px; margin: 68px 0 0 auto; padding-top: 21px; border-top: 1px solid rgb(199 154 74 / 40%); color: var(--gold-soft); font: italic 19px/1.4 var(--display); }

.training { position: relative; overflow: hidden; background: #0b0a08; }.training__word { position: absolute; top: 48%; left: 50%; color: rgb(239 230 214 / 3.5%); font: 400 clamp(110px, 20vw, 320px)/.7 var(--display); letter-spacing: -.08em; white-space: nowrap; transform: translate(-50%, -50%); user-select: none; }.training__grid { position: relative; display: grid; grid-template-columns: 1fr 3.8fr 2.2fr; gap: clamp(30px, 6vw, 100px); }.training .display { max-width: 650px; }.training__copy { margin-top: 90px; }.training__copy p { position: relative; }.training__copy p:first-child::before { content: ""; position: absolute; top: -34px; left: 0; width: 92px; height: 1px; background: var(--gold); }

.offers { background: linear-gradient(115deg, #17120e, #0b0a08); }.offers__heading { margin-bottom: clamp(65px, 9vw, 120px); }.offer { position: relative; border-top: 1px solid rgb(239 230 214 / 18%); padding: 34px 0; }.offer--primary { display: grid; grid-template-columns: 1.2fr .9fr 1fr; gap: clamp(30px, 5vw, 86px); padding: clamp(42px, 5vw, 68px); border: 1px solid rgb(199 154 74 / 53%); background: linear-gradient(130deg, rgb(199 154 74 / 13%), rgb(239 230 214 / 3%)); }.offer .eyebrow { margin-bottom: 16px; }.offer h3 { margin: 0; color: var(--cream); font: 400 clamp(27px, 3.3vw, 43px)/1.05 var(--display); }.offer--primary .offer__title > p:last-child { margin: 18px 0 0; color: var(--gold-soft); font: italic 19px var(--display); }.offer__includes > p { margin: 0 0 13px; color: var(--gold-soft); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }.offer__includes ul { margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: 14px; line-height: 1.75; }.offer__includes li::before { content: "•"; margin-right: 9px; color: var(--gold); }.offer__prices { display: grid; gap: 20px; }.offer__prices div { display: grid; gap: 4px; }.offer__prices span { color: var(--muted); font-size: 12px; }.offer__prices strong, .offer__single { color: var(--cream); font: 400 clamp(40px, 4vw, 57px)/1 var(--display); letter-spacing: -.05em; }.offer__prices small, .offer__single small { color: var(--gold-soft); font: 400 14px var(--sans); letter-spacing: 0; }.offer__prices p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 34px; }.offer-grid .offer h3 { margin-bottom: 12px; font-size: 29px; }.offer-grid .offer h3 strong { display: block; margin-top: 7px; color: var(--gold-soft); font-size: 31px; font-weight: normal; }.offer-grid .offer > p:not(.eyebrow) { margin: 0 0 22px; color: var(--muted); font-size: 13px; line-height: 1.65; }.offer__single { display: block; margin-top: 32px; }.offer__request { display: inline-block; margin-top: 28px; color: var(--gold-soft); font: italic 24px var(--display); }.offers__note { max-width: 670px; margin: 66px 0 0 auto; color: var(--muted); font-size: 11px; line-height: 1.7; }

.contact { overflow: hidden; background: #0c0a08; }.contact__sunset { position: absolute; inset: 0 0 auto; height: 440px; background: radial-gradient(ellipse 45% 50% at 67% 8%, rgb(199 154 74 / 20%), transparent 72%); }.contact__sunset::before, .contact__sunset::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); }.contact__sunset::before { top: 150px; width: min(74vw, 1050px); height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }.contact__sunset::after { top: 80px; width: min(28vw, 360px); aspect-ratio: 2 / 1; border: 1px solid var(--gold); border-bottom: 0; border-radius: 360px 360px 0 0; opacity: .64; }.contact__intro { position: relative; display: grid; grid-template-columns: 1fr 5.6fr; gap: clamp(30px, 6vw, 100px); }.contact__intro .display { max-width: 930px; }.contact__lead { max-width: 530px; margin: 34px 0 0; color: var(--muted); font-size: 17px; }.contact__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 29px; margin-top: 39px; }.contact__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .38fr); gap: clamp(48px, 10vw, 155px); margin-top: clamp(95px, 12vw, 175px); }.contact-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 30px; }.form-field { display: grid; gap: 10px; }.form-field--wide { grid-column: 1 / -1; }.form-field label, .form-check { color: var(--muted); font-size: 11px; letter-spacing: .08em; }.form-field label span { color: rgb(167 159 148 / 70%); }.form-field input, .form-field textarea { width: 100%; padding: 6px 0 12px; color: var(--cream); background: transparent; border: 0; border-bottom: 1px solid rgb(239 230 214 / 26%); border-radius: 0; outline: none; font: 400 16px var(--sans); resize: vertical; transition: border-color .25s; }.form-field input:focus, .form-field textarea:focus { border-color: var(--gold-soft); }.form-check { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 12px; line-height: 1.55; letter-spacing: 0; cursor: pointer; }.form-check input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--gold); }.contact-form .button { justify-self: start; grid-column: 1 / -1; }.contact__details { align-self: start; display: grid; gap: 26px; padding: 30px 0; border-top: 1px solid rgb(199 154 74 / 55%); }.contact__details .eyebrow { margin-bottom: 4px; }.contact__details div { display: grid; gap: 4px; }.contact__details span { color: var(--muted); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }.contact__details strong { color: var(--cream); font: 400 26px var(--display); }

.site-footer { padding: 62px 0 28px; background: #080706; border-top: 1px solid rgb(239 230 214 / 10%); }.site-footer__grid { display: flex; justify-content: space-between; gap: 40px; }.site-footer__grid .brand { display: inline-flex; }.site-footer__grid p { margin: 22px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }.site-footer__links { display: flex; align-items: flex-start; gap: 27px; }.site-footer__links a { color: var(--muted); font-size: 11px; transition: color .25s; }.site-footer__links a:hover { color: var(--gold-soft); }.site-footer__copyright { margin: 55px auto 0; padding-top: 19px; border-top: 1px solid rgb(239 230 214 / 8%); color: rgb(167 159 148 / 65%); font-size: 10px; }

@media (max-width: 1000px) { .about__grid, .who__intro, .process__heading, .offers__heading, .contact__intro { grid-template-columns: 1fr; }.journey-echo { left: 25px; }.about__portrait { position: relative; top: auto; width: min(100%, 520px); min-height: 500px; }.about__content .section-label { margin-bottom: 24px; }.who__list { margin-top: 80px; }.who__item { grid-template-columns: 70px 1fr; }.who__item p { grid-column: 2; }.who__closing { margin-left: auto; }.training__grid { grid-template-columns: 1fr 3.5fr; }.training__copy { grid-column: 2; margin-top: 0; }.offer--primary { grid-template-columns: 1.15fr 1fr; }.offer__prices { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); }.offer__prices p { grid-column: 1 / -1; }.contact__grid { grid-template-columns: 1fr; }.contact__details { grid-template-columns: repeat(3, 1fr); gap: 28px; }.site-footer__grid { align-items: flex-start; } }
@media (max-width: 620px) { .journey-echo { display: none; }.about__portrait { min-height: 410px; }.about__quote { margin-top: 44px; font-size: 28px; }.who__item { grid-template-columns: 42px 1fr; gap: 10px; padding: 21px 0 28px; }.who__item h3 { font-size: clamp(58px, 19vw, 80px); }.who__item p { grid-column: 2; font-size: 13px; }.who__closing { margin-top: 45px; font-size: 23px; }.process__timeline { padding-left: 48px; }.process__line { left: 5px; }.process__step { grid-template-columns: 1fr; gap: 9px; padding-bottom: 58px; }.process__step::before { left: -49px; }.process__future { margin-top: 48px; }.training__grid { grid-template-columns: 1fr; }.training__copy { grid-column: auto; margin-top: 24px; }.training__word { top: 42%; font-size: 110px; }.offer--primary, .offer-grid { grid-template-columns: 1fr; }.offer--primary { padding: 32px 25px; }.offer__prices { grid-template-columns: 1fr; }.offer-grid { gap: 10px; }.offers__note { margin-top: 45px; }.contact__sunset { height: 290px; }.contact__sunset::before { top: 110px; }.contact__sunset::after { top: 61px; width: 220px; }.contact__lead { font-size: 15px; }.contact__grid { margin-top: 82px; }.contact-form { grid-template-columns: 1fr; gap: 29px; }.form-field--wide, .form-check, .contact-form .button { grid-column: auto; }.contact-form .button { width: 100%; }.contact__details { grid-template-columns: 1fr; gap: 19px; }.site-footer__grid { flex-direction: column; }.site-footer__links { gap: 22px; }.site-footer__copyright { margin-top: 35px; } }
@media (prefers-reduced-motion: reduce) { .about__portrait { position: relative; }.journey-echo span, .process__line span { height: 100%; } }

/* Final presentation polish: real imagery and scroll-led editorial moments. */
.reveal { opacity: 1; transform: none; }
.desktop-nav a { position: relative; }.desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }.desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }.text-link:hover span { display: inline-block; transform: translate(4px, -4px); }.text-link span { transition: transform .35s var(--ease); }

.about__portrait { background: #14100c; box-shadow: 0 22px 60px rgb(0 0 0 / 23%); }.about__portrait::before, .about__portrait::after { display: none; }.about__portrait-image { width: 100%; height: 100%; min-height: 590px; object-fit: cover; object-position: 53% 44%; transform: scale(1); will-change: transform; }.about__portrait::after { content: ""; display: block; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(transparent, rgb(12 9 6 / 45%)); pointer-events: none; }.about__portrait-sun, .about__portrait > p, .about__portrait > span { display: none; }.about__title { display: grid; gap: .04em; }.about__title > span { display: block; }

.statement { position: relative; min-height: 80vh; overflow: hidden; background: radial-gradient(ellipse 54% 46% at 69% 50%, rgb(186 133 57 / 10%), transparent 71%), #0a0907; }.statement::before, .statement::after { content: ""; position: absolute; left: 50%; width: min(72vw, 1020px); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgb(199 154 74 / 44%), transparent); }.statement::before { top: 17%; }.statement::after { bottom: 17%; }.statement__inner { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 80vh; width: min(100% - 160px, 1320px); margin-inline: auto; padding-block: 124px 92px; }.statement__line { max-width: 1060px; margin: 0; color: var(--cream); font: 400 clamp(48px, 7.4vw, 116px)/.91 var(--display); letter-spacing: -.055em; }.statement__line--1 { opacity: .78; }.statement__line--2 { margin-top: .04em; color: rgb(239 230 214 / 42%); opacity: .48; }.statement__line--3 { margin-top: clamp(52px, 8vw, 125px); opacity: .7; }.statement__line--4 { color: var(--cream); opacity: .78; }.statement__line em { color: var(--gold-soft); font-weight: normal; }

.who__item { transition: background .4s, padding-left .5s var(--ease), opacity .4s var(--ease); }

.process__step { transition: opacity .4s var(--ease), transform .45s var(--ease); }.process__step:not(.is-current) { opacity: .55; }.process__step.is-current { opacity: 1; transform: translateX(12px); }.process__step.is-current::before { background: var(--gold); box-shadow: 0 0 0 6px rgb(199 154 74 / 11%); }.process__step.is-current .process__number { color: var(--gold-soft); }.process__step.is-current h3 { color: var(--cream); }

.training { min-height: 0; }.training__visual { position: absolute; z-index: 0; top: 0; right: 0; width: min(47vw, 720px); height: 100%; margin: 0; overflow: hidden; clip-path: polygon(19% 0, 100% 0, 100% 100%, 0 100%); }.training__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0a08 0%, rgb(11 10 8 / 58%) 35%, rgb(80 50 18 / 22%) 100%), linear-gradient(0deg, rgb(11 10 8 / 38%), transparent 55%); pointer-events: none; }.training__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: saturate(.52) brightness(.68) sepia(.08); transform: scale(1.045); will-change: transform; }.training__grid { grid-template-columns: 1fr minmax(0, 5.4fr); }.training__grid > * { position: relative; z-index: 1; }.training__copy { grid-column: 2; max-width: min(600px, 77%); margin-top: 72px; }.training .display { max-width: 720px; }.training__word { z-index: 1; opacity: .9; }

.offer { transition: transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease); }.offer:hover { transform: translateY(-2px); border-color: rgb(199 154 74 / 50%); }.offer--primary { overflow: hidden; }.offer--primary:hover { border-color: rgb(222 185 117 / 72%); background: linear-gradient(130deg, rgb(199 154 74 / 17%), rgb(239 230 214 / 4%)); }.offer__duration { position: absolute; z-index: 0; right: 3%; bottom: -7%; color: rgb(239 230 214 / 4.4%); font: 400 clamp(90px, 16vw, 260px)/.8 var(--display); letter-spacing: -.08em; white-space: nowrap; pointer-events: none; }.offer--primary > *:not(.offer__duration) { position: relative; z-index: 1; }.offer__prices strong { clip-path: inset(0 0 0 0); }

.contact__sunset::before, .contact__sunset::after { display: none; }.contact__sunset { overflow: hidden; }.contact__horizon, .contact__arc, .contact__glow { position: absolute; left: 50%; transform: translateX(-50%); }.contact__horizon { top: 150px; width: min(74vw, 1050px); height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }.contact__arc { top: 80px; width: min(28vw, 360px); aspect-ratio: 2 / 1; border: 1px solid var(--gold); border-bottom: 0; border-radius: 360px 360px 0 0; opacity: .64; }.contact__glow { top: -42px; width: min(48vw, 620px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(224 177 94 / 15%), transparent 68%); }

@media (max-width: 1000px) { .about__portrait-image { min-height: 500px; }.training { min-height: 0; }.training__visual { width: 48%; opacity: .78; }.training__grid { grid-template-columns: 1fr 3.5fr; }.training__copy { grid-column: 2; max-width: 100%; }.statement__inner { width: min(100% - 80px, 1320px); }.offer__duration { font-size: 145px; }.process__step.is-current { transform: translateX(7px); } }
@media (max-width: 1100px) { .who__closing { width: min(100%, 690px); margin-left: auto; } }
@media (min-width: 1001px) { body.has-method-story .method-stage { height: min(620px, 68vh); min-height: 500px; margin: clamp(58px, 6vw, 90px) auto 24px; } }
@media (max-width: 620px) { .about__portrait-image { min-height: 410px; object-position: 53% center; }.statement { min-height: 72vh; }.statement__inner { min-height: 72vh; width: min(100% - 48px, 1320px); }.statement__line { font-size: clamp(42px, 13vw, 60px); }.statement__line--3 { margin-top: 48px; }.statement::before { top: 12%; }.statement::after { bottom: 12%; }.process__step.is-current { transform: none; }.training__visual { position: relative; width: 100%; height: 390px; margin: -35px 0 48px; clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%); opacity: 1; }.training__visual::after { background: linear-gradient(90deg, rgb(11 10 8 / 45%), rgb(81 51 18 / 17%)), linear-gradient(0deg, #0b0a08, transparent 60%); }.training__grid { grid-template-columns: 1fr; }.training__copy { grid-column: auto; max-width: 100%; margin-top: 24px; }.training__word { top: 30%; }.offer__duration { font-size: 98px; }.contact__horizon { top: 110px; }.contact__arc { top: 61px; width: 220px; }.contact__glow { top: -35px; width: 330px; } }
@media (prefers-reduced-motion: reduce) { .statement__line, .about__title > span { opacity: 1 !important; transform: none !important; clip-path: none !important; }.training__visual img, .about__portrait-image { transform: none !important; }.process__step { opacity: 1 !important; transform: none !important; }.contact__horizon, .contact__arc, .contact__glow { opacity: 1 !important; transform: translateX(-50%) !important; } }

/* Light premium theme: shared architecture stays intact; only the visual surface changes. */
html, body { background: var(--background); color: var(--text); }
.site-header { background: var(--header-surface); border-bottom-color: rgb(82 68 52 / 9%); backdrop-filter: blur(15px); }
.site-header.is-scrolled { background: var(--header-surface); border-color: rgb(82 68 52 / 16%); }
.brand { color: var(--text); }.desktop-nav a, .header-cta { color: rgb(43 36 29 / 82%); }.header-cta span { color: var(--gold-muted); }

.hero__shade { background: linear-gradient(90deg, rgb(35 28 21 / 68%) 0%, rgb(35 28 21 / 42%) 38%, rgb(35 28 21 / 8%) 78%), linear-gradient(0deg, rgb(35 28 21 / 54%) 0%, transparent 52%, rgb(35 28 21 / 10%) 100%); }
.hero__light { opacity: .22; }.hero::after { height: 34%; background: linear-gradient(to bottom, transparent 0%, rgb(115 88 59 / 30%) 34%, rgb(207 190 168 / 72%) 73%, var(--background) 100%); }
.hero__journey { background: rgb(255 250 242 / 24%); }.hero__journey span { box-shadow: 0 0 10px rgb(184 135 63 / 32%); }

.situation { background: linear-gradient(115deg, var(--background) 0%, var(--background-soft) 100%); }.situation::before { background: linear-gradient(var(--background), transparent); }.situation::after { border-color: rgb(156 118 64 / 10%); }.situation .section-label { background: var(--surface); }.journey-line { background: rgb(156 118 64 / 14%); }.journey-line span { box-shadow: none; }.situation__copy .copy { color: var(--muted); }.copy strong, .situation__quote { color: var(--text); }.situation__quote cite { color: var(--muted); }

.method { background: #e9dfd1; }.method__glow { background: radial-gradient(circle, rgb(184 135 63 / 12%), transparent 65%); }.pillar__trigger { color: rgb(43 36 29 / 68%); border-color: rgb(82 68 52 / 18%); }.pillar__trigger:hover, .pillar__trigger:focus-visible { color: var(--text); }.pillar__body p, .method__note { color: var(--muted); }.is-active .pillar__trigger { color: var(--text); border-color: rgb(184 135 63 / 66%); }.is-active .pillar__number, .is-active .pillar__plus { color: var(--gold-muted); }.is-active::after { box-shadow: 0 0 10px rgb(184 135 63 / 18%); }

.about { background: linear-gradient(120deg, #f3ebdf 0%, #e6d8c5 100%); }.about::after { border-color: rgb(156 118 64 / 14%); }.about__portrait { background: var(--dark-accent); border-color: rgb(184 135 63 / 52%); box-shadow: 0 18px 42px rgb(74 54 33 / 16%); }.about__portrait::after { background: linear-gradient(transparent, rgb(37 31 25 / 42%)); }.about__quote { color: var(--text); border-color: rgb(184 135 63 / 66%); }

.who { background: var(--surface); }.who__item h3 { color: rgb(43 36 29 / 48%); }.who__closing { color: var(--text); }

.statement { background: radial-gradient(ellipse 54% 46% at 69% 50%, rgb(184 135 63 / 11%), transparent 71%), #ded0bb; }.statement::before, .statement::after { background: linear-gradient(90deg, transparent, rgb(156 118 64 / 44%), transparent); }.statement__line, .statement__line--4 { color: var(--text); }.statement__line--2 { color: rgb(43 36 29 / 60%); }

.process { background: linear-gradient(135deg, var(--background-soft), #e4d6c2); }.process__line { background: rgb(82 68 52 / 18%); }.process__line span { box-shadow: 0 0 9px rgb(184 135 63 / 20%); }.process__step::before { background: var(--background-soft); }.process__step.is-current::before { box-shadow: 0 0 0 6px rgb(184 135 63 / 13%); }.process__step.is-current h3 { color: var(--text); }.process__future { color: var(--gold-muted); }

.training { background: var(--background); }.training__word { color: rgb(43 36 29 / 4.5%); }.training__visual::after { background: linear-gradient(90deg, var(--background) 0%, rgb(244 239 230 / 54%) 35%, rgb(128 89 39 / 13%) 100%), linear-gradient(0deg, rgb(244 239 230 / 30%), transparent 55%); }.training__visual img { filter: saturate(.65) brightness(.88) sepia(.06); }

.offers { background: linear-gradient(115deg, #f6f0e7, #e9dece); }.offer { border-color: rgb(82 68 52 / 19%); }.offer h3, .offer__prices strong, .offer__single { color: var(--text); }.offer--primary { border-color: rgb(184 135 63 / 58%); background: linear-gradient(130deg, rgb(184 135 63 / 10%), rgb(255 255 255 / 35%)); }.offer--primary:hover { border-color: rgb(184 135 63 / 76%); background: linear-gradient(130deg, rgb(184 135 63 / 14%), rgb(255 255 255 / 42%)); }.offer__duration { color: rgb(43 36 29 / 4%); }.offer__prices span, .offer__prices p, .offer-grid .offer > p:not(.eyebrow), .offers__note { color: var(--muted); }.offer__includes ul { color: var(--muted); }

.contact { background: #eee2d1; }.contact__sunset { background: radial-gradient(ellipse 45% 50% at 67% 8%, rgb(184 135 63 / 18%), transparent 72%); }.contact__lead { color: var(--muted); }.contact .text-link { color: var(--text); }.form-field input, .form-field textarea { color: var(--text); border-color: rgb(82 68 52 / 30%); }.form-field label span { color: rgb(117 107 96 / 72%); }.contact__details { border-color: rgb(184 135 63 / 58%); }.contact__details strong { color: var(--text); }

.site-footer { position: relative; isolation: isolate; background: var(--dark-accent); border-color: rgb(255 250 242 / 14%); }.site-footer::before { content: ""; position: absolute; z-index: 0; right: 0; bottom: 100%; left: 0; height: clamp(95px, 11vw, 175px); background: linear-gradient(to bottom, transparent, var(--dark-accent)); pointer-events: none; }.site-footer__grid, .site-footer__copyright { position: relative; z-index: 1; }.site-footer__grid p, .site-footer__links a, .site-footer__copyright { color: rgb(255 250 242 / 68%); }.site-footer__links a:hover { color: var(--gold-soft); }.site-footer__copyright { border-color: rgb(255 250 242 / 13%); }

@media (max-width: 1000px) { .menu-toggle { color: var(--text); }.mobile-menu { background: rgb(244 239 230 / 98%); }.mobile-menu nav a { color: var(--text); } }

/* Hybrid premium rhythm: a dark method signature between warm editorial surfaces. */
.site-header.is-scrolled { box-shadow: 0 8px 24px rgb(74 54 33 / 8%); }
.method { background: linear-gradient(to bottom, var(--background-soft) 0, #d8c9b6 32px, #a78c6b 76px, #634b36 122px, #2d2118 164px, #14100d 196px, transparent 232px), linear-gradient(to top, #f3ebdf 0, #dfd0bc 36px, #a48a6b 82px, #604a35 130px, #2d2118 172px, #14100d 204px, transparent 240px), radial-gradient(circle at 50% 44%, rgb(184 135 63 / 10%), transparent 60%), #14100d; }
.method__glow { background: radial-gradient(circle, rgb(184 135 63 / 11%), transparent 65%); }.method .shell { position: relative; z-index: 1; }.method .display { color: var(--cream); }.method .section-label, .method .pillar__trigger { color: rgb(255 250 242 / 70%); }.method .section-label span, .method .pillar__number, .method .pillar__plus { color: var(--gold-soft); }.method .eyebrow { color: var(--gold-soft); }.method .pillar__trigger { border-color: rgb(255 250 242 / 18%); }.method .pillar__trigger:hover, .method .pillar__trigger:focus-visible, .method .is-active .pillar__trigger { color: var(--cream); }.method .pillar__body p, .method .method__note { color: rgb(255 250 242 / 62%); }.method .is-active .pillar__trigger { border-color: rgb(205 166 95 / 64%); }.method .is-active .pillar__number, .method .is-active .pillar__plus { color: var(--gold-soft); }.method .is-active::after { box-shadow: 0 0 11px rgb(205 166 95 / 32%); }

.who__item::after { transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.statement { background: radial-gradient(ellipse 54% 46% at 69% 50%, rgb(184 135 63 / 12%), transparent 71%), #d8c5a8; }.statement__line--3 { opacity: .58; }.statement__line--4 { opacity: .62; }.statement__line em { display: inline-block; opacity: .55; transform: scale(.98); }
.form-field { transition: color .25s var(--ease); }.form-field:focus-within label { color: var(--gold-muted); transform: translateY(-1px); }.form-field:focus-within input, .form-field:focus-within textarea { border-color: var(--gold); }


@media (max-width: 620px) { .site-header > .brand { flex-basis: 102px; width: 102px; height: 49px; }.brand-logo { width: 102px !important; max-width: 102px; transform: translateY(-10px); }.method { background: linear-gradient(to bottom, var(--background-soft) 0, #cdbba5 24px, #80664b 58px, #35271d 94px, #14100d 126px, transparent 154px), linear-gradient(to top, #f3ebdf 0, #d4c2ad 26px, #80664b 62px, #35271d 98px, #14100d 130px, transparent 158px), radial-gradient(circle at 50% 44%, rgb(184 135 63 / 10%), transparent 60%), #14100d; } }
@media (prefers-reduced-motion: reduce) { .statement__line em { opacity: 1 !important; transform: none !important; } }

/* Keep the closing thought inside the editorial grid at every desktop width. */
.who__closing { margin-left: auto; }

/* Official brand assets and additive motion polish for the final hybrid presentation. */
.site-header > .brand { flex: 0 0 196px; width: 196px; height: auto; overflow: visible; }
.site-header > .brand picture { display: block; width: 100%; }
.brand-logo { display: block; width: 196px !important; max-width: 100%; height: auto; transform: none; mix-blend-mode: normal; }
.footer-brand { display: block; width: min(210px, 100%); }
.footer-brand img { display: block; width: 100%; height: auto; }

.corporate-watermark { position: absolute; z-index: 0; display: block; width: min(58vw, 710px); height: auto; pointer-events: none; user-select: none; }
.corporate-watermark--about { right: -16vw; bottom: -17vw; opacity: .042; }
.corporate-watermark--contact { top: -215px; right: -15vw; opacity: .034; }
.about__grid, .contact__intro, .contact__grid { z-index: 1; }

.hero__journey { --journey-edge: 0; }
.hero__journey::before, .hero__journey::after { content: ""; position: absolute; bottom: calc(80% - 1px); width: 58px; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); opacity: .82; transform: scaleX(var(--journey-edge)); pointer-events: none; }
.hero__journey::before { right: 0; transform-origin: right; }
.hero__journey::after { left: 0; transform: scaleX(var(--journey-edge)) rotate(180deg); transform-origin: right; }
.situation__copy > .display > span { display: block; }

.about__portrait { will-change: transform; }
.about__quote { --quote-line-scale: 1; position: relative; border-top-color: transparent; }
.about__quote::before { content: ""; position: absolute; top: -1px; left: 0; width: min(100%, 640px); height: 1px; background: rgb(184 135 63 / 66%); transform: scaleX(var(--quote-line-scale)); transform-origin: left; }

.who__item { transition: background .4s var(--ease), padding-left .5s var(--ease), opacity .4s var(--ease), color .4s var(--ease); }
/* Pointer hover is temporary; scrolling must never select a row. */
@media (hover: hover) and (pointer: fine) {
  .who__item:hover { padding-left: 18px; background: linear-gradient(90deg, rgb(184 135 63 / 8%), transparent 72%); }
  .who__item:hover h3 { color: var(--text); }
  .who__item:hover p { color: rgb(43 36 29 / 88%); }
}
@media (prefers-reduced-motion: reduce) {
  .who__item:hover { padding-left: 0; }
}





.process__step > div { position: relative; padding-top: 0; }
.process__step > div::before { content: ""; position: absolute; top: -12px; left: 0; width: min(110px, 30%); height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .48s var(--ease); }
.process__step.is-current > div::before { transform: scaleX(1); }
.process__step.is-current .process__number { color: var(--gold-muted); font-weight: 600; }
.process__step.is-current h3 { transition: color .35s var(--ease), transform .4s var(--ease); }

.training__word { color: rgb(43 36 29 / 5.5%); opacity: .45; }
.offer--primary { --offer-frame-inset: 0%; }
.offer--primary::before { content: ""; position: absolute; z-index: 2; inset: -1px; border: 1px solid rgb(184 135 63 / 74%); clip-path: inset(0 var(--offer-frame-inset) 0 var(--offer-frame-inset)); pointer-events: none; }
.offer-grid .offer:hover { border-color: rgb(184 135 63 / 64%); }
.offer-grid .offer:hover strong { color: var(--gold-muted); }
.button span { display: inline-block; transition: transform .35s var(--ease); }
.button:hover span { transform: translate(3px, -3px); }
.desktop-nav a.is-active { color: var(--text); }
.desktop-nav a.is-active::after { transform: scaleX(1); transform-origin: left; }
.contact__title-main, #contact-title em { display: inline-block; }
.statement__line em { color: var(--gold); opacity: .65; transform: scale(.985); }
.process__step.is-current p { transition: color .35s var(--ease), opacity .35s var(--ease); transition-delay: .06s; }

@media (max-width: 1000px) {
  .site-header > .brand { flex-basis: 50px; width: 50px; height: 50px; overflow: visible; }
  .site-header > .brand picture, .brand-logo { width: 50px !important; height: 50px; }
  .brand-logo { max-width: none; object-fit: contain; }
  .corporate-watermark { width: min(92vw, 560px); }
  .corporate-watermark--about { right: -34vw; bottom: -30vw; }
  .corporate-watermark--contact { top: -80px; right: -42vw; }
}

@media (max-width: 620px) {
  .site-header > .brand { flex-basis: 46px; width: 46px; height: 46px; }
  .site-header > .brand picture, .brand-logo { width: 46px !important; height: 46px; }
  .footer-brand { width: 172px; }
  .process__step > div::before { width: 82px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo, .about__portrait, .about__quote::before, .process__step > div::before, .button span, .desktop-nav a::after { transition: none !important; transform: none !important; clip-path: none !important; }
  .hero__journey { --journey-edge: 1; }
  .corporate-watermark { animation: none !important; }
}

/* The story layout is opt-in: without GSAP every method pair remains readable. */
@media (min-width: 1001px) {
  body:not(.has-method-story) .method-stage { display: grid; height: auto; min-height: 0; }
  body:not(.has-method-story) .method-stage .sun-core { position: relative; top: auto; left: auto; margin: 0 auto; transform: none; }
  body:not(.has-method-story) .method-stage .method-pair { position: relative; inset: auto; display: grid; visibility: visible !important; pointer-events: auto; opacity: 1 !important; transform: none !important; }
  body:not(.has-method-story) .method-stage .pillar__body { grid-template-rows: 1fr; }
  body:not(.has-method-story) .method-stage .pillar__body p { padding-top: 14px; }
}

/* Deterministic method stage: decorative layers never sit above the controls. */
.method { isolation: isolate; }
.method::before, .method::after, .method__glow { z-index: 0; pointer-events: none; filter: none; backdrop-filter: none; mix-blend-mode: normal; }
.method .shell { z-index: 2; }
.method-stage { isolation: isolate; }
.sun-core, .sun-core * { pointer-events: none; }
.sun-core__emblem { color: var(--gold-soft); }
.method-sun-horizon path, .method-sun-arc path, .method-sun-rays path,
.contact-sun-horizon path, .contact-sun-arc path, .contact-sun-rays path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.method-sun-dots circle, .contact-sun-dots circle { fill: currentColor; }
.method-sun-heart, .contact-sun-heart { fill: currentColor; stroke: none; transform-box: fill-box; transform-origin: center; }

@media (min-width: 1001px) {
  body.has-method-story .method-stage .sun-core { z-index: 2; pointer-events: none; }
  body.has-method-story .method-stage .method-pair { z-index: 3; pointer-events: none; will-change: opacity, transform; }
  body.has-method-story .method-stage .method-pair.is-current { visibility: visible; pointer-events: auto; }
  body.has-method-story .method-stage .method-pair .pillar__trigger { position: relative; z-index: 4; pointer-events: auto; }
}

/* The Kim mark remains a cropped, decorative layer and never contributes height. */
.about .corporate-watermark--about {
  top: clamp(210px, 18vw, 292px);
  right: auto;
  bottom: auto;
  left: -142px;
  width: 372px;
  opacity: .044;
}


/* Contact uses the same official sunrise geometry, without abstract circles. */
.contact__sunset {
  z-index: 0;
  height: 350px;
  overflow: hidden;
  pointer-events: none;
  background: linear-gradient(to bottom, rgb(184 135 63 / 10%), transparent 72%);
}
.contact-sunrise {
  position: absolute;
  top: 14px;
  left: 50%;
  width: min(43vw, 500px);
  height: auto;
  overflow: visible;
  color: var(--gold);
  transform: translateX(-50%);
  pointer-events: none;
}
.contact__intro, .contact__grid { position: relative; z-index: 1; }
.contact .corporate-watermark--contact { display: none; }

@media (max-width: 1000px) {
  .about .corporate-watermark--about { top: 215px; left: -128px; width: 320px; opacity: .04; }
  .contact__sunset { height: 290px; }
  .contact-sunrise { top: 24px; width: min(72vw, 430px); }
}

@media (max-width: 620px) {
  .about .corporate-watermark--about { top: 180px; left: -135px; width: 285px; opacity: .038; }
  .contact__sunset { height: 238px; }
  .contact-sunrise { top: 28px; width: min(89vw, 390px); }

}

@media (prefers-reduced-motion: reduce) {
  .method-sun-horizon path, .method-sun-arc path, .method-sun-rays path,
  .contact-sun-horizon path, .contact-sun-arc path, .contact-sun-rays path { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
  .method-sun-dots, .method-sun-heart, .contact-sun-dots, .contact-sun-heart { opacity: 1 !important; transform: none !important; }
}

/* Official sun paths are shared by the method and contact motifs. */
.brand-sun-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.method-sun-horizon, .method-sun-arc, .method-sun-rays, .method-sun-dots,
.contact-sun-horizon, .contact-sun-arc, .contact-sun-rays, .contact-sun-dots {
  fill: currentColor;
  stroke: none;
  transform-box: fill-box;
  transform-origin: center;
}
.method-sun-heart, .contact-sun-heart { fill: none; stroke: currentColor; stroke-width: 2; }
.method-sun-rays--secondary, .contact-sun-rays--secondary { opacity: .82; }

/* Tighten the Kim composition locally; the decoration remains out of flow. */
.about { padding-top: clamp(122px, 9vw, 158px); padding-bottom: clamp(124px, 11vw, 178px); }
.about .corporate-watermark--about {
  top: clamp(108px, 8vw, 146px);
  left: -94px;
  width: 348px;
  opacity: .046;
}

/* The statement keeps one quiet ornament above the words, never through them. */
.statement::after { display: none; }
.statement::before {
  top: clamp(58px, 9vh, 104px);
  width: min(17vw, 240px);
  background: linear-gradient(90deg, transparent, rgb(156 118 64 / 52%), transparent);
}
.statement__line--4 { opacity: 1; }
.statement__line em {
  color: var(--gold);
  opacity: 1;
  font-weight: 600;
  letter-spacing: .008em;
  transform: scale(1);
}

/* Footer identity is present without becoming a second visual hero. */
.footer-brand { width: min(350px, 100%); }
.site-footer__grid > div:first-child { max-width: 390px; }
.site-footer__grid p { max-width: 330px; }

@media (max-width: 1000px) {
  .about { padding-top: 112px; padding-bottom: 124px; }
  .about .corporate-watermark--about { top: 98px; left: -108px; width: 315px; opacity: .04; }
  .footer-brand { width: min(280px, 100%); }
}

@media (max-width: 620px) {
  .about { padding-top: 96px; padding-bottom: 104px; }
  .about .corporate-watermark--about { top: 88px; left: -121px; width: 275px; opacity: .036; }
  .statement::before { top: 46px; width: 130px; }
  .footer-brand { width: min(240px, 100%); }
}

@media (prefers-reduced-motion: reduce) {
  .method-sun-horizon, .method-sun-arc, .method-sun-rays, .method-sun-dots, .method-sun-heart,
  .contact-sun-horizon, .contact-sun-arc, .contact-sun-rays, .contact-sun-dots, .contact-sun-heart { opacity: 1 !important; transform: none !important; }
}

/* Short, neutral blends keep section edges soft without broad brown bands. */
.hero::after { height: clamp(48px, 7vh, 84px); background: linear-gradient(to bottom, transparent, var(--background)); }
.situation::before { height: 48px; }
.method { background: linear-gradient(to bottom, var(--background-soft), transparent 56px), linear-gradient(to top, #f3ebdf, transparent 56px), radial-gradient(circle at 50% 44%, rgb(184 135 63 / 10%), transparent 60%), #14100d; }
.site-footer::before { height: 48px; }

.who::before, .statement::before, .process::before, .training::before, .offers::before {
  content: ""; position: absolute; z-index: 1; inset: 0 0 auto; width: 100%; height: 36px;
  transform: none; pointer-events: none;
  background: linear-gradient(to bottom, var(--section-edge), transparent);
}
.who { --section-edge: #e6d8c5; }
.statement { --section-edge: var(--surface); }
.process { --section-edge: #d8c5a8; }
.training { --section-edge: #e4d6c2; }
.offers { --section-edge: var(--background); }
.contact::before { content: ""; position: absolute; inset: 0 0 auto; height: 36px; background: linear-gradient(to bottom, #e9dece, transparent); pointer-events: none; }

/* Reserve the sun's actual height plus breathing room above the contact text. */
.contact { --contact-sun-width: min(43vw, 500px); --contact-sun-top: 14px; padding-top: calc(var(--contact-sun-top) + var(--contact-sun-width) * 330 / 650 + 64px); }
.contact-sunrise { width: var(--contact-sun-width); top: var(--contact-sun-top); }
@media (max-width: 1000px) {
  .contact { --contact-sun-width: min(72vw, 430px); --contact-sun-top: 24px; }
}
@media (max-width: 620px) {
  .method { background: linear-gradient(to bottom, var(--background-soft), transparent 40px), linear-gradient(to top, #f3ebdf, transparent 40px), radial-gradient(circle at 50% 44%, rgb(184 135 63 / 10%), transparent 60%), #14100d; }
  .contact { --contact-sun-width: min(89vw, 390px); --contact-sun-top: 28px; }
}

/* The page journey lives in the gutter, outside every content column. */
:root { --journey-x: max(16px, calc((100vw - 1320px) / 2 - 24px)); }
.hero__journey, .journey-line { left: var(--journey-x); pointer-events: none; }
.journey-line { z-index: 2; background: rgb(156 118 64 / 14%); }
.journey-line span { box-shadow: none; }
@media (max-width: 620px) { :root { --journey-x: 12px; } }
@media (prefers-reduced-motion: reduce) { .journey-line span { height: 100%; } }

/* Fixed geometry keeps all three markers centered on the timeline. */
.process__timeline { --timeline-indent: clamp(75px, 10vw, 140px); --timeline-axis: 18px; padding-left: var(--timeline-indent); }
.process__line { left: var(--timeline-axis); }
.process__step::before { left: calc(var(--timeline-axis) - var(--timeline-indent) - 6px); }
.process__step.is-current { transform: none; }
.process__step .process__future { max-width: 570px; margin: 32px 0 0; padding-top: 21px; color: var(--gold-muted); font: italic 19px/1.4 var(--display); }
@media (max-width: 620px) {
  .process__timeline { --timeline-indent: 48px; --timeline-axis: 5px; }
}

/* Contact feedback uses the approved typography and colors. */
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-status { grid-column: 1 / -1; margin: 0; padding: 16px 20px; border-left: 2px solid var(--gold); color: var(--text); background: rgb(255 255 255 / 35%); }
.form-status[hidden] { display: none; }
.form-status.is-error, .field-error { color: #8a302a; }
[aria-invalid="true"] { border-color: #8a302a !important; }
.form-check a, .form-field small a { text-decoration: underline; text-underline-offset: .2em; }
.form-field small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.button:disabled { opacity: .6; cursor: wait; }
.contact__details a { overflow-wrap: anywhere; }
.contact__details strong { font-size: clamp(19px, 1.8vw, 26px); }

/* Versetzte Bildgrößen geben dem Firmenbereich einen eigenen Rhythmus. */
.corporate { overflow: hidden; background: radial-gradient(ellipse at 90% 25%, #f7f1e6 0%, transparent 55%), #ebe2d2; }
.corporate .shell { position: relative; }
.corporate__heading { display: grid; grid-template-columns: 1fr 5.6fr; gap: clamp(30px, 6vw, 100px); }
.corporate__heading .display { max-width: 850px; }
.corporate__copy { max-width: 600px; margin-top: 32px; padding-left: 24px; border-left: 1px solid var(--gold); }
.corporate__formats { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 56px; padding: 20px 0; border-top: 1px solid rgb(160 120 59 / 28%); color: var(--muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.corporate__formats span { display: flex; align-items: center; gap: 14px; }
.corporate__formats span::before { content: ""; width: 5px; height: 5px; border: 1px solid var(--gold); transform: rotate(45deg); }
.corporate__photos { display: grid; grid-template-columns: 1.3fr 1fr; align-items: start; gap: clamp(24px, 4vw, 64px); margin-top: 22px; }
.corporate__photos figure { position: relative; margin: 0; }
.corporate__photos figure:nth-child(2) { margin-top: clamp(60px, 9vw, 130px); }
.corporate__photos figure:first-child::before { content: ""; position: absolute; z-index: 0; inset: 18px -14px 28px 18px; border: 1px solid rgb(160 120 59 / 45%); pointer-events: none; }
.corporate__photos img { position: relative; display: block; width: 100%; height: auto; box-shadow: 0 20px 45px rgb(60 42 20 / 10%); }
.corporate__photos figcaption { position: relative; display: flex; align-items: center; gap: 16px; padding-top: 24px; color: var(--muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.corporate__photos figcaption span { color: var(--gold); font: italic 20px var(--display); letter-spacing: 0; }
.training__visual img { object-position: 50% 55%; }
@media (max-width: 1000px) { .corporate__heading { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 620px) {
 .corporate__photos { grid-template-columns: 1fr; gap: 32px; }
 .corporate__photos figure:nth-child(2) { margin: 0 0 0 24px; }
 .corporate__formats { gap: 14px 20px; margin-top: 36px; font-size: 9px; }
 .corporate__photos figcaption { font-size: 9px; letter-spacing: .08em; }
}
