/* ==========================================================================
   Glamcheck theme — main stylesheet
   Design tokens (--gc-*) come from style.css. Two breakpoints: >1100px is
   the "desktop" layout from the designs, <=780px is "mobile"; the gap
   between is a fluid tablet step rather than a third fixed layout.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--gc-canvas);
	color: var(--gc-body);
	font-family: var(--gc-font-sans);
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

a { color: var(--gc-accent); text-decoration: none; }
a:hover, a:focus-visible { color: var(--gc-accent-hover); }
img { max-width: 100%; height: auto; display: block; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--gc-accent); outline-offset: 2px; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

::-webkit-scrollbar { height: 6px; width: 6px; }
::-webkit-scrollbar-thumb { background: var(--gc-border-strong); border-radius: 3px; }

.gc-main { background: var(--gc-paper); max-width: 1440px; margin: 0 auto; }

/* ---------- Header ---------- */
.gc-header { background: var(--gc-paper); border-bottom: 1px solid var(--gc-border); }
.gc-header__inner {
	max-width: 1440px; margin: 0 auto; padding: 22px 40px 18px;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
}
.gc-header__search-col { display: flex; align-items: center; }
.gc-search {
	display: flex; align-items: center; gap: 10px; padding: 9px 14px;
	border: 1px solid var(--gc-border-strong); border-radius: 999px;
	max-width: 290px; background: #fff;
}
.gc-search__icon { color: var(--gc-placeholder); font-size: 13px; }
.gc-search__input {
	border: 0; outline: 0; background: transparent; width: 100%;
	font: 400 13px/1 var(--gc-font-sans); color: var(--gc-ink);
}
.gc-search__input::placeholder { color: var(--gc-placeholder); }
.gc-search__toggle {
	display: none; background: none; border: 0; padding: 8px; font-size: 18px; color: var(--gc-ink);
}
.gc-search--mobile { display: none; margin: 0 16px 14px; }

.gc-brand { text-align: center; }
.gc-brand__name {
	display: block; font: 700 32px/1 var(--gc-font-serif); letter-spacing: .06em; color: var(--gc-ink);
	text-transform: uppercase;
}
.gc-header__actions { display: flex; justify-content: flex-end; }
.gc-brand__logo { display: block; }
.gc-brand__logo img { display: block; max-height: 58px; width: auto; }
.gc-btn {
	display: inline-block; padding: 9px 16px; border-radius: 999px;
	font: 600 11.5px/1 var(--gc-font-sans); letter-spacing: .08em; text-transform: uppercase;
}
.gc-btn--outline { border: 1px solid var(--gc-ink); color: var(--gc-ink); }
.gc-btn--outline:hover { background: var(--gc-ink); color: var(--gc-paper); }

/* ---------- Primary nav ---------- */
.gc-nav {
	background: #fff; border-bottom: 1px solid var(--gc-border);
	display: flex; justify-content: center;
}
.gc-nav__toggle { display: none; background: none; border: 0; padding: 12px 16px; color: var(--gc-ink); font-size: 18px; }
.gc-nav__list {
	list-style: none; margin: 0; padding: 0 40px; max-width: 1440px;
	display: flex; justify-content: center; gap: 34px; flex-wrap: wrap;
}
.gc-nav__link {
	display: block; padding: 15px 0; font: 600 12.5px/1 var(--gc-font-sans);
	letter-spacing: .1em; text-transform: uppercase; color: var(--gc-body-dark);
	border-bottom: 2px solid transparent;
}
.gc-nav__link:hover { color: var(--gc-accent); }
.gc-nav__link.is-active { color: var(--gc-ink); border-bottom-color: var(--gc-accent); }
.gc-nav__link--muted { color: var(--gc-meta); }

/* ---------- Breadcrumbs ---------- */
.gc-crumbs {
	max-width: 1440px; margin: 0 auto; padding: 11px 40px; border-bottom: 1px solid var(--gc-border);
	display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
	font: 400 11.5px/1 var(--gc-font-sans); color: var(--gc-meta);
}
.gc-crumbs a { color: var(--gc-meta); }
.gc-crumbs a:hover { color: var(--gc-accent); }
.gc-crumbs__sep { color: var(--gc-border-strong); }
.gc-crumbs__current { color: var(--gc-ink); font-weight: 500; }

