/*
 Theme Name:     Divi Child Theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
@import url("../Divi/style.css");

/* Hide number input arrows */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}

@font-face {
  font-family: 'Boska';
  src: url('https://dimorainteriors.com/wp-content/themes/divi-child/fonts/Boska-Regular.woff2') format('woff2'),
       url('https://dimorainteriors.com/wp-content/themes/divi-child/fonts/Boska-Regular.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
.large-text, .large-text *, .et_pb_slide_content p, .et_pb_slide_content, .et_pb_slide_content * {
  font-family: 'Boska', serif !important;
  font-weight: 400 !important;
}
h2 {
  font-size: 4.5vw !important;
  line-height: 4.5vw !important;
}
.et_pb_row, .container, .et_pb_row:not([class*="et_flex_column"]) {
  width: 95%;
  max-width: 95%;
}

#sidebar, #main-content .container::before {
  display: none !important;
}
#left-area {
  padding-right: 0 !important;
  width: 100% !important;
}
.norm-column .et_clickable h4::after, #top-menu > li:last-child a::before, #top-menu > li:last-child a, .highlighted-project__image img {
  transition: 0.25s cubic-bezier(0.80, 0, 0.20, 1) 0s !important;
}
.highlighted-project__image img, .highlighted-project__content, .highlighted-project__content::before, .insights-content::after, .insights-date, #footer-widgets .footer-widget li a::before {
  transition: .2s ease-in-out !important;
}
.insights-image img {
  transition: .4s ease-in-out !important;
}
#main-content, .et_pb_section {
  background: #FEF8F4;
}
#main-content a.et_pb_button.small-btn, .instagram-text, .instagram-text * {
  padding: 0 !important;
  font-size: 14px !important;
  color: #775646 !important;
  border: none !important;
  font-weight: 500 !important;
  background: none !important;
}
.instagram-text, .instagram-text * {
  color: #fef8f4 !important;
}
#main-content a.et_pb_button.small-btn::after, .highlighted-project__content::before, .insights-content::after, #footer-widgets .footer-widget li a::before {
  display: inline-block !important;
  content: "";
  background: url('https://dimorainteriors.com/wp-content/uploads/2026/03/arrow-brown.svg');
  background-size: cover !important;
  width: 16px !important;
  height: 16px !important;
  opacity: 1 !important;
  transform: none !important;
  top: 3px !important;
  position: relative !important;
  margin-left: 8px;
}
#main-content a.et_pb_button.et_pb_bg_layout_dark.small-btn {
  color: #FEF8F4 !important;
}
#main-content .light-bg a.et_pb_button.small-btn::after, .insights-content::after, #main-content a.et_pb_button.et_pb_bg_layout_dark.small-btn::after {
  background: url('https://dimorainteriors.com/wp-content/uploads/2026/03/arrow-light.svg');
  background-size: cover !important;
}
#main-content a.et_pb_button.small-btn:hover::after {
  margin-right: 8px;
}
.insights-content::after {
  margin-left: 0 !important;
  position: absolute !important;
  bottom: 20px;
  width: 20px !important;
  height: 20px !important;
  top: inherit !important;
  left: 0;
}
/* Page Intro / Transition */
.page-intro {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  background: #80745C;
  z-index: 99999;
  overflow: hidden;
  transform: translateY(0);
}

.page-intro__inner {
  position: absolute;
  inset: 0;
}

/* Icon wrapper — absolutely positioned.
   top: calc(50% - 90px) is the final resting position (above centre).
   GSAP offsets it down by 50px during phase 1 so it appears screen-centred,
   then animates back to y:0 in phase 2 as it scales down.
   Adjust the 90px value if your icon SVG renders taller/shorter than expected. */
.page-intro__icon-wrap {
  position: absolute;
  top: calc(50% - 90px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
}

.page-intro__logo {
  display: block;
  height: auto;
}

.page-intro__icon-mask {
  overflow: hidden;
  line-height: 0;
  display: block;
}

/* Pre-hide both logos before GSAP initialises to prevent the 1-frame flash.
   opacity:0 has no conflict with GSAP's transform system — GSAP overrides it
   immediately via gsap.set() before the timeline starts. */
#pageIntroIcon,
#pageIntroText {
  opacity: 0;
}

.page-intro__logo.logo-icon {
  width: min(80px, 13vw);
}

.page-intro__logo.logo-text {
  width: min(240px, 38vw);
}

/* Text mask — absolutely positioned below the icon's resting point.
   overflow:hidden clips the image so it wipes upward (line-mask style).
   Adjust top if the gap between icon and text needs tweaking. */
.page-intro__text-mask {
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  overflow: hidden;
  line-height: 0;
}

.page-intro.is-hidden {
  display: none;
}

.page-intro__bar-track {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: none;
}
.page-intro__bar {
  height: 100%;
  width: 0;
  background: #C4B3A1;
}
.page-intro__counter {
  position: absolute;
  bottom: 28px;
  font-size: 14px;
  font-family: sans-serif;
  font-weight: 400;
  left: 0;
  color: #C4B3A1;
  font-family: 'Inter', serif !important;
  right: 0;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .page-intro,
  .page-intro__logo {
    animation: none !important;
    transition: none !important;
  }
}
.page-id-2 h2.et_pb_slide_title,
.page-id-2 .et_pb_slide_content p {
  opacity: 0;
  transform: translateY(0px);
  will-change: transform, opacity;
}
#main-header,
h2.et_pb_slide_title {
  will-change: transform, opacity;
}
#main-header {
  transition: .3s ease-in-out !important;
}

