/* Contact.io internal pages. Scope all presentation to the opt-in wrapper.
   Shared .ct-* shell classes match the approved homepage. */
#contact-internal {
  --ct-ink: #092e2c;
  --ct-deep: #051a20;
  --ct-mint: #97f2ce;
  --ct-forest: #165e4f;
  --ct-paper: #f5f7f3;
  --ct-muted: #47635a;
  --ct-line: #d9e3db;
  --ci-space: 68px;
  color: var(--ct-ink);
  background: var(--ct-paper);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color-scheme: light;
  overflow-x: clip;
}
#contact-internal *, #contact-internal *::before, #contact-internal *::after { box-sizing: border-box; }
#contact-internal [hidden] { display: none !important; }
#contact-internal a { color: inherit; text-underline-offset: 4px; }
#contact-internal img { display: block; max-width: 100%; height: auto; }
#contact-internal iframe { max-width: 100%; }
#contact-internal :is(h1,h2,h3,h4,p,figure) { margin: 0; }
#contact-internal :is(h1,h2,h3,h4) {
  font-family: 'Barlow Condensed', Arial, sans-serif;
  color: inherit !important;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.5px;
  overflow-wrap: break-word;
}
#contact-internal h1 { font-size: clamp(50px, 6.4vw, 76px); font-weight: 700; letter-spacing: -1.2px; }
#contact-internal h2 { font-size: clamp(35px, 4vw, 48px); }
#contact-internal h3 { font-size: 30px; }
#contact-internal h4 { font-size: 25px; }
#contact-internal :is(h1,h2,h3) em { color: var(--ct-forest); font-style: normal; }
#contact-internal :is(button,input,textarea,select,summary) { font-family: inherit; }
#contact-internal :is(a,button,summary) { cursor: pointer; }
#contact-internal :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #2b9570; outline-offset: 4px; }
#contact-internal [tabindex='-1']:focus { outline: none; }
#contact-internal .ct-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#contact-internal .ct-skip-link { position: absolute; z-index: 100; left: 16px; top: -100px; padding: 12px 18px; color: var(--ct-deep); background: var(--ct-mint); font-weight: 700; text-decoration: none; border-radius: 3px; }
#contact-internal .ct-skip-link:focus { top: 12px; }
#contact-internal :is(.ct-wrap,.ci-wrap) { padding-left: max(44px,calc((100% - 1280px)/2)); padding-right: max(44px,calc((100% - 1280px)/2)); }
#contact-internal :is(.ct-section,.ci-section) { padding-top: var(--ci-space); padding-bottom: var(--ci-space); }
#contact-internal :is(.ct-kicker,:is(.ci-kicker,.ci-eyebrow)) { display: block; margin-bottom: 13px; color: var(--ct-forest); font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; line-height: 1.6; }
#contact-internal :is(.ct-intro,.ci-intro) { margin-top: 18px; color: var(--ct-muted); max-width: 660px; font-size: 16px; line-height: 1.75; }
#contact-internal :is(.ct-button,.ci-button) { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 15px 22px; min-height: 48px; border: 1px solid var(--ct-mint); border-radius: 3px; color: var(--ct-deep); background: var(--ct-mint); font-size: 12px; line-height: 1.4; font-weight: 700; text-decoration: none; text-align: center; }
#contact-internal :is(.ct-button,.ci-button):hover { filter: brightness(.96); }
#contact-internal :is(.ct-button,.ci-button).ct-outline { color: #fff; background: transparent; border-color: #ffffff66; }
#contact-internal :is(.ct-button,.ci-button).ct-dark { background: var(--ct-ink); color: #fff; border-color: var(--ct-ink); }
#contact-internal :is(.ct-button,.ci-button).ct-outline-dark { background: transparent; border-color: #8ea79b; color: var(--ct-ink); }
#contact-internal .ct-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
#contact-internal .ct-link { display: inline-flex; gap: 12px; align-items: center; padding: 3px 0; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }

