/* ==========================================================================
   The International Gringo — design styles
   Content lives in blocks; this file reproduces the original Claude Design
   layout for the theme's classes. Also loaded in the editor (add_editor_style).
   ========================================================================== */

:root {
	--ig-navy: #13203A;
	--ig-deep: #0F1A30;
	--ig-paper: #FBF8F2;
	--ig-sand: #F5F0E6;
	--ig-linen: #E8DDCB;
	--ig-red: #A8322D;
	--ig-gold: #B8976A;
	--ig-slate: #5B6375;
	--ig-ink: #2B3448;
	--ig-ink-2: #3D465A;
	--ig-mist: #8D96AA;
	--ig-serif: 'Newsreader', Georgia, serif;
	--ig-sans: 'Archivo', system-ui, sans-serif;
	--ig-gutter: clamp(20px, 5vw, 64px);
	--ig-section: clamp(80px, 10vw, 140px);
	--ig-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--ig-gold); color: var(--ig-navy); }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.ig-s, .ig-band, .ig-header, .ig-footer, .ig-notfound, .ig-more, .ig-article) [id] { scroll-margin-top: 80px; }
.ig-s[id] { scroll-margin-top: 72px; }

/* Neutralise default block spacing inside designed areas; spacing comes from gaps below. */
:is(.ig-home, .ig-s, .ig-header, .ig-footer, .ig-band, .ig-notfound, .ig-more) .is-layout-flow > *,
.ig-home .is-layout-flow > *,
:is(.ig-s, .ig-header, .ig-footer, .ig-band) :is(p, h1, h2, h3, h4, figure, blockquote) { margin-block: 0; }
:is(.ig-s, .ig-header, .ig-footer) .wp-block-buttons { gap: 12px; }

@keyframes igZoom { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes igSpin { to { transform: rotate(360deg); } }
@keyframes igPulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.6); opacity: 0; } }
@keyframes igMarquee { to { transform: translateX(-50%); } }
@keyframes igBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes igFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes igLoaderOut { to { opacity: 0; visibility: hidden; } }

/* ---------- Layout primitives ---------- */
.ig-wrap { max-width: 1320px; margin-inline: auto; padding-inline: var(--ig-gutter); box-sizing: border-box; width: 100%; }
.ig-wrap--narrow { max-width: 1120px; }
.ig-s { padding-block: var(--ig-section); background: var(--ig-paper); color: var(--ig-navy); }
.ig-s.is-style-ig-dark, .is-style-ig-dark { background: var(--ig-navy); color: var(--ig-sand); }
.is-style-ig-sand { background: var(--ig-sand); }

.ig-eyebrow, p.is-style-ig-eyebrow, .ig-eyebrow a {
	font-family: var(--ig-sans);
	font-size: 11px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--ig-red);
	margin-bottom: 18px !important;
	line-height: 1.5;
}
.is-style-ig-dark .ig-eyebrow, .ig-band .ig-eyebrow, .ig-band .ig-eyebrow a { color: var(--ig-gold); }

.ig-title {
	font-family: var(--ig-serif);
	font-weight: 300;
	font-size: clamp(38px, 5.4vw, 76px);
	line-height: 1;
	letter-spacing: -.02em;
	color: inherit;
}
.ig-title--xl { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.025em; }
.ig-title em { font-style: italic; color: #8A6E48; }
.ig-title sup, .ig-footer__brand sup { font-size: .3em; font-family: var(--ig-sans); vertical-align: top; position: relative; top: .4em; }

.ig-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 64px !important; }
.ig-head--grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 32px 64px; margin-bottom: 72px !important; }
.ig-head--center { display: block; text-align: center; max-width: 820px; margin: 0 auto 64px !important; }
.ig-head__aside { font-size: 14px; line-height: 1.6; color: var(--ig-slate); max-width: 340px; }
.ig-head__aside--lg { font-size: 16px; line-height: 1.7; color: var(--ig-ink-2); max-width: 520px; text-wrap: pretty; }
.is-style-ig-dark .ig-head__aside { font-size: 15px; line-height: 1.65; color: #C9CDD6; max-width: 360px; }
.ig-note { font-size: 12px; color: var(--ig-slate); margin-top: 20px !important; }
.ig-caption { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ig-slate); }

