/*
Theme Name:   Grammar Wisdom
Theme URI:    https://grammarwisdom.com/
Description:  Kadence child theme for Grammar Wisdom — evergreen and quill gold from the logo, Newsreader display over Atkinson Hyperlegible Next text.
Author:       Grammar Wisdom
Template:     kadence
Version:      1.0.0
Text Domain:  grammarwisdom
*/

/* ==========================================================================
   1. Tokens
   Brand colours are sampled from the logo: ink #1A3732, quill #AA8C64.
   Contrast (WCAG): ink on paper 12.3:1 · muted on paper 5.5:1 ·
   gold-ink on white 6.0:1 · raw quill gold is decoration only (3.2:1).
   ========================================================================== */

:root {
	--gw-ever: #1A3732;
	--gw-ever-2: #24493F;
	--gw-ever-deep: #10241F;
	--gw-ever-tint: #EDF3F0;
	--gw-ever-tint-2: #DCE8E2;
	--gw-gold: #AA8C64;
	--gw-gold-soft: #C9AE84;
	--gw-gold-ink: #7A5E36;
	--gw-gold-tint: #F6EFE3;
	--gw-mark: #F5E6BD;
	--gw-paper: #FBFAF6;
	--gw-paper-2: #F4F1EA;
	--gw-white: #FFFFFF;
	--gw-ink: #1B2421;
	--gw-ink-2: #3B4642;
	--gw-muted: #5E6863;
	--gw-line: #E5E0D5;
	--gw-line-2: #D2CBBC;
	--gw-good: #237047;
	--gw-good-bg: #E8F4EC;
	--gw-bad: #A4352F;
	--gw-bad-bg: #FBEDEB;

	--gw-display: 'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
	--gw-text: 'Atkinson Hyperlegible Next', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

	--gw-r: 14px;
	--gw-r-sm: 9px;
	--gw-shadow: 0 1px 2px rgba(16, 36, 31, .05), 0 6px 20px rgba(16, 36, 31, .06);
	--gw-shadow-lift: 0 2px 4px rgba(16, 36, 31, .06), 0 14px 32px rgba(16, 36, 31, .10);
	--gw-ease: cubic-bezier(.2, .7, .2, 1);
	--gw-wrap: 1200px;
	--gw-prose: 44rem;

	/* Kadence reads these; pointing them at the brand keeps its own widgets on-palette. */
	--global-body-font-family: var(--gw-text);
	--global-heading-font-family: var(--gw-display);
	--global-palette-highlight: var(--gw-ever);
	--global-palette-highlight-alt: var(--gw-ever-2);
}

/* ==========================================================================
   2. Base
   ========================================================================== */

html { scroll-padding-top: 24px; }
body {
	background: var(--gw-paper);
	color: var(--gw-ink);
	font-family: var(--gw-text);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--gw-display);
	color: var(--gw-ink);
	font-weight: 600;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
a { color: var(--gw-ever); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--gw-ever-2); }
::selection { background: var(--gw-mark); color: var(--gw-ink); }
:focus-visible { outline: 2px solid var(--gw-ever); outline-offset: 3px; border-radius: 4px; }
.gw-icon { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; }
mark { background: linear-gradient(transparent 38%, var(--gw-mark) 38%, var(--gw-mark) 92%, transparent 92%); color: inherit; padding: 0 .08em; }

.gw-wrap { max-width: var(--gw-wrap); margin: 0 auto; padding: 0 var(--global-content-edge-padding, 1.5rem); }
.gw-eyebrow {
	display: inline-flex; align-items: center; gap: .45em;
	margin: 0 0 .9rem; font: 700 .78rem/1.2 var(--gw-text);
	letter-spacing: .09em; text-transform: uppercase; color: var(--gw-gold-ink);
}
.gw-eyebrow .gw-icon { color: var(--gw-gold); width: 1.25em; height: 1.25em; }

/* Buttons */
.gw-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 46px; padding: .7em 1.3em; border-radius: 999px; border: 1px solid transparent;
	font: 700 .95rem/1.2 var(--gw-text); text-decoration: none; cursor: pointer;
	transition: background-color .2s var(--gw-ease), color .2s var(--gw-ease), border-color .2s var(--gw-ease), transform .2s var(--gw-ease);
}
.gw-btn:hover { transform: translateY(-1px); }
.gw-btn--primary { background: var(--gw-ever); color: #fff; }
.gw-btn--primary:hover { background: var(--gw-ever-2); color: #fff; }
.gw-btn--ghost { background: transparent; color: var(--gw-ever); border-color: var(--gw-line-2); }
.gw-btn--ghost:hover { border-color: var(--gw-ever); color: var(--gw-ever); background: var(--gw-white); }
.gw-btn--gold { background: var(--gw-gold-soft); color: var(--gw-ink); }
.gw-btn--gold:hover { background: #D6BF98; color: var(--gw-ink); }
.gw-btn--onDark { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .35); }
.gw-btn--onDark:hover { color: #fff; border-color: #fff; }
.gw-btn .gw-icon { width: 1.05em; height: 1.05em; }

.gw-link-arrow {
	display: inline-flex; align-items: center; gap: .35em;
	font-weight: 700; font-size: .95rem; color: var(--gw-ever); text-decoration: none;
}
.gw-link-arrow .gw-icon { transition: transform .2s var(--gw-ease); width: 1em; height: 1em; }
.gw-link-arrow:hover .gw-icon { transform: translateX(3px); }
.gw-link-arrow:hover { text-decoration: underline; text-decoration-color: var(--gw-gold); }

/* Chips */
.gw-chip {
	display: inline-flex; align-items: center; gap: .4em;
	padding: .34em .8em .34em .65em; border-radius: 999px;
	background: var(--gw-ever-tint); color: var(--gw-ever);
	font: 700 .8rem/1.2 var(--gw-text); letter-spacing: .02em; text-decoration: none;
	border: 1px solid var(--gw-ever-tint-2);
}
.gw-chip:hover { background: var(--gw-ever-tint-2); color: var(--gw-ever); }
.gw-chip .gw-icon { width: 1.1em; height: 1.1em; }

/* Search form */
.gw-search {
	position: relative; display: flex; align-items: center; gap: 8px;
	max-width: 640px; padding: 6px 6px 6px 48px;
	background: var(--gw-white); border: 1.5px solid var(--gw-line-2); border-radius: 999px;
	box-shadow: var(--gw-shadow); transition: border-color .2s, box-shadow .2s;
}
.gw-search:focus-within { border-color: var(--gw-ever); box-shadow: 0 0 0 4px rgba(26, 55, 50, .12), var(--gw-shadow); }
.gw-search__icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--gw-muted); }
.gw-search input.gw-search__input {
	flex: 1; min-width: 0; height: 46px; padding: 0 8px; border: 0; background: transparent;
	font: 400 1rem var(--gw-text); color: var(--gw-ink); box-shadow: none; outline: none;
}
.gw-search input.gw-search__input::placeholder { color: var(--gw-muted); opacity: 1; }
.gw-search .gw-search__btn { min-height: 46px; padding: .6em 1.4em; }

/* Section heads */
.gw-sec { padding: clamp(56px, 7vw, 88px) 0; }
.gw-sec--tint { background: var(--gw-paper-2); border-block: 1px solid var(--gw-line); }
.gw-sechead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 28px; }
.gw-sechead__title { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.15rem); line-height: 1.15; }
.gw-sechead__note { margin: 0; color: var(--gw-muted); font-size: 1rem; }

