/* ============================================================
   SHAPE: corner radius and card spacing for every page, after x.ai.
   Loaded after the page stylesheets (before type.css) so it wins over the
   square-corner and 2px-seam rules in main.css / home.css.

   Radius: buttons, chips and tabs are pills; cards 12px; large panels and
   feature images 16px; inputs 10px. Icon tiles keep their own radius.
   Spacing: cards in one group (features, stages, stats, steps, roles)
   sit 4px apart; separate pieces of content sit 12px apart.
   ============================================================ */
:root{--r-lg:16px;--r-md:12px;--r-sm:10px;--r-pill:999px;--gap-in:4px;--gap-sep:12px;}

/* Pills */
.btn,.btn-sm,.lang-btn,.chip,.client-chip,.filter-tab{border-radius:var(--r-pill);}

/* Cards */
.cap-card,.stat-cell,.evo-card,.plat-card,.flow-step,.split-panel,.team-card,
.compare-panel,.prod-found-card,.prod-app-card,.case-nav-link,.article-stats .cell,
.mini-case,.evo-quote,.evo-note,.fde-join,.cta-banner,.news-row,.case-feature,
.dive-card,.dive-feat-icon,.impact-card,
.app-stat,.app-card,.app-steps li,.app-compare-col,.app-principle{border-radius:var(--r-md);}
.app-card-tag,.app-chips span{border-radius:var(--r-pill);}
.impact-card,.level-row{overflow:hidden;}
.why-connects{border-radius:var(--r-md);overflow:hidden;}
.level-row{border-radius:var(--r-md);}
.case-row{border-radius:8px;}

/* Panels and feature images */
.form-panel,.dive-panel,.dive-visual,.prod-hero-visual{border-radius:var(--r-lg);}
.nr-lead-img{border-radius:var(--r-lg);overflow:hidden;}
.news-fig img,.app-show-img img,.app-figure img{border-radius:var(--r-md);overflow:hidden;}

/* Form fields */
.form-row input,.form-row textarea{border-radius:var(--r-sm);}

/* Nav dropdown */
.mega{border-radius:var(--r-md);overflow:hidden;}
.mega a{border-radius:8px;}

/* Spacing: inside a group */
.trust-grid,.evo-grid,.plat-grid,.cap-grid,.dive-feat-icons,.flow-row,.split-2col,
.team-grid,.stack-mini,.article-stats,.case-features,
.app-stats,.app-cards,.app-steps,.app-compare,.app-principles{gap:var(--gap-in);}
.level-table{gap:var(--gap-in);}

/* Spacing: between separate content */
.dive-head-inline .dive-title-row,.impact-scroll,.case-nav{gap:var(--gap-sep);}
@media (min-width:961px){.impact-card{flex-basis:calc((100% - 2 * var(--gap-sep))/3);}}

/* Stage arrows between evolution cards: larger, centred on the 4px gap */
.evo-arrow{width:36px;height:36px;font-size:20px;line-height:1;right:calc(-18px - var(--gap-in) / 2);z-index:2;}
