/* The Spacious Place — shared stylesheet for the six SEO money pages.
   Chrome (tokens, header, nav, footer, buttons) copied verbatim from index.html
   so these pages are one family with the rest of the site. Long-form reading
   layout appended below. Generated by tools/build-money-pages.py. */

:root{--bg:#F6F1E7;--surface-1:#EFE7D8;--surface-2:#E2D5BF;--border:#C9B79B;--border-soft:#D9CBB1;--text:#3E362E;--text-soft:#6B5F50;--accent:#6B7D5E;--accent-hover:#55684A;--on-accent:#F7F2E6;--hero-scrim-a:rgba(246,241,231,.94);--hero-scrim-b:rgba(246,241,231,.62);--hero-scrim-c:rgba(246,241,231,.06);--hero-text:#3B332A;--hero-soft:rgba(59,51,42,.82);--panel-bg:#38302A;--panel-text:#F2EADA;--panel-border:rgba(242,234,218,.16);--shadow-sm:0 1px 2px rgba(62,54,46,.06), 0 4px 14px rgba(62,54,46,.05);--shadow-md:0 2px 6px rgba(62,54,46,.08), 0 14px 34px rgba(62,54,46,.10);--shadow-lg:0 4px 12px rgba(62,54,46,.12), 0 26px 60px rgba(62,54,46,.16);--radius:14px;--radius-lg:20px;--maxw:1200px;--step--1:clamp(.8125rem,.78rem + .16vw,.9375rem);--step-0:clamp(1rem,.95rem + .25vw,1.125rem);--step-1:clamp(1.125rem,1.05rem + .375vw,1.3125rem);--step-2:clamp(1.3125rem,1.1875rem + .625vw,1.6875rem);--step-3:clamp(1.5625rem,1.3rem + 1.1vw,2.1875rem);--step-4:clamp(2rem,1.6rem + 1.8vw,3rem);--step-5:clamp(2.5rem,1.9rem + 2.8vw,4.25rem);--ease:cubic-bezier(.16,1,.3,1)}html[data-theme=night]{--bg:#211C16;--surface-1:#2B251D;--surface-2:#372F24;--border:#5A4E3C;--border-soft:#4A4132;--text:#F1E9D9;--text-soft:#C9BCA4;--accent:#7C8F6E;--accent-hover:#8FA37F;--on-accent:#1E1912;--hero-scrim-a:rgba(33,28,22,.94);--hero-scrim-b:rgba(33,28,22,.66);--hero-scrim-c:rgba(33,28,22,.10);--hero-text:#F2EADA;--hero-soft:rgba(242,234,218,.82);--shadow-sm:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.24);--shadow-md:0 2px 6px rgba(0,0,0,.32), 0 14px 34px rgba(0,0,0,.30);--shadow-lg:0 4px 12px rgba(0,0,0,.36), 0 26px 60px rgba(0,0,0,.42)}*,::before,::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:hidden}body{overflow-x:hidden}body{font-family:"Karla",system-ui,-apple-system,sans-serif;font-size:var(--step-0);line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--on-accent)}.font-display{font-family:"Fraunces",Georgia,serif}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}@media (min-width:1024px){.wrap{padding-inline:40px}}.contour{display:block;width:100%;height:auto;overflow:visible;color:var(--border)}.contour path{fill:none;stroke:currentColor;stroke-width:.6;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.contour--sage{color:var(--accent);opacity:.55}.kicker{font-family:"Karla",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-hover)}.h-display{font-family:"Fraunces",Georgia,serif;font-weight:430;font-size:var(--step-4);line-height:1.08;letter-spacing:-.018em;text-wrap:balance}.lede{color:var(--text-soft);max-width:62ch;font-size:var(--step-1);line-height:1.6}.section{padding-block:clamp(4.25rem,8vw,7rem)}.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:"Karla",sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.01em;padding:.9rem 1.55rem;border-radius:10px;border:1px solid transparent;transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);white-space:nowrap}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:0 0;border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn-solid-green{background:var(--accent-hover);border-color:var(--accent-hover);color:#f6f1e7}.btn-solid-green:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#f6f1e7;transform:translateY(-1px);filter:brightness(.9)}.btn-light{background:var(--panel-text);color:var(--panel-bg)}.btn-light:hover{background:#fff8e9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:0 0;border-color:rgba(242,234,218,.32);color:var(--panel-text)}.btn-ghost:hover{border-color:var(--panel-text);background:rgba(242,234,218,.08);transform:translateY(-1px)}.btn:focus-visible,.nav-toggle:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-header{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);border-bottom:1px solid transparent}.site-header.scrolled{background:var(--bg);border-bottom-color:var(--border-soft);box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:84px}.brand{display:flex;align-items:center;gap:.75rem;font-family:"Fraunces",Georgia,serif;font-size:1.22rem;font-weight:520;letter-spacing:-.01em}.brand-lockup{display:block;height:50px;width:auto}.footer-brand .brand-lockup{height:68px}.laurel-divider{display:block;width:170px;height:auto;margin:0 auto 1.4rem}.brand em{font-style:italic;font-weight:430;color:var(--text-soft)}.nav-links{display:none;align-items:center;gap:2rem}.nav-links a{font-size:.95rem;font-weight:500;color:var(--text-soft);transition:color .2s var(--ease);position:relative}.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a:hover::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:0 0;color:var(--text);transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:19px;height:19px}html[data-theme=light] .icon-moon{display:none}html[data-theme=night] .icon-sun{display:none}.nav-cta{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:0 0;color:var(--text)}.nav-toggle svg{width:22px;height:22px}.nav-toggle .icon-close{display:none}.nav-toggle[aria-expanded=true] .icon-open{display:none}.nav-toggle[aria-expanded=true] .icon-close{display:block}.mobile-panel{display:none;position:fixed;top:84px;left:0;right:0;bottom:0;z-index:59;background:var(--bg);padding:1.25rem 24px 2rem;flex-direction:column;gap:.25rem;overflow-y:auto;border-top:1px solid var(--border-soft)}.mobile-panel.open{display:flex}.mobile-panel a{font-family:"Fraunces",Georgia,serif;font-size:var(--step-2);font-weight:440;padding:1rem 0;border-bottom:1px solid var(--border-soft)}.mobile-panel .btn{margin-top:1.5rem;justify-content:center}.mobile-panel .btn-secondary{width:100%}@media (min-width:1024px){.nav-links{display:flex}.nav-cta{display:inline-flex;padding:.7rem 1.3rem;font-size:.9rem}.nav-toggle{display:none}.mobile-panel{display:none!important}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:heroPan 26s var(--ease) both}@keyframes heroPan{0%{transform:scale(1.06)}to{transform:scale(1)}}.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--hero-scrim-a) 0%,var(--hero-scrim-b) 34%,var(--hero-scrim-c) 72%),linear-gradient(to right,var(--hero-scrim-a) 0%,var(--hero-scrim-b) 42%,var(--hero-scrim-c) 78%)}.hero-content{position:relative;z-index:2;width:100%;padding-block:clamp(7rem,16vh,10.5rem) clamp(4.5rem,10vh,8rem)}.hero-inner{max-width:760px}.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--hero-soft);margin-bottom:1.4rem}.hero-kicker::before{content:"";width:34px;height:1px;background:var(--accent)}.hero h1{font-family:"Fraunces",Georgia,serif;font-weight:430;font-size:clamp(2.5rem,5.2vw + 1rem,4.9rem);line-height:1.04;letter-spacing:-.022em;color:var(--hero-text);text-wrap:balance}.hero h1 em{font-style:italic;font-weight:400}.hero-sub{margin-top:1.5rem;max-width:56ch;font-size:var(--step-1);line-height:1.6;color:var(--hero-soft)}.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}.hero-contour{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);width:min(880px,120%);max-width:none;z-index:3;color:var(--accent);opacity:.5;pointer-events:none}@media (prefers-reduced-motion:reduce){.hero-media img{animation:none}html{scroll-behavior:auto}}.colophon{border-bottom:1px solid var(--border-soft)}.colophon-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;padding-block:2.4rem}.colophon-line{display:flex;align-items:center;gap:1rem;width:100%;max-width:720px;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft)}.colophon-line::before,.colophon-line::after{content:"";height:1px;background:var(--border);flex:1}.colophon-note{font-family:"Fraunces",Georgia,serif;font-size:var(--step--1);color:var(--text-soft);white-space:nowrap}@media (max-width:640px){.colophon-note{white-space:normal}}.why{background:var(--bg)}.why-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(3.5rem,6.5vw,5.75rem)}.covenant-part{max-width:760px}.covenant-part .kicker{margin-bottom:1.15rem}.covenant-part .h-display{margin-bottom:1.7rem}
/* Part-one question: sized to match the part-two heading (--step-4 / 1.08) from
   640px up, so the two questions read as one pair. It wraps; held on one line it
   would run ~19.2x its own font-size and overflow the 760px column. */
@media (min-width:640px){.h-display--line{font-size:var(--step-4);line-height:1.08}}.covenant-body p{color:var(--text-soft);font-size:var(--step-1);line-height:1.65;margin-bottom:1.3rem}.covenant-body p:last-child{margin-bottom:0}.em-covenant{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:600;font-size:1.12em;color:var(--text)}.covenant-poem{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:430;font-size:var(--step-2);line-height:1.42;color:var(--text)}.covenant-seal{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:470;font-size:var(--step-2);line-height:1.4;color:var(--text);border-top:1px solid var(--border);padding-top:1.75rem;margin-top:2.5rem;max-width:38ch}@media (min-width:1024px){.covenant-part--two{justify-self:end;max-width:820px}}.covenant-callout{max-width:920px;justify-self:start;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow-sm)}.covenant-callout .kicker{display:block;margin-bottom:.9rem}.covenant-example{font-size:var(--step-1);line-height:1.78;color:var(--text-soft);max-width:54ch}.fig{font-family:"Fraunces",Georgia,serif;font-weight:540;display:inline-block;line-height:1;vertical-align:-.09em;padding-bottom:.06em;letter-spacing:-.015em;color:var(--accent-hover);white-space:nowrap}.fig-1{font-size:1.22em}.fig-2{font-size:1.75em}.fig-3{font-size:2.2em}@media (max-width:640px){.fig-2{font-size:1.55em}.fig-3{font-size:1.9em}}.covenant-grow{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--border)}.grow-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem 1.1rem;margin-bottom:1.15rem}.grow-title{font-family:"Fraunces",Georgia,serif;font-weight:540;font-size:var(--step-1);letter-spacing:-.01em;color:var(--text)}.grow-sub{font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}.grow-chart{width:100%;height:auto;display:block}.grow-chart text{font-family:"Karla",ui-sans-serif,system-ui,sans-serif}.grow-mult{font-size:19px;font-weight:700;fill:#f6f1e7;letter-spacing:.02em}.grow-mult--quiet{font-weight:600;opacity:.75}.grow-label{font-weight:600}.grow-amt{fill:var(--accent-hover);font-size:15px;font-weight:700}.grow-ctx{fill:var(--text-soft);font-size:12.5px;font-weight:500}.grow-note{margin-top:1.1rem;font-size:.92rem;line-height:1.6;color:var(--text-soft);max-width:52ch}.offerings{background:var(--surface-1);border-block:1px solid var(--border-soft);position:relative}.offerings .contour--header{width:min(320px,60%);margin:0 auto 2.2rem;color:var(--accent);opacity:.5}.offerings-head{text-align:center;max-width:760px;margin:0 auto 3.5rem}.offerings-head .kicker{margin-bottom:1.1rem}.offerings-head .h-display{margin-bottom:1.2rem}.offerings-head .lede{margin-inline:auto}.offering-grid{display:grid;gap:1.5rem;align-items:stretch}.offering-card{position:relative;background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:2.25rem 1.9rem 2.1rem;display:flex;flex-direction:column;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}.offering-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.offering-card--feature{border-color:var(--border);box-shadow:var(--shadow-md);outline:1px solid rgba(107,125,94,.28)}.offering-card--feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.offering-photo{display:block;width:100%;height:auto;border-radius:var(--radius-lg);margin-bottom:1.25rem;border:1px solid var(--border-soft);aspect-ratio:4/3;object-fit:cover}.offering-tag{display:inline-block;margin:0 auto 1.1rem;padding:.34rem .8rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;color:var(--accent-hover);border:1px solid var(--border);background:var(--surface-1)}.offering-tag--feature{background:var(--accent-hover);color:var(--on-accent);border-color:var(--accent-hover)}.offering-tag--green{background:var(--accent-hover);color:var(--on-accent);border-color:var(--accent-hover)}.offering-name{text-align:center;font-family:"Fraunces",Georgia,serif;font-size:var(--step-2);font-weight:480;letter-spacing:-.01em}.offering-path{text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin:.45rem 0 1.1rem}.offering-price{text-align:center;margin-bottom:1.3rem}.offering-price .amount{font-family:"Fraunces",Georgia,serif;font-size:var(--step-3);font-weight:480;letter-spacing:-.02em}.offering-price .unit{display:block;font-size:.8rem;letter-spacing:.06em;color:var(--text-soft);margin-top:.15rem}.offering-desc{color:var(--text-soft);font-size:var(--step-0);text-align:center;margin-bottom:1.4rem}.offering-feats{border-top:1px solid var(--border-soft);padding-top:1.3rem;margin-bottom:1.7rem;flex:1}.offering-feats li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;line-height:1.5;color:var(--text);padding:.42rem 0}.offering-feats svg{width:18px;height:18px;flex:none;color:var(--accent);margin-top:.18rem}.offering-cta{display:flex;flex-direction:column;align-items:center;gap:.8rem}.offering-cta .btn{width:100%;justify-content:center}.imprint{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);text-align:center}@media (min-width:1024px){.offering-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}.offering-card--course{grid-column:1;grid-row:1}.offering-card--folio{grid-column:2;grid-row:1}.offering-card--dynasty{grid-column:3;grid-row:1}.offering-card--feature{transform:translateY(-10px)}.offering-card--feature:hover{transform:translateY(-14px)}}/* =====================================================================
   Sage A (Scott, 2026-09-24) — THE LLC CONTAINMENT TRAY, DEEP SAGE
   Core = deep sage, all ink = --on-accent (cream), rules and the outline
   button mixed from --on-accent so they hold on the dark field.
   ===================================================================== */
.folio-tray{margin:0 0 1.6rem;padding:6px;border-radius:calc(var(--radius) + 6px);background:color-mix(in srgb,var(--accent-hover) 20%,var(--surface-1));border:1px solid color-mix(in srgb,var(--accent-hover) 42%,var(--border))}
.folio-tray__core{padding:1.15rem 1.15rem 1.2rem;border-radius:var(--radius);background:var(--accent-hover);color:var(--on-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.folio-tray__eyebrow{font-size:.64rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--on-accent);opacity:.92}
.folio-tray__name{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:1.1rem;letter-spacing:-.01em;margin:.32rem 0 .25rem;color:var(--on-accent)}
.folio-tray__desc{font-size:.88rem;line-height:1.5;color:var(--on-accent);opacity:.92}
.folio-tray__price{display:flex;align-items:baseline;gap:.45rem;margin-top:.75rem;font-variant-numeric:tabular-nums}
.folio-tray__amt{font-family:"Fraunces",Georgia,serif;font-size:1.45rem;font-weight:500;letter-spacing:-.02em;color:var(--on-accent)}
.folio-tray__unit{font-size:.76rem;color:var(--on-accent);opacity:.92}
.folio-tray details{margin-top:.85rem;border-top:1px solid color-mix(in srgb,var(--on-accent) 26%,transparent);padding-top:.75rem}
.folio-tray summary{cursor:pointer;font-size:.84rem;font-weight:600;color:var(--on-accent);list-style:none;display:flex;align-items:center;gap:.4rem}
.folio-tray summary::-webkit-details-marker{display:none}
.folio-tray summary::after{content:"+";margin-left:auto;font-weight:700}
.folio-tray details[open] summary::after{content:"–"}
.folio-tray details ul{margin-top:.7rem;display:grid;gap:.3rem}
.folio-tray details li{display:flex;gap:.55rem;font-size:.82rem;line-height:1.45;color:var(--on-accent);opacity:.92}
.folio-tray details li svg{width:14px;height:14px;flex:none;color:var(--on-accent);margin-top:.25rem}
.folio-tray .btn{width:100%;justify-content:center;margin-top:.95rem}
.folio-tray .btn-addon{background:0 0;border-color:color-mix(in srgb,var(--on-accent) 48%,transparent);color:var(--on-accent)}
.folio-tray .btn-addon:hover{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.folio-tray__inc{margin-top:.6rem;text-align:center;font-size:.72rem;letter-spacing:.04em;color:var(--on-accent);opacity:.92}
.folio-tray__inc b{color:var(--on-accent);font-weight:700}
/* =====================================================================
   Sage A — THE DYNASTY CARD, DEEP SAGE
   Mirrors the ink rules the add-on card used on deep sage. Its old
   .btn-solid-green would vanish on this field — the CTA is cream-on-sage.
   ===================================================================== */
.offering-card--dynasty{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent);box-shadow:var(--shadow-md)}
.offering-card--dynasty .offering-photo{border-color:color-mix(in srgb,var(--on-accent) 22%,transparent)}
.offering-card--dynasty .offering-tag{background:var(--on-accent);color:var(--accent-hover);border-color:var(--on-accent)}
.offering-card--dynasty .offering-name{color:var(--on-accent)}
.offering-card--dynasty .offering-path{color:var(--on-accent);opacity:.92}
.offering-card--dynasty .offering-price .amount{color:var(--on-accent)}
.offering-card--dynasty .offering-price .unit{color:var(--on-accent);opacity:.92}
.offering-card--dynasty .offering-desc{color:var(--on-accent);opacity:.92}
.offering-card--dynasty .offering-feats{border-top-color:color-mix(in srgb,var(--on-accent) 26%,transparent)}
.offering-card--dynasty .offering-feats li{color:var(--on-accent)}
.offering-card--dynasty .offering-feats svg{color:var(--on-accent)}
.btn-on-sage{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent-hover)}
.btn-on-sage:hover{background:0 0;border-color:var(--on-accent);color:var(--on-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-addon{background:var(--on-accent);color:var(--accent-hover);border-color:var(--on-accent)}.btn-addon:hover{background:0 0;color:var(--on-accent);border-color:var(--on-accent);box-shadow:var(--shadow-md)}.heirloom{background:var(--bg)}.heirloom-grid{display:grid;gap:3rem;align-items:center}.heirloom-media{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.heirloom-media-col{display:flex;flex-direction:column;gap:1.6rem;min-width:0}.heirloom-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.heirloom-contour{position:absolute;right:-24px;bottom:-24px;width:150px;height:150px;z-index:2;color:var(--bg);opacity:.9;pointer-events:none}.heirloom-content .kicker{margin-bottom:1.1rem}.heirloom-content h2{margin-bottom:1.3rem}.heirloom-content .lede{margin-bottom:2.2rem}.heirloom-feats{display:grid;gap:1rem;margin-bottom:2.2rem}.heirloom-feat{display:flex;gap:1.1rem;align-items:flex-start;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius);padding:1.4rem 1.5rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.heirloom-feat:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.heirloom-feat svg{width:24px;height:24px;flex:none;color:var(--accent);margin-top:.2rem}.heirloom-feat h3{font-size:var(--step-0);font-weight:600;margin-bottom:.3rem}.heirloom-feat p{color:var(--text-soft);font-size:.95rem;line-height:1.55}.heirloom-close{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:var(--step-1);line-height:1.5;color:var(--accent-hover);border-left:2px solid var(--accent);padding-left:1.1rem}.heirloom-credit{margin-top:.9rem;font-size:var(--step--1);line-height:1.55;color:var(--text-soft);padding-left:calc(1.1rem + 2px)}@media (min-width:1024px){.heirloom-grid{grid-template-columns:1fr 1fr;gap:4.5rem}}.ritual{position:relative;overflow:hidden;padding:0}.ritual-media{position:absolute;inset:0;z-index:0}.ritual-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(1.12) sepia(.14) hue-rotate(-8deg) brightness(1.03)}.ritual-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(33,28,22,.62),rgba(33,28,22,.22) 55%,rgba(33,28,22,.06))}.ritual-inner{position:relative;z-index:2;padding-block:clamp(5.5rem,12vw,9.5rem)}.ritual-panel{max-width:560px;background:var(--panel-bg);color:var(--panel-text);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3rem);box-shadow:var(--shadow-lg)}.ritual-panel .kicker{color:#b9c9a5}.ritual-panel h2{font-family:"Fraunces",Georgia,serif;font-weight:430;font-size:var(--step-4);line-height:1.1;letter-spacing:-.018em;margin:.9rem 0 1.2rem}.ritual-panel p{color:rgba(242,234,218,.86);font-size:var(--step-0);margin-bottom:1rem}.ritual-panel p:last-of-type{margin-bottom:1.6rem}.ritual-rule{height:1px;background:rgba(242,234,218,.18);margin:1.4rem 0 1.4rem}.ritual-sign{display:flex;align-items:center;gap:.8rem;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:var(--step-1);color:var(--panel-text)}.ritual-sign svg{width:22px;height:22px;color:#b9c9a5;flex:none}.dynasty-deep{background:var(--bg)}.dynasty-grid{display:grid;gap:3.5rem}.dynasty-content{max-width:760px;margin-inline:auto;text-align:center}.dynasty-content .kicker{margin-bottom:1.1rem}.dynasty-content h2{font-family:"Fraunces",Georgia,serif;font-weight:430;font-size:var(--step-4);line-height:1.1;letter-spacing:-.018em;margin-bottom:1.3rem}.dynasty-content>p{color:var(--text-soft);font-size:var(--step-1);max-width:58ch;margin-inline:auto;margin-bottom:2.2rem;text-align:left}.dynasty-features{display:grid;gap:1.25rem;grid-template-columns:1fr}.dynasty-figure{position:relative}.dynasty-figure .dynasty-diagram{width:100%;height:auto;display:block}.dynasty-figure .dynasty-stacked{display:none}@media (max-width:1023.98px){.dynasty-figure .dynasty-diagram{display:none}.dynasty-figure .dynasty-stacked{display:block;background:#f6f1e7}}.ds-head{text-align:center;padding:1.7rem 1.2rem .6rem}.ds-kicker{display:block;font-family:"Karla",sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#6b7d5e;margin-bottom:.65rem}.ds-title{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(1.3rem,5.4vw,1.8rem);line-height:1.14;letter-spacing:.005em;color:#3b3029;margin:0 auto;max-width:26ch}.ds-rule{display:block;width:74px;height:2px;background:#6b7d5e;margin:1rem auto 0}.ds-col{display:flex;flex-direction:column;padding:1.2rem .95rem 1.5rem}.ds-box{border-radius:16px;padding:1.2rem 1.15rem 1.1rem;box-shadow:0 10px 22px rgba(60,48,38,.12)}.ds-box--apex{background:#55684a}.ds-box--pass{background:#6b7d5e}.ds-box--pfct{background:#e9ede2;border:1.5px solid #6b7d5e}.ds-box--sub{background:#f6f1e7;border:1.5px solid #d8cbaf}.ds-box-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.16rem;letter-spacing:.01em;line-height:1.2;color:#f6f1e7;margin:0 0 .5rem}.ds-box--pfct .ds-box-title,.ds-box--sub .ds-box-title{color:#3b3029}.ds-box-sub{font-family:"Karla",sans-serif;font-style:italic;font-size:.95rem;line-height:1.5;color:#dce3cf;margin:0 0 .65rem}.ds-box--pfct .ds-box-sub,.ds-box--sub .ds-box-sub{color:#55684a}.ds-box-body{font-family:"Karla",sans-serif;font-size:.97rem;line-height:1.6;color:#f6f1e7;margin:0 0 .75rem}.ds-box-foot{font-family:"Karla",sans-serif;font-style:italic;font-size:.87rem;line-height:1.55;color:#e9ede2;margin:0;padding-top:.7rem;border-top:1px solid rgba(246,241,231,.32)}.ds-box--pfct .ds-box-foot,.ds-box--sub .ds-box-foot{color:#3b3029;border-top:1px solid rgba(216,203,175,.85)}.ds-chips{list-style:none;margin:0 0 .85rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:.55rem}.ds-chip{display:flex;align-items:center;gap:.5rem;background:#f6f1e7;border:1.5px solid #6b7d5e;border-radius:22px;padding:.5rem .72rem;min-height:44px}.ds-chip svg{width:21px;height:21px;flex:none}.ds-chip span{font-family:"Karla",sans-serif;font-size:.86rem;font-weight:600;line-height:1.25;color:#3b3029}.ds-chip--sub{background:#efe8d8;border-color:#d8cbaf}.ds-arrow{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:.9rem 0 .6rem}.ds-ribbon{width:30px;height:62px;flex:none}.ds-arrow-label{font-family:"Karla",sans-serif;font-size:.85rem;font-weight:600;color:#3b3029;background:#f6f1e7;border:1px solid #d8cbaf;border-radius:999px;padding:.36rem .95rem;box-shadow:0 2px 6px rgba(60,48,38,.08)}.ds-panel{background:#efe8d8;border:1.5px solid #d8cbaf;border-radius:16px;padding:1.2rem 1.1rem 1.25rem;margin-top:1rem}.ds-panel-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.08rem;color:#3b3029;margin:0 0 .8rem;text-align:center}.ds-seq{list-style:none;margin:0 0 .85rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.55rem}.ds-seq li{display:flex;align-items:center;gap:.55rem;background:#f6f1e7;border:1px solid #e5dbc5;border-radius:12px;padding:.55rem .65rem}.ds-seq-num{flex:none;width:26px;height:26px;border-radius:50%;background:#6b7d5e;color:#f6f1e7;font-family:"Karla",sans-serif;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.ds-seq-txt{font-family:"Karla",sans-serif;font-size:.87rem;line-height:1.3;color:#3b3029}.ds-badge{border:1.5px dashed #6b7d5e;border-radius:10px;padding:.6rem .8rem;text-align:center;font-family:"Karla",sans-serif;font-style:italic;font-size:.87rem;color:#3b3029}.ds-banner{background:#55684a;padding:1.15rem 1.1rem 1.25rem;text-align:center}.ds-banner-1{font-family:"Karla",sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f6f1e7;margin:0 0 .45rem}.ds-banner-2{font-family:"Karla",sans-serif;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.7;color:#e9ede2;margin:0}.dynasty-feat{display:flex;gap:1.1rem;align-items:flex-start;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius);padding:1.5rem 1.6rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.dynasty-feat:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dynasty-feat svg{width:24px;height:24px;flex:none;color:var(--accent);margin-top:.2rem}.dynasty-feat h3{font-size:var(--step-0);font-weight:600;margin-bottom:.35rem}.dynasty-feat p{color:var(--text-soft);font-size:.95rem;line-height:1.55}.dynasty-feat--crypto{border-color:var(--accent);background:linear-gradient(180deg,var(--surface-1),var(--surface-2))}.crypto-pill{display:inline-block;margin-bottom:.6rem;padding:.26rem .7rem;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border-radius:999px;background:var(--accent-hover);color:var(--on-accent)}@media (min-width:1024px){.dynasty-grid{grid-template-columns:1fr;gap:3rem}.dynasty-content{max-width:760px;margin-inline:auto;text-align:center}.dynasty-content>p{max-width:58ch;margin-inline:auto}.dynasty-features{grid-template-columns:repeat(3,1fr);gap:1.25rem}}html[data-theme=night] .dynasty-diagram>rect[width="1440"][height="1360"]{fill:#211c16}html[data-theme=night] .dynasty-diagram rect[fill="#F6F1E7"]{fill:#2b251d}html[data-theme=night] .dynasty-diagram rect[fill="#E9EDE2"]{fill:#2b251d}html[data-theme=night] .dynasty-diagram rect[fill="#EFE8D8"]{fill:#372f24}html[data-theme=night] .dynasty-diagram text[fill="#3B3029"]{fill:#f1e9d9}html[data-theme=night] .dynasty-diagram text[fill="#55684A"]{fill:#7c8f6e}html[data-theme=night] .dynasty-diagram text[fill="#6B7D5E"]{fill:#7c8f6e}html[data-theme=night] .dynasty-diagram [stroke="#D8CBAF"]{stroke:#5a4e3c}html[data-theme=night] .dynasty-diagram [stroke="#6B7D5E"]{stroke:#7c8f6e}html[data-theme=night] .dynasty-diagram [stroke="#55684A"]{stroke:#7c8f6e}html[data-theme=night] .dynasty-stacked{background:#211c16}html[data-theme=night] .ds-kicker{color:#7c8f6e}html[data-theme=night] .ds-title{color:#f1e9d9}html[data-theme=night] .ds-rule{background:#7c8f6e}html[data-theme=night] .ds-box{box-shadow:0 10px 22px rgba(0,0,0,.32)}html[data-theme=night] .ds-box--pfct{background:#2b251d;border-color:#7c8f6e}html[data-theme=night] .ds-box--sub{background:#2b251d;border-color:#5a4e3c}html[data-theme=night] .ds-box--pfct .ds-box-title,html[data-theme=night] .ds-box--sub .ds-box-title{color:#f1e9d9}html[data-theme=night] .ds-box--pfct .ds-box-sub,html[data-theme=night] .ds-box--sub .ds-box-sub{color:#7c8f6e}html[data-theme=night] .ds-box--pfct .ds-box-foot,html[data-theme=night] .ds-box--sub .ds-box-foot{color:#c9bca4;border-top-color:rgba(90,78,60,.85)}html[data-theme=night] .ds-chip{background:#2b251d;border-color:#7c8f6e}html[data-theme=night] .ds-chip svg{stroke:#7c8f6e}html[data-theme=night] .ds-chip span{color:#f1e9d9}html[data-theme=night] .ds-chip--sub{background:#372f24;border-color:#5a4e3c}html[data-theme=night] .ds-arrow-label{color:#f1e9d9;background:#2b251d;border-color:#5a4e3c;box-shadow:0 2px 6px rgba(0,0,0,.32)}html[data-theme=night] .ds-panel{background:#372f24;border-color:#5a4e3c}html[data-theme=night] .ds-panel-title{color:#f1e9d9}html[data-theme=night] .ds-seq li{background:#2b251d;border-color:#5a4e3c}html[data-theme=night] .ds-seq-num{color:#f1e9d9}html[data-theme=night] .ds-seq-txt{color:#f1e9d9}html[data-theme=night] .ds-badge{border-color:#7c8f6e;color:#c9bca4}html[data-theme=night] .ds-banner-1{color:#f1e9d9}html[data-theme=night] .ds-banner-2{color:#c9bca4}.credibility{background:var(--surface-1);border-block:1px solid var(--border-soft)}.credibility-head{max-width:820px;margin-bottom:3rem}.credibility-head .kicker{margin-bottom:1.1rem}.credibility-head .h-display{margin-bottom:1.2rem}.credibility-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}.cred-card{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius);padding:2rem 1.75rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.cred-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cred-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--accent);margin-bottom:1.2rem}.cred-icon svg{width:22px;height:22px}.cred-card h3{font-size:var(--step-1);font-family:"Fraunces",Georgia,serif;font-weight:520;letter-spacing:-.01em;margin-bottom:.55rem}.cred-card p{color:var(--text-soft);font-size:.98rem;line-height:1.6}.cred-note{margin-top:2.6rem;display:flex;gap:1rem;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap;font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-soft)}.cred-note::before,.cred-note::after{content:"";height:1px;width:56px;background:var(--border)}@media (min-width:1024px){.credibility-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.faq{background:var(--bg)}.faq-head{max-width:820px;margin-bottom:2.6rem}.faq-head .kicker{margin-bottom:1.1rem}.faq-head .h-display{margin-bottom:1.2rem}.faq-list{max-width:820px;margin:0 auto;display:grid;gap:.9rem}.faq-item{background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.faq-item:hover{border-color:var(--border)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;cursor:pointer;list-style:none;padding:1.45rem 1.6rem;font-family:"Fraunces",Georgia,serif;font-size:var(--step-1);font-weight:480;letter-spacing:-.01em}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .chevron{flex:none;width:22px;height:22px;color:var(--accent);transition:transform .3s var(--ease)}.faq-item[open] summary .chevron{transform:rotate(45deg)}.faq-item[open]{border-color:var(--border)}.faq-answer{padding:0 1.6rem 1.5rem;color:var(--text-soft);font-size:.98rem;line-height:1.65;max-width:70ch}.faq-answer a{color:var(--accent-hover);font-weight:600;text-decoration:underline;text-underline-offset:3px}.final-cta{position:relative;overflow:hidden;padding:0}.final-media{position:absolute;inset:0;z-index:0}.final-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.final-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(33,28,22,.42)0,rgba(33,28,22,.62) 55%,rgba(33,28,22,.86) 100%),radial-gradient(ellipse at 50% 30%,rgba(107,125,94,.22),transparent 65%)}.final-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(7rem,16vw,12rem) clamp(6rem,14vw,11rem);color:var(--panel-text)}.final-inner .kicker{color:#b9c9a5}.final-inner h2{font-family:"Fraunces",Georgia,serif;font-weight:430;font-size:clamp(2.6rem,4.6vw + 1rem,4.6rem);line-height:1.05;letter-spacing:-.022em;margin:1.2rem 0 1.4rem;text-wrap:balance}.final-inner .lede{color:rgba(242,234,218,.85);margin-inline:auto}.final-ctas{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-top:2.4rem}.final-contour{position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);width:min(900px,120%);max-width:none;z-index:3;color:rgba(242,234,218,.5);pointer-events:none}.site-footer{background:#1c1712;color:#cfc2a9;padding-block:4rem 2.2rem}.site-footer a{color:#cfc2a9;transition:color .2s var(--ease)}.site-footer a:hover{color:#f2eada}.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;margin-bottom:3rem}.footer-brand .brand{color:#f2eada;font-size:1.3rem;margin-bottom:1rem}.footer-brand p{font-size:.92rem;line-height:1.65;color:#a99c82;max-width:34ch}.footer-col h4{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f2eada;margin-bottom:1.1rem}.footer-col ul{display:grid;gap:.6rem;font-size:.95rem}.footer-col li a{color:#b7aa90}.footer-legal{border-top:1px solid rgba(242,234,218,.12);padding-top:1.8rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;font-size:.82rem;color:#9c8f76}.footer-legal .fine{max-width:78ch;line-height:1.6}.footer-legal .meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;width:100%}.footer-legal .meta span:last-child{margin-left:auto}.footer-legal .photo-credit{font-size:.78rem;color:#8a7d63;opacity:.85}@media (min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}.footer-legal{flex-direction:row;justify-content:space-between;align-items:flex-start}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--on-accent);padding:.7rem 1.1rem;border-radius:0 0 10px 0;font-weight:600}.skip-link:focus{left:0}/* ── final CTA: the three offerings, as the visual primaries ── */
.final-offer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:190px;padding:.95rem 1.5rem;border-radius:10px;border:1px solid transparent;background:var(--panel-text);color:var(--panel-bg);text-align:center;transition:background .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease)}
.final-offer:hover{background:#fff8e9;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.34)}
.final-offer-name{font-size:.95rem;font-weight:700;letter-spacing:.01em;line-height:1.25}
.final-offer-price{font-family:"Fraunces",Georgia,serif;font-size:1.05rem;font-weight:500;color:#55684A;line-height:1.3}
.final-offer--feature{background:#55684A;color:var(--panel-text)}
.final-offer--feature .final-offer-price{color:var(--panel-text)}
.final-offer--feature:hover{background:#4A5C40}
.final-offer:focus-visible{outline:2px solid var(--panel-text);outline-offset:3px}
@media (max-width:560px){.final-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:340px;margin-inline:auto}.final-offer{width:100%}}
@media (prefers-reduced-motion:reduce){.final-offer,.final-offer:hover{transform:none}}
/* ── TCC waitlist (2026-09-12) — the course card's email capture ──
   The no-JS state IS the base state: the form shows, the toggle is hidden
   and the form POSTs natively to /api/waitlist. `html.js` (set in <head>)
   flips it behind the button and hands the submit to fetch. */
.wl-toggle{display:none}
html.js .wl-toggle{display:inline-flex}
html.js .wl-toggle[hidden]{display:none}
.wl-panel{width:100%;text-align:center}
html.js .wl-panel{display:none}
html.js .wl-panel.is-open{display:block}
.wl-lede{font-size:var(--step--1);line-height:1.55;color:var(--text-soft);margin:0 0 .8rem;text-align:left}
.wl-form{display:flex;flex-direction:column;gap:.7rem;text-align:left}
.wl-field{display:flex;flex-direction:column;gap:.35rem}
.wl-field label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hover)}
.wl-field input{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:.72rem .85rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.wl-field input::placeholder{color:var(--text-soft)}
/* ONE focus indicator, never two — the same soft sage ring the site's own
   inputs use (onboarding.css), so it reads as a halo rather than a second border */
.wl-field input:focus,.wl-field input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:0}
.wl-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wl-submit{width:100%;justify-content:center}
.wl-submit[disabled]{opacity:.65;cursor:progress;transform:none}
.wl-form[hidden],.wl-lede[hidden]{display:none}
.wl-msg{margin:0;font-size:.85rem;line-height:1.55;color:var(--text-soft)}
.wl-msg:empty{display:none}
.wl-msg.is-error{color:#9C3B22}
.wl-msg.is-done{font-size:.95rem;color:var(--text)}
html[data-theme=night] .wl-msg.is-error{color:#E0A08C}
/* ── Charter gate (2026-09-17) — the email capture on the way into the Charter ──
   The no-JS state IS the base state, exactly like the course card's waitlist: every
   trigger link opens its own document as it always has. `html.js` (set in <head>)
   intercepts the click and asks for an address first, POSTed to the same
   /api/waitlist door under the destination's own source — "charter-gate" for the
   Charter. More than one link can open this one gate: each carries data-charter-gate
   and names its document on data-gate-target, and the copy follows that document. */
.cg-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(33,28,22,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .24s var(--ease)}
.cg-backdrop.is-open{opacity:1}
.cg-backdrop[hidden]{display:none}
.cg-card{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.9rem,4.5vw,2.6rem);box-shadow:var(--shadow-lg);transform:translateY(8px);transition:transform .3s var(--ease)}
.cg-backdrop.is-open .cg-card{transform:none}
.cg-emblem{width:148px;height:auto;margin:0 auto 1.1rem}
/* The emblem is dark ink on transparency (12.2:1 on the oat card, 1.2:1 on the
   espresso one), and the house keeps no light-ink emblem — so at night the mark
   sits on an oat plate, the way the seal sits on the folio, instead of vanishing. */
html[data-theme=night] .cg-emblem{width:168px;background:#F4F0E6;border-radius:12px;padding:10px}
.cg-kicker{display:block;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:.6rem}
.cg-title{font-family:"Fraunces",Georgia,serif;font-weight:440;font-size:var(--step-2);line-height:1.14;letter-spacing:-.014em;text-align:center;margin-bottom:.75rem}
.cg-lede{font-size:var(--step--1);line-height:1.6;color:var(--text-soft);text-align:center;margin-bottom:1.5rem}
.cg-form{display:flex;flex-direction:column}
.cg-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.8rem}
.cg-field label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hover)}
.cg-field input{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:.72rem .85rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.cg-field input::placeholder{color:var(--text-soft)}
/* ONE focus indicator, never two — the same soft sage halo the site's own inputs use */
.cg-field input:focus,.cg-field input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:0}
.cg-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cg-submit{width:100%;justify-content:center}
.cg-submit[disabled]{opacity:.65;cursor:progress;transform:none}
.cg-form[hidden],.cg-go[hidden],.cg-alt[hidden]{display:none}
.cg-go{margin-top:.2rem}
.cg-msg{margin:.85rem 0 0;font-size:.85rem;line-height:1.55;color:var(--text-soft);text-align:center}
.cg-msg:empty{display:none}
.cg-msg.is-error{color:#9C3B22}
.cg-msg.is-done{font-size:.95rem;color:var(--text)}
html[data-theme=night] .cg-msg.is-error{color:#E0A08C}
.cg-alt{margin:.9rem 0 0;text-align:center;font-size:.82rem;line-height:1.55;color:var(--text-soft)}
.cg-alt a{color:var(--accent-hover);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cg-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:0 0;color:var(--text-soft);transition:color .2s var(--ease),border-color .2s var(--ease)}
.cg-close:hover{color:var(--text);border-color:var(--border)}
.cg-close svg{width:18px;height:18px}
.cg-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.cg-backdrop,.cg-card{transition:none}}


/* ══════════════════════════════════════════════════════════════════════════
   The Spacious Place — money pages: long-form reading layout
   Appended to the site stylesheet so the six SEO pages are one family with
   index.html and about.html. Oat-cream ground, sage accent, no white panels.
   ══════════════════════════════════════════════════════════════════════════ */

.mp-hero {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border-bottom: 1px solid var(--border-soft);
  padding-block: clamp(3rem, 7vw, 5.25rem) clamp(2rem, 3.5vw, 3rem);
}
.mp-hero .contour {
  position: absolute;
  top: -46%;
  right: -8%;
  width: min(760px, 88%);
  opacity: .12;              /* contour watermark ≤ 12% */
  color: var(--accent);
  pointer-events: none;
  z-index: 0;
}
.mp-hero .wrap { position: relative; z-index: 1; }

.mp-measure { max-width: 44rem; }

.mp-hero h1 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 420;
  font-size: clamp(2.05rem, 1.2rem + 3.4vw, 3.35rem);
  line-height: 1.07;
  letter-spacing: -.02em;
  margin: 0 0 1.15rem;
  text-wrap: balance;
}
.mp-lede {
  font-size: clamp(1.08rem, 1rem + .5vw, 1.26rem);
  line-height: 1.6;
  margin: 0;
  color: var(--text);
}
.mp-lede strong { font-weight: 520; }

