/* V47.6 — source-neutral screenshot placeholders. All V47.5 / Lab 3 animation sources untouched. */
.gn49-case-index nav{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Temporary images are clearly flagged both inside the SVG and with visible HTML captions. */
.gn53-shot{margin:0;min-width:0;background:transparent}
.gn53-shot img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #dae4df;border-radius:10px;background:#eaf1ed}
.gn53-shot figcaption{display:block;margin:5px 0 0;font:700 9px/1.25 var(--sans,Arial,sans-serif);color:#285c49;letter-spacing:.01em}
.gn53-preview-card{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:clamp(14px,2vw,22px);align-items:center;min-width:0;padding:8px 0 4px}
.gn52-scope-extra .gn53-preview-card h3{font:400 clamp(21px,1.95vw,27px)/1.15 var(--serif,Georgia,serif);letter-spacing:-.035em;color:var(--gn49-ink,#1b2a42);margin:0 0 8px}
.gn52-scope-extra .gn53-preview-card p{font:400 13px/1.55 var(--sans,Arial,sans-serif);color:#5f6c76;margin:0}
.gn52-scope-extra-title{margin-bottom:14px}
.gn52-other-grid article{display:grid;grid-template-columns:minmax(135px,41%) minmax(0,1fr);gap:clamp(16px,2vw,26px);align-items:start}
.gn52-other-grid article .gn53-shot{margin:3px 0 0}
.gn52-other-grid article h3{font:400 clamp(22px,2.1vw,28px)/1.19 var(--serif,Georgia,serif)}
.gn52-other-grid article p{font:400 13px/1.67 var(--sans,Arial,sans-serif)}
.gn53-other-copy{min-width:0}
.gn52-other-work .gn52-other-intro{display:none}
@media(max-width:1200px) and (min-width:701px){.gn52-other-grid article{grid-template-columns:1fr}.gn52-other-grid .gn53-shot{max-width:100%}}
@media(max-width:700px){
.gn52-scope-extra-grid{grid-template-columns:1fr;gap:10px}
.gn53-preview-card{grid-template-columns:minmax(115px,38%) minmax(0,1fr);gap:13px;padding:7px 0 14px;border-bottom:1px solid #e3e9e5}
.gn52-scope-extra .gn53-preview-card h3{font-size:clamp(20px,5.6vw,24px);margin-bottom:5px}
.gn52-scope-extra .gn53-preview-card p{font-size:12px;line-height:1.5}
.gn53-shot figcaption{font-size:8px;line-height:1.25}
.gn52-other-grid{gap:22px}
.gn52-other-grid article{grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:13px}
.gn52-other-grid article h3{font-size:clamp(20px,5.2vw,24px);margin:8px 0 9px}
.gn52-other-grid article p{font-size:13px;line-height:1.6}
/* Keep detailed copy full-width on mobile; the provisional image stays compact beside the heading. */
.gn52-other-grid article{grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:8px 13px}
.gn53-other-copy{display:contents}
.gn52-other-grid article .gn53-shot{grid-column:1;grid-row:1/span 2}
.gn52-other-grid article small{grid-column:2;grid-row:1;align-self:end}
.gn52-other-grid article h3{grid-column:2;grid-row:2;align-self:start;margin:4px 0 0}
.gn52-other-grid article p{grid-column:1/-1;grid-row:3;margin:8px 0 0;max-width:70ch}
.gn49-case-index nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){.gn49-case-index nav{grid-template-columns:1fr}}
@media print{.gn52-other-grid article{grid-template-columns:35% 1fr}}

/* V48 candidate — shorten repetition after the preserved Lab 3 scene. */
.home-page .gn47-after{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(16px,2vw,28px)}
.home-page .gn49-scope{padding-top:6px}
.home-page .gn49-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3.6vw,58px)}
.home-page .gn52-scope-extra{margin-top:30px}

/* The final project area becomes a compact index for work already presented,
   then gives AppHalt the visual weight of a distinct design-and-code product. */
.home-page .work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.home-page .work:before{grid-column:1/-1}
.home-page .work .section-head{grid-column:1/-1;margin-bottom:12px}
.home-page .work .project-row{display:block;min-width:0;padding:26px 28px 24px;border:1px solid var(--line);background:#fff}
.home-page .work .project-row .project-image,
.home-page .work .project-row.cetelem .project-image{display:none}
.home-page .work .project-copy>p:not(.project-number):not(.project-role){display:none}
.home-page .work .project-copy h3{font-size:clamp(27px,2.5vw,37px);margin-bottom:14px}
.home-page .work .project-copy .project-role{margin-top:0;padding-top:14px}
.home-page .work .project-copy .text-link{margin-top:8px}
.home-page .work .personal-project{grid-column:1/-1;margin-top:10px;padding:clamp(28px,4vw,52px);grid-template-columns:minmax(210px,320px) minmax(0,1fr);gap:clamp(30px,5vw,76px);background:#17264e;border:0;color:#fff;overflow:hidden;position:relative}
.home-page .work .personal-project:after{content:"";position:absolute;inset:auto -12% -45% 40%;height:115%;background:radial-gradient(circle,#3158f455 0,transparent 67%);pointer-events:none}
.home-page .work .personal-image{max-height:315px;border-radius:14px;box-shadow:0 20px 46px #07102766;z-index:1}
.home-page .work .personal-image img{display:block;width:100%;height:auto;transform:translateY(-2%)}
.home-page .work .personal-project>div:last-child{align-self:center;position:relative;z-index:1}
.home-page .work .personal-project .eyebrow{color:#aebeff;font-size:10px;letter-spacing:.12em}
.home-page .work .personal-project h3{font-size:clamp(40px,5vw,68px);color:#fff;margin:8px 0 14px}
.home-page .work .personal-project p:not(.eyebrow){font-size:clamp(14px,1.4vw,17px);line-height:1.7;color:#dbe3ff;max-width:52ch}
.home-page .work .personal-project .text-link{color:#fff;font-size:13px;margin-top:12px}
.home-page .work .personal-project .text-link:focus-visible{outline-color:#fff}

@media(max-width:700px){
 .home-page .gn49-scope-grid{grid-template-columns:1fr;gap:0}
 .home-page .work{grid-template-columns:1fr;gap:10px;padding-block:52px}
 .home-page .work .project-row,.home-page .work .project-row.malakoff{display:block;padding:20px 19px}
 .home-page .work .project-copy h3{font-size:29px;margin-bottom:10px}
 .home-page .work .personal-project{grid-column:1;grid-template-columns:125px minmax(0,1fr);gap:20px;padding:25px 22px;margin-top:8px;align-items:center}
 .home-page .work .personal-image{max-height:155px;margin:0}
 .home-page .work .personal-project h3{font-size:36px}
 .home-page .work .personal-project p:not(.eyebrow){font-size:12px;line-height:1.6}
}
@media(max-width:360px){
 .home-page .work .personal-project{grid-template-columns:1fr;gap:20px}
 .home-page .work .personal-image{max-height:190px;width:145px}
}
@media print{.home-page .work{display:block}.home-page .work .project-row{margin-bottom:12px}.home-page .work .personal-project{display:grid;grid-template-columns:28% 1fr;background:#fff;color:#17264e;border:1px solid #ccd4e5}.home-page .work .personal-project h3,.home-page .work .personal-project .text-link{color:#17264e}.home-page .work .personal-project p:not(.eyebrow){color:#53627c}}
