@charset "UTF-8";

/* Final preservation layer: small elliptical corners, not capsule cards.
   No layout, media sizing, overflow, focus, content, or interaction changes. */
:root {
  --soft-corner-content: 10px;
  --soft-corner-content-y: 8px;
  --soft-corner-inner: 9px;
  --soft-corner-inner-y: 7px;
  --soft-corner-control: 6px;
  --soft-corner-control-y: 5px;
  --soft-corner-dialog: 12px;
  --soft-corner-dialog-y: 10px;
  --soft-corner-frame: rgba(180, 138, 75, .42);
  --soft-corner-shadow: 0 1px 0 rgba(180, 138, 75, .12), 0 8px 20px rgba(15, 48, 41, .045);
}

/* Editorial frames; full-width section boundaries remain full-width. */
.license-page, .card, .notice, .callout, .legal-disclaimer,
.faq-gateway, .faq-item, .faq-results details, .contact-form,
.office-verification, .guide-meta, .page-hero-image, .author-portrait,
.about-rgys-portrait, .media-feature, .flow-diagram > div {
  border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
}

.license-page, .card, .notice, .callout, .legal-disclaimer,
.faq-gateway, .contact-form, .office-verification, .guide-meta {
  border: 1px solid var(--soft-corner-frame);
  box-shadow: var(--soft-corner-shadow);
}
.license-page, .card, .faq-gateway, .office-verification { border-top-color: var(--brass); }

/* Existing image crops retain their ratio and existing overflow behavior. */
.hero-art, .hero-art::before, .hero-art img,
.media-feature figure, .media-feature figure img,
.brand-video, .page-hero-image img, .portrait-large, .author-portrait img,
.about-rgys-portrait img, .about-rgys-video,
.about-rgys-visual-still, .about-rgys-visual-still img,
main iframe, .about-rgys-visual {
  border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
}
.license-page-media, .license-page-media img {
  border-radius: var(--soft-corner-inner) var(--soft-corner-inner) 0 0 / var(--soft-corner-inner-y) var(--soft-corner-inner-y) 0 0;
}
.brand-video, .page-hero-image, .author-portrait, .about-rgys-portrait {
  border: 1px solid var(--soft-corner-frame);
}

/* QR pixels and quiet zones are not cropped or transformed. */
.qr-pair figure, .contact-channel-card figure {
  border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
}
.qr-pair img, .contact-channel-card figure img { border-radius: 0; }

/* Separate cell borders make actual background corners render correctly.
   Do not change wrapper scrolling, min-width, sticky cells, or captions. */
.table-wrap {
  border: 1px solid var(--rule);
  border-top-color: var(--brass);
  border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
  background: var(--paper);
}
.compare-table, .contact-dialog-table {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--soft-corner-inner) / var(--soft-corner-inner-y);
}
.table-wrap > .compare-table, .table-wrap > .compare-table caption { background: var(--paper); }
.table-wrap > .compare-table caption {
  border-radius: var(--soft-corner-inner) var(--soft-corner-inner) 0 0 / var(--soft-corner-inner-y) var(--soft-corner-inner-y) 0 0;
}
.compare-table thead tr:first-child > :first-child {
  border-top-left-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}
.compare-table thead tr:first-child > :last-child {
  border-top-right-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}
.compare-table tbody tr:last-child > :first-child,
.contact-dialog-table tbody tr:last-child > :first-child {
  border-bottom-left-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}
.compare-table tbody tr:last-child > :last-child,
.contact-dialog-table tbody tr:last-child > :last-child {
  border-bottom-right-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}
.contact-dialog-table-wrap {
  border: 1px solid var(--contact-line);
  border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
}
.contact-dialog-table tbody tr:first-child > :first-child {
  border-top-left-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}
.contact-dialog-table tbody tr:first-child > :last-child {
  border-top-right-radius: var(--soft-corner-inner) var(--soft-corner-inner-y);
}

/* Compact controls and framed labels, retaining comfortable hit areas. */
.btn, .pill, .nav-toggle,
.site-header .primary-nav .nav-trigger,
.site-header .primary-nav .nav-appointment,
.locale-switch a, .faq-suggestions a, .faq-categories a, .pagination a,
.faq-controls input, .faq-controls select,
.field input, .field select, .field textarea,
.online-chat-field input, .online-chat-field textarea,
.online-chat-submit, .online-chat-open,
.contact-dialog-action, .contact-dialog-vcard,
.contact-dialog-footer .contact-dialog-cta,
.contact-channel-actions a, .contact-channel-actions button,
.contact-dialog-copy, .about-rgys-outreach li {
  border-radius: var(--soft-corner-control) / var(--soft-corner-control-y);
}
.faq-search { border-radius: var(--soft-corner-control) / var(--soft-corner-control-y); }
.faq-search button {
  border-radius: 0 var(--soft-corner-control) var(--soft-corner-control) 0 / 0 var(--soft-corner-control-y) var(--soft-corner-control-y) 0;
}
.contact-dialog-other-offices {
  border: 1px solid var(--contact-line);
  border-radius: var(--soft-corner-control) / var(--soft-corner-control-y);
}

/* No overflow hiding: dropdown bridges and focus outlines remain intact. */
@media (min-width: 1201px) {
  .site-header .primary-nav .nav-panel, .site-header .primary-nav .nav-card {
    border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
  }
}
@media (max-width: 1200px) {
  .site-header .primary-nav {
    border-radius: 0 0 var(--soft-corner-content) var(--soft-corner-content) / 0 0 var(--soft-corner-content-y) var(--soft-corner-content-y);
  }
  .site-header .primary-nav .nav-card {
    border-radius: var(--soft-corner-content) / var(--soft-corner-content-y);
  }
}

.contact-dialog, .online-chat-dialog {
  border-radius: var(--soft-corner-dialog) / var(--soft-corner-dialog-y);
}
.contact-dialog-surface, .online-chat-surface { border-radius: inherit; }
.contact-dialog-header, .online-chat-header {
  border-radius: var(--soft-corner-dialog) var(--soft-corner-dialog) 0 0 / var(--soft-corner-dialog-y) var(--soft-corner-dialog-y) 0 0;
}
.contact-dialog-footer, .online-chat-actions {
  border-radius: 0 0 var(--soft-corner-dialog) var(--soft-corner-dialog) / 0 0 var(--soft-corner-dialog-y) var(--soft-corner-dialog-y);
}
.online-chat-status { border-radius: var(--soft-corner-content) / var(--soft-corner-content-y); }

/* Intentionally circular identity and contact controls remain circles. */
.contact-dock-button, .contact-dialog-emblem, .contact-dialog-close,
.online-chat-emblem, .online-chat-close, .author-line img {
  border-radius: 50%;
}

@media (max-width: 640px) {
  :root {
    --soft-corner-content: 8px;
    --soft-corner-content-y: 6px;
    --soft-corner-inner: 7px;
    --soft-corner-inner-y: 5px;
    --soft-corner-control: 5px;
    --soft-corner-control-y: 4px;
    --soft-corner-dialog: 10px;
    --soft-corner-dialog-y: 8px;
  }
  .faq-search button {
    border-radius: 0 0 var(--soft-corner-control) var(--soft-corner-control) / 0 0 var(--soft-corner-control-y) var(--soft-corner-control-y);
  }
}
