*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#ececec;color:#111;font-family:Georgia,"Times New Roman",serif}
.site{width:min(100%,1200px);min-height:100vh;margin:0 auto;background:#fff;border:3px solid #c40000;overflow:hidden}
.header{position:relative;min-height:500px;padding:18px 20px 30px;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}
nav{position:relative;z-index:10;display:flex;justify-content:center;flex-wrap:wrap;width:fit-content;margin:0 auto 18px;background:#fff}
nav a{display:block;padding:10px 20px;color:#111;background:#fff;font-size:22px;line-height:1;text-decoration:none;white-space:nowrap}
nav a:hover,nav a[aria-current="page"]{background:#eee;text-decoration:underline}
.title{position:relative;z-index:5;width:min(96%,1050px);margin:0 auto;padding:10px 15px;background:#fff;text-align:center;font-size:clamp(30px,5vw,58px);line-height:1.08;font-weight:700}
.logo{position:relative;z-index:4;display:block;width:clamp(210px,30vw,350px);max-width:72%;height:auto;margin:20px auto 0;background:#fff;border-radius:50%}
.page-label{display:table;margin:18px auto 0;padding:8px 14px;background:#fff;font:26px Arial,sans-serif}
.hero{display:block;width:100%;height:auto}
.content{padding:36px clamp(20px,5vw,64px) 48px}
.media{background:#000;color:#fff}
.section-label{display:inline-block;margin:0 0 24px;padding:9px 14px;background:#fff;color:#111;font:28px Arial,sans-serif}
.video-grid,.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.video-grid img,.photo-grid img{display:block;width:100%;height:auto;border:2px solid #fff;background:#000}
.photos{margin-top:52px}
.dates-card{width:min(100%,820px);margin:0 auto;padding:24px 30px;border:1px solid #143a80;background:#fff}
.dates-list{margin:0;padding-left:24px;font:18px/1.55 Arial,sans-serif}
.dates-list li{margin:0 0 8px}
.contact-area{width:min(100%,720px);margin:0 auto}
form{display:grid;gap:14px}
input,textarea,button{width:100%;padding:12px;border:1px solid #222;border-radius:0;font:18px Arial,sans-serif}
textarea{min-height:220px;resize:vertical}
button{width:120px;background:#fff;cursor:pointer}
.notice{margin-top:10px;color:#444;font:14px Arial,sans-serif}
.loading{padding:40px;text-align:center;font:18px Arial,sans-serif}
@media(max-width:700px){
.site{border-width:2px}.header{min-height:390px;padding:12px 10px 22px}
nav{margin-bottom:14px}nav a{padding:9px 12px;font-size:17px}
.title{width:96%;padding:8px 10px;font-size:clamp(25px,8vw,38px)}
.logo{width:210px;margin-top:16px}.page-label{font-size:21px}
.video-grid,.photo-grid{grid-template-columns:1fr}
.dates-card{padding:18px}.dates-list{font-size:16px}}
@media(max-width:420px){nav a{padding:8px 9px;font-size:15px}.header{min-height:350px}.logo{width:185px}}