/* ---------- Shared bits ---------- */
.gc-eyebrow {
	font: 600 10.5px/1 var(--gc-font-sans); letter-spacing: .14em; text-transform: uppercase;
	color: var(--gc-accent);
}
.gc-meta { font: 400 11.5px/1 var(--gc-font-sans); color: var(--gc-meta); }
.gc-hero__divider { display: inline-block; width: 14px; height: 1px; background: var(--gc-border-strong); vertical-align: middle; }
.gc-link-arrow { font: 600 11px/1 var(--gc-font-sans); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }

.gc-section-title {
	margin: 0; font: 400 26px/1 var(--gc-font-serif); color: var(--gc-ink);
}
.gc-section-title--sm { font-size: 22px; }
.gc-section-title--dark { color: var(--gc-paper); }

.gc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gc-chip {
	padding: 7px 13px; background: #fff; border: 1px solid var(--gc-border);
	font: 500 12px/1 var(--gc-font-sans); color: var(--gc-body-dark);
}
.gc-chip:hover { border-color: var(--gc-accent); color: var(--gc-accent); }

.gc-img--empty {
	width: 100%; height: 100%; min-height: 80px;
	background: linear-gradient(135deg, var(--gc-tint), var(--gc-border));
}

/* ---------- Grids ---------- */
.gc-grid { display: grid; gap: 24px; padding: 0 40px; }
.gc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gc-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gc-grid--tight { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.gc-hub-body__main > .gc-grid,
.gc-hub-body__main > .gc-hub-body__latest-head { padding-left: 0; padding-right: 0; }

/* ---------- Cards ---------- */
.gc-card { display: flex; flex-direction: column; gap: 10px; }
.gc-card__media { display: block; position: relative; width: 100%; aspect-ratio: 3/2; overflow: hidden; }
.gc-card__media img, .gc-card__media .gc-img--empty { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.gc-card__title { margin: 0; font: 400 17px/1.35 var(--gc-font-serif); color: var(--gc-ink); }
.gc-card__title a { color: var(--gc-ink); }
.gc-card__dek { margin: 0; font: 400 13px/1.5 var(--gc-font-sans); color: var(--gc-body); }
.gc-card__meta { font: 400 10.5px/1 var(--gc-font-sans); color: var(--gc-meta); }

.gc-hero { display: flex; flex-direction: column; gap: 14px; }
.gc-hero__media { display: block; position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; }
.gc-hero--md .gc-hero__media { aspect-ratio: 1.15/1; }
.gc-hero__media img, .gc-hero__media .gc-img--empty { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.gc-hero__kicker { display: flex; align-items: center; gap: 10px; }
.gc-hero__title { margin: 0; font: 400 33px/1.22 var(--gc-font-serif); color: var(--gc-ink); }
.gc-hero--md .gc-hero__title { font-size: 26px; line-height: 1.28; }
.gc-hero__title a { color: var(--gc-ink); }
.gc-hero__dek { margin: 0; font: 400 15px/1.65 var(--gc-font-sans); color: var(--gc-body); max-width: 60ch; }
.gc-hero__byline { font: 400 11.5px/1 var(--gc-font-sans); color: var(--gc-meta); }

.gc-hcard { display: flex; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--gc-border); margin-bottom: 18px; }
.gc-hcard__media { display: block; flex: none; position: relative; width: 150px; height: 104px; overflow: hidden; }
.gc-hcard--wide { display: grid; grid-template-columns: 280px 1fr; gap: 22px; align-items: start; }
.gc-hcard--wide .gc-hcard__media { width: 100%; height: 180px; }
.gc-hcard__media img, .gc-hcard__media .gc-img--empty { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.gc-hcard__body { display: flex; flex-direction: column; gap: 6px; }
.gc-hcard--wide .gc-hcard__body { gap: 9px; }
.gc-hcard__kicker { display: flex; align-items: center; gap: 10px; }
.gc-hcard__title { margin: 0; font: 400 17px/1.35 var(--gc-font-serif); color: var(--gc-ink); }
.gc-hcard--wide .gc-hcard__title { font-size: 23px; line-height: 1.3; }
.gc-hcard__title a { color: var(--gc-ink); }
.gc-hcard__dek { margin: 0; font: 400 14.5px/1.65 var(--gc-font-sans); color: var(--gc-body); max-width: 70ch; }

.gc-textlink { display: flex; flex-direction: column; gap: 5px; padding-bottom: 13px; border-bottom: 1px solid var(--gc-border); }
.gc-textlink:last-child { border-bottom: 0; padding-bottom: 0; }
.gc-textlink__title { font: 400 14.5px/1.4 var(--gc-font-serif); color: var(--gc-ink); }
.gc-textlink__meta { font: 400 10.5px/1 var(--gc-font-sans); color: var(--gc-meta); }

/* ---------- Sidebar widgets ---------- */
.gc-ad { display: flex; flex-direction: column; gap: 6px; align-items: center; }
.gc-ad__label { align-self: flex-start; font: 500 9px/1 var(--gc-font-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--gc-placeholder); }
.gc-ad__slot {
	width: 100%; display: flex; align-items: center; justify-content: center;
	background: var(--gc-tint); border: 1px dashed var(--gc-border-strong);
	font: 500 11px/1 var(--gc-font-sans); color: var(--gc-placeholder);
}
.gc-ad__code { width: 100%; overflow: hidden; text-align: center; }

.gc-mostread { display: flex; flex-direction: column; gap: 14px; }
.gc-mostread__heading {
	margin: 0; padding-bottom: 10px; border-bottom: 2px solid var(--gc-ink);
	font: 700 13px/1 var(--gc-font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gc-ink);
}
.gc-mostread__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 13px; }
.gc-mostread__list li { display: flex; gap: 13px; align-items: flex-start; }
.gc-mostread__rank { font: 700 20px/1 var(--gc-font-serif); color: var(--gc-rank); width: 22px; flex: none; }
.gc-mostread__list a { font: 400 14.5px/1.4 var(--gc-font-serif); color: var(--gc-ink); }

.gc-newsletter { padding: 22px; background: var(--gc-ink); color: var(--gc-cream); }
.gc-newsletter__kicker { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-accent); }
.gc-newsletter__heading { margin: 10px 0 8px; font: 400 21px/1.3 var(--gc-font-serif); color: var(--gc-paper); }
.gc-newsletter__body { margin: 0 0 14px; font: 400 12.5px/1.6 var(--gc-font-sans); color: var(--gc-dark-muted-2); }
.gc-newsletter__form { display: flex; gap: 8px; }
.gc-newsletter__input {
	flex: 1; padding: 10px 12px; background: var(--gc-dark-border); border: 0;
	font: 400 12px/1 var(--gc-font-sans); color: var(--gc-paper); min-width: 0;
}
.gc-newsletter__input::placeholder { color: var(--gc-meta); }
.gc-newsletter__submit {
	padding: 10px 15px; background: var(--gc-accent); border: 0;
	font: 600 11px/1 var(--gc-font-sans); letter-spacing: .08em; text-transform: uppercase; color: #fff;
}
.gc-newsletter__submit:hover { background: var(--gc-accent-hover); }

/* ---------- Bands (browse sections / guides / related) ---------- */
.gc-band { padding: 34px 0; }
.gc-band + .gc-band { border-top: 1px solid var(--gc-border); }
.gc-band__head { display: flex; align-items: baseline; justify-content: space-between; padding: 0 40px 12px; border-bottom: 2px solid var(--gc-ink); margin-bottom: 22px; }
.gc-band__intro { margin: -12px 40px 20px; font: 400 13px/1.6 var(--gc-font-sans); color: var(--gc-body); max-width: 70ch; }
.gc-band--dark { background: var(--gc-ink); color: var(--gc-cream); }
.gc-band--dark .gc-band__head { border-bottom-color: var(--gc-dark-border-2); }
.gc-band--dark .gc-band__intro { color: var(--gc-dark-muted); }

.gc-topic-card {
	display: flex; flex-direction: column; gap: 8px; padding: 16px;
	background: #fff; border: 1px solid var(--gc-border);
}
.gc-topic-card:hover { border-color: var(--gc-accent); }
.gc-topic-card__name { font: 400 17px/1.2 var(--gc-font-serif); color: var(--gc-ink); }
.gc-topic-card__count { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .1em; color: var(--gc-accent); }

.gc-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gc-dark-border-2); margin: 0 40px; }
.gc-band:not(.gc-band--dark) .gc-guide-grid { background: var(--gc-border); border: 1px solid var(--gc-border); margin: 0 40px; }
.gc-guide-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--gc-ink); }
.gc-band:not(.gc-band--dark) .gc-guide-card { background: #fff; }
.gc-guide-card:hover { background: #221c15; }
.gc-band:not(.gc-band--dark) .gc-guide-card:hover { background: var(--gc-tint); }
.gc-guide-card__kicker { font: 600 9.5px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-accent); }
.gc-guide-card__title { font: 400 18px/1.35 var(--gc-font-serif); color: var(--gc-paper); }
.gc-band:not(.gc-band--dark) .gc-guide-card__title { color: var(--gc-ink); }
.gc-guide-card__updated { font: 400 11.5px/1 var(--gc-font-sans); color: var(--gc-meta); }

.gc-related-row { display: flex; gap: 14px; padding: 0 40px; }
.gc-related-card { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border: 1px solid var(--gc-border); }
.gc-related-card:hover { border-color: var(--gc-accent); }
.gc-related-card__name { font: 400 17px/1.2 var(--gc-font-serif); color: var(--gc-ink); }
.gc-related-card__meta { font: 400 11.5px/1 var(--gc-font-sans); color: var(--gc-meta); }

/* ---------- Network homepage ---------- */
.gc-network-hero { display: grid; grid-template-columns: 1fr 336px; gap: 36px; padding: 32px 40px 36px; }
.gc-network-hero__lead { grid-column: 1; }
.gc-network-hero__secondary { display: flex; flex-direction: column; gap: 20px; grid-column: 1 / span 1; }
.gc-network-hero { grid-template-areas: "lead aside" "secondary aside"; }
.gc-network-hero__lead { grid-area: lead; }
.gc-network-hero__secondary { grid-area: secondary; flex-direction: row; display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.gc-network-hero__aside { grid-area: aside; display: flex; flex-direction: column; gap: 26px; }

/* ---------- Hub intro (category/site/tag landing) ---------- */
.gc-hub-intro { display: grid; grid-template-columns: 1fr 336px; gap: 44px; padding: 32px 40px 30px; border-bottom: 1px solid var(--gc-border); }
.gc-hub-intro__title { margin: 12px 0 14px; font: 400 42px/1.14 var(--gc-font-serif); color: var(--gc-ink); }
.gc-hub-intro__blurb { margin: 0 0 18px; font: 400 16px/1.7 var(--gc-font-sans); color: var(--gc-body); max-width: 74ch; }
.gc-hub-intro__box { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: var(--gc-tint); border: 1px solid var(--gc-border); align-self: start; }
.gc-hub-intro__box-label { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-meta); }
.gc-hub-intro__box-count { font: 400 32px/1 var(--gc-font-serif); color: var(--gc-ink); }
.gc-hub-intro__box-sub { font: 400 12px/1.5 var(--gc-font-sans); color: var(--gc-body); margin-top: -8px; }

.gc-hub-body { display: grid; grid-template-columns: 1fr 300px; gap: 36px; padding: 32px 40px 34px; }
.gc-hub-body__latest-head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 12px; border-bottom: 2px solid var(--gc-ink); margin: 28px 0 22px; }
.gc-hub-body__aside { display: flex; flex-direction: column; gap: 26px; }

