/* Site-wide visual direction: forest green, warm ivory, clear hierarchy. */
body {
  background:#f5f3ed;
  --ink:#202d28; --muted:#5c6861; --paper-2:#fffefb; --line:#d8ddd4;
  --green:#246044; --green-dark:#174c34; --navy:#183c2e;
}
/* Positioned header keeps its dropdown above later page stacking contexts, including Safari. */
.site-header { position:relative; z-index:20; background:#173b2d; }
.mobile-more-links { background:#173b2d; }
body { --navy-2:#27533e; --green-soft:#e8efe4; --gold:#bb996b; --radius:10px; --shadow:none; }
main { max-width:1200px; }
.panel { box-shadow:none; border-radius:10px; background:var(--paper-2); }
.view-heading { padding:4px 0 20px; margin-bottom:24px; border-bottom:1px solid #c8d0c5; }
.view-heading h1 { font-weight:400; line-height:1.12; margin:10px 0; }
label { font-size:.875rem; font-weight:650; color:#394b40; }
select, input[type="search"], input[type="text"], input[type="email"], textarea { border-radius:7px; min-height:46px; }
.hunt-meta { font-size:.875rem; line-height:1.55; }
.nav-button, .mobile-more-links { border-radius:7px; }
.button-primary { background:var(--green); }
.button-secondary { color:var(--green-dark); }
.planning-details { border-radius:7px; }
.warning, .explorer-explanation { border-radius:6px; }
.explorer-controls { padding:22px; gap:16px; }
.explorer-table-wrap th { background:#e9ede3; color:#394b40; }
.explorer-table-wrap td { background:var(--paper-2); }
.explorer-table-wrap .hunt-name { font-weight:700; }
.odds-chip { border-radius:5px; font-variant-numeric:tabular-nums; }
.explorer-controls label, .explorer-sort label { font-size:.875rem; }
.ask-intro { background:#173b2d; border-top:4px solid #bb996b; padding:24px; }
.ask-intro h2 { font-weight:400; }
.ask-intro p { color:#e0e8da; }
.prompt-suggestions { background:#f0f2eb; }
.prompt-chip, .query-chip { border-radius:6px; }
.chat-log { background:#f5f3ed; }
.message-bubble, .answer-card { box-shadow:none; border-radius:8px; }
.message-bubble { background:#fffefb; }
.chat-message.user .message-bubble { background:#173b2d; color:white; }
.answer-card { border-color:var(--line); background:#fffefb; }
.answer-metrics .answer-metric { border-radius:5px; }
.answer-metrics strong { font-weight:750; font-variant-numeric:tabular-nums; }
.answer-metrics .answer-draw strong { color:#1e593c; }
.chat-form { background:#fffefb; }
.eplus-overview { border-radius:7px; box-shadow:none; background:#fffefb; }
.eplus-controls { border-radius:8px; padding:22px; gap:16px; }
.eplus-contact, .eplus-unit-grid button { border-radius:8px; box-shadow:none; background:#fffefb; }
.eplus-totals > div { border-radius:8px; box-shadow:none; }
.qa-panel { border:0; background:transparent; }
.qa-item { padding:22px 0; border-color:#c8d0c5; }
.qa-item summary { font-weight:650; }
.qa-answer { line-height:1.7; }
.method-grid { gap:24px; }
.method-card { border:0; border-top:2px solid #bb996b; border-radius:0; background:transparent; box-shadow:none; }
.method-card h2 { font-family:Georgia,serif; font-size:1.5rem; font-weight:400; }
.method-card p { line-height:1.7; }
.formula { border-radius:5px; background:#e9ede3; }
.methodology-panel { border-radius:10px; box-shadow:0 24px 80px #0006; }
.methodology-panel-header { background:#f5f3ed; }
.methodology-panel-header h2 { font-weight:600; }
.methodology-return, .methodology-close { border-radius:6px; }
.newsletter-signup { border-radius:8px; border-top-color:#bb996b; box-shadow:none; }
body .reading h1 { font-weight:400; letter-spacing:-.035em; }
body .reading h2 { font-family:Georgia,serif; font-weight:400; }
body .reading .deck { color:var(--muted); }
body .reading .article-card { background:#fffefb; border-radius:8px; border-top:3px solid #bb996b; box-shadow:none; }
body .reading .article-card h2 { font-size:1.8rem; }
body .reading details { background:transparent; border:0; border-block:1px solid var(--line); border-radius:0; padding:20px 0; }
body .reading figure { border-radius:8px; box-shadow:none; }
body .reading .article-share { border-radius:6px; }
body .reading a { color:var(--green-dark); }
body .reading .byline, body .reading figcaption { color:var(--muted); }
body .reading .article-table th { background:#e9ede3; }
.research-archive > header { background:#173b2d; }
.research-archive h1, .research-archive h2 { font-family:Georgia,serif; font-weight:400; }
.research-archive section { box-shadow:none; border-radius:8px; background:#fffefb; }
.research-archive .highlight { background:#e9ede3; border-left:3px solid #bb996b; border-radius:0; }
@media(max-width:720px) {
  .view-heading { padding:0 6px 20px; }
  .explorer-controls, .eplus-controls { padding:18px; }
  .methodology-panel { border-radius:0; }
  .method-grid { gap:18px; }
  .qa-item { padding:20px 6px; }
  body .reading .article-card { padding:22px; }
}
#view-home, #view-application { max-width:1200px; margin-inline:auto; }
.button { border-radius:7px; font-weight:700; }
.button-secondary { background:transparent; color:var(--green-dark); }
.eyebrow { font-size:.875rem; letter-spacing:.12em; }
:is(button,a,summary,select):focus-visible { outline:3px solid #a77032; outline-offset:3px; }

#view-home .landing-hero { position:relative; isolation:isolate; overflow:hidden; display:block; padding:48px; background:#173b2d; color:#fff; border-radius:12px; }
#view-home .landing-heading, #view-home .landing-summary { max-width:540px; }
#view-home .landing-hero h1 { max-width:15ch; font-size:clamp(2.7rem,5vw,4.1rem); line-height:1.04; font-weight:400; letter-spacing:-.035em; margin:18px 0 22px; }
#view-home .landing-hero h1 em { color:#e5c391; font-style:italic; }
#view-home .beta-ribbon { background:transparent; color:#f3d9ae; border:1px solid #d8b78580; border-radius:4px; font-size:.8rem; letter-spacing:.12em; padding:6px 10px; }
#view-home .landing-intro { color:#f0f2e9; font-size:1.05rem; line-height:1.65; max-width:490px; margin-bottom:24px; }
#view-home .landing-hero .button-primary { background:#e5c391; color:#173b2d; }
#view-home .landing-hero .button-primary:hover { background:#f3d9ae; }
#view-home .landing-hero .button-secondary { color:#fff; border-color:#f6f3e580; }
#view-home .landing-hero .landing-small { color:#e0e7da; margin:16px 0 0; }
#view-home .landing-benefits { border:0; gap:32px; padding:38px 0; }
#view-home .landing-benefits article { border-top:2px solid #bb996b; padding-top:18px; }
#view-home .landing-benefits h2 { font-size:1.1rem; font-weight:750; }
#view-home .landing-benefits p { font-size:1rem; line-height:1.65; }
#view-home .latest-research { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:12px 48px; padding:32px 0; margin:0 0 36px; border:0; border-block:1px solid #bfc9be; border-radius:0; background:transparent; }
#view-home .latest-research .eyebrow { grid-column:1/-1; color:#78603f; }
#view-home .latest-research h2 { grid-row:2/4; margin:0; font-weight:400; font-size:clamp(1.7rem,2.7vw,2.25rem); line-height:1.2; }
#view-home .latest-research > p:not(.eyebrow) { margin:0; line-height:1.65; }
#view-home .latest-research > a { justify-self:start; align-self:start; text-decoration:none; }
#view-home .landing-pricing { border-radius:10px; padding:32px; background:#fffefb; }
#view-home .landing-beta-offer { background:#edf1e9; border:0; border-left:3px solid #af8859; border-radius:0; }
#view-home .landing-plan { border:0; border-left:1px solid var(--line); background:transparent; border-radius:0; padding:18px 22px; }
#view-home .landing-plan.featured { border:0; border-left:2px solid var(--green); padding:18px 22px; }

#view-application .view-heading { padding:4px 0 20px; margin-bottom:24px; border-bottom:1px solid #c8d0c5; }
#view-application .view-heading h1 { font-size:clamp(1.9rem,3.3vw,2.7rem); line-height:1.12; font-weight:400; margin:10px 0; }
#view-application .workspace { grid-template-columns:minmax(340px,.9fr) minmax(0,1.35fr); gap:28px; }
#view-application .panel { box-shadow:none; border-radius:10px; background:#fffefb; }
#view-application .builder { border:0; background:transparent; overflow:visible; }
#view-application .form-body { padding:0; }
#view-application label { font-size:.875rem; font-weight:650; color:#394b40; }
#view-application :is(select,input) { border-radius:7px; min-height:46px; }
#view-application .hunt-meta { font-size:.875rem; line-height:1.55; }
#view-application .field-grid { gap:16px; }
#view-application .choice-list { gap:0; margin-top:24px; }
#view-application .choice-row { border:0; border-top:1px solid #ccd4c9; border-radius:0; padding:20px 0; background:transparent; align-items:start; }
#view-application .choice-number { background:#e6eadd; color:#214e36; border-radius:50%; margin-top:3px; }
#view-application .choice-order button { background:transparent; font-weight:650; border-radius:6px; }
#view-application .result-stack { gap:24px; }
#view-application .outlook { padding:26px; background:#173b2d; border:0; border-top:4px solid #bb996b; }
#view-application .outlook::after { display:none; }
#view-application .outlook h2 { font-size:1.25rem; font-weight:600; }
#view-application .chance-range { font-weight:750; font-size:clamp(2.9rem,4.6vw,4rem); letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
#view-application .chance-label, #view-application #outlook-uncertainty { color:#e0e8da; }
#view-application .choice-results { background:transparent; border:0; border-radius:0; overflow:visible; }
#view-application .choice-results-header { padding:0 0 14px; }
#view-application .choice-results-header h2 { font-family:Georgia,serif; font-weight:400; font-size:1.7rem; }
#view-application #choice-cards { padding:0; gap:16px; }
#view-application #choice-cards .choice-card { border-radius:8px; padding:20px; border:1px solid #d8ddd4; background:#fffefb; grid-template-columns:32px minmax(0,1fr) minmax(150px,.42fr); gap:12px; }
#view-application .choice-card-number { width:30px; height:30px; border:0; background:#edf0e7; border-radius:50%; }
#view-application #choice-cards .choice-label { font-size:.875rem; color:#65715d; }
#view-application #choice-cards .hunt-name { font-size:1.06rem; font-weight:700; line-height:1.5; }
#view-application #choice-cards .metric-value:not(.metric-value-text) { font-size:2.25rem; color:#1e593c; font-weight:750; }
#view-application #choice-cards .metric-value-text { font-size:1rem; }
#view-application .context-panel { border:0; border-top:1px solid #bdc9ba; border-radius:0; background:transparent; }
#view-application .context-head { padding:24px 0 16px; }
#view-application .context-head h2 { font-family:Georgia,serif; font-size:1.45rem; font-weight:400; }
#view-application .context-card { background:transparent; padding:18px 0; }
#view-application .context-grid { background:transparent; gap:18px; }
#view-application .context-stat { background:#e9ede3; border-radius:4px; }
#view-application .context-stat span { font-size:.8rem; }
#view-application .context-copy, #view-application .result-note { font-size:.875rem; line-height:1.6; }
#view-application .result-note { padding:16px 0; background:transparent; }
#view-application .strategy-newsletter { border:0; border-top:1px solid #bdc9ba; border-radius:0; background:transparent; padding:24px 0; }
@media (max-width:980px) {
  #view-application .workspace { grid-template-columns:1fr; }
  #view-application .choice-fields { grid-template-columns:140px minmax(0,1fr); }
}
@media (max-width:720px) {
  #view-home .landing-hero { padding:28px 24px; border-radius:8px; }
  #view-home .landing-hero h1 { font-size:2.8rem; margin:18px 0; }
  #view-home .landing-intro { font-size:1rem; line-height:1.6; }
  #view-home .landing-benefits { gap:24px; padding:28px 10px; }
  #view-home .latest-research { display:block; margin:0 10px 28px; padding:24px 0; }
  #view-home .latest-research h2 { margin:12px 0; }
  #view-home .latest-research > a { display:inline-flex; margin-top:18px; }
  #view-home .landing-pricing { padding:24px 20px; }
  #view-home .landing-plan, #view-home .landing-plan.featured { padding:16px; }
  #view-application .view-heading { padding:0 6px 20px; }
  #view-application .builder { padding:0 6px; }
  #view-application .choice-fields { grid-template-columns:1fr; }
  #view-application .outlook { padding:22px; }
  #view-application .chance-range { font-size:3.4rem; }
  #view-application #choice-cards .choice-card { grid-template-columns:30px minmax(0,1fr); padding:18px; }
  #view-application #choice-cards .metric-draw { grid-column:2; text-align:left; border:0; padding:2px 0 10px; background:transparent; }
  #view-application #choice-cards .choice-support { grid-column:1/-1; }
  #view-application #choice-cards .metric-value:not(.metric-value-text) { font-size:2.5rem; }
  #view-application .context-grid { gap:0; }
  #view-application .context-card + .context-card { border-top:1px solid var(--line); }
}

/* The photo-free homepage uses both columns rather than reserving image space. */
@media(min-width:801px){
#view-home .landing-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; padding:40px; }
#view-home .landing-hero h1 { margin-bottom:0; font-size:clamp(2.7rem,4.5vw,3.7rem); }
#view-home .landing-summary { padding-top:12px; }
}