/* Image frames (aspect-ratio boxes; the image fills them) */
.ig-frame { position: relative; aspect-ratio: 4 / 5; background: var(--ig-linen); width: 100%; }
.ig-frame--dark { background: #1B2B4A; }
.ig-frame--square { aspect-ratio: 1 / 1; background: #EAE1D1; }
.ig-frame > .wp-block-image, .ig-frame__img { position: absolute !important; inset: 0; margin: 0 !important; }
.ig-frame__img img, .ig-hero__bg img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ig-frame--corners::before, .ig-frame--corners::after { content: ""; position: absolute; width: 44px; height: 44px; pointer-events: none; z-index: 1; }
.ig-frame--corners::before { left: -1px; top: -1px; border-left: 1px solid var(--ig-navy); border-top: 1px solid var(--ig-navy); }
.ig-frame--corners::after { right: -1px; bottom: -1px; border-right: 1px solid var(--ig-navy); border-bottom: 1px solid var(--ig-navy); }

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { transition: background .3s, color .3s, border-color .3s; }
.wp-block-button.is-style-ig-light .wp-block-button__link { background: var(--ig-sand); color: var(--ig-navy); padding: 18px 26px; font-size: 11.5px; }
.wp-block-button.is-style-ig-light .wp-block-button__link:hover { background: var(--ig-gold); color: var(--ig-navy); }
.wp-block-button.is-style-ig-ghost .wp-block-button__link { background: transparent; border: 1px solid rgba(245, 240, 230, .6); color: var(--ig-sand); padding: 17px 26px; font-size: 11.5px; }
.wp-block-button.is-style-ig-ghost .wp-block-button__link:hover { background: rgba(245, 240, 230, .12); border-color: var(--ig-sand); color: var(--ig-sand); }
.wp-block-button.is-style-ig-outline .wp-block-button__link { background: transparent; border: 1px solid var(--ig-navy); color: var(--ig-navy); padding: 12px 18px; font-size: 10.5px; cursor: pointer; }
.wp-block-button.is-style-ig-outline .wp-block-button__link:hover { background: var(--ig-navy); color: var(--ig-sand); }

.ig-btn { font-family: var(--ig-sans); border: none; cursor: pointer; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; padding: 12px 18px; transition: background .3s, color .3s; border-radius: 0; }
.ig-btn--navy { background: var(--ig-navy); color: var(--ig-sand); }
.ig-btn--navy:hover { background: var(--ig-red); }
.ig-btn--line { background: none; color: var(--ig-navy); border: 1px solid rgba(19, 32, 58, .3); }
.ig-btn--ghost { background: none; color: var(--ig-sand); border: 1px solid rgba(245, 240, 230, .4); align-self: flex-start; }
.ig-btn--sand { background: var(--ig-sand); color: var(--ig-navy); }
.ig-btn--sand:hover { background: var(--ig-gold); }
.ig-btn--lg { padding: 18px 26px; font-size: 11px; letter-spacing: .22em; }
.ig-btn--xl { padding: 20px 30px; font-size: 12px; letter-spacing: .22em; font-weight: 700; align-self: flex-start; }

/* ==========================================================================
   Header
   ========================================================================== */
.ig-site-header { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--ig-util-h, 35px)); z-index: 50; }
.ig-utility { background: var(--ig-navy); color: var(--ig-linen); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; }
.ig-utility__row { padding-block: 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
.ig-utility__status::before { content: ""; display: inline-block; vertical-align: middle; width: 6px; height: 6px; border-radius: 50%; background: var(--ig-gold); margin: -2px 10px 0 0; }
.ig-utility__status strong { color: var(--ig-sand); font-weight: inherit; }
.ig-utility__links { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ig-utility__links a { color: var(--ig-mist); text-decoration: none; padding: 2px 0; border-bottom: 1px solid transparent; }
.ig-utility__links a:hover, .ig-utility__links a.is-active { color: var(--ig-sand); }
.ig-utility__links a.is-active { border-bottom-color: var(--ig-gold); }
.ig-utility__links a[href="#jurisdiction-not-found"] { color: var(--ig-linen); border-left: 1px solid rgba(232, 221, 203, .3); padding-left: 18px; border-bottom: 0; }

.ig-nav { background: rgba(251, 248, 242, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(19, 32, 58, .12); }
.ig-nav__row { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ig-brand { display: flex; align-items: center; gap: 12px; }
.ig-brand__mark { display: flex; }
.ig-brand__text { display: flex; flex-direction: column; line-height: 1; }
.ig-brand__name, .ig-brand__name a { font-family: var(--ig-serif); font-size: 19px; font-weight: 500; letter-spacing: .01em; color: var(--ig-navy); text-decoration: none; line-height: 1; white-space: nowrap; }
.ig-brand__name sup { font-size: 9px; font-family: var(--ig-sans); margin-left: 2px; }
.ig-brand__tag { font-size: 9.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--ig-slate); margin-top: 5px !important; line-height: 1; }
.ig-nav__right { display: flex; align-items: center; gap: 30px; }
.ig-nav__links.wp-block-navigation { gap: 30px; }
.ig-nav__links .wp-block-navigation-item__content { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: var(--ig-navy); white-space: nowrap; }
.ig-nav__links .wp-block-navigation-item__content:hover { color: var(--ig-red); }
.ig-kit, .ig-kit a { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ig-slate); white-space: nowrap; }
.ig-cta .wp-block-button__link { padding: 13px 20px; font-size: 11px; white-space: nowrap; }
.ig-menu-toggle { display: none; background: none; border: 1px solid rgba(19, 32, 58, .25); height: 44px; padding: 0 16px; align-items: center; gap: 10px; cursor: pointer; font: 500 11px/1 var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ig-navy); }
.ig-menu-toggle__bars { display: flex; flex-direction: column; gap: 4px; }
.ig-menu-toggle__bars span { width: 16px; height: 1.5px; background: var(--ig-navy); }

@media (max-width: 1199px) {
	.ig-nav__links, .ig-kit, .ig-nav__cta { display: none !important; }
	.ig-menu-toggle { display: flex; }
}
@media (max-width: 600px) {
	.ig-utility { font-size: 10px; }
	.ig-utility__row { padding-block: 8px; }
	.ig-utility__links { gap: 6px 14px; }
	.ig-utility__links a[href="#jurisdiction-not-found"] { padding-left: 14px; }
	.ig-nav__row { gap: 12px; }
	.ig-brand { gap: 10px; min-width: 0; }
	.ig-brand__name, .ig-brand__name a { font-size: 17px; white-space: normal; }
	.ig-brand__tag { font-size: 8.5px; letter-spacing: .2em; }
	.ig-menu-toggle { padding: 0 12px; flex: none; }
}

/* Mobile menu */
.ig-menu { position: fixed; inset: 0; z-index: 120; background: var(--ig-navy); color: var(--ig-sand); display: flex; flex-direction: column; padding: 24px var(--ig-gutter); box-sizing: border-box; animation: igFadeUp .35s ease both; overflow-y: auto; }
.ig-menu[hidden] { display: none; }
.ig-menu__top { display: flex; justify-content: space-between; align-items: center; min-height: 48px; }
.ig-menu__brand { font-family: var(--ig-serif); font-size: 19px; }
.ig-menu__close { background: none; border: 1px solid rgba(245, 240, 230, .3); color: var(--ig-sand); height: 44px; padding: 0 16px; font: 11px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.ig-menu__links { display: flex; flex-direction: column; gap: 6px; margin-top: 48px; }
.ig-menu__links a { font-family: var(--ig-serif); font-size: 40px; font-weight: 300; color: var(--ig-sand); padding: 8px 0; border-bottom: 1px solid rgba(245, 240, 230, .12); text-decoration: none; }
.ig-menu__links a.ig-menu__small { font: 600 12px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ig-gold); padding: 16px 0; }
.ig-menu__foot { margin-top: auto; padding-top: 32px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-gold); }
body.ig-locked { overflow: hidden; }

