.elementor-107 .elementor-element.elementor-element-99dd69e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-99dd69e:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-99dd69e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-107{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-107 .elementor-element.elementor-element-99dd69e{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-33750c8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-107 .elementor-element.elementor-element-99dd69e{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-33750c8 *//* =========================================================
   SUPERSHOOT FOOTER — FINAL
   Clean, compact, responsive, Elementor-safe
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

.ss-footer {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #0B0B0B;
  color: #F3F0EA;
  font-family: "Inter", Arial, sans-serif;
}

.ss-footer img {
  max-width: 100%;
  height: auto;
}

.ss-footer a {
  color: #F3F0EA;
  text-decoration: none;
}

.ss-footer-shell {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
}


/* =========================================================
   CTA
   ========================================================= */

.ss-footer-cta {
  width: 100%;
  background-color: #C9A46C;
  color: #0B0B0B;
  padding-top: 54px;
  padding-bottom: 54px;
  overflow: hidden;
}

.ss-footer-cta-layout {
  display: grid;
  grid-template-columns: 1fr 250px;
  align-items: center;
  column-gap: 56px;
}

.ss-footer-cta-copy {
  min-width: 0;
}

.ss-footer-eyebrow {
  margin: 0 0 16px 0;
  color: #0B0B0B;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.ss-footer-cta h2 {
  margin: 0;
  color: #0B0B0B;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 74px;
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -2.4px;
  text-transform: uppercase;
}

.ss-footer-cta-services {
  margin: 16px 0 24px 0;
  color: #0B0B0B;
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  opacity: 0.72;
}

.ss-footer-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 7px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #0B0B0B;
  color: #0B0B0B;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  transition: opacity 0.2s ease;
}

.ss-footer-cta-link:hover {
  opacity: 0.65;
}


/* =========================================================
   CAMERA
   ========================================================= */

.ss-shoot-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.ss-shoot-icon {
  display: block;
  width: 210px;
  height: auto;
  fill: none;
  stroke: #0B0B0B;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  animation: ss-camera-float 4s ease-in-out infinite;
}

.ss-lens {
  transform-origin: 110px 101px;
  animation: ss-lens-pulse 3s ease-in-out infinite;
}

.ss-flash {
  transform-origin: 110px 60px;
  animation: ss-flash-shoot 3.8s ease-in-out infinite;
}

.ss-camera-dot {
  fill: #0B0B0B;
  stroke: none;
  animation: ss-dot-blink 3.8s ease-in-out infinite;
}

@keyframes ss-camera-float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}

@keyframes ss-lens-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes ss-flash-shoot {
  0% {
    opacity: 0.15;
    transform: scale(0.95);
  }

  42% {
    opacity: 0.15;
    transform: scale(0.95);
  }

  46% {
    opacity: 1;
    transform: scale(1.08);
  }

  52% {
    opacity: 0.15;
    transform: scale(0.95);
  }

  100% {
    opacity: 0.15;
    transform: scale(0.95);
  }
}

@keyframes ss-dot-blink {
  0% { opacity: 0.25; }
  44% { opacity: 0.25; }
  47% { opacity: 1; }
  52% { opacity: 0.25; }
  100% { opacity: 0.25; }
}


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

.ss-footer-main {
  width: 100%;
  background-color: #0B0B0B;
  padding-top: 48px;
  padding-bottom: 24px;
}

.ss-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.65fr 1.55fr 0.9fr;
  column-gap: 46px;
  row-gap: 42px;
  align-items: flex-start;
}


/* =========================================================
   BRAND
   ========================================================= */

