/* All styles are scoped to the existing Ai-CHA campaign panel. */
.aicha-gallery{--aicha-ink:#f3f9ff;--aicha-muted:#a7c6df;--aicha-accent:#48dcff;--aicha-line:#277cad;color:var(--aicha-ink);background:#051a34;border:1px solid var(--aicha-line);border-radius:1.125rem;padding:clamp(1rem,2vw,1.75rem);min-width:0}
.aicha-gallery *{box-sizing:border-box}
.aicha-gallery__header h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.25;margin:0 0 .5rem}
.aicha-gallery__header p{color:var(--aicha-muted);font-size:1rem;line-height:1.5;margin:0 0 1.5rem}
.aicha-gallery__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
.aicha-gallery__grid>li{min-width:0}
.aicha-gallery__card{appearance:none;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;border-radius:.6rem}
.aicha-gallery__card:focus-visible,.aicha-gallery__close:focus-visible,.aicha-gallery__dialog a:focus-visible{outline:3px solid var(--aicha-accent);outline-offset:5px}
.aicha-gallery__poster{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:9/16;width:100%;overflow:hidden;border-radius:.6rem;border:1px solid #254964;background:#020b19}
.aicha-gallery__poster img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%}
.aicha-gallery__play{display:grid;place-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2.875rem;height:2.875rem;border:1px solid #e7f8ff;border-radius:50%;background:rgb(6 22 42 / 85%);color:#fff;font-size:1.1rem;padding-left:.125rem}
.aicha-gallery__card:hover .aicha-gallery__play{background:#0866a7}
.aicha-gallery__format{position:absolute;top:1.5rem;left:0;right:0;text-align:center;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--aicha-muted)}
.aicha-gallery__title,.aicha-gallery__meta{display:block;overflow-wrap:anywhere}
.aicha-gallery__title{font-size:1rem;line-height:1.4;font-weight:700;margin-top:.8rem}
.aicha-gallery__meta{font-size:.875rem;line-height:1.5;color:var(--aicha-muted);margin-top:.35rem}
.aicha-gallery__context{font-size:.875rem;line-height:1.55;color:var(--aicha-muted);margin:1.25rem 0 0}
.aicha-gallery__dialog{background:#051a34;color:var(--aicha-ink);padding:1rem;border:1px solid var(--aicha-line);border-radius:1rem;width:min(58rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:auto}
.aicha-gallery__dialog::backdrop{background:rgb(1 7 18 / 88%)}
.aicha-gallery__dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem}
.aicha-gallery__dialog-header h4{font-size:1.25rem;line-height:1.35;margin:0}
.aicha-gallery__close{flex-shrink:0;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid #417293;background:#071c34;color:#fff;border-radius:50%;font:inherit;font-size:1.8rem;line-height:1;cursor:pointer}
.aicha-gallery__video{display:block;object-fit:contain;background:#020b19;width:100%;height:auto;max-width:100%;max-height:min(70vh,48rem);max-height:min(70dvh,48rem);margin:auto}
.aicha-gallery__dialog[data-orientation="portrait"]{width:min(38rem,calc(100vw - 2rem))}
.aicha-gallery__dialog[data-orientation="portrait"] .aicha-gallery__video{width:auto;max-width:100%;height:min(64vh,48rem);height:min(64dvh,48rem)}
.aicha-gallery__play-help{font-size:.875rem;color:var(--aicha-muted);line-height:1.5;margin:.75rem 0 0}
.aicha-gallery__dialog .aicha-gallery__context{margin:.5rem 0 0}
.aicha-gallery__error{font-size:1rem;line-height:1.5}.aicha-gallery__error a{color:var(--aicha-accent)}
@media(max-width:900px){.aicha-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.aicha-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem .8rem}.aicha-gallery__title{font-size:1rem}.aicha-gallery__dialog{padding:.8rem}}
@media(max-width:340px){.aicha-gallery__grid{grid-template-columns:1fr}.aicha-gallery__poster{max-height:26rem}}
/* Approved expansion of the existing Ai-CHA Work card. */
.aicha-work-card{min-width:0;position:relative}.aicha-work-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.aicha-work-actions .button{font-size:14px}
.stage-grid .aicha-work-project[data-panel-open="true"]{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,30fr) minmax(0,65fr);gap:28px;align-items:start;width:100%;max-width:none}
.aicha-work-panel{min-width:0;background:#051a34;border:1px solid #277cad;border-top:3px solid #29cdf2;border-radius:18px;padding:24px;color:#f3f9ff;text-align:left;position:relative;z-index:4}
.aicha-work-panel[hidden],.aicha-work-tabpanel[hidden]{display:none!important}.aicha-work-panel>header{display:flex;justify-content:space-between;align-items:start;gap:16px}.aicha-work-panel h3{margin:0 0 8px;font-size:26px;color:#f3f9ff}.aicha-work-panel>header p{margin:0;color:#9bbcd7;font-size:14px}.aicha-work-panel [data-aicha-panel-close]{background:transparent;border:0;color:#9bbcd7;font-size:28px;line-height:1;min-width:44px;min-height:44px}
.aicha-work-tabs{display:flex;gap:24px;border-bottom:1px solid #254964;margin:12px 0 20px}.aicha-work-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:14px 0;color:#9bbcd7;font:600 14px Barlow,Arial,sans-serif}.aicha-work-tabs button[aria-selected="true"]{border-bottom-color:#48dcff;color:#48dcff}.aicha-work-panel button:focus-visible{outline:2px solid #48dcff;outline-offset:4px}
.aicha-work-panel .aicha-gallery{padding:0;border:0;border-radius:0;background:transparent}.aicha-work-tabpanel>img{width:100%;height:auto;max-height:450px;object-fit:contain;margin-bottom:18px}.aicha-work-tabpanel>.button{font-size:14px}
@media(max-width:1000px){.stage-grid .aicha-work-project[data-panel-open="true"]{grid-template-columns:minmax(0,1fr);gap:26px}.aicha-work-project[data-panel-open="true"] .aicha-work-card{width:100%;max-width:520px;justify-self:center}.aicha-work-panel{padding:18px}}
@media(min-width:901px){.aicha-work-panel .aicha-gallery__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.aicha-work-panel .aicha-gallery__title{font-size:14px}.aicha-work-panel .aicha-gallery__meta{font-size:12px}}
