/* Cleaned CSS: no repeated trial blocks, current layout, grid galleries, video handling, Tiburon Surf Up crop rules, no duplicated/conflicting video/gallery definitions */
:root {
  --bg: #050505;
  --panel: #111113;
  --panel-2: #17171a;
  --text: #f5f5f7;
  --muted: #a1a1a6;
  --soft: #6e6e73;
  --line: rgba(255,255,255,.12);
  --glass: rgba(255,255,255,.06);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100% - 28px, 1120px);
  height: 64px;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px 0 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(15,15,17,.58);
  backdrop-filter: blur(26px);
  -webkit-backdrop-filter: blur(26px);
  border-radius: 999px;
}

.brand {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.025em;
}

.desktop-nav { display: flex; gap: 26px; }
.desktop-nav a,
.menu-button {
  color: rgba(245,245,247,.78);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.01em;
  transition: color .25s ease;
}
.desktop-nav a:hover { color: var(--text); }
.menu-button {
  display: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.mobile-menu {
  position: fixed;
  z-index: 90;
  top: 88px;
  left: 14px;
  right: 14px;
  display: none;
  flex-direction: column;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(15,15,17,.92);
  backdrop-filter: blur(22px);
}
.mobile-menu a { padding: 16px; color: var(--text); font-weight: 700; }
.mobile-menu.open { display: flex; }

.section-pad {
  width: min(100% - 36px, var(--max));
  margin: 0 auto;
  padding: 115px 0;
}

/* Home hero */
.hero {
  width: 100%;
  max-width: none;
  position: relative;
  overflow: hidden;
}

.showreel-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
  height: auto;
  padding: 132px max(18px, calc((100vw - var(--max)) / 2)) 118px;
  background: #000;
}

.showreel-hero-video {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--max);
  height: min(68vh, 720px);
  min-height: 520px;
  object-fit: cover;
  object-position: center center;
  display: block;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  overflow: hidden;
  filter: brightness(.96) contrast(1.04);
  background: center / cover no-repeat url("assets/projects/tiburon/iron-rebel/Photos/zKapak.jpg");
  box-shadow: 0 36px 120px rgba(0,0,0,.58);
}

.showreel-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0%, rgba(0,0,0,.04) 62%, rgba(0,0,0,.38) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.02) 46%, rgba(0,0,0,.36));
}

.showreel-scroll-link {
  position: absolute;
  left: 50%;
  bottom: 42px;
  transform: translateX(-50%);
  z-index: 4;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(15,15,17,.58);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  color: rgba(245,245,247,.88);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.section-kicker {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
}

h1 {
  margin-top: 18px;
  font-size: clamp(50px, 7.4vw, 104px);
  line-height: 1.01;
  letter-spacing: -.052em;
  font-weight: 900;
}

.hero-copy {
  max-width: 640px;
  margin-top: 30px;
  color: rgba(245,245,247,.78);
  font-size: clamp(20px, 2.3vw, 29px);
  line-height: 1.32;
  letter-spacing: -.026em;
  font-weight: 600;
}

.hero-actions { display: flex; gap: 12px; margin-top: 40px; flex-wrap: wrap; }
.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
}
.button.primary { background: var(--text); color: var(--bg); }
.button.secondary { background: rgba(255,255,255,.08); color: var(--text); border: 1px solid var(--line); }