/* ==========================================================================
   Hero
   ========================================================================== */
.ig-hero { position: relative; min-height: clamp(640px, 90vh, 940px); background: var(--ig-navy); color: var(--ig-sand); overflow: hidden; display: flex; flex-direction: column; }
.ig-hero__bg { position: absolute !important; inset: 0; margin: 0 !important; animation: igZoom 28s cubic-bezier(.2, .6, .2, 1) both; }
.ig-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(19, 32, 58, .55) 0%, rgba(19, 32, 58, .2) 38%, rgba(19, 32, 58, .88) 100%); }
.ig-hero__content { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 140px; padding-bottom: 56px; pointer-events: none; }
.ig-hero__content > * { pointer-events: auto; }
.ig-hero__eyebrow { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--ig-linen); display: flex; align-items: center; gap: 14px; margin-bottom: 28px !important; }
.ig-hero__eyebrow::before { content: ""; width: 36px; height: 1px; background: var(--ig-gold); flex: none; }
h1.ig-hero__title { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(52px, 9.4vw, 148px); line-height: .92; letter-spacing: -.025em; max-width: 12ch; text-wrap: balance; color: var(--ig-sand); }
.ig-hero__title sup { font-size: .22em; vertical-align: top; position: relative; top: .35em; font-family: var(--ig-sans); font-weight: 400; letter-spacing: 0; }
.ig-hero__tagline { font-family: var(--ig-serif); font-style: italic; font-size: clamp(24px, 3vw, 38px); font-weight: 300; margin-top: 18px !important; color: var(--ig-linen); line-height: 1.3; }
.ig-hero__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 36px !important; }
.ig-hero__intro { font-size: clamp(15px, 1.3vw, 17px); line-height: 1.65; max-width: 520px; color: rgba(245, 240, 230, .92); text-wrap: pretty; }
.ig-hero__foot { position: relative; z-index: 2; border-top: 1px solid rgba(245, 240, 230, .18); }
.ig-hero__foot-row { padding-block: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-linen); line-height: 1.5; }
.ig-seal { position: absolute; right: var(--ig-gutter); top: 56px; width: 170px; height: 170px; z-index: 2; pointer-events: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--ig-sand); }
.ig-seal .wp-block-html, .ig-seal > svg, .ig-seal__ring { position: absolute; inset: 0; width: 170px; height: 170px; }
.ig-seal__ring { animation: igSpin 70s linear infinite; }
.ig-seal__ring text { font-family: var(--ig-sans); font-size: 11.5px; letter-spacing: 3.4px; fill: var(--ig-sand); text-transform: uppercase; }
.ig-seal__ig { font-family: var(--ig-serif); font-style: italic; font-size: 34px; line-height: 1; position: relative; }
.ig-seal__est { font-size: 8.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--ig-linen); position: relative; }
@media (max-width: 1199px) { .ig-seal { display: none; } }
@media (max-width: 767px) { .ig-hero__bg img { object-position: 70% center; } }

/* ==========================================================================
   Statistics
   ========================================================================== */
.ig-stats .ig-title { max-width: 14ch; }
.ig-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); border-top: 1px solid rgba(19, 32, 58, .18); }
.ig-stat { padding: 36px 28px 8px 0; border-bottom: 1px solid rgba(19, 32, 58, .1); display: flex; flex-direction: column; gap: 14px; }
.ig-stat__num { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(64px, 7vw, 104px); line-height: .9; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--ig-navy); }
.ig-stat__label { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; line-height: 1.55; max-width: 18ch; padding-bottom: 28px; }

/* ==========================================================================
   Expertise
   ========================================================================== */
.ig-s.ig-expertise { background: var(--ig-sand); }
.ig-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 1px; background: rgba(19, 32, 58, .14); border: 1px solid rgba(19, 32, 58, .14); }
.ig-card { background: var(--ig-paper); padding: 36px 30px 30px; min-height: 340px; display: flex; flex-direction: column; gap: 18px; transition: background .4s; box-sizing: border-box; }
.ig-card:hover { background: #fff; }
.ig-card__top { display: flex; justify-content: space-between; align-items: center; }
.ig-card__num { font-family: var(--ig-serif); font-style: italic; font-size: 22px; color: var(--ig-gold); }
.ig-card__tag { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); }
h3.ig-card__title { font-family: var(--ig-sans); font-stretch: 112%; font-weight: 600; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; line-height: 1.35; margin-top: 28px !important; color: var(--ig-navy); }
.ig-card__desc { font-family: var(--ig-serif); font-size: 19px; line-height: 1.45; color: var(--ig-ink); text-wrap: pretty; }
.ig-card__foot { margin-top: auto !important; padding-top: 18px; border-top: 1px solid rgba(19, 32, 58, .1); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); }