/* The shared header and footer keep visitors in a single design system. */
#contact-internal .ct-nav { position: relative; z-index: 20; display: flex; align-items: center; gap: 28px; min-height: 78px; padding: 21px max(44px,calc((100% - 1280px)/2)); color: #fff; background: var(--ct-deep); }
#contact-internal .ct-logo { width: 148px; height: auto; flex: none; }
#contact-internal .ct-nav-links { display: flex; align-items: center; gap: 20px; margin-left: auto; }
#contact-internal .ct-nav-links a { font-size: 11px; font-weight: 600; text-decoration: none; white-space: nowrap; }
#contact-internal .ct-nav-links a[aria-current='page'] { color: var(--ct-mint); }
#contact-internal .ct-nav-links :is(.ct-button,.ci-button) { padding: 12px 15px; min-height: 41px; }
#contact-internal .ct-menu { display: none; margin-left: auto; padding: 10px 14px; min-height: 44px; border: 1px solid #ffffff55; border-radius: 3px; color: #fff; background: transparent; font-size: 12px; font-weight: 600; }
#contact-internal .ct-footer { padding-top: 42px; padding-bottom: 25px; color: #b2c9bf; background: #05171c; }
#contact-internal .ct-footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 40px; margin-bottom: 35px; }
#contact-internal .ct-footer .ct-logo { width: 140px; margin-bottom: 18px; }
#contact-internal .ct-footer p { max-width: 300px; font-size: 11px; line-height: 1.85; }
#contact-internal .ct-footer h3 { margin-bottom: 13px; color: #e4f0e9 !important; font-family: 'DM Sans', Arial, sans-serif; font-size: 11px; line-height: 1.5; font-weight: 600; letter-spacing: .7px; text-transform: uppercase; }
#contact-internal .ct-footer-links { display: grid; gap: 8px; font-size: 11px; }
#contact-internal .ct-footer-links a { text-decoration: none; }
#contact-internal .ct-footer-bottom { display: flex; justify-content: space-between; gap: 15px; padding-top: 20px; border-top: 1px solid #274038; font-size: 10px; }
#contact-internal :is(.ct-nav,.ci-hero,.ci-band,.ct-footer) :is(a,button,summary):focus-visible { outline-color: var(--ct-mint); }

/* Internal page opening. Optional --ci-hero-image sets an approved photograph. */
#contact-internal .ci-hero { position: relative; isolation: isolate; padding-top: 54px; padding-bottom: 58px; color: #fff; background: radial-gradient(ellipse at 100% 120%,#18584b 0%,transparent 65%),var(--ct-deep); }
#contact-internal .ci-hero::after { content: ''; position: absolute; z-index: -1; pointer-events: none; inset: auto -15% 19% 30%; height: 140px; border: 1px solid #97f2ce; border-radius: 50%; transform: rotate(-16deg); opacity: .16; }
#contact-internal .ci-hero.has-image { background-image: linear-gradient(90deg,#051a20f5 5%,#051a20d9 43%,#051a2070),var(--ci-hero-image); background-position: center; background-size: cover; }
#contact-internal .ci-hero :is(.ct-kicker,:is(.ci-kicker,.ci-eyebrow)) { color: var(--ct-mint); }
#contact-internal .ci-hero h1 { max-width: 910px; }
#contact-internal .ci-hero h1 em { color: var(--ct-mint); }
#contact-internal .ci-hero :is(.ci-intro,.ct-intro) { max-width: 700px; margin-top: 22px; color: #c9ddd5; font-size: 17px; line-height: 1.65; }
#contact-internal .ci-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; margin: 0 0 25px; list-style: none; color: #b8cfc5; font-size: 11px; }
#contact-internal .ci-breadcrumb a { text-decoration: none; }
#contact-internal .ci-breadcrumb a:hover { text-decoration: underline; }
#contact-internal .ci-breadcrumb li + li::before { content: '/'; margin-right: 8px; color: #7fa394; }
#contact-internal .ci-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 23px; font-size: 12px; color: #c9ddd5; }
#contact-internal .ci-meta strong { color: var(--ct-mint); font-weight: 600; }
#contact-internal :is(.ci-section-white,.ci-section--white) { background: #fff; }
#contact-internal :is(.ci-section-tint,.ci-section--soft) { background: #edf3ec; }
#contact-internal .ci-section-head { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 30px; }
#contact-internal .ci-section-head .ci-intro { max-width: 480px; margin: 0; }
#contact-internal .ci-split { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 54px; }
#contact-internal .ci-split.ci-split-wide { grid-template-columns: .8fr 1.2fr; }
#contact-internal .ci-split.ci-centered { align-items: center; }
#contact-internal .ci-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
#contact-internal .ci-grid:is(.ci-grid-two,.ci-grid--2) { grid-template-columns: repeat(2,minmax(0,1fr)); }
#contact-internal :is(.ci-split,.ci-grid) > * { min-width: 0; }
#contact-internal .ci-card { padding: 28px; border: 1px solid var(--ct-line); border-top: 3px solid #78bca1; border-radius: 3px; background: #fff; }
#contact-internal .ci-card h3 { margin-bottom: 14px; }
#contact-internal .ci-card p { color: var(--ct-muted); font-size: 14px; line-height: 1.8; }
#contact-internal .ci-card p + p { margin-top: 15px; }
#contact-internal .ci-card .ct-link { margin-top: 20px; }
#contact-internal .ci-card-number { display: block; margin-bottom: 20px; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: 39px; line-height: 1; color: #51866d; }
#contact-internal :is(.ci-photo,.ci-media) { position: relative; overflow: hidden; border-radius: 3px; background: #d9e3db; }
#contact-internal :is(.ci-photo,.ci-media) img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
#contact-internal :is(.ci-photo,.ci-media) figcaption { padding: 12px 16px; background: #fff; color: var(--ct-muted); font-size: 11px; line-height: 1.6; }
#contact-internal .ci-note { padding: 19px 22px; margin-top: 24px; border-left: 3px solid #69a789; background: #e8f1e9; color: #365d4b; font-size: 13px; line-height: 1.8; }
#contact-internal .ci-note strong { color: var(--ct-ink); }
#contact-internal :is(.ci-rule-list,.ci-list) { padding: 0; margin: 25px 0 0; list-style: none; border-top: 1px solid var(--ct-line); }
#contact-internal :is(.ci-rule-list,.ci-list) li { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ct-line); font-size: 14px; color: var(--ct-muted); }
#contact-internal :is(.ci-rule-list,.ci-list) li::before { content: '↗'; flex: none; color: var(--ct-forest); }
#contact-internal .ci-band { position: relative; isolation: isolate; color: #fff; background: radial-gradient(ellipse at 70% 140%,#18694d,transparent 70%),#061f23; }
#contact-internal .ci-band .ci-intro { color: #c1d8cb; }
#contact-internal .ci-band :is(:is(.ci-kicker,.ci-eyebrow),.ct-kicker,h2 em) { color: var(--ct-mint); }
#contact-internal .ci-band .ci-split { align-items: center; }
#contact-internal .ci-band .ct-actions { margin-top: 0; justify-content: flex-end; }

