/* Shared styles for content pages: destination guides, hub pages, about, blog, test preparation,
   application form, careers. Everything is scoped under .pg so it cannot affect the shared header,
   footer or the homepage. One file so new pages can be added quickly with the same building blocks:
   .pg-band (navy title band), .pg-sec (content section), .pg-cards (card grid), .pg-facts (key facts),
   .pg-faq (details/summary), .pg-cta (call to action). Form pages also use the .ct-* rules in contact.css. */

.pg {
  --pg-navy: #0f2350;
  --pg-red: #c81e2c;
  --pg-red-dark: #a81824;
  --pg-paper: #ffffff;
  --pg-cream: #f8f5ef;
  --pg-ink: #18213a;
  --pg-muted: #586079;
  --pg-line: #dcdfe7;
  --pg-tint: #eef1f7;
  --pg-display: "Fraunces", Georgia, "Times New Roman", serif;
  --pg-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--pg-cream);
  color: var(--pg-ink);
  font-family: var(--pg-body);
  font-size: 17px;
  line-height: 1.65;
}
.pg *, .pg *::before, .pg *::after { box-sizing: border-box; }
.pg a { color: var(--pg-navy); text-decoration-color: rgba(200, 30, 44, .55); text-underline-offset: 3px; }
.pg a:hover { color: var(--pg-red); }
.pg :focus-visible { outline: 3px solid var(--pg-red); outline-offset: 2px; border-radius: 4px; }
.pg img { max-width: 100%; height: auto; display: block; }

.pg .pg-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding-inline: 24px; }
.pg .pg-narrow { max-width: 820px; }
@media (max-width: 560px) { .pg .pg-wrap { padding-inline: 16px; } }

