/* Yardage Book — v2 look for every page that isn't the homepage.
   The homepage carries its own inline styles; this file gives the rest of the
   site the same chrome (announce bar, nav, footer), type (Archivo, Instrument
   Serif, DM Mono) and palette (pine ground, cream paper, flag gold).
   Pages opt in with <body class="v2">; redesign_v2.py wires that up.
   Everything is scoped under .v2 so it wins over each page's older inline CSS. */

.v2 {
  --pine: #12372A; --pine-deep: #0B271D; --fairway: #1E4A38; --night: #0E1A14;
  --paper: #F2EDE4; --paper-2: #E8E0D1; --card: #FBF8F1; --cream: #F6F1E7;
  --ink: #14231B; --ink-2: #2B3830; --ink-3: #39443B; --muted: #56604F;
  --on-dark: #C9D3CB; --on-dark-2: #9FB0A5; --gold-v2: #D8B04A; --gold-hi: #E6C25E; --miss: #A8361F;
  --line: rgba(20,35,27,.16);
  --display: 'Archivo', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --mono: 'DM Mono', ui-monospace, Menlo, Consolas, monospace;
  --gutter: clamp(20px, 5vw, 40px);

  /* The old palette, remapped so every older rule picks up the new colours. */
  --green: #12372A; --green-light: #1D4D3A;
  --cream-dim: #C9D3CB;
  --gold: #D8B04A; --gold-light: #E6C25E;
  --red: #A8361F; --red-hover: #8E2C18;
  --white: #FBF8F1; --off-white: #E8E0D1;
  --gray-100: #EFE9DD; --gray-200: #D9D0BF; --gray-600: #56604F; --gray-800: #14231B;

  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--display); line-height: 1.55; -webkit-font-smoothing: antialiased;
}
.v2 *, .v2 *::before, .v2 *::after, .v2d *, .v2d *::before, .v2d *::after { box-sizing: border-box; }
.v2 button, .v2 input, .v2 select, .v2 textarea { font-family: var(--display); }
.v2 :focus-visible { outline: 3px solid var(--gold-v2); outline-offset: 3px; }
.v2 [hidden] { display: none !important; }
.v2 .mono { font-family: var(--mono); }
:is(.v2, .v2d) .serif { font-family: var(--serif); font-style: italic; font-weight: 400; }
:is(.v2, .v2d) .v2-wrap { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: var(--gutter); }

/* ── Headings: Archivo, wide and heavy; <em> becomes the italic serif aside ── */
.v2 h1, .v2 h2, .v2 h3, .v2 h4, .v2 h5 {
  font-family: var(--display); color: inherit; text-wrap: balance;
}
.v2 h1, .v2 h2 { font-weight: 800; letter-spacing: -.025em; font-variation-settings: 'wdth' 112; }
.v2 h3 { font-weight: 800; letter-spacing: -.01em; }
.v2 h1 em, .v2 h2 em, .v2 h3 em {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  letter-spacing: -.01em; font-variation-settings: normal; color: var(--fairway);
}

