/* Shared surface geometry: rounded containers, square rules and full-width chapters. */
:root {
  --surface-radius-lg: 20px;
  --surface-radius: 16px;
  --surface-radius-sm: 12px;
}

/* Homepage: round the authored content surfaces without softening page chapters. */
.home-page #work .project-window,
.home-page :is(
  .project-window,
  .price-plan,
  .package-promo-kit,
  .nexus-panel,
  .care-section,
  .contact-grid,
  .contact-copy,
  .signal-loader__core
) {
  border-radius: var(--surface-radius-lg);
}

.home-page :is(
  .project-window,
  .price-plan,
  .package-promo-kit,
  .nexus-panel,
  .care-section,
  .contact-grid,
  .contact-copy
) {
  overflow: hidden;
}

/* The merch cards become two distinct product surfaces instead of one square table. */
.merch-page .merch-grid {
  gap: 16px;
  border: 0;
}

.merch-page .merch-card {
  overflow: hidden;
  border: 1px solid rgba(244, 238, 228, .22);
  border-radius: var(--surface-radius-lg);
}

/* Enquiry: retain the split-panel logic and round only its outer surfaces. */
.enquiry-page :is(.enquiry-intro, .enquiry-form-panel) {
  overflow: hidden;
  border-radius: var(--surface-radius-lg);
}

/* Client workspace: large regions share one radius; nested records use a tighter one. */
.client-portal-page :is(
  .login-panel,
  .portal-action-rail,
  .project-snapshot,
  .portal-milestones,
  .simple-surface,
  .project-payment-summary,
  .invoice-attention,
  .simple-files__register,
  .signal-loader__core
) {
  overflow: hidden;
  border-radius: var(--surface-radius-lg);
}

.client-portal-page :is(
  .workspace-form,
  .portal-dropzone,
  .invoice-row,
  .payment-row,
  .file-row,
  .request-card,
  .request-message,
  .empty-state,
  .demo-access
) {
  border-radius: var(--surface-radius-sm);
}

/* Admin uses the same geometry while keeping dense tables and internal dividers square. */
.admin-page :is(
  .login-panel,
  .admin-section-tabs,
  .portal-panel,
  .lead-inbox,
  .client-index,
  .admin-editor,
  .global-heading,
  .billing-metrics,
  .paypal-connection,
  .billing-board,
  .portal-confirm,
  .portal-toast,
  .signal-loader__core
) {
  overflow: hidden;
  border-radius: var(--surface-radius-lg);
}

.admin-page :is(
  .workspace-form,
  .request-thread-panel,
  .request-message,
  .subscription-checkout,
  .invoice-review,
  .invoice-email,
  .access-code-result,
  .access-facts,
  .empty-state,
  .demo-access
) {
  border-radius: var(--surface-radius-sm);
}

/* Reading and recovery surfaces. */
.terms-page .terms-notice,
.lost-signal-page .signal-loader__core {
  overflow: hidden;
  border-radius: var(--surface-radius-lg);
}

@media (max-width: 720px) {
  :root {
    --surface-radius-lg: 16px;
    --surface-radius: 14px;
    --surface-radius-sm: 10px;
  }
}
