:root{--p:#3f2e56;--a:#a04508;--bg:#fbf8ff;--ink:#1f1730;--soft:#e9e1f3;--on:#fff;--r:4px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 "Trebuchet MS","Segoe UI",system-ui,sans-serif}
h1,h2,h3{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;line-height:1.2;margin:1.4em 0 .5em}h1{font-size:clamp(1.9rem,5vw,3rem);margin-top:.3em}h2{font-size:clamp(1.35rem,3vw,1.9rem)}h3{font-size:1.15rem}
a{color:var(--p);text-underline-offset:3px}a:hover{color:var(--a)}img,svg{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.site{background:var(--bg);border-bottom:1px solid var(--soft);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap;max-width:1280px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.02rem}.brand svg{width:40px;height:40px}
nav.main{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}nav.main a{color:var(--ink);text-decoration:none;padding:7px 8px;border-radius:var(--r);font-size:.88rem;white-space:nowrap}nav.main a:hover,nav.main a[aria-current]{background:var(--soft);color:var(--ink)}
nav.main a.cta,.btn{background:var(--a);color:#fff;font-weight:700;border-radius:var(--r);padding:10px 16px;text-decoration:none;display:inline-block;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:transparent;color:inherit;border:2px solid currentColor}.btn:hover{filter:brightness(1.08);color:#fff}
.lang{font-size:.85rem;border:1px solid var(--soft);padding:6px 10px!important}
details.menu{display:none}
@media(max-width:860px){nav.main{display:none}details.menu{display:block;margin-left:auto}details.menu summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid var(--soft);border-radius:var(--r);color:var(--ink)}details.menu[open] nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:64px;background:var(--bg);padding:12px 20px;border-bottom:1px solid var(--soft)}details.menu nav a{padding:10px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--soft)}}
.hero{background:linear-gradient(135deg,#3f2e56,#5d4380);color:var(--on)}.hero a:not(.btn){color:var(--on)}
.hero .wrap{display:grid;gap:28px;padding-top:44px;padding-bottom:44px;align-items:center}
.hero.split .wrap{grid-template-columns:1.1fr 1fr}.hero.center .wrap{text-align:center;justify-items:center}.hero.center .art{max-width:720px}
.hero.band .wrap{grid-template-columns:1fr}.hero.band .art{order:-1;max-height:260px;overflow:hidden;border-radius:var(--r)}
.hero.card .wrap{grid-template-columns:1fr 1fr}.hero.card .txt{background:var(--bg);color:var(--ink);padding:28px;border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.15)}.hero.card .txt a:not(.btn){color:var(--p)}
.hero p.lead{font-size:1.15rem;opacity:.95;max-width:60ch}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr!important}.hero .wrap{padding-top:28px;padding-bottom:28px}}
.art svg{display:block;width:100%;border-radius:var(--r)}
.ph{margin:20px 0}.ph img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);background:var(--soft)}.ph figcaption{font-size:.78rem;margin-top:6px;opacity:1}.ph figcaption a,.hero .ph figcaption a{color:inherit!important}.hero .ph{margin:0}.hero.band .art{max-height:none;overflow:visible}.hero.band .ph img{aspect-ratio:auto;max-height:340px}
main{padding-bottom:40px}.crumbs{font-size:.85rem;padding:14px 0 0;color:#555}.crumbs a{color:inherit}
.prose{max-width:760px}.prose p,.prose li{max-width:70ch}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:20px 0}
.card{background:#fff;border:1px solid var(--soft);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);display:block}.card:hover{border-color:var(--p);color:var(--ink)}.card h3{margin:.2em 0 .4em;color:var(--p)}.card p{margin:0;font-size:.95rem}
.band2{background:var(--soft);padding:10px 0 30px;margin:30px 0}
.note{border-left:4px solid var(--a);background:#fff;padding:12px 16px;border-radius:0 var(--r) var(--r) 0;font-size:.95rem}
.src{font-size:.85rem;color:#444}.src li{margin:.2em 0}
details.q{background:#fff;border:1px solid var(--soft);border-radius:var(--r);padding:12px 16px;margin:10px 0}details.q summary{font-weight:700;cursor:pointer}
form.quote{display:grid;gap:14px;max-width:640px;background:#fff;padding:22px;border:1px solid var(--soft);border-radius:var(--r)}form.quote label{font-weight:600;font-size:.95rem;display:grid;gap:6px}
form.quote input,form.quote select,form.quote textarea{font:inherit;padding:10px;border:1px solid #aaa;border-radius:6px;background:#fff;width:100%}.hp{position:absolute;left:-5000px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding:10px 0 10px 52px;position:relative}.steps li:before{content:counter(s);position:absolute;left:0;top:8px;width:38px;height:38px;border-radius:50%;background:var(--p);color:var(--on);display:grid;place-items:center;font-weight:700}
table{border-collapse:collapse;width:100%;background:#fff}td,th{border:1px solid var(--soft);padding:8px;text-align:left;vertical-align:top}
footer.site{background:var(--ink);color:#eee;padding:30px 0;font-size:.92rem}footer.site a{color:#fff}footer.site .cols{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
