@font-face {
  font-family: "LifeStatistics UIcons";
  src: url("/assets/fonts/flaticon-uicons-regular-rounded.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  color-scheme: light;
  --bg: #eef0f2;
  --surface: #ffffff;
  --surface-soft: #e2e5e8;
  --surface-raised: #ffffff;
  --text: #0a0d10;
  --muted: #4a535b;
  --line: #b7bec4;
  --line-strong: #0a0d10;
  --accent: #2447ff;
  --accent-strong: #1732c7;
  --accent-soft: #dfe5ff;
  --action-start: #d9ff43;
  --action-end: #c1eb25;
  --good: #007c68;
  --good-soft: #d7f5eb;
  --birthday: #c72d58;
  --birthday-soft: #ffe0e9;
  --zodiac: #b35c00;
  --zodiac-soft: #ffe5bd;
  --bad: #b42318;
  --bad-soft: #fff0ee;
  --tone: var(--accent);
  --tone-soft: var(--accent-soft);
  --radius-sm: 0;
  --radius: 0;
  --radius-lg: 0;
  --shadow-menu: 8px 8px 0 rgba(10, 13, 16, .24);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --z-dropdown: 20;
  --z-sticky: 30;
  --z-tooltip: 60;
  --content-width: 1180px;
  --section-space: 4rem;
}

.dark {
  color-scheme: dark;
  --bg: #0d1013;
  --surface: #15191d;
  --surface-soft: #242a2f;
  --surface-raised: #111519;
  --text: #f6f7f8;
  --muted: #b5bdc4;
  --line: #454c52;
  --line-strong: #f6f7f8;
  --accent: #7f96ff;
  --accent-strong: #afbdff;
  --accent-soft: #26336a;
  --good: #66dbc4;
  --good-soft: #153f36;
  --birthday: #f08aa6;
  --birthday-soft: #442330;
  --zodiac: #efb258;
  --zodiac-soft: #412f16;
  --bad: #ff9b91;
  --bad-soft: #422321;
  --shadow-menu: 0 8px 24px rgba(0, 0, 0, .4);
}

body.tone-date { --tone: var(--accent); --tone-soft: var(--accent-soft); }
body.tone-birthday { --tone: var(--birthday); --tone-soft: var(--birthday-soft); }
body.tone-zodiac { --tone: var(--zodiac); --tone-soft: var(--zodiac-soft); }
body.tone-life { --tone: var(--good); --tone-soft: var(--good-soft); }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--text);
  background: var(--bg);
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--tone); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, .button-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 2px solid var(--text);
  border-radius: 0;
  padding: .68rem 1rem;
  color: #0a0d10;
  background: var(--action-start);
  font-weight: 750;
  cursor: pointer;
  transition: background-color 180ms var(--ease-out), border-color 180ms var(--ease-out), transform 180ms var(--ease-out);
}
button:hover, .button-link:hover { color: #0a0d10; border-color: var(--text); background: var(--action-end); transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--text); }
button:active, .button-link:active { transform: translateY(1px); }
button:disabled { opacity: .62; cursor: wait; transform: none; }
button.secondary, .button-link.secondary {
  color: var(--text);
  border-color: var(--text);
  background: var(--surface);
}
button.secondary:hover, .button-link.secondary:hover { color: var(--text); background: var(--surface-soft); }

.icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.uicon {
  display: inline-grid;
  place-items: center;
  fill: initial;
  stroke: none;
}
.uicon::before {
  font-family: "LifeStatistics UIcons";
  font-size: 1em;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.uicon-age::before { content: "\e04c"; }
.uicon-apps::before { content: "\e0c4"; }
.uicon-book-open-reader::before { content: "\e255"; }
.uicon-cake-birthday::before { content: "\e354"; }
.uicon-calculator::before { content: "\e357"; }
.uicon-calendar::before { content: "\e35d"; }
.uicon-calendar-birhtday-cake::before { content: "\e360"; }
.uicon-calendar-day::before { content: "\e364"; }
.uicon-calendar-days::before { content: "\e365"; }
.uicon-calendar-lines::before { content: "\e36b"; }
.uicon-calendar-star::before { content: "\e375"; }
.uicon-calendar-week::before { content: "\e378"; }
.uicon-chart-histogram::before { content: "\e40d"; }
.uicon-clock-time-tracking::before { content: "\e4e1"; }
.uicon-constellation::before { content: "\e599"; }
.uicon-duration-alt::before { content: "\e742"; }
.uicon-flag-checkered::before { content: "\e8aa"; }
.uicon-gem::before { content: "\e954"; }
.uicon-hat-birthday::before { content: "\ea3b"; }
.uicon-heart-rate::before { content: "\ea64"; }
.uicon-life::before { content: "\ec00"; }
.uicon-share::before { content: "\f16a"; }
.uicon-shield-check::before { content: "\f176"; }
.uicon-stopwatch::before { content: "\f306"; }
.uicon-users-alt::before { content: "\f555"; }
.uicon-yin-yang::before { content: "\f648"; }
.icon-label { display: inline-flex; align-items: center; gap: .45rem; }
.icon-label .icon { width: 18px; height: 18px; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: var(--z-tooltip);
  padding: .7rem 1rem;
  border-radius: 8px;
  color: var(--surface);
  background: var(--text);
}
.skip-link:focus { top: 1rem; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wrap, .header-inner {
  width: min(var(--content-width), calc(100% - 3rem));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  border-bottom: 0;
  color: #f6f7f8;
  background: #0a0d10;
}
.header-inner {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: inherit;
  font-weight: 900;
  white-space: nowrap;
}
.brand:hover { color: inherit; }
.brand-mark {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: block;
  background: url("/assets/logo.svg") center / contain no-repeat;
}
.site-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .15rem;
}
.site-nav a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border-radius: 0;
  padding: .5rem .68rem;
  color: #b9c0c6;
  font-size: .9rem;
  font-weight: 680;
}
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #ffffff; background: transparent; }
.site-nav a[aria-current="page"] { box-shadow: inset 0 -4px #d9ff43; }
.header-actions { display: flex; align-items: center; gap: .35rem; }
.icon-button {
  width: 42px;
  height: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0;
  color: #c9cfd4;
  background: transparent;
}
.icon-button .icon { width: 20px; height: 20px; }
.icon-button:hover { color: #0a0d10; border-color: #d9ff43; background: #d9ff43; box-shadow: none; transform: none; }
.menu-button { display: none; }

.breadcrumbs {
  padding-block: .7rem;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .84rem;
}
.breadcrumbs a { color: var(--text); text-decoration: underline; text-underline-offset: .16em; }
.breadcrumbs a:hover { color: var(--tone); }

h1, h2, h3 { margin-top: 0; line-height: 1.16; letter-spacing: 0; text-wrap: balance; }
h1, h2 { font-family: "Arial Narrow", Arial, Helvetica, sans-serif; font-weight: 900; }
h1 { font-size: 3rem; }
h2 { font-size: 1.9rem; }
h3 { font-size: 1.08rem; }
p, li { text-wrap: pretty; }
.muted { color: var(--muted); }
.lead { max-width: 70ch; margin: .65rem 0 0; color: var(--muted); font-size: 1.08rem; }
.context-line {
  margin: 0 0 .45rem;
  color: var(--tone);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.section { padding: var(--section-space) 0; }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 0;
  padding-bottom: 1.2rem;
  border-bottom: 4px solid var(--text);
}
.section-heading h2 { margin-bottom: .25rem; }
.section-heading p { max-width: 62ch; margin: 0; color: var(--muted); }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--tone);
  font-weight: 760;
}
.text-link .icon { width: 17px; transition: transform 180ms var(--ease-out); }
.text-link:hover .icon { transform: translateX(3px); }

.home-hero {
  padding: 4.5rem 0 3.8rem;
  border-bottom: 4px solid #0a0d10;
  color: #ffffff;
  background: #2447ff;
}
.home-hero-inner { display: grid; justify-items: start; }
.home-hero .context-line { color: #d9ff43; }
.home-hero h1 { max-width: 13ch; margin-bottom: .8rem; font-size: 4.25rem; }
.home-hero .lead { max-width: 60ch; margin: 0; color: #e7ebff; font-size: 1.15rem; }
.header-search {
  width: min(760px, 100%);
  min-height: 52px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem;
  margin-top: 2rem;
  border: 2px solid #0a0d10;
  border-radius: 0;
  padding: .3rem .3rem .3rem .85rem;
  background: #ffffff;
}
.header-search > .icon { color: var(--muted); }
.header-search input { min-height: 42px; border: 0; padding: .4rem; background: transparent; }
.header-search input:focus { outline: 0; }
.home-quick-links { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin-top: 1rem; color: #e7ebff; font-size: .88rem; }
.home-quick-links span { color: #bfc9ff; }
.home-quick-links a { color: #ffffff; font-weight: 740; text-decoration: underline; text-underline-offset: .2em; }
.home-quick-links a:hover { color: #d9ff43; }

.home-life-start { border-bottom: 4px solid var(--text); background: var(--surface-soft); }
.home-life-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 2.2rem;
}
.home-life-copy {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(320px, 1.25fr);
  grid-template-rows: auto auto auto 1fr;
  column-gap: 4rem;
  align-items: start;
}
.home-life-copy .context-line,
.home-life-copy h2,
.home-life-copy > p:not(.context-line),
.home-life-copy > .text-link { grid-column: 1; }
.home-life-copy .home-benefits { grid-column: 2; grid-row: 1 / span 4; margin: 0; }
.home-life-copy h2 { max-width: 12ch; margin-bottom: .8rem; font-size: 2.35rem; }
.home-life-copy > p:not(.context-line) { max-width: 52ch; color: var(--muted); }
.home-benefits { display: grid; gap: .65rem; margin: 1.4rem 0 1.6rem; padding: 0; list-style: none; }
.home-benefits li { position: relative; padding-left: 1.7rem; }
.home-benefits li::before { content: ""; position: absolute; left: 0; top: .48rem; width: 9px; height: 9px; background: var(--good); }
.home-life-tool { min-width: 0; }
.home-life-tool .tool-panel { color: #f6f7f8; background: #0a0d10; }
.home-life-tool .tool-panel label { color: #f6f7f8; }
.home-life-tool .tool-panel .panel-heading p { color: #b8c0c7; }
.home-life-tool .tool-panel .panel-icon { color: #0a0d10; background: #d9ff43; }
.home-life-tool .tool-panel .privacy-note { color: #bac2c8; border-color: #3d454c; }
.home-birth-field { max-width: none; }
.quick-result { min-height: 190px; }
.quick-result .result-empty { min-height: 186px; }
.panel-heading {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.2rem;
}
.panel-heading > div { min-width: 0; }
.panel-heading p { margin: 0 0 .12rem; color: var(--muted); font-size: .78rem; font-weight: 720; }
.panel-heading h2 { margin: 0; font-size: 1.25rem; }
.panel-heading > a {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--tone);
  font-size: .86rem;
  font-weight: 740;
}
.panel-heading > a .icon { width: 16px; }
.panel-icon, .tool-title-icon, .tool-row-icon {
  display: grid;
  place-items: center;
  color: var(--tone);
  background: var(--tone-soft);
}
.panel-icon { width: 42px; height: 42px; border-radius: 0; }
.result-empty {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  padding: 1.5rem;
  color: var(--muted);
}
.result-empty strong { display: block; margin-bottom: .25rem; color: var(--text); }
.result-empty p { max-width: 46ch; margin: 0; }

.category-section { padding: 0; border-bottom: 4px solid var(--text); background: var(--surface); }
.category-lanes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.category-lane {
  --lane: var(--accent);
  --lane-soft: var(--accent-soft);
  min-height: 190px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: 1rem;
  border-right: 1px solid var(--line-strong);
  border-radius: 0;
  padding: 1.35rem;
  background: var(--surface);
  box-shadow: none;
  transition: background-color 180ms var(--ease-out), transform 180ms var(--ease-out);
}
.category-lane:last-child { border-right: 0; }
.category-lane:hover { color: var(--text); background: var(--lane-soft); transform: none; }
.category-lane.tone-birthday { --lane: var(--birthday); --lane-soft: var(--birthday-soft); }
.category-lane.tone-zodiac { --lane: var(--zodiac); --lane-soft: var(--zodiac-soft); }
.category-lane.tone-life { --lane: var(--good); --lane-soft: var(--good-soft); }
.category-lane > span { width: 46px; height: 46px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 0; color: var(--lane); background: transparent; }
.category-lane > div { grid-column: 1 / -1; align-self: end; }
.category-lane strong, .category-lane small { display: block; }
.category-lane small { margin-top: .2rem; color: var(--muted); }
.category-lane b { align-self: end; color: var(--lane); font-size: .8rem; }
.category-lane > .icon { align-self: end; width: 18px; color: var(--muted); }

.home-guides-section { border-top: 4px solid var(--text); background: var(--surface-soft); }
.home-guide-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-guide-row { min-width: 0; display: grid; grid-template-columns: 1fr auto; align-content: start; gap: .7rem 1rem; min-height: 190px; padding: 1.4rem; border-right: 1px solid var(--text); background: var(--surface); }
.home-guide-row:first-child { border-left: 1px solid var(--text); }
.home-guide-row > span { grid-column: 1 / -1; color: var(--tone); font-size: .78rem; font-weight: 800; }
.home-guide-row h3, .home-guide-row p { margin: 0; }
.home-guide-row p { margin-top: .35rem; color: var(--muted); font-size: .9rem; }
.home-guide-row > .icon { width: 18px; margin-top: .15rem; color: var(--muted); }
.home-guide-row:hover { color: var(--text); background: var(--tone-soft); }

.tool-list { border-top: 0; }
.tool-row {
  --row-tone: var(--accent);
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) minmax(120px, auto) 20px;
  align-items: center;
  gap: 1rem;
  min-height: 104px;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line);
}
.tool-row.tone-birthday { --row-tone: var(--birthday); }
.tool-row.tone-zodiac { --row-tone: var(--zodiac); }
.tool-row.tone-life { --row-tone: var(--good); }
.tool-row:hover { color: var(--text); background: var(--surface); }
.tool-row-icon { width: 42px; height: 42px; border: 2px solid currentColor; color: var(--row-tone); background: transparent; }
.tool-row h3, .tool-row p { margin: 0; }
.tool-row p { margin-top: .25rem; color: var(--muted); font-size: .92rem; }
.tool-row-type { color: var(--muted); font-size: .78rem; text-align: right; }
.tool-row > .icon { width: 18px; color: var(--muted); }
.section-popular .tool-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
.trust-band { padding-top: 1rem; }
.trust-band { padding-block: 0; color: #f6f7f8; background: #0a0d10; }
.trust-band .wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; }
.trust-band .wrap > div { display: grid; grid-template-columns: 26px 1fr; gap: .2rem .7rem; padding: 1.6rem 1.25rem; border-right: 1px solid #3c444b; }
.trust-band .wrap > div:last-child { border-right: 0; }
.trust-band .icon { grid-row: span 2; color: var(--good); }
.trust-band strong, .trust-band span { display: block; }
.trust-band span { color: #afb8c0; font-size: .86rem; }

.page-title { padding: 3.2rem 0 2.4rem; border-bottom: 4px solid var(--text); background: var(--surface); }
.page-title h1 { max-width: 18ch; margin-bottom: .65rem; font-size: 3.4rem; }
.directory-hero { padding: 1.8rem 0 1.35rem; border-bottom: 4px solid var(--text); background: var(--surface); }
.directory-hero h1 { margin-bottom: .45rem; font-size: 2.8rem; }
.directory-hero p:last-child { max-width: 72ch; margin: 0; color: var(--muted); }
.directory-tools { padding: 1.35rem 0 2rem; background: var(--surface-soft); }
.directory-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--text); border-left: 2px solid var(--text); }
.directory-tool {
  --directory-tone: var(--accent);
  min-width: 0;
  min-height: 148px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 18px;
  align-content: start;
  gap: .8rem;
  padding: 1rem;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  background: var(--surface);
}
.directory-tool.tone-life { --directory-tone: var(--good); }
.directory-tool.tone-birthday { --directory-tone: var(--birthday); }
.directory-tool.tone-zodiac { --directory-tone: var(--zodiac); }
.directory-tool:hover { color: var(--text); background: var(--tone-soft); }
.directory-tool-icon { width: 40px; height: 40px; display: grid; place-items: center; border: 2px solid currentColor; color: var(--directory-tone); }
.directory-tool h2 { margin: .1rem 0 .35rem; font-size: 1.18rem; }
.directory-tool p { margin: 0; color: var(--muted); font-size: .82rem; }
.directory-tool > .icon { width: 18px; margin-top: .7rem; color: var(--muted); }

.guides-masthead { padding: 1.65rem 0 1.5rem; border-bottom: 3px solid var(--text); background: var(--surface); }
.guides-masthead .wrap { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(360px, 1fr); gap: 3rem; align-items: end; }
.guides-masthead h1 { margin: 0; font-size: 2.75rem; }
.guides-masthead .context-line { margin-bottom: .35rem; }
.guides-masthead .wrap > p { max-width: 65ch; margin: 0 0 .25rem; color: var(--muted); font-size: .98rem; }
.guide-topic-nav { border-bottom: 2px solid var(--text); background: var(--surface); }
.guide-topic-nav .wrap { display: flex; overflow-x: auto; scrollbar-width: thin; }
.guide-topic-nav a { min-height: 44px; display: inline-flex; align-items: center; flex: 0 0 auto; padding: .55rem 1rem; border-right: 1px solid var(--line); font-size: .82rem; font-weight: 750; }
.guide-topic-nav a:first-child { border-left: 1px solid var(--line); }
.guide-topic-nav a:hover { color: var(--text); background: var(--tone-soft); }
.featured-guide-section { padding: 1.5rem 0 1.8rem; border-bottom: 1px solid var(--text); background: var(--surface-soft); }
.guide-lead-layout { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(280px, .85fr); gap: 1rem; align-items: stretch; }
.featured-guide { --guide-tone: var(--accent); min-width: 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); border: 2px solid var(--text); color: var(--text); background: var(--surface); }
.featured-guide.tone-birthday, .guide-card.tone-birthday { --guide-tone: var(--birthday); }
.featured-guide.tone-zodiac, .guide-card.tone-zodiac { --guide-tone: var(--zodiac); }
.featured-guide.tone-life, .guide-card.tone-life { --guide-tone: var(--good); }
.featured-guide figure, .guide-article-hero figure { min-width: 0; margin: 0; overflow: hidden; background: var(--surface-soft); }
.featured-guide figure { min-height: 320px; border-right: 2px solid var(--text); }
.featured-guide img, .guide-card img, .guide-article-hero img { width: 100%; height: 100%; display: block; object-fit: cover; }
.featured-guide-copy { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; border-top: 7px solid var(--guide-tone); }
.guide-card-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--muted); font-size: .78rem; font-weight: 700; }
.guide-card-meta span:first-child { color: var(--guide-tone); }
.featured-guide h2 { margin: .65rem 0 .55rem; font-size: 1.75rem; }
.featured-guide-copy > p { margin: 0 0 1.1rem; color: var(--muted); }
.guide-start-panel { min-width: 0; border: 2px solid var(--text); border-top: 7px solid var(--tone); background: var(--surface); }
.guide-start-panel > header { padding: 1rem 1.1rem .8rem; }
.guide-start-panel .context-line { margin-bottom: .2rem; font-size: .68rem; }
.guide-start-panel h2 { margin: 0; font-size: 1.4rem; }
.guide-start-panel > div { border-top: 2px solid var(--text); }
.guide-start-link { min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr) 15px; gap: .65rem; align-items: start; padding: .85rem 1rem; border-bottom: 1px solid var(--line); color: var(--text); }
.guide-start-link:last-child { border-bottom: 0; }
.guide-start-link:hover { color: var(--text); background: var(--tone-soft); }
.guide-start-number { color: var(--tone); font-size: .74rem; font-weight: 850; }
.guide-start-link small, .guide-start-link strong { display: block; }
.guide-start-link small { margin-bottom: .2rem; color: var(--muted); font-size: .68rem; }
.guide-start-link strong { font-size: .86rem; line-height: 1.3; }
.guide-start-link > .icon { width: 14px; margin-top: .8rem; color: var(--muted); }
.guide-library { padding: 2.4rem 0 4rem; background: var(--bg); }
.guide-library-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; border-bottom: 4px solid var(--text); }
.guide-library-heading h2, .guide-library-heading p { margin: 0; }
.guide-library-heading h2 { font-size: 2rem; }
.guide-library-heading > p { max-width: 46ch; color: var(--muted); font-size: .88rem; text-align: right; }
.guide-topic-group { scroll-margin-top: 90px; }
.guide-topic-group { padding-top: 2.3rem; }
.guide-topic-group > header { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; padding-bottom: .65rem; border-bottom: 2px solid var(--text); }
.guide-topic-group > header h2, .guide-topic-group > header p { margin: 0; }
.guide-topic-group > header h2 { font-size: 1.35rem; }
.guide-topic-group > header p { color: var(--muted); font-size: .86rem; }
.guide-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--text); }
.guide-card { --guide-tone: var(--accent); min-width: 0; border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); background: var(--surface); }
.guide-card > a { height: 100%; display: grid; grid-template-rows: auto 1fr; color: var(--text); }
.guide-card img { aspect-ratio: 16 / 9; border-bottom: 1px solid var(--text); }
.guide-card-copy { min-width: 0; display: flex; flex-direction: column; padding: 1.05rem; }
.guide-card h3 { margin: .55rem 0 .4rem; font-size: 1.15rem; }
.guide-card p { display: -webkit-box; margin: 0 0 1rem; overflow: hidden; color: var(--muted); font-size: .86rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.guide-card-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; color: var(--guide-tone); font-size: .88rem; font-weight: 800; }
.guide-card-link .icon { width: 16px; }
.guide-card:hover { background: var(--tone-soft); }
.guide-card:hover img { filter: saturate(1.05) contrast(1.02); }

