@font-face{
  font-family:"Fraunces";
  src:url("fonts/fraunces-variable.ttf") format("truetype");
  font-style:normal;
  font-weight:600 700;
  font-display:swap;
}

@font-face{
  font-family:"Manrope";
  src:url("fonts/manrope-variable.ttf") format("truetype");
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
}

:root{
  color-scheme:dark;
  --paper:#0b1220;
  --paper-strong:#0f172a;
  --cream:#14213a;
  --ink:#eaf2ff;
  --text:#eaf2ff;
  --ink-soft:#a7b4c7;
  --ink-readable:#bac8db;
  --muted:#91a0b7;
  --muted-2:#91a0b7;
  --line:rgba(34,48,71,.85);
  --line-strong:rgba(148,163,184,.18);
  --white:linear-gradient(180deg, rgba(17,28,46,.92), rgba(14,26,44,.92));
  --card-surface:linear-gradient(180deg, rgba(21,34,55,.95), rgba(15,25,41,.95));
  --card-surface-elevated:linear-gradient(180deg, rgba(24,38,61,.98), rgba(17,28,45,.98));
  --card-border:rgba(70,88,122,.92);
  --card-border-strong:rgba(94,113,150,.84);
  --surface-soft:rgba(11,18,32,.42);
  --surface-strong:linear-gradient(180deg, rgba(15,23,42,.98), rgba(10,15,28,.98));
  --coral:#8b7cff;
  --accent-2:#6957ff;
  --gold:#67e8f9;
  --teal:#4ade80;
  --sky:#60a5fa;
  --mint:#4ade80;
  --berry:#8b7cff;
  --danger:#f87171;
  --warn:#fbbf24;
  --flat:#c7d2e0;
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;
  --shadow:0 18px 48px rgba(0,0,0,.34);
  --shadow-soft:0 10px 24px rgba(0,0,0,.24);
  --maxw:1380px;
  --site-backdrop:#0b1220;
  --site-backdrop-home:#0b1220;
  --s1:8px;
  --s2:16px;
  --s3:24px;
  --s4:36px;
  --s5:56px;
  --fs0:.92rem;
  --mission-1:#8b7cff;
  --mission-2:#67e8f9;
  --mission-3:#60a5fa;
  --mission-4:#4ade80;
  --mission-5:#fbbf24;
  --mission-6:#f87171;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100%;
  padding:env(safe-area-inset-top) max(14px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(14px, env(safe-area-inset-left));
  font-family:"Manrope","Avenir Next","Trebuchet MS",sans-serif;
  color:var(--ink);
  background:var(--site-backdrop);
  line-height:1.6;
}
body.page-home{
  min-height:100vh;
  min-height:100svh;
  background:var(--site-backdrop-home);
}
.page-home{}
body.page-home::before{
  display:none;
}
body::before{
  display:none;
}

a{color:inherit}
p{margin:0 0 var(--s2)}
h1,h2,h3{
  margin:0 0 12px;
  font-family:"Fraunces",Georgia,serif;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.05;
  color:var(--ink);
}
h1{
  font-size:clamp(2.1rem, 4vw, 3.8rem);
  line-height:1.04;
}
h2{
  font-size:clamp(1.35rem, 2.2vw, 2rem);
  line-height:1.12;
}
h3{
  font-family:"Manrope","Avenir Next","Trebuchet MS",sans-serif;
  font-size:clamp(1rem, 1.2vw, 1.16rem);
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.22;
}
small{color:var(--ink-soft)}
strong{font-weight:800}

.container{
  width:100%;
  margin:0 auto;
}
.stack > * + *{margin-top:var(--s2)}
.grid{display:grid; gap:var(--s2)}
.grid > *{min-width:0}
.mission-vertiefung-grid{align-items:stretch}
@media (min-width: 860px){
  .grid.cols2{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .grid.cols3{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .grid.cols2.risk-questionnaire-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .grid.cols2.allocation-panel-grid{grid-template-columns:minmax(280px, .7fr) minmax(0, 1.72fr)}
  .grid.cols2.budget-planner-grid{grid-template-columns:minmax(300px, .82fr) minmax(0, 1.95fr)}
  .grid.cols2.future-machine-grid{grid-template-columns:minmax(300px, .88fr) minmax(0, 1.38fr)}
  .grid.cols2.mission-vertiefung-grid{grid-template-columns:minmax(0, 2.4fr) minmax(0, 1fr)}
  .mission-glossar-card .checkgrid{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
.mission-glossar-card .card.compact{
  align-items:flex-start;
  text-align:left;
}
.mission-glossar-card .card.compact .badge{
  display:block;
  align-self:flex-start;
  justify-content:flex-start;
  margin:0 0 10px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:1.05rem;
  line-height:1.2;
}
.mission-merkhilfe-card{
  display:flex;
  flex-direction:column;
}
.mission-merkhilfe-card .note{
  margin-top:auto;
}
.legal-meta-grid{
  display:grid;
  grid-template-columns:minmax(128px, 176px) minmax(0, 300px);
  gap:12px 18px;
  align-items:start;
}
.legal-meta-label{
  font-weight:800;
  color:var(--ink);
}
.legal-meta-value{
  color:var(--ink-soft);
  justify-self:start;
}
@media (min-width: 1280px){
  .grid.cols2.risk-questionnaire-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .grid.cols2.allocation-panel-grid{grid-template-columns:minmax(300px, .62fr) minmax(0, 2.02fr)}
  .grid.cols2.budget-planner-grid{grid-template-columns:minmax(320px, .74fr) minmax(0, 2.2fr)}
  .grid.cols2.future-machine-grid{grid-template-columns:minmax(320px, .8fr) minmax(0, 1.55fr)}
}

header{
  position:sticky;
  top:env(safe-area-inset-top);
  z-index:40;
  isolation:isolate;
  border-bottom:none;
  border-radius:0;
  box-shadow:none;
  background:var(--site-backdrop);
  backdrop-filter:none;
}
header::before{
  content:"";
  position:absolute;
  top:calc(-1 * env(safe-area-inset-top));
  right:0;
  left:0;
  bottom:0;
  pointer-events:none;
  background:inherit;
  z-index:-1;
}
header::after{
  display:none;
}
header,
main,
footer{
  max-width:var(--maxw);
  margin:0 auto;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s2);
  padding:14px 0 12px;
  flex-wrap:wrap;
}
.brand{
  display:flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  min-width:0;
  max-width:240px;
}
.logo{
  display:none;
}
.brandline{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.brandline strong{
  font-size:1.08rem;
}
.brand-logo-image{
  display:block;
  width:min(240px, 100%);
  height:auto;
  max-width:100%;
}
.brandmeta{
  font-size:.72rem;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.2em;
  text-align:left;
  width:100%;
}
.navlinks{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding:4px;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(17,28,46,.72), rgba(11,18,32,.72));
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.navlinks a{
  text-decoration:none;
  min-height:40px;
  padding:9px 18px;
  border-radius:14px;
  border:1px solid transparent;
  color:var(--muted-2);
  background:transparent;
  font-size:.92rem;
  font-weight:800;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.navlinks a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.04);
  color:var(--ink);
  box-shadow:none;
}
.navlinks a[aria-current="page"]{
  background:linear-gradient(135deg, rgba(139,124,255,.96), rgba(105,87,255,.96));
  color:var(--ink);
  border-color:rgba(139,124,255,.22);
  box-shadow:0 8px 20px rgba(105,87,255,.16);
}
.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(17,28,46,.88), rgba(11,18,32,.84));
  color:var(--ink);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  cursor:pointer;
}
.nav-toggle-line{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .18s ease, opacity .18s ease;
}
.nav.mobile-nav-ready.is-open .nav-toggle-line:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.nav.mobile-nav-ready.is-open .nav-toggle-line:nth-child(2){
  opacity:0;
}
.nav.mobile-nav-ready.is-open .nav-toggle-line:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

.skip{
  position:absolute;
  left:-999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  padding:12px 14px;
  background:var(--surface-strong);
  color:var(--ink);
  border:1px solid var(--line-strong);
  border-radius:14px;
  z-index:60;
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.term-tip{
  border-radius:6px;
  color:inherit;
  cursor:help;
  text-decoration-line:underline;
  text-decoration-style:dotted;
  text-decoration-thickness:1.5px;
  text-underline-offset:.18em;
  text-decoration-color:rgba(103,232,249,.52);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  transition:color .18s ease, text-decoration-color .18s ease, background-color .18s ease;
}
.term-tip:hover,
.term-tip.is-active{
  color:var(--ink);
  background-color:rgba(103,232,249,.08);
  text-decoration-color:var(--gold);
}
.term-tip:focus-visible{
  outline:2px solid rgba(103,232,249,.92);
  outline-offset:3px;
  color:var(--ink);
  background-color:rgba(103,232,249,.08);
  text-decoration-color:var(--gold);
}
.term-tooltip-bubble{
  position:fixed;
  left:0;
  top:0;
  z-index:1200;
  max-width:min(320px, calc(100vw - 24px));
  padding:12px 14px;
  border:1px solid rgba(103,232,249,.24);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(13,21,37,.98), rgba(9,14,26,.96));
  box-shadow:0 22px 44px rgba(0,0,0,.34);
  color:var(--text);
  opacity:0;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
}
.term-tooltip-bubble.is-visible{
  opacity:1;
  transform:translateY(0);
}
.term-tooltip-title{
  display:block;
  margin-bottom:4px;
  color:var(--gold);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.term-tooltip-text{
  display:block;
  color:rgba(232,240,255,.92);
  font-size:.95rem;
  line-height:1.45;
  white-space:pre-line;
}

.hero{
  padding:clamp(20px, 4vw, 36px) 0 var(--s3);
}
.mission-main-shell,
.mission-panel{
  position:relative;
  overflow:hidden;
  padding:18px clamp(14px, 2vw, 22px) clamp(14px, 2vw, 18px);
  border:1px solid rgba(34,48,71,.92);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(12,20,36,.84), rgba(10,16,29,.72));
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}
.mission-main-shell::before,
.mission-panel::before{
  content:"";
  position:absolute;
  inset:0 16px auto 16px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));
  opacity:.9;
}
.mission-main-split{
  display:grid;
  gap:var(--s3);
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.mission-main-split::before{
  display:none;
}
.mission-main-shell > .hero,
.mission-panel > .hero{
  padding:18px 0 var(--s3);
  border-bottom:1px solid var(--line);
}
.mission-main-shell > .section,
.mission-panel > .section{
  margin:0;
  padding-top:var(--s3);
}
.mission-main-shell > .section:last-of-type,
.mission-panel > .section:last-of-type{
  padding-bottom:0;
}
.mission-main-shell .container,
.mission-panel .container{
  max-width:none;
  width:100%;
}
.mission-main-shell .lead,
.mission-main-shell .help,
.mission-panel .lead,
.mission-panel .help{
  max-width:none;
  width:100%;
}
.mission-main-shell .mission-strip,
.mission-panel .mission-strip{
  margin-top:var(--s2);
}
.mission-main-shell .mission-bottom-bar,
.mission-panel .mission-bottom-bar{
  margin-top:var(--s3);
}
.lead{
  max-width:64ch;
  color:var(--ink-readable);
  font-size:clamp(1.04rem, 1.4vw, 1.14rem);
  line-height:1.52;
}
.muted{color:var(--ink-soft)}
.hr{
  height:1px;
  margin:var(--s3) 0;
  background:var(--line);
}
.nextprev{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
.mission-bottom-bar{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding-top:var(--s3);
  border-top:1px solid var(--line);
}
.mission-bottom-bar > :first-child{
  margin-right:auto;
}
.stack > .mission-bottom-bar{
  margin-top:var(--s3);
}
.presetbar{
  padding:6px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.28);
}
.hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:var(--s2)}

