:root{--pine:#1f4d3a;--pine-ink:#143326;--cream:#faf5ea;--paper:#fffdf8;--gold:#c9a227;--ink:#23201b;--muted:#6d665b;--line:#e6dccb;--danger:#b3261e;--radius:14px;color:var(--ink);background:var(--cream);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}body{background:var(--cream);margin:0}h1,h2,h3{margin:0 0 .5em;font-family:Georgia,Times New Roman,serif;line-height:1.15}h1{font-size:clamp(1.8rem,4vw,2.8rem)}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:.85rem}.row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.site-header{border-bottom:1px solid var(--line);background:var(--paper);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.site-header nav{flex-wrap:wrap;gap:20px;display:flex}.site-header nav a{color:var(--muted)}.site-header nav a.active,.site-header nav a:hover{color:var(--pine)}.brand{align-items:center;gap:10px;font-family:Georgia,serif;font-size:1.15rem;display:flex}.brand-mark,.lock-mark{background:var(--pine);width:34px;height:34px;color:var(--cream);box-shadow:inset 0 -3px 0 var(--gold);border-radius:8px;place-items:center;font-size:.9rem;font-weight:700;display:inline-grid}.page{max-width:1180px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,48px)}.page.narrow{max-width:640px}.site-footer{text-align:center;padding:32px 16px;font-size:.85rem}.split{grid-template-columns:1.1fr 1fr;align-items:start;gap:clamp(24px,4vw,56px);display:grid}.sticky{position:sticky;top:90px}@media (width<=860px){.split{grid-template-columns:1fr}.sticky{position:static}}.hero{max-width:760px;padding:24px 0 48px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:.8rem;font-weight:600}.lead{color:var(--muted);font-size:1.1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;display:block}a.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #1f4d3a66}.swatch{aspect-ratio:4/3;border-radius:10px;place-items:center;margin-bottom:16px;display:grid}.swatch span{border-radius:8px;place-items:center;width:64px;height:64px;font:700 1.6rem Georgia,serif;display:grid}.meta{justify-content:space-between;gap:8px;margin:12px 0 0;font-size:.9rem;display:flex}.price{color:var(--pine);margin:24px 0 12px;font:700 2rem Georgia,serif}.canvas-wrap{border-radius:var(--radius);touch-action:none;background:radial-gradient(circle at 50% 35%,#fff 0%,#efe6d4 75%);width:100%;overflow:hidden}.form{gap:16px;display:grid}.field{color:var(--muted);gap:6px;font-size:.9rem;display:grid}.field.color input{width:64px;height:40px;padding:2px}input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn{font:inherit;border:1px solid var(--pine);color:var(--pine);cursor:pointer;background:0 0;border-radius:999px;padding:11px 20px;font-weight:600;transition:transform .12s ease-out,background .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--pine);color:var(--cream)}.btn.primary:hover:not(:disabled){background:var(--pine-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.days{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.day{grid-template-columns:32px 1fr;align-items:center;gap:8px;display:grid}.day span{color:var(--pine);text-align:right;font:700 .95rem Georgia,serif}.day-list li{margin-bottom:6px}.quote{margin-top:16px}.quote-head{justify-content:space-between;align-items:baseline;display:flex}.quote-head strong{color:var(--pine);font:700 1.6rem Georgia,serif}.quote table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.85rem}.quote td{border-bottom:1px solid var(--line);padding:4px 0}.quote td:last-child{text-align:right;font-variant-numeric:tabular-nums}.lock{background:radial-gradient(circle at 50% 20%, #2a6650, var(--pine-ink));place-items:center;min-height:100dvh;padding:16px;display:grid}.lock-card{background:var(--paper);text-align:center;border-radius:20px;gap:14px;width:min(380px,100%);padding:36px 28px;display:grid;box-shadow:0 30px 60px -30px #000}.lock-mark{width:56px;height:56px;margin:0 auto 4px;font-size:1.3rem}.lock-card h1{margin:0;font-size:1.6rem}.lock-card p{margin:0}.error{color:var(--danger);font-size:.9rem}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
