/* Motivza design system. Editorial register, adapted from the Growth AI design direction:
   dark cover slabs for gravitas, warm ivory body for calm, hairlines, muted spectrum.
   It should read like a private briefing prepared for a founder, not like software. */

:root {
  /* Cover surfaces (dark, for gravitas) */
  --cover: #1F2D24;
  --cover-ink: #F2F4F0;
  --cover-body: #AEBFB2;
  --cover-kicker: #9FC7AD;
  --cover-alert: #E2A368;
  --hair: rgba(255, 255, 255, .13);

  /* Body surfaces (light, for calm) */
  --parchment: #FBFAF6;
  --card: #FFFFFF;
  --ink: #232B26;
  --ink-soft: #57635A;
  --quiet: #8A958C;
  --line: #E7E2D6;
  --line-cool: #ECF0EC;

  /* Brand and accents, used sparingly */
  --evergreen: #1E4D2B;
  --leaf: #3E7A54;
  --sage: #9FC7AD;
  --moss: #EDF3EE;
  --soil: #8A6D3B;
  --harvest: #B97C24;
  --harvest-soft: #F7EEDD;

  /* The six pillar spectrum (muted) */
  --p-roots: #7A5C36;
  --p-trunk: #34506B;
  --p-sap: #C49A4C;
  --p-branches: #3C8C6B;
  --p-fruit: #C16B60;
  --p-seeds: #4097AC;

  --serif: 'Lora', Georgia, 'Times New Roman', serif;
  --display: 'Playfair Display', Georgia, serif;
  --sans: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--serif); background: var(--parchment); color: var(--ink); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--evergreen); color: #fff; }
.sans { font-family: var(--sans); }
.wrap { max-width: 680px; margin: 0 auto; padding: 20px 20px 72px; }

