/* Damos en el Blanco — CSS dels custom widgets d'Elementor (inc/widgets.php).
   Estils de layout de secció; els àtoms (.deb-btn/.deb-card/.deb-pcard) són a components.css.
   Tot amb tokens; responsive amb clamp() + breakpoints del kit (1120/980/900/760/640). */

/* Contenidor de secció per defecte que posa el widget (evita que Elementor limiti l'ample) */
.deb-sec-pad { padding: var(--section-y) var(--page-margin); }

/* ============================ HERO ============================ */
.deb-home-hero { position: relative; min-height: min(88vh, 860px); display: flex; flex-direction: column; justify-content: center; gap: var(--space-8); padding: clamp(4rem, 9vw, 7rem) clamp(1.25rem, 5vw, 6rem); overflow: hidden; }
.deb-rv-layers { position: absolute; inset: 0; z-index: 0; }
.deb-rv-layer { position: absolute; inset: 0; }
.deb-rv-layer img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04) brightness(.85); }
.deb-rv-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,19,.35), rgba(20,20,19,.62)); }
.deb-rv-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 66px 66px; }
.deb-rv-num { position: absolute; left: var(--page-margin); top: clamp(2rem, 10vh, 7rem); font-family: var(--font-mono); font-size: clamp(.85rem, 1.6vw, 1.15rem); letter-spacing: .28em; color: rgba(255,255,255,.55); }
.deb-rv-word { position: absolute; right: 4vw; bottom: 3vh; white-space: nowrap; font-family: var(--font-display); font-weight: var(--fw-medium); font-size: clamp(4rem, 17vw, 16rem); line-height: .78; letter-spacing: -.05em; color: rgba(255,255,255,.055); pointer-events: none; }
.deb-home-hero__inner { position: relative; z-index: 2; max-width: var(--content-max); min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); align-items: flex-start; }
.deb-home-hero__claim { overflow-wrap: break-word; }
.deb-home-hero__claim { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: clamp(2.1rem, 5.3vw, 5.1rem); line-height: 1.02; letter-spacing: var(--tracking-tighter); color: var(--text-strong); margin: 0; max-width: 22ch; text-wrap: balance; overflow-wrap: break-word; cursor: default; }
.deb-home-hero__claim .deb-svc { transition: opacity .35s var(--ease-standard); }
[data-deb-hero].is-revealing .deb-home-hero__claim .deb-svc { opacity: .28; }
[data-deb-hero].is-revealing .deb-home-hero__claim .deb-svc.is-active { opacity: 1; }
.deb-home-hero__claim .deb-svc::after { content: ""; position: absolute; left: 0; right: 0; bottom: .02em; height: .055em; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease-standard); }
.deb-home-hero__claim .deb-svc { position: relative; white-space: nowrap; }
.deb-home-hero__claim .deb-svc:hover::after { transform: scaleX(1); }
.deb-home-hero__claim .deb-svc { cursor: pointer; }
.deb-home-hero__sub { font-family: var(--font-mono); font-size: clamp(.9rem, 1.4vw, 1.05rem); line-height: 1.6; color: var(--text-muted); max-width: 52ch; margin: 0; transition: opacity .35s var(--ease-standard); }
[data-deb-hero].is-revealing .deb-home-hero__sub { opacity: .5; }
.deb-home-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Marquee de clients: logos petits, monocroms, com marca el DS (height 30, opacity .75) */
.deb-client-marquee { padding: var(--space-4) 0; }
.deb-client-marquee .deb-marquee__track { align-items: center; }
.deb-client-logo { height: 30px !important; width: auto !important; opacity: .75; filter: grayscale(1) brightness(1.6); flex: none; }

/* ============================ SERVICES GRID (exacte DS) ============================ */
.deb-svcs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: var(--space-12); }
.deb-svc-card { display: flex; flex-direction: column; gap: var(--space-3); min-height: 190px; padding: var(--space-6); background: transparent; border: 0; border-radius: 0; text-decoration: none; position: relative; overflow: hidden; }
.deb-svc-card > * { position: relative; z-index: 1; }
.deb-svc-card__title { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--text-xl); line-height: 1.05; letter-spacing: var(--tracking-tight); color: var(--text-strong); margin: 0; }
.deb-svc-card__desc { font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.55; color: var(--text-muted); margin: 0; }
.deb-svc-card__spacer { flex: 1; }

/* ============================ STATS (exacte DS) ============================ */
.deb-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); border-block: 1px solid var(--border); }
.deb-stat { padding: clamp(2.5rem, 5vw, 4.5rem) var(--page-margin); background: var(--bg); }
.deb-stat__n { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: clamp(2.4rem, 5.5vw, 4.6rem); line-height: 1; letter-spacing: -.03em; color: var(--text-strong); }
.deb-stat__label { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-top: 12px; max-width: 22ch; }

/* ============================ TEAM ============================ */
.deb-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); margin-top: var(--space-10); }
.deb-member__name { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--text-lg); color: var(--text-strong); margin: var(--space-4) 0 var(--space-1); }
.deb-member__rol { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-subtle); }
.deb-member__bio { font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.6; color: var(--text-muted); margin-top: var(--space-3); }
.deb-portrait { aspect-ratio: 3/4; border-radius: var(--radius-surface); overflow: hidden; background: var(--surface-raised); }
.deb-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04) brightness(.94); transition: filter var(--dur-slow) var(--ease-standard), transform var(--dur) var(--ease-standard); }
.deb-member:hover .deb-portrait img { filter: grayscale(0); transform: translateY(-4px); }
.deb-portrait--ini { display: flex; align-items: center; justify-content: center; }
.deb-portrait--ini span { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: clamp(3rem, 8vw, 5rem); color: var(--text-subtle); }