.home-main{padding-bottom:4px}
.site-master-shell,
.page-home-master-shell{
  display:grid;
  gap:8px;
  max-width:var(--maxw);
  margin:6px auto 0;
  padding:12px;
  border:1px solid rgba(34,48,71,.88);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(14,22,38,.52), rgba(10,16,29,.36));
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.site-master-shell main,
.site-master-shell footer,
.page-home-master-shell main,
.page-home-master-shell footer{
  width:100%;
  justify-self:stretch;
  max-width:none;
  margin:0;
}
.site-master-shell > .footer,
.page-home-master-shell > .footer{
  width:100%;
  padding:2px 0 0;
}
.page-home-master-shell .home-main{
  padding-bottom:0;
}
.page-home-master-shell .hero{
  padding:0;
}
.page-home header,
.page-home main,
.page-home footer{
  max-width:var(--maxw);
  margin:0 auto;
}
.page-home .container{
  width:100%;
}
.page-home header{
  top:env(safe-area-inset-top);
  border-bottom:none;
  border-radius:0;
  box-shadow:none;
  background:var(--site-backdrop-home);
  backdrop-filter:none;
}
.page-home header::before{
  background:inherit;
}
.page-home header::after{
  display:none;
}
@media (min-width: 980px){
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:nowrap;
  }
  .navlinks{
    display:flex;
    width:auto;
    margin-left:auto;
    justify-content:flex-end;
  }
  .navlinks a{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
}
.page-home .hero{
  padding:0 0 4px;
}
.home-tour-shell{
  --home-tour-shell-pad:clamp(18px, 2.4vw, 24px);
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:var(--home-tour-shell-pad);
  border:1px solid rgba(34,48,71,.92);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(12,20,35,.98), rgba(8,13,25,.98));
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.home-tour-shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));
  opacity:.95;
}
.home-tour-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s2);
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.home-tour-bar .stack > * + *{
  margin-top:4px;
}
.home-tour-bar .help{
  margin:0;
  font-size:.95rem;
}
.home-tour-status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.home-tour-stage{
  padding-top:18px;
  padding-bottom:var(--home-tour-shell-pad);
  flex:1 1 auto;
}
.tour-slide.is-active{
  animation:homeSlide .28s ease;
}
.home-tour-intro-grid{
  align-items:center;
}
@media (min-width: 860px){
  .home-journey-lead{
    white-space:nowrap;
  }
  .page-home .home-tour-intro-grid{
    grid-template-columns:minmax(0, 3fr) minmax(0, 1fr);
    align-items:stretch;
  }
}
.home-tour-use-grid,
.home-tour-end-grid{
  align-items:start;
}
.home-tour-end-grid{
  align-items:stretch;
}
.home-tour-end-grid > .card{
  height:100%;
}
.home-tour-use-grid > .card{
  height:100%;
}
.home-journey-header{
  display:grid;
  gap:16px;
  align-items:start;
}
.home-journey-heading-copy{
  min-width:0;
}
.home-journey-heading-copy > * + *{
  margin-top:var(--s2);
}
.home-journey-heading-copy .lead{
  max-width:none;
}
.home-summary-header{
  position:relative;
  min-height:128px;
  margin-bottom:0;
}
.home-summary-heading-copy{
  min-width:0;
  max-width:none;
  padding-right:clamp(148px, 17vw, 210px);
}
.home-summary-heading-copy > * + *{
  margin-top:var(--s2);
}
.home-summary-heading-copy .lead{
  max-width:none;
}
.home-summary-lead{
  white-space:normal;
}
.home-summary-grid{
  align-items:start;
}
.home-summary-slide > .stack > * + *{
  margin-top:var(--s2);
}
.home-tour-panel-slide > .stack > * + *{
  margin-top:var(--s2);
}
.home-tour-panel-header{
  display:grid;
  gap:16px;
  align-items:start;
}
.home-tour-panel-intro{
  max-width:none;
  width:100%;
}
.home-tour-panel-lead-wide{
  max-width:none;
  width:100%;
}
.home-tour-panel-hero-figure{
  margin-bottom:0;
  max-width:330px;
  aspect-ratio:1.86 / 1;
}
.home-tour-panel-hero-image{
  object-position:50% center;
  opacity:.98;
  filter:saturate(1.06) brightness(.98);
  transform:scale(1);
  -webkit-mask-image:radial-gradient(circle at 50% 50%, rgba(0,0,0,1) 34%, rgba(0,0,0,.97) 54%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.24) 90%, transparent 100%);
  mask-image:radial-gradient(circle at 50% 50%, rgba(0,0,0,1) 34%, rgba(0,0,0,.97) 54%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.24) 90%, transparent 100%);
}
.home-tour-end-hero-image{
  object-position:50% 46%;
  transform:scale(1.02);
}
.home-tour-panel-grid .card{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.home-tour-panel-grid .card .eyebrow{
  margin:0;
}
.home-tour-panel-grid .card h3{
  margin:0;
}
.home-tour-panel-grid .card .lead,
.home-tour-panel-grid .card .help{
  margin:0;
}
.home-tour-panel-grid .card .lead{
  max-width:none;
}
.home-summary-slide .summary-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  text-align:left;
}
.home-summary-slide .summary-card-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.home-summary-slide .summary-card-claim{
  color:var(--ink-soft);
  font-size:var(--fs0);
  font-weight:800;
  line-height:1.3;
}
.home-summary-slide .summary-card > h3{
  margin:0;
}
.home-summary-slide .summary-card > .help{
  margin:0;
  color:var(--ink-readable);
}
.home-tour-shell .summary-card{
  min-height:112px;
}
.home-tour-shell .journey-card{
  min-height:0;
}
.page-home .home-tour-shell .journey-card{
  gap:8px;
}
.page-home .home-tour-shell .journey-card h3{
  margin:0;
}
.page-home .home-tour-shell .journey-card p{
  margin:0;
  color:var(--ink-readable);
}
.home-tour-shell .journey-card:hover{
  transform:none;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.home-tour-shell .card,
.home-tour-shell .summary-card,
.home-tour-shell .journey-card{
  background:var(--card-surface-elevated);
  border-radius:20px;
  border-color:var(--card-border-strong);
  padding:10px 12px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.home-tour-shell .card::after,
.home-tour-shell .summary-card::after,
.home-tour-shell .journey-card::after{
  height:5px;
}
.home-tour-shell h1{
  font-size:clamp(2.25rem, 3.6vw, 3.65rem);
  max-width:15.8ch;
}
.home-tour-shell .home-tour-slide-title{
  font-size:clamp(2.25rem, 3.6vw, 3.65rem);
  line-height:1.04;
}
.home-tour-shell h2{
  font-size:clamp(1.22rem, 1.68vw, 1.72rem);
}
.home-tour-shell .lead{
  max-width:68ch;
  font-size:clamp(.96rem, 1vw, 1.02rem);
  line-height:1.44;
}
.page-home .home-tour-intro-grid .lead{
  max-width:none;
}
.home-journey-lead{
  max-width:none;
  width:100%;
}
.intro-explainer{
  width:100%;
}
.intro-investor-copy{
  margin:0;
  color:var(--ink-readable);
  font-size:clamp(.98rem, 1.08vw, 1.03rem);
  line-height:1.58;
}
.home-tour-copy{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.home-tour-heading{
  display:grid;
  grid-template-columns:minmax(0, 1fr) clamp(220px, 23vw, 300px);
  gap:28px;
  align-items:start;
}
.mission-hero-heading{
  margin-top:10px;
}
.home-tour-heading-copy{
  min-width:0;
}
.home-tour-heading-copy > * + *{
  margin-top:8px;
}
.home-tour-hero-figure{
  position:relative;
  isolation:isolate;
  margin:0;
  width:100%;
  margin-bottom:16px;
  justify-self:end;
  aspect-ratio:1.45 / 1;
  border-radius:28px;
  overflow:hidden;
  border:none;
  background:transparent;
  box-shadow:none;
}
.home-tour-hero-figure::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(11,18,32,.92) 0%, rgba(11,18,32,.44) 16%, rgba(11,18,32,0) 38%, rgba(11,18,32,.22) 78%, rgba(11,18,32,.72) 100%),
    linear-gradient(180deg, rgba(11,18,32,.58) 0%, rgba(11,18,32,0) 18%, rgba(11,18,32,0) 78%, rgba(11,18,32,.68) 100%);
}
.home-tour-hero-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% center;
  opacity:.94;
  filter:saturate(1.02) brightness(.95);
  transform:scale(1.035);
  -webkit-mask-image:radial-gradient(circle at 58% 48%, rgba(0,0,0,1) 34%, rgba(0,0,0,.96) 52%, rgba(0,0,0,.8) 68%, rgba(0,0,0,.3) 86%, transparent 100%);
  mask-image:radial-gradient(circle at 58% 48%, rgba(0,0,0,1) 34%, rgba(0,0,0,.96) 52%, rgba(0,0,0,.8) 68%, rgba(0,0,0,.3) 86%, transparent 100%);
}
.home-summary-hero-figure{
  position:absolute;
  top:2px;
  right:0;
  width:clamp(182px, 19vw, 238px);
  max-width:none;
  margin:0;
  aspect-ratio:1.72 / 1;
}
.home-summary-hero-figure::before{
  background:
    linear-gradient(90deg, rgba(11,18,32,.97) 0%, rgba(11,18,32,.64) 18%, rgba(11,18,32,.14) 38%, rgba(11,18,32,.08) 58%, rgba(11,18,32,.26) 82%, rgba(11,18,32,.76) 100%),
    linear-gradient(180deg, rgba(11,18,32,.62) 0%, rgba(11,18,32,.08) 18%, rgba(11,18,32,.04) 78%, rgba(11,18,32,.70) 100%);
}
.home-summary-hero-image{
  object-position:50% 58%;
  opacity:.98;
  filter:saturate(1.06) brightness(.98);
  transform:scale(1.08) translateX(-4%) translateY(2%);
  -webkit-mask-image:radial-gradient(circle at 54% 54%, rgba(0,0,0,1) 38%, rgba(0,0,0,.96) 56%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.26) 88%, transparent 100%);
  mask-image:radial-gradient(circle at 54% 54%, rgba(0,0,0,1) 38%, rgba(0,0,0,.96) 56%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.26) 88%, transparent 100%);
}
.home-journey-hero-figure{
  margin-bottom:0;
  max-width:360px;
  aspect-ratio:1.72 / 1;
}
.mission-hero-figure{
  max-width:clamp(260px, 28vw, 400px);
  aspect-ratio:1.62 / 1;
  margin-bottom:0;
}
.home-journey-hero-image{
  object-position:50% center;
  opacity:.98;
  filter:saturate(1.06) brightness(.98);
  transform:scale(1.02);
  -webkit-mask-image:radial-gradient(circle at 50% 50%, rgba(0,0,0,1) 34%, rgba(0,0,0,.97) 54%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.24) 90%, transparent 100%);
  mask-image:radial-gradient(circle at 50% 50%, rgba(0,0,0,1) 34%, rgba(0,0,0,.97) 54%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.24) 90%, transparent 100%);
}
.mission-hero-image{
  object-position:center;
  transform:scale(1.04);
}
.praxis-hero-figure{
  max-width:clamp(300px, 29vw, 420px);
}
.praxis-hero-kicker{
  color:rgba(214,224,238,.72);
}
.praxis-hero-image{
  object-position:58% center;
  opacity:.56;
  filter:saturate(.95) brightness(.78) contrast(1.02);
  transform:scale(1.07);
  mix-blend-mode:screen;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 18%, rgba(0,0,0,.94) 42%, rgba(0,0,0,1) 64%, rgba(0,0,0,.82) 84%, transparent 100%),
    radial-gradient(circle at 56% 50%, rgba(0,0,0,1) 28%, rgba(0,0,0,.96) 56%, rgba(0,0,0,.62) 78%, transparent 100%);
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 18%, rgba(0,0,0,.94) 42%, rgba(0,0,0,1) 64%, rgba(0,0,0,.82) 84%, transparent 100%),
    radial-gradient(circle at 56% 50%, rgba(0,0,0,1) 28%, rgba(0,0,0,.96) 56%, rgba(0,0,0,.62) 78%, transparent 100%);
}
.werkzeug-hero-figure{
  max-width:clamp(240px, 25vw, 340px);
}
.werkzeug-hero-image{
  object-position:52% center;
  opacity:.58;
  filter:saturate(.82) brightness(.82) contrast(1.02);
  transform:scale(1.02);
}
body[data-page="werkzeugkasten"] .home-tour-heading-copy > .lead{
  max-width:none;
}
body[data-page="werkzeugkasten"] .home-tour-heading-copy > .help{
  max-width:none;
}
body[data-page="werkzeugkasten"] .journey-grid{
  gap:clamp(18px, 2vw, 24px);
}
body[data-page="werkzeugkasten"] .calculator-overview-card{
  gap:10px;
  padding:clamp(22px, 2.8vw, 30px);
}
body[data-page="werkzeugkasten"] .calculator-overview-card p{
  max-width:34ch;
}
body[data-page="werkzeugkasten"] .calculator-overview-card .journey-meta{
  min-height:34px;
}
body[data-page="werkzeugkasten"] .calculator-overview-card .progress-inline{
  margin-top:0;
}
body[data-page="werkzeugkasten"] .calculator-overview-card .progress-shell{
  height:10px;
  margin-top:0;
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.03);
}
body[data-page="werkzeugkasten"] .calculator-overview-card .progress-fill{
  opacity:.88;
}
body[data-page="werkzeugkasten"] .calculator-overview-card [data-progress-help]{
  color:var(--muted);
}
body[data-page="werkzeugkasten"] .toolkit-template-card{
  gap:10px;
}
body[data-page="werkzeugkasten"] .toolkit-template-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
body[data-page="werkzeugkasten"] .toolkit-template-card .badge{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink-soft);
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-page="werkzeugkasten"] .toolkit-template-card .muted{
  margin:0;
}
body[data-page="werkzeugkasten"] .toolkit-template-card .help{
  margin:0;
}
body[data-page="werkzeugkasten"] .toolkit-template-card .result-share{
  margin-left:auto;
}
body[data-page="werkzeugkasten"] .toolkit-template-card .code{
  min-height:184px;
  line-height:1.55;
}
body[data-page="werkzeugkasten"] .toolkit-guide-card .list{
  line-height:1.55;
}
body[data-page="werkzeugkasten"] .toolkit-guide-note{
  margin-top:4px;
}
body[data-page="werkzeugkasten"] .mission-bottom-bar .btn.small{
  min-height:42px;
  padding:10px 14px;
  font-weight:760;
}
.rechner-hero-figure{
  max-width:clamp(300px, 30vw, 430px);
}
.rechner-hero-image{
  object-position:54% center;
  opacity:.74;
  filter:saturate(.78) brightness(.76) contrast(1.08) sepia(.12);
  transform:scale(1.025);
}
body[data-page="praxis-tipps"] .home-tour-heading-copy > .lead{
  max-width:none;
}
body[data-page="praxis-tipps"] .home-tour-heading-copy > .help{
  max-width:none;
  margin-top:12px;
}
@media (min-width: 860px){
  .praxis-overview-grid{
    grid-template-columns:minmax(0, 1fr);
  }
  .praxis-overview-note{
    max-width:calc((100% - var(--s2)) * 2 / 3 + var(--s2) / 3);
  }
  .page-home .home-summary-slide .eyebrow{
    margin-bottom:10px;
  }
  .page-home .home-tour-panel-slide .home-tour-panel-header{
    grid-template-columns:minmax(0, 1fr) clamp(200px, 17vw, 255px);
    gap:20px;
    align-items:start;
  }
  .page-home .home-tour-panel-slide .home-tour-panel-hero-figure{
    width:100%;
    max-width:none;
    justify-self:end;
    align-self:start;
  }
  .page-home .home-journey-slide .home-journey-header{
    grid-template-columns:minmax(0, 1fr) clamp(220px, 19vw, 290px);
    gap:24px;
    align-items:center;
  }
  .page-home .home-journey-slide .home-journey-hero-figure{
    width:100%;
    max-width:none;
    justify-self:end;
    align-self:center;
  }
  .page-home .home-summary-slide h2{
    margin-bottom:12px;
  }
  .page-home .home-summary-slide .home-summary-header{
    display:grid;
    grid-template-columns:minmax(0, 1fr) clamp(220px, 19vw, 290px);
    gap:24px;
    align-items:center;
    min-height:0;
    margin-bottom:0;
  }
  .page-home .home-summary-slide .home-summary-heading-copy{
    padding-right:0;
  }
  .page-home .home-summary-slide .home-summary-lead{
    max-width:54ch;
    font-size:clamp(.96rem, 1vw, 1.02rem);
    line-height:1.44;
    white-space:normal;
  }
  .page-home .home-summary-slide .home-summary-hero-figure{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    max-width:none;
    justify-self:end;
    align-self:center;
  }
  .page-home .home-summary-slide .home-summary-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
  }
  .page-home .home-summary-slide .summary-card{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:10px 12px;
    border-radius:20px;
    min-height:0;
    text-align:left;
  }
  .page-home .home-summary-slide .summary-card .badge-number{
    width:34px;
    height:34px;
    border-radius:12px;
  }
  .page-home .home-summary-slide .summary-card-head{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .page-home .home-summary-slide .summary-card-claim{
    font-size:var(--fs0);
    letter-spacing:0;
  }
  .page-home .home-summary-slide .summary-card > h3{
    margin:0;
  }
  .page-home .home-summary-slide .summary-card > .help{
    margin:0;
    font-size:1rem;
    line-height:1.6;
  }
}
.note.okbox.intro-goal-note{
  margin-top:auto;
  align-self:flex-start;
  width:100%;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  color:var(--ink-readable);
}
.note.okbox.intro-goal-note strong{
  color:inherit;
}
.home-tour-shell .note{
  padding:8px 12px;
}
.home-tour-shell .progress-card{
  align-self:stretch;
  gap:12px;
  background:linear-gradient(180deg, rgba(27,42,67,.99), rgba(18,29,47,.99));
  border-color:rgba(108,126,164,.82);
  box-shadow:0 14px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.progress-card-action{
  display:flex;
  justify-content:flex-end;
  margin-top:auto;
  padding-top:12px;
}
.progress-card-action .btn{
  min-height:42px;
  padding:10px 16px;
}
.home-tour-shell .progress-shell{
  height:12px;
}
.home-tour-shell .progress-inline strong{
  font-size:1rem;
}
.home-tour-dots{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.home-tour-dot{
  width:12px;
  height:12px;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  border-radius:999px;
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.12);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, width .18s ease;
}
.home-tour-dot:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.home-tour-dot:hover{
  background:rgba(255,255,255,.22);
  transform:scale(1.04);
}
.home-tour-dot.is-active{
  width:34px;
  border-color:transparent;
  background:linear-gradient(135deg, var(--coral), var(--accent-2));
}
.home-tour-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding-top:var(--home-tour-shell-pad);
  margin-top:auto;
  border-top:1px solid var(--line);
}
.home-tour-nav [data-tour-next],
.home-tour-nav [data-tour-finish]{
  margin-left:auto;
}
.home-tour-caption{
  flex:1 1 260px;
  margin:0;
  color:var(--muted-2);
  font-size:.8rem;
  font-weight:600;
  line-height:1.38;
  letter-spacing:-.01em;
  text-align:center;
}
.home-tour-nav .btn[disabled]{
  opacity:.38;
  cursor:default;
  box-shadow:none;
  transform:none;
}
.home-tour-nav .btn,
.home-tour-nav a{
  min-height:42px;
  padding:10px 16px;
}

@keyframes homeSlide{
  from{
    opacity:.18;
    transform:translateX(12px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

.kicker,
.eyebrow{
  display:inline-block;
  margin:0 0 10px;
  color:var(--muted-2);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.kicker{
  position:relative;
  padding-left:44px;
}
.kicker::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:32px;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, var(--coral), transparent);
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.28);
  color:var(--ink-soft);
  font-size:var(--fs0);
  font-weight:800;
}
.badge-number{
  width:36px;
  height:36px;
  padding:0;
  justify-content:center;
  border-radius:12px;
  font-variant-numeric:tabular-nums;
}
.badge.ok{background:rgba(34,197,94,.12); color:var(--mint)}
.badge.warn{background:rgba(251,191,36,.12); color:var(--warn)}
.badge.bad{background:rgba(239,68,68,.12); color:var(--danger)}

.card,
.summary-card,
.scenario-card,
.journey-card{
  position:relative;
  overflow:hidden;
  background:var(--card-surface);
  border:1px solid var(--card-border);
  border-radius:var(--radius-lg);
  box-shadow:0 16px 38px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
  padding:clamp(20px, 3vw, 30px);
  backdrop-filter: blur(12px);
}
.card.compact{
  padding:16px 18px;
  box-shadow:var(--shadow-soft);
}
.card.soft{
  background:rgba(11,18,32,.52);
}
.card::after,
.summary-card::after,
.journey-card::after{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));
  opacity:.9;
}

.note{
  border:1px solid rgba(103,232,249,.18);
  border-radius:var(--radius-md);
  padding:14px 16px;
  background:rgba(103,232,249,.08);
  color:var(--ink);
}
.allocation-loss-note{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  margin-top:auto;
  line-height:1.3;
  padding:12px 14px;
}
.allocation-loss-title{
  display:block;
  width:100%;
  color:var(--ink);
  font-size:1rem;
  font-weight:700;
  line-height:1.25;
}
.allocation-loss-note #ddLoss{
  display:block;
  margin-top:0;
  align-self:auto;
  width:100%;
  text-align:right;
  white-space:nowrap;
  color:var(--ink);
  font-size:1.08rem;
  font-weight:900;
  line-height:1.05;
}
.allocation-disclaimer-footnote{
  margin:14px 0 0;
  padding:14px 0 0;
  border-top:1px solid rgba(148,163,184,.14);
  color:var(--muted-2);
  line-height:1.5;
}
.allocation-disclaimer-footnote strong{
  color:inherit;
  font-weight:700;
}
.note.warnbox{
  border-color:rgba(251,191,36,.24);
  background:rgba(251,191,36,.10);
}
.note.okbox{
  border-color:rgba(34,197,94,.24);
  background:rgba(34,197,94,.10);
}