/* ---------- Pagination ---------- */
.gc-pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--gc-border); }
.gc-pagination__links { display: flex; gap: 7px; align-items: center; font: 500 12px/1 var(--gc-font-sans); }
.gc-pagination__links a, .gc-pagination__links span { padding: 8px 13px; border: 1px solid var(--gc-border); background: #fff; color: var(--gc-body-dark); }
.gc-pagination__links .current { background: var(--gc-ink); color: var(--gc-paper); border-color: var(--gc-ink); }
.gc-pagination__links a:hover { border-color: var(--gc-accent); color: var(--gc-accent); }

/* ---------- Topics index ---------- */
.gc-topics { padding: 34px 40px 38px; background: var(--gc-tint); border-top: 1px solid var(--gc-border); }
.gc-topics__intro { margin: 0 0 20px; font: 400 13px/1.6 var(--gc-font-sans); color: var(--gc-body); max-width: 78ch; }
.gc-topics__jump { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; }
.gc-topics__jump a { padding: 6px 11px; background: #fff; border: 1px solid var(--gc-border); font: 600 11.5px/1 var(--gc-font-sans); color: var(--gc-body-dark); }
.gc-topics__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.gc-topics__col { display: flex; flex-direction: column; gap: 10px; scroll-margin-top: 100px; }
.gc-topics__letter { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-meta); padding-bottom: 9px; border-bottom: 1px solid var(--gc-border-strong); }
.gc-topics__tag { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.gc-topics__tag span:first-child { font: 400 13.5px/1.4 var(--gc-font-serif); color: var(--gc-ink); }
.gc-topics__count { font: 500 10.5px/1 var(--gc-font-sans); color: var(--gc-placeholder); }

/* ---------- Article page ---------- */
.gc-progress { height: 3px; background: var(--gc-border); max-width: 1440px; margin: 0 auto; }
.gc-progress__bar { width: 0; height: 3px; background: var(--gc-accent); transition: width .1s linear; }

.gc-article-layout { display: grid; grid-template-columns: 200px minmax(0,1fr) 300px; gap: 40px; padding: 36px 40px 30px; }

.gc-toc { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
.gc-toc__label { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-meta); padding-bottom: 9px; border-bottom: 1px solid var(--gc-border-strong); }
.gc-toc__link { font: 400 12.5px/1.45 var(--gc-font-sans); color: var(--gc-body); border-left: 2px solid var(--gc-border); padding-left: 10px; }
.gc-toc__link--h2 { color: var(--gc-ink); font-weight: 500; border-left-color: var(--gc-accent); }
.gc-toc__link:hover { color: var(--gc-accent); }

.gc-share { display: flex; flex-direction: column; gap: 9px; }
.gc-share__row { display: flex; gap: 7px; }
.gc-share__btn {
	width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--gc-border-strong); background: #fff; font: 600 11px/1 var(--gc-font-sans); color: var(--gc-body-dark);
}
.gc-share__btn:hover { border-color: var(--gc-accent); color: var(--gc-accent); }

.gc-article__title { margin: 14px 0 16px; font: 400 42px/1.15 var(--gc-font-serif); color: var(--gc-ink); text-wrap: pretty; max-width: 720px; }
.gc-article__dek { margin: 0 0 22px; font: 400 19px/1.6 var(--gc-font-sans); color: var(--gc-body-dark); max-width: 720px; }
.gc-article__byline {
	display: flex; align-items: center; gap: 14px; padding: 16px 0;
	border-top: 1px solid var(--gc-border); border-bottom: 1px solid var(--gc-border); margin-bottom: 24px; max-width: 720px;
}
.gc-article__avatar { border-radius: 999px; flex: none; }
.gc-article__byline-text { display: flex; flex-direction: column; gap: 4px; font: 400 13px/1 var(--gc-font-sans); color: var(--gc-ink); }
.gc-article__hero { margin: 0 0 10px; max-width: 720px; }
.gc-article__hero img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top; }
.gc-article__hero figcaption { margin-top: 9px; font: 400 11.5px/1.5 var(--gc-font-sans); color: var(--gc-meta); }

