:root { --navy:#072d61; --red:#e1252d; --ink:#142033; --paper:#f7f8fa; --line:#d9dfe8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.55; }
.site-header { height:92px; padding:0 clamp(20px, 5vw, 74px); display:flex; align-items:center; justify-content:space-between; gap:32px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; flex:0 0 auto; text-decoration:none; }
.brand img { display:block; width:132px; height:auto; max-height:76px; object-fit:contain; }
.main-menu { display:flex; align-items:center; gap:clamp(17px, 2.4vw, 37px); }
.main-menu a { color:#536073; text-decoration:none; font-size:.92rem; font-weight:700; padding:27px 0 23px; border-bottom:3px solid transparent; }
.main-menu a:hover, .main-menu .is-current { color:var(--navy); border-bottom-color:var(--red); }
.menu-toggle { display:none; border:1px solid var(--navy); color:var(--navy); background:white; padding:8px 12px; font:inherit; font-weight:700; }
.hero { min-height:560px; position:relative; overflow:hidden; display:grid; place-items:center; }
.hero-image, .hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; }
.hero-shade { background:linear-gradient(180deg, rgba(4,22,46,.12), rgba(4,22,46,.28)); }
.hero-content { position:relative; z-index:1; width:min(1110px, calc(100% - 40px)); min-height:560px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding-bottom:42px; color:#fff; }
.hero-video-link { color:#fff; text-decoration:none; font-weight:800; text-shadow:0 1px 8px rgba(0,0,0,.8); border-bottom:2px solid var(--red); padding:0 0 4px; }
.eyebrow { margin:0 0 7px; color:var(--red); font-size:.76rem; font-weight:800; letter-spacing:.15em; }
.hero .eyebrow { color:#f9c8cb; }
h1,h2,h3 { margin:0; line-height:1.12; }
h1 { max-width:600px; font-size:clamp(2.7rem, 5.3vw, 5.2rem); letter-spacing:-.045em; }
h2 { font-size:clamp(2rem, 3.6vw, 3.15rem); letter-spacing:-.035em; }
h3 { font-size:1.5rem; }
.hero-copy { max-width:520px; margin:18px 0 28px; font-size:1.12rem; }
.button { display:inline-block; padding:12px 19px; color:white; background:var(--red); text-decoration:none; font-weight:800; transition:background .2s; }
.button:hover { background:#bc1422; }
.figures { max-width:1040px; margin:-48px auto 0; position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; box-shadow:0 16px 36px rgba(17,37,64,.13); }
.figures div { text-align:center; padding:25px 16px; border-right:1px solid var(--line); }
.figures div:last-child { border:0; }.figures strong,.figures span { display:block; }.figures strong { color:var(--navy); font-size:2rem; line-height:1; }.figures span { margin-top:6px; color:#697586; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.section { width:min(1040px, calc(100% - 40px)); margin:0 auto; padding:100px 0; }.section-heading { margin-bottom:32px; }.film { padding-bottom:90px; }.video-frame { aspect-ratio:16/9; background:var(--navy); box-shadow:0 14px 34px rgba(17,37,64,.18); }.video-frame iframe { width:100%; height:100%; border:0; }
.news { display:grid; grid-template-columns:.9fr 1.4fr; gap:72px; border-top:1px solid var(--line); }.news article { border-left:4px solid var(--red); padding:3px 0 4px 28px; }.news article p { max-width:620px; }.date { margin:0 0 9px; color:#687487; font-size:.74rem; font-weight:800; letter-spacing:.12em; }.text-link { color:var(--navy); font-weight:800; text-decoration:none; }.text-link span { color:var(--red); font-size:1.2em; }
.gallery-teaser { width:100%; max-width:none; background:var(--navy); color:white; text-align:center; padding:100px max(20px, calc((100% - 760px) / 2)); }.gallery-teaser .eyebrow { color:#ffb7bc; }.gallery-teaser p:not(.eyebrow) { max-width:580px; margin:18px auto 30px; }.button-light { background:white; color:var(--navy); }.button-light:hover { color:white; background:var(--red); }
.compact-section { padding:65px 0; border-bottom:1px solid var(--line); }.compact-section-alt { padding-top:44px; }.compact-section h2 { font-size:clamp(1.55rem, 2.6vw, 2.2rem); } footer { padding:28px 20px; color:#7a8492; background:white; text-align:center; font-size:.78rem; font-weight:700; letter-spacing:.08em; }
@media (max-width:760px) { .site-header { height:74px; gap:15px; }.brand img { width:102px; max-height:62px; }.menu-toggle { display:block; }.main-menu { display:none; position:absolute; top:73px; left:0; right:0; padding:10px 20px 18px; flex-direction:column; align-items:stretch; gap:0; background:white; box-shadow:0 12px 20px rgba(20,32,51,.12); }.main-menu.open { display:flex; }.main-menu a { padding:11px 0; border-bottom:0; }.main-menu .is-current { color:var(--red); }.hero,.hero-content { min-height:500px; }.hero-shade { background:linear-gradient(0deg, rgba(4,22,46,.56), rgba(4,22,46,.08)); }.figures { margin:-28px 20px 0; grid-template-columns:repeat(3,1fr); }.figures div { padding:18px 8px; }.figures strong { font-size:1.45rem; }.figures span { font-size:.64rem; }.section { padding:70px 0; }.news { grid-template-columns:1fr; gap:28px; }.gallery-teaser { padding-top:70px; padding-bottom:70px; } }
