/*
 * Thought.global — For investors.
 * Scoped to body.thi-page / main.thi; loaded on /investors/ (Thought host) only.
 * The homepage ("Midnight Observatory") is the design authority: its tokens, display face and the Brain's
 * node shapes are copied here, never its files. Night bands carry wonder; parchment bands carry reading.
 */

@font-face {
	font-family: "Thought Display";
	src: url("../../home/assets/fonts/fraunces-latin-var.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.thi-page {
	--thi-night-0: #060a15; --thi-night-1: #0b1426; --thi-night-2: #121d36; --thi-line: #2a3a5e;
	--thi-plum-0: #170f20; --thi-plum-1: #241a33;
	--thi-lilac: #b9a7da; --thi-gold: #c9a35e; --thi-gold-hi: #e3c58c; --thi-gold-ink: #7a5a20; --thi-gold-deep: #b8893e;
	--thi-parch: #f4efe4; --thi-parch-2: #ece4d4; --thi-paper: #fffdf8; --thi-ink: #1d1a26; --thi-ink-2: #4a4453; --thi-ink-3: #676070; --thi-rule: #ddd3c0;
	--thi-bone: #f1ede4; --thi-bone-2: #d2cbbb; --thi-bone-3: #a6aec0; --thi-moon: #f3ead2;
	--thi-conflict: #d4726d; --thi-tension: #a189cf; --thi-support: #6f9bd6; --thi-convergence: #5fb489; --thi-leaves: #dcab7c;
	--thi-display: "Thought Display", "Iowan Old Style", Baskerville, Georgia, "Times New Roman", serif;
	--thi-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--thi-ease: cubic-bezier(.2, .7, .2, 1); --thi-spring: cubic-bezier(.34, 1.56, .64, 1);
	--thi-gutter: clamp(18px, 4vw, 48px);
	background: var(--thi-night-0);
}

/* ---------- the shared nav, in night (same markup, links and behaviour) ---------- */
body.thi-page.flavor-thought .sh-thought-nav { background: rgba(6, 10, 21, .92); color: var(--thi-bone); border-bottom: 1px solid rgba(241, 237, 228, .08); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body.thi-page.flavor-thought .sh-thought-nav a,
body.thi-page.flavor-thought .sh-thought-nav-links > li > a,
body.thi-page.flavor-thought .sh-thought-nav-group-link,
body.thi-page.flavor-thought .sh-thought-nav-group-toggle,
body.thi-page.flavor-thought .sh-thought-nav-group-label { color: var(--thi-bone) !important; }
body.thi-page.flavor-thought .sh-thought-nav-brand { font-family: var(--thi-display) !important; font-weight: 450; }
body.thi-page.flavor-thought .sh-thought-nav-links a:hover,
body.thi-page.flavor-thought .sh-thought-nav-links a:focus,
body.thi-page.flavor-thought .sh-thought-nav-group-link:hover,
body.thi-page.flavor-thought .sh-thought-nav-group-toggle:hover,
body.thi-page.flavor-thought .sh-thought-nav-group.is-open .sh-thought-nav-group-toggle { background: rgba(241, 237, 228, .09); }
body.thi-page.flavor-thought .sh-thought-nav-menu a,
body.thi-page.flavor-thought .sh-thought-nav-menu a strong { color: var(--thought-ink, #191918) !important; }
body.thi-page.flavor-thought .sh-thought-nav-search input { background: rgba(241, 237, 228, .06) !important; border-color: rgba(241, 237, 228, .24) !important; color: var(--thi-bone) !important; }
body.thi-page.flavor-thought .sh-thought-nav-search input::placeholder { color: var(--thi-bone-3); }
body.thi-page.flavor-thought .sh-thought-nav-search button { background: var(--thi-gold) !important; border-color: var(--thi-gold) !important; color: var(--thi-night-0) !important; }
body.thi-page.flavor-thought .sh-thought-nav.is-enhanced .sh-thought-nav-toggle { background: rgba(241, 237, 228, .06); border-color: rgba(241, 237, 228, .3); color: var(--thi-bone); }
body.thi-page.flavor-thought .sh-thought-nav :focus-visible { outline: 2px solid var(--thi-gold-hi) !important; outline-offset: 2px; }
@media (max-width: 1023px) {
	body.thi-page.flavor-thought .sh-thought-nav-menu { background: transparent; }
	body.thi-page.flavor-thought .sh-thought-nav-menu a, body.thi-page.flavor-thought .sh-thought-nav-menu a strong { color: var(--thi-bone) !important; }
	body.thi-page.flavor-thought .sh-thought-nav-menu a span { color: var(--thi-bone-3) !important; }
}

/* ---------- foundation ---------- */
/* ai/ai-styles.css caps main#content at 1200px / 92vw site-wide; this page is full-bleed. */
body.thi-page main#content.thi { width: auto; max-width: none; margin: 0; padding: 0; }
.thi:focus { outline: none; }
.thi { display: block; overflow-x: clip; color: var(--thi-bone); background: var(--thi-night-0); font: 400 17px/1.6 var(--thi-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.thi *, .thi *::before, .thi *::after { box-sizing: border-box; }
.thi img { max-width: 100%; display: block; }
.thi a { color: inherit; }
.thi :focus-visible { outline: 2px solid var(--thi-gold-hi) !important; outline-offset: 3px; border-radius: 6px; }
.thi .thi-sec--paper :focus-visible, .thi .thi-sec--paper2 :focus-visible { outline-color: var(--thi-ink) !important; }
.thi .thi-wrap { width: min(1200px, 100% - 2 * var(--thi-gutter)); margin-inline: auto; }
.thi [id] { scroll-margin-top: 76px; }
.thi h1, .thi h2, .thi h3 { margin: 0; font-family: var(--thi-display); font-weight: 420; font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96; letter-spacing: -.012em; text-wrap: balance; color: inherit; text-transform: none; }
.thi h2 { font-size: clamp(1.95rem, 1.2rem + 2.3vw, 3.1rem); line-height: 1.05; }
.thi h3 { font-size: clamp(1.12rem, 1rem + .45vw, 1.4rem); line-height: 1.25; font-variation-settings: "SOFT" 30, "opsz" 36; }
/* one illuminated word per headline: the same face, WONK on; gold-deep on light, gold-hi on night */
.thi h2 em { font-style: normal; color: var(--thi-gold-deep); font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; }
.thi :is(.thi-hero, .thi-sec--night, .thi-sec--deep) h2 em { color: var(--thi-gold-hi); }
.thi p { margin: 0; }
.thi ul, .thi ol { margin: 0; padding: 0; list-style: none; }
.thi li { margin: 0; }
.thi .thi-eyebrow { display: inline-flex; align-items: center; gap: .55em; margin: 0 0 16px; font: 700 12.5px/1.25 var(--thi-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--thi-gold); }
.thi .thi-eyebrow .thi-glyph { width: 17px; height: 17px; }
.thi .thi-eyebrow--ink { color: var(--thi-gold-ink); }
.thi .thi-lead { max-width: 62ch; margin-top: 16px; font-size: clamp(1.03rem, .98rem + .3vw, 1.16rem); line-height: 1.62; color: #d7d0c1; }
.thi .thi-head { position: relative; max-width: 780px; margin-bottom: clamp(30px, 4vw, 48px); }
/* the knot: each section's place on the golden thread (contract §4): left margin from 1320px, above the eyebrow below it */
.thi .thi-knot { position: absolute; left: -58px; top: -6px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(201, 163, 94, .45); background: var(--thi-cut, var(--thi-parch)); color: rgba(122, 90, 32, .6); transition: color .5s var(--thi-ease), border-color .5s var(--thi-ease), box-shadow .5s var(--thi-ease); --thi-glyph-cut: var(--thi-cut, var(--thi-parch)); }
.thi :is(.thi-sec--night, .thi-sec--deep) .thi-knot { color: rgba(201, 163, 94, .6); }
.thi .thi-knot .thi-glyph { width: 20px; height: 20px; }
.thi .thi-knot.is-lit, html:not(.thi-js) .thi .thi-knot { color: var(--thi-gold-ink); border-color: var(--thi-gold); box-shadow: 0 0 0 5px rgba(201, 163, 94, .12), 0 0 24px rgba(227, 197, 140, .35); }
.thi :is(.thi-sec--night, .thi-sec--deep) .thi-knot.is-lit, html:not(.thi-js) .thi :is(.thi-sec--night, .thi-sec--deep) .thi-knot { color: var(--thi-gold-hi); }
@media (max-width: 1320px) { .thi .thi-knot { position: static; margin-bottom: 14px; width: 36px; height: 36px; } }
.thi .thi-meta { color: var(--thi-ink-3); font: 600 13px/1.45 var(--thi-sans); }
.thi .thi-kind { margin: 0 0 6px; font: 700 11.5px/1.3 var(--thi-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--thi-gold-ink); }

/* glyphs: shapes carry meaning (the Brain's vocabulary) */
.thi .thi-glyph, .thi .thi-can-glyph, .thi .thi-btn-glyph, .thi .thi-inline-glyph { width: 1.2em; height: 1.2em; flex: none; fill: currentColor; }
.thi svg .ring, .thi svg .open { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.thi svg .open { stroke-dasharray: 4.2 3.6; }
.thi svg .cut { fill: none; stroke: var(--thi-glyph-cut, var(--thi-night-1)); stroke-width: 1.7; stroke-linecap: round; }
.thi .thi-glyph--debate path:first-child { fill: none; }

/* buttons: the homepage's pills */
.thi .thi-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.thi .thi-actions--center { justify-content: center; margin-top: clamp(36px, 4vw, 52px); }
.thi .thi-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 50px; max-width: 100%; margin: 0; padding: 12px 26px; border-radius: 999px; border: 1.5px solid transparent; font: 650 15.5px/1.25 var(--thi-sans); text-align: center; text-decoration: none; cursor: pointer; transition: transform .18s var(--thi-ease), background-color .18s var(--thi-ease), border-color .18s var(--thi-ease), color .18s var(--thi-ease); }
.thi .thi-btn span { min-width: 0; }
.thi .thi-btn:hover { transform: translateY(-2px); }
.thi .thi-btn--moon, .thi .thi-btn--moon:hover, .thi .thi-btn--moon:focus { background: var(--thi-moon); color: var(--thi-night-1); }
.thi .thi-btn--moon:hover { background: #fff7e2; }
.thi .thi-btn--line, .thi .thi-btn--line:focus { border-color: rgba(241, 237, 228, .42); color: var(--thi-bone); background: rgba(241, 237, 228, .04); }
.thi .thi-btn--line:hover { border-color: var(--thi-bone); background: rgba(241, 237, 228, .1); color: var(--thi-bone); }
.thi .thi-btn--ink, .thi .thi-btn--ink:focus { background: var(--thi-ink); color: var(--thi-parch); }
.thi .thi-btn--ink:hover { background: #2c2838; color: var(--thi-parch); }
.thi .thi-btn-glyph { width: 18px; height: 18px; transition: transform .18s var(--thi-ease); }
.thi .thi-btn:hover .thi-btn-glyph { transform: translateX(2px); }
.thi .thi-btn:hover .thi-btn-glyph--down { transform: translateY(2px); }

/* checklists: facts are a checklist, never pills */
.thi .thi-can { display: grid; gap: 9px; }
.thi .thi-can li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.45; }
.thi .thi-can-glyph { width: 18px; height: 18px; margin-top: 2px; color: var(--thi-gold-ink); }
.thi .thi-can--night .thi-can-glyph { color: var(--thi-gold); }

/* badges */
.thi .thi-badge { display: inline-grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--thi-paper); color: var(--thi-ink); box-shadow: 0 0 0 1px var(--thi-rule), 0 8px 22px -14px rgba(29, 26, 38, .45); --thi-glyph-cut: var(--thi-paper); }
.thi .thi-badge .thi-glyph { width: 24px; height: 24px; }
.thi .thi-badge--night { background: var(--thi-night-2); color: var(--thi-gold-hi); box-shadow: 0 0 0 1px var(--thi-line); --thi-glyph-cut: var(--thi-night-2); }
.thi .thi-badge--moon { background: var(--thi-moon); color: var(--thi-night-1); box-shadow: 0 0 0 6px rgba(243, 234, 210, .08); --thi-glyph-cut: var(--thi-moon); }

/* sections */
.thi .thi-sec { position: relative; padding: clamp(68px, 9vw, 120px) 0; }
.thi .thi-sec--paper { background: var(--thi-parch); color: var(--thi-ink); --thi-cut: var(--thi-parch); }
.thi .thi-sec--paper2 { background: var(--thi-parch-2); color: var(--thi-ink); --thi-cut: var(--thi-parch-2); }
.thi .thi-sec--paper .thi-lead, .thi .thi-sec--paper2 .thi-lead { color: var(--thi-ink-2); }
.thi .thi-sec--paper .thi-eyebrow, .thi .thi-sec--paper2 .thi-eyebrow { color: var(--thi-gold-ink); }
.thi .thi-sec--night { background: radial-gradient(120% 80% at 80% 0%, var(--thi-night-2), var(--thi-night-0) 62%); --thi-cut: var(--thi-night-1); }
.thi .thi-sec--deep { background: linear-gradient(180deg, var(--thi-plum-0), var(--thi-night-1)); --thi-cut: var(--thi-plum-1); }
/* the edge the first section grows out of: the night's hills, in the hero's colour */
.thi .thi-seam { position: absolute; left: 0; right: 0; top: -1px; height: clamp(70px, 8vw, 120px); color: var(--thi-night-0); pointer-events: none; }
.thi .thi-seam svg { display: block; width: 100%; height: 100%; }
.thi .thi-seam path { fill: currentColor; }
.thi .thi-why { padding-top: clamp(120px, 14vw, 190px); }
/* a quiet gold seam where night meets parchment */
.thi .thi-sec--paper::before, .thi .thi-sec--paper2::before { content: ""; position: absolute; left: 50%; top: 0; width: min(420px, 60%); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, var(--thi-gold), transparent); opacity: .7; }

/* ---------- 1. hero ---------- */
.thi .thi-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(84px, 9vw, 128px) 0 clamp(96px, 10vw, 140px); background: var(--thi-night-0); }
.thi .thi-sky { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; }
.thi .thi-sky .thi-star { fill: var(--thi-bone); }
.thi .thi-sky .thi-meteor { fill: none; stroke: var(--thi-gold-hi); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 0 1; opacity: 0; }
.thi .thi-hero-in { display: grid; gap: clamp(30px, 5vw, 64px); align-items: center; }
.thi .thi-hero h1 { font-size: clamp(2.4rem, 1.15rem + 4.1vw, 4.7rem); line-height: 1.02; font-weight: 380; font-variation-settings: "SOFT" 70, "WONK" 0, "opsz" 144; letter-spacing: -.022em; color: var(--thi-bone); }
.thi .thi-hero h1 em { font-style: normal; font-weight: 400; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; color: var(--thi-gold-hi); }
.thi .thi-hero .thi-lead { max-width: 56ch; margin-top: 22px; }
.thi .thi-record { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 30px; padding-top: 16px; border-top: 1px solid rgba(241, 237, 228, .14); }
.thi .thi-record li { display: flex; align-items: baseline; gap: 7px; color: var(--thi-bone-2); font-size: 14.5px; }
.thi .thi-record .thi-glyph { width: 15px; height: 15px; color: var(--thi-gold); align-self: center; --thi-glyph-cut: var(--thi-night-0); }
.thi .thi-record b { font: 500 21px/1 var(--thi-display); font-variation-settings: "opsz" 36; color: var(--thi-bone); font-variant-numeric: tabular-nums lining-nums; }
.thi .thi-fine { display: flex; gap: 8px; align-items: flex-start; margin-top: 16px; max-width: 60ch; color: var(--thi-bone-3); font-size: 13.5px; line-height: 1.5; }
.thi .thi-fine .thi-glyph { width: 14px; height: 14px; margin-top: 3px; --thi-glyph-cut: var(--thi-night-0); }
.thi .thi-fine--date { margin-top: 8px; }
.thi .thi-cue { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); display: inline-flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 10px; color: var(--thi-bone-2); font: 600 12px/1 var(--thi-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.thi .thi-cue .thi-glyph { width: 18px; height: 18px; }

/* the orrery: five node kinds on one gold thread */
.thi .thi-orrery { position: relative; width: min(100%, 470px); aspect-ratio: 1; margin-inline: auto; }
.thi .thi-orrery-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.thi .thi-orbit { fill: none; stroke: rgba(241, 237, 228, .1); stroke-width: 1; stroke-dasharray: 2 6; }
.thi .thi-thread { fill: none; stroke: var(--thi-gold); stroke-width: 1.6; stroke-linecap: round; stroke-opacity: .85; }
.thi .thi-orrery-stop { position: absolute; left: calc(var(--x) / 470 * 100%); top: calc(var(--y) / 470 * 100%); transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.thi .thi-orrery-node { display: grid; place-items: center; width: clamp(48px, 7vw, 64px); height: clamp(48px, 7vw, 64px); border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--thi-night-2), var(--thi-night-1)); box-shadow: 0 0 0 1px var(--thi-line), 0 0 30px -6px rgba(201, 163, 94, .45); color: var(--thi-gold-hi); --thi-glyph-cut: var(--thi-night-1); }
.thi .thi-orrery-node .thi-glyph { width: 52%; height: 52%; }
.thi .thi-orrery-stop--thinker .thi-orrery-node { color: var(--thi-bone); }
.thi .thi-orrery-stop--question .thi-orrery-node { color: var(--thi-bone-2); }
.thi .thi-orrery-label { padding: 3px 9px; border-radius: 999px; background: rgba(6, 10, 21, .72); color: var(--thi-bone-2); font: 700 11px/1.2 var(--thi-sans); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }

@media (min-width: 960px) {
	.thi .thi-hero-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
}
@media (max-width: 959px) {
	.thi .thi-orrery { width: min(100%, 380px); }
}
@media (max-width: 480px) {
	.thi .thi-record { gap: 8px 18px; }
	.thi .thi-orrery-label { font-size: 10px; letter-spacing: .08em; padding: 2px 7px; }
	.thi .thi-actions .thi-btn { width: 100%; }
}

/* ---------- 2. why ---------- */
.thi .thi-trio { display: grid; gap: 18px; }
.thi .thi-trio li { padding: 26px 24px 28px; border-radius: 22px; background: var(--thi-paper); box-shadow: 0 0 0 1px var(--thi-rule); }
.thi .thi-trio h3 { margin: 18px 0 8px; }
.thi .thi-trio p { color: var(--thi-ink-2); line-height: 1.55; }
@media (min-width: 820px) { .thi .thi-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }

/* ---------- 3. the Brain, one picture ---------- */
.thi .thi-path { position: relative; display: grid; gap: 28px; padding-left: 0; }
/* the thread: one segment per stop on phones (it ends at the last node), one line across on wide screens */
.thi .thi-stop:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 56px; height: calc(100% - 56px + 28px); width: 2px; background: linear-gradient(180deg, var(--thi-gold), rgba(201, 163, 94, .45)); transform-origin: top; }
.thi .thi-stop { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 18px; align-items: start; align-content: start; }
.thi .thi-stop > :not(.thi-node) { grid-column: 2; }
.thi .thi-node { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; grid-row: 1 / span 4; border-radius: 50%; background: var(--thi-night-1); box-shadow: 0 0 0 1px var(--thi-line), 0 0 0 6px var(--thi-night-0); color: var(--thi-gold-hi); --thi-glyph-cut: var(--thi-night-1); }
.thi .thi-node .thi-glyph { width: 28px; height: 28px; }
.thi .thi-node--thinker { color: var(--thi-bone); }
.thi .thi-node--question { color: var(--thi-bone-2); }
.thi .thi-step { color: var(--thi-gold); font: 700 11.5px/1.3 var(--thi-sans); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 4px; }
.thi .thi-stop h3 { margin-bottom: 6px; }
.thi .thi-stop p:not(.thi-step):not(.thi-fact) { color: var(--thi-bone-2); line-height: 1.55; font-size: 16px; }
.thi .thi-fact { display: inline-block; margin-top: 10px; padding: 4px 0 0; border-top: 1px solid rgba(201, 163, 94, .35); color: var(--thi-gold-hi); font: 600 13.5px/1.4 var(--thi-sans); }
@media (min-width: 980px) {
	.thi .thi-path { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 26px; }
	.thi .thi-stop:not(:last-child)::after { display: none; }
	.thi .thi-path::before { content: ""; position: absolute; left: 10%; right: 10%; top: 27px; height: 2px; background: linear-gradient(90deg, rgba(201, 163, 94, .3), var(--thi-gold) 20%, var(--thi-gold) 80%, rgba(201, 163, 94, .3)); transform-origin: left; }
	.thi .thi-stop { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.thi .thi-stop > :not(.thi-node) { grid-column: 1; }
	.thi .thi-node { grid-row: auto; margin-bottom: 18px; }
}
.thi .thi-forces { display: grid; gap: 16px; margin-top: clamp(44px, 6vw, 72px); }
.thi .thi-forces li { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: 20px; background: rgba(241, 237, 228, .035); box-shadow: inset 0 0 0 1px rgba(241, 237, 228, .1); }
.thi .thi-forces h3 { margin-bottom: 6px; }
.thi .thi-forces p { color: var(--thi-bone-2); line-height: 1.55; font-size: 15.5px; }
@media (min-width: 900px) { .thi .thi-forces { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }

/* ---------- 4. one thread from the record ---------- */
.thi .thi-thread-grid { display: grid; gap: 36px; }
.thi .thi-note { display: flex; gap: 10px; align-items: flex-start; max-width: 52ch; color: var(--thi-ink-2); font-size: 14.5px; line-height: 1.5; }
.thi .thi-note .thi-glyph { width: 16px; height: 16px; margin-top: 3px; color: var(--thi-gold-ink); --thi-glyph-cut: var(--thi-parch); }
.thi .thi-chain { position: relative; display: grid; gap: 18px; }
.thi .thi-link:not(:last-child)::after { content: ""; position: absolute; left: 23px; top: 48px; height: calc(100% - 48px + 18px); width: 2px; background: linear-gradient(180deg, var(--thi-gold), rgba(201, 163, 94, .45)); transform-origin: top; }
.thi .thi-link { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; }
.thi .thi-chain .thi-node { width: 48px; height: 48px; grid-row: auto; box-shadow: 0 0 0 1px var(--thi-line), 0 0 0 5px var(--thi-parch); }
.thi .thi-chain .thi-node .thi-glyph { width: 24px; height: 24px; }
.thi .thi-card { min-width: 0; padding: 20px 22px; border-radius: 18px; background: var(--thi-paper); box-shadow: 0 0 0 1px var(--thi-rule), 0 14px 30px -24px rgba(29, 26, 38, .5); }
.thi .thi-card h3 { font-size: clamp(1.06rem, 1rem + .35vw, 1.24rem); overflow-wrap: anywhere; }
.thi .thi-card h3 a { text-decoration: underline; text-decoration-color: rgba(122, 90, 32, .45); text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.thi .thi-card h3 a:hover { text-decoration-color: var(--thi-gold-ink); }
.thi .thi-card p:not(.thi-kind):not(.thi-meta) { margin-top: 8px; color: var(--thi-ink-2); line-height: 1.55; font-size: 15.5px; }
.thi .thi-card .thi-meta { margin-top: 8px; }
.thi .thi-card--thinker { display: flex; gap: 16px; align-items: center; }
.thi .thi-portrait { width: 72px; height: 72px; flex: none; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--thi-paper), 0 0 0 4px var(--thi-gold); }
.thi .thi-outcome { display: grid; gap: 8px; margin: 10px 0 0; }
.thi .thi-outcome div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
.thi .thi-outcome dt { color: var(--thi-gold-ink); font: 700 12px/1.6 var(--thi-sans); letter-spacing: .08em; text-transform: uppercase; }
.thi .thi-outcome dd { margin: 0; color: var(--thi-ink); line-height: 1.5; }
.thi .thi-kind--sub { margin-top: 16px; }
.thi .thi-questions { display: grid; gap: 8px; }
.thi .thi-questions li { display: flex; gap: 10px; align-items: flex-start; color: var(--thi-ink); line-height: 1.45; }
.thi .thi-questions .thi-glyph { width: 16px; height: 16px; margin-top: 3px; color: var(--thi-gold-ink); }
@media (max-width: 480px) { .thi .thi-outcome div { grid-template-columns: minmax(0, 1fr); gap: 2px; } .thi .thi-card--thinker { flex-direction: column; align-items: flex-start; } }
@media (min-width: 1000px) {
	.thi .thi-thread-grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 64px; align-items: start; }
	.thi .thi-thread-intro { position: sticky; top: 104px; }
}

/* ---------- 5. time ---------- */
.thi .thi-meet { display: grid; gap: 18px; align-items: center; }
.thi .thi-moment { margin: 0; padding: 26px 24px; border-radius: 22px; background: rgba(241, 237, 228, .04); box-shadow: inset 0 0 0 1px rgba(241, 237, 228, .12); }
.thi .thi-year { font: 400 clamp(2.6rem, 2rem + 2.4vw, 3.8rem)/1 var(--thi-display); font-variation-settings: "opsz" 144, "SOFT" 60; color: var(--thi-gold-hi); font-variant-numeric: lining-nums; }
.thi .thi-moment blockquote { margin: 16px 0 0; padding: 0; border: 0; quotes: "“" "”"; }
.thi .thi-moment blockquote p { color: var(--thi-bone); font: 400 clamp(1.02rem, .98rem + .25vw, 1.14rem)/1.6 var(--thi-display); font-variation-settings: "opsz" 24; }
.thi .thi-moment blockquote p::before { content: open-quote; }
.thi .thi-moment blockquote p::after { content: close-quote; }
.thi .thi-moment figcaption { margin-top: 14px; color: var(--thi-bone-3); font-size: 13.5px; }
.thi .thi-meet-mid { display: grid; justify-items: center; gap: 10px; }
.thi .thi-meet-mid img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--thi-night-0), 0 0 0 4px var(--thi-gold); filter: saturate(.85); }
.thi .thi-meet-mid svg { width: 120px; height: 20px; }
.thi .thi-meet-line { stroke: var(--thi-gold); stroke-width: 1.5; stroke-dasharray: 3 5; }
.thi .thi-time-note { display: flex; gap: 10px; align-items: flex-start; max-width: 70ch; margin: 28px 0 0; color: var(--thi-bone-3); font-size: 14.5px; line-height: 1.5; }
.thi .thi-time .thi-head { margin-bottom: 18px; }
.thi .thi-time-topic { max-width: 64ch; margin: 0 0 30px; color: var(--thi-bone-2); font: 400 1.05rem/1.55 var(--thi-display); font-variation-settings: "opsz" 24; text-wrap: balance; }
.thi .thi-time .thi-actions--center { justify-content: flex-start; }
.thi .thi-time-note .thi-glyph { width: 15px; height: 15px; margin-top: 3px; --thi-glyph-cut: var(--thi-night-0); }
@media (min-width: 900px) {
	.thi .thi-meet { grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr); }
	.thi .thi-meet-mid svg { width: 140px; }
}

/* ---------- 6. built to be checked ---------- */
.thi .thi-checks { display: grid; gap: 14px; }
.thi .thi-checks li { display: flex; gap: 18px; align-items: flex-start; padding: 24px 22px; border-radius: 20px; background: var(--thi-paper); box-shadow: 0 0 0 1px var(--thi-rule); }
.thi .thi-checks h3 { margin-bottom: 6px; }
.thi .thi-checks p { color: var(--thi-ink-2); line-height: 1.55; font-size: 15.5px; }
.thi .thi-check-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 6px; color: var(--thi-ink); font: 650 14.5px/1.3 var(--thi-sans); text-decoration: underline; text-decoration-color: rgba(122, 90, 32, .45); text-underline-offset: 4px; }
.thi .thi-check-link:hover { text-decoration-color: var(--thi-gold-ink); }
.thi .thi-inline-glyph { width: 16px; height: 16px; }
@media (min-width: 860px) { .thi .thi-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .thi .thi-checks li:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* ---------- 7. where each part stands ---------- */
.thi .thi-board { display: grid; gap: 16px; }
.thi .thi-col { padding: 24px 22px 26px; border-radius: 22px; background: rgba(241, 237, 228, .04); box-shadow: inset 0 0 0 1px rgba(241, 237, 228, .1); }
.thi .thi-col-label { display: flex; align-items: center; gap: 10px; font: 700 13px/1.2 var(--thi-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--thi-bone); }
.thi .thi-dot { width: 11px; height: 11px; flex: none; border-radius: 50%; background: var(--thi-gold); }
.thi .thi-col--preview .thi-dot { background: transparent; box-shadow: inset 0 0 0 2px var(--thi-gold-hi); }
.thi .thi-col--governed .thi-dot { background: var(--thi-tension); }
.thi .thi-col--next .thi-dot { background: transparent; box-shadow: inset 0 0 0 2px var(--thi-bone-3); border: 0; }
.thi .thi-col-note { margin: 8px 0 18px; color: var(--thi-bone-3); font-size: 14px; }
.thi .thi-col .thi-can li { color: var(--thi-bone-2); font-size: 15px; }
@media (min-width: 720px) { .thi .thi-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .thi .thi-board { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }

/* ---------- 8. model ---------- */
.thi .thi-model-grid { display: grid; gap: 16px; }
.thi .thi-model-col { padding: 26px 24px; border-radius: 22px; background: var(--thi-paper); box-shadow: 0 0 0 1px var(--thi-rule); }
.thi .thi-model-col h3 { margin-bottom: 16px; }
.thi .thi-model-col--future { background: transparent; box-shadow: inset 0 0 0 1.5px var(--thi-rule); }
.thi .thi-model-col--future .thi-note-sm { margin: -8px 0 14px; }
.thi .thi-model-col .thi-can li { color: var(--thi-ink-2); }
.thi .thi-prices { display: grid; gap: 0; margin: 0; }
.thi .thi-prices div { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--thi-rule); }
.thi .thi-prices div:first-child { padding-top: 0; }
.thi .thi-prices dt { color: var(--thi-ink-2); line-height: 1.4; font-size: 15px; }
.thi .thi-prices dd { margin: 0; color: var(--thi-ink); font: 650 16px/1.4 var(--thi-sans); }
.thi .thi-note-sm { margin-top: 14px; color: var(--thi-ink-3); font-size: 13.5px; line-height: 1.5; }
.thi .thi-opportunity { max-width: 820px; margin: clamp(36px, 5vw, 56px) auto 0; padding: 0; color: var(--thi-ink); font: 400 clamp(1.12rem, 1rem + .6vw, 1.45rem)/1.5 var(--thi-display); font-variation-settings: "opsz" 36, "SOFT" 40; text-align: center; text-wrap: balance; }
.thi .thi-opportunity .thi-kind { display: block; margin-bottom: 12px; font-family: var(--thi-sans); }
.thi .thi-owner { margin-top: 36px; padding: 20px 22px; border-radius: 16px; border: 1.5px dashed var(--thi-gold-ink); background: var(--thi-paper); color: var(--thi-ink); }
.thi .thi-owner > p:first-child { margin-bottom: 12px; }
@media (min-width: 900px) { .thi .thi-model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }

/* ---------- 9. the sibling product ---------- */
.thi .thi-family { padding: clamp(52px, 7vw, 84px) 0; }
.thi .thi-family-card { position: relative; --thi-cut: var(--thi-paper); display: grid; gap: 20px; align-items: center; padding: clamp(24px, 4vw, 40px); border-radius: 26px; background: var(--thi-paper); box-shadow: 0 0 0 1px var(--thi-rule), 0 22px 44px -36px rgba(29, 26, 38, .55); }
.thi .thi-family-card h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); }
.thi .thi-family-card p:not(.thi-eyebrow) { margin-top: 10px; max-width: 62ch; color: var(--thi-ink-2); line-height: 1.6; }
.thi .thi-family-mark { width: 64px; height: 64px; color: var(--thi-gold-ink); }
.thi .thi-family-mark circle { fill: currentColor; }
.thi .thi-family-line { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 3 5; }
.thi .thi-family-card .thi-eyebrow { margin-bottom: 10px; }
@media (min-width: 900px) { .thi .thi-family-card { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 28px; } }