header.site { position: sticky; top: 0; z-index: 100; background: rgba(251, 250, 246, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); padding: 0 24px; }
header.site .inner-h { display: flex; align-items: center; justify-content: space-between; height: 62px; max-width: 1080px; margin: 0 auto; }
.mark { display: flex; align-items: center; gap: 9px; text-decoration: none; }
.mark svg { width: 21px; height: 21px; stroke: var(--leaf); fill: none; stroke-width: 2; stroke-linecap: round; }
.mark span { font-family: var(--display); font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
header.site a.quiet { font-family: var(--sans); font-size: 13.5px; color: var(--ink-soft); text-decoration: none; }
.topnav { display: flex; align-items: center; gap: 26px; }
.topnav a.navlink { font-family: var(--sans); font-size: 13.5px; font-weight: 500; color: var(--ink-soft); text-decoration: none; transition: color .2s; }
.topnav a.navlink:hover { color: var(--ink); }
.topnav .btn { width: auto; padding: 9px 18px; font-size: 13.5px; border-radius: 8px; }
@media (max-width: 820px) { .topnav a.navlink { display: none; } }

h1 { font-family: var(--display); font-size: 32px; font-weight: 600; color: var(--ink); line-height: 1.18; letter-spacing: -.01em; margin: 20px 0 10px; }
h2 { font-family: var(--display); font-size: 24px; font-weight: 600; color: var(--ink); line-height: 1.25; letter-spacing: -.005em; margin: 6px 0 12px; }
p { margin: 12px 0; font-size: 16px; }
.muted { color: var(--ink-soft); }
.twoq { font-family: var(--display); font-size: 22px; font-style: italic; color: var(--soil); margin: 16px 0; }
.cover .twoq { color: var(--cover-kicker); }
.label { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--quiet); }
.kicker { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--quiet); }
.kicker.on-dark { color: var(--cover-kicker); }
.num { font-family: var(--display); font-feature-settings: 'tnum'; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; border: 0; border-radius: 9px; padding: 14px 24px; font-size: 14.5px; cursor: pointer; font-family: var(--sans); font-weight: 600; transition: background .2s, color .2s, border-color .2s; text-align: center; text-decoration: none; appearance: none; }
.btn:focus-visible { outline: 2px solid var(--leaf); outline-offset: 2px; }
.btn-leaf { color: #fff; background: var(--ink); }
.btn-leaf:hover { background: var(--evergreen); }
.btn-leaf:disabled { background: var(--quiet); cursor: default; }
.btn .arr { display: inline-block; transition: transform .2s ease; }
.btn:hover .arr { transform: translateX(3px); }
.btn-quiet { background: transparent; color: var(--ink-soft); font-weight: 400; font-size: 14px; }
.btn-ghost { background: var(--card); color: var(--ink); border: 1px solid var(--line); }
.btn-ghost:hover { border-color: var(--evergreen); color: var(--evergreen); }
.btn-on-dark { color: var(--cover); background: var(--cover-ink); }
.btn-on-dark:hover { background: #fff; }
.btn-ghost-dark { color: var(--cover-ink); background: transparent; border: 1px solid var(--hair); }
.btn-ghost-dark:hover { border-color: var(--cover-kicker); color: var(--cover-kicker); }

.privacy { margin-top: 22px; padding: 14px 16px; background: var(--moss); border-radius: 10px; font-family: var(--sans); font-size: 13.5px; color: var(--evergreen); }
.cohort { display: inline-block; background: var(--moss); color: var(--evergreen); border-radius: 999px; padding: 6px 14px; font-family: var(--sans); font-size: 13px; margin-top: 4px; }

.water { position: relative; height: 2px; background: var(--line); border-radius: 99px; margin: 8px 0 28px; overflow: hidden; }
.water i { display: block; height: 100%; background: var(--evergreen); border-radius: 99px; transition: width .5s ease; }
.trail { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.qtext { font-family: var(--display); font-size: 22px; font-weight: 500; color: var(--ink); line-height: 1.32; margin-bottom: 6px; }
.qwhy { font-size: 14px; color: var(--ink-soft); font-style: italic; margin-bottom: 22px; }
.opt { display: block; width: 100%; text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 15px 16px; margin-bottom: 10px; font-size: 15.5px; cursor: pointer; color: var(--ink); font-family: var(--serif); min-height: 56px; transition: border-color .15s, background .15s; }
.opt:hover { border-color: var(--sage); }
.opt.sel { border-color: var(--evergreen); background: var(--moss); }
.nav { display: flex; gap: 10px; margin-top: 16px; }
.nav .btn-leaf { flex: 1; }
.nav .btn-quiet { flex: 0 0 26%; }

.pause { text-align: center; padding-top: 10vh; }
.pause p { font-family: var(--display); font-size: 20px; font-style: italic; color: var(--evergreen); margin-top: 22px; }
.pause svg { width: 120px; height: 120px; stroke: var(--evergreen); fill: none; stroke-width: 2; stroke-linecap: round; }
.draw path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: grow 1s cubic-bezier(.22, .8, .3, 1) forwards; animation-delay: var(--d, 0s); }
@keyframes grow { to { stroke-dashoffset: 0; } }

.treebox { text-align: center; margin: 18px 0 10px; }
.treebox svg { width: 100%; max-width: 330px; height: auto; }
.tree path, .tree circle { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tree .ground { stroke: var(--line); stroke-width: 1.5; }
.tree .s1 { stroke: var(--sage); stroke-width: 1.6; }
.tree .s2 { stroke: var(--evergreen); stroke-width: 2; }
.tree .s3 { stroke: var(--evergreen); stroke-width: 2.6; }
.tree .sap { stroke-dasharray: 2 7; }
.tree .s3 .sap { stroke: var(--leaf); }
.tree .lf { fill: none; }
.tree .s3 .lf { fill: var(--moss); }
.tree .core { fill: var(--leaf); stroke: none; opacity: 0; }
.tree .s3 .core { opacity: 1; }
.tree .seeds { opacity: 0; }
.tree .seeds.show { opacity: 1; }
.tree .seed { fill: var(--leaf); stroke: none; }
.legend { font-family: var(--sans); font-size: 12px; color: var(--ink-soft); text-align: center; margin-bottom: 4px; letter-spacing: .3px; }

.land { width: 100%; max-width: 460px; display: block; margin: 10px auto; }
.land text { font-family: var(--sans); font-size: 10px; fill: var(--quiet); letter-spacing: 1px; }
.land .axis { font-size: 9px; fill: var(--ink-soft); letter-spacing: 1.4px; }
.land .jpath { stroke: var(--sage); fill: none; stroke-width: 1.5; stroke-linecap: round; }
.land .glyph { stroke: var(--leaf); fill: none; stroke-width: 1.6; stroke-linecap: round; }
.land .glyphcore { fill: var(--leaf); stroke: none; }
.land .halo { fill: var(--leaf); opacity: .14; }
.land .me { fill: var(--leaf); stroke: #fff; stroke-width: 2.5; }

.affirm { background: var(--card); border-left: 3px solid var(--soil); border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 22px 0; font-family: var(--display); font-size: 17px; font-style: italic; line-height: 1.6; }
h2.sec { font-family: var(--sans); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--quiet); margin: 36px 0 12px; font-weight: 700; }
.place { font-family: var(--display); font-size: 29px; font-weight: 600; color: var(--ink); margin: 2px 0 4px; }
.placesub { color: var(--ink-soft); font-size: 16px; margin-bottom: 16px; }
.axes { display: flex; gap: 10px; margin-top: 26px; }
.axes div { flex: 1; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 13px; text-align: center; }
.axes .n { font-family: var(--display); font-size: 26px; color: var(--ink); }
.axes .l { font-family: var(--sans); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--quiet); margin-top: 2px; font-weight: 700; }
.con { background: var(--harvest-soft); border: 1px solid #E5D3B0; border-radius: 12px; padding: 18px 22px; }
.con h3 { font-family: var(--display); font-size: 20px; color: var(--harvest); font-weight: 600; margin-bottom: 6px; }
.con p { font-size: 15px; }
.con.calm { background: var(--moss); border-color: var(--sage); }
.con.calm h3 { color: var(--evergreen); }
.move { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin-bottom: 10px; }
.move .k { font-family: var(--sans); font-size: 10.5px; color: var(--leaf); letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.move h3 { font-family: var(--display); font-size: 17px; color: var(--ink); font-weight: 600; margin: 3px 0 4px; }
.move p { font-size: 14.5px; color: var(--ink-soft); margin: 4px 0; }
.move .ev { font-size: 13px; color: var(--soil); font-style: italic; }

.door { background: var(--cover); border-radius: 14px; color: var(--cover-body); padding: 26px; margin-top: 32px; }
.door h3 { font-family: var(--display); font-size: 20px; font-weight: 600; color: var(--cover-ink); margin-bottom: 8px; }
.door p { font-size: 15px; margin-bottom: 8px; }
.door .motto { font-style: italic; opacity: .8; }

form.panel { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 22px; margin: 16px 0; }
form.panel label { display: block; font-family: var(--sans); font-size: 13px; color: var(--ink-soft); margin: 14px 0 6px; }
form.panel input[type="text"], form.panel input[type="email"], form.panel input[type="url"], form.panel select {
  width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 13px 14px;
  font-family: var(--serif); font-size: 15.5px; color: var(--ink); background: var(--parchment);
}
form.panel input:focus, form.panel select:focus { outline: none; border-color: var(--evergreen); }
.consent { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0; font-family: var(--sans); font-size: 14px; color: var(--ink); }
.consent input { margin-top: 3px; width: 18px; height: 18px; }
.consent .sub { color: var(--ink-soft); font-size: 12.5px; display: block; }

.foot { text-align: center; font-family: var(--sans); font-size: 12.5px; color: var(--quiet); margin-top: 36px; }

table.admin { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 13.5px; margin: 10px 0 24px; }
table.admin th { text-align: left; color: var(--quiet); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; padding: 8px 10px; border-bottom: 2px solid var(--ink); font-weight: 700; }
table.admin td { padding: 8px 10px; border-bottom: 1px solid var(--line); }
.stat-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 22px; }
.stat { flex: 1; min-width: 130px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 14px; text-align: center; }
.stat .n { font-family: var(--display); font-size: 26px; color: var(--ink); }
.stat .l { font-family: var(--sans); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--quiet); margin-top: 2px; font-weight: 700; }
.pillbar { display: flex; align-items: center; gap: 12px; margin: 9px 0; font-family: var(--sans); font-size: 13px; }
.pillbar .nm { flex: 0 0 170px; }
.pillbar .bar { flex: 1; height: 6px; background: var(--line-cool); border-radius: 99px; overflow: hidden; }
.pillbar .bar i { display: block; height: 100%; background: var(--leaf); border-radius: 99px; }
.pillbar .pc { flex: 0 0 44px; text-align: right; color: var(--ink-soft); font-weight: 600; }

/* Homepage. Editorial: cover slabs, ivory sections, hairline tables. */
.hwrap { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 720px) { .hwrap { padding: 0 20px; } }

/* Reveal motion. JS adds .pre, removes it in view; without JS nothing hides. */
[data-reveal] { transition: opacity .65s ease, transform .65s ease; }
[data-reveal].pre { opacity: 0; transform: translateY(16px); }
[data-reveal].pre .fl { width: 0 !important; }
.pillar-bar .fl { transition: width .9s cubic-bezier(.22, .8, .3, 1) .25s; }
@media (prefers-reduced-motion: reduce) {
  [data-reveal], .pillar-bar .fl { transition: none; }
  [data-reveal].pre { opacity: 1; transform: none; }
  [data-reveal].pre .fl { width: inherit !important; }
}

.cover { background: var(--cover); color: var(--cover-body); position: relative; overflow: hidden; }
.cover::before { content: ""; position: absolute; top: -240px; right: -180px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(159, 199, 173, .13), rgba(159, 199, 173, 0) 62%); pointer-events: none; }
.cover .hwrap { position: relative; }
.cover .hero { padding: 100px 0 88px; }
.cover h1.hero-h { font-family: var(--display); font-size: clamp(38px, 5.2vw, 60px); line-height: 1.12; font-weight: 600; letter-spacing: -.01em; color: var(--cover-ink); max-width: 760px; margin: 18px 0 0; }
.hero-sub { margin-top: 24px; font-size: 18px; line-height: 1.65; max-width: 600px; }
.hero-ctas { display: flex; gap: 14px; margin-top: 38px; flex-wrap: wrap; }
.hero-ctas .btn { width: auto; }
.hero-proof { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--hair); font-family: var(--sans); font-size: 13px; }
.hero-proof strong { color: var(--cover-ink); font-weight: 600; }