/* Preserve existing native forms and their integrations; only style presentation. */
#contact-internal .ci-form-panel { padding: 35px; border: 1px solid #ceded2; border-top: 4px solid #74b99b; border-radius: 4px; background: #fff; box-shadow: 0 10px 30px #092e2c08; }
#contact-internal .ci-form-panel > h2 { font-size: 37px; }
#contact-internal .ci-form-panel > p { margin-top: 12px; color: var(--ct-muted); font-size: 13px; }
#contact-internal :is(.wpforms-container,.wpcf7) { margin: 24px 0 0; max-width: 100%; }
#contact-internal .wpforms-container-full .wpforms-form :is(label,.wpforms-field-label),
#contact-internal .wpcf7 label { color: var(--ct-ink); font-family: 'DM Sans', Arial, sans-serif; font-size: 13px; line-height: 1.7; font-weight: 600; }
#contact-internal .wpforms-container-full .wpforms-form :is(.wpforms-field-sublabel,.wpforms-field-description) { color: var(--ct-muted); font-size: 12px; line-height: 1.7; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(input[type='text'],input[type='email'],input[type='tel'],input[type='url'],input[type='number'],input[type='date'],input[type='password'],input[type='search'],select,textarea) {
  width: 100%; max-width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #bdcec1; border-radius: 3px; background: #fbfcfa; color: var(--ct-ink); box-shadow: none; font-family: 'DM Sans', Arial, sans-serif; font-size: 16px; line-height: 1.5;
}
#contact-internal :is(.wpforms-form,.wpcf7-form) textarea { min-height: 135px; resize: vertical; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(input,select,textarea):focus { border-color: #2b9570; background: #fff; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(input[type='checkbox'],input[type='radio']) { accent-color: var(--ct-forest); }
#contact-internal .wpforms-container-full .wpforms-form :is(.wpforms-field-label-inline,.wpforms-field-checkbox label,.wpforms-field-radio label) { font-weight: 400; font-size: 13px; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(button[type='submit'],input[type='submit']) { width: auto; min-height: 49px; max-width: 100%; padding: 14px 24px; border: 1px solid var(--ct-ink); border-radius: 3px; background: var(--ct-ink); color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 1.5; cursor: pointer; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(button[type='submit'],input[type='submit']):hover { background: #165e4f; border-color: #165e4f; }
#contact-internal :is(.wpforms-form,.wpcf7-form) :is(button[type='submit'],input[type='submit']):disabled { cursor: wait; opacity: .65; }
#contact-internal .wpcf7-form > p + p { margin-top: 18px; }
#contact-internal .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
#contact-internal .wpcf7-list-item { margin-left: 0; margin-right: 18px; }
#contact-internal .wpcf7-not-valid-tip { margin-top: 5px; font-size: 12px; }
#contact-internal .wpcf7-response-output { margin: 20px 0 0; padding: 15px 18px; font-size: 13px; line-height: 1.7; }
#contact-internal .wpforms-confirmation-container-full { border: 1px solid #8bb89d; background: #e6f5ea; color: var(--ct-ink); font-size: 14px; }
#contact-internal .wpforms-container-full .wpforms-form .wpforms-field { padding: 12px 0; }

