/* Hero refinement: keep the image and project information in distinct, aligned columns. */
.hero{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:7vw}
.hero-image{grid-column:2}
.hero-copy{grid-column:1}
.hero-copy{margin-left:0;min-width:0;align-self:center;display:block}
.hero h1 span{font:inherit;letter-spacing:inherit}
.hero .meta{flex-wrap:wrap;margin-top:28px;margin-bottom:0}
.hero + .intro{padding-top:82px}
.hero h1,.lead,.statement-text,.dek,.section-body p,.panel-note p,.caption,.image-caption{ text-wrap:pretty; hyphens:none; }
.statement-text{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:-.07em}
.section-body p:not(.lead):not(.statement-text){font-size:17px}
.context-note{border-left:2px solid var(--lime);padding-left:18px;margin-top:30px;font-size:15px!important;max-width:520px!important}
.experience-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw;margin-top:58px}.experience-list>div{border-top:1px solid var(--line);padding-top:13px}.experience-list span,.role-note span{font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.experience-list p{margin-top:18px;font-size:16px!important;line-height:1.35}.role-note{border-top:1px solid var(--line);padding-top:18px;margin-top:44px}.role-note span{display:block;margin-bottom:10px}.identity-closeup{margin-top:0}
.booklet-stack{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2vw;min-height:auto;padding:3vw 5vw 12vw;align-items:start}
.gallery-card{position:relative;width:auto!important;inset:auto!important;transform:none!important;border:0;box-shadow:0 18px 40px rgba(29,37,27,.14);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.gallery-card:hover{transform:translateY(-14px)!important;box-shadow:0 28px 55px rgba(29,37,27,.2)}
.card-a{grid-column:1 / span 7;grid-row:1;margin-top:0}
.card-b{grid-column:8 / span 5;grid-row:1;margin-top:12vw}
.card-c{grid-column:3 / span 7;grid-row:2;margin-top:-6vw;z-index:2}
.signage-feature{margin-top:0}
@media(max-width:760px){.hero{display:flex;flex-direction:column;gap:28px}.hero-copy{margin:0;display:block}.hero-image{order:2}.hero-copy{order:1}.hero .meta{margin-top:30px}}
@media(max-width:760px){.hero + .intro{padding-top:60px}.booklet-stack{display:flex;flex-direction:column;gap:24px;padding:0 24px 100px}.gallery-card{width:82%!important}.card-a{align-self:flex-start;margin-top:0}.card-b{align-self:flex-end}.card-c{align-self:center;margin-top:0}}
@media(max-width:760px){.experience-list{grid-template-columns:1fr;gap:28px;margin-top:40px}}

/* Quiet editorial pass: let the images and writing carry the project. */
.progress span{background:var(--ink)}
.context-note{border-left:1px solid var(--line)}
.statement{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statement{align-items:start}
.image-caption{position:static;display:block;color:var(--muted);text-shadow:none;margin-top:12px}
.dark-panel{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.panel-note span{color:var(--muted)}
.gallery-card{box-shadow:none}
.gallery-card:hover{box-shadow:none}

/* Consistent image notes: visible, structural, and always below the image. */
.image-caption,
.image-pair figcaption,
.caption{display:block;color:var(--ink);font:17px/1.35 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;text-shadow:none;border-top:1px solid var(--line);padding-top:10px;margin-top:16px}
.image-caption{margin-bottom:0}
.full-bleed img,
.image-pair img,
.booklet-stack img{background:var(--paper)}
.image-story,
.identity-closeup,
.signage-feature,
.out-world{background:var(--paper)}
.mission-detail{max-width:570px;font-size:17px;line-height:1.35;margin:0}.tagline{font:clamp(34px,5vw,70px)/.95 'Libre Baskerville',Georgia,serif;letter-spacing:-.05em;margin:48px 0 0}
.context-note{border-left:2px solid var(--ink);padding-left:18px;font-size:17px!important;max-width:570px!important}
.tagline{font-family:'DM Sans',Arial,sans-serif;font-weight:400}
.out-world{display:grid;padding:150px 10vw}
.identity-closeup .image-caption,
.out-world .caption{border-top:0!important;padding-top:0!important}
.identity-closeup .image-caption{border:0!important}
.identity-closeup + .dark-panel{border-top:1px solid var(--line)!important}
.dark-panel:not(.identity-closeup){grid-template-columns:220px minmax(0,1fr)}
.dark-panel:not(.identity-closeup) img{grid-column:2;grid-row:1}
.dark-panel:not(.identity-closeup) .panel-note{grid-column:1;grid-row:1}
.dark-panel:not(.identity-closeup) .panel-note{align-self:start}
.identity-closeup .image-caption{border-top:1px solid var(--line)!important;padding-top:10px!important}
.image-pair .logo-process img{height:auto;object-fit:contain;background:var(--paper);margin-top:14px}
.image-pair{align-items:start}
.image-pair figure{display:flex;flex-direction:column;height:100%}.image-pair figcaption{margin-top:auto}
.image-pair figure:nth-child(2) img{transform:translateY(-12px)}
@media(max-width:760px){.image-pair figure{height:auto}.image-pair figcaption{margin-top:16px}.image-pair figure:nth-child(2) img{transform:none}}
@media(max-width:760px){.out-world{display:block;padding:90px 24px}}
.scope{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:25% 1fr;gap:5vw;border-top:1px solid var(--line);margin-top:-2vw;padding-top:12px;max-width:none;align-self:start}.scope>span{display:block;color:var(--muted);font:11px/1.35 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em}.scope p{margin:0;font:12px/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:760px){.scope{display:block;order:3;grid-column:auto;grid-row:auto;margin-top:0;max-width:none}.scope p{margin-top:10px}}
.identity-closeup{margin-left:10vw;margin-right:10vw}
.identity-closeup img,.identity-closeup .image-caption{width:74%;margin-left:auto}
@media(max-width:760px){.identity-closeup{margin-left:16px;margin-right:16px}.identity-closeup img,.identity-closeup .image-caption{width:100%}}
.identity-closeup{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:4vw;align-items:end;margin:0 5vw;padding:2vw 7vw 10vw;color:var(--ink);background:var(--paper);border-top:0!important;border-bottom:0!important}
.identity-closeup img{grid-column:1;width:100%;margin:0;aspect-ratio:4 / 3;object-fit:cover}
.identity-closeup .panel-note{grid-column:2;align-self:end;font-size:18px}
.identity-closeup .panel-note span{color:var(--ink)}
.identity-closeup{grid-template-columns:220px minmax(0,1fr)}
.identity-closeup img{grid-column:2;grid-row:1}
.identity-closeup .panel-note{grid-column:1;grid-row:1;align-self:start}
@media(max-width:760px){.identity-closeup{display:block;margin:0 16px;padding:16px 16px 70px}.identity-closeup img{width:100%}.identity-closeup .panel-note{padding:30px 8px 0}}
.booklet-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw;min-height:0;padding:0 10vw 12vw;align-items:start}
.booklet-stack .gallery-card{grid-column:auto;grid-row:auto;width:100%!important;margin:0;transform:none!important;box-shadow:none}
.booklet-stack .gallery-card:hover{transform:translateY(-8px)!important;box-shadow:none}
.booklet-stack .gallery-card img{display:block;width:100%;height:auto}
@media(max-width:760px){.booklet-stack{display:flex;flex-direction:column;gap:24px;padding:0 24px 100px}.booklet-stack .gallery-card{width:82%!important}.booklet-stack .card-a{align-self:flex-start}.booklet-stack .card-b{align-self:flex-end}.booklet-stack .card-c{align-self:center}}
.booklet-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5vw;padding:0 5vw 8vw;border-bottom:1px solid var(--line)}
.booklet-stack .gallery-card{overflow:hidden;aspect-ratio:1.3}
.booklet-stack .gallery-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.55);transition:transform .35s ease}
.booklet-stack .gallery-card:hover img{transform:scale(1.62)}
.booklet-stack .card-a img{transform:scale(1.28)}
.booklet-stack .card-a:hover img{transform:scale(1.28)}
@media(max-width:760px){.booklet-stack{gap:28px;padding:0 16px 80px}.booklet-stack .gallery-card{width:100%!important;aspect-ratio:1.3}.booklet-stack .card-a,.booklet-stack .card-b,.booklet-stack .card-c{align-self:stretch}}
.full-bleed:not(.dark-panel){width:min(84%,1150px);margin-left:auto;margin-right:auto}
.dark-panel img{width:90%;justify-self:center}
@media(max-width:760px){.full-bleed:not(.dark-panel){width:calc(100% - 32px)}.dark-panel img{width:100%}}