/* ==========================================================================
   About
   ========================================================================== */
.ig-about__row { display: flex; flex-wrap: wrap; gap: clamp(40px, 6vw, 96px); align-items: flex-start; }
.ig-about__media { flex: 1 1 360px; max-width: 520px; display: flex; flex-direction: column; gap: 14px; }
.ig-caption-row { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ig-slate); }
.ig-about__text { flex: 1 1 440px; min-width: 0; }
.ig-about__role { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; margin: 22px 0 40px !important; font-weight: 500; }
.ig-about__bio { display: flex; flex-direction: column; gap: 22px; font-family: var(--ig-serif); font-size: clamp(18px, 1.6vw, 21px); line-height: 1.6; color: var(--ig-ink); max-width: 600px; }
.ig-about__bio p { text-wrap: pretty; }
.ig-about__lead { font-size: clamp(22px, 2.1vw, 27px) !important; line-height: 1.4; color: var(--ig-navy); }
.ig-creds { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 40px; margin-top: 52px !important; border-top: 1px solid var(--ig-navy); max-width: 640px; }
.ig-cred { padding: 18px 0; border-bottom: 1px solid rgba(19, 32, 58, .12); }
.ig-cred__k { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-slate); margin-bottom: 6px !important; }
.ig-cred__v { font-size: 15px; line-height: 1.45; }
.ig-signature { font-family: var(--ig-serif); font-style: italic; font-size: 34px; margin-top: 40px !important; transform: rotate(-2deg); transform-origin: left; }

/* ==========================================================================
   Methodology
   ========================================================================== */
.ig-method .ig-head { margin-bottom: 72px !important; }
.ig-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 40px 28px; }
.ig-step { display: flex; flex-direction: column; gap: 18px; }
.ig-step__num { display: flex; align-items: center; gap: 14px; margin-top: 8px !important; font-family: var(--ig-serif); font-size: 44px; font-weight: 300; line-height: 1; color: var(--ig-gold); }
.ig-step__num::after { content: ""; flex: 1; height: 1px; background: rgba(245, 240, 230, .2); }
h3.ig-step__title { font-family: var(--ig-sans); font-size: 15px; font-stretch: 115%; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--ig-sand); line-height: 1.35; }
.ig-step__desc { font-family: var(--ig-serif); font-size: 20px; line-height: 1.45; color: var(--ig-linen); text-wrap: pretty; }

/* ==========================================================================
   Global operations map
   ========================================================================== */
.ig-s.ig-operations { background: var(--ig-deep); color: var(--ig-sand); border-top: 1px solid rgba(245, 240, 230, .08); }
.ig-operations .ig-eyebrow { color: var(--ig-gold); }
.ig-ops__lead { font-family: var(--ig-serif); font-style: italic; font-size: clamp(19px, 1.8vw, 24px); line-height: 1.5; color: var(--ig-linen); margin: 24px auto 0 !important; max-width: 640px; text-wrap: balance; }
.ig-map__layout { display: flex; flex-wrap: wrap; gap: 28px; align-items: stretch; }
.ig-map__main { flex: 3 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ig-map__canvas { position: relative; width: 100%; aspect-ratio: 1000 / 383; background: var(--ig-deep); }
.ig-map__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ig-map__marker { position: absolute; transform: translate(-50%, -50%); width: 28px; height: 28px; padding: 0; border: none; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; --ig-dot: var(--ig-gold); }
.ig-map__marker.is-active { z-index: 3; --ig-dot: #E0574F; }
.ig-map__pulse { position: absolute; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--ig-dot); animation: igPulse 2.6s ease-out infinite; animation-delay: var(--ig-delay, 0s); }
.ig-map__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ig-dot); box-shadow: 0 0 0 3px rgba(15, 26, 48, .9); transition: all .3s; }
.ig-map__marker.is-active .ig-map__dot { width: 12px; height: 12px; }
.ig-map__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-mist); }
.ig-map__panel { flex: 1 1 300px; min-width: 0; background: var(--ig-sand); color: var(--ig-navy); padding: 32px 30px; display: flex; flex-direction: column; gap: 16px; box-sizing: border-box; }
.ig-map__panel-top { display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-red); }
.ig-map__panel-top span + span { color: var(--ig-slate); }
.ig-map__name { font-family: var(--ig-serif); font-size: 44px; font-weight: 300; line-height: 1; letter-spacing: -.02em; margin-top: 12px; }
.ig-map__bureau { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; }
.ig-map__intel { font-family: var(--ig-serif); font-size: 20px; line-height: 1.45; margin: 6px 0 0; color: var(--ig-ink); text-wrap: pretty; }
.ig-map__rows { margin: auto 0 0; border-top: 1px solid rgba(19, 32, 58, .15); }
.ig-map__rows > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(19, 32, 58, .1); font-size: 13px; }
.ig-map__rows dt { color: var(--ig-slate); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; padding-top: 2px; }
.ig-map__rows dd { margin: 0; text-align: right; }
.ig-map__link { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--ig-red) !important; text-decoration: none; }
.ig-map__link[hidden] { display: none; }
.ig-map__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.ig-map__chip { background: transparent; color: var(--ig-linen); border: 1px solid rgba(245, 240, 230, .22); padding: 10px 14px; font: 10.5px var(--ig-sans); letter-spacing: .18em; text-transform: uppercase; cursor: pointer; transition: all .25s; }
.ig-map__chip.is-active { background: var(--ig-sand); color: var(--ig-navy); }

