/* Draft only: Portfolio, six ways to show the work. Keyed by html.dw-p-v1 ... dw-p-v6 */
:root{--pf-cream:#FFFCF8;--pf-paper:#F4F1EA;--pf-sage:#9B9B83;--pf-olive:#7C7C61;--pf-ink:#6f6f58;--pf-line:#dcd8cc;--pf-display:var(--d-font-display,"Bodoni Moda"),serif;--pf-body:var(--d-font-body,"Inter"),sans-serif;--pf-label:var(--d-font-label,"Assistant"),sans-serif;--pf-ease:cubic-bezier(.2,.7,.2,1)}
.dw-pf{display:none}
html[class*="dw-p-v"] .elementor-element-e549714{display:none!important}
html[class*="dw-p-v"] .dw-pf{display:block;width:100%;padding:10px 0 30px}
.dw-pf .v{display:none}
html.dw-p-v1 .dw-pf .v1,html.dw-p-v2 .dw-pf .v2,html.dw-p-v3 .dw-pf .v3,html.dw-p-v4 .dw-pf .v4,html.dw-p-v5 .dw-pf .v5,html.dw-p-v6 .dw-pf .v6{display:block}
.dw-pf button{font:inherit;color:inherit}

/* shared: filters as fine pills, the name in Bodoni, the niche in small caps */
.dw-pf .filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 46px;padding:0 20px}
.dw-pf .filters button{all:unset;cursor:pointer;font:600 11px/1 var(--pf-label);letter-spacing:2.6px;text-transform:uppercase;color:var(--pf-olive);padding:11px 18px;border:1px solid rgba(155,155,131,.45);border-radius:999px;transition:background .45s,color .45s,border-color .45s}
.dw-pf .filters button:is(:hover,:focus-visible){border-color:var(--pf-olive)}
.dw-pf .filters button[aria-pressed="true"]{background:var(--pf-olive);border-color:var(--pf-olive);color:var(--pf-cream)}
.dw-pf .name{font-family:var(--pf-display);font-weight:400;color:var(--pf-olive);font-size:22px;line-height:1.2;margin:0}
.dw-pf .niche{font:600 10.5px/1 var(--pf-label);letter-spacing:2.4px;text-transform:uppercase;color:var(--pf-sage)}
.dw-pf .num{font-family:var(--pf-display);font-style:italic;color:var(--pf-sage)}
.dw-pf .it.out{display:none!important}
.dw-pf img{display:block;max-width:none}

/* ---------- 1. Live window: framed previews that scroll through the site on hover ---------- */
.dw-pf .v1 .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 34px;max-width:1140px;margin:0 auto;padding:0 40px}
.dw-pf .v1 .it{cursor:pointer}
.dw-pf .v1 .win{position:relative;border-radius:18px;overflow:hidden;background:var(--pf-paper);box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -22px rgba(60,60,40,.35);transition:box-shadow .8s var(--pf-ease),transform .8s var(--pf-ease)}
.dw-pf .v1 .bar{display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 14px;background:var(--pf-cream);border-bottom:1px solid var(--pf-line)}
.dw-pf .v1 .bar i{display:block;width:34px;height:4px;border-radius:4px;background:var(--pf-line)}
.dw-pf .v1 .bar .niche{font-size:9px;letter-spacing:2px}
.dw-pf .v1 .screen{position:relative;aspect-ratio:4/3.3;overflow:hidden}
.dw-pf .v1 .screen img{width:100%;height:auto;transform:translateY(0);transition:transform 5.5s cubic-bezier(.45,0,.35,1)}
.dw-pf .v1 .it:is(:hover,:focus-visible) .screen img{transform:translateY(var(--dw-scroll,-40%))}
.dw-pf .v1 .it:is(:hover,:focus-visible) .win{transform:translateY(-6px);box-shadow:0 1px 0 rgba(0,0,0,.04),0 28px 50px -24px rgba(60,60,40,.45)}
.dw-pf .v1 .cap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px;padding:0 2px}
.dw-pf .v1 .cap .num{font-size:15px}