.hero-card {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-xl);
  padding: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  box-shadow: 0 40px 120px rgba(0,0,0,.55);
}
.video-frame {
  aspect-ratio: 4 / 5;
  border-radius: 26px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 30%, #2d3340, #08080a 58%);
  position: relative;
  margin-bottom: -1px;
}
.video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.72));
  pointer-events: none;
}
.showreel-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  vertical-align: bottom;
}
.showreel-bg {
  background:
    linear-gradient(to bottom, rgba(0,0,0,.16), rgba(0,0,0,.58)),
    center / cover no-repeat url("assets/projects/raindogs/raindogs-cover.jpg");
}
.video-placeholder {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
}
.play-dot {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  margin-bottom: auto;
  align-self: flex-end;
  position: relative;
}
.play-dot::after {
  content: "";
  position: absolute;
  left: 23px;
  top: 18px;
  border-left: 15px solid #050505;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.video-placeholder p { font-size: 36px; font-weight: 900; letter-spacing: -.035em; }
.video-placeholder small { margin-top: 8px; color: var(--muted); font-weight: 600; }
.card-meta { display: flex; gap: 8px; flex-wrap: wrap; padding: 12px 2px 0; }
.card-meta span {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.section-head h2,
.contact h2 {
  margin-top: 12px;
  font-size: clamp(42px, 5.6vw, 78px);
  line-height: 1.04;
  letter-spacing: -.048em;
  font-weight: 900;
}
.section-head { max-width: 880px; margin-bottom: 44px; }



/* Work grid */
.work-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.work-card {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
  min-height: 530px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--panel);
}
.work-card.large { grid-row: span 2; min-height: 760px; }
.work-visual {
  position: absolute;
  inset: 0;
  opacity: .92;
  transform: scale(1.01);
  transition: transform 1.2s ease;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #050505;
}
.work-card:hover .work-visual { transform: scale(1.045); }
.work-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 20%, rgba(0,0,0,.88));
}
.work-info {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 26px;
  bottom: 26px;
}
.work-info p { color: var(--muted); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.work-info h3 { margin-top: 10px; font-size: clamp(30px, 3.15vw, 48px); letter-spacing: -.045em; line-height: 1.04; }
.work-info span { display: block; max-width: 500px; margin-top: 12px; color: rgba(245,245,247,.74); font-size: 15px; line-height: 1.46; }
.work-info strong { display: inline-block; margin-top: 18px; font-size: 13px; color: var(--text); }

#work-grid {
  scroll-margin-top: 110px;
}
.work-grid-editorial {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.work-grid-editorial .work-card { min-height: 430px !important; height: auto !important; }
.work-grid-editorial .work-card-featured {
  grid-column: 1 / 2 !important;
  grid-row: span 2 !important;
  min-height: 878px !important;
}
.work-grid-editorial .work-stack {
  grid-column: 2 / 3 !important;
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 18px !important;
  min-height: 878px !important;
}
.work-grid-editorial .work-card-stack { min-height: 430px !important; }
.work-grid-editorial .work-info h3 { max-width: 100% !important; overflow-wrap: normal !important; word-break: normal !important; }
.work-grid-editorial .work-info span { max-width: 540px !important; }

.rd { background-image: url("assets/projects/raindogs/raindogs-cover.jpg"); background-position: center; }
.ladude { background-image: url("assets/projects/ladude/ladude-cover.jpg"); background-position: center; }
.offroad { background-image: url("assets/projects/offroad/offroad-cover.jpg"); background-position: center; }
.tiburon { background-image: url("assets/projects/tiburon/shared/tiburon-cover.jpg"); background-position: center top; }
.model-shoot { background-image: url("assets/projects/model-shoot/model-shoot-cover.jpg"); background-position: center top; }
.bodybuilding { background-image: url("assets/projects/bodybuilding/bodybuilding-cover.jpg"); background-position: left center; }
.imdb-headshot { background-image: url("assets/projects/imdb-headshot/imdb-headshot-cover.jpg"); background-position: left center; }
.eski-kusak { background-image: url("assets/projects/eski-kusak/eski-kusak-cover.jpg"); background-position: left center; }
.american-garage-editorial { background-image: url("assets/projects/eski-kusak/american-garage-editorial-cover.jpg"); background-position: center; }

/* Contact */

.contact-inner {
  padding: clamp(34px, 8vw, 90px);
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 42px;
  border: 1px solid rgba(255,255,255,.14);
  background: radial-gradient(circle at 70% 0%, rgba(85,104,130,.45), transparent 42%), linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
}
.contact-inner > p:not(.section-kicker) {
  max-width: 690px;
  margin-top: 24px;
  color: rgba(245,245,247,.72);
  font-size: 22px;
  line-height: 1.48;
  letter-spacing: -.018em;
}
.contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 36px;
}
.contact-links a {
  min-width: 132px;
  text-align: center;
  white-space: nowrap;
  padding: 15px 20px;
  border-radius: 999px;
  background: var(--text);
  color: var(--bg);
  font-weight: 900;
}
.contact-links a:nth-child(2),
.contact-links a:nth-child(3) {
  color: var(--text);
  background: rgba(255,255,255,.08);
  border: 1px solid var(--line);
}