.guide-article-hero { padding: 2.5rem 0 0; border-bottom: 4px solid var(--text); background: var(--surface); }
.guide-article-heading { max-width: 820px; padding-bottom: 1.7rem; }
.guide-article-heading h1 { max-width: 18ch; margin-bottom: .7rem; font-size: 3.6rem; }
.guide-article-heading .lead { max-width: 68ch; margin-bottom: 1rem; color: var(--muted); }
.guide-article-meta { display: flex; flex-wrap: wrap; gap: .45rem 1.2rem; color: var(--muted); font-size: .82rem; }
.guide-article-meta span + span::before { content: ""; width: 4px; height: 4px; display: inline-block; margin: 0 1.2rem .15rem 0; border-radius: 50%; background: var(--tone); }
.guide-article-hero figure { aspect-ratio: 2.15 / 1; border: 2px solid var(--text); border-bottom: 0; }
.guide-reading-section { padding: 3.5rem 0 4.5rem; background: var(--surface); }
.guide-reading-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 4.5rem; align-items: start; }
.guide-article { min-width: 0; max-width: 72ch; }
.guide-deck { margin: 0 0 1.8rem; color: var(--text); font-size: 1.18rem; line-height: 1.65; }
.guide-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 0 2.6rem; border: 2px solid var(--text); background: var(--tone-soft); }
.guide-toc strong { grid-column: 1 / -1; padding: .85rem 1rem; border-bottom: 2px solid var(--text); }
.guide-toc a { padding: .65rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--text); font-size: .86rem; }
.guide-toc a:nth-child(odd) { border-right: 0; }
.guide-toc a:hover { background: var(--surface); }
.guide-prose-content > section { scroll-margin-top: 90px; padding-top: 2rem; margin-top: 2rem; border-top: 1px solid var(--line); }
.guide-prose-content h2, .guide-sources h2 { margin-bottom: .8rem; font-size: 1.65rem; }
.guide-prose-content p { color: var(--muted); text-wrap: pretty; }
.guide-sources { padding-top: 2.2rem; margin-top: 2.5rem; border-top: 3px solid var(--text); }
.guide-sources > p { color: var(--muted); }
.guide-sources ul { display: grid; gap: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.guide-sources li { display: grid; gap: .2rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.guide-sources a { color: var(--tone); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.guide-sources span { color: var(--muted); font-size: .86rem; }
.guide-review-note { padding-top: 1.5rem; margin-top: 2.2rem; border-top: 1px solid var(--line); }
.guide-review-note p { margin: .45rem 0 0; color: var(--muted); font-size: .9rem; }
.guide-review-note a { text-decoration: underline; text-underline-offset: 3px; }
.guide-tool-rail { position: sticky; top: 82px; }
.guide-tool-rail-inner { padding: 1.2rem; border: 2px solid var(--text); border-top: 8px solid var(--tone); background: var(--surface-raised); }
.guide-tool-rail .context-line { margin-bottom: .25rem; }
.guide-tool-rail h2 { margin: 0 0 .8rem; font-size: 1.25rem; }
.guide-tool-list { border-top: 2px solid var(--text); }
.guide-tool-link { --tool-tone: var(--accent); min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr) 16px; gap: .75rem; align-items: start; padding: .9rem 0; border-bottom: 1px solid var(--line); color: var(--text); }
.guide-tool-link.tone-birthday { --tool-tone: var(--birthday); }
.guide-tool-link.tone-zodiac { --tool-tone: var(--zodiac); }
.guide-tool-link.tone-life { --tool-tone: var(--good); }
.guide-tool-icon { width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid var(--tool-tone); color: var(--tool-tone); }
.guide-tool-icon .icon { width: 18px; }
.guide-tool-link strong, .guide-tool-link small { display: block; }
.guide-tool-link strong { font-size: .9rem; }
.guide-tool-link small { margin-top: .2rem; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.guide-tool-link > .icon { width: 15px; margin-top: .55rem; color: var(--muted); }
.guide-tool-link:hover { color: var(--text); background: var(--tone-soft); }
.guide-tool-privacy { margin: 1rem 0; color: var(--muted); font-size: .8rem; }
.guide-tool-rail .text-link { font-size: .86rem; }
.tool-category-nav { border-bottom: 2px solid var(--text); background: var(--surface); }
.tool-category-nav .wrap { display: flex; align-items: stretch; overflow-x: auto; }
.tool-category-nav a {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border-right: 1px solid var(--line);
  padding: .7rem 1.1rem;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 780;
  white-space: nowrap;
}
.tool-category-nav a:first-child { border-left: 1px solid var(--line); }
.tool-category-nav a:hover { color: var(--text); background: var(--surface-soft); }
.tool-category-nav a span { min-width: 24px; padding: .12rem .35rem; color: var(--text); background: var(--tone-soft); text-align: center; }
.all-tools-directory { padding: 1.5rem 0 3.5rem; background: var(--surface-soft); }
.all-tools-directory > .wrap { border: 2px solid var(--text); }
.tool-directory-group {
  --group-tone: var(--accent);
  --group-soft: var(--accent-soft);
  display: grid;
  grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr);
  scroll-margin-top: 86px;
  border-bottom: 2px solid var(--text);
}
.tool-directory-group:last-child { border-bottom: 0; }
.tool-directory-group.tone-life { --group-tone: var(--good); --group-soft: var(--good-soft); }
.tool-directory-group.tone-birthday { --group-tone: var(--birthday); --group-soft: var(--birthday-soft); }
.tool-directory-group.tone-zodiac { --group-tone: var(--zodiac); --group-soft: var(--zodiac-soft); }
.tool-directory-group > header { display: flex; align-items: flex-start; gap: .9rem; padding: 1.4rem; background: var(--surface); }
.tool-directory-icon { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border: 2px solid currentColor; color: var(--group-tone); }
.tool-directory-group h2, .tool-directory-group h3, .tool-directory-group p { margin: 0; }
.tool-directory-group > header p { margin-top: .45rem; color: var(--muted); font-size: .86rem; }
.tool-directory-group > header strong { display: block; margin-top: 1rem; color: var(--group-tone); font-size: .78rem; }
.tool-directory-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 2px solid var(--text); }
.all-tool-link {
  min-width: 0;
  min-height: 126px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 18px;
  align-content: start;
  gap: .75rem;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  padding: 1.05rem;
  background: var(--surface);
}
.all-tool-link:nth-child(3n) { border-right: 0; }
.all-tool-link:hover { color: var(--text); background: var(--group-soft); }
.all-tool-link.is-featured { background: var(--good-soft); }
.all-tool-link > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--group-tone); }
.all-tool-link > span .icon { width: 22px; }
.all-tool-link > .icon { width: 17px; margin-top: .35rem; color: var(--muted); }
.all-tool-link h3 { font-size: 1rem; }
.all-tool-link p { margin-top: .3rem; color: var(--muted); font-size: .8rem; }
.tool-intro { padding: 2.3rem 0 1.5rem; border-bottom: 1px solid var(--line); background: var(--surface); }
.tool-title-row { display: flex; align-items: center; gap: 1rem; }
.tool-title-row h1 { margin: 0; font-size: 3rem; }
.tool-title-icon { width: 56px; height: 56px; border: 2px solid currentColor; border-radius: 0; background: transparent; }
.trust-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.trust-chips span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border: 0;
  border-left: 2px solid var(--tone);
  border-radius: 0;
  padding: .25rem .65rem;
  color: var(--muted);
  background: transparent;
  font-size: .78rem;
  font-weight: 680;
}
.trust-chips .icon { width: 15px; color: var(--tone); }
.section-nav { display: flex; gap: 1.4rem; margin-top: 1.4rem; border-bottom: 2px solid var(--text); }
.section-nav a { padding: .55rem 0; color: var(--muted); font-size: .86rem; font-weight: 700; }
.section-nav a:first-child { color: var(--tone); box-shadow: inset 0 -4px var(--tone); }

