/* Gentleman Coded — main stylesheet. Tokens match the mockups (mockup/project/). */
:root {
	--gc-ivory: #F4EFE6;
	--gc-paper: #FBF8F2;
	--gc-sand: #E9E2D4;
	--gc-rule: #D9D0BF;
	--gc-ink: #121110;
	--gc-body: #24211D;
	--gc-soft: #3A362F;
	--gc-muted: #4A453D;
	--gc-line: #8F877A;
	--gc-green: #1F3A2E;
	--gc-green-line: #3E5A4D;
	--gc-brass: #A8864B;
	--gc-brass-light: #C7A66A;
	--gc-brass-text: #E2C58D;
	--gc-ph: #24211D;
	/* Fonts: self-hosted in fonts/ (fonts.css). */
	--gc-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--gc-sans: Manrope, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--gc-max: 1280px;
	--gc-gutter: 32px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--gc-ivory); color: var(--gc-ink); font-family: var(--gc-sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gc-green); }
a:hover { color: var(--gc-ink); }
:focus-visible { outline: 2px solid var(--gc-brass); outline-offset: 2px; }

.gc-wrap { max-width: var(--gc-max); margin: 0 auto; padding-left: var(--gc-gutter); padding-right: var(--gc-gutter); }
.gc-skip { position: absolute; left: -9999px; top: 0; background: var(--gc-ink); color: var(--gc-ivory); padding: 12px 16px; z-index: 100; }
.gc-skip:focus { left: 16px; top: 16px; }

/* Shared type */
.gc-kicker, .gc-label { font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gc-green); }
.gc-kicker a { color: inherit; text-decoration: none; }
.gc-label { display: block; color: var(--gc-ink); }
.gc-label--brass { color: var(--gc-brass-text); text-decoration: none; }
.gc-h2 { margin: 0 0 24px; font-family: var(--gc-serif); font-weight: 500; font-size: 38px; line-height: 1.1; }
.gc-byline { font-size: 13px; letter-spacing: 0.08em; color: var(--gc-muted); }
.gc-numeral { font-family: var(--gc-serif); font-size: 20px; color: var(--gc-green); min-width: 48px; flex: 0 0 auto; }
.gc-ph { display: block; background: var(--gc-ph); }
.gc-mono { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--gc-brass-light); border-radius: 50%; font-family: var(--gc-serif); font-size: 24px; letter-spacing: 0.06em; color: var(--gc-brass-text); flex: 0 0 auto; }
.gc-mono--sm { width: 48px; height: 48px; font-size: 18px; color: var(--gc-green); border-color: var(--gc-brass); }
.gc-mono--lg { width: 100px; height: 100px; font-size: 38px; }
.gc-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 26px; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; }
.gc-btn--brass { border: 1px solid var(--gc-brass-light); color: var(--gc-ivory); }
.gc-btn--brass:hover { background: rgba(199, 166, 106, 0.15); color: var(--gc-ivory); }

/* Header */
.gc-header { border-bottom: 1px solid var(--gc-rule); }
.gc-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gc-muted); }
.gc-icon-btn { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--gc-ink); }
.gc-masthead { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 16px; padding-bottom: 8px; text-align: center; }
.gc-masthead__name { font-family: var(--gc-serif); font-weight: 500; font-size: clamp(44px, 7vw, 88px); line-height: 1; letter-spacing: 0.02em; color: var(--gc-ink); text-decoration: none; }
.gc-masthead__tag { font-family: var(--gc-serif); font-style: italic; font-size: 20px; color: var(--gc-muted); }
.gc-nav-row--center { display: flex; justify-content: center; }
.gc-nav { display: flex; flex-wrap: wrap; gap: 0 28px; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.gc-nav-row--center .gc-nav { justify-content: center; gap: 0 32px; font-size: 13px; }
.gc-nav a { padding: 14px 0; color: var(--gc-ink); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.gc-nav a:hover { color: var(--gc-green); }
.gc-nav a.is-current { border-bottom-color: var(--gc-brass); }
.gc-nav .gc-nav__code { color: var(--gc-green); }
.gc-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 32px; padding-top: 8px; padding-bottom: 8px; }
.gc-bar__name { font-family: var(--gc-serif); font-weight: 500; font-size: 34px; color: var(--gc-ink); text-decoration: none; padding: 4px 0; }
.gc-header--code { background: var(--gc-green); border-bottom: 0; }
.gc-header--code .gc-bar__name, .gc-header--code .gc-nav a { color: var(--gc-ivory); }
.gc-header--code .gc-nav .gc-nav__code { color: var(--gc-brass-text); }
.gc-header--code .gc-nav a.is-current { border-bottom-color: var(--gc-brass-light); }

.gc-search { position: relative; }
.gc-search summary { list-style: none; cursor: pointer; }
.gc-search summary::-webkit-details-marker { display: none; }
.gc-search__panel { position: absolute; right: 0; top: 100%; z-index: 20; padding: 12px; background: var(--gc-paper); border: 1px solid var(--gc-rule); width: min(420px, calc(100vw - 32px)); text-transform: none; letter-spacing: 0; }
.gc-search__panel .search-form { justify-content: flex-start; flex-wrap: nowrap; }
.gc-search__panel .search-form label { flex: 1 1 auto; min-width: 0; }
.gc-search__panel .search-field { min-width: 0; width: 100%; }

/* Homepage front */
.gc-front { display: flex; flex-wrap: wrap; gap: 40px; align-items: stretch; padding-top: 40px; padding-bottom: 56px; }
.gc-front__lead { flex: 3 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 16px; color: var(--gc-ink); text-decoration: none; }
.gc-front__img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.gc-front__title { margin: 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(36px, 4vw, 54px); line-height: 1.04; }
.gc-front__lead:hover .gc-front__title { color: var(--gc-green); }
.gc-front__dek { margin: 0; font-size: 18px; line-height: 1.6; color: var(--gc-soft); max-width: 720px; }
.gc-latest { flex: 2 1 340px; min-width: 0; display: flex; flex-direction: column; border-top: 2px solid var(--gc-ink); padding-top: 14px; }
.gc-latest__head { padding-bottom: 6px; }
.gc-latest__head h2 { margin: 0; }
.gc-latest__list { margin: 0; padding: 0; list-style: none; }
.gc-latest__list li { border-bottom: 1px solid var(--gc-rule); }
.gc-latest__list li:last-child { border-bottom: 0; }
.gc-latest__item { display: flex; gap: 16px; align-items: center; padding: 14px 0; color: var(--gc-ink); text-decoration: none; }
.gc-latest__img { flex: 0 0 144px; width: 144px; height: 96px; object-fit: cover; }
.gc-latest__text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gc-latest__text .gc-kicker { font-size: 11px; letter-spacing: 0.18em; }
.gc-latest__title { font-family: var(--gc-serif); font-size: 22px; line-height: 1.2; }
.gc-latest__item:hover .gc-latest__title { color: var(--gc-green); }

/* Cards and grids */
.gc-row-band { border-top: 1px solid var(--gc-rule); border-bottom: 1px solid var(--gc-rule); }
.gc-row-band .gc-grid-3 { padding-top: 48px; padding-bottom: 48px; }
.gc-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; }
.gc-card { display: flex; flex-direction: column; gap: 12px; color: var(--gc-ink); text-decoration: none; }
.gc-card__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.gc-card__title { font-family: var(--gc-serif); font-weight: 500; font-size: 28px; line-height: 1.12; }
.gc-card:hover .gc-card__title { color: var(--gc-green); }
.gc-card__dek { font-size: 16px; line-height: 1.6; color: var(--gc-soft); }
.gc-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; padding-top: 80px; padding-bottom: 80px; }
.gc-features .gc-card__img { aspect-ratio: 16 / 10; }
.gc-features .gc-card__title { font-size: 36px; line-height: 1.1; }