/* ============================ WORK GRID / FILTERS ============================ */
.deb-work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
.deb-work-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-8) 0; }
.deb-work-filters .deb-btn { color: var(--text-subtle); border-color: var(--border); }
.deb-work-filters .deb-btn:hover { color: var(--text-strong); background: rgba(255,255,255,.06); border-color: var(--border-strong); }
.deb-work-filters .is-active, .deb-work-filters .deb-btn.is-active { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

/* ============================ SHOWREEL ============================ */
.deb-reel { position: relative; aspect-ratio: 16/9; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-raised) center/cover no-repeat; display: flex; align-items: center; justify-content: center; margin-top: var(--space-16); }
.deb-reel__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,15,15,.38), rgba(15,15,15,.12) 42%, rgba(15,15,15,.58)); }
.deb-reel__inner { position: relative; z-index: 2; text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); }
.deb-reel__play { width: 74px; height: 74px; border-radius: 50%; border: 1px solid var(--border-strong); background: rgba(255,255,255,.08); color: var(--text-strong); font-size: 22px; cursor: pointer; backdrop-filter: blur(6px); transition: background var(--dur) var(--ease-standard); }
.deb-reel__play:hover { background: rgba(255,255,255,.16); }
.deb-reel__title { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--display-3); color: var(--text-strong); margin: 0; }

/* ============================ CASE (single) ============================ */
.deb-case { padding: var(--section-y) var(--page-margin); max-width: var(--content-max); margin: 0 auto; }
.deb-case__title { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--display-2); line-height: .97; letter-spacing: var(--tracking-tighter); color: var(--text-strong); margin: var(--space-5) 0; }
.deb-case__meta { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-8); }
.deb-case__cover { aspect-ratio: 21/9; border-radius: var(--radius-lg); overflow: hidden; margin-bottom: var(--space-12); }
.deb-case__cover img { width: 100%; height: 100%; object-fit: cover; }
.deb-case__narrative { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 5rem); margin-bottom: var(--space-16); }
.deb-case__lbl { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-subtle); margin-bottom: var(--space-4); }
.deb-case__body { font-family: var(--font-sans); font-size: var(--text-md); line-height: 1.6; color: var(--text); }
.deb-case__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); margin: var(--space-12) 0; }
.deb-case__shot { margin: 0; border-radius: var(--radius-surface); overflow: hidden; aspect-ratio: 4/3; }
.deb-case__shot img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter var(--dur-slow) var(--ease-standard); }
.deb-case__shot:hover img { filter: grayscale(0); }
.deb-case__quote { margin: var(--space-16) 0; border: 0; }
.deb-case__quote p { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--display-3); line-height: 1.1; letter-spacing: var(--tracking-tight); color: var(--text-strong); margin: 0 0 var(--space-4); }
.deb-case__quote cite { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-subtle); font-style: normal; }
.deb-case__stats { margin: var(--space-12) 0; }
.deb-case__next { margin-top: var(--space-16); display: flex; flex-direction: column; gap: var(--space-3); }