.mp-section { background: var(--bg); padding-block: clamp(2.5rem, 5vw, 4.5rem); }

.mp-body { max-width: 44rem; }
.mp-body p { margin: 0 0 1.25rem; line-height: 1.75; }

.mp-body h2 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 440;
  font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: -.015em;
  margin: clamp(2.5rem, 4vw, 3.4rem) 0 1.05rem;
}
.mp-body h2:first-child { margin-top: 0; }

.mp-body h3 {
  font-family: "Karla", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.05rem, 1rem + .3vw, 1.16rem);
  line-height: 1.35;
  letter-spacing: -.005em;
  margin: 2rem 0 .55rem;
}
.mp-body h3.mp-q { position: relative; padding-left: 1.15rem; }
.mp-body h3.mp-q::before {
  content: ""; position: absolute; left: 0; top: .45em;
  width: .5rem; height: .5rem; border-radius: 2px;
  background: var(--accent); transform: rotate(45deg);
}

.mp-body ul, .mp-body ol { margin: 0 0 1.5rem; }
.mp-body ul { list-style: none; padding-left: 0; }
.mp-body ul li { position: relative; padding-left: 1.5rem; margin: .5rem 0; line-height: 1.7; }
.mp-body ul li::before {
  content: ""; position: absolute; left: .2rem; top: .68em;
  width: .4rem; height: .4rem; border-radius: 50%; background: var(--accent);
}
.mp-body ol { padding-left: 1.4rem; }
.mp-body ol li { margin: .5rem 0; line-height: 1.7; padding-left: .3rem; }
.mp-body ol li::marker { color: var(--accent-hover); font-weight: 700; }

