:root {
  --cream: #f6ead2;
  --cream-dark: #ead9b8;
  --ink: #17130f;
  --nav-dark: #17100b;
  --nav-brown: #3d291c;
  --nav-warm: #694936;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: Inter, Arial, sans-serif;
  --nav-height: 76px;
  --page-padding: clamp(28px, 5vw, 72px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  background: #000;
  color: var(--ink);
  font-family: var(--sans);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

main {
  width: 100%;
  overflow: hidden;
}

img,
video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}


/* =========================================================
   NAVIGATION
========================================================= */

.site-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  height: var(--nav-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  color: #f8eedc;
  background: linear-gradient(
    180deg,
    rgba(23, 16, 11, 0.99) 0%,
    rgba(28, 19, 13, 0.98) 20%,
    rgba(45, 30, 21, 0.93) 40%,
    rgba(75, 50, 35, 0.72) 60%,
    rgba(104, 73, 52, 0.43) 78%,
    rgba(104, 73, 52, 0.17) 91%,
    rgba(104, 73, 52, 0) 100%
  );
}

.site-nav.menu-open {
  background: rgba(23, 16, 11, 0.98) !important;
}

.nav-brand {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  margin: 0;
  transform: translate(-50%, -50%);
  z-index: 103;
}

.nav-brand img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.desktop-nav {
  display: none !important;
}

.mobile-menu-button {
  position: absolute;
  top: 50%;
  right: 28px;
  width: 42px;
  height: 42px;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #f8eedc;
  cursor: pointer;
  transform: translateY(-50%);
  appearance: none;
  -webkit-appearance: none;
  z-index: 103;
}

.mobile-menu-button span {
  display: block;
  width: 27px;
  height: 1.5px;
  background: currentColor;
  border-radius: 999px;
  transition:
    transform 0.28s ease,
    opacity 0.28s ease;
}

.mobile-menu-button[aria-expanded="true"] span:first-child {
  transform: translateY(4.25px) rotate(45deg);
}

.mobile-menu-button[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-button[aria-expanded="true"] span:last-child {
  transform: translateY(-4.25px) rotate(-45deg);
}

.mobile-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 102;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding:
    calc(var(--nav-height) + 10px)
    30px
    28px;
  background: rgba(23, 16, 11, 0.98);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
}

.mobile-nav.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mobile-nav a {
  display: block;
  padding: 14px 4px;
  color: #f8eedc;
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1;
  border-bottom: 1px solid rgba(248, 238, 220, 0.16);
  transition: opacity 0.2s ease;
}

.mobile-nav a:last-child {
  border-bottom: none;
}

.mobile-nav a:hover {
  opacity: 0.65;
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

main > section {
  position: relative;
}


/* =========================================================
   SECTION SCROLL NAVIGATION
========================================================= */

.section-scroll-nav {
  position: absolute;
  right: clamp(20px, 3vw, 42px);
  bottom: clamp(22px, 3vw, 42px);
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.section-scroll-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 44px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.72;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.section-scroll-link:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.section-scroll-link.prev:hover {
  transform: translateY(2px);
}

.section-scroll-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 300;
  line-height: 1;
}

.section-scroll-line {
  width: 1px;
  height: 48px;
  background: currentColor;
  opacity: 0.42;
}

.section-scroll-nav.light {
  color: #fff;
}

.section-scroll-nav.light .section-scroll-link {
  color: #fff;
}

.hero .section-scroll-nav,
.create .section-scroll-nav {
  color: #fff;
}

.hero .section-scroll-link,
.create .section-scroll-link {
  color: #fff;
}

.contact .section-scroll-nav {
  bottom: 28px;
}


/* =========================================================
   HERO
========================================================= */

.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 720px;
  max-height: none;
  display: grid;
  grid-template-columns:
    minmax(0, 1.43fr)
    minmax(430px, 1fr);
  background: var(--cream);
  overflow: hidden;
}

.hero-copy {
  min-width: 0;
  width: 100%;
  height: 100%;
  padding:
    calc(var(--nav-height) + 20px)
    clamp(32px, 5vw, 78px)
    60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero-logo {
  display: block;
  width: min(80%, 720px);
  height: auto;
  margin:
    0 auto 17px;
}

.hero-tagline {
  margin: 0;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(26px, 2.25vw, 36px);
  line-height: 1.05;
}

.hero-copy .button {
  margin-top: 46px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 28px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(
    100deg,
    #8f7455 0%,
    #edca91 100%
  );
  color: #fff;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  box-shadow:
    0 12px 28px rgba(84, 61, 38, 0.16);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 16px 32px rgba(84, 61, 38, 0.22);
}

.hero-image {
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}


/* =========================================================
   HERO PHOTO HOVER — PHOTO ONLY
========================================================= */

.hero-image img {
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-image:hover img {
  transform: scale(1.035);
}

/* Keep hero logo completely static */
.hero-logo {
  transform: none !important;
  transition: none !important;
}


/* =========================================================
   INTRO
========================================================= */

.intro {
  width: 100%;
  min-height: 440px;
  padding:
    72px
    var(--page-padding)
    58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--cream);
}

.intro h2 {
  max-width: 920px;
  margin: 0 0 30px;
  font-family: var(--serif);
  font-size: clamp(48px, 5.1vw, 76px);
  line-height: 0.94;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.intro-copy {
  width: min(780px, 100%);
}

.intro-copy p {
  margin: 0 0 25px;
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.5;
}

.intro-copy p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
  margin: 0 auto 50px;
  text-align: center;
}

.section-heading h2 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: clamp(50px, 5.1vw, 76px);
  line-height: 0.94;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.section-heading p {
  margin: 0;
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.45;
}


/* =========================================================
   SELECTED WORK
========================================================= */

.work {
  width: 100%;
  padding:
    52px
    var(--page-padding)
    80px;
  background: var(--cream);
}

.work .section-heading {
  margin-bottom: 48px;
}

.cards {
  width: min(1050px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 3.2vw, 48px);
  align-items: start;
}

.work-card {
  min-width: 0;
  text-align: center;
}

.video-card {
  position: relative;
  width: 100%;
  height: 365px;
  min-height: 365px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #1a1612;
  cursor: pointer;
  appearance: none;
}

.video-card video,
.work-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  margin: 0;
  padding: 0;
  pointer-events: auto !important;
}

.video-card video {
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.video-card:hover video {
  transform: scale(1.035);
}

.video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.04);
  pointer-events: none !important;
}

