/* V10 — interactive additions only. Original layout, borders, fonts and accordion preserved. */
.language-switch { font-family:var(--font-bold);font-size:13px;font-weight:800;text-decoration:none;line-height:1;letter-spacing:-.025em; }
.language-switch:hover,.language-switch:focus-visible{background:currentColor;}
/* Hover images stay inside their original case; CSS background moves a few pixels. */
@media(hover:hover) and (pointer:fine){
 .case-item .case-img { background-position:var(--v10-img-x,50%) var(--v10-img-y,50%); transition:opacity .4s ease,filter .4s ease,background-position .24s ease-out !important; }
 .case-item .case-header{pointer-events:none}
 .case-item:hover .case-img{background-size:cover}
}
.v10-cursor { position:fixed;left:0;top:0;z-index:1200;pointer-events:none;opacity:0;transform:translate3d(-150vw,-150vh,0) scale(.85);font-family:var(--font-pixel);font-weight:700;font-size:19px;letter-spacing:.035em;line-height:1;white-space:nowrap;background:var(--scene-accent,#111);color:var(--scene-bg,#fff);border:3px solid var(--scene-accent,#111);padding:12px 15px;box-shadow:3px 3px 0 var(--scene-bg,#fff);transition:opacity .17s ease,scale .17s ease;will-change:transform}
.v10-cursor.is-visible{opacity:1;scale:1}
/* Flash layer is translucent enough to preserve context and never intercepts interaction. */
.v10-transition {pointer-events:none;position:fixed;inset:0;z-index:5000;opacity:0;background:var(--scene-accent,#111);transform:scaleY(0);transform-origin:top;will-change:transform,opacity}
.v10-transition.play{animation:v10-wipe .52s cubic-bezier(.22,.8,.25,1) both}
@keyframes v10-wipe{0%{opacity:0;transform:scaleY(0)}35%{opacity:.96;transform:scaleY(1)}70%{opacity:.96;transform:scaleY(1)}100%{opacity:0;transform:scaleY(0)}}
/* Native accessible modal with a visual style derived from original cards. */
.brief-dialog { position:fixed;inset:0;margin:auto;width:min(92vw,640px);max-height:min(90dvh,920px);overflow:auto;background:#fff;color:#111;border:6px solid #111;border-radius:0;padding:clamp(18px,3vw,35px);box-shadow:14px 14px 0 #111;font-family:var(--font-bold);text-transform:none;overscroll-behavior:contain; }
.brief-dialog::backdrop { background:rgba(4,5,8,.80);backdrop-filter:blur(7px) }
.brief-dialog .brief-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.brief-dialog .brief-label{font-family:var(--font-pixel);font-size:20px;letter-spacing:.06em}
.brief-dialog .brief-close{display:grid;place-items:center;background:#111;color:#fff;border:3px solid #111;width:42px;height:42px;font-size:30px;line-height:1;cursor:pointer;flex-shrink:0}
.brief-dialog h2{font-size:clamp(27px,5vw,46px);font-weight:800;line-height:1.02;letter-spacing:-.06em;margin-bottom:13px}
.brief-intro{font-size:13px;line-height:1.6;margin-bottom:24px;max-width:60ch}
.brief-dialog form{display:flex;flex-direction:column;gap:0}
.brief-dialog label{font-family:var(--font-pixel);font-size:22px;font-weight:700;margin:16px 0 7px;letter-spacing:.04em}
.brief-dialog .optional{font-size:15px;font-weight:400}
.brief-dialog input,.brief-dialog textarea,.brief-dialog select{display:block;width:100%;border:3px solid #111;border-radius:0;background:#fff;color:#111;min-height:46px;padding:11px 12px;font-family:var(--font-bold);font-size:13px;line-height:1.45;text-transform:none;cursor:text}
.brief-dialog select{cursor:pointer}
.brief-dialog input:focus-visible,.brief-dialog select:focus-visible,.brief-dialog textarea:focus-visible{outline:3px solid #ff3867;outline-offset:2px}
.brief-dialog textarea{resize:vertical;min-height:98px}
.brief-dialog .brief-submit{background:#111;color:#fff;border:4px solid #111;padding:15px;font-family:var(--font-bold);font-weight:800;font-size:15px;margin-top:22px;cursor:pointer;transition:background .17s,color .17s}
.brief-dialog .brief-submit:hover,.brief-dialog .brief-submit:focus-visible{background:#fff;color:#111}
.brief-dialog .brief-footnote{font-size:11px;line-height:1.5;margin-top:12px;color:#444}
/* Existing button styling reused without shifting card dimensions. */
button.contact-cta{cursor:pointer;text-transform:uppercase;text-align:left}
/* Keyboard and small screens */
@media(max-width:768px){
 .header-controls{gap:5px;margin-right:8px}
 .language-switch{width:34px;min-width:34px;height:36px;font-size:12px;padding:4px}
 #nav-links:not(.open){visibility:hidden;pointer-events:none}
 #nav-links.open{visibility:visible;pointer-events:auto}
 .brief-dialog{box-shadow:6px 6px 0 #111;border-width:4px;padding:20px}
 .v10-cursor{display:none}
}
@media(prefers-reduced-motion:reduce){.v10-transition{display:none!important}.v10-cursor{display:none!important}.brief-submit{transition:none!important}.case-img{transition:none!important}}