.section{margin:0 0 var(--s4)}

.summary-grid,
.scenario-grid,
.template-grid,
.trust-grid,
.journey-grid,
.lesson-grid,
.checkgrid{
  display:grid;
  gap:var(--s2);
}
@media (min-width: 860px){
  .summary-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .scenario-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .template-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .trust-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .journey-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .lesson-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .lesson-grid > .card.wide{grid-column:1 / -1}
  .checkgrid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

.journey-card{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:250px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.calculator-overview-card{
  min-height:0;
  height:100%;
}
.praxis-overview-card{
  gap:14px;
  padding:clamp(22px, 3vw, 30px);
}
.praxis-overview-card h3{
  margin:0;
  max-width:28ch;
  text-wrap:balance;
}
.praxis-overview-card-wide h3{
  max-width:none;
}
.praxis-overview-label{
  display:inline-block;
  white-space:nowrap;
}
.calculator-overview-card p{
  margin:0;
  max-width:36ch;
  color:var(--ink-readable);
}
.praxis-overview-card-wide p{
  max-width:none;
}
.calculator-overview-card .progress-inline{
  margin-top:2px;
}
.calculator-overview-card .progress-shell{
  margin-top:2px;
}
.calculator-overview-card [data-progress-help]{
  margin:0;
}
.praxis-overview-grid{
  margin-top:2px;
}
.praxis-overview-note{
  min-height:0;
}
.praxis-overview-note h3{
  margin:0;
}
.praxis-section-intro{
  display:grid;
  gap:8px;
  max-width:62ch;
}
.praxis-section-intro-wide{
  max-width:none;
}
.praxis-overview-intro{
  max-width:none;
  margin-bottom:clamp(6px, 1vw, 12px);
}
.praxis-section-intro h2{
  margin:0;
}
.praxis-overview-grid{
  align-items:stretch;
  gap:clamp(18px, 2.1vw, 24px);
}
.praxis-overview-grid > *{
  min-width:0;
}
.praxis-overview-grid .journey-meta{
  min-height:34px;
}
.calculator-overview-actions{
  margin-top:auto;
  padding-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
  justify-content:flex-start;
}
.praxis-overview-grid .calculator-overview-actions .btn{
  width:100%;
}
@media (min-width: 860px){
  .praxis-overview-grid .calculator-overview-actions .btn{
    width:auto;
    min-width:132px;
  }
}
.journey-card:hover{
  transform:translateY(-3px) rotate(-.15deg);
  box-shadow:0 28px 60px rgba(0,0,0,.38);
}
.toolkit-hero-grid{
  align-items:stretch;
}
.toolkit-progress-card{
  height:100%;
}
.toolkit-template-card,
.toolkit-guide-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
}
.source-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
}
.source-card .toolkit-guide-note{
  margin-top:0;
}
.source-items{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.source-item + .source-item{
  padding-top:14px;
  border-top:1px solid var(--line);
}
.source-item h3{
  margin:0 0 6px;
}
.source-item p{
  margin:0;
}
.source-item .link{
  display:inline-block;
  margin-top:8px;
}
.toolkit-template-card .code{
  flex:1 1 auto;
  min-height:208px;
  margin:0;
}
.toolkit-template-card .template-actions{
  margin-top:auto;
}
.toolkit-guide-note{
  margin-top:auto;
}
body[data-page="praxis-tipps"] .section{
  margin-bottom:calc(var(--s4) - 6px);
}
body[data-page="praxis-tipps"] .source-card{
  gap:12px;
}
body[data-page="praxis-tipps"] .source-card h3{
  margin:0;
}
body[data-page="praxis-tipps"] .source-card p,
body[data-page="praxis-tipps"] .source-card .list{
  margin:0;
}
body[data-page="praxis-tipps"] .toolkit-guide-note{
  margin-top:auto;
}
.praxis-key-card{
  gap:16px;
  margin-top:clamp(8px, 1.6vw, 16px);
}
.praxis-key-card .toolkit-guide-note{
  margin-top:4px;
}
.praxis-highlight-card{
  background:linear-gradient(180deg, rgba(18,30,52,.94), rgba(14,24,42,.92));
}
.praxis-back-link{
  margin-left:auto;
  color:var(--muted);
}
.praxis-back-link:hover{
  color:var(--ink);
}
.strategy-everyday-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.strategy-everyday-note{
  margin-top:auto;
}
.storm-avoid-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.storm-avoid-footer{
  margin-top:auto;
  padding-top:8px;
}
.journey-card[data-done="true"]{
  border-color:rgba(34,197,94,.26);
}
.journey-card[data-done="true"]::before{
  content:"Erledigt";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  background:rgba(34,197,94,.12);
  color:var(--mint);
}
.journey-card.tone-1::after{background:var(--mission-1)}
.journey-card.tone-2::after{background:var(--mission-2)}
.journey-card.tone-3::after{background:var(--mission-3)}
.journey-card.tone-4::after{background:var(--mission-4)}
.journey-card.tone-5::after{background:var(--mission-5)}
.journey-card.tone-6::after{background:var(--mission-6)}
.summary-card.tone-1::after{background:var(--mission-1)}
.summary-card.tone-2::after{background:var(--mission-2)}
.summary-card.tone-3::after{background:var(--mission-3)}
.summary-card.tone-4::after{background:var(--mission-4)}
.summary-card.tone-5::after{background:var(--mission-5)}
.summary-card{
  display:grid;
  grid-template-columns:36px minmax(0, 1fr);
  column-gap:12px;
  row-gap:0;
  align-items:start;
}
.summary-card .badge-number{
  grid-column:1;
  grid-row:1;
  align-self:start;
}
.summary-card-copy{
  grid-column:2;
  min-width:0;
}
.summary-card-copy h3{
  margin:0 0 6px;
}
.summary-card-copy .help{
  margin:0;
  line-height:1.34;
}
.budget-results-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.budget-results-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:0 0 6px;
}
.budget-results-topline .eyebrow{
  margin:0;
}
.allocation-result-topline,
.future-result-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:6px;
}
.allocation-result-topline .eyebrow,
.future-result-topline .eyebrow{
  margin:0;
}
.result-share{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  flex:0 0 auto;
}
.result-share-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px;
  border:none;
  border-radius:8px;
  background:transparent;
  color:rgba(216,225,238,.68);
  box-shadow:none;
  cursor:pointer;
  transition:color .18s ease, transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.result-share-trigger:hover{
  color:var(--ink);
  transform:translateY(-1px);
}
.result-share-trigger:focus-visible{
  outline:none;
  color:var(--ink);
  box-shadow:0 0 0 3px rgba(122,162,255,.16);
}
.result-share-trigger svg{
  width:21px;
  height:21px;
}
.result-share-popover{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:40;
  min-width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(112,132,164,.28);
  background:linear-gradient(180deg, rgba(18,28,48,.98), rgba(12,20,36,.98));
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}
.result-share-item{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:flex-start;
  padding:10px 12px;
  border:none;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  color:var(--ink);
  font:inherit;
  font-weight:700;
  line-height:1.3;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.result-share-item + .result-share-item{
  margin-top:6px;
}
.result-share-item:hover{
  background:rgba(255,255,255,.07);
  transform:translateY(-1px);
}
.result-share-item:focus-visible{
  outline:none;
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(129,148,182,.26);
}
.result-share-status{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  margin:0;
  font-size:.82rem;
  color:var(--muted);
  max-width:min(240px, calc(100vw - 64px));
  white-space:normal;
  text-align:right;
}
.result-share-status:empty{
  display:none;
}
@media (max-width: 640px){
  .result-share-popover{
    min-width:min(220px, calc(100vw - 48px));
  }
}
.budget-results-mode-wrap{
  display:grid;
  gap:8px;
  width:100%;
  align-content:start;
}
.budget-results-mode-eyebrow{
  justify-self:start;
  margin:0;
}
.budget-results-divider{
  height:1px;
  margin:0 0 16px;
  background:var(--line);
}
.budget-results-head{
  display:block;
  margin:14px 0 12px;
}
.budget-results-head h2{
  margin:0;
}
.budget-control-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  align-self:stretch;
}
.budget-control-card h2{
  margin-bottom:8px;
}
.budget-control-card .lead{
  margin-bottom:6px;
}
.budget-control-form{
  display:grid;
  gap:8px;
  align-content:start;
  min-height:0;
}
.budget-control-form label{
  line-height:1.18;
}
.budget-primary-field,
.budget-life-config-row .field{
  gap:0;
}
.budget-primary-field{
  margin-top:8px;
}
.budget-control-form input,
.budget-control-form select{
  min-height:34px;
  padding:5px 14px;
}
.budget-life-config-row{
  margin-top:2px;
}
.budget-mode-field{
  margin-top:auto;
}
.budget-hourly-block{
  display:grid;
  gap:8px;
  margin-top:6px;
}
.budget-status-card{
  display:grid;
  gap:8px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(19,30,52,.84), rgba(12,20,38,.88));
}
.budget-status-title{
  margin:0;
  color:var(--ink);
  font-size:1.05rem;
  font-weight:800;
  line-height:1.2;
}
.budget-status-metrics{
  display:grid;
  gap:8px;
}
.budget-status-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  color:var(--ink-readable);
  line-height:1.3;
}
.budget-status-value{
  display:grid;
  grid-template-columns:minmax(92px, max-content) 24px;
  align-items:baseline;
  justify-content:end;
  gap:3px;
  min-width:120px;
  text-align:right;
  white-space:nowrap;
  color:var(--ink);
  font-size:.98rem;
  font-weight:800;
}
.budget-status-value-main{
  text-align:right;
}
.budget-status-value-share{
  display:block;
  min-width:24px;
  text-align:right;
  color:var(--muted-2);
  font-size:.78em;
  font-weight:700;
  letter-spacing:.04em;
}
.budget-status-copy{
  margin:0;
  color:var(--muted-2);
  font-size:.78rem;
  line-height:1.4;
}
.budget-status-card.is-danger{
  border-color:rgba(252,165,165,.28);
  background:linear-gradient(180deg, rgba(55,24,34,.86), rgba(24,13,24,.9));
}
.budget-status-card.is-warning{
  border-color:rgba(245,191,79,.18);
  background:linear-gradient(180deg, rgba(21,31,54,.88), rgba(13,21,39,.92));
  box-shadow:0 16px 38px rgba(0,0,0,.22), inset 3px 0 0 rgba(245,191,79,.82), inset 0 1px 0 rgba(255,255,255,.035);
}
.budget-status-card.is-success{
  border-color:rgba(88,225,190,.22);
}
.budget-status-card.is-danger .budget-status-title{
  color:#fecaca;
}
.budget-status-card.is-warning .budget-status-title{
  color:#fcd34d;
}
.budget-status-card.is-success .budget-status-title{
  color:#b7f3d5;
}
.budget-results-mode-grid{
  display:grid;
  gap:10px;
  width:100%;
}
.budget-results-mode-grid .field{
  gap:4px;
}
.budget-results-mode-field{
  margin:0;
  min-width:0;
  width:100%;
}
.budget-results-mode-field select{
  width:100%;
}
.budget-planner-grid{
  align-items:stretch;
}
@media (min-width: 860px){
  .budget-results-mode-wrap{
    width:100%;
  }
  .budget-results-mode-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:var(--s2);
  }
}
.future-machine-shell{
  display:flex;
  flex-direction:column;
  gap:var(--s3);
}
.future-reading-card{
  display:flex;
  flex-direction:column;
}
.future-reading-card .note{
  margin-top:auto;
}
.future-machine-top{
  display:grid;
  gap:var(--s3);
}
.future-machine-left,
.future-machine-right,
.time-control-card,
.time-result-card{
  display:flex;
  flex-direction:column;
}
@media (min-width: 980px){
  .future-machine-top{
    grid-template-columns:minmax(320px, .82fr) minmax(0, 1.38fr);
    align-items:start;
  }
  .future-machine-left{
    padding-right:clamp(18px, 2vw, 30px);
  }
  .future-machine-right{
    min-width:0;
    padding-left:clamp(28px, 3vw, 38px);
    border-left:1px solid var(--line);
  }
}
.time-control-card .field{
  grid-template-rows:auto 1fr;
  gap:4px;
}
.time-control-card .field label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-height:2.45em;
  line-height:1.16;
  text-wrap:balance;
}
.time-control-card .field label > span{
  display:block;
}
.time-control-card .field .field-label-meta{
  display:block;
  color:rgba(167,180,199,.82);
  font-size:.8rem;
  font-weight:700;
  line-height:1.16;
}
.future-machine-left h2,
.future-machine-right h2{
  margin-bottom:16px;
  font-size:clamp(1.24rem, 1.85vw, 1.72rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.future-machine-left > .eyebrow,
.future-machine-right > .eyebrow,
.time-control-card > .eyebrow,
.time-result-card > .eyebrow{
  color:rgba(167,180,199,.62);
  font-weight:700;
  letter-spacing:.14em;
}
.time-control-card .two + .two{
  margin-top:8px;
}
.time-control-card .time-field-row-compact .field label{
  min-height:2.55em;
}
.time-control-card .field input{
  min-height:64px;
}
.time-control-card .template-actions{
  margin-top:18px;
}
.future-machine-note{
  margin-top:20px !important;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  line-height:1.58;
  max-width:42ch;
  color:var(--ink-readable);
}
@media (min-width: 980px){
  .future-machine-note{
    margin-top:20px !important;
  }
}
.future-machine-note strong{
  color:var(--ink);
}
.future-machine-shell > .hr{
  margin:20px 0 12px;
}
.forecast-summary-grid{
  align-items:stretch;
  gap:14px;
}
.forecast-stat-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-height:190px;
  height:100%;
  padding:22px 22px 20px;
}
.forecast-stat-card-primary{
  border-color:rgba(115,139,191,.3);
  background:linear-gradient(180deg, rgba(24,39,68,.96) 0%, rgba(15,27,47,.94) 100%);
}
.forecast-stat-card .eyebrow{
  margin:0;
}
.forecast-stat-card h3{
  margin:0;
  font-size:clamp(1.02rem, 1.02vw + .5rem, 1.52rem);
  line-height:1.02;
  letter-spacing:-0.04em;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  width:100%;
  text-align:right;
}
.currency-split{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  width:100%;
}
.currency-split .currency-code{
  flex:0 0 auto;
  font-size:.74em;
  line-height:1;
}
.currency-split .currency-amount{
  flex:1 1 auto;
  min-width:0;
  margin-left:auto;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.forecast-stat-card .help{
  margin:0;
  width:100%;
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.14);
  line-height:1.42;
  color:var(--ink-readable);
}
.forecast-stat-card:nth-child(3) .help{
  max-width:22ch;
}
.forecast-stat-card-primary h3{
  font-size:clamp(1.12rem, 1.16vw + .58rem, 1.68rem);
}
.forecast-scenario-grid{
  align-items:stretch;
  gap:14px;
}
.forecast-scenario-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-height:168px;
  overflow:hidden;
}
.forecast-scenario-card::before{
  content:"";
  position:absolute;
  top:-1px;
  bottom:-1px;
  left:-1px;
  width:28px;
  border:4px solid rgba(148,163,184,.42);
  border-right:0;
  border-radius:24px 0 0 24px;
  pointer-events:none;
}
.forecast-scenario-grid .forecast-scenario-card:nth-child(1)::before{
  border-color:rgba(96,165,250,.88);
}
.forecast-scenario-grid .forecast-scenario-card:nth-child(2)::before{
  border-color:rgba(139,124,255,.86);
}
.forecast-scenario-grid .forecast-scenario-card:nth-child(3)::before{
  border-color:rgba(74,222,128,.9);
}
.forecast-scenario-card .eyebrow{
  margin:0;
}
.forecast-scenario-card h3{
  margin:0;
  font-size:clamp(1rem, 1vw + .52rem, 1.48rem);
  line-height:1.02;
  letter-spacing:-0.04em;
  white-space:nowrap;
  width:100%;
  text-align:right;
}
.forecast-scenario-card .help{
  margin:0;
}
.forecast-scenario-real{
  color:var(--ink-readable);
  font-size:.9rem;
  line-height:1.35;
}
.forecast-scenario-intro{
  margin:8px 0 14px;
  max-width:56ch;
  line-height:1.45;
  color:var(--ink-readable);
}
.forecast-story{
  max-width:66ch;
  line-height:1.55;
}
.future-chart-panel{
  width:100%;
  margin-top:0;
}
.budget-results-card .budget-summary-grid{
  flex:0 0 auto;
  align-items:start;
  grid-auto-rows:auto;
}
.budget-summary-grid .summary-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:auto;
  gap:6px;
  padding:22px 24px 20px;
}
.budget-summary-grid .summary-card .eyebrow{
  margin:0;
}
.budget-summary-grid .budget-summary-amount{
  margin:0;
  font-size:clamp(1.2rem, 1.45vw, 1.75rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  white-space:nowrap;
  width:100%;
}
.budget-summary-grid .summary-card .help{
  margin:0;
  line-height:1.38;
  min-height:calc(1.38em * 2.2);
}
@media (min-width: 860px){
  .budget-results-card .budget-summary-grid{
    grid-template-columns:minmax(0, 1.08fr) repeat(2, minmax(0, 1fr));
    grid-template-rows:auto auto;
    align-items:stretch;
  }
  .budget-results-card #needsSummaryCard{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .budget-results-card #wantsSummaryCard{
    grid-column:2;
    grid-row:1;
  }
  .budget-results-card #futureSummaryCard{
    grid-column:3;
    grid-row:1;
  }
  .budget-results-card #budgetStatusCard{
    grid-column:2 / span 2;
    grid-row:2;
    margin-top:0;
    align-self:start;
  }
}
.budget-summary-card.is-muted{
  background:linear-gradient(180deg, rgba(16,24,40,.72), rgba(10,16,30,.82));
  border-color:rgba(148,163,184,.12);
}
.budget-summary-card.is-muted::after{
  opacity:.5;
}
.budget-summary-card.is-muted .budget-summary-amount,
.budget-summary-card.is-muted .budget-breakdown-total .budget-breakdown-label,
.budget-summary-card.is-muted .budget-breakdown-total .budget-breakdown-total-value{
  opacity:.82;
}
.budget-summary-card.is-muted .budget-breakdown-list li,
.budget-summary-card.is-muted .help,
.budget-summary-card.is-muted .budget-summary-subline{
  opacity:.7;
}
.budget-card-state-note{
  display:block;
  margin:2px 0 0;
  color:#cbd5e1;
  font-size:.78rem;
  font-weight:700;
  line-height:1.35;
}
.budget-card-state-note.is-subtle{
  color:#d7dee9;
  opacity:.88;
}
.budget-summary-card.is-muted .budget-card-state-note{
  color:#f8d6d6;
  opacity:1;
}
.allocation-summary-grid{
  align-items:stretch;
  margin-bottom:16px;
  grid-template-columns:1fr;
}
.allocation-capital-grid{
  display:grid;
  gap:12px;
}
@media (min-width: 860px){
  .allocation-summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .allocation-capital-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1320px){
  .allocation-summary-grid{
    grid-template-columns:minmax(0, 1.16fr) repeat(3, minmax(0, 1fr));
  }
  .allocation-capital-grid{
    grid-template-columns:minmax(0, 1.16fr) repeat(3, minmax(0, 1fr));
  }
}
.allocation-capital-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  min-height:100%;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(17,28,49,.82), rgba(11,19,36,.9));
}
.allocation-capital-card::before{
  content:"";
  position:absolute;
  left:-1px;
  top:-1px;
  bottom:-1px;
  width:16px;
  border:3px solid rgba(148,163,184,.32);
  border-right:0;
  border-radius:18px 0 0 18px;
  pointer-events:none;
}
.allocation-capital-card-foundation{
  border-color:rgba(106,127,255,.22);
}
.allocation-capital-card-foundation::before{
  border-color:rgba(245,191,79,.92);
}
.allocation-capital-card-invest{
  border-color:rgba(88,225,190,.18);
}
.allocation-capital-card-invest::before{
  border-color:rgba(94,234,212,.9);
}
.allocation-capital-title{
  color:var(--ink-soft);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.1;
  text-transform:uppercase;
}
.allocation-capital-meta{
  color:var(--ink);
  font-size:1.04rem;
  font-weight:900;
  line-height:1.15;
  margin-bottom:4px;
}
.allocation-capital-rows{
  width:100%;
  display:grid;
  gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.14);
}
.allocation-capital-row{
  display:grid;
  grid-template-columns:minmax(88px, 1fr) auto;
  gap:12px;
  align-items:center;
  color:var(--ink-readable);
  line-height:1.3;
}
.allocation-capital-row-label{
  color:var(--ink-soft);
  min-width:0;
  padding-right:8px;
}
.allocation-capital-row-value{
  color:var(--ink);
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:4px;
  text-align:right;
  white-space:nowrap;
  font-size:.92rem;
  font-weight:800;
}
.allocation-capital-row-main{
  color:var(--ink);
}
.allocation-capital-row-share{
  color:var(--ink-soft);
  font-size:.8em;
  font-weight:700;
  letter-spacing:.01em;
}
.allocation-capital-card-foundation .allocation-capital-row{
  grid-template-columns:minmax(92px, 1fr) auto;
}
.allocation-capital-card-foundation .allocation-capital-row-value{
  font-size:.9rem;
}
.allocation-capital-lines{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin-top:14px;
  padding-top:12px;
  width:100%;
  border-top:1px solid rgba(148,163,184,.14);
  color:var(--ink-soft);
  line-height:1.35;
}
.allocation-capital-lines span{
  display:block;
}
@media (min-width: 1320px){
  .allocation-capital-card-foundation{
    grid-column:1 / span 1;
  }
  .allocation-capital-card-invest{
    grid-column:2 / span 3;
  }
}
.allocation-control-title{
  margin:0;
  font-size:clamp(1.34rem, 1.52vw, 1.78rem);
  line-height:1;
  max-width:16ch;
  text-wrap:balance;
  margin-bottom:10px;
}
.allocation-control-lead{
  margin:0;
  max-width:24ch;
  line-height:1.3;
}
.allocation-control-copy{
  margin:10px 0 0;
  max-width:30ch;
  line-height:1.42;
}
.allocation-control-card,
.allocation-result-card{
  display:flex;
  flex-direction:column;
  padding:18px 20px 20px;
}
.allocation-control-card .field{
  gap:6px;
}
.allocation-control-card .help{
  line-height:1.36;
}
.allocation-control-card input,
.allocation-control-card select{
  min-height:44px;
  padding:11px 14px;
}
.risk-questionnaire-form{
  gap:16px;
}
.risk-profile-card{
  display:flex;
  flex-direction:column;
}
.risk-profile-mini-grid{
  align-items:stretch;
}
.risk-profile-mini-grid .card.compact{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:160px;
}
.risk-profile-mini-grid .card.compact .eyebrow{
  margin:0;
}
.risk-profile-mini-grid .card.compact h3{
  margin:0;
  line-height:1.08;
}
.risk-profile-drawdown{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.risk-profile-drawdown .badge{
  min-width:78px;
  justify-content:center;
}
.allocation-depot-field{
  margin-top:10px;
}
.allocation-income-field{
  margin-top:8px !important;
}
.allocation-summary-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-height:196px;
  padding:18px 20px 20px;
}
.allocation-summary-head{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
}
.allocation-summary-card .eyebrow{
  margin:0;
}
.allocation-summary-card .help{
  margin:0;
  color:var(--ink-readable);
}
.allocation-role-note{
  min-height:calc(1.38em * 2);
}
.allocation-position-note{
  margin-top:10px !important;
  padding-top:10px;
  border-top:1px solid rgba(154,174,208,.18);
  color:var(--muted-2);
  font-size:.92rem;
  line-height:1.35;
}
.allocation-summary-footer{
  margin-top:auto;
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.allocation-summary-footer-foundation{
  justify-content:flex-end;
}
.allocation-products-toggle{
  display:inline-flex;
  align-items:flex-end;
  padding:0;
  border:0;
  background:none;
  color:var(--ink-soft);
  font-family:inherit;
  font-size:.77rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:color .18s ease, opacity .18s ease, border-color .18s ease;
  border-bottom:1px solid rgba(148,163,184,.16);
}
.allocation-products-toggle:hover,
.allocation-products-toggle:focus-visible{
  color:var(--ink);
  border-bottom-color:rgba(226,232,240,.32);
}
body.allocation-products-open{
  overflow:hidden;
}
.allocation-products-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(6,10,18,.62);
  backdrop-filter:blur(10px);
}
.allocation-products-modal[hidden]{
  display:none !important;
}
.allocation-products-dialog{
  position:relative;
  width:min(980px, 100%);
  max-height:min(84vh, 900px);
  overflow:auto;
  border:1px solid rgba(115,139,191,.28);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(24,39,68,.98) 0%, rgba(16,28,49,.98) 100%);
  box-shadow:0 30px 80px rgba(0,0,0,.42);
}
.allocation-products-close{
  position:absolute;
  top:16px;
  right:16px;
  width:34px;
  height:34px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:999px;
  background:rgba(148,163,184,.08);
  color:var(--ink-soft);
  cursor:pointer;
}
.allocation-products-close::before,
.allocation-products-close::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:1.5px;
  background:currentColor;
}
.allocation-products-close::before{transform:translate(-50%, -50%) rotate(45deg)}
.allocation-products-close::after{transform:translate(-50%, -50%) rotate(-45deg)}
.allocation-products-dialog-body{
  display:grid;
  gap:18px;
  padding:clamp(18px, 2.4vw, 24px);
}
.allocation-product-dialog-top{
  display:grid;
  gap:10px;
  padding-right:44px;
}
.allocation-product-dialog-top .eyebrow{
  margin:0;
}
.allocation-product-dialog-title{
  margin:0;
  font-size:clamp(1.38rem, 1.5vw + .7rem, 1.76rem);
  line-height:1.1;
  letter-spacing:-.03em;
}
.allocation-product-dialog-intro{
  display:grid;
  gap:8px;
}
.allocation-product-intro-line,
.allocation-product-subhint,
.allocation-product-footnote{
  margin:0;
}
.allocation-product-intro-line{
  color:var(--ink);
  font-size:clamp(.96rem, .98vw, 1rem);
  line-height:1.55;
}
.allocation-product-intro-line:nth-child(2),
.allocation-product-intro-line:nth-child(3){
  color:var(--ink-readable);
}
.allocation-product-subhint{
  color:var(--muted-2);
  font-size:.92rem;
  line-height:1.45;
}
.allocation-product-dialog-divider{
  height:1px;
  background:rgba(148,163,184,.14);
}
.allocation-product-group{
  display:grid;
  gap:12px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.14);
}
.allocation-product-dialog-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.allocation-product-dialog-item{
  min-width:0;
}
.allocation-product-card-link{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:100%;
  grid-template-rows:auto auto auto 1fr auto;
  padding:16px 18px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%),
    radial-gradient(circle at top left, rgba(56,189,248,.09), transparent 55%);
  box-shadow:0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
  overflow:hidden;
  position:relative;
}
.allocation-product-card-link::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(90deg, #7b83ff 0%, #66d9ff 52%, #45d483 100%);
}
.allocation-product-card-link:hover,
.allocation-product-card-link:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(123,131,255,.26);
  box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%),
    radial-gradient(circle at top left, rgba(56,189,248,.11), transparent 58%);
}
.allocation-product-card-link[aria-disabled="true"]{
  pointer-events:none;
}
.allocation-product-dialog-card-top{
  display:grid;
  gap:8px;
  align-content:start;
}
.allocation-product-name{
  color:var(--ink);
  font-size:1.08rem;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.01em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-wrap:balance;
}
.allocation-product-full-name{
  margin:0;
  color:var(--muted-2);
  font-size:.88rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.allocation-product-tag{
  display:block;
  justify-self:start;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted-2);
  font-size:.82rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.allocation-product-meta{
  display:grid;
  gap:6px;
  padding:10px 0 8px;
  border-top:1px solid rgba(148,163,184,.1);
  border-bottom:1px solid rgba(148,163,184,.12);
}
.allocation-product-meta-row{
  display:grid;
  grid-template-columns:minmax(58px, 72px) minmax(0, 1fr);
  gap:10px;
  align-items:start;
}
.allocation-product-meta-label{
  color:var(--muted-2);
  font-size:.8rem;
  line-height:1.3;
}
.allocation-product-meta-value{
  color:var(--ink-soft);
  font-size:.88rem;
  line-height:1.35;
  word-break:break-word;
}
.allocation-product-reason{
  margin:0;
  color:var(--ink-readable);
  font-size:.94rem;
  line-height:1.45;
}
.allocation-product-cta{
  margin-top:0;
  justify-self:end;
  align-self:end;
  color:var(--muted-2);
  font-size:.84rem;
  line-height:1.25;
}
.allocation-product-cta::after{
  content:"›";
  margin-left:6px;
}
.allocation-product-simple-group{
  display:grid;
  gap:6px;
  padding-top:0;
}
.allocation-product-simple-title{
  color:var(--muted-2);
  font-size:.84rem;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.allocation-product-simple-list{
  margin:0;
  color:var(--ink-soft);
  font-size:.95rem;
  line-height:1.35;
}
.allocation-product-footnote{
  padding-top:0;
  color:var(--muted-2);
  font-size:.88rem;
  line-height:1.4;
}
@media (max-width: 980px){
  .allocation-product-dialog-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .allocation-products-modal{
    align-items:flex-end;
    padding:0;
    background:rgba(6,10,18,.52);
  }
  .allocation-products-dialog{
    width:100%;
    max-height:min(84vh, 820px);
    border-right:0;
    border-bottom:0;
    border-left:0;
    border-radius:22px 22px 0 0;
  }
  .allocation-products-dialog-body{
    padding:22px 18px 18px;
  }
  .allocation-product-dialog-top{
    padding-right:40px;
  }
  .allocation-product-dialog-list{
    grid-template-columns:minmax(0, 1fr);
  }
}
.allocation-summary-share{
  align-self:flex-end;
  text-align:right;
  font-size:.95rem;
  font-weight:800;
  line-height:1.2;
  color:var(--ink-soft);
}
.allocation-summary-share-stack{
  align-self:flex-end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  gap:3px;
  text-align:right;
}
.allocation-summary-secondary-share{
  color:var(--muted-2);
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.2;
}
.allocation-summary-card h3{
  margin:0;
  font-size:clamp(1.2rem, 1.45vw, 1.75rem);
  line-height:1.04;
  letter-spacing:-0.03em;
  width:100%;
  max-width:100%;
  min-width:0;
  white-space:nowrap;
}
.allocation-currency{
  flex:0 0 auto;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  color:inherit;
}
.allocation-amount{
  display:block;
  min-width:0;
  margin-left:auto;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  text-align:right;
}
.risk-preset-stack{
  display:grid;
  gap:10px;
}
.risk-preset-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
.risk-preset-row .btn{
  width:100%;
  min-width:0;
  justify-content:center;
  white-space:nowrap;
  min-height:36px;
  padding:7px 10px;
}
.risk-drawdown-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.allocation-drawdown-subline{
  margin:-4px 0 0;
  color:var(--muted-2);
  line-height:1.3;
}
.risk-drawdown-head label{
  margin:0;
  line-height:1.15;
}
.allocation-control-card #ddBadge{
  min-width:74px;
  justify-content:center;
  margin-left:auto;
  align-self:center;
}
.allocation-control-card #ddMeaning{
  display:block;
}
.allocation-meaning-field{
  margin-top:14px !important;
  margin-bottom:12px;
}
.allocation-loss-note,
.allocation-capital-card,
.allocation-disclaimer-footnote{
  padding:12px 14px;
}
.allocation-disclaimer-footnote{
  padding:14px 0 0;
}
.allocation-result-card .allocation-summary-grid.u-mt16{
  margin-top:12px !important;
}
.allocation-result-card .allocation-capital-grid.u-mt12{
  margin-top:12px !important;
}
.allocation-result-card .bar.u-mt12{
  margin-top:10px !important;
}
.budget-summary-subline{
  margin:4px 0 0;
  margin-left:-24px;
  width:calc(100% + 48px);
  max-width:none;
  box-sizing:border-box;
  align-self:stretch;
  padding-top:6px;
  padding-left:24px;
  padding-right:24px;
  border-top:1px solid rgba(148,163,184,.18);
  color:var(--muted-2);
  font-size:.86rem;
  line-height:1.35;
}
.budget-breakdown-list{
  list-style:none;
  margin:4px 0 0;
  padding:0;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:8px;
}
.budget-breakdown-list li{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:10px 14px;
  color:var(--ink-readable);
  line-height:1.35;
}
.budget-breakdown-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.budget-breakdown-label{
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.budget-breakdown-amount,
.budget-breakdown-total-value{
  display:grid;
  grid-template-columns:minmax(92px, max-content) 24px;
  align-items:baseline;
  justify-content:end;
  gap:3px;
  min-width:120px;
  text-align:right;
  white-space:nowrap;
  color:var(--ink);
  font-size:.95rem;
  font-weight:800;
}
.budget-breakdown-amount-value{
  text-align:right;
}
.budget-breakdown-amount-share{
  display:block;
  min-width:24px;
  text-align:right;
}
.budget-breakdown-total-value small{
  color:var(--muted-2);
  font-size:.78em;
  font-weight:700;
  letter-spacing:.04em;
}
.budget-breakdown-total{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(148,163,184,.2);
}
.budget-breakdown-total .budget-breakdown-label,
.budget-breakdown-total .budget-breakdown-total-value{
  font-weight:800;
  color:var(--ink);
}
.budget-breakdown-total.is-deficit .budget-breakdown-label,
.budget-breakdown-total.is-deficit .budget-breakdown-total-value{
  color:#fca5a5;
}
.budget-hint-note{
  margin-top:8px;
  margin-bottom:0;
  padding:8px 10px;
  font-size:.84rem;
  line-height:1.35;
  opacity:.8;
}
.budget-plausibility-note{
  margin-top:10px;
  display:grid;
  gap:4px;
}
.budget-plausibility-note.is-green .budget-plausibility-status{
  color:#9ae6b4;
}
.budget-plausibility-note.is-yellow .budget-plausibility-status{
  color:#fcd34d;
}
.budget-plausibility-note.is-red .budget-plausibility-status{
  color:#fca5a5;
}
.budget-plausibility-status,
.budget-plausibility-copy,
.budget-plausibility-flags{
  margin:0;
}
.budget-plausibility-copy,
.budget-plausibility-flags{
  line-height:1.45;
}
.budget-plausibility-flags strong{
  color:var(--ink);
}
.budget-source-note{
  margin:12px 4px 0;
  max-width:72ch;
  color:var(--ink-soft);
  line-height:1.45;
}
.budget-hourly-note{
  margin:0;
  display:grid;
  gap:4px;
}
.budget-hourly-note-title{
  color:var(--ink);
  margin-bottom:6px;
}
.budget-hourly-note-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
}
.budget-hourly-note-row span,
.budget-hourly-note-row strong{
  color:var(--ink);
}
.budget-hourly-note-row strong{
  white-space:nowrap;
  text-align:right;
}
.budget-hourly-note-row:last-of-type{
  margin-bottom:8px;
}
.budget-hourly-copy{
  margin:0;
}
.budget-control-form > .field > .help:last-child{
  margin-top:0;
  margin-bottom:0;
}
.budget-info-tip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.1rem;
  height:1.1rem;
  margin-left:6px;
  border-radius:999px;
  border:1px solid rgba(103,232,249,.28);
  background:rgba(103,232,249,.08);
  color:rgba(232,240,255,.88);
  font-size:.74rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  vertical-align:middle;
}
.budget-info-tip:hover,
.budget-info-tip.is-active,
.budget-info-tip:focus-visible{
  background:rgba(103,232,249,.14);
  border-color:rgba(103,232,249,.44);
  text-decoration:none;
}
.summary-card-copy .help strong{
  display:inline-block;
  margin-top:4px;
}
.journey-meta{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink-soft);
  font-size:var(--fs0);
  font-weight:800;
}
.journey-number{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--ink);
}
.storm-mini-table{
  display:grid;
  gap:10px;
}
.storm-mini-row{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.storm-mini-row:first-child{
  padding-top:0;
  border-top:none;
}
.storm-mini-drop{
  font-weight:900;
  color:var(--ink);
}
.storm-mini-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.storm-mini-copy strong,
.storm-mini-copy span{
  display:block;
}
.storm-mini-copy span{
  color:var(--ink-readable);
}

.mission-strip{
  display:grid;
  gap:10px;
  margin-top:var(--s3);
}
.mission-strip-toggle{
  display:none;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(11,18,32,.32);
  color:var(--ink);
  text-align:left;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.mission-strip-toggle-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.mission-strip-toggle-meta{
  color:rgba(167,180,199,.82);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mission-strip-toggle-title{
  color:var(--ink);
  font-size:1rem;
  font-weight:800;
  line-height:1.12;
}
.mission-strip-toggle-icon{
  flex:0 0 auto;
  width:12px;
  height:12px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .18s ease;
  opacity:.82;
}
.mission-strip-toggle.is-open .mission-strip-toggle-icon{
  transform:rotate(225deg);
}
.mission-strip > *{
  min-width:0;
}
@media (min-width: 1100px){
  .mission-strip{grid-template-columns:repeat(6, minmax(0, 1fr))}
}
.mission-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:78px;
  padding:13px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.24);
  text-decoration:none;
  color:var(--ink-soft);
  font-weight:800;
  transition:transform .18s ease, background .18s ease;
}
.mission-link span:last-child{
  min-width:0;
}
.mission-link .num{
  flex:0 0 auto;
  margin-top:0;
}
.mission-link-copy{
  display:grid;
  justify-content:center;
  gap:2px;
  min-width:0;
}
.mission-link-copy span:last-child{
  min-width:0;
}
.mission-link-meta{
  color:rgba(167,180,199,.82);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mission-link-title{
  display:block;
  color:inherit;
  font-size:clamp(1.02rem, 1vw, 1.08rem);
  line-height:1.16;
  white-space:nowrap;
}
.mission-link:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.05);
}
.mission-link[aria-current="step"]{
  background:linear-gradient(135deg, var(--coral), var(--accent-2));
  color:var(--ink);
  border-color:transparent;
}
.mission-link[aria-current="step"] .mission-link-meta{
  color:rgba(234,242,255,.82);
}
.mission-link[data-done="true"]{
  border-color:rgba(34,197,94,.26);
  color:var(--mint);
}
.mission-link[data-done="true"] .mission-link-meta{
  color:rgba(74,222,128,.78);
}
.mission-link[aria-current="step"][data-done="true"]{
  color:var(--ink);
  border-color:transparent;
}
.mission-link[aria-current="step"][data-done="true"] .mission-link-meta{
  color:rgba(234,242,255,.82);
}
.mission-link .num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid currentColor;
  font-size:.84rem;
  font-weight:800;
}