/* ---------- 10. enquiry ---------- */
.thi .thi-enquire-grid { display: grid; gap: 32px; align-items: start; }
.thi .thi-enquire .thi-head { margin-bottom: 28px; }
.thi .thi-boundary { display: grid; gap: 22px; padding: 24px 22px; border-radius: 22px; background: rgba(241, 237, 228, .035); box-shadow: inset 0 0 0 1px rgba(241, 237, 228, .1); }
.thi .thi-boundary h3 { margin-bottom: 12px; font-size: 1.08rem; color: var(--thi-gold-hi); }
.thi .thi-boundary .thi-can li { color: var(--thi-bone-2); font-size: 15px; }
.thi .thi-enquire-card { padding: clamp(26px, 4vw, 38px); border-radius: 26px; background: linear-gradient(160deg, var(--thi-night-2), var(--thi-night-1)); box-shadow: inset 0 0 0 1px var(--thi-line), 0 30px 60px -40px rgba(0, 0, 0, .8); }
.thi .thi-enquire-card h3 { margin: 18px 0 10px; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); }
.thi .thi-enquire-card p { color: var(--thi-bone-2); line-height: 1.6; }
.thi .thi-enquire-card .thi-btn { margin-top: 22px; }
.thi .thi-enquire-card .thi-note-sm { color: var(--thi-bone-3); }
@media (min-width: 640px) { .thi .thi-boundary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .thi .thi-enquire-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 56px; } .thi .thi-enquire-card { position: sticky; top: 104px; } }