/* Title band (optionally with a photo behind it) */
.pg .pg-band { position: relative; background: var(--pg-navy); color: #fff; overflow: hidden; }
.pg .pg-band--photo { background-size: cover; background-position: center; }
.pg .pg-band--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 23, 48, .92) 0%, rgba(10, 23, 48, .78) 55%, rgba(10, 23, 48, .45) 100%); }
.pg .pg-band .pg-wrap { position: relative; padding-block: 52px 48px; }
.pg .pg-crumbs { font-size: 13px; color: #b9c3dc; margin: 0 0 14px; }
.pg .pg-crumbs a { color: #dfe5f3; }
.pg .pg-chip { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: rgba(200, 30, 44, .9); border-radius: 999px; padding: 5px 12px; margin: 0 0 14px; }
.pg .pg-band h1 { font-family: var(--pg-display); font-weight: 600; font-size: clamp(32px, 5vw, 52px); line-height: 1.1; margin: 0 0 14px; color: #fff; letter-spacing: -0.01em; max-width: 22ch; }
.pg .pg-lead { margin: 0; max-width: 62ch; color: #dfe5f3; font-size: 19px; }
.pg .pg-band-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* Buttons */
.pg .pg-btn { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-weight: 700; font-size: 16px; line-height: 1.2; color: #fff; background: var(--pg-red); border: 0; border-radius: 999px; padding: 13px 26px; text-decoration: none; cursor: pointer; }
.pg .pg-btn:hover { background: var(--pg-red-dark); color: #fff; }
.pg .pg-btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7); }
.pg .pg-btn--ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.pg .pg-btn--navy { background: var(--pg-navy); }
.pg .pg-btn--navy:hover { background: #0a1730; }

/* Sections */
.pg .pg-sec { padding-block: 56px; }
.pg .pg-sec--white { background: var(--pg-paper); }
.pg .pg-sec + .pg-sec { border-top: 1px solid var(--pg-line); }
.pg .pg-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pg-red); margin: 0 0 8px; }
.pg h2 { font-family: var(--pg-display); font-weight: 600; font-size: clamp(26px, 3.4vw, 34px); line-height: 1.2; margin: 0 0 16px; color: var(--pg-navy); }
.pg h3 { font-family: var(--pg-display); font-weight: 600; font-size: 21px; line-height: 1.3; margin: 0 0 8px; color: var(--pg-navy); }
.pg p { margin: 0 0 16px; }
.pg .pg-sec ul, .pg .pg-sec ol { margin: 0 0 18px; padding-left: 22px; }
.pg .pg-sec li { margin-bottom: 8px; }
.pg .pg-sec li::marker { color: var(--pg-red); }
.pg .pg-note { font-size: 14px; color: var(--pg-muted); }

/* Two-column text + aside */
.pg .pg-split { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: start; }
@media (max-width: 880px) { .pg .pg-split { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* Key facts box */
.pg .pg-facts { background: var(--pg-paper); border: 1px solid var(--pg-line); border-radius: 14px; padding: 24px; box-shadow: 0 10px 30px rgba(15, 35, 80, .06); }
.pg .pg-facts h3 { margin-bottom: 14px; }
.pg .pg-facts dl { margin: 0; display: grid; gap: 14px; }
.pg .pg-facts dt { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pg-muted); }
.pg .pg-facts dd { margin: 2px 0 0; font-weight: 600; color: var(--pg-ink); }
.pg .pg-facts .pg-note { margin: 16px 0 0; }

/* Card grid */
.pg .pg-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; margin-top: 8px; }
.pg .pg-card { background: var(--pg-paper); border: 1px solid var(--pg-line); border-radius: 14px; padding: 22px; display: flex; flex-direction: column; min-width: 0; }
.pg .pg-card p { color: var(--pg-muted); font-size: 16px; flex: 1; }
.pg .pg-card .pg-card-link { font-weight: 700; text-decoration: none; }
.pg .pg-card .pg-card-link::after { content: " \2192"; }
.pg .pg-card--live { border-color: var(--pg-navy); box-shadow: 0 10px 30px rgba(15, 35, 80, .08); }
.pg .pg-tag { align-self: flex-start; font-size: 12px; font-weight: 600; border-radius: 999px; padding: 3px 10px; margin-bottom: 10px; background: var(--pg-tint); color: var(--pg-navy); }
.pg .pg-tag--live { background: var(--pg-navy); color: #fff; }

/* Card with its own photo on top (e.g. one per country on the Europe hub) */
.pg .pg-card--photo { padding: 0; overflow: hidden; }
.pg .pg-card-photo { height: 150px; background-size: cover; background-position: center; }
.pg .pg-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; min-width: 0; }

/* Numbered steps */
.pg .pg-steps { list-style: none; padding: 0 !important; counter-reset: pgstep; display: grid; gap: 14px; }
.pg .pg-steps li { counter-increment: pgstep; position: relative; background: var(--pg-paper); border: 1px solid var(--pg-line); border-radius: 12px; padding: 18px 18px 18px 64px; margin: 0; }
.pg .pg-steps li::before { content: counter(pgstep); position: absolute; left: 18px; top: 16px; width: 32px; height: 32px; border-radius: 50%; background: var(--pg-navy); color: #fff; font-weight: 700; display: grid; place-items: center; font-size: 15px; }
.pg .pg-steps strong { display: block; color: var(--pg-navy); margin-bottom: 2px; }

/* Table */
.pg .pg-table-wrap { overflow-x: auto; margin: 0 0 16px; }
.pg table { width: 100%; border-collapse: collapse; background: var(--pg-paper); border: 1px solid var(--pg-line); border-radius: 12px; overflow: hidden; font-size: 16px; }
.pg th, .pg td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--pg-line); vertical-align: top; }
.pg th { background: var(--pg-tint); color: var(--pg-navy); font-weight: 600; }
.pg tr:last-child td { border-bottom: 0; }

/* FAQ */
.pg .pg-faq { display: grid; gap: 10px; }
.pg .pg-faq details { background: var(--pg-paper); border: 1px solid var(--pg-line); border-radius: 12px; padding: 0 18px; }
.pg .pg-faq summary { cursor: pointer; font-weight: 600; color: var(--pg-navy); padding: 16px 28px 16px 0; list-style: none; position: relative; }
.pg .pg-faq summary::-webkit-details-marker { display: none; }
.pg .pg-faq summary::after { content: "+"; position: absolute; right: 0; top: 12px; font-size: 22px; color: var(--pg-red); }
.pg .pg-faq details[open] summary::after { content: "\2212"; }
.pg .pg-faq details p { margin: 0 0 16px; }

/* Call to action band */
.pg .pg-cta { background: var(--pg-tint); }
.pg .pg-cta .pg-wrap { padding-block: 52px; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 24px; align-items: center; }
@media (max-width: 760px) { .pg .pg-cta .pg-wrap { grid-template-columns: minmax(0, 1fr); } }
.pg .pg-cta h2 { margin-bottom: 8px; }
.pg .pg-cta p { margin: 0; color: var(--pg-muted); }
.pg .pg-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.pg .pg-btn--wa { background: #1f7a4d; }
.pg .pg-btn--wa:hover { background: #17603c; }

/* Sources line */
.pg .pg-sources { font-size: 14px; color: var(--pg-muted); }
.pg .pg-sources ul { padding-left: 18px; }
.pg .pg-sources li { margin-bottom: 4px; }

/* About page photo */
.pg .pg-photo { border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px rgba(15, 35, 80, .15); }
.pg .pg-sign { font-family: var(--pg-display); font-weight: 600; color: var(--pg-navy); }

/* Trust strip */
.pg .pg-trust { display: flex; flex-wrap: wrap; gap: 10px 28px; font-weight: 600; font-size: 15px; margin-top: 8px; }

/* Source markers: small and quiet so they don't pull visitors off the page.
   Outbound source links open in a new tab; the full list sits folded at the bottom. */
.pg .pg-src { font-size: 11px; line-height: 0; margin-left: 2px; vertical-align: super; }
.pg .pg-src a { color: var(--pg-muted); text-decoration: none; font-weight: 400; }
.pg .pg-src a:hover { color: var(--pg-navy); text-decoration: underline; }
.pg .pg-sources { padding-block: 18px 26px; font-size: 13px; color: var(--pg-muted); }
.pg .pg-sources details { margin-bottom: 8px; }
.pg .pg-sources summary { cursor: pointer; color: var(--pg-muted); font-size: 13px; }
.pg .pg-sources ul { margin: 8px 0 0; padding-left: 18px; }
.pg .pg-sources li { margin-bottom: 2px; }
.pg .pg-sources a { color: var(--pg-muted); }
.pg .pg-sources p { margin: 0; font-size: 12px; }

/* Blog article */
.pg .pg-meta { margin: 16px 0 0; font-size: 14px; color: #b9c3dc; }
.pg .pg-article h2 { margin-top: 36px; }
.pg .pg-article h2:first-child { margin-top: 0; }
.pg .pg-article h3 { margin-top: 26px; }
.pg .pg-article ul, .pg .pg-article ol { margin: 0 0 18px; padding-left: 22px; }
.pg .pg-article li { margin-bottom: 8px; }
.pg .pg-article li::marker { color: var(--pg-red); }
.pg .pg-article blockquote { margin: 0 0 18px; padding: 14px 18px; border-left: 4px solid var(--pg-red); background: var(--pg-tint); border-radius: 0 10px 10px 0; }
.pg .pg-article blockquote p { margin: 0; }

/* Careers: one row per role, button on the right (stacks on phones) */
.pg .pg-jobs { display: grid; gap: 14px; }
.pg .pg-job { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.pg .pg-job > div { min-width: 0; flex: 1 1 320px; }
.pg .pg-job h3 { margin-bottom: 4px; }
.pg .pg-job p { margin: 0; flex: none; }
