/* eComFuel site styles
   Generated 2026-09-09. Brand tokens are the :root block below.
   Load this file first, then ecf-headshots.css. */

:root {
  --green: #315035;
  --green-deep: #1b3923;
  --green-ink: #23392a;
  --lime: #9cc700;
  --lime-dark: #7ea300;
  --cream: #f9f3ef;
  --cream-2: #f1e8e1;
  --sand: #fcedb1;
  --ink: #141a15;
  --ink-soft: #4a5a4d;
  --rule: rgba(49,80,53,.16);
  --rule-on-green: rgba(249,243,239,.16);
  --display: "MaisonNeue", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --body: "MaisonNeue", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --wide: 1080px;
  --text: 720px;
  color-scheme: light;
}
* { -webkit-box-sizing: border-box; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--cream); color: var(--ink);
  font-family: var(--body); font-weight: 300; font-size: 17px; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { -webkit-transition: none !important; transition: none !important; -webkit-animation: none !important; animation: none !important; } }

/* Display type: Archivo at 125% width approximates Maison Neue Extended */
h1, h2, h3, .display, .btn, .eyebrow, .stat b, .price b, .tab, .nav a, .brand-note {
  font-family: var(--display);
}
h1, h2, h3, .display { font-weight: 700; font-stretch: 125%; letter-spacing: -.01em; text-wrap: balance; margin: 0; line-height: 1.08; }
h1 { font-size: clamp(2.3rem, 5vw, 3.9rem); }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.5rem); }
h3 { font-size: 1.25rem; line-height: 1.25; }
p { margin: 0; }
p + p { margin-top: .9em; }
a { color: inherit; }
strong { font-weight: 700; }
.eyebrow { font-weight: 700; font-stretch: 125%; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lime-dark); }
.on-green .eyebrow { color: var(--lime); }
.lead { font-size: 1.15rem; line-height: 1.5; font-weight: 300; }
.muted { color: var(--ink-soft); }
.on-green .muted, .on-deep .muted { color: rgba(249,243,239,.82); }

/* Sections */
section { padding: 72px 24px; }
.wrap { max-width: var(--wide); margin: 0 auto; }
.text { max-width: var(--text); }
.on-green { background: var(--green); color: var(--cream); }
.on-green h1,
.on-green h2,
.on-green h3,
.on-green h4,
.on-green h5,
.on-green h6,
.on-deep h1,
.on-deep h2,
.on-deep h3,
.on-deep h4,
.on-deep h5,
.on-deep h6
{
	color: var(--cream);
}
.on-deep { background: var(--green-deep); color: var(--cream); }
.on-cream2 { background: var(--cream-2); }
.center { text-align: center; }
.center .text { margin-left: auto; margin-right: auto; }
.stack > * + * { margin-top: 18px; }
.section-head { max-width: 760px; }
.section-head h2 { margin-top: 14px; }
.section-head p { margin-top: 16px; }

/* Buttons */
.btn { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 8px; font-weight: 700; font-size: .82rem; letter-spacing: .02em; padding: 15px 26px; border: 1.5px solid var(--lime); background: var(--lime); color: var(--green-ink); text-decoration: none; cursor: pointer; -webkit-transition: background .12s ease, -webkit-transform .12s ease; transition: background .12s ease, -webkit-transform .12s ease; transition: transform .12s ease, background .12s ease; transition: transform .12s ease, background .12s ease, -webkit-transform .12s ease; }
.btn:hover { background: #a9d80f; -webkit-transform: translateY(-1px); transform: translateY(-1px); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }
.btn.ghost { background: transparent; color: var(--green-ink); border-color: var(--green); }
.btn.ghost:hover { background: rgba(49,80,53,.06); }
.on-green .btn.ghost, .on-deep .btn.ghost { color: var(--cream); border-color: rgba(249,243,239,.6); }
.on-green .btn.ghost:hover, .on-deep .btn.ghost:hover { background: rgba(249,243,239,.08); }
.btn.big { font-size: .95rem; padding: 18px 34px; }
.btn-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 12px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.btn-note { font-size: .9rem; color: var(--ink-soft); }
.on-green .btn-note, .on-deep .btn-note { color: rgba(249,243,239,.88); }

/* Nav */
.nav { position: sticky; top: 0; z-index: 20; background: var(--green); color: var(--cream); border-bottom: 1px solid var(--rule-on-green); }
.nav .wrap { display: grid; grid-template-columns: 1fr auto 1fr; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 64px; padding: 0 24px; }
.nav ul { list-style: none; margin: 0; padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 26px; }
.nav a { color: var(--cream); text-decoration: none; font-size: .8rem; font-weight: 400; }
.nav .right { justify-self: end; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 18px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.nav .apply { border: 1.5px solid var(--lime); color: var(--lime); padding: 8px 14px; font-weight: 700; }
.nav .logo { justify-self: center; display: block; height: 30px; }
.nav .logo svg { height: 30px; width: auto; display: block; }

/* Duotone photo placeholders (real duotone photos go here in production) */
.site-main .photo { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--green-deep) 0%, #4f6d3c 55%, var(--sand) 100%); min-height: 260px; }
.photo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 30%, rgba(252,237,177,.35), transparent 55%), radial-gradient(ellipse at 75% 80%, rgba(27,57,35,.55), transparent 60%); mix-blend-mode: multiply; }
.photo .cap { position: absolute; left: 14px; bottom: 12px; z-index: 1; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(249,243,239,.85); font-family: var(--display); font-weight: 400; }

/* Stats */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--rule-on-green); border-bottom: 1px solid var(--rule-on-green); }
.stat { padding: 22px 20px; border-right: 1px solid var(--rule-on-green); }
.stat:last-child { border-right: 0; }
.stat b { display: block; font-size: 2rem; font-stretch: 125%; color: var(--lime); font-variant-numeric: tabular-nums; line-height: 1; }
.stat span { display: block; margin-top: 8px; font-size: .82rem; line-height: 1.35; color: rgba(249,243,239,.8); }
@media (max-width: 760px) { .stats { grid-template-columns: repeat(2, 1fr); } .stat:nth-child(2) { border-right: 0; } .stat:nth-child(-n+2) { border-bottom: 1px solid var(--rule-on-green); } }

