/* Shared page frame. The home and custom component internals keep their own layout. */
.gn-site-page .mkdf-title-holder { display: none; }
.gn-site-page .mkdf-content { background: #fff; }
.gn-page-shell { padding-block: clamp(24px, 4vw, 48px) 48px; color: var(--gn-navy-soft); font-family: Ubuntu, Arial, sans-serif; font-size: 17px; line-height: 1.65; }
.gn-page-heading { margin: 0 0 32px; padding: clamp(24px, 4vw, 42px); border: 1px solid #cceef8; border-radius: var(--gn-radius-lg); background: linear-gradient(120deg, var(--gn-water-soft), var(--gn-water)); }
.gn-page-heading > p { margin: 0 0 8px; color: var(--gn-navy-soft); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.gn-page-heading h1 { margin: 0; color: var(--gn-navy); font: italic 900 clamp(27px, 4vw, 46px)/1.08 "Open Sans", Arial, sans-serif; letter-spacing: -.025em; text-transform: uppercase; overflow-wrap: anywhere; }
.gn-page-content :where(.wpb_text_column, .mkdf-section-title-holder, .mkdf-icon-list-item) { color: var(--gn-navy-soft); }
.gn-page-content :where(.wpb_text_column, .mkdf-section-title-holder) :is(h2,h3,h4,h5,h6) { color: var(--gn-navy); font-family: "Open Sans", Arial, sans-serif; font-style: italic; font-weight: 800; line-height: 1.15; }
.gn-page-content .wpb_text_column :is(p,li) { font-family: Ubuntu, Arial, sans-serif; font-size: 17px; line-height: 1.7; }
.gn-page-content .wpb_text_column a:not([class]) { color: #1763b5; text-decoration: underline; text-underline-offset: 3px; }
.gn-page-content .mkdf-separator { border-color: var(--gn-cyan) !important; }
.gn-page-content .vc_empty_space { max-height: 36px; }
.gn-page-content .wpb_animate_when_almost_visible { opacity: 1; animation: none; transform: none; }
.gn-page-content :is(.mkdf-btn, .vc_btn3, .wpcf7-submit) { border-radius: 999px !important; background: var(--gn-blue) !important; border-color: var(--gn-blue) !important; color: #fff !important; font-family: Ubuntu, Arial, sans-serif; }
.gn-page-content :is(.mkdf-btn, .vc_btn3, .wpcf7-submit):hover { background: var(--gn-navy) !important; border-color: var(--gn-navy) !important; }
.gn-page-content :is(a,button,input,textarea,summary):focus-visible { outline: 3px solid var(--gn-blue); outline-offset: 4px; }
.gn-page-content .wpb_text_column table { width: 100%; border-collapse: collapse; font-size: 16px; }
.gn-page-content .wpb_text_column :is(td,th) { padding: 12px; border: 1px solid #d3e9f3; }
.gn-page-content .wpb_text_column th { background: var(--gn-water-soft); color: var(--gn-navy); }
.gn-page-content .wpcf7 :is(input:not([type=checkbox]):not([type=submit]):not([type=hidden]),textarea,select) { box-sizing: border-box; width: 100%; border: 1px solid #bbdcea; border-radius: 16px; background: #fff; color: var(--gn-navy); font: 16px/1.5 Ubuntu,Arial,sans-serif; }
.gn-page-content .wpcf7 :is(label,.wpcf7-list-item-label) { color: var(--gn-navy-soft); }
.gn-page-content .wpcf7 a { color: #1763b5; }
.gn-page-content .wpcf7-submit { min-height: 48px; }
.gn-recovery-card { padding: clamp(24px,4vw,42px); background: var(--gn-water-soft); border: 1px solid #cceef8; border-radius: var(--gn-radius-lg); }
.gn-recovery-card h2 { color: var(--gn-navy); }
.gn-recovery-card a.gn-recovery-button { display: inline-flex; padding: 13px 24px; border-radius: 999px; background: var(--gn-blue); color: #fff; text-decoration: none; font-weight: 700; }
@media(max-width:767px) {
  /* Expand the theme's 300/250px content grids, never the header or footer. */
  .gn-site-page .mkdf-content :is(.mkdf-container-inner,.mkdf-row-grid-section) {
    width: min(100%,calc(100vw - 28px));
    margin-inline: auto;
  }
  .gn-page-content .vc_row { margin-inline: 0; }
  .gn-page-content .vc_column-inner { padding-inline: 0 !important; }
  .gn-page-heading { margin: 0 14px 24px; border-radius: 24px; padding: 24px 20px; }
  .gn-site-page .mkdf-content .mkdf-container-inner .gn-page-heading { margin-inline: 0; }
  .gn-page-content :is(.wpb_single_image img,.mkdf-image-gallery img) { max-width: 100%; height: auto; }
  .gn-page-content :is(.mkdf-btn,.vc_btn3) { min-height: 44px; white-space: normal; }
  .gn-page-content .wpb_text_column :is(p,li) { font-size: 16px; }
  .gn-page-content .wpb_text_column :is(td,th) { padding: 8px; overflow-wrap: anywhere; }
}
