@font-face{font-family:Inter;src:url("../../../../fonts/inter/Inter-variable.ttf") format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--mea-title-gap:18px;--mea-content-gap:32px;--mea-section-gap:48px}
body{font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55}
button,input,select,textarea{font-family:inherit}
.topbar .theme-switch button{font-family:Inter,Arial,sans-serif}
:root[data-theme='light']{--violet:#603ac5}
.case-intro{padding:40px 0 24px;text-align:left}
.case-intro h1{font-size:clamp(40px,5vw,64px);line-height:1.08;letter-spacing:-.04em}
.case-intro .project-company-link{font-size:14px;line-height:1.5;margin:0 0 20px}
.project-directory{padding-top:0}
.project-section{margin:0 0 var(--mea-section-gap);padding:0}
.project-section-head{margin:0 0 var(--mea-content-gap);text-align:left}
.project-section-head h2{font-size:clamp(26px,3vw,36px);font-weight:650;line-height:1.2;letter-spacing:-.03em;margin:0;max-width:none}
.project-section>p,.mea-video-intro{max-width:850px;font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 20px}
#video .mea-video-intro{margin:calc(var(--mea-title-gap) - var(--mea-content-gap)) 0 var(--mea-content-gap)}
.project-video{margin-inline:0;max-width:100%;border-radius:0}
.mea-process dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0 0 22px}
.mea-process dl>div{display:block;min-width:0;padding:0}
.mea-process dt{font-size:22px;line-height:1.3;font-weight:600;color:var(--violet);margin:0 0 14px;letter-spacing:-.02em}
.mea-process dd{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}
.mea-process summary{font-size:14px;line-height:1.5;color:var(--muted);cursor:pointer;text-underline-offset:4px}
.mea-process details p{font-size:14px;line-height:1.6;color:var(--muted);max-width:850px;margin:14px 0 0}
.project-image-grid{gap:18px}
.project-image-grid img{border-radius:0;object-fit:contain;height:auto}
#ai-images .project-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-rich-image{margin-inline:0}
.project-jumps{margin:0 0 32px}
@media(max-width:1000px){.mea-process dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:600px){:root{--mea-title-gap:14px;--mea-content-gap:24px;--mea-section-gap:36px}.case-intro{padding:28px 0 22px}.project-section>p,.mea-video-intro{font-size:16px}.mea-process dl{grid-template-columns:1fr;gap:22px}.mea-process dt{font-size:21px;margin-bottom:10px}#ai-images .project-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:420px){#ai-images .project-image-grid{grid-template-columns:1fr}}

/* Compact finished-work galleries without long full-page image stacks. */
#product-gallery .mea-card-rail,#mea-second-set .mea-card-rail{display:flex;gap:16px;overflow-x:auto;align-items:flex-start;scroll-snap-type:x proximity;padding:0 0 16px;scrollbar-width:thin;scrollbar-color:var(--violet) transparent}
.mea-card-rail>figure{flex:0 0 clamp(210px,23vw,290px);scroll-snap-align:start;margin:0}
.mea-card-rail img{display:block;width:100%;height:auto;max-height:none}
.mea-gallery-note{font-size:13px!important;line-height:1.5!important;color:var(--muted);margin:14px 0 0!important}
#rich-content img.mea-rich-preview,#mea-second-rich img.mea-rich-preview{display:block;width:auto;max-width:100%;height:auto;max-height:460px;object-fit:contain;margin:0;cursor:pointer}
.mea-card-rail:focus-visible{outline:2px solid var(--violet);outline-offset:5px}
@media(max-width:600px){.mea-card-rail>figure{flex-basis:72vw}#rich-content img.mea-rich-preview,#mea-second-rich img.mea-rich-preview{max-height:360px}}

/* Each set: card rail at left, compact rich previews and hint at right. */
.mea-set-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start;margin-bottom:48px}
.mea-set-layout>.project-section{min-width:0;margin:0}
.mea-set-layout .mea-card-rail>figure{flex-basis:clamp(200px,23vw,285px)}
.mea-set-layout .project-section-head h2{font-size:clamp(24px,2.5vw,32px)}
.mea-set-layout #rich-content img.mea-rich-preview,.mea-set-layout #mea-second-rich img.mea-rich-preview{display:inline-block;vertical-align:top;max-width:48%;max-height:350px;width:auto;height:auto;margin:0 8px 12px 0}
.mea-rich-hint{display:flex;align-items:center;gap:12px;margin-top:16px}
.mea-rich-hint>img{width:85px;height:auto;flex:none}
.mea-rich-hint>span{font-family:'Portfolio Marker',cursive;font-size:29px;font-weight:700;line-height:1.05;color:#f3954c;transform:rotate(-3deg)}
:root[data-theme='light'] .mea-rich-hint>span{color:#a83b00}
@media(max-width:850px){.mea-set-layout{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:36px}.mea-set-layout .mea-card-rail>figure{flex-basis:clamp(220px,65vw,330px)}.mea-rich-hint>img{width:70px}}
.mea-future-test{margin:0 0 28px}.mea-future-test h3{font-size:18px;line-height:1.35;font-weight:600;margin:0 0 18px;color:var(--ink)}.mea-test-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.mea-test-pair figure{margin:0;min-width:0}.mea-test-pair figcaption{font-size:13px;color:var(--muted);margin:0 0 9px}.mea-test-pair img{width:100%;height:auto;cursor:pointer}.mea-future-test p{font-size:14px;line-height:1.6;color:var(--muted);margin:16px 0 0}.mea-future-test .mea-test-status{font-size:12px;color:var(--violet);margin-top:10px}

/* Balance the work previews instead of a tiny rich strip beside oversized cards. */
.mea-set-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;margin-bottom:44px}
.mea-set-layout .project-section-head{min-height:72px;margin-bottom:18px;display:flex;align-items:flex-start}
.mea-set-layout .project-section-head h2{font-size:26px;line-height:1.2}
.mea-set-layout .mea-card-rail>figure{flex:0 0 215px}
.mea-set-layout .mea-card-rail{gap:12px}
.mea-set-layout #rich-content,.mea-set-layout #mea-second-rich{font-size:0}
.mea-set-layout #rich-content img.mea-rich-preview,.mea-set-layout #mea-second-rich img.mea-rich-preview{height:390px;width:auto;max-width:100%;max-height:none;object-fit:contain;margin:0 12px 12px 0;display:inline-block;vertical-align:top}
.mea-set-layout .mea-rich-hint{margin-top:8px;gap:10px}
.mea-rich-hint>img{width:65px}
.mea-rich-hint>span{font-size:24px}
@media(max-width:1100px){.mea-set-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.mea-set-layout #rich-content img.mea-rich-preview,.mea-set-layout #mea-second-rich img.mea-rich-preview{height:320px}.mea-set-layout .mea-card-rail>figure{flex-basis:200px}}
@media(max-width:850px){.mea-set-layout{grid-template-columns:1fr;gap:24px}.mea-set-layout .project-section-head{min-height:0;margin-bottom:20px}.mea-set-layout .mea-card-rail>figure{flex-basis:220px}.mea-set-layout #rich-content img.mea-rich-preview,.mea-set-layout #mea-second-rich img.mea-rich-preview{height:350px;max-width:100%}}

/* Finished cards: a deliberate cover pair, then optional full static gallery. */
.mea-set-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:36px;align-items:start}
.mea-set-layout .project-section-head{min-height:0;margin:0 0 24px}
.mea-set-layout .project-section-head h2{font-size:clamp(24px,2.5vw,30px);line-height:1.2}
.mea-future-test h3{font-size:14px;font-weight:500;color:var(--muted);margin:0 0 14px}
.mea-test-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mea-test-pair figure{margin:0;min-width:0}
.mea-test-pair img{width:100%;height:auto;display:block;border-radius:0;cursor:pointer}
.mea-test-pair figcaption{font-size:12px;color:var(--muted);line-height:1.4;margin:0 0 10px}
.mea-card-details{margin-top:24px}
.mea-card-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}
.mea-card-details>summary::-webkit-details-marker{display:none}
.mea-card-details>summary span{font-size:13px;font-weight:400;color:var(--muted)}
.mea-card-details>summary span:after{content:' +';margin-left:10px}
.mea-card-details[open]>summary span:after{content:' −'}
.mea-static-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}
.mea-static-grid figure{margin:0;min-width:0}.mea-static-grid img{width:100%;height:auto;display:block;cursor:pointer}
.mea-card-details>summary:focus-visible{outline:2px solid var(--violet);outline-offset:5px}
@media(max-width:850px){.mea-set-layout{grid-template-columns:1fr;gap:30px}}
@media(max-width:440px){.mea-static-grid{grid-template-columns:1fr}.mea-test-pair{gap:10px}}

/* Two running set galleries, followed by the two rich projects side by side. */
.mea-running-gallery{overflow:hidden;padding:4px 0 10px}
.mea-running-track{display:flex;width:max-content;animation:mea-running var(--mea-duration,90s) linear infinite}
.mea-running-group{display:flex;flex:none;gap:16px;padding-right:16px;align-items:flex-start}
.mea-running-group figure{margin:0;flex:none}
.mea-running-group img{display:block;height:340px;width:auto;max-width:none;cursor:pointer}.mea-running-gallery:focus-within .mea-running-track{animation-play-state:paused}
@keyframes mea-running{to{transform:translateX(-50%)}}
.mea-both-rich{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.mea-both-rich>.project-section{min-width:0}
.mea-both-rich .project-section-head{margin-bottom:24px}
.mea-both-rich .project-rich-image.mea-rich-preview{display:inline-block;width:auto;height:auto;max-height:460px;max-width:100%;margin:0 12px 14px 0;object-fit:contain;vertical-align:top}
@media(max-width:600px){.mea-running-group img{height:270px}.mea-both-rich{grid-template-columns:1fr;gap:28px}}
@media(prefers-reduced-motion:reduce){.mea-running-track{animation:none}.mea-running-gallery{overflow-x:auto}.mea-running-group[aria-hidden='true']{display:none}}

/* One heading; full-width rich images aligned at the top, no sticker. */
.mea-rich-heading h2{font-size:clamp(26px,3vw,36px);font-weight:650;line-height:1.2;letter-spacing:-.03em;margin:0 0 32px}
.mea-both-rich{align-items:start;gap:24px}
.mea-both-rich>.project-section{margin:0 0 48px}
.mea-both-rich img.mea-rich-preview{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;margin:0 0 16px!important;object-fit:contain}

/* Consecutive parts of a rich project form one continuous canvas. */
.mea-both-rich img.mea-rich-preview{margin:0!important;vertical-align:top}

/* Omit the transparent source rows 2832–2936; preserve both artwork regions. */
.mea-rich-joined{width:100%;line-height:0}
.mea-rich-part{position:relative;width:100%;overflow:hidden;margin:0;padding:0}
.mea-rich-part-top{aspect-ratio:1416/2832}
.mea-rich-part-bottom{aspect-ratio:1416/2124}
.mea-both-rich .mea-rich-part img{position:absolute;left:0;top:0;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;display:block}
.mea-both-rich .mea-rich-part-bottom img{top:auto;bottom:0}

/* Explicit proportional boxes: the two photos meet with no inter-image space. */
#rich-content .mea-rich-joined{display:block;font-size:0;line-height:0;gap:0;margin:0;padding:0}
#rich-content .mea-rich-part{display:block;box-sizing:content-box;height:0;min-height:0;aspect-ratio:auto;border:0;margin:0;padding:0;overflow:hidden}
#rich-content .mea-rich-part-top{padding-bottom:200%}
#rich-content .mea-rich-part-bottom{padding-bottom:150%}
#rich-content .mea-rich-part img{display:block;position:absolute;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;left:0;margin:0!important;padding:0;border:0}
#rich-content .mea-rich-part-top img{top:0;bottom:auto}
#rich-content .mea-rich-part-bottom img{top:auto;bottom:0}

/* Match the established case header; section navigation remains in contents. */
.topbar .site-nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar .navlinks{flex:0 1 auto;gap:24px}
.topbar .navlinks a{font-size:13px}
.topbar .brand-lockup{font-size:13px;font-style:normal;letter-spacing:.02em}
.topbar .theme-switch button{font-size:12px;padding:8px 13px}
@media(max-width:600px){.topbar .site-nav{min-height:60px;gap:12px}.topbar .navlinks{gap:12px}.topbar .navlinks a{font-size:11px}.topbar .brand-lockup{white-space:normal}.topbar .theme-switch button{font-size:10px;padding:7px 9px}}