/* ---------- 11. the night the shared finale (thought/finale/) grows out of ---------- */
body.thi-page {
	--thi-ground: #080d16; /* the homepage's ground colour (home/assets/world.css --thw-ground) */
	--thi-stars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='380' height='380'%3E%3Cg fill='%23f3ead2'%3E%3Ccircle cx='12' cy='22' r='.8' opacity='.7'/%3E%3Ccircle cx='64' cy='88' r='.6' opacity='.5'/%3E%3Ccircle cx='121' cy='31' r='1' opacity='.8'/%3E%3Ccircle cx='170' cy='140' r='.5' opacity='.45'/%3E%3Ccircle cx='232' cy='60' r='.7' opacity='.6'/%3E%3Ccircle cx='300' cy='18' r='.6' opacity='.5'/%3E%3Ccircle cx='352' cy='104' r='.9' opacity='.75'/%3E%3Ccircle cx='28' cy='196' r='.5' opacity='.45'/%3E%3Ccircle cx='96' cy='244' r='.8' opacity='.6'/%3E%3Ccircle cx='150' cy='300' r='.6' opacity='.5'/%3E%3Ccircle cx='210' cy='212' r='1.1' opacity='.85'/%3E%3Ccircle cx='268' cy='276' r='.5' opacity='.4'/%3E%3Ccircle cx='330' cy='230' r='.7' opacity='.6'/%3E%3Ccircle cx='370' cy='330' r='.6' opacity='.5'/%3E%3Ccircle cx='50' cy='350' r='.9' opacity='.7'/%3E%3Ccircle cx='190' cy='366' r='.5' opacity='.4'/%3E%3Ccircle cx='250' cy='150' r='.4' opacity='.4'/%3E%3Ccircle cx='80' cy='150' r='.4' opacity='.35'/%3E%3Ccircle cx='310' cy='170' r='.4' opacity='.35'/%3E%3C/g%3E%3C/svg%3E");
}
/* the enquiry band carries the night sky and ends on night-0, the colour of the finale's seam */
.thi .thi-enquire { background: radial-gradient(1100px 520px at 78% 8%, rgba(74, 53, 87, .34), transparent 70%), var(--thi-stars) 0 0 / 380px 380px, linear-gradient(var(--thi-night-1), var(--thi-night-0)); }
/* ---------- motion: finite, meaningful, armed by JS, only when the reader allows it ---------- */
@media (prefers-reduced-motion: no-preference) {
	html.thi-js .thi [data-thi-reveal] { opacity: .4; transform: translateY(14px); transition: opacity .7s var(--thi-ease), transform .7s var(--thi-ease); transition-delay: calc(var(--d, 0) * 90ms); }
	html.thi-js .thi [data-thi-reveal].is-in { opacity: 1; transform: none; }
	html.thi-js .thi [data-thi-draw] > li::after { transform: scaleY(0); transition: transform .9s var(--thi-ease); transition-delay: calc(.25s + var(--d, 0) * .28s); }
	html.thi-js .thi [data-thi-draw].is-drawn > li::after { transform: scaleY(1); }
	html.thi-js .thi .thi-path[data-thi-draw]::before { transform: scaleX(0); transition: transform 1.6s var(--thi-ease) .15s; }
	html.thi-js .thi .thi-path[data-thi-draw].is-drawn::before { transform: scaleX(1); }
	html.thi-js .thi .thi-orrery .thi-draw { stroke-dasharray: 1; stroke-dashoffset: 1; }
	html.thi-js .thi .thi-orrery-stop { opacity: 0; transform: translate(-50%, -50%) scale(.7); }
	html.thi-js .thi .thi-hero.is-lit .thi-orrery .thi-draw { animation: thi-draw 2.2s var(--thi-ease) .2s forwards; }
	html.thi-js .thi .thi-hero.is-lit .thi-orrery-stop { animation: thi-pop .7s var(--thi-spring) forwards; animation-delay: calc(.35s + var(--d) * .32s); }
	html.thi-js .thi .thi-hero.is-lit .thi-tw0 { animation: thi-tw 4.2s ease-in-out 1s 4; }
	html.thi-js .thi .thi-hero.is-lit .thi-tw1 { animation: thi-tw 5.6s ease-in-out 2.2s 3; }
	html.thi-js .thi .thi-hero.is-lit .thi-tw2 { animation: thi-tw 3.4s ease-in-out .4s 4; }
	html.thi-js .thi .thi-hero.is-lit .thi-meteor { animation: thi-meteor 1.4s ease-out 2.6s 1 forwards; }
	html.thi-js .thi .thi-hero.is-paused .thi-star { animation-play-state: paused; }
	.thi .thi-cue:hover .thi-glyph { transform: translateY(3px); transition: transform .2s var(--thi-ease); }
}
@keyframes thi-draw { to { stroke-dashoffset: 0; } }
@keyframes thi-pop { to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes thi-tw { 0%, 100% { opacity: .9; } 50% { opacity: .22; } }
@keyframes thi-meteor { 0% { opacity: 0; stroke-dasharray: 0 1; } 15% { opacity: 1; } 100% { opacity: 0; stroke-dasharray: 1 0; } }

@media (prefers-reduced-motion: reduce) {
	.thi .thi-btn, .thi .thi-btn-glyph { transition: none; }
	.thi .thi-btn:hover { transform: none; }
}

@media print {
	.thi, .thi .thi-sec--night, .thi .thi-sec--deep, .thi .thi-hero { background: #fff !important; color: #000 !important; }
	.thi .thi-sky, .thi .thi-orrery, .thi .thi-cue, .thi .thi-seam { display: none !important; }
	.thi [data-thi-reveal] { opacity: 1 !important; transform: none !important; }
}