.progress-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
}
.progress-shell{
  width:100%;
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.04);
}
.progress-fill{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));
  transition:width .45s ease;
}
.progress-inline{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.24);
  color:var(--ink);
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-soft);
}
.btn.primary{
  border-color:transparent;
  background:linear-gradient(135deg, var(--coral), var(--accent-2));
  color:var(--ink);
}
.btn.ghost{
  background:rgba(255,255,255,.04);
}
.btn.small{
  min-height:38px;
  padding:8px 12px;
  font-size:.9rem;
}
.btn.active{
  background:linear-gradient(135deg, var(--coral), var(--accent-2));
  color:var(--ink);
  border-color:transparent;
}

.actions,
.template-actions,
.hero-actions,
.inline{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.actions.end,
.template-actions.end{
  justify-content:flex-end;
  width:100%;
}
.right{margin-left:auto}

.list{
  margin:0;
  padding-left:18px;
}
.list li{
  margin:8px 0;
  color:var(--ink-readable);
}
.check-marker-list{
  list-style:none;
  padding-left:0;
}
.check-marker-list li{
  position:relative;
  padding-left:28px;
}
.check-marker-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.72em;
  width:10px;
  height:6px;
  border-left:2px solid var(--mint);
  border-bottom:2px solid var(--mint);
  transform:translateY(-50%) rotate(-45deg);
}
.listTone{color:var(--ink-readable)}

