/* 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:not(:where(.wp-block-heading)), h2:not(:where(.wp-block-heading)), h3:not(:where(.wp-block-heading)), .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 .lab { margin-bottom: 10px; min-height: 1em; }
.story .arc p { margin: 0; }

/* 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; }

/* AI search demo: link-styled affordances that deliberately do NOT navigate.
   The demo is a static illustration of the product, so "Read the full answer" and
   "See source discussions" are spans, not anchors. They read as links and go nowhere,
   which is better than an href="#" that jumps the reader to the top of the page. */
.sd-fauxlink {
  color: var(--cream); text-decoration: underline; text-underline-offset: 2px;
  -webkit-text-decoration-thickness: 1px; text-decoration-thickness: 1px; cursor: default;
}
.sd-readmore { font-size: .86em; }
/* Beat `.sd-cites span`, which is the uppercase lime label treatment. */
.sd-cites .sd-fauxlink {
  width: auto; font-family: inherit; font-weight: 400; font-size: .74rem;
  letter-spacing: 0; text-transform: none; color: var(--cream);
  text-decoration: underline; text-underline-offset: 2px;
}
