/* Keep the campaign's focused signup path, with the homepage's visual language. */
body { background: #f8f7f2; color: #59675f; }
h1, h2, h3 { color: #253c34; font-weight: 500; }
h1 { font-size: clamp(2.5rem, 4.5vw, 3.7rem); letter-spacing: -.045em; }
h2 { font-size: clamp(1.7rem, 3vw, 2.1rem); }
.site-header { height: 70px; border-bottom: 1px solid #d9ded3; }
.brand { color: #253c34; font-size: 1.25rem; text-decoration: none; }
.hero { grid-template-columns: 1fr 1fr; padding-block: 4rem; }
.hero-copy .eyebrow, .eyebrow { font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #285c45; margin: 0 0 1.2rem; }
.hero-copy > p:not(.eyebrow) { font-size: 1.05rem; line-height: 1.75; }
.btn, .closing-inner { background: #285c45; }
.btn:hover { background: #1d4433; }
.setup-link { display: inline-block; font-size: .85rem; margin-top: 1.2rem; text-underline-offset: 4px; }
.connection-story { padding: 1.7rem; border: 1px solid #d1dcc6; border-radius: 12px; background: #edf0e5; }
.story-request, .story-result { padding: 1.2rem; border: 1px solid #d1dcc6; background: #fffefa; border-radius: 8px; }
.story-request > span, .story-result > span { display: block; font-size: .7rem; font-weight: 600; color: #617253; }
.story-request p { font-family: Georgia, serif; color: #253c34; font-size: 1.4rem; line-height: 1.45; margin: .6rem 0 0; }
.story-bridge { padding: 1rem; text-align: center; }
.story-bridge > span { display: block; color: #617253; font-size: 1.5rem; }
.story-bridge strong, .story-result strong { display: block; color: #253c34; font-size: .95rem; }
.story-bridge p, .story-result p { font-size: .85rem; margin: .4rem 0 0; line-height: 1.65; }
.story-result strong { margin-top: .5rem; }
.story-caption { font-size: .7rem; margin: 1rem 0 0; text-align: center; }
.proof-details { margin-top: 1.2rem; }
summary { cursor: pointer; color: #253c34; font-weight: 600; padding: 1rem 0; font-size: .95rem; }
summary:hover { text-decoration: underline; text-underline-offset: 4px; }
summary:focus-visible { outline: 3px solid #b5632a; outline-offset: 4px; }
details[open] > summary { margin-bottom: .5rem; }
.proof-panel, pre { background: #253f34; }
.mcp-explainer { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; max-width: 1112px; border-block: 1px solid #d9ded3; }
.mcp-explainer h2 { margin-bottom: 0; }
.mcp-explainer p { margin-top: 0; }
.mcp-explainer a { color: #285c45; text-underline-offset: 4px; font-weight: 600; }
.setup-steps { padding-left: 1.5rem; }
.setup-steps li { padding-left: .4rem; margin: 1.3rem 0; }
.setup-steps strong { color: #253c34; }
.setup-steps p { margin: .35rem 0 0; font-size: .95rem; }
.setup-note { background: #e9eddf; border-left: 3px solid #8aa46c; padding: 1.2rem; font-size: .9rem; margin: 1.5rem 0; }
.setup-heading { font-size: 1rem; margin: 2rem 0 .5rem; }
.client-setup { border-bottom: 1px solid #d9ded3; padding-bottom: .25rem; }
.client-setup .code-note { margin-bottom: 1rem; }
#connect { scroll-margin-top: 1.5rem; }
.card { background: #fffefa; border-color: #d9ded3; padding: 1.5rem; }
.prompt { font-family: inherit; font-size: 1rem; color: #253c34; }
.closing .btn { color: #285c45; }
@media (max-width: 900px) {
    .hero { grid-template-columns: 1fr; padding-block: 2.5rem; }
    .mcp-explainer { grid-template-columns: 1fr; gap: 1rem; }
    .connection-story { padding: 1.2rem; }
}
