/* Reuse the storefront’s existing mahogany, parchment and brass palette. */
.beginner-welcome { background:radial-gradient(ellipse at 100% 0%,#8b58262b,transparent 65%),linear-gradient(115deg,#21130e,#3b2419 70%,#29170f); color:#fff4e3; border-block:1px solid #b38c53; }
.beginner-welcome-inner { display:grid; grid-template-columns:1fr 1.12fr; gap:6%; align-items:center; padding-block:52px; }
.beginner-welcome-picture { margin:0; position:relative; display:block; overflow:hidden; border:1px solid #c7a36599; padding:7px; background:#24110d; }
.beginner-welcome-picture img { display:block; width:100%; height:360px; object-fit:cover; object-position:70% 75%; }
.beginner-welcome .eyebrow { color:#e3c08a; }
.beginner-welcome h2 { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.06; margin:18px 0 22px; font-weight:400; }
.beginner-welcome h2 em { color:#e9c88d; font-weight:400; }
.beginner-guide h2 em { color:var(--wine); font-weight:400; }
.beginner-welcome p { max-width:560px; line-height:1.8; margin:0 0 25px; color:#ecdbcb; font-size:14px; }
.beginner-welcome .button { background:#e5c28a; border-color:#e5c28a; color:#2d1613; }
.beginner-welcome .button:hover { background:#f3d7a5; border-color:#f3d7a5; }
.beginner-welcome-promises { display:flex; flex-wrap:wrap; gap:9px 20px; list-style:none; padding:20px 0 0; margin:23px 0 0; border-top:1px solid #d4ad7344; }
.beginner-welcome-promises li { color:#e7cfb6; font-size:10px; line-height:1.5; }
.beginner-welcome-promises li::before { content:'✦'; color:#d9b477; margin-right:7px; }
.beginner-guide { background:var(--paper); }
.beginner-guide :is(section,aside) { min-width:0; }
.beginner-guide h2 { font-family:var(--serif); font-size:clamp(2.2rem,4.4vw,4.4rem); font-weight:400; line-height:1.05; letter-spacing:-.035em; }
.beginner-guide h3 { font-family:var(--serif); font-size:clamp(1.45rem,2.1vw,2rem); font-weight:400; line-height:1.16; }
.beginner-guide p { line-height:1.8; }
.beginner-hero { position:relative; isolation:isolate; min-height:690px; display:flex; align-items:flex-start; background:#1f100c; color:#fff5e5; overflow:hidden; border-bottom:2px solid #ac8244; }
.beginner-hero-art { position:absolute; inset:0; z-index:-2; }
.beginner-hero-art img { width:100%; height:100%; object-fit:cover; object-position:center 62%; }
.beginner-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#190a08ed 0%,#190a08c9 28%,#190a0845 53%,transparent 75%); }
.beginner-hero-copy { padding:var(--hero-copy-top) var(--hero-copy-gutter) 70px; max-width:750px; }
.beginner-hero .eyebrow { color:#dfbd80; margin:0 0 var(--hero-eyebrow-gap); }
.beginner-hero h1 { font-family:var(--serif); font-size:clamp(3.3rem,5.7vw,6rem); line-height:.99; letter-spacing:-.045em; font-weight:400; margin:0; }
.beginner-hero h1 em { color:#e2bb75; font-weight:400; }
.beginner-hero-copy p { max-width:435px; color:#eadccc; font-size:16px; margin:14px 0 var(--hero-action-gap); }
.beginner-hero-note { display:block; font-size:9px; letter-spacing:.16em; color:#dcc7a8; margin-top:28px; }
.beginner-hero-shortcut { display:block; width:fit-content; max-width:100%; margin-top:18px; color:#eadccc; font-size:13px; line-height:1.6; text-underline-offset:5px; }
.beginner-jump-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 36px; padding:23px 5%; border-bottom:1px solid var(--line); background:#eae0cf; }
.beginner-jump-links a { font-size:12px; padding:7px 0; text-underline-offset:5px; }
.beginner-guide [id] { scroll-margin-top:110px; }
.beginner-guide .section-wrap { padding-block:40px; }
.beginner-section-intro { max-width:760px; margin-bottom:28px; }
.beginner-section-intro h2 { margin:18px 0 22px; }
.beginner-section-intro > p { color:var(--muted); max-width:590px; }
.beginner-heading-pair { display:grid; grid-template-columns:1.05fr 1fr; gap:6%; align-items:center; margin-bottom:28px; }
.beginner-heading-pair .beginner-section-intro { margin-bottom:0; }
.beginner-heading-photo { margin:0; min-width:0; }
.beginner-heading-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border:1px solid #b99862; padding:6px; background:#321f15; }
.beginner-heading-flourish { display:flex; justify-content:center; align-items:center; min-width:0; }
.beginner-heading-flourish img { display:block; width:100%; max-width:420px; height:auto; opacity:.48; }
.beginner-faq-flourish { width:85%; max-width:300px; height:auto; opacity:.4; margin-top:12px; }
.beginner-milestones article::before { content:''; display:block; width:42px; height:42px; margin-bottom:16px; background:url('ornament-stars.svg') center/contain no-repeat; opacity:.65; }
.beginner-milestones article:nth-child(2)::before { background-image:url('ornament-wand.svg'); width:75px; }
.beginner-milestones article:nth-child(3)::before { background-image:url('mark.svg'); }
.beginner-milestones article:nth-child(4)::before { background-image:url('ornament-counter-search.svg'); width:65px; }
.beginner-about { display:grid; grid-template-columns:.95fr 1.1fr; gap:40px 9%; }
#begin-about { padding-bottom:24px; }
#begin-history > .section-wrap { padding-top:24px; }
.beginner-about .beginner-section-intro { margin-bottom:0; }
.beginner-explainer p { color:var(--muted); font-size:14px; margin:0 0 20px; }
.beginner-explainer p:last-child,.beginner-section-intro > p:last-child,.beginner-source-links:last-child { margin-bottom:0; }
.beginner-history-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.beginner-history-grid article { border-top:2px solid #b99862; padding-top:25px; }
.beginner-history-grid h3 { margin:18px 0; }
.beginner-history-grid p { color:var(--muted); font-size:14px; }
.beginner-prop-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.beginner-prop-gallery figure { margin:0; min-width:0; border:1px solid #b99862; background:#f7f0e3; }
.beginner-prop-gallery img { display:block; width:100%; height:220px; object-fit:cover; background:#171411; }
.beginner-prop-gallery figure:first-child img { object-position:center 36%; }
.beginner-guide .beginner-prop-gallery figcaption { padding:17px 20px 20px; margin-top:0; font-family:var(--serif); font-size:19px; }
.beginner-prop-gallery .eyebrow { font-family:var(--sans); font-size:10px; margin-bottom:8px; }
.beginner-photo-credit { color:var(--muted); font-size:11px; line-height:1.6; margin:12px 0 30px; }
.beginner-guide figcaption { color:var(--muted); font-size:12px; line-height:1.6; margin-top:12px; }
.beginner-lesson-opening { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; align-items:center; margin:0 0 35px; }
.beginner-practice-photo { margin:0; }
.beginner-practice-photo img { display:block; width:100%; height:auto; border:1px solid #b99862; padding:6px; background:#321f15; }
.beginner-lesson-intro h3 { margin:20px 0; font-size:clamp(1.8rem,3vw,2.6rem); }
.beginner-practice-icon { display:block; width:52px; height:52px; color:#8b642d; margin-bottom:20px; }
.beginner-card-diagram { background:#eae0cf; padding:28px; margin:25px 0; max-width:720px; }
.beginner-card-pair { display:flex; justify-content:center; align-items:center; gap:25px; }
.beginner-card-pair > div { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.beginner-diagram-label { font-size:10px; letter-spacing:.1em; line-height:1.5; }
.beginner-diagram-card { display:flex; flex-direction:column; justify-content:space-between; width:100px; height:140px; padding:10px; background:#fff8ec; border:1px solid #b99862; border-radius:5px; color:#321f15; box-shadow:3px 4px 0 #b9986233; }
.beginner-diagram-card span { align-self:flex-start; font:17px var(--serif); }
.beginner-diagram-card span:last-child { transform:rotate(180deg); align-self:flex-end; }
.beginner-diagram-card b { font:42px var(--serif); }
.beginner-diagram-chosen { color:#7a322b; }
.beginner-card-pair strong { font-size:12px; line-height:1.5; }
.beginner-diagram-arrow { font-size:25px; color:#8b642d; }
.beginner-source-links { color:var(--muted); font-size:12px; margin-top:30px; }
.beginner-source-links a { text-underline-offset:4px; }
.beginner-books cite { font-style:normal; }
.beginner-clubs .beginner-book-author { font-style:italic; margin-top:-8px; }
.beginner-first-steps { display:grid; grid-template-columns:.95fr 1.1fr; gap:40px 9%; }
.beginner-first-steps .beginner-section-intro { margin:0; }
.beginner-steps { list-style:none; padding:0; margin:0; }
.beginner-steps li { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:0 0 26px; margin-bottom:26px; border-bottom:1px solid var(--line); }
.beginner-steps li:last-child { margin-bottom:0; }
.beginner-step-number { color:var(--brass-text); font-family:var(--serif); font-style:italic; font-size:30px; line-height:1.2; }
.beginner-steps h3 { margin:0 0 12px; }
.beginner-steps p { margin:0; color:var(--muted); font-size:14px; }
.beginner-first-win { grid-column:1/-1; border-left:3px solid #a27b3b; padding:23px 32px; background:#eae0cf; }
.beginner-first-win p { max-width:860px; font-family:var(--serif); font-size:clamp(1.3rem,2vw,1.8rem); line-height:1.5; margin:10px 0 0; }
.beginner-choose { background:#eae0cf; border-block:1px solid var(--line); }
.beginner-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.beginner-path { display:flex; flex-direction:column; align-items:flex-start; text-decoration:none; background:#f7f0e3; border:1px solid #cfbea0; padding:32px; transition:border-color .15s ease,background .15s ease; }
.beginner-path:hover { border-color:#8c623a; background:#fff8ec; }
.beginner-path-symbol { font-family:var(--serif); font-size:49px; color:var(--wine); line-height:1; margin-bottom:35px; }
.beginner-coin-symbol { color:#8b642d; }
.beginner-path h3 { margin:0 0 15px; }
.beginner-path p { color:var(--muted); font-size:14px; margin:0 0 26px; }
.beginner-path-link { margin-top:auto; font-size:12px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.beginner-buying-note { margin-top:35px; padding:28px 0 0; border-top:1px solid #cab99b; max-width:940px; }
.beginner-buying-note h3 { margin:0 0 12px; }
.beginner-buying-note p { color:var(--muted); font-size:14px; }
.beginner-buying-note .text-link { display:inline-block; margin-top:10px; }
.beginner-milestones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.beginner-milestones article { border-top:2px solid #b99862; padding-top:25px; }
.beginner-milestones .eyebrow { font-size:9px; letter-spacing:.12em; }
.beginner-milestones h3 { margin:20px 0 14px; }
.beginner-milestones p { font-size:13px; color:var(--muted); margin-bottom:23px; }
.beginner-reward { font-family:var(--serif); font-style:italic; color:var(--wine); font-size:17px; line-height:1.4; }
.beginner-community { background:#eae0cf; border-top:1px solid var(--line); }
.beginner-clubs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.beginner-community-clubs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.beginner-clubs .beginner-youth-club { border-top:3px solid #a27b3b; }
.beginner-clubs article { display:flex; flex-direction:column; background:#f7f0e3; border:1px solid #cfbea0; padding:32px; }
.beginner-clubs h3 { margin:18px 0; overflow-wrap:anywhere; }
.beginner-clubs p { color:var(--muted); font-size:14px; margin:0 0 24px; }
.beginner-clubs .text-link { margin-top:auto; font-size:13px; line-height:1.7; text-underline-offset:4px; white-space:normal; overflow-wrap:anywhere; }
.beginner-link-context { font-size:11px; }
.beginner-club-first-visit { max-width:940px; padding-top:28px; margin-top:35px; border-top:1px solid #cab99b; }
.beginner-club-first-visit h3 { margin:0 0 12px; }
.beginner-club-first-visit p { color:var(--muted); font-size:14px; margin-bottom:0; }
.beginner-try { background:#eae0cf; border-block:1px solid var(--line); }
.beginner-lesson-intro { max-width:800px; color:var(--muted); font-size:14px; }
.beginner-lesson { background:#f7f0e3; border:1px solid #cfbea0; padding:25px 30px; margin:28px 0; }
.beginner-lesson summary { cursor:pointer; font-family:var(--serif); font-size:24px; line-height:1.35; }
.beginner-lesson-hint { display:block; margin-top:8px; font-family:var(--sans); font-size:13px; line-height:1.6; color:var(--muted); }
.beginner-week { margin-top:38px; max-width:960px; }
.beginner-week > h3 { margin:0 0 15px; }
.beginner-week p { color:var(--muted); font-size:14px; }
.beginner-week ol { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; padding:0; margin:28px 0; }
.beginner-week li { border-top:2px solid #b99862; padding-top:20px; }
.beginner-week .eyebrow { font-size:10px; }
.beginner-club-example { margin-top:25px; padding:22px 25px; border-left:3px solid #b99862; background:#f7f0e3; }
.beginner-club-example blockquote { margin:12px 0 0; font-family:var(--serif); font-size:20px; line-height:1.5; }
.beginner-lesson :is(p,li) { font-size:14px; line-height:1.8; color:var(--muted); }
.beginner-lesson ol { padding-left:24px; max-width:850px; }
.beginner-lesson li { padding-left:8px; margin:18px 0; }
.beginner-try .beginner-first-win { margin:30px 0 0; background:var(--paper); }
.beginner-practice-note { background:#321a15; color:#f7ead7; border-block:1px solid #ae8c56; }
.beginner-practice-note .section-wrap { display:grid; grid-template-columns:1fr 1fr; gap:15px 9%; align-items:center; }
.beginner-practice-note .eyebrow { grid-column:1/-1; color:#d9b87b; }
.beginner-practice-note h2 { margin:10px 0; }
.beginner-practice-note h2 em { color:#dfbc80; }
.beginner-practice-note p { color:#e2cfb8; font-size:15px; }
.beginner-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:9%; }
.beginner-faq h2 { margin-top:18px; }
.beginner-faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.beginner-faq details:first-child { padding-top:0; }
.beginner-faq summary { cursor:pointer; font-family:var(--serif); font-size:21px; line-height:1.4; padding:7px 32px 7px 0; }
.beginner-faq details p { color:var(--muted); font-size:14px; margin:14px 20px 4px 0; }
.beginner-next { text-align:center; padding:45px 6% 50px; background:#eae0cf; border-top:1px solid var(--line); }
.beginner-next h2 { margin:23px 0; }
.beginner-next p { color:var(--muted); margin-bottom:25px; }
.beginner-return { display:block; width:fit-content; margin:25px auto 0; font-size:12px; text-underline-offset:5px; }
.beginner-filter-note { display:flex; flex-wrap:wrap; align-items:center; gap:12px 25px; padding-block:22px; border-bottom:1px solid var(--line); font-size:12px; }
.beginner-filter-note strong { color:var(--wine); }
.beginner-filter-note span { color:var(--muted); }
.beginner-filter-note a { margin-left:auto; text-underline-offset:4px; }
.beginner-guide a:focus-visible,.beginner-guide summary:focus-visible,.beginner-welcome a:focus-visible { outline:3px solid #a27b3b; outline-offset:5px; }
.beginner-guide .beginner-hero a:focus-visible { outline-color:#ffe5b4; }
@media (max-width:1000px) { .beginner-milestones { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; } .beginner-path { padding:25px; } }
@media (max-width:850px) {
  .beginner-prop-gallery { gap:15px; }
  .beginner-prop-gallery img { height:160px; }
  .beginner-guide .beginner-prop-gallery figcaption { padding:13px; font-size:16px; }
  .beginner-heading-pair { grid-template-columns:minmax(0,1fr); gap:25px; margin-bottom:25px; }
  .beginner-heading-flourish img { max-width:240px; }
  .beginner-faq-flourish { max-width:180px; margin-top:0; }
  .beginner-welcome-inner,.beginner-first-steps,.beginner-faq,.beginner-clubs,.beginner-about,.beginner-history-grid,.beginner-week ol { grid-template-columns:minmax(0,1fr); gap:30px; }
  .beginner-lesson-opening { grid-template-columns:minmax(0,1fr); gap:25px; }
  .beginner-welcome-inner { padding-block:32px; }
  .beginner-welcome-picture img { height:auto; aspect-ratio:16/10; }
  .beginner-welcome h2 { margin-top:16px; }
  .beginner-welcome-copy { text-align:center; }
  .beginner-welcome p { margin-inline:auto; }
  .beginner-welcome-promises { justify-content:center; }
  .beginner-hero { display:block; min-height:0; }
  .beginner-hero-art { position:relative; height:310px; z-index:0; }
  .beginner-hero-art img { object-position:center 65%; }
  .beginner-hero::after { display:none; }
  .beginner-hero-copy { padding:var(--hero-copy-top) var(--hero-copy-gutter) 45px; max-width:none; background:linear-gradient(145deg,#2b1510,#1b0d0a); }
  .beginner-hero h1 { font-size:clamp(2.8rem,7.6vw,4.6rem); }
  .beginner-hero h1 br:first-of-type { display:none; }
  .beginner-hero-note { margin-top:24px; font-size:8px; }
  .beginner-guide .section-wrap { padding-block:28px; }
  .beginner-paths { grid-template-columns:minmax(0,1fr); gap:16px; }
  .beginner-path { display:grid; grid-template-columns:45px 1fr; gap:0 22px; padding:26px; }
  .beginner-path-symbol { grid-row:1/4; font-size:40px; margin:0; }
  .beginner-path :is(h3,p,.beginner-path-link) { grid-column:2; }
  .beginner-path p { margin-bottom:18px; }
  .beginner-practice-note .section-wrap { grid-template-columns:minmax(0,1fr); gap:15px; }
  .beginner-faq { gap:20px; }
  .beginner-jump-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 20px; padding:18px 6%; }
}
@media (max-width:480px) {
  .beginner-prop-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .beginner-prop-gallery figure:first-child { grid-column:1/-1; }
  .beginner-prop-gallery figure:first-child img { height:160px; }
  .beginner-prop-gallery img { height:125px; }
  .beginner-hero-art { height:250px; }
  .beginner-hero-copy p { font-size:14px; }
  .beginner-guide h2 { font-size:2.35rem; }
  .beginner-first-win { padding:22px; }
  .beginner-milestones { grid-template-columns:minmax(0,1fr); gap:30px; }
  .beginner-milestones article { padding-top:20px; }
  .beginner-milestones h3 { margin-top:14px; }
  .beginner-steps li { grid-template-columns:30px minmax(0,1fr); gap:15px; }
  .beginner-path { padding:23px 20px; gap:0 14px; }
  .beginner-jump-links a { font-size:11px; }
  .beginner-card-diagram { padding:18px 12px; margin-inline:-10px; }
  .beginner-card-pair { gap:8px; }
  .beginner-diagram-card { width:78px; height:115px; padding:8px; }
  .beginner-diagram-label { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { .beginner-path { transition:none; } }