/* ==========================================================================
   Testimonials
   ========================================================================== */
.ig-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 0 64px; border-top: 1px solid var(--ig-navy); }
.ig-s .wp-block-quote.ig-quote { margin: 0; border: 0; border-bottom: 1px solid rgba(19, 32, 58, .14); padding: 44px 0 48px; display: flex; flex-direction: column; gap: 26px; font-family: var(--ig-serif); }
.ig-quote::before { content: "\201C"; font-family: var(--ig-serif); font-size: 72px; line-height: .5; color: var(--ig-gold); height: 28px; display: block; }
.ig-quote p { font-weight: 300; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.22; letter-spacing: -.01em; color: var(--ig-navy); text-wrap: pretty; }
.ig-quote cite { display: flex; align-items: center; gap: 14px; font: normal 11px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); }
.ig-quote cite::before { content: ""; width: 28px; height: 1px; background: var(--ig-red); flex: none; }
.ig-testimonials .ig-note { margin-top: 24px !important; }

/* ==========================================================================
   Press
   ========================================================================== */
.ig-s.ig-press { background: var(--ig-sand); border-block: 1px solid rgba(19, 32, 58, .1); padding-block: 56px; }
.ig-press .ig-wrap { display: flex; flex-direction: column; gap: 32px; align-items: center; }
.ig-press__label { font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var(--ig-slate); text-align: center; }
.ig-press__logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px clamp(32px, 5vw, 72px); color: var(--ig-navy); opacity: .82; }
.ig-press__logo--1 { font-family: var(--ig-serif); font-style: italic; font-size: 30px; letter-spacing: -.01em; }
.ig-press__logo--2 { font-family: var(--ig-sans); font-stretch: 125%; font-weight: 700; font-size: 13px; letter-spacing: .32em; }
.ig-press__logo--3 { font-family: var(--ig-serif); font-weight: 700; font-size: 22px; letter-spacing: .14em; font-variant: small-caps; text-transform: lowercase; }
.ig-press__logo--4 { font-family: var(--ig-serif); font-size: 24px; }
.ig-press__logo--5 { font-family: var(--ig-sans); font-stretch: 62%; font-weight: 800; font-size: 24px; letter-spacing: .02em; line-height: .9; text-align: center; }

/* ==========================================================================
   Announcement
   ========================================================================== */
.ig-s.ig-announcement { padding-bottom: 0; }
.ig-masthead { border-top: 4px solid var(--ig-navy); border-bottom: 1px solid var(--ig-navy); padding: 12px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; }
.ig-masthead strong { background: var(--ig-red); color: var(--ig-paper); padding: 4px 9px; font-weight: 700; margin-right: 10px; }
.ig-masthead__left { display: flex; align-items: center; }
.ig-masthead__right { color: var(--ig-slate); }
h2.ig-news__title { font-family: var(--ig-sans); font-stretch: 88%; font-weight: 700; font-size: clamp(28px, 4.4vw, 58px); line-height: 1.02; letter-spacing: -.01em; text-transform: uppercase; margin-top: 40px !important; max-width: 20ch; text-wrap: balance; color: var(--ig-navy); }
.ig-news__lead { font-family: var(--ig-serif); font-size: clamp(20px, 2vw, 26px); line-height: 1.45; margin-top: 28px !important; max-width: 760px; color: var(--ig-ink); }
.ig-news__lead mark { font-size: 11px; font-family: var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; margin-right: 10px; vertical-align: middle; }
.ig-news__word { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(84px, 19vw, 300px); line-height: .85; letter-spacing: -.045em; color: var(--ig-navy); text-align: center; margin-top: 56px !important; }
.ig-news__row { margin-top: 64px !important; display: flex; flex-wrap: wrap; gap: clamp(40px, 5vw, 72px); align-items: flex-start; }
.ig-news__media { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ig-news__text { flex: 1 1 440px; min-width: 0; }
.ig-news__body { font-family: var(--ig-serif); font-size: clamp(19px, 1.7vw, 22px); line-height: 1.6; color: var(--ig-ink); text-wrap: pretty; }
.ig-deal__head { margin-top: 40px !important; border-top: 1px solid var(--ig-navy); border-bottom: 1px solid var(--ig-navy); font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; padding: 14px 0; font-weight: 600; }
.ig-s .wp-block-table.ig-deal { margin: 0; }
.ig-deal table { width: 100%; border-collapse: collapse; }
.ig-s .ig-deal td { border: 0; border-bottom: 1px solid rgba(19, 32, 58, .12); padding: 14px 0; vertical-align: baseline; }
.ig-deal td:first-child { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); white-space: nowrap; padding-right: 20px; }
.ig-deal td:last-child { font-family: var(--ig-serif); font-size: 19px; text-align: right; color: var(--ig-navy); }
.ig-news__sign { font-family: var(--ig-serif); font-style: italic; font-size: clamp(22px, 2vw, 26px); line-height: 1.4; margin-top: 40px !important; }
.ig-ticker { margin-top: clamp(80px, 9vw, 120px) !important; background: var(--ig-red); color: var(--ig-paper); overflow: hidden; padding: 15px 0; font-size: 11.5px; letter-spacing: .24em; text-transform: uppercase; font-weight: 600; white-space: nowrap; }
.ig-ticker__text { padding-left: 48px; overflow: hidden; text-overflow: clip; }
.ig-ticker__track { display: inline-flex; gap: 48px; padding-left: 48px; animation: igMarquee 50s linear infinite; }
.ig-ticker__track .ig-ticker__sep { opacity: .6; }

