:root {
  --fmk-bg: #fff8ee;
  --fmk-card: rgba(255,255,255,.82);
  --fmk-card-strong: #fffdf8;
  --fmk-text: #2f2720;
  --fmk-muted: #6f6259;
  --fmk-line: rgba(122, 91, 63, .18);
  --fmk-accent: #d98463;
  --fmk-accent-dark: #9a563d;
  --fmk-sage: #9eb58f;
  --fmk-sky: #a6c6c3;
  --fmk-gold: #efc66a;
  --fmk-shadow: 0 18px 55px rgba(101, 77, 51, .12);
  --fmk-radius: 8px;
}

.fm-kompass-shell, .fm-kompass-shell * { box-sizing: border-box; }
.fm-kompass-shell {
  color: var(--fmk-text);
  background: #fffaf5;
  border: 1px solid var(--fmk-line);
  border-radius: 8px;
  padding: clamp(18px, 3vw, 42px);
  margin: 24px auto;
  max-width: 1180px;
  font-family: inherit;
  box-shadow: var(--fmk-shadow);
}
.fm-kompass-shell h1, .fm-kompass-shell h2, .fm-kompass-shell h3, .fm-kompass-shell h4 { line-height: 1.12; margin: 0 0 .55rem; color: var(--fmk-text); }
.fm-kompass-shell p { line-height: 1.58; margin: 0 0 1rem; color: var(--fmk-muted); }
.fm-eyebrow { text-transform: uppercase; letter-spacing: 0; font-size: .76rem; font-weight: 800; color: var(--fmk-accent-dark) !important; margin-bottom: .5rem !important; }
.fm-kompass-notice { margin-bottom: 1rem; padding: .9rem 1rem; border-radius: 8px; background: rgba(158,181,143,.2); border: 1px solid rgba(158,181,143,.35); font-weight: 700; }
.fm-kompass-module-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 1.25rem; align-items: center; padding: 1.35rem; margin-bottom: .75rem; background: #fff; border: 1px solid var(--fmk-line); border-radius: 8px; }
.fm-kompass-module-head__intro { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1rem; align-items: center; }
.fm-kompass-module-icon { display: grid; place-items: center; width: 112px; height: 112px; border-radius: 0; background: transparent; border: 0; box-shadow: none; overflow: visible; }
.fm-kompass-module-icon img { display: block; width: 108px; height: 108px; object-fit: contain; background: transparent; border: 0; box-shadow: none; }
.fm-kompass-module-head__title h1 { font-size: 2rem; margin-bottom: .4rem; }
.fm-kompass-module-head__title p:last-child { margin-bottom: 0; max-width: 64ch; }
.fm-kompass-module-head__context { min-width: 0; padding: 1rem; background: #f3f8f2; border: 1px solid rgba(113, 144, 99, .24); border-radius: 8px; }
.fm-kompass-context-label { display: block; margin-bottom: .5rem; color: #46613f; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.fm-kompass-module-head__context small { display: block; margin-top: .45rem; color: var(--fmk-muted); }
.fm-kompass-family-form label { display: block; margin-bottom: .25rem; font-size: .78rem; font-weight: 800; }
.fm-kompass-family-form select { width: 100%; min-height: 42px; padding: .5rem .7rem; border: 1px solid rgba(70, 97, 63, .25); border-radius: 8px; background: #fff; color: var(--fmk-text); }
.fm-kompass-help-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; margin-bottom: 18px; padding: 10px; background: rgba(255,255,255,.72); border: 1px solid rgba(48,111,104,.14); border-radius: 24px; box-shadow: 0 10px 24px rgba(32,73,69,.07); }
.fm-kompass-help-strip__label { display: inline-flex; align-items: center; gap: .45rem; font-weight: 800; }
.fm-kompass-help-strip__label > span { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #edf5eb; color: #46613f; font-family: Georgia, serif; font-style: italic; font-weight: 900; }
.fm-kompass-help-strip__actions { display: flex; gap: .55rem; flex-wrap: wrap; }
.fm-kompass-help-button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 40px; padding: 8px 13px 8px 9px; border: 1px solid rgba(154, 86, 61, .22); border-radius: 999px; background: #fff; color: var(--fmk-accent-dark); font: inherit; font-weight: 800; cursor: pointer; }
.fm-kompass-dialog { width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 1.5rem; border: 1px solid var(--fmk-line); border-radius: 8px; background: #fffdf8; color: var(--fmk-text); box-shadow: 0 24px 70px rgba(47, 39, 32, .22); }
.fm-kompass-dialog::backdrop { background: rgba(47, 39, 32, .46); }
.fm-kompass-dialog__close { position: absolute; top: .7rem; right: .7rem; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f4eee7; color: var(--fmk-text); font-size: 1.5rem; cursor: pointer; }
.fm-kompass-dialog h2 { padding-right: 2rem; }
.fm-kompass-dialog__section { margin: 1rem 0; padding: 1rem; background: #f6f8f3; border-left: 4px solid var(--fmk-sage); border-radius: 0 8px 8px 0; }
.fm-kompass-dialog__section ul, .fm-kompass-steps { margin: .7rem 0 0; padding-left: 1.25rem; }
.fm-kompass-dialog__section li, .fm-kompass-steps li { margin-bottom: .55rem; line-height: 1.5; }
.fm-kompass-dialog__note { padding: .8rem 1rem; background: #fff4e3; border-radius: 8px; }
.fm-kompass-hero { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(260px, .84fr); gap: clamp(22px, 4vw, 54px); align-items: center; margin: 1rem 0; padding: clamp(18px, 3vw, 34px); background: rgba(255,253,248,.62); border: 1px solid var(--fmk-line); border-radius: var(--fmk-radius); }
.fm-kompass-hero h1 { font-size: 2.55rem; max-width: 100%; letter-spacing: 0; }
.fm-kompass-hero p { font-size: 1.08rem; max-width: 58ch; }
.fm-kompass-hero__actions, .fm-save-bar { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin-top: 1.3rem; }
.fm-button { border: 0; border-radius: 999px; padding: .85rem 1.1rem; text-decoration: none !important; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.fm-button:hover { transform: translateY(-1px); }
.fm-button--primary { background: linear-gradient(135deg, var(--fmk-accent), #e7ab78); color: #fff !important; box-shadow: 0 12px 26px rgba(217,132,99,.25); }
.fm-button--ghost { background: rgba(255,255,255,.7); color: var(--fmk-accent-dark) !important; border: 1px solid var(--fmk-line); }
.fm-view-tabs { display: inline-flex; gap: .35rem; margin: .4rem 0 1rem; padding: .3rem; border: 1px solid rgba(122,91,63,.14); border-radius: 999px; background: rgba(255,255,255,.68); }
.fm-view-tabs a, .fm-view-tabs span { display: inline-flex; align-items: center; min-height: 38px; padding: .5rem .85rem; border-radius: 999px; color: var(--fmk-accent-dark) !important; font-weight: 850; text-decoration: none !important; }
.fm-view-tabs small { margin-left: .35rem; padding-left: .35rem; border-left: 1px solid rgba(122,91,63,.2); color: var(--fmk-muted); font-size: .74rem; font-weight: 800; }
.fm-view-tabs span { background: rgba(217,132,99,.14); color: var(--fmk-text) !important; }
.fm-return-context { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin: .35rem 0 1rem; padding: 1rem 1.1rem; border: 1px solid rgba(113,144,99,.26); border-left: 6px solid #719063; border-radius: 8px; background: linear-gradient(135deg, rgba(243,248,242,.98), rgba(255,253,248,.9)); box-shadow: 0 12px 26px rgba(84,62,40,.06); }
.fm-return-context div { display: grid; gap: .25rem; min-width: 0; }
.fm-return-context span { color: #46613f; font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.fm-return-context strong { color: var(--fmk-text); font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.25; }
.fm-return-context p { margin: 0; color: var(--fmk-muted); font-weight: 700; line-height: 1.45; }
.fm-return-context .fm-button { justify-self: end; white-space: nowrap; }
.fm-cockpit-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid rgba(217,132,99,.2); border-radius: 8px; background: linear-gradient(135deg, rgba(255,253,248,.96), rgba(243,248,242,.78)); box-shadow: 0 16px 38px rgba(84,62,40,.08); }
.fm-cockpit-hero h1 { max-width: 100%; font-size: clamp(1.7rem, 4vw, 2.7rem); }
.fm-cockpit-reading { position: relative; margin: .75rem 0 1rem; padding: .9rem 1rem; border: 1px solid rgba(92,128,83,.18); border-left: 4px solid rgba(111,154,104,.65); border-radius: 8px; background: rgba(243,248,242,.72); box-shadow: none; }
.fm-cockpit-reading p:last-child { margin-bottom: 0; color: var(--fmk-muted); font-size: .96rem; font-weight: 700; line-height: 1.5; }
.fm-cockpit-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.fm-cockpit-board article { min-height: 148px; padding: 1rem; border: 1px solid rgba(122,91,63,.14); border-top: 5px solid rgba(217,132,99,.72); border-radius: 8px; background: rgba(255,255,255,.82); box-shadow: 0 12px 28px rgba(84,62,40,.07); }
.fm-cockpit-board article:nth-child(2) { border-top-color: rgba(92,128,83,.72); }
.fm-cockpit-board article:nth-child(3) { border-top-color: rgba(166,198,195,.95); }
.fm-cockpit-board span, .fm-cockpit-signal-grid span { display: block; color: var(--fmk-accent-dark); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.fm-cockpit-board strong { display: block; margin-top: .45rem; color: var(--fmk-text); font-size: clamp(1.05rem, 2.4vw, 1.45rem); line-height: 1.22; }
.fm-cockpit-week-flow { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr); gap: 1rem; align-items: stretch; margin: 1rem 0; padding: 1rem; border: 1px solid rgba(113,144,99,.2); border-radius: 8px; background: linear-gradient(135deg, rgba(243,248,242,.92), rgba(255,253,248,.74)); }
.fm-cockpit-week-flow h2 { font-size: clamp(1.25rem, 2.6vw, 1.75rem); }
.fm-cockpit-week-flow p:last-child { margin-bottom: 0; }
.fm-cockpit-week-flow__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.fm-cockpit-week-flow__steps article { display: grid; grid-template-rows: auto auto 1fr; gap: .35rem; min-width: 0; min-height: 132px; padding: .85rem; border: 1px solid rgba(122,91,63,.12); border-radius: 8px; background: rgba(255,255,255,.78); box-shadow: 0 10px 22px rgba(84,62,40,.05); }
.fm-cockpit-week-flow__steps span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: rgba(113,144,99,.14); color: #46613f; font-size: .78rem; font-weight: 900; }
.fm-cockpit-week-flow__steps strong { color: var(--fmk-text); font-size: 1rem; line-height: 1.2; }
.fm-cockpit-week-flow__steps p { margin: 0; color: var(--fmk-muted); font-size: .9rem; font-weight: 700; line-height: 1.36; }
.fm-cockpit-week-flow__steps a, .fm-cockpit-week-flow__steps em { align-self: end; justify-self: start; margin-top: .25rem; padding: .38rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 900; line-height: 1.15; text-decoration: none !important; }
.fm-cockpit-week-flow__steps a { border: 1px solid rgba(113,144,99,.25); background: rgba(255,255,255,.82); color: #46613f !important; }
.fm-cockpit-week-flow__steps em { border: 1px dashed rgba(122,91,63,.22); background: rgba(255,255,255,.48); color: var(--fmk-muted); font-style: normal; }
.fm-cockpit-week-flow__steps a:hover, .fm-cockpit-week-flow__steps a:focus-visible { border-color: rgba(113,144,99,.5); background: #fff; }
.fm-familyrat-focus-suggestion { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid rgba(217,132,99,.28); border-left: 7px solid var(--fmk-accent); border-radius: 8px; background: linear-gradient(135deg, rgba(255,248,238,.96), rgba(243,248,242,.72)); box-shadow: 0 14px 30px rgba(84,62,40,.08); }
.fm-familyrat-focus-suggestion h2 { font-size: clamp(1.18rem, 2.4vw, 1.55rem); }
.fm-familyrat-focus-suggestion p { margin-bottom: .35rem; color: var(--fmk-text); font-weight: 750; }
.fm-familyrat-focus-suggestion small { display: block; color: var(--fmk-muted); font-weight: 800; }
.fm-familyrat-focus-suggestion__actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; align-items: center; }
.fm-familyrat-focus-suggestion__actions .fm-button { min-height: 42px; padding: .72rem .95rem; }
.fm-familyrat-clarify-bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid rgba(73,119,111,.22); border-left: 5px solid #49776f; border-radius: 8px; background: #f4f8f6; }
.fm-familyrat-clarify-bridge > div { display: grid; gap: .15rem; }
.fm-familyrat-clarify-bridge small { color: #49776f; font-size: .76rem; font-weight: 850; }
.fm-familyrat-clarify-bridge strong { color: var(--fmk-text); }
.fm-familyrat-clarify-bridge span { color: var(--fmk-muted); font-size: .88rem; }
.fm-familyrat-clarify-bridge .fm-button { min-height: 42px; padding: .7rem .9rem; }
.fm-cockpit-signals { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr); gap: 1rem; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid rgba(122,91,63,.14); border-radius: 8px; background: linear-gradient(135deg, rgba(255,248,238,.8), rgba(239,248,247,.58)); }
.fm-cockpit-signals h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.fm-cockpit-signal-grid { display: grid; gap: .65rem; }
.fm-cockpit-signal-grid span { min-height: 58px; padding: .75rem .85rem; border: 1px solid rgba(122,91,63,.12); border-left: 5px solid rgba(217,132,99,.75); border-radius: 8px; background: rgba(255,255,255,.8); color: var(--fmk-muted); text-transform: none; }
.fm-cockpit-signal-grid span:nth-child(2) { border-left-color: rgba(92,128,83,.75); }
.fm-cockpit-signal-grid span:nth-child(3) { border-left-color: rgba(166,198,195,.98); }
.fm-cockpit-signal-grid strong { color: var(--fmk-accent-dark); font-size: 1.25rem; }
.fm-cockpit-primary-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin: 1rem 0; padding: clamp(1rem, 3vw, 1.35rem); border: 1px solid rgba(217,132,99,.34); border-left: 7px solid var(--fmk-accent); border-radius: 8px; background: linear-gradient(135deg, rgba(255,236,211,.98), rgba(255,250,243,.82)); box-shadow: 0 18px 40px rgba(217,132,99,.14); }
.fm-cockpit-primary-action h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.fm-cockpit-primary-action p:last-child { margin-bottom: 0; }
.fm-kompass-visual { min-height: 330px; display: grid; place-items: center; }
.fm-compass-wrap { display: grid; gap: .9rem; justify-items: center; width: 100%; }
.fm-compass-orb { position: relative; width: min(330px, 78vw); aspect-ratio: 1/1; border-radius: 999px; background: radial-gradient(circle, #fff 0 18%, #fff3dd 19% 40%, rgba(158,181,143,.23) 41% 62%, rgba(166,198,195,.2) 63% 100%); border: 1px solid rgba(122,91,63,.18); box-shadow: inset 0 0 45px rgba(255,255,255,.75), 0 24px 60px rgba(84,62,40,.16); }
.fm-compass-ring { position: absolute; inset: 13%; border: 1px dashed rgba(154,86,61,.35); border-radius: 50%; }
.fm-compass-needle { position: absolute; left: 50%; top: 50%; width: 36%; height: 36%; transform: translate(-50%, -85%) rotate(36deg); clip-path: polygon(50% 0, 62% 100%, 50% 76%, 38% 100%); background: linear-gradient(180deg, var(--fmk-accent), var(--fmk-gold)); transform-origin: center bottom; opacity: .9; }
.fm-compass-center { position: absolute; inset: 35%; display: grid; place-items: center; text-align: center; border-radius: 50%; background: rgba(255,255,255,.85); border: 1px solid rgba(122,91,63,.16); font-size: .92rem; color: var(--fmk-muted); }
.fm-compass-center strong { color: var(--fmk-text); }
.fm-compass-dot { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); max-width: 104px; min-width: 62px; padding: .44rem .56rem; text-align: center; border-radius: 999px; background: rgba(255,255,255,.9); border: 1px solid rgba(122,91,63,.13); font-size: .76rem; font-weight: 800; box-shadow: 0 10px 20px rgba(84,62,40,.09); }
.fm-compass-dot strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-compass-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; width: min(430px, 100%); }
.fm-compass-summary span { display: grid; gap: .15rem; min-height: 58px; padding: .62rem .7rem; border: 1px solid rgba(122,91,63,.12); border-radius: 18px; background: rgba(255,255,255,.72); color: var(--fmk-muted); font-size: .78rem; line-height: 1.28; box-shadow: 0 10px 20px rgba(84,62,40,.06); }
.fm-compass-summary strong { color: var(--fmk-accent-dark); font-size: .72rem; text-transform: uppercase; }
.fm-kompass-image-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.fm-kompass-image-card { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: .9rem; align-items: center; min-height: 116px; padding: .95rem; border-radius: 8px; border: 1px solid rgba(122,91,63,.14); background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,248,238,.7)); box-shadow: 0 10px 24px rgba(84,62,40,.06); }
.fm-kompass-image-card img { display: block; width: 82px; height: 82px; object-fit: cover; object-position: center; border-radius: 24px; filter: saturate(.96) contrast(.98); }
.fm-kompass-image-card h3 { font-size: 1.08rem; margin-bottom: .35rem; }
.fm-kompass-image-card p { font-size: .94rem; margin-bottom: 0; }
.fm-kompass-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.fm-focus-house { margin: 1.1rem 0; padding: 1rem; border-radius: 32px; border: 1px solid rgba(122,91,63,.16); background: linear-gradient(180deg, rgba(255,253,248,.96), rgba(247,251,247,.78)); box-shadow: 0 16px 42px rgba(84,62,40,.08); }
.fm-focus-house__roof { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; align-items: center; max-width: 860px; margin: 0 auto .8rem; padding: 1rem 1.1rem; border-radius: 28px 28px 18px 18px; background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,240,220,.76)); border: 1px solid rgba(217,132,99,.18); }
.fm-focus-house__roof > span, .fm-focus-house__body article > span, .fm-focus-house__path > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 999px; background: rgba(217,132,99,.12); color: var(--fmk-accent-dark); font-weight: 900; font-size: 1.2rem; }
.fm-focus-house__roof h2 { margin: 0; font-size: clamp(1.2rem, 2.8vw, 1.85rem); line-height: 1.2; }
.fm-focus-house__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; max-width: 860px; margin: 0 auto; }
.fm-focus-house__body article { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: .8rem; align-items: start; min-height: 132px; padding: 1rem; border-radius: 22px; border: 1px solid rgba(122,91,63,.13); background: rgba(255,255,255,.72); }
.fm-focus-house__body article strong { color: var(--fmk-text); font-size: 1.05rem; }
.fm-focus-house__body article p { grid-column: 2; margin: .25rem 0 0; }
.fm-focus-house__path { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: .8rem; align-items: center; max-width: 720px; margin: .85rem auto 0; padding: 1rem; border-radius: 999px; border: 1px solid rgba(158,181,143,.24); background: rgba(243,248,242,.86); }
.fm-focus-house__path strong { display: block; color: var(--fmk-text); }
.fm-focus-house__path p { margin: .2rem 0 0; }
.fm-card { background: var(--fmk-card); border: 1px solid var(--fmk-line); border-radius: 8px; padding: 1.15rem; box-shadow: 0 12px 32px rgba(84,62,40,.08); }
.fm-card--large { grid-column: span 2; background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,243,221,.72)); }
.fm-card-icon { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(217,132,99,.13); color: var(--fmk-accent-dark); margin-bottom: .55rem; font-weight: 900; }
.fm-family-sentence { font-size: 1.25rem; font-weight: 800; color: var(--fmk-text) !important; }
.fm-section-heading { margin: clamp(30px, 5vw, 58px) 0 1rem; max-width: none; width: 100%; }
.fm-section-heading h2 { font-size: 2rem; letter-spacing: 0; }
.fm-quick-start { position: static !important; inset: auto !important; display: grid; grid-template-columns: 1fr; gap: clamp(16px, 3vw, 24px); align-items: stretch; margin: 1rem 0 1.1rem; padding: clamp(1rem, 3vw, 1.45rem); border: 1px solid rgba(217,132,99,.22); border-radius: 8px; background: linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,244,229,.86)); box-shadow: 0 16px 38px rgba(84,62,40,.09); }
.fm-quick-start__intro h2 { font-size: clamp(1.35rem, 2.4vw, 2rem); max-width: 100%; }
.fm-quick-start__intro p:last-child { margin-bottom: 0; }
.fm-quick-start__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: .85rem; justify-self: stretch; width: 100%; }
.fm-quick-start__fields label { display: grid; gap: .45rem; min-width: 0; padding: .95rem; border: 1px solid rgba(122,91,63,.13); border-radius: 18px; background: rgba(255,255,255,.62); color: var(--fmk-text); font-weight: 850; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease; }
.fm-quick-start__fields label > span { line-height: 1.25; }
.fm-quick-start__fields textarea { width: 100%; min-height: 78px; border: 1px solid rgba(122,91,63,.2); border-radius: 18px; padding: .85rem .95rem; background: rgba(255,255,255,.88); color: var(--fmk-text); font: inherit; line-height: 1.45; resize: vertical; overflow: hidden; box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
.fm-quick-start__fields label:focus-within { border-color: rgba(217,132,99,.48); background: rgba(255,255,255,.9); box-shadow: 0 16px 34px rgba(217,132,99,.14); transform: translateY(-1px); }
.fm-quick-start__footer { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding-top: .75rem; border-top: 1px solid rgba(122,91,63,.12); color: var(--fmk-muted); font-weight: 750; }
.fm-form-card input[type="text"], .fm-form-card textarea { width: 100%; border: 1px solid rgba(122,91,63,.2); border-radius: 18px; padding: .9rem 1rem; background: rgba(255,255,255,.82); color: var(--fmk-text); margin-top: .5rem; font: inherit; line-height: 1.45; box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
.fm-form-card input[type="text"]:focus, .fm-form-card textarea:focus, .fm-quick-start__fields textarea:focus { outline: 0; border-color: rgba(217,132,99,.62); box-shadow: 0 0 0 3px rgba(217,132,99,.13), inset 0 1px 0 rgba(255,255,255,.7); background: #fff; }
.fm-form-card textarea { resize: vertical; min-height: 112px; overflow: hidden; }
.fm-form-card textarea[rows="2"] { min-height: 82px; }
.fm-form-card label { display: block; font-weight: 800; color: var(--fmk-text); }
.fm-field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1rem; margin: 1rem 0; }
.fm-field-row--three { grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); }
.fm-form-card > .fm-field-row--three { grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); }
.fm-field-row label, .fm-form-card > label { display: flex; flex-direction: column; height: 100%; padding: .9rem; border: 1px solid rgba(122,91,63,.11); border-radius: 18px; background: rgba(255,255,255,.55); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease; }
.fm-field-row label:focus-within, .fm-form-card > label:focus-within, .fm-value-detail .fm-field-row--three label:focus-within { border-color: rgba(217,132,99,.48); background: rgba(255,255,255,.92); box-shadow: 0 14px 30px rgba(217,132,99,.13); transform: translateY(-1px); }
.fm-field-row textarea, .fm-field-row input[type="text"] { flex: 1 1 auto; }
.fm-value-detail .fm-field-row--three { align-items: stretch; }
.fm-value-detail .fm-field-row--three label { min-height: 238px; padding: .85rem; border-radius: 20px; background: rgba(255,255,255,.58); border: 1px solid rgba(122,91,63,.10); }
.fm-value-detail .fm-field-row--three label > span { display: block; min-height: 3.75em; line-height: 1.25; }
.fm-value-detail .fm-field-row--three textarea { min-height: 132px; }
.fm-vision-note, .fm-round-note { margin: 0 0 1rem; padding: .85rem 1rem; border-radius: 18px; background: rgba(243,248,242,.88); border: 1px solid rgba(113,144,99,.2); color: var(--fmk-muted); line-height: 1.48; }
.fm-vision-note strong, .fm-round-note strong { color: #46613f; }
.fm-inline-action { display: inline-flex; margin-left: .4rem; color: var(--fmk-accent-dark) !important; font-weight: 900; text-decoration: none !important; }
.fm-inline-action:hover { text-decoration: underline !important; }
.fm-depth-section { margin: clamp(22px, 4vw, 38px) 0 1rem; border: 1px solid rgba(122,91,63,.14); border-radius: 8px; background: rgba(255,255,255,.5); box-shadow: 0 12px 28px rgba(84,62,40,.06); overflow: hidden; }
.fm-depth-section[open] { background: rgba(255,253,248,.82); }
.fm-depth-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; align-items: center; padding: 1rem 1.1rem; cursor: pointer; list-style: none; }
.fm-depth-summary::-webkit-details-marker { display: none; }
.fm-depth-summary::after { content: "+"; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: rgba(217,132,99,.12); color: var(--fmk-accent-dark); font-weight: 900; }
.fm-depth-section[open] .fm-depth-summary::after { content: "−"; }
.fm-depth-summary__kicker { grid-column: 1; color: var(--fmk-accent-dark); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.fm-depth-summary__title { grid-column: 1; color: var(--fmk-text); font-size: clamp(1.18rem, 2.4vw, 1.75rem); font-weight: 900; line-height: 1.18; }
.fm-depth-summary__text { grid-column: 1; color: var(--fmk-muted); line-height: 1.45; }
.fm-depth-section > .fm-values-detail-list, .fm-depth-section > .fm-card { margin: 0 1rem 1rem; }
.fm-depth-section > .fm-values-detail-list { padding-top: .15rem; }
.fm-chip-grid { display: flex; flex-wrap: wrap; gap: .55rem; margin: .85rem 0 1.1rem; }
.fm-choice-chip input, .fm-value-tile input { position: absolute; opacity: 0; pointer-events: none; }
.fm-choice-chip span { display: inline-flex; padding: .65rem .85rem; border-radius: 999px; border: 1px solid var(--fmk-line); background: rgba(255,255,255,.72); color: var(--fmk-muted); font-weight: 750; cursor: pointer; }
.fm-choice-chip input:checked + span { background: rgba(217,132,99,.14); color: var(--fmk-accent-dark); border-color: rgba(217,132,99,.45); }
.fm-choice-chip--need input:checked + span { background: rgba(158,181,143,.22); color: #506444; border-color: rgba(158,181,143,.5); }
.fm-value-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; }
.fm-value-tile { position: relative; min-height: 136px; border: 1px solid var(--fmk-line); border-radius: 22px; background: rgba(255,255,255,.7); padding: .95rem; cursor: pointer; display: flex; flex-direction: column; gap: .35rem; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.fm-value-tile:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(84,62,40,.1); }
.fm-value-tile.is-selected { border-color: rgba(217,132,99,.58); background: linear-gradient(160deg, rgba(255,255,255,.95), rgba(255,239,215,.8)); box-shadow: 0 14px 32px rgba(217,132,99,.14); }
.fm-value-tile__icon { font-size: 1.6rem; color: var(--fmk-accent-dark); }
.fm-value-tile__label { font-weight: 900; }
.fm-value-tile small { color: var(--fmk-muted); line-height: 1.35; }
.fm-small-note { font-size: .92rem; margin-top: .9rem !important; }
.fm-value-detail { display: none; margin-bottom: .9rem; }
.fm-value-detail.is-active { display: block; }
.fm-vision-editor { background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(166,198,195,.15)); }
.fm-integration-note { margin-bottom: 1rem; padding: .9rem 1rem; border: 1px solid rgba(113,144,99,.24); border-radius: 8px; background: #f3f8f2; color: var(--fmk-muted); line-height: 1.55; }
.fm-integration-note strong { color: #46613f; }
.fm-module-insights { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr) minmax(190px, auto); gap: 1rem; align-items: center; margin: 0 0 1rem; padding: 1rem; border-radius: 8px; border: 1px solid rgba(122,91,63,.14); background: linear-gradient(135deg, rgba(255,253,248,.92), rgba(243,248,242,.78)); }
.fm-module-insights h3 { margin-bottom: .4rem; font-size: 1.2rem; }
.fm-module-insights p:last-child { margin-bottom: 0; }
.fm-module-insights__stats { display: grid; gap: .55rem; }
.fm-module-insights__stats span { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; min-height: 44px; padding: .55rem .7rem; border-radius: 8px; background: rgba(255,255,255,.74); border: 1px solid rgba(122,91,63,.1); color: var(--fmk-muted); font-size: .86rem; font-weight: 800; }
.fm-module-insights__stats strong { color: var(--fmk-accent-dark); font-size: 1.08rem; }
.fm-module-insights__action { display: grid; gap: .15rem; justify-self: stretch; min-height: 82px; align-content: center; padding: .8rem .95rem; border-radius: 8px; background: rgba(217,132,99,.13); border: 1px solid rgba(217,132,99,.24); color: var(--fmk-accent-dark) !important; text-decoration: none !important; font-weight: 850; }
.fm-module-insights__action span { font-size: .74rem; text-transform: uppercase; }
.fm-module-insights__action strong { color: var(--fmk-text); font-size: 1rem; }
.fm-module-recommendations { display: grid; gap: 1rem; }
.fm-module-recommendations__primary { padding: 1rem; border: 1px solid rgba(217,132,99,.2); border-radius: 8px; background: rgba(255,248,238,.72); }
.fm-module-recommendations__primary > .fm-eyebrow { margin-bottom: .75rem !important; }
.fm-module-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.fm-module-card { background: rgba(255,255,255,.75); border: 1px solid var(--fmk-line); border-radius: 24px; padding: 1rem; min-height: 245px; display: flex; flex-direction: column; }
.fm-module-card--primary { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; column-gap: 1rem; align-items: start; min-height: 0; border-radius: 8px; background: rgba(255,255,255,.86); }
.fm-module-card--primary .fm-module-icon { grid-row: span 5; width: 5.2rem; height: 5.2rem; margin-bottom: 0; }
.fm-module-card--primary .fm-module-label, .fm-module-card--primary h3, .fm-module-card--primary p:not(.fm-module-label), .fm-module-card--primary .fm-module-signal, .fm-module-card--primary .fm-module-count { grid-column: 2; }
.fm-module-card--primary .fm-mini-link { grid-column: 3; grid-row: 1 / span 4; align-self: center; margin-top: 0; white-space: nowrap; }
.fm-module-more { border: 1px solid rgba(122,91,63,.14); border-radius: 8px; background: rgba(255,255,255,.58); }
.fm-module-more summary { cursor: pointer; padding: .9rem 1rem; color: var(--fmk-accent-dark); font-weight: 900; }
.fm-module-more[open] summary { border-bottom: 1px solid rgba(122,91,63,.12); }
.fm-module-grid--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 1rem; }
.fm-module-grid--compact .fm-module-card { min-height: 220px; box-shadow: none; }
.fm-module-icon { width: 4.6rem; height: 4.6rem; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: rgba(166,198,195,.12); color: var(--fmk-accent-dark); font-weight: 900; margin-bottom: .75rem; }
.fm-module-icon img { width: 100%; height: 100%; object-fit: contain; }
.fm-module-label { text-transform: uppercase; letter-spacing: 0; font-size: .7rem; font-weight: 900; color: var(--fmk-accent-dark) !important; margin-bottom: .4rem !important; }
.fm-module-signal { align-self: flex-start; margin-bottom: .7rem; padding: .3rem .55rem; border-radius: 999px; background: rgba(122,91,63,.07); color: var(--fmk-muted); font-size: .72rem; font-weight: 800; }
.fm-module-signal.is-recommended { background: rgba(158,181,143,.22); color: #46613f; }
.fm-module-count { align-self: flex-start; margin: -.35rem 0 .65rem; padding: .38rem .6rem; border-radius: 10px; background: rgba(255,248,238,.82); border: 1px solid rgba(122,91,63,.12); color: var(--fmk-muted); font-size: .78rem; line-height: 1.25; }
.fm-module-count strong { color: var(--fmk-accent-dark); font-size: .9rem; }
.fm-module-card h3 { font-size: 1.05rem; }
.fm-module-card p:not(.fm-module-label) { font-size: .92rem; }
.fm-mini-link { margin-top: auto; align-self: flex-start; border-radius: 999px; padding: .55rem .75rem; background: rgba(217,132,99,.12); color: var(--fmk-accent-dark) !important; font-weight: 850; text-decoration: none !important; }
.fm-mini-link--disabled { opacity: .62; background: rgba(122,91,63,.07); }
.fm-save-bar { position: sticky; bottom: 1rem; z-index: 5; margin-top: 1.3rem; padding: .8rem; border: 1px solid var(--fmk-line); border-radius: 999px; background: rgba(255,253,248,.88); backdrop-filter: blur(14px); box-shadow: 0 12px 32px rgba(84,62,40,.12); }
.fm-save-bar span { color: var(--fmk-muted); font-weight: 750; }
.fm-family-map-card { position: relative; overflow: hidden; background: linear-gradient(135deg, #fffdf8, rgba(243,248,242,.84)); border: 1px solid rgba(122,91,63,.18); border-radius: 8px; padding: clamp(1.1rem, 3vw, 1.65rem); box-shadow: var(--fmk-shadow); }
.fm-family-map-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 7px; background: linear-gradient(90deg, var(--fmk-accent), var(--fmk-sage), var(--fmk-sky)); }
.fm-family-map-card__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: .35rem 0 1rem; border-bottom: 1px solid var(--fmk-line); }
.fm-family-map-card__header h3 { font-size: clamp(1.25rem, 2.4vw, 2rem); max-width: 100%; }
.fm-family-map-card__badge { align-self: start; padding: .42rem .68rem; border-radius: 999px; background: rgba(217,132,99,.12); color: var(--fmk-accent-dark); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.fm-map-constellation { display: grid; grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, .92fr)); gap: .85rem; margin: 1rem 0; }
.fm-map-constellation section { position: relative; display: grid; align-content: start; gap: .42rem; min-height: 168px; padding: 1rem; border: 1px solid rgba(122,91,63,.12); border-radius: 8px; background: rgba(255,255,255,.72); box-shadow: 0 12px 26px rgba(84,62,40,.06); }
.fm-map-constellation section::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .7rem; height: 3px; border-radius: 999px; background: rgba(217,132,99,.3); }
.fm-map-constellation section:nth-child(2)::after { background: rgba(113,144,99,.34); }
.fm-map-constellation section:nth-child(3)::after { background: rgba(166,198,195,.58); }
.fm-map-constellation span { color: var(--fmk-accent-dark); font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.fm-map-constellation strong { color: var(--fmk-text); font-size: clamp(1.05rem, 2vw, 1.38rem); line-height: 1.2; }
.fm-map-constellation p { margin: 0; font-size: .93rem; line-height: 1.43; }
.fm-map-orientation { background: linear-gradient(145deg, rgba(255,248,238,.94), rgba(255,255,255,.75)) !important; }
.fm-map-detail { margin-top: .85rem; border: 1px solid rgba(122,91,63,.12); border-radius: 8px; background: rgba(255,255,255,.48); overflow: hidden; }
.fm-map-detail summary { cursor: pointer; padding: .82rem 1rem; color: var(--fmk-accent-dark); font-weight: 900; }
.fm-map-detail[open] summary { border-bottom: 1px solid rgba(122,91,63,.1); }
.fm-map-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.fm-map-detail .fm-map-columns { margin: 1rem; }
.fm-map-columns section { border-radius: 8px; background: rgba(255,248,238,.68); border: 1px solid rgba(122,91,63,.12); padding: 1rem; }
.fm-map-value-list { display: grid; gap: .65rem; }
.fm-map-value-list div { border-left: 4px solid rgba(217,132,99,.45); padding-left: .8rem; }
.fm-clean-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; color: var(--fmk-muted); }
.fm-map-footer { margin-top: 1rem; padding: .85rem 1rem; border-radius: 18px; background: rgba(158,181,143,.16); color: var(--fmk-muted); }
.fm-kompass-empty { padding: 2rem; background: #fff8ee; border-radius: 24px; border: 1px solid var(--fmk-line); }
.fm-kompass-public { overflow: hidden; }
.fm-kompass-public-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(220px, .7fr); gap: clamp(20px, 4vw, 46px); align-items: center; padding: clamp(1.2rem, 4vw, 2.2rem); border: 1px solid rgba(217,132,99,.2); border-radius: 8px; background: linear-gradient(135deg, rgba(255,253,248,.96), rgba(243,248,242,.78)); }
.fm-kompass-public-hero h1 { font-size: clamp(2.1rem, 6vw, 4.1rem); letter-spacing: 0; }
.fm-kompass-public-lead { max-width: 62ch; color: var(--fmk-text) !important; font-size: clamp(1.05rem, 2vw, 1.22rem); font-weight: 700; }
.fm-kompass-public-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
.fm-kompass-shell .fm-kompass-public-test-note { max-width: 620px; margin: 1.45rem 0 0; color: #60736a; font-size: .95rem; line-height: 1.5; }
.fm-kompass-public-visual { display: grid; place-items: center; min-height: 240px; border: 1px solid rgba(122,91,63,.12); border-radius: 8px; background: rgba(255,255,255,.66); }
.fm-kompass-public-visual img { width: min(260px, 70vw); height: auto; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(84,62,40,.14)); }
.fm-kompass-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.fm-kompass-public-grid article { min-height: 190px; padding: 1rem; border: 1px solid rgba(122,91,63,.13); border-radius: 8px; background: rgba(255,255,255,.78); box-shadow: 0 12px 26px rgba(84,62,40,.06); }
.fm-kompass-public-grid span { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; margin-bottom: .8rem; border-radius: 999px; background: rgba(217,132,99,.14); color: var(--fmk-accent-dark); font-weight: 900; }
.fm-kompass-public-grid h2 { font-size: clamp(1.18rem, 2.2vw, 1.55rem); }
.fm-kompass-public-grid p:last-child { margin-bottom: 0; }
.fm-kompass-public-flow { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); gap: 1rem; align-items: start; margin: 1rem 0; padding: 1rem; border: 1px solid rgba(113,144,99,.22); border-radius: 8px; background: linear-gradient(135deg, rgba(243,248,242,.88), rgba(255,248,238,.58)); }
.fm-kompass-public-flow h2, .fm-kompass-public-links h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.fm-kompass-public-flow ol { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; counter-reset: compassSteps; }
.fm-kompass-public-flow li { counter-increment: compassSteps; display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); grid-template-areas: "number title" "number text"; gap: .18rem .75rem; align-items: start; padding: .8rem .85rem; border: 1px solid rgba(122,91,63,.12); border-radius: 8px; background: rgba(255,255,255,.76); }
.fm-kompass-public-flow li::before { content: counter(compassSteps); display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 999px; background: rgba(113,144,99,.15); color: #46613f; font-weight: 900; }
.fm-kompass-public-flow strong { display: block; grid-area: title; min-width: 0; color: var(--fmk-text); line-height: 1.22; }
.fm-kompass-public-flow span { display: block; grid-area: text; min-width: 0; color: var(--fmk-muted); line-height: 1.4; }
.fm-kompass-public-links { display: grid; gap: .6rem; justify-items: start; margin-top: 1rem; padding: clamp(1rem, 3vw, 1.4rem); border: 1px solid rgba(166,198,195,.42); border-left: 7px solid var(--fmk-sky); border-radius: 8px; background: rgba(239,248,247,.72); }
.fm-kompass-public-links p { max-width: 72ch; }
body:has(.fm-kompass-shell) .entry-header { display: none; }

@media (max-width: 980px) {
  .fm-kompass-module-head, .fm-kompass-hero, .fm-quick-start, .fm-map-columns, .fm-module-insights, .fm-cockpit-hero, .fm-cockpit-signals, .fm-cockpit-primary-action, .fm-cockpit-week-flow, .fm-familyrat-focus-suggestion, .fm-familyrat-clarify-bridge, .fm-kompass-public-hero, .fm-kompass-public-flow { grid-template-columns: 1fr; }
  .fm-kompass-module-head__intro { grid-template-columns: 96px minmax(0, 1fr); }
  .fm-kompass-module-icon { width: 96px; height: 96px; border-radius: 0; background: transparent; overflow: visible; }
  .fm-kompass-module-icon img { width: 92px; height: 92px; }
  .fm-kompass-image-cards { grid-template-columns: 1fr; }
  .fm-kompass-public-grid { grid-template-columns: 1fr; }
  .fm-kompass-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-module-grid, .fm-module-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-module-card--primary { grid-template-columns: 82px minmax(0, 1fr); }
  .fm-module-card--primary .fm-mini-link { grid-column: 2; grid-row: auto; align-self: start; white-space: normal; }
  .fm-value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fm-cockpit-board { grid-template-columns: 1fr; }
  .fm-cockpit-week-flow__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-focus-house__body, .fm-map-constellation { grid-template-columns: 1fr; }
  .fm-value-detail .fm-field-row--three label { min-height: 0; }
}
@media (max-width: 640px) {
  .fm-kompass-shell { border-radius: 8px; padding: 14px; }
  .fm-kompass-hero { border-radius: 8px; padding: 18px; }
  .fm-kompass-hero h1, .fm-kompass-module-head__title h1 { font-size: 1.75rem; }
  .fm-kompass-module-head__intro { grid-template-columns: 1fr; }
  .fm-kompass-module-icon { width: 88px; height: 88px; border-radius: 0; background: transparent; overflow: visible; }
  .fm-kompass-module-icon img { width: 84px; height: 84px; }
  .fm-kompass-image-card { grid-template-columns: 70px minmax(0, 1fr); }
  .fm-kompass-image-card img { width: 70px; height: 70px; border-radius: 20px; }
  .fm-kompass-help-strip { align-items: stretch; flex-direction: column; }
  .fm-kompass-help-strip__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .fm-kompass-help-button { width: 100%; }
  .fm-view-tabs { display: grid; border-radius: 8px; }
  .fm-view-tabs a, .fm-view-tabs span { justify-content: center; border-radius: 8px; }
  .fm-view-tabs small { display: block; margin-left: .3rem; }
  .fm-return-context { grid-template-columns: 1fr; align-items: stretch; }
  .fm-return-context .fm-button { justify-self: stretch; white-space: normal; }
  .fm-familyrat-focus-suggestion__actions { justify-content: stretch; }
  .fm-familyrat-focus-suggestion__actions .fm-button { width: 100%; }
  .fm-familyrat-clarify-bridge .fm-button { width: 100%; }
  .fm-field-row, .fm-field-row--three { grid-template-columns: 1fr; }
  .fm-quick-start__footer { align-items: flex-start; flex-direction: column; }
  .fm-cockpit-week-flow__steps { grid-template-columns: 1fr; }
  .fm-kompass-grid, .fm-module-grid, .fm-module-grid--compact, .fm-value-grid { grid-template-columns: 1fr; }
  .fm-module-card--primary { grid-template-columns: 1fr; }
  .fm-module-card--primary .fm-module-icon, .fm-module-card--primary .fm-module-label, .fm-module-card--primary h3, .fm-module-card--primary p:not(.fm-module-label), .fm-module-card--primary .fm-module-signal, .fm-module-card--primary .fm-module-count, .fm-module-card--primary .fm-mini-link { grid-column: auto; }
  .fm-module-card--primary .fm-module-icon { grid-row: auto; }
  .fm-card--large { grid-column: auto; }
  .fm-compass-summary { grid-template-columns: 1fr; }
  .fm-focus-house { border-radius: 24px; padding: .75rem; }
  .fm-focus-house__roof, .fm-focus-house__body article, .fm-focus-house__path { grid-template-columns: 42px minmax(0, 1fr); }
  .fm-focus-house__roof > span, .fm-focus-house__body article > span, .fm-focus-house__path > span { width: 42px; height: 42px; }
  .fm-focus-house__path { border-radius: 22px; }
  .fm-save-bar { border-radius: 22px; align-items: stretch; }
  .fm-save-bar .fm-button { width: 100%; }
  .fm-family-map-card__header { grid-template-columns: 1fr; }
  .fm-family-map-card__badge { justify-self: start; }
}
.fm-kompass-public-promo {
    max-width: 560px;
    margin: 0 auto 20px;
}

.fm-kompass-public-promo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(30, 47, 42, .14);
}