/* ---------- 2. Showcase: a laptop and a phone, the site playing slowly inside ---------- */
.dw-pf .v2 .stage{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:60px;align-items:center;max-width:1140px;margin:0 auto;padding:0 40px}
.dw-pf .v2 .devices{position:relative;padding:0 0 40px}
.dw-pf .v2 .laptop{position:relative;width:88%}
.dw-pf .v2 .lid{border-radius:16px 16px 6px 6px;background:#2f2f29;padding:10px 10px 12px;box-shadow:0 30px 60px -30px rgba(40,40,30,.55)}
.dw-pf .v2 .lid .scr{aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:var(--pf-paper)}
.dw-pf .v2 .base{height:12px;margin:0 -7%;border-radius:0 0 14px 14px;background:linear-gradient(#d9d6cc,#bdb9ad)}
.dw-pf .v2 .phone{position:absolute;right:0;bottom:0;width:24%;border-radius:22px;background:#2f2f29;padding:7px;box-shadow:0 24px 40px -18px rgba(40,40,30,.6)}
.dw-pf .v2 .phone .scr{aspect-ratio:9/19;overflow:hidden;border-radius:16px;background:var(--pf-paper)}
.dw-pf .v2 .scr img{width:100%;height:auto;animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}
.dw-pf .v2 .phone .scr img{width:170%;margin-left:-35%;animation-duration:12s}
@keyframes dwPlay{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(var(--dw-play,-45%))}}
.dw-pf .v2 .info .num{font-size:64px;line-height:1;display:block;margin-bottom:18px;color:rgba(155,155,131,.6)}
.dw-pf .v2 .info .name{font-size:36px;margin:10px 0 26px}
.dw-pf .v2 .info .count{font:600 11px/1 var(--pf-label);letter-spacing:2.6px;color:var(--pf-sage)}
.dw-pf .v2 .fade{transition:opacity .7s ease,transform .9s var(--pf-ease)}
.dw-pf .v2 .fade.swap{opacity:0;transform:translateY(10px)}
.dw-pf .v2 .thumbs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;max-width:1140px;margin:46px auto 0;padding:0 40px}
.dw-pf .v2 .thumbs button{all:unset;cursor:pointer;width:64px;height:84px;border-radius:12px;overflow:hidden;opacity:.45;outline:1px solid transparent;outline-offset:3px;transition:opacity .5s,outline-color .5s}
.dw-pf .v2 .thumbs button img{width:100%;height:auto}
.dw-pf .v2 .thumbs button:is(:hover,:focus-visible){opacity:.8}
.dw-pf .v2 .thumbs button[aria-current="true"]{opacity:1;outline-color:var(--pf-sage)}

/* ---------- 3. Panels: tall slices that open up when you reach them ---------- */
.dw-pf .v3 .row{display:flex;gap:10px;height:560px;max-width:1240px;margin:0 auto;padding:0 40px}
.dw-pf .v3 .it{position:relative;flex:1 1 0;min-width:0;border-radius:20px;overflow:hidden;cursor:pointer;transition:flex-grow .9s var(--pf-ease)}
.dw-pf .v3 .it.open{flex-grow:5.5}
.dw-pf .v3 .it img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;transition:transform 1.2s var(--pf-ease),filter 1s}
.dw-pf .v3 .it:not(.open) img{filter:saturate(.7) brightness(.92)}
.dw-pf .v3 .it::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(55,55,40,.55),transparent 45%);opacity:.9;transition:opacity .8s}
.dw-pf .v3 .lbl{position:absolute;left:22px;bottom:22px;right:22px;z-index:1;color:var(--pf-cream);opacity:0;transform:translateY(10px);transition:opacity .6s ease .25s,transform .8s var(--pf-ease) .25s}
.dw-pf .v3 .it.open .lbl{opacity:1;transform:none}
.dw-pf .v3 .lbl .name{color:var(--pf-cream);font-size:26px}
.dw-pf .v3 .lbl .niche{color:rgba(255,252,248,.8);display:block;margin-top:8px}
.dw-pf .v3 .vnum{position:absolute;left:50%;bottom:24px;z-index:1;transform:translateX(-50%);color:var(--pf-cream);font-family:var(--pf-display);font-style:italic;font-size:18px;transition:opacity .5s}
.dw-pf .v3 .it.open .vnum{opacity:0}