/* The Code band (homepage) */
.gc-code-band { background: var(--gc-green); color: var(--gc-ivory); }
.gc-code-band__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; align-items: center; padding-top: 88px; padding-bottom: 88px; }
.gc-code-band__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.gc-code-band__title { margin: 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(40px, 5vw, 60px); line-height: 1.04; }
.gc-code-band__intro p { margin: 0; font-size: 17px; line-height: 1.65; color: #D6DDD8; max-width: 440px; }
.gc-code-band__list { margin: 0; padding: 0; list-style: none; }
.gc-code-band__list li { border-top: 1px solid var(--gc-green-line); }
.gc-code-band__list li:last-child { border-bottom: 1px solid var(--gc-green-line); }
.gc-code-band__list a { display: flex; gap: 24px; align-items: baseline; padding: 22px 0; color: var(--gc-ivory); text-decoration: none; font-family: var(--gc-serif); font-size: 28px; line-height: 1.2; }
.gc-code-band__list .gc-numeral { color: var(--gc-brass-text); font-size: 22px; }
.gc-code-band__list a:hover span:last-child { text-decoration: underline; text-decoration-color: var(--gc-brass-light); text-underline-offset: 6px; }

.gc-about { border-top: 1px solid var(--gc-rule); }
.gc-about__inner { padding-top: 40px; padding-bottom: 48px; max-width: 820px; text-align: center; font-size: 16px; line-height: 1.7; color: var(--gc-soft); }

/* Article */
.gc-article__head { max-width: 860px; margin: 0 auto; padding: 64px var(--gc-gutter) 40px; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.gc-article__title { margin: 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(42px, 6vw, 76px); line-height: 1.02; }
.gc-article__dek { margin: 0; font-family: var(--gc-serif); font-style: italic; font-size: 24px; line-height: 1.4; color: var(--gc-soft); max-width: 680px; }
.gc-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; font-size: 13px; letter-spacing: 0.06em; color: var(--gc-muted); }
.gc-article__hero { margin: 0 auto; }
.gc-article__hero img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.gc-article__hero figcaption { padding-top: 12px; font-size: 13px; color: var(--gc-muted); }
.gc-article__layout { max-width: 1120px; margin: 0 auto; padding: 56px var(--gc-gutter) 24px; display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.gc-article__layout > .gc-prose { flex: 999 1 560px; min-width: 0; max-width: 680px; padding: 0; margin: 0; }

.gc-prose { max-width: 680px; margin: 0 auto; padding: 0 var(--gc-gutter); font-size: 19px; line-height: 1.75; color: var(--gc-body); }
.gc-prose--page { padding-bottom: 80px; }
.gc-prose p, .gc-prose ul, .gc-prose ol { margin: 0 0 28px; }
.gc-prose li { margin-bottom: 10px; }
.gc-prose h2 { margin: 48px 0 16px; font-family: var(--gc-serif); font-weight: 500; font-size: 40px; line-height: 1.1; color: var(--gc-ink); scroll-margin-top: 24px; }
.gc-prose h3 { margin: 36px 0 12px; font-family: var(--gc-serif); font-weight: 600; font-size: 28px; line-height: 1.15; color: var(--gc-ink); }
.gc-prose a { color: var(--gc-green); text-decoration-color: var(--gc-brass); text-underline-offset: 3px; }
.gc-prose blockquote { margin: 48px 0; padding: 0; border: 0; text-align: center; }
.gc-prose blockquote p { font-family: var(--gc-serif); font-style: italic; font-size: 34px; line-height: 1.25; color: var(--gc-green); margin: 0; }
.gc-prose figure { margin: 40px 0; }
.gc-prose figcaption { font-size: 13px; color: var(--gc-muted); padding-top: 10px; }
.gc-prose table { width: 100%; border-collapse: collapse; font-size: 16px; display: block; overflow-x: auto; }
.gc-prose th, .gc-prose td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--gc-rule); }
.gc-prose > p:first-of-type::first-letter { float: left; font-family: var(--gc-serif); font-size: 92px; line-height: 0.8; padding: 8px 12px 0 0; color: var(--gc-green); }
.gc-prose--page > p:first-of-type::first-letter { float: none; font: inherit; padding: 0; color: inherit; }
.gc-prose hr { border: 0; border-top: 1px solid var(--gc-rule); margin: 40px 0; }
.gc-prose .has-small-font-size { font-size: 14px; line-height: 1.6; color: var(--gc-muted); }