.gc-article__body { max-width: 720px; font: 400 17px/1.75 var(--gc-font-sans); color: var(--gc-article-body); }
.gc-article__body > * + * { margin-top: 18px; }
.gc-article__body p { margin: 0; }
.gc-article__body h2 { font: 400 28px/1.3 var(--gc-font-serif); color: var(--gc-ink); margin-top: 40px; scroll-margin-top: 20px; }
.gc-article__body h3 { font: 600 21px/1.35 var(--gc-font-sans); color: var(--gc-ink); margin-top: 32px; scroll-margin-top: 20px; }
.gc-article__body ul, .gc-article__body ol { padding-left: 22px; }
.gc-article__body li + li { margin-top: 7px; }
.gc-article__body a { text-decoration: underline; text-underline-offset: 2px; }
.gc-article__body img { width: 100%; height: auto; }
.gc-article__body figure { margin: 8px 0 0; }
.gc-article__body figcaption { margin-top: 9px; font: 400 11.5px/1.5 var(--gc-font-sans); color: var(--gc-meta); }
.gc-article__body blockquote {
	margin: 6px 0; padding: 0 0 0 22px; border-left: 3px solid var(--gc-ink);
	font: italic 400 21px/1.55 var(--gc-font-serif); color: var(--gc-ink);
}
.gc-article__body blockquote cite { display: block; margin-top: 10px; font: 400 12px/1 var(--gc-font-sans); font-style: normal; color: var(--gc-meta); }
.gc-article__body table { width: 100%; border-collapse: collapse; border: 1px solid var(--gc-border); font: 400 14px/1.5 var(--gc-font-sans); }
.gc-article__body th, .gc-article__body td { padding: 12px 16px; border-bottom: 1px solid var(--gc-border); text-align: left; }
.gc-article__body th { background: var(--gc-tint); font: 600 10.5px/1 var(--gc-font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gc-meta); }
.gc-article__body details { background: #fff; border: 1px solid var(--gc-border); padding: 16px 18px; }
.gc-article__body summary { font: 600 15px/1.4 var(--gc-font-sans); color: var(--gc-ink); cursor: pointer; }
.gc-article__body .gc-callout,
.gc-article__body pre {
	padding: 20px 22px; background: var(--gc-tint); border-left: 3px solid var(--gc-accent);
	font: 400 14.5px/1.6 var(--gc-font-sans); color: var(--gc-article-body); white-space: pre-wrap;
}

.gc-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--gc-border); max-width: 720px; }
.gc-tags__label { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-meta); margin-right: 4px; }