/* ============================ RESPONSIVE ============================ */
@media (max-width: 900px) {
  .deb-svcs-grid, .deb-work-grid, .deb-team-grid { grid-template-columns: repeat(2, 1fr); }
  .deb-case__narrative { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .deb-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .deb-svcs-grid, .deb-work-grid, .deb-team-grid, .deb-case__gallery { grid-template-columns: 1fr; }
  .deb-home-hero { min-height: auto; padding-top: var(--space-20); }
  /* El claim és molt llarg: a mòbil, més petit i sense desbordar */
  .deb-home-hero__claim { font-size: clamp(1.9rem, 8.5vw, 2.6rem); }
  .deb-case__title, .deb-sv__title, .deb-blog__title { font-size: clamp(2rem, 11vw, 3rem); }
  .deb-case__narrative { grid-template-columns: 1fr; }
}
/* Cap secció ha de provocar scroll horitzontal */
.deb-home-hero, .deb-blog, .deb-case, .deb-sv, .deb-post { overflow-x: clip; }

/* ============================ SERVICE DETAIL (single servicio) ============================ */
.deb-sv{padding:clamp(3rem,7vw,6rem) var(--page-margin) 0;max-width:var(--content-max);margin:0 auto}
.deb-sv__title{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.6rem,7vw,6rem);line-height:.95;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:var(--space-5) 0 0}
.deb-sv__claim{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.06em;color:var(--text-muted);margin:var(--space-6) 0 0}
.deb-sv__hero{position:relative;margin:var(--space-10) 0 0;aspect-ratio:21/7;overflow:hidden;border-radius:var(--radius-lg)}
.deb-sv__hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.85)}
.deb-sv__cols{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,5rem);margin-top:var(--space-16)}
.deb-sv__lbl{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-subtle);margin-bottom:var(--space-5)}
.deb-sv__inc{display:flex;flex-direction:column;gap:12px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text)}
.deb-sv__inc span{padding-bottom:12px;border-bottom:1px solid var(--border-faint)}
.deb-sv__step{display:grid;grid-template-columns:56px 1fr;gap:var(--space-4);padding:16px 0;border-bottom:1px solid var(--border-faint)}
.deb-sv__step b{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);font-weight:400}
.deb-sv__step h3{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-lg);color:var(--text-strong);margin:0 0 6px}
.deb-sv__step p{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65;color:var(--text-muted);margin:0}
.deb-sv__frase{margin:var(--space-20) 0 0;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2rem,5.4vw,4.4rem);line-height:1;letter-spacing:var(--tracking-tighter);color:var(--text-strong)}
.deb-sv__faqs{margin-top:var(--space-16)}
.deb-sv__faq{border-bottom:1px solid var(--border-faint)}
.deb-sv__faq summary{display:flex;justify-content:space-between;gap:var(--space-6);padding:18px 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-md);color:var(--text)}
.deb-sv__faq summary::-webkit-details-marker{display:none}
.deb-sv__faq[open] summary{color:var(--text-strong)}
.deb-sv__faq[open] summary span{transform:rotate(45deg)}
.deb-sv__faq summary span{transition:transform .3s var(--ease-nudge)}
.deb-sv__faq p{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--text-muted);margin:0;padding:0 0 20px;max-width:60ch}
.deb-sv__cta{margin:var(--space-20) 0 var(--space-16);display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media(max-width:860px){.deb-sv__cols{grid-template-columns:1fr}.deb-sv__hero{aspect-ratio:16/9}}

/* ============================ BLOG ============================ */
.deb-blog{padding:var(--section-y) var(--page-margin);max-width:var(--content-max);margin:0 auto}
.deb-blog__title{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--display-2);line-height:.97;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:var(--space-5) 0 var(--space-4)}
.deb-blog__intro{font-family:var(--font-mono);font-size:var(--text-md);line-height:1.6;color:var(--text-muted);max-width:var(--measure);margin:0 0 var(--space-12)}
.deb-blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}
.deb-blog__card .deb-pcard__media img{filter:grayscale(1);transition:filter var(--dur-slow) var(--ease-standard),transform var(--dur-slow) var(--ease-standard)}
.deb-blog__card:hover .deb-pcard__media img{filter:grayscale(0)}
.deb-post{padding:var(--section-y) 0}
.deb-post__head{max-width:var(--measure);margin:0 auto;padding:0 var(--page-margin)}
.deb-post__title{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--display-3);line-height:1.02;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:var(--space-4) 0}
.deb-post__meta{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-subtle)}
.deb-post__cover{max-width:var(--content-max);margin:var(--space-10) auto;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;padding:0 var(--page-margin)}
.deb-post__cover img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}
.deb-prose.deb-post__body{padding-top:0}
@media(max-width:900px){.deb-blog__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.deb-blog__grid{grid-template-columns:1fr}}

/* ---- Fix robust hero mòbil (override final) ---- */
@media (max-width: 600px){
  .deb-home-hero__inner{width:100%;max-width:100%}
  .deb-home-hero__claim{font-size:clamp(1.5rem,7.2vw,2.1rem);line-height:1;letter-spacing:-.02em}
  .deb-home-hero__sub{max-width:100%;font-size:var(--text-sm)}
  .deb-home-hero{padding-left:var(--page-margin);padding-right:var(--page-margin)}
}

/* Foto hover-reveal a la targeta de servei (com el DS .deb-svc__ph) */
.deb-svc-card { position: relative; overflow: hidden; z-index: 0; }
.deb-svc-card__ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.5); opacity: 0; transform: scale(1.06); transition: opacity .45s var(--ease-standard), transform 2.5s var(--ease-out); pointer-events: none; z-index: -1; }
.deb-svc-card:hover .deb-svc-card__ph { opacity: .3; transform: scale(1); }

/* ============================ JOIN / ÚNETE ============================ */
.deb-join__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: var(--space-12) 0; }
.deb-join__card { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-6); display: flex; flex-direction: column; gap: 10px; min-height: 160px; }
.deb-join__star { font-size: 22px; color: var(--text-strong); }
.deb-join__t { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--text-lg); color: var(--text-strong); margin-top: auto; }
.deb-join__d { font-family: var(--font-mono); font-size: var(--text-2xs); line-height: 1.6; color: var(--text-muted); }
.deb-join__cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.deb-join__note { font-family: var(--font-mono); font-size: var(--text-2xs); color: var(--text-subtle); }
@media(max-width:760px){ .deb-join__grid { grid-template-columns: 1fr; } }

