:root{--blue:#004a99;--blue-dark:#00316b;--blue-light:#74b5fc;--soft:#ecf5ff;--yellow:#ffc933;--text:#283d50;--muted:#5d6f82;--line:#d6eaff;--max:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font:16px/1.7 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
h1,h2,h3,nav,.btn,.logo,.eyebrow,.when,.meta,.legacy-banner,footer{font-family:Montserrat,"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--blue)}
a:focus-visible,button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.legacy-banner{background:var(--yellow);color:#1d2b3a;text-align:center;font-size:.9rem;font-weight:600;padding:.5rem 1rem}
header.site{background:#fff;box-shadow:0 0 30px rgba(127,137,161,.3);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:70px;position:relative}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--blue);text-decoration:none;font-size:1.2rem}
.logo .mark{display:block;width:40px;height:40px;object-fit:contain}
nav ul{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}
nav a{color:var(--text);text-decoration:none;font-size:.9rem;font-weight:600}
nav a:hover{color:var(--blue)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--blue);border-radius:6px;padding:.35rem .8rem;font-size:.95rem;cursor:pointer}
.hero{background:linear-gradient(160deg,var(--blue) 0%,var(--blue-dark) 100%);color:#fff;padding:90px 0}
.hero .wrap{display:flex;align-items:center;gap:40px}
.hero .info{flex:1}
.hero .art{flex:0 0 38%}
.hero .art img{width:100%;height:auto;display:block}
.hero h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.2;margin:0 0 1.2rem;font-weight:700}
.hero h1 span{color:var(--blue-light);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:6px}
.hero p.lead{font-size:1.1rem;color:#dbe9fb;margin:0 0 2rem;max-width:560px}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.6rem 2rem;border-radius:50px;border:2px solid #fff;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:1px;transition:.3s}
.btn:hover{background:#fff;color:var(--blue)}
.btn.primary{background:var(--yellow);border-color:var(--yellow);color:#1d2b3a}
.btn.primary:hover{background:transparent;color:#fff;border-color:#fff}
section{padding:72px 0}
section:nth-of-type(even){background:var(--soft)}
.eyebrow{color:var(--blue);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h2{font-size:clamp(1.6rem,3.5vw,2.1rem);margin:.3rem 0 1rem;line-height:1.25;color:var(--text);font-weight:700}
h2::after{content:"";display:block;width:56px;height:4px;background:var(--yellow);margin-top:.7rem;border-radius:2px}
h3{margin:0 0 .3rem;font-size:1.05rem;color:var(--text)}
p{margin:.6rem 0}
.sub{color:var(--muted)}
.list{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:14px}
.list li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;box-shadow:0 2px 12px rgba(0,74,153,.06)}
.list p{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}
.list li.row{display:flex;gap:1rem;align-items:center}
.list li.row h3{margin:0}
.ico{width:48px;height:48px;border-radius:10px;flex:none;object-fit:cover;background:var(--soft)}
.ico.round{border-radius:50%}
.mono{width:48px;height:48px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--blue);color:#fff;font:700 1.1rem Montserrat,system-ui,sans-serif}
.mono.y{background:var(--yellow);color:#1d2b3a}
.timeline{list-style:none;margin:2rem 0 0;padding:0 0 0 20px;border-left:3px solid var(--blue-light)}
.timeline li{position:relative;padding:0 0 1.6rem 24px}
.timeline li::before{content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--yellow);border:3px solid var(--blue)}
.timeline .when{font-size:.85rem;color:var(--blue);font-weight:700}
.timeline p{margin:.2rem 0 0;color:var(--muted)}
.notice{border-left:4px solid var(--yellow);background:var(--soft);padding:.8rem 1.2rem;margin-top:2rem;color:var(--muted);border-radius:0 8px 8px 0}
.team{display:grid;gap:22px;margin-top:2.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.member{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 20px;text-align:center;box-shadow:0 2px 12px rgba(0,74,153,.06)}
.member img,.member .mono{width:96px;height:96px;border-radius:50%;margin:0 auto 1rem;object-fit:cover;display:block;font-size:2rem}
.member .mono{display:grid}
.member h3{font-size:1.1rem}
.member .role{color:var(--muted);font-size:.9rem;margin:0}
.member .links{display:flex;gap:.8rem;justify-content:center;margin-top:.8rem;font-size:.85rem;font-weight:600}
footer{background:var(--blue-dark);color:#cfe0f7;padding:40px 0;font-size:.9rem}
footer a{color:#fff}
footer .cols{display:flex;gap:2rem;justify-content:space-between;flex-wrap:wrap}
footer ul{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem;flex-wrap:wrap}
.legal{padding:56px 0 80px}
.legal .wrap{max-width:780px}
.legal h1{font-size:2.2rem;margin:.3rem 0;color:var(--blue)}
.legal h2{font-size:1.3rem;margin-top:2rem}
.legal h2::after{display:none}
.legal li{margin:.3rem 0}
.legal .meta{color:var(--muted)}
.hero.small{padding:60px 0;text-align:center}
.hero.small .wrap{display:block}
@media (max-width:860px){.hero .wrap{flex-direction:column-reverse;text-align:center}.hero .art{flex:none;width:60%}.hero p.lead{margin-inline:auto}.btns{justify-content:center}}
@media (max-width:760px){.menu-btn{display:block}nav ul{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:.8rem;background:#fff;padding:1rem 24px;box-shadow:0 10px 20px rgba(127,137,161,.2)}nav ul.open{display:flex}section{padding:48px 0}.hero{padding:50px 0}}
.ico.wide{width:auto;height:48px;border-radius:6px;object-fit:contain;background:#000;display:block}
.values{display:grid;gap:22px;margin-top:2.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.value{background:#fff;border:1px solid var(--line);border-top:4px solid var(--yellow);border-radius:12px;padding:26px 24px;box-shadow:0 2px 12px rgba(0,74,153,.06)}
.value h3{color:var(--blue);font-size:1.2rem}
.value p{color:var(--muted);margin:.4rem 0 0}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
.js .list li,.js .member,.js .timeline li{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease,box-shadow .25s,border-color .25s}
.js .in .list li,.js .in .member,.js .in .timeline li,.js .in.value{opacity:1;transform:none}
.js .in .list li:nth-child(2),.js .in .member:nth-child(2),.js .in .timeline li:nth-child(2){transition-delay:.06s}
.js .in .list li:nth-child(3),.js .in .member:nth-child(3),.js .in .timeline li:nth-child(3){transition-delay:.12s}
.js .in .list li:nth-child(4),.js .in .member:nth-child(4),.js .in .timeline li:nth-child(4){transition-delay:.18s}
.js .in .list li:nth-child(n+5),.js .in .member:nth-child(n+5),.js .in .timeline li:nth-child(n+5){transition-delay:.24s}
.list li:hover,.member:hover,.value:hover{box-shadow:0 8px 24px rgba(0,74,153,.14);border-color:var(--blue-light)}
.member:hover img{transform:scale(1.04)}
.member img{transition:transform .3s ease}
.hero .art img{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;border:0;background:var(--blue);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,74,153,.35);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s;z-index:60}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--blue-dark)}
.to-top:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .list li,.js .member,.js .timeline li{opacity:1;transform:none;transition:none}.hero .art img{animation:none}.to-top{transition:none}}