/* Grids */
.gw-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .gw-grid--3, .gw-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .gw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Cards */
.gw-card {
	position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%;
	padding: 20px 22px 18px; background: var(--gw-white);
	border: 1px solid var(--gw-line); border-radius: var(--gw-r);
	transition: border-color .2s var(--gw-ease), box-shadow .2s var(--gw-ease), transform .2s var(--gw-ease);
}
.gw-card:hover { border-color: var(--gw-ever-tint-2); box-shadow: var(--gw-shadow-lift); transform: translateY(-2px); }
.gw-card__topic {
	display: inline-flex; align-items: center; gap: .4em; align-self: flex-start;
	font: 700 .74rem/1.2 var(--gw-text); letter-spacing: .08em; text-transform: uppercase; color: var(--gw-gold-ink);
}
.gw-card__topic .gw-icon { width: 1.2em; height: 1.2em; color: var(--gw-gold); }
.gw-card .gw-card__title { margin: 0; font-family: var(--gw-display); font-size: 1.22rem; line-height: 1.25; font-weight: 600; }
.gw-card__title a { color: var(--gw-ink); text-decoration: none; }
.gw-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.gw-card:hover .gw-card__title a { color: var(--gw-ever); }
.gw-card__title a:focus-visible { outline: none; }
.gw-card:has(.gw-card__title a:focus-visible) { outline: 2px solid var(--gw-ever); outline-offset: 2px; }
.gw-card__sub {
	margin: 0; color: var(--gw-muted); font-size: .92rem; line-height: 1.45;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gw-card__meta { margin: auto 0 0; padding-top: 10px; border-top: 1px dashed var(--gw-line); color: var(--gw-muted); font-size: .84rem; }

.gw-stretch::after { content: ""; position: absolute; inset: 0; }

/* Breadcrumbs */
.gw-crumbs { margin: 0 0 18px; font-size: .88rem; color: var(--gw-muted); }
.gw-crumbs .rank-math-breadcrumb p { margin: 0; }
.gw-crumbs a { color: var(--gw-muted); text-decoration: none; }
.gw-crumbs a:hover { color: var(--gw-ever); text-decoration: underline; }
.gw-crumbs .separator { margin: 0 .45em; color: var(--gw-line-2); }
.gw-crumbs .last { color: var(--gw-ink-2); }

/* ==========================================================================
   3. Header (Kadence builder)
   ========================================================================== */

#masthead .site-main-header-wrap .site-header-row-container-inner {
	background: var(--gw-white);
	border-bottom: 1px solid var(--gw-line);
}
#masthead .site-branding a.brand img.custom-logo { max-height: 60px !important; width: auto; }
.header-navigation .header-menu-container > ul > li.menu-item > a {
	font-family: var(--gw-text); font-weight: 700; font-size: .95rem; color: var(--gw-ink-2);
	padding: .55em .85em; border-radius: 999px;
	transition: background-color .2s var(--gw-ease), color .2s var(--gw-ease);
}
.header-navigation .header-menu-container > ul > li.menu-item > a:hover { background: var(--gw-ever-tint); color: var(--gw-ever); }
.header-navigation .header-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current-menu-ancestor > a { color: var(--gw-ever); background: var(--gw-ever-tint); }
.header-navigation .header-menu-container > ul > li.menu-item > a::after { display: none; }

.search-toggle-open-container .search-toggle-open {
	width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 999px;
	color: var(--gw-ever); border: 1px solid var(--gw-line-2); background: var(--gw-white);
}
.search-toggle-open-container .search-toggle-open:hover { background: var(--gw-ever-tint); color: var(--gw-ever); border-color: var(--gw-ever-tint-2); }
.search-toggle-open-container .search-toggle-open .search-toggle-icon { font-size: 1.05rem; }

/* Search overlay */
#search-drawer .drawer-inner { background: rgba(16, 36, 31, .96); }
#search-drawer .drawer-inner form ::placeholder { color: rgba(255, 255, 255, .7); }
#search-drawer .drawer-inner .search-field { font-family: var(--gw-display); font-size: 1.6rem; color: #fff; border-color: rgba(255, 255, 255, .35); }

/* Mobile */
.menu-toggle-open { color: var(--gw-ever); }
.menu-toggle-open:hover, .menu-toggle-open:focus { color: var(--gw-ever-2); }
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner { background: var(--gw-white); color: var(--gw-ink); }
#mobile-drawer .drawer-header .drawer-toggle, .popup-drawer .drawer-header .drawer-toggle { color: var(--gw-ink); }
#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .mobile-navigation ul li > .drawer-nav-drop-wrap > a {
	font: 700 1.05rem/1.3 var(--gw-text); color: var(--gw-ink); padding: .95em 0;
}
#mobile-drawer .mobile-navigation ul li { border-bottom: 1px solid var(--gw-line); }
#mobile-drawer .mobile-navigation ul li.current-menu-item > a { color: var(--gw-ever); }

/* ==========================================================================
   4. Home
   ========================================================================== */