/* Header */
#top-menu li a {
  opacity: 1 !important;
  font-weight: 500 !important;
}
#et-top-navigation, nav#top-menu-nav, #top-menu, nav.et-menu-nav, .et-menu {
  float: none !important;
  padding-left: 0 !important;
}
#et-top-navigation {
  text-align: center !important;
}
#top-menu > li:last-child {
  position: absolute;
  right: 0;
  top: 50px;
  transition: .3s ease-in-out;
}
#top-menu > li:last-child a {
background: #775646 !important;
  padding: 10px 40px 10px 20px !important;
  border-radius: 50px;
  overflow: hidden !important;
}
#top-menu li:nth-child(4) {
  padding-right: 0 !important;
}
#top-menu li a {
  position: relative;
  text-decoration: none;
}
#top-menu li.current-menu-item a, .single-post #top-menu li#menu-item-20 a {
  font-weight: 700 !important;
}
#main-header.dark-header #top-menu li a {
  color: #1E0C04 !important;
}
#main-header.medium-header #top-menu li a {
  color: #B08E66 !important;
}
#main-header.dark-header #top-menu li:last-child > a, #main-header.medium-header #top-menu > li:last-child a, #main-header.medium-header.et-fixed-header #top-menu > li:last-child a, #main-header.medium-header #top-menu li.current-menu-item a, #main-header.medium-header.et-fixed-header #top-menu li.current-menu-item a, #main-header.medium-header.et-fixed-header #top-menu li a, #main-header.dark-header.et-fixed-header #top-menu li a, #main-header.medium-header #top-menu li.current-menu-item a {
  color: #FEF8F4 !important;
}
#main-header.medium-header.et-fixed-header #top-menu li a {
  color: #B08E66 !important;
}
#top-menu > li:last-child a::before {
  display: block;
  content: "";
  width: 16px !important;
  height: 16px;
  background: url('https://dimorainteriors.com/wp-content/uploads/2026/03/light-arrow-1.svg') !important;
  background-size: cover !important;
  position: absolute;
  right: 17px;
  top: 10px;
}
#top-menu > li:last-child a:hover::before {
  right: -17px !important;
}
#main-header.et-fixed-header {
  backdrop-filter: blur(10px);
}
/* Logo swap on fixed header */
.logo_container a {
  position: relative;
  display: inline-block;
}
.logo--standard {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
#main-header.et-fixed-header .logo--variant {
  opacity: 0;
  pointer-events: none;
}
#main-header.et-fixed-header .logo--standard {
  opacity: 1;
  pointer-events: auto;
}
/* The line */
#top-menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 55px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
#top-menu li:last-child a::after {
  display: none !important;
}
#top-menu > li:last-child a:hover {
  padding: 10px 30px 10px 30px !important;
  background: #251B0F !important;
}
/* Hover in: grow left → right */
#top-menu li a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
/* Hover out: shrink toward right */
#top-menu li a:not(:hover)::after {
  transform-origin: right;
}
#main-header.et-fixed-header #top-menu > li:last-child {
  top: 25px;
}
.hide-header {
margin-top: -200px !important;
}
.show-header {
margin-top: 0px !important;
}
/* Force visibility in Divi Visual Builder */
.et-fb .et_pb_row,
.et-fb .my-class,
.et-fb .another-class,
.et_pb_row.no-animation {
  opacity: 1 !important;
  transform: none !important;
}

/* Cursor */
.cursor {
  z-index: 99999999999;
  background-color: #80745C;
  border: 1px solid #80745C;
  border-radius: 100em;
  width: 1em;
  height: 1em;
  transition: background-color .375s cubic-bezier(.625, .05, 0, 1), height .375s cubic-bezier(.625, .05, 0, 1), width .375s cubic-bezier(.625, .05, 0, 1);
  position: fixed;
  inset: 0% auto auto 0%;
  pointer-events: none;
}

body:has( a:hover) .cursor,
body:has( button:hover) .cursor,
body:has( [data-cursor]:hover) .cursor, 
body:has( .start:hover) .cursor,
body:has( .et_clickable:hover) .cursor, 
body:has( .open-contact:hover) .cursor {
  width: 3em;
  height: 3em;
  background-color: rgba(128, 116, 92, 0.3);
} 
body:has( .start:hover), 
body:has( .open-contact:hover),
body:has( .feature-pills__item-button:hover) {
  cursor: pointer;
}
body:has( .insights:hover) .cursor {
  background-color: rgba(255,255,255,.2);
}

@media (hover: none) and (pointer: coarse) {
  .cursor {
    display: none;
  }
}


/* Marquee */
.dimora-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.dimora-marquee__track {
    display: flex;
    align-items: center;
    width: max-content;
    will-change: transform;
}

.dimora-marquee__group {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.dimora-marquee__item {
    flex: 0 0 auto;
    display: inline-block;
    text-transform: uppercase;
}

.marquee-separator {
    flex: 0 0 auto;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 2rem;
    border-radius: 50%;
    background: currentColor;
}

#marquee .large-text * {
  font-size: 8vw !important;
  line-height: 8vw !important;
}

/* Page */
#front .et_pb_row, #front {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
#front .et_pb_slide_description {
  padding-left: calc(50% - 150px);
  padding-right: 0 !important;
  padding-bottom: 50px !important;
  padding-right: 10px !important;
}
.et_pb_slides .et_pb_slider_container_inner {
  vertical-align: bottom;
}
#front .et_pb_slide {
  height: 100vh;
}
#front .slider-arrow {
  position: absolute;
  width: 30px;
  height: 30px;
  bottom: 60px;
  z-index: 9;
  left: 2.5%;
}
#front .slider-arrow img {
  animation: bounce 2s infinite;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
#front .et_pb_slider {
  margin-bottom: 0 !important;
}
.underline-text, .underline-text *, #main-footer .footer-widget h4 {
  color: #775646;
  font-weight: 500 !important;
  font-size: 14px;
  font-family: Inter !important;
  text-transform: none !important;
}
.underline-text h1 {
  padding-bottom: 5px !important;
}
.underline-text.light-bg, .underline-text.light-bg *, #main-content .underline-text.light-bg a.et_pb_button.small-btn {
  color: #FEF8F4 !important;
}
.underline-text {
  border-bottom: 1px solid #775646;
  padding-bottom: 5px;
}
.underline-text.light-bg {
  border-bottom: 1px solid #FEF8F4;
}
.et_pb_row:not(.scaling-logo-row) {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
}
.scaling-logo-row {
  position: relative;
  overflow: visible !important;
}

.scaling-logo-row .et_pb_column,
.scaling-logo-row .et_pb_column > div {
  overflow: visible !important;
}

.scaling-logo-sticky {
  position: sticky;
  top: 80px;
  display: flex;
  justify-content: center;
  width: 100%;
  z-index: 20;
}

.scaling-logo {
  width: min(1200px, calc(100vw - 40px));
  flex: 0 0 auto;
  transform-origin: center center;
  will-change: transform;
  position: sticky;
  top: -30vh;
  padding-bottom: 100px;
}

.scaling-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.large-text {
  width: 100%;
}
.large-text *, #front h2.et_pb_slide_title {
  font-size: 5vw !important;
  text-transform: uppercase;
  line-height: 5vw;
  font-weight: 100;
}
.large-text p {
  visibility: hidden;
}
.large-text .line {
  will-change: transform;
}
.inspired-text {
  height: 100vh;
  display: grid;
  align-content: center;
}
.inspired-text.instagram {
  height: 50vh !important;
}
.sticky-top {
  position: sticky !important;
  top: 0;
}
.inspired-text,
.inspired-text.et_pb_module,
.inspired-text .et_pb_text_inner {
  width: 100% !important;
  max-width: 100% !important;
}