.exhibit { margin-top: 60px; border: 1px solid var(--hair); border-radius: 12px; padding: 32px 36px 28px; background: rgba(255, 255, 255, .035); box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.exhibit-head { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; flex-wrap: wrap; font-family: var(--sans); }
.exhibit-head .title { font-size: 13px; color: var(--cover-ink); font-weight: 600; }
.exhibit-head .meta { font-size: 12px; }
.exhibit-grid { display: grid; grid-template-columns: 200px 1fr 230px; gap: 40px; margin-top: 28px; align-items: start; }
.exhibit-score .big { font-family: var(--display); font-size: 72px; line-height: 1; color: var(--cover-ink); letter-spacing: -.02em; }
.exhibit-score .of { font-family: var(--sans); font-size: 14px; }
.exhibit-score .band { margin-top: 10px; font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--cover-kicker); font-weight: 700; }
.pillar-bars { display: grid; gap: 11px; }
.pillar-bar { display: grid; grid-template-columns: 86px 1fr 38px; gap: 14px; align-items: center; font-family: var(--sans); font-size: 12.5px; }
.pillar-bar .nm { color: var(--cover-body); }
.pillar-bar .tr { height: 5px; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.pillar-bar .fl { height: 100%; border-radius: 3px; display: block; }
.pillar-bar .vl { text-align: right; color: var(--cover-ink); font-weight: 600; }
.exhibit-con { border-left: 2px solid var(--cover-alert); padding-left: 18px; }
.exhibit-con .lbl { font-family: var(--sans); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin-bottom: 8px; }
.exhibit-con .nm { font-family: var(--display); font-size: 24px; line-height: 1.2; color: var(--cover-alert); }
.exhibit-con p { margin-top: 12px; font-family: var(--sans); font-size: 12.5px; line-height: 1.6; }
.exhibit-con strong { color: var(--cover-ink); }
.exhibit-foot { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--hair); font-family: var(--sans); font-size: 12px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.exhibit-foot strong { color: var(--cover-ink); }
@media (max-width: 880px) { .exhibit-grid { grid-template-columns: 1fr; gap: 26px; } .exhibit-score .big { font-size: 52px; } }

.hsec { padding: 92px 0; }
.hsec + .hsec { border-top: 1px solid var(--line); }
.hsec h2.ht { font-family: var(--display); font-size: clamp(28px, 3.6vw, 42px); line-height: 1.18; font-weight: 600; letter-spacing: -.005em; color: var(--ink); max-width: 680px; margin: 14px 0 0; }
.hsec .lede { margin-top: 20px; font-family: var(--sans); font-size: 16.5px; line-height: 1.7; color: var(--ink-soft); max-width: 620px; }
.hsec .lede strong { color: var(--ink); font-weight: 600; }
.hsec .lede em { font-family: var(--display); }

.beliefs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 40px; border-top: 2px solid var(--ink); }
.belief { padding: 26px 28px 0 0; }
.belief + .belief { border-left: 1px solid var(--line); padding-left: 28px; }
.belief .n { font-family: var(--display); font-size: 15px; color: var(--quiet); }
.belief p { margin-top: 10px; font-family: var(--sans); font-size: 15px; line-height: 1.55; color: var(--ink); }
.belief em { font-family: var(--display); font-style: italic; }
@media (max-width: 880px) { .beliefs { grid-template-columns: 1fr; border-top: 0; } .belief { border-top: 1px solid var(--line); padding: 20px 0 0; } .belief + .belief { border-left: 0; padding-left: 0; } }

.duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; margin-top: 34px; }
@media (max-width: 880px) { .duo { grid-template-columns: 1fr; gap: 40px; } }
.duo .copy p { margin-top: 16px; font-family: var(--sans); font-size: 15px; line-height: 1.75; color: var(--ink-soft); }
.duo .copy p strong { color: var(--ink); font-weight: 600; }
.facts { margin-top: 26px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.fact { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: 13.5px; }
.fact .k { color: var(--ink-soft); }
.fact .v { color: var(--ink); font-weight: 600; text-align: right; }

.hpanel { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 30px 32px; }
.hpanel .pk { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--quiet); }
.hpanel h4 { font-family: var(--display); font-size: 19px; font-weight: 600; color: var(--ink); margin-top: 10px; }
.hpanel .pillar-bar .nm { color: var(--ink-soft); }
.hpanel .pillar-bar .tr { background: var(--line-cool); }
.hpanel .pillar-bar .vl { color: var(--ink); }
.hpanel .pillar-bars { margin-top: 20px; }

.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.chip { font-family: var(--sans); font-size: 12.5px; font-weight: 500; color: var(--ink-soft); border: 1px solid var(--line); background: var(--card); border-radius: 999px; padding: 7px 14px; }
.chip.is-hit { color: #fff; background: var(--ink); border-color: var(--ink); }

.honest { padding: 92px 0; }
.honest h2.ht-dark { font-family: var(--display); font-size: clamp(28px, 3.6vw, 42px); line-height: 1.18; font-weight: 600; color: var(--cover-ink); max-width: 680px; margin: 14px 0 0; }
.honest .lede { margin-top: 20px; font-family: var(--sans); font-size: 16.5px; line-height: 1.7; max-width: 620px; }
.fail-rows { margin-top: 46px; border-top: 1px solid var(--hair); }
.fail { display: grid; grid-template-columns: 56px 230px 1fr; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--hair); align-items: baseline; }
.fail .n { font-family: var(--display); font-size: 17px; color: var(--cover-kicker); }
.fail h5 { font-family: var(--sans); font-size: 15.5px; font-weight: 600; color: var(--cover-ink); }
.fail p { font-family: var(--sans); font-size: 14px; line-height: 1.6; margin: 0; }
@media (max-width: 760px) { .fail { grid-template-columns: 40px 1fr; } .fail p { grid-column: 2; } }
.honest-bridge { margin-top: 42px; font-family: var(--display); font-size: 21px; line-height: 1.5; color: var(--cover-ink); max-width: 640px; }
.honest-bridge em { color: var(--cover-alert); font-style: italic; }