/* ============================ WORK v2: toggle + llista tipogràfica (DS verbatim) ============================ */
.deb-vtoggle{display:flex;gap:8px;justify-content:flex-end;margin-top:var(--space-4)}
.deb-vtoggle button{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);background:none;border:0;cursor:pointer;padding:9px 6px}
.deb-vtoggle button.on{color:var(--text-strong);text-decoration:underline;text-underline-offset:4px}
.deb-blist{position:relative;margin-top:var(--space-8)}
.deb-blist__bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-standard)}
.deb-blist__bg.on{opacity:1}
.deb-blist__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.32)}
.deb-brow{position:relative;z-index:1;display:grid;grid-template-columns:70px 1fr auto;gap:var(--space-6);align-items:baseline;padding:clamp(1rem,2.4vw,1.7rem) 0;border-bottom:1px solid var(--border);cursor:pointer;text-decoration:none;transition:padding-left var(--dur) var(--ease-standard)}
.deb-brow:first-of-type{border-top:1px solid var(--border)}
.deb-brow:hover{padding-left:var(--space-4)}
.deb-brow__n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}
.deb-brow__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.8rem,4.6vw,3.8rem);line-height:1;letter-spacing:var(--tracking-tight);color:var(--ink-400);margin:0;transition:color .3s var(--ease-standard)}
.deb-brow:hover .deb-brow__t{color:var(--text-strong)}
.deb-brow__c{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle)}
@media(max-width:760px){.deb-brow{grid-template-columns:44px 1fr}. deb-brow__c{display:none}}

/* ============================ CASE v2 (DS verbatim) ============================ */
.deb-case__cover{position:relative;margin:var(--space-12) calc(var(--page-margin) * -1) 0;overflow:hidden;aspect-ratio:21/8;background:var(--surface-raised)}
.deb-case__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9);transform:scale(1.06);transition:transform 5s var(--ease-out)}
.deb-case__cover.is-in img{transform:none}
.deb-case__cover .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,.25),rgba(15,15,15,0) 40%,rgba(15,15,15,.5));pointer-events:none}
.deb-case__cover .cap{position:absolute;left:var(--page-margin);bottom:22px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.deb-case__layout{display:grid;grid-template-columns:300px 1fr;gap:clamp(2rem,6vw,5rem);margin-top:var(--space-16);align-items:start}
.deb-case__aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:var(--space-6);border-top:1px solid var(--border);padding-top:var(--space-5)}
.deb-case__aside .it b{display:block;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-subtle);font-weight:400;margin-bottom:6px}
.deb-case__aside .it span{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text)}
.deb-case__sec{margin-bottom:var(--space-12)}
.deb-case__p, .deb-case__p p{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--text-muted);margin:0 0 1.2em;max-width:56ch}
.deb-case__p b{color:var(--text);font-weight:500}
.deb-case__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-block:1px solid var(--border);margin-top:var(--space-16)}
.deb-case__stat{background:var(--bg);padding:clamp(2rem,4vw,3.2rem) var(--space-6)}
.deb-case__n{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1;letter-spacing:-.03em;color:var(--text-strong)}
.deb-case__l{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:10px}
.deb-quote{margin:var(--space-24) auto 0;max-width:26ch;text-align:center;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.12;letter-spacing:var(--tracking-tight);color:var(--text-strong);border:0}
.deb-quote small{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);margin-top:var(--space-6)}
.deb-next{position:relative;margin:var(--space-24) calc(var(--page-margin) * -1) 0;padding:clamp(3rem,7vw,5rem) var(--page-margin);border-top:1px solid var(--border);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-4);text-decoration:none}
.deb-next__bg{position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease-standard);pointer-events:none}
.deb-next:hover .deb-next__bg{opacity:1}
.deb-next__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.3)}
.deb-next>*{position:relative}
.deb-next__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.2rem,6vw,5rem);line-height:1;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:0;display:inline-flex;gap:.2em;align-items:baseline}
.deb-next__t span{display:inline-block;transition:transform var(--dur) var(--ease-nudge)}
.deb-next:hover .deb-next__t span{transform:translateX(10px)}
.deb-ba{position:relative;border-radius:var(--radius-surface);overflow:hidden;aspect-ratio:16/8;cursor:ew-resize;user-select:none;touch-action:none;margin-top:var(--space-6)}
.deb-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9);pointer-events:none}
.deb-ba .b{clip-path:inset(0 0 0 var(--cut,50%))}
.deb-ba .bar{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:2px;background:#fff;pointer-events:none}
.deb-ba .knob{position:absolute;top:50%;left:var(--cut,50%);transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:#1f1f1f;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:15px;pointer-events:none;box-shadow:var(--shadow-lg)}
.deb-ba .lbl{position:absolute;bottom:12px;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.6);pointer-events:none}
.deb-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-6)}
.deb-tl>div{background:var(--bg);padding:var(--space-6);display:flex;flex-direction:column;gap:8px}
.deb-tl b{font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);font-weight:400}
.deb-tl span{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-md);color:var(--text-strong)}
.deb-tl i{font-style:normal;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.55;color:var(--text-muted)}
.deb-credits{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 60px;max-width:760px}
.deb-credits div{display:flex;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--border-faint);padding-bottom:10px;font-family:var(--font-mono);font-size:var(--text-xs)}
.deb-credits b{color:var(--text-subtle);font-weight:400}
.deb-credits span{color:var(--text);text-align:right}
.deb-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:14px;margin-top:var(--space-6)}
.deb-gal a{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:zoom-in;display:block}
.deb-gal a:nth-child(1){grid-column:span 2;grid-row:span 2}
.deb-gal a:nth-child(4){grid-column:span 2}
.deb-gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9);transition:filter .45s var(--ease-standard),transform .45s var(--ease-standard)}
.deb-gal a:hover img{filter:grayscale(0);transform:scale(1.03)}
.deb-video{position:relative;margin-top:var(--space-8);aspect-ratio:16/7;border-radius:var(--radius-surface);overflow:hidden;cursor:pointer;background:var(--surface-raised)}
.deb-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.55)}
.deb-video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:#fff;color:#1f1f1f;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:var(--shadow-lg);transition:transform .35s var(--ease-nudge)}
.deb-video:hover .play{transform:translate(-50%,-50%) scale(1.1)}
.deb-video .vtag{position:absolute;left:16px;bottom:14px;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.deb-lb{position:fixed;inset:0;z-index:997;background:rgba(15,15,15,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.deb-lb img{max-width:88vw;max-height:76vh;object-fit:contain}
.deb-lb iframe{width:min(88vw,1100px);aspect-ratio:16/9;border:0}
.deb-lb .cap{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.deb-lb button{position:fixed;background:none;border:0;color:#fff;font-family:var(--font-mono);font-size:22px;cursor:pointer;padding:18px;opacity:.7;transition:opacity .2s}
.deb-lb button:hover{opacity:1}
.deb-lb .x{top:14px;right:18px}
.deb-lb .prev{left:10px;top:50%;transform:translateY(-50%)}
.deb-lb .next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:860px){.deb-gal{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.deb-gal a:nth-child(1){grid-column:span 2}.deb-case__layout{grid-template-columns:1fr}.deb-case__aside{position:static}.deb-case__stats{grid-template-columns:1fr}.deb-tl{grid-template-columns:1fr 1fr}.deb-credits{grid-template-columns:1fr}}

/* ============================ SERVICES ACCORDION (dinàmic, DS) ============================ */
.deb-svcs-acc{margin-top:var(--space-10)}
.deb-svc-acc{border-bottom:1px solid var(--border)}
.deb-svc-acc:first-of-type{border-top:1px solid var(--border)}
.deb-svc-acc summary{display:grid;grid-template-columns:70px 1fr auto;gap:var(--space-6);align-items:center;padding:clamp(1.4rem,3vw,2.2rem) 0;cursor:pointer;list-style:none;transition:padding-left var(--dur) var(--ease-standard)}
.deb-svc-acc summary::-webkit-details-marker{display:none}
.deb-svc-acc summary:hover{padding-left:var(--space-4)}
.deb-svc-acc__n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}
.deb-svc-acc__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.9rem,4.8vw,4rem);line-height:1;letter-spacing:var(--tracking-tight);color:var(--ink-400);margin:0;transition:color .3s var(--ease-standard)}
.deb-svc-acc summary:hover .deb-svc-acc__t,.deb-svc-acc[open] .deb-svc-acc__t{color:var(--text-strong)}
.deb-svc-acc__x{font-family:var(--font-display);font-size:28px;color:var(--text-subtle);transition:transform .4s var(--ease-nudge)}
.deb-svc-acc[open] .deb-svc-acc__x{transform:rotate(45deg)}
.deb-svc-acc__body{overflow:hidden}
.deb-svc-acc__inner{padding:0 0 var(--space-10) 70px;display:flex;flex-direction:column;gap:var(--space-6)}
.deb-svc-acc__cols{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.deb-svc-acc__d{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--text-muted);margin:0;max-width:52ch}
.deb-svc-acc__ph{aspect-ratio:16/9;border-radius:var(--radius-surface);overflow:hidden}
.deb-svc-acc__ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9)}
.deb-svc-acc__tags{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:860px){.deb-svc-acc summary{grid-template-columns:44px 1fr auto}.deb-svc-acc__inner{padding-left:0}.deb-svc-acc__cols{grid-template-columns:1fr}}
.deb-svcs-outro{border-top:1px solid var(--border);padding-top:var(--space-12);display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.deb-svcs-outro__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:0}
.deb-svcs-outro__s{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-4)}

