/* CITRAVA GLOBAL brand layer over the template styles in site.css. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lora'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lora'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Brand colours. The template reads everything from these kit variables. */
:root {
  --cg-navy: #0a1f5c;
  --cg-royal: #0b3aa4;
  --cg-sky: #5cc6f5;
  --cg-sky-pale: #e6f2fc;
  --cg-pink: #e6337f;
  --cg-pink-pale: #fde7f0;
  --cg-ink: #56607a;
  --cg-paper: #f6f9fe;
}
.elementor-kit-8 {
  --e-global-color-primary: var(--cg-navy);
  --e-global-color-secondary: var(--cg-sky);
  --e-global-color-text: var(--cg-ink);
  --e-global-color-accent: var(--cg-paper);
  --e-global-color-d0f36bd: var(--cg-sky-pale);
  --e-global-color-03e8f3b: #f6f9fe59;
}

/* Logo: the mark on a white disc so it reads on dark sections. */
.cg-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.cg-logo__mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; flex: none; }
.cg-logo__mark img, .cg-logo > img { width: 44px; height: 44px; object-fit: contain; }
.cg-logo__text { font-family: 'Lora', serif; font-size: 21px; font-weight: 600; letter-spacing: 0.04em; line-height: 1; color: #fff; white-space: nowrap; }
.cg-logo__text span { color: var(--cg-sky); font-weight: 500; }
.cg-logo--dark .cg-logo__text { color: var(--cg-navy); }
.cg-logo--dark .cg-logo__text span { color: var(--cg-royal); }

.cg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cg-preview-bar { position: sticky; top: 0; z-index: 10000; padding: 8px 16px; background: var(--cg-pink); color: #fff; font: 600 14px/1.3 'Inter', sans-serif; text-align: center; }

/* Header */
.elementor-25 .elementor-widget-image .cg-logo, .elementor-26 .elementor-widget-image .cg-logo { display: inline-flex; }
@media (min-width: 1025px) { .cg-menu-cta { display: none !important; } }
html { overflow-x: clip; }
.elementor-2 .elementor-element-a2b7091 { overflow: hidden; }

/* Icons that replace the template's bitmap icons */
.elementor-kit-8 .cg-pillar-icon svg { display: block; color: var(--cg-navy); }
.elementor-kit-8 .cg-pillar-icon--2 svg, .elementor-kit-8 .cg-pillar-icon--4 svg { color: #fff; }
.cg-star { color: var(--cg-pink); display: flex; align-items: center; }
.cg-star svg { width: 41px; height: 41px; }
.elementor-image-box-img svg { display: block; color: var(--cg-royal); }

a.cg-card-link { text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
a.cg-card-link:hover, a.cg-card-link:focus-visible { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(10, 31, 92, .12); }
.cg-cover-fallback { display: block; width: 100%; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--cg-royal), var(--cg-sky)); border-radius: inherit; }

/* ------------------------------------------------------------ Page frame */
/* Inner pages: the first section after the title banner rises over it with rounded corners, as in the template. */
.cg-inner #content > :nth-child(2) > .e-con.e-parent { --border-radius: 50px 50px 0 0; --margin-top: -50px; position: relative; }
.cg-flat-top.e-con { --border-radius: 0 0 0 0 !important; --margin-top: 0px !important; }
@media (max-width: 1024px) { .cg-inner #content > :nth-child(2) > .e-con.e-parent { --border-radius: 30px 30px 0 0; --margin-top: -30px; } }

.cg-container { width: 100%; max-width: 1380px; margin: 0 auto; padding: 0 15px; }
.cg-section { padding: 100px 0; background: #fff; }
.cg-section--paper { background: var(--cg-paper); }
@media (max-width: 1024px) { .cg-section { padding: 60px 0; } }
.cg-center { display: flex; justify-content: center; margin-top: 40px; }
.cg-center--row { gap: 28px; align-items: center; flex-wrap: wrap; }
.cg-link { color: var(--cg-royal); font: 600 16px/1.2 'Inter', sans-serif; text-decoration: none; }
.cg-link:hover { color: var(--cg-pink); }

/* ---------------------------------------------------------------- Header */
@media (min-width: 1025px) {
  .elementor-25 .elementskit-navbar-nav > li > a { padding-left: 22px !important; padding-right: 22px !important; }
  .elementor-25 .elementskit-navbar-nav { flex-wrap: nowrap; }
}
.elementor-25 .elementskit-submenu-panel > li > a[aria-current="page"] { color: var(--cg-royal); }
.cg-menu-open { overflow: hidden; }

/* ---------------------------------------------------------------- Footer */
.elementor-26 .elementor-icon-list-item a, .elementor-26 .elementor-icon-list-text { color: #c3d0ee !important; }
.elementor-26 .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--cg-sky) !important; }
.elementor-26 .elementor-element-a2095a5 { color: #c3d0ee; }
.cg-newsletter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 4px; }
.elementor-kit-8 .cg-newsletter input[type="email"] { flex: 1 1 200px; min-width: 0; background: transparent; border: 0; border-bottom: 1px solid #ffffff66; border-radius: 0; padding: 10px 0; color: #fff; font: 500 18px/1.3 'Inter', sans-serif; }
.elementor-kit-8 .cg-newsletter input[type="email"]::placeholder { color: #c3d0ee; opacity: 1; }
.elementor-kit-8 .cg-newsletter input[type="email"]:focus { outline: none; border-bottom-color: var(--cg-sky); }
.elementor-kit-8 .cg-newsletter button { flex: none; width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0; background: var(--cg-sky); color: var(--cg-navy); display: grid; place-items: center; cursor: pointer; transition: background .2s; }
.elementor-kit-8 .cg-newsletter button:hover, .elementor-kit-8 .cg-newsletter button:focus-visible { background: #fff; color: var(--cg-navy); }
.elementor-kit-8 .cg-newsletter button svg { width: 16px; height: 16px; fill: currentColor; }
.cg-newsletter .cg-form-status { flex-basis: 100%; }
.cg-footer-contact { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 6px; }
.cg-footer-contact a { color: #fff; font: 500 16px/1.4 'Inter', sans-serif; text-decoration: none; }
.cg-footer-contact a:hover { color: var(--cg-sky); }

/* ----------------------------------------------------------------- Forms */
.cg-form { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px; width: 100%; }
.cg-form__wide { grid-column: 1 / -1; }
.cg-field label { display: block; margin-bottom: 4px; color: var(--cg-navy); font: 500 14px/1.3 'Inter', sans-serif; }
.cg-field label span { color: var(--cg-ink); font-weight: 400; }
.elementor-kit-8 .cg-field input, .elementor-kit-8 .cg-field select, .elementor-kit-8 .cg-field textarea { width: 100%; background: transparent; border: 0; border-bottom: 1px solid #c5cede; border-radius: 0; padding: 10px 0; color: var(--cg-navy); font: 500 18px/1.4 'Inter', sans-serif; box-shadow: none; }
.cg-field textarea { resize: vertical; min-height: 120px; }
.cg-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230a1f5c' stroke-width='1.8'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 4px center; padding-right: 26px; }
.elementor-kit-8 .cg-field input:focus, .elementor-kit-8 .cg-field select:focus, .elementor-kit-8 .cg-field textarea:focus { outline: none; border-bottom-color: var(--cg-royal); box-shadow: 0 1px 0 var(--cg-royal); }
.cg-form__note { margin: 0; color: var(--cg-ink); font: 400 14px/1.4 'Inter', sans-serif; }
.cg-form__note a { color: var(--cg-royal); }
.cg-form__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cg-form button.elementskit-btn { cursor: pointer; border: 1px solid var(--cg-sky); background: var(--cg-sky); color: var(--cg-navy); border-radius: 100px; padding: 7px 11px 7px 25px; font: 600 16px/1.2 'Inter', sans-serif; display: inline-flex; align-items: center; gap: 10px; }
.cg-form button.elementskit-btn i { width: 33px; height: 33px; border-radius: 50%; background: var(--cg-navy); color: var(--cg-sky); display: grid; place-items: center; font-size: 16px; }
.cg-form button.elementskit-btn:hover { background: var(--cg-navy); border-color: var(--cg-navy); color: #fff; }
.cg-form button.elementskit-btn:hover i { background: var(--cg-sky); color: var(--cg-navy); }
.cg-form button[disabled] { opacity: .6; cursor: progress; }
.cg-form-status { margin: 0; font: 500 15px/1.4 'Inter', sans-serif; color: var(--cg-ink); }
.cg-form-status--ok { color: #0a7a45; }
.cg-form-status--error { color: #c62828; }
.elementor-26 .cg-form-status { color: #c3d0ee; }
.elementor-26 .cg-form-status--ok { color: #8be0b4; }
.elementor-26 .cg-form-status--error { color: #ffb4b4; }
@media (max-width: 767px) { .cg-form { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------- Contact */
.cg-contact-icon svg { display: block; color: var(--cg-navy); }
.elementor-23 .elementor-element-b419949 svg, .elementor-23 .elementor-element-4cc7b83 svg { color: #fff; }
.elementor-23 .elementor-widget-text-editor a { color: inherit; text-decoration: none; }
.elementor-23 .elementor-widget-text-editor a:hover { color: var(--cg-royal); }
.cg-map { width: 100%; min-height: 360px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, var(--cg-sky-pale), #fff); display: grid; }
.cg-map iframe { width: 100%; height: 420px; border: 0; display: block; }
.elementor-kit-8 .cg-map__button { all: unset; background: transparent; border-radius: 0; cursor: pointer; display: grid; justify-items: center; align-content: center; gap: 8px; padding: 40px 20px; text-align: center; color: var(--cg-navy); font: 500 15px/1.4 'Inter', sans-serif; }
.cg-map__button strong { font: 600 20px/1.2 'Lora', serif; }
.cg-map__button span { max-width: 420px; color: var(--cg-ink); }
.cg-map__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--cg-sky); display: grid; place-items: center; color: var(--cg-navy) !important; }
.cg-map__button:hover .cg-map__icon, .cg-map__button:focus-visible .cg-map__icon { background: var(--cg-navy); color: #fff !important; }

/* ---------------------------------------------- Content blocks we added */
.cg-eyebrow { margin: 0 0 14px; color: var(--cg-navy); font: 400 14px/1.2 'Inter', sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.cg-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 60px; align-items: center; }
.cg-feature--top { align-items: start; }
.cg-feature__image img { width: 100%; height: auto; border-radius: 10px; display: block; aspect-ratio: 9 / 10; object-fit: cover; }
.cg-feature__image--wide img { aspect-ratio: 5 / 4; }
.cg-feature__body h2, .cg-cta h2 { margin: 0 0 20px; color: var(--cg-navy); font: 400 46px/1.08 'Lora', serif; }
.cg-feature__body h3, .cg-topics h3, .cg-callout h3 { margin: 34px 0 16px; color: var(--cg-navy); font: 400 28px/1.15 'Lora', serif; }
.cg-feature__body .cg-button { margin-top: 30px; }
.cg-prose { color: var(--cg-ink); font: 500 19px/1.5 'Inter', sans-serif; }
.cg-prose p { margin: 0 0 16px; }
.cg-prose a { color: var(--cg-royal); }
.cg-prose ul, .cg-prose ol { margin: 0 0 16px; padding-left: 22px; }
.cg-prose li { margin-bottom: 8px; }
.cg-prose--page { max-width: 820px; margin: 0 auto; font-size: 18px; font-weight: 400; }
.cg-prose--page strong { color: var(--cg-navy); }
.cg-prose--page p > strong:only-child { display: block; margin-top: 26px; font: 400 26px/1.2 'Lora', serif; }
.cg-checklist ul { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; font-size: 17px; }
.cg-checklist li { margin: 0; padding-left: 30px; position: relative; }
.cg-checklist li::before { content: ''; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--cg-sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%230a1f5c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9.300l2.600 2.600L13 6.500'/%3E%3C/svg%3E") center / contain no-repeat; }
.cg-intro { max-width: 760px; margin: 22px auto 0; text-align: center; color: var(--cg-ink); font: 500 19px/1.5 'Inter', sans-serif; }
.cg-intro--wide { max-width: 900px; }
.cg-intro p { margin: 0 0 14px; }
.cg-section-heading { width: 100%; }
.cg-empty { margin: 50px auto; max-width: 640px; text-align: center; padding: 40px 30px; border-radius: 10px; background: var(--cg-paper); color: var(--cg-ink); font: 500 18px/1.5 'Inter', sans-serif; }

.cg-topics { width: 100%; margin-top: 60px; padding: 40px; border-radius: 10px; background: var(--cg-sky-pale); }
.cg-topics h3 { margin-top: 0; }
.cg-topics__label { margin: -6px 0 18px; color: var(--cg-ink); font: 500 16px/1.3 'Inter', sans-serif; }
.cg-topics ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cg-topics li { padding: 16px 18px; border-radius: 8px; background: #fff; color: var(--cg-navy); font: 500 16px/1.3 'Inter', sans-serif; border-left: 3px solid var(--cg-sky); }
.cg-topics li:nth-child(3n + 2) { border-left-color: var(--cg-pink); }
.cg-topics li:nth-child(3n) { border-left-color: var(--cg-royal); }
.cg-callout { width: 100%; margin-top: 40px; display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; padding: 34px 40px; border-radius: 10px; background: var(--cg-navy); color: #fff; }
.cg-callout p { margin: 0; max-width: 720px; font: 400 26px/1.2 'Lora', serif; }
.cg-callout h3 { margin: 0; color: #fff; }
.cg-callout--stack { flex-direction: column; align-items: flex-start; }
.elementor-kit-8 .cg-callout .cg-pill { background: transparent; border-color: #ffffff59; color: #fff; }
.elementor-kit-8 .cg-callout .cg-pill:hover { background: var(--cg-sky); border-color: var(--cg-sky); color: var(--cg-navy); }

.elementor-kit-8 .cg-pills { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 34px 0 6px; }
.elementor-kit-8 .cg-callout .cg-pills { justify-content: flex-start; margin: 0; }
.elementor-kit-8 .cg-pill { display: inline-flex; align-items: center; padding: 10px 20px; border-radius: 100px; border: 1px solid #c5cede; background: #fff; color: var(--cg-navy); font: 500 14px/1.2 'Inter', sans-serif; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.elementor-kit-8 .cg-pill:hover, .elementor-kit-8 .cg-pill:focus-visible { border-color: var(--cg-royal); color: var(--cg-royal); background: #fff; }
.elementor-kit-8 .cg-pill[aria-pressed="true"], .elementor-kit-8 .cg-pill[aria-current="true"] { background: var(--cg-navy); border-color: var(--cg-navy); color: #fff; }
.cg-pagination { width: 100%; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 40px; color: var(--cg-ink); font: 500 15px/1 'Inter', sans-serif; }

/* --------------------------------------------------------------- Gallery */
.cg-media-grid { width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-top: 30px; }
.cg-media { margin: 0; padding: 8px; border-radius: 10px; background: var(--cg-sky-pale); }
.cg-media[hidden] { display: none; }
.cg-media a { position: relative; display: block; border-radius: 6px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--cg-navy); }
.cg-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cg-media a:hover img, .cg-media a:focus-visible img { transform: scale(1.04); }
.cg-media .cg-cover-fallback { height: 100%; aspect-ratio: auto; }
.cg-media__play { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(#0a1f5c33, #0a1f5c80); }
.cg-media__play svg { width: 64px; height: 64px; padding: 20px 18px 20px 24px; border-radius: 50%; background: #fff; fill: var(--cg-navy); box-shadow: 0 0 0 10px #ffffff40; transition: transform .2s; }
.cg-media a:hover .cg-media__play svg { transform: scale(1.08); }
.cg-media figcaption { padding: 12px 8px 6px; color: var(--cg-navy); font: 500 15px/1.3 'Inter', sans-serif; }
.cg-albums { width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin-top: 34px; }
.cg-album { display: block; border-radius: 10px; overflow: hidden; background: #fff; border: 1px solid #e3e8f0; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.cg-album:hover, .cg-album:focus-visible { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(10, 31, 92, .12); }
.cg-album > img, .cg-album > .cg-cover-fallback { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: 0; }
.cg-album__body { display: grid; gap: 6px; padding: 18px 20px 20px; color: var(--cg-ink); font: 400 14px/1.3 'Inter', sans-serif; }
.cg-album__body small { justify-self: start; padding: 5px 12px; border-radius: 100px; background: var(--cg-pink-pale); color: #a31455; font-size: 12px; }
.cg-album__body strong { color: var(--cg-navy); font: 600 18px/1.25 'Inter', sans-serif; }

/* ---------------------------------------------------------- Testimonials */
.cg-testimonials { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 40px; }
.cg-testimonial { margin: 0; padding: 34px 30px 28px; border-radius: 10px; background: #fff; border: 1px solid #e3e8f0; display: grid; gap: 22px; align-content: space-between; }
.cg-section--paper .cg-testimonial { border-color: transparent; }
.cg-testimonial blockquote { margin: 0; padding: 0; border: 0; }
.cg-testimonial blockquote p { margin: 0; color: var(--cg-navy); font: 400 21px/1.4 'Lora', serif; }
.cg-testimonial blockquote p::before { content: '“'; display: block; height: 30px; color: var(--cg-pink); font-size: 60px; line-height: 1; }
.cg-testimonial figcaption { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid #e3e8f0; }
.cg-testimonial img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.cg-testimonial strong { display: block; color: var(--cg-navy); font: 600 16px/1.3 'Inter', sans-serif; }
.cg-testimonial small { display: block; color: var(--cg-ink); font: 400 14px/1.3 'Inter', sans-serif; }

/* -------------------------------------------------------- Call to action */
.cg-cta { background: var(--cg-sky-pale); padding: 70px 0; }
.cg-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.cg-cta h2 { margin-bottom: 10px; }
.cg-cta p { margin: 0; color: var(--cg-ink); font: 500 19px/1.4 'Inter', sans-serif; }
.cg-cta__actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }

/* -------------------------------------------------------------- Articles */
.cg-article-meta { width: 100%; margin: 0; text-align: left; color: var(--cg-ink); font: 400 15px/1.4 'Inter', sans-serif; }
.cg-article-meta strong { color: var(--cg-pink); }
.elementor-1 .elementor-element-783f739 a { color: inherit; text-decoration: none; }
/* An article reads in one comfortable column: title, cover and text share the same width. */
.elementor-1 article.elementor-element-700b846 .elementor-element-52def53 > .e-con-inner { max-width: 900px; margin-left: auto; margin-right: auto; }
.elementor-1 .elementor-element.cg-article { text-align: left; color: #3d4760; font: 400 19px/1.65 'Inter', sans-serif; }
.cg-article > * { margin: 0 0 22px; }
.cg-article h2 { margin: 44px 0 16px; color: var(--cg-navy); font: 400 34px/1.15 'Lora', serif; }
.cg-article h3 { margin: 36px 0 14px; color: var(--cg-navy); font: 400 26px/1.2 'Lora', serif; }
.cg-article h4 { margin: 30px 0 12px; color: var(--cg-navy); font: 600 19px/1.3 'Inter', sans-serif; }
.cg-article a { color: var(--cg-royal); text-decoration: underline; text-underline-offset: 3px; }
.cg-article ul, .cg-article ol { padding-left: 26px; }
.cg-article li { margin-bottom: 8px; }
.cg-article blockquote { margin: 30px 0; padding: 6px 0 6px 26px; border-left: 3px solid var(--cg-pink); color: var(--cg-navy); font: 400 24px/1.4 'Lora', serif; }
.cg-article blockquote p { margin: 0; }
.cg-article img { max-width: 100%; height: auto; border-radius: 10px; display: block; }
.cg-article hr { border: 0; border-top: 1px solid #e3e8f0; margin: 36px 0; }
.cg-article .video-embed { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: var(--cg-navy); }
.cg-article .video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cg-share { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.cg-share a { width: 42px; height: 42px; border-radius: 50%; background: var(--cg-sky); display: grid; place-items: center; transition: background .2s; }
.cg-share svg { width: 17px; height: 17px; fill: var(--cg-navy); }
.cg-share a:hover, .cg-share a:focus-visible { background: var(--cg-navy); }
.cg-share a:hover svg, .cg-share a:focus-visible svg { fill: #fff; }
.elementskit-entry-thumb .cg-cover-fallback { aspect-ratio: 2 / 1; }

/* -------------------------------------------------------------- Lightbox */
.cg-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(6, 15, 46, .94); display: grid; grid-template-columns: 70px 1fr 70px; grid-template-rows: 1fr auto; align-items: center; padding: 20px 10px; }
.cg-lightbox[hidden] { display: none; }
.cg-lightbox-open { overflow: hidden; }
.cg-lightbox__stage { grid-column: 2; grid-row: 1; display: grid; place-items: center; min-height: 0; height: 100%; }
.cg-lightbox__stage img { max-width: 100%; max-height: calc(100vh - 120px); border-radius: 6px; object-fit: contain; }
.cg-lightbox__stage--video iframe, .cg-lightbox__stage--video video { width: min(100%, calc((100vh - 140px) * 16 / 9)); aspect-ratio: 16 / 9; border: 0; border-radius: 6px; background: #000; }
.cg-lightbox__caption { grid-column: 1 / -1; grid-row: 2; margin: 12px 0 0; min-height: 22px; text-align: center; color: #fff; font: 500 15px/1.4 'Inter', sans-serif; }
.elementor-kit-8 .cg-lightbox button { appearance: none; border: 0; margin: 0; padding: 0; min-width: 0; box-shadow: none; font-family: inherit; font-weight: 400; cursor: pointer; color: #fff; background: #ffffff1f; display: grid; place-items: center; border-radius: 50%; }
.elementor-kit-8 .cg-lightbox button.cg-lightbox__close { position: absolute; top: 14px; right: 18px; width: 46px; height: 46px; font-size: 34px; line-height: 1; z-index: 2; }
.elementor-kit-8 .cg-lightbox button.cg-lightbox__nav { width: 50px; height: 50px; font-size: 40px; line-height: 1; justify-self: center; grid-row: 1; }
.elementor-kit-8 .cg-lightbox button:hover, .elementor-kit-8 .cg-lightbox button:focus-visible { background: var(--cg-sky); color: var(--cg-navy); }
.elementor-kit-8 .cg-lightbox--single button.cg-lightbox__nav { visibility: hidden; }

/* ----------------------------------------------------------------- Small */
:focus-visible { outline: 2px solid var(--cg-pink); outline-offset: 3px; }
.elementor-2 .elementor-element-a2b7091 .elementor-heading-title { white-space: nowrap; }
@media (max-width: 1024px) {
  .cg-feature { grid-template-columns: 1fr; gap: 34px; }
  .cg-feature__image img { aspect-ratio: 16 / 11; }
  .cg-feature__body h2, .cg-cta h2 { font-size: 36px; }
  .cg-topics ul { grid-template-columns: 1fr 1fr; }
  .cg-lightbox { grid-template-columns: 54px 1fr 54px; }
}
@media (max-width: 767px) {
  .cg-topics { padding: 26px 18px; }
  .cg-topics ul, .cg-checklist ul { grid-template-columns: 1fr; }
  .cg-callout { padding: 28px 22px; }
  .cg-callout p { font-size: 22px; }
  .cg-article h2 { font-size: 28px; }
  .cg-lightbox { grid-template-columns: 1fr; padding: 60px 8px 20px; }
  .cg-lightbox__stage { grid-column: 1; }
  .elementor-kit-8 .cg-lightbox button.cg-lightbox__nav { position: absolute; bottom: 60px; }
  .elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--prev { left: 14px; }
  .elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--next { right: 14px; }
  .cg-logo__text { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* The template's pill button, for buttons outside its own sections. */
.cg-button .elementskit-btn, .cg-button .elementskit-btn:visited { display: inline-flex; align-items: center; gap: 10px; padding: 7px 11px 7px 25px; border-radius: 100px; border: 1px solid var(--cg-sky); background: var(--cg-sky); color: var(--cg-navy); font: 600 16px/1.2 'Inter', sans-serif; text-decoration: none; box-shadow: none; transition: background .2s, color .2s, border-color .2s; }
.cg-button .elementskit-btn i { width: 33px; height: 33px; border-radius: 50%; background: var(--cg-navy); color: var(--cg-sky); display: grid; place-items: center; font-size: 16px; transition: background .2s, color .2s; }
.cg-button .elementskit-btn:hover, .cg-button .elementskit-btn:focus-visible { background: var(--cg-navy); border-color: var(--cg-navy); color: #fff; }
.cg-button .elementskit-btn:hover i, .cg-button .elementskit-btn:focus-visible i { background: var(--cg-sky); color: var(--cg-navy); }
.cg-callout .cg-button .elementskit-btn:hover { background: #fff; border-color: #fff; color: var(--cg-navy); }
.cg-callout .cg-button .elementskit-btn:hover i { background: var(--cg-navy); color: #fff; }

/* The header floats over the dark banner at the top of every page. */
.ekit-template-content-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; }
.cg-preview-bar + .ekit-template-content-header { top: 36px; }
.elementor-25 .elementor-element.elementor-element-e3a0454 { --margin-bottom: 0px; }
#content { display: block; }

/* Arrow on menu items that have a submenu. On small screens it is the tap target that opens the submenu. */
.elementskit-submenu-indicator[data-submenu-toggle] { display: inline-grid !important; place-items: center; width: 14px; height: 14px; margin-left: 6px; border: 0 !important; vertical-align: middle; }
.elementskit-submenu-indicator[data-submenu-toggle]::before { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
@media (max-width: 1024px) {
  .elementor-25 a.ekit-menu-dropdown-toggle { display: flex !important; align-items: center; justify-content: space-between; }
  .elementskit-submenu-indicator[data-submenu-toggle] { width: 44px; height: 44px; margin: -10px -10px -10px 0; }
  .elementskit-submenu-indicator[data-submenu-toggle]::before { width: 9px; height: 9px; }
  .cg-menu-cta > a { color: var(--cg-royal) !important; font-weight: 700 !important; }
}
@media (max-width: 1024px) {
  .elementor-25 .elementskit-navbar-nav > li.active > a, .elementor-25 .elementskit-navbar-nav > li > a.active { color: var(--cg-royal) !important; }
}

/* The template gives boxed sections no side padding until the tablet breakpoint,
   so on laptop-width screens the content touched the window edges. */
@media (min-width: 1025px) and (max-width: 1420px) {
  .e-con-boxed.e-parent, .e-con-full.e-parent > .e-con-boxed { --padding-left: 32px !important; --padding-right: 32px !important; }
  .cg-container { padding: 0 32px; }
}

@media (max-width: 1024px) { .cg-article-meta { text-align: center; } }

/* Event cards: covers of any shape are cropped to one ratio so the cards line up. */
.elementor-2 .elementor-element-4af7aeb .elementor-widget-image a { display: block; }
.elementor-2 .elementor-element-4af7aeb .elementor-widget-image img, .elementor-2 .elementor-element-4af7aeb .cg-cover-fallback { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.elementor-2 .elementor-element-4af7aeb h3 a { color: inherit; text-decoration: none; }
.elementskit-post-image-card .elementskit-entry-thumb img { aspect-ratio: 2 / 1; object-fit: cover; width: 100%; }

@media (max-width: 1024px) {
  .cg-footer-contact { justify-items: center; text-align: center; }
  .cg-newsletter { justify-content: center; }
}
@media (max-width: 767px) {
  /* Filter pills become one swipeable row instead of a tall stack. */
  .cg-pills:not(.cg-callout .cg-pills) { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-left: -15px; margin-right: -15px; padding: 4px 15px 10px; width: calc(100% + 30px); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .cg-pills:not(.cg-callout .cg-pills)::-webkit-scrollbar { display: none; }
  .cg-pills .cg-pill { flex: none; white-space: nowrap; }
  .cg-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cg-media { padding: 5px; }
  .cg-media figcaption { font-size: 13px; padding: 8px 4px 4px; }
  .cg-media__play svg { width: 44px; height: 44px; padding: 13px 12px 13px 16px; box-shadow: 0 0 0 6px #ffffff40; }
}
@media (max-width: 767px) {
  /* On a phone the trail stops at the parent page; the current page is already the title above it. */
  .cg-inner .elementor-element-02844c1 li:nth-child(n + 3):last-child { display: none; }
}

.elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--prev { grid-column: 1; }
.elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--next { grid-column: 3; }
@media (max-width: 767px) {
  .elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--prev, .elementor-kit-8 .cg-lightbox button.cg-lightbox__nav--next { grid-column: 1; }
}