.inspired-text .et_pb_text_inner,
.inspired-text .et_pb_text_inner * {
  font-size: 18vw;
  line-height: 1;
  color: #fef8f4;
  font-family: Boska !important;
  text-transform: uppercase;
  margin-left: -.4vw;
  white-space: nowrap;
  overflow: hidden;
}
.inspired-text.instagram .et_pb_text_inner,
.inspired-text.instagram .et_pb_text_inner * {
  font-size: 13.5vw;
}

/* Paper grain for dark sections — screen blend makes light paper fibres
   visible on dark backgrounds. Near-invisible on light backgrounds
   (screen of near-white on near-white ≈ no change), so no double-up. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99998;
  background-image: url("https://dimorainteriors.com/wp-content/uploads/2026/03/joao-vitor-duarte-k4Lt0CjUnb0-unsplash-scaled.jpg");
  background-size: cover;
  background-position: center;
  mix-blend-mode: screen;
  opacity: 0.1;
  pointer-events: none;
}

/* Paper BG — for light/beige sections. Multiply makes dark paper fibres
   darken the beige background = organic visible grain. */
.paper-bg {
  position: relative;
  isolation: isolate;
}
.paper-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: url("https://dimorainteriors.com/wp-content/uploads/2026/03/joao-vitor-duarte-k4Lt0CjUnb0-unsplash-scaled.jpg");
  background-size: cover;
  background-position: center;

  opacity: 0.2;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* Projects */
.highlighted-projects-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 4rem 2rem;
  padding: 4rem 4vw;
  padding-bottom: 100vh !important;
}

.highlighted-project {
  grid-column: span 3;
}

.highlighted-project__image {
  margin-bottom: 0.75rem;
  overflow: hidden;
}

.highlighted-project__link:hover .highlighted-project__image img {
  transform: scale(1.05) !important;
}

.highlighted-project__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.highlighted-project__content {
  position: relative;
}
.highlighted-project__content::before {
  margin-left: 0 !important;
  position: absolute !important;
  left: -30px !important;
  top: 0 !important;
  opacity: 0 !important;
}
.highlighted-project__link:hover .highlighted-project__content {
  padding-left: 30px !important;
}
.highlighted-project__link:hover .highlighted-project__content::before {
  left: 0 !important;
  opacity: 1 !important;
}
.highlighted-project__title, .highlighted-project__location {
  margin: 0;
  font-size: 16px !important;
  font-family: Inter !important;
  font-weight: 600 !important;
  color: #FEF8F4 !important;
  padding-bottom: 2px !important;
  text-transform: none !important;
}
.highlighted-project__location {
  font-weight: 400 !important;
}
/* Irregular layout */
.highlighted-project--1 {
  grid-column: 2 / span 3;
}

.highlighted-project--2 {
  grid-column: 9 / span 3;
  margin-top: 15rem;
}

.highlighted-project--3 {
  grid-column: 3 / span 5;
  margin-top: 20rem;
}

.highlighted-project--4 {
  grid-column: 10 / span 3;
  margin-top: 15rem;
}

.highlighted-project--5 {
  grid-column: 5 / span 4;
  margin-top: 13rem;
}

/* Keep adding patterns if you have more items */
.highlighted-project:nth-child(6n + 1) {
  grid-column: 2 / span 3;
}

.highlighted-project:nth-child(6n + 2) {
  grid-column: 8 / span 4;
  margin-top: 17rem;
}

.highlighted-project:nth-child(6n + 3) {
  grid-column: 3 / span 5;
}

.highlighted-project:nth-child(6n + 4) {
  grid-column: 10 / span 3;
  margin-top: 15rem;
}

.highlighted-project:nth-child(6n + 5) {
  grid-column: 4 / span 4;
  margin-top: 12rem;
}

.highlighted-project:nth-child(6n + 6) {
  grid-column: 7 / span 3;
  margin-top: 16rem;
}

/* Vertical gallery (random grid, larger & tighter than highlighted projects) */
.vertical-gallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 5rem 3rem;
  padding: 4rem 4vw;
}

.vertical-gallery__item {
  margin: 0;
  overflow: hidden;
  grid-column: span 4;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s ease-out, transform 0.9s ease-out;
  will-change: opacity, transform;
}

.vertical-gallery__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .vertical-gallery__item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.vertical-gallery__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.vertical-gallery__item:hover .vertical-gallery__img {
  transform: scale(1.03);
}

/* Irregular layout — first sweep */
.vertical-gallery__item--1 { grid-column: 2 / span 4; }
.vertical-gallery__item--2 { grid-column: 8 / span 4; margin-top: 10rem; }
.vertical-gallery__item--3 { grid-column: 3 / span 4; margin-top: 8rem; }
.vertical-gallery__item--4 { grid-column: 8 / span 4; margin-top: 9rem; }
.vertical-gallery__item--5 { grid-column: 2 / span 4; margin-top: 7rem; }
.vertical-gallery__item--6 { grid-column: 7 / span 5; margin-top: 11rem; }

/* Repeating pattern for items 7+ */
.vertical-gallery__item:nth-child(6n + 1) { grid-column: 2 / span 4; }
.vertical-gallery__item:nth-child(6n + 2) { grid-column: 8 / span 4; margin-top: 10rem; }
.vertical-gallery__item:nth-child(6n + 3) { grid-column: 3 / span 4; margin-top: 8rem; }
.vertical-gallery__item:nth-child(6n + 4) { grid-column: 8 / span 4; margin-top: 9rem; }
.vertical-gallery__item:nth-child(6n + 5) { grid-column: 2 / span 4; margin-top: 7rem; }
.vertical-gallery__item:nth-child(6n + 6) { grid-column: 7 / span 5; margin-top: 11rem; }

/* Instagram */
#instagram {
  height: 100vh;
  overflow: hidden;
}
.instagram-motion-wrap {
  will-change: transform;
}

#sb_instagram {
  padding: 6rem 3vw 10rem;
  overflow: hidden;
}

#sb_instagram #sbi_images {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 8rem 0 !important;
  align-items: start !important;
}

#sb_instagram #sbi_images .sbi_item {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: relative;
}