.gc-rulebox { margin: 40px 0; padding: 28px; background: var(--gc-sand); display: flex; gap: 20px; align-items: flex-start; }
.gc-rulebox > div { display: flex; flex-direction: column; gap: 6px; }
.gc-rulebox .gc-label { color: var(--gc-green); }
.gc-rulebox__text { font-family: var(--gc-serif); font-size: 26px; line-height: 1.2; color: var(--gc-ink); }
.gc-rulebox a { font-size: 14px; font-weight: 600; }

.gc-side { flex: 1 1 260px; min-width: 0; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.gc-side__box { border-top: 1px solid var(--gc-rule); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.gc-side__box--strong { border-top: 2px solid var(--gc-ink); }
.gc-side ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.5; color: var(--gc-soft); }
.gc-side a { font-size: 15px; text-decoration: none; }

.gc-more { border-top: 1px solid var(--gc-rule); margin-top: 48px; padding: 56px 0 80px; }

/* The Code: rule pages and hub */
.gc-code-head { background: var(--gc-green); color: var(--gc-ivory); }
.gc-code-head__inner { max-width: 900px; margin: 0 auto; padding: 64px var(--gc-gutter) 88px; display: flex; flex-direction: column; align-items: center; gap: 26px; text-align: center; }
.gc-code-head__title { margin: 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(42px, 6.5vw, 84px); line-height: 1.04; }
.gc-code-head__title--hub { font-size: clamp(56px, 8vw, 104px); line-height: 1; }
.gc-code-head__meta { font-size: 13px; letter-spacing: 0.06em; color: #C6D0CA; }
.gc-code-head__dek { margin: 0; font-family: var(--gc-serif); font-style: italic; font-size: 26px; line-height: 1.4; color: #D6DDD8; max-width: 640px; }
.gc-rule-body { padding-top: 72px; padding-bottom: 24px; }
.gc-rule-body > .gc-label { margin: 48px 0 20px; }
.gc-rule-body h2, .gc-rule-body > h2.gc-label { margin: 48px 0 16px; font-family: var(--gc-sans); font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gc-green); }
.gc-rule-body > h2:first-child { margin-top: 0; }
.gc-practice { display: flex; flex-direction: column; border-top: 1px solid var(--gc-rule); }
.gc-practice a { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--gc-rule); text-decoration: none; color: var(--gc-ink); font-family: var(--gc-serif); font-size: 26px; line-height: 1.2; }
.gc-practice a span:last-child { color: var(--gc-brass); }
.gc-rule-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; max-width: 1120px; padding-top: 64px; padding-bottom: 88px; }
.gc-rule-nav__item { display: flex; flex-direction: column; gap: 10px; padding: 28px; background: var(--gc-sand); text-decoration: none; color: var(--gc-ink); }
.gc-rule-nav__item .gc-label { color: var(--gc-green); }
.gc-rule-nav__item--next { text-align: right; }
.gc-rule-nav__text { font-family: var(--gc-serif); font-size: 28px; line-height: 1.2; }

.gc-chips { border-bottom: 1px solid var(--gc-rule); }
.gc-chips__inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding-top: 16px; padding-bottom: 16px; }
.gc-chip { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; border: 1px solid var(--gc-line); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; color: var(--gc-ink); }
.gc-chip:hover { border-color: var(--gc-green); color: var(--gc-green); }
.gc-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px 64px; padding-top: 64px; padding-bottom: 96px; }
.gc-hub__group { scroll-margin-top: 24px; }
.gc-hub__group .gc-h2 { margin-bottom: 8px; }
.gc-rule-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--gc-ink); }
.gc-rule-list li { border-bottom: 1px solid var(--gc-rule); }
.gc-rule-list a { display: flex; gap: 20px; align-items: baseline; padding: 16px 0; text-decoration: none; color: var(--gc-ink); font-family: var(--gc-serif); font-size: 24px; line-height: 1.25; }
.gc-rule-list a:hover span:last-child { color: var(--gc-green); }