.workspace-section { padding: 2rem 0 4rem; }
.calculation-flow,
.tool-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.tool-panel, .result-shell {
  min-width: 0;
  border: 2px solid var(--text);
  border-radius: 0;
  background: var(--surface);
}
.workspace-section .tool-panel, .life-profile-form { color: #f6f7f8; background: #0a0d10; }
.workspace-section .tool-panel label, .life-profile-form label { color: #f6f7f8; }
.workspace-section .tool-panel .panel-heading p, .life-profile-form .panel-heading p { color: #b8c0c7; }
.workspace-section .tool-panel .panel-icon, .life-profile-form .panel-icon { color: #0a0d10; background: #d9ff43; }
.workspace-section .tool-panel .privacy-note, .life-profile-form .privacy-note { color: #bac2c8; border-color: #3d454c; }
.tool-panel { padding: 1.6rem; }
.calculation-inputs {
  display: grid;
  grid-template-columns: minmax(180px, .48fr) minmax(0, 1.52fr) minmax(130px, auto);
  align-items: end;
  gap: 1rem 1.5rem;
}
.calculation-inputs > .panel-heading { align-self: start; margin: 0; }
.calculation-inputs > .field-grid {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  align-self: stretch;
}
.calculation-inputs > .form-actions { align-self: end; flex-direction: column; margin: 0; }
.calculation-inputs > .form-actions button { width: 100%; }
.calculation-inputs > .privacy-note,
.calculation-inputs > .estimate-disclaimer { grid-column: 1 / -1; }
.home-life-tool .calculation-inputs { grid-template-columns: minmax(210px, .6fr) minmax(240px, 1fr) minmax(150px, auto); }
.home-life-tool .calculation-inputs > .home-birth-field { grid-column: 2; }
.flow-divider {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .9rem;
  min-height: 52px;
  color: var(--muted);
}
.flow-divider::after { height: 2px; content: ""; background: var(--line-strong); }
.flow-divider span { font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.result-shell { position: static; overflow: hidden; scroll-margin-top: 82px; }
.calculation-output { border-top: 5px solid #d9ff43; }
.workspace-section .result-shell { min-height: 270px; }
.workspace-section .result-shell .result-empty { min-height: 265px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
label { display: grid; align-content: start; gap: .35rem; color: var(--text); font-size: .86rem; font-weight: 700; }
input, select, textarea {
  min-width: 0;
  width: 100%;
  min-height: 46px;
  border: 2px solid var(--line-strong);
  border-radius: 0;
  padding: .65rem .75rem;
  color: var(--text);
  background: var(--surface-raised);
  transition: border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out);
}
input:hover, select:hover, textarea:hover { border-color: color-mix(in srgb, var(--tone) 55%, var(--line-strong)); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
textarea { min-height: 112px; resize: vertical; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-color: var(--tone);
}
.check-row { display: flex; align-items: center; gap: .55rem; min-height: 44px; color: var(--muted); font-weight: 650; }
.check-row input { width: 18px; height: 18px; min-height: auto; accent-color: var(--tone); }
.form-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.privacy-note {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 1rem 0 0;
  padding-top: .9rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .82rem;
}
.privacy-note .icon { width: 17px; color: var(--good); }
.estimate-disclaimer { margin-top: .85rem; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.result-card { padding: 1.5rem; }
.result-card > h2 {
  margin: -1.5rem -1.5rem 1.35rem;
  padding: 1.2rem 1.5rem;
  border-bottom: 2px solid var(--text);
  color: #0a0d10;
  background: #d9ff43;
  font-size: 2rem;
}
.result-identity {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 1.1rem;
  margin: 0 0 1.25rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid var(--line-strong);
}
.result-identity-visual {
  width: 96px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  background: #fff;
}
.result-identity-visual img { width: 76px; height: 76px; object-fit: contain; }
.result-identity-copy { min-width: 0; }
.result-identity-copy span {
  display: block;
  margin-bottom: .25rem;
  color: var(--tone);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.result-identity-copy strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: 1.45rem;
  line-height: 1.15;
}
.result-identity-copy p { margin: .4rem 0 0; color: var(--muted); font-size: .88rem; }
.result-insights { margin-top: 1.25rem; border-top: 2px solid var(--text); }
.result-insight {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
  gap: 1.25rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--line-strong);
}
.result-insight h3 { margin: 0; font-size: .9rem; }
.result-insight p { margin: 0; color: var(--muted); font-size: .88rem; }
.result-cycle { margin-top: 1.4rem; }
.result-cycle-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.result-cycle-heading h3 { margin: 0; font-size: 1rem; }
.result-cycle-heading p { margin: 0; color: var(--muted); font-size: .8rem; }
.result-cycle-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--text);
  list-style: none;
}
.result-cycle-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px 48px minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
  min-height: 72px;
  padding: .65rem;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}
.result-cycle-item:nth-child(4n) { border-right: 0; }
.result-cycle-item.is-active { color: #0a0d10; background: #d9ff43; }
.result-cycle-order { color: var(--muted); font-size: .72rem; font-weight: 800; }
.result-cycle-item.is-active .result-cycle-order, .result-cycle-item.is-active small { color: #263038; }
.result-cycle-item img { width: 48px; height: 48px; object-fit: contain; }
.result-cycle-item > span:last-child { min-width: 0; }
.result-cycle-item strong, .result-cycle-item small { display: block; overflow-wrap: anywhere; }
.result-cycle-item strong { font-size: .86rem; }
.result-cycle-item small { margin-top: .15rem; color: var(--muted); font-size: .7rem; }
.result-entries { margin-top: 1.4rem; }
.result-entries > h3 { margin-bottom: .7rem; font-size: 1rem; }
.result-entry-list { border-top: 2px solid var(--text); }
.result-entry {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 1.2rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line-strong);
}
.result-entry-visual {
  width: 100px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  background: #fff;
}
.result-entry-visual img { width: 78px; height: 78px; object-fit: contain; }
.result-entry-content { min-width: 0; }
.result-entry-content > span { color: var(--tone); font-size: .76rem; font-weight: 800; }
.result-entry-content h4 { margin: .15rem 0 .7rem; font-size: 1.25rem; }
.result-entry-content dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.result-entry-content dl > div { min-width: 0; padding: .65rem .85rem .65rem 0; border-top: 1px solid var(--line); }
.result-entry-content dt { color: var(--muted); font-size: .75rem; font-weight: 700; }
.result-entry-content dd { margin: .2rem 0 0; overflow-wrap: anywhere; font-size: .86rem; font-weight: 650; }
.metrics { display: grid; }
.calculation-output .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
.metric {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(140px, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--line-strong);
}
.metric span { color: var(--muted); font-size: .86rem; }
.metric strong { overflow-wrap: anywhere; text-align: right; }
.notice {
  border: 2px solid var(--line-strong);
  border-radius: 0;
  padding: .9rem;
  color: var(--muted);
  background: var(--surface-soft);
}
.notice.error { color: var(--bad); border-color: color-mix(in srgb, var(--bad) 36%, var(--line)); background: var(--bad-soft); }
.result-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.result-actions button { min-height: 40px; padding: .55rem .75rem; color: var(--text); border-width: 1px; background: transparent; font-size: .84rem; }
.result-actions button:first-child { color: #0a0d10; border-width: 2px; background: #d9ff43; }
.share-links { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .65rem; }
.share-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: .45rem .65rem;
  color: var(--muted);
  background: var(--surface-soft);
  font-size: .8rem;
  font-weight: 700;
}
.share-links a:hover { color: var(--tone); border-color: var(--tone); }

.result-visual { margin: .9rem 0 1.2rem; padding: 1rem; border: 2px solid var(--text); border-radius: 0; background: #d9ff43; color: #0a0d10; }
.result-visual .visual-heading span, .result-visual .visual-legend, .result-visual .activity-bar span { color: #263038; }
.visual-heading, .visual-legend, .activity-bar > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.visual-heading span, .visual-legend, .activity-bar span, .milestone-timeline li > div > span { color: var(--muted); font-size: .78rem; }
.progress-rail { height: 10px; margin: .8rem 0; border-radius: 5px; overflow: hidden; background: var(--line); }
.progress-rail span { display: block; height: 100%; border-radius: inherit; background: var(--tone); }
.visual-legend { flex-wrap: wrap; margin-top: .5rem; }
.visual-legend > span { display: inline-flex; align-items: center; gap: .35rem; }
.legend-swatch { width: .7rem; height: .7rem; border-radius: 2px; background: var(--line-strong); }
.legend-swatch.lived { background: var(--tone); }
.life-calendar-chart { max-height: 260px; margin-top: .8rem; padding-right: .35rem; overflow-y: auto; scrollbar-gutter: stable; }
.life-year-row { min-height: 7px; display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: center; gap: .35rem; margin-bottom: 3px; }
.life-year-label { color: var(--muted); font-size: .64rem; line-height: 1; text-align: right; }
.life-year-track, .life-year-track > span { display: block; height: 5px; border-radius: 2px; }
.life-year-track { background: var(--line); }
.life-year-track > span { background: var(--tone); }
.activity-bars { display: grid; gap: .65rem; margin-top: .8rem; }
.activity-bar > div strong { font-size: .8rem; }
.activity-track, .activity-track > span { display: block; height: 7px; border-radius: 4px; }
.activity-track { margin-top: .25rem; overflow: hidden; background: var(--line); }
.activity-track > span { background: var(--good); }
.milestone-timeline { position: relative; display: grid; gap: .65rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.milestone-timeline::before { content: ""; position: absolute; top: .55rem; bottom: .55rem; left: .4rem; width: 2px; background: var(--line); }
.milestone-timeline li { position: relative; display: grid; grid-template-columns: .9rem minmax(0, 1fr); gap: .65rem; align-items: start; }
.timeline-marker { position: relative; z-index: 1; width: .85rem; height: .85rem; margin-top: .2rem; border: 2px solid var(--surface); border-radius: 50%; background: var(--line-strong); }
.milestone-timeline .is-past .timeline-marker { background: var(--good); }
.milestone-timeline .is-upcoming .timeline-marker { background: var(--tone); }
.milestone-timeline li > div { display: flex; justify-content: space-between; gap: .75rem; }

.life-dashboard-intro { padding: 3.2rem 0 2.4rem; border-bottom: 4px solid #0a0d10; color: #ffffff; background: #2447ff; }
.life-dashboard-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 3rem;
}
.life-dashboard-heading h1 { margin-bottom: .55rem; font-size: 3.3rem; }
.life-dashboard-heading .lead { color: #e1e6ff; }
.life-dashboard-heading .context-line { color: #d9ff43; }
.life-dashboard-heading .section-nav { border-bottom-color: rgba(255, 255, 255, .45); }
.life-dashboard-heading .section-nav a { color: #e1e6ff; }
.life-dashboard-heading .section-nav a:hover,
.life-dashboard-heading .section-nav a:focus-visible { color: #ffffff; }
.life-dashboard-heading .section-nav a:first-child { color: #d9ff43; box-shadow: inset 0 -4px #d9ff43; }
.source-stamp {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 0;
  color: var(--muted);
}
.source-stamp > .icon { width: 28px; height: 28px; color: #d9ff43; }
.source-stamp > span { min-width: 0; }
.source-stamp span, .source-stamp strong, .source-stamp small { display: block; }
.source-stamp strong { color: #ffffff; font-size: .9rem; }
.source-stamp small { color: #d5dcff; overflow-wrap: anywhere; }
.source-stamp small { margin-top: .1rem; }
.life-dashboard-workspace { padding: 2rem 0 4rem; background: var(--bg); }
.life-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.life-dashboard-grid > * { min-width: 0; }
.life-profile-form .field-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
.life-dashboard-result { min-height: 270px; }
.life-dashboard-result .result-empty { min-height: 265px; }
.life-dashboard-result .result-card { overflow: visible; }

.life-stat-groups { display: grid; gap: 1.4rem; }
.life-stat-group h3,
.result-section-title {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .65rem;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .92rem;
  font-weight: 850;
}
.life-stat-group h3::before {
  width: 9px;
  height: 9px;
  content: "";
  flex: 0 0 auto;
  background: var(--good);
  box-shadow: 0 0 0 4px var(--good-soft);
}
.result-section-title { margin-top: 1.35rem; }
.life-stat-live-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 2px solid var(--text);
  background: var(--line-strong);
}
[data-live-group="Your body, running live"] .life-stat-live-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-live-group="The world since you arrived"] .life-stat-live-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.life-stat-live-card {
  min-height: 124px;
  display: grid;
  align-content: space-between;
  gap: .45rem;
  padding: .95rem;
  background: var(--surface);
}
.life-stat-live-card span,
.life-stat-live-card small {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 720;
}
.life-stat-live-card strong {
  overflow-wrap: anywhere;
  font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
  font-size: 1.65rem;
  line-height: 1.02;
  letter-spacing: 0;
}
.life-stats-result-card > h2 { margin-bottom: .9rem; }
.life-stats-result-card .result-visual { margin-top: 1.4rem; }
.life-stats-result-card .result-note { padding-top: 1rem; border-top: 1px solid var(--line); }

.country-explorer { border-block: 4px solid var(--text); background: var(--surface); }
.explorer-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  align-items: end;
  gap: 3rem;
  margin-bottom: 1.5rem;
}
.explorer-toolbar h2 { margin-bottom: .35rem; }
.explorer-toolbar p:last-child { margin: 0; color: var(--muted); }
.country-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 2px solid var(--text);
  border-radius: 0;
  overflow: hidden;
  background: var(--surface);
}
.country-fact { min-height: 142px; padding: 1.25rem; border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); }
.country-fact:nth-child(4n) { border-right: 0; }
.country-fact:nth-last-child(-n + 4) { border-bottom: 0; }
.country-fact span, .country-fact strong, .country-fact small { display: block; }
.country-fact span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.country-fact strong { margin: .45rem 0 .3rem; font-size: 1.65rem; line-height: 1.2; }
.country-fact small { color: var(--muted); font-size: .75rem; }
.data-source-line { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1rem; color: var(--muted); font-size: .8rem; }
.data-source-line a { display: inline-flex; align-items: center; gap: .35rem; color: var(--tone); font-weight: 720; }
.data-source-line .icon { width: 15px; }

.dashboard-method { color: #f6f7f8; background: #0a0d10; }
.dashboard-method .context-line { color: #d9ff43; }
.method-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 4rem; }
.method-grid h2 { max-width: 20ch; margin-bottom: 0; }
.method-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.method-columns p { margin: 0; color: #b7c0c7; }
.method-columns strong { display: block; margin-bottom: .35rem; color: #ffffff; }

.content-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .72fr); gap: 3.5rem; align-items: start; }
.content-block { min-width: 0; max-width: 76ch; }
.content-block > section { padding: 0 0 2rem 1.3rem; margin-bottom: 2rem; border-left: 4px solid var(--tone); border-bottom: 0; }
.content-block h2 { margin-bottom: .7rem; font-size: 1.55rem; }
.content-block h3 { margin-top: 1.3rem; }
.content-block p, .content-block li { color: var(--muted); }
.content-block a { color: var(--tone); font-weight: 700; }
.content-block li + li { margin-top: .45rem; }

.trust-page { padding: 2.5rem 0 4.5rem; }
.trust-layout {
  display: grid;
  grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.trust-nav { position: sticky; top: 82px; min-width: 0; border-top: 4px solid var(--text); }
.trust-nav > .context-line { margin: 0; padding: 1rem 0 .55rem; }
.trust-nav nav { display: grid; border-bottom: 1px solid var(--line); }
.trust-nav nav a {
  min-height: 42px;
  display: flex;
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .86rem;
  font-weight: 700;
}
.trust-nav nav a:hover { color: var(--tone); }
.trust-page-links { display: flex; flex-wrap: wrap; gap: .45rem .75rem; padding-top: 1.35rem; }
.trust-page-links span { flex-basis: 100%; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.trust-page-links a { color: var(--muted); font-size: .78rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.trust-page-links a[aria-current="page"] { color: var(--tone); text-decoration-thickness: 2px; }
.trust-article { max-width: 78ch; }
.trust-summary { padding-bottom: 2rem; border-bottom: 4px solid var(--text); }
.trust-summary h2 { margin: 0 0 .75rem; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.trust-summary p { max-width: 68ch; margin: 0; color: var(--muted); font-size: 1.03rem; }
.trust-sections > section { scroll-margin-top: 96px; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.trust-sections h2 { margin: 0 0 .75rem; font-size: 1.35rem; }
.trust-sections p { margin: 0; color: var(--muted); }
.trust-sections p + p { margin-top: .8rem; }
.trust-sections a { color: var(--tone); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.trust-updated { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1.4rem; }
.trust-updated p { display: grid; gap: .1rem; margin: 0; }
.trust-updated span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.trust-updated time { font-weight: 800; }
.trust-updated > a { color: var(--tone); font-size: .85rem; font-weight: 800; }

.contact-overview { padding: 2.5rem 0 4rem; }
.contact-overview-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.contact-reasons > h2, .contact-compose-intro > h2 { margin: .35rem 0 .65rem; font-size: 2rem; }
.contact-reasons > p:not(.context-line), .contact-compose-intro > p:not(.context-line) { max-width: 65ch; color: var(--muted); }
.contact-reason-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; border-top: 2px solid var(--text); border-left: 1px solid var(--line); }
.contact-reason-list section { min-height: 180px; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-reason-list h3 { margin: 0 0 .55rem; font-size: 1rem; }
.contact-reason-list p { margin: 0; color: var(--muted); font-size: .9rem; }
.contact-direct { padding: 1.5rem; color: #f6f7f8; background: #0a0d10; }
.contact-direct h2 { margin: 0 0 1rem; color: #ffffff; font-size: 1.2rem; }
.contact-direct ul { margin: 0; padding-left: 1.2rem; color: #c6cdd2; }
.contact-direct li + li { margin-top: .7rem; }
.contact-direct > p { margin: 1rem 0 0; color: #c6cdd2; font-size: .82rem; }
.contact-direct a { color: #d9ff43; font-weight: 800; }
.contact-email { display: grid; gap: .2rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #40474d; }
.contact-email span { color: #aeb7bd; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.contact-email a { overflow-wrap: anywhere; font-size: 1.05rem; }
.contact-compose { padding: 3.5rem 0 4.5rem; border-top: 4px solid var(--text); background: var(--surface-soft); }
.contact-compose-layout { display: grid; grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.contact-form { max-width: 760px; }
.contact-form .field-grid > label:nth-child(3) { grid-column: 1 / -1; }
.contact-form textarea { min-height: 180px; resize: vertical; }
.contact-form-note { font-size: .88rem; }
.contact-form-note a { color: var(--tone); font-weight: 800; }
.reference-table-scroll { width: 100%; max-width: 100%; margin-top: 1rem; overflow-x: auto; border: 1px solid var(--line); }
.reference-table-scroll:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.reference-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .9rem; }
.reference-table th, .reference-table td { padding: .7rem .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.reference-table thead th { color: var(--text); background: var(--surface-strong); font-size: .78rem; text-transform: uppercase; }
.reference-table tbody th { color: var(--text); font-weight: 760; }
.reference-table tbody tr:last-child th, .reference-table tbody tr:last-child td { border-bottom: 0; }
.reference-note { margin-top: .7rem; font-size: .84rem; }
.editorial-sources li { display: grid; gap: .15rem; }
.editorial-sources li span { font-size: .86rem; }
.feature-list { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.feature-list li { display: flex; gap: .6rem; padding: .85rem 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.feature-list .icon { width: 18px; color: var(--good); }
.updated-line { font-size: .82rem; }
.related-rail { position: sticky; top: 82px; }
.related-rail > h2 { margin: 0 0 .75rem; font-size: 1rem; }
.related-rail > h2:not(:first-child) { margin-top: 2rem; }
.related-list { display: grid; gap: 0; border-top: 2px solid var(--text); }
.related-item {
  min-height: 92px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 18px;
  align-items: center;
  gap: .8rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: .9rem 0;
  background: transparent;
  transition: border-color 180ms var(--ease-out), background-color 180ms var(--ease-out), transform 180ms var(--ease-out);
}
.related-item:hover { color: var(--text); border-color: var(--text); background: transparent; transform: translateX(4px); }
.related-item-icon { width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 0; color: var(--tone); background: transparent; }
.related-item-icon .icon { width: 18px; }
.related-guide .related-item-icon { color: var(--muted); background: transparent; }
.related-item-copy { min-width: 0; }
.related-item h3, .related-item p { margin: 0; }
.related-item h3 { font-size: .92rem; }
.related-item p { margin-top: .22rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.related-item > .icon { width: 16px; color: var(--muted); transition: transform 180ms var(--ease-out); }
.related-item:hover > .icon { color: var(--tone); transform: translateX(2px); }

.faq { border-block: 4px solid #0a0d10; color: #0a0d10; background: #d9ff43; }
.faq .context-line, .faq-inner > div:first-child > p:last-child, .faq details p { color: #263038; }
.faq details, .faq details:last-child { border-color: #0a0d10; }
.faq-inner { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: 4rem; }
.faq-inner > div:first-child > p:last-child { color: var(--muted); }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 56px; display: flex; align-items: center; padding: .8rem 2rem .8rem 0; cursor: pointer; font-weight: 760; }
.faq details p { margin: 0; padding: 0 0 1rem; color: var(--muted); }

.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card { min-height: 100%; padding: 1.2rem; border: 2px solid var(--text); border-radius: 0; background: var(--surface); }
.card h3 { margin-bottom: .35rem; }
.card p { margin: 0; color: var(--muted); }
.card .small-link { display: inline-flex; margin-top: .9rem; color: var(--tone); font-weight: 750; }
.search-box { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; margin-bottom: 1rem; }
.search-box label { display: grid; grid-template-columns: 1fr; }

.ad-slot { width: min(970px, calc(100% - 2.5rem)); min-height: 120px; margin: 2rem auto; border: 2px dashed var(--line-strong); border-radius: 0; background: var(--surface); }
.ad-slot:not([hidden]) { display: grid; place-items: center; }
.ad-slot:not([hidden])::before { content: "Advertisement"; display: block; margin-bottom: .4rem; color: var(--muted); font-size: .72rem; }
.ad-slot-inline { margin-block: 0 2rem; }

.site-footer { padding: 3.5rem 0 1.25rem; border-top: 0; color: #f6f7f8; background: #0a0d10; }
.site-footer .brand { color: #ffffff; }
.site-footer h2 { margin: 0 0 .55rem; color: #ffffff; font-size: .95rem; line-height: 1.3; letter-spacing: 0; }
.site-footer p, .site-footer a:not(.brand) { color: #b9c2ca; }
.site-footer a:hover { color: #d9ff43; }
.site-footer a:focus-visible { outline-color: #d9ff43; }
.footer-directory { display: grid; grid-template-columns: 1.1fr 1.1fr .9fr .9fr; gap: 3rem; padding-bottom: 2.75rem; }
.footer-tool-group, .footer-info-group { display: flex; flex-direction: column; align-items: flex-start; }
.footer-tool-group h2 a { min-height: 44px; display: inline-flex; align-items: center; color: #ffffff; }
.footer-tool-group > a, .footer-info-group > a { min-height: 38px; display: inline-flex; align-items: center; font-size: .86rem; line-height: 1.35; }
.footer-consent-button { min-height: 38px; padding: 0; border: 0; color: #b9c2ca; background: transparent; box-shadow: none; font-size: .86rem; font-weight: 400; text-align: left; }
.footer-consent-button:hover { color: #d9ff43; border: 0; background: transparent; box-shadow: none; transform: none; }
.footer-consent-button:focus-visible { outline-color: #d9ff43; }
.footer-main { display: grid; grid-template-columns: 1.65fr .75fr .85fr 1.15fr; gap: 3rem; padding-block: 2.25rem; border-top: 1px solid #343b42; }
.footer-brand p { max-width: 43ch; margin: 1rem 0 0; color: #c7ced4; }
.footer-info-group h2, .footer-contact h2 { min-height: 44px; display: flex; align-items: center; margin-bottom: 0; }
.footer-contact p { max-width: 31ch; margin: .35rem 0 .5rem; }
.footer-contact a { min-height: 44px; display: inline-flex; align-items: center; color: #ffffff; font-weight: 700; overflow-wrap: anywhere; }
.footer-bottom { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1rem; border-top: 1px solid #343b42; color: #aeb7be; font-size: .8rem; }
.footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; color: #ffffff; font-weight: 750; }
.footer-bottom .icon { width: 16px; transition: transform 180ms var(--ease-out); }
.footer-bottom a:hover .icon { transform: translateX(3px); }

.cookie-consent { position: fixed; z-index: 1000; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; width: min(900px, calc(100% - 2.5rem)); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.5rem; margin-left: auto; padding: 1.25rem; border: 2px solid var(--text); color: var(--text); background: var(--surface); box-shadow: 8px 8px 0 var(--text); }
.cookie-consent[hidden], .cookie-settings-backdrop[hidden] { display: none; }
.cookie-consent strong { display: block; margin-bottom: .35rem; font-size: 1.05rem; }
.cookie-consent p { max-width: 62ch; margin: 0; color: var(--muted); font-size: .92rem; }
.cookie-consent a { display: inline-flex; min-height: 40px; align-items: center; margin-top: .35rem; color: var(--tone-date); font-size: .84rem; font-weight: 750; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.cookie-consent-actions button { min-height: 44px; white-space: nowrap; }
.cookie-settings-backdrop { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(10, 13, 16, .72); }
.cookie-settings { width: min(620px, 100%); max-height: calc(100vh - 2.5rem); overflow-y: auto; border: 2px solid var(--text); color: var(--text); background: var(--surface); box-shadow: 8px 8px 0 #0a0d10; }
.cookie-settings header { padding: 1.25rem; border-bottom: 1px solid var(--line-strong); }
.cookie-settings header p { margin: 0 0 .2rem; color: var(--tone-date); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.cookie-settings h2 { margin: 0; font-size: 1.65rem; }
.cookie-setting-row { min-height: 104px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }
.cookie-setting-row strong { display: block; margin-bottom: .2rem; }
.cookie-setting-row p { max-width: 48ch; margin: 0; color: var(--muted); font-size: .88rem; }
.cookie-setting-row > span { color: var(--muted); font-size: .8rem; font-weight: 750; white-space: nowrap; }
.cookie-setting-row input { width: 22px; height: 22px; accent-color: var(--action); }
.cookie-settings-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; padding: 1rem 1.25rem; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 1040px) {
  .site-nav a { padding-inline: .5rem; font-size: .84rem; }
  .home-life-grid { gap: 2.5rem; }
  .content-layout { gap: 2rem; }
  .method-grid { gap: 2.5rem; }
  .calculation-inputs,
  .home-life-tool .calculation-inputs { grid-template-columns: minmax(0, 1fr); }
  .calculation-inputs > .panel-heading,
  .calculation-inputs > .field-grid,
  .calculation-inputs > .form-actions,
  .home-life-tool .calculation-inputs > .home-birth-field { grid-column: 1; }
  .calculation-inputs > .form-actions { flex-direction: row; }
  .calculation-inputs > .form-actions button { width: auto; }
  .life-stat-live-grid,
  [data-live-group="Your body, running live"] .life-stat-live-grid,
  [data-live-group="The world since you arrived"] .life-stat-live-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tool-directory-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .all-tool-link:nth-child(3n) { border-right: 1px solid var(--line-strong); }
  .all-tool-link:nth-child(2n) { border-right: 0; }
  .guides-masthead .wrap { gap: 2.5rem; }
  .guide-lead-layout { grid-template-columns: minmax(0, 1fr); }
  .guide-start-panel > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guide-start-link { border-right: 1px solid var(--line); border-bottom: 0; }
  .guide-start-link:last-child { border-right: 0; }
  .guide-reading-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 2.5rem; }
}

@media (max-width: 680px) {
  .cookie-consent { grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: .75rem; }
  .cookie-consent-actions { justify-content: stretch; }
  .cookie-consent-actions button { flex: 1 1 calc(50% - .35rem); }
  .cookie-setting-row { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .cookie-setting-row input { justify-self: start; }
  .cookie-settings-actions button { flex: 1 1 50%; }
}

@media (max-width: 860px) {
  .wrap, .header-inner { width: min(var(--content-width), calc(100% - 2rem)); }
  .trust-layout, .contact-overview-layout, .contact-compose-layout { grid-template-columns: minmax(0, 1fr); }
  .trust-nav { position: static; }
  .trust-nav nav { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--line); }
  .trust-nav nav a { padding: .45rem .7rem; border-right: 1px solid var(--line); }
  .trust-page-links { padding-bottom: .5rem; }
  .trust-article { max-width: none; }
  .contact-direct { max-width: 520px; }
  .contact-compose-intro { max-width: 66ch; }
  .site-nav {
    position: fixed;
    inset: 64px .75rem auto;
    display: none;
    padding: .65rem;
    border: 1px solid #4a535b;
    border-radius: 0;
    background: #0a0d10;
    box-shadow: var(--shadow-menu);
  }
  .site-nav.open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-nav a { min-height: 44px; }
  .menu-button { display: inline-grid; }
  .home-life-grid, .tool-layout, .content-layout, .faq-inner, .life-dashboard-heading, .life-dashboard-grid, .method-grid { grid-template-columns: minmax(0, 1fr); }
  .home-life-copy { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 0; }
  .home-life-copy .context-line,
  .home-life-copy h2,
  .home-life-copy > p:not(.context-line),
  .home-life-copy > .text-link,
  .home-life-copy .home-benefits { grid-column: 1; grid-row: auto; }
  .home-life-copy .home-benefits { margin: 1.4rem 0 1.6rem; }
  .quick-tool, .quick-result { min-height: auto; }
  .workspace-section .result-shell { min-height: 250px; }
  .workspace-section .result-shell .result-empty { min-height: 245px; }
  .result-shell, .related-rail { position: static; }
  .category-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-lane:nth-child(2) { border-right: 0; }
  .category-lane:nth-child(-n + 2) { border-bottom: 1px solid var(--text); }
  .home-guide-list { grid-template-columns: 1fr; }
  .home-guide-row, .home-guide-row:first-child { min-height: auto; border-left: 1px solid var(--text); border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); }
  .section-popular .tool-list { grid-template-columns: 1fr; }
  .life-dashboard-heading { align-items: start; gap: 1rem; }
  .life-dashboard-result, .life-dashboard-result .result-empty { min-height: 250px; }
  .country-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .country-fact:nth-child(odd) { border-right: 1px solid var(--line); }
  .country-fact:nth-child(even) { border-right: 0; }
  .country-fact:nth-last-child(-n + 4) { border-bottom: 1px solid var(--line); }
  .country-fact:nth-last-child(-n + 2) { border-bottom: 0; }
  .method-columns { gap: 1rem; }
  .grid, .grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 3rem; }
  .footer-main { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: 2rem; }
  .faq-inner { gap: 1.5rem; }
  .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-directory-group { grid-template-columns: 1fr; }
  .tool-directory-group > header { border-bottom: 2px solid var(--text); }
  .tool-directory-list { border-left: 0; }
  .guides-masthead .wrap,
  .featured-guide,
  .guide-reading-layout { grid-template-columns: minmax(0, 1fr); }
  .featured-guide figure { border-right: 0; border-bottom: 2px solid var(--text); }
  .guide-article { max-width: none; }
  .guide-tool-rail { position: static; }
  .guide-tool-rail-inner { display: grid; grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
  body { font-size: 15px; }
  .header-inner { min-height: 60px; }
  .brand span:last-child { max-width: 142px; overflow: hidden; text-overflow: ellipsis; }
  .header-actions { margin-left: auto; }
  .site-nav { top: 60px; }
  .home-hero { padding: 2.8rem 0 2.5rem; }
  .home-hero h1 { font-size: 2.65rem; }
  .home-hero .lead { font-size: 1rem; }
  .page-title h1 { font-size: 2.35rem; overflow-wrap: anywhere; }
  .trust-page { padding: 1.5rem 0 3rem; }
  .trust-layout { gap: 2.25rem; }
  .trust-nav nav { grid-template-columns: minmax(0, 1fr); }
  .trust-summary { padding-bottom: 1.5rem; }
  .trust-sections > section { padding: 1.5rem 0; }
  .trust-updated { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .contact-overview { padding: 2rem 0 3rem; }
  .contact-reason-list { grid-template-columns: minmax(0, 1fr); }
  .contact-reason-list section { min-height: 0; }
  .contact-compose { padding: 2.75rem 0 3.5rem; }
  .contact-form { padding: 1.2rem; }
  .directory-hero { padding-top: 1.25rem; }
  .directory-hero h1 { font-size: 2.2rem; }
  .directory-grid { grid-template-columns: 1fr; }
  .directory-tool { min-height: 112px; }
  .tool-category-nav .wrap { width: 100%; padding-inline: 1rem; }
  .tool-directory-list { grid-template-columns: 1fr; }
  .all-tool-link, .all-tool-link:nth-child(2n), .all-tool-link:nth-child(3n) { min-height: 104px; border-right: 0; }
  .header-search { grid-template-columns: auto minmax(0, 1fr); }
  .header-search button { grid-column: 1 / -1; }
  .panel-heading { align-items: flex-start; }
  .panel-heading > a { max-width: 110px; text-align: right; }
  .field-grid, .calculation-inputs > .field-grid, .grid, .grid.two, .feature-list { grid-template-columns: minmax(0, 1fr); }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .calculation-inputs, .calculation-inputs > .field-grid { min-width: 0; }
  .workspace-section .tool-panel { padding: 1.25rem; }
  .section { padding: 3rem 0; }
  .section-heading { align-items: start; flex-direction: column; gap: .8rem; }
  .category-lanes { grid-template-columns: 1fr; }
  .category-lane, .category-lane:nth-child(2) { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--text); }
  .category-lane:last-child { border-bottom: 0; }
  .category-lane > b { display: block; }
  .home-life-grid { gap: 2rem; }
  .home-life-copy h2 { font-size: 2rem; }
  .life-dashboard-intro { padding: 2rem 0 1.2rem; }
  .life-dashboard-heading h1 { font-size: 2.65rem; }
  .life-dashboard-heading .lead { max-width: 31ch; overflow-wrap: anywhere; }
  .life-dashboard-heading .source-stamp {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    max-width: 33ch;
  }
  .life-dashboard-heading .source-stamp small { overflow-wrap: anywhere; }
  .life-dashboard-workspace { padding-bottom: 3rem; }
  .life-profile-form .field-grid { grid-template-columns: 1fr; }
  .life-stat-live-grid,
  [data-live-group="Your body, running live"] .life-stat-live-grid,
  [data-live-group="The world since you arrived"] .life-stat-live-grid { grid-template-columns: 1fr; }
  .explorer-toolbar { grid-template-columns: 1fr; gap: 1.25rem; }
  .country-facts { grid-template-columns: 1fr; }
  .country-fact, .country-fact:nth-child(odd), .country-fact:nth-child(even), .country-fact:nth-last-child(-n + 2) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .country-fact:last-child { border-bottom: 0; }
  .data-source-line { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .method-columns { grid-template-columns: 1fr; gap: 1.25rem; }
  .tool-row { grid-template-columns: 38px minmax(0, 1fr) 18px; gap: .75rem; }
  .tool-row-type { display: none; }
  .trust-band .wrap { grid-template-columns: 1fr; }
  .trust-band .wrap > div { border-bottom: 1px solid var(--line); }
  .tool-intro { padding-top: 1rem; }
  .tool-title-row { align-items: flex-start; }
  .tool-title-row h1 { font-size: 2.2rem; }
  .tool-title-icon { width: 44px; height: 44px; }
  .section-nav { max-width: 100%; overflow-x: auto; white-space: nowrap; }
  .calculation-output .metrics { grid-template-columns: 1fr; }
  .metric { grid-template-columns: 1fr; gap: .15rem; }
  .metric strong { text-align: left; }
  .result-card > h2 { font-size: 1.35rem; }
  .result-identity { grid-template-columns: 76px minmax(0, 1fr); gap: .85rem; }
  .result-identity-visual { width: 76px; }
  .result-identity-visual img { width: 60px; height: 60px; }
  .result-identity-copy strong { font-size: 1.15rem; }
  .result-insight { grid-template-columns: 1fr; gap: .35rem; }
  .result-cycle-heading { display: block; }
  .result-cycle-heading p { margin-top: .2rem; }
  .result-cycle-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-cycle-item:nth-child(4n) { border-right: 1px solid var(--line-strong); }
  .result-cycle-item:nth-child(2n) { border-right: 0; }
  .result-entry { grid-template-columns: 76px minmax(0, 1fr); gap: .85rem; }
  .result-entry-visual { width: 76px; }
  .result-entry-visual img { width: 58px; height: 58px; }
  .result-entry-content dl { grid-template-columns: 1fr; }
  .result-actions button { flex: 1 1 calc(50% - .5rem); }
  .milestone-timeline li > div { display: grid; gap: .1rem; }
  .search-box { grid-template-columns: 1fr; }
  .content-block > section { padding-left: .9rem; }
  .guides-masthead { padding: 1.8rem 0 1.5rem; }
  .guides-masthead h1 { font-size: 2.35rem; }
  .guide-topic-nav .wrap { width: 100%; padding-inline: 1rem; }
  .guide-lead-layout { gap: .8rem; }
  .featured-guide figure { min-height: 0; aspect-ratio: 16 / 10; }
  .featured-guide-copy { padding: 1.3rem; }
  .featured-guide h2 { font-size: 1.55rem; }
  .guide-start-panel > div { grid-template-columns: minmax(0, 1fr); }
  .guide-start-link { border-right: 0; border-bottom: 1px solid var(--line); }
  .guide-start-link:last-child { border-bottom: 0; }
  .guide-library-heading { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .guide-library-heading > p { text-align: left; }
  .guide-topic-group > header { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .guide-index-grid { grid-template-columns: minmax(0, 1fr); }
  .guide-article-hero { padding-top: 1.7rem; }
  .guide-article-heading h1 { max-width: none; font-size: 2.45rem; overflow-wrap: anywhere; }
  .guide-article-meta { display: grid; gap: .25rem; }
  .guide-article-meta span + span::before { display: none; }
  .guide-article-hero figure { aspect-ratio: 4 / 3; }
  .guide-reading-section { padding: 2.5rem 0 3rem; }
  .guide-toc { grid-template-columns: minmax(0, 1fr); }
  .guide-toc a,
  .guide-toc a:nth-child(odd) { border-right: 0; }
  .guide-deck { font-size: 1.08rem; }
  .guide-prose-content h2,
  .guide-sources h2 { font-size: 1.45rem; }
}

@media (max-width: 340px) {
  .footer-directory, .footer-main { grid-template-columns: minmax(0, 1fr); }
  .footer-brand, .footer-contact { grid-column: auto; }
}

@media (max-width: 430px) {
  .site-header .brand span:last-child { display: none; }
}

@media (max-width: 380px) {
  .brand span:last-child { max-width: 114px; font-size: .9rem; }
}
