@font-face{font-family:Bodoni;src:url("/assets/seo-home-192ae876c21d9258.woff2") format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Work Sans";src:url("/assets/seo-home-1dd49afc07fb2231.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  color-scheme:light;
  --ink:#191c18;--muted:#555b53;--paper:#faf9f5;--card:#fffefa;--wash:#f3f0e7;
  --line:#d9d3c4;--brass:#83652b;--brass-light:#c9af7d;--dark:#1d211e;
  --serif:Bodoni,Didot,Georgia,serif;--sans:"Work Sans","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.53 var(--sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
a{color:var(--brass);text-underline-offset:.2em}
button,select,input{font:inherit}
button{cursor:pointer}
button:disabled,select:disabled{cursor:not-allowed}
:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
:where(h1,h2,h3,p,dl,dd){margin:0}
.wrap{max-width:920px;margin:0 auto;padding:16px 18px 52px}
.return{display:flex;justify-content:flex-start;font-size:.82rem}
.return a{color:var(--muted);text-decoration:none}
.return a:hover,footer a:hover{text-decoration:underline}
.masthead{text-align:center;padding:12px 0 4px}
.logo{width:62px;height:62px;border:1px solid var(--brass-light);border-radius:10px;background:var(--dark);padding:4px}
.identity,.sub{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}
.identity{color:var(--brass);margin:12px 0 3px;font-weight:650}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.16}
h1{font-size:clamp(38px,5.3vw,53px);letter-spacing:-.035em}
.sub{color:var(--muted);margin-top:7px}
.dbl{width:125px;height:5px;margin:16px auto;border-block:1px solid var(--brass)}
.tour-start,.primary,.secondary{
  display:inline-flex;gap:10px;align-items:center;justify-content:center;
  border:1px solid var(--brass);border-radius:6px;min-height:44px;padding:9px 17px;
  font-size:.9rem;font-weight:630;text-decoration:none;line-height:1.3;
}
.tour-start,.primary{color:#fff;background:var(--dark);border-color:var(--dark)}
.tour-start span{font-size:.72rem;color:var(--brass-light)}
.secondary{background:var(--card);color:var(--ink);border-color:#aba28c}
.tour-start:hover,.primary:hover{background:#353b32;border-color:var(--brass)}
.secondary:hover{background:var(--wash);border-color:var(--brass)}
.tabs{display:flex;gap:8px;justify-content:center;align-items:flex-start;margin:27px 0 16px}
.tab{flex:1 1 0;min-width:0;text-align:left;border:1px solid var(--line);border-top:3px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--card);color:var(--ink)}
.tab span{display:block}
.tab .name{font:500 1.12rem/1.2 var(--serif)}
.tab .step,.tab .req{overflow:hidden;max-height:0;opacity:0;transition:max-height .18s ease,opacity .18s ease}
.tab .step{color:var(--brass);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;font-weight:660}
.tab .req{color:var(--muted);font-size:.72rem}
.tab:is(.active,:hover,:focus-visible) :is(.req,.step){max-height:48px;opacity:1}
.tab:is(.active,:hover,:focus-visible) .name{margin:3px 0}
.tab.active{border-top-color:var(--brass);box-shadow:0 4px 16px rgb(61 52 30 / 8%)}
.notice{border-left:3px solid var(--brass);padding:9px 14px;margin:0 0 20px;background:var(--wash);font-size:.84rem;color:#484b42}
.card,.summary{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:17px;padding:clamp(18px,3.3vw,26px)}
.card h2,.summary h2{display:flex;align-items:center;gap:11px;font-size:clamp(23px,3.6vw,30px)}
h2:focus{outline:0}
h3{font-size:1.46rem}
.num{width:32px;height:32px;display:inline-flex;flex:none;align-items:center;justify-content:center;border:1px solid var(--brass-light);background:var(--dark);color:#f0dab0;border-radius:50%;font:600 .88rem/1 var(--sans)}
.small-symbol{font-size:1rem}
.grid,.row-controls{display:grid;gap:15px;align-items:end;margin-top:18px}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.row-controls{grid-template-columns:minmax(0,1fr) auto}
.field{min-width:0}
.field>label{display:block;margin-bottom:6px;letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;font-weight:660;color:#4e513f}
.field input,.field select{width:100%;min-height:45px;padding:9px 10px;border:1px solid #a59e8b;border-radius:6px;background:white;color:var(--ink)}
.field input:hover,.field select:hover{border-color:var(--brass)}
.field select:disabled{opacity:.6;background:#efeee8}
.annotation,.lesson-block>p,.note,.info p,.faq p,.check{color:var(--muted);font-size:.9rem}
.annotation,.note{margin-top:12px}
.benefits,.lesson-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.benefits dl{margin-top:8px}
.benefits dl div{display:grid;grid-template-columns:minmax(145px,1fr) 2fr;gap:14px;padding:10px 0;border-bottom:1px solid #e7e3d8}
.benefits dt{font-weight:610;font-size:.92rem}
.benefits dd{color:var(--muted);font-size:.89rem}
dt small,.tag{color:var(--brass);font:650 .65rem var(--sans);text-transform:uppercase;letter-spacing:.075em}
dt small{margin-left:4px}
.info,.faq details{border-bottom:1px solid var(--line)}
.info{margin-top:16px}
details>summary{list-style:none;cursor:pointer;font-weight:570;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 2px;font-size:.94rem}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"+";font-size:1.16rem;font-weight:400;color:var(--brass)}
details[open]>summary::after{content:"−"}
.table-wrap{overflow:auto;margin-bottom:12px}
table{width:100%;border-collapse:collapse;font-size:.88rem}
td,th{padding:9px 7px;text-align:left;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:.77rem}
.summary{border-top:3px solid var(--brass);background:#f4f2ea}
.totals{margin-top:11px}
.totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding:9px 0;font-size:.92rem}
.totals>div.total{padding:12px 0;font-weight:660}
.totals dt{color:#44493f}
.totals dd{font-variant-numeric:tabular-nums;text-align:right;font-weight:560}
.actions,.row-links{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:17px}
.summary>.primary,.summary>.secondary,#checkBenefit{margin-top:14px}
.text-button{font:inherit;border:0;border-radius:0;padding:0;background:transparent;color:var(--brass);text-underline-offset:3px;text-decoration:underline}
.text-button:hover{color:var(--ink)}
.block-title{display:flex;align-items:center;justify-content:space-between;gap:13px}
.lesson-block>p{margin-top:7px}
.micro-lock{padding:9px 11px;background:var(--wash);border-left:2px solid var(--brass)}
.selection{padding:0;list-style:none;margin:10px 0 0}
.selection:empty{display:none}
.summary .existing-member{color:#f0e4c4;text-underline-offset:.2em}
.enrollment-contract{margin:14px 0 20px}
.enrollment-contract p{margin-bottom:9px}
[data-basic-enroll][hidden]{display:none}
.selection li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;margin:4px 0;background:var(--wash);font-size:.86rem}
.selection button{font-size:.81rem;min-height:32px}
.check{display:flex;align-items:flex-start;gap:8px;margin:14px 0}
.check input{margin-top:4px;accent-color:var(--brass)}
#creditMessage,.error-list{font-size:.87rem;color:#7a3e20;margin-top:10px}
#creditMessage:empty,.error-list:empty{margin:0}
#reviewChoices{margin:16px 0}
#reviewChoices ul{margin:5px 0 0;padding-left:20px}
.faq{margin-top:28px}
.faq h2{margin-bottom:6px}
.faq p{padding:0 22px 13px 2px}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem}
footer a{color:var(--muted);text-decoration:none}
.skip,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{width:auto;height:auto;padding:8px;clip-path:none;background:var(--card);z-index:25}
@media(max-width:780px){.tabs{flex-wrap:wrap}.tab{flex:1 1 125px}.tab .name{white-space:normal}.tab .req{display:none}}
@media(max-width:580px){.wrap{padding:13px 12px 34px}.grid{grid-template-columns:1fr}.benefits dl div{grid-template-columns:1fr;gap:3px}.tabs{gap:5px}.tab{flex:1 1 28%;padding:7px}.tab .name{font-size:1rem}.tab .step{letter-spacing:.04em}.row-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px}.row-controls .secondary{padding-inline:11px}.notice{margin-bottom:14px}.totals>div{font-size:.86rem}footer{justify-content:flex-start;gap:10px 18px}.summary h3{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{
 .masthead,.return,.tabs,.notice,.faq,footer,.no-print,#tourPlayer,.skip,body .wrap main>[data-panel]:not([data-panel="contract"]){display:none!important}
 body .wrap main>[data-panel="contract"]{display:block!important}
 .wrap{max-width:none;padding:0}.card,.summary{border:0;box-shadow:none}body{background:#fff;color:#000}
}

/* WVS worksheet emblems retain their original geometry in the EVT palette. */
.worksheet-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-block;
  flex: 0 0 auto;
  color: #775c2b;
  overflow: visible;
}
.icon-title { display: flex; align-items: center; gap: .65rem; }
.icon-title .compact-mark {
  border: 1px solid currentColor;
  border-radius: 50%;
  padding: .42rem;
}
.faq summary.icon-summary {
  display: grid;
  grid-template-columns: 1.85rem minmax(0, 1fr) auto;
  gap: .85rem;
}
.faq .worksheet-icon { width: 1.85rem; height: 1.85rem; }
@media screen {
  :root {
    --ink: #1d201c;
    --muted: #55584f;
    --paper: #f7f5ef;
    --card: #fffefa;
    --wash: #f3efe4;
    --line: #d9d2c1;
    --brass: #765a27;
    --brass-light: #c7ad76;
    --dark: #161a17;
  }
  .wrap { max-width: 1040px; padding-inline: clamp(16px, 3.3vw, 34px); }
  .return { margin: 1px 0 12px; }
  .return a { text-underline-offset: .22em; }
  .masthead {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr) auto;
    grid-template-areas: "logo identity tour" "logo title tour" "logo sub tour";
    align-items: center;
    column-gap: clamp(1.1rem, 3vw, 2.15rem);
    text-align: left;
    padding: clamp(1.55rem, 3.6vw, 2.7rem) clamp(1.4rem, 4vw, 3.05rem);
    border: 1px solid #3d3d32;
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(115deg, #101310, #232720 76%, #1b1d18);
    color: #fcf9ef;
  }
  .masthead .logo {
    grid-area: logo;
    width: 4.75rem;
    height: 4.75rem;
    padding: .38rem;
    border: 1px solid #b69b66;
    border-radius: 50%;
    background: #101310;
    box-shadow: 0 0 0 4px #151914, 0 0 0 5px #625940;
  }
  .masthead .identity {
    grid-area: identity;
    margin: 0 0 .15rem;
    color: #d7c29a;
    font-size: .65rem;
    letter-spacing: .23em;
  }
  .masthead h1 {
    grid-area: title;
    font-size: clamp(2.55rem, 5.25vw, 4.05rem);
    font-weight: 500;
    letter-spacing: -.047em;
    line-height: 1.06;
  }
  .masthead .sub {
    grid-area: sub;
    margin: .55rem 0 0;
    color: #d5d2c5;
    font-size: .65rem;
    letter-spacing: .135em;
  }
  .masthead .dbl {
    position: absolute;
    inset: auto 1.1rem .43rem;
    width: auto;
    height: 3px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #74664a;
    border-top: 1px solid #3c3c30;
    pointer-events: none;
  }
  .masthead .tour-start {
    grid-area: tour;
    justify-self: end;
    color: #f4eddb;
    border: 1px solid #9b8761;
    border-radius: 3px;
    background: transparent;
    padding-inline: 1.05rem;
    font-size: .84rem;
  }
  .masthead .tour-start:hover { background: #34382c; border-color: #d9c397; }
  .masthead .tour-start:focus-visible, .summary :focus-visible { outline-color: #e7cc8d; }

  .tabs { gap: 0; align-items: stretch; margin: .8rem 0 1rem; border-bottom: 1px solid var(--line); }
  .tab {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    padding: .65rem .8rem .62rem;
  }
  .tab + .tab { border-left: 1px solid #e2dccf; }
  .tab .name { font-size: clamp(1rem, 1.7vw, 1.2rem); }
  .tab.active { background: #eee9dc; border-bottom-color: var(--brass); box-shadow: none; }
  .tab:hover { background: #efece2; }
  .notice { padding-block: .65rem; }
  .card, .summary { border-radius: 6px; padding: clamp(1.15rem, 3.2vw, 2.25rem); }
  .card { box-shadow: 0 2px 6px #31281306; }
  .card h2 { letter-spacing: -.025em; }
  .num { width: 2.1rem; height: 2.1rem; border: 1px solid #bca777; color: #ecd6a8; }
  .field input, .field select { border-radius: 3px; }
  .tour-start, .primary, .secondary { border-radius: 3px; }

  #pcc-member {
    padding: .15rem clamp(.65rem, 2vw, 1.15rem);
    background: var(--wash);
    border: 1px solid var(--line);
    border-left: 3px solid var(--brass);
    border-radius: 4px;
  }
  #pcc-member summary { justify-content: flex-start; gap: .65rem; }
  #pcc-member summary .worksheet-icon { width: 1.5rem; height: 1.5rem; }
  #pcc-member summary::after { margin-left: .1rem; }
  #pcc-member .member-entry-action { margin-left: auto; font-size: .82rem; font-weight: 500; }
  #pcc-member[open] { padding-bottom: 1rem; }
  .membership-choice .annotation { max-width: 70ch; }
  .membership-tiers { margin-top: 1.45rem; }
  .membership-tiers table { table-layout: fixed; font-variant-numeric: tabular-nums; }
  .membership-tiers caption {
    padding-bottom: .5rem;
    text-align: left;
    color: var(--ink);
    font: 500 1.13rem/1.25 var(--serif);
  }
  .membership-tiers th, .membership-tiers td { padding: .57rem .7rem; }
  .membership-tiers thead th {
    background: var(--wash);
    color: #545449;
    font-weight: 600;
  }
  .membership-tiers :is(th, td):not(:first-child) { text-align: right; }
  .membership-tiers tbody tr[aria-current="true"], .membership-tiers tbody tr.selected {
    background: #ece5d5;
    color: #302b1c;
    font-weight: 650;
    box-shadow: inset 3px 0 var(--brass);
  }
  .membership-tiers td:last-child { font-weight: 650; }
  .membership-tiers .annotation { margin-top: .55rem; font-size: .82rem; }
  #newMemberRail { padding-top: 1rem; border-top: 1px solid var(--line); }
  #newMemberRail .field { gap: 0; }
  #newMemberRail label { font-size: .74rem; }
  .membership-summary .totals dd { font-variant-numeric: tabular-nums; }
  .membership-summary .totals .total { font-size: 1.03rem; }
  .membership-summary #netMemberLine dt { color: #f4eddc; }
  .membership-summary .membership-actions { gap: 0 1.3rem; }
  .membership-actions .primary { width: 100%; min-height: 48px; margin-bottom: .4rem; }
  .membership-actions .text-button { min-height: 44px; color: #eddfc1; font-size: .88rem; }
  .membership-actions .text-button:is(:hover,:focus-visible) { color: #fffaf0; }
  .benefits { margin-top: 0; }
  .benefits h3 { font-size: 1.53rem; }
  .benefits dl {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .3rem clamp(.8rem, 2.5vw, 1.7rem);
    margin-top: .95rem;
  }
  .benefits dl > div {
    position: relative;
    display: block;
    grid-column: span 2;
    padding: .8rem 0 .1rem 2.55rem;
    border: 0;
    border-top: 1px solid var(--line);
  }
  .benefits dl > div:nth-child(-n+2) { grid-column: span 3; padding-bottom: .65rem; }
  .benefits dt { font: 560 1.13rem/1.3 var(--serif); }
  .benefits dd { margin-top: .17rem; color: #53574e; }
  .benefits dt .worksheet-icon { position: absolute; left: 0; top: .81rem; width: 1.85rem; height: 1.85rem; }
  .benefits small { white-space: nowrap; font: 650 .64rem/1.4 var(--sans); }
  .lesson-block .icon-title { font-size: 1.55rem; }
  .faq details { border-bottom-color: #ded9cd; }
  .faq summary { padding-block: .77rem; }
  .faq details[open] > summary { color: #5f4a24; }
  .faq p { padding-left: 2.7rem; }
  .summary {
    border: 1px solid #3a3d31;
    border-top: 2px solid #ac925c;
    background: linear-gradient(125deg, #1c201b, #181b17 70%, #1e211b);
    color: #f8f4e9;
  }
  .summary h3 { color: #f8f3e6; font-size: 1.65rem; }
  .summary .totals > div { border-bottom-color: #3e4238; }
  .summary .totals dt, .summary .note { color: #d0d0c4; }
  .summary .totals dd, .summary .totals .total dt { color: #fbf7ed; }
  .summary .totals .total { border-bottom-color: #655e4a; }
  .summary .primary { background: #f5edda; color: #22251e; border-color: #e5d4ae; }
  .summary .primary:hover { background: #fffaf0; border-color: #fffaf0; }
  .summary .secondary { background: transparent; color: #f1e8ce; border-color: #928263; }
  .summary .secondary:hover { background: #33372d; }
  .summary .error-list { color: #f0bf9c; }
}
@media screen and (max-width: 650px) {
  .masthead { grid-template-columns: 3rem minmax(0, 1fr); grid-template-areas: "logo identity" "logo title" "sub sub" "tour tour"; column-gap: 1rem; padding: 1.3rem 1.2rem 1.65rem; }
  .masthead .logo { width: 3rem; height: 3rem; padding: .16rem; }
  .masthead h1 { font-size: clamp(1.88rem, 6.5vw, 2.45rem); }
  .masthead .identity { font-size: .57rem; letter-spacing: .16em; }
  .masthead .sub { margin-top: .9rem; font-size: .6rem; }
  .masthead .tour-start { justify-self: start; margin-top: .75rem; min-height: 44px; }
  .tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
  .tab { min-height: 44px; padding: .43rem .5rem; }
  .tab + .tab { border-left: 0; }
  .tab:last-child { grid-column: span 2; }
  .benefits dl { grid-template-columns: minmax(0, 1fr); }
  .benefits dl > div, .benefits dl > div:nth-child(-n+2) { grid-column: auto; padding-block: .75rem; }
  .membership-tiers :is(th, td) { padding: .45rem .35rem; }
  .membership-tiers td { font-size: .82rem; }
  .membership-actions .text-button { font-size: .82rem; }
  .faq p { padding-left: .1rem; }
}
@media screen and (max-width: 480px) {
  #pcc-member .member-entry-action { display: none; }
  #pcc-member summary::after { margin-left: auto; }
}