#sb_instagram #sbi_images .sbi_photo_wrap,
#sb_instagram #sbi_images .sbi_photo {
  display: block !important;
  width: 100% !important;
}

#sb_instagram #sbi_images .sbi_photo {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  opacity: 1 !important;
}

#sb_instagram #sbi_images .sbi_photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 1) {
  grid-column: 1 / span 2;
  transform: translateY(0rem);
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 2) {
  grid-column: 6 / span 2;
  transform: translateY(-3rem);
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 3) {
  grid-column: 11 / span 2;
  transform: translateY(2rem);
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 4) {
  grid-column: 4 / span 2;
  transform: translateY(3rem);
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 5) {
  grid-column: 8 / span 2;
  transform: translateY(-2rem);
}

#sb_instagram #sbi_images .sbi_item:nth-child(6n + 6) {
  grid-column: 2 / span 2;
  transform: translateY(1rem);
}

#sb_instagram #sbi_images .sbi_playbtn,
#sb_instagram #sbi_images .sbi_lightbox_carousel_icon {
  z-index: 2;
}
.dark-background {
  padding-top: 0 !important;
}
.dark-background .underline-text {
  background: #251b0f !important;
  position: relative;
  z-index: 999;
  padding-top: 50px !important;
}
.instagram-text {
  max-width: 450px;
  margin: auto;
  text-align: center;
  margin-top: -50px;
}

/* Blog */
.insights-item {
  display: block; /* was grid — content now spans full width */
  position: relative;
  padding-left: 50% !important;
  z-index: 99;
}
.insights-image {
  /* Kept in DOM so JS can read the img src, but removed from layout */
  position: absolute !important;
  left: -99999px !important;
  width: 0 !important;
  pointer-events: none !important;
}
.insights-image img {
  position: absolute;
  opacity: 0;
  top: -20px;
  z-index: 1;
  width: 100%;
}
.insights-content * {
  color: #FEF8F4 !important;
}
.insights-content {
  border-bottom: 1px solid #FEF8F4;
  padding: 5px 0 60px;
}
.insights-date {
  margin-bottom: 10px;
  opacity: .3;
}
.insights-list {
  margin-bottom: 200px;
}
.insights {
  overflow: hidden;
  position: relative;
}
.insights-item:hover .insights-content::after {
  left: 15px;
}
.insights-item:hover .insights-date {
  opacity: 1;
}

/* Cursor image follower for the Insights section */
.insights-follower {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 390px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  overflow: hidden;
  will-change: transform, opacity;
}
.insights-follower img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (hover: none) and (pointer: coarse) {
  .insights-follower { display: none; }
}

/* Testimonials */
.testimonial-lines {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  width: 75%;
  margin: auto;
}

.testimonial-lines__controls {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 33.3333%;
  display: flex;
}

