:root{--bg:#171717;--light:#f6f6f6;--ink:#363636;--link:#3b7dbf;--head:'Montserrat',system-ui,sans-serif;--body:'Source Sans 3',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{position:absolute;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;font:700 14px var(--head);letter-spacing:.04em;pointer-events:none}
.top a{color:#fff;pointer-events:auto;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.top nav{display:flex;gap:22px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.page .top{background:#1564b0;position:absolute}
.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;color:#fff;background:#0b3a78 center/cover}
.hero h1{margin:0 0 1.6rem;font:400 clamp(22px,2.4vw,30px)/1.2 var(--body);letter-spacing:.01em;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero p{margin:0;font:400 clamp(20px,2.4vw,30px) var(--body);text-shadow:0 1px 10px rgba(0,0,0,.4)}
.down{position:absolute;bottom:18px;left:50%;width:32px;height:32px;transform:translateX(-50%)}
.light{background:var(--light);color:var(--ink)}
.bio{padding:90px 24px 100px;text-align:center}.bio p{margin:0 0 1.2em}
.banner{min-height:62vh;display:grid;place-items:center;background:#223 center/cover fixed;color:#fff}
.banner h2{margin:0;font:700 clamp(40px,6vw,68px) var(--head);letter-spacing:-.01em;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.banner-fan{min-height:60vh}
.videos{padding:80px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:820px;margin:0 auto;background:var(--light)}
.video{position:relative;aspect-ratio:16/9;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.grid{padding:80px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1100px;margin:0 auto}
.grid a{aspect-ratio:1;overflow:hidden;display:block}.grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.grid a:hover img{transform:scale(1.05)}
.pubs{padding:80px 24px 100px}.pubs>*{max-width:760px;margin-left:auto;margin-right:auto}.pubs p{margin:0 auto 1em;font-size:16px;line-height:1.55}
.videos,.grid{max-width:none}.videos{padding-left:calc(50% - 410px);padding-right:calc(50% - 410px)}.grid{padding-left:max(24px,calc(50% - 550px));padding-right:max(24px,calc(50% - 550px))}
footer{background:var(--bg);padding:44px 24px 56px}.social{display:flex;gap:10px;justify-content:center}
.social a{width:22px;height:22px;background:#fff;border-radius:50%;display:grid;place-items:center}.social svg{width:13px;height:13px;fill:#171717}
.inquiry{padding:140px 24px 90px;min-height:100vh}.wrap{max-width:560px;margin:0 auto}
.inquiry h1{margin:0 0 28px;font:700 38px var(--head);color:#171717}
.inquiry form{display:grid;gap:18px}.inquiry label,.inquiry legend{display:block;font-size:15px}
.inquiry fieldset{border:0;padding:0;margin:0}.inquiry .name{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.inquiry legend{grid-column:1/-1;padding:0 0 4px}
.inquiry small{font-size:12px;opacity:.7}.hint{font-size:12px;margin:2px 0 8px}
.inquiry input:not([type=radio]),.inquiry textarea{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;border:1px solid #bbb;background:#fff;border-radius:2px}
.opt{display:flex;gap:8px;align-items:center;margin:4px 0}.hp{position:absolute;left:-9999px}
button{justify-self:start;padding:16px 28px;background:#222;color:#fff;border:0;font:600 13px var(--head);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}button:hover{background:#000}
#msg{margin:0;font-size:15px}
@media (max-width:760px){.top nav{display:none}.videos{grid-template-columns:1fr;padding:48px 20px}.grid{grid-template-columns:repeat(3,1fr);padding:48px 16px}.banner{background-attachment:scroll;min-height:44vh}.inquiry .name{grid-template-columns:1fr}.page .top nav{display:flex;gap:12px}}
a.video{display:block}a.video img{width:100%;height:100%;object-fit:cover;display:block}
