/* Grow With Newman theme: sections the theme adds. Loaded after the shared brand stylesheet. */

/* tools: one wide row per tool, name on the left */
.gwnt-tools > .gwnt-tool:first-child { padding-top: 0; }
.gwnt-tools > .gwnt-tool:last-child { border-bottom: 0; padding-bottom: 0; }
.gwnt-tool { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 5vw, 72px); padding: clamp(32px, 5vw, 56px) 0; border-bottom: 1px solid var(--line); }
.gwnt-tool-title { font-family: var(--display); font-weight: 900; font-size: clamp(44px, 6vw, 84px); line-height: .9; margin-bottom: 14px !important; }
.gwn .gwnt-tool-title a { color: var(--bone); text-decoration: none; }
.gwn .gwnt-tool-title a:hover { color: var(--gold-hi); }
.gwnt-tool-tag { color: var(--gold); font-size: 18px; max-width: 30ch; }
.gwnt-tool-img { display: block; margin-top: 20px; max-width: 420px; }
.gwnt-tool-img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; border: 1px solid var(--line); }
.gwnt-tool-body > p:first-child { font-size: clamp(18px, 1.5vw, 20px); max-width: 58ch; }
.gwnt-helps { color: var(--mute); font-size: 15px; }
.gwnt-tagline { color: var(--gold); }

