/* Shared captions and the applied AI case study. */
.project-image-caption{font-size:14px;color:var(--muted);line-height:1.75;white-space:pre-wrap;padding:13px 0 4px;font-weight:400;overflow-wrap:anywhere;text-align:left}
.ai-feature:has(.project-image-caption){grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.ai-feature>.project-image-caption{grid-column:1;grid-row:2;padding-top:0}.ai-feature:has(.project-image-caption)>.ai-feature-copy{grid-column:2;grid-row:1 / 3}
.gallery figcaption.project-image-caption{display:block}.project-hero:has(.project-image-caption){height:auto}.project-hero>.project-image-caption{background:var(--paper);padding:14px}
.hero>.project-image-caption{padding:14px 20px}.hero:has(.project-image-caption) .hero-label{bottom:auto;top:24px}.caption-video-frame{min-width:0}.flow-viewer .caption-video-frame video{height:auto}.caption-video-frame .project-image-caption{padding:12px 4px}
#lightbox-caption{white-space:pre-wrap;color:#eee;background:#171817;font-size:15px;line-height:1.7;padding:12px 24px;margin:0;max-height:24vh;overflow:auto;flex-shrink:0}
#lightbox .lightbox-canvas{min-height:0;flex:1}
#lightbox[open]{display:flex;flex-direction:column}#lightbox .lightbox-top,#lightbox .lightbox-bottom{flex-shrink:0}
.case-page{--case-muted:#6e706b;--case-line:#deded7;max-width:1320px;padding-bottom:60px;color:var(--ink)}
.case-page .breadcrumb{padding-top:32px;font-size:13px;color:var(--case-muted)}
.case-opening{padding:52px 0 44px}.case-opening>.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--orange)}
.case-opening h1{font-size:clamp(32px,4.15vw,58px);font-weight:550;letter-spacing:-.04em;line-height:1.4;margin:24px 0 34px}
.case-opening-bottom{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:start}
.case-intro{font-size:17px;line-height:1.95;max-width:690px;color:#50534f}.case-meta{font-size:13px;border-top:1px solid var(--case-line);margin:0}.case-meta>div{display:flex;gap:25px;padding:10px 0;border-bottom:1px solid var(--case-line)}.case-meta dt{color:var(--case-muted);flex:0 0 28px}.case-meta dd{margin:0}
.case-nav{display:flex;gap:38px;border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line);padding:18px 0;margin-bottom:32px;font-size:14px}.case-nav a{display:flex;gap:10px;white-space:nowrap}.case-nav span{color:var(--orange);font-size:12px}.case-nav a:hover{color:var(--orange)}
.case-figure{margin:0;min-width:0}.case-figure>button{display:block;position:relative;width:100%;background:#efefeb;border:1px solid #e5e5de;padding:14px;cursor:zoom-in;border-radius:3px;overflow:hidden}.case-figure img{display:block;width:100%;object-fit:contain;max-height:610px}.case-figure>button>span{position:absolute;bottom:12px;right:12px;background:#fffffff0;padding:7px 12px;font-size:12px;border:1px solid #deded7;border-radius:2px}.case-figure figcaption{font-size:13px;line-height:1.75;color:var(--case-muted);padding-top:12px;white-space:pre-wrap}.case-hero>button{padding:24px 24px 0;background:#f0efe9}.case-hero img{max-height:none}.case-background{margin:30px 0 0;border-bottom:1px solid var(--case-line);padding:0 0 28px}.case-background summary,.case-architecture summary,.case-evidence-table summary{cursor:pointer;font-size:15px}.case-background p{max-width:790px;margin:20px 0;line-height:2;font-size:16px;color:#50534f}
.case-section{padding-top:105px;scroll-margin-top:90px}.case-section-head{margin-bottom:38px;max-width:800px}.case-index{color:var(--orange);font-size:12px;letter-spacing:.05em}.case-section h2{font-size:clamp(27px,3vw,40px);font-weight:500;line-height:1.45;letter-spacing:-.02em;margin:16px 0}.case-section-head>p{font-size:16px;color:var(--case-muted);line-height:1.9;max-width:740px}
.case-tabs{display:flex;border-bottom:1px solid var(--case-line);gap:32px;margin-bottom:32px}.case-tabs button{padding:14px 2px;border-bottom:2px solid transparent;color:var(--case-muted);font-size:15px;white-space:nowrap}.case-tabs button[aria-selected=true]{color:var(--orange);border-bottom-color:var(--orange)}.case-scene-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;margin-bottom:32px}.case-scene-copy h3{font-size:23px;line-height:1.7;font-weight:500;margin-top:8px;max-width:420px}.case-scene-copy p{font-size:15px;line-height:1.95;color:#555950}.case-scene-copy .case-note{font-size:13px;margin-top:12px;color:var(--case-muted)}.case-conversation{font-size:14px;margin-top:12px}.case-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-evidence-grid.scene-0,.case-evidence-grid.scene-3{grid-template-columns:1fr;background:#f4f3ef;padding:28px}.scene-0 .case-figure,.scene-3 .case-figure{max-width:660px;margin:auto;width:100%}.scene-0 .case-figure>button,.scene-3 .case-figure>button{border:0}.scene-0 img{height:660px}.scene-3 img{height:580px}.case-evidence-grid.scene-1{grid-template-columns:minmax(300px,.82fr) minmax(0,1.4fr);align-items:start}.scene-1 .evidence-0{grid-row:1 / 3}.scene-1 .evidence-0 img{height:650px}.scene-1 .evidence-1 img{height:265px}.scene-1 .evidence-2 img{height:255px}.scene-2{grid-template-columns:1fr}.scene-2 img{max-height:none}
.case-decisions{border-top:1px solid var(--case-line)}.case-decisions>details{border-bottom:1px solid var(--case-line)}.case-decisions summary{list-style:none;display:grid;grid-template-columns:35px 1fr 24px;gap:20px;align-items:start;padding:26px 0;cursor:pointer}.case-decisions summary::-webkit-details-marker{display:none}.case-decisions summary strong{display:block;font-size:20px;font-weight:500;line-height:1.6}.case-decisions summary small{display:block;font-size:14px;color:var(--case-muted);margin-top:5px}.case-plus{font-size:24px;line-height:1.3;color:var(--case-muted)}.case-decisions details[open] .case-plus{transform:rotate(45deg)}.case-choice-details{margin:0 0 28px 55px;max-width:900px}.case-choice-details>div{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:12px 0;font-size:15px;line-height:1.9}.case-choice-details dt{color:var(--case-muted)}.case-choice-details dd{margin:0}.case-choice-details>div:last-child{background:#f2f0e9;margin:8px -16px 0;padding:16px}.case-choice-details>div:last-child dt{color:var(--orange)}
.case-architecture{padding:28px 0;border-bottom:1px solid var(--case-line)}.case-responsibilities{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:28px 0 8px}.case-responsibilities h3{font-size:17px;margin-bottom:12px}.case-responsibilities p{font-size:14px;color:var(--case-muted);line-height:1.9}.case-work{margin-top:70px;padding:35px;background:#f3f2ee}.case-work h2{font-size:25px;font-weight:500;margin-bottom:30px}.case-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.case-work-grid h3{font-size:18px;font-weight:500;margin:10px 0}.case-work-grid p{font-size:14px;line-height:1.95;color:#555950}.case-collaboration{font-size:13px;line-height:1.9;border-top:1px solid var(--case-line);padding-top:22px;margin-top:28px;color:var(--case-muted)}
.case-verification{display:grid;grid-template-columns:.9fr 1.2fr;gap:85px;align-items:start}.case-metric{border-top:1px solid var(--case-line);padding-top:22px}.case-metric>strong{font-size:76px;font-weight:450;line-height:1.2;color:var(--orange);letter-spacing:-.06em}.case-metric h3{font-size:18px;font-weight:500;margin:12px 0}.case-metric p,.case-boundaries p{font-size:14px;line-height:1.95;color:var(--case-muted)}.case-boundaries h3{font-size:19px;font-weight:500;margin:0 0 14px}.case-boundaries h3:not(:first-child){margin-top:26px}.case-evidence-table{margin-top:38px;padding:22px 0;border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line)}.case-table-scroll{overflow:auto;margin-top:20px}.case-evidence-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8}.case-evidence-table th,.case-evidence-table td{padding:14px;text-align:left;border-bottom:1px solid var(--case-line);font-weight:400}.case-evidence-table thead{background:#f1f0eb}.case-evidence-table tbody th{min-width:90px}.case-ending{padding:70px 0;max-width:770px}.case-ending p{font-size:20px;line-height:1.9}.case-ending a{display:inline-block;margin-top:24px;font-size:15px}
.caption-media-item .image-caption-label{display:block;font-size:12px;margin-top:6px}.image-caption-label textarea{display:block;box-sizing:border-box;width:100%;padding:9px;border:1px solid #c9c6be;border-radius:3px;font:inherit;line-height:1.65;resize:vertical;background:white}.image-replace{position:relative;display:inline-block;cursor:pointer;padding:6px}.image-replace input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.case-edit-root{margin:20px 0 32px;border-top:1px solid #ccc;padding-top:20px}.case-edit-group>summary{cursor:pointer;font-size:15px;font-weight:550;padding:10px 0}.case-edit-group>div{padding:15px;background:#fff8;border-left:2px solid #d8d2c5}.case-edit-root>.manager-form{display:block;max-width:100%}.case-edit-root>.manager-form>label{margin:16px 0}.case-edit-root textarea{min-height:65px}.case-edit-root .case-edit-group{margin:8px 0}.caption-media-item .media-controls{flex-wrap:wrap}.case-page button:focus-visible,.case-page a:focus-visible,.case-page summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(max-width:850px){.case-opening-bottom,.case-scene-copy{grid-template-columns:1fr;gap:25px}.case-meta{max-width:500px}.case-nav{gap:23px;overflow:auto}.case-opening{padding:35px 0}.case-section{padding-top:70px}.case-evidence-grid.scene-1{grid-template-columns:1fr 1fr}.scene-1 .evidence-0 img{height:480px}.scene-1 .evidence-1 img,.scene-1 .evidence-2 img{height:180px}.case-work-grid{grid-template-columns:1fr 1fr}.case-verification{gap:35px}.case-responsibilities{grid-template-columns:1fr}.ai-feature:has(.project-image-caption){display:flex;flex-direction:column}.ai-feature>.project-image-caption{align-self:stretch}}
@media(max-width:580px){.case-opening h1{font-size:31px;margin:18px 0 25px}.case-intro{font-size:15px}.case-nav{font-size:12px;gap:21px}.case-nav a{gap:6px}.case-hero>button{padding:10px 10px 0}.case-figure figcaption{font-size:12px}.case-section h2{font-size:27px}.case-section-head>p{font-size:14px}.case-tabs{gap:23px}.case-tabs button{font-size:13px}.case-scene-copy h3{font-size:21px}.case-evidence-grid,.case-evidence-grid.scene-1{grid-template-columns:1fr}.scene-1 .evidence-0{grid-row:auto}.scene-1 .evidence-0 img{height:580px}.scene-1 .evidence-1 img{height:auto}.scene-1 .evidence-2 img{height:420px}.scene-0 img,.scene-3 img{height:auto;max-height:590px}.case-evidence-grid.scene-0,.case-evidence-grid.scene-3{padding:10px}.case-decisions summary{grid-template-columns:25px 1fr 20px;gap:10px;padding:20px 0}.case-decisions summary strong{font-size:17px}.case-decisions summary small{font-size:13px}.case-choice-details{margin-left:0}.case-choice-details>div{grid-template-columns:1fr;gap:5px;font-size:14px}.case-work{padding:25px 20px}.case-work-grid{gap:25px;grid-template-columns:1fr}.case-verification{grid-template-columns:1fr;gap:35px}.case-ending{padding:45px 0}.case-ending p{font-size:17px}.case-page .project-next{gap:20px;font-size:13px}.case-evidence-table table{min-width:630px}#lightbox-caption{font-size:13px;padding:8px 12px}}