/* ── Buttons ── */
.v2 .btn, .v2 .btn-primary, .v2 .btn-buy, .v2 .btn-etsy, .v2 .btn-etsy-dark, .v2 .cta-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 22px; border-radius: 14px; border: 0;
  font-family: var(--display); font-weight: 700; font-size: 16px; text-decoration: none;
  cursor: pointer; transition: transform .15s ease, background-color .15s ease; box-shadow: none; white-space: nowrap;
}
.v2 .btn:hover, .v2 .btn-primary:hover, .v2 .btn-buy:hover, .v2 .btn-etsy:hover, .v2 .btn-etsy-dark:hover { transform: translateY(-2px); box-shadow: none; }
.v2 .btn-gold, .v2 .btn-primary { background: var(--gold-v2); color: var(--ink); }
.v2 .btn-gold:hover, .v2 .btn-primary:hover { background: var(--gold-hi); }
.v2 .btn-pine, .v2 .btn-buy, .v2 .btn-etsy, .v2 .btn-etsy-dark { background: var(--pine); color: var(--paper); }
.v2 .btn-pine:hover, .v2 .btn-buy:hover, .v2 .btn-etsy:hover, .v2 .btn-etsy-dark:hover { background: #1D4D3A; }
.v2 .btn-ghost { background: transparent; color: var(--ink); border: 2px solid var(--ink); min-height: 52px; padding: 0 22px; border-radius: 14px; font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; }
.v2 .btn-ghost:hover { background: rgba(20,35,27,.06); border-color: var(--ink); transform: translateY(-2px); }
.v2 .page-hero .btn-ghost, .v2 .hero .btn-ghost, .v2 .about-hero .btn-ghost { color: var(--paper); border: 1.5px solid rgba(242,237,228,.4); }
.v2 .page-hero .btn-ghost:hover, .v2 .hero .btn-ghost:hover, .v2 .about-hero .btn-ghost:hover { background: rgba(242,237,228,.1); }

/* ── Announce bar + nav (same as the homepage) ── */
.v2 .announce { background: var(--pine-deep); color: #E6DFD2; font-size: 14px; text-align: center; padding: 10px var(--gutter); }
.v2 .v2-nav { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: var(--pine); color: var(--paper); border-bottom: 1px solid rgba(242,237,228,.12); backdrop-filter: none; padding: 0; }
.v2 .v2-nav .nav-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; position: relative; }
:is(.v2, .v2d) .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--paper); }
:is(.v2, .v2d) .brand-mark { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--gold-v2); color: var(--gold-v2); display: flex; align-items: center; justify-content: center; }
:is(.v2, .v2d) .brand-mark svg { width: 18px; height: 18px; }
:is(.v2, .v2d) .brand-name { font-weight: 800; font-size: 22px; letter-spacing: -.01em; font-variation-settings: 'wdth' 112; white-space: nowrap; }
.v2 .v2-nav .nav-links { display: flex; align-items: center; gap: 34px; list-style: none; margin: 0; padding: 0; font-size: 15px; font-weight: 600; position: static; background: none; box-shadow: none; border: 0; flex-direction: row; }
.v2 .v2-nav .nav-links a { text-decoration: none; color: var(--paper); padding: 0; border: 0; font-size: 15px; }
.v2 .v2-nav .nav-links a:hover, .v2 .v2-nav .nav-links a[aria-current] { color: var(--gold-v2); }
.v2 .v2-nav .nav-right { display: flex; align-items: center; gap: 6px; }
.v2 .v2-nav .nav-cta { white-space: nowrap; min-height: 44px; font-size: 15px; padding: 0 18px; border-radius: 12px; background: var(--gold-v2); color: var(--ink) !important; }
.v2 .v2-nav .nav-cta:hover { background: var(--gold-hi); }
.v2 .nav-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--paper); border-radius: 12px; }
.v2 .nav-icon:hover { color: var(--gold-v2); }
.v2 .nav-icon svg, .v2 .burger svg { width: 22px; height: 22px; }
.v2 .burger { display: none; width: 44px; height: 44px; border: 0; background: none; color: var(--paper); cursor: pointer; align-items: center; justify-content: center; }
.v2 .v2-nav .nav-toggle { display: none; }
.v2 .cta-short { display: none; }
@media (max-width: 900px) {
  .v2 .v2-nav .nav-in { min-height: 64px; }
  :is(.v2, .v2d) .brand-mark { width: 34px; height: 34px; }
  :is(.v2, .v2d) .brand-name { font-size: 18px; }
  .v2 .burger { display: inline-flex; }
  .v2 .v2-nav .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--pine); border-bottom: 1px solid rgba(242,237,228,.12); padding: 6px var(--gutter) 16px; }
  .v2 .v2-nav .nav-links a { display: block; padding: 14px 2px; border-bottom: 1px solid rgba(242,237,228,.12); font-size: 16px; }
  .v2 .v2-nav .nav-toggle:checked ~ .nav-links { display: flex; }
  .v2 .v2-nav .nav-right .nav-cta { min-height: 38px; padding: 0 14px; font-size: 14px; }
}
@media (max-width: 480px) {
  .v2 .cta-long { display: none; } .v2 .cta-short { display: inline; }
  .v2 .v2-nav .nav-in { gap: 8px; }
  .v2 .v2-nav .brand { gap: 9px; }
  .v2 .v2-nav .brand-name { font-size: 17px; }
  .v2 .nav-icon, .v2 .burger { width: 36px; }
  .v2 .v2-nav .nav-right { gap: 2px; }
}