/* Match the newsletter's native Mailchimp form to the other site forms. */
#contact-internal .ci-form-panel .mc4wp-form { margin: 24px 0 0; max-width: 100%; }
#contact-internal .ci-form-panel .mc4wp-form-fields > p { margin: 0 0 24px; }
#contact-internal .ci-form-panel .mc4wp-form-fields > p:last-child { margin-bottom: 0; }
#contact-internal .ci-form-panel .mc4wp-form-fields label { display: block; margin: 0; color: var(--ct-ink); font-family: 'DM Sans', Arial, sans-serif; font-size: 13px; line-height: 1.7; font-weight: 600; }
#contact-internal .ci-form-panel .mc4wp-form-fields :is(input[type='text'],input[type='email']) {
  display: block; width: 100%; max-width: 100%; min-height: 48px; margin-top: 6px; padding: 11px 13px; border: 1px solid #bdcec1; border-radius: 3px; background: #fbfcfa; color: var(--ct-ink); box-shadow: none; font-family: 'DM Sans', Arial, sans-serif; font-size: 16px; line-height: 1.5;
}
#contact-internal .ci-form-panel .mc4wp-form-fields :is(input[type='text'],input[type='email']):focus { border-color: #2b9570; background: #fff; }
#contact-internal .ci-form-panel .mc4wp-form-fields :is(button[type='submit'],input[type='submit']) { width: auto; min-height: 49px; max-width: 100%; padding: 14px 24px; border: 1px solid var(--ct-ink); border-radius: 3px; background: var(--ct-ink); color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 1.5; cursor: pointer; }
#contact-internal .ci-form-panel .mc4wp-form-fields :is(button[type='submit'],input[type='submit']):hover { background: #165e4f; border-color: #165e4f; }
#contact-internal .ci-form-panel .mc4wp-form-fields :is(button[type='submit'],input[type='submit']):disabled { cursor: wait; opacity: .65; }
#contact-internal .ci-form-panel .mc4wp-response:not(:empty) { margin-top: 20px; font-size: 13px; line-height: 1.7; }

/* Sponsor and attendee collections; retain actual tiers, logos and identities. */
#contact-internal .ci-sponsor-tier + .ci-sponsor-tier { margin-top: 42px; }
#contact-internal .ci-tier-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 21px; font-family: 'DM Sans',Arial,sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.4px; color: var(--ct-forest); }
#contact-internal .ci-tier-heading::after { content: ''; flex: 1; height: 1px; background: #c9d9cd; }
#contact-internal .ci-sponsors { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
#contact-internal .ci-sponsor-card { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 170px; padding: 24px; border: 1px solid var(--ct-line); border-radius: 3px; background: #fff; text-decoration: none; }
#contact-internal .ci-sponsor-card img { width: auto; height: auto; max-width: 100%; max-height: 100px; object-fit: contain; }
#contact-internal .ci-sponsor-card .ci-sponsor-name { display: block; margin-top: 17px; color: var(--ct-muted); font-size: 11px; text-align: center; }
#contact-internal a.ci-sponsor-card:hover { border-color: #7aad94; box-shadow: 0 5px 20px #092e2c08; }
#contact-internal .ci-sponsors.ci-sponsors-featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
#contact-internal .ci-sponsors-featured .ci-sponsor-card { min-height: 205px; padding: 32px; }
#contact-internal .ci-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 30px; list-style: none; padding: 0; margin: 0; }
#contact-internal .ci-directory li { padding: 14px 0; border-bottom: 1px solid var(--ct-line); color: #315a46; font-size: 13px; overflow-wrap: anywhere; }