/* Lists (sections, search) */
.gc-list-head { border-bottom: 1px solid var(--gc-rule); }
.gc-list-head .gc-wrap { padding-top: 56px; padding-bottom: 40px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.gc-list-head__title { margin: 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(48px, 7vw, 88px); line-height: 1; }
.gc-list-head__dek { margin: 0; font-family: var(--gc-serif); font-style: italic; font-size: 22px; color: var(--gc-soft); max-width: 640px; }
.gc-list { padding-top: 48px; padding-bottom: 88px; }
.gc-list__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 48px 40px; }
.gc-list__first { grid-column: 1 / -1; }
.gc-list__first .gc-card__img { aspect-ratio: 2 / 1; }
.gc-list__first .gc-card__title { font-size: clamp(32px, 4vw, 48px); }
.nav-links { display: flex; gap: 12px; justify-content: center; margin-top: 56px; }
.nav-links a, .nav-links span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--gc-rule); text-decoration: none; color: var(--gc-ink); }
.nav-links .current { background: var(--gc-ink); color: var(--gc-ivory); border-color: var(--gc-ink); }
.search-form { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.search-form label { display: flex; }
.search-field { min-height: 48px; padding: 0 16px; border: 1px solid var(--gc-line); background: var(--gc-paper); font: inherit; min-width: 260px; }
.search-submit { min-height: 48px; padding: 0 24px; border: 0; background: var(--gc-ink); color: var(--gc-ivory); font: inherit; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; font-size: 13px; cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.gc-empty { padding-top: 96px; padding-bottom: 120px; text-align: center; font-size: 18px; color: var(--gc-soft); }
.gc-empty__title { margin: 0 0 12px; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(36px, 5vw, 56px); color: var(--gc-ink); }

/* Contact form (Contact Form 7) */
.wpcf7 .hidden-fields-container { display: none; }
.gc-prose .gc-form p { margin: 0; }
.gc-form { max-width: 680px; margin: 32px 0 0; display: flex; flex-direction: column; gap: 18px; font-size: 16px; }
.gc-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 18px; }
.gc-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gc-ink); }
.gc-form .wpcf7-form-control-wrap { display: block; }
.gc-form input[type="text"], .gc-form input[type="email"], .gc-form select, .gc-form textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--gc-line); border-radius: 0; background: var(--gc-paper); font: inherit; font-size: 16px; letter-spacing: 0; text-transform: none; font-weight: 400; color: var(--gc-ink); }
.gc-form textarea { min-height: 180px; resize: vertical; }
.gc-form input:focus, .gc-form select:focus, .gc-form textarea:focus { outline: 2px solid var(--gc-brass); outline-offset: 0; border-color: var(--gc-green); }
.gc-form .wpcf7-acceptance label, .gc-form .wpcf7-list-item label { flex-direction: row; align-items: flex-start; gap: 10px; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 15px; line-height: 1.5; color: var(--gc-soft); }
.gc-form .wpcf7-list-item { margin: 0; }
.gc-form input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--gc-green); flex: 0 0 auto; }
.gc-form .wpcf7-submit { align-self: flex-start; min-height: 48px; padding: 0 28px; border: 0; background: var(--gc-ink); color: var(--gc-ivory); font: inherit; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; }
.gc-form .wpcf7-submit:hover { background: var(--gc-green); }
.gc-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 14px; color: #8A1C1C; text-transform: none; letter-spacing: 0; font-weight: 500; }
.wpcf7-response-output { margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--gc-rule); font-size: 15px; }
.wpcf7-form.sent .wpcf7-response-output { border-color: var(--gc-green); background: #E6EEE9; }
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output, .wpcf7-form.spam .wpcf7-response-output { border-color: #8A1C1C; }
.wpcf7-spinner { display: none; }
.wpcf7-form.submitting .wpcf7-spinner { display: inline-block; }
.screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Footer */
.gc-footer { background: var(--gc-ink); color: #C9C1B2; }
.gc-footer a { color: #C9C1B2; text-decoration: none; }
.gc-footer a:hover { color: var(--gc-ivory); }
.gc-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; padding-top: 56px; padding-bottom: 32px; font-size: 14px; }
.gc-footer__brand { display: flex; flex-direction: column; gap: 8px; }
.gc-footer__name { font-family: var(--gc-serif); font-size: 32px; color: var(--gc-ivory); }
.gc-footer__tag { font-family: var(--gc-serif); font-style: italic; font-size: 18px; }
.gc-footer__nav ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 12px 28px; }
.gc-footer__small { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; padding-bottom: 32px; border-top: 1px solid #2E2B27; font-size: 13px; color: #A79F90; }

/* Coming soon */
.gc-soon { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--gc-green); color: var(--gc-ivory); }
.gc-soon__inner { max-width: 640px; padding: 48px 24px; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.gc-soon__name { margin: 8px 0 0; font-family: var(--gc-serif); font-weight: 500; font-size: clamp(48px, 9vw, 96px); line-height: 1; }
.gc-soon__tag { margin: 0; font-family: var(--gc-serif); font-style: italic; font-size: 24px; color: #D6DDD8; }
.gc-soon__text { margin: 8px 0; font-size: 17px; line-height: 1.7; color: #D6DDD8; }

@media (max-width: 640px) {
	:root { --gc-gutter: 16px; }
	.gc-prose { font-size: 18px; }
	.gc-latest__img { flex-basis: 112px; width: 112px; height: 75px; }
	.gc-latest__title { font-size: 20px; }
	.gc-code-band__list a { font-size: 24px; }
	.gc-bar__name { font-size: 28px; }
	.gc-nav, .gc-nav-row--center .gc-nav { gap: 0 20px; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; max-width: 100%; font-size: 12px; scrollbar-width: none; }
	.gc-nav::-webkit-scrollbar { display: none; }
	.gc-nav-row--center { justify-content: flex-start; }
	.gc-rule-nav__item--next { text-align: left; }
}

/* ==========================================================================
   Art direction pass (Nov 2026). Spectral for reading, Cormorant for display,
   Manrope only for labels and interface. Hairlines, not boxes.
   ========================================================================== */
:root { --gc-read: Spectral, Georgia, 'Times New Roman', serif; }
::selection { background: #E2C58D; color: var(--gc-ink); }
h1, h2, h3, .gc-card__title, .gc-latest__title, .gc-rule-nav__text { text-wrap: balance; font-kerning: normal; }
.gc-prose p, .gc-front__dek, .gc-card__dek { text-wrap: pretty; }
a { transition: color .2s ease; }

/* Image frames: a slow, small move on hover */
.gc-frame { display: block; overflow: hidden; background: var(--gc-sand); }
.gc-frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
a:hover > .gc-frame img { transform: scale(1.035); }
@media (prefers-reduced-motion: reduce) { .gc-frame img { transition: none; } a:hover > .gc-frame img { transform: none; } }

/* Masthead: the name, then the sections between two rules, like a printed title */
.gc-header--home { border-bottom: 0; }
.gc-masthead { padding-top: 8px; padding-bottom: 22px; }
.gc-masthead__name { font-size: clamp(46px, 7.4vw, 104px); letter-spacing: 0.005em; }
.gc-masthead__tag { font-size: 21px; }
.gc-nav-row--center { max-width: calc(var(--gc-max) - 2 * var(--gc-gutter)); border-top: 1px solid var(--gc-ink); border-bottom: 1px solid var(--gc-rule); padding-left: 0; padding-right: 0; width: calc(100% - 2 * var(--gc-gutter)); }
.gc-nav-row--center .gc-nav { gap: 0 44px; font-size: 12px; letter-spacing: 0.2em; }
.gc-bar { padding-top: 10px; padding-bottom: 10px; }
.gc-bar__name { font-size: 30px; letter-spacing: 0.005em; }
.gc-nav a { transition: color .2s ease, border-color .2s ease; }
.gc-nav a:hover { border-bottom-color: var(--gc-brass); }

/* Kicker with a short brass rule */
.gc-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.22em; }
.gc-front__lead > .gc-kicker::before, .gc-card > .gc-kicker::before { content: ""; width: 22px; height: 1px; background: var(--gc-brass); }
.gc-crumb { justify-content: center; }

/* Front page */
.gc-front { padding-top: 36px; padding-bottom: 64px; gap: 48px; }
.gc-front__lead { gap: 18px; }
.gc-front__title { font-size: clamp(38px, 4.3vw, 60px); line-height: 1.02; letter-spacing: -0.005em; }
.gc-front__dek { font-family: var(--gc-read); font-size: 19px; line-height: 1.55; }
.gc-byline { font-size: 12px; letter-spacing: 0.1em; }
.gc-latest { border-top-width: 1px; padding-top: 12px; }
.gc-latest__title { font-size: 23px; line-height: 1.16; font-weight: 500; }
.gc-latest__text { gap: 7px; }
.gc-latest__text .gc-kicker { font-size: 10px; display: block; }
.gc-latest__item { padding: 16px 0; }

/* Cards and grids */
.gc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; }
.gc-row-band { border-top: 0; border-bottom: 0; }
.gc-row-band .gc-grid-3 { padding-top: 44px; padding-bottom: 72px; position: relative; }
.gc-row-band .gc-wrap::before { content: ""; position: absolute; top: 0; left: var(--gc-gutter); right: var(--gc-gutter); height: 1px; background: var(--gc-rule); }
.gc-card { gap: 14px; }
.gc-card__title { font-size: 30px; line-height: 1.1; font-weight: 500; }
.gc-card__dek { font-family: var(--gc-read); font-size: 17px; }

/* The Code band */
.gc-code-band__inner { padding-top: 104px; padding-bottom: 104px; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 88px; }
.gc-code-band__title { font-size: clamp(48px, 5.6vw, 76px); }
.gc-code-band__intro p { font-family: var(--gc-read); font-size: 19px; }
.gc-code-band__list a { font-size: 31px; line-height: 1.16; padding: 26px 0; }
.gc-btn--brass { transition: background .25s ease, color .25s ease; }
.gc-btn--brass:hover { background: var(--gc-brass-light); color: var(--gc-ink); }

/* Index of sections */
.gc-index { padding: 80px 0 72px; }
.gc-index .gc-label { margin: 0 0 22px; padding-top: 12px; border-top: 1px solid var(--gc-ink); }
.gc-index__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 36px; }
.gc-index__item { display: flex; flex-direction: column; gap: 10px; color: var(--gc-ink); text-decoration: none; }
.gc-index__name { font-family: var(--gc-serif); font-size: 34px; line-height: 1.05; font-weight: 500; }
.gc-index__item:hover .gc-index__name { color: var(--gc-green); }
.gc-index__desc { font-size: 14px; line-height: 1.6; color: var(--gc-muted); }
.gc-about { border-top: 0; }
.gc-about__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; padding-top: 8px; padding-bottom: 88px; max-width: 640px; font-family: var(--gc-read); font-size: 18px; }
.gc-about__inner p { margin: 0; }

/* Article head */
.gc-article__head { padding-top: 72px; padding-bottom: 44px; gap: 20px; }
.gc-article__title { font-size: clamp(42px, 6vw, 80px); letter-spacing: -0.005em; line-height: 1; }
.gc-article__dek { font-size: 26px; line-height: 1.32; }
.gc-meta { font-size: 12px; letter-spacing: 0.1em; margin-top: 4px; }
.gc-article__hero figcaption { font-family: var(--gc-read); font-style: italic; font-size: 14px; padding-top: 10px; }
.gc-article__hero figcaption a { color: inherit; }
.gc-article__layout { padding-top: 64px; gap: 72px; }

/* Reading text */
.gc-prose { font-family: var(--gc-read); font-size: 20px; line-height: 1.68; color: #211E1A; font-feature-settings: "kern", "liga", "onum"; }
.gc-prose a { text-decoration-thickness: 1px; }
.gc-prose strong { font-weight: 500; color: var(--gc-ink); }
.gc-prose p, .gc-prose ul, .gc-prose ol { margin-bottom: 26px; }
.gc-prose > p:first-of-type::first-letter { font-size: 88px; line-height: 0.78; padding: 9px 12px 0 0; font-family: var(--gc-serif); font-weight: 500; }
.gc-prose--page > p:first-of-type::first-letter { font-size: inherit; line-height: inherit; padding: 0; font-weight: inherit; font-family: inherit; float: none; color: inherit; }
.gc-prose h2 { margin: 64px 0 18px; font-size: 44px; line-height: 1.04; font-weight: 500; }
.gc-prose h2::before { content: ""; display: block; width: 44px; height: 1px; margin-bottom: 22px; background: var(--gc-brass); }
.gc-prose h3 { margin: 40px 0 10px; font-size: 30px; line-height: 1.12; font-weight: 500; }
.gc-prose ul, .gc-prose ol { padding-left: 1.2em; }
.gc-prose li { margin-bottom: 12px; padding-left: 0.2em; }
.gc-prose li::marker { color: var(--gc-brass); }
.gc-rule-body h2::before { display: none; }

/* Tables: hairlines and small capitals, no grid */
.gc-prose .wp-block-table { margin: 36px 0 44px; overflow-x: auto; }
.gc-prose .wp-block-table table { display: table; width: 100%; border-collapse: collapse; font-family: var(--gc-sans); font-size: 15px; line-height: 1.45; font-variant-numeric: lining-nums tabular-nums; }
.gc-prose .wp-block-table thead { border: 0; }
.gc-prose .wp-block-table th, .gc-prose .wp-block-table td { border: 0; border-bottom: 1px solid var(--gc-rule); padding: 13px 18px 13px 0; vertical-align: top; }
.gc-prose .wp-block-table th { border-bottom: 1px solid var(--gc-ink); padding-top: 0; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gc-ink); white-space: nowrap; }
.gc-prose .wp-block-table td:first-child { font-family: var(--gc-serif); font-size: 20px; line-height: 1.2; font-weight: 500; color: var(--gc-ink); }
.gc-prose .wp-block-table th:last-child, .gc-prose .wp-block-table td:last-child { padding-right: 0; }

/* Pull quote between two brass rules */
.gc-prose .wp-block-quote, .gc-prose blockquote { margin: 56px 0; padding: 30px 0; border: 0; border-top: 1px solid var(--gc-brass); border-bottom: 1px solid var(--gc-brass); }
.gc-prose blockquote p { font-family: var(--gc-serif); font-style: italic; font-weight: 500; font-size: 38px; line-height: 1.14; text-wrap: balance; }

/* The honesty note, then the sign-off */
.gc-prose .has-small-font-size { margin-top: 48px; font-size: 15px; line-height: 1.6; }
.gc-rulebox { background: transparent; border: 1px solid var(--gc-brass); padding: 28px 30px; margin: 44px 0 0; }
.gc-rulebox__text { font-size: 28px; font-weight: 500; line-height: 1.14; }
.gc-rulebox a { font-family: var(--gc-sans); }
.gc-signoff { display: flex; gap: 18px; align-items: center; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--gc-ink); font-size: 16px; line-height: 1.5; color: var(--gc-soft); }
.gc-signoff p { margin: 0; }

/* Side column */
.gc-side { top: 28px; gap: 28px; flex-basis: 250px; }
.gc-side__box--strong { border-top-width: 1px; border-top-color: var(--gc-ink); }
.gc-side .gc-label { font-size: 11px; letter-spacing: 0.2em; }
.gc-side ul, .gc-side a { font-size: 14px; }
.gc-side a { color: var(--gc-soft); }
.gc-side a:hover { color: var(--gc-green); }
.gc-more { margin-top: 72px; padding-top: 64px; padding-bottom: 96px; }
.gc-more .gc-h2 { font-size: 44px; margin-bottom: 32px; font-weight: 500; }

/* Section pages: an opening story laid out like a magazine spread */
.gc-list-head { border-bottom: 0; }
.gc-list-head .gc-wrap { padding-top: 64px; padding-bottom: 28px; gap: 14px; }
.gc-list-head__title { font-size: clamp(56px, 8vw, 112px); font-weight: 500; letter-spacing: -0.005em; }
.gc-list-head__dek { font-size: 24px; line-height: 1.3; }
.gc-list { padding-top: 28px; }
.gc-list__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 44px; }
.gc-list__first .gc-card { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 48px; row-gap: 0; align-items: center; padding: 32px 0 56px; border-top: 1px solid var(--gc-ink); border-bottom: 1px solid var(--gc-rule); }
.gc-list__first .gc-card__img { grid-row: 1 / span 4; aspect-ratio: 3 / 2; }
.gc-list__first .gc-kicker { align-self: end; }
.gc-list__first .gc-card__title { font-size: clamp(34px, 3.8vw, 52px); line-height: 1.03; margin: 12px 0; }
.gc-list__first .gc-card__dek { align-self: start; font-size: 19px; line-height: 1.5; }

