html,body.psd-home-body{margin:0;padding:0;min-height:100%;background:#02080e;color:#fff;font-family:Arial,Helvetica,sans-serif}
body.psd-home-body{overflow-x:hidden}
.psd-home{width:min(1920px,100vw);margin:0 auto;position:relative;line-height:normal;isolation:isolate}
.psd-art{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}
.psd-links a{position:absolute;display:block;z-index:50;background:transparent;color:transparent;text-decoration:none;cursor:pointer}
.psd-links a:focus-visible{outline:2px solid #58fff0;background:rgba(0,255,230,.08)}

/*
   PIXEL-LOCKED PSD COORDINATES.
   All positions below are measured against the supplied 1920 x 2642 artwork.
   Percentage values keep the artwork and overlays perfectly proportional at
   every browser width.
*/
.home-hero-dynamic{position:absolute;z-index:12;left:59.4%;top:20.25%;width:13.8%;height:7.4%;overflow:hidden;color:#4c7d79;pointer-events:none}
.hero-copy{position:absolute;inset:0;padding:2% 1%;background:rgba(255,255,255,.96);box-sizing:border-box}
.hero-copy span{font-size:clamp(8px,.72vw,15px);color:#77aaa5;display:block}
.hero-copy h1{font-size:clamp(13px,1.45vw,29px);line-height:1.05;font-weight:300;margin:1px 0 7px;color:#6d9f9a;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-copy p{font-size:clamp(7px,.58vw,12px);line-height:1.45;margin:0 0 7px;color:#78908e;max-width:100%;height:5.7em;overflow:hidden}
.hero-copy>a{pointer-events:auto;display:inline-block;background:linear-gradient(#6eaaa4,#234a48);color:#fff;padding:5px 18px;border-radius:1px;font-size:clamp(7px,.55vw,11px);text-decoration:none;box-shadow:0 3px 8px #0a3034}

/* Main news column: outer cards are exactly where the PSD cards sit. */
.home-content-dynamic{position:absolute;z-index:12;left:26.55%;top:41.25%;width:29.15%;height:33.4%;pointer-events:none}
.dynamic-news-card{position:absolute;left:0;width:100%;height:19.3%;box-sizing:border-box;background:rgba(255,255,255,.985);border:3px solid #d5e6e3;box-shadow:0 1px 4px rgba(0,0,0,.12);overflow:visible;color:#5b8581;pointer-events:auto}
.dynamic-news-card:nth-child(1){top:0}.dynamic-news-card:nth-child(2){top:24.2%}.dynamic-news-card:nth-child(3){top:48.3%}
.dynamic-news-card>time{position:absolute;left:-7.2%;top:34%;width:7.5%;height:28%;min-width:28px;background:linear-gradient(#0e514c,#3b827b);color:#fff;text-align:center;z-index:3;display:flex;flex-direction:column;justify-content:center;line-height:1;box-shadow:0 2px 5px rgba(0,0,0,.15)}
.dynamic-news-card>time b{font-size:clamp(9px,.8vw,16px)}.dynamic-news-card>time small{font-size:clamp(6px,.48vw,10px);margin-top:3px}
.dynamic-news-card>img{position:absolute;left:3px;top:3px;width:31.2%;height:calc(100% - 6px);object-fit:cover}
.news-copy{position:absolute;left:34.5%;right:2%;top:5%;bottom:4%;overflow:hidden}
.news-title{display:block;color:#36bd95;font-size:clamp(11px,1.05vw,21px);line-height:1.05;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-copy>small{display:block;color:#78a09b;font-size:clamp(6px,.46vw,9px);margin:2px 0 5px}
.news-copy p{margin:0;color:#5d7775;font-size:clamp(7px,.48vw,10px);line-height:1.4;max-height:8.4em;overflow:hidden}
.read-more{position:absolute;right:0;bottom:-1px;background:linear-gradient(#6baba5,#28504e);color:#fff;text-decoration:none;font-size:clamp(6px,.48vw,10px);padding:5px 10px;box-shadow:0 2px 5px rgba(0,0,0,.25)}

/* The PSD already contains the gallery/video/staff frames. These overlays only replace their inner content. */
.home-gallery-dynamic{position:absolute;z-index:12;left:57.9%;top:41.15%;width:15.15%;height:9.85%;padding:5px;box-sizing:border-box;background:rgba(255,255,255,.98);border:3px solid #d5e6e3}
.home-gallery-dynamic img{width:100%;height:100%;object-fit:cover;display:block}
.home-video-dynamic{position:absolute;z-index:12;left:57.9%;top:53.0%;width:15.15%;height:9.85%;padding:5px;box-sizing:border-box;background:rgba(255,255,255,.98);border:3px solid #d5e6e3}
.home-video-dynamic a{display:block;height:100%;position:relative}.home-video-dynamic img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8)}
.home-video-dynamic span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;text-shadow:0 2px 4px #153b3a;font-size:clamp(18px,2vw,36px);background:rgba(30,120,110,.08)}
.home-video-dynamic span small{font-size:clamp(7px,.55vw,11px);margin-top:3px}
.home-staff-dynamic{position:absolute;z-index:12;left:57.9%;top:64.45%;width:15.15%;height:9.85%;box-sizing:border-box;background:rgba(255,255,255,.98);border:3px solid #d5e6e3;padding:1.1% 2%;color:#5b8581;overflow:hidden}
.home-staff-dynamic h2{display:none}.home-staff-dynamic h3{font-size:clamp(9px,.7vw,14px);font-weight:400;color:#27b987;margin:0 0 5%;line-height:1.15}.home-staff-dynamic p{font-size:clamp(6px,.43vw,9px);line-height:1.35;margin:0 0 5%;max-height:7.2em;overflow:hidden}.home-staff-dynamic>small{font-size:clamp(5px,.38vw,8px);color:#6b8d8a}

@media(max-width:700px){
  .home-hero-dynamic{left:59.4%;top:20.25%;width:13.8%;height:7.4%}
  .hero-copy{padding:.8%}.hero-copy h1{font-size:2.1vw}.hero-copy p{font-size:1.25vw;margin-bottom:2px}.hero-copy>a{font-size:1.1vw;padding:2px 6px}
  .dynamic-news-card{border-width:1px}.dynamic-news-card>time{min-width:14px}.dynamic-news-card>img{left:2px;top:2px;height:calc(100% - 4px)}
  .home-gallery-dynamic,.home-video-dynamic,.home-staff-dynamic{border-width:1px;padding:2px}.news-copy p{max-height:5em}.read-more{padding:2px 4px}
}

/* Pixel-accurate live hero layer: x=480, y=418, w=960, h≈375 on the 1920px PSD. */
.home-hero-live{position:absolute;z-index:20;left:25%;top:15.82%;width:50%;height:14.15%;background:#fff;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,95% 96%,75% 93%,50% 92%,25% 93%,5% 96%,0 100%);box-sizing:border-box}
.hero-live-image{position:absolute;left:0;top:0;width:55.5%;height:100%;overflow:hidden}
.hero-live-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .18s ease,transform .35s ease;filter:saturate(.92)}
.hero-live-image img.is-changing{opacity:.15;transform:scale(1.025)}
.home-hero-live .hero-copy{position:absolute;left:60%;right:5%;top:15%;height:70%;padding:0;color:#628c88;background:transparent;box-sizing:border-box}
.home-hero-live .hero-copy span{font-size:clamp(9px,.78vw,15px);color:#83aaa6;display:block;margin-bottom:2px}
.home-hero-live .hero-copy h1{font-size:clamp(16px,1.45vw,28px);line-height:1.05;font-weight:300;margin:0 0 10px;color:#5d8a85;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-hero-live .hero-copy p{font-size:clamp(8px,.64vw,12px);line-height:1.5;margin:0 0 12px;color:#64817e;height:6.1em;overflow:hidden}
.home-hero-live .hero-copy>a{display:inline-block;pointer-events:auto;background:linear-gradient(#6d9692,#274c4b);color:#fff;padding:8px 32px;border-radius:2px;font-size:clamp(8px,.6vw,12px);font-weight:700;text-decoration:none;box-shadow:0 4px 10px rgba(0,40,40,.3);text-transform:lowercase}
.hero-arrow{position:absolute;z-index:5;top:43%;width:34px;height:34px;border:1px solid #26c8d3;border-radius:50%;background:rgba(0,20,28,.7);color:#fff;font-size:28px;line-height:25px;cursor:pointer;padding:0;transform:translateY(-50%)}
.hero-prev{left:10px}.hero-next{right:10px}
.hero-dots{position:absolute;z-index:6;left:50%;bottom:7px;transform:translateX(-50%);display:flex;gap:5px}
.hero-dots button{width:7px;height:7px;border:1px solid rgba(255,255,255,.8);border-radius:50%;padding:0;background:rgba(20,70,70,.35);cursor:pointer}
.hero-dots button.active{background:#fff}
@media(max-width:700px){
  .home-hero-live .hero-copy{left:59%;top:12%;right:3%}.home-hero-live .hero-copy h1{font-size:2.1vw;margin-bottom:4px}.home-hero-live .hero-copy p{font-size:1.15vw;margin-bottom:4px}.home-hero-live .hero-copy>a{font-size:1.05vw;padding:3px 9px}.hero-arrow{width:18px;height:18px;font-size:15px;line-height:13px}.hero-prev{left:4px}.hero-next{right:4px}.hero-dots{bottom:4px}.hero-dots button{width:4px;height:4px}
}
