:root{--cream:#f8f5ee;--warm-white:#fffefa;--sand:#eee5d6;--ink:#252521;--ink-70:#252521b3;--ink-50:#25252180;--hairline:#25252114;--forest:#355c4d;--moss:#71836b;--sage:#dde5da;--terracotta:#c97758;--gold:#d7a85b;--on-dark:#fffefa;--on-dark-80:#fffefacc;--on-dark-70:#fffefab3;--on-dark-50:#fffefa80;--on-dark-20:#fffefa33;--on-dark-12:#fffefa1f;--on-dark-08:#fffefa14;--on-dark-06:#fffefa0f;--page-pad:clamp(20px, 5vw, 64px);--section-pad:clamp(40px, 6vw, 88px);--serif:"Newsreader", serif;--sans:"Instrument Sans", sans-serif}html,body{background:var(--cream);margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}a{color:var(--forest);text-decoration:none}a:hover{color:var(--terracotta)}button,input,select{font-family:var(--sans)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2.5px solid var(--terracotta);outline-offset:2px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-weight:500}.eyebrow{letter-spacing:.14em;font-size:13px;font-weight:700}.btn{cursor:pointer;border:none;border-radius:999px;padding:13px 26px;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s}.btn:hover{opacity:.92}.btn-primary{background:var(--forest);color:var(--warm-white)}.btn-ink{background:var(--ink);color:var(--warm-white)}.btn-ghost{color:var(--ink);border:1.5px solid var(--hairline);background:0 0}.btn-on-dark{background:var(--warm-white);color:var(--ink)}.card{background:var(--warm-white);border:1px solid var(--hairline);border-radius:20px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes ppBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes catBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6px)}}@keyframes catTail{0%,to{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}@keyframes catLegA{0%,to{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}@keyframes catLegB{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes catPeek{0%{transform:translateY(34px)}16%,74%{transform:translateY(4px)}90%,to{transform:translateY(34px)}}@keyframes catBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@media (width<=760px){.app-nav{display:none!important}.mobile-nav{display:flex!important}.has-mobile-nav{padding-bottom:84px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