/* Grids */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
@media (max-width: 900px) { .grid-2, .grid-3, .grid-5 { grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 900px) { .grid-3, .grid-5 { grid-template-columns: 1fr 1fr; } }

/* "What you get" list */
.gets { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--rule); }
.get { padding: 26px 22px 30px 0; border-bottom: 1px solid var(--rule); }
.get .num { font-family: var(--display); font-weight: 400; font-size: .72rem; letter-spacing: .1em; color: var(--lime-dark); }
.get h3 { margin-top: 10px; font-size: 1.05rem; }
.get p { margin-top: 10px; font-size: .92rem; color: var(--ink-soft); }
@media (max-width: 1000px) { .gets { grid-template-columns: 1fr 1fr; gap: 0 28px; } }
@media (max-width: 600px) { .gets { grid-template-columns: 1fr; } }

/* Thread bubbles */
.threads { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 22px; }
.thread { position: relative; background: var(--cream); color: var(--ink); padding: 20px 22px 18px; border-radius: 18px 18px 18px 4px; display: grid; grid-template-columns: 1fr auto; gap: 16px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.thread::before { content: ""; position: absolute; left: -1px; bottom: -10px; width: 18px; height: 18px; background: var(--cream); clip-path: polygon(0 0, 100% 0, 0 100%); }
.thread .t { font-family: var(--display); font-weight: 700; font-size: 1rem; line-height: 1.3; }
.thread .r { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 8px; font-family: var(--display); font-size: .72rem; color: var(--ink-soft); white-space: nowrap; background: rgba(49,80,53,.08); padding: 8px 12px; border-radius: 999px; }
.thread .r b { font-size: 1rem; color: var(--green); font-variant-numeric: tabular-nums; }
.thread .r svg { width: 16px; height: 16px; }
@media (max-width: 760px) { .threads { grid-template-columns: 1fr; } }

/* Stories */
.stories { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.story { background: #fff; border: 1px solid var(--rule); padding: 26px 28px; display: grid; gap: 18px; }
.story .who { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 14px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.story .hs { width: 56px; height: 56px; border-radius: 50%; -webkit-box-flex: 0; -ms-flex: none; flex: none; background: linear-gradient(135deg, var(--green-deep), var(--sand)); }
.story .who b { display: block; font-family: var(--display); font-weight: 700; font-size: 1rem; }
.story .who span { display: block; font-size: .82rem; color: var(--ink-soft); margin-top: 2px; }
.story .arc { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--rule); }
.story .arc > div { padding: 16px 0 0; }
.story .arc > div + div { padding-left: 20px; border-left: 1px solid var(--rule); margin-left: 20px; }
.story .lab { font-family: var(--display); font-weight: 700; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 8px; }
.story .arc > div + div .lab { color: var(--lime-dark); }
.story .arc p { font-size: .95rem; }
.story .q { font-family: var(--display); font-weight: 700; font-size: 1.1rem; line-height: 1.35; color: var(--green-ink); }
@media (max-width: 900px) { .stories { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .story .arc { grid-template-columns: 1fr; } .story .arc > div + div { padding-left: 0; border-left: 0; margin-left: 0; } }

/* Quotes */
figure.quote {
	-webkit-margin-before: 1em;
	        margin-block-start: 1em;
	-webkit-margin-after: 1em;
	        margin-block-end: 1em;
	-webkit-margin-start: 40px;
	        margin-inline-start: 40px;
	-webkit-margin-end: 40px;
	        margin-inline-end: 40px;
}
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.quote { background: var(--cream); color: var(--ink); padding: 26px 26px 22px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 16px; }
.quote p { font-size: 1rem; line-height: 1.45; }
.quote .by { margin-top: auto; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 12px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: var(--display); font-size: .8rem; }
.quote .av { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, var(--green-deep), var(--sand)); -webkit-box-flex: 0; -ms-flex: none; flex: none; }
.quote .by b { display: block; font-weight: 700; }
.quote .by span { color: var(--ink-soft); }
@media (max-width: 900px) { .quotes { grid-template-columns: 1fr; } }

/* Tier table */
.tiers { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tiers th, .tiers td { padding: 14px 12px; border-bottom: 1px solid var(--rule-on-green); text-align: left; vertical-align: middle; }
.tiers th { font-family: var(--display); font-weight: 700; font-size: .78rem; letter-spacing: .04em; }
.tiers th.c, .tiers td.c { text-align: center; width: 120px; }
.tiers td.c .y { display: inline-block; width: 22px; height: 22px; border-radius: 50%; background: var(--lime); position: relative; }
.tiers td.c .y::after { content: ""; position: absolute; left: 8px; top: 5px; width: 5px; height: 10px; border: solid var(--green-ink); border-width: 0 2.5px 2.5px 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.tiers td.c .n { display: inline-block; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid rgba(249,243,239,.25); }
.tiers td b { color: var(--lime); font-weight: 400; }
.tiers tr.price td { font-family: var(--display); font-weight: 700; font-size: 1.15rem; border-bottom: 0; padding-top: 22px; }
.tiers tr.price td.c { font-variant-numeric: tabular-nums; }
.tiers tr.price small { display: block; font-weight: 300; font-size: .72rem; font-family: var(--body); color: rgba(249,243,239,.7); }
.table-wrap { overflow-x: auto; }

/* Guarantee */
.guarantee { display: grid; grid-template-columns: auto 1fr; gap: 24px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1.5px solid var(--lime); padding: 26px 28px; background: rgba(156,199,0,.08); }
.guarantee .seal { width: 84px; height: 84px; border-radius: 50%; border: 2px solid var(--lime); display: grid; place-items: center; font-family: var(--display); font-weight: 700; font-stretch: 125%; color: var(--lime); font-size: 1.35rem; line-height: 1; text-align: center; }
.guarantee .seal small { display: block; font-size: .55rem; letter-spacing: .12em; margin-top: 3px; }
.guarantee h3 { font-size: 1.3rem; }
.guarantee p { margin-top: 8px; font-size: .98rem; }
@media (max-width: 600px) { .guarantee { grid-template-columns: 1fr; } }

/* Qualify */
.qual { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.qual .col { padding: 26px 28px; border: 1px solid var(--rule); background: var(--cream); }
.qual .col.no { border-style: dashed; }
.qual h3 { font-size: 1.05rem; }
.qual ul { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; font-size: .95rem; }
.qual li { padding-left: 26px; position: relative; }
.qual li::before { content: ""; position: absolute; left: 0; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--lime); }
.qual .no li::before { background: transparent; border: 1.5px solid var(--ink-soft); }
@media (max-width: 760px) { .qual { grid-template-columns: 1fr; } }

/* FAQ */
.faq { border-top: 1px solid var(--rule); }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary { cursor: pointer; padding: 18px 0; font-family: var(--display); font-weight: 700; font-size: 1rem; list-style: none; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--lime-dark); font-weight: 400; font-size: 1.3rem; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq .a { padding: 0 0 20px; max-width: 680px; color: var(--ink-soft); font-size: .97rem; }
.faq details[open] summary { border-bottom: none; }

/* Newsletter fallback band */
.nl { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.nl form { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 10px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.nl input { -webkit-box-flex: 1; -ms-flex: 1 1 220px; flex: 1 1 220px; padding: 14px 16px; border: 1.5px solid rgba(249,243,239,.35); background: transparent; color: var(--cream); font: inherit; font-size: .95rem; }
.nl input::-webkit-input-placeholder { color: rgba(249,243,239,.55); }
.nl input::-moz-placeholder { color: rgba(249,243,239,.55); }
.nl input:-ms-input-placeholder { color: rgba(249,243,239,.55); }
.nl input::-ms-input-placeholder { color: rgba(249,243,239,.55); }
.nl input::placeholder { color: rgba(249,243,239,.55); }
.nl .issues { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; font-size: .9rem; }
.nl .issues li { padding-left: 18px; position: relative; color: rgba(249,243,239,.85); }
.nl .issues li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 2px; background: var(--lime); }
@media (max-width: 760px) { .nl { grid-template-columns: 1fr; } }

/* Footer */
footer { padding: 56px 24px 40px; background: var(--cream); border-top: 1px solid var(--rule); font-size: .85rem; }
footer .wrap { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
footer h4 { font-family: var(--display); font-weight: 700; font-size: .78rem; margin: 0 0 12px; }
footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
footer a { text-decoration: none; color: var(--ink-soft); }
footer .legal { grid-column: 1 / -1; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--rule); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; color: var(--ink-soft); font-size: .78rem; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 10px; }
footer .mark { width: 36px; height: 26px; }
@media (max-width: 760px) { footer .wrap { grid-template-columns: 1fr 1fr; } }


/* Comparison table */
.cmp { width:100%; border-collapse:collapse; font-size:.92rem; background:#fff; }
.cmp th, .cmp td { padding:14px 16px; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
.cmp th { font-family:var(--display); font-weight:700; font-size:.75rem; letter-spacing:.04em; }
.cmp td:first-child { font-family:var(--display); font-weight:700; font-size:.8rem; color:var(--ink); width:22%; }
.cmp td { color:var(--ink-soft); }
.cmp .hi { background:rgba(156,199,0,.12); color:var(--ink); font-weight:400; }
.cmp th.hi { color:var(--green); }

/* AI search demo */
.search-demo { background: var(--green); color: var(--cream); padding: 24px; display: grid; gap: 10px; }
.sd-bar { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 12px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: var(--cream); color: var(--ink); padding: 14px 16px; font-size: .95rem; }
.sd-icon { width: 14px; height: 14px; border: 2px solid var(--green); border-radius: 50%; position: relative; -webkit-box-flex: 0; -ms-flex: none; flex: none; }
.sd-icon::after { content: ""; position: absolute; width: 2px; height: 7px; background: var(--green); right: -5px; bottom: -6px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.sd-res { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; gap: 14px; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; padding: 12px 14px; background: rgba(249,243,239,.08); border-left: 3px solid var(--lime); }
.sd-res b { font-family: var(--display); font-size: .92rem; font-weight: 700; }
.sd-res span { font-family: var(--display); font-size: .72rem; color: rgba(249,243,239,.75); white-space: nowrap; }
.sd-note { font-size: .78rem; color: rgba(249,243,239,.7); margin-top: 4px; }

/* Difference list */
.diff { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 32px; }
.diff > div { border-top: 2px solid var(--lime); padding-top: 16px; }
.diff h3 { font-size: 1.05rem; }
.diff p { margin-top: 8px; font-size: .95rem; color: var(--ink-soft); }
.on-green .diff p { color: rgba(249,243,239,.82); }
@media (max-width: 900px) { .diff { grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 900px) { .diff { grid-template-columns: 1fr 1fr; } }

/* Headshot placeholders for quotes */
.quote .av { background: linear-gradient(135deg, var(--green-deep), var(--sand)); }

/* Archive on green */
.archive-green .search-demo { background: var(--green-deep); border: 1px solid var(--rule-on-green); }
.archive-green .sd-res { background: rgba(249,243,239,.06); }

.stat span.ph { display:inline; margin:0; color:var(--ink); }

/* Column helpers, so mobile collapse is never blocked by an inline override */
.cols-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .cols-4 { grid-template-columns: 1fr 1fr; } .cols-2 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cols-4 { grid-template-columns: 1fr; } }

/* Nothing may push the page sideways */
html, body { max-width: 100%; overflow-x: clip; }
.wrap, .grid-2, .grid-3, .grid-5, .gets, .stories, .quotes, .qual, .diff, .nl { min-width: 0; }
.wrap > *, .grid-2 > *, .grid-3 > *, .stories > *, .quotes > *, .nl > * { min-width: 0; }

/* Mobile refinements */
@media (max-width: 760px) {
  section { padding: 48px 20px; }
  .nav .wrap { padding: 0 16px; }
  .nav ul { gap: 16px; }
  .nav a { font-size: .74rem; }
  .stat b { font-size: 1.6rem; }
  .stat span { font-size: .78rem; }
  .btn.big { width: 100%; }
  .btn-row { gap: 10px; }
  .search-demo { padding: 18px 16px; }
  .sd-res { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; gap: 4px; }
  .sd-res span { white-space: normal; }
  .guarantee { text-align: left; }
  .story { padding: 22px 20px; }
  .quote { padding: 22px 20px 18px; }
  .cmp { font-size: .85rem; }
  .cmp th, .cmp td { padding: 11px 12px; }
  .cmp td:first-child { width: auto; }
  footer .wrap { grid-template-columns: 1fr 1fr; }
  .notes { padding: 40px 20px 56px; }
}
@media (max-width: 480px) {
  h1 { font-size: 2.1rem; }
  .nav ul { display: none; }
  .nav .wrap { grid-template-columns: auto 1fr; }
  .nav .logo { justify-self: start; }
}

/* Hero headline: give the second sentence its own line and air */
.h1-break { display: block; margin-top: .34em; }

/* AI search demo, rebuilt */
.search-demo { gap: 0; }
.sd-q { font-weight: 400; }
.sd-list { display: grid; gap: 1px; background: rgba(249,243,239,.14); margin-top: 14px; }
.search-demo .sd-res {
  display: grid; grid-template-columns: 26px 1fr; gap: 14px; -webkit-box-align: start; -ms-flex-align: start; align-items: start;
  padding: 14px 16px; background: var(--green); border-left: 0;
}
.archive-green .sd-res { background: var(--green-deep); }
.sd-rank {
  font-family: var(--display); font-weight: 700; font-size: .72rem; line-height: 1.5;
  color: var(--green-deep); background: var(--lime); width: 22px; height: 22px;
  display: grid; place-items: center; border-radius: 50%;
}
.archive-green .sd-rank { color: var(--green-deep); }
.sd-body { display: block; min-width: 0; }
.sd-body b { display: block; font-family: var(--display); font-weight: 700; font-size: .95rem; line-height: 1.3; }
.sd-meta { display: block; margin-top: 5px; font-size: .74rem; letter-spacing: .02em; color: rgba(249,243,239,.66); }

/* Comparison table: stacked cards on small screens */
@media (max-width: 760px) {
  .cmp thead { display: none; }
  .cmp, .cmp tbody, .cmp tr, .cmp td { display: block; width: 100%; }
  .cmp tr { border: 1px solid var(--rule); background: #fff; margin-bottom: 14px; }
  .cmp tr:last-child { margin-bottom: 0; }
  .cmp td { border-bottom: 1px solid var(--rule); padding: 10px 14px; }
  .cmp td:last-child { border-bottom: 0; }
  .cmp td:first-child {
    width: auto; background: var(--green); color: var(--cream);
    font-size: .82rem; letter-spacing: .01em; padding: 12px 14px;
  }
  .cmp td[data-l] { display: grid; grid-template-columns: 116px 1fr; gap: 12px; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; font-size: .88rem; }
  .cmp td[data-l]::before {
    content: attr(data-l); font-family: var(--display); font-weight: 700;
    font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft);
  }
  .cmp td.hi { background: rgba(156,199,0,.16); }
  .cmp td.hi::before { color: var(--lime-dark); }
  .table-wrap:has(.cmp) { overflow-x: visible; }
}

/* ============================================================
   HOMEPAGE DESIGN PASS — Sept 8
   ============================================================ */

/* --- Hero --- */
.hero { padding: 0 24px; }
.hero-grid {
  display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; padding: 64px 0 56px;
}
.hero-copy > * + * { margin-top: 18px; }
.hero-copy .lead { max-width: 33em; color: rgba(249,243,239,.9); }
.hero-rule {
  font-family: var(--display); font-weight: 700; font-stretch: 125%;
  font-size: 1.1rem; color: var(--lime); letter-spacing: .01em;
  padding-top: 16px; border-top: 2px solid rgba(156,199,0,.32);
  display: inline-block;
}
.hero-copy .btn-row { margin-top: 26px; }

.hero-media { position: relative; margin: 0; -ms-flex-item-align: stretch; align-self: stretch; min-height: 420px; display: -webkit-box; display: -ms-flexbox; display: flex; }
.hero-video, .hero-media-fallback {
  position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; display: block;
}
.hero-video { z-index: 1; }
.hero-media-fallback {
  z-index: 0;
  background:
    radial-gradient(ellipse 70% 48% at 22% 20%, rgba(252,237,177,.55), transparent 62%),
    radial-gradient(ellipse 62% 44% at 82% 30%, rgba(252,237,177,.22), transparent 60%),
    radial-gradient(ellipse 90% 62% at 62% 96%, rgba(11,26,15,.92), transparent 64%),
    linear-gradient(155deg, #16301d 0%, #3f5c34 46%, #a8ab6d 78%, var(--sand) 100%);
}
.hero-media::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  -webkit-box-shadow: inset 0 0 0 1px rgba(249,243,239,.2);
          box-shadow: inset 0 0 0 1px rgba(249,243,239,.2);
}
.asset-note {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; margin: 0;
  font-family: var(--display); font-size: .64rem; letter-spacing: .05em;
  text-transform: uppercase; line-height: 1.45;
  color: rgba(249,243,239,.9); background: rgba(20,26,21,.62);
  padding: 8px 12px; backdrop-filter: blur(2px);
}

/* Stats strip */
.hero .stats { border-top: 1px solid var(--rule-on-green); }
.stat b { letter-spacing: -.015em; }

/* --- What you get: two majors, three minors --- */
.gets-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 44px; border-top: 2px solid var(--green); }
.gets-rest { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--rule); }
.get-major, .get-minor { padding: 26px 32px 30px 0; border-bottom: 1px solid var(--rule); }
.gets-lead .get-major + .get-major,
.gets-rest .get-minor + .get-minor { padding-left: 32px; border-left: 1px solid var(--rule); }
.get-tag {
  font-family: var(--display); font-weight: 700; font-size: .66rem;
  letter-spacing: .13em; text-transform: uppercase; color: var(--lime-dark);
}
.get-major h3 { margin-top: 12px; font-size: 1.45rem; line-height: 1.15; }
.get-major p { margin-top: 12px; font-size: 1.02rem; color: var(--ink-soft); max-width: 34em; }
.get-minor h3 { margin-top: 11px; font-size: 1.05rem; }
.get-minor p { margin-top: 10px; font-size: .92rem; color: var(--ink-soft); }
@media (max-width: 900px) {
  .gets-lead, .gets-rest { grid-template-columns: 1fr; }
  .gets-lead .get-major + .get-major,
  .gets-rest .get-minor + .get-minor { padding-left: 0; border-left: 0; }
  .get-major, .get-minor { padding-right: 0; }
  .get-major h3 { font-size: 1.25rem; }
}

/* --- Member headshots --- */
.hs.hs, .av.av {
  background-size: cover; background-position: center 28%; background-repeat: no-repeat;
  background-color: var(--green-deep); border-radius: 50%; -webkit-box-flex: 0; -ms-flex: none; flex: none; display: block;
}
.story .hs { width: 60px; height: 60px; -webkit-box-shadow: 0 0 0 1px rgba(49,80,53,.18); box-shadow: 0 0 0 1px rgba(49,80,53,.18); }
.quote .av { width: 44px; height: 44px; }

/* --- Before and after stories --- */
.stories { margin-top: 40px; gap: 24px; }
.story {
  background: #fff; border: 1px solid var(--rule); border-top: 3px solid var(--green);
  padding: 26px 28px 28px; display: grid; gap: 20px; -ms-flex-line-pack: start; align-content: start;
}
.story-who { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 14px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.story-name b { display: block; font-family: var(--display); font-weight: 700; font-size: 1.02rem; }
.story-name > span { display: block; font-size: .82rem; color: var(--ink-soft); margin-top: 2px; }
.story .arc { display: grid; grid-template-columns: 1fr 1.15fr; gap: 0; border-top: 1px solid var(--rule); }
.story .arc > div { padding-top: 18px; }
.story .arc-after {
  padding-left: 24px; margin-left: 24px; border-left: 1px solid var(--rule); position: relative;
}
.story .arc-after::before {
  content: ""; position: absolute; left: -5px; top: 26px;
  width: 9px; height: 9px; background: var(--lime);
  border: 2px solid #fff; border-radius: 50%;
}
.story .lab {
  font-family: var(--display); font-weight: 700; font-size: .64rem; letter-spacing: .13em;
  text-transform: uppercase; color: var(--ink-soft); margin-bottom: 9px;
}
.story .arc-after .lab { color: var(--lime-dark); }
.story .arc p { font-size: .95rem; line-height: 1.5; }
.story .arc p strong { font-weight: 700; color: var(--green-ink); }
@media (max-width: 560px) {
  .story .arc { grid-template-columns: 1fr; }
  .story .arc-after { padding-left: 0; margin-left: 0; border-left: 0; padding-top: 20px; margin-top: 18px; border-top: 1px solid var(--rule); }
  .story .arc-after::before { left: 0; top: -5px; }
}

/* --- Difference grid --- */
.diff { margin-top: 40px; gap: 30px 36px; }
.diff h3 { font-size: 1.06rem; }

/* --- Quotes --- */
.quotes-band .quote {
  background: var(--cream); padding: 28px 28px 24px; gap: 20px;
  border-left: 3px solid var(--lime);
}
.quotes-band blockquote {
  margin: 0; font-size: 1.02rem; line-height: 1.5; color: var(--ink);
}
.quotes-band blockquote::before { content: "\201C"; }
.quotes-band blockquote::after  { content: "\201D"; }
.quotes-band .by { margin-top: auto; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 13px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: var(--display); font-size: .8rem; }
.quotes-band .by b { display: block; font-weight: 700; }
.quotes-band .by span span { color: var(--ink-soft); }

/* --- Film block --- */
.film-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.film { margin: 0; position: relative; }
.film-frame {
  position: relative; min-height: 360px; overflow: hidden;
  background:
    radial-gradient(ellipse at 34% 30%, rgba(252,237,177,.30), transparent 58%),
    radial-gradient(ellipse at 70% 76%, rgba(14,30,18,.80), transparent 60%),
    linear-gradient(160deg, #16301d 0%, #3c5a35 55%, #c9c07e 100%);
  display: grid; place-items: center;
  -webkit-box-shadow: inset 0 0 0 1px rgba(249,243,239,.16);
          box-shadow: inset 0 0 0 1px rgba(249,243,239,.16);
}
.film-play {
  width: 84px; height: 84px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--cream); display: grid; place-items: center;
  -webkit-transition: background .14s ease, -webkit-transform .14s ease;
  transition: background .14s ease, -webkit-transform .14s ease;
  transition: transform .14s ease, background .14s ease;
  transition: transform .14s ease, background .14s ease, -webkit-transform .14s ease;
}
.film-play:hover { -webkit-transform: scale(1.06); transform: scale(1.06); background: #fff; }
.film-play-tri {
  width: 0; height: 0; margin-left: 7px;
  border-left: 25px solid var(--green); border-top: 15px solid transparent; border-bottom: 15px solid transparent;
}
.film-len {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--display); font-weight: 700; font-size: .68rem; letter-spacing: .08em;
  color: var(--green-ink); background: var(--lime); padding: 4px 9px;
}
@media (max-width: 900px) { .film-grid { grid-template-columns: 1fr; } .film-frame { min-height: 260px; } }

/* --- Hero responsive --- */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 32px; padding: 44px 0 40px; }
  .hero-media { min-height: 300px; }
}
@media (max-width: 480px) {
  .hero-rule { font-size: 1rem; }
  .hero-media { min-height: 230px; }
}


/* Hero typography and balance, tuned after the first render */
.hero h1 { font-size: clamp(2.1rem, 3.4vw, 3.15rem); }
.h1-break { margin-top: .22em; }
.hero-copy .lead { font-size: 1.1rem; }
.hero-grid { padding: 56px 0 44px; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
.hero-copy { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.hero-media { min-height: 100%; }
@media (max-width: 980px) { .hero-media { min-height: 320px; } }

/* ============================================================
   HOMEPAGE ROUND 2 — Sept 8
   ============================================================ */

/* Headline: real air between the two sentences */
.h1-break { margin-top: .62em; }

/* Fix: legacy `.sd-res span { white-space: nowrap }` was stopping result titles wrapping */
.sd-res .sd-body, .sd-res .sd-meta { white-space: normal; }

/* What you get: one primary block plus three, on a 2x2 */
.gets {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  margin-top: 44px; border-top: 2px solid var(--green);
}
.gets .get-major, .gets .get-minor {
  padding: 28px 34px 32px 0; border-bottom: 1px solid var(--rule);
}
.gets > *:nth-child(even) { padding-left: 34px; border-left: 1px solid var(--rule); }
.gets .get-major { border-bottom-color: var(--green); }
@media (max-width: 900px) {
  .gets { grid-template-columns: 1fr; }
  .gets > *:nth-child(even) { padding-left: 0; border-left: 0; }
  .gets .get-major, .gets .get-minor { padding-right: 0; }
}

/* Bigger faces: they are the most human thing on the page */
.story .hs { width: 76px; height: 76px; }
.quote .av { width: 70px; height: 70px; }
.quotes-band .by { gap: 16px; }
@media (max-width: 560px) { .story .hs { width: 64px; height: 64px; } }

/* --- Guarantee seal --- */
.guarantee {
  grid-template-columns: 168px 1fr; gap: 34px; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  padding: 30px 34px; border-width: 1.5px;
  background:
    radial-gradient(ellipse 60% 100% at 8% 50%, rgba(156,199,0,.16), transparent 70%),
    rgba(156,199,0,.06);
}
.guarantee .seal { width: 168px; height: 168px; border: 0; border-radius: 0; display: block; }
.guarantee .seal svg { width: 100%; height: 100%; display: block; overflow: visible; }
.seal-ring-thin { fill: none; stroke: var(--lime); stroke-width: 1; opacity: .38; }
.seal-ring { fill: none; stroke: var(--lime); stroke-width: 2; }
.seal-fill  { fill: rgba(156,199,0,.10); }
.seal-ticks line { stroke: var(--lime); stroke-width: 2; opacity: .55; }
.seal-arc {
  fill: var(--lime); font-family: var(--display); font-weight: 700; font-stretch: 125%;
  font-size: 9.2px; letter-spacing: 1.55px;
}
.seal-num {
  fill: var(--cream); font-family: var(--display); font-weight: 700; font-stretch: 125%;
  font-size: 34px; text-anchor: middle; letter-spacing: -.01em;
}
.seal-word {
  fill: var(--lime); font-family: var(--display); font-weight: 700;
  font-size: 9px; letter-spacing: 3.2px; text-anchor: middle;
}
.guarantee-copy h3 { font-size: 1.32rem; line-height: 1.18; max-width: 20ch; }
.guarantee-copy p { margin-top: 12px; font-size: 1rem; max-width: 46ch; }
@media (max-width: 760px) {
  .guarantee { grid-template-columns: 1fr; gap: 22px; justify-items: start; padding: 26px 22px; }
  .guarantee .seal { width: 132px; height: 132px; }
  .guarantee-copy h3 { max-width: none; }
}

/* --- Footer, matching the live site --- */
footer .wrap { grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 32px; }
.foot-brand .foot-logo { display: block; }
.foot-brand .foot-logo svg { width: 132px; height: auto; display: block; }
.foot-brand p { margin-top: 16px; max-width: 32ch; font-size: .84rem; color: var(--ink-soft); line-height: 1.55; }
footer h4 { letter-spacing: .06em; text-transform: uppercase; font-size: .7rem; color: var(--ink); }
footer ul { gap: 9px; }
footer a:hover { color: var(--green); }
footer .legal { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.legal-links { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 20px; }
@media (max-width: 760px) { footer .wrap { grid-template-columns: 1fr 1fr; } .foot-brand { grid-column: 1 / -1; } }

.seal-dot { fill: var(--lime); }
.seal-arc { font-size: 9.6px; letter-spacing: 1.7px; }

/* ============================================================
   FORUM + APPLY DESIGN PASS — Sept 8
   ============================================================ */

/* Forum hero sits on cream, so the media frame needs its own edge */
.forum-hero { padding: 0 24px; }
.forum-hero .hero-grid { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.forum-hero .lead, .forum-hero .btn-note { color: var(--ink-soft); }
.forum-media { min-height: 400px; }
.forum-media::after { -webkit-box-shadow: inset 0 0 0 1px rgba(49,80,53,.22); box-shadow: inset 0 0 0 1px rgba(49,80,53,.22); }
@media (max-width: 980px) { .forum-media { min-height: 300px; } }

/* Forum rules, as a real enumerated list */
.rules { list-style: none; counter-reset: r; margin: 0; padding: 0; display: grid; gap: 0; }
.rules li {
  counter-increment: r; position: relative; padding: 18px 0 18px 58px;
  border-bottom: 1px solid var(--rule); font-size: .98rem; line-height: 1.5;
}
.rules li:first-child { border-top: 2px solid var(--green); }
.rules li:last-child { border-bottom: 0; }
.rules li::before {
  content: counter(r); position: absolute; left: 0; top: 17px;
  width: 30px; height: 30px; display: grid; place-items: center;
  font-family: var(--display); font-weight: 700; font-size: .82rem;
  color: var(--green-ink); background: var(--lime); border-radius: 50%;
}
.rules b { font-weight: 700; }

/* Apply: qualification columns */
.qual-v2 { margin-top: 40px; gap: 24px; }
.qual-v2 .col { background: #fff; border: 1px solid var(--rule); padding: 28px 30px 30px; }
.qual-v2 .col.yes { border-top: 3px solid var(--lime); }
.qual-v2 .col.no  { border-top: 3px solid var(--rule-strong, rgba(49,80,53,.3)); border-style: solid; background: transparent; }
.qual-v2 h3 { font-size: 1.08rem; }
.qual-v2 ul { gap: 14px; margin-top: 18px; }
.qual-v2 li { padding-left: 30px; }
.qual-v2 li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 17px; height: 17px;
  border-radius: 50%; background: var(--lime);
}
.qual-v2 .yes li::after {
  content: ""; position: absolute; left: 5px; top: 7px; width: 4px; height: 8px;
  border: solid var(--green-ink); border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); transform: rotate(45deg);
}
.qual-v2 .no li::before { background: transparent; border: 1.5px solid rgba(49,80,53,.35); }
.qual-v2 .no li::after {
  content: ""; position: absolute; left: 4.5px; top: 11px; width: 8px; height: 1.5px;
  background: rgba(49,80,53,.5);
}

/* Apply: four steps as a connected sequence */
.steps { list-style: none; counter-reset: s; margin: 40px 0 0; padding: 0; display: grid; gap: 0; }
.steps li {
  display: grid; grid-template-columns: 46px 1fr; gap: 20px; -webkit-box-align: start; -ms-flex-align: start; align-items: start;
  padding: 22px 0 24px; border-bottom: 1px solid var(--rule); position: relative;
}
.steps li:first-child { border-top: 2px solid var(--green); }
.steps li:last-child { border-bottom: 0; }
.step-n {
  width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
  font-family: var(--display); font-weight: 700; font-size: 1rem;
  color: var(--green-ink); background: var(--lime); position: relative; z-index: 1;
}
.steps li::after {
  content: ""; position: absolute; left: 19.5px; top: 62px; bottom: -2px;
  width: 1px; background: var(--rule);
}
.steps li:last-child::after { display: none; }
.steps h3 { font-size: 1.08rem; }
.steps p { margin-top: 8px; font-size: .95rem; color: var(--ink-soft); max-width: 62ch; }
@media (min-width: 900px) {
  .steps { grid-template-columns: 1fr 1fr; -webkit-column-gap: 48px; -moz-column-gap: 48px; column-gap: 48px; }
  .steps li:nth-child(2) { border-top: 2px solid var(--green); }
  .steps li:nth-child(3), .steps li:nth-child(4) { border-bottom: 0; }
  .steps li::after { display: none; }
}

/* FAQ, a touch more presence */
.faq summary { padding: 20px 0; }
.faq summary:hover { color: var(--green); }
.faq details[open] summary { color: var(--green); }
.faq .a { line-height: 1.6; }

/* ============================================================
   ROUND 4 — Sept 8
   ============================================================ */

/* Stats: self-describing headline, smaller numeral, richer label */
.stat b { font-size: 1.5rem; line-height: 1.12; letter-spacing: -.012em; }
.stat span { margin-top: 9px; font-size: .88rem; line-height: 1.4; }
.stat { padding: 24px 22px; }
@media (max-width: 760px) { .stat b { font-size: 1.28rem; } .stat span { font-size: .82rem; } }

/* What you get: one consistent voice across all four blocks */
.gets .get-major h3, .gets .get-minor h3 { font-size: 1.1rem; margin-top: 11px; }
.gets .get-major p,  .gets .get-minor p  { font-size: .95rem; color: var(--ink-soft); margin-top: 10px; max-width: 44ch; }

/* Thread rows: a bubble marker (grid lives in browser.html's own style block) */
.bub {
  width: 16px; height: 16px; margin-top: 2px; display: block; opacity: .5;
  background: no-repeat center/16px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.2 2.2h11.6v8.4H6.1L3.2 13.4v-2.8H2.2z' fill='none' stroke='%23315035' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.rows .row b { font-weight: 600; color: var(--green-ink); }

/* Before and after: labels and body on a shared baseline grid */
.story .arc { grid-template-columns: 1fr 1.1fr; }
.story .arc > div { display: grid; grid-template-rows: auto 1fr; padding-top: 20px; }
.story .lab { margin-bottom: 10px; min-height: 1em; }
.story .arc p { margin: 0; }
.story .arc-after::before { top: 28px; }

/* AI search: a real answer, not a list of links */
.sd-answer {
  margin-top: 14px; background: rgba(249,243,239,.07); border-left: 3px solid var(--lime);
  padding: 18px 20px 20px;
}
.archive-green .sd-answer { background: rgba(249,243,239,.05); }
.sd-src {
  font-family: var(--display); font-weight: 700; font-size: .62rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--lime); margin-bottom: 12px;
}
.sd-intro { font-size: .95rem; line-height: 1.5; color: rgba(249,243,239,.94); }
.sd-points { list-style: none; counter-reset: sp; margin: 14px 0 0; padding: 0; display: grid; gap: 12px; }
.sd-points li {
  counter-increment: sp; position: relative; padding-left: 26px;
  font-size: .92rem; line-height: 1.5; color: rgba(249,243,239,.84);
}
.sd-points li::before {
  content: counter(sp) "."; position: absolute; left: 0; top: 0;
  font-family: var(--display); font-weight: 700; font-size: .86rem; color: var(--lime);
}
.sd-points b { color: var(--cream); font-weight: 700; }
.sd-points em { font-style: italic; }
.sd-caution {
  margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(249,243,239,.16);
  font-size: .9rem; color: rgba(249,243,239,.84);
}
.sd-caution b { color: var(--lime); font-weight: 700; }

/* Guarantee: plain, confident badge */
.guarantee { grid-template-columns: 132px 1fr; gap: 30px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.guarantee .seal { width: 132px; height: 132px; border: 0; border-radius: 0; }
.guarantee .seal svg { width: 100%; height: 100%; display: block; }
.s-ring { fill: none; stroke: var(--lime); stroke-width: 2.5; }
.s-num {
  fill: var(--cream); font-family: var(--display); font-weight: 700; font-stretch: 125%;
  font-size: 40px; text-anchor: middle; letter-spacing: -.02em;
}
.s-lab {
  fill: var(--lime); font-family: var(--display); font-weight: 700;
  font-size: 10px; letter-spacing: 2.4px; text-anchor: middle;
}
.guarantee-copy h3 { font-size: 1.35rem; line-height: 1.22; max-width: 26ch; }
@media (max-width: 760px) {
  .guarantee { grid-template-columns: 1fr; gap: 20px; }
  .guarantee .seal { width: 112px; height: 112px; }
}

/* ============================================================
   ROUND 5 — badge option E, and the deeper AI answer
   ============================================================ */

/* Guarantee: typographic badge, no shape */
.guarantee { grid-template-columns: auto 1fr; gap: 40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 30px 34px; }
.guarantee .seal { width: auto; height: auto; display: inline-grid; gap: 7px; border: 0; border-radius: 0; }
.seal-e b {
  font-family: var(--display); font-weight: 700; font-stretch: 125%;
  font-size: 3.35rem; line-height: .9; color: var(--lime); letter-spacing: -.03em;
}
.seal-e span {
  font-family: var(--display); font-weight: 700; font-size: .82rem; letter-spacing: .175em;
  color: var(--cream); border-top: 2px solid var(--lime); padding-top: 10px; white-space: nowrap;
}
.guarantee-copy h3 { font-size: 1.35rem; line-height: 1.22; max-width: 28ch; }
@media (max-width: 760px) {
  .guarantee { grid-template-columns: 1fr; gap: 22px; padding: 26px 22px; }
  .seal-e b { font-size: 2.8rem; }
  .seal-e span { font-size: .74rem; letter-spacing: .15em; }
}

/* AI answer: synthesis on top, one section in real depth */
.sd-intro b { color: var(--cream); font-weight: 700; }
.sd-deep { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(249,243,239,.16); }
.sd-deep h4 {
  margin: 0 0 12px; font-family: var(--display); font-weight: 700; font-size: 1rem;
  line-height: 1.3; color: var(--cream); display: grid; grid-template-columns: 26px 1fr; -webkit-box-align: start; -ms-flex-align: start; align-items: start;
}
.sd-n {
  font-family: var(--display); font-weight: 700; font-size: .74rem; color: var(--green-ink);
  background: var(--lime); width: 19px; height: 19px; border-radius: 50%;
  display: grid; place-items: center; margin-top: 2px;
}
.sd-n.sm { display: inline-grid; width: 17px; height: 17px; font-size: .68rem; margin-right: 9px; vertical-align: 1px; }
.sd-deep p {
  font-size: .89rem; line-height: 1.55; color: rgba(249,243,239,.82); margin-top: 0;
  padding-left: 26px;
}
.sd-deep p + p { margin-top: 11px; }
.sd-cites { font-size: .78rem !important; color: rgba(249,243,239,.6) !important; margin-top: 13px !important; }
.sd-cites a { color: rgba(249,243,239,.8); text-decoration: none; border-bottom: 1px solid rgba(156,199,0,.55); }
.sd-cites a:hover { color: var(--lime); }

.sd-rest { margin-top: 16px; padding-top: 15px; border-top: 1px solid rgba(249,243,239,.16); display: grid; gap: 11px; }
.sd-rest p { font-size: .89rem; line-height: 1.55; color: rgba(249,243,239,.82); }
.sd-rest b { color: var(--cream); font-weight: 700; }

/* Redacted member names: real ones exist, they are just not shown publicly */
.redact {
  -webkit-filter: blur(3.2px);
          filter: blur(3.2px); color: rgba(249,243,239,.9); letter-spacing: -.06em;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none; -webkit-user-select: none; font-size: .82em; vertical-align: 1px;
}

/* Tall answer panel: top-align the copy beside it rather than floating it mid-height */
#archive .grid-2 { -webkit-box-align: start; -ms-flex-align: start; align-items: start; }
#archive .stack { padding-top: 6px; }

/* ============================================================
   ROUND 6 — Sept 9
   ============================================================ */

/* Guarantee: smaller badge, statement-weight copy, kinder wrapping */
.guarantee { grid-template-columns: auto 1fr; gap: 34px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 24px 28px; }
.seal-e b { font-size: 2.9rem; }
.seal-e span { font-size: .74rem; letter-spacing: .16em; padding-top: 9px; }
.guarantee-copy h3 {
  font-family: var(--display); font-weight: 700; font-stretch: 100%;
  font-size: 1.06rem; line-height: 1.42; max-width: 52ch; text-wrap: pretty;
}
@media (max-width: 700px) {
  .guarantee { grid-template-columns: 1fr; gap: 18px; padding: 22px 20px; }
  .seal-e b { font-size: 2.4rem; }
  .seal-e span { font-size: .68rem; letter-spacing: .14em; }
  .guarantee-copy h3 { font-size: 1rem; line-height: 1.45; max-width: none; }
}

/* What you get: every divider the same weight */
.gets .get-major { border-bottom-color: var(--rule); }
.gets .get-major h3, .gets .get-minor h3 { font-size: 1.08rem; }

/* Thread bubble: warmer and more present */
.bub {
  opacity: 1;
  background: no-repeat center/17px 17px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.2 2.2h11.6v8.4H6.1L3.2 13.4v-2.8H2.2z' fill='%239cc700' fill-opacity='.30' stroke='%237ea300' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Comparison: the ECF column should read as the answer */
.cmp th.hi b { font-weight: 700; font-size: 1.06em; letter-spacing: .01em; }
.cmp td.hi { font-weight: 400; color: var(--ink); }
@media (max-width: 760px) { .cmp td.hi::before { color: var(--lime-dark); font-weight: 700; } }

/* AI answer: shorter, with the second point trailing off */
.sd-answer { padding: 16px 18px 18px; }
.sd-intro { font-size: .92rem; }
.sd-deep { margin-top: 15px; padding-top: 14px; }
.sd-deep h4, .sd-more h4 { font-size: .95rem; margin-bottom: 10px; }
.sd-deep p, .sd-more p { font-size: .87rem; line-height: 1.5; }
.sd-deep p + p { margin-top: 9px; }

.sd-cites {
  margin-top: 12px !important; padding-left: 26px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 6px 10px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; font-size: .74rem !important;
}
.sd-cites span {
  font-family: var(--display); font-weight: 700; font-size: .58rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--lime); width: 100%;
}
.sd-cites a {
  color: rgba(249,243,239,.78); text-decoration: none;
  border-bottom: 1px solid rgba(156,199,0,.5); line-height: 1.4;
}
.sd-cites a:hover { color: var(--lime); }

.sd-more {
  margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(249,243,239,.16);
  position: relative; max-height: 118px; overflow: hidden;
}
.sd-more::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 58px; pointer-events: none;
  background: linear-gradient(to bottom, rgba(49,80,53,0), var(--green) 92%);
}
.archive-green .sd-more::after { background: linear-gradient(to bottom, rgba(27,57,35,0), var(--green-deep) 92%); }
.sd-cont {
  font-family: var(--display); font-weight: 700; color: var(--lime); text-decoration: none;
  border-bottom: 1px solid var(--lime); margin-right: 8px;
}
.sd-cont:hover { color: var(--cream); border-bottom-color: var(--cream); }

/* Second point: same header treatment as the first, and a tighter cut-off */
.sd-more h4 { display: grid; grid-template-columns: 26px 1fr; -webkit-box-align: start; -ms-flex-align: start; align-items: start; }
.sd-more { max-height: 92px; }
.sd-more::after { height: 46px; }
.sd-cites { gap: 4px 10px; }
.sd-cites a { font-size: .96em; }
.sd-answer { padding: 15px 17px 16px; }
.sd-deep { margin-top: 13px; padding-top: 12px; }
.sd-more { margin-top: 13px; padding-top: 12px; }

.btc-err.btc-err { color: #ffd9c4; }
.btc-form button[disabled] { opacity: .62; cursor: default; }
