:root{--paper:#eef0f2;--ink:#14213d;--crimson:#a51c30;--brass:#8a6d2b;--rule:#c9ced6;--card:#fff;--muted:#4a5568}
@media (prefers-color-scheme:dark){:root{--paper:#0f1626;--ink:#e8ebf2;--crimson:#e0566a;--brass:#d4b062;--rule:#2a3550;--card:#172038;--muted:#a3adc2}}
*{box-sizing:border-box}
html{scroll-padding-top:4rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1.05rem/1.65 "Public Sans",system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Libre Caslon Text",Georgia,"Times New Roman",serif;line-height:1.15;font-weight:700}
a{color:var(--crimson)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
header{border-bottom:3px double var(--ink);padding:1rem 1.25rem}
.bar{max-width:60rem;margin:auto;display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:baseline;justify-content:space-between}
.brand{font-size:1.5rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.75rem}
.brand img{display:block;width:64px;height:64px;border:2px solid var(--brass);border-radius:4px;object-fit:cover}
nav a{margin-right:1.25rem;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--crimson)}
main{max-width:60rem;margin:auto;padding:2.5rem 1.25rem 4rem}
.prose{max-width:42rem}
h1{font-size:clamp(2.2rem,6vw,3.8rem);margin:0 0 1rem}
h2{font-size:1.6rem;margin:2.5rem 0 .5rem}
.lede{font-size:1.25rem;color:var(--muted);max-width:36rem}
.btn{display:inline-block;background:var(--crimson);color:#fff;border:0;padding:.8rem 1.6rem;font:600 1rem "Public Sans",sans-serif;text-decoration:none;cursor:pointer;border-radius:2px}
.btn:hover{filter:brightness(1.1)}
.diploma{background:var(--card);border:10px double var(--brass);padding:2.5rem 1.5rem;text-align:center;max-width:30rem;margin:2rem 0}
.diploma .small{color:var(--muted);font-size:.9rem}
.diploma h3{font-size:1.9rem;margin:.75rem 0}
.diploma .name{border-bottom:1px solid var(--ink);display:inline-block;min-width:14rem;margin:.5rem 0 1rem;font-style:italic}
.seal{width:4.5rem;height:4.5rem;border-radius:50%;background:var(--crimson);color:#fff;display:grid;place-items:center;margin:1rem auto 0;font:700 .7rem/1.1 "Public Sans",sans-serif;transform:rotate(-8deg)}
.price{font:700 2rem "Libre Caslon Text",Georgia,serif}
.shop{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start}
ul.rules{padding-left:1.2rem}
ul.rules li{margin:.5rem 0}
details{border-top:1px solid var(--rule);padding:1rem 0}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;font-weight:600}
details p{margin:.75rem 0 0;color:var(--muted)}
.notice{border-left:4px solid var(--crimson);padding:.25rem 1rem;background:var(--card);margin:1.5rem 0}
footer{border-top:3px double var(--ink);padding:1.5rem 1.25rem;text-align:center;color:var(--muted);font-size:.9rem}
footer a{color:var(--muted)}
@media (prefers-reduced-motion:no-preference){.seal{transition:transform .3s}.diploma:hover .seal{transform:rotate(8deg)}}