.prows { margin-top: 48px; border-top: 2px solid var(--ink); }
.prow { display: grid; grid-template-columns: 54px 210px 1fr; gap: 22px; padding: 22px 12px; margin: 0 -12px; border-bottom: 1px solid var(--line); align-items: baseline; border-radius: 8px; transition: background .2s ease; }
.prow:hover { background: rgba(255, 255, 255, .7); }
.prow .pn { font-family: var(--display); font-size: 18px; color: var(--quiet); }
.prow h5 { font-family: var(--display); font-size: 19px; font-weight: 600; color: var(--ink); }
.prow h5 i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 9px; }
.prow .pd { font-family: var(--sans); font-size: 13.5px; line-height: 1.7; color: var(--ink-soft); }
@media (max-width: 760px) { .prow { grid-template-columns: 40px 1fr; } .prow .pd { grid-column: 2; } }

.movex { margin-top: 40px; }
.movex .mh { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; flex-wrap: wrap; font-family: var(--sans); }
.movex .mh .tag { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--p-roots); }
.movex .mh .state { font-size: 12px; color: var(--quiet); }
.movex p.brief { margin-top: 12px; font-family: var(--sans); font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }
.move-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 22px; border-top: 1px solid var(--line); }
.move-cell { padding: 14px 18px 2px 0; border-bottom: 1px solid var(--line-cool); }
.move-cell .k { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--quiet); }
.move-cell .v { margin-top: 6px; font-family: var(--sans); font-size: 13.5px; color: var(--ink); font-weight: 500; padding-bottom: 12px; }
@media (max-width: 760px) { .move-grid { grid-template-columns: 1fr; } }

.paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.path { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 28px 28px 24px; position: relative; display: flex; flex-direction: column; }
.path.is-rec { background: var(--cover); border-color: var(--cover); box-shadow: 0 18px 44px rgba(31, 45, 36, .28); transform: translateY(-6px); }
.path.is-rec h5 { color: var(--cover-ink); }
.path.is-rec .sub { color: var(--cover-body); }
.path.is-rec .pn { color: var(--cover-kicker); }
.path.is-rec li { color: var(--cover-body); }
.path.is-rec li::before { background: var(--cover-kicker); }
.path .rec { position: absolute; top: -11px; left: 24px; background: var(--harvest); color: #fff; font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; }
@media (max-width: 880px) { .path.is-rec { transform: none; } }
.path .pn { font-family: var(--display); font-size: 15px; color: var(--quiet); }
.path h5 { font-family: var(--display); font-size: 20px; font-weight: 600; color: var(--ink); margin-top: 10px; }
.path .sub { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); margin-top: 4px; }
.path ul { list-style: none; margin-top: 16px; display: grid; gap: 9px; flex: 1; }
.path li { font-family: var(--sans); font-size: 13.5px; color: var(--ink-soft); padding-left: 18px; position: relative; line-height: 1.55; }
.path li::before { content: ''; position: absolute; left: 0; top: 10px; width: 9px; height: 1.5px; background: var(--evergreen); }
.path .act { margin-top: 22px; }
@media (max-width: 880px) { .paths { grid-template-columns: 1fr; } }

.rulequote { margin-top: 44px; padding: 22px 28px; border-left: 3px solid var(--harvest); background: var(--card); border-radius: 0 10px 10px 0; font-family: var(--display); font-style: italic; font-size: 18px; line-height: 1.6; color: var(--ink); max-width: 680px; }
.rulequote .who { display: block; margin-top: 10px; font-family: var(--sans); font-style: normal; font-size: 12.5px; color: var(--quiet); }

.final { padding: 92px 0; text-align: center; border-top: 1px solid var(--line); }
.final .treebox svg { max-width: 280px; }
.final h2.ht { margin: 16px auto 0; max-width: 680px; }
.final p { margin: 20px auto 0; font-family: var(--sans); font-size: 16px; line-height: 1.7; color: var(--ink-soft); max-width: 520px; }
.final-ctas { display: flex; gap: 14px; justify-content: center; margin-top: 36px; flex-wrap: wrap; }
.final-ctas .btn { width: auto; }
.final .base { margin-top: 44px; font-family: var(--sans); font-size: 12.5px; color: var(--quiet); }
.final .base em { font-family: var(--display); }

footer.hfoot { border-top: 1px solid var(--line); padding: 42px 0; font-family: var(--sans); font-size: 12.5px; color: var(--quiet); }
footer.hfoot .fin { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; }
footer.hfoot .fb { font-family: var(--display); font-size: 15px; color: var(--ink); }
footer.hfoot a { color: var(--ink-soft); margin-left: 22px; text-decoration: none; transition: color .2s; }
footer.hfoot a:hover { color: var(--ink); }
@media (max-width: 560px) { footer.hfoot a { margin-left: 0; margin-right: 16px; } }

/* Deep Report v2. One idea per page; two voices: sans carries structure, serif carries meaning. */
.rcover { background: var(--cover); color: var(--cover-body); border-radius: 14px; padding: 34px 30px 28px; margin: 12px 0 28px; }
.rkick { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--cover-kicker); }
.rtitle { font-family: var(--display); font-size: 34px; font-weight: 600; color: var(--cover-ink); line-height: 1.12; margin: 12px 0 4px; letter-spacing: -.01em; }
.rmeta { font-family: var(--sans); font-size: 12.5px; color: var(--cover-body); }
.rcover-tree { text-align: center; margin: 18px 0 6px; }
.rcover-tree svg { max-width: 250px; }
.rcover .tree .ground { stroke: rgba(255, 255, 255, .22); }
.rcover .tree .s1 { stroke: var(--sage); }
.rcover .tree .s2, .rcover .tree .s3 { stroke: var(--cover-ink); }
.rcover .tree .s3 .sap { stroke: var(--cover-kicker); }
.rcover .tree .s3 .lf { fill: rgba(159, 199, 173, .22); }
.rcover .tree .core, .rcover .tree .seed { fill: var(--cover-kicker); }
.rfacts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--hair); border: 1px solid var(--hair); border-radius: 10px; overflow: hidden; margin-top: 16px; }
.rfacts > div { background: var(--cover); padding: 12px 16px; }
.rfacts .k { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cover-kicker); }
.rfacts .v { font-family: var(--display); font-size: 16px; color: var(--cover-ink); margin-top: 3px; line-height: 1.3; }
.rfacts .vp { font-family: var(--sans); font-size: 11px; color: var(--cover-body); }
.rquestion { font-family: var(--display); font-style: italic; font-size: 17px; line-height: 1.5; color: var(--cover-ink); margin-top: 18px; border-top: 1px solid var(--hair); padding-top: 14px; }
@media (max-width: 560px) { .rfacts { grid-template-columns: 1fr; } }