.form{display:grid; gap:var(--s2)}
.field{display:grid; gap:8px}
label{font-weight:800}
input,
select,
textarea{
  width:100%;
  min-height:48px;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(10,15,28,.78);
  color:var(--ink);
  font:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
input[type="range"]{padding:0; background:transparent; min-height:auto; box-shadow:none; border:none}
textarea{min-height:150px; resize:vertical}
input::placeholder,
textarea::placeholder{color:var(--muted-2)}
option{background:var(--paper-strong); color:var(--ink)}
.help,
.fineprint{
  color:var(--ink-readable);
}
.help{
  font-size:clamp(.96rem, .98vw, 1rem);
  line-height:1.55;
}
.fineprint{
  font-size:var(--fs0);
}
.two{display:grid; gap:var(--s2)}
@media (min-width: 860px){
  .two{grid-template-columns:1fr 1fr}
}
.num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.budget-control-form{
  gap:6px;
}
.budget-primary-field{
  margin-top:12px;
}
.budget-primary-field label,
.budget-life-config-row .field label{
  margin:0;
}
.budget-primary-field input,
.budget-life-config-row input,
.budget-life-config-row select{
  min-height:36px;
  padding:7px 14px;
}
.budget-life-config-row{
  margin-top:10px;
  gap:14px;
}
.budget-life-config-row .field{
  gap:2px;
}
.budget-hourly-block{
  margin-top:12px;
  gap:10px;
}
.budget-hourly-note{
  gap:8px;
}
.budget-hourly-note-title{
  margin-bottom:2px;
}
.budget-hourly-note-row:last-of-type{
  margin-bottom:12px;
}

.tablewrap{
  overflow-x:auto;
  border-radius:var(--radius-md);
}
.table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  background:rgba(10,15,28,.62);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.table th,
.table td{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.table th{
  color:var(--ink);
  background:rgba(15,23,42,.96);
}
.table tr:last-child td{border-bottom:none}

.legend{
  display:flex;
  gap:12px 18px;
  flex-wrap:wrap;
  color:var(--ink-soft);
  font-size:.88rem;
}
.legend span{display:inline-flex; align-items:center; gap:8px; line-height:1.3}
.legend i{
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:4px;
}

.bar{
  height:18px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.04);
}
.bar > span{
  display:block;
  height:100%;
  float:left;
}

.legend i.cash{background:rgba(96,165,250,.92)}
.legend i.foundation{background:rgba(251,191,36,.92)}
.legend i.short{background:rgba(96,165,250,.92)}
.legend i.bonds{background:rgba(139,124,255,.82)}
.legend i.equity{background:rgba(74,222,128,.88)}
.legend i.contributions{background:rgba(148,163,184,.92)}
.legend i.real{background:rgba(129,140,248,.95)}
.legend i.wealth{background:linear-gradient(135deg, rgba(139,124,255,.95), rgba(94,234,212,.95))}
.bar .cash{background:rgba(96,165,250,.92)}
.bar .foundation{background:rgba(251,191,36,.92)}
.bar .short{background:rgba(96,165,250,.92)}
.bar .bonds{background:rgba(139,124,255,.82)}
.bar .equity{background:rgba(74,222,128,.88)}

.legend i.housing{background:rgba(96,165,250,.95)}
.legend i.insurance{background:rgba(139,124,255,.84)}
.legend i.taxes{background:rgba(251,191,36,.92)}
.legend i.food{background:rgba(74,222,128,.92)}
.legend i.mobility{background:rgba(199,210,224,.42)}
.legend i.leisure{background:rgba(103,232,249,.84)}
.legend i.reserve{background:rgba(199,210,224,.24)}
.legend i.goals{background:rgba(94,234,212,.52)}
.bar .housing{background:rgba(96,165,250,.95)}
.bar .insurance{background:rgba(139,124,255,.84)}
.bar .taxes{background:rgba(251,191,36,.92)}
.bar .food{background:rgba(74,222,128,.92)}
.bar .mobility{background:rgba(199,210,224,.42)}
.bar .leisure{background:rgba(103,232,249,.84)}
.bar .reserve{background:rgba(199,210,224,.24)}
.bar .goals{background:rgba(94,234,212,.52)}

.canvas-wrap{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(10,15,28,.58);
  padding:var(--s2);
}
.future-chart-legend{
  margin-top:10px;
  margin-bottom:14px;
  padding-top:4px;
  color:rgba(198,208,223,.88);
}
#chart{
  cursor:crosshair;
  display:block;
  width:100%;
}
canvas{
  max-width:100%;
  height:auto;
}
.chart-tooltip{
  position:absolute;
  z-index:3;
  min-width:190px;
  padding:12px 14px;
  border:1px solid rgba(84, 104, 138, 0.9);
  border-radius:16px;
  background:rgba(10,15,28,0.96);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  pointer-events:none;
}
.chart-tooltip strong{
  display:block;
  margin:0 0 8px;
  color:var(--ink);
}
.chart-tooltip-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  line-height:1.42;
  color:var(--ink-readable);
}
.chart-tooltip-row + .chart-tooltip-row{
  margin-top:4px;
}
.chart-tooltip-row span:first-child{
  text-align:left;
}
.chart-tooltip-row span:last-child{
  margin-left:auto;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.chart-tooltip-row-primary span:last-child{
  color:var(--ink);
  font-size:1.06rem;
  font-weight:800;
}

details{
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:10px 12px;
  background:rgba(10,15,28,.56);
}
details + details{margin-top:10px}
summary{
  cursor:pointer;
  font-weight:800;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  float:right;
  color:var(--ink-soft);
}
details[open] summary::after{
  content:"–";
}

.code{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:.92rem;
  white-space:pre-wrap;
  background:rgba(4,9,20,.96);
  color:var(--ink);
  border-radius:var(--radius-md);
  padding:14px;
  border:1px solid var(--line);
}

.toc,
.steps,
.steplist{
  display:grid;
  gap:10px;
}
@media (min-width: 860px){
  .toc{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .steps{grid-template-columns:repeat(5, minmax(0, 1fr))}
}
.toc a,
.step{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.24);
  text-decoration:none;
  font-weight:800;
}
.toc a:hover,
.step:hover{
  background:rgba(255,255,255,.05);
}
.step.step-cta{
  background:linear-gradient(135deg, rgba(139,124,255,.18), rgba(103,232,249,.14));
  border-color:rgba(139,124,255,.2);
}
.step.active{
  background:linear-gradient(135deg, var(--coral), var(--accent-2));
  color:var(--ink);
  border-color:transparent;
}
.step .num{
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px solid currentColor;
}

.accordion-list{
  display:flex;
  flex-direction:column;
  gap:var(--s2);
}
.card.accordion{
  padding:0;
}
.card.accordion > summary{
  padding:22px 24px;
  margin:0;
  display:grid;
  grid-template-columns:32px 1fr 38px;
  align-items:center;
  gap:14px;
}
.card.accordion > summary::after{content:none !important}
.card.accordion > summary::-webkit-details-marker{display:none}
.card.accordion .accordion-body{padding:0 24px 24px}
.card.accordion .acc-num{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:800;
}
.card.accordion .acc-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid var(--line);
  justify-self:end;
  background:rgba(255,255,255,.04);
}
.card.accordion .acc-icon svg{
  width:16px;
  height:16px;
}
.card.accordion[open] .acc-icon{transform:rotate(180deg)}

.checklist-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.check{
  display:grid;
  grid-template-columns:24px minmax(0, 1fr);
  gap:14px;
  align-items:start;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(10,15,28,.56);
  cursor:pointer;
}
.check input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:24px;
  height:24px;
  min-height:24px;
  margin:2px 0 0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  accent-color:var(--accent-2);
}
.check span{
  display:block;
  min-width:0;
  color:var(--ink);
  line-height:1.45;
}

.card.compact .badge{
  margin-bottom:8px;
}
.kpi{
  font-weight:800;
  font-size:1.12rem;
}

