/* The work stays central. Craft is made visible through specific, useful cues. */
.work-introduction h2{margin:0}
.work-introduction p{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 26px;margin-top:22px}
.project-actions .project-affordance{margin:0}
.solution-previews{align-items:start}
.solution-preview{display:flex;flex-direction:column}
.solution-preview .solution-media{flex:none}
.solution-preview figcaption{display:flex;flex-direction:column}
.solution-preview figcaption p{margin-bottom:0}
.craft-kicker{display:block;font-size:11px;font-weight:600;letter-spacing:.065em;text-transform:uppercase;line-height:1.6;color:var(--project);margin-bottom:12px}
.solution-preview .concept-label{margin-top:-6px;margin-bottom:10px;color:var(--muted);font-size:10px}
.solution-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:0;padding-top:20px}
.watch-interaction{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:0;border-radius:100px;background:var(--ink);color:var(--paper);font:500 13px/1.5 Manrope,sans-serif;cursor:pointer;transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease}
.watch-interaction[hidden]{display:none}
.watch-interaction svg{width:17px;height:17px;flex:none}
.watch-interaction:hover{transform:translateY(-2px);box-shadow:0 5px 14px -8px var(--ink)}
.watch-interaction:active{transform:translateY(0) scale(.98)}
.solution-actions .solution-detail{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:12px;font-size:13px}
.watch-interaction:focus-visible{outline:2px solid var(--project);outline-offset:5px}
/* Brief orientation, immediate response, then rest. */
@media(prefers-reduced-motion:no-preference){
 .signature-intro .hero-line>span{animation-duration:.65s;animation-delay:0s}
 .signature-intro .hero-line:nth-child(2)>span{animation-delay:.07s}
 .motion-capable .hero-credentials,.motion-capable .hero-actions{animation-duration:.5s;animation-delay:.12s}
 .motion-capable [data-reveal]{transform:translateY(16px);transition-duration:.45s,.55s}
 .motion-capable [data-reveal].is-visible{transform:none}
 .section-viewer[open] .viewer-stage{animation:viewer-settle .2s ease-out}
 .section-viewer .viewer-stage>img,.section-viewer .viewer-stage>video,.section-viewer .viewer-crop{animation:viewer-settle .18s ease-out}
}
.gallery-panel:not([hidden]) .gallery-media{animation:none}
@keyframes viewer-settle{from{opacity:.65}to{opacity:1}}
@media(max-width:760px){
 .work-introduction p{font-size:13px;max-width:25ch}
 .project-actions{gap:4px 22px;margin-top:18px}
 .solution-actions{gap:8px 20px;padding-top:16px}
 .craft-kicker{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){
 .watch-interaction{transition:none}
 .watch-interaction:hover,.watch-interaction:active{transform:none}
}

.viewer-stage{position:relative}
.viewer-media-feedback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:12px 18px;border-radius:16px;background:var(--paper);box-shadow:0 8px 30px #0002;font-size:13px;color:var(--muted)}
.viewer-media-feedback[hidden]{display:none}
.viewer-media-feedback button[hidden]{display:none}

/* A brief invitation on mobile; the full story lives in the case study. */
.home .project-mobile-outcome{display:none}
.home .project-result{padding-top:0;margin-top:22px}
.home .project-result::before{content:none}
.home .project-actions{margin-top:18px}
.home .project-actions .project-affordance{margin-top:0;min-height:44px}
@media(max-width:760px){
 .home .project-card{gap:20px;padding-block:28px}
 .home .project-card .project-role,
 .home .project-card .project-tease,
 .home .project-card .project-result{display:none}
 .home .project-card .project-heading h2{font-size:28px;line-height:1.2;margin:12px 0 0;max-width:none;text-wrap:pretty}
 .home .project-card .project-discipline{font-size:12px;margin-top:4px}
 .home .project-card .project-year{font-size:11px}
 .home .project-mobile-outcome{display:block;font-size:14px;line-height:1.65;color:var(--muted);margin:14px 0 0;max-width:36ch;text-wrap:pretty}
 .home .project-mobile-outcome strong{font-weight:600;color:var(--project);white-space:nowrap}
 .home .project-actions{margin-top:12px}
 .home .project-actions .project-affordance{font-size:13px;gap:12px;justify-content:space-between;width:100%}
 .home .project-affordance>span{width:32px;height:32px;font-size:19px}
}

/* A single quiet rule at a change of topic, aligned to the content edges. */
.section-boundary{position:relative;padding-top:64px}
.section-boundary::after{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line);pointer-events:none}
.case-page .narrative-chapter+.narrative-chapter{border-top:1px solid var(--line);padding-top:48px}
@media(max-width:760px){
 .section-boundary{padding-top:36px}
 .case-page .narrative-chapter+.narrative-chapter{padding-top:32px}
}
@media(max-width:500px){
 .app-gallery{row-gap:28px}
 .app-gallery>.app-tile+.app-tile{border-top:1px solid var(--line);padding-top:28px}
}

/* Match the Apple preview stages without stretching the descriptions. */
@media(min-width:761px){
 .case-apple .solution-preview .solution-media{height:clamp(300px,32vw,480px)!important;aspect-ratio:auto!important;min-height:0!important}
 .case-apple .solution-media .asset-phone{width:min(190px,calc((clamp(300px,32vw,480px) - 60px) * .45))!important}
}
