/* Shared actions follow the Speaking page: a filled rectangle and a quiet link. */
body :is(.button,.flow-button,.about-action-primary):is(.button,.flow-button,.about-action-primary){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;box-sizing:border-box;padding:13px 22px;border:0;border-radius:6px;background:var(--ink);color:var(--bg);font:500 14px/1.4 Satoshi,sans-serif;text-align:center;text-decoration:none;touch-action:manipulation;transition:transform .2s ease,background .2s ease}
body :is(.button,.flow-button,.about-action-primary):is(.button,.flow-button,.about-action-primary):hover{background:var(--accent);text-decoration:none;transform:translateY(-2px)}
body :is(.button,.flow-button,.about-action-primary):is(.button,.flow-button,.about-action-primary):disabled{opacity:.5;cursor:wait;transform:none}
body :is(.text-link,.text-button,.about-action-secondary,.case-cta,.case-link,.underlined-link):is(.text-link,.text-button,.about-action-secondary,.case-cta,.case-link,.underlined-link){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;box-sizing:border-box;padding:8px 0;border:0;border-radius:0;background:transparent;color:inherit;font:500 14px/1.4 Satoshi,sans-serif;text-decoration:none;touch-action:manipulation}
body :is(.text-link,.text-button,.about-action-secondary,.case-cta,.case-link,.underlined-link):is(.text-link,.text-button,.about-action-secondary,.case-cta,.case-link,.underlined-link):hover{text-decoration:none;color:var(--accent)}
body :is(.button,.flow-button,.text-button,.about-action,.case-cta,.case-link):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
/* A real gap between cards, unaffected by collapsing margins or wrapper rules. */
.home-cases .case-stack,.home-cases .case-stack.is-overlay{display:flex;flex-direction:column;gap:56px;padding-bottom:40px}
.home-cases .case-stack .case-step{display:contents;min-height:0;padding:0}
.home-cases .case-stack .stack-card,.home-cases .case-stack.is-overlay .stack-card{margin:0;flex-shrink:0;min-width:0}
.home-cases .case-stack:not(.is-overlay) .stack-card{position:relative;top:auto;min-height:0;height:auto}
.home-cases .case-stack.is-overlay{gap:clamp(64px,10vh,120px)}
.home-cases .stack-card-body>div{min-width:0}
@media(max-width:760px){
 /* Put the work action and availability on the same row, with art below. */
 .new-hero.hero-balanced{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);column-gap:10px;row-gap:22px}
 .hero-balanced .hero-copy,.hero-balanced .hero-bottom,.hero-balanced .hero-visual{display:contents}
 .hero-balanced .hero-signature{grid-column:1/-1;grid-row:1;margin:0}
 .hero-balanced h1{grid-column:1/-1;grid-row:2;margin:0}
 .hero-balanced .hero-bottom>p{grid-column:1/-1;grid-row:3;margin:4px 0 8px}
 .hero-balanced .hero-bottom>.button{grid-column:1;grid-row:4;align-self:center;min-width:0;width:100%;min-height:48px;padding:11px 10px;border-radius:6px;font:500 12px/1.4 Satoshi,sans-serif;gap:6px}
 .hero-balanced .hero-bottom>.button::after{content:'↗';position:static;display:block;width:auto;height:auto;background:none;font-size:16px;line-height:1;transform:none}
 .hero-balanced .availability-meta{grid-column:2;grid-row:4;align-self:center;width:100%;margin:0!important;position:relative;z-index:40;min-width:0}
 .hero-balanced .availability-stack{width:100%;max-width:none;height:48px}
 .hero-balanced .availability-disclosure{width:100%;height:48px;max-width:none;position:absolute;right:0;top:0}
 .hero-balanced .availability-disclosure.is-open{width:min(340px,calc(100vw - 40px))}
 .hero-balanced .availability-trigger{min-height:48px;padding:10px 11px;gap:7px;font:600 10px/1.3 Satoshi,sans-serif}
 .hero-balanced .availability-chevron,.hero-balanced .availability-chevron svg{width:16px;height:16px;flex-basis:16px}
 .hero-balanced .availability-trigger>span:not(.availability-chevron){min-width:0}
 .hero-balanced .collage{grid-column:1/-1;grid-row:5;justify-self:center;width:100%;margin:0}
 .hero-balanced .collage-controls{grid-column:1/-1;grid-row:6;margin:0}
 .home-cases .case-stack,.home-cases .case-stack.is-overlay{gap:28px;padding-bottom:0}
 body :is(.hero-actions,.contact-actions,.about-actions){flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
 .about-signoff .about-actions{flex-direction:row;gap:12px}
 .about-signoff .about-action{border-radius:6px;font:500 14px/1.4 Satoshi,sans-serif}
 .about-signoff .about-action-primary{background:var(--ink);color:var(--bg);padding:12px 18px}
 .about-signoff .about-action-secondary{padding:10px 6px}
}
@media(prefers-reduced-motion:reduce){
 body :is(.button,.flow-button,.about-action){transition:none;transform:none!important}
 .home-cases .case-stack.is-overlay .stack-card{position:relative;top:auto;transform:none!important;filter:none!important;opacity:1!important}
}