.footer{
  padding:10px 0 32px;
}
.footer > .container.stack{
  gap:14px;
  width:100%;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.footer .note{
  display:block;
  width:100%;
  margin:0;
  padding:14px 18px;
  border:1px solid rgba(34,48,71,.9);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(12,20,35,.98), rgba(8,13,25,.98));
  box-shadow:none;
  color:var(--ink-readable);
}
.footer .note strong{
  color:var(--ink);
}
.footer-copy{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:1rem;
  flex-wrap:wrap;
  width:100%;
  font-size:inherit;
  color:var(--muted-2);
  line-height:1.45;
  text-align:left;
}
.footer-copy-gap{
  display:inline;
  margin-left:0;
}
.footer-meta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  font-size:.76rem;
  align-items:center;
  gap:16px 24px;
  width:100%;
  padding:10px clamp(18px, 2.4vw, 24px) 0;
  border-top:1px solid var(--line);
}
.footer-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
  margin-left:auto;
  text-align:right;
}
.page-home .footer{
  padding:12px 0 0;
}
.footer-space{height:8px}
.link{
  color:var(--gold);
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
.link:hover{
  color:var(--ink);
}
.footer .footer-links .link{
  font-size:inherit;
  color:var(--muted-2);
  line-height:1.45;
  text-decoration:none;
}
.footer .footer-links .link:hover{
  color:var(--ink);
}

.is-hidden{display:none !important}
.block{display:block}
.pad24{padding:24px}
.u-mt6{margin-top:6px !important}
.u-mt8{margin-top:8px !important}
.u-mt10{margin-top:10px !important}
.u-mt12{margin-top:12px !important}
.u-mt14{margin-top:14px !important}
.u-mt16{margin-top:16px !important}
.u-mb8{margin-bottom:8px !important}
.u-mb10{margin-bottom:10px !important}
.u-ol-tight{margin:0 !important; padding-left:18px !important}
.gap10{gap:10px}

.print-show{display:none}

[data-reveal]{
  opacity:0;
  transform:translateY(18px);
}
[data-reveal].is-visible{
  opacity:1;
  transform:none;
  transition:opacity .48s ease, transform .48s ease;
}

#budget,
#schulden,
#notgroschen,
#saeule3a,
#investieren,
#diversifikation,
#kosten,
#rebalancing,
#verhalten,
#do-dont,
#glossar,
#naechste-schritte,
#praxis-etf,
#praxis-psychologie,
#praxis-alltag,
#praxis-abschluss,
#werkzeug-einstieg,
#vorlagen,
#werkzeug-anwendung,
#werkzeug-downloads,
#werkzeug-abschluss{
  scroll-margin-top:110px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
canvas:focus-visible{
  outline:3px solid rgba(124,200,255,.72);
  outline-offset:2px;
}

@media (max-width: 859px){
  .nav{
    gap:10px;
    padding:10px 0 8px;
    align-items:flex-start;
  }
  .brand{
    width:auto;
    max-width:208px;
  }
  .brand-logo-image{
    width:min(208px, 100%);
  }
  .nav-toggle{
    display:inline-flex;
    margin-left:auto;
  }
  .nav.mobile-nav-ready .navlinks{
    display:none;
    order:3;
    width:100%;
    margin-top:4px;
  }
  .nav.mobile-nav-ready.is-open .navlinks{
    display:grid;
  }
  .navlinks{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    width:100%;
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .navlinks a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 10px;
    border-radius:14px;
    border:1px solid rgba(58,74,104,.64);
    background:rgba(17,28,46,.72);
    font-size:.84rem;
    line-height:1.15;
    text-align:center;
    text-wrap:balance;
  }
  .mission-main-shell,
  .mission-panel{
    padding:14px 12px 12px;
    border-radius:22px;
    border-color:rgba(44,60,87,.72);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }
  .mission-main-shell::before,
  .mission-panel::before{
    inset:0 12px auto 12px;
    height:4px;
    opacity:.72;
  }
  .mission-main-split{
    gap:var(--s2);
    padding:0;
  }
  .mission-main-shell > .hero,
  .mission-panel > .hero{
    padding:16px 0 var(--s2);
  }
  .mission-main-shell > .section,
  .mission-panel > .section{
    padding-top:var(--s2);
  }
  .site-master-shell,
  .page-home-master-shell{
    gap:8px;
    padding:8px;
    border-radius:24px;
    border-color:rgba(34,48,71,.52);
    background:linear-gradient(180deg, rgba(11,18,32,.2), rgba(10,16,29,.12));
    box-shadow:none;
  }
  .site-master-shell > .footer,
  .page-home-master-shell > .footer{
    padding-top:2px;
  }
  .footer > .container.stack{
    padding:0;
  }
  .footer .note{
    padding:12px 14px;
    border-radius:20px;
  }
  .footer-meta{
    padding:10px 16px 0;
  }
  .footer-meta{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
  .footer-links{
    justify-content:flex-start;
    margin-left:0;
    text-align:left;
  }
  .footer > .container.stack{
    padding:12px 14px 11px;
    border-radius:20px;
  }
  .home-tour-heading{
    grid-template-columns:1fr;
  }
  .home-summary-header{
    min-height:0;
  }
  .home-summary-heading-copy{
    padding-right:0;
  }
  .home-summary-lead{
    white-space:normal;
  }
  .home-journey-hero-figure{
    justify-self:start;
  }
  .home-tour-panel-hero-figure{
    justify-self:start;
  }
  .home-tour-hero-figure{
    max-width:360px;
    justify-self:start;
  }
  .home-summary-hero-figure{
    position:relative;
    top:auto;
    right:auto;
    width:min(360px, 100%);
    max-width:360px;
    justify-self:start;
    margin-top:8px;
  }
  .home-tour-bar{
    align-items:flex-start;
  }
  .home-tour-status{
    justify-content:flex-start;
  }
  .home-tour-nav{
    align-items:stretch;
  }
  .home-tour-caption{
    order:3;
    flex-basis:100%;
    text-align:left;
  }
  .home-tour-nav .btn,
  .home-tour-nav a{
    width:100%;
  }
  .journey-grid,
  .summary-grid,
  .scenario-grid,
  .template-grid,
  .trust-grid,
  .lesson-grid,
  .checkgrid,
  .mission-strip,
  .toc,
  .steps,
  .steplist{
    grid-template-columns:1fr;
  }
  .actions.end .btn,
  .nextprev .btn,
  .mission-bottom-bar .btn{
    width:100%;
  }
  .nextprev,
  .mission-bottom-bar{
    display:grid;
    gap:10px;
  }
  .legal-meta-grid{
    grid-template-columns:1fr;
    gap:6px;
  }
  .legal-meta-value{
    margin-bottom:10px;
  }
  .card,
  .summary-card,
  .scenario-card,
  .journey-card{
    padding:18px;
    border-radius:20px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    backdrop-filter:blur(10px);
  }
  .card::after,
  .summary-card::after,
  .journey-card::after{
    height:4px;
    opacity:.72;
  }
  .budget-results-topline,
  .allocation-result-topline,
  .future-result-topline{
    gap:10px;
    margin-bottom:2px;
  }
  .budget-control-card{
    padding:16px 16px 14px;
  }
  .budget-control-card h2{
    margin-bottom:6px;
    font-size:clamp(1.08rem, 4.4vw, 1.28rem);
  }
  .budget-control-card .lead{
    margin-bottom:4px;
    font-size:.9rem;
    line-height:1.4;
  }
  .budget-control-form{
    gap:6px;
  }
  .budget-control-form label{
    font-size:.92rem;
  }
  .budget-primary-field{
    margin-top:6px;
  }
  .budget-control-form input,
  .budget-control-form select{
    min-height:32px;
    padding:4px 12px;
  }
  .budget-life-config-row{
    margin-top:0;
    gap:10px;
  }
  .budget-hourly-block{
    margin-top:4px;
    gap:8px;
  }
  .budget-hourly-note,
  .budget-hourly-copy{
    font-size:.86rem;
    line-height:1.34;
  }
  .budget-hourly-note-row{
    gap:8px;
  }
  .template-actions.end.u-mt12{
    margin-top:8px !important;
  }
  .budget-summary-grid .summary-card{
    padding:18px 18px 16px;
  }
  .budget-summary-subline{
    margin-left:-18px;
    width:calc(100% + 36px);
    padding-left:18px;
    padding-right:18px;
  }
  .budget-breakdown-list{
    gap:7px;
  }
  .budget-breakdown-list li{
    grid-template-columns:minmax(0, 1fr);
    gap:4px;
  }
  .budget-breakdown-amount,
  .budget-breakdown-total-value{
    grid-template-columns:auto auto;
    justify-content:start;
    min-width:0;
    text-align:left;
  }
  .budget-breakdown-amount-value,
  .budget-breakdown-amount-share{
    text-align:left;
  }
  .currency-split{
    align-items:baseline;
    gap:10px;
  }
  .budget-summary-grid .budget-summary-amount{
    font-size:clamp(1.18rem, 4.9vw, 1.45rem);
  }
  .future-machine-shell{
    gap:14px;
  }
  .future-machine-top{
    gap:14px;
  }
  .future-machine-left h2,
  .future-machine-right h2{
    margin-bottom:10px;
    font-size:clamp(1.1rem, 4.2vw, 1.34rem);
  }
  .time-control-card,
  .time-result-card,
  .future-reading-card{
    padding:16px 16px 14px;
  }
  .time-control-card .field{
    gap:2px;
  }
  .time-control-card .field label{
    min-height:2.15em;
    font-size:.9rem;
  }
  .time-control-card .field .field-label-meta{
    font-size:.74rem;
  }
  .time-control-card .field input{
    min-height:48px;
    padding:10px 12px;
  }
  .time-control-card .two + .two{
    margin-top:6px;
  }
  .time-control-card .template-actions{
    margin-top:12px;
  }
  .future-machine-note{
    margin-top:12px !important;
    font-size:.88rem;
    line-height:1.42;
  }
  .future-machine-shell > .hr{
    margin:14px 0 8px;
  }
  .forecast-summary-grid,
  .forecast-scenario-grid{
    gap:10px;
  }
  .forecast-stat-card{
    min-height:0;
    padding:16px 16px 14px;
    gap:6px;
  }
  .forecast-stat-card h3{
    font-size:clamp(.98rem, 4.2vw, 1.24rem);
  }
  .forecast-stat-card-primary h3{
    font-size:clamp(1.04rem, 4.6vw, 1.34rem);
  }
  .forecast-stat-card .help{
    margin-top:4px;
    padding-top:8px;
    line-height:1.34;
  }
  .forecast-scenario-intro{
    margin:6px 0 10px;
    font-size:.9rem;
    line-height:1.38;
  }
  .forecast-scenario-card{
    min-height:0;
    gap:6px;
    padding:16px 16px 14px 22px;
  }
  .forecast-scenario-card::before{
    width:22px;
    border-width:3px;
    border-radius:20px 0 0 20px;
  }
  .forecast-scenario-card h3{
    font-size:clamp(.98rem, 4.1vw, 1.2rem);
  }
  .forecast-scenario-real{
    font-size:.84rem;
    line-height:1.28;
  }
  .forecast-story{
    font-size:.9rem;
    line-height:1.44;
  }
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 767px){
  .mission-strip-toggle{
    display:flex;
  }
  .mission-strip{
    display:none;
    margin-top:10px;
  }
  .mission-strip.is-open{
    display:grid;
  }
}

@media (max-width: 520px){
  .nav{
    gap:8px;
    padding:8px 0 6px;
  }
  .brand{
    max-width:188px;
  }
  .brand-logo-image{
    width:min(188px, 100%);
  }
  .nav-toggle{
    width:40px;
    height:40px;
    border-radius:12px;
  }
  .nav.mobile-nav-ready .navlinks{
    margin-top:2px;
  }
  .navlinks{
    grid-template-columns:1fr 1fr;
    gap:5px;
  }
  .navlinks a{
    min-height:38px;
    padding:7px 8px;
    font-size:.78rem;
  }
  .site-master-shell,
  .page-home-master-shell{
    padding:6px;
    border-radius:20px;
    border-color:rgba(34,48,71,.38);
  }
  .mission-main-shell,
  .mission-panel{
    padding:12px 10px 10px;
    border-radius:20px;
  }
  .mission-main-shell::before,
  .mission-panel::before{
    inset:0 10px auto 10px;
  }
  .card,
  .summary-card,
  .scenario-card,
  .journey-card{
    padding:16px;
    border-radius:18px;
  }
  .budget-summary-grid .summary-card{
    padding:16px 16px 14px;
  }
  .budget-control-card{
    padding:14px 14px 12px;
  }
  .budget-control-card .lead{
    font-size:.86rem;
  }
  .budget-control-form label{
    font-size:.88rem;
  }
  .budget-control-form input,
  .budget-control-form select{
    min-height:30px;
    padding:4px 11px;
    font-size:.95rem;
  }
  .budget-hourly-note,
  .budget-hourly-copy{
    font-size:.82rem;
  }
  .time-control-card,
  .time-result-card,
  .future-reading-card{
    padding:14px 14px 12px;
  }
  .future-machine-left h2,
  .future-machine-right h2{
    margin-bottom:8px;
    font-size:clamp(1.02rem, 4.4vw, 1.22rem);
  }
  .time-control-card .field label{
    min-height:2.05em;
    font-size:.86rem;
  }
  .time-control-card .field .field-label-meta{
    font-size:.7rem;
  }
  .time-control-card .field input{
    min-height:44px;
    padding:9px 11px;
  }
  .future-machine-note,
  .forecast-scenario-intro,
  .forecast-story{
    font-size:.84rem;
  }
  .forecast-stat-card{
    padding:14px 14px 12px;
  }
  .forecast-scenario-card{
    padding:14px 14px 12px 20px;
  }
  .forecast-scenario-card::before{
    width:20px;
  }
  .budget-summary-subline{
    margin-left:-16px;
    width:calc(100% + 32px);
    padding-left:16px;
    padding-right:16px;
  }
}

@media (min-width: 768px) and (max-width: 1099px){
  body{
    padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));
  }
  .nav{
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 0 8px;
    flex-wrap:nowrap;
  }
  .brand{
    width:auto;
    max-width:210px;
  }
  .brand-logo-image{
    width:min(210px, 100%);
  }
  .navlinks{
    display:flex;
    width:auto;
    margin-left:auto;
    gap:6px;
    padding:3px;
    border-radius:16px;
    justify-content:flex-end;
  }
  .navlinks a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 12px;
    font-size:.84rem;
    text-align:center;
  }
  .site-master-shell,
  .page-home-master-shell{
    padding:10px;
    border-radius:24px;
  }
  .mission-main-shell,
  .mission-panel{
    padding:16px 14px 14px;
    border-radius:24px;
  }
  .mission-main-shell::before,
  .mission-panel::before{
    inset:0 14px auto 14px;
    height:5px;
  }
  .card,
  .summary-card,
  .scenario-card,
  .journey-card{
    padding:18px 20px;
    border-radius:22px;
  }
  .journey-card{
    gap:10px;
    min-height:208px;
  }
  .journey-meta{
    gap:8px;
    font-size:.84rem;
  }
  .journey-number{
    width:32px;
    height:32px;
    border-radius:11px;
  }
  .kicker,
  .eyebrow{
    margin-bottom:8px;
    font-size:.74rem;
  }
  .lead{
    font-size:clamp(.98rem, 1.35vw, 1.06rem);
    line-height:1.48;
  }
  .help{
    font-size:clamp(.92rem, 1.12vw, .98rem);
    line-height:1.48;
  }
  .btn{
    min-height:42px;
    padding:10px 14px;
  }
  .btn.small{
    min-height:36px;
    padding:7px 11px;
    font-size:.86rem;
  }
  .two{
    grid-template-columns:1fr 1fr;
  }
  .grid.cols2.allocation-panel-grid{
    grid-template-columns:minmax(260px, .78fr) minmax(0, 1.18fr);
  }
  .grid.cols2.budget-planner-grid{
    grid-template-columns:minmax(260px, .76fr) minmax(0, 1.2fr);
  }
  .grid.cols2.future-machine-grid{
    grid-template-columns:minmax(270px, .82fr) minmax(0, 1.14fr);
  }
  .summary-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .scenario-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .template-grid,
  .trust-grid,
  .lesson-grid,
  .checkgrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .journey-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .budget-results-mode-wrap{
    width:100%;
  }
  .budget-results-mode-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
  }
  .budget-summary-grid .summary-card{
    padding:18px 18px 16px;
  }
  .budget-results-card .budget-summary-grid{
    grid-template-columns:minmax(0, 1.04fr) repeat(2, minmax(0, 1fr));
    grid-template-rows:auto auto;
    align-items:stretch;
  }
  .budget-results-card #needsSummaryCard{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .budget-results-card #wantsSummaryCard{
    grid-column:2;
    grid-row:1;
  }
  .budget-results-card #futureSummaryCard{
    grid-column:3;
    grid-row:1;
  }
  .budget-results-card #budgetStatusCard{
    grid-column:2 / span 2;
    grid-row:2;
    margin-top:0;
    align-self:start;
  }
  .budget-breakdown-list li{
    gap:8px 10px;
  }
  .budget-breakdown-amount,
  .budget-breakdown-total-value{
    grid-template-columns:minmax(84px, max-content) 22px;
    min-width:108px;
    font-size:.9rem;
  }
  .future-machine-top{
    grid-template-columns:minmax(280px, .88fr) minmax(0, 1.12fr);
    align-items:start;
  }
  .future-machine-left{
    padding-right:18px;
  }
  .future-machine-right{
    min-width:0;
    padding-left:20px;
    border-left:1px solid var(--line);
  }
  .allocation-control-card,
  .allocation-result-card,
  .allocation-summary-card{
    padding:16px 18px 18px;
  }
  .risk-profile-mini-grid .card.compact{
    min-height:148px;
  }
  .page-home .hero{
    padding:0 0 4px;
  }
  .page-home .home-tour-shell{
    --home-tour-shell-pad:12px;
    min-height:min(456px, calc(100vh - 150px));
    min-height:min(456px, calc(100svh - 150px));
    border-radius:24px;
  }
  .page-home .home-tour-bar{
    padding-bottom:8px;
  }
  .page-home .home-tour-stage{
    padding-top:10px;
    padding-bottom:8px;
  }
  .page-home .home-tour-intro-grid{
    grid-template-columns:minmax(0, 2.15fr) minmax(220px, .88fr);
    gap:14px;
    align-items:start;
  }
  .page-home .home-tour-heading{
    grid-template-columns:minmax(0, 1fr) clamp(190px, 23vw, 240px);
    gap:18px;
  }
  .page-home .home-tour-panel-slide .home-tour-panel-header{
    grid-template-columns:minmax(0, 1fr) clamp(190px, 23vw, 235px);
    gap:16px;
    align-items:start;
  }
  .page-home .home-journey-slide .home-journey-header{
    grid-template-columns:minmax(0, 1fr) clamp(195px, 23vw, 240px);
    gap:16px;
    align-items:start;
  }
  .page-home .home-summary-slide .home-summary-header{
    display:grid;
    grid-template-columns:minmax(0, 1fr) clamp(195px, 23vw, 240px);
    gap:16px;
    align-items:start;
    min-height:0;
  }
  .page-home .home-summary-slide .home-summary-heading-copy{
    padding-right:0;
  }
  .page-home .home-tour-shell h1{
    font-size:clamp(1.88rem, 3.25vw, 2.7rem);
    max-width:14.4ch;
    margin-bottom:8px;
  }
  .page-home .home-tour-shell .home-tour-slide-title{
    font-size:clamp(1.88rem, 3.25vw, 2.7rem);
    line-height:1.04;
    margin-bottom:8px;
  }
  .page-home .home-tour-shell h2{
    font-size:clamp(1.1rem, 1.65vw, 1.46rem);
  }
  .page-home .home-tour-shell .lead{
    max-width:62ch;
    font-size:.92rem;
    line-height:1.42;
  }
  .page-home .home-tour-shell .help{
    font-size:.88rem;
    line-height:1.42;
  }
  .page-home .home-tour-shell .card,
  .page-home .home-tour-shell .summary-card,
  .page-home .home-tour-shell .journey-card{
    padding:12px;
    border-radius:16px;
    box-shadow:0 10px 24px rgba(0,0,0,.2);
  }
  .page-home .home-tour-shell .summary-grid,
  .page-home .journey-grid,
  .page-home .home-tour-use-grid,
  .page-home .home-tour-end-grid{
    gap:10px;
  }
  .page-home .home-summary-slide .home-summary-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .page-home .home-tour-shell .summary-card{
    min-height:0;
    gap:6px;
  }
  .page-home .home-tour-shell .summary-card .badge-number{
    width:30px;
    height:30px;
    border-radius:10px;
  }
  .page-home .home-tour-shell .journey-card{
    min-height:176px;
    gap:8px;
  }
  .page-home .home-tour-shell .journey-card p{
    font-size:.86rem;
    line-height:1.38;
  }
  .page-home .home-tour-shell .progress-card{
    gap:8px;
  }
  .page-home .home-tour-shell .progress-card h2{
    max-width:15ch;
    margin-bottom:4px;
  }
  .page-home .home-tour-shell .progress-shell{
    height:10px;
  }
  .page-home .home-tour-nav{
    padding-top:8px;
    gap:10px;
  }
  .page-home .home-tour-nav .btn,
  .page-home .home-tour-nav a{
    min-height:38px;
    padding:8px 14px;
  }
  .page-home .home-tour-caption{
    font-size:.76rem;
    line-height:1.34;
  }
}

