*{box-sizing:border-box}
:root{--navy:#031522;--deep:#061b2b;--blue:#078bc9;--white:#f6f8fa;--muted:#c5d2db;--line:#315366}
html{scroll-behavior:smooth}
body{margin:0;background:var(--deep);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
.nav{height:78px;background:#031522;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.5vw,70px);gap:24px;border-bottom:1px solid #15394d}
.brand{display:flex;align-items:center;flex:0 0 auto}
.logo{display:block;width:300px;height:auto;max-height:62px;object-fit:contain;object-position:left center}
.navlinks{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2.3vw,38px);height:100%}
.navlinks a{font-size:15px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;padding:25px 0 20px;border-bottom:5px solid transparent}
.navlinks a:hover,.navlinks a.active{border-color:var(--blue)}
.hero{width:100%;overflow:hidden;background:#0b2433}
.hero img{display:block;width:100%;height:auto;aspect-ratio:1536/483;object-fit:cover;object-position:center}
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#031b2a;padding:22px clamp(22px,4.5vw,70px);border-bottom:1px solid #7191a2;gap:0}
.service{display:flex;align-items:center;gap:22px;min-width:0;padding:0 24px;border-right:1px solid #315366}
.service:first-child{padding-left:0}.service:last-child{border:0}
.service-icon{font-size:38px;line-height:1;color:#fff;flex:0 0 42px;text-align:center}
.service strong{display:block;font-size:15px;line-height:1.3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.service small{display:block;color:#e0e8ed;font-size:13px;line-height:1.4}
.portfolio{background:radial-gradient(ellipse at 45% 0%,#15394b 0%,#092637 55%,#061d2b 100%);padding:25px clamp(24px,3.5vw,55px) 44px}
.groups{display:grid;grid-template-columns:minmax(0,2.08fr) minmax(340px,1fr);gap:24px;max-width:1700px;margin:0 auto}
.group{min-width:0}
.international{border-left:1px solid #91a7b3;padding-left:25px}
.section-title{font-size:23px;line-height:1.25;letter-spacing:2px;text-transform:uppercase;margin:0 0 16px;padding:0 0 10px;position:relative}
.section-title:after{content:"";position:absolute;left:0;bottom:0;width:55px;height:5px;background:var(--blue)}
.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;align-items:start}
.card{display:flex;flex-direction:column;min-width:0;background:#061522;border:1px solid #315366;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.card>img,.poster-link img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;object-position:center;background:#061522}
.card-label{display:block;min-height:75px;padding:9px 8px 10px;background:#0b2a3b;border-top:2px solid var(--blue);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.card-label small{display:block;font-size:11px;font-weight:400;line-height:1.4;color:#d0dce4;margin-top:5px;overflow-wrap:anywhere}
.international-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.poster-link{display:block;width:100%;min-width:0}
.international-cards .card-label{min-height:98px;font-size:15px;padding:10px}
.international-cards .card-label small{font-size:12px}
.film-link{display:inline-block;margin-top:9px;color:#7ed0f4;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:50px clamp(24px,7vw,105px);background:#061522;border-top:1px solid #315366}
.about h2{font-size:30px;margin:0 0 10px}.about p{font-size:15px;line-height:1.8;color:#d1dce3;margin:0}
.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:45px clamp(24px,7vw,105px);background:#09283a}
.contact h2{font-size:32px;margin:0 0 9px}.contact p{font-size:15px;line-height:1.7;color:#d1dce3;margin:0;max-width:700px}
.contact-button,.facebook-link{display:inline-flex;margin:17px 10px 0 0;padding:12px 19px;background:var(--blue);border:1px solid var(--blue);color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.facebook-link{background:transparent;border-color:#7592a3}
.email{font-size:17px;font-weight:700;color:#8bd4f5;overflow-wrap:anywhere}
footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px clamp(24px,4.5vw,70px);background:#031522;color:#bdcbd4;font-size:12px}
footer a{color:#8bd4f5;font-weight:700}
@media(max-width:1180px){.nav{height:auto;min-height:78px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.navlinks{height:auto;flex-wrap:wrap;justify-content:flex-start}.navlinks a{padding:8px 0 6px;font-size:13px}.groups{grid-template-columns:1fr}.international{border-left:0;border-top:1px solid #91a7b3;padding:22px 0 0}.international-cards{grid-template-columns:repeat(2,minmax(0,190px))}.services{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.service:nth-child(2){border-right:0}}
@media(max-width:760px){.nav{align-items:flex-start}.logo{width:245px;max-width:75vw}.navlinks{gap:7px 18px}.navlinks a{font-size:11px}.hero img{aspect-ratio:16/7;object-fit:cover}.services{padding:18px 16px}.service{padding:8px 12px;gap:10px}.service-icon{font-size:28px;flex-basis:30px}.service strong{font-size:12px}.service small{font-size:11px}.portfolio{padding:22px 14px 35px}.section-title{font-size:19px;letter-spacing:1.2px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.card-label{font-size:11px;min-height:67px;padding:7px 5px}.card-label small{font-size:10px}.international-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.international-cards .card-label{font-size:13px;min-height:88px}.international-cards .card-label small{font-size:11px}.about{grid-template-columns:1fr;gap:15px;padding:35px 22px}.contact{grid-template-columns:1fr;padding:35px 22px}.email{font-size:15px}}
@media(max-width:420px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.international-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service{padding:6px}.service strong{font-size:11px}.service small{font-size:10px}}

/* Five Irish productions: match the reference gallery after removing The Buggyman */
.irish .cards{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:760px){.irish .cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:420px){.irish .cards{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Exact supplied full DWM logo and visible contact details */
.nav{
  background:#031522;
  align-items:center;
}
.nav .logo{
  display:block;
  width:min(350px,31vw);
  height:auto;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  padding:3px 7px;
  flex:0 0 auto;
}
.navlinks a{color:#f6f8fa}
.contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);
  gap:30px;
  align-items:center;
  padding:38px clamp(24px,5vw,70px);
  background:#0b2a3b;
  border-top:1px solid #315366;
}
.contact h2{font-size:30px;margin:0 0 10px;color:#fff}
.contact p{font-size:16px;line-height:1.65;color:#d7e1e8;margin:0 0 16px;max-width:720px}
.contact .email{
  display:block;
  font-size:19px;
  font-weight:700;
  color:#8bd4f5;
  overflow-wrap:anywhere;
  margin-bottom:12px;
}
.contact-button,.facebook-link{
  display:inline-flex;
  align-items:center;
  margin:8px 12px 0 0;
  padding:12px 18px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  border:1px solid #078bc9;
  background:#078bc9;
  color:#fff!important;
}
.facebook-link{background:transparent;border-color:#7893a4}
footer a{color:#8bd4f5;font-weight:700}
@media(max-width:850px){
  .nav{align-items:flex-start;flex-direction:column}
  .nav .logo{width:min(330px,85vw);max-height:none}
  .contact{grid-template-columns:1fr}
}

/* Light header and larger, more readable typography throughout */
.nav{
  background:#ffffff !important;
  border-bottom:1px solid #d5e0e7 !important;
  box-shadow:0 3px 14px rgba(3,21,34,.08);
  min-height:96px;
  height:auto;
  padding-top:10px;
  padding-bottom:10px;
}
.nav .logo{
  width:min(350px,31vw);
  max-height:78px;
  background:#ffffff;
  padding:0;
}
.navlinks a{
  color:#09243a !important;
  font-size:16px;
  letter-spacing:.7px;
  padding-top:30px;
  padding-bottom:25px;
}
.navlinks a:hover,.navlinks a.active{border-color:#078bc9}
body{font-size:18px;line-height:1.65}
.service strong{font-size:17px;line-height:1.4}
.service small{font-size:15px;line-height:1.55}
.service-icon{font-size:42px}
.section-title{font-size:27px;letter-spacing:1.8px;margin-bottom:20px}
.card-label{font-size:16px;line-height:1.45;padding:12px 11px;min-height:100px}
.card-label small{font-size:14px;line-height:1.5}
.international-cards .card-label{font-size:17px;min-height:118px}
.international-cards .card-label small{font-size:14px}
.film-link{font-size:13px}
.about{padding-top:58px;padding-bottom:58px}
.about h2{font-size:36px}
.about p{font-size:18px;line-height:1.8}
.contact{padding-top:52px;padding-bottom:52px}
.contact h2{font-size:38px}
.contact p{font-size:18px;line-height:1.8}
.contact .email{font-size:22px}
.contact-button,.facebook-link{font-size:15px;padding:14px 21px}
footer{font-size:15px;padding-top:22px;padding-bottom:22px}
@media(max-width:1180px){
 .navlinks a{font-size:15px;padding:10px 0 8px}
}
@media(max-width:760px){
 .nav .logo{width:min(330px,88vw)}
 .navlinks a{font-size:14px}
 .service strong{font-size:15px}
 .service small{font-size:13px}
 .section-title{font-size:23px}
 .card-label{font-size:14px;min-height:90px}
 .card-label small{font-size:12px}
 .international-cards .card-label{font-size:15px}
 .international-cards .card-label small{font-size:13px}
 .about h2{font-size:30px}
 .about p,.contact p{font-size:16px}
 .contact h2{font-size:32px}
 .contact .email{font-size:19px}
 footer{font-size:13px}
}
@media(max-width:420px){
 .navlinks a{font-size:13px}
 .service strong{font-size:13px}
 .service small{font-size:12px}
 .card-label{font-size:13px}
 .card-label small{font-size:12px}
}

/* Professional finishing touches */
.nav{background:#fff!important}
.navlinks a{color:#09243a!important}
.card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover,.card:focus-within{
  transform:translateY(-5px);
  border-color:#42a8d7;
  box-shadow:0 12px 26px rgba(0,0,0,.32);
}
.card:focus-visible,.poster-link:focus-visible,.film-link:focus-visible,
.navlinks a:focus-visible,.contact a:focus-visible{
  outline:3px solid #42b9ed;
  outline-offset:3px;
}
.card-label{min-height:128px}
.card-label small{font-size:14px;line-height:1.5}
.film-link{display:inline-block;margin-top:8px;color:#8bdcff;font-size:12px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}
.about{align-items:start}
.about .eyebrow{
  color:#8bd4f5;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:0 0 12px;
}
.about h2{font-size:clamp(30px,3vw,42px);line-height:1.16;max-width:560px}
.about .about-lead{font-size:20px;line-height:1.55;color:#fff;margin-top:18px}
.about-copy p+p{margin-top:16px}
.contact h2{font-size:clamp(32px,3vw,40px)}
.contact p{font-size:18px;line-height:1.75}
@media(max-width:760px){
 .card-label{min-height:112px}
 .card-label small{font-size:12px}
 .film-link{font-size:11px}
 .about .about-lead{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .card{transition:none}
 .card:hover{transform:none}
}

/* Mobile and tablet corrections: keep all content within the viewport */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
img { max-width:100%; }
.nav, main, section, footer, .card, .card-label, .service, .about, .contact, .groups, .group { min-width:0; }
.navlinks { min-width:0; }
.navlinks a { white-space:normal; text-align:center; }
@media (max-width:850px) {
  .nav { width:100%; padding:14px 18px 12px; align-items:center; gap:12px; }
  .nav .brand { width:100%; justify-content:center; }
  .nav .logo { width:min(290px,82vw); max-width:100%; max-height:none; }
  .navlinks { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; align-items:center; gap:4px 14px; height:auto; }
  .navlinks a { display:block; padding:9px 3px 8px !important; border-bottom-width:3px; font-size:clamp(11px,2.8vw,14px) !important; line-height:1.25; overflow-wrap:anywhere; }
  .hero { width:100%; overflow:hidden; }
  .hero img { width:100%; height:auto !important; aspect-ratio:auto !important; object-fit:contain !important; object-position:center; }
  .services { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 14px; row-gap:12px; }
  .service { padding:10px 8px; gap:9px; border-right:1px solid #315366; }
  .service:nth-child(2n) { border-right:0; }
  .service-icon { flex:0 0 28px; font-size:27px; }
  .service strong { font-size:clamp(11px,2.7vw,14px); line-height:1.3; overflow-wrap:anywhere; }
  .service small { font-size:clamp(10px,2.5vw,12px); line-height:1.4; overflow-wrap:anywhere; }
  .portfolio { padding:24px 14px 34px; }
  .groups { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
  .international { border-left:0; border-top:1px solid #91a7b3; padding:24px 0 0; }
  .section-title { font-size:clamp(19px,4.6vw,24px); letter-spacing:1px; overflow-wrap:anywhere; }
  .irish .cards, .international-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .card-label, .international-cards .card-label { min-height:0; height:auto; padding:9px 8px 11px; font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
  .card-label small, .international-cards .card-label small { font-size:11px; line-height:1.4; }
  .film-link { font-size:10px; line-height:1.35; overflow-wrap:anywhere; }
  .about { grid-template-columns:minmax(0,1fr); gap:18px; padding:36px 22px; }
  .about h2 { font-size:clamp(27px,7vw,34px); overflow-wrap:anywhere; }
  .about p, .about .about-lead { font-size:16px; line-height:1.65; }
  .contact { grid-template-columns:minmax(0,1fr); gap:20px; padding:36px 22px; }
  .contact h2 { font-size:clamp(28px,7vw,35px); }
  .contact p { font-size:16px; line-height:1.65; }
  .contact .email { font-size:clamp(14px,4vw,18px); overflow-wrap:anywhere; word-break:break-word; }
  footer { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:18px 22px; font-size:12px; }
}
@media (max-width:380px) {
  .services { grid-template-columns:minmax(0,1fr); }
  .service, .service:nth-child(2n) { border-right:0; border-bottom:1px solid #315366; padding:10px 4px; }
  .service:last-child { border-bottom:0; }
  .irish .cards, .international-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* Hero title and strapline */
.hero { position:relative; }
.hero-copy {
  position:absolute;
  left:clamp(22px,5vw,76px);
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  max-width:48%;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.hero-copy h1 {
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(30px,4.2vw,64px);
  line-height:1.04;
  letter-spacing:.02em;
  font-weight:800;
}
.hero-copy p {
  margin:0;
  color:#fff;
  font-size:clamp(14px,1.65vw,24px);
  line-height:1.4;
  letter-spacing:.22em;
  font-weight:600;
}
@media (max-width:850px) {
  .hero { min-height:260px; }
  .hero img {
    width:100%;
    height:clamp(260px,58vw,420px) !important;
    object-fit:cover !important;
    object-position:center;
  }
  .hero-copy { left:20px; top:50%; max-width:75%; }
  .hero-copy h1 { font-size:clamp(25px,7vw,42px); margin-bottom:9px; }
  .hero-copy p { font-size:clamp(11px,3vw,16px); letter-spacing:.15em; }
}

/* Final mobile typography and fit pass: prevent clipped or overflowing words */
*, *::before, *::after { box-sizing: border-box; }
html, body { width:100%; max-width:100%; overflow-x:hidden; }
body { overflow-wrap:break-word; }
img, svg, video { max-width:100%; }
.nav, .navlinks, .hero, .hero-copy, .services, .service, .portfolio, .groups, .group,
.cards, .card, .card-label, .about, .about-intro, .about-copy, .contact, .contact-details, footer {
  min-width:0;
  max-width:100%;
}
.card-label, .card-label small, .service strong, .service small, .section-title,
.about h2, .about p, .contact h2, .contact p, .email, footer span, .navlinks a {
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
@media (max-width:850px) {
  .nav { width:100%; flex-direction:column; align-items:center; padding:12px 14px; gap:10px; }
  .nav .brand { width:100%; justify-content:center; }
  .nav .logo { width:min(300px,84vw); max-width:100%; height:auto; }
  .navlinks { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; justify-content:stretch; }
  .navlinks a { display:block; min-width:0; padding:8px 4px !important; font-size:clamp(11px,2.8vw,14px) !important; line-height:1.25; text-align:center; white-space:normal; }
  .hero { min-height:220px; }
  .hero img { display:block; width:100%; height:clamp(220px,58vw,390px) !important; aspect-ratio:auto !important; object-fit:cover !important; object-position:center; }
  .hero-copy { left:clamp(14px,4vw,24px); right:14px; width:auto; max-width:calc(100% - 28px); top:50%; transform:translateY(-50%); }
  .hero-copy h1 { font-size:clamp(23px,6.2vw,40px); line-height:1.08; margin:0 0 8px; letter-spacing:.01em; }
  .hero-copy p { font-size:clamp(10px,2.7vw,15px); line-height:1.35; letter-spacing:clamp(.06em,.7vw,.14em); }
  .services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 8px; padding:16px 12px; }
  .service { padding:8px 6px; gap:8px; border-right:1px solid #315366; }
  .service:nth-child(2n) { border-right:0; }
  .service-icon { flex:0 0 24px; font-size:24px; }
  .service strong { font-size:clamp(11px,2.8vw,14px); line-height:1.3; }
  .service small { font-size:clamp(10px,2.5vw,12px); line-height:1.4; }
  .portfolio { padding:20px 12px 30px; }
  .groups { grid-template-columns:minmax(0,1fr); gap:24px; }
  .international { border:0; border-top:1px solid #91a7b3; padding:22px 0 0; }
  .section-title { font-size:clamp(18px,4.8vw,23px); line-height:1.25; letter-spacing:.7px; }
  .irish .cards, .international-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .card-label, .international-cards .card-label { min-height:0; height:auto; padding:8px 7px 10px; font-size:clamp(12px,3.1vw,14px); line-height:1.35; }
  .card-label small, .international-cards .card-label small { font-size:clamp(10px,2.7vw,12px); line-height:1.4; }
  .film-link { font-size:clamp(9px,2.4vw,11px); line-height:1.3; white-space:normal; }
  .about { grid-template-columns:minmax(0,1fr); gap:14px; padding:30px 18px; }
  .about h2 { font-size:clamp(25px,6.5vw,32px); line-height:1.2; }
  .about p, .about .about-lead { font-size:15px; line-height:1.6; }
  .contact { grid-template-columns:minmax(0,1fr); gap:16px; padding:30px 18px; }
  .contact h2 { font-size:clamp(27px,6.8vw,34px); line-height:1.2; }
  .contact p { font-size:15px; line-height:1.6; }
  .contact .email { display:block; max-width:100%; font-size:clamp(13px,3.7vw,17px); overflow-wrap:anywhere; word-break:break-word; }
  .contact-button, .facebook-link { max-width:100%; white-space:normal; text-align:center; font-size:12px; padding:11px 13px; }
  footer { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:16px 18px; font-size:12px; }
}
@media (max-width:390px) {
  .services { grid-template-columns:minmax(0,1fr); }
  .service, .service:nth-child(2n) { border-right:0; border-bottom:1px solid #315366; padding:9px 4px; }
  .service:last-child { border-bottom:0; }
  .hero-copy h1 { font-size:clamp(22px,6vw,28px); }
  .hero-copy p { font-size:10px; letter-spacing:.06em; }
  .section-title { font-size:18px; }
  .card-label { font-size:12px; }
  .card-label small { font-size:10px; }
  .contact-button, .facebook-link { margin-right:6px; }
}


/* Desktop hero treatment: elegant, readable text over the cinematic image */
@media (min-width: 851px) {
  .hero {
    position: relative;
    isolation: isolate;
    min-height: 390px;
    background: #071d2b;
  }
  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        rgba(3, 18, 29, .82) 0%,
        rgba(3, 18, 29, .62) 30%,
        rgba(3, 18, 29, .20) 58%,
        rgba(3, 18, 29, 0) 78%),
      linear-gradient(0deg, rgba(3, 18, 29, .18), rgba(3, 18, 29, 0) 45%);
  }
  .hero img {
    display: block;
    width: 100%;
    height: clamp(390px, 34vw, 540px);
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 48%;
  }
  .hero-copy {
    left: clamp(48px, 7.2vw, 112px);
    top: 50%;
    transform: translateY(-50%);
    width: min(48%, 660px);
    max-width: 660px;
    padding: 0;
    text-shadow: 0 3px 18px rgba(0,0,0,.65);
  }
  .hero-copy h1 {
    margin: 0 0 15px;
    font-size: clamp(44px, 5.2vw, 76px);
    line-height: 1.02;
    letter-spacing: .015em;
    font-weight: 800;
  }
  .hero-copy p {
    display: inline-block;
    margin: 0;
    padding-top: 13px;
    border-top: 3px solid #078bc9;
    font-size: clamp(17px, 1.65vw, 24px);
    line-height: 1.35;
    letter-spacing: .20em;
    font-weight: 700;
  }
}


/* Definitive hero overlay: force the heading to sit on top of the image */
.hero { position:relative !important; display:block !important; overflow:hidden; }
.hero > img { display:block !important; width:100% !important; }
.hero > .hero-copy {
  position:absolute !important;
  z-index:5 !important;
  display:block !important;
  color:#fff !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:none;
}
.hero > .hero-copy h1,
.hero > .hero-copy p { color:#fff !important; }
@media (min-width:851px) {
  .hero { min-height:clamp(390px,34vw,540px) !important; }
  .hero > img { height:clamp(390px,34vw,540px) !important; object-fit:cover !important; object-position:center 48% !important; }
  .hero > .hero-copy {
    left:clamp(48px,7.2vw,112px) !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    width:min(48%,660px) !important;
    max-width:660px !important;
    padding:0 !important;
    text-shadow:0 3px 18px rgba(0,0,0,.75) !important;
  }
  .hero > .hero-copy h1 {
    display:block !important;
    margin:0 0 15px !important;
    font-size:clamp(44px,5.2vw,76px) !important;
    line-height:1.02 !important;
    font-weight:800 !important;
  }
  .hero > .hero-copy p {
    display:inline-block !important;
    margin:0 !important;
    padding-top:13px !important;
    border-top:3px solid #078bc9 !important;
    font-size:clamp(17px,1.65vw,24px) !important;
    line-height:1.35 !important;
    letter-spacing:.20em !important;
    font-weight:700 !important;
  }
}
@media (max-width:850px) {
  .hero > .hero-copy { left:clamp(14px,4vw,24px) !important; right:14px !important; top:50% !important; bottom:auto !important; transform:translateY(-50%) !important; width:auto !important; max-width:calc(100% - 28px) !important; }
}