.rsec { margin-bottom: 8px; }
.rtoc { border-top: 2px solid var(--ink); margin-top: 10px; }
.tocrow { display: grid; grid-template-columns: 30px 230px 44px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: 13px; align-items: baseline; }
.tocrow .tn { font-family: var(--display); color: var(--quiet); }
.tocrow .tt { color: var(--ink); font-weight: 500; }
.tocrow .ta { font-size: 11px; letter-spacing: .08em; color: var(--soil); font-weight: 600; }
.tocrow .tp { color: var(--ink-soft); font-size: 12.5px; }
@media (max-width: 560px) { .tocrow { grid-template-columns: 26px 1fr 40px; } .tocrow .tp { display: none; } }

.rletter p { font-family: var(--serif); font-size: 16px; line-height: 1.8; margin: 12px 0; }
.rstory p { font-family: var(--serif); font-size: 15.5px; line-height: 1.8; margin: 12px 0; }

.execstrip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.execstrip > div { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.execstrip .k { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--quiet); }
.execstrip .n { font-family: var(--display); font-size: 23px; color: var(--ink); margin-top: 3px; }
.execstrip .s { font-size: 11px; color: var(--ink-soft); margin-top: 1px; }
@media (max-width: 560px) { .execstrip { grid-template-columns: 1fr 1fr; } }
.pillbar .wk { flex: 0 0 200px; font-size: 11px; color: var(--quiet); text-align: right; }
@media (max-width: 680px) { .pillbar .wk { display: none; } }
.prooflist { margin: 6px 0 0 18px; font-size: 13.5px; color: var(--ink); }
.prooflist li { margin: 5px 0; line-height: 1.55; }

.evq, .evg { border-left: 3px solid var(--harvest); background: var(--card); border-radius: 0 8px 8px 0; padding: 12px 16px; margin: 10px 0; }
.evg { border-left-color: var(--leaf); }
.evlbl { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--quiet); margin-bottom: 6px; }
.evq .evline { font-family: var(--serif); font-style: italic; font-size: 14.5px; color: var(--ink); line-height: 1.6; margin: 4px 0; }
.evg .evline { font-family: var(--sans); font-size: 13.5px; color: var(--ink-soft); line-height: 1.6; margin: 4px 0; }
.gapline { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); line-height: 1.6; margin-top: 8px; }
.gapline strong { color: var(--ink); }

.chap { border-top: 2px solid var(--ink); margin-top: 30px; padding-top: 14px; }
.chaphead { display: flex; align-items: baseline; gap: 10px; }
.cdot { width: 10px; height: 10px; border-radius: 50%; flex: none; align-self: center; }
.cname { font-family: var(--display); font-size: 21px; font-weight: 600; color: var(--ink); }
.cscore { margin-left: auto; font-family: var(--display); font-size: 21px; color: var(--ink); }
.dimblock { background: var(--parchment); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; margin: 12px 0; }
.dimblock.iscon { border-color: var(--harvest); }
.dimhead { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: baseline; }
.dimhead .dn { font-family: var(--display); font-size: 15.5px; font-weight: 600; color: var(--ink); }
.dimhead .dv { font-family: var(--sans); font-size: 12px; font-weight: 600; color: var(--ink); }
.dimhead .conflag { color: var(--harvest); }
.heldrow { font-size: 12.5px; color: var(--ink-soft); line-height: 1.6; margin: 10px 0; padding: 10px 14px; background: var(--moss); border-radius: 8px; }
.heldrow.miss { background: var(--harvest-soft); }
.heldrow strong { color: var(--ink); }
.chapclose { font-family: var(--serif); font-style: italic; font-size: 14.5px; line-height: 1.7; color: var(--ink); border-left: 3px solid var(--sage); padding: 8px 14px; margin-top: 12px; }

