body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f6f9fc;color:#19324a}header{position:sticky;top:0;z-index:5;background:#ffffffee;backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;padding:14px 6vw;border-bottom:1px solid #d9e7f4}a{color:#0b5fa5;text-decoration:none}.brand{font-weight:900;font-size:22px;display:flex;align-items:center;gap:12px;color:#0b5fa5}.brand small{display:block;font-size:13px;color:#667;font-weight:700;margin-left:4px}.logo{width:54px;height:54px;border-radius:8px;background:white;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 5px 14px #0b5fa526;overflow:hidden;flex:0 0 auto}.logo img{width:100%;height:100%;object-fit:contain;padding:2px}nav a{margin-left:22px;font-weight:800}main{padding:0 6vw 50px;max-width:1280px;margin:auto}.hero{margin:28px 0;padding:28px;background:#fff;border-radius:12px;box-shadow:0 8px 22px #0001;display:grid;grid-template-columns:minmax(240px,560px) 1fr;gap:30px;align-items:center}.hero.small{display:block}.hero img{width:100%;height:420px;object-fit:cover;border-radius:8px}.slideshow{position:relative;height:420px;border-radius:8px;overflow:hidden;background:#dbeaf7}.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}.slide.active{opacity:1}.slide-dots{position:absolute;left:0;right:0;bottom:12px;text-align:center}.slide-dots span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ffffff88;margin:0 4px}.slide-dots span.active{background:white}h1{font-size:clamp(34px,5vw,66px);line-height:1;margin:0 0 12px}h2{margin-top:0}.primary,.secondary,.btn{display:inline-block;margin:8px 8px 8px 0;padding:12px 18px;border-radius:10px;font-weight:800}.primary{background:#0b5fa5;color:white}.secondary,.btn{background:#e7f1fb;color:#0b5fa5}.announcement{margin:28px 0;padding:24px 28px;background:linear-gradient(135deg,#0b5fa5,#083b6b);color:white;border-radius:12px;box-shadow:0 10px 28px #0b5fa526}.announcement h2{font-size:clamp(26px,3vw,42px);margin:4px 0}.announce-label{display:inline-block;background:#ffffff24;border:1px solid #ffffff55;border-radius:8px;padding:5px 10px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.04em}.announce-details{list-style:none;padding:0;margin:12px 0}.announce-details li{margin:6px 0;font-size:18px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.photo img{width:100%;height:220px;object-fit:cover;border-radius:6px;box-shadow:0 3px 14px #0002;background:white}.photo:hover img{transform:translateY(-2px)}.years{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.year,.card{background:white;border-radius:10px;padding:22px;box-shadow:0 5px 18px #0001}.year a{display:block;padding:10px 0;border-top:1px solid #eee;font-weight:700}.year span{float:right;color:#71808d;font-size:13px}.back{font-weight:900}.contact-form{display:grid;gap:12px;max-width:720px}.contact-form label{font-weight:800}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid #c9d9e7;border-radius:8px;font:inherit;background:white}.contact-form textarea{min-height:150px}.contact-note{color:#667;margin-top:14px}footer{text-align:center;color:#71808d;padding:35px}.lightbox{position:fixed;inset:0;background:#000e;display:none;align-items:center;justify-content:center;z-index:20}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;box-shadow:0 12px 40px #0008}.lb{position:fixed;border:0;background:#ffffff22;color:white;cursor:pointer;border-radius:10px;backdrop-filter:blur(6px)}.lb:hover{background:#ffffff40}.close{top:18px;right:20px;font-size:38px;width:56px;height:56px}.prev,.next{top:50%;transform:translateY(-50%);font-size:58px;width:72px;height:72px;line-height:1}.prev{left:18px}.next{right:18px}.lbcount{position:fixed;bottom:20px;color:white;background:#ffffff24;padding:8px 14px;border-radius:8px;font-weight:800}@media(max-width:760px){header{display:block}nav{margin-top:12px}nav a{margin:0 12px 0 0}.brand{justify-content:flex-start}.hero{grid-template-columns:1fr;padding:20px}.hero img{height:260px}.slideshow{height:260px}.gallery{grid-template-columns:repeat(2,1fr)}.photo img{height:140px}.prev,.next{width:54px;height:54px;font-size:42px}.announcement{padding:20px}}