.contact-direct {
  width: min(calc(100% - 32px), 1180px);
  margin: 28px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.contact-direct a {
  color: var(--text);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 12px 16px;
  background: rgba(255,255,255,.06);
  font-weight: 700;
}
.contact-direct a:hover { background: rgba(255,255,255,.11); }

.footer {
  width: min(100% - 36px, var(--max));
  margin: 0 auto;
  padding: 34px 0 46px;
  display: flex;
  justify-content: space-between;
  color: var(--soft);
  border-top: 1px solid var(--line);
  font-size: 13px;
  font-weight: 700;
}
.footer p { color: var(--text); }

/* Project pages */
.project-hero {
  width: min(100% - 36px, var(--max));
  min-height: calc(100vh - 120px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 40px;
  align-items: end;
  padding-top: 130px;
  padding-bottom: 92px;
}
.project-hero-copy { padding-bottom: 22px; }

/* Surf Up hero alignment */
.surf-up-hero {
  align-items: center;
  padding-top: 118px;
  padding-bottom: 78px;
}

.surf-up-hero .project-hero-copy {
  padding-bottom: 0;
  position: relative;
  top: -56px;
}

.surf-up-hero .project-cover {
  min-height: 590px;
  background-position: center 12%;
}

/* Tiburon concept hero alignment */
.iron-rebel-hero,
.adventure-hero {
  align-items: center;
  padding-top: 118px;
  padding-bottom: 78px;
}

.iron-rebel-hero .project-cover,
.adventure-hero .project-cover {
  min-height: 590px;
}

.iron-rebel-hero .project-cover {
  background-position: center 18%;
}

.adventure-hero .project-cover {
  background-position: center 18%;
}

.iron-rebel-reels-section .project-video-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.adventure-reels-section .project-video-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.project-label {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .13em;
}
.project-hero h1 {
  max-width: 100%;
  margin: 18px 0 0;
  font-size: clamp(48px, 6vw, 88px);
  line-height: 1.06;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
.project-hero p { color: rgba(245,245,247,.76); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.52; max-width: 650px; }
.project-hero-copy > p { margin-top: 44px; }

.surf-up-hero h1 {
  display: block;
  line-height: 1.08;
  margin: 18px 0 34px;
  letter-spacing: -.055em;
}

.surf-up-hero .project-hero-copy > p {
  display: block;
  margin-top: 0;
  line-height: 1.55;
  max-width: 560px;
}
.project-cover {
  width: 100%;
  min-height: 620px;
  aspect-ratio: 4 / 5;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #050505;
  position: relative;
  overflow: hidden;
}
.project-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.70));
  pointer-events: none;
}
.project-cover.cover-top { background-position: center top; }
.project-cover.cover-left { background-position: left center; }
.project-cover.cover-right { background-position: right center; }
.project-cover.cover-center { background-position: center center; }

.iron-rebel-hero .project-cover.cover-center {
  background-position: center 18%;
}