/* The Code */
.gc-code-head__inner { padding-top: 72px; padding-bottom: 96px; }
.gc-code-head__title { font-weight: 500; letter-spacing: -0.005em; line-height: 1.02; }
.gc-mono--lg { width: 104px; height: 104px; font-size: 40px; }
.gc-chips { border-bottom: 0; }
.gc-chips__inner { padding-top: 28px; padding-bottom: 0; }
.gc-chip { border: 0; border-bottom: 1px solid var(--gc-rule); padding: 0 6px; font-size: 11px; letter-spacing: 0.18em; margin: 0 10px; transition: border-color .2s ease, color .2s ease; }
.gc-chip:hover { border-color: var(--gc-brass); }
.gc-hub { padding-top: 56px; gap: 72px 88px; }
.gc-hub__group .gc-h2 { font-size: 40px; font-weight: 500; }
.gc-rule-list a { font-size: 25px; line-height: 1.2; font-weight: 500; padding: 18px 0; }
.gc-rule-list .gc-numeral { color: var(--gc-green); font-weight: 500; }
.gc-rule-body { padding-top: 80px; padding-bottom: 8px; }
.gc-rule-nav__item { background: transparent; border-top: 1px solid var(--gc-ink); padding: 24px 0 0; transition: color .2s ease; }
.gc-rule-nav__item:hover { color: var(--gc-green); }
.gc-rule-nav__text { font-weight: 500; font-size: 30px; line-height: 1.12; }
.gc-practice a { font-weight: 500; font-size: 28px; font-family: var(--gc-serif); }