/* ---------- 4. Moving wall: three columns drift slowly, the middle one the other way ---------- */
.dw-pf .v4 .wall{position:relative;height:780px;overflow:hidden;max-width:1140px;margin:0 auto;padding:0 40px;-webkit-mask:linear-gradient(transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.dw-pf .v4 .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.dw-pf .v4 .col{display:flex;flex-direction:column;gap:26px;animation:dwDrift var(--dw-dur,60s) linear infinite}
.dw-pf .v4 .col:nth-child(2){animation-direction:reverse}
.dw-pf .v4 .wall:hover .col{animation-play-state:paused}
@keyframes dwDrift{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.dw-pf .v4 .it{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;background:var(--pf-paper)}
.dw-pf .v4 .it img{width:100%;height:auto;transition:transform 1.4s var(--pf-ease)}
.dw-pf .v4 .it:is(:hover,:focus-visible) img{transform:scale(1.03)}
.dw-pf .v4 .tag{position:absolute;left:14px;bottom:14px;background:rgba(255,252,248,.92);border-radius:999px;padding:9px 14px;display:flex;gap:10px;align-items:baseline;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .7s var(--pf-ease)}
.dw-pf .v4 .tag .name{font-size:16px}
.dw-pf .v4 .it:is(:hover,:focus-visible) .tag{opacity:1;transform:none}

/* ---------- 5. Gallery: large cards you drag sideways, with a counter and a fine progress line ---------- */
.dw-pf .v5 .head{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto 26px;padding:0 40px}
.dw-pf .v5 .count{font-family:var(--pf-display);font-style:italic;color:var(--pf-sage);font-size:18px}
.dw-pf .v5 .count b{font-weight:400;font-size:34px;color:var(--pf-olive)}
.dw-pf .v5 .nav{display:flex;gap:6px}
.dw-pf .v5 .nav button{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;color:var(--pf-olive)}
.dw-pf .v5 .nav button::after{content:"";width:9px;height:9px;border-top:1px solid currentColor;border-left:1px solid currentColor;transition:transform .7s var(--pf-ease)}
.dw-pf .v5 .nav .prev::after{transform:rotate(-45deg)}
.dw-pf .v5 .nav .next::after{transform:rotate(135deg)}
.dw-pf .v5 .nav .next:hover::after{transform:translateX(4px) rotate(135deg)}
.dw-pf .v5 .nav .prev:hover::after{transform:translateX(-4px) rotate(-45deg)}
.dw-pf .v5 .track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px max(40px,calc((100% - 1140px)/2 + 40px)) 30px;cursor:grab;scroll-padding-left:max(40px,calc((100% - 1140px)/2 + 40px))}
.dw-pf .v5 .track::-webkit-scrollbar{display:none}
.dw-pf .v5 .track.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.dw-pf .v5 .it{flex:0 0 380px;scroll-snap-align:start}
.dw-pf .v5 .card{height:520px;border-radius:22px;overflow:hidden;background:var(--pf-paper);transition:transform .9s var(--pf-ease)}
.dw-pf .v5 .card img{width:100%;height:auto;transition:transform 4s cubic-bezier(.45,0,.35,1)}
.dw-pf .v5 .it:hover .card img{transform:translateY(-14%)}
.dw-pf .v5 .cap{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;gap:10px}
.dw-pf .v5 .line{max-width:1060px;margin:6px auto 0;height:1px;background:var(--pf-line)}
.dw-pf .v5 .line i{display:block;height:100%;width:0;background:var(--pf-olive);transition:width .4s}

/* ---------- 6. Deck: the work as a softly fanned stack; each card comes forward in turn ---------- */
.dw-pf .v6 .deckwrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center;max-width:1140px;margin:0 auto;padding:0 40px}
.dw-pf .v6 .deck{position:relative;height:600px}
.dw-pf .v6 .it{position:absolute;left:50%;top:50%;width:340px;height:520px;margin:-260px 0 0 -170px;border-radius:22px;overflow:hidden;background:var(--pf-paper);box-shadow:0 30px 50px -30px rgba(50,50,35,.45);cursor:pointer;transition:transform 1s var(--pf-ease),opacity .8s ease,filter .8s;transform-origin:50% 110%}
.dw-pf .v6 .deck{margin-left:40px}
.dw-pf .v6 .it img{width:100%;height:auto}
.dw-pf .v6 .side .num{font-size:64px;display:block;line-height:1;color:rgba(155,155,131,.6);margin-bottom:16px}
.dw-pf .v6 .side .name{font-size:36px;margin:10px 0 30px}
.dw-pf .v6 .side .fade{transition:opacity .6s,transform .8s var(--pf-ease)}
.dw-pf .v6 .side .fade.swap{opacity:0;transform:translateY(8px)}
.dw-pf .v6 .ctrl{display:flex;gap:10px;align-items:center}
.dw-pf .v6 .ctrl button{all:unset;cursor:pointer;font:600 11px/1 var(--pf-label);letter-spacing:2.6px;text-transform:uppercase;color:var(--pf-olive);padding:14px 22px;border:1px solid rgba(155,155,131,.55);border-radius:999px;transition:background .45s,color .45s}
.dw-pf .v6 .ctrl button:is(:hover,:focus-visible){background:var(--pf-olive);color:var(--pf-cream)}
.dw-pf .v6 .ctrl .count{font:600 11px/1 var(--pf-label);letter-spacing:2.6px;color:var(--pf-sage);margin-left:8px}

@media (max-width:890px){
  .dw-pf .v1 .grid{grid-template-columns:1fr;padding:0 22px;gap:36px}
  .dw-pf .v2 .stage{grid-template-columns:1fr;gap:30px;padding:0 22px}
  .dw-pf .v2 .info{text-align:center}
  .dw-pf .v2 .info .num{font-size:44px}
  .dw-pf .v2 .info .name{font-size:28px}
  .dw-pf .v3 .row{flex-direction:column;height:auto;padding:0 22px}
  .dw-pf .v3 .it{flex:none;height:90px;transition:height .9s var(--pf-ease)}
  .dw-pf .v3 .it.open{height:420px}
  .dw-pf .v3 .vnum{left:22px;transform:none;bottom:auto;top:30px}
  .dw-pf .v4 .wall{height:640px;padding:0 16px}
  .dw-pf .v4 .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .dw-pf .v4 .col{gap:14px}
  .dw-pf .v4 .col:nth-child(3){display:none}
  .dw-pf .v5 .it{flex-basis:78vw}
  .dw-pf .v5 .card{height:440px}
  .dw-pf .v5 .head{padding:0 22px}
  .dw-pf .v6 .deckwrap{grid-template-columns:1fr;padding:0 22px;gap:10px}
  .dw-pf .v6 .deck{height:470px;margin-left:0}
  .dw-pf .v6 .it{width:260px;height:400px;margin:-200px 0 0 -130px}
  .dw-pf .v6 .side{text-align:center}
  .dw-pf .v6 .side .num{font-size:44px}
  .dw-pf .v6 .side .name{font-size:28px}
  .dw-pf .v6 .ctrl{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.dw-pf *{animation:none!important;transition:none!important}}

/* Showcase: real phone version when we have it, the Mariana video inside the laptop, a print card for brand work */
.dw-pf .v2 .lid .scr video{width:100%;height:100%;object-fit:cover;display:block}
.dw-pf .v2 .phone .scr img{width:100%;margin-left:0}
.dw-pf .v2.nophone .phone{display:none}
.dw-pf .v2.nophone .laptop{width:100%}
.dw-pf .v2 .brandcard{display:none}
.dw-pf .v2.brand .laptop,.dw-pf .v2.brand .phone{display:none}
.dw-pf .v2.brand .brandcard{display:block;width:72%;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(40,40,30,.45)}
.dw-pf .v2.brand .brandcard img{width:100%;height:auto}

/* ---------- shared laptop (thin dark bezel, soft base) ---------- */
html.dw-p-v7 .dw-pf .v7,html.dw-p-v8 .dw-pf .v8{display:block}
.dw-pf .laptop{position:relative}
.dw-pf .laptop .lid{border-radius:14px 14px 5px 5px;background:#2f2f29;padding:8px 8px 10px;box-shadow:0 26px 50px -28px rgba(40,40,30,.55)}
.dw-pf .laptop .scr{aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:var(--pf-paper);position:relative}
.dw-pf .laptop .scr img{width:100%;height:auto;display:block}
.dw-pf .laptop .scr video{width:100%;height:100%;object-fit:cover;display:block}
.dw-pf .laptop .scr.auto img{animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}
.dw-pf .laptop .base{height:10px;margin:0 -7%;border-radius:0 0 12px 12px;background:linear-gradient(#dcd9cf,#bdb9ad)}
.dw-pf .laptop .base::before{content:"";display:block;width:18%;height:4px;margin:0 auto;border-radius:0 0 6px 6px;background:rgba(0,0,0,.08)}
.dw-pf .v2 .phone{display:none!important}
.dw-pf .v2 .laptop{width:100%!important}

/* ---------- 7. laptops in a grid: hover and the site scrolls inside ---------- */
.dw-pf .v7 .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 46px;max-width:1180px;margin:0 auto;padding:0 50px}
.dw-pf .v7 .it{cursor:pointer}
.dw-pf .v7 .laptop{transition:transform .9s var(--pf-ease)}
.dw-pf .v7 .scr img{transform:translateY(0);transition:transform 6s cubic-bezier(.45,0,.35,1)}
.dw-pf .v7 .it:is(:hover,:focus-visible) .scr img{transform:translateY(var(--dw-play,-40%))}
.dw-pf .v7 .it:is(:hover,:focus-visible) .laptop{transform:translateY(-6px)}
.dw-pf .v7 .cap{display:flex;justify-content:space-between;align-items:baseline;margin-top:24px;gap:10px}
.dw-pf .v7 .cap .num{font-size:15px}
.dw-pf .v7 .it.brand .lid{background:transparent;padding:0;box-shadow:0 26px 50px -28px rgba(40,40,30,.45);border-radius:14px}
.dw-pf .v7 .it.brand .base{visibility:hidden}
.dw-pf .v7 .it.brand .scr{border-radius:14px}

/* ---------- 8. an index of names beside one laptop that changes as you move down the list ---------- */
.dw-pf .v8 .split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:70px;align-items:center;max-width:1140px;margin:0 auto;padding:0 40px}
.dw-pf .v8 .stagebox{cursor:pointer;transition:opacity .35s ease,transform .6s var(--pf-ease)}
.dw-pf .v8 .stagebox.swap{opacity:0;transform:translateY(8px)}
.dw-pf .v8 .stagebox.brand .lid{background:transparent;padding:0;border-radius:16px}
.dw-pf .v8 .stagebox.brand .scr{aspect-ratio:4/5;max-width:62%;margin:0 auto;border-radius:16px}
.dw-pf .v8 .stagebox.brand .base{visibility:hidden}
.dw-pf .v8 .index{list-style:none;margin:0;padding:0;border-top:1px solid var(--pf-line)}
.dw-pf .v8 .index .it{border-bottom:1px solid var(--pf-line)}
.dw-pf .v8 .index button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:baseline;gap:12px;width:100%;padding:15px 4px;transition:padding .6s var(--pf-ease)}
.dw-pf .v8 .index .num{font-size:14px;opacity:.6}
.dw-pf .v8 .index .name{font-size:21px;color:var(--pf-sage);transition:color .5s}
.dw-pf .v8 .index .niche{font-size:9.5px;opacity:.7}
.dw-pf .v8 .index .it.on button{padding-left:14px}
.dw-pf .v8 .index .it.on .name{color:var(--pf-olive);font-style:italic}
.dw-pf .v8 .index button:focus-visible{outline:1px solid var(--pf-sage);outline-offset:2px}

@media (max-width:890px){
  .dw-pf .v7 .grid{grid-template-columns:1fr;padding:0 26px;gap:44px}
  .dw-pf .v7 .scr img{animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}
  .dw-pf .v8 .split{grid-template-columns:1fr;gap:28px;padding:0 22px}
  .dw-pf .v8 .stagebox{position:sticky;top:70px;z-index:2;background:var(--pf-cream);padding:10px 0}
}

/* ---------- more elegant laptop: aluminium edge, thin bezel, slim base, more air between ---------- */
.dw-pf .v7 .grid{gap:64px 68px}
html.dw-l-b .dw-pf .laptop .lid{position:relative;border-radius:13px 13px 4px 4px;background:linear-gradient(160deg,#e9e6de,#cfcbbf);padding:3px;box-shadow:0 30px 46px -32px rgba(40,40,30,.5)}
html.dw-l-b .dw-pf .laptop .lid::before{content:"";position:absolute;inset:3px;border-radius:10px 10px 2px 2px;background:#1f1f1b}
html.dw-l-b .dw-pf .laptop .lid::after{content:"";position:absolute;top:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#3a3a33;z-index:2}
html.dw-l-b .dw-pf .laptop .scr{position:relative;z-index:1;margin:13px 7px 7px;border-radius:2px}
html.dw-l-b .dw-pf .laptop .base{position:relative;height:7px;margin:0 -5%;border-radius:2px 2px 10px 10px;background:linear-gradient(#ece9e1,#c9c5b8 70%,#b5b1a4)}
html.dw-l-b .dw-pf .laptop .base::before{width:16%;height:3px;border-radius:0 0 5px 5px;background:rgba(0,0,0,.09)}
html.dw-l-b .dw-pf .laptop .base::after{content:"";position:absolute;left:6%;right:6%;top:100%;height:14px;background:radial-gradient(50% 100% at 50% 0,rgba(46,46,38,.18),transparent);pointer-events:none}
html.dw-l-b .dw-pf .v7 .it.brand .lid::before,html.dw-l-b .dw-pf .v7 .it.brand .lid::after{display:none}
html.dw-l-b .dw-pf .v7 .it.brand .scr{margin:0}
@media (max-width:890px){.dw-pf .v7 .grid{gap:52px}}


/* ---------- laptop C: a floating screen, no keyboard base ---------- */
html.dw-l-c .dw-pf .laptop .lid{border-radius:12px;background:#FFFCF8;padding:0;border:1px solid rgba(124,124,97,.28);box-shadow:0 34px 60px -34px rgba(40,40,30,.45),0 2px 0 rgba(255,255,255,.6) inset;overflow:hidden}
html.dw-l-c .dw-pf .laptop .scr{border-radius:0;margin:0}
html.dw-l-c .dw-pf .laptop .lid::before{content:"";display:block;height:20px;border-bottom:1px solid rgba(124,124,97,.18);background:radial-gradient(circle at 12px 10px,#d8d4c7 3px,transparent 3.5px),radial-gradient(circle at 24px 10px,#d8d4c7 3px,transparent 3.5px),radial-gradient(circle at 36px 10px,#d8d4c7 3px,transparent 3.5px)}
html.dw-l-c .dw-pf .laptop .base{height:1px;margin:14px 18% 0;background:rgba(124,124,97,.25);border-radius:0}
html.dw-l-c .dw-pf .laptop .base::before{display:none}
html.dw-l-c .dw-pf .v7 .it.brand .lid::before{display:none}
html.dw-l-c .dw-pf .v7 .grid{gap:64px 60px}

/* ---------- "coming soon" panel designs ---------- */
.dw-soon{display:none}
html[class*="dw-t-c"] .elementor-element-cdc35a1>*:not(.dw-soon){display:none!important}
html[class*="dw-t-c"] .elementor-element-cdc35a1{display:flex!important;align-items:center;justify-content:center;min-height:460px}
html[class*="dw-t-c"] .dw-soon{display:block;width:100%;padding:40px 30px;--ol:#7C7C61;--sg:#9B9B83}
.dw-soon>div{display:none;flex-direction:column;align-items:center;text-align:center}
html.dw-t-c1 .dw-soon .c1,html.dw-t-c2 .dw-soon .c2,html.dw-t-c3 .dw-soon .c3{display:flex}
.dw-soon b{font:400 var(--hz-h2,40px)/1.1 "Bodoni Moda",Georgia,serif;color:var(--ol)}
.dw-soon b em{font-style:italic;color:var(--sg)}
.dw-soon .eb{display:inline-flex;align-items:center;gap:10px;margin:30px 0 12px;font:500 11px/1 Inter,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--sg)}
.dw-soon .eb::before,.dw-soon .eb::after{content:"";width:18px;height:1px;background:currentColor}
/* 1: a laptop outline whose screen is still being drawn */
.dw-soon .lap{width:min(300px,80%)}
.dw-soon .lap .lid{position:relative;aspect-ratio:16/10;border:1px solid rgba(124,124,97,.45);border-radius:10px 10px 3px 3px;padding:22px 22px 0;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.dw-soon .lap .lid i{display:block;height:7px;border-radius:4px;background:linear-gradient(90deg,#ECE9E0 0%,#F7F4EC 40%,#ECE9E0 80%);background-size:200% 100%;animation:dwShim 2.4s ease-in-out infinite}
.dw-soon .lap .lid i:nth-child(1){width:42%}.dw-soon .lap .lid i:nth-child(2){width:70%;animation-delay:.2s}.dw-soon .lap .lid i:nth-child(3){width:56%;animation-delay:.4s}
.dw-soon .lap .lid i.s{height:auto;flex:1;width:100%;margin-top:6px;border-radius:6px 6px 0 0;animation-delay:.6s}
.dw-soon .lap .base{height:6px;margin:0 -6%;border:1px solid rgba(124,124,97,.45);border-top:0;border-radius:0 0 8px 8px}
@keyframes dwShim{0%{background-position:100% 0}100%{background-position:-100% 0}}
/* 2: just the words, with a hand-drawn line that keeps drawing */
.dw-soon .c2 b{font-size:clamp(46px,4.6vw,64px)}
.dw-soon .c2 .ln{width:min(260px,70%);height:14px;margin:10px 0 18px;fill:none;stroke:var(--sg);stroke-width:1.1;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;animation:dwDraw 3.6s cubic-bezier(.6,.1,.2,1) infinite}
.dw-soon .c2 .tx{font:italic 400 18px/1.4 "Bodoni Moda",serif;color:var(--sg)}
@keyframes dwDraw{0%{stroke-dashoffset:300}45%,70%{stroke-dashoffset:0}100%{stroke-dashoffset:-300}}
/* 3: sketch sheets on the table */
.dw-soon .sheets{position:relative;width:230px;height:170px}
.dw-soon .sheets span{position:absolute;inset:0;border:1px solid rgba(124,124,97,.35);border-radius:6px;background:#FFFCF8;box-shadow:0 18px 30px -24px rgba(40,40,30,.4);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.dw-soon .sheets span:nth-child(1){transform:rotate(-8deg) translate(-14px,6px)}
.dw-soon .sheets span:nth-child(2){transform:rotate(5deg) translate(12px,2px)}
.dw-soon .sheets span:nth-child(3){padding:18px;display:flex;flex-direction:column;gap:9px}
.dw-soon .sheets span:nth-child(3) i{display:block;height:1px;border-top:1px dashed rgba(124,124,97,.45)}
.dw-soon .sheets span:nth-child(3) i:nth-child(1){width:50%;border-top-style:solid;border-top-width:2px;border-color:rgba(124,124,97,.35)}
.dw-soon .sheets span:nth-child(3) i:nth-child(4){margin-top:auto;height:44px;border:1px dashed rgba(124,124,97,.4);border-radius:4px}
.dw-soon .c3:hover .sheets span:nth-child(1){transform:rotate(-12deg) translate(-26px,8px)}
.dw-soon .c3:hover .sheets span:nth-child(2){transform:rotate(9deg) translate(24px,0)}
@media (max-width:890px){html[class*="dw-t-c"] .elementor-element-cdc35a1{min-height:360px}}
@media (prefers-reduced-motion:reduce){.dw-soon *{animation:none!important}.dw-soon .c2 .ln{stroke-dashoffset:0}}
html[class*="dw-t-c"] .elementor-element-fa4bc24,html[class*="dw-t-c"] .elementor-element-3e56f19{--min-height:0px;min-height:0!important}
html[class*="dw-t-c"] .elementor-element-cdc35a1{--min-height:0px;min-height:520px!important;height:auto!important}

/* ---------- coming soon as 2 cards beside the text, or 3 below; the text no longer slides ---------- */
html[class*="dw-t-c"] .elementor-element-3e56f19{position:relative!important;top:auto!important;transform:none!important;width:auto!important}
html[class*="dw-t-c"] .elementor-element-3e56f19 + .elementor-sticky__spacer,html[class*="dw-t-c"] .elementor-sticky__spacer{display:none!important}
.dw-soon .card{display:flex;align-items:center;justify-content:center;min-height:400px;padding:36px 24px;border:1px solid rgba(124,124,97,.22);border-radius:22px;background:#FFFCF8;transition:transform .8s cubic-bezier(.2,.7,.2,1),border-color .6s}
.dw-soon .card:hover{transform:translateY(-4px);border-color:rgba(124,124,97,.4)}
.dw-soon .card .eb{margin:26px 0 10px}
.dw-soon .card .c2 .eb{margin:0 0 16px}
.dw-soon .card b{font-size:var(--hz-h3,30px)}
.dw-soon .card .c2 b{font-size:clamp(34px,3vw,44px)}
.dw-soon .card .lap{width:min(230px,80%)}
.dw-soon .card .sheets{width:190px;height:140px}
html.dw-k-k2 .dw-soon .card:nth-child(3){display:none}
html[class*="dw-t-c"] .dw-soon{display:grid;gap:22px;padding:0}
html.dw-k-k2 .dw-soon{grid-template-columns:1fr 1fr}
html.dw-k-k3 .dw-soon{grid-template-columns:repeat(3,1fr)}
html[class*="dw-t-c"] .elementor-element-cdc35a1{min-height:0!important;border:0!important;padding:0!important}
html[class*="dw-t-c"] .elementor-element-fa4bc24{align-items:center!important;gap:60px!important;padding:110px max(40px,calc((100% - 1240px)/2)) 120px!important;border:0!important}
html.dw-k-k2[class*="dw-t-c"] .elementor-element-3e56f19{flex:0 0 34%!important;max-width:34%!important}
html.dw-k-k2[class*="dw-t-c"] .elementor-element-cdc35a1{flex:1 1 auto!important;width:auto!important}
html.dw-k-k3[class*="dw-t-c"] .elementor-element-fa4bc24{flex-direction:column!important;align-items:stretch!important}
html.dw-k-k3[class*="dw-t-c"] .elementor-element-3e56f19,html.dw-k-k3[class*="dw-t-c"] .elementor-element-cdc35a1{width:100%!important;max-width:none!important}
@media (max-width:1024px){
  html[class*="dw-t-c"] .elementor-element-fa4bc24{flex-direction:column!important;align-items:stretch!important;padding:80px 20px!important;gap:36px!important}
  html[class*="dw-t-c"] .elementor-element-3e56f19,html[class*="dw-t-c"] .elementor-element-cdc35a1{flex:none!important;width:100%!important;max-width:none!important}
  html[class*="dw-t-c"] .dw-soon{grid-template-columns:1fr!important}
  html[class*="dw-t-c"] .dw-soon .card:nth-child(n+2){display:none}
  .dw-soon .card{min-height:320px}
}

/* ---------- laptop D: closer to a real one (aluminium rim, thin black bezel, notch, hinge, deck with a thumb cut) ---------- */
html.dw-l-d .dw-pf .laptop .lid{position:relative;border-radius:15px 15px 4px 4px;padding:2px;background:linear-gradient(180deg,#d9d6ce,#a9a69c);box-shadow:0 1px 0 rgba(255,255,255,.5) inset}
html.dw-l-d .dw-pf .laptop .lid::before{content:"";position:absolute;inset:2px;border-radius:13px 13px 3px 3px;background:#121210}
html.dw-l-d .dw-pf .laptop .lid::after{content:"";position:absolute;top:2px;left:50%;width:13%;height:9px;transform:translateX(-50%);border-radius:0 0 7px 7px;background:#121210;z-index:3;box-shadow:inset 0 0 0 0 transparent}
html.dw-l-d .dw-pf .laptop .scr{position:relative;z-index:2;margin:9px 9px 11px;border-radius:4px 4px 1px 1px}
html.dw-l-d .dw-pf .laptop .base{position:relative;height:11px;margin:0 -6.5%;border-radius:1px 1px 16px 16px / 1px 1px 11px 11px;background:linear-gradient(180deg,#3d3c37 0,#3d3c37 2px,#eeece6 2px,#e2dfd7 45%,#c2bfb4 85%,#a8a59a 100%);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
html.dw-l-d .dw-pf .laptop .base::before{content:"";position:absolute;left:50%;top:2px;width:15%;height:5px;transform:translateX(-50%);border-radius:0 0 8px 8px;background:linear-gradient(#c9c6bc,#dcd9d1);box-shadow:inset 0 -1px 1px rgba(0,0,0,.08)}
html.dw-l-d .dw-pf .laptop .base::after{content:"";position:absolute;left:4%;right:4%;top:100%;height:22px;background:radial-gradient(50% 100% at 50% 0,rgba(46,46,38,.22),transparent 70%);pointer-events:none}
html.dw-l-d .dw-pf .laptop{filter:drop-shadow(0 28px 30px rgba(46,46,38,.12))}
html.dw-l-d .dw-pf .v7 .grid{gap:70px 72px}
html.dw-l-d .dw-pf .v7 .it.brand .lid::before,html.dw-l-d .dw-pf .v7 .it.brand .lid::after{display:none}
html.dw-l-d .dw-pf .v7 .it.brand .lid{background:transparent;padding:0}
html.dw-l-d .dw-pf .v7 .it.brand .scr{margin:0;border-radius:14px}
@media (max-width:890px){html.dw-l-d .dw-pf .v7 .grid{gap:56px}}
/* fixes: one design per card, text column at its natural width */
.dw-soon .card>div{display:none!important;flex-direction:column;align-items:center;text-align:center}
html.dw-t-c1 .dw-soon .card>.c1,html.dw-t-c2 .dw-soon .card>.c2,html.dw-t-c3 .dw-soon .card>.c3{display:flex!important}
html[class*="dw-t-c"] .elementor-element-3e56f19>.elementor-element{width:100%!important;max-width:520px!important;--container-widget-width:100%}
html.dw-k-k3[class*="dw-t-c"] .elementor-element-3e56f19>.elementor-element{max-width:720px!important}
@media (max-width:1024px){
  html[class*="dw-k-k"][class*="dw-t-c"] .elementor-element-3e56f19,html[class*="dw-k-k"][class*="dw-t-c"] .elementor-element-cdc35a1{flex:none!important;width:100%!important;max-width:none!important}
}
/* extra "Coming Soon.." cell: only when chosen */
.dw-extra-cell{display:none!important}
html.dw-x-x1 .dw-extra-cell{display:flex!important}

/* ---------- coming-soon designs inside the three original cells ---------- */
.dw-cell{display:none}
html[class*="dw-x-"] .dw-cellbox>*:not(.dw-cell){display:none!important}
html[class*="dw-x-"] .dw-cellbox{align-items:center!important;justify-content:center!important}
html[class*="dw-x-"] .dw-cell{display:flex;align-items:center;justify-content:center;width:100%;--ol:#7C7C61;--sg:#9B9B83}
.dw-cell>div{display:none!important;flex-direction:column;align-items:center;text-align:center}
html.dw-x-c1 .dw-cell>.c1,html.dw-x-c2 .dw-cell>.c2,html.dw-x-c3 .dw-cell>.c3,
html.dw-x-mix .dw-n1 .dw-cell>.c1,html.dw-x-mix .dw-n2 .dw-cell>.c2,html.dw-x-mix .dw-n3 .dw-cell>.c3{display:flex!important}
.dw-cell b{font:400 var(--hz-h2,40px)/1.1 "Bodoni Moda",Georgia,serif;color:var(--ol)}
.dw-cell b em{font-style:italic;color:var(--sg)}
.dw-cell .c2 b{font-size:clamp(44px,4.4vw,60px)}
.dw-cell .eb{display:inline-flex;align-items:center;gap:10px;margin:28px 0 12px;font:500 11px/1 Inter,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--sg)}
.dw-cell .c2 .eb{margin:0 0 16px}
.dw-cell .eb::before,.dw-cell .eb::after{content:"";width:18px;height:1px;background:currentColor}
.dw-cell .lap{width:min(260px,70%)}
.dw-cell .lap .lid{position:relative;aspect-ratio:16/10;border:1px solid rgba(124,124,97,.45);border-radius:10px 10px 3px 3px;padding:20px 20px 0;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.dw-cell .lap .lid i{display:block;height:7px;border-radius:4px;background:linear-gradient(90deg,#ECE9E0 0%,#F7F4EC 40%,#ECE9E0 80%);background-size:200% 100%;animation:dwShim 2.4s ease-in-out infinite}
.dw-cell .lap .lid i:nth-child(1){width:42%}.dw-cell .lap .lid i:nth-child(2){width:70%;animation-delay:.2s}.dw-cell .lap .lid i:nth-child(3){width:56%;animation-delay:.4s}
.dw-cell .lap .lid i.s{height:auto;flex:1;width:100%;margin-top:6px;border-radius:6px 6px 0 0;animation-delay:.6s}
.dw-cell .lap .base{height:6px;margin:0 -6%;border:1px solid rgba(124,124,97,.45);border-top:0;border-radius:0 0 8px 8px}
.dw-cell .c2 .ln{width:min(260px,70%);height:14px;margin:10px 0 18px;fill:none;stroke:var(--sg);stroke-width:1.1;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;animation:dwDraw 3.6s cubic-bezier(.6,.1,.2,1) infinite}
.dw-cell .c2 .tx{font:italic 400 18px/1.4 "Bodoni Moda",serif;color:var(--sg)}
.dw-cell .sheets{position:relative;width:210px;height:155px}
.dw-cell .sheets span{position:absolute;inset:0;border:1px solid rgba(124,124,97,.35);border-radius:6px;background:#FFFCF8;box-shadow:0 18px 30px -24px rgba(40,40,30,.4);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.dw-cell .sheets span:nth-child(1){transform:rotate(-8deg) translate(-14px,6px)}
.dw-cell .sheets span:nth-child(2){transform:rotate(5deg) translate(12px,2px)}
.dw-cell .sheets span:nth-child(3){padding:16px;display:flex;flex-direction:column;gap:9px}
.dw-cell .sheets span:nth-child(3) i{display:block;height:1px;border-top:1px dashed rgba(124,124,97,.45)}
.dw-cell .sheets span:nth-child(3) i:nth-child(1){width:50%;border-top-style:solid;border-top-width:2px;border-color:rgba(124,124,97,.35)}
.dw-cell .sheets span:nth-child(3) i:nth-child(4){margin-top:auto;height:40px;border:1px dashed rgba(124,124,97,.4);border-radius:4px}
.dw-cellbox:hover .sheets span:nth-child(1){transform:rotate(-12deg) translate(-26px,8px)}
.dw-cellbox:hover .sheets span:nth-child(2){transform:rotate(9deg) translate(24px,0)}
@media (prefers-reduced-motion:reduce){.dw-cell *{animation:none!important}.dw-cell .c2 .ln{stroke-dashoffset:0}}
/* no numbers on the projects */
.dw-pf .v7 .cap .num,.dw-pf .num{display:none!important}

/* screen content wrapper: the print and, for Mariana, her live hero video move together */
.dw-pf .scr .stk{position:relative;display:block}
.dw-pf .scr .stk img{transform:none!important;animation:none!important;transition:none!important}
.dw-pf .scr .stk video.hv{position:absolute;left:50%;top:0;width:50%;height:auto;aspect-ratio:720/812;object-fit:cover;opacity:.82;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 32%),linear-gradient(to bottom,#000 78%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 32%),linear-gradient(to bottom,#000 78%,transparent);mask-composite:intersect}
.dw-pf .v2 .scr .stk{animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}
.dw-pf .laptop .scr.auto .stk{animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}
.dw-pf .v7 .scr .stk{transform:translateY(0);transition:transform 6s cubic-bezier(.45,0,.35,1)}
.dw-pf .v7 .it:is(:hover,:focus-visible) .scr .stk{transform:translateY(var(--dw-play,-40%))}
@media (max-width:890px){.dw-pf .v7 .scr .stk{animation:dwPlay 16s cubic-bezier(.45,0,.55,1) infinite alternate}}