.gw-hero {
	position: relative; overflow: hidden;
	padding: clamp(48px, 7vw, 96px) 0 0;
	background:
		radial-gradient(900px 420px at 88% -10%, rgba(170, 140, 100, .16), transparent 70%),
		radial-gradient(700px 380px at -5% 110%, rgba(26, 55, 50, .08), transparent 70%),
		var(--gw-paper);
	border-bottom: 1px solid var(--gw-line);
}
.gw-hero__grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 1000px) { .gw-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 64px; } }
.gw-hero__title {
	margin: 0 0 18px; font-size: clamp(2.3rem, 5.2vw, 3.7rem); line-height: 1.04; font-weight: 600;
	letter-spacing: -0.02em; color: var(--gw-ever);
}
.gw-hero__lede { margin: 0 0 28px; max-width: 36rem; font-size: clamp(1.05rem, 1.6vw, 1.2rem); line-height: 1.6; color: var(--gw-ink-2); }
.gw-hero__try { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 18px 0 0; font-size: .9rem; color: var(--gw-muted); }
.gw-hero__try span { font-weight: 700; }
.gw-hero__try a {
	padding: .3em .8em; border-radius: 999px; background: var(--gw-white); border: 1px solid var(--gw-line);
	color: var(--gw-ink-2); text-decoration: none;
}
.gw-hero__try a:hover { border-color: var(--gw-ever); color: var(--gw-ever); }

.gw-specimen { display: grid; gap: 14px; }
.gw-specimen__card {
	display: grid; gap: 4px; padding: 18px 22px; text-decoration: none;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r);
	box-shadow: var(--gw-shadow); transition: transform .25s var(--gw-ease), box-shadow .25s var(--gw-ease);
}
.gw-specimen__card:nth-child(2) { margin-left: clamp(0px, 4vw, 40px); }
.gw-specimen__card:nth-child(3) { margin-left: clamp(0px, 1.5vw, 16px); }
.gw-specimen__card:hover { transform: translateY(-2px); box-shadow: var(--gw-shadow-lift); }
.gw-specimen__kind { display: inline-flex; align-items: center; gap: .45em; font: 700 .74rem/1.2 var(--gw-text); letter-spacing: .08em; text-transform: uppercase; color: var(--gw-gold-ink); }
.gw-specimen__kind .gw-icon { color: var(--gw-gold); }
.gw-specimen__phrase { font: italic 500 1.65rem/1.2 var(--gw-display); color: var(--gw-ever); }
.gw-specimen__gloss { font-size: .95rem; color: var(--gw-muted); }

.gw-stats {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;
	margin: clamp(40px, 6vw, 72px) 0 0; padding: 0; list-style: none;
	border-top: 1px solid var(--gw-line);
}
.gw-stats li { padding: 20px 8px; color: var(--gw-muted); font-size: .95rem; border-bottom: 1px solid var(--gw-line); }
.gw-stats strong { display: block; font: 600 1.7rem/1.1 var(--gw-display); color: var(--gw-ever); }
@media (min-width: 800px) {
	.gw-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gw-stats li { border-bottom: 0; padding: 26px 0 30px; }
	.gw-stats li + li { padding-left: 28px; border-left: 1px solid var(--gw-line); }
}

.gw-intent {
	position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r);
	transition: border-color .2s var(--gw-ease), box-shadow .2s var(--gw-ease), transform .2s var(--gw-ease);
}
.gw-intent:hover { border-color: var(--gw-ever-tint-2); box-shadow: var(--gw-shadow-lift); transform: translateY(-2px); }
.gw-intent__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--gw-ever); color: var(--gw-gold-soft); }
.gw-intent__icon .gw-icon { width: 24px; height: 24px; }
.gw-intent .gw-intent__title { margin: 6px 0 0; font-size: 1.35rem; line-height: 1.2; }
.gw-intent__title a { color: var(--gw-ink); text-decoration: none; }
.gw-intent p { margin: 0; color: var(--gw-ink-2); font-size: .98rem; }
.gw-intent .gw-inline { position: relative; z-index: 2; }
.gw-intent__go { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: .35em; font-weight: 700; color: var(--gw-ever); font-size: .95rem; }
.gw-intent__go .gw-icon { width: 1em; height: 1em; transition: transform .2s var(--gw-ease); }
.gw-intent:hover .gw-intent__go .gw-icon { transform: translateX(3px); }

.gw-topics { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .gw-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
	.gw-topics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.gw-topic { grid-column: span 2; }
	.gw-topic--other-ways-to-say, .gw-topic--words-and-writing { grid-column: span 3; }
}
.gw-topic {
	display: flex; flex-direction: column; gap: 12px; padding: 24px;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r);
}
.gw-topic__head { display: flex; align-items: center; gap: 14px; }
.gw-topic__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--gw-gold-tint); color: var(--gw-gold-ink); flex: none; }
.gw-topic .gw-topic__title { margin: 0; font-size: 1.4rem; line-height: 1.15; }
.gw-topic__title a { color: var(--gw-ink); text-decoration: none; }
.gw-topic__title a:hover { color: var(--gw-ever); }
.gw-topic__count { margin: 2px 0 0; font-size: .85rem; color: var(--gw-muted); }
.gw-topic__short { margin: 0; color: var(--gw-ink-2); font-size: .97rem; }
.gw-topic__short em { font-family: var(--gw-display); font-size: 1.05em; color: var(--gw-ever); }
.gw-topic__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--gw-line); }
.gw-topic__list li { border-bottom: 1px solid var(--gw-line); }
.gw-topic__list a { display: block; padding: 9px 0; color: var(--gw-ink); text-decoration: none; font-size: .96rem; }
.gw-topic__list a:hover { color: var(--gw-ever); text-decoration: underline; text-decoration-color: var(--gw-gold); }
.gw-topic .gw-link-arrow { margin-top: auto; }

.gw-kind {
	display: flex; flex-direction: column; gap: 10px; padding: 26px;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r);
	border-top: 3px solid var(--gw-ever);
}
.gw-kind:nth-child(2) { border-top-color: var(--gw-gold); }
.gw-kind:nth-child(3) { border-top-color: var(--gw-ever-2); }
.gw-kind p { margin: 0; }
.gw-kind__label { display: inline-flex; align-items: center; gap: .45em; font: 600 1.35rem/1.2 var(--gw-display); color: var(--gw-ever); }
.gw-kind__label .gw-icon { color: var(--gw-gold); }
.gw-kind__def { color: var(--gw-ink-2); }
.gw-kind__ex { font: italic 500 1.3rem/1.35 var(--gw-display); color: var(--gw-ink); padding: 12px 0; border-block: 1px dashed var(--gw-line); }
.gw-kind__means { font-size: .95rem; color: var(--gw-muted); }
.gw-kind .gw-link-arrow { margin-top: auto; padding-top: 6px; }
.gw-tip {
	display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 0; padding: 16px 20px;
	background: var(--gw-gold-tint); border: 1px solid #EADFCB; border-radius: var(--gw-r-sm); color: var(--gw-ink-2);
}
.gw-tip .gw-icon { color: var(--gw-gold-ink); margin-top: 3px; }

