:root{--cream:#fbf6e9;--ivory:#fffdf6;--navy:#14233f;--teal:#1f5c66;--gold:#e8b735;--gold-d:#c99a14;--ink:#22304a;--muted:#5b6678;--line:#eadfc4;--r:18px;--sh:0 6px 22px rgba(20,35,63,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,6vw,3.1rem)}h2{font-size:1.6rem}h3{font-size:1.15rem}
a{color:var(--teal)}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold-d);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:.5rem 1rem;border-radius:8px;z-index:9}.skip:focus{left:8px}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.site{background:var(--ivory);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;font:700 1.25rem Georgia,serif;color:var(--navy);text-decoration:none}
.brand img{width:34px;height:34px}
nav ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
nav a{color:var(--navy);text-decoration:none;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current=page]{border-color:var(--gold)}
.hero{padding:56px 0 36px;background:linear-gradient(180deg,var(--ivory),var(--cream))}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:620px}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;border:0;border-radius:999px;padding:13px 26px;text-decoration:none;cursor:pointer;font-size:1rem;box-shadow:var(--sh)}
.btn:hover{background:var(--gold-d);color:var(--navy)}.btn[disabled]{opacity:.6;cursor:wait}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:24px 0}
.card{background:var(--ivory);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh)}
a.card{display:block;text-decoration:none;color:var(--ink)}a.card:hover{border-color:var(--gold)}
a.card h3{margin-bottom:.3em}a.card span{color:var(--muted);font-size:.95rem}
section{padding:28px 0}
.note{background:#f3ecd6;border-left:5px solid var(--gold);border-radius:12px;padding:14px 18px;color:var(--navy);font-size:.95rem}
details{background:var(--ivory);border:1px solid var(--line);border-radius:14px;margin:10px 0;box-shadow:var(--sh)}
summary{cursor:pointer;font-weight:600;color:var(--navy);padding:16px 20px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-d)}
details[open] summary::after{content:"–"}details>div{padding:0 20px 16px}
label{display:block;font-weight:600;margin:18px 0 6px;color:var(--navy)}label small{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #cdbf98;border-radius:12px;background:#fff;color:var(--ink)}
textarea{min-height:150px;resize:vertical}
[aria-invalid=true]{border-color:#b3261e}.err{color:#b3261e;font-size:.9rem;margin:4px 0 0;min-height:1.2em}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#status{margin-top:18px;padding:14px 18px;border-radius:12px;display:none}
#status.ok{display:block;background:#e4f3e6;color:#1d5b2a}#status.ko{display:block;background:#fbe4e1;color:#8a1c14}#status.load{display:block;background:#eef1f6}
footer{border-top:1px solid var(--line);background:var(--ivory);padding:28px 0;margin-top:40px;font-size:.92rem;color:var(--muted)}
footer ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
