/* Own work gallery: a visual cover first, short context below, full frame in the viewer. */
.brands-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px}
.brands-project{overflow:hidden;border:1px solid #343b49;border-radius:10px;background:#101319}
.brands-project-cover{position:relative;isolation:isolate;display:block;width:100%;aspect-ratio:4/5;max-height:640px;border:0;padding:0;overflow:hidden;background:#141922;color:white;text-align:left;font-family:var(--font-sans);cursor:pointer}
.brands-project-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0006 0%,transparent 26%,transparent 48%,#000a 100%);pointer-events:none}
.brands-project-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .35s ease;transform:scale(1.001)}
.brands-project-cover:hover>img{transform:scale(1.035)}
.brands-project-cover:focus-visible{outline:3px solid #bdccff;outline-offset:-6px}
.brands-project-cover-top,.brands-project-cover-bottom{position:absolute;inset-inline:28px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}
.brands-project-cover-top{top:24px;font-size:10px;font-weight:600;letter-spacing:.1em}
.brands-project-cover-top>span:last-child{font-size:12px;letter-spacing:.02em;padding:5px 10px;border:1px solid #ffffff80;border-radius:999px;background:#0a101b55}
.brands-project-cover-bottom{bottom:28px;align-items:flex-end}
.brands-project-cover-bottom>strong{font-size:clamp(24px,2.8vw,40px);font-weight:600;line-height:1.1;letter-spacing:-.045em;max-width:12ch}
.brands-project-cover-bottom>span{display:inline-flex;gap:12px;align-items:center;white-space:nowrap;font-size:12px;line-height:1.5}
.brands-project-cover-bottom>span>span{font-size:22px;line-height:1}
.brands-project-play{position:absolute;z-index:1;top:50%;left:50%;display:grid;place-items:center;width:68px;height:68px;transform:translate(-50%,-50%);border:1px solid #ffffffa3;border-radius:50%;background:#11192770;backdrop-filter:blur(8px);transition:background .2s,border-color .2s;pointer-events:none}
.brands-project-play>svg{width:25px;height:25px}
.brands-project-cover:is(:hover,:focus-visible) .brands-project-play{background:#3157ff;border-color:#adc0ff}
.brands-project-body{padding:28px}
.brands-project-sector{font-size:10px;line-height:1.6;letter-spacing:.09em;color:#aebddc}
.brands-project-body h3{font-size:clamp(28px,2.5vw,36px);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin:16px 0}
.brands-project-body h3 em{white-space:normal;font-size:1.17em;line-height:1}
.brands-project-intro{font-size:14px;line-height:1.8;color:#b5bdcc;max-width:48ch;min-height:3.6em}
.brands-project-details{margin-top:18px}
.brands-project-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;list-style:none;cursor:pointer;font-size:13px;color:#c2d0f6}
.brands-project-details summary::-webkit-details-marker{display:none}
.brands-project-details summary>span{font:400 21px/1 var(--font-sans);transition:transform .2s}
.brands-project-details[open] summary>span{transform:rotate(45deg)}
.brands-project-details dl{margin:6px 0 22px;padding-top:16px;border-top:1px solid #333d50;display:grid;gap:16px}
.brands-project-details dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px}
.brands-project-details dt{font-size:11px;line-height:1.8;color:#acb9d4}
.brands-project-details dd{font-size:13px;line-height:1.8;color:#bac2d2;margin:0}
.brands-project-footer{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding-top:18px;margin-top:4px;border-top:1px solid #303949}
.brands-project-footer>span{font-size:11px;color:#9faec8;white-space:nowrap}
.brands-project-footer i{font-style:normal;padding-inline:6px}
.brands-project-footer>a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;font-size:12px;color:#c3d0ff;text-decoration:none}
.brands-project-footer>a:hover{text-decoration:underline}
.brands-local-note{margin-top:24px!important}

/* The browser's native modal provides focus trapping and makes the rest of the page inert. */
.brands-viewing{overflow:hidden}
.brands-viewer{width:min(calc(68dvh * .5625 + 40px),94vw);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #46516a;border-radius:10px;background:#0d1118;color:#f3f2ed;overflow:auto;overscroll-behavior:contain}
.brands-viewer::backdrop{background:#03060be8;backdrop-filter:blur(10px)}
.brands-viewer-inner{padding:20px}
.brands-viewer header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}
.brands-viewer header p{color:#aebddb;font-size:11px;line-height:1.6;letter-spacing:.03em;margin-bottom:6px}
.brands-page .brands-viewer h2{font-size:24px;line-height:1.15;letter-spacing:-.03em;margin:0}
.brands-viewer header button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #4c5771;border-radius:50%;background:transparent;color:#d5dfff}
.brands-viewer header button:hover{background:#26314a}
.brands-viewer-stage{position:relative;display:grid;place-items:center;background:#06090e;border-radius:4px;overflow:hidden;min-height:180px}
.brands-viewer video{display:block;width:100%;height:min(68dvh,760px);object-fit:contain;background:#06090e}
.brands-viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px 16px;border:1px solid #55617b;border-radius:999px;color:#e6edff;background:#0b1225eb;font-size:13px;white-space:nowrap;pointer-events:none}
.brands-viewer-loading[hidden],.brands-viewer-error[hidden]{display:none}
.brands-viewer-error{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px;color:#ffbdc3;font-size:13px}
.brands-viewer-error button{min-height:44px;padding:10px 16px;border:1px solid #aebfdc;border-radius:6px;background:transparent;color:#e7efff;font-size:13px}
.brands-viewer footer{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:16px}
.brands-viewer footer>span{font-size:11px;color:#a3b1cc}
.brands-viewer footer>a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;color:#c3d0ff;text-decoration:none}
.brands-viewer footer>a:hover{text-decoration:underline}
@media(max-width:1100px){.brands-projects{gap:20px}.brands-project-body{padding:24px}.brands-project-cover-top,.brands-project-cover-bottom{inset-inline:24px}.brands-project-cover-bottom{align-items:flex-start;flex-direction:column;gap:14px}.brands-project-cover-bottom>strong{font-size:30px;max-width:15ch}.brands-project-body h3{font-size:30px}}
@media(max-width:700px){.brands-projects{grid-template-columns:1fr;gap:28px}.brands-project-cover{aspect-ratio:4/5;max-height:620px}.brands-project-cover-bottom{flex-direction:row;align-items:flex-end}.brands-project-cover-bottom>strong{font-size:clamp(24px,6vw,34px);max-width:12ch}.brands-project-cover-bottom>span{font-size:11px;gap:8px}.brands-project-intro{min-height:0}.brands-viewer{width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 20px);border-radius:8px}.brands-viewer-inner{padding:14px}.brands-viewer video{height:min(66dvh,760px)}.brands-viewer footer{padding-top:10px;gap:4px}.brands-page .brands-viewer h2{font-size:22px}}
@media(max-width:380px){.brands-project-body{padding:20px}.brands-project-cover-top,.brands-project-cover-bottom{inset-inline:20px}.brands-project-cover-top{top:18px}.brands-project-cover-bottom{bottom:20px;flex-direction:column;align-items:start;gap:12px}.brands-project-cover-bottom>strong{font-size:29px;max-width:14ch}.brands-project-play{width:56px;height:56px}.brands-project-play>svg{width:22px;height:22px}.brands-project-body h3{font-size:28px}.brands-project-details dl>div{grid-template-columns:1fr;gap:5px}.brands-project-footer{gap:8px;align-items:flex-start;flex-direction:column}.brands-project-footer>a{font-size:12px}.brands-viewer video{height:60dvh}}
@media(prefers-reduced-motion:reduce){.brands-project-cover>img,.brands-project-play,.brands-project-details summary>span{transition:none}}