.ss-footer-brand {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.ss-footer-logo-link {
  display: inline-block;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.ss-footer-logo {
  display: block;
  width: 270px;
  height: auto;
  margin: 0 0 16px 0;
  padding: 0;
}

.ss-footer-tagline {
  margin: 0 0 7px 0;
  padding: 0;
  color: #F3F0EA;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.ss-footer-description {
  max-width: 300px;
  margin: 0;
  padding: 0;
  color: #8C8780;
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}


/* =========================================================
   COLUMNS
   ========================================================= */

.ss-footer-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.ss-footer-title {
  margin: 0 0 8px 0;
  color: #8C8780;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.ss-footer-column > a {
  color: #F3F0EA;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  transition: color 0.2s ease;
}

.ss-footer-column > a:hover {
  color: #C9A46C;
}


/* =========================================================
   SERVICES
   ========================================================= */

.ss-footer-services {
  min-width: 0;
}

.ss-services-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  row-gap: 8px;
}

.ss-services-grid a {
  display: block;
  min-width: 0;
  color: #F3F0EA;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  overflow-wrap: break-word;
  transition: color 0.2s ease;
}

.ss-services-grid a:hover {
  color: #C9A46C;
}


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

.ss-footer-contact {
  min-width: 0;
}

.ss-footer-address {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-style: normal;
}

.ss-footer-address a {
  color: #F3F0EA;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  transition: color 0.2s ease;
}

.ss-footer-address a:hover {
  color: #C9A46C;
}

.ss-footer-address span {
  color: #8C8780;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.ss-footer-instagram {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 4px;
  color: #C9A46C;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  transition: opacity 0.2s ease;
}

.ss-footer-instagram:hover {
  color: #C9A46C;
  opacity: 0.7;
}


/* =========================================================
   BOTTOM BAR
   ========================================================= */

.ss-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 24px;
  margin-top: 40px;
  padding-top: 16px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(243, 240, 234, 0.12);
}

.ss-footer-bottom p {
  margin: 0;
  color: #8C8780;
  font-family: "Inter", Arial, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.4px;
}

.ss-footer-location {
  text-align: center;
}

.ss-footer-bottom p:last-child {
  text-align: right;
}

.ss-footer-bottom a {
  color: #F3F0EA;
  font-family: "Space Grotesk", Arial, sans-serif;
  font-weight: 500;
  transition: color 0.2s ease;
}

.ss-footer-bottom a:hover {
  color: #C9A46C;
}


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

@media (max-width: 1024px) {

  .ss-footer-shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .ss-footer-cta {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .ss-footer-cta-layout {
    grid-template-columns: 1fr 175px;
    column-gap: 30px;
  }

  .ss-footer-cta h2 {
    font-size: 56px;
  }

  .ss-shoot-icon {
    width: 170px;
  }

  .ss-footer-main {
    padding-top: 40px;
  }

  .ss-footer-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 36px;
    row-gap: 34px;
  }

  .ss-footer-logo {
    width: 240px;
    margin-bottom: 14px;
  }

  .ss-footer-services {
    grid-column: 1;
  }

  .ss-footer-contact {
    grid-column: 2;
  }

  .ss-footer-bottom {
    grid-template-columns: 1fr 1fr;
  }

  .ss-footer-location {
    display: none;
  }

  .ss-footer-bottom p:last-child {
    text-align: right;
  }
}


/* =========================================================
   MOBILE
   Compact + 2-column links/services
   ========================================================= */

