:root {
  --two-ivory: #faf6ed;
  --two-cream: #fffdf7;
  --two-green: #062e22;
  --two-green-2: #123d2d;
  --two-gold: #b8862b;
  --two-gold-2: #c49a45;
  --two-charcoal: #1d1d1b;
  --two-muted: #5e625d;
  --two-border: #e5d8c5;
  --two-shadow: 0 18px 48px rgba(26, 20, 12, .08);
  --two-serif: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;
  --two-sans: Inter, "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(circle at top left, #fffdf8 0, var(--two-ivory) 45%, #f4eadb 100%);
  color: var(--two-charcoal);
  font-family: var(--two-sans);
  font-size: 16px;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.two-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.two-main { min-height: 60vh; }

.two-site-header {
  background: rgba(255, 253, 247, .96);
  border-bottom: 1px solid var(--two-border);
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(12px);
}
.two-header-inner { min-height: 92px; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
.two-logo { display: inline-flex; align-items: center; gap: 14px; min-width: 260px; }
.two-logo__crest {
  width: 58px; height: 58px; display: grid; place-items: center;
  border: 2px solid var(--two-gold); color: var(--two-gold);
  font-family: var(--two-serif); font-size: 30px; font-weight: 700;
  border-radius: 50% 50% 45% 45%; position: relative;
}
.two-logo__crest::before, .two-logo__crest::after {
  content: ""; position: absolute; left: 8px; right: 8px; height: 1px; background: var(--two-gold);
}
.two-logo__crest::before { top: 9px; } .two-logo__crest::after { bottom: 9px; }
.two-logo__text strong { display: block; color: var(--two-green); font-family: var(--two-serif); font-size: 30px; line-height: 1; letter-spacing: .04em; }
.two-logo__text small { display: block; color: var(--two-gold); font-size: 11px; text-transform: uppercase; letter-spacing: .22em; margin-top: 4px; }
.two-menu { list-style: none; display: flex; align-items: center; justify-content: center; gap: 32px; margin: 0; padding: 0; font-weight: 700; }
.two-menu a { padding: 34px 0 28px; border-bottom: 2px solid transparent; }
.two-menu a:hover, .current-menu-item > a { color: var(--two-gold); border-bottom-color: var(--two-gold); }
.two-header-actions { display: flex; align-items: center; gap: 18px; }
.two-search-link { font-size: 32px; line-height: 1; color: var(--two-green); }
.two-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 24px; border-radius: 5px;
  font-weight: 800; border: 1px solid var(--two-gold); transition: .2s ease;
}
.two-btn--dark { background: var(--two-green); color: #fff; border-color: var(--two-green); }
.two-btn--outline { background: transparent; color: #875b16; }
.two-btn:hover { transform: translateY(-1px); box-shadow: var(--two-shadow); }
.two-nav-toggle { display: none; background: none; border: 0; gap: 5px; flex-direction: column; }
.two-nav-toggle span { width: 26px; height: 2px; background: var(--two-green); }

h1, h2, h3 { font-family: var(--two-serif); color: var(--two-green); line-height: .98; margin: 0 0 16px; }
h1 { font-size: clamp(48px, 6vw, 78px); letter-spacing: -.02em; }
h2 { font-size: clamp(28px, 3vw, 42px); }
h3 { font-size: 22px; }
em { color: var(--two-gold); font-style: italic; font-weight: 500; }
.two-eyebrow, .two-card-kicker, .two-list-heading, .two-section-title {
  color: #a06b1d; text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 900;
}
.two-gold-line { display: block; width: 48px; height: 2px; background: var(--two-gold); margin: 18px 0; }
.two-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }

.two-hero, .two-tools-hero, .two-guides-hero, .two-playbook-hero, .two-single-hero {
  display: grid; grid-template-columns: .84fr 1.16fr; gap: 52px; align-items: center; padding: 42px 0 36px;
}
.two-hero__copy > p:not(.two-eyebrow), .two-tools-hero p, .two-guides-hero p, .two-playbook-hero p {
  color: #252b28; font-size: 18px; max-width: 560px;
}
.two-featured-panel {
  min-height: 280px; display: grid; grid-template-columns: .78fr 1fr; overflow: hidden;
  background: var(--two-green); color: #fff; border-radius: 8px; box-shadow: var(--two-shadow);
}
.two-hero .two-featured-panel { grid-template-columns: 1fr; grid-template-rows: clamp(220px, 24vw, 340px) auto; }
.two-featured-panel h2, .two-featured-panel p, .two-featured-panel strong { color: #fff; }
.two-featured-panel__copy { padding: 34px; background: linear-gradient(115deg, #063325 0%, #063325 75%, transparent 76%); position: relative; z-index: 2; }
.two-hero .two-featured-panel__copy { background: var(--two-green); }
.two-featured-panel__copy strong, .two-text-link { color: #c9922e; font-weight: 900; }
.two-featured-panel__media { min-height: 280px; }
.two-hero .two-featured-panel__media { min-height: 0; order: -1; overflow: hidden; }
.two-featured-panel__media img,
.two-featured-panel__media .two-art-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.two-section { padding: 22px 0; }
.two-section-title { display: flex; align-items: center; gap: 16px; justify-content: center; color: var(--two-charcoal); margin: 6px 0 18px; }
.two-section-title::before, .two-section-title::after { content: ""; flex: 1; height: 1px; background: var(--two-border); }
.two-topic-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.two-topic-card, .two-tool-card, .two-guide-card, .two-article-card, .two-side-panel, .two-newsletter, .two-info-strip, .two-split-card {
  background: rgba(255, 253, 247, .78); border: 1px solid var(--two-border); border-radius: 8px; box-shadow: 0 8px 24px rgba(40, 26, 8, .04);
}
.two-topic-card { min-height: 96px; display: grid; grid-template-columns: 46px 1fr; gap: 8px 14px; align-items: center; padding: 20px; }
.two-topic-card .two-icon { grid-row: span 2; color: var(--two-gold); width: 38px; height: 38px; }
.two-topic-card span { font-weight: 900; color: var(--two-green); }
.two-topic-card small { color: var(--two-muted); }
.two-home-content, .two-content-sidebar { display: grid; grid-template-columns: 1fr 290px; gap: 28px; align-items: start; }
.two-content-sidebar > * { min-width: 0; }
.two-sidebar { min-width: 0; width: 100%; display: block; }
.two-card-grid { display: grid; gap: 16px; }
.two-card-grid--articles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.two-card-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.two-card-grid--related { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.two-article-card { overflow: hidden; }
.two-card-media { display: block; height: 150px; overflow: hidden; }
.two-card-body { padding: 14px 16px 16px; }
.two-card-body h3 { font-size: 20px; margin-bottom: 8px; }
.two-card-body p { color: var(--two-muted); font-size: 14px; margin: 0 0 10px; }
.two-card-body small { color: var(--two-muted); font-size: 12px; }
.two-card-kicker { margin: 0 0 5px; font-size: 10px; color: var(--two-green); }

.two-art-img {
  width: 100%; height: 100%; min-height: 150px; display: flex; align-items: end; padding: 18px;
  color: #fff; font-family: var(--two-serif); font-size: 20px; background: linear-gradient(135deg, #102d25, #b8862b);
  background-size: cover; background-position: center;
}
.two-art-img span { max-width: 80%; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.two-art-img--mountain { background-image: linear-gradient(135deg, rgba(6,46,34,.12), rgba(6,46,34,.2)), url("../img/wealth-mountain.svg"); }
.two-art-img--market { background: linear-gradient(135deg, #071b18, #123d2d 45%, #0b0f0d); }
.two-art-img--goals { background-image: linear-gradient(135deg, rgba(255,253,247,.1), rgba(255,248,235,.32)), url("../img/wealth-desk.svg"); color: var(--two-green); }
.two-art-img--city { background: linear-gradient(135deg, #253d42, #b9cbd1); }
.two-art-img--side { background: linear-gradient(135deg, #2d251c, #d7c1a3); }
.two-art-img--desk { background-image: linear-gradient(135deg, rgba(87,66,49,.18), rgba(234,220,199,.14)), url("../img/wealth-desk.svg"); color: var(--two-green); }
.two-art-img--lake { background: linear-gradient(135deg, #587f82, #d7c69b); }
.two-art-img--etf { background: linear-gradient(135deg, #222, #777); }

.two-side-panel { padding: 22px; margin-bottom: 18px; }
.two-side-panel h2 { font-size: 15px; letter-spacing: .18em; text-transform: uppercase; color: #a06b1d; font-family: var(--two-sans); }
.two-tool-card { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 22px; }
.two-tool-card--compact { grid-template-columns: 42px 1fr; gap: 18px; padding: 13px 0; border: 0; box-shadow: none; background: transparent; }
.two-tool-card__icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--two-green); color: #fff; }
.two-tool-card__icon .two-icon { width: 28px; height: 28px; }
.two-tool-card h3 { font-size: 20px; margin: 0 0 6px; }
.two-tool-card p { margin: 0 0 12px; color: var(--two-muted); font-size: 14px; }
.two-tool-card--compact h3 { margin-bottom: 8px; line-height: 1.15; }
.two-tool-card--compact p { line-height: 1.45; margin-bottom: 0; }

.two-bottom-ctas { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; padding: 10px 0 26px; }
.two-newsletter { display: grid; grid-template-columns: 68px 1fr 290px; gap: 18px; align-items: center; padding: 24px; }
.two-newsletter__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--two-green); color: #fff; }
.two-newsletter h2 { font-size: 25px; margin-bottom: 4px; }
.two-newsletter p { margin: 0; color: var(--two-muted); }
.two-newsletter__form { display: grid; grid-template-columns: 1fr; gap: 10px; min-width: 0; }
.two-newsletter input { width: 100%; min-width: 0; border: 1px solid var(--two-border); padding: 0 16px; min-height: 44px; border-radius: 5px; background: #fff; }
.two-newsletter button { border-radius: 5px; }
.two-newsletter .two-btn { width: 100%; border-radius: 5px; white-space: nowrap; }
.two-newsletter input:disabled { color: var(--two-muted); background: #f7efe3; }
.two-newsletter small { grid-column: 1 / -1; color: var(--two-muted); margin-top: 0; max-width: 100%; }
.two-newsletter__embed { min-width: 0; }
.two-sidebar .two-newsletter {
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 100%;
  margin: 0;
  position: static;
  float: none;
  clear: both;
}
.two-sidebar .two-newsletter__form,
.two-sidebar .two-newsletter__embed { grid-template-columns: 1fr; width: 100%; max-width: 100%; }
.two-sidebar .two-newsletter input,
.two-sidebar .two-newsletter .two-btn,
.two-sidebar .two-newsletter button { width: 100%; border-radius: 5px; }
.two-premium-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: var(--two-green); color: #fff; border-radius: 8px; overflow: hidden; padding: 24px; }
.two-premium-cta h2, .two-premium-cta p, .two-premium-cta a { color: #fff; }
.two-books { min-height: 170px; background: linear-gradient(90deg, transparent 0 8%, #0b2f24 8% 36%, #f4eadb 38% 62%, #1d1d1b 64% 92%, transparent 92%); transform: rotate(-2deg); border-radius: 6px; }
.two-books--small { min-height: 110px; }

.two-site-footer { background: radial-gradient(circle at top, #123d2d, #062e22 70%); color: rgba(255,255,255,.82); padding: 34px 0; }
.two-footer-grid { display: grid; grid-template-columns: minmax(260px, 1.15fr) repeat(4, minmax(140px, .72fr)); gap: clamp(24px, 3vw, 44px); align-items: start; }
.two-site-footer .two-logo__text strong { color: var(--two-gold); }
.two-site-footer .two-logo__text small, .two-copyright { color: rgba(255,255,255,.65); }
.two-footer-brand p { max-width: 270px; }
.two-footer-col h2 { color: #fff; font: 800 13px/1 var(--two-sans); text-transform: uppercase; letter-spacing: .18em; }
.two-footer-menu { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; }
.two-footer-menu a { color: rgba(255,255,255,.82); }
.two-socials { display: flex; gap: 12px; flex-wrap: wrap; }
.two-socials a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--two-gold); border-radius: 50%; color: var(--two-gold); font-weight: 800; }

.two-archive-hero, .two-page { padding: 36px 0; }
.two-archive-hero h1 { max-width: 760px; }
.two-breadcrumb { color: var(--two-muted); font-size: 13px; }
.two-deck { font-size: 19px; color: var(--two-muted); }
.two-byline { display: flex; gap: 14px; flex-wrap: wrap; color: var(--two-muted); font-weight: 700; }
.two-single { padding-top: 28px; }
.two-single-media { min-height: 300px; border-radius: 8px; overflow: hidden; box-shadow: var(--two-shadow); }
.two-entry { font-size: 18px; max-width: 760px; }
.two-entry h2 { font-size: 30px; margin-top: 32px; }
.two-entry blockquote { margin: 24px 0; padding: 18px 24px; border-left: 4px solid var(--two-gold); background: #fff8eb; font: italic 22px/1.3 var(--two-serif); }
.two-disclaimer { margin-top: 32px; padding: 18px; border: 1px solid var(--two-border); background: #fff8eb; border-radius: 8px; color: var(--two-muted); }
.two-related { padding: 28px 0; }
.two-check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.two-check-list li::before {
  content: "";
  display: inline-block;
  width: .45em;
  height: .8em;
  margin: 0 10px 0 2px;
  border: solid var(--two-gold);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.two-side-link, .two-small-article { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 10px 0; align-items: start; }
.two-side-link small, .two-small-article small { display: block; color: var(--two-muted); font-size: 12px; }
.two-small-article { grid-template-columns: 72px 1fr; }
.two-small-article .two-art-img { min-height: 48px; font-size: 0; padding: 0; border-radius: 4px; }

.two-editorial-image, .two-tool-visual {
  min-height: 300px; border-radius: 8px; box-shadow: var(--two-shadow); border: 1px solid var(--two-border);
  background: radial-gradient(circle at 72% 22%, rgba(196,154,69,.35), transparent 18%), linear-gradient(135deg, #1d1914, #5c4937 45%, #0b2f24);
}
.two-editorial-image--study::before { content: "W"; display: grid; place-items: center; width: 100%; height: 300px; color: rgba(196,154,69,.55); font: 120px/1 var(--two-serif); }
.two-split-card { display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; padding: 28px; margin-bottom: 26px; }
.two-mini-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.two-mini-card { display: grid; justify-items: center; text-align: center; gap: 8px; border: 1px solid var(--two-border); border-radius: 8px; padding: 18px; }
.two-mini-card .two-icon { color: var(--two-gold); width: 38px; height: 38px; }

.two-framework { background: var(--two-green); color: #fff; border-radius: 8px; padding: 28px; }
.two-framework h2, .two-framework p { color: #fff; }
.two-framework__steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; text-align: center; margin: 18px 0; }
.two-framework__steps .two-icon { width: 52px; height: 52px; padding: 10px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; }
.two-framework__steps strong, .two-framework__steps small { display: block; color: #fff; }
.two-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.two-step-card { position: relative; padding: 24px; border: 1px solid var(--two-border); border-radius: 8px; background: var(--two-cream); }
.two-step-card > span { position: absolute; top: 16px; left: 16px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--two-green); color: #fff; }
.two-step-card .two-icon { width: 48px; height: 48px; margin: 28px 0 8px; }
.two-step-card a { font-weight: 900; }
.two-playbook-path { display: grid; gap: 22px; padding: 22px 0; }
.two-recommended-reading { margin-bottom: 0; }
.two-recommended-reading .two-small-article { grid-template-columns: 96px 1fr; }
.two-playbook-steps { min-width: 0; }

.two-tools-hero h1 em { display: block; font-size: .72em; }
.two-featured-panel--tool { grid-template-columns: .85fr 1fr; }
.two-tool-visual { min-height: 250px; background: linear-gradient(135deg, #e5d8c5, #fffdf7 45%, #6d5b49); }
.two-filter-row { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.two-filter-row a { min-height: 42px; padding: 10px 24px; border: 1px solid var(--two-border); border-radius: 5px; color: #8b5e1e; font-weight: 800; }
.two-filter-row a.is-active, .two-filter-row a:hover { background: var(--two-green); color: #fff; border-color: var(--two-green); }
.two-tool-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.two-calculator-shell { margin-top: 24px; padding: 28px; border: 1px dashed var(--two-border); border-radius: 8px; background: #fff8eb; display: grid; gap: 14px; }
.two-calculator-shell label { display: grid; gap: 6px; font-weight: 800; color: var(--two-green); }
.two-calculator-shell input { width: 100%; min-height: 42px; border: 1px solid var(--two-border); border-radius: 5px; padding: 0 12px; background: #fff; }
.two-calculator-shell output { display: block; padding: 14px 16px; border-radius: 5px; background: var(--two-green); color: #fff; font-weight: 900; }
.two-info-strip { padding: 24px; }

.two-book-banner { display: grid; grid-template-columns: .45fr .55fr; background: var(--two-green); color: #fff; border-radius: 8px; overflow: hidden; }
.two-book-banner > div:first-child { padding: 34px; }
.two-book-banner h2, .two-book-banner p, .two-book-banner a { color: #fff; }
.two-guide-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.two-guide-card { overflow: hidden; }
.two-guide-cover { height: 155px; display: grid; place-items: center; padding: 18px; background: linear-gradient(135deg, #0b2f24, #123d2d); color: #fff; text-align: center; font: 22px/1.1 var(--two-serif); }
.two-guide-card:nth-child(2n) .two-guide-cover { background: linear-gradient(135deg, #f4eadb, #fffdf7); color: var(--two-green); }
.two-guide-card:nth-child(3n) .two-guide-cover { background: linear-gradient(135deg, #26231e, #69523b); color: #fff; }
.two-guide-cover--single { min-height: 320px; border-radius: 8px; box-shadow: var(--two-shadow); }
.two-guide-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.two-guide-meta strong { color: var(--two-green); font-size: 20px; }
.two-guide-meta span, .two-guide-meta a { color: #a06b1d; font-weight: 900; }
.two-guide-price { display: inline-flex; align-items: center; min-height: 44px; color: var(--two-green); font-weight: 900; font-size: 24px; }
.two-single-tool-card { min-height: 280px; border-radius: 8px; padding: 34px; display: grid; align-content: center; justify-items: start; gap: 14px; background: radial-gradient(circle at 80% 20%, rgba(184,134,43,.24), transparent 28%), var(--two-green); color: #fff; box-shadow: var(--two-shadow); }
.two-single-tool-card h2, .two-single-tool-card p { color: #fff; }
.two-single-tool-card .two-tool-card__icon { background: #fff; color: var(--two-green); }

.screen-reader-text { position: absolute; left: -9999px; }

@media (max-width: 1100px) {
  .two-header-inner { grid-template-columns: auto auto; }
  .two-nav-toggle { display: flex; justify-self: end; }
  .two-primary-nav { display: none; grid-column: 1 / -1; }
  .two-primary-nav.is-open { display: block; }
  .two-menu { display: grid; gap: 0; justify-content: stretch; }
  .two-menu a { display: block; padding: 13px 0; }
  .two-header-actions { grid-column: 1 / -1; justify-content: end; }
  .two-topic-grid, .two-card-grid--articles, .two-guide-grid { grid-template-columns: repeat(3, 1fr); }
  .two-tool-grid, .two-card-grid--archive { grid-template-columns: repeat(2, 1fr); }
  .two-framework__steps { grid-template-columns: repeat(3, 1fr); }
  .two-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .two-container { width: min(100% - 28px, 720px); }
  .two-header-inner { min-height: 78px; }
  .two-logo { min-width: 0; }
  .two-logo__text strong { font-size: 24px; }
  .two-logo__text small { font-size: 9px; }
  .two-logo__crest { width: 48px; height: 48px; font-size: 25px; }
  .two-hero, .two-tools-hero, .two-guides-hero, .two-playbook-hero, .two-single-hero,
  .two-home-content, .two-content-sidebar, .two-bottom-ctas, .two-split-card {
    grid-template-columns: 1fr;
  }
  h1 { font-size: clamp(40px, 13vw, 58px); }
  .two-featured-panel, .two-book-banner { grid-template-columns: 1fr; }
  .two-featured-panel__copy { background: var(--two-green); }
  .two-topic-grid, .two-card-grid--articles, .two-card-grid--archive, .two-card-grid--related,
  .two-tool-grid, .two-guide-grid, .two-mini-grid, .two-step-grid {
    grid-template-columns: 1fr;
  }
  .two-framework__steps { grid-template-columns: repeat(2, 1fr); }
  .two-newsletter { grid-template-columns: 1fr; }
  .two-newsletter__form { grid-template-columns: 1fr; }
  .two-newsletter input, .two-newsletter button { border-radius: 5px; }
  .two-footer-grid { grid-template-columns: 1fr; }
}