.gw-how { display: grid; gap: 40px; align-items: start; }
@media (min-width: 1000px) { .gw-how { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; } }
.gw-how__intro p { color: var(--gw-ink-2); margin: 14px 0 22px; font-size: 1.05rem; }
.gw-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: gwstep; }
@media (min-width: 640px) { .gw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gw-steps li {
	counter-increment: gwstep; position: relative; display: flex; gap: 14px; align-items: flex-start;
	padding: 18px 18px 18px 18px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r-sm);
}
.gw-steps li > .gw-icon { width: 38px; height: 38px; padding: 8px; border-radius: 10px; background: var(--gw-ever-tint); color: var(--gw-ever); }
.gw-steps li::after { content: counter(gwstep, decimal-leading-zero); position: absolute; top: 14px; right: 16px; font: 600 .8rem var(--gw-display); color: var(--gw-gold); }
.gw-steps strong { display: block; font-size: 1rem; color: var(--gw-ink); }
.gw-steps span { display: block; font-size: .92rem; color: var(--gw-muted); line-height: 1.5; }

.gw-cta { background: var(--gw-ever); color: #E9E4D8; }
.gw-cta__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; padding-block: clamp(44px, 6vw, 64px); }
.gw-cta .gw-cta__title { margin: 0 0 6px; color: #fff; font-size: clamp(1.6rem, 2.8vw, 2.2rem); }
.gw-cta p { margin: 0; max-width: 34rem; }
.gw-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ==========================================================================
   5. Guide (single post)
   ========================================================================== */

/* Header band */
.post-hero-section .entry-hero-container-inner,
.page-hero-section .entry-hero-container-inner {
	background: var(--gw-paper-2);
	border-bottom: 1px solid var(--gw-line);
}
.post-hero-section .hero-section-overlay, .page-hero-section .hero-section-overlay { display: none; }
.entry-hero .hero-container { padding-top: clamp(28px, 4vw, 44px); padding-bottom: clamp(28px, 4vw, 40px); }
.entry-hero .entry-header { text-align: left; min-height: 0; align-items: flex-start; }
.gw-posthead, .gw-pagehead, .gw-archhead { width: 100%; margin-right: auto; }
.gw-posthead { max-width: 52rem; }
.gw-posthead .gw-chip--hero { margin-bottom: 14px; }
.gw-posthead__title {
	margin: 0 0 14px; font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.1; color: var(--gw-ink); letter-spacing: -0.015em;
}
.gw-posthead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 0; color: var(--gw-muted); font-size: .92rem; }
.gw-posthead__meta span { display: inline-flex; align-items: center; gap: .4em; }
.gw-posthead__meta span + span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--gw-line-2); margin-right: 14px; }
.gw-posthead__meta .gw-icon { width: 1em; height: 1em; }
@media (max-width: 640px) {
	.gw-posthead__meta { gap: 2px 14px; }
	.gw-posthead__meta span + span::before { display: none; }
}
.gw-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.gw-facts li {
	display: inline-flex; align-items: center; gap: .45em; padding: .4em .85em;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: 999px;
	font-size: .86rem; font-weight: 700; color: var(--gw-ink-2);
}
.gw-facts .gw-icon { color: var(--gw-gold-ink); width: 1.05em; height: 1.05em; }

/* Layout: article + rail inside Kadence's sidebar grid */
body.gw-guide .content-area { margin-top: clamp(28px, 4vw, 48px); margin-bottom: 64px; }
@media (min-width: 1025px) {
	body.gw-guide.has-sidebar .content-container.site-container { grid-template-columns: minmax(0, 1fr) 272px; column-gap: 56px; }
}
body.gw-guide .primary-sidebar { padding-top: 0; }
body.gw-guide .primary-sidebar .sidebar-inner-wrap { position: sticky; top: 24px; }
@media (max-width: 1024px) { body.gw-guide .primary-sidebar { display: none; } }
body.gw-guide article.entry { background: transparent; box-shadow: none; }
body.gw-guide .entry-content-wrap { padding: 0; }

/* Rail */
.gw-rail { display: grid; gap: 16px; max-height: calc(100vh - 48px); overflow: auto; overscroll-behavior: contain; padding-right: 4px; scrollbar-width: thin; }
.gw-rail__label { display: flex; align-items: center; gap: .5em; margin: 0 0 10px; font: 700 .76rem/1.2 var(--gw-text); letter-spacing: .09em; text-transform: uppercase; color: var(--gw-gold-ink); }
.gw-rail__label .gw-icon { color: var(--gw-gold); }
.gw-toc, .gw-railbox { padding: 18px 18px 14px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r); }
.gw-toc__list { margin: 0; padding: 0; list-style: none; counter-reset: gwtoc; }
.gw-toc__list li { counter-increment: gwtoc; }
.gw-toc__list a {
	position: relative; display: block; padding: 6px 8px 6px 30px; border-radius: 8px;
	color: var(--gw-ink-2); text-decoration: none; font-size: .9rem; line-height: 1.35;
}
.gw-toc__list a::before { content: counter(gwtoc, decimal-leading-zero); position: absolute; left: 6px; top: 7px; font: 600 .74rem var(--gw-display); color: var(--gw-gold); }
.gw-toc__list a:hover { background: var(--gw-paper-2); color: var(--gw-ever); }
.gw-toc__list a.is-current { background: var(--gw-ever-tint); color: var(--gw-ever); font-weight: 700; }
.gw-railbox ul { margin: 0; padding: 0; list-style: none; }
.gw-railbox li + li { border-top: 1px solid var(--gw-line); }
.gw-railbox li a { display: block; padding: 8px 0; font-size: .9rem; color: var(--gw-ink); text-decoration: none; line-height: 1.35; }
.gw-railbox li a:hover { color: var(--gw-ever); text-decoration: underline; text-decoration-color: var(--gw-gold); }
.gw-railbox__all { display: inline-flex; align-items: center; gap: .35em; margin-top: 8px; font-size: .88rem; font-weight: 700; text-decoration: none; }
.gw-railbox__all .gw-icon { width: 1em; height: 1em; }

