/* Daga Designs Portfolio Premium, v1.2.0. Every selector is scoped. */
:where(.dpp-portfolio, #daga-portfolio-single) {
  --dpp-ivory: #FFFAF2;
  --dpp-ink: #392B24;
  --dpp-muted: #756457;
  --dpp-line: rgba(73, 52, 41, .17);
  --dpp-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --dpp-sans: 'Manrope', Arial, sans-serif;
  color: var(--dpp-ink);
  font-family: var(--dpp-sans);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.7;
}
:where(.dpp-portfolio, #daga-portfolio-single),
:where(.dpp-portfolio, #daga-portfolio-single) *,
:where(.dpp-portfolio, #daga-portfolio-single) *::before,
:where(.dpp-portfolio, #daga-portfolio-single) *::after { box-sizing: border-box; }
:where(.dpp-portfolio, #daga-portfolio-single) a { text-decoration: none; }
:where(.dpp-portfolio, #daga-portfolio-single) a:focus-visible,
.dpp-lightbox button:focus-visible { outline: 2px solid #9c765c; outline-offset: 4px; }
:where(.dpp-portfolio, #daga-portfolio-single) img { max-width: 100%; }

/* -------- Portfolio archive, compatible with an existing Elementor page -------- */
.dpp-portfolio {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  background: var(--dpp-ivory);
  padding: clamp(64px, 7vw, 118px) 0 clamp(72px, 7vw, 118px);
}
.dpp-portfolio__header { max-width: 1000px; text-align: center; padding: 0 20px; margin: 0 auto clamp(38px, 4vw, 62px); }
.dpp-eyebrow { display: block; font: 500 10px/1.6 var(--dpp-sans); letter-spacing: .24em; text-transform: uppercase; color: #877264; }
.dpp-portfolio h2.dpp-portfolio__title {
  margin: 18px 0 0 !important;
  font: 400 clamp(52px, 6vw, 92px)/1.02 var(--dpp-serif) !important;
  text-transform: none !important; letter-spacing: -.035em;
  color: var(--dpp-ink) !important;
}
.dpp-rule { display: block; width: 55px; height: 1px; background: #a48b79; margin: 27px auto 0; }
.dpp-rule--left { margin-left: 0; }
.dpp-portfolio__subtitle { max-width: 540px; margin: 24px auto 0 !important; font: 400 14px/1.85 var(--dpp-sans); color: #77675b; }
.dpp-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 25px; margin: 0 auto 38px; padding: 0 20px; }
.dpp-filter { display: inline-flex; min-height: 32px; align-items: center; border-bottom: 1px solid transparent; font: 500 10px/1.5 var(--dpp-sans); letter-spacing: .14em; text-transform: uppercase; color: #827265 !important; transition: color .3s ease, border-color .3s ease; }
.dpp-filter:hover, .dpp-filter.is-current { color: #392B24 !important; border-bottom-color: #392B24; }
.dpp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; width: 100%; }
.dpp-card { position: relative; margin: 0; min-width: 0; }
.dpp-card__link { position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; background: #b1a195; color: #FFFAF2 !important; }
.dpp-card__media, .dpp-card__shade { position: absolute; inset: 0; }
.dpp-card__photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: opacity .7s cubic-bezier(.22,1,.36,1), transform 1.1s cubic-bezier(.22,1,.36,1); }
.dpp-card__photo--main { z-index: 0; opacity: 1; }
.dpp-card__photo--hover { z-index: 1; opacity: 0; }
.dpp-card__placeholder { position: absolute; inset: 0; background: radial-gradient(ellipse at 15% 22%, #c8b9ad, #826b5c 72%, #49372d); }
.dpp-card__shade { z-index: 2; background: linear-gradient(180deg, rgba(19,14,12,.38) 0%, transparent 29%, rgba(17,12,10,.17) 55%, rgba(17,12,10,.79) 100%); transition: background .5s ease; }
.dpp-card__category { position: absolute; z-index: 3; top: clamp(22px, 2.8vw, 45px); left: clamp(20px, 2.6vw, 43px); right: 20px; font: 500 10px/1.7 var(--dpp-sans); text-transform: uppercase; letter-spacing: .22em; color: #FFFAF2; }
.dpp-card__category::after { display: block; content: ''; width: 36px; height: 1px; margin-top: 11px; background: rgba(255,250,242,.8); }
.dpp-card__body { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: clamp(25px, 3vw, 52px); transform: translateY(0); }
.dpp-card h3.dpp-card__title { margin: 0 !important; padding: 0 !important; font: 400 clamp(38px, 3.2vw, 57px)/1.04 var(--dpp-serif) !important; color: #FFFAF2 !important; letter-spacing: -.03em; text-transform: none !important; }
.dpp-card__teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 13px 0 0 !important; color: rgba(255,250,242,.9); font: 400 clamp(11px, .95vw, 14px)/1.65 var(--dpp-sans); max-width: 370px; }
.dpp-card__reveal { max-height: 0; opacity: 0; overflow: hidden; transform: translateY(14px); transition: max-height .55s ease, opacity .5s ease, transform .5s ease; }
.dpp-card__more { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; margin: 18px 0 0 !important; padding-top: 16px; border-top: 1px solid rgba(255,250,242,.45); font: 400 13px/1.75 var(--dpp-sans); color: rgba(255,250,242,.92); }
.dpp-card__explore { display: inline-flex; align-items: center; padding-bottom: 5px; margin-top: 18px; border-bottom: 1px solid rgba(255,250,242,.8); font: 500 10px/1.5 var(--dpp-sans); letter-spacing: .16em; text-transform: uppercase; }
.dpp-card__touch-hint { display: none; }
.dpp-card__link--has-hover.is-open .dpp-card__photo--main { opacity: 0; transform: scale(1.035); }
.dpp-card__link.is-open .dpp-card__photo--hover { opacity: 1; transform: scale(1.04); }
.dpp-card__link.is-open .dpp-card__shade { background: linear-gradient(180deg, rgba(18,13,11,.24), rgba(18,13,11,.12) 28%, rgba(18,13,11,.89) 100%); }
.dpp-card__link.is-open .dpp-card__reveal { max-height: 260px; opacity: 1; transform: translateY(0); }
@media (hover: hover) and (pointer: fine) {
 .dpp-card__link--has-hover:hover .dpp-card__photo--main,
 .dpp-card__link--has-hover:focus-visible .dpp-card__photo--main { opacity: 0; transform: scale(1.035); }
 .dpp-card__link:hover .dpp-card__photo--hover,
 .dpp-card__link:focus-visible .dpp-card__photo--hover { opacity: 1; transform: scale(1.04); }
 .dpp-card__link:hover .dpp-card__shade,
 .dpp-card__link:focus-visible .dpp-card__shade { background: linear-gradient(180deg, rgba(18,13,11,.24), rgba(18,13,11,.12) 28%, rgba(18,13,11,.89) 100%); }
 .dpp-card__link:hover .dpp-card__reveal,
 .dpp-card__link:focus-visible .dpp-card__reveal { max-height: 260px; opacity: 1; transform: translateY(0); }
}
.dpp-pagination { padding: 48px 20px 0; }
.dpp-pagination .page-numbers { display: flex; justify-content: center; gap: 7px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.dpp-pagination .page-numbers li { margin: 0; padding: 0; }
.dpp-pagination .page-numbers a, .dpp-pagination .page-numbers span { display: flex; min-width: 36px; min-height: 36px; padding: 7px 11px; border: 1px solid var(--dpp-line); align-items: center; justify-content: center; color: var(--dpp-ink); font: 500 12px/1 var(--dpp-sans); }
.dpp-pagination .page-numbers .current, .dpp-pagination .page-numbers a:hover { color: #FFFAF2; background: var(--dpp-ink); }
.dpp-empty { max-width: 780px; margin: 0 auto; padding: 80px 24px; text-align: center; color: var(--dpp-muted); }

/* -------- Single project page -------- */
#daga-portfolio-single { width: 100%; max-width: none; margin: 0; background: var(--dpp-ivory); color: var(--dpp-ink); overflow: hidden; }
.dpp-single__container { max-width: 1460px; width: 100%; margin-inline: auto; padding-inline: clamp(24px, 6vw, 110px); }
.dpp-hero { position: relative; display: flex; flex-direction: column; justify-content: space-between; isolation: isolate; min-height: clamp(570px, 79svh, 850px); background: linear-gradient(125deg, #756253, #251c18); color: #FFFAF2; }
.dpp-hero__image { position: absolute; display: block; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; z-index: 0; }
.dpp-hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(15,11,9,.76), rgba(15,11,9,.49) 50%, rgba(15,11,9,.16)), linear-gradient(0deg, rgba(15,11,9,.55), transparent 60%); pointer-events: none; }
.dpp-hero__top { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 25px; align-items: center; width: 100%; padding: 34px clamp(24px, 5.8vw, 100px); }
.dpp-hero__back, .dpp-hero__brand { color: #FFFAF2 !important; font: 500 10px/1.5 var(--dpp-sans); letter-spacing: .15em; text-transform: uppercase; }
.dpp-hero__back { display: inline-flex; align-items: center; border-bottom: 1px solid rgba(255,250,242,.55); padding-bottom: 7px; transition: border-color .2s ease; }
.dpp-hero__back:hover { border-color: #FFFAF2; }
.dpp-hero__brand { opacity: .8; }
.dpp-hero__copy { position: relative; z-index: 2; padding: 55px clamp(24px, 8vw, 135px) 45px; max-width: 1180px; margin-top: auto; }
.dpp-eyebrow--light { color: rgba(255,250,242,.88); }
#daga-portfolio-single h1.dpp-hero__title { margin: 18px 0 0 !important; max-width: 1100px; font: 400 clamp(66px, 8vw, 145px)/.94 var(--dpp-serif) !important; color: #FFFAF2 !important; text-transform: none !important; letter-spacing: -.045em; text-wrap: balance; }
.dpp-hero__subtitle { margin: 23px 0 0 !important; max-width: 590px; font: 400 clamp(14px, 1.25vw, 18px)/1.8 var(--dpp-sans); color: rgba(255,250,242,.92); }
.dpp-hero__index { position: relative; z-index: 2; display: flex; gap: 17px; align-items: center; padding: 20px clamp(24px, 8vw, 135px) 42px; color: rgba(255,250,242,.78); font: 500 9px/1.5 var(--dpp-sans); letter-spacing: .24em; }
.dpp-hero__line { height: 1px; width: 36px; background: rgba(255,250,242,.7); }
.dpp-intro { padding: clamp(92px, 10vw, 165px) 0; background: radial-gradient(ellipse at 35% 45%, rgba(154,118,91,.07), transparent 65%), #FFFAF2; }
.dpp-intro__grid, .dpp-story__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(45px, 9vw, 160px); align-items: start; }
#daga-portfolio-single h2.dpp-section-heading { margin: 21px 0 0 !important; padding: 0 !important; font: 400 clamp(57px, 6vw, 98px)/.98 var(--dpp-serif) !important; text-transform: none !important; letter-spacing: -.04em; color: var(--dpp-ink) !important; }
.dpp-section-heading em { font-style: italic; font-weight: 400; }
.dpp-intro__main { padding-top: clamp(9px, 3vw, 47px); }
.dpp-goal { font: 400 clamp(17px, 1.65vw, 25px)/1.8 var(--dpp-sans); letter-spacing: -.013em; color: #59483e; }
.dpp-goal p { margin: 0 0 19px; }
.dpp-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 50px 0 0; padding: 24px 0 0; border-top: 1px solid var(--dpp-line); }
.dpp-facts div { min-width: 0; }
.dpp-facts dt { color: #897568; text-transform: uppercase; letter-spacing: .14em; font: 500 10px/1.5 var(--dpp-sans); }
.dpp-facts dd { margin: 7px 0 0; font: 400 clamp(22px, 2.3vw, 33px)/1.1 var(--dpp-serif); color: var(--dpp-ink); }
.dpp-story { background: #eee6dd; padding: clamp(85px, 9vw, 142px) 0; }
.dpp-story__prose { color: #58493f; font: 400 clamp(15px, 1.1vw, 17px)/2 var(--dpp-sans); overflow-wrap: anywhere; }
.dpp-story__prose > :first-child { margin-top: 0; }
.dpp-story__prose > :last-child { margin-bottom: 0; }
.dpp-story__prose p { margin: 0 0 20px; }
.dpp-story__prose h2, .dpp-story__prose h3 { font-family: var(--dpp-serif); font-weight: 400; line-height: 1.14; text-transform: none; color: var(--dpp-ink); }
.dpp-story__prose h2 { font-size: clamp(32px, 3.2vw, 50px); }
.dpp-story__prose h3 { font-size: clamp(27px, 2.6vw, 40px); }
.dpp-story__prose a { text-decoration: underline; text-underline-offset: 3px; color: #563d2e; }
.dpp-story__prose img { height: auto; }
.dpp-story__prose .wp-block-image { max-width: 100%; }
.dpp-gallery-section { background: var(--dpp-ivory); padding: clamp(80px, 9vw, 135px) 0; }
.dpp-gallery-section__header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.dpp-gallery-section__count { font: 500 10px/1.5 var(--dpp-sans); letter-spacing: .17em; white-space: nowrap; color: #887364; }
.dpp-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(10px, 1.3vw, 19px); }
.dpp-gallery__item { margin: 0; grid-column: span 6; min-width: 0; }
.dpp-gallery__item:only-child { grid-column: span 12; }
.dpp-gallery__item:nth-child(5n + 1) { grid-column: span 7; }
.dpp-gallery__item:only-child:nth-child(5n + 1) { grid-column: span 12; }
.dpp-gallery__item:nth-child(5n + 2) { grid-column: span 5; }
.dpp-gallery__item:nth-child(5n + 3) { grid-column: span 12; }
.dpp-gallery__link { display: block; position: relative; isolation: isolate; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #ddd1c7; }
.dpp-gallery__item:nth-child(5n + 3) .dpp-gallery__link { aspect-ratio: 16 / 9; }
.dpp-gallery__image { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 800ms cubic-bezier(.22,1,.36,1); }
.dpp-gallery__zoom { display: grid; place-items: center; position: absolute; z-index: 1; bottom: 18px; right: 18px; width: 44px; height: 44px; border: 1px solid rgba(255,250,242,.85); border-radius: 50%; background: rgba(37,29,24,.23); color: #FFFAF2; font-size: 21px; transition: background .3s ease; }
.dpp-gallery__item figcaption { color: #8b796d; font: 400 11px/1.6 var(--dpp-sans); padding-top: 9px; }
@media (hover: hover) and (pointer: fine) { .dpp-gallery__link:hover .dpp-gallery__image { transform: scale(1.035); } .dpp-gallery__link:hover .dpp-gallery__zoom { background: rgba(37,29,24,.65); } }
.dpp-single-cta { background: #eae0d5; padding: clamp(90px, 11vw, 165px) 0; text-align: center; }
.dpp-single-cta__inner { max-width: 1100px; }
#daga-portfolio-single .dpp-single-cta h2 { font: 400 clamp(54px, 6vw, 93px)/.99 var(--dpp-serif) !important; text-transform: none !important; letter-spacing: -.04em; color: var(--dpp-ink) !important; margin: 22px auto 0 !important; }
.dpp-single-cta h2 em { font-weight: 400; }
.dpp-single-cta p { font: 400 14px/1.8 var(--dpp-sans); color: #6d5e54; margin: 23px 0 0; }
.dpp-button { display: inline-flex; min-height: 56px; align-items: center; justify-content: space-between; margin-top: 35px; padding: 15px 25px; border: 1px solid #392B24; background: transparent; font: 500 11px/1.5 var(--dpp-sans); letter-spacing: .16em; text-transform: uppercase; color: #392B24 !important; transition: color .3s, background .3s; }
.dpp-button:hover { background: #392B24; color: #FFFAF2 !important; }
.dpp-next__link { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: flex-start; min-height: clamp(380px, 40vw, 580px); background: #43362d; color: #FFFAF2 !important; overflow: hidden; }
.dpp-next__image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.dpp-next__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(16,12,10,.79), rgba(16,12,10,.40) 65%, rgba(16,12,10,.17)); }
.dpp-next__content { display: flex; z-index: 2; position: relative; flex-direction: column; align-items: start; width: 100%; max-width: 1460px; margin: 0 auto; padding: 68px clamp(25px, 7vw, 120px); }
.dpp-next__label { font: 500 10px/1.65 var(--dpp-sans); letter-spacing: .22em; text-transform: uppercase; color: rgba(255,250,242,.9); }
.dpp-next__content strong { max-width: 850px; margin: 16px 0 23px; font: 400 clamp(53px, 6vw, 97px)/1 var(--dpp-serif); letter-spacing: -.035em; color: #FFFAF2; }
.dpp-next__action { border-bottom: 1px solid rgba(255,250,242,.8); padding-bottom: 6px; font: 500 10px/1.5 var(--dpp-sans); letter-spacing: .18em; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) { .dpp-next__link:hover .dpp-next__image { transform: scale(1.045); } }
.dpp-single__bottom { padding: 27px 22px; text-align: center; background: #FFFAF2; }
.dpp-single__bottom a { color: var(--dpp-ink); font: 500 11px/1.6 var(--dpp-sans); text-transform: uppercase; letter-spacing: .15em; border-bottom: 1px solid #9a8677; padding-bottom: 5px; }

/* Accessible image viewer; only present after a user opens an image. */
.dpp-lightbox { border: 0; margin: auto; padding: 0; max-width: none; max-height: none; width: 100vw; height: 100dvh; background: rgba(15,11,9,.97); color: #FFFAF2; }
.dpp-lightbox::backdrop { background: rgba(15,11,9,.92); }
.dpp-lightbox__inner { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 65px 64px; }
.dpp-lightbox__image { display: block; max-width: 100%; max-height: calc(100dvh - 150px); width: auto; height: auto; object-fit: contain; }
.dpp-lightbox__caption { margin: 16px 0 0; color: #ddd1c8; font: 400 12px/1.6 Arial, sans-serif; text-align: center; }
.dpp-lightbox__close, .dpp-lightbox__nav { position: absolute; z-index: 2; min-width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; border: 1px solid rgba(255,250,242,.55); background: rgba(35,26,22,.45); color: #FFFAF2; font: 400 25px/1 Georgia, serif; }
.dpp-lightbox__nav { width: auto; min-width: 112px; padding: 0 14px; font: 500 11px/1.4 Manrope,Arial,sans-serif; letter-spacing: .05em; }
.dpp-lightbox__close { width: 44px; }
.dpp-lightbox__close { top: 18px; right: 22px; }
.dpp-lightbox__nav--prev { left: 15px; top: calc(50% - 22px); }
.dpp-lightbox__nav--next { right: 15px; top: calc(50% - 22px); }

@media (max-width: 1024px) {
 .dpp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .dpp-card__link { aspect-ratio: 4 / 5; }
 .dpp-card h3.dpp-card__title { font-size: clamp(36px, 4vw, 52px) !important; }
 .dpp-intro__grid, .dpp-story__grid { gap: 55px; }
 .dpp-hero__copy { padding-inline: 60px; }
}
@media (max-width: 767px) {
 .dpp-portfolio { padding: 65px 0 77px; }
 .dpp-portfolio__header { margin-bottom: 32px; }
 .dpp-portfolio h2.dpp-portfolio__title { font-size: clamp(47px, 11vw, 65px) !important; }
 .dpp-portfolio__subtitle { font-size: 13px; }
 .dpp-filters { gap: 7px 17px; margin-bottom: 24px; }
 .dpp-filter { font-size: 9px; }
 .dpp-grid { grid-template-columns: minmax(0, 1fr); }
 .dpp-card__link { aspect-ratio: 4 / 3; }
 .dpp-card__category { top: 23px; left: 23px; font-size: 9px; }
 .dpp-card__body { padding: 22px 24px 25px; }
 .dpp-card h3.dpp-card__title { font-size: clamp(37px, 9vw, 48px) !important; }
 .dpp-card__teaser { font-size: 11px; line-height: 1.5; margin-top: 7px !important; }
 .dpp-card__more { font-size: 11px; line-height: 1.5; margin-top: 9px !important; padding-top: 9px; }
 .dpp-card__explore { font-size: 9px; margin-top: 11px; }
 .dpp-hero { min-height: min(800px, 85svh); }
 .dpp-hero__image { object-position: center; }
 .dpp-hero__overlay { background: linear-gradient(180deg, rgba(17,12,10,.32), rgba(17,12,10,.35) 30%, rgba(17,12,10,.78) 100%); }
 .dpp-hero__top { gap: 12px; padding: 26px 23px; }
 .dpp-hero__back, .dpp-hero__brand { font-size: 9px; letter-spacing: .07em; }
 .dpp-hero__brand { display: none; }
 .dpp-hero__copy { padding: 80px 25px 33px; }
 #daga-portfolio-single h1.dpp-hero__title { font-size: clamp(61px, 14vw, 95px) !important; }
 .dpp-hero__subtitle { font-size: 13px; line-height: 1.7; }
 .dpp-hero__index { padding: 13px 25px 30px; font-size: 8px; letter-spacing: .13em; }
 .dpp-intro { padding: 75px 0 85px; }
 .dpp-intro__grid, .dpp-story__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
 #daga-portfolio-single h2.dpp-section-heading { font-size: clamp(57px, 12vw, 75px) !important; }
 .dpp-intro__main { padding-top: 0; }
 .dpp-goal { font-size: 16px; line-height: 1.8; }
 .dpp-facts { margin-top: 33px; gap: 13px; }
 .dpp-facts dt { font-size: 9px; }
 .dpp-facts dd { font-size: 24px; }
 .dpp-story { padding: 75px 0 82px; }
 .dpp-story__prose { font-size: 14px; line-height: 1.85; }
 .dpp-gallery-section { padding: 75px 0 85px; }
 .dpp-gallery-section__header { display: block; margin-bottom: 30px; }
 .dpp-gallery-section__count { display: block; margin-top: 16px; }
 .dpp-gallery { gap: 13px; }
 .dpp-gallery__item, .dpp-gallery__item:nth-child(n) { grid-column: span 12; }
 .dpp-gallery__link, .dpp-gallery__item:nth-child(n) .dpp-gallery__link { aspect-ratio: 4 / 3; }
 .dpp-gallery__zoom { width: 36px; height: 36px; right: 12px; bottom: 12px; }
 .dpp-single-cta { padding: 80px 0; }
 #daga-portfolio-single .dpp-single-cta h2 { font-size: clamp(49px, 10.5vw, 67px) !important; }
 .dpp-single-cta p { font-size: 13px; }
 .dpp-button { font-size: 10px; min-height: 51px; gap: 28px; padding: 13px 19px; }
 .dpp-next__link { min-height: 380px; }
 .dpp-next__content { padding: 60px 25px; }
 .dpp-next__content strong { font-size: clamp(53px, 11vw, 73px); }
 .dpp-next__label { font-size: 9px; }
 .dpp-lightbox__inner { padding: 70px 15px; }
 .dpp-lightbox__image { max-height: calc(100dvh - 175px); }
 .dpp-lightbox__nav { top: auto; bottom: 16px; }
 .dpp-lightbox__nav--prev { left: calc(50% - 121px); }
 .dpp-lightbox__nav--next { right: calc(50% - 121px); }
}
@media (hover: none), (pointer: coarse) {
 .dpp-card__touch-hint { display: block; font: 500 9px/1.5 var(--dpp-sans); letter-spacing: .10em; text-transform: uppercase; opacity: .84; margin-top: 12px; }
 .dpp-card__link.is-open .dpp-card__touch-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 :where(.dpp-portfolio, #daga-portfolio-single) *,
 :where(.dpp-portfolio, #daga-portfolio-single) *::before,
 :where(.dpp-portfolio, #daga-portfolio-single) *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* -------- v1.2 editorial tiles: full-bleed photos, interactive secondary view -------- */
.dpp-portfolio .dpp-grid { gap: 0 !important; }
.dpp-portfolio .dpp-card,
.dpp-portfolio .dpp-card__link { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; }
.dpp-portfolio .dpp-card__link { display: block; position: relative; width: 100%; aspect-ratio: var(--dpp-card-ratio, 3/4); min-height: 0; }
.dpp-portfolio .dpp-card__media { position: absolute; inset: 0; width: 100%; height: 100%; }
.dpp-portfolio .dpp-card__photo { inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.dpp-portfolio .dpp-card__photo--main {
  object-position: var(--dpp-main-x,50%) var(--dpp-main-y,50%);
  transform: scale(var(--dpp-main-scale,1));
}
.dpp-portfolio .dpp-card__photo--hover {
  object-position: var(--dpp-hover-x,50%) var(--dpp-hover-y,50%);
  transform: scale(var(--dpp-hover-scale,1));
}
/* Before hover only the category is present. On reveal the project name and description appear. */
.dpp-portfolio .dpp-card__body { opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .4s ease, transform .55s ease, visibility .4s ease; }
.dpp-portfolio .dpp-card__reveal { max-height: none; opacity: 1; transform: none; overflow: visible; }
.dpp-portfolio .dpp-card__category { transition: opacity .35s ease, transform .4s ease; }
.dpp-portfolio .dpp-card__link.is-open .dpp-card__body,
.dpp-portfolio .dpp-card__link:focus-visible .dpp-card__body { opacity: 1; visibility: visible; transform: translateY(0); }
.dpp-portfolio .dpp-card__link.is-open .dpp-card__category,
.dpp-portfolio .dpp-card__link:focus-visible .dpp-card__category { opacity: 0; transform: translateY(-12px); }
.dpp-portfolio .dpp-card__link--has-hover.is-open .dpp-card__photo--main { opacity: 0; transform: scale(var(--dpp-main-scale,1)); }
.dpp-portfolio .dpp-card__link.is-open .dpp-card__photo--hover { opacity: 1; transform: scale(var(--dpp-hover-scale,1)); }
@media (hover:hover) and (pointer:fine) {
 .dpp-portfolio .dpp-card__link:hover .dpp-card__body { opacity: 1; visibility: visible; transform: translateY(0); }
 .dpp-portfolio .dpp-card__link:hover .dpp-card__category { opacity: 0; transform: translateY(-12px); }
 .dpp-portfolio .dpp-card__link:hover .dpp-card__photo--main { transform: scale(var(--dpp-main-scale,1)); }
 .dpp-portfolio .dpp-card__link:hover .dpp-card__photo--hover { transform: scale(var(--dpp-hover-scale,1)); }
}
/* Banner: original project photo remains full bleed, type matches main Daga site. */
#daga-portfolio-single .dpp-hero__image {
  object-position: var(--dpp-hero-x,50%) var(--dpp-hero-y,50%);
  transform: scale(var(--dpp-hero-scale,1));
  transform-origin: center;
}
#daga-portfolio-single .dpp-hero__copy { max-width: 1280px; }
#daga-portfolio-single h1.dpp-hero__title { overflow-wrap: anywhere; font-weight: 400 !important; }
#daga-portfolio-single .dpp-hero__overlay { background: linear-gradient(90deg,rgba(20,14,12,.80) 0%,rgba(20,14,12,.44) 53%,rgba(20,14,12,.14)),linear-gradient(0deg,rgba(17,12,10,.59),transparent 70%); }
@media (max-width:767px) {
 .dpp-portfolio .dpp-card__link { aspect-ratio: var(--dpp-card-mobile-ratio, 4/3); }
 .dpp-portfolio .dpp-card__photo--main { object-position: var(--dpp-main-x-mobile,50%) var(--dpp-main-y-mobile,50%); transform: scale(var(--dpp-main-scale-mobile,1)); }
 .dpp-portfolio .dpp-card__photo--hover { object-position: var(--dpp-hover-x-mobile,50%) var(--dpp-hover-y-mobile,50%); transform: scale(var(--dpp-hover-scale-mobile,1)); }
 .dpp-portfolio .dpp-card__link.is-open .dpp-card__photo--main { transform: scale(var(--dpp-main-scale-mobile,1)); }
 .dpp-portfolio .dpp-card__link.is-open .dpp-card__photo--hover { transform: scale(var(--dpp-hover-scale-mobile,1)); }
 #daga-portfolio-single .dpp-hero__image { object-position: var(--dpp-hero-x-mobile,50%) var(--dpp-hero-y-mobile,50%); transform: scale(var(--dpp-hero-scale-mobile,1)); }
 #daga-portfolio-single h1.dpp-hero__title { font-size: clamp(47px, 12vw, 78px) !important; line-height: 1.01 !important; }
}
@media (max-width:380px) {
 .dpp-portfolio .dpp-card__body { padding: 17px 19px 20px; }
 .dpp-portfolio .dpp-card h3.dpp-card__title { font-size: 31px !important; }
}

/* ============================================================
   1.4.0 — genuine full viewport-width archive and single page.
   The Elementor shortcode may sit inside a narrow content widget;
   negative viewport margins release it without modifying the theme.
   ============================================================ */
.dpp-portfolio,
main#daga-portfolio-single {
  position: relative;
  display: block;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: clip;
}
.dpp-portfolio .dpp-grid {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
}
.dpp-portfolio .dpp-card,
.dpp-portfolio .dpp-card__link { width: 100%; max-width: none; }
@media (max-width: 1024px) {
  .dpp-portfolio .dpp-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 767px) {
  .dpp-portfolio .dpp-grid {grid-template-columns: minmax(0, 1fr);}
}
