/* Shared corner system: 4 / 8 / 12 / 20. No arbitrary per-component radii.
   4: small items; 8: controls; 12: cards/media; 20: large containers.
   An inset surface uses max(4px, outer radius - inset), never a larger radius. */
:root{--radius-xs:4px;--radius-control:8px;--radius-card:12px;--radius-panel:20px;--radius-nested:calc(var(--radius-control) - 4px)}
.btn,.nav-cta,.contact-form .btn,.contact-form input,.contact-form textarea,.contact-form select,.contact-form .select-trigger,
.menu-toggle,.cookie-banner button,.brand-pause,.more-projects,.portfolio-filters button{border-radius:var(--radius-control)}
.contact-form .select-options{border-radius:var(--radius-control)}
.contact-form .select-option{border-radius:var(--radius-nested)}
.screen-choice,.mini-link,.photo-label,.publication-card-action,.dialog-close,.film-thumbnails button{border-radius:var(--radius-xs)}
.related-link,.growth-situation-buttons button,.guide-grid article>a:first-child,.need-grid .need-card{border-radius:var(--radius-card)}
.project-image,.gallery-frame,.service-cover,.article-cover,.about-photo,.about-full>div,.contact-photo,.teamphoto,.project .photo,
.hero-main,.hero-side,.film-frame,.screen-stage{border-radius:var(--radius-card);overflow:hidden}
.project-image img,.gallery-frame img,.contact-photo img,.hero-main>img,.hero-side>img{border-radius:inherit}
.expertise-card-inner,.stack-inner,.growth-team-visual,.growth-situation-panels article,.page-contact .contact-form,.formcard,
.cookie-banner,dialog,.service-hero aside{border-radius:var(--radius-panel)}
.expertise-card-inner,.stack-inner{overflow:hidden}
/* Large media panels have no inset frame, so media inherits its parent's radius. */
dialog .film-container{border-radius:var(--radius-card);overflow:hidden}
.formcard input,.formcard textarea,.formcard select{border-radius:var(--radius-control)}
/* Full-width section backgrounds, rows and dividers keep straight edges. */
.site-header,.site-footer,.cta-section,.growth-band,.growth-path-section,.process-section,.faq-section{border-radius:0}
@media(max-width:760px){:root{--radius-panel:16px}}
