:root{--green:#02301a;--green-2:#0b4a2b;--gold:#e9ad1a;--gold-d:#b98200;--ink:#10261a;--paper:#f7f5ee;--card:#fff;--line:#d9d6c8;--err:#a31616;color-scheme:light}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--green-2)}h1{font-size:1.7rem;line-height:1.2}h2{font-size:1.35rem}
.container{max-width:880px;margin:0 auto;padding:16px}.narrow{max-width:480px}
.header{background:var(--green);color:#fff;padding:8px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-bottom:3px solid var(--gold)}
.header a{color:#fff;text-decoration:none}.header nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em}.logo{display:block;border-radius:50%}
.hero{background:var(--green);color:#fff;text-align:center;padding:32px 16px 40px}.hero p{max-width:520px;margin:8px auto 20px}
.row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-block;min-height:44px;padding:10px 18px;border-radius:10px;border:2px solid transparent;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.btn-gold{background:var(--gold);color:var(--green)!important}.btn-gold:hover{background:#f3bd3a}
.btn-light{background:transparent;color:#fff!important;border-color:#fff}.btn-ghost{background:transparent;color:#fff;border-color:#ffffff88}
.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold-d);outline-offset:2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}
.field{margin-bottom:14px}.field label{display:block;font-weight:600;margin-bottom:4px}
input,select{width:100%;min-height:46px;padding:10px 12px;font:inherit;border:1.5px solid #8a8870;border-radius:10px;background:#fff}
small{display:block;margin-top:4px;color:#51503f}.error{color:var(--err);font-weight:600}
.plain{list-style:none;padding:0;margin:0}.plain li{padding:8px 0;border-top:1px solid var(--line)}
.tag{background:#fff3cf;border:1px solid var(--gold);border-radius:999px;padding:2px 10px;font-size:.85rem;margin-left:6px}
.note{font-size:.9rem;color:#4a4a3a}
@media (min-width:700px){h1{font-size:2.1rem}}