@media (min-width: 1100px) and (max-width: 1440px){
  :root{
    --s2:14px;
    --s3:21px;
    --s4:32px;
    --s5:48px;
  }
  body{
    padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));
  }
  h1{
    font-size:clamp(2rem, 3.25vw, 3.32rem);
  }
  h2{
    font-size:clamp(1.28rem, 1.9vw, 1.84rem);
  }
  h3{
    font-size:clamp(.98rem, 1.04vw, 1.08rem);
  }
  .lead{
    font-size:clamp(.98rem, 1.02vw, 1.08rem);
    line-height:1.46;
  }
  .help{
    font-size:clamp(.92rem, .94vw, .98rem);
    line-height:1.48;
  }
  .nav{
    gap:16px;
    padding:10px 0 8px;
  }
  .brand{
    max-width:228px;
  }
  .brand-logo-image{
    width:min(228px, 100%);
  }
  .navlinks{
    gap:6px;
    padding:3px;
    border-radius:16px;
  }
  .navlinks a{
    min-height:36px;
    padding:7px 14px;
    font-size:.84rem;
  }
  .site-master-shell,
  .page-home-master-shell{
    margin-top:4px;
    padding:10px;
    border-radius:26px;
  }
  .hero{
    padding:clamp(16px, 2.6vw, 28px) 0 var(--s2);
  }
  .mission-main-shell,
  .mission-panel{
    padding:16px clamp(14px, 1.5vw, 18px) 14px;
    border-radius:24px;
    box-shadow:0 14px 30px rgba(0,0,0,.2);
  }
  .mission-main-shell::before,
  .mission-panel::before{
    inset:0 14px auto 14px;
    height:5px;
  }
  .mission-main-shell > .hero,
  .mission-panel > .hero{
    padding:14px 0 var(--s2);
  }
  .card,
  .summary-card,
  .scenario-card,
  .journey-card{
    padding:clamp(18px, 1.9vw, 24px);
    border-radius:22px;
    box-shadow:0 14px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
  }
  .card::after,
  .summary-card::after,
  .journey-card::after{
    height:5px;
  }
  .journey-card{
    gap:10px;
    min-height:224px;
  }
  .journey-meta{
    gap:8px;
    font-size:.86rem;
  }
  .journey-number{
    width:32px;
    height:32px;
    border-radius:11px;
  }
  .btn{
    min-height:44px;
    padding:10px 15px;
  }
  .btn.small{
    min-height:36px;
    padding:7px 11px;
    font-size:.86rem;
  }
  .kicker,
  .eyebrow{
    margin-bottom:8px;
    font-size:.75rem;
  }
  .section{
    margin:0 0 var(--s4);
  }
  .home-tour-shell{
    --home-tour-shell-pad:clamp(14px, 1.7vw, 18px);
    border-radius:26px;
    box-shadow:0 14px 30px rgba(0,0,0,.24);
  }
  .home-tour-shell::before{
    height:5px;
  }
  .home-tour-bar{
    gap:12px;
    padding-bottom:10px;
  }
  .home-tour-status{
    gap:10px;
  }
  .home-tour-stage{
    padding-top:14px;
  }
  .home-tour-heading{
    grid-template-columns:minmax(0, 1fr) clamp(210px, 20vw, 270px);
    gap:20px;
  }
  .home-summary-header{
    min-height:112px;
  }
  .home-summary-heading-copy{
    padding-right:clamp(132px, 14vw, 188px);
  }
  .home-tour-shell .card,
  .home-tour-shell .summary-card,
  .home-tour-shell .journey-card{
    padding:10px 12px;
    border-radius:18px;
  }
  .home-tour-shell .summary-card{
    min-height:104px;
  }
  .home-tour-shell h1{
    font-size:clamp(2.05rem, 3.1vw, 3.1rem);
    max-width:15.1ch;
  }
  .home-tour-shell .home-tour-slide-title{
    font-size:clamp(2.05rem, 3.1vw, 3.1rem);
  }
  .home-tour-shell h2{
    font-size:clamp(1.14rem, 1.45vw, 1.56rem);
  }
  .home-tour-shell .lead{
    max-width:64ch;
    font-size:clamp(.92rem, .92vw, .98rem);
    line-height:1.4;
  }
  .intro-investor-copy{
    font-size:clamp(.94rem, .94vw, .99rem);
    line-height:1.5;
  }
  .home-tour-nav{
    padding-top:12px;
  }
}

@media (min-width: 1100px){
  .page-home .home-tour-shell .home-tour-slide-title{
    white-space:nowrap;
  }
  .home-tour-panel-lead-wide{
    white-space:nowrap;
  }
  .page-home .home-tour-shell{
    min-height:min(524px, calc(100vh - 198px));
    min-height:min(524px, calc(100svh - 198px));
  }
}