/* Plain pages */
.gc-prose--page { padding-bottom: 104px; }

/* Footer */
.gc-footer { border-top: 3px solid var(--gc-brass-light); }
.gc-footer__inner { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding-top: 72px; padding-bottom: 56px; }
.gc-footer__brand { align-items: flex-start; gap: 14px; }
.gc-footer__name { font-size: 40px; line-height: 1; font-weight: 500; margin-top: 8px; }
.gc-footer__tag { font-size: 20px; }
.gc-footer__head { display: block; margin-bottom: 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gc-brass-text); }
.gc-footer__col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.gc-footer__small { padding-top: 20px; padding-bottom: 32px; font-size: 12px; letter-spacing: 0.04em; }

/* Coming soon keeps its own quiet look */
.gc-soon__tag { font-size: 26px; }
.gc-soon__text { font-family: var(--gc-read); font-size: 19px; }

@media (max-width: 960px) {
	.gc-grid-3, .gc-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gc-code-band__inner { grid-template-columns: minmax(0, 1fr); gap: 48px; padding-top: 72px; padding-bottom: 72px; }
	.gc-list__first .gc-card { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
	.gc-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gc-footer__brand { grid-column: 1 / -1; }
	.gc-side { position: static; }
}
@media (max-width: 640px) {
	.gc-grid-3, .gc-list__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.gc-masthead { padding-bottom: 16px; }
	.gc-nav-row--center { width: 100%; max-width: none; padding-left: var(--gc-gutter); }
	.gc-nav-row--center .gc-nav { gap: 0 22px; font-size: 11px; letter-spacing: 0.16em; }
	.gc-front { padding-top: 20px; gap: 36px; }
	.gc-prose { font-size: 18.5px; line-height: 1.62; }
	.gc-prose h2 { font-size: 36px; margin-top: 52px; }
	.gc-prose h3 { font-size: 26px; }
	.gc-prose blockquote p { font-size: 30px; }
	.gc-article__head { padding-top: 40px; padding-bottom: 28px; }
	.gc-article__dek { font-size: 22px; }
	.gc-article__layout { padding-top: 40px; gap: 48px; }
	.gc-article__hero { padding-left: 0; padding-right: 0; }
	.gc-article__hero figcaption { padding-left: var(--gc-gutter); padding-right: var(--gc-gutter); }
	.gc-article__hero img { aspect-ratio: 3 / 2; }
	.gc-prose .wp-block-table td:first-child { font-size: 18px; }
	.gc-prose .wp-block-table th, .gc-prose .wp-block-table td { padding-right: 12px; }
	.gc-card__title { font-size: 28px; }
	.gc-code-band__list a { font-size: 25px; gap: 14px; padding: 20px 0; }
	.gc-hub { gap: 48px; }
	.gc-rule-list a { font-size: 23px; }
	.gc-index { padding: 56px 0; }
	.gc-footer__inner { padding-top: 56px; gap: 36px; }
}

/* Refinements after review */
.gc-grid-3--two, .gc-list__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gc-grid-3--two .gc-card__img, .gc-list__grid--two .gc-card__img { aspect-ratio: 16 / 9; }
.gc-list__first .gc-card__img { aspect-ratio: 3 / 2; }
.gc-grid-3--two .gc-card__title, .gc-list__grid--two .gc-list__cell .gc-card__title { font-size: 34px; }
.category .gc-card > .gc-kicker { display: none; }
.category .gc-list__first .gc-card__title { align-self: end; margin-top: 0; }
.gc-signoff { display: block; }

@media (max-width: 960px) {
	/* At a glance leads the article on smaller screens; the contents list isn't needed */
	.gc-side { order: -1; flex-basis: 100%; }
	.gc-side nav.gc-side__box { display: none; }
}
@media (max-width: 640px) {
	.gc-grid-3--two, .gc-list__grid--two { grid-template-columns: minmax(0, 1fr); }
	.gc-meta { gap: 2px 14px; }
	.gc-meta span[aria-hidden] { display: none; }
	.gc-prose .wp-block-table table { font-size: 13.5px; }
	.gc-prose .wp-block-table th { font-size: 10px; letter-spacing: 0.14em; }
	.gc-prose .wp-block-table td:first-child { font-size: 17px; }
	.gc-prose .wp-block-table th, .gc-prose .wp-block-table td { padding-right: 10px; }
}

/* Homepage front, November 2026: rule of the day, three columns, dark feature */
.gc-rotd { border-bottom: 1px solid var(--gc-rule); }
.gc-rotd__inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 18px; padding-top: 13px; padding-bottom: 13px; text-align: center; }
.gc-rotd__label { font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gc-green); }
.gc-rotd__rule { font-family: var(--gc-serif); font-style: italic; font-size: 21px; line-height: 1.25; color: var(--gc-ink); text-decoration: none; }
.gc-rotd__rule:hover { color: var(--gc-green); }
.gc-rotd__no { font-style: normal; font-weight: 500; color: var(--gc-brass); margin-right: 4px; }
.gc-header--home .gc-nav-row--center { border-bottom: 0; }

