:root{--navy:#10264a;--navy2:#1b3a6b;--gold:#d98e04;--ink:#1a1f2b;--muted:#5a6475;--bg:#f7f6f2;--card:#fff;--line:#e3e0d6;--ok:#1d7a46;--err:#b3261e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
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:1080px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
header{position:sticky;top:0;background:var(--navy);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{color:#fff;font-weight:700;text-decoration:none;letter-spacing:.3px}
.brand span{color:var(--gold)}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav a{color:#dfe6f3;text-decoration:none;font-size:15px;padding:8px 0}
nav a:hover{color:#fff}
.btn{display:inline-block;background:var(--gold);color:#1a1200;font-weight:700;padding:14px 26px;border-radius:8px;text-decoration:none;border:0;cursor:pointer;font-size:16px;min-height:48px}
.btn:hover{filter:brightness(1.08)}
.btn.alt{background:transparent;color:#fff;border:2px solid #fff}
.menu{display:none;background:none;border:0;color:#fff;font-size:28px;min-width:48px;min-height:48px;cursor:pointer}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:56px 0 68px}
.hero .wrap{position:relative}
.ribbon,.hero::after,footer::before{content:"";display:block;height:12px;background:linear-gradient(180deg,#101010 0 3px,#fff 3px 4px,#bb0a1e 4px 8px,#fff 8px 9px,#006b3f 9px 12px)}
.hero::after{position:absolute;left:0;right:0;bottom:0}
footer{position:relative}
footer::before{position:absolute;left:0;right:0;top:0}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.kicker{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:13px}
h1{font-size:clamp(34px,6vw,60px);line-height:1.1;margin:10px 0 16px}
.slogan{font-size:clamp(20px,3.5vw,28px)!important;font-weight:600;color:#fff!important;margin:0 0 12px}
.hero p{font-size:19px;color:#dfe6f3;max-width:520px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.photo{aspect-ratio:3/4;background:#27406e;border-radius:14px;overflow:hidden;border:4px solid var(--gold);display:flex;align-items:center;justify-content:center;color:#9db0d2;text-align:center;padding:12px}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
section{padding:64px 0}
section.alt{background:#fff}
h2{font-size:clamp(26px,4vw,38px);margin:0 0 8px;color:var(--navy)}
.sub{color:var(--muted);margin:0 0 32px;max-width:640px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.card h3{margin:0 0 6px;color:var(--navy)}
.card p{margin:0;color:var(--muted);font-size:16px}
.draft{display:inline-block;font-size:12px;background:#fff3d6;color:#7a5200;padding:2px 8px;border-radius:99px;margin-left:6px;vertical-align:middle}
.about{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.about ul{padding-left:20px;margin:8px 0}
.facts{display:grid;gap:12px}
.fact{border-left:4px solid var(--gold);background:var(--card);padding:12px 16px;border-radius:0 10px 10px 0}
.fact b{display:block;color:var(--navy)}
.event{display:flex;gap:18px;align-items:center}
.date{min-width:64px;text-align:center;background:var(--navy);color:#fff;border-radius:10px;padding:8px 6px;line-height:1.2}
.date b{display:block;font-size:24px}
form{display:grid;gap:14px;max-width:560px}
label{font-weight:600;font-size:15px}
input,select,textarea{width:100%;padding:12px 14px;font:inherit;border:1.5px solid #b9b5a8;border-radius:8px;background:#fff;min-height:48px}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{width:24px;min-height:24px;margin-top:3px}
.err{color:var(--err);font-size:14px;min-height:18px}
.msg{padding:12px 14px;border-radius:8px;display:none}
.msg.ok{display:block;background:#e4f4ea;color:var(--ok)}
.msg.bad{display:block;background:#fbe9e7;color:var(--err)}
.pay{background:var(--navy);color:#fff;border-radius:14px;padding:28px}
.pay dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:12px 0}
.pay dt{color:#9db0d2}
.pay dd{margin:0;font-weight:700}
footer{background:#0b1a33;color:#b8c4dc;padding:48px 0 36px;font-size:14px}
footer a{color:#e6ecf8}
@media(max-width:820px){
 .hero .wrap,.about{grid-template-columns:1fr}
 .photo{max-width:320px;margin:0 auto}
 .menu{display:block}
 nav{position:absolute;top:64px;left:0;right:0;background:var(--navy);display:none}
 nav.open{display:block}
 nav ul{flex-direction:column;gap:0;padding:8px 20px 16px}
 nav a{display:block;padding:14px 0;border-bottom:1px solid #27406e}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.mt{margin-top:22px}
.hide{display:none!important}

/* Opening animation */
#intro{display:none;position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 40%,#1b3a6b,#0b1a33 70%);color:#fff;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;transition:opacity .6s ease,visibility .6s}
.intro-on #intro{display:flex}
#intro.out{opacity:0;visibility:hidden}
#intro .line{width:0;height:3px;background:var(--gold);margin:0 auto 22px;animation:ln 1s .2s ease forwards}
#intro .nm{font-size:clamp(30px,8vw,64px);font-weight:800;letter-spacing:.14em;opacity:0;transform:translateY(14px);animation:up .9s .7s ease forwards}
#intro .nm span{color:var(--gold)}
#intro .tg{margin-top:12px;font-size:clamp(14px,3.5vw,20px);letter-spacing:.3em;text-transform:uppercase;color:#c9d6ee;opacity:0;animation:up .9s 1.3s ease forwards}
#intro .skip2{position:absolute;right:16px;bottom:16px;background:transparent;color:#dfe6f3;border:1.5px solid #5f78a8;border-radius:8px;padding:10px 18px;min-height:48px;cursor:pointer;font:inherit;font-size:15px}
.intro-on body{overflow:hidden}
@keyframes ln{to{width:min(220px,50vw)}}
@keyframes up{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#intro{display:none!important}.intro-on body{overflow:auto}}