.mp-body a { color: var(--accent-hover); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.mp-body a:hover { color: var(--text); }
.mp-body strong { font-weight: 650; }

/* Bible verse / epigraph */
.mp-verse {
  margin: 0 0 2rem;
  padding: 1.35rem 1.6rem;
  background: var(--surface-1);
  border-left: 3px solid var(--accent);
  border-radius: 0 12px 12px 0;
}
.mp-verse p {
  margin: 0;
  font-family: "Fraunces", Georgia, serif;
  font-style: italic;
  font-weight: 420;
  font-size: clamp(1.1rem, 1rem + .6vw, 1.3rem);
  line-height: 1.5;
}

/* Shaded call-out boxes (markdown blockquotes carrying the buttons) */
.mp-callout {
  margin: 0 0 1.4rem;
  padding: 1.5rem 1.6rem;
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}
.mp-callout p { margin: 0 0 .5rem; line-height: 1.7; }
.mp-body p.mp-callout { margin: 0 0 1.4rem; }
.mp-callout > p:last-child { margin-bottom: 0; }
.mp-callout strong {
  display: block;
  font-family: "Fraunces", Georgia, serif;
  font-weight: 520;
  font-size: 1.1rem;
  line-height: 1.3;
  margin-bottom: .4rem;
}

/* CTA button rows */
.mp-cta-row { margin: .95rem 0 0; display: flex; flex-wrap: wrap; gap: .7rem .8rem; align-items: center; }
.mp-cta-row .btn { text-align: center; }
.mp-cta-line { margin: 1.6rem 0 0; display: flex; flex-wrap: wrap; gap: .7rem .9rem; align-items: center; }

/* Comparison tables — legible on a phone via horizontal scroll */
.mp-tablewrap {
  margin: 1.5rem 0 2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-1);
}
.mp-table { border-collapse: collapse; width: 100%; min-width: 34rem; font-size: .96rem; }
.mp-table th, .mp-table td {
  text-align: left;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--border-soft);
  vertical-align: top;
  line-height: 1.5;
}
.mp-table thead th {
  background: var(--surface-2);
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: .02em;
}
.mp-table tbody tr:last-child td { border-bottom: 0; }
.mp-table td:first-child { font-weight: 600; }

