/* CJM Films: faithful white, black, Bebas Neue / Rubik visual direction */
:root{--ink:#151414;--paper:#fff;--soft:#f1f2f5;--accent:#44318b;--max:1140px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#000;background:var(--paper);font:400 16px/1.65 Rubik,Arial,sans-serif}h1,h2,h3{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;text-transform:uppercase;color:var(--ink);line-height:1.1}h2{font-size:clamp(2.5rem,4vw,3.2rem);margin:0 0 1.5rem}h3{font-size:2rem}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}.wide{width:min(1500px,calc(100% - 44px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:12px;z-index:999;background:#fff;padding:12px}.skip-link:focus{top:12px}#header{position:fixed;top:0;left:0;right:0;z-index:20;background:#fff;box-shadow:0 1px 8px #0000000a}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;padding-block:10px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand strong{font:400 clamp(1.55rem,3vw,3rem)/1 "Bebas Neue",Impact,sans-serif;text-transform:uppercase}.nav-list{display:flex;gap:19px;list-style:none;align-items:center;margin:0;padding:0}.nav-list a{text-decoration:none;font-size:1rem;text-transform:uppercase}.nav-list a:hover,.nav-list a:focus-visible{text-decoration:underline;text-underline-offset:5px}.nav-toggle{display:none;background:#fff;border:1px solid #333;padding:9px 13px;font:inherit}main{padding-top:100px}.hero{height:calc(100svh - 100px);min-height:420px;background-color:#f1f2f5;background-position:center;background-size:cover}.section{padding:76px 0}.reel{padding-block:55px}.video-frame{aspect-ratio:16/9;background:#101010;position:relative}.video-frame iframe{width:100%;height:100%;border:0}.video-launch{display:grid;place-items:center;position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(135deg,#181818,#444);color:#fff;border:0;cursor:pointer;font:400 2rem "Bebas Neue",sans-serif}.video-launch:after{content:'▶';font:26px Arial;display:grid;place-items:center;width:74px;height:74px;border:2px solid #fff;border-radius:50%;margin-top:10px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 25px}.filter-bar button{border:2px solid #111;background:white;color:#111;padding:9px 20px;font:600 14px Rubik,sans-serif;cursor:pointer}.filter-bar button[aria-pressed=true],.filter-bar button:hover{background:#111;color:white}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 14px}.gallery-item{margin:0;min-width:0}.gallery-item[hidden]{display:none}.gallery-item a{display:block}.gallery-item img{display:block;width:100%;height:auto}.gallery-item figcaption{font-size:12px;margin-top:6px}.directing-group{margin-bottom:55px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.video-grid .video-launch{font-size:1.1rem}.video-grid .video-launch:after{width:52px;height:52px;font-size:19px}.video-caption{margin:.5rem 0;font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.portrait{width:100%;max-width:400px}.bio p{margin-top:0}.cv-link{display:inline-block;background:#eee;padding:10px 30px;margin:15px 0;text-decoration:none}.awards{display:flex;flex-wrap:wrap;gap:16px;margin-top:25px}.awards img{width:230px;max-width:42%;object-fit:contain}.contact-banner{height:650px;background-position:center;background-size:cover}.contact-grid{display:grid;grid-template-columns:7fr 5fr;gap:50px}.contact-form label{display:block;margin:14px 0 5px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #bbb;padding:13px;font:inherit}.contact-form button{margin-top:20px;border:1px solid #111;background:#111;color:white;padding:12px 28px;cursor:pointer;    width: 100%;
    height: 60px;
    background: #47424c;
    border: none;
    color: #fff;
    font-family: "Rubik", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 18px;}.socials{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;list-style:none;padding:0}.socials a{font-weight:700;text-decoration:none}.socials a:hover{text-decoration:underline}footer{padding:45px 0 20px}.sub-footer{background:#e8e6e140;padding:20px 0;font-size:13px}.back-top{position:fixed;right:20px;bottom:20px;border:0;background:#000000;color:#fff;padding:10px 15px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}.instagram-link{display:inline-block;margin-top:20px}.lightbox{border:0;padding:0;max-width:min(90vw,1000px);max-height:90vh;background:#111}.lightbox img{display:block;max-height:85vh;object-fit:contain}.lightbox::backdrop{background:#000d}.lightbox-close{position:absolute;right:0;top:0;color:#fff;background:#111;border:0;padding:9px 14px;cursor:pointer} :focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:1150px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.header-inner{min-height:85px}.nav-toggle{display:block}.nav-list{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 8px 12px #0002}.nav-list.open{display:flex}main{padding-top:85px}.hero{height:calc(100svh - 85px)}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.section{padding:55px 0}.contact-banner{height:210px}.brand strong{font-size:1.8rem}}@media(max-width:440px){.gallery{grid-template-columns:1fr}.brand strong{font-size:1.45rem}.brand span{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/*.brand span{font:400 13px/1.5 Rubik,sans-serif} */

/* CJM Films — Original logo subtitle styling */

.logo-subtitle {
  display: block;
  position: relative;
  z-index: 100;

  font-family: "Rubik", Helvetica, Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: capitalize;
  margin-top: 5px;

  /* Original teal-to-black gradient*/
  background-color: #1a1d1d;
  /*background-image: linear-gradient(
    75deg,
    #83d0cf,
    #0e0f10
  );
   */
  background-size: 100%;
  background-repeat: no-repeat;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Original desktop sizing */
@media (min-width: 576px) {
  .logo-subtitle {
    font-size: 22px;
    margin-top: -10px;
  }
}



/* Full-width responsive container */
.container-fluid {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* Optional: edge-to-edge container */
.container-fluid.no-gutters {
  padding-left: 0;
  padding-right: 0;
}

/* Footer social icons */

.footer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

/* Shared email and social icon styles */

.icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  font-size: 23px !important;
  color: #202020;
  text-decoration: none;

  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.icon-link:hover {
  color: #83d0cf;
  transform: translateY(-3px);
}

.icon-link:focus-visible {
  outline: 2px solid #83d0cf;
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .icon-link {
    transition: none;
  }

  .icon-link:hover {
    transform: none;
  }
}


/* CJM Films — Original navigation hover effects */

.navbar a,
.site-nav a {
  display: inline-block;
  transition:
    transform 0.2s ease,
    color 0.2s ease,
    font-weight 0.2s ease;
  transform-origin: center;
}

/* Hover, active and keyboard focus */
.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover > a,
.site-nav a:hover,
.site-nav a.active,
.site-nav a:focus-visible {
  color: #212529;
  font-weight: 700;
  transform: none;
}

/* Desktop: original 10% scale effect */
@media (min-width: 768px) {
  .navbar a:hover,
  .navbar .active,
  .navbar .active:focus,
  .navbar li:hover > a,
  .site-nav a:hover,
  .site-nav a.active,
  .site-nav a:focus-visible {
    transform: scale(1.1);
  }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .navbar a,
  .site-nav a {
    transition: none;
  }
}


/* Instagram profile */

.instagram-profile {
  text-align: center;
  padding: 40px 20px;
}

.instagram-profile h3 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 32px;
  margin-bottom: 20px;
}

.instagram-profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #212529;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.instagram-profile-link i {
  font-size: 32px;
}

.instagram-profile-link:hover,
.instagram-profile-link:focus-visible {
  color: #44318b;
}

@media (max-width: 575px) {
  .instagram-profile {
    padding: 25px 10px;
  }
}

.gallery-item[hidden] {
  display: none !important;
}