/* ==========================================================================
   Field equipment
   ========================================================================== */
.ig-s.ig-equipment { background: var(--ig-sand); }
.ig-equipment .ig-head { margin-bottom: 56px !important; }
.ig-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 48px 24px; }
.ig-product { display: flex; flex-direction: column; gap: 14px; }
.ig-product__cat { position: absolute; top: 12px; left: 12px; z-index: 1; font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; background: var(--ig-paper); padding: 5px 8px; line-height: 1.3; }
.ig-product__row { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-top: 6px !important; }
h3.ig-product__name { font-family: var(--ig-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; line-height: 1.4; color: var(--ig-navy); }
.ig-product__price { font-family: var(--ig-serif); font-size: 18px; flex: none; }
.ig-product__desc { font-family: var(--ig-serif); font-style: italic; font-size: 17px; line-height: 1.45; color: var(--ig-ink-2); text-wrap: pretty; }
.ig-product .wp-block-buttons { margin-top: 4px !important; }

/* ==========================================================================
   Contact + forms
   ========================================================================== */
.ig-contact__row { display: flex; flex-wrap: wrap; gap: clamp(40px, 6vw, 96px); }
.ig-contact__intro { flex: 1 1 380px; min-width: 0; }
.ig-contact__form { flex: 1 1 440px; min-width: 0; }
.ig-title--contact { font-size: clamp(40px, 5.6vw, 84px); line-height: .98; max-width: 11ch; }
.ig-contact__lead { font-size: 16px; line-height: 1.7; color: #C9CDD6; margin-top: 28px !important; max-width: 440px; }
.ig-form { display: flex; flex-direction: column; gap: 28px; }
.ig-form[hidden], .ig-sent[hidden], .ig-subscribe[hidden], .ig-subscribed[hidden] { display: none; }
.ig-field { display: flex; flex-direction: column; gap: 10px; }
.ig-field__label { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-gold); }
.ig-field input, .ig-select select { background: transparent; border: none; border-bottom: 1px solid rgba(245, 240, 230, .35); color: var(--ig-sand); font-family: var(--ig-serif); font-size: 24px; padding: 8px 0 12px; outline: none; border-radius: 0; width: 100%; box-sizing: border-box; }
.ig-field input::placeholder { color: rgba(245, 240, 230, .45); }
.ig-field input:focus, .ig-select select:focus { border-bottom-color: var(--ig-sand); }
.ig-field input:focus-visible, .ig-select select:focus-visible { outline: 1px dashed rgba(245, 240, 230, .4); outline-offset: 4px; }
.ig-select { position: relative; display: block; }
.ig-select select { appearance: none; -webkit-appearance: none; padding-right: 32px; cursor: pointer; }
.ig-select::after { content: "\25BE"; position: absolute; right: 4px; top: 12px; pointer-events: none; color: var(--ig-gold); font-size: 14px; }
.ig-select option { color: var(--ig-navy); }
.ig-form__error { font-size: 13px; color: #E8A49F; min-height: 18px; }
.ig-sent { border: 1px solid rgba(245, 240, 230, .25); padding: 40px 36px; display: flex; flex-direction: column; gap: 20px; animation: igFadeUp .6s ease both; }
.ig-sent__top { display: flex; justify-content: space-between; gap: 12px; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-gold); }
.ig-sent__title { font-family: var(--ig-serif); font-weight: 300; font-size: 40px; line-height: 1.05; }
.ig-sent__body { margin: 0; font-family: var(--ig-serif); font-size: 20px; line-height: 1.5; color: var(--ig-linen); }
.ig-sent__bar { height: 2px; background: rgba(245, 240, 230, .15); position: relative; overflow: hidden; }
.ig-sent__bar span { position: absolute; inset: 0; background: var(--ig-gold); transform-origin: left; animation: igBar 3s ease-out both; }
.ig-sent__eta { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #C9CDD6; }
.ig-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter */
.ig-s.ig-newsletter { background: var(--ig-linen); padding-block: clamp(56px, 7vw, 88px); }
.ig-newsletter__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px; }
.ig-newsletter__name { font-family: var(--ig-sans); font-stretch: 120%; font-weight: 700; font-size: 14px; letter-spacing: .3em; text-transform: uppercase; }
.ig-newsletter__lead { font-family: var(--ig-serif); font-style: italic; font-size: clamp(26px, 3vw, 38px); font-weight: 300; margin-top: 10px !important; line-height: 1.2; }
.ig-newsletter-form { flex: 0 1 520px; min-width: 0; }
.ig-subscribe { display: flex; flex-wrap: wrap; }
.ig-subscribe input { flex: 1 1 240px; min-width: 0; background: var(--ig-paper); border: 1px solid var(--ig-navy); border-right: none; padding: 0 18px; height: 58px; font-size: 15px; color: var(--ig-navy); outline: none; border-radius: 0; box-sizing: border-box; font-family: var(--ig-sans); }
.ig-subscribe button { height: 58px; background: var(--ig-navy); color: var(--ig-sand); border: 1px solid var(--ig-navy); padding: 0 24px; font: 700 11px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: background .3s; }
.ig-subscribe button:hover { background: var(--ig-red); border-color: var(--ig-red); }
.ig-subscribe .ig-form__error { flex-basis: 100%; color: var(--ig-red); margin-top: 8px; min-height: 0; }
.ig-subscribed { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; max-width: 420px; line-height: 1.7; }
@media (max-width: 480px) { .ig-subscribe input { border-right: 1px solid var(--ig-navy); } .ig-subscribe button { flex: 1 1 100%; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.ig-footer { background: var(--ig-deep); color: var(--ig-linen); padding: clamp(64px, 8vw, 104px) 0 36px; }
.ig-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 48px; }
.ig-footer__about { flex: 1 1 380px; }
.ig-footer__brand { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(36px, 4.4vw, 60px); line-height: 1; color: var(--ig-sand); letter-spacing: -.02em; }
.ig-footer__tag { font-family: var(--ig-serif); font-style: italic; font-size: 22px; margin-top: 12px !important; }
.ig-footer__since { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-top: 28px !important; color: var(--ig-gold); }
.ig-footer__cols { display: flex; flex-wrap: wrap; gap: 56px; }
.ig-footer__col { display: flex; flex-direction: column; gap: 14px; }
.ig-footer__colhead { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--ig-mist); margin-bottom: 4px !important; }
.ig-footer__link, .ig-footer__link a { font-size: 14px; color: var(--ig-sand); text-decoration: none; }
.ig-footer__link a:hover { color: var(--ig-gold); }
.ig-footer__bottom { margin-top: 72px !important; padding-top: 24px; border-top: 1px solid rgba(232, 221, 203, .14); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; font-size: 11.5px; line-height: 1.65; color: var(--ig-mist); }
.ig-footer__legal { max-width: 720px; }

/* ==========================================================================
   Overlays: loader, toast, cookie, 404
   ========================================================================== */
.ig-loader { position: fixed; inset: 0; z-index: 200; background: var(--ig-navy); color: var(--ig-sand); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; animation: igLoaderOut .6s ease 1.7s forwards; }
.ig-intro-seen .ig-loader { display: none; }
.ig-loader__globe { animation: igSpin 6s linear infinite; }
.ig-loader__text { font-family: var(--ig-serif); font-style: italic; font-size: 22px; font-weight: 300; }
.ig-loader__bar { width: 180px; height: 1px; background: rgba(245, 240, 230, .2); position: relative; overflow: hidden; }
.ig-loader__bar span { position: absolute; inset: 0; background: var(--ig-gold); transform-origin: left; animation: igBar 1.7s ease-in-out both; }

.ig-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 140; background: var(--ig-navy); color: var(--ig-sand); padding: 16px 22px; font-size: 13px; line-height: 1.5; width: max-content; max-width: min(92vw, 520px); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .5); display: flex; gap: 14px; align-items: center; animation: igFadeUp .35s ease both; box-sizing: border-box; }
.ig-toast[hidden] { display: none; }
.ig-toast__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ig-gold); flex: none; }