.bamrow { border-top: 1px solid var(--line); padding: 12px 0; }
.bamrow:first-of-type { border-top: 2px solid var(--ink); }
.bamrow .bn { display: flex; justify-content: space-between; align-items: baseline; }
.bamrow .bn .nm { font-family: var(--display); font-size: 16px; font-weight: 600; color: var(--ink); }
.bamrow .bn .pc { font-family: var(--display); font-size: 16px; color: var(--ink); }
.bamrow .br { font-size: 13px; color: var(--ink-soft); margin-top: 2px; }
.bamrow .be { font-family: var(--serif); font-style: italic; font-size: 13.5px; color: var(--soil); margin-top: 5px; }

.costgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.costcell { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 13px 16px; }
.costcell .k { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--harvest); }
.costcell p { font-size: 13px; color: var(--ink-soft); line-height: 1.65; margin: 6px 0 0; }
@media (max-width: 560px) { .costgrid { grid-template-columns: 1fr; } }

/* The season worksheet: each move opens on the page itself, step by step. */
.wsmove { background: var(--card); border: 1px solid var(--line); border-radius: 12px; margin: 10px 0; }
.wsmove[open] { border-color: var(--sage); }
.wsmove summary { display: flex; align-items: baseline; gap: 12px; padding: 14px 18px; cursor: pointer; list-style: none; }
.wsmove summary::-webkit-details-marker { display: none; }
.wsmove .wsn { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--harvest); white-space: nowrap; }
.wsmove .wst { font-family: var(--display); font-size: 16px; font-weight: 600; color: var(--ink); flex: 1; }
.wsmove .wshint { font-size: 11px; color: var(--quiet); white-space: nowrap; }
.wsmove[open] .wshint { visibility: hidden; }
.wsbody { padding: 0 18px 16px; }
.wswhy { font-size: 13px; color: var(--ink-soft); line-height: 1.65; margin: 0 0 8px; }
.wssteps { margin: 0 0 0 18px; }
.wssteps li { font-size: 13px; color: var(--ink); line-height: 1.65; margin: 8px 0; }
.wssteps .blank { color: var(--quiet); letter-spacing: .05em; }
@media print { .wsmove .wshint { display: none; } }

.pathbox { background: var(--cover); color: var(--cover-body); border-radius: 12px; padding: 20px 24px; }
.pathbox .k { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cover-kicker); }
.pathbox .pname { font-family: var(--display); font-size: 24px; font-weight: 600; color: var(--cover-ink); margin: 4px 0 8px; }
.pathbox p { font-size: 13px; line-height: 1.65; margin: 7px 0; }
.pathbox strong { color: var(--cover-ink); }
.pathbox a { text-decoration: none; }

.wildbox { background: var(--card); border: 1px dashed var(--sage); border-radius: 12px; padding: 16px 20px; margin-top: 14px; }
.wildname { font-family: var(--display); font-size: 17px; font-weight: 600; color: var(--ink); margin-top: 4px; }
.wildmeta { font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--quiet); margin: 2px 0 8px; }
.wildtext { font-size: 13px; color: var(--ink-soft); line-height: 1.65; margin: 7px 0; }
.wildtext strong { color: var(--harvest); }

/* Season Workspace */
.movecard { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin: 12px 0; }
.movecard.isdone { border-color: var(--sage); background: var(--moss); }
.mctop { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.mct { font-family: var(--display); font-size: 16px; font-weight: 600; color: var(--ink); }
.mcs { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: 999px; padding: 3px 10px; }
.mcs.pending { background: var(--line-cool); color: var(--ink-soft); }
.mcs.started { background: var(--harvest-soft); color: var(--harvest); }
.mcs.done { background: var(--evergreen); color: #fff; }
.mcform label { display: block; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--quiet); margin: 10px 0 4px; }
.mcform textarea, .mcform input[type="text"] { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font-family: var(--serif); font-size: 14px; color: var(--ink); background: var(--parchment); resize: vertical; }
.mcform textarea:focus, .mcform input:focus { outline: none; border-color: var(--evergreen); }
.mcbtns { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.mcbtns .btn { width: auto; padding: 9px 16px; font-size: 13px; }

@media print {
  header.site, .btn, .nav, .door, form.panel { display: none !important; }
  body { background: #fff; }
  .pb { page-break-before: always; }
  .rcover, .rfacts > div { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@media (prefers-reduced-motion: reduce) {
  .draw path { animation: none; stroke-dashoffset: 0; }
}
