/* Shared rounded surfaces for the public site and CMS. Illustration geometry stays intact. */
:root {
  --surface-radius-large:24px;
  --surface-radius-card:20px;
  --surface-radius-inner:14px;
  --surface-radius-control:12px;
  --surface-radius-small:10px;
}

/* Main showcases and complete panels. */
.hero-visual.atelier-showcase,
.architecture .ap-pavilion,
.pms-teaser .pms-cover,
.pms-hero .pms-cover,
.pms-overview .pms-motion,
.pms-demo,
.detail-hero .detail-media,
.pms-gallery .detail-media,
.contact .contact-form,
.contact .contact-success {
  border-radius:var(--surface-radius-large);
}

/* Clip photos and backgrounds at the same corner as their card. */
.hero-visual.atelier-showcase,
.architecture .ap-pavilion,
.pms-cover,
.pms-motion,
.pms-demo,
.collection-section .collection-card,
.products .product-card,
.cases .case-card,
.related-grid > a {
  overflow:hidden;
}

.solutions .solution-row,
.products .product-card,
.cases .case-card,
.collection-section .collection-card,
.related-grid > a,
.pms-feature-grid .pms-feature-card,
.collection-section .public-empty,
.products .product-cta,
.inner-hero .inner-index,
.architecture-links > a {
  border-radius:var(--surface-radius-card);
}
.solution-row > .card-hit,
.product-card > .card-hit,
.product-card::after,
.collection-card::after,
.case-card::after,
.architecture-links > a::before {
  border-radius:inherit;
}
.solutions .solution-image,
.products .product-image,
.cases .case-card > img {
  border-radius:var(--surface-radius-card);
}
.solutions .solution-image,
.products .product-image {
  overflow:hidden;
}
.collection-section .collection-image {
  border-radius:var(--surface-radius-card) var(--surface-radius-card) 0 0;
  overflow:hidden;
}
.pms-cover img,
.pms-teaser .pms-cover img,
.related-grid img,
.hero-topology img,
.pms-motion-stage,
.pms-motion-phases,
.ap-pathways a,
.detail-media .detail-gallery-stage,
.pms-gallery .detail-gallery-stage {
  border-radius:var(--surface-radius-inner);
}
.detail-media .detail-gallery-stage {
  overflow:hidden;
}
.pms-demo-stats > div,
.pms-room-grid .pms-room,
.pms-demo-layout aside span,
.detail-gallery-thumb,
.detail-media .detail-gallery-thumb,
.detail-gallery-thumb img,
.detail-media .detail-media-meta,
.collection-image > span,
.footer-qr-frame {
  border-radius:var(--surface-radius-small);
}
.detail-gallery-thumb {
  overflow:hidden;
}
.footer-qr-frame {
  border-radius:var(--surface-radius-inner);
  overflow:hidden;
}

/* Delivery cards keep their rail and circular step markers outside the highlight. */
.delivery-list[data-delivery-flow] article.delivery-flow-step,
.delivery-list[data-delivery-flow] article.delivery-flow-step .delivery-step-hit {
  border-radius:var(--surface-radius-card);
}
.delivery-list[data-delivery-flow] article.delivery-flow-step::before {
  border-radius:var(--surface-radius-inner);
}

/* Controls and nested boxes. Keep circular arrows and radio/checkbox controls circular. */
.header-cta,
.scrolled .header-cta,
.button,
.pms-teaser .button,
:is(.products,.solutions,.cases) .section-more .button-primary,
.contact-form .button-primary,
.contact-success .button,
.button-ghost,
.nav-toggle,
.site-nav,
.category-tab,
.collection-pagination > a,
.detail-gallery-toggle,
.detail-media .detail-gallery-toggle,
.pms-motion-toggle,
.pms-motion-phases button,
.atelier-showcase .room-scene-controls,
.atelier-showcase .room-scene-controls button,
.ap-scene-buttons button,
.delivery-flow-heading > button,
.skip-link {
  border-radius:var(--surface-radius-control);
}
.contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.contact-form select,
.contact-form textarea,
.contact-form .inquiry-plan-trigger,
.contact-form .inquiry-plan-menu,
.contact-form .inquiry-plan-option,
.contact-form .inquiry-plan-thumbnail,
.contact-form .form-error {
  border-radius:var(--surface-radius-control);
}
.contact-form .inquiry-plan-menu {
  border-radius:var(--surface-radius-inner);
}
.contact-form .inquiry-plan-thumbnail,
.contact-form .inquiry-plan-option {
  border-radius:var(--surface-radius-small);
}

/* CMS panels, image management, inquiry cards and account forms. */
.admin-welcome,
.admin-panel,
.metric-grid > a,
.inquiry-card,
.auth-shell {
  border-radius:var(--surface-radius-card);
}
.admin-welcome,
.metric-grid > a,
.auth-shell {
  overflow:hidden;
}
.admin-button,
.admin-menu,
.admin-sidebar nav a,
.admin-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.admin-form textarea,
.admin-form select,
.file-field,
.admin-flash,
.admin-note,
.home-copy-editor,
.delivery-editor-step,
.image-preview,
.gallery-manager,
.admin-form .gallery-manager-item,
.pms-admin-image,
.editor-actions,
.image-optimization-note,
.image-optimization-feedback,
.image-optimization-stats > div,
.image-optimization-errors li,
.inquiry-plan-admin > img,
.inquiry-plan-snapshot {
  border-radius:var(--surface-radius-control);
}
.image-preview img,
.gallery-manager-item > img,
.pms-admin-image > img,
.content-table img,
.inquiry-plan-admin > img,
.inquiry-plan-snapshot {
  border-radius:var(--surface-radius-small);
}
.table-thumb {
  border-radius:var(--surface-radius-small);
  overflow:hidden;
}
.admin-form .gallery-manager-item {
  overflow:hidden;
}
.content-table-wrap {
  border-radius:0 0 var(--surface-radius-card) var(--surface-radius-card);
  overflow-x:auto;
}
.quick-links a:last-child,
.latest-list a:last-child {
  border-radius:0 0 var(--surface-radius-card) var(--surface-radius-card);
}

@media(max-width:600px) {
  :root {
    --surface-radius-large:20px;
    --surface-radius-card:16px;
    --surface-radius-inner:12px;
    --surface-radius-control:10px;
    --surface-radius-small:8px;
  }
}