.ig-cookie { position: fixed; left: clamp(12px, 3vw, 28px); bottom: clamp(12px, 3vw, 28px); z-index: 130; background: var(--ig-paper); color: var(--ig-navy); border: 1px solid rgba(19, 32, 58, .2); box-shadow: 0 24px 60px -24px rgba(19, 32, 58, .45); padding: 24px; max-width: min(380px, calc(100vw - 24px)); box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; animation: igFadeUp .5s ease both; }
.ig-cookie[hidden] { display: none; }
.ig-cookie__label { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--ig-red); }
.ig-cookie p { margin: 0; font-family: var(--ig-serif); font-size: 19px; line-height: 1.4; }
.ig-cookie__actions { display: flex; gap: 10px; flex-wrap: wrap; }

.ig-404 { position: fixed; inset: 0; z-index: 150; background: var(--ig-sand); color: var(--ig-navy); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px; box-sizing: border-box; animation: igFadeUp .4s ease both; }
.ig-404[hidden] { display: none; }
.ig-404__label { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ig-red); }
.ig-404__num, .ig-notfound__num { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(120px, 22vw, 280px); line-height: .85; letter-spacing: -.05em; margin: 24px 0 !important; }
.ig-404__lead { font-family: var(--ig-serif); font-style: italic; font-size: clamp(24px, 3vw, 36px); margin: 0; max-width: 640px; line-height: 1.3; }
.ig-404__sub { font-size: 14px; color: var(--ig-slate); margin: 16px 0 36px; }

/* Scroll reveal (set up by site.js only for below-the-fold elements) */
.ig-reveal.ig-pre { opacity: 0; transform: translateY(28px); }
.ig-reveal.ig-in { opacity: 1; transform: none; transition: opacity 1.1s var(--ig-ease), transform 1.1s var(--ig-ease); }

/* ==========================================================================
   Blog, pages, archives
   ========================================================================== */