.adventure-hero .project-cover.cover-center {
  background-position: center 18%;
}
.project-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.project-meta div { min-width: 0; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.055); padding: 18px; }
.project-meta span { display: block; color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.project-meta strong { display: block; margin-top: 10px; font-size: 16px; }
.back-link { display: inline-flex; margin-top: 28px; color: var(--soft); text-decoration: none; font-weight: 850; }

.project-section {
  width: min(100% - 36px, var(--max));
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid var(--line);
  padding-top: 96px;
  padding-bottom: 96px;
}
.project-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 36px; align-items: start; }
.project-grid h2 { font-size: clamp(34px, 4.5vw, 68px); line-height: 1.02; letter-spacing: -.055em; margin: 0; }
.project-grid p { color: var(--muted); font-size: 19px; line-height: 1.65; margin: 0 0 18px; }
.project-points { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.project-points span { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 12px 16px; color: var(--soft); font-weight: 800; background: rgba(255,255,255,.05); }

.project-gallery,
.project-gallery.wide {
  display: grid;
  gap: 16px;
  overflow: visible;
  scroll-snap-type: none;
  padding-bottom: 0;
}
.project-gallery.reveal,
.project-gallery.wide.reveal {
  opacity: 1;
  transform: none;
}
.project-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-gallery.wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-gallery div,
.project-gallery.wide div {
  width: auto;
  min-height: 340px;
  border-radius: 28px;
  border: 1px solid var(--line);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #050505;
  overflow: hidden;
  position: relative;
}
.project-gallery.wide div { min-height: 430px; }
.project-gallery div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.42), transparent);
  pointer-events: none;
}
.project-gallery div.bg-top { background-position: center top; }
.project-gallery div.bg-left { background-position: left center; }
.project-gallery div.bg-right { background-position: right center; }
.project-gallery div.bg-bottom { background-position: center bottom; }
.project-gallery div.bg-center { background-position: center center; }
.project-gallery .no-overlay::after { display: none; }

.project-video-wrap {
  width: min(100%, 920px);
  max-width: 920px;
  margin: 0 auto 56px;
  display: block;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: #000;
  aspect-ratio: 16 / 9;
  contain: layout paint;
  box-shadow: 0 28px 90px rgba(0,0,0,.38);
}
.project-video-wrap video {
  display: block;
  width: 100%;
  max-width: 920px;
  height: 100%;
  max-height: none;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  background: #000;
  vertical-align: bottom;
}
.project-video-wrap.vertical-player {
  width: min(420px, calc(100vw - 56px));
  max-width: 420px;
  aspect-ratio: 9 / 16;
  border-radius: 28px;
}
.project-video-wrap.vertical-player video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center center;
  background: #000;
}
.project-video-wrap.horizontal-player {
  width: min(100%, 920px);
  max-width: 920px;
  height: auto;
  aspect-ratio: 16 / 9;
}
.project-video-wrap.horizontal-player video {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  border-radius: 26px;
}

.project-video-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.project-video-grid .project-video-wrap {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-shadow: 0 22px 70px rgba(0,0,0,.34);
}

.project-video-grid .project-video-wrap.vertical-player {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 9 / 16;
  border-radius: 24px;
}

.project-video-grid .project-video-wrap.vertical-player video {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center center;
}

/* Reels fullscreen: keep vertical videos vertical */
.project-video-grid .project-video-wrap.vertical-player video:fullscreen,
.project-video-grid .project-video-wrap.vertical-player video:-webkit-full-screen{
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}

.project-video-grid .project-video-wrap.vertical-player:fullscreen,
.project-video-grid .project-video-wrap.vertical-player:-webkit-full-screen{
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  display: grid !important;
  place-items: center !important;
  background: #000 !important;
}

.project-video-grid .project-video-wrap.vertical-player:fullscreen video,
.project-video-grid .project-video-wrap.vertical-player:-webkit-full-screen video{
  width: auto !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  object-fit: contain !important;
  background: #000 !important;
}