/* Editorial layout keeps existing SEO article content readable. */
#contact-internal .ci-prose { max-width: 830px; margin-inline: auto; color: #31554a; font-size: 16px; line-height: 1.85; overflow-wrap: break-word; }
#contact-internal .ci-prose > * + * { margin-top: 22px; }
#contact-internal .ci-prose :is(h2,h3,h4) { color: var(--ct-ink) !important; margin: 37px 0 17px; }
#contact-internal .ci-prose h2 { font-size: 39px; }
#contact-internal .ci-prose h3 { font-size: 31px; }
#contact-internal .ci-prose h4 { font-size: 26px; }
#contact-internal .ci-prose p + p { margin-top: 21px; }
#contact-internal .ci-prose :is(ul,ol) { padding-left: 24px; margin-top: 20px; margin-bottom: 20px; }
#contact-internal .ci-prose li + li { margin-top: 9px; }
#contact-internal .ci-prose :is(ul,ol) :is(ul,ol) { margin-top: 9px; margin-bottom: 9px; }
#contact-internal .ci-prose a:not(:is(.ct-button,.ci-button)) { color: var(--ct-forest); text-decoration: underline; text-decoration-thickness: 1px; }
#contact-internal .ci-prose blockquote { margin: 30px 0; padding: 23px 28px; border-left: 3px solid #74b99b; background: #e9f1e9; color: var(--ct-ink); font-size: 18px; }
#contact-internal .ci-prose blockquote p { margin: 0; }
#contact-internal .ci-prose figure { margin: 28px 0; }
#contact-internal .ci-prose figure img { width: auto; max-width: 100%; border-radius: 3px; }
#contact-internal .ci-prose figcaption { margin-top: 10px; color: var(--ct-muted); font-size: 12px; line-height: 1.6; }
#contact-internal .ci-prose .aligncenter { margin-inline: auto; }
#contact-internal .ci-prose .wp-caption { max-width: 100%; }
#contact-internal .ci-prose table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 13px; line-height: 1.7; }
#contact-internal .ci-prose :is(th,td) { padding: 12px 15px; border: 1px solid #ccdbcf; vertical-align: top; text-align: left; }
#contact-internal .ci-prose th { background: #e5eee4; color: var(--ct-ink); font-weight: 700; }
#contact-internal .ci-table-scroll { max-width: 100%; overflow-x: auto; }
#contact-internal .ci-prose pre { padding: 20px; overflow-x: auto; background: #e7eee7; font-size: 13px; line-height: 1.7; }
#contact-internal .ci-prose hr { border: 0; border-top: 1px solid var(--ct-line); margin: 35px 0; }
#contact-internal .ci-article-image { max-width: 1100px; margin: 0 auto 42px; overflow: hidden; border-radius: 4px; }
#contact-internal .ci-article-image img { width: 100%; height: auto; }
#contact-internal .ci-post-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--ct-line); border-radius: 3px; overflow: hidden; background: #fff; }
#contact-internal .ci-post-card > a img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
#contact-internal .ci-post-copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 26px; }
#contact-internal .ci-post-copy h2 { font-size: 32px; line-height: 1.13; }
#contact-internal .ci-post-copy h2 a { text-decoration: none; }
#contact-internal .ci-post-copy p { margin-top: 16px; margin-bottom: 20px; color: var(--ct-muted); font-size: 13px; line-height: 1.75; }
#contact-internal .ci-post-copy .ct-link { margin-top: auto; }
#contact-internal .ci-post-date { margin-bottom: 13px; color: #547b66; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
#contact-internal .ci-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 40px; }
#contact-internal .ci-pagination :is(a,span) { display: grid; min-width: 43px; min-height: 43px; padding: 8px 14px; place-items: center; border: 1px solid #c7d8cc; border-radius: 3px; font-size: 13px; text-decoration: none; }
#contact-internal .ci-pagination :is(.current,[aria-current='page']) { color: #fff; background: var(--ct-ink); border-color: var(--ct-ink); }


/* Body-partial aliases. Containers are nested inside full-width sections. */
#contact-internal .ci-container { width: calc(100% - 88px); max-width: 1280px; margin-inline: auto; }
#contact-internal .ci-button--light { color: var(--ct-deep); background: var(--ct-mint); border-color: var(--ct-mint); }
#contact-internal .ci-button--outline { color: var(--ct-ink); background: transparent; border-color: #8ea79b; }
#contact-internal .ci-button--dark { color: #fff; background: var(--ct-ink); border-color: var(--ct-ink); }
#contact-internal .ci-section--dark { background: var(--ct-deep); color: #fff; }
#contact-internal .ci-section--dark :is(.ci-intro,.ci-prose) { color: #c9ddd5; }
#contact-internal .ci-section--dark :is(.ci-eyebrow,.ci-kicker,h2 em,h3 em) { color: var(--ct-mint); }
#contact-internal :is(.ci-section--dark,.ci-card--dark) .ci-button--outline { color: #fff; border-color: #ffffff66; }
#contact-internal .ci-card--dark { color: #fff; background: #092b2e; border-color: #315c50; }
#contact-internal .ci-card--dark :is(p,li) { color: #c9ddd5; }
#contact-internal .ci-card--dark :is(.ci-eyebrow,.ci-kicker,h3 em) { color: var(--ct-mint); }
#contact-internal .ci-card--mint { color: var(--ct-ink); background: #d8eee1; border-color: #a6d3bb; }
#contact-internal .ci-price { display: block; margin: 17px 0; font-family: 'Barlow Condensed',Arial,sans-serif; font-size: 60px; font-weight: 700; line-height: 1; letter-spacing: -1px; }
#contact-internal .ci-price small { font-family: 'DM Sans',Arial,sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0; }
#contact-internal .ci-card--dark .ci-price { color: var(--ct-mint); }
#contact-internal .ci-tag-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 23px 0 0; list-style: none; }
#contact-internal .ci-tag-list li { padding: 7px 12px; border: 1px solid #b5cdbc; border-radius: 3px; color: #365d4b; background: #f0f6ee; font-size: 12px; line-height: 1.5; }
#contact-internal .ci-archive { margin-top: 24px; padding: 20px 24px; border-left: 3px solid #74b99b; background: #e6efe5; color: #365d4b; font-size: 14px; line-height: 1.8; }
#contact-internal .ci-archive p + p { margin-top: 12px; }
#contact-internal .ci-form-panel .ci-intro { font-size: 14px; }
#contact-internal .ci-section--dark :is(a,button,summary):focus-visible { outline-color: var(--ct-mint); }