@media (min-width: 1100px) and (max-width: 1280px) and (max-height: 900px){
  .page-home{
    padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom) 12px;
  }
  .brand{
    max-width:212px;
  }
  .brand-logo-image{
    width:min(212px, 100%);
  }
  .nav{
    gap:8px;
    padding:6px 0 4px;
  }
  .navlinks{
    gap:5px;
    padding:2px;
    border-radius:14px;
  }
  .navlinks a{
    min-height:32px;
    padding:5px 10px;
    font-size:.78rem;
  }
  .site-master-shell,
  .page-home-master-shell{
    padding:6px;
    border-radius:22px;
  }
  .mission-main-shell,
  .mission-panel{
    padding:14px 12px 12px;
    border-radius:22px;
  }
  .mission-main-shell::before,
  .mission-panel::before{
    inset:0 12px auto 12px;
    height:4px;
  }
  .card,
  .summary-card,
  .scenario-card,
  .journey-card{
    padding:16px 18px;
    border-radius:20px;
  }
  .journey-card{
    min-height:188px;
    gap:8px;
  }
  .journey-meta{
    gap:8px;
    font-size:.8rem;
  }
  .journey-number{
    width:30px;
    height:30px;
    border-radius:10px;
  }
  .kicker,
  .eyebrow{
    margin-bottom:8px;
    font-size:.72rem;
  }
  .lead{
    font-size:.94rem;
    line-height:1.42;
  }
  .help{
    font-size:.88rem;
    line-height:1.42;
  }
  .mission-strip{
    gap:8px;
    margin-top:18px;
  }
  .mission-link{
    align-items:center;
    min-height:68px;
    padding:10px 10px 10px 11px;
    gap:8px;
  }
  .mission-link .num{
    width:24px;
    height:24px;
    margin-top:0;
    font-size:.76rem;
  }
  .mission-link-copy{
    justify-content:center;
    gap:1px;
  }
  .mission-link-meta{
    font-size:.6rem;
    letter-spacing:.13em;
  }
  .mission-link-title{
    font-size:clamp(.88rem, .74vw, .95rem);
    line-height:1.08;
    white-space:normal;
    text-wrap:balance;
  }
  .btn{
    min-height:40px;
    padding:9px 14px;
  }
  .btn.small{
    min-height:34px;
    padding:6px 10px;
    font-size:.84rem;
  }
  .grid.cols2.allocation-panel-grid{
    grid-template-columns:minmax(214px, .58fr) minmax(0, 1.42fr);
  }
  body[data-page="risiko-aufteilung"] .mission-panel > .section{
    padding-top:12px;
  }
  body[data-page="risiko-aufteilung"] .allocation-panel-grid{
    gap:8px;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-card{
    padding:12px 12px 10px;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-title{
    margin-bottom:6px;
    font-size:1.22rem;
    max-width:14ch;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-lead{
    font-size:.8rem;
    line-height:1.24;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-copy{
    margin-top:6px;
    font-size:.76rem;
    line-height:1.28;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-card .field{
    gap:4px;
  }
  body[data-page="risiko-aufteilung"] .allocation-control-card input,
  body[data-page="risiko-aufteilung"] .allocation-control-card select{
    min-height:34px;
    padding:6px 10px;
  }
  body[data-page="risiko-aufteilung"] .risk-questionnaire-form{
    gap:10px;
  }
  body[data-page="risiko-aufteilung"] .allocation-depot-field{
    margin-top:6px;
  }
  body[data-page="risiko-aufteilung"] .allocation-income-field{
    margin-top:4px !important;
  }
  body[data-page="risiko-aufteilung"] .allocation-meaning-field{
    margin-top:10px !important;
    margin-bottom:8px;
  }
  body[data-page="risiko-aufteilung"] .risk-drawdown-head{
    gap:8px;
  }
  body[data-page="risiko-aufteilung"] .allocation-drawdown-subline{
    margin-top:-2px;
    font-size:.76rem;
    line-height:1.22;
  }
  body[data-page="risiko-aufteilung"] .risk-preset-stack{
    gap:8px;
  }
  body[data-page="risiko-aufteilung"] .risk-preset-row{
    gap:6px;
  }
  body[data-page="risiko-aufteilung"] .risk-preset-row .btn{
    min-height:32px;
    padding:6px 8px;
    font-size:.8rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-loss-note{
    gap:4px;
    padding:8px 10px;
  }
  body[data-page="risiko-aufteilung"] .allocation-loss-title{
    font-size:.82rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-loss-note #ddLoss{
    font-size:1rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-result-card{
    padding:12px 12px 10px;
  }
  body[data-page="risiko-aufteilung"] .allocation-result-topline{
    margin-bottom:2px;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-grid{
    gap:6px;
    margin-bottom:8px;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-card{
    min-height:160px;
    padding:10px 10px 8px;
    gap:4px;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-head{
    gap:4px;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-card h3{
    font-size:clamp(1.02rem, 1.08vw, 1.28rem);
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-card .help{
    font-size:.78rem;
    line-height:1.22;
  }
  body[data-page="risiko-aufteilung"] .allocation-position-note{
    margin-top:0 !important;
    padding-top:2px;
    font-size:.74rem;
    line-height:1.16;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-footer{
    gap:6px;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-share{
    font-size:.8rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-summary-secondary-share{
    font-size:.66rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-grid{
    gap:6px;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-card{
    padding:8px 10px;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-meta{
    font-size:.8rem;
    margin-bottom:1px;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-rows{
    gap:5px;
    padding-top:5px;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-row{
    gap:5px;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-row-label{
    font-size:.74rem;
    line-height:1.16;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-row-value{
    font-size:.76rem;
  }
  body[data-page="risiko-aufteilung"] .allocation-capital-lines{
    gap:3px;
    margin-top:6px;
    padding-top:5px;
    font-size:.7rem;
    line-height:1.14;
  }
  .grid.cols2.budget-planner-grid{
    grid-template-columns:minmax(206px, .54fr) minmax(0, 1.46fr);
  }
  .grid.cols2.future-machine-grid{
    grid-template-columns:minmax(260px, .78fr) minmax(0, 1.18fr);
  }
  body[data-page="rechner"] .mission-panel > .section,
  body[data-page="geld-behalten"] .mission-panel > .section,
  body[data-page="zukunft-rechnen"] .mission-panel > .section{
    padding-top:12px;
  }
  body[data-page="rechner"] .mission-panel .container.stack > [data-reveal] h2,
  body[data-page="geld-behalten"] .mission-panel .container.stack > [data-reveal] h2,
  body[data-page="zukunft-rechnen"] .mission-panel .container.stack > [data-reveal] h2{
    margin-bottom:8px;
    font-size:clamp(1.24rem, 1.55vw, 1.5rem);
  }
  body[data-page="rechner"] .budget-planner-grid,
  body[data-page="geld-behalten"] .budget-planner-grid{
    gap:8px;
  }
  body[data-page="rechner"] .budget-control-card,
  body[data-page="geld-behalten"] .budget-control-card{
    padding:12px 12px 10px;
  }
  body[data-page="rechner"] .budget-control-card h2,
  body[data-page="geld-behalten"] .budget-control-card h2{
    margin-bottom:5px;
    font-size:1.2rem;
  }
  body[data-page="rechner"] .budget-control-card .lead,
  body[data-page="geld-behalten"] .budget-control-card .lead{
    margin-bottom:3px;
    font-size:.8rem;
    line-height:1.28;
  }
  body[data-page="rechner"] .budget-control-form,
  body[data-page="geld-behalten"] .budget-control-form{
    gap:5px;
  }
  body[data-page="rechner"] .budget-primary-field,
  body[data-page="geld-behalten"] .budget-primary-field{
    margin-top:2px;
  }
  body[data-page="rechner"] .budget-control-form input,
  body[data-page="rechner"] .budget-control-form select,
  body[data-page="geld-behalten"] .budget-control-form input,
  body[data-page="geld-behalten"] .budget-control-form select{
    min-height:30px;
    padding:3px 10px;
  }
  body[data-page="rechner"] .budget-life-config-row,
  body[data-page="geld-behalten"] .budget-life-config-row{
    margin-top:0;
    gap:8px;
  }
  body[data-page="rechner"] .budget-hourly-block,
  body[data-page="geld-behalten"] .budget-hourly-block{
    margin-top:2px;
    gap:5px;
  }
  body[data-page="rechner"] .budget-hourly-note,
  body[data-page="rechner"] .budget-hourly-copy,
  body[data-page="geld-behalten"] .budget-hourly-note,
  body[data-page="geld-behalten"] .budget-hourly-copy{
    font-size:.76rem;
    line-height:1.22;
  }
  body[data-page="rechner"] .template-actions.end.u-mt12,
  body[data-page="geld-behalten"] .template-actions.end.u-mt12{
    margin-top:4px !important;
  }
  .budget-results-mode-grid{
    gap:10px;
  }
  body[data-page="rechner"] .budget-results-card,
  body[data-page="geld-behalten"] .budget-results-card{
    padding:12px 12px 10px;
  }
  body[data-page="rechner"] .budget-results-topline,
  body[data-page="geld-behalten"] .budget-results-topline{
    margin-bottom:1px;
  }
  body[data-page="rechner"] .budget-results-mode-wrap,
  body[data-page="geld-behalten"] .budget-results-mode-wrap{
    gap:5px;
  }
  body[data-page="rechner"] .budget-results-mode-grid,
  body[data-page="geld-behalten"] .budget-results-mode-grid{
    gap:6px;
  }
  body[data-page="rechner"] .budget-results-head,
  body[data-page="geld-behalten"] .budget-results-head{
    margin:8px 0 6px;
  }
  body[data-page="rechner"] .budget-results-divider,
  body[data-page="geld-behalten"] .budget-results-divider{
    margin:0 0 8px;
  }
  .budget-summary-grid .summary-card{
    padding:16px 16px 14px;
  }
  body[data-page="rechner"] .budget-summary-grid .summary-card,
  body[data-page="geld-behalten"] .budget-summary-grid .summary-card{
    padding:12px 12px 10px;
    gap:3px;
  }
  .budget-results-card .budget-summary-grid{
    grid-template-columns:minmax(0, .98fr) repeat(2, minmax(0, 1fr));
    gap:10px;
  }
  body[data-page="rechner"] .budget-results-card .budget-summary-grid,
  body[data-page="geld-behalten"] .budget-results-card .budget-summary-grid{
    gap:6px;
  }
  body[data-page="rechner"] .budget-summary-grid .budget-summary-amount,
  body[data-page="geld-behalten"] .budget-summary-grid .budget-summary-amount{
    font-size:clamp(.98rem, 1.04vw, 1.2rem);
  }
  body[data-page="rechner"] .budget-summary-grid .summary-card .help,
  body[data-page="geld-behalten"] .budget-summary-grid .summary-card .help{
    min-height:0;
    font-size:.76rem;
    line-height:1.2;
  }
  body[data-page="rechner"] .budget-summary-subline,
  body[data-page="geld-behalten"] .budget-summary-subline{
    margin-top:1px;
    font-size:.74rem;
  }
  .budget-breakdown-list{
    gap:6px;
  }
  body[data-page="rechner"] .budget-breakdown-list,
  body[data-page="geld-behalten"] .budget-breakdown-list{
    gap:4px;
  }
  .budget-breakdown-list li{
    gap:6px 8px;
  }
  body[data-page="rechner"] .budget-breakdown-list li,
  body[data-page="geld-behalten"] .budget-breakdown-list li{
    gap:4px 6px;
  }
  .budget-breakdown-amount,
  .budget-breakdown-total-value{
    grid-template-columns:minmax(80px, max-content) 22px;
    min-width:104px;
    font-size:.88rem;
  }
  body[data-page="rechner"] .budget-breakdown-amount,
  body[data-page="rechner"] .budget-breakdown-total-value,
  body[data-page="geld-behalten"] .budget-breakdown-amount,
  body[data-page="geld-behalten"] .budget-breakdown-total-value{
    font-size:.78rem;
  }
  body[data-page="rechner"] .budget-status-card,
  body[data-page="geld-behalten"] .budget-status-card{
    margin-top:6px;
    padding:8px 10px;
    gap:5px;
  }
  body[data-page="rechner"] .budget-status-title,
  body[data-page="geld-behalten"] .budget-status-title{
    font-size:.9rem;
  }
  .allocation-control-card,
  .allocation-result-card,
  .allocation-summary-card{
    padding:14px 16px 16px;
  }
  .risk-profile-mini-grid .card.compact{
    min-height:136px;
  }
  body[data-page="rechner"] .allocation-panel-grid,
  body[data-page="risiko-aufteilung"] .allocation-panel-grid{
    gap:8px;
  }
  body[data-page="rechner"] .allocation-control-card,
  body[data-page="risiko-aufteilung"] .allocation-control-card{
    padding:12px 12px 10px;
  }
  body[data-page="rechner"] .allocation-control-title,
  body[data-page="risiko-aufteilung"] .allocation-control-title{
    margin-bottom:5px;
    font-size:1.18rem;
    max-width:14ch;
  }
  body[data-page="rechner"] .allocation-control-lead,
  body[data-page="risiko-aufteilung"] .allocation-control-lead{
    font-size:.8rem;
    line-height:1.24;
  }
  body[data-page="rechner"] .allocation-control-copy,
  body[data-page="risiko-aufteilung"] .allocation-control-copy{
    margin-top:6px;
    font-size:.76rem;
    line-height:1.28;
  }
  body[data-page="rechner"] .allocation-control-card .field{
    gap:4px;
  }
  body[data-page="rechner"] .allocation-control-card input,
  body[data-page="rechner"] .allocation-control-card select{
    min-height:34px;
    padding:6px 10px;
  }
  body[data-page="rechner"] .risk-questionnaire-form{
    gap:10px;
  }
  body[data-page="rechner"] .allocation-depot-field{
    margin-top:6px;
  }
  body[data-page="rechner"] .allocation-income-field{
    margin-top:4px !important;
  }
  body[data-page="rechner"] .allocation-meaning-field{
    margin-top:10px !important;
    margin-bottom:8px;
  }
  body[data-page="rechner"] .risk-drawdown-head{
    gap:8px;
  }
  body[data-page="rechner"] .allocation-drawdown-subline{
    margin-top:-2px;
    font-size:.76rem;
    line-height:1.22;
  }
  body[data-page="rechner"] .risk-preset-stack{
    gap:8px;
  }
  body[data-page="rechner"] .risk-preset-row{
    gap:6px;
  }
  body[data-page="rechner"] .risk-preset-row .btn{
    min-height:32px;
    padding:6px 8px;
    font-size:.8rem;
  }
  body[data-page="rechner"] .allocation-loss-note{
    gap:4px;
    padding:8px 10px;
  }
  body[data-page="rechner"] .allocation-loss-title{
    font-size:.82rem;
  }
  body[data-page="rechner"] .allocation-loss-note #ddLoss{
    font-size:1rem;
  }
  body[data-page="rechner"] .allocation-result-card{
    padding:12px 12px 10px;
  }
  body[data-page="rechner"] .allocation-result-topline{
    margin-bottom:2px;
  }
  body[data-page="rechner"] .allocation-summary-grid{
    gap:6px;
    margin-bottom:8px;
  }
  body[data-page="rechner"] .allocation-summary-card{
    min-height:160px;
    padding:10px 10px 8px;
    gap:4px;
  }
  body[data-page="rechner"] .allocation-summary-head{
    gap:4px;
  }
  body[data-page="rechner"] .allocation-summary-card h3{
    font-size:clamp(1.02rem, 1.08vw, 1.28rem);
  }
  body[data-page="rechner"] .allocation-summary-card .help{
    font-size:.78rem;
    line-height:1.22;
  }
  body[data-page="rechner"] .allocation-position-note{
    margin-top:0 !important;
    padding-top:2px;
    font-size:.74rem;
    line-height:1.16;
  }
  body[data-page="rechner"] .allocation-summary-footer{
    gap:6px;
  }
  body[data-page="rechner"] .allocation-summary-share{
    font-size:.8rem;
  }
  body[data-page="rechner"] .allocation-summary-secondary-share{
    font-size:.66rem;
  }
  body[data-page="rechner"] .allocation-capital-grid{
    gap:6px;
  }
  body[data-page="rechner"] .allocation-capital-card{
    padding:8px 10px;
  }
  body[data-page="rechner"] .allocation-capital-meta{
    font-size:.8rem;
    margin-bottom:1px;
  }
  body[data-page="rechner"] .allocation-capital-rows{
    gap:5px;
    padding-top:5px;
  }
  body[data-page="rechner"] .allocation-capital-row{
    gap:5px;
  }
  body[data-page="rechner"] .allocation-capital-row-label{
    font-size:.74rem;
    line-height:1.16;
  }
  body[data-page="rechner"] .allocation-capital-row-value{
    font-size:.76rem;
  }
  body[data-page="rechner"] .allocation-capital-lines{
    gap:3px;
    margin-top:6px;
    padding-top:5px;
    font-size:.7rem;
    line-height:1.14;
  }
  body[data-page="rechner"] .future-machine-shell,
  body[data-page="zukunft-rechnen"] .future-machine-shell{
    gap:12px;
    padding:12px 12px 10px;
  }
  body[data-page="rechner"] .future-machine-top,
  body[data-page="zukunft-rechnen"] .future-machine-top{
    gap:10px;
  }
  body[data-page="rechner"] .time-control-card,
  body[data-page="rechner"] .time-result-card,
  body[data-page="rechner"] .future-reading-card,
  body[data-page="zukunft-rechnen"] .time-control-card,
  body[data-page="zukunft-rechnen"] .time-result-card,
  body[data-page="zukunft-rechnen"] .future-reading-card{
    padding:10px 10px 8px;
  }
  body[data-page="rechner"] .future-machine-left h2,
  body[data-page="rechner"] .future-machine-right h2,
  body[data-page="zukunft-rechnen"] .future-machine-left h2,
  body[data-page="zukunft-rechnen"] .future-machine-right h2{
    margin-bottom:8px;
    font-size:1.18rem;
  }
  body[data-page="rechner"] .time-control-card .field label,
  body[data-page="zukunft-rechnen"] .time-control-card .field label{
    min-height:2.05em;
    font-size:.84rem;
  }
  body[data-page="rechner"] .time-control-card .field .field-label-meta,
  body[data-page="zukunft-rechnen"] .time-control-card .field .field-label-meta{
    font-size:.7rem;
  }
  body[data-page="rechner"] .time-control-card .field input,
  body[data-page="zukunft-rechnen"] .time-control-card .field input{
    min-height:42px;
    padding:8px 10px;
  }
  body[data-page="rechner"] .time-control-card .two + .two,
  body[data-page="zukunft-rechnen"] .time-control-card .two + .two{
    margin-top:5px;
  }
  body[data-page="rechner"] .time-control-card .template-actions,
  body[data-page="zukunft-rechnen"] .time-control-card .template-actions{
    margin-top:10px;
  }
  body[data-page="rechner"] .future-machine-note,
  body[data-page="zukunft-rechnen"] .future-machine-note{
    margin-top:10px !important;
    font-size:.8rem;
    line-height:1.28;
  }
  body[data-page="rechner"] .future-machine-shell > .hr,
  body[data-page="zukunft-rechnen"] .future-machine-shell > .hr{
    margin:10px 0 6px;
  }
  body[data-page="rechner"] .forecast-summary-grid,
  body[data-page="rechner"] .forecast-scenario-grid,
  body[data-page="zukunft-rechnen"] .forecast-summary-grid,
  body[data-page="zukunft-rechnen"] .forecast-scenario-grid{
    gap:8px;
  }
  body[data-page="rechner"] .forecast-stat-card,
  body[data-page="zukunft-rechnen"] .forecast-stat-card{
    min-height:0;
    padding:12px 12px 10px;
    gap:5px;
  }
  body[data-page="rechner"] .forecast-stat-card h3,
  body[data-page="zukunft-rechnen"] .forecast-stat-card h3{
    font-size:clamp(.96rem, 1vw, 1.18rem);
  }
  body[data-page="rechner"] .forecast-stat-card-primary h3,
  body[data-page="zukunft-rechnen"] .forecast-stat-card-primary h3{
    font-size:clamp(1rem, 1.04vw, 1.24rem);
  }
  body[data-page="rechner"] .forecast-stat-card .help,
  body[data-page="zukunft-rechnen"] .forecast-stat-card .help{
    margin-top:3px;
    padding-top:7px;
    line-height:1.24;
    font-size:.76rem;
  }
  body[data-page="rechner"] .forecast-scenario-intro,
  body[data-page="zukunft-rechnen"] .forecast-scenario-intro{
    margin:4px 0 8px;
    font-size:.82rem;
    line-height:1.28;
  }
  body[data-page="rechner"] .forecast-scenario-card,
  body[data-page="zukunft-rechnen"] .forecast-scenario-card{
    min-height:0;
    gap:5px;
    padding:12px 12px 10px 18px;
  }
  body[data-page="rechner"] .forecast-scenario-card::before,
  body[data-page="zukunft-rechnen"] .forecast-scenario-card::before{
    width:18px;
    border-width:3px;
  }
  body[data-page="rechner"] .forecast-scenario-card h3,
  body[data-page="zukunft-rechnen"] .forecast-scenario-card h3{
    font-size:clamp(.94rem, .96vw, 1.12rem);
  }
  body[data-page="rechner"] .forecast-scenario-real,
  body[data-page="zukunft-rechnen"] .forecast-scenario-real{
    font-size:.76rem;
    line-height:1.2;
  }
  body[data-page="rechner"] .forecast-story,
  body[data-page="zukunft-rechnen"] .forecast-story{
    font-size:.82rem;
    line-height:1.3;
  }
  .page-home .hero{
    padding:0 0 2px;
  }
  .page-home .home-tour-shell{
    min-height:min(426px, calc(100vh - 140px));
    min-height:min(426px, calc(100svh - 140px));
    padding:7px 9px 5px;
    border-radius:22px;
  }
  .page-home .home-tour-bar{
    padding-bottom:1px;
  }
  .page-home .home-tour-stage{
    padding-top:6px;
    padding-bottom:8px;
  }
  .page-home .home-tour-intro-grid{
    grid-template-columns:minmax(0, 3fr) minmax(0, 1fr);
    gap:12px;
    align-items:start;
  }
  .page-home .home-tour-panel-slide .home-tour-panel-header{
    grid-template-columns:minmax(0, 1fr) clamp(190px, 16vw, 225px);
    gap:14px;
  }
  .page-home .home-journey-slide .home-journey-header{
    grid-template-columns:minmax(0, 1fr) clamp(210px, 18vw, 250px);
    gap:14px;
  }
  .page-home .home-summary-header{
    grid-template-columns:minmax(0, 1fr) clamp(210px, 18vw, 250px);
    gap:14px;
    min-height:0;
  }
  .page-home .home-summary-heading-copy{
    padding-right:0;
  }
  .page-home .home-summary-heading-copy > * + *{
    margin-top:11px;
  }
  .page-home .home-summary-lead{
    font-size:.82rem;
    line-height:1.34;
  }
  .page-home .home-tour-shell h1{
    font-size:clamp(1.78rem, 2.7vw, 2.5rem);
    max-width:14.6ch;
    margin-bottom:7px;
  }
  .page-home .home-tour-shell .home-tour-slide-title{
    font-size:clamp(1.78rem, 2.7vw, 2.5rem);
    line-height:1.04;
    margin-bottom:7px;
  }
  .page-home .home-tour-shell h2{
    font-size:clamp(1rem, 1.3vw, 1.34rem);
  }
  .page-home .home-tour-shell .lead{
    max-width:66ch;
    font-size:.82rem;
    line-height:1.33;
  }
  .page-home .home-tour-shell .help{
    font-size:.79rem;
    line-height:1.29;
  }
  .page-home .home-tour-shell .card,
  .page-home .home-tour-shell .summary-card,
  .page-home .home-tour-shell .journey-card{
    padding:10px 12px;
    border-radius:15px;
  }
  .page-home .home-tour-shell .summary-grid{
    gap:6px;
    align-items:stretch;
  }
  .page-home .home-tour-shell .summary-card{
    min-height:98px;
    height:100%;
    gap:6px;
    justify-content:flex-start;
  }
  .page-home .home-tour-shell .summary-card .eyebrow,
  .page-home .home-tour-shell .summary-card-head,
  .page-home .home-tour-shell .summary-card > h3,
  .page-home .home-tour-shell .summary-card > .help{
    margin:0;
  }
  .page-home .home-tour-shell .summary-card .badge-number{
    width:29px;
    height:29px;
    border-radius:9px;
    font-size:.78rem;
  }
  .page-home .home-summary-slide .summary-card-head{
    gap:8px;
  }
  .page-home .home-summary-slide .summary-card-claim{
    font-size:.72rem;
    line-height:1.18;
  }
  .page-home .home-summary-slide .summary-card > h3{
    font-size:.97rem;
    line-height:1.06;
  }
  .page-home .home-summary-slide .summary-card > .help{
    font-size:.78rem;
    line-height:1.28;
  }
  .page-home .home-summary-slide .summary-card > .help{
    flex:1 1 auto;
  }
  .page-home .home-tour-shell .journey-card{
    min-height:168px;
  }
  .page-home .home-journey-slide .journey-grid{
    gap:6px;
    align-items:stretch;
  }
  .page-home .home-journey-slide .journey-card{
    min-height:148px;
    height:100%;
    padding:9px 11px;
    gap:6px;
  }
  .page-home .home-journey-slide .journey-meta{
    gap:7px;
    font-size:.72rem;
  }
  .page-home .home-journey-slide .journey-number{
    width:28px;
    height:28px;
    border-radius:9px;
    font-size:.78rem;
  }
  .page-home .home-journey-slide .journey-card h3{
    font-size:.98rem;
    line-height:1.06;
  }
  .page-home .home-journey-slide .journey-card p{
    font-size:.76rem;
    line-height:1.26;
  }
  .page-home .home-journey-slide .home-journey-hero-figure{
    width:100%;
  }
  .page-home .home-tour-panel-slide .home-tour-panel-hero-figure{
    width:100%;
  }
  .page-home .journey-grid,
  .page-home .home-tour-use-grid,
  .page-home .home-tour-end-grid{
    gap:8px;
  }
  .page-home .home-tour-shell .progress-card{
    gap:6px;
  }
  .page-home .home-tour-shell .progress-card h2{
    max-width:15ch;
  }
  .page-home .home-summary-hero-figure{
    width:100%;
  }
  .page-home .home-tour-nav{
    padding-top:4px;
    margin-top:4px;
  }
  .page-home .home-tour-caption{
    font-size:.74rem;
    line-height:1.3;
  }
  .page-home .footer{
    padding:2px 0 0;
  }
}

@media print{
  header,
  .navlinks,
  .btn,
  .template-actions,
  .mission-bottom-bar,
  .nextprev,
  .hero-actions{
    display:none !important;
  }
  body{
    background:#fff;
  }
  body::before{
    display:none;
  }
  .card,
  .summary-card,
  .scenario-card{
    box-shadow:none;
    background:#fff;
    border-color:#ddd;
  }
  .print-show{
    display:block !important;
  }
  .print-all .planBlock{
    display:block !important;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
  [data-reveal]{
    opacity:1;
    transform:none;
  }
}