.gc-front3 { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr) minmax(0, 370px); grid-template-areas: "side lead latest"; gap: 0; padding-top: 36px; padding-bottom: 64px; align-items: stretch; }
.gc-front3__lead { grid-area: lead; padding: 0 36px; text-align: center; align-items: center; }
.gc-front3__lead .gc-front__img { aspect-ratio: 16 / 10; }
.gc-front3__lead .gc-front__title { font-size: clamp(36px, 3.5vw, 50px); }
.gc-front3__lead .gc-front__dek { font-size: 18px; }
.gc-front3__lead > .gc-kicker::after { content: ""; width: 22px; height: 1px; background: var(--gc-brass); }
.gc-front3__side { grid-area: side; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding-right: 32px; border-right: 1px solid var(--gc-rule); }
.gc-front3__side .gc-card__title { font-size: 26px; line-height: 1.12; }
.gc-front3__side .gc-card__img { aspect-ratio: 5 / 4; }
.gc-front3__latest { grid-area: latest; border-top: 0; padding-top: 0; padding-left: 32px; border-left: 1px solid var(--gc-rule); }
.gc-front3__latest .gc-latest__head { padding-bottom: 4px; }
.gc-front3__latest .gc-latest__list { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }
.gc-front3__latest .gc-latest__img { flex: 0 0 116px; width: 116px; height: 78px; }
.gc-front3__latest .gc-latest__title { font-size: 21px; }
.gc-front3__latest .gc-latest__item { padding: 14px 0; align-items: flex-start; }