.gc-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--gc-border); border: 1px solid var(--gc-border); margin-top: 26px; max-width: 720px; }
.gc-post-nav__item { display: flex; flex-direction: column; gap: 7px; padding: 18px; background: #fff; }
.gc-post-nav__item--next { text-align: right; }
.gc-post-nav__label { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gc-meta); }
.gc-post-nav__title { font: 400 16px/1.35 var(--gc-font-serif); color: var(--gc-ink); }

.gc-article-layout__aside { display: flex; flex-direction: column; gap: 26px; }

.gc-toc-mobile { display: none; margin: 18px 0; padding: 14px 16px; background: var(--gc-tint); border: 1px solid var(--gc-border); max-width: 720px; }
.gc-toc-mobile summary { font: 600 11px/1 var(--gc-font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gc-ink); cursor: pointer; }
.gc-toc-mobile__list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; font: 400 13.5px/1.4 var(--gc-font-sans); }
.gc-related-reading { display: flex; flex-direction: column; gap: 14px; }

/* ---------- Comments ---------- */
.gc-comments { padding: 0 40px 40px; max-width: 1020px; }
.gc-comment-list { list-style: none; margin: 20px 0; padding: 0; }
.gc-comment-list .children { list-style: none; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea {
	width: 100%; padding: 10px 12px; border: 1px solid var(--gc-border-strong); font: inherit; background: #fff;
}
.comment-form p { margin: 0 0 14px; }
.comment-form label { display: block; margin-bottom: 6px; font: 600 12px/1 var(--gc-font-sans); color: var(--gc-ink); }

/* ---------- Contact form (glamcheck-contact plugin shortcode) ---------- */
.gc-contact-form { max-width: 560px; }
.gc-contact-form p { margin: 0 0 14px; }
.gc-contact-form label { display: block; margin-bottom: 6px; font: 600 12px/1 var(--gc-font-sans); color: var(--gc-ink); }
.gc-contact-form__input {
	width: 100%; padding: 10px 12px; border: 1px solid var(--gc-border-strong);
	font: 400 14px/1.4 var(--gc-font-sans); color: var(--gc-ink); background: #fff;
}
textarea.gc-contact-form__input { resize: vertical; }
.gc-contact-form__submit {
	padding: 12px 22px; background: var(--gc-ink); border: 0;
	font: 600 11px/1 var(--gc-font-sans); letter-spacing: .08em; text-transform: uppercase; color: #fff; cursor: pointer;
}
.gc-contact-form__submit:hover { background: var(--gc-accent); }
.gc-contact-form--done { padding: 22px; background: var(--gc-tint); border: 1px solid var(--gc-border); }

/* ---------- Google Custom Search results (glamcheck-google-search) ----------
 * Reskins Google's own "Search results only" element (search.php's
 * .gcse-searchresults-only) to read as part of this theme instead of a
 * foreign Google box — same serif titles, same meta/border colors as
 * every other list of results on the site. Deliberately does NOT touch
 * Google's own layout/structure (no display/width/height overrides): its
 * JS computes thumbnail and column sizing itself, and fighting that is
 * how these reskins break. Only color, type, spacing and the image crop
 * are overridden — the "Powered by Google" attribution is left alone
 * on purpose, not hidden (it's part of the free product's terms).
 */
.gsc-control-cse.gsc-control-cse {
	font-family: var(--gc-font-sans);
	padding: 0;
	border: 0;
	background: transparent;
}
.gsc-results .gsc-webResult.gsc-result,
.gsc-results .gsc-result.gsc-no-results-result {
	padding: 0 0 18px;
	margin: 0 0 18px;
	border: 0;
	border-bottom: 1px solid var(--gc-border);
	background: transparent;
}
.gsc-title-c { text-decoration: none; }
.gs-title, .gs-title * ,
a.gs-title, a.gs-title:visited, a.gs-title * {
	color: var(--gc-ink) !important;
	font: 400 19px/1.35 var(--gc-font-serif) !important;
	text-decoration: none !important;
}
.gs-title:hover, a.gs-title:hover, a.gs-title:hover * {
	color: var(--gc-accent) !important;
	text-decoration: underline !important;
}
.gs-snippet, .gs-snippet * {
	color: var(--gc-body) !important;
	font: 400 14px/1.6 var(--gc-font-sans) !important;
}
.gs-visibleUrl, .gs-visibleUrl-short, .gs-visibleUrl-long {
	color: var(--gc-meta) !important;
	font: 400 11.5px/1 var(--gc-font-sans) !important;
}
.gsc-url-top { margin: 0 0 4px; }
.gs-image, .gsc-thumbnail-inside img { object-fit: cover; object-position: top; }
.gsc-cursor-box { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--gc-border); }
.gsc-cursor-box .gsc-cursor-page {
	font: 500 12px/1 var(--gc-font-sans) !important;
	color: var(--gc-body-dark) !important;
	padding: 8px 13px;
	border: 1px solid var(--gc-border);
	background: #fff;
	margin: 0 4px 0 0;
	text-decoration: none;
}
.gsc-cursor-box .gsc-cursor-page:hover { border-color: var(--gc-accent); color: var(--gc-accent) !important; }
.gsc-cursor-box .gsc-cursor-current-page {
	background: var(--gc-ink) !important; color: var(--gc-paper) !important; border-color: var(--gc-ink);
}
.gcsc-find-more-on-google, .gcsc-branding-text { color: var(--gc-meta); font: 400 11px/1.4 var(--gc-font-sans) !important; }

