/* Shared content corners. Full-width bands and connected navigation retain their geometry. */
body.itm-rounded-boxes { --itm-box-radius:16px; }
body.itm-rounded-boxes :is(
 .scope-grid article, .related-grid>a, .portfolio-card, .photo-portfolio-card,
 .model-grid article, .programme, .sector-grid>a, .resource-grid>a, .digital-tile,
 .service-summary, .service-insight, .service-delivery-boxes article,
 .brief-layout form, .brief-output, .contact-route-grid article,
 .corp-portfolio>a, .contract-cards>a, .closing-corporate,
 .bento-statement, .bento-photo, .bento-security, .bento-bottom, .bento-services>a,
 .architectural>a, .page-intro, .model-photo-band, .solution-photo,
 .mega-menu, .procurement-menu, .menu-image, .mega-columns .menu-service-box, .menu-sector-grid>a, .menu-company-links>a,
 .hardware-menu-cards a, .hardware-products article, .hardware-sector-grid a,
 .hardware-sector-box, .landing-service-map, .procurement-ribbon, .landing-boundary,
 .resource-feature, .company-connections a, .sector-equipment-note,
 .sector-route-steps article, .education-service-grid article, .education-feature-note,
 .education-login-preview, .education-av-delivery, .proposal-sidebar-card,
 .proposal-workspace, .proposal-choice, .proposal-review-note, .proposal-workspace pre,
 .original-statement, .original-right figure, .original-security, .original-strip,
 .landing-insight-note
) { border-radius:var(--itm-box-radius); }
/* Clip the image and attached content together at the outer card edge. */
body.itm-rounded-boxes :is(
 .photo-portfolio-card, .portfolio-card, .digital-tile, .programme,
 .model-photo-band, .solution-photo, .resource-feature, .landing-service-map,
 .bento-photo, .original-right figure
) { overflow:clip; }
body.itm-rounded-boxes .btn { border-radius:8px; }
body.itm-rounded-boxes :is(.programme-landing-tags span,.bento-photo>span) { border-radius:8px; }
body.itm-rounded-boxes #proposal-error:not(:empty) { border-radius:var(--itm-box-radius); }

/* Rounded standalone actions; joined header controls keep their shared edges. */
body.itm-rounded-boxes{--itm-button-radius:8px}
body.itm-rounded-boxes :is(.button,.btn):not(.nav-actions .button),
body.itm-rounded-boxes button:not(:is(.plain,.dialog-close,.text-link,.slider-side-arrow,.icon-button,.primary-button,#show-password)),
body.itm-rounded-boxes input:is([type="submit"],[type="button"],[type="reset"]){border-radius:var(--itm-button-radius)!important}

/* Consistent subpage photography corners; keep callback buttons clear. */
body:not(:has(main #home)) main :is(figure:has(> img),.cp-hero-photo,.sec-hero-visual,.itm-image-callback-host,.main-photo){border-radius:16px!important}
body:not(:has(main #home)) main :is(figure > img,.service-photo,.sec-hero-visual > img,.itm-image-callback-host > img,.main-photo > img){border-radius:16px!important}