.ig-band { background: var(--ig-navy); color: var(--ig-sand); padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 80px); }
.ig-band .ig-wrap > * + * { margin-top: 20px !important; }
.ig-band__title, h1.ig-band__title { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.025em; color: var(--ig-sand); max-width: 16ch; text-wrap: balance; }
.ig-band__lead, .ig-band .wp-block-term-description { font-family: var(--ig-serif); font-style: italic; font-size: clamp(19px, 1.8vw, 24px); line-height: 1.5; color: var(--ig-linen); max-width: 640px; }
.ig-listing { padding-block: clamp(56px, 7vw, 104px); }
.ig-posts__grid.wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important; gap: 64px 28px; list-style: none; padding: 0; margin: 0; }
.ig-posts__grid > li { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.ig-posts__grid > li > * { margin: 0 !important; }
.ig-post__image { margin-bottom: 8px !important; background: var(--ig-linen); overflow: hidden; }
.ig-post__image img { transition: transform .8s var(--ig-ease); }
.ig-post__image a:hover img { transform: scale(1.03); }
.ig-post__cat, .ig-post__cat a { font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--ig-red); text-decoration: none; }
h3.ig-post__title, .ig-post__title a { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(26px, 2.4vw, 32px); line-height: 1.12; letter-spacing: -.01em; color: var(--ig-navy); text-decoration: none; }
.ig-post__title a:hover { color: var(--ig-red); }
.ig-post__excerpt { font-family: var(--ig-serif); font-size: 18px; line-height: 1.5; color: var(--ig-ink-2); }
.ig-post__excerpt .wp-block-post-excerpt__more-text { display: none; }
.ig-post__date { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); padding-top: 12px; border-top: 1px solid rgba(19, 32, 58, .12); }
.ig-pagination { margin-top: 72px !important; padding-top: 24px; border-top: 1px solid var(--ig-navy); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
.ig-pagination a { color: var(--ig-navy); }
.ig-pagination .current { color: var(--ig-red); }
.ig-empty { font-family: var(--ig-serif); font-style: italic; font-size: 24px; color: var(--ig-ink-2); }

.ig-search { max-width: 560px; }
.ig-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.ig-search .wp-block-search__input { background: var(--ig-paper); border: 1px solid var(--ig-navy); border-right: 0; height: 54px; padding: 0 18px; font-size: 15px; border-radius: 0; }
.ig-search .wp-block-search__button { margin: 0; height: 54px; padding: 0 22px; }
.ig-band .ig-search .wp-block-search__input { border-color: var(--ig-sand); }
.ig-band .ig-search .wp-block-search__button { background: var(--ig-sand); color: var(--ig-navy); }
.ig-band .ig-search .wp-block-search__button:hover { background: var(--ig-gold); }

.ig-article { padding-bottom: clamp(64px, 8vw, 112px); }
.ig-article__head { padding: clamp(64px, 8vw, 120px) var(--ig-gutter) clamp(32px, 4vw, 48px); text-align: center; }
.ig-article__head .ig-eyebrow { margin-bottom: 22px !important; }
h1.ig-article__title { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(42px, 6vw, 88px); line-height: 1; letter-spacing: -.025em; text-wrap: balance; margin: 0 auto !important; }
.ig-article__meta { justify-content: center; gap: 18px; margin-top: 28px !important; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); }
.ig-article__meta > * + *::before { content: "·"; margin-right: 18px; color: var(--ig-gold); }
.ig-article__image { max-width: 1120px; margin: 24px auto clamp(40px, 5vw, 64px) !important; padding-inline: var(--ig-gutter); box-sizing: border-box; }
.ig-article__image img { width: 100%; }
.ig-prose { font-family: var(--ig-serif); font-size: clamp(19px, 1.6vw, 21px); line-height: 1.7; color: var(--ig-ink); }
.ig-prose > p:first-child::first-letter { font-size: 3.6em; float: left; line-height: .8; padding: .08em .12em 0 0; color: var(--ig-red); font-weight: 300; }
.ig-prose--page > p:first-child::first-letter { all: unset; }
.ig-prose a { color: var(--ig-red); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.ig-prose :is(h2, h3, h4) { margin-top: 1.8em; color: var(--ig-navy); }
.ig-prose h2 { font-size: clamp(30px, 3.2vw, 42px); }
.ig-prose h3 { font-size: clamp(24px, 2.4vw, 30px); }
.ig-prose .wp-block-quote { font-style: italic; margin-block: 2em; }
.ig-prose .wp-block-quote cite { font: normal 11px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); }
.ig-prose .wp-block-pullquote { border-block: 1px solid var(--ig-navy); font-family: var(--ig-serif); font-weight: 300; }
.ig-prose figcaption { font-family: var(--ig-sans); }
.ig-prose ul, .ig-prose ol { padding-left: 1.2em; }
.ig-prose hr { border: 0; border-top: 1px solid rgba(19, 32, 58, .18); margin-block: 2.4em; }
.ig-article__foot { margin-top: 56px !important; }
.ig-article__tags { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); }
.ig-article__tags a { color: var(--ig-red); }
.ig-article__nav { margin-top: 32px !important; padding-top: 24px; border-top: 1px solid var(--ig-navy); font-family: var(--ig-serif); font-size: 20px; }
.ig-article__nav a { color: var(--ig-navy); display: flex; flex-direction: column; gap: 6px; }
.ig-article__nav .post-navigation-link-next a { text-align: right; align-items: flex-end; }
.ig-article__nav .post-navigation-link__label { font: 500 10.5px var(--ig-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ig-red); }
.ig-article__nav > * { max-width: 48%; }
.ig-article__nav a:hover { color: var(--ig-red); }
.ig-more { background: var(--ig-sand); padding-block: clamp(64px, 8vw, 112px); }
.ig-more .ig-eyebrow { margin-bottom: 40px !important; }
.ig-more .ig-post__image { background: var(--ig-linen); }

.ig-notfound { background: var(--ig-sand); text-align: center; padding-block: clamp(80px, 10vw, 140px); }
.ig-notfound .ig-wrap { display: flex; flex-direction: column; align-items: center; }
h1.ig-notfound__lead { font-family: var(--ig-serif); font-style: italic; font-weight: 300; font-size: clamp(24px, 3vw, 36px); line-height: 1.3; max-width: 640px; letter-spacing: 0; }
.ig-notfound__sub { font-size: 14px; color: var(--ig-slate); margin: 16px 0 28px !important; }
.ig-notfound .ig-search { width: 100%; margin-bottom: 28px !important; }
.ig-notfound__actions { justify-content: center; }

/* ==========================================================================
   Motion preferences
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ig-loader { display: none; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.ig-reveal.ig-pre { opacity: 1; transform: none; }
}