.testimonial-lines__main {
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.testimonial-lines__button {
  justify-content: center;
  align-items: center;
  padding: 0;
  border: none;
  background: none;
  display: flex;
  cursor: pointer;
  position: relative;
  top: 3px;
}

.testimonial-lines__button:first-child {
  transform: rotate(180deg);
}

.testimonial-lines__arrow {
  width: .75em;
}

.testimonial-lines__main-details {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-lines__main-details * {
  color: #775646 !important;
}

.testimonial-lines__count {
  width: 1ch;
  display: inline-block;
}

.testimonial-lines__p {
  margin-bottom: 0;
  padding-bottom: 0;
  font-weight: 500;
  font-size: 14px !important;
  line-height: 20px;
}
.testimonial-lines {
  position: relative;
}
.testimonial-lines::before {
  display: block;
  content: "";
  position: absolute;
  top: 25px;
  width: 100%;
  height: 1px;
  left: 0;
  right: 0;
  background: #775646;
}

.testimonial-lines__p.is--faded {
  opacity: .3;
  font-weight: 400;
}

.testimonial-lines__collection {
  width: 100%;
}

.testimonial-lines__list {
  width: 100%;
  display: grid;
  position: relative;
}

.testimonial-lines__item {
  grid-column-gap: 4em;
  grid-row-gap: 4em;
  opacity: 0;
  visibility: hidden;
  flex-flow: column;
  grid-area: 1 / 1;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.testimonial-lines__item.is--active {
  opacity: 100;
  visibility: visible;
}

.testimonial-lines__h {
  letter-spacing: -.02em;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3em;
  font-weight: 500;
  line-height: 1;
  font-style: italic;
  text-transform: none !important;
}

.text-line-mask{
  padding-bottom: 0.2em;
  margin-bottom: -0.2em;
}

.testimonial-lines__item-details {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-lines__item-visual {
  aspect-ratio: 1;
  border-radius: 100em;
  width: 5em;
  overflow: hidden;
}

.testimonial-lines__item-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .testimonial-lines {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }

  .testimonial-lines__controls {
    order: 9999;
    width: 100%;
  }

  .testimonial-lines__main {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }

  .testimonial-lines__p {
    font-size: 1em;
  }

  .testimonial-lines__item {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }

  .testimonial-lines__h {
    font-size: 2em;
  }

  .testimonial-lines__item-visual {
    width: 3.5em;
  }
}

.c2a .et_pb_column {
  height: 100vh;
  display: grid;
  align-content: center;
}

/* Sticky Title */
.sticky-title-wrapper {
  width: 100%;
  height: 350vh;
  position: relative;
}

.sticky-title-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  padding-left: 1.5em;
  padding-right: 1.5em;
  display: flex;
  position: sticky;
  top: 0;
}

.sticky-title-inner {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 60em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.sticky-title-inner * {
color: #fef8f4 !important;
}

.sticky-title-el {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 5.5vw !important; 
  font-weight: 500;
  line-height: 5.3vw !important;
}

.sticky-title-el.is--stacked {
  visibility: hidden;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .sticky-title-el {
    font-size: 3.5em;
  }
}

/* Studio */
.height-100 {
  height: 100vh !important;
}
.et_pb_bg_layout_dark.arrow-text .et_pb_text_inner::before {
  display: block;
  content: "";
  width: 16px !important;
  height: 16px;
  background: url('https://dimorainteriors.com/wp-content/uploads/2026/03/light-arrow-1.svg') !important;
  background-size: cover !important;
  position: absolute;
  left: -37px;
  top: 5px;
}
#page-container .brand-logo {
  display: inline-block;
  width: 30% !important;
  margin-right: 60px;
  margin-bottom: 30px !important;
}

/* Projects */
.grid-or-list {
  padding-left: 0 !important;
  padding-bottom: 0 !important;
  list-style-type: none !important;
}
.grid-or-list li {
  display: inline-block;
  margin-left: 25px !important;
  color: #B08E66 !important;
  opacity: .5;
  transition: .2s ease-in-out;
  cursor: pointer;
}
.grid-or-list li.active {
  opacity: 1;
}
.grid-or-list li img {
  position: relative;
  top: 2px;
}
.grid-view-row,
.list-view-row {
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.grid-view-row.is-leaving,
.list-view-row.is-leaving {
  opacity: 0;
  transform: translateY(12px);
}
.grid-view-row.is-entering,
.list-view-row.is-entering {
  opacity: 0;
  transform: translateY(12px);
}

.typo-scroll {
  color: #775646;
  width: 100%;
  position: relative;
}

.typo-scroll__collection {
  flex-flow: column;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.typo-scroll__list {
  flex-flow: column;
  width: 100%;
  display: flex;
}

.typo-scroll__item {
  width: 100%;
  position: relative;
}

.typo-scroll__link {
  color: inherit;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.typo-scroll__h {
  text-align: center;
  letter-spacing: -.05em;
  text-transform: uppercase;
  white-space: nowrap;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 7.5vw;
  transition: .3s ease-in-out;
  line-height: .9;
  color: #775646 !important;
}

[data-typo-scroll-item="active"] .typo-scroll__h{
  z-index: 2;
  color: #B08E66 !important;
  mix-blend-mode: difference;
}

.typo-scroll__media {
  pointer-events: none;
  width: 17.5vw;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%, -50%);
  z-index: 99999;
  --po: 1.5em; /* Path offset */
  transition: clip-path 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  clip-path: polygon(calc(0% + var(--po)) calc(0% + var(--po)), calc(100% - var(--po)) calc(0% + var(--po)), calc(100% - var(--po)) calc(100% - var(--po)), calc(0% + var(--po)) calc(100% - var(--po)));
  opacity: 0;
}

[data-typo-scroll-item="active"] .typo-scroll__media {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  opacity: 1;
}

@media (hover: none) and (pointer: coarse) {
  [data-typo-scroll-item="active"] .typo-scroll__media {
    pointer-events: all;
  }
}

.typo-scroll__media.is--3-2,
.typo-scroll__media.is--2-3,
.typo-scroll__media.is--1-1 {
  width: 17.5vw;
}

.typo-scroll__img {
  display: block;
  width: 100%;
  height: auto;
}

.typo-scroll__img.is--bw {
  filter: grayscale(1);
}

.typo-scroll__p {
  -webkit-backdrop-filter: blur(1em);
  backdrop-filter: blur(1em);
  color: #f4f4f4;
  text-align: center;
  white-space: nowrap;
  background-color: #201d1d33;
  margin-bottom: 0;
  padding: .25em;
  font-size: .75em;
  position: absolute;
  bottom: 2em;
  left: 50%;
  transform: translate(-50%);
}

@media screen and (max-width: 991px) {
  .typo-scroll__h {
    font-size: 11vw;
  }

  .typo-scroll__media {
    width: 52.5vw;
  }

  .typo-scroll__media.is--3-2 {
    width: 75vw;
  }

  .typo-scroll__media.is--2-3 {
    width: 49.5vw;
  }

  .typo-scroll__media.is--1-1 {
    width: 60vw;
  }
}

.list-view-row {
  display: none;
  padding-top: 100px !important;
  padding-bottom: 150px !important;
}

.page-id-13 .highlighted-projects-grid {
  padding-bottom: 100px !important;
}

/* Contact */
#main-content .contact-text h2 {
  color: #FEF8F4 !important;
  font-size: 5vw !important;
  line-height: 5vw !important;
}
.contact-link a {
  color: #FEF8F4 !important;
  transition: .2s ease-in-out;
}
#main-content .contact-text h2 span, .contact-link a:hover {
  color: #FEF8F4 !important;
}
#main-content .contact-row {
  position: absolute !important;
  bottom: 40px;
}
.contact-link a img {
  width: 20px;
  position: relative;
  top: 3.5px;
  margin-right: 5px;
}
.with_frm_style .frm_top_container .frm_primary_label, .with_frm_style .frm_hidden_container .frm_primary_label {
  display: none !important;
}
.c2a.c2a-contact .et_pb_column {
  height: inherit !important;
  min-height: 100vh;
  padding: 5% !important;
}
#frm_field_6_container, #main-content .frm_submit button {
  margin-bottom: 0 !important;
}
.with_frm_style .frm_form_fields > fieldset {
  padding-bottom: 0 !important;
}
.frm_style_formidable-style.with_frm_style .form-field {
  margin-bottom: 10px !important;
}
#main-content .frm_fields_container input, #main-content .frm_fields_container textarea, #main-content .frm_fields_container select {
  background: none !important;
  border-radius: 0px !important;
  border: 1px solid rgba(119,86,70,.5) !important;
  color: #775646 !important;
  box-shadow: none !important;
}
#main-content .frm_fields_container input::placeholder, #main-content .frm_fields_container textarea::placeholder {
  color: #775646 !important;
}
.with_frm_style .frm_submit.frm_flex {
  text-align: right;
}
#main-content .frm_submit button {
  background: #80745C !important;
  border-radius: 0px !important;
  border: none !important;
  padding: 10px 45px !important;
}

/* Services */
.sticky-steps {
  min-height: 100dvh;
  position: relative;
  overflow: clip;
}

