/* Acoustic4aCure interior system: articles, pages, archives, and tools. */
:root {
	--a4c-forest: #173f35;
	--a4c-forest-deep: #0c2d26;
	--a4c-forest-light: #286858;
	--a4c-cream: #f4efe3;
	--a4c-paper: #fbfaf6;
	--a4c-ink: #15221e;
	--a4c-muted: #68716c;
	--a4c-coral: #ef7445;
	--a4c-gold: #d7a842;
	--a4c-line: #dcd8cc;
	--a4c-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--a4c-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--wikipress-primary: #173f35;
	--wikipress-primary-hover: #0c2d26;
	--wikipress-heading: #0c2d26;
	--wikipress-text: #26352f;
	--wikipress-text-light: #68716c;
	--wikipress-bg: #fbfaf6;
	--wikipress-bg-off: #f4efe3;
	--wikipress-accent: #f4efe3;
	--wikipress-border: #c9c4b7;
	--wikipress-border-light: #ded8cc;
	--wikipress-font-ui: var(--a4c-sans);
	--wikipress-font-content: var(--a4c-serif);
}

body { background: var(--a4c-paper); color: var(--a4c-ink); }
.site { max-width: none; background: var(--a4c-paper); }
.site-content, .content-wrapper { width: 100%; max-width: none; margin: 0; padding: 0; }
.content-wrapper { display: block; }
.site-main { width: 100%; min-width: 0; padding: 0; background: var(--a4c-paper); }
.interior-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