.gc-feature { background: var(--gc-ink); color: var(--gc-ivory); }
.gc-feature__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; padding-top: 72px; padding-bottom: 72px; color: var(--gc-ivory); text-decoration: none; }
.gc-feature__inner:hover { color: var(--gc-ivory); }
.gc-feature__img { aspect-ratio: 3 / 2; background: #24211D; }
.gc-feature__text { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.gc-feature__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gc-brass-text); }
.gc-feature__title { font-family: var(--gc-serif); font-weight: 500; font-size: clamp(38px, 4.2vw, 60px); line-height: 1.03; text-wrap: balance; }
.gc-feature__dek { font-family: var(--gc-read); font-size: 19px; line-height: 1.55; color: #C9C1B2; }
.gc-feature__cta { margin-top: 6px; padding-bottom: 5px; border-bottom: 1px solid var(--gc-brass-light); font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }
.gc-feature__inner:hover .gc-feature__cta { color: var(--gc-brass-text); }
.gc-feature__inner:hover .gc-frame img { transform: scale(1.035); }

@media (max-width: 1120px) {
	.gc-front3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "lead lead" "side latest"; row-gap: 44px; }
	.gc-front3__lead { padding: 0; }
	.gc-front3__lead .gc-front__img { aspect-ratio: 2 / 1; }
	.gc-front3__side { justify-content: flex-start; }
}
@media (max-width: 760px) {
	.gc-front3 { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lead" "latest" "side"; padding-top: 22px; row-gap: 36px; padding-bottom: 44px; }
	.gc-front3__side { padding-right: 0; border-right: 0; }
	.gc-front3__latest { padding-left: 0; border-left: 0; border-top: 1px solid var(--gc-ink); padding-top: 12px; }
	.gc-front3__lead .gc-front__img { aspect-ratio: 3 / 2; }
	.gc-rotd__rule { font-size: 19px; }
	.gc-feature__inner { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-top: 44px; padding-bottom: 48px; }
}

/* Cookie choices banner */
.gc-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; max-width: 720px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; padding: 18px 22px; background: var(--gc-ink); color: var(--gc-ivory); border-top: 2px solid var(--gc-brass-light); font-size: 14px; line-height: 1.5; }
#gc-consent.gc-consent[hidden] { display: none; }
.gc-consent__text { flex: 1 1 320px; margin: 0; }
.gc-consent__text a { color: var(--gc-brass-text); }
.gc-consent__buttons { display: flex; gap: 10px; }
.gc-consent__btn { min-height: 44px; padding: 0 20px; border: 1px solid var(--gc-brass-light); background: transparent; color: var(--gc-ivory); font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; }
.gc-consent__btn--yes { background: var(--gc-brass-light); color: var(--gc-ink); }