@media (max-width: 767px) {

  .ss-footer-shell {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }


  /* CTA */

  .ss-footer-cta {
    padding-top: 26px;
    padding-bottom: 26px;
  }

  .ss-footer-cta-layout {
    grid-template-columns: 1fr 86px;
    column-gap: 10px;
  }

  .ss-footer-eyebrow {
    margin-bottom: 10px;
    font-size: 8px;
    letter-spacing: 1.3px;
  }

  .ss-footer-cta h2 {
    font-size: 36px;
    line-height: 0.98;
    letter-spacing: -1px;
  }

  .ss-footer-cta-services {
    margin-top: 10px;
    margin-bottom: 16px;
    max-width: 270px;
    font-size: 9.5px;
    line-height: 1.35;
  }

  .ss-footer-cta-link {
    font-size: 9px;
    padding-bottom: 5px;
  }

  .ss-shoot-icon {
    width: 82px;
    stroke-width: 3.2;
  }


  /* Main footer */

  .ss-footer-main {
    padding-top: 18px;
    padding-bottom: 12px;
  }

  .ss-footer-grid {
    grid-template-columns: 1fr;
    row-gap: 16px;
    align-items: flex-start;
  }


  /* Brand */

  .ss-footer-brand {
    margin: 0;
    padding: 0;
    min-height: 0;
  }

  .ss-footer-logo-link {
    display: block;
    width: 220px;
    margin: 0 0 12px 0;
    padding: 0;
    line-height: 0;
  }

  .ss-footer-logo {
    display: block;
    width: 220px;
    height: auto;
    margin: 0;
    padding: 0;
  }

  .ss-footer-tagline {
    margin: 0 0 5px 0;
    padding: 0;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: 1.4px;
  }

  .ss-footer-description {
    max-width: 330px;
    margin: 0;
    padding: 0;
    font-size: 11.5px;
    line-height: 1.35;
  }


  /* Quick Links — 2 columns */

  .ss-footer-column:not(.ss-footer-services):not(.ss-footer-contact) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 5px;
    margin: 0;
    padding: 0;
  }

  .ss-footer-column:not(.ss-footer-services):not(.ss-footer-contact) .ss-footer-title {
    grid-column: 1 / 3;
    margin-bottom: 2px;
  }

  .ss-footer-column:not(.ss-footer-services):not(.ss-footer-contact) > a {
    font-size: 11.5px;
    line-height: 1.25;
  }


  /* Titles */

  .ss-footer-title {
    margin-bottom: 4px;
    font-size: 8px;
    letter-spacing: 1.4px;
  }


  /* Services — 2 columns */

  .ss-services-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 5px;
  }

  .ss-services-grid a {
    font-size: 11px;
    line-height: 1.22;
  }


  /* Contact */

  .ss-footer-address {
    gap: 5px;
  }

  .ss-footer-address a,
  .ss-footer-address span {
    font-size: 11.5px;
    line-height: 1.25;
  }

  .ss-footer-instagram {
    margin-top: 2px;
    font-size: 11.5px;
  }


  /* Bottom */

  .ss-footer-bottom {
    grid-template-columns: 1fr;
    row-gap: 3px;
    margin-top: 14px;
    padding-top: 10px;
  }

  .ss-footer-location {
    display: block;
    text-align: left;
  }

  .ss-footer-bottom p {
    text-align: left;
    font-size: 8px;
    line-height: 1.25;
  }

  .ss-footer-bottom p:last-child {
    text-align: left;
  }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 380px) {

  .ss-footer-shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .ss-footer-cta-layout {
    grid-template-columns: 1fr 68px;
    column-gap: 8px;
  }

  .ss-footer-cta h2 {
    font-size: 31px;
  }

  .ss-footer-cta-services {
    font-size: 9px;
  }

  .ss-shoot-icon {
    width: 64px;
  }

  .ss-footer-logo-link,
  .ss-footer-logo {
    width: 200px;
  }

  .ss-services-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 8px;
    row-gap: 5px;
  }

  .ss-services-grid a {
    font-size: 10.5px;
  }
}


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

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

  .ss-shoot-icon,
  .ss-lens,
  .ss-flash,
  .ss-camera-dot {
    animation: none;
  }

  .ss-footer a {
    transition: none;
  }
}
/* =========================================================
   SUPERSHOOT — MOBILE FOOTER HARD FIX
   Paste at VERY BOTTOM of existing CSS
   ========================================================= */

