/* David Uribe: reel player lightbox. */
.du-reel{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,10,10,.92);opacity:0;transition:opacity .25s ease}
.du-reel.is-open{opacity:1}
.du-reel__box{position:relative;width:min(1200px,100%,calc((100vh - 120px) * 16 / 9));aspect-ratio:16/9;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.du-reel__box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.du-reel__close{position:absolute;top:-52px;right:0;width:44px;height:44px;border:0;border-radius:50%;background:#F4B62B;color:#000;font:600 26px/44px sans-serif;cursor:pointer}
.du-reel__close:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media (max-width:767px){.du-reel__close{top:-50px}}

/* Experience rows: role is the headline, org + dates second, then the skills */
.du-exp-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;}
.du-exp-org{font-family:"Archivo",serif;font-size:22px;line-height:1.2;color:#1E1E1E;}
.du-exp-dates{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:#6B6B72;}
.elementor-element-2c8fc75 ~ div .tp-el-link-text, .elementor-element-2c8fc75 .tp-el-link-text{font-size:30px !important;}
/* skills are typed out on one line under org + dates; rows sit much closer together */
.du-exp-skills{flex:1 1 100%;width:100%;margin:0;font-size:15px;line-height:1.6;color:#000;}
.e-con:has(> .du-exp-skills){margin-top:6px;}
.du-exp-skills > span{white-space:nowrap;} /* a skill never splits, and a wrapped line never starts with a dot */
.elementor-widget-container:has(> .du-exp-meta){padding-bottom:0 !important;}
.e-con:has(> .elementor-widget .du-exp-meta){padding-right:0 !important;}
.e-con:has(> .e-con > .elementor-widget .du-exp-meta) > .e-con:not(:has(.du-exp-meta)):not(:has(.tp-el-link-text)){margin-top:-25px;margin-bottom:-25px;} /* the Say Hi badge doesn't stretch its row */
@media (max-width:1024px){ .e-con:has(> .e-con > .elementor-widget .du-exp-meta) > .e-con:not(:has(.du-exp-meta)):not(:has(.tp-el-link-text)){display:none;} }
@media (max-width:767px){
  .e-con:has(> .e-con > .elementor-widget .du-exp-meta){padding-top:22px !important;padding-bottom:22px !important;gap:8px !important;}
}
.e-con:has(> .e-con > .elementor-widget .du-exp-meta){padding-top:30px !important;padding-bottom:30px !important;}

/* Header logo: daviduribe.com's peek-a-boo Lottie, one size throughout, replays on hover */
.qda-header .qda-header__logo{width:130px;height:auto !important;max-width:none !important;}
.du-logo{position:relative;display:block;width:100%;aspect-ratio:199/135;}
.du-logo > svg,.du-logo__fallback{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:contain;}
.du-logo.is-ready .du-logo__fallback{display:none;}
.du-logo > svg{filter:drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff);}
@media (max-width:767px){
  .qda-header .qda-header__logo{width:100px;}
}

/* About: daviduribe.com's looping doodle-face video replaces the photo */
.elementor-24 .elementor-element.elementor-element-d59a6a4:not(.elementor-motion-effects-element-type-background){background-image:none;background-color:transparent;}
.elementor-element-d59a6a4{position:relative;overflow:visible;}
.du-about-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:0;display:block;}
.elementor-24 .elementor-element.elementor-element-d59a6a4::before{background-image:none !important;} /* theme logo watermark that used to sit hidden behind the white */
/* multiply: the video's white backdrop drops out so the page grid shows behind the face; the slight lift pushes off-white compression noise to pure white */
.du-about-video{mix-blend-mode:multiply;filter:brightness(1.05) contrast(1.05);}
.elementor-element-d59a6a4 > .elementor-element{z-index:1;}
@media (max-width:767px){ .elementor-24 .elementor-element.elementor-element-d59a6a4{--min-height:0px;aspect-ratio:1/1;} }

/* Thumbnails show the top of the work (website heroes), not the middle */
img[src*="Quinta-D.-Amalia-home-"],img[src*="Quinta-Dona-Amalia-slide-"],img[src*="T1-"],img[src*="T2-"],img[src*="T3"],img[src*="slide-img-"]{object-position:50% 0 !important;}

/* Hero: brand yellow with the page grid drawn over it; the colour blob is retired */
.elementor-24 .elementor-element.elementor-element-c293c31{background-color:#F4B62B;background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px);background-size:56px 56px;}
.elementor-element-e1ce7ff{display:none !important;}

/* Reel preview where the gallery was: yellow runs behind its top half */
.elementor-element-6084c86{display:block;position:relative;padding:0 var(--qda-gutter,40px) 80px;}
.elementor-element-6084c86::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(50% - 40px);background-color:#F4B62B;background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px);background-size:56px 56px;background-position:0 var(--du-gy,0px);}
.du-reelpreview{position:relative;z-index:1;}
.elementor-element-6084c86 > .elementor-element{display:none;}
.du-reelpreview{max-width:1200px;margin:0 auto;}
.du-reelpreview__frame{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.25);}
.du-reelpreview__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.du-reelpreview__frame::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none;transition:background .3s;}
.du-reelpreview__frame:hover::after{background:rgba(0,0,0,.4);}
.du-reelpreview__cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;gap:14px;padding:10px 28px 10px 10px;border-radius:999px;background:#F4B62B;color:#000;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:17px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:transform .25s ease,background .25s ease;}
.du-reelpreview__cta:hover{transform:translate(-50%,-50%) scale(1.05);color:#000;}
.du-reelpreview__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#000;}
.du-reelpreview__icon svg{width:22px;height:22px;fill:#F4B62B;margin-left:3px;}
@media (max-width:767px){
  .elementor-element-6084c86{padding:0 16px 48px;}
  .elementor-element-6084c86::before{height:calc(50% - 24px);}
  .du-reelpreview__cta{font-size:13px;gap:10px;padding:6px 18px 6px 6px;}
  .du-reelpreview__icon{width:40px;height:40px;}
}

/* Hero headline: lowercase, a condensed lead-in, and "stand out" as a die-cut sticker tilted left */
h1.tp-hero-title{line-height:.9;}
.du-lead,.du-lead *{font-stretch:80%;letter-spacing:-.01em;}
.du-standout,.du-standout *{font-stretch:125%;font-weight:800;}
.du-standout{position:relative;display:inline-block;white-space:nowrap;font-size:min(1em, calc((100vw - 48px) / 5.9));transform:rotate(-3deg);margin-top:.08em;}
/* die-cut backing made from the letters themselves (tools/diecut.mjs): 0.3em of margin on every side of the text box */
.du-standout::before{content:"";position:absolute;z-index:-1;left:-.3em;top:-.3em;width:calc(100% + .6em);height:calc(100% + .6em);background:url(/du/standout-sticker.png?v=2) 0 0/100% 100% no-repeat;filter:drop-shadow(0 .06em .1em rgba(0,0,0,.18));pointer-events:none;}

/* shrinks only when the line would overflow a narrow screen */

/* About: hi-five sticker in place of the spinning square, slapped on with a slight right tilt */
.du-sticker{transform:rotate(9deg);transform-origin:50% 60%;}
.du-sticker img{display:block;width:150px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18)) drop-shadow(0 1px 1px rgba(0,0,0,.12));}
@media (max-width:767px){ .du-sticker img{width:96px;} body:not(.rtl) .elementor-24 .elementor-element.elementor-element-9b4a4eb{left:-6px !important;top:-56px !important;} }
/* "stand out" peels on as one sticker instead of rising with the rest: the theme's fade is held off its letters,
   and du-site.js lays it down left to right along a moving fold, with the not-yet-stuck part folded back over it
   (.du-peel: the die-cut shape mirrored at the fold, shaded darker toward the bend) */
.du-anim .du-standout div{opacity:1 !important;transform:none !important;}
.du-anim .du-standout{clip-path:inset(0 100% 0 0);}
.du-anim .du-standout.is-done{clip-path:none;}
.du-peel{position:absolute;top:-.3em;height:calc(100% + .6em);z-index:1;pointer-events:none;filter:drop-shadow(-.03em .05em .06em rgba(0,0,0,.28));}
.du-peel__back{display:block;width:100%;height:100%;background:linear-gradient(90deg,#fbfaf7 0%,#ebe8e1 55%,#c9c3b6 100%);
  -webkit-mask:url(/du/standout-sticker-back.png) no-repeat;mask:url(/du/standout-sticker-back.png) no-repeat;}

/* The white band between the yellow hero and The Work (bottom of the reel preview, About, client logos) uses
   a dot texture instead of the page grid; du-site.js sets each section's --du-dy so the dots line up across them.
   The doodle-face video multiplies over the dots too. */
.elementor-24 .elementor-element.elementor-element-6084c86,
.elementor-24 .elementor-element.elementor-element-3feda77,
.elementor-24 .elementor-element.elementor-element-97a351d{background-color:#fff;background-image:radial-gradient(circle,rgba(0,0,0,.16) 1.1px,transparent 1.7px);background-size:24px 24px;background-position:12px calc(12px + var(--du-dy,0px));}

/* Client logo strip: black logos, sized per logo in the markup, never wider than their slot */
.tp-brand-item img[src^="/du/logos/"]{max-width:82%;object-fit:contain;filter:none !important;}
@media (max-width:767px){ .tp-brand-item img[src^="/du/logos/"]{transform:scale(.85);} }

/* Website Design tab: four browser-framed 16:9 shots fanned on the left (draggable a little, du-site.js), the CRT
   playing the website loop on the right, on top of everything while the pile is closed. The theme slides the
   left imgs; du-site.js slides the CRT, tilts everything in from straight, and gathers the browsers into a pile. */
.du-bstack{position:relative;padding:4% 0 2%;}
.tp-project-3-thumb .du-bframe{display:block;position:relative;width:86%;margin:0 auto;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.35);}
.du-drag > *{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-drag:none;}
.du-drag > .is-dragging{cursor:grabbing;box-shadow:0 30px 60px rgba(0,0,0,.5);}
.tp-project-3-thumb .du-bframe--a{z-index:1;} .tp-project-3-thumb .du-bframe--b{z-index:2;}
.tp-project-3-thumb .du-bframe--c{z-index:3;} .tp-project-3-thumb .du-bframe--d{z-index:4;}
.tp-project-3-thumb .du-bframe--b,.tp-project-3-thumb .du-bframe--c,.tp-project-3-thumb .du-bframe--d{margin-top:-30%;}
.tp-project-3-thumb.pro-img-2:has(.du-bstack--crt){position:relative;z-index:5;}
.tp-project-3-thumb .du-crt--work{width:100%;max-width:520px;margin:0 auto;}
@media (min-width:1200px){
  .tp-project-3-thumb .du-bframe{width:min(21vw,380px);margin:0 0 0 auto;}
  .tp-project-3-thumb .du-bframe--b,.tp-project-3-thumb .du-bframe--c,.tp-project-3-thumb .du-bframe--d{margin-top:-6vw;}
  .tp-project-3-thumb.pro-img-1 .du-bframe--a{left:-2.5vw;transform:rotate(-5deg);}
  .tp-project-3-thumb.pro-img-1 .du-bframe--b{left:1.5vw;transform:rotate(3deg);}
  .tp-project-3-thumb.pro-img-1 .du-bframe--c{left:-3.5vw;transform:rotate(-2deg);}
  .tp-project-3-thumb.pro-img-1 .du-bframe--d{left:2vw;transform:rotate(4deg);}
  .tp-project-3-thumb .du-crt--work{width:min(26vw,470px);max-width:none;margin:0 auto 0 0;}
}
@media (max-width:1199px){
  .tp-project-3-thumb .du-bstack .du-bframe--a{left:-5%;transform:rotate(-4deg);}
  .tp-project-3-thumb .du-bstack .du-bframe--b{left:5%;transform:rotate(3deg);}
  .tp-project-3-thumb .du-bstack .du-bframe--c{left:-4%;transform:rotate(-2deg);}
  .tp-project-3-thumb .du-bstack .du-bframe--d{left:4%;transform:rotate(2.5deg);}
}

/* Brand Design tab: three square pieces per side, piled straight then fanned out at an angle as the tab opens
   (same theme slide + du-site.js tilt as the website windows; later pieces sit on top) */
.tp-project-3-thumb .du-sq{display:block;position:relative;width:62%;margin:0 auto;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.35);}
.tp-project-3-thumb .du-sq--b{z-index:2;margin-top:-30%;}
.tp-project-3-thumb .du-sq--c{z-index:3;margin-top:-30%;}
.tp-project-3-thumb .du-sq--a{z-index:1;}
@media (min-width:1200px){
  .tp-project-3-thumb .du-sq{width:min(14vw,250px);}
  .tp-project-3-thumb .du-sq--b,.tp-project-3-thumb .du-sq--c{margin-top:-6vw;}
  .tp-project-3-thumb.pro-img-1 .du-sq{margin:0 0 0 auto;}
  .tp-project-3-thumb.pro-img-2 .du-sq{margin:0 auto 0 0;}
  .tp-project-3-thumb.pro-img-1 .du-sq--b,.tp-project-3-thumb.pro-img-1 .du-sq--c,.tp-project-3-thumb.pro-img-2 .du-sq--b,.tp-project-3-thumb.pro-img-2 .du-sq--c{margin-top:-6vw;}
  .tp-project-3-thumb.pro-img-1 .du-sq--a{left:-9vw;transform:rotate(-7deg);}
  .tp-project-3-thumb.pro-img-1 .du-sq--b{left:-1vw;transform:rotate(4deg);}
  .tp-project-3-thumb.pro-img-1 .du-sq--c{left:-7vw;transform:rotate(-3deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--a{left:9vw;transform:rotate(6deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--b{left:1vw;transform:rotate(-4deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--c{left:7vw;transform:rotate(3deg);}
}
@media (max-width:1199px){
  .tp-project-3-thumb .du-bstack .du-sq--a{left:-12%;transform:rotate(-5deg);}
  .tp-project-3-thumb .du-bstack .du-sq--b{left:12%;transform:rotate(4deg);}
  .tp-project-3-thumb .du-bstack .du-sq--c{left:-6%;transform:rotate(-2deg);}
}

/* Motion tab: six 16:9 players (three per side) showing a still; play swaps in the Vimeo player in place.
   Same pile → slide → fan as the brand squares (du-site.js also handles the slide, since these aren't imgs). */
.du-vid{position:relative;display:block;width:80%;margin:0 auto;aspect-ratio:16/9;background:#111 center/cover no-repeat;border-radius:10px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.4);}
.du-vid--a{z-index:1;} .du-vid--b{z-index:2;margin-top:-12%;} .du-vid--c{z-index:3;margin-top:-12%;} .du-vid--d{z-index:4;margin-top:-12%;}
.du-vid{cursor:pointer;} .du-vid.is-playing{z-index:10;cursor:auto;}
.du-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.du-vid__play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border:0;border-radius:50%;background:#F4B62B;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .2s ease;}
.du-vid__play:hover,.du-vid__play:focus-visible{transform:scale(1.12);}
.du-vid__play:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.du-vid__play svg{width:22px;height:22px;fill:#000;margin-left:3px;}
@media (min-width:1200px){
  .tp-project-3-thumb .du-vid{width:min(21vw,380px);}
  .tp-project-3-thumb .du-vid--b,.tp-project-3-thumb .du-vid--c,.tp-project-3-thumb .du-vid--d{margin-top:-4vw;}
  .tp-project-3-thumb.pro-img-1 .du-vid{margin-left:auto;margin-right:0;}
  .tp-project-3-thumb.pro-img-2 .du-vid{margin-left:0;margin-right:auto;}
  .tp-project-3-thumb.pro-img-1 .du-vid--a{left:-6vw;transform:rotate(-5deg);}
  .tp-project-3-thumb.pro-img-1 .du-vid--b{left:0;transform:rotate(3deg);}
  .tp-project-3-thumb.pro-img-1 .du-vid--c{left:-4vw;transform:rotate(-2deg);}
  .tp-project-3-thumb.pro-img-1 .du-vid--d{left:-1vw;transform:rotate(4deg);}
  .tp-project-3-thumb.pro-img-2 .du-vid--a{left:6vw;transform:rotate(4deg);}
  .tp-project-3-thumb.pro-img-2 .du-vid--b{left:0;transform:rotate(-3deg);}
  .tp-project-3-thumb.pro-img-2 .du-vid--c{left:4vw;transform:rotate(2deg);}
  .tp-project-3-thumb.pro-img-2 .du-vid--d{left:1vw;transform:rotate(-4deg);}
}
@media (max-width:1199px){
  .tp-project-3-thumb .du-bstack .du-vid--a{left:-7%;transform:rotate(-4deg);}
  .tp-project-3-thumb .du-bstack .du-vid--b{left:7%;transform:rotate(3deg);}
  .tp-project-3-thumb .du-bstack .du-vid--c{left:-3%;transform:rotate(-2deg);}
  .tp-project-3-thumb .du-bstack .du-vid--d{left:5%;transform:rotate(2deg);}
}

/* Work tabs: the subheadline sits under the headline (the "See …" buttons are gone) */
.tp-project-3-content .du-meta-below{display:block;margin:18px 0 0;}

/* Body copy on the white sections is black, not grey (About paragraphs) */
.elementor-24 .elementor-element-0804665 p,.elementor-24 .elementor-element-cedba46 p,.elementor-24 .elementor-element-7ae68de p{color:#000 !important;}

/* Above "Get in touch": the website loop plays inside an old-school CRT. The monitor PNG has its screen cut out;
   the video sits behind it, bent into the screen's perspective by du-site.js and masked to the exact opening. */
.elementor-24 .elementor-element.elementor-element-b585314.du-crt-section{display:flex;justify-content:center;align-items:center;padding:90px 20px;min-height:0;background-color:#121212;background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);background-size:56px 56px;}
.du-crt{position:relative;width:min(620px,86vw);aspect-ratio:1137/1120;}
.du-crt__body{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;background:url(/du/crt-monitor.png) 0 0/100% 100% no-repeat;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));}
.du-crt__screen{position:absolute;inset:0;z-index:1;overflow:hidden;-webkit-mask:url(/du/crt-screen-mask.png) 0 0/100% 100% no-repeat;mask:url(/du/crt-screen-mask.png) 0 0/100% 100% no-repeat;}
.du-crt__plane{position:absolute;left:0;top:0;width:1200px;height:900px;transform-origin:0 0;}
.du-crt__video{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:767px){ .elementor-24 .elementor-element.elementor-element-b585314.du-crt-section{padding:56px 16px;} }

/* Test: the bottom showcase uses a Game Boy (screen cut out) cycling the six square brand pieces, built on the same
   .du-crt pieces: du-site.js bends the plane into the screen's tilt, the mask trims it to the opening. */
.du-crt.du-crt--gb{width:min(380px,72vw);aspect-ratio:800/1020;}
.du-crt--gb .du-crt__body{background-image:url(/du/gameboy.png);filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));}
.du-crt--gb .du-crt__screen{-webkit-mask-image:url(/du/gameboy-screen-mask.png);mask-image:url(/du/gameboy-screen-mask.png);background:#111;}
.du-crt--gb .du-crt__plane{width:1000px;height:900px;}
.du-gb__slide{position:absolute;inset:0;background:center/cover no-repeat;clip-path:inset(0 100% 0 0);animation:du-gb 18s infinite both;}
@keyframes du-gb{0%{clip-path:inset(0 100% 0 0);z-index:2;animation-timing-function:cubic-bezier(.7,0,.2,1)}4%{clip-path:inset(0 0 0 0);z-index:2}16.66%{clip-path:inset(0 0 0 0);z-index:2}16.67%{clip-path:inset(0 0 0 0);z-index:1}20.67%{clip-path:inset(0 0 0 0);z-index:1}20.68%{clip-path:inset(0 100% 0 0);z-index:1}100%{clip-path:inset(0 100% 0 0);z-index:1}}
@media (prefers-reduced-motion:reduce){ .du-gb__slide{animation:none;} .du-gb__slide:first-child{clip-path:none;} }

/* Brand Design tab: the Game Boy (cycling all six pieces) on the left, on top of the pile while closed; four
   square pieces on the right that can be nudged around but never onto the Game Boy (du-site.js) */
.tp-project-3-thumb .du-crt--gb{width:min(62vw,340px);margin:0 auto;}
.tp-project-3-thumb.pro-img-1:has(.du-crt--gb){position:relative;z-index:5;}
.tp-project-3-thumb .du-bstack--sq .du-sq--d{z-index:4;margin-top:-30%;}
@media (min-width:1200px){
  .tp-project-3-thumb .du-crt--gb{width:min(19vw,330px);margin:0 0 0 auto;}
  .tp-project-3-thumb .du-bstack--sq .du-sq--b,.tp-project-3-thumb .du-bstack--sq .du-sq--c,.tp-project-3-thumb .du-bstack--sq .du-sq--d{margin-top:-8vw;}
  .tp-project-3-thumb.pro-img-2 .du-sq--a{left:6vw;transform:rotate(6deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--b{left:0;transform:rotate(-4deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--c{left:7vw;transform:rotate(3deg);}
  .tp-project-3-thumb.pro-img-2 .du-sq--d{left:1.5vw;transform:rotate(-6deg);}
}
@media (max-width:1199px){
  .tp-project-3-thumb .du-bstack .du-sq--d{left:8%;transform:rotate(-3deg);}
}

/* Motion Design tab: a vintage TV on the left; four players on the right. The TV (screen cut out) plays the reel preview,
   silent and untouchable. Same .du-crt pieces: du-site.js bends the plane into the screen, the mask trims it. */
.du-crt.du-crt--tv{aspect-ratio:800/852;pointer-events:none;}
.du-crt--tv .du-crt__body{background-image:url(/du/tv.png);filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));}
.du-crt--tv .du-crt__screen{-webkit-mask-image:url(/du/tv-screen-mask.png);mask-image:url(/du/tv-screen-mask.png);background:#111;}
.du-crt--tv .du-crt__plane{width:1200px;height:960px;}
.tp-project-3-thumb .du-crt--tv{width:100%;max-width:480px;margin:0 auto;}
.tp-project-3-thumb.pro-img-1:has(.du-crt--tv){position:relative;z-index:5;}
@media (min-width:1200px){ .tp-project-3-thumb .du-crt--tv{width:min(25vw,450px);max-width:none;margin:0 0 0 auto;} }