/* Mobile contents */
.gw-toc-m { margin: 0 0 28px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r); }
.gw-toc-m summary {
	display: flex; align-items: center; gap: .55em; padding: 14px 18px; cursor: pointer; list-style: none;
	font-weight: 700; color: var(--gw-ever); min-height: 48px;
}
.gw-toc-m summary::-webkit-details-marker { display: none; }
.gw-toc-m summary::after { content: ""; margin-left: 8px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.gw-toc-m[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.gw-toc-m__n { margin-left: auto; font-weight: 400; font-size: .85rem; color: var(--gw-muted); }
.gw-toc-m .gw-toc__list { padding: 0 10px 12px; }
@media (min-width: 1025px) { .gw-toc-m { display: none; } }

/* Prose */
/* Text runs at ~70 characters a line; tables, practice and FAQ cards take the full column. */
body.gw-guide .entry-content.single-content { max-width: 48rem; font-size: 1.1rem; line-height: 1.75; color: var(--gw-ink); }
body.gw-guide .entry-content.single-content > :is(p, ul, ol:not(.gw-faq), h2, h3, h4, blockquote) { max-width: 40rem; }
body.gw-guide .entry-content.single-content > p,
body.gw-guide .entry-content.single-content > ul,
body.gw-guide .entry-content.single-content > ol { margin: 0 0 1.15em; }
body.gw-guide .entry-content.single-content .gw-lede { font-size: 1.22rem; line-height: 1.6; color: var(--gw-ink-2); margin-bottom: 1.6em; }
body.gw-guide .entry-content.single-content h2 { scroll-margin-top: 24px; }
body.gw-guide .entry-content.single-content h2.gw-h {
	position: relative; margin: 2.4em 0 .7em; padding-top: 1.1em; border-top: 1px solid var(--gw-line);
	font-size: clamp(1.55rem, 2.6vw, 1.95rem); line-height: 1.2; color: var(--gw-ink);
}
body.gw-guide .entry-content.single-content h2.gw-h::before {
	content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .45em; vertical-align: -0.1em;
	background: var(--gw-gold); -webkit-mask: var(--gw-h-icon) center / contain no-repeat; mask: var(--gw-h-icon) center / contain no-repeat;
}
.gw-h--section { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 12h16'/%3E%3C/svg%3E"); }
.gw-h--definition { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E"); }
.gw-h--examples { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9.5 5A4.5 4.5 0 0 0 5 9.5V19h7v-7H8.5v-2.5c0-.6.4-1 1-1H11V5H9.5zm9 0A4.5 4.5 0 0 0 14 9.5V19h7v-7h-3.5v-2.5c0-.6.4-1 1-1H20V5h-1.5z'/%3E%3C/svg%3E"); }
.gw-h--rules { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 17 2 2 4-4M3 7l2 2 4-4M13 6h8M13 12h8M13 18h8'/%3E%3C/svg%3E"); }
.gw-h--mistakes { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.7 18-8-14a2 2 0 0 0-3.5 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.7-3M12 9v4M12 17h.01'/%3E%3C/svg%3E"); }
.gw-h--practice { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }
.gw-h--faq { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E"); }
.gw-h--conclusion { --gw-h-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

body.gw-guide .entry-content.single-content > h3 {
	margin: 1.9em 0 .55em; font-size: 1.3rem; line-height: 1.3; color: var(--gw-ever); scroll-margin-top: 24px;
}
body.gw-guide .entry-content.single-content > h4 { margin: 1.5em 0 .4em; font-size: 1.1rem; }
body.gw-guide .entry-content.single-content i,
body.gw-guide .entry-content.single-content em { font-style: italic; }
body.gw-guide .entry-content.single-content > p i,
body.gw-guide .entry-content.single-content > :is(ul, ol) li i {
	background: linear-gradient(transparent 60%, var(--gw-mark) 60%, var(--gw-mark) 94%, transparent 94%);
	padding: 0 .1em;
}
body.gw-guide .entry-content.single-content b,
body.gw-guide .entry-content.single-content strong { font-weight: 700; color: var(--gw-ink); }
body.gw-guide .entry-content.single-content > :is(ul, ol):not(.gw-faq) { padding-left: 1.3em; }
body.gw-guide .entry-content.single-content > :is(ul, ol) > li { margin: .35em 0; }
body.gw-guide .entry-content.single-content > :is(ul, ol) > li::marker { color: var(--gw-gold-ink); }
body.gw-guide .entry-content.single-content a { color: var(--gw-ever); text-decoration: underline; text-decoration-color: var(--gw-gold); text-decoration-thickness: 1.5px; }
/* The close of the article is furniture, not prose: no underlines, no list indents. */
body.gw-guide .entry-content.single-content .gw-after a { text-decoration: none; }
body.gw-guide .entry-content.single-content .gw-after .gw-link-arrow:hover { text-decoration: underline; text-decoration-color: var(--gw-gold); }
body.gw-guide .entry-content.single-content .gw-after :is(ul, li) { padding-left: 0; margin: 0; }
.gw-after .gw-after__h { margin: 0 0 6px; }
body.gw-guide .entry-content.single-content blockquote {
	margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--gw-gold);
	font: italic 500 1.25rem/1.5 var(--gw-display); color: var(--gw-ink-2);
}

/* Tables */
.gw-table-scroll {
	margin: 1.4em 0 1.8em; overflow-x: auto; -webkit-overflow-scrolling: touch;
	border: 1px solid var(--gw-line); border-radius: var(--gw-r); background: var(--gw-white);
}
.gw-table-scroll:focus-visible { outline: 2px solid var(--gw-ever); outline-offset: 2px; }
.entry-content table.gw-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: .98rem; line-height: 1.5; min-width: 480px; }
.entry-content table.gw-table th,
.entry-content table.gw-table td { padding: 13px 16px; border: 0; border-bottom: 1px solid var(--gw-line); text-align: left; vertical-align: top; }
.entry-content table.gw-table thead th {
	background: var(--gw-ever); color: #fff; font: 700 .8rem/1.3 var(--gw-text); letter-spacing: .06em; text-transform: uppercase;
	border-bottom: 0; white-space: nowrap;
}
.entry-content table.gw-table tbody tr:last-child td,
.entry-content table.gw-table tr:last-child td { border-bottom: 0; }
.entry-content table.gw-table tbody tr:nth-child(even) td { background: #FCFBF8; }
.entry-content table.gw-table--examples td:first-child { font-family: var(--gw-display); font-size: 1.08rem; font-weight: 500; color: var(--gw-ever); min-width: 12rem; }
.entry-content table.gw-table td:not(:first-child) { color: var(--gw-ink-2); }

/* Mistakes: wrong and right, marked */
.entry-content table.gw-table td.gw-bad,
.entry-content table.gw-table td.gw-good { position: relative; padding-left: 40px; }
.entry-content table.gw-table td.gw-bad { color: var(--gw-bad); text-decoration: line-through; text-decoration-color: rgba(164, 53, 47, .45); }
.entry-content table.gw-table td.gw-good { color: var(--gw-good); font-weight: 700; }
.entry-content table.gw-table td.gw-bad::before,
.entry-content table.gw-table td.gw-good::before {
	content: ""; position: absolute; left: 14px; top: 15px; width: 17px; height: 17px; border-radius: 50%;
	background: var(--gw-bad-bg) no-repeat center / 11px;
}
.entry-content table.gw-table td.gw-bad::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A4352F' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}
.entry-content table.gw-table td.gw-good::before {
	background-color: var(--gw-good-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23237047' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Practice */
.gw-quiz { margin: 1.4em 0 1.9em; border: 1px solid var(--gw-ever-tint-2); border-radius: var(--gw-r); background: var(--gw-ever-tint); overflow: hidden; }
.gw-quiz__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px 12px 18px; }
.gw-quiz__label { display: inline-flex; align-items: center; gap: .5em; font: 700 .8rem/1.2 var(--gw-text); letter-spacing: .08em; text-transform: uppercase; color: var(--gw-ever); }
.gw-quiz__label::before {
	content: ""; width: 16px; height: 16px; background: var(--gw-ever);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
}
button.gw-quiz__toggle {
	min-height: 40px; padding: .5em 1.1em; border-radius: 999px; border: 1px solid var(--gw-ever);
	background: var(--gw-white); color: var(--gw-ever); font: 700 .88rem/1 var(--gw-text); cursor: pointer; box-shadow: none;
}
button.gw-quiz__toggle:hover, button.gw-quiz__toggle[aria-pressed="true"] { background: var(--gw-ever); color: #fff; }
.gw-quiz .gw-table-scroll { margin: 0; border: 0; border-top: 1px solid var(--gw-ever-tint-2); border-radius: 0; }
.entry-content .gw-quiz table.gw-table td:first-child { font-family: var(--gw-text); font-size: .98rem; font-weight: 400; color: var(--gw-ink); min-width: 0; }
.entry-content .gw-quiz table.gw-table td.gw-ans { font-weight: 700; color: var(--gw-ever); transition: filter .25s var(--gw-ease), background-color .2s; }
.gw-js .gw-quiz:not(.is-revealed) td.gw-ans:not(.is-shown) { filter: blur(6px); cursor: pointer; user-select: none; }
.gw-js .gw-quiz:not(.is-revealed) td.gw-ans:not(.is-shown):hover { background: var(--gw-gold-tint); }
.gw-js .gw-quiz:not(.is-revealed) td.gw-ans:not(.is-shown):focus-visible { filter: blur(3px); outline: 2px solid var(--gw-ever); outline-offset: -3px; }

/* FAQ */
body.gw-guide .entry-content.single-content ol.gw-faq { display: grid; gap: 12px; margin: 1.2em 0 1.6em; padding: 0; list-style: none; counter-reset: gwfaq; }
body.gw-guide .entry-content.single-content ol.gw-faq > li {
	counter-increment: gwfaq; margin: 0; padding: 18px 20px 6px 58px; position: relative;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r);
}
body.gw-guide .entry-content.single-content ol.gw-faq > li::before {
	content: "Q" counter(gwfaq); position: absolute; left: 16px; top: 18px;
	font: 600 .82rem/1.8 var(--gw-display); color: var(--gw-gold-ink);
}
body.gw-guide .entry-content.single-content .gw-faq__q { display: block; margin-bottom: .35em; font: 600 1.15rem/1.35 var(--gw-display); color: var(--gw-ink); }
body.gw-guide .entry-content.single-content ol.gw-faq > li p { margin: 0 0 12px; color: var(--gw-ink-2); }

/* After the article */
.gw-after { max-width: 48rem; margin-top: 56px; display: grid; gap: 40px; }
@media (min-width: 1025px) { .gw-after { max-width: none; } }
.gw-after__h { margin: 0 0 6px; font-size: 1.55rem; }
.gw-after__lede { margin: 0 0 16px; color: var(--gw-muted); }
.gw-twins__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .gw-twins__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gw-twins__list a {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px; min-height: 56px;
	background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r-sm);
	color: var(--gw-ink); text-decoration: none; font-weight: 700;
}
.gw-twins__list a > .gw-icon:first-child { color: var(--gw-gold-ink); }
.gw-twins__list a:hover { border-color: var(--gw-ever); color: var(--gw-ever); }
.gw-twins__go { margin-left: auto; color: var(--gw-muted); }
.gw-feedback {
	display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; align-items: center; padding: 18px 20px;
	background: var(--gw-gold-tint); border: 1px solid #EADFCB; border-radius: var(--gw-r);
}
.gw-feedback > .gw-icon { color: var(--gw-gold-ink); width: 26px; height: 26px; }
.gw-feedback p { margin: 0; color: var(--gw-ink-2); }
.gw-feedback .gw-btn { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 640px) { .gw-feedback { grid-template-columns: auto 1fr auto; } .gw-feedback .gw-btn { grid-column: auto; } }
.gw-related .gw-sechead { margin-bottom: 18px; }
@media (min-width: 1025px) { body.gw-guide .gw-related .gw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Kadence's own post furniture is replaced above */
body.gw-guide .entry-footer, body.gw-guide .post-navigation, body.gw-guide .entry-related { display: none; }

/* ==========================================================================
   6. Archives & search
   ========================================================================== */

.archive .entry-hero-container-inner, .search .entry-hero-container-inner { background: var(--gw-paper-2); border-bottom: 1px solid var(--gw-line); }
.archive .hero-section-overlay, .search .hero-section-overlay { display: none; }
.gw-archhead { max-width: 56rem; }
.gw-archhead__row { display: flex; align-items: center; gap: 18px; }
.gw-archhead__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--gw-ever); color: var(--gw-gold-soft); flex: none; }
.gw-archhead__icon .gw-icon { width: 30px; height: 30px; }
.gw-archhead .gw-eyebrow { margin-bottom: .4rem; }
.gw-archhead__title { margin: 0; font-size: clamp(2.1rem, 4.4vw, 3.1rem); line-height: 1.05; }
.gw-archhead__desc { margin: 18px 0 0; max-width: 46rem; font-size: 1.08rem; color: var(--gw-ink-2); }
.gw-archhead .gw-search { margin-top: 20px; }

.gw-topicnav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.gw-topicnav__item {
	display: inline-flex; align-items: center; gap: .45em; min-height: 42px; padding: .45em .95em;
	border-radius: 999px; background: var(--gw-white); border: 1px solid var(--gw-line);
	color: var(--gw-ink-2); text-decoration: none; font-weight: 700; font-size: .9rem;
}
.gw-topicnav__item .gw-icon { color: var(--gw-gold-ink); width: 1.1em; height: 1.1em; }
.gw-topicnav__item:hover { border-color: var(--gw-ever); color: var(--gw-ever); }
.gw-topicnav__item.is-current { background: var(--gw-ever); border-color: var(--gw-ever); color: #fff; }
.gw-topicnav__item.is-current .gw-icon { color: var(--gw-gold-soft); }
.gw-topicnav__n { font-weight: 400; font-size: .8rem; opacity: .75; }

.archive .content-area, .search .content-area { margin-top: 40px; margin-bottom: 64px; }
#archive-container.grid-cols { column-gap: 20px; row-gap: 20px; }
#archive-container .gw-cardli { list-style: none; margin: 0; }
#archive-container .gw-card .gw-card__title { font-size: 1.25rem; }

.pagination { margin-top: 40px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pagination .page-numbers {
	display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px;
	border-radius: 999px; border: 1px solid var(--gw-line); background: var(--gw-white);
	color: var(--gw-ink-2); text-decoration: none; font-weight: 700;
}
.pagination .page-numbers.current { background: var(--gw-ever); border-color: var(--gw-ever); color: #fff; }
.pagination a.page-numbers:hover { border-color: var(--gw-ever); color: var(--gw-ever); }
.pagination .page-numbers.dots { border: 0; background: transparent; }

.gw-az { margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--gw-line); }
.gw-az__letters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 24px; }
.gw-az__letters a {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px;
	background: var(--gw-white); border: 1px solid var(--gw-line); color: var(--gw-ever); text-decoration: none; font-weight: 700;
}
.gw-az__letters a:hover { background: var(--gw-ever); color: #fff; border-color: var(--gw-ever); }
.gw-az__cols { columns: 1; column-gap: 40px; }
@media (min-width: 640px) { .gw-az__cols { columns: 2; } }
@media (min-width: 1000px) { .gw-az__cols { columns: 3; } }
.gw-az__group { break-inside: avoid; margin-bottom: 22px; scroll-margin-top: 24px; }
.gw-az .gw-az__L { margin: 0 0 6px; padding-bottom: 4px; border-bottom: 2px solid var(--gw-gold); font-size: 1.3rem; color: var(--gw-ever); display: inline-block; min-width: 2ch; }
.gw-az__group ul { margin: 0; padding: 0; list-style: none; }
.gw-az__group a { display: block; padding: 5px 0; color: var(--gw-ink); text-decoration: none; font-size: .95rem; line-height: 1.35; }
.gw-az__group a:hover { color: var(--gw-ever); text-decoration: underline; text-decoration-color: var(--gw-gold); }

.gw-empty { max-width: 44rem; padding: 32px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r); }
.gw-empty p { margin: 0; color: var(--gw-ink-2); }
.search-no-results .content-area .entry-content .page-content,
.search-no-results .no-results .page-header { display: none; }

/* ==========================================================================
   7. Static pages
   ========================================================================== */

.gw-pagehead { max-width: 52rem; }
.gw-pagehead__title { margin: 0; font-size: clamp(2.1rem, 4.4vw, 3.1rem); line-height: 1.08; }
.gw-pagehead__deck { margin: 14px 0 0; max-width: 40rem; font-size: 1.15rem; color: var(--gw-ink-2); }
.gw-pagehead__meta { margin: 12px 0 0; font-size: .9rem; color: var(--gw-muted); }
body.gw-page .content-area { margin-top: clamp(32px, 5vw, 56px); margin-bottom: 72px; }
body.gw-page article.entry { background: transparent; box-shadow: none; }
body.gw-page .entry-content-wrap { padding: 0; }
body.gw-page .entry-content.single-content { max-width: 46rem; font-size: 1.06rem; line-height: 1.75; }
body.gw-page .entry-content.single-content h2 { margin: 2em 0 .5em; font-size: 1.6rem; line-height: 1.2; }
body.gw-page .entry-content.single-content h3 { margin: 1.6em 0 .4em; font-size: 1.25rem; }
body.gw-page .entry-content.single-content a { text-decoration-color: var(--gw-gold); text-decoration-thickness: 1.5px; }

/* Wide pages (About, Contact) use the full container */
body.gw-page--about-us .entry-content.single-content,
body.gw-page--contact-us .entry-content.single-content { max-width: none; }
.gw-block { margin: 0 0 56px; }
.gw-block > h2:first-child { margin-top: 0 !important; }
.gw-lead { max-width: 46rem; font-size: 1.2rem !important; line-height: 1.65; color: var(--gw-ink-2); }
.gw-cols { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .gw-cols--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gw-cols--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gw-panel { padding: 24px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r); }
.gw-panel h3 { margin: 0 0 8px !important; font-size: 1.25rem !important; color: var(--gw-ever); }
.gw-panel p { margin: 0 0 10px; color: var(--gw-ink-2); }
.gw-panel p:last-child { margin-bottom: 0; }
.gw-panel--dark { background: var(--gw-ever); border-color: var(--gw-ever); color: #E9E4D8; }
.gw-panel--dark h3 { color: #fff !important; }
.gw-panel--dark p { color: #D8DED9; }
.gw-panel--dark a { color: var(--gw-gold-soft) !important; }
.gw-panel__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px; background: var(--gw-gold-tint); color: var(--gw-gold-ink); }
.gw-principles { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
@media (min-width: 800px) { .gw-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gw-principles li { position: relative; padding: 16px 18px 16px 52px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r-sm); margin: 0 !important; }
.gw-principles li::before {
	content: ""; position: absolute; left: 18px; top: 18px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--gw-good-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23237047' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 12px;
}
.gw-principles strong { display: block; color: var(--gw-ink); }
.gw-principles span { color: var(--gw-ink-2); }
.gw-numbers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 800px) { .gw-numbers { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gw-numbers li { margin: 0 !important; padding: 18px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r-sm); color: var(--gw-muted); font-size: .92rem; }
.gw-numbers strong { display: block; font: 600 1.8rem/1.1 var(--gw-display); color: var(--gw-ever); }
.gw-contact-card { display: flex; flex-direction: column; gap: 10px; }
.gw-contact-card .gw-btn { align-self: flex-start; margin-top: 6px; text-decoration: none !important; }
.gw-contact-card .gw-btn--primary { color: #fff !important; }
.gw-mailline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 20px 24px; background: var(--gw-white); border: 1px solid var(--gw-line); border-radius: var(--gw-r); }
.gw-mailline strong { font: 600 1.35rem var(--gw-display); color: var(--gw-ever); overflow-wrap: anywhere; }
.gw-mailline > .gw-icon { width: 28px; height: 28px; color: var(--gw-gold-ink); }
.gw-mailline .gw-btn { margin-left: auto; }
.gw-topiccards { margin-top: 20px; }
a.gw-topiccard { display: flex; flex-direction: column; gap: 4px; text-decoration: none !important; color: var(--gw-ink); transition: border-color .2s var(--gw-ease), box-shadow .2s var(--gw-ease), transform .2s var(--gw-ease); }
a.gw-topiccard:hover { border-color: var(--gw-ever-tint-2); box-shadow: var(--gw-shadow-lift); transform: translateY(-2px); }
.gw-topiccard__name { font: 600 1.3rem/1.2 var(--gw-display); color: var(--gw-ever); }
.gw-topiccard__n { font-size: .85rem; color: var(--gw-muted); }
.gw-topiccard__short { margin-top: 6px; font-size: .97rem; color: var(--gw-ink-2); line-height: 1.5; }
.gw-topiccard__short em { font-family: var(--gw-display); color: var(--gw-ever); }
body.gw-page .entry-content.single-content .gw-block > h2 { margin-top: 0; }
body.gw-page .entry-content.single-content .gw-block > p { max-width: 46rem; }
body.gw-page .entry-content.single-content :is(.gw-numbers, .gw-principles, .gw-cols) { padding-left: 0; }
body.gw-page .entry-content.single-content .gw-panel h3 { margin-top: 0; }

/* ==========================================================================
   8. Footer
   ========================================================================== */

.gw-footer { background: var(--gw-ever-deep); color: #B9C7C0; padding: 64px 0 28px; font-size: .95rem; }
.gw-footer a { color: #E9E4D8; text-decoration: none; }
.gw-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--gw-gold); }
.gw-footer__grid { display: grid; gap: 36px 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gw-footer__brand { grid-column: 1 / -1; }
@media (min-width: 1000px) {
	.gw-footer__grid { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 48px; }
	.gw-footer__brand { grid-column: auto; }
}
.gw-footer__mark { display: inline-flex; align-items: center; gap: 10px; font: 600 1.6rem/1 var(--gw-display); color: #fff !important; }
.gw-footer__mark .gw-icon { color: var(--gw-gold-soft); width: 28px; height: 28px; }
.gw-footer__blurb { margin: 14px 0 20px; max-width: 26rem; line-height: 1.6; }
.gw-footer .gw-search { max-width: 380px; padding: 4px 4px 4px 42px; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18); box-shadow: none; }
.gw-footer .gw-search:focus-within { border-color: var(--gw-gold-soft); box-shadow: none; }
.gw-footer .gw-search__icon { left: 15px; color: #9FB0A8; }
.gw-footer .gw-search input.gw-search__input { height: 40px; color: #fff; font-size: .95rem; }
.gw-footer .gw-search input.gw-search__input::placeholder { color: #9FB0A8; }
.gw-footer .gw-search .gw-search__btn { min-height: 40px; background: var(--gw-gold-soft); color: var(--gw-ink); padding: .5em 1.1em; }
.gw-footer__h { margin: 0 0 14px; font: 700 .76rem/1.2 var(--gw-text); letter-spacing: .1em; text-transform: uppercase; color: var(--gw-gold-soft); }
.gw-footer__col ul { margin: 0; padding: 0; list-style: none; }
.gw-footer__col li { margin: 0 0 10px; line-height: 1.4; }
.gw-footer__count { margin-left: 4px; font-size: .8rem; color: #9FB0A8; }
.gw-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .88rem; color: #9FB0A8; }
.gw-footer__base p { margin: 0; }
.gw-footer__top { display: inline-flex; align-items: center; gap: .35em; }
.gw-footer__top .gw-icon { width: 1em; height: 1em; }

/* ==========================================================================
   9. Comments
   ========================================================================== */

body.gw-guide .comments-area { max-width: 48rem; margin: 56px 0 0; padding-top: 32px; border-top: 1px solid var(--gw-line); }
.comment-respond .comment-reply-title { font-size: 1.45rem; }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"] {
	border: 1px solid var(--gw-line-2); border-radius: var(--gw-r-sm); background: var(--gw-white); color: var(--gw-ink);
}
.comment-form textarea:focus, .comment-form input:focus { border-color: var(--gw-ever); box-shadow: 0 0 0 3px rgba(26, 55, 50, .12); outline: none; }
.comment-form .form-submit .submit { border-radius: 999px; background: var(--gw-ever); color: #fff; font-weight: 700; padding: .75em 1.5em; }
.comment-form .form-submit .submit:hover { background: var(--gw-ever-2); }

/* ==========================================================================
   10. 404
   ========================================================================== */

.gw-404 { max-width: 44rem; padding: 24px 0 40px; }
.gw-404__title { margin: 0 0 12px; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.05; color: var(--gw-ever); }
.gw-404__text { margin: 0 0 24px; font-size: 1.1rem; color: var(--gw-ink-2); }
.gw-404__home { margin-top: 28px; }

/* ==========================================================================
   11. Motion & print
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
	#masthead, .gw-footer, .primary-sidebar, .gw-after, .comments-area, .gw-toc-m, .gw-quiz__toggle { display: none !important; }
	.gw-js .gw-quiz td.gw-ans { filter: none !important; }
}

/* Two-column band (tablet): an odd last card spans the row instead of sitting alone. */
@media (min-width: 640px) and (max-width: 999px) {
	.gw-grid--3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* The mobile contents list sits inside the article, so undo the prose link underline there. */
body.gw-guide .entry-content.single-content .gw-toc-m a { text-decoration: none; color: var(--gw-ink-2); }
body.gw-guide .entry-content.single-content .gw-toc-m li { margin: 0; }