/* v1.0.2: Cockpit in schmaler Desktopbreite kompakter fuehren. */
@media (min-width: 761px) and (max-width: 980px) {
  .fm-kompass-module-head {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
    gap: 1rem;
    padding: 1rem;
  }

  .fm-kompass-module-head__intro {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .fm-kompass-module-icon {
    width: 82px;
    height: 82px;
  }

  .fm-kompass-module-icon img {
    width: 78px;
    height: 78px;
  }

  .fm-kompass-module-head__context {
    padding: .85rem;
  }

  .fm-kompass-help-strip {
    margin-bottom: 14px;
    padding: 8px 10px;
    border-radius: 18px;
  }

  .fm-cockpit-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
  }

  .fm-cockpit-reading {
    margin: .7rem 0;
    padding: .78rem .9rem;
  }

  .fm-cockpit-board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: .75rem 0;
  }

  .fm-cockpit-board article {
    min-height: 118px;
    padding: .82rem;
  }

  .fm-cockpit-board strong {
    font-size: clamp(1rem, 2vw, 1.22rem);
  }

  .fm-cockpit-week-flow {
    grid-template-columns: minmax(190px, .55fr) minmax(0, 1fr);
    gap: .75rem;
    margin: .75rem 0;
    padding: .85rem;
  }

  .fm-cockpit-week-flow__steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
  }

  .fm-cockpit-week-flow__steps article {
    min-height: 112px;
    padding: .7rem;
  }

  .fm-cockpit-week-flow__steps span {
    width: 25px;
    height: 25px;
  }

  .fm-cockpit-week-flow__steps strong {
    font-size: .92rem;
  }

  .fm-cockpit-week-flow__steps p {
    font-size: .82rem;
    line-height: 1.3;
  }

  .fm-cockpit-week-flow__steps a,
  .fm-cockpit-week-flow__steps em {
    padding: .34rem .5rem;
    font-size: .72rem;
  }

  .fm-cockpit-signals {
    grid-template-columns: minmax(0, 1fr) minmax(210px, .72fr);
    align-items: start;
    gap: .75rem;
    margin: .75rem 0;
    padding: .85rem;
  }

  .fm-cockpit-signal-grid {
    gap: .5rem;
  }

  .fm-cockpit-signal-grid span {
    min-height: 48px;
    padding: .62rem .72rem;
  }

  .fm-cockpit-primary-action {
    grid-template-columns: minmax(0, 1fr) auto;
    margin: .75rem 0;
    padding: 1rem;
  }

  .fm-module-recommendations {
    gap: .75rem;
  }

  .fm-module-recommendations__primary {
    padding: .85rem;
  }

  .fm-module-grid,
  .fm-module-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
  }

  .fm-module-grid--compact {
    padding: .85rem;
  }

  .fm-module-grid--compact .fm-module-card,
  .fm-module-card {
    min-height: 174px;
    padding: .85rem;
    border-radius: 8px;
  }

  .fm-module-grid--compact .fm-module-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: .7rem;
    row-gap: .28rem;
    align-content: start;
  }

  .fm-module-grid--compact .fm-module-icon,
  .fm-module-icon {
    width: 3.8rem;
    height: 3.8rem;
    margin-bottom: .55rem;
  }

  .fm-module-grid--compact .fm-module-icon {
    grid-row: 1 / span 5;
    width: 52px;
    height: 52px;
    margin-bottom: 0;
  }

  .fm-module-grid--compact .fm-module-label,
  .fm-module-grid--compact .fm-module-signal,
  .fm-module-grid--compact .fm-module-count,
  .fm-module-grid--compact .fm-module-card h3,
  .fm-module-grid--compact .fm-module-card p:not(.fm-module-label) {
    grid-column: 2;
  }

  .fm-module-signal {
    margin-bottom: .5rem;
  }

  .fm-module-card h3 {
    font-size: .98rem;
  }

  .fm-module-card p:not(.fm-module-label) {
    font-size: .85rem;
    line-height: 1.38;
  }

  .fm-module-grid--compact .fm-module-card p:not(.fm-module-label) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .fm-module-grid--compact .fm-mini-link {
    grid-column: 1 / -1;
    margin-top: .45rem;
    padding: .48rem .65rem;
    font-size: .82rem;
  }
}
