:root{--navy:#14284b;--navy2:#1f3a6b;--accent:#d9893a;--bg:#f7f5f1;--ink:#1d2433;--warn:#fff4e5}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--navy2)}.wrap{max-width:1040px;margin:0 auto;padding:0 18px}.narrow{max-width:760px}
.top{background:var(--navy);position:sticky;top:0;z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;min-height:60px;flex-wrap:wrap}
.brand{color:#fff;font-weight:700;text-decoration:none;font-size:1.1rem}.brand span{color:var(--accent)}
.menu{background:none;border:0;color:#fff;font-size:1.6rem}nav{display:none;width:100%;flex-direction:column;padding-bottom:10px}
.open nav{display:flex}nav a{color:#fff;text-decoration:none;padding:8px 0}nav .lang{color:var(--accent);font-weight:700}
@media(min-width:900px){.menu{display:none}nav{display:flex;flex-direction:row;width:auto;gap:16px;padding:0}nav a{font-size:.95rem}}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:56px 0 48px}.hero h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.2;margin:0 0 14px;max-width:780px}
.lead{font-size:1.15rem;max-width:720px}.btn{display:inline-block;background:var(--accent);color:#fff;border:0;padding:13px 22px;border-radius:8px;font-weight:700;text-decoration:none;font-size:1rem;cursor:pointer;margin:6px 6px 0 0}
.btn.alt{background:transparent;border:2px solid #fff}
.grid3{display:grid;gap:16px;margin:24px auto;grid-template-columns:1fr}@media(min-width:760px){.grid3{grid-template-columns:repeat(3,1fr)}}
.tile,.card{background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 2px 10px rgba(20,40,75,.08);margin:18px 0;display:block}.tile{text-decoration:none;color:inherit;border-top:4px solid var(--accent);margin:0}
.tile h3{color:var(--navy);margin-top:0}h1,h2{color:var(--navy)}main>.wrap>h1{margin-top:32px}
summary{cursor:pointer;list-style:none}summary h2{display:inline;font-size:1.2rem}summary::after{content:" +";color:var(--accent);font-weight:700}details[open] summary::after{content:" −"}
.pc{display:grid;gap:12px}@media(min-width:700px){.pc{grid-template-columns:1fr 1fr}}.pc h4{margin:0;color:var(--navy2)}
.warn{background:var(--warn);border-left:5px solid var(--accent)}
form label{display:block;margin:10px 0;font-weight:600}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #c9cfda;border-radius:8px;font:inherit;margin-top:4px}
.small{font-size:.88rem;color:#555}.stages{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:18px 0}
.stages button{padding:16px;border:2px solid var(--navy2);background:#fff;border-radius:10px;font:inherit;font-weight:700;color:var(--navy);cursor:pointer}.stages button.on{background:var(--navy);color:#fff}
.time{display:inline-block;background:var(--navy);color:#fff;border-radius:20px;padding:4px 14px;font-weight:700}
.cta-band{background:var(--navy2);color:#fff;padding:24px 0}.cta-band a{color:#fff;font-weight:700}.news{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.news label{flex:1;min-width:220px;margin:0}.news button{background:var(--accent);color:#fff;border:0;padding:12px 18px;border-radius:8px;font-weight:700}
footer{background:var(--navy);color:#cfd6e4;padding:24px 0 80px;font-size:.9rem}footer a{color:#fff}.disc{border-left:3px solid var(--accent);padding-left:12px}
.float{position:fixed;bottom:14px;right:14px;background:var(--accent);color:#fff;padding:12px 18px;border-radius:30px;text-decoration:none;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.25)}@media(min-width:900px){.float{display:none}}
.facts{list-style:none;padding:0}.facts li{padding:4px 0}
.hero h1{color:#fff}
.post time{color:var(--accent);font-weight:700;font-size:.9rem}.post h3{margin:.2em 0;color:var(--navy)}
.tag{display:inline-block;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:12px;text-transform:uppercase}
.tpl{border-left:4px dashed var(--accent);margin:0;padding:8px 16px;color:#555;font-style:italic}.empty{border:2px dashed #c9cfda;box-shadow:none}
.tpl footer{background:none;color:var(--navy);padding:4px 0;font-weight:700}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.msg{font-weight:700}