/* ── Footer (same as the homepage) ── */
:is(.v2, .v2d) .foot { background: var(--night); color: #AEBBB2; padding-block: 72px 44px; margin: 0; }
:is(.v2, .v2d) .foot a { color: inherit; }
:is(.v2, .v2d) .foot-grid { display: grid; grid-template-columns: minmax(0,1.4fr) repeat(4, minmax(0,1fr)); gap: 40px; }
:is(.v2, .v2d) .foot-brand { display: flex; flex-direction: column; gap: 14px; }
:is(.v2, .v2d) .foot-brand .brand { color: var(--paper); }
:is(.v2, .v2d) .foot-brand .serif { font-size: 22px; color: #E6DFD2; line-height: 1.2; }
:is(.v2, .v2d) .foot-col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
:is(.v2, .v2d) .foot-col h4 { margin: 0; font-family: var(--mono); font-weight: 400; font-size: 11.5px; letter-spacing: .16em; color: #7F9186; font-variation-settings: normal; }
:is(.v2, .v2d) .foot-col a { text-decoration: none; }
:is(.v2, .v2d) .foot-col a:hover { color: var(--gold-v2); }
:is(.v2, .v2d) .foot-fine { margin-top: 48px; border-top: 1px solid rgba(242,237,228,.12); padding-top: 22px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: #7F9186; }
@media (max-width: 1000px) { :is(.v2, .v2d) .foot-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } :is(.v2, .v2d) .foot-brand { grid-column: 1 / -1; } }

/* ── Page heroes: pine ground with the homepage's contour rings ── */
.v2 .page-hero, .v2 .hero, .v2 .about-hero, .v2 .learn-hero {
  background-color: var(--pine);
  background-image: repeating-radial-gradient(ellipse 980px 660px at 80% 44%, rgba(242,237,228,0) 0 27px, rgba(242,237,228,.065) 27px 28px);
  color: var(--paper); position: relative; overflow: hidden;
  padding-block: clamp(56px, 8vw, 96px) clamp(56px, 8vw, 104px);
  padding-inline: max(var(--gutter), calc((100% - 1200px) / 2));
  text-align: left; border: 0; max-width: none; margin: 0; border-radius: 0;
}
.v2 .hero::before, .v2 .about-hero::before, .v2 .learn-hero::before { display: none; }
.v2 .hero h1, .v2 .about-hero h1, .v2 .learn-hero h1, .v2 .page-hero h1 {
  font-size: clamp(40px, 6vw, 76px); line-height: 1; color: var(--paper);
  margin: 0 0 22px; max-width: 16em;
}
.v2 .hero h1 em, .v2 .about-hero h1 em, .v2 .learn-hero h1 em, .v2 .page-hero h1 em { color: var(--gold-v2); font-size: 1.12em; }
.v2 .hero .sub, .v2 .about-hero .sub, .v2 .learn-hero p, .v2 .hero p, .v2 .about-hero p {
  color: var(--on-dark); font-size: clamp(16.5px, 1.6vw, 19px); line-height: 1.55; max-width: 640px; margin: 0 0 28px;
}
.v2 .hero-badge, .v2 .hero .eyebrow {
  display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 0; box-shadow: none; padding: 0;
  font-family: var(--mono); font-weight: 400; font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-v2); margin: 0 0 22px; border-radius: 0;
}
.v2 .hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-start; }
.v2 .hero-note, .v2 .scroll-hint { color: var(--on-dark-2); font-family: var(--mono); font-size: 12.5px; letter-spacing: .08em; }
.v2 .hero-note a { color: var(--paper); }
.v2 .hero-ctas + *, .v2 .hero .hero-note { margin-top: 18px; }

/* ── Sections ── */
.v2 section { padding-block: clamp(56px, 8vw, 96px); padding-inline: max(var(--gutter), calc((100% - 1200px) / 2)); }
.v2 .section-head, .v2 .section-header, .v2 .category-head { text-align: left; max-width: none; margin: 0 0 40px; }
.v2 .section-head h2, .v2 .section-header h2, .v2 .category-head h2, .v2 .section > h2, .v2 section > h2 {
  font-size: clamp(32px, 4.4vw, 52px); line-height: 1.02; color: var(--ink); margin: 0 0 16px;
}
.v2 .section-head p, .v2 .section-header p, .v2 .category-head p { color: var(--muted); font-size: 17px; line-height: 1.55; max-width: 60ch; margin: 0; }
.v2 .category-head .count { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; color: var(--muted); text-transform: uppercase; }
.v2 .stats { background: var(--gold-v2); color: var(--ink); border-block: 2px solid var(--ink); }
.v2 .stats-inner { padding: 28px var(--gutter); }
.v2 .stat b { color: var(--ink); font-size: 30px; font-weight: 800; font-variation-settings: 'wdth' 112; }
.v2 .stat span { color: var(--ink-2); font-family: var(--mono); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; }
.v2 .products, .v2 .problem, .v2 .benefits, .v2 .products-section, .v2 .about-values { background: var(--paper-2); }
.v2 .faq, .v2 .topics, .v2 .category, .v2 .about-story, .v2 .featured-section { background: var(--paper); }

/* ── Cards (homepage hat-card look) ── */
.v2 .product-card, .v2 .topic-card, .v2 .learn-card, .v2 .card, .v2 .about-value, .v2 .benefit {
  background: var(--card); border: 1.5px solid var(--line); border-radius: 22px;
  box-shadow: none; color: var(--ink); transition: transform .25s ease, box-shadow .25s ease;
}
.v2 .product-card:hover, .v2 .topic-card:hover, .v2 .learn-card:hover, .v2 .card:hover {
  transform: translateY(-5px); border-color: var(--line); box-shadow: 0 22px 40px -20px rgba(11,39,29,.45);
}
.v2 .product-card h3, .v2 .topic-card h3, .v2 .learn-card h3, .v2 .card h3, .v2 .about-value h3, .v2 .benefit h3 { color: var(--ink); font-size: 20px; line-height: 1.2; }
.v2 .product-card p, .v2 .product-desc, .v2 .topic-card p, .v2 .learn-card p, .v2 .card p, .v2 .about-value p, .v2 .benefit p { color: var(--ink-3); }
.v2 .product-tag, .v2 .rule-tag, .v2 .topic-card .rule, .v2 .card .tag, .v2 .card-badge {
  display: inline-block; align-self: flex-start; background: transparent; color: var(--fairway);
  border: 1.5px solid var(--fairway); border-radius: 999px; padding: 5px 10px;
  font-family: var(--mono); font-weight: 400; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase;
}
.v2 .product-price, .v2 .card .price, .v2 .card-price { color: var(--ink); font-weight: 800; font-size: 22px; font-family: var(--display); }
.v2 .product-footer, .v2 .product-foot { border-top: 1.5px dashed rgba(20,35,27,.25); }
.v2 .learn-card .more, .v2 .topic-card .more { color: var(--fairway); font-weight: 700; }
.v2 .product-cover, .v2 .product-img { background: var(--paper-2); }

/* ── FAQ ── */
.v2 .faq-item { background: var(--card); border: 1.5px solid var(--line); border-radius: 16px; margin-bottom: 12px; overflow: hidden; box-shadow: none; }
.v2 .faq-item summary { background: transparent; color: var(--ink); font-weight: 700; font-size: 17px; padding: 18px 22px; cursor: pointer; }
.v2 .faq-item[open] summary { border-bottom: 1.5px dashed rgba(20,35,27,.25); }
.v2 .faq-item .a { color: var(--ink-3); padding: 16px 22px 20px; line-height: 1.65; }

/* ── Signup blocks on older pages ── */
.v2 .signup { background: var(--gold-v2); color: var(--ink); border-top: 2px solid var(--ink); }
.v2 .signup h2 { color: var(--ink); }
.v2 .signup p { color: var(--ink-2); }
.v2 .signup .yb-signup--light .yb-note { color: #3A3A28; }

/* ── Rule articles (/learn/<slug>/) ── */
.v2 .art-hero { padding: clamp(40px, 6vw, 72px) var(--gutter) clamp(44px, 6vw, 76px); }
.v2 .art-hero-in { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.v2 .art-hero .crumb { font-family: var(--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-2); margin: 0; }
.v2 .art-hero .crumb a { color: var(--on-dark); text-decoration: none; font-weight: 400; }
.v2 .art-hero .crumb a:hover { color: var(--gold-v2); }
.v2 .art-hero .rule-badge { align-self: flex-start; background: transparent; color: var(--gold-v2); border: 1.5px solid var(--gold-v2); border-radius: 999px; padding: 6px 12px; font-family: var(--mono); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin: 0; }
.v2 .art-hero h1 { font-size: clamp(34px, 5.2vw, 60px); line-height: 1.02; color: var(--paper); margin: 0; }
.v2 .art-hero h1 em { color: var(--gold-v2); }
.v2 .art-hero .lead { margin: 4px 0 0; font-size: clamp(17px, 1.8vw, 20px); line-height: 1.55; color: var(--on-dark); border: 0; padding: 0; max-width: 68ch; }

.v2 .art { max-width: 820px; margin: 0 auto; padding: clamp(40px, 6vw, 64px) var(--gutter) clamp(56px, 8vw, 88px); }
.v2 .art p, .v2 .art li { color: var(--ink-2); font-size: 18px; line-height: 1.7; }
.v2 .art strong { color: var(--ink); }
.v2 .art h2 { font-size: clamp(28px, 3.4vw, 38px); line-height: 1.08; color: var(--ink); margin: 56px 0 16px; }
.v2 .art h2:first-child { margin-top: 0; }
.v2 .art h3 { font-size: 21px; line-height: 1.25; color: var(--ink); margin: 32px 0 10px; }
.v2 .art a { color: var(--fairway); font-weight: 700; text-decoration: none; border-bottom: 1.5px solid currentColor; }
.v2 .art a:hover { opacity: .75; }
.v2 .art table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 24px 0 32px; font-size: 16px; background: var(--card); border: 2px solid var(--ink); border-radius: 16px; overflow: hidden; }
.v2 .art th { background: var(--ink); color: var(--paper); font-family: var(--mono); font-weight: 400; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; padding: 14px 16px; }
.v2 .art td { color: var(--ink-2); padding: 14px 16px; border-bottom: 1px solid var(--line); }
.v2 .art tr:last-child td { border-bottom: 0; }
.v2 .art tr:nth-child(even) td { background: rgba(232,224,209,.45); }
.v2 .art .tips { background: var(--card); border: 2px solid var(--ink); border-radius: 22px; padding: clamp(22px, 3vw, 32px); margin: 32px 6px 36px 0; box-shadow: 8px 8px 0 var(--ink); }
.v2 .art .tips h3 { margin-top: 0; font-size: 22px; }
.v2 .art .tips ul, .v2 .art .tips ol { margin-bottom: 0; }
.v2 .art .tips li { color: var(--ink-2); }
.v2 .art a.product { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 12px; border: 0; background: var(--pine); color: var(--paper) !important; font-size: 15px; font-weight: 700; margin: 6px 8px 6px 0; transition: transform .15s ease, background-color .15s ease; }
.v2 .art a.product:hover { background: #1D4D3A; opacity: 1; transform: translateY(-2px); }
.v2 .art a.product[href*="free-guide"] { background: var(--gold-v2); color: var(--ink) !important; }
.v2 .art a.product[href*="free-guide"]:hover { background: var(--gold-hi); }
.v2 .art .faq-list { margin-top: 12px; padding: 0; }
.v2 .art .faq-item summary { color: var(--ink); }
.v2 .art .faq-item .a, .v2 .art .faq-item .a p { font-size: 16.5px; }
.v2 .related { margin-top: 56px; padding: 28px 0 0; border-top: 2px solid var(--ink); }
.v2 .related h3 { font-size: 13px; font-family: var(--mono); font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 0 0 16px; }
.v2 .related a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; margin: 0; border: 0; border-bottom: 1.5px dashed rgba(20,35,27,.25); color: var(--ink); font-weight: 700; font-size: 18px; text-decoration: none; }
.v2 .related a::after { content: "\2192"; color: var(--fairway); }
.v2 .related a:hover { color: var(--fairway); opacity: 1; }
@media (max-width: 620px) {
  .v2 .art p, .v2 .art li { font-size: 17px; }
  .v2 .art table { font-size: 14.5px; }
  .v2 .art th, .v2 .art td { padding: 11px 12px; }
  .v2 .art .tips { box-shadow: 6px 6px 0 var(--ink); }
}

/* ── /learn/ index ── */
.v2 .learn-hero h1 { margin-bottom: 18px; }
.v2 .learn-grid { max-width: 1200px; margin: 0 auto; }
.v2 .learn-card { padding: 24px; text-decoration: none; }
.v2 .learn-card h3, .v2 .learn-card h2 { color: var(--ink); }
.v2 .learn-note { color: var(--muted); }

/* ── Gear ── */
.v2 .disclosure, .v2 .disclosure-box { background: var(--card); border: 1.5px dashed rgba(20,35,27,.3); border-radius: 16px; color: var(--ink-3); }
.v2 .card .best, .v2 .card .value, .v2 .card .premium, .v2 .card .alt { color: var(--fairway); }
.v2 .card .why { color: var(--ink-3); }
.v2 .card .buy { background: var(--pine); color: var(--paper); border-radius: 12px; font-weight: 700; text-decoration: none; }
.v2 .card .buy:hover { background: #1D4D3A; }
.v2 .note { color: var(--muted); }

/* ── Merch extras ── */
.v2 .shop-cta { background: var(--pine); color: var(--paper); }
.v2 .shop-cta h2, .v2 .shop-cta p { color: var(--paper); }
.v2 .shop-cta .btn-etsy-dark { background: var(--gold-v2); color: var(--ink); }
.v2 .trust { background: var(--paper-2); border-block: 1.5px solid var(--line); }
.v2 .trust-item { color: var(--ink-2); }

/* ── About ── */
.v2 .about-story p { color: var(--ink-2); font-size: 18px; line-height: 1.7; }
.v2 .about-cta { background: var(--gold-v2); color: var(--ink); border-top: 2px solid var(--ink); }
.v2 .about-cta h2, .v2 .about-cta p { color: var(--ink); }
.v2 .about-cta .btn-primary { background: var(--pine); color: var(--paper); }
.v2 .emblem { filter: none; }

/* ── Legal pages ── */
.v2 .legal-wrap { max-width: 820px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) var(--gutter) clamp(56px, 8vw, 96px); }
.v2 .legal-wrap h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.02; color: var(--ink); margin-bottom: 12px; }
.v2 .legal-wrap h2 { font-size: 26px; color: var(--ink); margin: 40px 0 12px; }
.v2 .legal-wrap h3 { font-size: 19px; color: var(--ink); }
.v2 .legal-wrap p, .v2 .legal-wrap li { color: var(--ink-2); font-size: 17px; line-height: 1.7; }
.v2 .legal-wrap a { color: var(--fairway); font-weight: 700; }
.v2 .legal-wrap .updated { font-family: var(--mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.v2 .summary-box, .v2 .legal-callout, .v2 .legal-note { background: var(--card); border: 2px solid var(--ink); border-radius: 18px; color: var(--ink-2); box-shadow: none; }

/* ── Search page ── */
.v2 .search-page { max-width: 820px; padding: clamp(40px, 6vw, 72px) var(--gutter) clamp(56px, 8vw, 96px); }
.v2 .search-page h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.02; color: var(--ink); }
.v2 .search-page p.lead { color: var(--muted); font-size: 18px; }
.v2 #search-page-input { height: 72px; padding: 0 22px; border: 2px solid var(--ink); border-radius: 18px; background: var(--card); color: var(--ink); font-size: 20px; font-weight: 500; box-shadow: none; }
.v2 #search-page-input:focus { outline: none; border-color: var(--pine); box-shadow: 0 0 0 3px rgba(18,55,42,.18); }
.v2 .search-result { background: var(--card); border: 1.5px solid var(--line); border-radius: 18px; }
.v2 .search-result:hover { border-color: var(--ink); box-shadow: 0 16px 30px -20px rgba(11,39,29,.45); }
.v2 .search-result-title { color: var(--ink); font-weight: 800; }
.v2 .search-result-rule { background: transparent; border: 1.5px solid var(--fairway); color: var(--fairway); font-family: var(--mono); font-weight: 400; letter-spacing: .1em; }
.v2 .search-result-desc { color: var(--ink-3); }
.v2 .search-empty { border: 1.5px dashed rgba(20,35,27,.35); color: var(--ink-3); }

/* In-hero search on /free-guide/ */
.v2 .hero-search .nav-search-input { background: var(--card); border: 2px solid var(--ink); color: var(--ink); border-radius: 16px; }
.v2 .search-dropdown { background: var(--card); border: 2px solid var(--ink); border-radius: 16px; color: var(--ink); }

/* ── 404 ── */
.v2 .nf { max-width: 820px; margin: 0 auto; padding: clamp(64px, 10vw, 120px) var(--gutter); text-align: left; }
.v2 .nf .flag { font-size: 56px; }
.v2 .nf h1 { font-size: clamp(40px, 6vw, 72px); line-height: 1; color: var(--ink); margin: 16px 0; }
.v2 .nf p { color: var(--muted); font-size: 18px; }

/* ── Resets for older element-level rules (nav {...}, footer {...}) ── */
.v2 .crumb { position: static; background: none; backdrop-filter: none; border: 0; z-index: auto; padding: 0; }
:is(.v2, .v2d) .foot { padding-inline: 0; }
.v2 .learn-grid { max-width: none; margin: 0; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.v2 .learn-note { width: min(1200px, calc(100% - 2 * var(--gutter))); max-width: none; margin: 0 auto clamp(56px, 8vw, 96px); background: var(--card); border: 1.5px dashed rgba(20,35,27,.3); border-radius: 18px; text-align: left; }

/* ── Dark landing pages (/free-guide/, /start/): own layout, v2 type and palette ── */
.v2d {
  --pine: #12372A; --pine-deep: #0B271D; --fairway: #1E4A38; --night: #0E1A14;
  --paper: #F2EDE4; --ink: #14231B; --on-dark: #C9D3CB; --gold-v2: #D8B04A; --gold-hi: #E6C25E;
  --display: 'Archivo', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --mono: 'DM Mono', ui-monospace, Menlo, Consolas, monospace;
  --gutter: clamp(20px, 5vw, 40px);
  --green: #12372A; --green-light: #0B271D; --cream: #F2EDE4; --cream-dim: #C9D3CB;
  --gold: #D8B04A; --gold-light: #E6C25E; --red: #A8361F; --red-hover: #8E2C18;
  background-color: var(--pine);
  background-image: repeating-radial-gradient(ellipse 980px 660px at 80% 20%, rgba(242,237,228,0) 0 27px, rgba(242,237,228,.05) 27px 28px);
  font-family: var(--display); -webkit-font-smoothing: antialiased;
}
.v2d button, .v2d input { font-family: var(--display); }
.v2d h1, .v2d h2, .v2d h3, .v2d .logo { font-family: var(--display); font-weight: 800; letter-spacing: -.02em; font-variation-settings: 'wdth' 112; }
.v2d h1 em, .v2d h2 em, .v2d .logo span { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: 0; font-variation-settings: normal; color: var(--gold-v2); }
.v2d .hero-badge { font-family: var(--mono); font-weight: 400; letter-spacing: .14em; background: transparent; border: 1.5px solid rgba(216,176,74,.5); }
.v2d :focus-visible { outline: 3px solid var(--gold-v2); outline-offset: 3px; }
.v2d .foot { margin-top: 0; }

/* ── Page-specific fit ── */
.v2 .disclosure { background: transparent; border: 0; border-radius: 0; padding-block: 24px 0; }
.v2 .faq .faq-list { max-width: 820px; margin: 0; }
.v2 .about-values { max-width: none; margin: 0; padding-block: clamp(56px, 8vw, 96px); padding-inline: max(var(--gutter), calc((100% - 1200px) / 2)); }
.v2 .about-values-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.v2 .about-value { padding: 24px; }
.v2 .hero-note { background: transparent; border: 1.5px solid rgba(242,237,228,.3); color: var(--on-dark); box-shadow: none; }
.v2 .disclosure { max-width: none; margin: 0; padding-inline: max(var(--gutter), calc((100% - 1200px) / 2)); }
.v2 .disclosure-box { max-width: 820px; padding: 14px 18px; border-radius: 14px; font-size: 14px; }
.v2 section.section { max-width: none; margin: 0; padding-block: clamp(40px, 5vw, 64px) 8px; }
.v2 section.section h2 { line-height: 1.05; }
.v2d .hero-search { position: relative; width: 100%; max-width: 440px; flex: none; margin: 4px auto 28px; }
.v2d .hero-search .nav-search-input { width: 100%; height: 54px; padding: 0 18px; border-radius: 14px; border: 1.5px solid rgba(242,237,228,.38); background: rgba(242,237,228,.06); color: var(--paper); font-size: 16px; }
.v2d .hero-search .nav-search-input::placeholder { color: rgba(242,237,228,.55); }
.v2d .hero-search .nav-search-input:focus { outline: none; border-color: var(--gold-v2); background: rgba(242,237,228,.1); box-shadow: none; }
.v2d .search-dropdown { background: #FBF8F1; color: var(--ink); border: 2px solid var(--ink); border-radius: 16px; text-align: left; }
@media (max-width: 400px) { .v2 .v2-nav .nav-in { gap: 6px; padding-inline: 16px; } .v2 .v2-nav .brand { gap: 8px; } .v2 .v2-nav .brand-mark { width: 30px; height: 30px; } .v2 .v2-nav .brand-name { font-size: 16px; } .v2 .v2-nav .nav-right .nav-cta { padding: 0 11px; } .v2 .v2-nav .nav-icon, .v2 .v2-nav .burger { width: 34px; } }
@media (max-width: 340px) { .v2 .v2-nav .nav-icon { display: none; } }
.v2 .products-grid, .v2 .card-grid { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.v2 .product-grid { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }

/* ── Merch cards on phones: two across, photo + name + price + button ── */
@media (max-width: 620px) {
  .v2 .category { padding-inline: 14px; }
  .v2 .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .v2 .product-grid .product-card { border-radius: 16px; }
  .v2 .product-grid .product-card:hover { transform: none; }
  .v2 .product-grid .product-body { padding: 12px 12px 14px; }
  .v2 .product-grid .product-body h3 { font-size: 14.5px; line-height: 1.25; margin-bottom: 8px; }
  .v2 .product-grid .product-desc { display: none; }
  .v2 .product-grid .product-foot { flex-direction: column; align-items: stretch; gap: 8px; padding-top: 10px; margin-top: auto; }
  .v2 .product-grid .product-price { font-size: 17px; }
  .v2 .product-grid .btn-etsy { min-height: 40px; padding: 0 10px; font-size: 13.5px; border-radius: 10px; width: 100%; }
}

/* "Free cheat sheet" is wider than the old "Free card": keep the phone nav on one row (5 Oct 2026). */
@media (max-width: 430px) { .v2 .v2-nav .nav-right .nav-cta { padding: 0 10px; font-size: 13px; } .v2 .v2-nav .brand-name { font-size: 15px; } .v2 .v2-nav .nav-icon, .v2 .v2-nav .burger { width: 32px; } }
@media (max-width: 374px) { .v2 .v2-nav .brand-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
