*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:#061a2b;color:#f3efe7}a{color:inherit;text-decoration:none}header{position:absolute;z-index:5;width:100%;height:80px;padding:0 4vw;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff30}header b,header a{font-size:10px;text-transform:uppercase;letter-spacing:.12em}nav{margin-left:auto;display:flex;gap:25px}.avail{border:1px solid #ed674e;padding:12px}.hero{height:90vh;min-height:650px;position:relative;display:flex;align-items:end}.hero img{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#031522e8,#03152270 55%,transparent),linear-gradient(0deg,#031522aa,transparent)}.heroText{z-index:2;padding:0 4vw 8vh}.heroText small,.credits>small,.events>small,.sport>small,.about>small,.contact>small,.wide small{color:#ed674e;font-weight:bold;letter-spacing:.15em}.heroText h1,h2{font-size:clamp(55px,8vw,120px);line-height:.8;letter-spacing:-.065em;margin:18px 0}.credits,.events,.about{background:#f3efe7;color:#071a2a;padding:70px 4vw}.creditGrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px;border-top:1px solid #071a2a33}.creditGrid div{padding:23px 10px 20px 0;border-bottom:1px solid #071a2a33}.creditGrid b{display:block;font-size:18px}.creditGrid span,.event span{display:block;font-size:9px;letter-spacing:.08em;color:#68747b;margin-top:7px;text-transform:uppercase}.events{padding-top:90px}.event{display:grid;grid-template-columns:1fr auto;align-items:center;padding:25px 0;border-top:1px solid #071a2a33}.event:last-child{border-bottom:1px solid #071a2a33}.event b{font-size:clamp(20px,2.5vw,38px)}.event i{font-style:normal;color:#ed674e;font-size:.7em}.event span{text-align:right}.wide{height:580px;position:relative}.wide img{width:100%;height:100%;object-fit:cover}.wide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#031522bb,transparent)}.wide div{position:absolute;z-index:2;bottom:35px;left:4vw}.wide b{display:block;font-size:40px;margin-top:8px}.sport{padding:90px 4vw}.row{display:grid;grid-template-columns:26% 74%;gap:25px;padding:30px 0 50px;border-top:1px solid #ffffff30}.row em{color:#ed674e;font-style:normal;font-size:10px}.row h3{font-size:55px;margin:25px 0 10px}.row p{font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.08em;color:#9db3bf}.pics{height:470px;display:grid;gap:9px}.pics img{width:100%;height:100%;object-fit:cover;min-width:0}.three{grid-template-columns:1.3fr .85fr .85fr}.two{grid-template-columns:1fr 1fr}.other{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff30}.other div{padding:28px 0;border-bottom:1px solid #ffffff30}.other b{display:block;font-size:35px}.other span{font-size:10px;color:#9db3bf}.about{display:grid;grid-template-columns:.3fr .7fr;gap:35px}.about h2{grid-column:1/2;font-size:60px}.about p{font-size:25px;line-height:1.4;align-self:end}.contact{text-align:center;padding:100px 4vw}.contact h2{font-size:80px}.contact a{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:10px}.button{background:#ed674e;padding:16px 20px}footer{padding:22px 4vw;font-size:9px;color:#78909d;text-transform:uppercase;letter-spacing:.1em}footer span{float:right}@media(max-width:800px){nav{display:none}.creditGrid{grid-template-columns:1fr 1fr}.event,.row,.about{grid-template-columns:1fr}.event span{text-align:left}.three{grid-template-columns:1fr 1fr}.three img:last-child{display:none}.pics{height:380px}}@media(max-width:520px){header{padding:0 18px}header b{font-size:8px}.heroText{padding:0 18px 55px}.heroText h1{font-size:52px}.credits,.events,.sport,.about,.contact{padding-left:18px;padding-right:18px}.creditGrid{grid-template-columns:1fr}.pics,.three,.two{grid-template-columns:1fr;height:auto}.pics img{height:290px}.three img:last-child{display:block}.other{grid-template-columns:1fr}.contact h2{font-size:52px}footer span{float:none;display:block;margin-top:7px}}

/* V5 image/layout refinement */
.sport .row{
  position:relative;
  overflow:hidden;
  align-items:start;
}
.sport .pics{
  overflow:hidden;
  max-width:100%;
  height:390px;
}
.sport .pics img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  max-width:100%;
}

/* Keep the amateur/BTS photography intentionally smaller in the composition. */
.sport .row{
  grid-template-columns:32% 68%;
}
.sport .pics{
  width:88%;
  justify-self:end;
}
.sport .three{
  grid-template-columns:1.2fr .8fr .8fr;
}
.wide{
  height:460px;
}
.wide img{
  object-fit:cover;
}

/* Give each sport a clean visual break before the next section. */
.sport .row + .row{
  margin-top:18px;
}
.other{
  position:relative;
  z-index:2;
  background:#061a2b;
}

@media(max-width:800px){
  .sport .row{grid-template-columns:1fr;}
  .sport .pics{width:100%;height:330px;justify-self:stretch;}
}
@media(max-width:520px){
  .sport .pics{height:auto;}
  .sport .pics img{height:240px;}
  .wide{height:360px;}
}

/* V7 corrected sport image mapping */
.tennis-two{grid-template-columns:1fr 1fr !important;}
.rugby-single{grid-template-columns:1fr !important;}
@media(max-width:520px){
  .tennis-two{grid-template-columns:1fr !important;}
}

/* Release-candidate polish */
img{max-width:100%}
a:focus-visible{outline:2px solid #ed674e;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Small, understated organisation logo strip */
.client-logos{
  background:#f3efe7;
  color:#071a2a;
  padding:34px 4vw 50px;
  border-top:1px solid rgba(7,26,42,.12);
  border-bottom:1px solid rgba(7,26,42,.12);
}
.client-logos>small{
  display:block;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#68747b;
  margin-bottom:22px;
}
.logo-strip{
  display:grid;
  grid-template-columns:repeat(7,minmax(72px,1fr));
  align-items:center;
  gap:26px;
}
.logo-item{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
}
.logo-item img{
  width:auto;
  height:auto;
  max-width:105px;
  max-height:42px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.78;
}
.logo-item:nth-child(4) img,
.logo-item:nth-child(7) img{max-height:48px}
.logo-item:hover img{filter:grayscale(0);opacity:1}
@media(max-width:900px){
  .logo-strip{grid-template-columns:repeat(4,1fr);gap:16px}
}
@media(max-width:560px){
  .client-logos{padding-left:18px;padding-right:18px}
  .logo-strip{grid-template-columns:repeat(2,1fr)}
  .logo-item{min-height:52px}
  .logo-item img{max-width:92px;max-height:38px}
}
