/* Icon Global Talent – layout and component styles.
   Colours come from the palette in theme.json (Appearance > Editor > Styles). */
:root {
  --igt-blue: var(--wp--preset--color--blue, #1740B0);
  --igt-navy: var(--wp--preset--color--navy, #0A1B3D);
  --igt-action: var(--wp--preset--color--action, #00B8B4);
  --igt-accent: var(--wp--preset--color--accent, #F26A1B);
  --igt-green: var(--wp--preset--color--green, #00CC66);
  --igt-sky: var(--wp--preset--color--sky, #E8EEFF);
  --igt-paper: var(--wp--preset--color--paper, #F6F8FB);
  --igt-panel: var(--wp--preset--color--panel, #12295A);
  --igt-slate: var(--wp--preset--color--slate, #334155);
  --igt-line: var(--wp--preset--color--line, #DDE3EC);
  --igt-on-blue: #E6EEFF;
  --igt-on-navy: #C8D3E3;
  --igt-muted: #4A5568;
  --igt-head: var(--wp--preset--font-family--heading, 'Space Grotesk', sans-serif);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--igt-accent); outline-offset: 2px; }
.screen-reader-text:focus { background: #fff; color: var(--igt-navy); padding: 12px 16px; z-index: 1000; }

/* ---------- sections ---------- */
.igt-section { padding: 88px 24px; }
.igt-section.igt-tight { padding: 36px 24px; }
.igt-section.igt-mid { padding: 72px 24px; }
.igt-wrap { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; display: flex; flex-direction: column; gap: 40px; }
.igt-wrap > * { margin-block: 0; }
.igt-bg-white { background: #fff; }
.igt-bg-blue { background: var(--igt-blue); }
.igt-bg-navy { background: var(--igt-navy); }
.igt-bg-sky { background: var(--igt-sky); }
.igt-bg-paper { background: var(--igt-paper); }
.igt-bg-action { background: var(--igt-action); }
.igt-border-bottom { border-bottom: 1px solid var(--igt-line); }

.igt-head { display: flex; flex-direction: column; gap: 14px; max-width: 860px; }
.igt-head > * { margin: 0; }
.igt-eyebrow { font-size: 0.875rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--igt-blue); margin: 0; }
.igt-lead { font-size: 1.1875rem; line-height: 1.55; color: var(--igt-slate); margin: 0; }
.igt-text { font-size: 1.125rem; line-height: 1.6; color: var(--igt-slate); margin: 0; max-width: 900px; }
.igt-source { font-size: 0.875rem; color: var(--igt-muted); margin: 0; }
.igt-subhead { font-family: var(--igt-head); font-size: 1.375rem; font-weight: 700; margin: 0; }

/* dark sections */
.igt-dark h1, .igt-dark h2, .igt-dark h3, .igt-dark .igt-subhead { color: #fff; }
.igt-bg-navy .igt-eyebrow { color: var(--igt-accent); }
.igt-bg-navy .igt-lead, .igt-bg-navy .igt-text { color: var(--igt-on-navy); }
.igt-bg-blue .igt-eyebrow { color: #fff; display: flex; align-items: center; gap: 10px; }
.igt-bg-blue .igt-eyebrow::before { content: ""; width: 28px; height: 4px; border-radius: 2px; background: var(--igt-accent); flex: none; }
.igt-bg-blue .igt-lead { color: var(--igt-on-blue); font-size: 1.25rem; }
.igt-bg-blue .igt-small { color: var(--igt-on-blue); font-size: 0.9375rem; margin: 0; }

/* ---------- hero ---------- */
.igt-hero-grid { max-width: 1200px; margin: 0 auto !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; align-items: center; }
.igt-hero-copy { display: flex; flex-direction: column; gap: 24px; }
.igt-hero-copy > * { margin: 0; }
.igt-hero-copy h1 { font-size: var(--wp--preset--font-size--huge); line-height: 1.04; }
.igt-page-hero .igt-wrap { gap: 20px; }
.igt-page-hero .igt-wrap > * { max-width: 860px; }
.igt-page-hero h1 { line-height: 1.06; }
.igt-hero-card { background: #fff; border-radius: 18px; padding: 28px; border-top: 8px solid var(--igt-accent); display: flex; flex-direction: column; gap: 16px; }
.igt-hero-card > * { margin: 0; }
.igt-hero-card .igt-card-label { font-size: 0.8125rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--igt-muted); }
.igt-team-row { position: relative; padding: 14px 14px 14px 72px; border-radius: 12px; background: var(--igt-sky); font-size: 0.875rem; line-height: 1.45; color: var(--igt-slate); min-height: 44px; }
.igt-team-row strong { display: block; font-size: 1rem; color: var(--igt-navy); }
.igt-team-row::before { content: ""; position: absolute; left: 14px; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background: var(--igt-blue); }
.igt-team-row.igt-team-lead { background: var(--igt-paper); }
.igt-team-row.igt-team-lead::before { background: var(--igt-navy); }
.igt-check { position: relative; padding-left: 20px; font-size: 0.875rem; font-weight: 600; color: var(--igt-navy); }
.igt-check::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 10px; height: 10px; border-radius: 50%; background: var(--igt-green); }

/* ---------- buttons ---------- */
.wp-block-buttons { gap: 14px; }
.wp-block-button__link { display: inline-flex; align-items: center; min-height: 52px; box-sizing: border-box; text-decoration: none; transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.igt-btn-ghost .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; font-weight: 600; }
.igt-btn-ghost .wp-block-button__link:hover { background: #fff; color: var(--igt-navy); }
.igt-btn-navy .wp-block-button__link { background: var(--igt-navy); color: #fff; }
.igt-btn-navy .wp-block-button__link:hover { background: #fff; color: var(--igt-navy); }
.igt-bg-blue .wp-block-button:not(.igt-btn-ghost) .wp-block-button__link:hover { background: #fff; color: var(--igt-navy); }

/* ---------- grids and cards ---------- */
.igt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.igt-grid > * { margin: 0 !important; }
.igt-grid-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.igt-grid-3 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.igt-grid-4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.igt-card { background: #fff; border: 1px solid var(--igt-line); border-radius: 14px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.igt-card > * { margin: 0; }
.igt-card p { font-size: 1rem; line-height: 1.5; color: var(--igt-slate); }
.igt-card h3 { font-size: 1.3125rem; }
.igt-card-plain { border: 0; }
.igt-card-sky { background: var(--igt-sky); border: 0; }
.igt-card-paper { background: var(--igt-paper); border: 0; }
.igt-card-panel { background: var(--igt-panel); border: 0; }
.igt-card-panel h3, .igt-card-blue h3 { color: #fff; }
.igt-card-panel p { color: var(--igt-on-navy); }
.igt-card-blue { background: var(--igt-blue); border: 0; }
.igt-card-blue p { color: var(--igt-on-blue); }
.igt-card-navy { background: var(--igt-navy); border: 0; padding: 32px; }
.igt-card-navy h3 { color: #fff; font-size: 1.5rem; }
.igt-card-navy p { color: var(--igt-on-navy); font-size: 1.125rem; line-height: 1.55; }
.igt-card-list { padding: 30px; gap: 16px; }
.igt-card-list h3 { font-size: 1.4375rem; }
.igt-title-blue h3 { color: var(--igt-blue); }
.igt-card-panel.igt-title-accent h3 { color: var(--igt-accent); }
.igt-card p.igt-kicker, .igt-kicker { font-size: 0.875rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--igt-blue); }
.igt-card-panel p.igt-kicker { color: var(--igt-accent); }
.igt-card-blue p.igt-kicker { color: #fff; }
.igt-card p.igt-pill { align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: var(--igt-sky); font-size: 0.875rem; font-weight: 700; color: var(--igt-blue); }
.igt-card p.igt-label { font-size: 0.875rem; color: var(--igt-muted); }
.igt-card p.igt-strong { font-weight: 600; color: var(--igt-navy); }
.igt-card p.igt-bignum { font-family: var(--igt-head); font-size: 2.875rem; font-weight: 700; line-height: 1.1; color: var(--igt-blue); }
.igt-card-panel p.igt-step { font-family: var(--igt-head); font-size: 2.125rem; font-weight: 700; line-height: 1.1; color: var(--igt-accent); }
.igt-note { background: var(--igt-paper); border-radius: 14px; padding: 24px; font-size: 1.0625rem; line-height: 1.55; color: var(--igt-slate); margin: 0; }
.igt-note strong { color: var(--igt-navy); }

/* stats strip */
.igt-stats { max-width: 1200px; margin: 0 auto !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
.igt-stat { display: flex; flex-direction: column; gap: 4px; }
.igt-stat > * { margin: 0; }
.igt-stat .igt-num { font-family: var(--igt-head); font-size: 2.375rem; font-weight: 700; line-height: 1.15; color: var(--igt-blue); }
.igt-stat p:not(.igt-num) { font-size: 0.9375rem; line-height: 1.45; color: var(--igt-slate); }

/* chips */
.igt-chips { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.igt-chips > * { margin: 0 !important; }
.igt-chip { padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--igt-line); font-size: 0.9375rem; font-weight: 600; color: var(--igt-navy); }
.igt-chips-sky .igt-chip { background: var(--igt-sky); border-color: transparent; }
.igt-strip { max-width: 1200px; margin: 0 auto !important; display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; }
.igt-strip > * { margin: 0 !important; }
.igt-strip-label { font-size: 0.875rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--igt-navy); }
.igt-strip-note { font-size: 0.8125rem; color: var(--igt-muted); }

/* lists with coloured markers */
ul.igt-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 1rem; line-height: 1.5; color: var(--igt-slate); }
ul.igt-list li { position: relative; padding-left: 22px; }
ul.igt-list li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 10px; height: 10px; border-radius: 50%; background: var(--igt-green); }
ul.igt-list.igt-dot-accent li::before { background: var(--igt-accent); }
ul.igt-list.igt-dot-blue li::before { background: var(--igt-blue); }
ul.igt-list.igt-list-lg { font-size: 1.0625rem; }
.igt-dark ul.igt-list { color: #fff; }
ul.igt-list.igt-list-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px 32px; }

/* closing banner */
.igt-cta-inner { max-width: 1200px; margin: 0 auto !important; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.igt-cta-copy { display: flex; flex-direction: column; gap: 12px; max-width: 720px; }
.igt-cta-copy > * { margin: 0; }
.igt-cta-copy h2 { font-size: 2.375rem; }
.igt-cta-copy p { font-size: 1.1875rem; line-height: 1.5; color: var(--igt-navy); }

/* table */
.wp-block-table.igt-table { margin: 0; overflow-x: auto; background: #fff; border-radius: 14px; border: 1px solid var(--igt-line); }
.igt-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.igt-table th, .igt-table td { padding: 16px 18px; text-align: left; vertical-align: top; border: 0; border-top: 1px solid var(--igt-line); font-size: 1rem; line-height: 1.45; color: var(--igt-slate); }
.igt-table thead th { border-top: 0; font-size: 0.9375rem; font-weight: 700; background: var(--igt-paper); color: var(--igt-navy); }
.igt-table thead th:nth-child(2) { background: var(--igt-blue); color: #fff; }
.igt-table tbody td:first-child { font-weight: 700; color: var(--igt-navy); }
.igt-table tbody td:nth-child(2) { background: var(--igt-sky); font-weight: 600; color: var(--igt-navy); }

/* FAQ */
.igt-faq { display: flex; flex-direction: column; gap: 14px; max-width: 920px; }
.igt-faq > * { margin: 0 !important; }
.igt-faq-item { border: 1px solid var(--igt-line); border-radius: 14px; padding: 24px 26px; display: flex; flex-direction: column; gap: 8px; }
.igt-faq-item > * { margin: 0; }
.igt-faq-item h3 { font-size: 1.25rem; }
.igt-faq-item p { font-size: 1rem; line-height: 1.6; color: var(--igt-slate); }

/* two-column blocks */
.igt-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 48px; align-items: start; }
.igt-split > * { margin: 0 !important; }
.igt-stack { display: flex; flex-direction: column; gap: 18px; }
.igt-stack > * { margin: 0; }
.igt-avatar { width: 72px; height: 72px; border-radius: 50%; background: var(--igt-sky); }

/* ---------- header ---------- */
.igt-header { background: #fff; border-bottom: 1px solid var(--igt-line); padding: 14px 24px; position: sticky; top: 0; z-index: 50; }
.admin-bar .igt-header { top: 32px; }
.igt-header-inner { max-width: 1200px; margin: 0 auto !important; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.igt-header-inner > * { margin: 0 !important; }
.igt-header-right { display: flex; align-items: center; gap: 20px; }
.igt-header-right > * { margin: 0 !important; }
.igt-header .wp-block-site-logo img { display: block; height: auto; }
.igt-header .wp-block-navigation { gap: 18px; }
.igt-header .wp-block-navigation .wp-block-navigation-item__content { padding: 8px 0; }
.igt-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content, .igt-header .wp-block-navigation-item__content:hover { color: var(--igt-blue); text-decoration: none; }
.igt-header .wp-block-button__link { min-height: 44px; padding: 0 18px; font-size: 0.9375rem; white-space: nowrap; }
@media (max-width: 1180px) { .igt-header .wp-block-navigation { gap: 14px; } .igt-header .wp-block-navigation-item { font-size: 0.875rem; } }
@media (max-width: 480px) { .igt-header .igt-header-cta { display: none !important; } }

/* ---------- footer ---------- */
.igt-footer { background: var(--igt-navy); padding: 56px 24px 28px; color: var(--igt-on-navy); font-size: 0.9375rem; line-height: 1.6; }
.igt-footer a { color: var(--igt-on-navy); }
.igt-footer a:hover { color: #fff; }
.igt-footer-inner { max-width: 1200px; margin: 0 auto !important; display: flex; flex-direction: column; gap: 32px; }
.igt-footer-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
.igt-footer-cols > * { margin: 0 !important; }
.igt-footer-col { display: flex; flex-direction: column; gap: 6px; }
.igt-footer-col > * { margin: 0; }
.igt-footer-col strong, .igt-footer .igt-footer-brand { color: #fff; }
.igt-footer .igt-footer-brand { font-family: var(--igt-head); font-size: 1.25rem; font-weight: 700; }
.igt-footer-base { border-top: 1px solid var(--igt-panel); padding-top: 20px; display: flex; gap: 8px 24px; flex-wrap: wrap; font-size: 0.875rem; }
.igt-footer-base > * { margin: 0 !important; }

/* ---------- form ---------- */
.igt-form { background: #fff; border: 1px solid var(--igt-line); border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.igt-form h2 { font-size: 1.5rem; margin: 0; }
.igt-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.igt-field { display: flex; flex-direction: column; gap: 6px; }
.igt-field label { font-size: 0.875rem; font-weight: 600; color: var(--igt-navy); }
.igt-field input, .igt-field select, .igt-field textarea { min-height: 50px; padding: 0 14px; border-radius: 10px; border: 1px solid #94A3B8; font: inherit; font-size: 1rem; color: var(--igt-navy); background: #fff; box-sizing: border-box; width: 100%; }
.igt-field textarea { padding: 12px 14px; min-height: 120px; }
.igt-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 0.875rem; line-height: 1.5; color: var(--igt-slate); }
.igt-consent input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.igt-form button[type=submit] { align-self: flex-start; min-height: 52px; padding: 0 30px; border: 0; border-radius: 10px; background: var(--igt-action); color: var(--igt-navy); font: inherit; font-size: 1.0625rem; font-weight: 700; cursor: pointer; }
.igt-form button[type=submit]:hover { background: var(--igt-navy); color: #fff; }
.igt-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.igt-form-msg { border-radius: 12px; padding: 16px 18px; font-weight: 600; }
.igt-form-msg.ok { background: #E3F9EE; color: #0B4A2B; }
.igt-form-msg.err { background: #FDECE2; color: #7A2E05; }

/* ---------- posts ---------- */
.igt-prose { max-width: 760px; margin: 0 auto !important; padding: 64px 24px; font-size: 1.125rem; line-height: 1.7; color: var(--igt-slate); }
.igt-prose > * { margin-block: 0 1.2em; }
.igt-prose h2 { margin-top: 1.6em; font-size: 1.875rem; }
.igt-prose h3 { margin-top: 1.4em; }
.igt-post-list { max-width: 1200px; margin: 0 auto !important; }
.igt-post-list .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.igt-post-list .wp-block-post { border: 1px solid var(--igt-line); border-radius: 14px; padding: 24px; margin: 0; }
.igt-post-list .wp-block-post-title { font-size: 1.25rem; margin: 0 0 10px; }
.igt-post-list .wp-block-post-title a { color: var(--igt-navy); text-decoration: none; }

/* ---------- scroll-in animation ---------- */
.igt-anim .igt-will-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.igt-anim .igt-will-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .igt-anim .igt-will-reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }
.editor-styles-wrapper .igt-will-reveal { opacity: 1 !important; transform: none !important; }

@media (max-width: 700px) {
  .igt-section { padding: 56px 20px; }
  .igt-section.igt-mid { padding: 48px 20px; }
  .igt-wrap { gap: 28px; }
  .igt-hero-grid { gap: 36px; }
  .igt-cta-copy h2 { font-size: 1.875rem; }
}

/* collapse the menu into the mobile overlay below 1100px */
@media (max-width: 1100px) {
  .igt-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .igt-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
.igt-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
.igt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: 10px 0; }
