:root{
  --bg:#f1eee7;--paper:#fff;--ink:#202725;--muted:#68706d;--line:#b9bfbc;
  --soft:#f7f5f0;--dark:#293532;--accent:#96523c;--context:#e8d6cb;--context-soft:#f5ece7
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ecebe7;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit}.page{width:min(100%,430px);margin:auto;background:var(--paper);box-shadow:0 0 0 1px #d3d6d4;overflow:hidden}.inner{padding-inline:20px}
header{min-height:74px;padding:12px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}
.brand strong,.brand span{display:block}.brand strong{font-size:17px}.brand span{font-size:12px;color:var(--muted);margin-top:4px}
.menu{min-height:44px;padding:9px 12px;background:transparent;border:1px solid var(--ink)}
main section{border-bottom:1px solid var(--line)}.section{padding-block:74px}.compact{padding-block:54px}.open{padding-block:96px}
.pagehead{background:var(--context-soft);position:relative;overflow:hidden;padding-block:88px 74px}
.pagehead:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--accent)}
.pagehead:after{content:"";position:absolute;width:180px;height:210px;right:-65px;bottom:-45px;border:1px solid color-mix(in srgb,var(--accent) 40%, transparent);transform:rotate(8deg)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700;color:var(--accent);margin-bottom:18px}
h1{font-size:42px;line-height:1.04;letter-spacing:-.035em;margin:0 0 28px}h2{font-size:31px;line-height:1.08;letter-spacing:-.025em;margin:0 0 22px}h3{font-size:25px;line-height:1.12;letter-spacing:-.02em;margin:0 0 14px}
p{font-size:18px;margin:0 0 18px}.lead{font-size:22px;line-height:1.28;margin-bottom:20px}.small{font-size:15px;color:var(--muted)}
.topic{padding-block:56px}.topic .rule{width:70px;border-top:2px solid var(--accent);margin-bottom:24px}.topic .tension{font-size:21px;line-height:1.32;font-weight:700;margin-bottom:24px}
.topic:nth-child(even){background:var(--context-soft)}
.closing{background:var(--soft)}.closing .quote{font-family:Georgia,serif;font-size:29px;line-height:1.18;margin:0 0 34px}
.fit{background:#fafafa}.fit h3{margin-top:38px}.frame{background:var(--context-soft)}.meta{font-size:16px;font-weight:700;padding-block:14px;border-block:1px solid var(--line);margin:26px 0}
.button{display:inline-block;background:var(--dark);color:#fff;text-decoration:none;padding:15px 18px;min-height:52px;font-weight:700;margin-top:12px}
.cta{background:#fafafa}.cta h2{font-size:29px}
footer{background:var(--dark);color:#fff;padding:40px 20px 30px}.ftop,.fbottom{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.fbottom{margin-top:34px;align-items:center}.flinks{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.linkedin{width:44px;height:44px;border:1px solid #fff;display:grid;place-items:center;text-decoration:none;font-weight:700}.toplink{font-size:14px}
:focus-visible{outline:3px solid #000;outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.finder{background:var(--paper);padding-block:68px}
.finder h2{margin-bottom:14px}
.finder-list{margin-top:32px;border-top:1px solid var(--line)}
.finder-item{border-bottom:1px solid var(--line)}
.finder-choice{display:block;width:100%;text-align:left;background:transparent;border:0;padding:23px 0;color:var(--ink);font:inherit;cursor:pointer}
.finder-head{display:grid;grid-template-columns:1fr 26px;gap:12px;align-items:start}
.finder-title{font-size:21px;line-height:1.2;font-weight:700}
.finder-copy{display:block;margin-top:10px;font-size:16px;line-height:1.48}
.finder-marker{width:19px;height:19px;border:1.5px solid var(--accent);border-radius:50%;margin-top:3px;position:relative}
.finder-choice[aria-expanded="true"]{padding-inline:14px;background:var(--context-soft)}
.finder-choice[aria-expanded="true"] .finder-marker:after{content:"";position:absolute;inset:4px;background:var(--accent);border-radius:50%}
.finder-answer{padding:0 14px 24px;background:var(--context-soft)}
.finder-answer p{font-size:17px;font-weight:700;margin-bottom:18px}
.finder-link{font-size:16px;font-weight:700;text-underline-offset:4px}
.finder-skip{display:inline-block;margin-top:26px;font-size:16px}
.topic{scroll-margin-top:24px}

.desktop-nav{display:none}

@media (min-width:900px){
  body{background:#e9e9e6}
  .page{
    width:min(100%,1440px);
    box-shadow:0 0 0 1px #d1d1cf;
  }
  .inner{
    width:min(100% - 96px,1180px);
    margin-inline:auto;
    padding-inline:0;
  }
  header{
    min-height:92px;
    padding:0 48px;
    position:relative;
    z-index:5;
    background:var(--paper);
  }
  .brand strong{font-size:19px}
  .brand span{font-size:13px}
  .menu{display:none}
  .desktop-nav{
    display:flex;
    align-items:center;
    gap:30px;
    font-size:14px;
  }
  .desktop-nav a{
    text-decoration:none;
    padding-block:10px;
    border-bottom:1px solid transparent;
  }
  .desktop-nav a:hover,
  .desktop-nav a:focus-visible{border-bottom-color:var(--ink)}

  .section{padding-block:116px}
  h1{font-size:clamp(66px,5.6vw,88px);line-height:.99}
  h2{font-size:44px;line-height:1.06}
  h3{font-size:29px}
  p{font-size:19px;line-height:1.58}
  .small{font-size:16px}

  footer{padding:56px 48px 42px}
  .ftop,.fbottom{
    width:min(100%,1180px);
    margin-inline:auto;
  }
  .fbottom{margin-top:44px}
}
@media (min-width:1180px){
  .desktop-nav{gap:38px;font-size:15px}
}

@media (min-width:900px){
  .pagehead{padding-block:130px 118px}
  .pagehead>.inner{
    display:grid;
    grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);
    gap:110px;
    align-items:start;
  }
  .pagehead h1{
    grid-column:1;
    margin:0;
    max-width:440px;
  }
  .pagehead .lead,
  .pagehead .lead ~ p{
    grid-column:2;
    max-width:710px;
  }
  .pagehead .lead{
    font-size:30px;
    line-height:1.3;
    margin-top:4px;
  }
  .pagehead:after{
    width:350px;
    height:360px;
    right:-90px;
    bottom:-130px;
  }

  .finder{padding-block:110px}
  .finder>.inner{
    display:grid;
    grid-template-columns:minmax(280px,.76fr) minmax(0,1.44fr);
    gap:105px;
    align-items:start;
  }
  .finder h2{
    grid-column:1;
    max-width:390px;
    position:sticky;
    top:120px;
  }
  .finder>.inner>.small{
    grid-column:1;
    max-width:340px;
    margin-top:-8px;
  }
  .finder-list{
    grid-column:2;
    grid-row:1 / span 4;
    margin-top:0;
  }
  .finder-skip{
    grid-column:1;
    margin-top:18px;
  }
  .finder-choice{padding:30px 0}
  .finder-choice[aria-expanded=true]{padding-inline:22px}
  .finder-title{font-size:27px}
  .finder-copy{font-size:18px}
  .finder-answer{padding:0 22px 28px}
  .finder-answer p{font-size:18px}

  .topic{padding-block:110px}
  .topic>.inner{
    display:grid;
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
    column-gap:100px;
    align-items:start;
  }
  .topic-title{
    grid-column:1;
    position:sticky;
    top:120px;
  }
  .topic-title h2{
    font-size:40px;
    max-width:460px;
  }
  .topic-content{
    grid-column:2;
    max-width:710px;
  }
  .topic .tension{
    font-size:27px;
    line-height:1.32;
    margin-bottom:32px;
  }

  .closing>.inner,
  .fit>.inner,
  .frame>.inner,
  .cta>.inner{
    display:grid;
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
    column-gap:100px;
    align-items:start;
  }
  .section-heading{grid-column:1}
  .section-heading h2{
    max-width:430px;
    position:sticky;
    top:120px;
  }
  .section-body{
    grid-column:2;
    max-width:710px;
  }
  .closing .quote{
    font-size:43px;
    line-height:1.15;
    max-width:690px;
  }
  .frame .meta{margin-top:4px}
  .cta h2{
    font-size:48px;
    line-height:1.08;
  }
  .cta .section-body h3{margin-top:4px}
}

:root{
  --brand-bg:#F1EEE7;
  --brand-paper:#F8F6F1;
  --brand-ink:#202725;
  --brand-dark:#293532;
  --brand-muted:#67716E;
  --brand-line:rgba(32,39,37,.24);
  --terra:#96523C;
  --terra-soft:#E8D6CB;
  --terra-pale:#F2E8E2;
  --petrol:#486F72;
  --petrol-soft:#D5E1DF;
  --petrol-pale:#E8F0EF;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",Arial,Helvetica,sans-serif;
}
html,body{
  width:100%;
  min-width:0;
  overflow-x:clip;
  background:var(--brand-bg)!important;
}
body{
  color:var(--brand-ink);
  font-family:var(--sans)!important;
  font-optical-sizing:auto;
}
.page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  background:transparent!important;
  position:relative;
  isolation:isolate;
}
header,main,footer{
  position:relative;
  z-index:2;
}
header{
  background:rgba(248,246,241,.91)!important;
  border-color:var(--brand-line)!important;
  backdrop-filter:blur(12px);
}
h1,h2,h3,p,a,button,label,legend,input,textarea,.brand,.desktop-nav{
  font-family:var(--sans)!important;
}
.quote,.closing .quote{
  font-family:var(--serif)!important;
  font-optical-sizing:auto;
  letter-spacing:-.018em;
}
.small,.brand span{color:var(--brand-muted)!important}
main section{
  position:relative;
  overflow:visible!important;
  border-color:var(--brand-line)!important;
}
main section > *:not(.section-line-fragment){
  position:relative;
  z-index:2;
}
.inner{
  position:relative;
  z-index:2;
}
.button{
  background:var(--brand-dark)!important;
  border:1px solid var(--brand-dark);
  color:#fff!important;
  border-radius:3px;
  transition:transform .2s ease,background-color .2s ease;
}
.button:hover{
  transform:translateY(-1px);
  background:#35433F!important;
}
footer{background:var(--brand-dark)!important}

/* One continuous moving geometric room. */
.ambient-space{
  position:fixed;
  z-index:0;
  inset:0;
  width:100vw;
  height:100vh;
  overflow:hidden;
  pointer-events:none;
  background:
    linear-gradient(132deg,var(--ambient-warm),transparent 39%),
    linear-gradient(312deg,var(--ambient-cool),transparent 43%),
    var(--brand-bg);
}
.ambient-plane,.ambient-line{
  position:absolute;
  display:block;
  will-change:translate,rotate;
}
.ambient-plane{
  border:1px solid rgba(32,39,37,.055);
}
.ambient-line{
  height:1px;
  background:rgba(32,39,37,.18);
  transform-origin:center;
}
.ambient-plane-a{
  width:39vw;height:56vh;right:-13vw;top:14vh;
  background:var(--plane-a);
  transform:skewY(-13deg);
}
.ambient-plane-b{
  width:35vw;height:49vh;left:-12vw;bottom:4vh;
  background:var(--plane-b);
  transform:skewY(11deg);
}
.ambient-plane-c{
  width:34vw;height:52vh;left:10vw;top:-16vh;
  background:var(--plane-c);
  transform:skewY(-11deg) rotate(4deg);
}
.ambient-plane-d{
  width:40vw;height:48vh;right:-12vw;top:49vh;
  background:var(--plane-d);
  transform:skewY(13deg) rotate(-5deg);
}
.ambient-line-a{width:91vw;left:-24vw;top:18vh;transform:rotate(27deg)}
.ambient-line-b{width:86vw;right:-24vw;top:79vh;transform:rotate(-22deg)}
.ambient-line-c{width:1px;height:104vh;left:46%;top:-8vh;transform:rotate(13deg)}
.ambient-line-d{width:78vw;left:10vw;top:53vh;transform:rotate(-32deg)}
.ambient-line-e{width:1px;height:92vh;right:18%;top:11vh;transform:rotate(-16deg)}
.ambient-line-f{width:75vw;left:-19vw;top:68vh;transform:rotate(18deg)}
.ambient-line-g{width:69vw;right:-17vw;top:35vh;transform:rotate(-27deg)}
.ambient-line-h{width:1px;height:86vh;left:24%;top:7vh;transform:rotate(-9deg)}

/* Exactly one thin rotating line per main section. */
.section-line-fragment{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:visible;
}
.section-line-fragment span{
  --motion-angle:0deg;
  position:absolute;
  top:var(--line-y);
  width:var(--line-length);
  height:1px;
  background:var(--section-line);
  transform:rotate(calc(var(--base-angle) + var(--motion-angle)));
  transform-origin:var(--pivot) 50%;
  will-change:transform;
}
.section-line-fragment[style*="--line-left"] span{left:var(--line-left)}
.section-line-fragment[style*="--line-right"] span{right:var(--line-right)}

/* Strong short lines retain the Startseite movement logic. */
.rule{
  will-change:translate;
}

/* Text lives on translucent surfaces, never on a separate page card. */
.pagehead{background:var(--surface-head)!important}
.finder,.form-section{background:var(--surface-main)!important}
.topic,.about-section,.encounter-section,.direct{background:var(--surface-main)!important}
.topic:nth-child(even),.soft{background:var(--surface-alt)!important}
.closing,.fit,.frame,.cta,.mix{background:var(--surface-alt)!important}

/* Finder interactions use one continuous colour field. */
.finder-item{
  transition:background-color .22s ease;
}
.finder-item.is-open{
  background:var(--finder-open)!important;
}
.finder-item.is-open .finder-choice,
.finder-item.is-open .finder-answer,
.finder-choice[aria-expanded="true"]{
  background:transparent!important;
}
.finder-answer[hidden]{display:none!important}
.finder-choice{
  transition:padding .22s ease;
}
.finder-item.is-open .finder-choice{
  padding-inline:16px;
}
.finder-item.is-open .finder-answer{
  padding-inline:16px;
}
.finder-marker{border-color:var(--accent)!important}
.finder-choice[aria-expanded="true"] .finder-marker:after{background:var(--accent)!important}

/* Portrait placeholder uses the established mixed mineral treatment. */
.portrait{
  background:
    linear-gradient(135deg,#D8D4CC 0 43%,#B7C2BE 43% 51%,#E4D9CF 51% 100%)!important;
  border-color:rgba(32,39,37,.20)!important;
  overflow:hidden;
  position:relative;
}
.portrait:after{
  content:"";
  position:absolute;
  inset:auto -14% -10% 34%;
  height:44%;
  border:1px solid rgba(32,39,37,.28);
  transform:rotate(-8deg);
}
.sil{background:#767F7B!important}
.sil:before{background:#646C69!important}

/* Full viewport at every breakpoint; only content width changes. */
@media(min-width:900px){
  body{background:var(--brand-bg)!important}
  .page{width:100%!important}
  .inner{width:min(100% - 96px,1180px)}
}
@media(min-width:600px) and (max-width:899px){
  .inner{
    width:min(100% - 72px,720px);
    margin-inline:auto;
    padding-inline:0;
  }
  header{padding-inline:36px}
}
@media(max-width:599px){
  .ambient-line{background:rgba(32,39,37,.16)}
  .ambient-plane-a{width:73vw;right:-39vw}
  .ambient-plane-b{width:70vw;left:-38vw}
  .ambient-plane-c{width:72vw;left:-28vw}
  .ambient-plane-d{width:78vw;right:-39vw}
  .section-line-fragment span{
    width:calc(var(--line-length) * 1.4);
    background:var(--section-line-mobile);
  }
}
@media(prefers-reduced-motion:reduce){
  .ambient-plane,.ambient-line,.section-line-fragment span,.rule{
    translate:0 0!important;
    rotate:0deg!important;
    transition:none!important;
  }
}

:root{
  --accent:var(--terra);
  --ambient-warm:rgba(150,82,60,.105);
  --ambient-cool:rgba(150,82,60,.038);
  --plane-a:rgba(150,82,60,.11);
  --plane-b:rgba(232,214,203,.17);
  --plane-c:rgba(150,82,60,.075);
  --plane-d:rgba(232,214,203,.13);
  --section-line:rgba(116,61,44,.24);
  --section-line-mobile:rgba(116,61,44,.20);
  --surface-head:rgba(242,232,226,.78);
  --surface-main:rgba(250,247,243,.76);
  --surface-alt:rgba(242,232,226,.67);
  --finder-open:linear-gradient(100deg,rgba(232,214,203,.74),rgba(242,232,226,.66));
}
.pagehead:before{background:var(--terra)!important}
.pagehead:after{
  border-color:rgba(150,82,60,.27)!important;
  background:rgba(232,214,203,.16)!important;
}
.eyebrow,.topic .rule{color:var(--terra)!important;border-color:var(--terra)!important}

/* =========================================================
   Persönliche Anliegen V2
   ========================================================= */

/* Homepage selection logic: one sticky intro block, no independent
   sticky/positioned children that can collide. */
.finder-intro h2,
.finder-intro .small,
.finder-intro .finder-skip{
  position:static!important;
}
.finder-intro h2{
  margin:0 0 18px!important;
}
.finder-intro .small{
  margin:0 0 20px!important;
}
.finder-intro .finder-skip{
  display:inline-block;
  margin:0!important;
}

@media(min-width:900px){
  .finder>.inner{
    display:grid!important;
    grid-template-columns:minmax(280px,.78fr) minmax(0,1.52fr)!important;
    gap:100px!important;
    align-items:start!important;
  }
  .finder-intro{
    grid-column:1;
    grid-row:1;
    position:sticky;
    top:120px;
    align-self:start;
    max-width:390px;
  }
  .finder-list{
    grid-column:2!important;
    grid-row:1!important;
    margin-top:0!important;
  }
}

/* Terracotta-only hover/open treatment, analogous to homepage. */
.finder-item{
  transition:background-color .25s ease;
}
@media(hover:hover) and (pointer:fine){
  .finder-item:hover{
    background:rgba(150,82,60,.12)!important;
  }
}
.finder-item.is-open{
  background:rgba(232,214,203,.76)!important;
}
.finder-item.is-open .finder-choice,
.finder-item.is-open .finder-answer,
.finder-choice[aria-expanded="true"]{
  background:transparent!important;
}

/* New links at the end of the detailed sections. */
.topic-coaching-link{
  display:inline-block;
  margin-top:22px;
  font-weight:700;
  text-underline-offset:4px;
}
.topic-coaching-link:hover{
  color:#763E2D;
}
#persoenlich-coaching-moeglichkeiten,
#persoenlich-veraenderung,
#persoenlich-spannungsfeld,
#persoenlich-muster{
  scroll-margin-top:96px;
}

/* Make links inside open mobile answers unambiguously tappable. */
.finder-answer{
  position:relative;
  z-index:4;
}
.finder-link{
  position:relative;
  z-index:5;
  display:inline-flex;
  min-height:44px;
  align-items:center;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(150,82,60,.14);
}

/* V3: all internal content jumps use the same reliable touch target. */
.finder-skip,
.finder-link,
.topic-coaching-link{
  position:relative;
  z-index:6;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(32,39,37,.12);
}
.finder-skip,
.topic-coaching-link{
  display:inline-flex;
  min-height:44px;
  align-items:center;
}