.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.concept-card { display: block; min-height: 440px; position: relative; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: #070707; text-decoration: none; color: var(--text); }
.concept-card div { position: absolute; inset: 0; transition: transform 1s ease; background-size: cover; background-repeat: no-repeat; background-position: center center; background-color: #050505; }
.concept-card:hover div { transform: scale(1.05); }
.concept-card div::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.82)); }
.concept-card span { position: absolute; left: 22px; right: 22px; bottom: 22px; font-size: clamp(28px, 3vw, 44px); font-weight: 900; letter-spacing: -.05em; }
.concept-card[href="tiburon-surf-up.html"] div { background-position: center 18%; }
.project-gallery div[style*="tiburon-general-02.jpg"] { background-position: center 5%; }
.project-cover[style*="tiburon-general-02.jpg"] { background-size: cover; background-position: center 8%; box-shadow: none; border-bottom-color: transparent; }
.project-cover[style*="tiburon-general-02.jpg"]::before { display: none; }
.project-cover[style*="tiburon-general-02.jpg"]::after { inset: 0 0 -2px 0; background: linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.70)); }


/* Animation */
.cursor-glow {
  position: fixed;
  z-index: 0;
  width: 420px;
  height: 420px;
  pointer-events: none;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(120,140,170,.12), transparent 62%);
  opacity: 0;
  transition: opacity .4s ease;
}
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .82s cubic-bezier(.2,.8,.2,1), transform .82s cubic-bezier(.2,.8,.2,1); }
.reveal.from-left { transform: translateX(-52px) translateY(22px); }
.reveal.from-right { transform: translateX(52px) translateY(22px); }
.reveal.visible,
.reveal.from-left.visible,
.reveal.from-right.visible { opacity: 1; transform: translate3d(0,0,0); }

.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .14s; }
.delay-3 { transition-delay: .20s; }
.delay-4 { transition-delay: .26s; }
.delay-5 { transition-delay: .32s; }