/* Animació d'obertura de l'acordió de serveis (guia §7) */
@keyframes debAccOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.deb-svc-acc[open] .deb-svc-acc__inner{animation:debAccOpen .5s var(--ease-standard)}
@media(prefers-reduced-motion:reduce){.deb-svc-acc[open] .deb-svc-acc__inner{animation:none}}

/* Toggle vista: [hidden] ha de guanyar el display:grid propi */
[data-deb-view][hidden]{display:none !important}
/* Fotos de projecte: B/N per defecte, color al hover (regla fotografia DS) */
.deb-pcard__media img{filter:grayscale(1) contrast(1.05) brightness(.92);transition:filter var(--dur-slow) var(--ease-standard),transform var(--dur-slow) var(--ease-standard)}
.deb-pcard:hover .deb-pcard__media img{filter:none;transform:scale(1.04)}

/* ═══ DS sync 2026-07-21 — blocs nous ═══════════════════════════ */
/* Serveis: coses que NO fem (ratllat canalla) + FAQ + extres acordió */
.deb-no{padding:var(--space-20) 0 var(--space-4);border-top:1px solid var(--border);margin-top:var(--space-16)}
.deb-no__list{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.6rem,1.6vw,1.1rem);margin-top:var(--space-8)}
.deb-no__item{position:relative;display:inline-block;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.5rem,3.6vw,2.9rem);line-height:1.05;letter-spacing:var(--tracking-tight);color:var(--ink-400);transition:color .3s var(--ease-standard)}
.deb-no__item::after{content:"";position:absolute;left:-1%;right:-2%;top:52%;height:4px;background:var(--accent);transform:rotate(-1.6deg)}
.deb-no__item:hover{color:var(--text-strong)}
.deb-faq{padding:var(--space-16) 0 0;border-top:1px solid var(--border);margin-top:var(--space-16)}
.deb-faq__row{border-bottom:1px solid var(--border-faint)}
.deb-faq__q{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-6);padding:20px 0;cursor:pointer;user-select:none;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-lg);color:var(--text);transition:color .25s}
.deb-faq__row:hover .deb-faq__q,.deb-faq__row.open .deb-faq__q{color:var(--text-strong)}
.deb-faq__q b{font-family:var(--font-display);font-weight:500;transition:transform .35s var(--ease-nudge,cubic-bezier(.2,.8,.2,1))}
.deb-faq__row.open .deb-faq__q b{transform:rotate(45deg)}
.deb-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease-standard)}
.deb-faq__row.open .deb-faq__a{grid-template-rows:1fr}
.deb-faq__a>div{overflow:hidden}
.deb-faq__a p{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--text-muted);margin:0;padding:0 0 22px;max-width:60ch}
.deb-svc-acc__frase{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);margin:var(--space-6) 0 0}
.deb-svc-acc__ctas{margin-top:var(--space-5);display:flex;gap:10px;flex-wrap:wrap}
.deb-svcs-cta{padding:var(--space-16) 0}
.deb-svcs-cta__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1;letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0 0 var(--space-3)}
.deb-svcs-cta__n{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-8);max-width:52ch;line-height:1.65}
/* Nosaltres: Som / No som + frase hover de l'equip */
.deb-som{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-8)}
.deb-som>div{background:var(--bg);padding:clamp(1.4rem,3vw,2.4rem)}
.deb-som h3{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-subtle);margin:0 0 var(--space-5);font-weight:400}
.deb-som ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.deb-som li{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);line-height:1.15;color:var(--text-strong)}
.deb-som .no li{color:var(--ink-400);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--text-strong)}
@media(max-width:700px){.deb-som{grid-template-columns:1fr}}
.deb-member__q{font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.55;color:var(--text-subtle);margin:var(--space-2) 0 0;opacity:0;transform:translateY(4px);transition:opacity var(--dur) var(--ease-standard),transform var(--dur) var(--ease-standard)}
.deb-tcard:hover .deb-member__q,.deb-member:hover .deb-member__q{opacity:1;transform:none}
/* Contacte: vies + estat en viu + RGPD */
.deb-vies{margin:0 0 var(--space-2)}
.deb-vies__lbl{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-subtle);margin-bottom:10px}
.deb-vies__opts{display:flex;gap:8px;flex-wrap:wrap}
.deb-vies__opt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;padding:9px 16px;border-radius:var(--radius-pill);cursor:pointer;background:transparent;color:var(--text);border:1px solid var(--border-strong);transition:all var(--dur-fast) var(--ease-standard)}
.deb-vies__opt.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.deb-rgpd{display:flex;gap:8px;align-items:flex-start;font-family:var(--font-mono);font-size:var(--text-3xs,11px);color:var(--text-subtle);cursor:pointer;line-height:1.5;margin-top:var(--space-3)}
.deb-rgpd input{accent-color:var(--accent);margin:1px 0 0}
/* Ideas arsenal: takes votables + diccionari + roba'ns això */
.deb-take{border-top:1px solid var(--border);padding:clamp(1.2rem,2.6vw,1.8rem) 0;display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:center}
.deb-take:last-child{border-bottom:1px solid var(--border)}
.deb-take p{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.3rem,2.8vw,2.1rem);line-height:1.05;letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0;max-width:34ch}
.deb-take__btns{display:flex;gap:8px;align-items:center}
.deb-take__btns button{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:999px;padding:10px 16px;cursor:pointer;transition:all var(--dur) var(--ease-standard)}
.deb-take__btns button:hover{border-color:var(--border-strong);color:var(--text-strong)}
.deb-take__res{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}
.deb-take__res b{color:var(--text-strong);font-weight:500}
.deb-dicc{border-block:1px solid var(--border);margin-top:var(--space-8)}
.deb-dicc__row{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:var(--space-8);padding:var(--space-5) 0;border-bottom:1px solid var(--border-faint)}
.deb-dicc__row:last-child{border-bottom:0}
.deb-dicc__t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--text-strong)}
.deb-dicc__t small{display:block;font-family:var(--font-mono);font-size:var(--text-3xs,11px);letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);margin-top:4px;font-weight:400}
.deb-dicc__d{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65;color:var(--text-muted);align-self:center}
.deb-dicc__d b{color:var(--text);font-weight:500}
.deb-roba{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:var(--space-8)}
.deb-roba__c{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);min-height:210px}
.deb-roba__c p{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65;color:var(--text-muted);margin:0}
.deb-roba__c p b{color:var(--text);font-weight:500}
.deb-roba__c button{margin-top:auto;align-self:flex-start;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:none;border:1px solid var(--border);border-radius:999px;padding:9px 15px;cursor:pointer;transition:all var(--dur) var(--ease-standard)}
.deb-roba__c button:hover{border-color:var(--border-strong)}
@media(max-width:860px){.deb-take{grid-template-columns:1fr}.deb-dicc__row{grid-template-columns:1fr;gap:var(--space-2)}.deb-roba{grid-template-columns:1fr}}
/* 404: punt central + marques d'impacte */
.deb-notfound__rings b{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:var(--text-strong);transform:translate(-50%,-50%)}
.deb-notfound__rings i{position:absolute;transform:translate(-50%,-50%);font-style:normal;font-size:22px;color:#fff}

/* ═══ ServiceScreen ampliat (DS 2026-07-21) ═════════════════════ */
.deb-sv__proof{display:flex;align-items:baseline;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-16);padding:clamp(1.6rem,3.4vw,2.6rem) 0;border-block:1px solid var(--border)}
.deb-sv__proof .n{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(3rem,8vw,6.4rem);line-height:.9;letter-spacing:-.04em;color:var(--text-strong)}
.deb-sv__proof .l{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);max-width:34ch;line-height:1.6}
.deb-sv__fit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem);margin-top:var(--space-16)}
.deb-sv__fit ul{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:11px;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.55;color:var(--text)}
.deb-sv__fit .no ul{color:var(--text-muted)}
.deb-sv__fit .no li{position:relative;display:inline-block}
.deb-sv__fit .no li::after{content:"";position:absolute;left:-1%;right:-2%;top:52%;height:2px;background:var(--text-strong);transform:rotate(-1.2deg);opacity:.55}
.deb-sv__rel{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:var(--space-6)}
.deb-sv__mix{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:var(--space-5)}
.deb-sv__mix a{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:10px 18px;text-decoration:none;transition:all var(--dur) var(--ease-standard)}
.deb-sv__mix a:hover{border-color:var(--text-strong);color:var(--text-strong);transform:translateY(-2px)}
.deb-sv__banner{margin:var(--space-20) calc(var(--page-margin) * -1) 0;padding:clamp(2.6rem,6vw,4.6rem) var(--page-margin);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-6);align-items:flex-start}
.deb-sv__banner h2{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:.98;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:0;max-width:18ch}
.deb-sv__banner .nota{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);letter-spacing:.04em}
.deb-sv__ctarow{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.deb-sv__next{position:relative;margin:var(--space-16) calc(var(--page-margin) * -1) 0;padding:clamp(2.6rem,6vw,4.4rem) var(--page-margin);border-top:1px solid var(--border);overflow:hidden;cursor:pointer;display:block;text-decoration:none}
.deb-sv__next .bg{position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease-standard);pointer-events:none}
.deb-sv__next:hover .bg{opacity:1}
.deb-sv__next .bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.3)}
.deb-sv__next>*{position:relative}
.deb-sv__next h2{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2rem,5.4vw,4.4rem);line-height:1;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:var(--space-3) 0 0;display:inline-flex;gap:.2em;align-items:baseline}
.deb-sv__next h2 span{display:inline-block;transition:transform var(--dur) var(--ease-nudge,cubic-bezier(.2,.8,.2,1))}
.deb-sv__next:hover h2 span{transform:translateX(10px)}
.deb-sv__badge{position:absolute;right:clamp(1rem,4vw,3rem);bottom:clamp(1rem,4vw,3rem);width:118px;height:118px;pointer-events:none}
.deb-sv__badge svg{width:100%;height:100%;animation:deb-sv-rot 22s linear infinite}
.deb-sv__badge text{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.34em;fill:#fff;text-transform:uppercase}
.deb-sv__badge::after{content:"\25B6";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px}
@keyframes deb-sv-rot{to{transform:rotate(360deg)}}
.deb-sv__inc span{transition:transform var(--dur) var(--ease-nudge,cubic-bezier(.2,.8,.2,1)),color var(--dur) var(--ease-standard)}
.deb-sv__inc span:hover{transform:translateX(8px);color:var(--text-strong)}
@media(max-width:860px){.deb-sv__rel{grid-template-columns:1fr}.deb-sv__fit{grid-template-columns:1fr}}
@media(max-width:640px){.deb-sv__badge{display:none}}
@media(prefers-reduced-motion:reduce){.deb-sv__badge svg{animation:none}}
.deb-sv__next .deb-kicker{display:block}

/* ═══ Experiments — el laboratori (DS 2026-07-21) ═══════════════ */
.deb-ex{min-height:70vh}
.deb-ex__list{margin-top:var(--space-12);border-top:1px solid var(--border)}
.deb-ex__row{display:grid;grid-template-columns:170px 1fr auto;gap:var(--space-6);align-items:baseline;padding:clamp(1.2rem,2.6vw,1.9rem) 0;border-bottom:1px solid var(--border);cursor:pointer;transition:padding-left var(--dur) var(--ease-standard)}
.deb-ex__row:hover{padding-left:var(--space-4)}
.deb-ex__url{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-subtle)}
.deb-ex__row h2{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1;letter-spacing:var(--tracking-tight);color:var(--ink-400);margin:0;transition:color .3s var(--ease-standard)}
.deb-ex__row:hover h2{color:var(--text-strong)}
.deb-ex__tag{font-family:var(--font-mono);font-size:var(--text-3xs,11px);letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}
.deb-ex__stage{position:relative;margin-top:var(--space-10);border:1px solid var(--border);border-radius:var(--radius-surface);overflow:hidden;min-height:480px;display:none;align-items:center;justify-content:center;background:var(--bg-deep)}
.deb-ex__stage.on{display:flex}
.deb-ex__close{position:absolute;top:16px;right:18px;z-index:5;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;padding:8px 16px;cursor:pointer}
.deb-ex__close:hover{border-color:#fff}
.deb-ex__gen{text-align:center;padding:56px 6%;display:flex;flex-direction:column;align-items:center;gap:30px}
.deb-ex__gen-k{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-subtle);margin:0}
.deb-ex__gen-t{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2rem,5vw,3.8rem);line-height:1.02;letter-spacing:var(--tracking-tighter);color:var(--text-strong);margin:0;max-width:20ch}
.deb-ex__gen-s{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin:0}
.deb-ex__gen-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
@media(max-width:760px){.deb-ex__row{grid-template-columns:1fr;gap:6px}}
.deb-ex__game{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 6%}
.deb-ex__game[hidden]{display:none}
.deb-ex__gen[hidden]{display:none}
.deb-ex__game-bar{display:flex;gap:24px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.deb-ex__game canvas{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);touch-action:none;max-width:100%}
.deb-ex__game-hint{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-subtle);margin:0}