/* ---------- Static pages ---------- */
.gc-page { padding: 36px 40px 40px; max-width: 900px; }
.gc-page__title { font: 400 38px/1.2 var(--gc-font-serif); color: var(--gc-ink); margin: 0 0 22px; }

/* ---------- Footer ---------- */
.gc-footer { background: var(--gc-ink-deep); color: var(--gc-meta); }
.gc-footer__grid { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 1.3fr repeat(5, 1fr); gap: 34px; padding: 40px 40px 30px; border-bottom: 1px solid var(--gc-dark-border); }
.gc-footer__logo { font: 700 22px/1 var(--gc-font-serif); letter-spacing: .06em; color: var(--gc-paper); }
.gc-footer__brand p { margin: 12px 0 0; font: 400 12px/1.7 var(--gc-font-sans); max-width: 34ch; }
.gc-footer__col { display: flex; flex-direction: column; gap: 9px; }
.gc-footer__col-head { font: 600 10px/1 var(--gc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gc-dark-label); }
.gc-footer__col-head--static { cursor: default; }
.gc-footer__col a:not(.gc-footer__col-head) { font: 400 12px/1 var(--gc-font-sans); color: var(--gc-meta); }
.gc-footer__col a:hover { color: var(--gc-paper); }
.gc-footer__bottom { max-width: 1440px; margin: 0 auto; display: flex; justify-content: space-between; padding: 18px 40px; font: 400 11px/1 var(--gc-font-sans); flex-wrap: wrap; gap: 10px; }
.gc-footer__legal { display: flex; gap: 18px; }
.gc-footer__legal a { color: var(--gc-meta); }
.gc-footer__legal a:hover { color: var(--gc-paper); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.gc-hub-intro, .gc-hub-body { grid-template-columns: 1fr; }
	.gc-article-layout { grid-template-columns: 1fr; }
	.gc-article-layout__toc { display: none; }
	.gc-toc-mobile { display: block; }
	.gc-network-hero { grid-template-columns: 1fr; grid-template-areas: "lead" "secondary" "aside"; }
	.gc-network-hero__secondary { grid-template-columns: 1fr 1fr; }
	.gc-grid--4, .gc-grid--tight { grid-template-columns: repeat(2, 1fr); }
	.gc-topics__cols { grid-template-columns: repeat(2, 1fr); }
	.gc-footer__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 780px) {
	.gc-header__inner, .gc-nav__list, .gc-crumbs,
	.gc-hub-intro, .gc-hub-body, .gc-article-layout, .gc-band__head,
	.gc-band__intro, .gc-grid, .gc-guide-grid, .gc-related-row, .gc-comments, .gc-page,
	.gc-network-hero, .gc-footer__grid, .gc-footer__bottom {
		padding-left: 16px; padding-right: 16px;
	}
	.gc-header__inner { grid-template-columns: auto 1fr auto; padding-top: 13px; padding-bottom: 13px; }
	.gc-header__search-col .gc-search { display: none; }
	.gc-search__toggle { display: block; }
	.gc-search--mobile.is-open { display: flex; }
	.gc-brand__name { font-size: 19px; }
	.gc-brand__logo img { max-height: 40px; }

	.gc-nav__toggle { display: block; }
	.gc-nav__list {
		display: none; position: absolute; left: 0; right: 0; z-index: 20;
		background: #fff; border-bottom: 1px solid var(--gc-border);
		flex-direction: column; gap: 0; padding: 8px 16px;
	}
	.gc-nav.is-open .gc-nav__list { display: flex; }
	.gc-nav__link { padding: 12px 0; border-bottom: 1px solid var(--gc-border); }

	.gc-grid--3, .gc-grid--4, .gc-grid--tight { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.gc-guide-grid { grid-template-columns: 1fr; }
	.gc-topics__cols { grid-template-columns: 1fr; }
	.gc-related-row { flex-direction: column; }
	.gc-footer__grid { grid-template-columns: 1fr 1fr; padding-top: 24px; }
	.gc-footer__bottom { flex-direction: column; }

	.gc-hero__title, .gc-hub-intro__title, .gc-article__title { font-size: 27px; line-height: 1.2; }
	.gc-article__dek { font-size: 16px; }
	.gc-article__body { font-size: 16.5px; }
	.gc-hcard--wide { grid-template-columns: 1fr; }
	.gc-hcard--wide .gc-hcard__media { height: 200px; }
	.gc-post-nav { grid-template-columns: 1fr; }
	.gc-post-nav__item--next { text-align: left; }
}