.sticky-steps__container {
  max-width: 74em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.sticky-steps__collection {
  min-height: 100dvh;
  display: flex;
  position: relative;
}

.sticky-steps__list {
  grid-column-gap: 30dvh;
  grid-row-gap: 30dvh;
  flex-flow: column;
  flex: 1;
  padding-top: calc(50dvh - 7.5em);
  padding-bottom: calc(50dvh - 7.5em);
  display: flex;
}

.sticky-steps__text {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  width: 50%;
  padding-right: 6em;
  display: flex;
}

.sticky-steps__eyebrow {
  text-transform: uppercase;
  color: #775646;
  font-weight: 500 !important;
  font-size: 14px;
  font-family: Inter !important;
}

.sticky-steps__h2 {
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 4vw !important;
  line-height: 4vw !important;
}


.sticky-steps__media {
  width: 50%;
  height: 100%;
  padding-left: 3em;
  position: absolute;
  top: 0;
  right: 0;
}

.sticky-steps__sticky {
  align-items: center;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  position: sticky;
  top: 0;
}

.sticky-steps__visual {
  aspect-ratio: 3 / 4;
  border-radius: 500em;
  width: 100%;
  position: relative;
}

.sticky-steps__cover-image {
  object-fit: cover;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 992px) {
  [data-sticky-steps-item-status] .sticky-steps__visual {
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    opacity: 0;
    visibility: hidden;
  }

  [data-sticky-steps-item-status="before"] .sticky-steps__visual,
  [data-sticky-steps-item-status="active"] .sticky-steps__visual {
    opacity: 1;
    visibility: visible;
  }

  [data-sticky-steps-item-status] .sticky-steps__text {
    transition: opacity 0.5s ease-in-out;
    opacity: 0.25;
  }

  [data-sticky-steps-item-status="active"] .sticky-steps__text {
    opacity: 1;
  }
}

@media screen and (max-width: 991px) {
  .sticky-steps__list {
    grid-column-gap: 7.5em;
    grid-row-gap: 7.5em;
    padding-top: 0;
    padding-bottom: 0;
  }
  .sticky-steps__container {
    padding: 0;
  }

  .sticky-steps__text {
    width: 100%;
    padding-bottom: 5em;
    padding-right: 0;
    text-align: center;
  }
  .sticky-steps__h2 {
    font-size: 32px !important;
  line-height: 40px !important;
  }
  .cascading-slider__item-content {
    padding: 20px !important;
  }
  .cascading-slider__p {
    font-size: 14px !important;
  }
  .cascading-slider__step {
    top: 20px !important;
    left: 20px !important;
  }

  .sticky-steps__sticky {
    min-height: auto;
    position: relative;
    top: auto;
  }

  .sticky-steps__media {
    width: 100%;
    height: auto;
    padding-left: 0;
    position: relative;
    top: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
  .sticky-steps__text {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }
}

/* Cascading / Proces Slider */
[data-cascading-viewport] {
  --gap: 0.5em;
}

[data-cascading-slide] {
  --clip: 0;
  --radius: 0em;
  opacity: 1;
}

.cascading-slider {
  width: 100%;
  position: relative;
}

.cascading-slider__collection {
  width: 100%;
}

.cascading-slider__list {
  width: 100%;
  height: 52vw;
  max-height: 818px;
  min-height: 420px;
  position: relative;
  overflow: hidden;
}

.cascading-slider__item {
  color: #fef8f4;
  cursor: pointer;
  will-change: transform, clip-path;
  clip-path: inset(0px calc(var(--clip) * 1px) round var(--radius));
  -webkit-user-select: none;
  user-select: none;
  height: 80%;
  position: absolute;
  inset: 0% auto auto 0%;
  opacity: .3;
}

.cascading-slider__item[data-status="active"] {
  cursor: default;
  opacity: 1;
}

.cascading-slider__item-inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Image with bottom-up + side darkening gradient matching Figma */
.cascading-slider__item-bg {
  z-index: 0;
  position: absolute;
  inset: 0%;
}

.cascading-slider__item-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 60%),
    linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.3) 100%);
  z-index: 1;
}

.cascading-slider__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

/* Content sits at bottom-left of each slide */
.cascading-slider__item-content {
  z-index: 2;
  padding: 2.5em 2.5em 3em;
  position: absolute;
  inset: auto 0% 0%;
}

/* Step label — absolute top-left of slide */
.cascading-slider__step {
  display: inline-block;
  position: absolute;
  top: 3em;
  left: 2.5em;
  z-index: 3;
  opacity: 0;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #fef8f4;
  border: 1px solid #fef8f4;
  border-radius: 0px;
  padding: 2px 14px;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  transform: translate(0, .25em);
  transition-delay: 0ms;
}

[data-cascading-slide][data-status="active"] .cascading-slider__step {
  transition-delay: 300ms;
  opacity: 1;
  transform: translate(0, 0);
}

/* Non-active slides: filled step label at 0.3 opacity */
[data-cascading-slide]:not([data-status="active"]) .cascading-slider__step {
  background-color: #fef8f4;
  color: #251b0f;
  border-color: #fef8f4;
  opacity: 0.3;
}

/* Headline — Boska/Fraunces, large uppercase */
.cascading-slider__h {
  opacity: 0;
  letter-spacing: -0.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: 'Boska', serif;
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1;
  color: #fef8f4;
  text-transform: uppercase;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  transform: translate(0, .25em);
  transition-delay: 0ms;
  max-width: 60%;
}

[data-cascading-slide][data-status="active"] .cascading-slider__h {
  transition-delay: 400ms;
  opacity: 1;
  transform: translate(0px, 0em);
}

/* Body text */
.cascading-slider__p {
  opacity: 0;
  margin-top: 0.75em;
  margin-bottom: 0;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  letter-spacing: -0.01em;
  max-width: 36em;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  transform: translate(0, .25em);
  transition-delay: 0ms;
}

[data-cascading-slide][data-status="active"] .cascading-slider__p {
  transition-delay: 500ms;
  opacity: 1;
  transform: translate(0px, 0em);
}

/* Nav — top-right corner, above the slider */
.cascading-slider__nav {
  display: flex;
  flex-flow: row;
  gap: 0.5em;
  align-items: center;
  position: absolute;
  top: -3.5em;
  right: 2.5%;
  z-index: 10;
}

.cascading-slider__button {
  border: none !important;
  color: #775646;
  background: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  padding: 0.6em;
  display: flex;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.cascading-slider__button:hover {
  border-color: #fef8f4;
  background: rgba(254,248,244,0.1);
}

.cascading-slider__button-arrow.is--prev {
  transform: rotate(-180deg);
}

/* Insights */
.single-post #main-content .container, .single-project #main-content .container {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.single-post .blog-row .et_pb_column, .single-project .blog-row .et_pb_column {
  width: 70% !important;
  padding-left: 10%;
}
.single-post .blog-row .facts-column, .single-project .blog-row .facts-column  {
  width: 25% !important;
  position: sticky;
  top: 100px;
  padding-left: 0;
}
.image-text * {
  color: #B08E66 !important;
  font-size: 14px;
}
.et_pb_slide_content p, .et_pb_slide_content *, .et_pb_slide_content {
  font-size: 2vw !important;
  line-height: 2vw !important;
  text-transform: uppercase;
}