/* Disclaimer */
.mp-disclaimer { margin-top: clamp(2.5rem, 4vw, 3.5rem); padding-top: 1.5rem; border-top: 1px solid var(--border); }
.mp-disclaimer h2 { font-family: "Karla", system-ui, sans-serif; font-weight: 700; font-size: 1.05rem; letter-spacing: .01em; margin: 0 0 .55rem; }
.mp-disclaimer p { font-size: .95rem; color: var(--text-soft); margin: 0; line-height: 1.7; }

@media (max-width: 640px) {
  .mp-hero .contour { top: -30%; right: -34%; width: 130%; }
  .mp-callout { padding: 1.25rem 1.2rem; }
  .mp-cta-row .btn, .mp-cta-line .btn { width: 100%; justify-content: center; }
}


/* 2026-10-02 — review pass: centre the reading measure (a 44rem column sat
   hard left inside the 1200px wrap and read lopsided on desktop), and keep
   the contour watermark clear of the headline on phones. */
.mp-measure{margin-inline:auto}
@media (max-width:640px){
  .mp-hero .contour{top:auto;bottom:-30%;right:-18%;width:min(460px,104%);opacity:.1}
}

/* ==========================================================================
   Money-page editorial layer - 2026-10-02
   The framed plate: every page opens full-bleed on a golden-hour photograph
   with the headline on the oat scrim, and every explanatory graphic is a
   hand-drawn fine-line SVG in sage on oat. Nothing here animates on scroll.
   Tokens only - no new colour values outside the site palette.
   ========================================================================== */