/* Shared header */
.site-header {
	background: rgba(251, 250, 246, .94);
	border-bottom: 1px solid rgba(23, 63, 53, .12);
	box-shadow: none;
}
.header-inner { width: min(1180px, calc(100% - 48px)); max-width: none; min-height: 76px; padding: 8px 0; gap: 36px; }
.site-branding { display: flex; align-items: center; gap: 12px; }
.site-branding::before { content: "A"; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--a4c-coral); color: #fff8ec; font: 700 18px/1 var(--a4c-serif); transform: rotate(-7deg); }
.site-title { margin: 0; font: 700 18px/1 var(--a4c-sans); letter-spacing: -.04em; }
.site-title a { color: var(--a4c-forest-deep); }
.site-description { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.main-navigation { font: 600 13px/1 var(--a4c-sans); }
.primary-menu { justify-content: center; gap: 8px; }
.primary-menu a { color: #40514b; padding: 12px 10px; }
.primary-menu a::after { height: 1px; background: var(--a4c-coral); }
.primary-menu a:hover, .primary-menu a:focus { color: var(--a4c-forest); }
.search-toggle { width: 40px; height: 40px; padding: 0; border: 1px solid #d3d1c8; border-radius: 50%; color: var(--a4c-forest-deep); }
.header-search-form { border-color: var(--a4c-line); border-radius: 3px; background: var(--a4c-paper); box-shadow: 0 18px 45px rgba(12,45,38,.12); }

/* Breadcrumbs */
.breadcrumbs { width: 100%; margin: 0; padding: 23px 0; color: #7b837e; font: 650 10px/1.4 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs-list { gap: 8px; }
.breadcrumbs-item { gap: 8px; }
.breadcrumbs a { color: var(--a4c-forest); text-decoration: none; }
.breadcrumbs a:hover { color: var(--a4c-coral); }
.breadcrumbs-sep { margin: 0; color: #aaa9a1; }
.breadcrumbs-current { max-width: 58ch; color: #8a8e89; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Editorial article masthead */
.article-header { position: relative; overflow: hidden; padding: clamp(62px, 8vw, 105px) 0 66px; border-block: 1px solid #d7d1c3; background: var(--a4c-cream); }
.article-header::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: radial-gradient(#9e988b .55px, transparent .55px); background-size: 5px 5px; }
.article-header::after { content: ""; position: absolute; top: 34%; right: -4vw; width: min(42vw, 610px); height: 150px; opacity: .62; transform: rotate(-5deg); background: repeating-linear-gradient(to bottom, transparent 0 20px, rgba(23,63,53,.32) 21px 22px); }
.article-header-inner { position: relative; z-index: 1; }
.interior-eyebrow { margin: 0 0 20px; color: var(--a4c-coral); font: 750 10px/1.2 var(--a4c-sans); letter-spacing: .17em; text-transform: uppercase; }
.interior-eyebrow a { color: inherit; text-decoration: none; }
.article-title { max-width: 940px; margin: 0; padding: 0; border: 0; color: var(--a4c-forest-deep); font: 600 clamp(48px, 6.5vw, 82px)/.98 var(--a4c-serif); letter-spacing: -.055em; }
.article-deck { max-width: 760px; margin: 28px 0 0; color: #4d5d56; font: 400 17px/1.65 var(--a4c-sans); }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 29px 0 0; color: #727a75; font: 650 10px/1.4 var(--a4c-sans); letter-spacing: .07em; text-transform: uppercase; }
.article-meta a { color: var(--a4c-forest); text-decoration: none; }
.article-featured-image { margin: 54px auto 0; }
.article-featured-image .featured-image { display: block; width: 100%; max-height: 610px; object-fit: cover; border-radius: 2px; }
.featured-caption { color: var(--a4c-muted); font: 11px/1.5 var(--a4c-sans); text-align: left; }

/* Reading layout */
.article-content-wrapper { display: grid; grid-template-columns: minmax(0, 790px) minmax(230px, 275px); justify-content: space-between; gap: clamp(50px, 7vw, 105px); padding-block: 74px 28px; }
.article-content-wrapper-tool { display: block; padding-top: 62px; }
.article-body { min-width: 0; }
.article-content-wrapper:not(.article-content-wrapper-tool) .article-body { max-width: 790px; }
.article-sidebar { width: auto; position: sticky; top: 96px; align-self: start; font-family: var(--a4c-sans); }

.article-content { color: #26352f; font: 18px/1.78 var(--a4c-serif); }
.article-content > p:first-of-type:not(.short-answer-text p) { font-size: 20px; line-height: 1.7; }
.article-content p { margin: 0 0 1.45em; }
.article-content h2 { margin: 2.25em 0 .7em; padding: 0 0 .32em; border-bottom: 1px solid var(--a4c-line); color: var(--a4c-forest-deep); font: 600 35px/1.15 var(--a4c-serif); letter-spacing: -.035em; scroll-margin-top: 100px; }
.article-content h3 { margin: 1.8em 0 .6em; color: var(--a4c-forest); font: 650 24px/1.2 var(--a4c-serif); letter-spacing: -.02em; scroll-margin-top: 100px; }
.article-content h4 { color: var(--a4c-forest); font: 700 17px/1.3 var(--a4c-sans); }
.article-content a { color: var(--a4c-forest-light); text-decoration-color: rgba(40,104,88,.35); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-content a:hover { color: var(--a4c-coral); text-decoration-color: var(--a4c-coral); }
.article-content ul, .article-content ol { margin: 0 0 1.6em 1.35em; }
.article-content li { margin-bottom: .62em; padding-left: .28em; }
.article-content li::marker { color: var(--a4c-coral); font-family: var(--a4c-sans); font-weight: 700; }
.article-content blockquote { margin: 2em 0; padding: 9px 0 9px 29px; border: 0; border-left: 3px solid var(--a4c-coral); background: transparent; color: #4d5c56; font: italic 25px/1.5 var(--a4c-serif); }
.article-content pre, .article-content code { font-family: "SFMono-Regular", Consolas, monospace; }
.article-content pre { overflow-x: auto; padding: 22px; border: 1px solid #d6d0c3; border-radius: 2px; background: #f1ecdf; font-size: 14px; line-height: 1.65; }
.article-content table { display: table; width: 100%; margin: 2em 0; overflow: hidden; border-collapse: collapse; border: 1px solid var(--a4c-line); background: #fffefa; font: 13px/1.5 var(--a4c-sans); }
.article-content th, .article-content td { padding: 13px 15px; border-color: var(--a4c-line); }
.article-content th { background: var(--a4c-cream); color: var(--a4c-forest); font-weight: 750; }
.article-content img { border-radius: 2px; }

.short-answer-box { position: relative; margin: 0 0 42px; padding: 30px 32px 28px; border: 1px solid #c7c0b0; border-left: 5px solid var(--a4c-coral); border-radius: 2px; background: #f6f0e3; animation: none; }
.short-answer-box::after { content: ""; position: absolute; right: 18px; top: 18px; width: 42px; height: 42px; border: 1px solid rgba(23,63,53,.16); border-radius: 50%; }
.short-answer-label { margin: 0 0 12px; color: var(--a4c-coral); font: 750 10px/1 var(--a4c-sans); letter-spacing: .15em; text-transform: uppercase; }
.short-answer-text { color: var(--a4c-forest-deep); font: 500 20px/1.65 var(--a4c-serif); }
.short-answer-text p:last-child { margin-bottom: 0; }

/* Quick facts and contents */
.infobox, .toc-widget { margin: 0 0 18px; border: 1px solid #d7d0c3; border-radius: 2px; background: #f7f2e7; overflow: hidden; }
.infobox { padding: 0; }
.infobox-title, .toc-title { margin: 0; color: var(--a4c-forest-deep); font: 750 10px/1.2 var(--a4c-sans); letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.infobox-title { padding: 16px 18px; border-bottom: 1px solid #d7d0c3; background: var(--a4c-forest); color: #fff; }
.infobox-content { padding: 7px 18px 13px; }
.infobox-table th, .infobox-table td { padding: 9px 0; border-bottom-color: #ded8cc; font: 11px/1.45 var(--a4c-sans); }
.infobox-table th { width: 43%; color: #747b76; font-weight: 650; }
.infobox-table td { color: var(--a4c-forest-deep); font-weight: 650; }
.toc-toggle { padding: 16px 17px 12px; }
.toc-toggle:hover { background: transparent; }
.toc-toggle-icon { color: var(--a4c-coral); }
.toc-list { padding: 3px 17px 15px; }
.toc-item { padding: 0; }
.toc-item a { padding: 5px 0; border-radius: 0; color: #616d67; font: 12px/1.45 var(--a4c-sans); }
.toc-item a:hover, .toc-item a:focus { color: var(--a4c-coral); background: transparent; }
.toc-item a.active { margin-left: -17px; padding-left: 14px; border-left-color: var(--a4c-coral); color: var(--a4c-forest); }

/* Structured content generated by the writer */
.wpaw-faq-accordion { margin: 1.8em 0; }
.wpaw-faq-item { margin-bottom: 9px; border: 1px solid var(--a4c-line); border-radius: 2px; background: #fffefa; }
.wpaw-faq-question { padding: 17px 48px 17px 19px; color: var(--a4c-forest-deep); font: 650 16px/1.4 var(--a4c-sans); }
.wpaw-faq-question::after { color: var(--a4c-coral); }
.wpaw-faq-item[open] .wpaw-faq-question { color: var(--a4c-forest); background: var(--a4c-cream); }
.wpaw-faq-answer { padding: 4px 19px 18px; font: 16px/1.7 var(--a4c-serif); }
.wpaw-misconception-card { border-color: var(--a4c-line); border-radius: 2px; }

/* References, related terms and related reading */
.article-section { max-width: 790px; margin: 70px 0; }
.article-section > h2 { margin: 0 0 28px; padding: 0 0 13px; border-bottom: 1px solid var(--a4c-line); color: var(--a4c-forest-deep); font: 600 36px/1.1 var(--a4c-serif); letter-spacing: -.035em; }
.references-list { margin: 0; padding: 0; list-style-position: inside; }
.references-list li { padding: 13px 0; border-bottom: 1px solid var(--a4c-line); color: #5f6964; font: 13px/1.6 var(--a4c-sans); }
.related-terms-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--a4c-line); border-left: 1px solid var(--a4c-line); }
.related-terms-list > div { min-height: 135px; padding: 20px; border-right: 1px solid var(--a4c-line); border-bottom: 1px solid var(--a4c-line); background: #fffefa; }
.related-terms-list dt { margin: 0 0 8px; color: var(--a4c-forest); font: 650 19px/1.2 var(--a4c-serif); }
.related-terms-list dd { margin: 0; border: 0; color: #707873; font: 12px/1.6 var(--a4c-sans); }
.related-articles { max-width: none; margin-top: 90px; padding-top: 75px; border-top: 1px solid var(--a4c-line); }
.related-grid { grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--a4c-line); background: var(--a4c-line); }
.related-card { min-height: 210px; border: 0; border-radius: 0; background: #fffefa; box-shadow: none; }
.related-card:hover { border: 0; box-shadow: none; transform: none; background: var(--a4c-forest); }
.related-card-content { padding: 24px; }
.related-card-title { font: 600 21px/1.2 var(--a4c-serif); }
.related-card-title a { color: var(--a4c-forest-deep); }
.related-card:hover .related-card-title a { color: #fff; }
.related-card-meta { color: #838983; font: 9px/1.4 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; }
.related-card-category { padding: 0; background: transparent; color: var(--a4c-coral); font-size: inherit; }
.post-navigation { max-width: 790px; margin: 70px 0; padding-top: 35px; border-top-color: var(--a4c-line); }
.post-navigation a { color: var(--a4c-forest); font-family: var(--a4c-serif); }

/* Static pages */
.page-article-header { padding-block: 78px; }
.page-article-header .article-title { max-width: 850px; }
.page-content-shell { padding-block: 70px 100px; }
.page-content-shell .article-body { max-width: 790px; }

/* Archives and search */
body.archive .site-main, body.search .site-main, body.blog .site-main { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding: 72px 0 105px; }
.page-header { position: relative; margin: 0 0 52px; padding: 0 0 44px; border-bottom: 1px solid var(--a4c-line); }
.page-header::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 150px; height: 3px; background: var(--a4c-coral); }
.page-title { max-width: 850px; margin: 0; padding: 0; border: 0; color: var(--a4c-forest-deep); font: 600 clamp(48px, 6vw, 74px)/1 var(--a4c-serif); letter-spacing: -.05em; }
.archive-description { max-width: 650px; margin-top: 20px; color: #65706a; font: 15px/1.7 var(--a4c-sans); }
.archive-description p { margin: 0; }
.archive-count { margin: 21px 0 0; color: #858a86; font: 700 10px/1 var(--a4c-sans); letter-spacing: .1em; text-transform: uppercase; }
.author-avatar { margin-bottom: 18px; }.author-avatar img { border-radius: 50%; }
.archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--a4c-line); border-left: 1px solid var(--a4c-line); background: var(--a4c-line); }
.archive-entry { min-width: 0; min-height: 360px; display: flex; flex-direction: column; gap: 0; margin: 0; padding: 28px; border: 0; border-right: 1px solid var(--a4c-line); border-bottom: 1px solid var(--a4c-line); border-radius: 0; background: #fffefa; box-shadow: none; transition: background .22s ease; }
.archive-entry:hover { border-color: var(--a4c-line); background: #f7f2e7; box-shadow: none; transform: none; }
.entry-index { margin-bottom: 27px; color: #a1a39f; font: 700 10px/1 var(--a4c-sans); letter-spacing: .12em; }
.entry-thumbnail { order: 1; width: 100%; height: 185px; margin: 0 0 24px; border-radius: 1px; }
.entry-thumbnail img { min-height: 185px; }
.entry-details { order: 2; justify-content: flex-start; }
.entry-meta { justify-content: space-between; gap: 20px; margin: 0 0 17px; color: #858b87; font: 700 9px/1.4 var(--a4c-sans); letter-spacing: .1em; text-transform: uppercase; }
.entry-meta span:first-child { color: var(--a4c-coral); }
.entry-title { margin: 0 0 16px; color: var(--a4c-forest-deep); font: 600 29px/1.12 var(--a4c-serif); letter-spacing: -.035em; }
.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--a4c-coral); }
.entry-summary { margin: 0 0 25px; color: #6d7671; font: 13px/1.65 var(--a4c-sans); }
.entry-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 22px; border-top: 1px solid var(--a4c-line); color: #8a8f8b; font: 700 9px/1 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; }
.read-more { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid #c6c4bb; border-radius: 50%; background: transparent; color: var(--a4c-forest); }
.read-more:hover { background: var(--a4c-coral); color: #fff; transform: none; }
.archive-grid .navigation.pagination { grid-column: 1 / -1; background: var(--a4c-paper); }
.navigation.pagination { padding-top: 42px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 11px; border: 1px solid var(--a4c-line); background: #fffefa; color: var(--a4c-forest); font: 700 11px/1 var(--a4c-sans); text-decoration: none; }
.page-numbers.current, .page-numbers:hover { background: var(--a4c-forest); border-color: var(--a4c-forest); color: #fff; }
.no-results { grid-column: 1 / -1; padding: 45px; background: #fffefa; }

/* Tools directory */
.tools-main { background: var(--a4c-paper); }
.tools-hero { position: relative; overflow: hidden; padding: 80px 0 85px; border-block: 1px solid #d7d1c3; background: var(--a4c-cream); }
.tools-hero::after { content: ""; position: absolute; right: -5%; top: 18%; width: 44%; height: 230px; transform: rotate(-5deg); opacity: .5; background: repeating-linear-gradient(to bottom, transparent 0 31px, rgba(23,63,53,.3) 32px 33px); }
.tools-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 80px; }
.tools-hero h1 { max-width: 760px; margin: 0; color: var(--a4c-forest-deep); font: 600 clamp(52px, 6.6vw, 82px)/.96 var(--a4c-serif); letter-spacing: -.055em; }
.tools-hero-grid > div:last-child { max-width: 480px; padding-bottom: 7px; }
.tools-hero-grid > div:last-child > p { margin: 0 0 22px; color: #58665f; font: 15px/1.7 var(--a4c-sans); }
.tools-privacy-note { display: flex; align-items: center; gap: 9px; color: var(--a4c-forest); font: 700 10px/1.4 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; }
.tools-privacy-note i { width: 9px; height: 9px; border-radius: 50%; background: var(--a4c-coral); box-shadow: 0 0 0 4px rgba(239,116,69,.15); }
.tools-content { padding-block: 96px 110px; }
.tools-section-head, .tool-workbench-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.tools-section-head h2, .tool-workbench-head h2 { margin: 0; color: var(--a4c-forest-deep); font: 600 48px/1 var(--a4c-serif); letter-spacing: -.04em; }
.tools-section-head > p { max-width: 320px; margin: 0; color: var(--a4c-muted); font: 13px/1.6 var(--a4c-sans); }
.tools-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--a4c-line); border-left: 1px solid var(--a4c-line); }
.tool-card { position: relative; min-height: 255px; display: flex; flex-direction: column; align-items: stretch; padding: 23px; border: 0; border-right: 1px solid var(--a4c-line); border-bottom: 1px solid var(--a4c-line); border-radius: 0; background: #fffefa; color: var(--a4c-ink); text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease; }
.tool-card:hover, .tool-card:focus-visible, .tool-card.is-active { outline: 0; background: var(--a4c-forest); color: #fff; }
.tool-card-number { color: #9c9f9b; font: 700 9px/1 var(--a4c-sans); letter-spacing: .12em; }
.tool-card-mark { display: grid; place-items: center; width: 52px; height: 52px; margin: 30px 0 24px; border: 1px solid #d4cfc2; border-radius: 50%; color: var(--a4c-coral); font: 650 17px/1 var(--a4c-serif); }
.tool-card-copy { display: flex; flex-direction: column; gap: 8px; }
.tool-card-copy strong { color: var(--a4c-forest-deep); font: 600 21px/1.12 var(--a4c-serif); }
.tool-card-copy small { color: #727a75; font: 11px/1.55 var(--a4c-sans); }
.tool-card-action { margin-top: auto; padding-top: 24px; color: var(--a4c-coral); font: 700 9px/1 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; }
.tool-card:hover .tool-card-number, .tool-card:focus-visible .tool-card-number, .tool-card.is-active .tool-card-number { color: rgba(255,255,255,.55); }
.tool-card:hover .tool-card-mark, .tool-card:focus-visible .tool-card-mark, .tool-card.is-active .tool-card-mark { border-color: rgba(255,255,255,.28); color: #f2bd58; }
.tool-card:hover .tool-card-copy strong, .tool-card:focus-visible .tool-card-copy strong, .tool-card.is-active .tool-card-copy strong { color: #fff; }
.tool-card:hover .tool-card-copy small, .tool-card:focus-visible .tool-card-copy small, .tool-card.is-active .tool-card-copy small { color: rgba(255,255,255,.68); }
.tool-workbench { scroll-margin-top: 90px; margin-top: 100px; padding: 46px; border: 1px solid #cfc8ba; background: #f6f0e3; }
.tool-workbench-head { margin-bottom: 26px; padding-bottom: 28px; border-bottom: 1px solid #d7d0c3; }
.tool-workbench-head h2 { font-size: 40px; }
.tool-back-to-grid { border: 0; background: transparent; color: var(--a4c-forest); font: 700 10px/1 var(--a4c-sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.tool-back-to-grid:hover { color: var(--a4c-coral); }
.tool-panel[hidden] { display: none !important; }
.tool-panel-intro { max-width: 680px; margin: 0 0 28px; color: #68716c; font: 14px/1.65 var(--a4c-sans); }

/* Re-skin installed interactive tools without changing their logic. */
.wikipress-tool-page .a4ac-chord-finder, .wikipress-tool-page .a4ac-capo-calculator, .wikipress-tool-page .a4ac-tuner, .wikipress-tool-page .a4ac-key-finder, .wikipress-tool-page .a4ac-benefit-budget { max-width: none; margin: 0; border-color: #d5cfc2; border-radius: 2px; background: #fffefa; box-shadow: none; }
.wikipress-tool-page .a4ac-metronome, .wikipress-tool-page .a4ac-bpm-tapper { margin: 0 auto; border-color: #d5cfc2; border-radius: 2px; background-color: #fffefa; box-shadow: none; }
.wikipress-tool-page [class*="a4ac-"] button { border-radius: 2px; }
.wikipress-tool-page [class*="a4ac-"] input, .wikipress-tool-page [class*="a4ac-"] select, .wikipress-tool-page [class*="a4ac-"] textarea { border-radius: 2px; }
.wikipress-tool-page .a4ac-bt-pad { border-radius: 50%; background: var(--a4c-coral); border-color: #f0d0bd; }
.wikipress-tool-page .a4ac-bt-pad:hover { background: #d65f35; }
.wikipress-tool-page .a4ac-bb-intro, .wikipress-tool-page .a4ac-kf-form { background: var(--a4c-cream); }
.wikipress-tool-page .article-content-wrapper-tool .article-content { font-family: var(--a4c-sans); }

/* Footer */
.site-footer { margin: 0; padding: 70px 0 32px; background: #0a2923; color: #9bb0a9; }
.site-footer::before { display: none; }
.footer-inner { width: min(1180px, calc(100% - 48px)); max-width: none; padding: 0; }
.footer-widget-title { color: #f3eee1; font-family: var(--a4c-serif); font-size: 21px; }
.footer-recent a, .footer-widget ul a { color: #b8c7c1; }
.footer-recent a:hover, .footer-widget ul a:hover { color: #f08a60; }

@media (max-width: 1024px) {
	.article-content-wrapper { grid-template-columns: 1fr; gap: 0; }
	.article-content-wrapper:not(.article-content-wrapper-tool) .article-body { max-width: 820px; }
	.article-sidebar { width: 100%; position: static; }
	.toc-mobile { display: block; margin-top: 45px; }
	.toc-desktop { display: none; }
	.tools-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
	.header-inner { width: min(100% - 32px, 1180px); min-height: 66px; flex-wrap: nowrap; gap: 15px; }
	.main-navigation { order: 3; flex: 0; margin-left: auto; }
	.header-search { order: 2; margin-left: auto; }
	.menu-toggle { display: flex; }
	.primary-menu { position: absolute; top: 59px; right: 0; width: min(300px, calc(100vw - 32px)); display: none; padding: 12px; background: #fbfaf6; border: 1px solid var(--a4c-line); box-shadow: 0 18px 45px rgba(13,45,38,.13); }
	.primary-menu.is-active { display: block; }
	.primary-menu a { padding: 13px; }
	.interior-shell, body.archive .site-main, body.search .site-main, body.blog .site-main { width: min(100% - 34px, 1180px); }
	.article-header::after { opacity: .24; width: 55vw; }
	.archive-grid { grid-template-columns: 1fr; }
	.tools-hero-grid { grid-template-columns: 1fr; gap: 35px; }
	.tools-hero-grid > div:last-child { max-width: 620px; }
	.tool-workbench { padding: 30px; }
	.related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.site-branding::before { width: 31px; height: 31px; }
	.site-title { font-size: 15px; }
	.search-toggle { width: 36px; height: 36px; }
	.breadcrumbs { padding-block: 18px; }
	.breadcrumbs-current { max-width: 25ch; }
	.article-header { padding-block: 53px 47px; }
	.article-title { font-size: clamp(43px, 14vw, 60px); }
	.article-deck { font-size: 15px; }
	.article-meta { align-items: flex-start; flex-direction: column; }
	.article-meta > span[aria-hidden="true"] { display: none; }
	.article-content-wrapper { padding-top: 48px; }
	.article-content { font-size: 17px; }
	.article-content > p:first-of-type:not(.short-answer-text p) { font-size: 18px; }
	.article-content h2 { font-size: 30px; }
	.article-content h3 { font-size: 22px; }
	.article-content table { display: block; overflow-x: auto; }
	.short-answer-box { padding: 24px 22px; }
	.short-answer-text { font-size: 18px; }
	.related-terms-list { grid-template-columns: 1fr; }
	body.archive .site-main, body.search .site-main, body.blog .site-main { padding-block: 52px 80px; }
	.page-title { font-size: 50px; }
	.archive-entry { min-height: 320px; padding: 23px; }
	.entry-title { font-size: 26px; }
	.tools-hero { padding-block: 58px 62px; }
	.tools-hero h1 { font-size: 52px; }
	.tools-content { padding-block: 70px 85px; }
	.tools-section-head, .tool-workbench-head { align-items: flex-start; flex-direction: column; gap: 15px; }
	.tools-section-head h2 { font-size: 40px; }
	.tools-grid { grid-template-columns: 1fr; }
	.tool-card { min-height: 220px; }
	.tool-workbench { margin-inline: -17px; padding: 25px 17px; border-inline: 0; }
	.tool-workbench-head h2 { font-size: 34px; }
	.footer-inner { width: min(100% - 34px, 1180px); }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; }
}

@media print {
	.article-header { padding: 24px 0; background: #fff; }
	.article-header::before, .article-header::after { display: none; }
	.article-content-wrapper { display: block; padding-top: 24px; }
}