@keyframes float {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(-35px, 28px, 0) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal,
  .reveal.from-left,
  .reveal.from-right {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .work-visual { transition: none; }
}

/* Responsive */
@media (max-width: 980px) {
  .showreel-hero { min-height: 100svh; height: auto; padding: 112px 14px 100px; }
  .showreel-hero-video { width: 100%; height: min(64svh, 640px); min-height: 460px; }
  .work-grid { grid-template-columns: 1fr; }
  .project-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-grid-editorial { grid-template-columns: 1fr !important; }
  .work-grid-editorial .work-card-featured,
  .work-grid-editorial .work-stack { grid-column: auto !important; grid-row: auto !important; min-height: auto !important; }
  .work-grid-editorial .work-card,
  .work-grid-editorial .work-card-stack { min-height: 500px !important; }
  .work-grid-editorial .work-stack { display: grid !important; grid-template-rows: auto !important; }
  .work-card,
  .work-card.large { min-height: 520px; }
}

@media (max-width: 900px) {
  .project-hero,
  .project-grid { grid-template-columns: 1fr; }
  .project-cover { min-height: 460px; }
  .surf-up-hero { padding-top: 118px; padding-bottom: 72px; }
  .surf-up-hero .project-hero-copy { position: relative; top: 0; transform: none; }
  .surf-up-hero .project-hero-copy.reveal.visible { transform: none; }
  .surf-up-hero h1 { line-height: 1.08; margin: 18px 0 28px; }
  .surf-up-hero .project-cover { min-height: 460px; }
  .iron-rebel-hero,
  .adventure-hero { padding-top: 118px; padding-bottom: 72px; }
  .iron-rebel-hero .project-cover,
  .adventure-hero .project-cover { min-height: 460px; }
  .iron-rebel-reels-section .project-video-grid,
  .adventure-reels-section .project-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
  .project-meta,
  .project-gallery,
  .project-gallery.wide { grid-template-columns: 1fr; }
  .project-gallery div,
  .project-gallery.wide div { min-height: 360px; }
  .project-video-wrap { width: 100%; max-width: 100%; border-radius: 20px; }
  .project-video-wrap video { max-width: 100%; max-height: none; }
  .project-video-wrap.vertical-player { width: min(360px, calc(100vw - 32px)); max-width: calc(100vw - 32px); border-radius: 22px; }
  .concept-grid { grid-template-columns: 1fr; }
  .concept-card { min-height: 360px; }
}

@media (max-width: 720px) {
  .desktop-nav { display: none; }
  .menu-button { display: block; }
  .project-video-grid { grid-template-columns: 1fr; gap: 18px; }
  .project-video-grid .project-video-wrap.vertical-player { width: min(360px, 100%); margin: 0 auto; }
  .iron-rebel-reels-section .project-video-grid,
  .adventure-reels-section .project-video-grid {
    grid-template-columns: 1fr;
    max-width: 360px;
  }
  .site-header { height: 58px; }
  .section-pad { width: min(100% - 28px, var(--max)); padding: 86px 0; }
  .project-hero,
  .surf-up-hero,
  .iron-rebel-hero,
  .adventure-hero {
    min-height: auto;
    gap: 42px;
    align-items: start;
    padding-top: 112px;
    padding-bottom: 72px;
  }
  .project-hero-copy { padding-bottom: 0; }
  .project-cover,
  .surf-up-hero .project-cover,
  .iron-rebel-hero .project-cover,
  .adventure-hero .project-cover {
    min-height: 0;
    aspect-ratio: 4 / 5;
    border-radius: 24px;
  }
  .showreel-hero { min-height: 100svh; height: auto; padding: 96px 14px 92px; }
  .showreel-hero-video { height: min(62svh, 560px); min-height: 420px; border-radius: 24px; }
  .showreel-scroll-link { bottom: 28px; }
  h1 { font-size: clamp(44px, 13.5vw, 64px); line-height: 1.04; letter-spacing: -.04em; }
  .section-head h2,
  .contact h2 { font-size: clamp(36px, 10.5vw, 54px); line-height: 1.08; letter-spacing: -.036em; }
  .section-head { margin-bottom: 34px; }
  .project-hero h1 {
    font-size: clamp(44px, 13vw, 62px);
    line-height: 1.06;
  }
  .project-hero-copy > p { margin-top: 34px; }
  .work-card,
  .work-card.large { min-height: 460px; }

  .work-info {
    left: 22px;
    right: 22px;
    bottom: 24px;
  }

  .work-info p {
    font-size: 11px;
    letter-spacing: .13em;
  }

  .work-info h3 {
    margin-top: 8px;
    font-size: clamp(30px, 9.4vw, 42px);
    line-height: 1.02;
  }

  .work-info span {
    max-width: 92%;
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.42;
  }

  .work-info strong {
    margin-top: 14px;
    font-size: 13px;
  }

  .work-card:has(.model-shoot),
  .work-card:has(.bodybuilding) {
    min-height: 560px !important;
  }

  .work-card .work-visual.model-shoot,
  .work-visual.model-shoot {
    background-image: url("assets/projects/model-shoot/model-shoot-04.jpg") !important;
    background-position: center 32% !important;
    background-size: cover !important;
  }

  .work-card .work-visual.bodybuilding,
  .work-visual.bodybuilding,
  .bodybuilding {
    background-image: url("assets/projects/bodybuilding/bodybuilding-head.jpg") !important;
    background-position: 8% 28% !important;
    background-size: cover !important;
  }
  .footer { flex-direction: column; gap: 8px; }
}


/* RainDogs video sizing */
.project-video-wrap.horizontal-player {
  width: min(100%, 980px);
  max-width: 980px;
}
/* Model Shoot vertical video fix */
.model-shoot-page .project-video-wrap.vertical-player {
  display: grid;
  place-items: stretch;
}

.model-shoot-page .project-video-wrap.vertical-player video {
  min-height: 100%;
  border-radius: inherit;
}