/* hero: full-bleed photo plate */
.mp-hero { display: flex; align-items: flex-start; padding-block: 0;
  min-height: clamp(28rem, 62vh, 42rem); border-bottom: 1px solid var(--border); }
.mp-hero-media { position: absolute; inset: 0; z-index: 0; }
.mp-hero-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.mp-hero-scrim { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(246,241,231,.94) 0%, rgba(246,241,231,.62) 42%, rgba(246,241,231,.06) 84%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 94%, transparent) 0%,
              color-mix(in srgb, var(--bg) 62%, transparent) 42%,
              color-mix(in srgb, var(--bg) 6%, transparent) 84%); }
.mp-hero .wrap { position: relative; z-index: 2; width: 100%;
  padding-block: clamp(2.6rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3.5rem); }
.mp-hero h1 { margin-bottom: .85rem; }
.mp-kicker { margin: 0 0 .9rem; font-family: "Karla", system-ui, sans-serif; font-size: .72rem;
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent-hover); }
.mp-pull { margin: 0 0 1.15rem; padding: .9rem 0; font-family: "Fraunces", Georgia, serif;
  font-weight: 440; font-size: clamp(1.2rem, 1rem + 1vw, 1.62rem); line-height: 1.28;
  letter-spacing: -.012em; color: var(--text); text-wrap: balance;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.mp-lede { color: var(--text-soft); }
.mp-lede strong { font-weight: inherit; }

/* scripture: Fraunces italic in sage, set apart under a hairline rule */
.mp-verse { background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0;
  padding: 1.25rem 0 0; margin: 0 0 1.75rem; }
.mp-verse p { font-family: "Fraunces", Georgia, serif; font-style: italic; font-weight: 420;
  font-size: clamp(1.12rem, 1rem + .7vw, 1.4rem); line-height: 1.5; color: var(--accent-hover); }
.mp-section--verse { padding-block: clamp(1.75rem, 3.5vw, 3rem) 0; }
.mp-verse--inline { margin-top: -.4rem; }

/* sections */
.mp-section { padding-block: clamp(2.25rem, 4.5vw, 4rem); }
.mp-body { margin-inline: auto; }
.mp-section--marked .mp-body h2::before { content: ""; display: block; width: 2.25rem;
  height: 2px; background: var(--accent); margin-bottom: 1rem; opacity: .75; }

/* split: prose and diagram trade sides down the page */
.mp-split { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; }
.mp-prose { max-width: 44rem; }
.mp-prose p { margin: 0 0 1.25rem; line-height: 1.75; }
.mp-prose ul, .mp-prose ol { margin: 0 0 1.5rem; }
.mp-split--cols .mp-chords { margin-bottom: 1.5rem; }
@media (min-width: 1024px) {
  .mp-split { grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 3.5rem); }
  .mp-split--fig-right .mp-prose { order: 1; }
  .mp-split--fig-right .mp-figure { order: 2; }
  .mp-split--fig-left .mp-prose { order: 2; }
  .mp-split--fig-left .mp-figure { order: 1; }
  .mp-split--cols .mp-chords { columns: 2; column-gap: 2rem; }
  .mp-split--cols .mp-chords li { break-inside: avoid; }
}