@media (max-width: 900px) {

  /* MAIN BLACK FOOTER */
  .ss-footer .ss-footer-main {
    padding-top: 22px;
    padding-bottom: 14px;
  }

  .ss-footer .ss-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 22px;
    align-items: flex-start;
  }


  /* EVERY MAIN SECTION MUST TAKE FULL WIDTH */
  .ss-footer .ss-footer-brand,
  .ss-footer .ss-footer-services,
  .ss-footer .ss-footer-contact,
  .ss-footer .ss-footer-grid > nav {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
  }


  /* BRAND */
  .ss-footer .ss-footer-brand {
    margin: 0;
    padding: 0;
  }

  .ss-footer .ss-footer-logo-link {
    display: block;
    width: 220px;
    max-width: 75%;
    margin: 0 0 14px 0;
    padding: 0;
    line-height: 0;
  }

  .ss-footer .ss-footer-logo {
    display: block;
    width: 220px;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }

  .ss-footer .ss-footer-tagline {
    margin: 0 0 6px 0;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: 1.4px;
  }

  .ss-footer .ss-footer-description {
    width: 100%;
    max-width: 360px;
    margin: 0;
    font-size: 11.5px;
    line-height: 1.4;
  }


  /* QUICK LINKS */
  .ss-footer .ss-footer-grid > nav:not(.ss-footer-services) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 7px;
  }

  .ss-footer .ss-footer-grid > nav:not(.ss-footer-services) .ss-footer-title {
    grid-column: 1 / 3;
  }

  .ss-footer .ss-footer-grid > nav:not(.ss-footer-services) > a {
    font-size: 12px;
    line-height: 1.3;
  }


  /* TITLES */
  .ss-footer .ss-footer-title {
    margin: 0 0 7px 0;
    font-size: 8.5px;
    line-height: 1;
    letter-spacing: 1.5px;
  }


  /* SERVICES — FULL WIDTH, TWO COLUMNS */
  .ss-footer .ss-footer-services {
    display: block;
  }

  .ss-footer .ss-services-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 8px;
  }

  .ss-footer .ss-services-grid a {
    min-width: 0;
    font-size: 11.5px;
    line-height: 1.3;
    overflow-wrap: normal;
    word-break: normal;
  }


  /* CONTACT — FULL WIDTH */
  .ss-footer .ss-footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }

  .ss-footer .ss-footer-address {
    gap: 6px;
  }

  .ss-footer .ss-footer-address a,
  .ss-footer .ss-footer-address span,
  .ss-footer .ss-footer-instagram {
    font-size: 11.5px;
    line-height: 1.3;
  }


  /* BOTTOM */
  .ss-footer .ss-footer-bottom {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 4px;
    margin-top: 18px;
    padding-top: 12px;
  }

  .ss-footer .ss-footer-location {
    display: block;
    text-align: left;
  }

  .ss-footer .ss-footer-bottom p,
  .ss-footer .ss-footer-bottom p:last-child {
    text-align: left;
    font-size: 8px;
    line-height: 1.3;
  }
}


/* =========================================================
   NORMAL PHONE WIDTH
   ========================================================= */

@media (max-width: 600px) {

  .ss-footer .ss-footer-shell {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }

  .ss-footer .ss-footer-grid {
    row-gap: 20px;
  }

  .ss-footer .ss-services-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 18px;
    row-gap: 7px;
  }

  .ss-footer .ss-services-grid a {
    font-size: 11px;
  }

  .ss-footer .ss-footer-logo-link,
  .ss-footer .ss-footer-logo {
    width: 210px;
  }
}


/* =========================================================
   SMALL PHONES
   Still keep services in TWO columns
   ========================================================= */

@media (max-width: 380px) {

  .ss-footer .ss-footer-shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .ss-footer .ss-services-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    row-gap: 7px;
  }

  .ss-footer .ss-services-grid a {
    font-size: 10.5px;
    line-height: 1.3;
  }

  .ss-footer .ss-footer-logo-link,
  .ss-footer .ss-footer-logo {
    width: 195px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-99dd69e */html,
body {
  margin: 0;
  padding: 0;
  background-color: #0B0B0B;
}

body,
#page,
.site,
.site-content {
  margin-bottom: 0;
  padding-bottom: 0;
}

.elementor-location-footer {
  margin-bottom: 0;
  padding-bottom: 0;
  background-color: #0B0B0B;
}/* End custom CSS */