/* Prev / Next post navigation */
.prev-next {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.prev-next__side {
  flex: 1;
  display: flex;
}

.prev-next__side--next {
  justify-content: flex-end;
}

.prev-next__link {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 100px 0;
  width: 100%;
  text-decoration: none;
  color: #775646;
  transition: opacity 0.2s ease;
}

.prev-next__side--next .prev-next__link {
  justify-content: flex-end;
}

.prev-next__link .prev-next__icon--next {
  margin-right: 20px;
}

.prev-next__label {
  font-family: 'Boska', serif;
  font-weight: 400;
  font-size: clamp(3.5rem, 7vw, 6.25rem);
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #775646;
}

.prev-next__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: clamp(3rem, 5vw, 5rem);
  color: #775646;
}

.prev-next__icon--prev .prev-next__arrow-svg {
  transform: rotate(-90deg);
}

.prev-next__icon--next .prev-next__arrow-svg {
  transform: rotate(90deg);
}
.prev-next__link:hover {
  margin-right: 15px;
}
.prev-next__link {
  transition: .1s ease-in-out;
}

.prev-next__arrow-svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Facts — single post sidebar */
.facts {
  width: 100%;
  max-width: 449px;
  border-bottom: 1px solid rgba(119,86,70,.5);
}

.facts__row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0;
  border-top: 1px solid rgba(119,86,70,.5);
  padding: 6px 0;
}

.facts__label {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.01em;
  color: #775646;
  width: 160px;
  flex-shrink: 0;
}

.facts__value {
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.01em;
  color: #775646;
}

/* Gallery Carousel */
.gallery-carousel {
  position: relative;
  display: flex;
  flex-direction: column;
}

.gallery-carousel__viewport {
  overflow: hidden;
}

.gallery-carousel__track {
  display: flex;
  gap: 1em;
  will-change: transform;
}

.gallery-carousel__item {
  flex: 0 0 calc((100% - 2.5em) / 3.5);
  min-width: 0;
}

.gallery-carousel__nav {
  display: flex;
  gap: 0.5em;
  margin-bottom: 1.25em;
  justify-content: flex-end;
  order: -1;
  padding-right: 2.5%;
}

.gallery-carousel__btn {
  background: none;
  cursor: pointer;
  color: #775646;
  width: 2.5em;
  height: 2.5em;
  padding: 0.2em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  border: none !important;
  justify-content: center;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.gallery-carousel__btn:hover {
  background: rgba(119,86,70,.1);
}

.gallery-carousel__btn:disabled {
  opacity: 0.3;
  cursor: default;
}

.gallery-carousel__btn svg {
  width: 100%;
  height: auto;
  display: block;
}

.gallery-item__button {
  outline-offset: -1px;
  background-color: #0000;
  border: none !important;
  outline: 1px #131313;
  width: 100%;
  padding: 0;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.gallery-item__button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  border-radius: .375em;
  transition: background 0.3s ease;
  pointer-events: none;
}

.gallery-item__button:hover::after {
  background: rgba(0,0,0,0.22);
}

.gallery-item__button:focus-visible {
  outline-offset: 3px;
  border-radius: .25em;
  outline: 1px solid #131313;
}

.gallery-item__img {
  width: 100%;
}

.lightbox-wrap {
  z-index: 999999;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100dvh;
  display: none;
  position: fixed;
  inset: 0;
}

.lightbox-wrap.is-active {
  display: flex;
}

.lightbox-img__wrap {
  width: 90vw;
  height: calc(100svh - 10em);
}

.lightbox-img__container {
  width: 100%;
  height: 100%;
}

.lightbox-img__list {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.lightbox-img__item {
  visibility: hidden;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.lightbox-img__item.is-active {
  visibility: visible;
}

.lightbox-img {
  object-fit: contain;
  min-width: auto;
  max-height: 100%;
}

.lightbox-img__item img { 
  object-fit: contain !important;
  min-width: auto;
  width: auto;
  max-height: 100%;
}

.lightbox-nav {
  z-index: 2;
  color: #775646;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: 2em;
  left: 2em;
  right: 2em;
}

.lightbox-nav__col {
  width: 33.333%;
}

.lightbox-nav__col.start {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.lightbox-nav__col.center {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: center;
  align-items: center;
  display: flex;
}

.lightbox-nav__col.end {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.lightbox-nav__text {
  margin-bottom: 0;
  font-size: 14px;
}

.lightbox-nav__button {
  background-color: #0000;
  border: none;
  justify-content: center;
  align-items: center;
  margin: -0.75em;
  padding: 0.75em;
  display: flex;
  cursor: pointer;
  color: #775646;
  transition: opacity 0.2s ease;
}

.lightbox-nav__button:hover {
  opacity: 0.6;
}

.lightbox-nav__icon {
  width: 1.5em;
  height: 1.5em;
  display: block;
}

@media screen and (max-width: 767px) {
  .gallery-carousel__item {
    flex: 0 0 calc((100% - 1em) / 2.2);
  }
}

@media screen and (max-width: 479px) {
  .gallery-carousel__item {
    flex: 0 0 calc((100% - 0.75em) / 1.6);
  }
}

/* Terms */
.terms-text {
  margin-bottom: 40px !important;
}
.terms-headline h3 {
  font-size: 40px !important;
}
.sticky-img {
  position: sticky;
  top: 0;
}

/* Footer */
#main-footer {
  height: 100vh;
  display: grid;
  align-content: space-between;
}
#main-footer .footer-widget h4 {
  font-family: Inter !important;
  border-bottom: 1px solid #775646;
  padding-bottom: 5px !important;
  margin-bottom: 40px !important;
  text-transform: none !important;
}
.et_pb_widget {
  float: none;
}
#footer-widgets .footer-widget li::before {
  display: none !important;
}
#footer-widgets .footer-widget li {
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}
#footer-widgets .footer-widget li, #footer-widgets .footer-widget li *, #footer-widgets .footer-widget .textwidget * {
  font-family: 'Boska';
  line-height: 35px;
}
#footer-widgets {
  padding: 12% 0 0;
}
#footer-widgets .footer-widget li a::before {
  margin-left: -25px !important;
  position: relative !important;
  top: -2px !important;
  margin-right: 10px !important;
  opacity: 0 !important;
}
#footer-widgets .footer-widget li a:hover::before {
  opacity: 1 !important;
  margin-left: 0 !important;
}