/* ═══ Seasonals: Operació Tió + El drac està avorrit ═══════════ */
.deb-tio,.deb-drac{min-height:70vh;text-align:left}
.deb-tio__title .deb-ln>span{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.2rem,6vw,4.6rem);line-height:.98;letter-spacing:var(--tracking-tighter);color:var(--text-strong)}
.deb-tio__title{margin:var(--space-5) 0 0}
.deb-tio__intro{font-family:var(--font-mono);font-size:var(--text-md);line-height:1.6;color:var(--text-muted);max-width:58ch;margin:var(--space-6) 0 0}
.deb-tio__stage,.deb-drac__stage{margin-top:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--bg-deep);padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;align-items:center;gap:22px;position:relative;overflow:hidden}
.deb-tio__song{min-height:1.5em;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--text-muted)}
.deb-tio__log{position:relative;background:none;border:0;cursor:pointer;font-size:clamp(4rem,12vw,7rem);line-height:1;padding:18px;transition:transform .12s cubic-bezier(.2,.8,.2,1)}
.deb-tio__log.hit{transform:rotate(-6deg) translateY(4px)}
.deb-tio__body{filter:grayscale(.2)}
.deb-tio__face{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:.22em;color:#fff;letter-spacing:.05em;pointer-events:none}
.deb-tio__hat{position:absolute;left:58%;top:6%;width:.5em;height:.35em;background:var(--danger,#EC5F57);border-radius:.4em .4em 0 0;transform:rotate(18deg);pointer-events:none}
.deb-tio__blanket{position:absolute;right:8%;bottom:14%;width:.9em;height:.4em;background:repeating-linear-gradient(45deg,var(--danger,#EC5F57) 0 6px,#fff 6px 12px);border-radius:4px;opacity:.9;pointer-events:none}
.deb-tio__gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
.deb-tio__gifts[hidden]{display:none}
.deb-tio__gift{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:8px;background:var(--bg);animation:debGiftPop .5s cubic-bezier(.2,.9,.3,1.4) backwards}
.deb-tio__gift:nth-child(2){animation-delay:.12s}.deb-tio__gift:nth-child(3){animation-delay:.24s}
.deb-tio__gift-e{font-size:1.8rem}
.deb-tio__gift b{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-lg);color:var(--text-strong)}
.deb-tio__gift p{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;color:var(--text-muted);margin:0}
@keyframes debGiftPop{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}
.deb-tio__back{margin-top:var(--space-10)}
.deb-drac__beast{font-size:clamp(5rem,16vw,9rem);line-height:1;transition:transform .3s cubic-bezier(.2,.8,.2,1);cursor:default;user-select:none}
.deb-drac__beast.yawn{animation:debYawn 1.1s cubic-bezier(.4,0,.2,1)}
.deb-drac__beast.happy{animation:debHappy .6s cubic-bezier(.2,.9,.3,1.4)}
@keyframes debYawn{0%,100%{transform:none}40%{transform:scale(1.14) rotate(-4deg)}}
@keyframes debHappy{0%,100%{transform:none}30%{transform:translateY(-14px) rotate(6deg)}60%{transform:translateY(0) rotate(-3deg)}}
.deb-drac__bubble{min-height:1.6em;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);letter-spacing:.02em}
.deb-drac__fly{position:absolute;font-size:1.6rem;pointer-events:none;transition:transform .7s cubic-bezier(.3,.7,.4,1),opacity .7s;z-index:3}
@media(max-width:760px){.deb-tio__gifts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.deb-tio__log,.deb-drac__beast,.deb-tio__gift{animation:none!important;transition:none!important}}

/* ── Wrapper «Diseño (DS)» dels widgets ─────────────────────── */
.deb-w--deep { background: var(--bg-deep); border: 1px solid var(--border); border-radius: var(--radius-surface); padding: clamp(1.25rem, 4vw, 2.5rem); }
.deb-w--mt0, .deb-w--mt0 > :first-child { margin-top: 0 !important; padding-top: 0 !important; }
.deb-w--mtlg { margin-top: clamp(3rem, 8vw, 6rem); }