.play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66px;
  height: 66px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(24, 20, 16, 0.72);
  color: #fff;
  font-size: 21px;
  padding-left: 3px;
  pointer-events: none;
}

.video-card .play {
  z-index: 2 !important;
  pointer-events: none !important;
}

.work-card h3 {
  margin: 18px 0 3px;
  font-family: var(--serif);
  font-size: clamp(25px, 2vw, 31px);
  line-height: 1.08;
  font-weight: 500;
}

.work-card em {
  font-family: var(--serif);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.2;
}

.category {
  margin-top: 54px;
}

.cards.two-cards {
  width: min(684px, 100%);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}

.cards.two-cards .work-card {
  width: 100%;
}

.cards.two-cards .work-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.cards.two-cards .work-card:hover img {
  transform: scale(1.035);
}


/* =========================================================
   SELECTED COLLABORATIONS
========================================================= */

.collaborations {
  width: 100%;
  padding:
    44px
    var(--page-padding)
    78px;
  background: var(--cream);
}

.collaborations .section-heading {
  margin-bottom: 30px;
}

.logos {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
  grid-template-rows:
    145px
    145px;
  column-gap: 12px;
  row-gap: 12px;
  align-items: center;
  justify-items: center;
}

.logo-item:nth-child(6) {
  grid-column: 1;
  grid-row: 1;
}

.logo-item:nth-child(1) {
  grid-column: 3;
  grid-row: 1;
}

.logo-item:nth-child(4) {
  grid-column: 5;
  grid-row: 1;
}

.logo-item:nth-child(2) {
  grid-column: 7;
  grid-row: 1;
}

.logo-item:nth-child(5) {
  grid-column: 2;
  grid-row: 2;
}

.logo-item:nth-child(7) {
  grid-column: 4;
  grid-row: 2;
}