/* figure: the hand-drawn sage plate */
.mp-figure { margin: 0; padding: clamp(1rem, 2vw, 1.5rem); background: var(--surface-1);
  border: 1px solid var(--border); border-radius: var(--radius-lg); }
.mp-diagram { display: block; width: 100%; height: auto; color: var(--accent); overflow: visible; }
.mp-figure figcaption { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--border);
  font-size: .85rem; line-height: 1.6; color: var(--text-soft); }
.mp-dg-lab text { font-family: "Fraunces", Georgia, serif; font-size: 13.5px; font-weight: 520;
  letter-spacing: .07em; text-transform: uppercase; fill: var(--text); }
.mp-dg-val text { font-family: "Karla", system-ui, sans-serif; font-size: 12.5px; font-weight: 700;
  letter-spacing: .02em; fill: var(--accent-hover); }
.mp-dg-sub text { font-family: "Karla", system-ui, sans-serif; font-size: 12px; fill: var(--text-soft); }
.mp-dg-axis { stroke: var(--border); stroke-width: 1; }
.mp-dg-rule { fill: currentColor; opacity: .13; }

/* plate: the full-bleed photograph proof break */
.mp-plate { margin: 0; background: var(--surface-1); }
.mp-plate img { display: block; width: 100%; height: auto; max-height: min(70vh, 34rem);
  object-fit: cover; object-position: 50% 55%; }