/* strategies: three steps in one flow */
.gwnt-flow { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; counter-reset: f; max-width: 900px; }
.gwnt-flow li { counter-increment: f; position: relative; }
.gwn .gwnt-flow a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 18px 40px 18px 20px; border: 1px solid var(--line); border-right: 0; color: var(--bone); text-decoration: none; box-sizing: border-box; }
.gwnt-flow li:last-child a { border-right: 1px solid var(--line); }
.gwn .gwnt-flow a:hover { background: var(--char); }
.gwnt-flow strong { font-family: var(--display); font-weight: 800; font-size: 28px; line-height: 1; color: var(--gold); }
.gwnt-flow strong::before { content: counter(f) " "; color: var(--mute); }
.gwnt-flow span { color: var(--mute); font-size: 15px; }
.gwnt-flow li:not(:last-child)::after { content: ""; position: absolute; right: 14px; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); transform: translateY(-50%) rotate(45deg); }
.gwnt-group-in { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(24px, 5vw, 72px); align-items: start; }
.gwnt-group-head { position: sticky; top: 104px; }
.gwnt-step-n { font-family: var(--display); font-weight: 900; font-size: 72px; line-height: .9; color: var(--line); margin: 0 0 8px !important; }
.gwnt-group-head .gwn-h2 { color: var(--gold); margin-bottom: 8px !important; }
.gwnt-strat { scroll-margin-top: 100px; }
.gwnt-strat > p { max-width: 62ch; }
.gwnt-sub-h { margin-top: 28px !important; }
.gwnt-mini-tools { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.gwnt-mini-tools li { display: grid; grid-template-columns: 180px 1fr auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.gwn .gwnt-mini-name { font-family: var(--display); font-weight: 800; font-size: 26px; color: var(--bone); text-decoration: none; }
.gwn .gwnt-mini-name:hover { color: var(--gold-hi); }
.gwnt-group-tools { scroll-margin-top: 90px; }
.gwnt-group-tools + .gwnt-group-tools { margin-top: clamp(48px, 6vw, 80px); }
.gwnt-stage-head { display: flex; align-items: baseline; gap: 8px 24px; flex-wrap: wrap; margin-bottom: 8px; }
.gwnt-stage-head .gwn-h2 { margin-bottom: 0 !important; color: var(--gold); }
.gwnt-stage-head .gwn-lede { margin: 0; color: var(--mute); }
.gwnt-flow-tools { margin-bottom: 8px; }
.gwnt-price { color: var(--gold-hi); font-weight: 600; }
.gwnt-how { list-style: none; padding: 0; margin: 32px 0 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; counter-reset: h; max-width: 900px; }
.gwnt-how li { counter-increment: h; border: 1px solid var(--line); border-right: 0; padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; }
.gwnt-how li:last-child { border-right: 1px solid var(--line); }
.gwnt-how strong { font-family: var(--display); font-weight: 800; font-size: 24px; line-height: 1.05; color: var(--bone); }
.gwnt-how strong::before { content: counter(h) " "; color: var(--gold); }
.gwnt-how span { color: var(--mute); font-size: 15px; }
.gwnt-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-bottom: 8px; }
.gwnt-pair .gwn-dashes li { color: var(--mute); }
/* home: where you are now, and where you want to be */
.gwnt-shifts { list-style: none; padding: 0; margin: 32px 0 32px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gwnt-shift { border: 1px solid var(--line); border-radius: 3px; background: var(--char); display: flex; flex-direction: column; }
.gwnt-shift p { margin: 0 !important; padding: 18px 20px; }
.gwnt-shift span { display: block; font: 600 12px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
.gwnt-shift-now { color: var(--mute); border-bottom: 1px dashed var(--line); }
.gwnt-shift-now span { color: var(--mute); }
.gwnt-shift-next { color: var(--bone); font-weight: 500; flex: 1; }
.gwnt-shift-next span { color: var(--gold); }
.gwnt-fit { display: grid; gap: 28px; margin-bottom: 28px; }
.gwnt-fit-item p { max-width: 64ch; }

/* blog */
.gwnt-post { padding: 28px 0; border-bottom: 1px solid var(--line); }
.gwnt-post:first-child { padding-top: 0; }
.gwnt-post-date { color: var(--gold); font-size: 15px; margin-bottom: 6px !important; }
.gwnt-post-title { font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3vw, 38px); line-height: 1.05; margin-bottom: 10px !important; }
.gwn .gwnt-post-title a { color: var(--bone); text-decoration: none; }
.gwn .gwnt-post-title a:hover { color: var(--gold-hi); }
.gwnt-post-ex { color: var(--mute); }
.gwnt-article-title { max-width: 20ch; }
.gwnt-feature { margin-bottom: 48px; }
.gwnt-feature img { display: block; width: 100%; height: auto; border-radius: 4px; }
.gwnt-feature-wide { max-width: var(--wrap); }
.gwnt-pages { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 32px; }
.gwn .gwnt-pages .page-numbers { padding: 8px 14px; border: 1px solid var(--line); border-radius: 3px; color: var(--bone); text-decoration: none; }
.gwn .gwnt-pages .current { border-color: var(--gold); color: var(--gold-hi); }
.gwnt-adjacent { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 40px; margin-top: 48px; border-top: 1px solid var(--line); }
.gwnt-page-body { border-top: 0; padding-top: 0; }

/* long-form text from the editor */
.gwnt-prose { font-size: 19px; line-height: 1.7; padding-bottom: 72px; }
.gwnt-prose-tight { font-size: 17px; line-height: 1.6; padding-bottom: 8px; }
.gwnt-prose > * { max-width: 68ch; }
.gwnt-prose h2 { font-family: var(--display); font-weight: 800; font-size: clamp(30px, 3vw, 40px); line-height: 1.05; margin: 1.6em 0 .5em; }
.gwnt-prose h3 { font-size: 22px; margin: 1.4em 0 .4em; }
.gwnt-prose ul, .gwnt-prose ol { padding-left: 1.2em; margin: 0 0 1em; }
.gwnt-prose li { margin-bottom: .4em; }
.gwnt-prose li::marker { color: var(--gold); }
.gwnt-prose blockquote { margin: 1.5em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--gold); font-size: 22px; color: var(--bone); }
.gwnt-prose img, .gwnt-prose video { max-width: 100%; height: auto; border-radius: 4px; }
.gwnt-prose figure { margin: 1.5em 0; }
.gwnt-prose figcaption { color: var(--mute); font-size: 15px; margin-top: 8px; }
.gwnt-prose hr { border: 0; border-top: 1px solid var(--line); margin: 2.5em 0; }
.gwnt-prose code { background: var(--char2); padding: 2px 6px; border-radius: 3px; font-size: .9em; }
.gwnt-prose .wp-block-button__link { background: var(--gold); color: #000; border-radius: 3px; padding: 14px 22px; font-weight: 600; text-decoration: none; }
.gwnt-prose .alignwide { max-width: 100%; }
.gwnt-prose table { border-collapse: collapse; width: 100%; font-size: 16px; }
.gwnt-prose th, .gwnt-prose td { border-bottom: 1px solid var(--line); padding: 10px; text-align: left; }

/* search + 404 */
.gwnt-search { margin-top: 32px; max-width: 520px; }
.gwnt-search form { display: flex; gap: 10px; }
.gwnt-search label { flex: 1; }
.gwn .gwnt-search input[type=search] { width: 100%; font: 400 17px/1.4 var(--body); color: var(--bone); background: var(--black); border: 1px solid var(--line); border-radius: 3px; padding: 12px 14px; }
.gwn .gwnt-search input[type=search]:focus { border-color: var(--gold); outline: none; }
.gwn .gwnt-search input[type=submit] { font: 600 16px var(--body); background: var(--gold); color: #000; border: 0; border-radius: 3px; padding: 0 20px; cursor: pointer; }
.gwnt-404 { min-height: 60vh; }

/* comments, kept simple */
.gwnt-comments { padding-bottom: 64px; }
.gwnt-comments .comment-list { list-style: none; padding: 0; }
.gwnt-comments .comment-body { border-bottom: 1px solid var(--line); padding: 16px 0; }
.gwn .gwnt-comments textarea, .gwn .gwnt-comments input[type=text], .gwn .gwnt-comments input[type=email], .gwn .gwnt-comments input[type=url] { width: 100%; background: var(--black); color: var(--bone); border: 1px solid var(--line); border-radius: 3px; padding: 10px; font: inherit; }
.gwn .gwnt-comments input[type=submit] { background: var(--gold); color: #000; border: 0; padding: 12px 20px; border-radius: 3px; font-weight: 600; cursor: pointer; }

@media (max-width: 820px) {
	.gwnt-tool, .gwnt-group-in { grid-template-columns: 1fr; }
	.gwnt-group-head { position: static; }
	.gwnt-shifts { grid-template-columns: 1fr 1fr; }
	.gwnt-how { grid-template-columns: 1fr; }
	.gwnt-how li { border-right: 1px solid var(--line); border-bottom: 0; }
	.gwnt-how li:last-child { border-bottom: 1px solid var(--line); }
	.gwnt-flow { grid-template-columns: 1fr; }
	.gwn .gwnt-flow a { border-right: 1px solid var(--line); border-bottom: 0; }
	.gwnt-flow li:last-child a { border-bottom: 1px solid var(--line); }
	.gwnt-flow li:not(:last-child)::after { top: auto; bottom: -6px; right: 50%; transform: rotate(135deg); background: #000; z-index: 1; }
	.gwnt-mini-tools li { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 640px) {
	.gwnt-pair, .gwnt-shifts { grid-template-columns: 1fr; }
	.gwnt-search form { flex-direction: column; }
	.gwn .gwnt-search input[type=submit] { padding: 14px 20px; }
}
