:root{--soil-900:#241c11;--soil-800:#33291a;--soil-700:#4a3b25;--soil-500:#7a6a4f;--soil-300:#b9a67c;--gold-600:#b8901f;--gold-500:#c9a227;--gold-300:#e6c766;--field-700:#3f5d2e;--field-500:#5c8340;--field-300:#8fae69;--cream-100:#fffdf8;--cream-200:#f7f2e6;--cream-300:#efe9dd;--line:#e2d8c0;--danger:#a33b2a;--radius:14px;--serif:Georgia,"Iowan Old Style","Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--sans);color:var(--soil-900);background:var(--cream-300);-webkit-font-smoothing:antialiased}.scene{position:fixed;inset:0;z-index:0;overflow:hidden}.scene svg{width:100%;height:100%;display:block}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.35;mix-blend-mode:multiply}.page{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px 56px}.brand{text-align:center;margin-bottom:26px}.brand-mark{font-family:var(--serif);font-size:clamp(34px,6vw,52px);font-weight:700;letter-spacing:.06em;color:var(--cream-100);margin:0;text-shadow:0 2px 18px rgba(20,14,4,.55)}.brand-rule{width:74px;height:2px;margin:14px auto 12px;background:linear-gradient(90deg,transparent,var(--gold-300),transparent)}.brand-sub{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-300);margin:0;text-shadow:0 1px 10px rgba(20,14,4,.6)}.card{width:100%;max-width:520px;background:rgba(255,253,248,.93);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);box-shadow:0 18px 50px rgba(28,20,6,.34),inset 0 2px 0 rgba(255,255,255,.5);padding:30px 30px 26px}.card-title{font-family:var(--serif);font-size:25px;margin:0 0 5px;color:var(--soil-800)}.card-lede{margin:0 0 24px;font-size:14px;line-height:1.55;color:var(--soil-500)}.field{margin-bottom:20px}.field-label,.field>label{display:block;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--soil-500);margin-bottom:7px}input,select,textarea{font-family:inherit;font-size:15px;color:var(--soil-900);background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 13px;width:100%;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:74px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(201,162,39,.22)}input::placeholder,textarea::placeholder{color:#b3a892}.phone-row{display:grid;grid-template-columns:minmax(118px,168px) 1fr;grid-gap:9px;gap:9px}.phone-row select{background:#fff;cursor:pointer;padding-right:8px}.hint{margin:7px 0 0;font-size:12px;line-height:1.45;color:var(--soil-500)}.submit{width:100%;margin-top:6px;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#2a2008;background:linear-gradient(180deg,var(--gold-300),var(--gold-500));border:1px solid var(--gold-600);border-radius:10px;cursor:pointer;box-shadow:0 3px 0 #96751a,0 8px 18px rgba(150,117,26,.3);transition:transform .1s,box-shadow .1s,filter .15s}.submit:hover:not(:disabled){filter:brightness(1.05)}.submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #96751a,0 4px 10px rgba(150,117,26,.3)}.submit:disabled{opacity:.62;cursor:progress}.submit:focus-visible{outline:3px solid var(--soil-800);outline-offset:2px}.result{margin-top:18px;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.55;border:1px solid}.result.ok{background:#f1f6ec;border-color:#cbdcbb;color:#33501f}.result.err{background:#fbf0ee;border-color:#ebc9c2;color:var(--danger)}.result strong{display:block;margin-bottom:3px}.result code{font-size:12px;background:rgba(0,0,0,.05);padding:1px 5px;border-radius:4px}.footnote{position:relative;z-index:2;margin-top:22px;font-size:12px;color:rgba(255,250,235,.72);text-align:center;text-shadow:0 1px 8px rgba(20,14,4,.7)}@media (max-width:520px){.phone-row{grid-template-columns:1fr}.card{padding:24px 20px 22px}}