/* Mobile */
@media only screen and (max-width: 1000px) {
  /* General */
  h2 {
    font-size: 32px !important;
    line-height: 36px !important;
  }
  .large-text *, #front h2.et_pb_slide_title, .sticky-title-el, #main-content .contact-text h2 {
    font-size: 40px !important; 
    line-height: 46px !important;
  }
  /* Header */
  .et_header_style_left #logo {
    max-width: 80%;
  }
  #et-top-navigation {
    text-align: right !important;
  }
  .custom-burger {
    --burger-gap: 6px !important;
    --burger-color: #fef8f4 !important;
    top: -8px;
  }
  #main-header.et-fixed-header {
    background: rgba(0,0,0,.2);
  }

  /* Page */
  #front .et_pb_slide {
    height: 70vh;
    padding: 0 4%;
  }
  #front .slider-arrow {
    bottom: 30px;
  }
  #front .et_pb_slide_description {
    padding-left: 0 !important;
    padding-bottom: 100px !important;
  }
  #marquee {
    padding: 50px 0 !important;
  }
  #main-content .underline-text {
   flex-direction: row !important;
  }
  #main-content .underline-text .et_pb_column {
    flex: 1 !important;
    width: 50% !important; /* or 33.33% for three cols, etc. */
  }
  #main-content .underline-text .et_pb_column:nth-child(2) {
    text-align: right !important;
  }
  .highlighted-project--1 {
    grid-column: 1 / span 8;
    margin-top: 0;
  }

  .highlighted-project--2 {
    grid-column: 5 / span 8;
    margin-top: 5rem;
  }

  .highlighted-project--3 {
    grid-column: 3 / span 8;
    margin-top: 6rem;
  }

  .highlighted-project--4 {
    grid-column: 5 / span 8;
    margin-top: 5rem;
  }

  .highlighted-project--5 {
    grid-column: 2 / span 8;
    margin-top: 4rem;
  }

  /* Repeating pattern for item 6 and beyond */
  .highlighted-project:nth-child(6n + 1) {
    grid-column: 1 / span 8;
    margin-top: 5rem;
  }

  .highlighted-project:nth-child(6n + 2) {
    grid-column: 5 / span 8;
    margin-top: 6rem;
  }

  .highlighted-project:nth-child(6n + 3) {
    grid-column: 3 / span 8;
    margin-top: 5rem;
  }

  .highlighted-project:nth-child(6n + 4) {
    grid-column: 5 / span 8;
    margin-top: 4rem;
  }

  .highlighted-project:nth-child(6n + 5) {
    grid-column: 2 / span 8;
    margin-top: 5rem;
  }

  .highlighted-project:nth-child(6n + 6) {
    grid-column: 4 / span 8;
    margin-top: 6rem;
  }

  /* Vertical gallery — mobile/tablet */
  .vertical-gallery {
    gap: 4rem 1.5rem;
    padding: 3rem 4vw;
  }
  .vertical-gallery__item,
  .vertical-gallery__item--1,
  .vertical-gallery__item--2,
  .vertical-gallery__item--3,
  .vertical-gallery__item--4,
  .vertical-gallery__item--5,
  .vertical-gallery__item--6,
  .vertical-gallery__item:nth-child(6n + 1),
  .vertical-gallery__item:nth-child(6n + 2),
  .vertical-gallery__item:nth-child(6n + 3),
  .vertical-gallery__item:nth-child(6n + 4),
  .vertical-gallery__item:nth-child(6n + 5),
  .vertical-gallery__item:nth-child(6n + 6) {
    grid-column: 2 / span 10;
    margin-top: 3rem;
  }
  .vertical-gallery__item:first-child {
    margin-top: 0;
  }

  #sb_instagram {
    padding: 4rem 4vw 6rem;
  }

  #sb_instagram #sbi_images {
    gap: 8rem 0 !important;
  }

  /* 2 per row, ~42% wide (span 5 of 12), alternating positions */
  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 1) {
    grid-column: 1 / span 5;
    transform: translateY(0);
  }

  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 2) {
    grid-column: 7 / span 5;
    transform: translateY(1.5rem);
  }

  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 3) {
    grid-column: 2 / span 5;
    transform: translateY(-0.5rem);
  }

  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 4) {
    grid-column: 8 / span 5;
    transform: translateY(1rem);
  }

  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 5) {
    grid-column: 1 / span 5;
    transform: translateY(0.5rem);
  }

  #sb_instagram #sbi_images .sbi_item:nth-child(6n + 6) {
    grid-column: 7 / span 5;
    transform: translateY(-1rem);
  }
  .insights-item {
    padding-left: 0 !important;
  }
  .insights-list {
    margin-bottom: 100px;
  }
  .testimonial-lines {
    width: 90%;
  }
  .c2a .et_pb_column {
    height: 60vh;
  }
  .c2a .et_pb_row {
    --vertical-gap: 0px !important;
  }

  /* Projects */
  .prev-next__label {
    font-size: 40px !important;
  }
  .grid-or-list {
    display: none !important;
  }
  .et_pb_slide_content p, .et_pb_slide_content *, .et_pb_slide_content {
    font-size: 20px !important;
    line-height: 20px !important;
  }
  .single-post .blog-row .facts-column, .single-project .blog-row .facts-column {
    width: 100% !important;
    position: static;
  }
  .single-post .blog-row .et_pb_column, .single-project .blog-row .et_pb_column {
    width: 100% !important;
    padding-left: 0 !important;
    margin-top: 50px;
  }

  /* Insights */
  #post-15 .et_pb_section_0 {
    padding-top: 150px !important;
  }

  /* Studio */
  .height-100 {
    height: 70vh !important;
  }

  /* Contact */
  .c2a.c2a-contact .et_pb_column {
    min-height: 50vh;
  }
  
  /* Footer */
  .footer-image {
    display: none;
  }
}

/* iPad Portrait Changes */
@media only screen and (min-width: 768px) and (orientation:portrait) and (min-height:1024px) { 
  /* General */
  .large-text *, #front h2.et_pb_slide_title, .sticky-title-el, #main-content .contact-text h2 {
    font-size: 60px !important;
    line-height: 66px !important;
  }
  h2 {
    font-size: 36px !important;
    line-height: 42px !important;
  }

  /* Page */
  #front .slider-arrow {
    bottom: 30px;
    left: 35px;
  }

  /* Footer */
  #main-footer {
    height: inherit;
    padding-bottom: 50px;
  }
}

/* iPad Landscape Changes */
@media only screen and (min-width: 768px) and (orientation:landscape) and (max-width: 1280px) { 
  .single-post .blog-row .et_pb_column, .single-project .blog-row .et_pb_column {
    width: 64% !important;
  }
  .single-post .blog-row .facts-column, .single-project .blog-row .facts-column {
    width: 33% !important;
  }
}