/* Four chapters: large work area, readable caption rail, separate navigation. */
.home-page .project-showcase{position:relative;height:calc(100svh + (var(--work-count,4) - 1)*72svh);background:#f5f6f7;color:#1c2630}
.home-page .project-showcase .ai-work-stage{position:sticky;top:0;height:100svh;min-height:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,340px);grid-template-rows:auto minmax(240px,1fr) auto;column-gap:clamp(24px,2.5vw,48px);row-gap:18px;padding:28px 4% 22px;isolation:isolate;background:#f5f6f7 url('assets/white-carrara.webp') center/cover;overflow:hidden}
.project-showcase .ai-work-heading{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,340px);align-items:end;gap:clamp(24px,2.5vw,48px);margin:0;z-index:2}
.project-showcase .ai-work-heading .eyebrow{font:400 12px/1.5 var(--font-text);color:#244497;margin:0 0 10px}
.home-page .project-showcase .ai-work-heading h2{font:300 clamp(42px,4.5vw,68px)/1.02 var(--font-display);letter-spacing:-.035em;margin:0;color:#1c2630}
.project-showcase .ai-work-intro{font:400 14px/1.6 var(--font-text);color:#53616f;max-width:30ch;margin:0 0 5px}
.project-showcase .ai-work-display{grid-column:1;grid-row:2;position:relative;min-width:0;min-height:240px;isolation:isolate}
.project-showcase .ai-work-pages{position:absolute;width:80%;height:0;left:50%;top:50%;transform:translateX(-50%)}
.project-showcase .ai-work-page{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:var(--page-aspect,1.5);margin:0;transform:translateY(-50%);transform-origin:center;border:1px solid #d8dfe6;border-radius:8px;background:#fff;box-shadow:0 2px 5px #16243a14,0 14px 25px #16243a24;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;box-sizing:border-box}
.project-showcase .ai-work-page:first-child{opacity:1;visibility:visible}
.project-showcase[data-moving=true] .ai-work-page{will-change:transform,opacity}
.project-showcase .ai-work-page img{display:block;width:100%;height:100%;object-fit:contain}
.project-showcase .ai-work-page--phones{display:flex;align-items:center;justify-content:center;gap:3%;padding:4%;background:#f6f0f4}
.project-showcase .ai-work-page--phones img{width:27%;height:95%;filter:drop-shadow(0 8px 8px #2f203e24)}
.project-showcase .ai-work-page--phones img:nth-child(2){height:100%;width:29%}
.project-showcase .ai-work-page--campaigns{display:flex;align-items:center;justify-content:center;gap:2%;padding:2%;background:#f3f1ed}
.project-showcase .ai-work-page--campaigns img{width:auto;max-width:49%;height:100%;box-shadow:0 4px 12px #2222221a}
.project-showcase .ai-work-page--campaigns img:nth-child(2){height:100%;align-self:center}
.project-showcase .ai-work-page--architecture{background:#e9edf1}
.project-showcase .ai-work-page--architecture img{position:absolute;height:auto;box-shadow:0 8px 20px #14223926}
.project-showcase .ai-work-page--architecture img:first-child{width:74%;left:4%;top:5%}
.project-showcase .ai-work-page--architecture img:last-child{width:37%;right:4%;bottom:5%;border:6px solid #f7f8fa}
/* Hidden panels stay in the grid to reserve the tallest caption. They are inert and invisible. */
.project-showcase .ai-work-captions{grid-column:2;grid-row:2;align-self:center;display:grid;position:relative;z-index:2;padding:24px 0 24px 24px;border:0;border-left:1px solid #24449740;border-radius:0;background:transparent;box-shadow:none;min-width:0}
.project-showcase .ai-work-caption,.project-showcase .ai-work-caption[hidden]{display:grid;grid-area:1/1;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start;align-items:start;min-width:0}
.project-showcase .ai-work-caption[hidden]{visibility:hidden;pointer-events:none}
.project-showcase .ai-work-number{font:400 12px/1.5 var(--font-text);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#627285}
.home-page .project-showcase .ai-work-caption h3{font:300 clamp(30px,2.5vw,38px)/1.1 var(--font-display);letter-spacing:-.02em;margin:0 0 14px;color:#1c2630}
.project-showcase .ai-work-caption-copy p{font:400 15px/1.65 var(--font-text);margin:0;color:#445363;max-width:78ch}
.project-showcase .ai-work-caption small{display:block;font:400 12px/1.55 var(--font-text);color:#637180;margin-top:13px}
.project-showcase .ai-work-project,.project-showcase .ai-work-all{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;color:#203e7b;text-decoration:none;font:400 14px/1.4 var(--font-text);border-bottom:1px solid #8291a6;padding:12px 0;min-height:44px;box-sizing:border-box;white-space:nowrap}
.project-showcase .ai-work-project{justify-self:start;margin:0;white-space:normal}
.project-showcase .ai-work-project span,.project-showcase .ai-work-all span{font-size:23px;line-height:1}
.project-showcase .ai-work-footer{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;z-index:2;min-width:0}
.project-showcase .ai-work-all{justify-self:start}
.project-showcase .ai-work-tabs{display:grid;grid-template-columns:repeat(var(--work-count),minmax(0,1fr));gap:clamp(16px,3vw,48px);min-width:0;flex:1;max-width:none}
.project-showcase .ai-work-tabs button{position:relative;appearance:none;background:none;border:0;border-bottom:1px solid #6a7e9438;color:#526171;font:400 12px/1.4 var(--font-text);text-align:left;padding:12px 0;min-height:48px;cursor:pointer}
.project-showcase .ai-work-tabs button>span{font-size:10px;color:#7a8998;margin-right:8px;font-variant-numeric:tabular-nums}
.project-showcase .ai-work-tabs button::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#244497;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.project-showcase .ai-work-tabs button[aria-selected=true]{color:#244497}
.project-showcase .ai-work-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.project-showcase .ai-work-tabs button:hover,.project-showcase a:hover{color:#173db4}
.project-showcase :is(button,a,[role=tabpanel]):focus-visible{outline:2px solid #244497;outline-offset:4px}
@media(min-width:801px) and (max-height:850px){
 .home-page .project-showcase .ai-work-stage{padding-block:24px 18px;row-gap:14px}
 .home-page .project-showcase .ai-work-heading h2{font-size:46px}
 .project-showcase .ai-work-captions{padding-block:18px}
}
@media(max-width:900px){
 .home-page .project-showcase .ai-work-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(220px,1fr) auto auto;padding-inline:5%}
 .project-showcase .ai-work-heading{display:flex;gap:32px}
 .project-showcase .ai-work-display{grid-column:1;grid-row:2;min-height:220px}
 .project-showcase .ai-work-captions{grid-column:1;grid-row:3;align-self:stretch;border-left:0;border-top:1px solid #24449740;padding:18px 0 0}
 .project-showcase .ai-work-caption,.project-showcase .ai-work-caption[hidden]{grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center}
 .home-page .project-showcase .ai-work-caption h3{font-size:32px;margin-bottom:8px}
 .project-showcase .ai-work-caption small{margin-top:7px}
 .project-showcase .ai-work-footer{grid-column:1;grid-row:4;display:flex;flex-wrap:wrap;gap:10px 24px}
 .project-showcase .ai-work-tabs{flex-basis:100%;max-width:none}
 .project-showcase .ai-work-all{margin-left:auto;padding:4px 0;min-height:34px}
 .project-showcase .ai-work-intro{max-width:230px;font-size:14px}
 .project-showcase .ai-work-project{gap:12px;margin-left:0}
}
@media(max-width:800px){
 .home-page .project-showcase .ai-work-stage{padding:25px 6% 20px;gap:12px;grid-template-rows:auto minmax(170px,1fr) auto auto}
 .project-showcase .ai-work-heading{display:block}
 .project-showcase .ai-work-heading .eyebrow{font-size:10px;margin-bottom:8px}
 .home-page .project-showcase .ai-work-heading h2{font-size:clamp(34px,7.3vw,48px)}
 .project-showcase .ai-work-intro{max-width:42ch;margin:9px 0 0;font-size:14px;line-height:1.5}
 .project-showcase .ai-work-display{min-height:170px}
 .project-showcase .ai-work-captions{padding:16px 0 0;border-radius:0}
 .project-showcase .ai-work-caption,.project-showcase .ai-work-caption[hidden]{grid-template-columns:minmax(0,1fr);gap:5px}
 .project-showcase .ai-work-number{display:none}
 .home-page .project-showcase .ai-work-caption h3{font-size:28px}
 .project-showcase .ai-work-caption-copy p{font-size:14px;line-height:1.6}
 .project-showcase .ai-work-caption small{font-size:11px;line-height:1.55}
 .project-showcase .ai-work-project{justify-self:start;gap:24px;margin:0;padding:5px 0;min-height:44px}
 .project-showcase .ai-work-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 .project-showcase .ai-work-tabs button{font-size:11px;padding:9px 0;min-height:44px}
 .project-showcase .ai-work-footer{gap:5px}
 .project-showcase .ai-work-all{font-size:13px;min-height:36px}
}
/* Small-height, reduced-motion and no-script layouts use ordinary document flow. */
.home-page .project-showcase[data-static=true],.home-page .project-showcase:not([data-enhanced]){height:auto}
.home-page .project-showcase[data-static=true] .ai-work-stage,.home-page .project-showcase:not([data-enhanced]) .ai-work-stage{position:relative;height:auto;min-height:100svh;grid-template-rows:auto auto auto;align-content:start;overflow:visible}
.project-showcase[data-static=true] .ai-work-display,.project-showcase:not([data-enhanced]) .ai-work-display{height:auto;min-height:0;aspect-ratio:1.5;align-self:center}
@media(max-width:900px){.home-page .project-showcase[data-static=true] .ai-work-stage,.home-page .project-showcase:not([data-enhanced]) .ai-work-stage{grid-template-rows:auto auto auto auto}}
@media(prefers-reduced-motion:reduce){.project-showcase .ai-work-tabs button::after{transition:none}}
@media(forced-colors:active){.home-page .project-showcase .ai-work-stage{background:Canvas}.project-showcase .ai-work-captions{background:Canvas;border:1px solid CanvasText}.project-showcase .ai-work-tabs button[aria-selected=true]{border-bottom:3px solid Highlight}}