.logo-item:nth-child(3) {
  grid-column: 6;
  grid-row: 2;
}

.logo-item {
  width: 100%;
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: none !important;
}

.logo-item img {
  display: block;
  width: auto;
  max-width: 90%;
  max-height: 125px;
  object-fit: contain;
}

.logo-item:nth-child(6) img {
  width: auto;
  max-width: 185px;
  max-height: 125px;
}

.logo-item:nth-child(1) img {
  width: auto;
  max-width: 235px;
  max-height: 105px;
}

.logo-item:nth-child(4) img {
  width: auto;
  max-width: 250px;
  max-height: 120px;
}

.logo-item:nth-child(2) img {
  width: auto;
  max-width: 150px;
  max-height: 125px;
}

.logo-item:nth-child(5) img {
  width: auto;
  max-width: 410px !important;
  max-height: 210px !important;
}

.logo-item:nth-child(7) img {
  width: auto;
  max-width: 145px;
  max-height: 125px;
}

.logo-item:nth-child(3) img {
  width: auto;
  max-width: 210px;
  max-height: 115px;
}


/* =========================================================
   WHAT I CREATE
========================================================= */

.create {
  position: relative;
  width: 100%;
  height: 700px;
  min-height: 700px;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  gap: 0;
  background: var(--cream);
  overflow: hidden;
}