.mp-plate-cap { max-width: 44rem; margin: 0 auto; padding: .9rem 1.25rem 1rem;
  font-family: "Karla", system-ui, sans-serif; font-size: .82rem; line-height: 1.55;
  letter-spacing: .02em; color: var(--text-soft); border-top: 1px solid var(--border-soft); }

/* table: restyled, and a stacked ledger under 768px (no side scroll) */
.mp-tablewide { max-width: 62rem; margin-inline: auto; }
.mp-tablewrap { border-radius: var(--radius); background: var(--surface-1); border-color: var(--border);
  margin: 1.5rem 0 1.75rem; }
.mp-table { min-width: 30rem; font-size: .93rem; }
.mp-table th, .mp-table td { padding: .85rem 1.05rem; border-bottom: 1px solid var(--border-soft); }
.mp-table thead th { background: var(--surface-2); font-family: "Karla", system-ui, sans-serif;
  font-weight: 700; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.mp-table td:first-child { font-family: "Fraunces", Georgia, serif; font-weight: 520; font-size: 1rem; }
@media (max-width: 767.98px) {
  .mp-tablewrap { overflow: visible; border: 0; background: none; margin: 1.25rem 0 1.5rem; }
  .mp-table { min-width: 0; display: block; font-size: .97rem; }
  .mp-table thead { display: none; }
  .mp-table tbody, .mp-table tr, .mp-table td { display: block; width: 100%; }
  .mp-table tr { padding: .9rem 0 1rem; border-top: 1px solid var(--border); }
  .mp-table tr:first-child { border-top: 0; }
  .mp-table td { border: 0; padding: .1rem 0; }
  .mp-table td:first-child { font-size: 1.06rem; line-height: 1.35; margin-bottom: .45rem; }
  .mp-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .12rem;
    font-family: "Karla", system-ui, sans-serif; font-size: .68rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; color: var(--accent-hover); }
}

/* FAQ ledger: two hairlined columns, a reference not a list */
.mp-ledger { display: grid; gap: 0; }
.mp-ledger-item { padding: 1.4rem 0 1.5rem; border-top: 1px solid var(--border); }
.mp-ledger .mp-q { padding-left: 0; }
.mp-ledger .mp-q::before { display: none; }
.mp-ledger .mp-a > :last-child { margin-bottom: 0; }
@media (min-width: 768px) {
  .mp-ledger { grid-template-columns: 1fr 1fr; column-gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
}

/* one framed CTA panel (replaces the stacked promo callouts) */
.mp-section--cta { padding-block: clamp(2.25rem, 4.5vw, 4rem); }
.mp-cta-panel { max-width: 56rem; margin-inline: auto; padding: clamp(1.6rem, 3.5vw, 2.75rem);
  background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm); }
.mp-cta-panel-head { margin-bottom: 1.5rem; }
.mp-cta-panel-head h2 { margin: 0; font-family: "Fraunces", Georgia, serif; font-weight: 440;
  font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.1rem); line-height: 1.15; letter-spacing: -.015em; }
.mp-ornament { display: block; width: clamp(92px, 16vw, 140px); height: auto;
  margin: 0 auto 1.1rem; opacity: .9; }
.mp-offers { display: grid; gap: clamp(.9rem, 2vw, 1.25rem); }
@media (min-width: 900px) { .mp-offers { grid-template-columns: 1fr 1fr; } }
.mp-offer { padding: clamp(1.1rem, 2vw, 1.5rem); background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--radius); }
.mp-offer p { margin: 0 0 .6rem; line-height: 1.7; font-size: .97rem; }
.mp-offer > p:last-child { margin-bottom: 0; }
.mp-offer strong { display: block; margin-bottom: .5rem; font-family: "Fraunces", Georgia, serif;
  font-weight: 520; font-size: 1.06rem; line-height: 1.32; letter-spacing: -.01em; }
