:root{
--vr-navy:#0b0b0d;
--vr-navy2:#1b1b1e;
--vr-red:#c8102e;
--vr-ivory:#f5f5f3;
--vr-ink:#111114;
--vr-muted:#5d6975;
--vr-border:#c8c3b8;
--vr-white:#fff;
--vr-width:1440px}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth}
body{
margin:0;
background:var(--vr-ivory);
color:var(--vr-ink);
font-family:Arial,Helvetica,sans-serif;
font-size:1rem;
line-height:1.6}
img{
max-width:100%;
height:auto}
a{
color:inherit;
text-decoration-thickness:.08em;
text-underline-offset:.18em}
a:hover{
text-decoration-thickness:.14em}
button,a{
transition:color .2s,background-color .2s,transform .2s}
a:focus-visible,button:focus-visible{
outline:3px solid #f5c542;
outline-offset:4px}
.skip-link{
position:fixed;
z-index:9999;
top:12px;
left:12px;
padding:12px 18px;
background:#fff;
color:#000;
transform:translateY(-150%)}
.skip-link:focus{
transform:none}
.screen-reader-text{
position:absolute!important;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0}
.site-header{
min-height:5.25rem;
padding:0 clamp(1.5rem,5vw,5rem);
display:flex;
align-items:center;
justify-content:space-between;
background:var(--vr-navy);
color:#fff;
position:relative;
z-index:20}
.site-header>.brand{
margin-right:auto}
.language-switcher{
display:flex;
align-items:center;
gap:.4rem;
margin-left:1.5rem;
font-size:.7rem;
font-weight:800;
letter-spacing:.1em}
.language-switcher a{
padding:.35rem;
text-decoration:none}
.language-switcher a[aria-current="page"]{
color:#fff;
text-decoration:underline;
text-decoration-color:var(--vr-red);
text-decoration-thickness:2px}
.social-links{
display:flex;
align-items:center;
gap:.65rem}
.social-links a{
width:1.8rem;
height:1.8rem;
display:grid;
place-items:center;
color:inherit;
text-decoration:none}
.social-links svg{
width:1.05rem;
height:1.05rem;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round}
.social-links a:hover{
color:var(--vr-red)}
.brand{
display:flex;
align-items:center;
gap:.75rem;
text-transform:uppercase;
text-decoration:none}
.brand-mark{
width:2.4rem;
height:2.75rem;
display:grid;
place-items:center;
color:#fff;
background:var(--vr-red);
clip-path:polygon(50% 0,95% 15%,88% 75%,50% 100%,12% 75%,5% 15%)}
.brand strong,.brand small{
display:block}
.brand strong{
font-size:.94rem;
letter-spacing:.12em}
.brand small{
margin-top:.15rem;
font-size:.58rem;
letter-spacing:.23em;
opacity:.75}
.custom-logo{
max-height:3.5rem;
width:auto}
.site-navigation ul{
display:flex;
gap:2rem;
align-items:center;
margin:0;
padding:0;
list-style:none}
.site-navigation a{
padding:.7rem 0;
border-bottom:2px solid transparent;
font-size:.75rem;
font-weight:700;
letter-spacing:.12em;
text-decoration:none;
text-transform:uppercase}
.site-navigation a:hover,.site-navigation a:focus-visible{
border-color:var(--vr-red)}
.menu-toggle{
display:none;
border:0;
background:transparent;
padding:.7rem;
color:#fff}
.menu-toggle>span:not(.screen-reader-text){
display:block;
width:1.6rem;
height:2px;
margin:.3rem;
background:currentColor}
.hero{
min-height:42rem;
display:grid;
grid-template-columns:46% 54%;
position:relative;
overflow:hidden;
background:#e9e5dc}
.hero-copy{
padding:clamp(3.5rem,6vw,5.75rem) 6vw 9.5rem;
position:relative;
z-index:2}
.eyebrow{
margin:0 0 1.25rem;
color:var(--vr-red);
font-size:.75rem;
font-weight:800;
letter-spacing:.2em;
text-transform:uppercase}
.hero h1{
max-width:8ch;
margin:0;
color:var(--vr-navy);
font-size:clamp(4.4rem,8vw,7.75rem);
line-height:.82;
letter-spacing:-.065em;
overflow-wrap:normal;
word-break:normal;
text-transform:uppercase}
.position{
margin:1.7rem 0 0;
color:var(--vr-red);
font-size:1.1rem;
font-weight:800;
letter-spacing:.18em;
text-transform:uppercase}
.current-team{
margin:.7rem 0 0;
font-size:.9rem;
font-weight:700}
.current-team a{
color:var(--vr-navy)}
.hero-summary{
max-width:32rem;
margin:1.35rem 0 1.9rem;
color:#425161;
font-size:1.05rem}
.hero-summary p{
margin:0}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:.75rem}
.button{
min-height:3.2rem;
padding:.2rem 1.4rem;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:.7rem;
font-weight:800;
letter-spacing:.1em;
text-decoration:none;
text-transform:uppercase}
.button:hover{
transform:translateY(-2px)}
.button.primary,.contact-button{
background:var(--vr-red);
color:#fff}
.button.secondary{
color:var(--vr-navy);
border:1px solid #8d8b86}
.hero-photo{
position:relative;
min-height:35rem;
background-color:var(--vr-navy2);
background-position:center;
background-size:cover}
.hero-photo:after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(6,27,53,.03),rgba(6,27,53,.25))}
.hero-photo>span{
position:absolute;
z-index:1;
right:-1.5rem;
bottom:-4.5rem;
color:transparent;
-webkit-text-stroke:2px rgba(255,255,255,.2);
font-size:21rem;
font-weight:900;
line-height:1}
.profile-strip{
position:absolute;
z-index:3;
left:0;
right:0;
bottom:0;
min-height:7rem;
padding-right:5vw;
padding-left:5vw;
display:grid;
grid-template-columns:repeat(4,1fr);
background:var(--vr-navy);
color:#fff;
box-shadow:0 1.4rem 3rem rgba(4,18,35,.18)}
.profile-stat{
padding:1.7rem 2.1rem;
border-right:1px solid rgba(255,255,255,.16)}
.profile-stat:last-child{
border:0}
.profile-stat strong,.profile-stat span{
display:block}
.profile-stat strong{
font-size:1.18rem;
text-transform:uppercase}
.profile-stat span{
margin-top:.35rem;
color:#b3bfca;
font-size:.64rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase}
.section{
max-width:var(--vr-width);
margin:auto;
padding:7rem clamp(1.5rem,7vw,7rem)}
.intro{
display:grid;
grid-template-columns:1fr 1fr;
gap:5rem;
align-items:start}
h1,h2,h3{
overflow-wrap:anywhere}
h2{
margin:0;
color:var(--vr-navy);
font-size:clamp(2.4rem,4.5vw,4.35rem);
line-height:1;
letter-spacing:-.045em;
text-transform:uppercase}
.intro-copy{
font-size:1.3rem}
.intro-copy p{
margin-top:0}
.film-section{
max-width:var(--vr-width);
margin:auto;
padding:0 clamp(1.5rem,5vw,5rem) 6.25rem}
.film-card{
min-height:32.5rem;
display:grid;
grid-template-columns:58% 42%;
background:var(--vr-navy);
color:#fff}
.film-preview{
min-height:32.5rem;
display:grid;
place-items:center;
align-content:center;
gap:1rem;
position:relative;
background:linear-gradient(125deg,#223b53,#101b29)}
.film-preview:after{
content:"99";
position:absolute;
right:1rem;
bottom:-4rem;
color:rgba(255,255,255,.04);
font-size:16rem;
font-weight:900}
.film-preview>span:first-child{
position:absolute;
top:2rem;
left:2.3rem;
color:#c7d1dc;
font-size:.7rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase}
.play-button{
z-index:2;
width:5.75rem;
height:5.75rem;
display:grid;
place-items:center;
border:1px solid rgba(255,255,255,.75);
border-radius:50%;
background:rgba(255,255,255,.08);
color:#fff;
font-size:1.5rem;
text-decoration:none}
.play-button.disabled{
opacity:.55}
.hudl-embed{
position:relative;
z-index:2;
width:100%;
height:100%;
min-height:32.5rem;
border:0;
background:#000}
.film-copy{
padding:4.5rem 3.6rem;
display:flex;
flex-direction:column;
justify-content:center;
background:var(--vr-navy2)}
.eyebrow.light{
color:#f58e97}
.film-copy h2{
color:#fff;
font-size:clamp(2.25rem,4vw,3.8rem)}
.film-copy p:not(.eyebrow){
color:#c0c9d2}
.film-copy>a{
margin-top:1rem;
font-size:.72rem;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase}
.section-heading{
display:flex;
justify-content:space-between;
align-items:end;
padding-bottom:2.15rem;
border-bottom:1px solid var(--vr-border)}
.trophy{
color:var(--vr-red);
font-size:2rem}
.achievements-table-wrap{
overflow-x:auto}
.achievements-table{
width:100%;
border-collapse:collapse;
text-align:left}
.achievements-table th,
.achievements-table td{
padding:1.4rem 1.25rem;
border-bottom:1px solid var(--vr-border);
vertical-align:top}
.achievements-table thead th{
color:var(--vr-muted);
font-size:.68rem;
letter-spacing:.16em;
text-transform:uppercase}
.achievements-table tbody th{
width:10rem;
color:var(--vr-red);
font-size:.78rem;
letter-spacing:.12em;
text-transform:uppercase}
.achievements-table td:nth-child(2){
width:34%;
color:var(--vr-navy);
text-transform:uppercase}
.achievements-table td:last-child{
color:var(--vr-muted)}
.details{
padding-top:0;
display:grid;
grid-template-columns:1fr 1fr;
gap:1.25rem}
.details article{
min-height:20.5rem;
padding:3rem;
border:1px solid var(--vr-border)}
.details article:last-child{
background:#e6e1d7}
.card-icon{
display:block;
margin-bottom:2rem;
color:var(--vr-red);
font-size:1.5rem}
.details h2{
font-size:2.35rem}
.details article>p:last-of-type{
color:var(--vr-muted)}
.schedule-card{
grid-column:span 1}
.schedule-image-link{
display:block;
margin:1.5rem 0}
.schedule-image{
display:block;
width:100%;
height:auto;
border:1px solid var(--vr-border)}
.schedule-enlarge{
display:inline-block;
margin:-.5rem 0 1.5rem;
font-size:.72rem;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase}
.schedule-list{
margin:2rem 0;
padding:0;
list-style:none}
.schedule-list li{
padding:1rem 0;
border-top:1px solid var(--vr-border);
display:grid;
grid-template-columns:9rem 1fr;
gap:.1rem 1rem}
.schedule-list time{
grid-row:span 2;
color:var(--vr-red);
font-size:.72rem;
font-weight:800;
text-transform:uppercase}
.schedule-list strong{
font-size:.88rem}
.schedule-list span{
color:var(--vr-muted);
font-size:.8rem}
.official-link{
font-size:.72rem;
font-weight:800;
text-transform:uppercase}
.contact{
padding:5.6rem max(1.5rem,calc((100vw - var(--vr-width))/2 + 7rem));
display:flex;
justify-content:space-between;
align-items:end;
gap:5rem;
background:var(--vr-navy);
color:#fff}
.contact h2{
color:#fff}
.contact>div:first-child>p:last-child{
max-width:41rem;
color:#b8c2cc}
.contact-actions{
min-width:16rem}
.contact-actions>span{
display:block;
margin-top:1rem;
color:#b8c2cc;
font-size:.8rem}
.footer-meta{
display:flex;
align-items:center;
gap:1.25rem}
.site-footer{
min-height:7rem;
padding:1.75rem clamp(1.5rem,5vw,5rem);
display:flex;
justify-content:space-between;
align-items:center;
gap:1.5rem;
background:#031126;
color:#fff}
.site-footer p,.footer-meta>span{
color:#9aa8b6;
font-size:.64rem;
letter-spacing:.18em;
text-transform:uppercase}
.content-area{
max-width:55rem;
min-height:55vh;
margin:auto;
padding:6rem 1.5rem}
.content-area h1{
font-size:clamp(2.5rem,6vw,5rem);
line-height:1}
.entry-content a,.content-area article a{
text-decoration:underline}
.nav-links{
display:flex;
justify-content:space-between;
gap:2rem}
.alignwide{
max-width:75rem;
margin-left:auto;
margin-right:auto}
.alignfull{
width:100vw;
margin-left:calc(50% - 50vw)}

@media(max-width:900px){
.menu-toggle{
display:block}
.site-navigation{
display:none;
position:absolute;
top:100%;
left:0;
right:0;
padding:1rem 1.5rem 1.5rem;
background:var(--vr-navy)}
.site-navigation.is-open{
display:block}
.site-navigation ul{
align-items:stretch;
flex-direction:column;
gap:0}
.site-navigation a{
display:block;
padding:.9rem}
.language-switcher{
margin-left:auto}
.social-links-header{
display:none}
.hero{
grid-template-columns:1fr}
.hero-copy{
padding:clamp(3.25rem,7vw,4.5rem) 7vw 3.25rem!important}
.hero-photo{
min-height:30rem}
.profile-strip{
position:relative;
left:auto;
right:auto;
padding-right:0;
padding-left:0;
grid-template-columns:1fr 1fr}
.profile-stat:nth-child(2){
border-right:0}
.profile-stat{
border-bottom:1px solid rgba(255,255,255,.16)}
.intro,.film-card,.details{
grid-template-columns:1fr}
.intro{
gap:2.25rem}
.contact{
align-items:start;
flex-direction:column}
.schedule-card{
grid-column:auto}
}

@media(max-width:620px){
.site-header{
min-height:4.5rem}
.hero h1{
max-width:none;
font-size:clamp(3rem,16vw,3.6rem);
line-height:.9;
letter-spacing:-.055em;
overflow-wrap:normal;
word-break:normal}
.hero-photo{
min-height:22rem}
.hero-photo>span{
font-size:14rem}
.profile-stat{
padding:1.4rem}
.section{
padding:4.75rem 1.5rem}
.film-section{
padding:0 0 4.5rem}
.film-copy{
padding:3.25rem 1.5rem}
.achievements-table th,
.achievements-table td{
min-width:10rem;
padding:1.1rem .9rem}
.details article{
min-height:auto;
padding:2.25rem 1.75rem}
.schedule-list li{
grid-template-columns:1fr}
.schedule-list time{
grid-row:auto}
.site-footer{
align-items:flex-start;
flex-direction:column}
.contact{
padding:4.5rem 1.5rem}
}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
button,a{
transition:none}
}