.create-copy {
  position: relative;
  min-width: 0;
  width: 100%;
  height: 700px;
  padding:
    0
    clamp(38px, 6vw, 90px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background: var(--cream);
}

.create-copy > .section-heading,
.create-copy > .offer {
  flex-shrink: 0;
  transform: translateY(-10%) !important;
}

.create-copy .section-heading {
  width: 100%;
  margin:
    0
    0
    34px;
  text-align: left;
}

.create-copy .section-heading h2 {
  margin:
    0
    0
    15px;
  font-size: clamp(48px, 4.8vw, 70px);
}

.create-copy .section-heading p {
  text-align: left;
}

.offer {
  width: 100%;
  display: grid;
  gap: 27px;
}

.offer-item h3 {
  margin:
    0
    0
    7px;
  font-family: var(--serif);
  font-size: clamp(25px, 2vw, 31px);
  line-height: 1.05;
  font-weight: 500;
}

.offer-item p {
  max-width: 610px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.4;
}

.create-image {
  min-width: 0;
  width: 100%;
  height: 700px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  align-self: stretch;
}

.create-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center 18%;
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.create-image:hover img {
  transform: scale(1.035);
}


/* =========================================================
   CONTACT
========================================================= */

.contact {
  width: 100%;
  height: 700px;
  min-height: 700px;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  gap: 0;
  background: var(--cream);
  overflow: hidden;
}

.contact-image {
  min-width: 0;
  width: 100%;
  height: 700px;
  overflow: hidden;
}

.contact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-image:hover img {
  transform: scale(1.035);
}

.contact-copy {
  min-width: 0;
  width: 100%;
  height: 700px;
  padding:
    90px
    clamp(38px, 6vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--cream);
}

.contact-copy h2 {
  max-width: 570px;
  margin: 0 0 30px;
  font-family: var(--serif);
  font-size: clamp(48px, 4.7vw, 70px);
  line-height: 0.94;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.contact-copy > p {
  max-width: 600px;
  margin: 0 0 30px;
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.45;
}

.contact-links {
  display: grid;
  gap: 18px;
  margin-bottom: 30px;
}

.contact-links a {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-links small {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.contact-links span {
  font-family: var(--serif);
  font-size: clamp(19px, 1.5vw, 24px);
}

.contact-copy .button {
  align-self: flex-start;
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
  width: 100%;
  height: 220px;
  min-height: 220px;
  margin: 0;
  padding: 45px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--cream-dark);
  text-align: center;
}

.site-footer img {
  width: min(380px, 84vw) !important;
  height: auto;
  margin-bottom: 16px;
}

.site-footer p {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.18em;
}


/* =========================================================
   VIDEO MODAL
========================================================= */

.video-modal {
  width: min(92vw, 620px);
  max-width: 620px;
  padding: 0;
  border: 0;
  background: #111;
}

.video-modal::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.video-modal video {
  width: 100%;
  max-height: 90vh;
}

.modal-close {
  position: absolute;
  top: -10px;
  right: -44px;
  width: 36px;
  height: 36px;
  background: transparent;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  :root {
    --nav-height: 76px;
  }

  .site-nav {
    padding: 0 24px;
  }

  .nav-brand {
    width: 66px;
    height: 66px;
  }

  .nav-brand img {
    width: 56px;
    height: 56px;
  }

  .mobile-menu-button {
    right: 24px;
  }

  .hero {
    height: 100vh;
    min-height: 720px;
    max-height: none;
    grid-template-columns:
      minmax(0, 1.38fr)
      minmax(360px, 1fr);
  }

  .hero-copy,
  .hero-image {
    height: 100%;
  }

  .hero-copy {
    padding-left: 35px;
    padding-right: 35px;
  }

  .cards {
    gap: 28px;
  }

  .video-card {
    height: 340px;
    min-height: 340px;
  }

  .cards.two-cards {
    width: min(640px, 100%);
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .logos {
    width: min(960px, 100%);
    column-gap: 6px;
  }

  .logo-item img {
    max-width: 88%;
  }

  .logo-item:nth-child(5) img {
    max-width: 410px !important;
    max-height: 210px !important;
  }

  .create {
    height: 650px;
    min-height: 650px;
  }

  .create-copy {
    height: 650px;
    padding-left: 45px;
    padding-right: 45px;
  }

  .create-image {
    height: 650px;
  }

  .contact {
    height: 650px;
    min-height: 650px;
  }

  .contact-copy {
    height: 650px;
    padding-left: 45px;
    padding-right: 45px;
  }

  .contact-image {
    height: 650px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 720px) {

  :root {
    --nav-height: 64px;
  }

  .site-nav {
    height: var(--nav-height);
    padding: 0 18px;
  }

  .nav-brand {
    width: 58px;
    height: 58px;
  }

  .nav-brand img {
    width: 50px;
    height: 50px;
  }

  .mobile-menu-button {
    right: 16px;
  }

  .mobile-nav {
    padding:
      calc(var(--nav-height) + 8px)
      22px
      24px;
  }

  .hero {
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
  }

  .hero-copy {
    height: 560px;
    min-height: 560px;
    padding:
      calc(var(--nav-height) + 50px)
      22px
      45px;
  }

  .hero-logo {
    width: 91%;
    margin-bottom: 18px;
  }

  .hero-tagline {
    font-size: 28px;
  }

  .hero-copy .button {
    margin-top: 34px;
  }

  .hero-image {
    height: 560px;
    min-height: 560px;
  }

  .intro {
    min-height: 0;
    padding:
      68px
      22px
      62px;
  }

  .intro h2 {
    font-size: 46px;
  }

  .work {
    padding:
      48px
      22px
      70px;
  }

  .cards,
  .cards.two-cards {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .video-card {
    width: 100%;
    height: 420px;
    min-height: 420px;
    aspect-ratio: auto;
  }

  .category {
    margin-top: 52px;
  }

  .collaborations {
    padding:
      60px
      22px
      70px;
  }

  .logos {
    width: 100%;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 15px;
    row-gap: 20px;
  }

  .logo-item,
  .logo-item:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: 82px;
    transform: none !important;
  }

  .logo-item img,
  .logo-item:nth-child(n) img {
    max-width: 90%;
    max-height: 65px;
  }

  .logo-item:nth-child(5) img {
    max-width: 100% !important;
    max-height: 120px !important;
  }

  .create {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .create-copy {
    order: 0;
    width: 100%;
    height: auto;
    min-height: 620px;
    padding:
      0
      28px;
    justify-content: center;
    align-items: flex-start;
  }

  .create-image {
    order: 1;
    width: 100%;
    height: 540px;
    min-height: 540px;
  }

  .create-image img {
    object-position: center 18%;
  }

  .create-copy .section-heading {
    margin-bottom: 38px;
  }

  .offer {
    gap: 27px;
  }

  .contact {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .contact-image {
    order: 0;
    width: 100%;
    height: 540px;
    min-height: 540px;
  }

  .contact-copy {
    order: 1;
    width: 100%;
    height: auto;
    min-height: 620px;
    padding:
      75px
      28px;
  }

  .contact-copy h2 {
    font-size: 51px;
  }

  .contact-copy .button {
    width: 100%;
  }

  .site-footer {
    height: 190px;
    min-height: 190px;
    padding:
      45px 20px;
  }

  .site-footer img {
    width: min(320px, 84vw) !important;
  }

}


/* =========================================================
   MOBILE SECTION ARROWS
========================================================= */

@media (max-width: 720px) {

  .section-scroll-nav {
    right: 16px;
    bottom: 18px;
    gap: 6px;
  }

  .section-scroll-link {
    min-width: 38px;
    font-size: 7px;
    letter-spacing: 0.12em;
  }

  .section-scroll-arrow {
    width: 20px;
    height: 20px;
    font-size: 15px;
  }

  .section-scroll-line {
    height: 64px !important;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }

  .hero:hover .hero-image img {
    transform: none !important;
  }

  .hero .hero-logo {
    transform: none !important;
  }

}


/* =========================================================
   NAVIGATION OVERRIDES
========================================================= */

.site-nav.menu-open {
  background: #17100b;
}

main > section {
  position: relative;
}

.section-scroll-nav {
  position: absolute;
  right: 32px;
  bottom: 30px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  color: inherit;
}

.section-scroll-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.section-scroll-link:hover {
  opacity: 1;
}

.section-scroll-prev:hover {
  transform: translateY(-2px);
}

.section-scroll-next:hover {
  transform: translateY(2px);
}

.section-scroll-arrow {
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 300;
  line-height: 1;
}

.section-scroll-label {
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.section-scroll-line {
  width: 1px;
  height: 84px !important;
  background: currentColor;
  opacity: 0.45;
}

.hero .section-scroll-nav,
.create .section-scroll-nav {
  color: #fff;
}


/* =========================================================
   FINAL MOBILE OVERRIDES
========================================================= */

@media (max-width: 720px) {

  .section-scroll-nav {
    right: 17px;
    bottom: 20px;
    gap: 6px;
  }

  .section-scroll-label {
    font-size: 7px;
  }

  .section-scroll-arrow {
    font-size: 15px;
  }

  .section-scroll-line {
    height: 64px !important;
  }

}


/* =========================================================
   VIDEO CONTROLS
========================================================= */

.video-card video,
.work-card video {
  pointer-events: auto !important;
}

.video-overlay {
  pointer-events: none !important;
}

.video-card .play {
  z-index: 2 !important;
  pointer-events: none !important;
}


/* =========================================================
   REQUESTED CROPS
========================================================= */

.video-card video[src*="getmyboat.mp4"] {
  object-position: center 10% !important;
}

.hero-image img[src*="sim_hotel_lobby.jpeg"] {
  object-position: center 60% !important;
}

.video-card video[src*="leafspa.mp4"] {
  object-position: center 40% !important;
}

.create-image img[src*="red_dress_rooftop.jpg"] {
  object-position: center 58% !important;
}


/* =========================================================
   BRATISLAVA — 2X
========================================================= */

.logo-item:nth-child(5) img {
  max-width: 410px !important;
  max-height: 210px !important;
}


/* =========================================================
   WHAT I CREATE — UP 10%
========================================================= */

.create-copy > .section-heading,
.create-copy > .offer {
  transform: translateY(-10%) !important;
}


/* =========================================================
   FOOTER LOGO — 2X
========================================================= */

.site-footer img {
  width: min(380px, 84vw) !important;
}


/* =========================================================
   SCROLL ARROWS — 2X LONGER
========================================================= */

.section-scroll-line {
  height: 84px !important;
}


/* =========================================================
   FINAL MOBILE REQUESTED OVERRIDES
========================================================= */

@media (max-width: 720px) {

  .section-scroll-line {
    height: 64px !important;
  }

  .logo-item:nth-child(5) img {
    max-width: 100% !important;
    max-height: 120px !important;
  }

  .site-footer img {
    width: min(320px, 84vw) !important;
  }

}


/* =========================================================
   FULLSCREEN VIDEO
========================================================= */

.video-card video:fullscreen,
.video-card 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;
}