@media (max-width: 1000px) {
  #contact-internal .ci-split { gap: 35px; }
  #contact-internal .ci-sponsors { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #contact-internal .ci-grid { gap: 18px; }
  #contact-internal .ci-card { padding: 23px; }
}
@media (max-width: 850px) {
  #contact-internal .ci-container { width: calc(100% - 64px); }
  #contact-internal :is(.ct-wrap,.ci-wrap) { padding-left: 32px; padding-right: 32px; }
  #contact-internal .ct-nav { padding-left: 28px; padding-right: 28px; gap: 16px; }
  #contact-internal .ct-nav-links { gap: 14px; }
  #contact-internal .ct-nav-links a { font-size: 10px; }
  #contact-internal .ct-logo { width: 130px; }
  #contact-internal .ci-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #contact-internal .ci-split.ci-split-wide { grid-template-columns: 1fr; }
  #contact-internal .ci-section-head { align-items: start; }
  #contact-internal .ci-section-head .ci-intro { max-width: 40%; font-size: 14px; }
}
@media (max-width: 660px) {
  #contact-internal .ci-container { width: calc(100% - 48px); }
  #contact-internal { --ci-space: 47px; }
  #contact-internal :is(.ct-wrap,.ci-wrap) { padding-left: 24px; padding-right: 24px; }
  #contact-internal .ct-nav { padding: 16px 24px; min-height: 75px; }
  #contact-internal .ct-menu { display: block; }
  #contact-internal .ct-nav-links { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 22px 24px; border-top: 1px solid #ffffff22; background: #08252b; flex-wrap: wrap; gap: 20px; box-shadow: 0 12px 20px #051a201a; }
  #contact-internal .ct-nav-links.is-open { display: flex; }
  #contact-internal .ct-nav-links a { display: block; min-height: 35px; padding-top: 5px; font-size: 12px; }
  #contact-internal .ct-nav-links :is(.ct-button,.ci-button) { min-height: 42px; padding-top: 12px; }
  #contact-internal .ci-hero { padding-top: 38px; padding-bottom: 42px; }
  #contact-internal .ci-hero h1 { font-size: 54px; line-height: 1.03; }
  #contact-internal .ci-hero :is(.ci-intro,.ct-intro) { font-size: 16px; }
  #contact-internal .ci-breadcrumb { margin-bottom: 22px; }
  #contact-internal .ci-hero::after { left: -10%; right: -50%; bottom: 20%; }
  #contact-internal .ci-section-head { display: block; }
  #contact-internal .ci-section-head .ci-intro { max-width: none; margin-top: 18px; font-size: 15px; }
  #contact-internal .ci-split { grid-template-columns: 1fr; gap: 32px; }
  #contact-internal .ci-grid { grid-template-columns: 1fr; gap: 20px; }
  #contact-internal .ci-grid:is(.ci-grid-two,.ci-grid--2) { grid-template-columns: 1fr; }
  #contact-internal .ci-card { padding: 26px; }
  #contact-internal .ci-form-panel { padding: 27px 24px; }
  #contact-internal .ci-band .ct-actions { margin-top: 0; justify-content: flex-start; }
  #contact-internal .ci-sponsors, #contact-internal .ci-sponsors.ci-sponsors-featured { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
  #contact-internal .ci-sponsor-card, #contact-internal .ci-sponsors-featured .ci-sponsor-card { min-height: 142px; padding: 22px; }
  #contact-internal .ci-sponsor-card img { max-height: 85px; }
  #contact-internal .ci-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; }
  #contact-internal .ci-prose { font-size: 15px; line-height: 1.85; }
  #contact-internal .ci-prose h2 { font-size: 35px; }
  #contact-internal .ci-prose h3 { font-size: 29px; }
  #contact-internal .ci-prose blockquote { padding: 20px 22px; font-size: 16px; }
  #contact-internal .ci-article-image { margin-bottom: 30px; }
  #contact-internal .ct-footer-top { grid-template-columns: 1fr 1fr; gap: 30px; }
  #contact-internal .ct-footer-top > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 430px) {
  #contact-internal .ci-container { width: calc(100% - 44px); }
  #contact-internal :is(.ct-wrap,.ci-wrap) { padding-left: 22px; padding-right: 22px; }
  #contact-internal .ct-nav { padding-left: 22px; padding-right: 22px; gap: 12px; }
  #contact-internal .ct-logo { width: 112px; }
  #contact-internal .ct-menu { padding: 8px 11px; font-size: 11px; }
  #contact-internal .ci-hero h1 { font-size: 49px; letter-spacing: -.8px; }
  #contact-internal .ci-hero :is(.ci-kicker,.ci-eyebrow) { font-size: 10px; letter-spacing: 1.1px; }
  #contact-internal .ci-hero .ci-intro { font-size: 15px; }
  #contact-internal .ci-intro { font-size: 15px; }
  #contact-internal :is(.ct-button,.ci-button) { font-size: 11px; padding: 14px 17px; gap: 15px; }
  #contact-internal .ci-form-panel { padding: 26px 20px; }
  #contact-internal .ci-form-panel > h2 { font-size: 33px; }
  #contact-internal .ci-sponsor-card, #contact-internal .ci-sponsors-featured .ci-sponsor-card { min-height: 125px; padding: 18px; }
  #contact-internal .ci-sponsor-card img { max-height: 75px; }
  #contact-internal .ci-directory { grid-template-columns: 1fr; }
  #contact-internal .ci-post-copy { padding: 23px; }
  #contact-internal .ct-footer-bottom { display: block; line-height: 1.8; }
  #contact-internal .ct-footer-bottom span:last-child { display: block; margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  #contact-internal *, #contact-internal *::before, #contact-internal *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

body.cio-signature{margin:0;background:#f5f7f3}
#contact-internal .ci-closing{background:radial-gradient(ellipse at 65% 140%,#17634d,transparent 70%),#051a20;color:#fff;text-align:center;padding-top:72px;padding-bottom:72px}
#contact-internal .ci-closing h2{font-size:clamp(46px,5.5vw,68px)}
#contact-internal .ci-closing h2 em,#contact-internal .ci-closing .ci-kicker{color:#97f2ce}
#contact-internal .ci-closing p:not(.ci-kicker){color:#bed3c9;margin-top:18px}
#contact-internal .ci-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
#contact-internal .ci-post-card{background:#fff;border:1px solid #d9e3db;display:flex;flex-direction:column;min-width:0}
#contact-internal .ci-post-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
#contact-internal .ci-post-copy{padding:25px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
#contact-internal .ci-post-copy h3{font-size:30px;line-height:1.15;margin-bottom:15px}
#contact-internal .ci-post-copy h3 a{text-decoration:none}
#contact-internal .ci-post-copy p:not(.ci-kicker){font-size:13px;color:#47635a;margin-bottom:22px}
#contact-internal .ci-post-copy .ct-link{margin-top:auto}
#contact-internal .ci-pagination{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:40px}
#contact-internal .ci-pagination a,#contact-internal .ci-pagination span{padding:8px 13px;border:1px solid #c7d9cd;text-decoration:none}
#contact-internal .ci-pagination .current{background:#092e2c;color:white}
#contact-internal .ci-search{display:flex;border:1px solid #b3c8b9;background:white;width:300px;max-width:100%;border-radius:3px;overflow:hidden}
#contact-internal .ci-search input{border:0;background:transparent;padding:12px;min-width:0;flex:1;color:#092e2c;font:inherit}
#contact-internal .ci-search button{border:0;background:#092e2c;color:white;width:48px;min-height:48px;font-size:22px}
#contact-internal .ci-article-layout{display:grid;grid-template-columns:minmax(0,830px) minmax(220px,1fr);gap:64px;align-items:start}
#contact-internal .ci-article-aside{border-top:3px solid #78bca1;background:#fff;padding:28px;position:sticky;top:40px}
#contact-internal .ci-article-aside h3{margin:0 0 15px}
#contact-internal .ci-article-aside p{margin-bottom:22px;font-size:13px;color:#47635a}
#contact-internal .ci-article-aside .ct-link{margin-top:22px}
#contact-internal .ci-article-image{margin-bottom:32px}
#contact-internal .ci-article-image img{width:100%;height:auto}
#contact-internal .ci-sponsor-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#contact-internal .ci-sponsor-profile{border:1px solid #d9e3db;background:#fff;display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start;gap:22px;padding:28px}
#contact-internal .ci-sponsor-logo{display:flex;min-height:115px;align-items:center;justify-content:center;padding:14px;background:#fff}
#contact-internal .ci-sponsor-logo img{max-height:110px;width:auto;max-width:100%;object-fit:contain}
#contact-internal .ci-sponsor-copy h3{font-size:31px;margin-bottom:17px}
#contact-internal .ci-sponsor-copy .ci-kicker{font-size:9px;letter-spacing:1px}
#contact-internal .ci-sponsor-copy details{margin-bottom:18px;font-size:13px;line-height:1.7;color:#47635a}
#contact-internal .ci-sponsor-copy details summary{font-weight:600;color:#165e4f}
#contact-internal .ci-sponsor-copy details p{margin-top:12px}
@media(max-width:1000px){#contact-internal .ci-sponsor-profile{grid-template-columns:1fr}#contact-internal .ci-sponsor-logo{justify-content:flex-start}#contact-internal .ci-article-layout{grid-template-columns:minmax(0,1fr);gap:30px}#contact-internal .ci-article-aside{position:static}}
@media(max-width:700px){#contact-internal .ci-sponsor-directory{grid-template-columns:1fr}#contact-internal .ci-post-grid{grid-template-columns:1fr}#contact-internal .ci-section-head{align-items:stretch;flex-direction:column}#contact-internal .ci-search{width:100%}#contact-internal .ci-sponsor-profile{padding:24px}}
body.cio-signature #scrollUp{display:none!important}
#contact-internal div.ci-intro{color:#092e2c}
#contact-internal div.ci-intro>h2{margin-bottom:18px}
#contact-internal div.ci-intro>h3{margin:30px 0 14px}
#contact-internal div.ci-intro>p{color:#47635a}
#contact-internal div.ci-intro>p+p{margin-top:16px}
#contact-internal div.ci-intro>.ci-card{margin:26px 0}
#contact-internal .ci-card--dark .ci-note{background:#173f3b;color:#e5f5ec;border-color:#97f2ce}
#contact-internal .ci-card--dark .ci-note strong{color:#fff}
#contact-internal .ci-brand-prices{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;margin:15px 0 18px}
#contact-internal .ci-brand-prices span{display:block;font-size:11px;font-weight:600;color:#c9ddd5;margin-bottom:9px}
#contact-internal .ci-brand-prices strong{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(42px,4vw,62px);line-height:1;font-weight:700;color:#97f2ce;letter-spacing:-1px}
#contact-internal .ci-brand-prices>div+div{border-left:1px solid #ffffff30;padding-left:18px}
#contact-internal .ci-brand-prices>div+div strong{color:#fff}
#contact-internal .ci-card--dark p.ci-savings{background:#97f2ce;color:#092e2c;font-size:15px;font-weight:700;padding:11px 14px;border-radius:3px}
@media(max-width:400px){#contact-internal .ci-brand-prices{gap:10px}#contact-internal .ci-brand-prices>div+div{padding-left:10px}#contact-internal .ci-brand-prices strong{font-size:40px}}
/* Venue: both photos fill the column and finish at the location card's bottom. */
#contact-internal .ci-venue-layout{align-items:stretch}
#contact-internal .ci-venue-layout>.ci-intro{margin-top:0}
#contact-internal .ci-venue-layout>.ci-intro>.ci-card:last-child{margin-bottom:0}
#contact-internal .ci-venue-gallery{display:grid;grid-template-rows:minmax(0,1.4fr) minmax(0,1fr);gap:16px;min-height:0}
#contact-internal .ci-venue-gallery>.ci-media{min-height:0;margin:0}
#contact-internal .ci-venue-gallery>.ci-media>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
@media(max-width:660px){
 #contact-internal .ci-venue-gallery{grid-template-rows:auto auto;gap:16px}
 #contact-internal .ci-venue-gallery>.ci-media{aspect-ratio:4/3}
 #contact-internal .ci-venue-gallery>.ci-media+figure{aspect-ratio:16/9}
}

/* Contact.io social accounts, shared by homepage and internal footers. */
:is(#contact-full,#contact-internal) .ct-footer .ct-social{margin-top:24px}
:is(#contact-full,#contact-internal) .ct-footer .ct-social h3{margin:0 0 10px}
:is(#contact-full,#contact-internal) .ct-footer .ct-social-links{display:flex;flex-wrap:wrap;gap:8px;max-width:360px}
:is(#contact-full,#contact-internal) .ct-footer .ct-social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #47685d;border-radius:3px;color:#97f2ce;background:transparent;font-family:'DM Sans',Arial,sans-serif;font-size:12px;line-height:1.5;font-weight:600;text-decoration:none;white-space:nowrap}
:is(#contact-full,#contact-internal) .ct-footer .ct-social-links a:hover{border-color:#97f2ce;background:#97f2ce;color:#05171c}
:is(#contact-full,#contact-internal) .ct-footer .ct-social-links a:focus-visible{outline:2px solid #97f2ce;outline-offset:3px}
