:root{--ink:#22201b;--ink-soft:#55503f;--parchment:#fbf7ef;--parchment-deep:#f2ead9;--brass:#b8873b;--brass-deep:#8c651f;--wine:#6e2a3a;--wine-deep:#4f1c28;--line:#e3d9c4;--danger:#a32d2d;--success:#3b6d11;--radius:10px;--font-display:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--parchment);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0 0 .5em}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:1.25rem}p{margin:0 0 1em;color:var(--ink-soft)}a{color:var(--wine)}.btn:focus-visible,[href]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.container{max-width:960px;margin:0 auto;padding:0 20px}.section{padding:56px 0}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .08s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brass);color:#2a1c05}.btn-primary:hover{background:var(--brass-deep)}.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-secondary:hover{background:var(--parchment-deep)}.field{display:block;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:15px;background:#fff;color:var(--ink)}.field:focus{outline:2px solid var(--brass);outline-offset:1px}label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.form-row{margin-bottom:16px}.error-text{color:var(--danger);font-size:13px;margin-top:4px}.success-text{color:var(--success);font-size:14px}.meter{position:relative;height:22px;border-radius:999px;background:var(--parchment-deep);border:1px solid var(--line);overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brass-deep),var(--brass));transform-origin:left center;animation:meter-grow 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes meter-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.meter-fill{animation:none}}.tier{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center;transition:border-color .15s ease,transform .15s ease}.tier:hover{border-color:var(--brass);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.tier:hover{transform:none}}.tier-amount{font-family:var(--font-display);font-size:2rem;color:var(--wine);line-height:1;margin:0 0 4px}.tier-label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-deep);font-weight:700;margin:0 0 8px}.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:4px 20px;gap:4px 20px}.wall-name{font-family:var(--font-display);font-size:16px;color:var(--ink);padding:3px 0;border-bottom:1px solid var(--line)}.dir-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none}.dir-jump a{display:inline-block;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;transition:border-color .15s ease,color .15s ease}.dir-jump a:hover{border-color:var(--brass);color:var(--brass-deep)}.dir-section{scroll-margin-top:90px;padding-top:8px}.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.dir-entry{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}.dir-entry-name{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--ink);margin:0 0 3px;line-height:1.25}.dir-entry p{margin:0 0 2px;color:var(--ink-soft)}.dir-entry a,.dir-entry p{font-size:14px}