.mp-cta-line { margin: 1.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--border);
  font-size: .97rem; color: var(--text-soft); }
.mp-cta-line a { color: var(--accent-hover); }

/* disclaimer: small print, not a section heading */
.mp-note { max-width: 44rem; margin: clamp(1.5rem, 3vw, 2.5rem) auto clamp(3rem, 6vw, 4.5rem);
  padding-top: 1.25rem; border-top: 1px solid var(--border); }
.mp-note-title { margin: 0 0 .5rem; font-family: "Karla", system-ui, sans-serif; font-size: .72rem;
  font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--text-soft); }
.mp-note p { margin: 0 0 .5rem; font-size: .84rem; line-height: 1.65; color: var(--text-soft); }
.mp-note p:last-child { margin-bottom: 0; }

/* small screens */
@media (max-width: 640px) {
  .mp-hero { min-height: clamp(26rem, 78vh, 34rem); }
  .mp-hero-img { object-position: 50% 68%; }
  .mp-plate img { max-height: 16rem; }
  .mp-figure { padding: 1rem .9rem; }
  .mp-dg-lab text { font-size: 15px; }
  .mp-cta-panel { border-radius: var(--radius); }
  .mp-cta-line .btn, .mp-offer .mp-cta-row .btn { width: 100%; justify-content: center; }
}
@media (max-width: 360px) {
  .mp-hero h1 { font-size: clamp(1.75rem, 1.2rem + 4vw, 2.2rem); }
  .mp-body, .mp-prose, .mp-measure { max-width: 100%; }
}

/* motion: static drawings, nothing animates on scroll */
@media (prefers-reduced-motion: reduce) {
  .mp-hero-img, .mp-plate img, .mp-diagram { transition: none; animation: none; }
}

/* diamond nodes must be opaque, or the lineage stem shows through them */
.mp-dg-nodes rect { fill: var(--surface-1); fill-opacity: 1; }

/* ══════════════════════════════════════════════════════════════════════════
   2026-10-02 · THE SPLIT HERO, and the architecture figure   (Zara)
   ──────────────────────────────────────────────────────────────────────────
   Scott: "Words can't be seen in the hero… We need elite, minimalist,
   stunning design."

   Why the old hero failed. The kicker, headline, pull-quote and a ~130-word
   lede all sat ON the photograph beneath ONE vertical scrim running 94% oat
   at the top to 6% oat at 84% of the hero's height. The lede is taller than
   the scrim, so its final third sat on bare golden-hour photograph — dark
   umber type over a warm mid-tone subject. Unreadable, and worse on whichever
   page carries the longest copy.

   No scrim value fixes that; the fault is structural. So the text no longer
   overlays the image at all. At >=900px the type sits on the oat ground at
   left and the photograph is a framed plate at right; below that, the copy
   runs first and the photograph follows as a band. The scrim is retired.

   Markup is untouched, so the generator cannot undo this and all six pages
   change together.
   ══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 900px) {
  .mp-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
    grid-template-areas: "text media";
    align-items: center;
    gap: clamp(2.5rem, 5.5vw, 5rem);
    min-height: 0;
    overflow: visible;
    /* full-bleed oat with the grid centred on a 1200px column, so the
       hairline below runs the whole viewport instead of stopping short. */
    padding: clamp(3.5rem, 6.5vw, 6rem) max(40px, calc((100% - var(--maxw)) / 2)) clamp(3.5rem, 6vw, 5.5rem);
    background: var(--bg);
    border-bottom: 1px solid var(--border-soft);
  }
  .mp-hero .wrap {
    grid-area: text;
    position: static;
    z-index: auto;
    width: auto;
    max-width: none;
    margin: 0;
    padding-inline: 0;
    padding-block: 0;
  }
  .mp-hero .mp-measure { max-width: 34rem; margin-inline: 0; }
  .mp-hero-media { grid-area: media; position: relative; inset: auto; z-index: 0; }
  .mp-hero-img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 50% 55%;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
  }
  .mp-hero-scrim { display: none; }
  .mp-hero h1 {
    font-size: clamp(2.4rem, 1rem + 3.2vw, 3.7rem);
    line-height: 1.05;
    margin-bottom: 1.05rem;
  }
  .mp-hero .mp-pull {
    margin: 0 0 1.35rem;
    padding: 1.1rem 0 0;
    border-top: 1px solid var(--border-soft);
    border-bottom: 0;
  }
  .mp-hero .mp-lede { font-size: 1.06rem; line-height: 1.7; color: var(--text-soft); }
}

/* tablet + phone: one column, copy first, then the photograph as a band.
   Still no text over the image anywhere. */
@media (max-width: 899px) {
  .mp-hero {
    display: block;
    min-height: 0;
    position: relative;
    overflow: visible;
    padding: 0;
    background: var(--bg);
    border-bottom: 1px solid var(--border-soft);
  }
  .mp-hero .wrap {
    position: static;
    z-index: auto;
    width: auto;
    padding-block: clamp(2.75rem, 7vw, 4rem) clamp(1.75rem, 5vw, 2.5rem);
  }
  .mp-hero .mp-measure { max-width: 100%; margin-inline: 0; }
  .mp-hero-media { position: relative; inset: auto; z-index: 0; }
  .mp-hero-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: 50% 55%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .mp-hero-scrim { display: none; }
  .mp-hero .mp-pull { padding-top: 1rem; border-top: 1px solid var(--border-soft); }
  .mp-hero .mp-lede { color: var(--text-soft); }
}

/* ── the dynasty architecture, replacing the three-strand chord ────────────
   2026-10-02: Scott — "Instead of the three-strand chord use our dynasty
   architecture design we used on the home page. That is beautiful."
   The chord drew three strands braided into one trunk; you had to read its
   three labels before you learned anything from it. The homepage architecture
   is the real object: private core, pass-through conduit, PFTC shell, and the
   sub-entities it can spin up.

   The .ds-* / .dynasty-figure rules already live earlier in this stylesheet
   (they came in with the site layer), so the ported figure needs NO new
   component CSS — only these two rules. It MUST span the full grid: the
   1440-wide figure set in a ~600px split column renders its 14px labels at
   roughly 6px, which is why it is never squeezed into the half column.
   Markup contract for the port: <figure class="dynasty-figure" role="group"
   aria-label="Family-Controlled Dynasty Trust Architecture"> copied verbatim
   from index.html #dynasty, with the sibling prose left in .mp-prose. */
.mp-split > .dynasty-figure { grid-column: 1 / -1; }
.mp-split > .dynasty-figure .dynasty-stacked { background: var(--bg); }
.mp-split > .dynasty-figure { margin: clamp(1.5rem, 3.5vw, 2.5rem) 0 0; }

/* If the port carries the card rendering only, add class="mp-arch" to that
   same figure and this shows it at every width, keeping the diagram hidden.
   It is the rendering that stays legible inside a reading column. */
.dynasty-figure.mp-arch .dynasty-stacked { display: block; background: var(--bg); }
.dynasty-figure.mp-arch .dynasty-diagram { display: none; }

/* ── The family CTA pair, top and end of every money page (2026-10-02) ──────
   Scott: two buttons at two positions on all six pages — "Book a Family
   Conversation" (solid) then "Begin Building Your Legacy" (outlined), the same
   place on every page. Layout only: the buttons reuse the site's own .btn,
   .btn-solid-green and .btn-secondary classes, so nothing new is invented.
   Both anchors carry data-cta, which is what assets/ga4.js uses to fire the
   GA4 event (with page_path) and to forward utm_* parameters. */
.mp-actions { display: flex; flex-wrap: wrap; gap: .75rem .85rem; align-items: center; margin: 1.6rem 0 0; }
.mp-hero .mp-actions { margin-top: 1.7rem; }
.mp-cta-actions { margin: 1.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.mp-cta-lead { margin: 0 0 1rem; font-size: .97rem; color: var(--text-soft); }
.mp-cta-actions .mp-actions { margin-top: 0; }
@media (max-width: 560px) {
  .mp-actions { flex-direction: column; align-items: stretch; }
  .mp-actions .btn { width: 100%; justify-content: center; }
}
